From 770fd97f45bae58405a39163a381b8c6a3775b1b Mon Sep 17 00:00:00 2001 From: Guillaume Felley Date: Mon, 29 Mar 2021 17:20:34 +0200 Subject: [PATCH] Internal function renaming --- contracts/connectors/reflexer/events.sol | 26 +-- contracts/connectors/reflexer/helpers.sol | 86 ++++---- contracts/connectors/reflexer/interface.sol | 11 +- contracts/connectors/reflexer/main.sol | 230 ++++++++++---------- 4 files changed, 181 insertions(+), 172 deletions(-) diff --git a/contracts/connectors/reflexer/events.sol b/contracts/connectors/reflexer/events.sol index 702a70f3..d5067dcd 100644 --- a/contracts/connectors/reflexer/events.sol +++ b/contracts/connectors/reflexer/events.sol @@ -1,21 +1,21 @@ pragma solidity ^0.7.0; contract Events { - event LogOpen(uint256 indexed vault, bytes32 indexed ilk); - event LogClose(uint256 indexed vault, bytes32 indexed ilk); - event LogTransfer(uint256 indexed vault, bytes32 indexed ilk, address newOwner); - event LogDeposit(uint256 indexed vault, bytes32 indexed ilk, uint256 tokenAmt, uint256 getId, uint256 setId); - event LogWithdraw(uint256 indexed vault, bytes32 indexed ilk, uint256 tokenAmt, uint256 getId, uint256 setId); - event LogBorrow(uint256 indexed vault, bytes32 indexed ilk, uint256 tokenAmt, uint256 getId, uint256 setId); - event LogPayback(uint256 indexed vault, bytes32 indexed ilk, uint256 tokenAmt, uint256 getId, uint256 setId); - event LogWithdrawLiquidated(uint256 indexed vault, bytes32 indexed ilk, uint256 tokenAmt, uint256 getId, uint256 setId); - event LogExitDai(uint256 indexed vault, bytes32 indexed ilk, uint256 tokenAmt, uint256 getId, uint256 setId); - event LogDepositDai(uint256 tokenAmt, uint256 getId, uint256 setId); - event LogWithdrawDai(uint256 tokenAmt, uint256 getId, uint256 setId); + event LogOpen(uint256 indexed safe, bytes32 indexed collateralType); + event LogClose(uint256 indexed safe, bytes32 indexed collateralType); + event LogTransfer(uint256 indexed safe, bytes32 indexed collateralType, address newOwner); + event LogDeposit(uint256 indexed safe, bytes32 indexed collateralType, uint256 tokenAmt, uint256 getId, uint256 setId); + event LogWithdraw(uint256 indexed safe, bytes32 indexed collateralType, uint256 tokenAmt, uint256 getId, uint256 setId); + event LogBorrow(uint256 indexed safe, bytes32 indexed collateralType, uint256 tokenAmt, uint256 getId, uint256 setId); + event LogPayback(uint256 indexed safe, bytes32 indexed collateralType, uint256 tokenAmt, uint256 getId, uint256 setId); + event LogWithdrawLiquidated(uint256 indexed safe, bytes32 indexed collateralType, uint256 tokenAmt, uint256 getId, uint256 setId); + event LogExit(uint256 indexed safe, bytes32 indexed collateralType, uint256 tokenAmt, uint256 getId, uint256 setId); + event LogDeposit(uint256 tokenAmt, uint256 getId, uint256 setId); + event LogWithdraw(uint256 tokenAmt, uint256 getId, uint256 setId); event LogDepositAndBorrow( - uint256 indexed vault, - bytes32 indexed ilk, + uint256 indexed safe, + bytes32 indexed collateralType, uint256 depositAmt, uint256 borrowAmt, uint256 getIdDeposit, diff --git a/contracts/connectors/reflexer/helpers.sol b/contracts/connectors/reflexer/helpers.sol index 2cb478e2..278fe306 100644 --- a/contracts/connectors/reflexer/helpers.sol +++ b/contracts/connectors/reflexer/helpers.sol @@ -3,57 +3,57 @@ pragma solidity ^0.7.0; import { DSMath } from "../../common/math.sol"; import { Basic } from "../../common/basic.sol"; import { TokenInterface } from "../../common/interfaces.sol"; -import { ManagerLike, CoinJoinInterface, SafeEngineLike, TaxCollectorLike } from "./interface.sol"; +import { ManagerLike, CoinJoinInterface, SafeEngineLike, TaxCollectorLike, TokenJoinInterface } from "./interface.sol"; abstract contract Helpers is DSMath, Basic { /** * @dev Manager Interface */ - ManagerLike internal constant managerContract = ManagerLike(0x5ef30b9986345249bc32d8928B7ee64DE9435E39); + ManagerLike internal constant managerContract = ManagerLike(0xEfe0B4cA532769a3AE758fD82E1426a03A94F185); /** - * @dev DAI Join + * @dev Coin Join */ - CoinJoinInterface internal constant daiJoinContract = CoinJoinInterface(0x9759A6Ac90977b93B58547b4A71c78317f391A28); + CoinJoinInterface internal constant coinJoinContract = CoinJoinInterface(0x0A5653CCa4DB1B6E265F47CAf6969e64f1CFdC45); /** - * @dev Maker MCD Jug Address. + * @dev Reflexer Tax collector Address. */ - TaxCollectorLike internal constant mcdJug = TaxCollectorLike(0x19c0976f590D67707E62397C87829d896Dc0f1F1); + TaxCollectorLike internal constant taxCollectorContract = TaxCollectorLike(0xcDB05aEda142a1B0D6044C09C64e4226c1a281EB); /** - * @dev Return Close Vault Address. + * @dev Return Close Safe Address. */ address internal constant giveAddr = 0x4dD58550eb15190a5B3DfAE28BB14EeC181fC267; /** - * @dev Get Vault's ilk. + * @dev Get Safe's collateral type. */ - function getVaultData(uint vault) internal view returns (bytes32 ilk, address urn) { - ilk = managerContract.collateralTypes(vault); - urn = managerContract.safes(vault); + function getSafeData(uint safe) internal view returns (bytes32 collateralType, address handler) { + collateralType = managerContract.collateralTypes(safe); + handler = managerContract.safes(safe); } /** - * @dev Gem Join address is ETH type collateral. + * @dev Collateral Join address is ETH type collateral. */ function isEth(address tknAddr) internal pure returns (bool) { return tknAddr == ethAddr ? true : false; } /** - * @dev Get Vault Debt Amount. + * @dev Get Safe Debt Amount. */ - function _getVaultDebt( - address vat, - bytes32 ilk, - address urn + function _getSafeDebt( + address safeEngine, + bytes32 collateralType, + address handler ) internal view returns (uint wad) { - (, uint rate,,,) = SafeEngineLike(vat).collateralTypes(ilk); - (, uint art) = SafeEngineLike(vat).safes(ilk, urn); - uint coin = SafeEngineLike(vat).coin(urn); + (, uint rate,,,) = SafeEngineLike(safeEngine).collateralTypes(collateralType); + (, uint debt) = SafeEngineLike(safeEngine).safes(collateralType, handler); + uint coin = SafeEngineLike(safeEngine).coin(handler); - uint rad = sub(mul(art, rate), coin); + uint rad = sub(mul(debt, rate), coin); wad = rad / RAY; wad = mul(wad, RAY) < rad ? wad + 1 : wad; @@ -63,17 +63,17 @@ abstract contract Helpers is DSMath, Basic { * @dev Get Borrow Amount. */ function _getBorrowAmt( - address vat, - address urn, - bytes32 ilk, + address safeEngine, + address handler, + bytes32 collateralType, uint amt - ) internal returns (int dart) + ) internal returns (int deltaDebt) { - uint rate = mcdJug.taxSingle(ilk); - uint coin = SafeEngineLike(vat).coin(urn); + uint rate = taxCollectorContract.taxSingle(collateralType); + uint coin = SafeEngineLike(safeEngine).coin(handler); if (coin < mul(amt, RAY)) { - dart = toInt(sub(mul(amt, RAY), coin) / rate); - dart = mul(uint(dart), rate) < mul(amt, RAY) ? dart + 1 : dart; + deltaDebt = toInt(sub(mul(amt, RAY), coin) / rate); + deltaDebt = mul(uint(deltaDebt), rate) < mul(amt, RAY) ? deltaDebt + 1 : deltaDebt; } } @@ -81,16 +81,16 @@ abstract contract Helpers is DSMath, Basic { * @dev Get Payback Amount. */ function _getWipeAmt( - address vat, + address safeEngine, uint amt, - address urn, - bytes32 ilk - ) internal view returns (int dart) + address handler, + bytes32 collateralType + ) internal view returns (int deltaDebt) { - (, uint rate,,,) = SafeEngineLike(vat).collateralTypes(ilk); - (, uint art) = SafeEngineLike(vat).safes(ilk, urn); - dart = toInt(amt / rate); - dart = uint(dart) <= art ? - dart : - toInt(art); + (, uint rate,,,) = SafeEngineLike(safeEngine).collateralTypes(collateralType); + (, uint debt) = SafeEngineLike(safeEngine).safes(collateralType, handler); + deltaDebt = toInt(amt / rate); + deltaDebt = uint(deltaDebt) <= debt ? - deltaDebt : - toInt(debt); } /** @@ -105,14 +105,14 @@ abstract contract Helpers is DSMath, Basic { } /** - * @dev Get vault ID. If `vault` is 0, get lastSAFEID opened vault. + * @dev Get safe ID. If `safe` is 0, get lastSAFEID opened safe. */ - function getVault(uint vault) internal view returns (uint _vault) { - if (vault == 0) { - require(managerContract.safeCount(address(this)) > 0, "no-vault-opened"); - _vault = managerContract.lastSAFEID(address(this)); + function getSafe(uint safe) internal view returns (uint _safe) { + if (safe == 0) { + require(managerContract.safeCount(address(this)) > 0, "no-safe-opened"); + _safe = managerContract.lastSAFEID(address(this)); } else { - _vault = vault; + _safe = safe; } } diff --git a/contracts/connectors/reflexer/interface.sol b/contracts/connectors/reflexer/interface.sol index 983734d7..250e4678 100644 --- a/contracts/connectors/reflexer/interface.sol +++ b/contracts/connectors/reflexer/interface.sol @@ -18,7 +18,7 @@ interface ManagerLike { } interface SafeEngineLike { - function can(address, address) external view returns (uint); + function safeRights(address, address) external view returns (uint); function collateralTypes(bytes32) external view returns (uint, uint, uint, uint, uint); function coin(address) external view returns (uint); function safes(bytes32, address) external view returns (uint, uint); @@ -38,6 +38,7 @@ interface SafeEngineLike { interface TokenJoinInterface { function decimals() external returns (uint); function collateral() external returns (TokenInterface); + function collateralType() external returns (bytes32); function join(address, uint) external payable; function exit(address, uint) external; } @@ -52,3 +53,11 @@ interface CoinJoinInterface { interface TaxCollectorLike { function taxSingle(bytes32) external returns (uint); } + +interface ConnectorsInterface { + function chief(address) external view returns (bool); +} + +interface IndexInterface { + function master() external view returns (address); +} diff --git a/contracts/connectors/reflexer/main.sol b/contracts/connectors/reflexer/main.sol index c28fba79..07d44411 100644 --- a/contracts/connectors/reflexer/main.sol +++ b/contracts/connectors/reflexer/main.sol @@ -5,56 +5,56 @@ import { Helpers } from "./helpers.sol"; import { Events } from "./events.sol"; import { SafeEngineLike, TokenJoinInterface } from "./interface.sol"; -abstract contract MakerResolver is Helpers, Events { +abstract contract GebResolver is Helpers, Events { /** - * @dev Open Vault + * @dev Open Safe * @param colType Type of Collateral.(eg: 'ETH-A') */ function open(string calldata colType) external payable returns (string memory _eventName, bytes memory _eventParam) { - bytes32 ilk = stringToBytes32(colType); - require(instaMapping.gemJoinMapping(ilk) != address(0), "wrong-col-type"); - uint256 vault = managerContract.openSAFE(ilk, address(this)); + bytes32 collateralType = stringToBytes32(colType); + require(instaMapping.gemJoinMapping(collateralType) != address(0), "wrong-col-type"); + uint256 safe = managerContract.openSAFE(collateralType, address(this)); _eventName = "LogOpen(uint256,bytes32)"; - _eventParam = abi.encode(vault, ilk); + _eventParam = abi.encode(safe, collateralType); } /** - * @dev Close Vault - * @param vault Vault ID to close. + * @dev Close Safe + * @param safe Safe ID to close. */ - function close(uint256 vault) external payable returns (string memory _eventName, bytes memory _eventParam) { - uint _vault = getVault(vault); - (bytes32 ilk, address urn) = getVaultData(_vault); - (uint ink, uint art) = SafeEngineLike(managerContract.safeEngine()).safes(ilk, urn); + function close(uint256 safe) external payable returns (string memory _eventName, bytes memory _eventParam) { + uint _safe = getSafe(safe); + (bytes32 collateralType, address handler) = getSafeData(_safe); + (uint collateral, uint debt) = SafeEngineLike(managerContract.safeEngine()).safes(collateralType, handler); - require(ink == 0 && art == 0, "vault-has-assets"); - require(managerContract.ownsSAFE(_vault) == address(this), "not-owner"); + require(collateral == 0 && debt == 0, "safe-has-assets"); + require(managerContract.ownsSAFE(_safe) == address(this), "not-owner"); - managerContract.transferSAFEOwnership(_vault, giveAddr); + managerContract.transferSAFEOwnership(_safe, giveAddr); _eventName = "LogClose(uint256,bytes32)"; - _eventParam = abi.encode(_vault, ilk); + _eventParam = abi.encode(_safe, collateralType); } /** * @dev Deposit ETH/ERC20_Token Collateral. - * @param vault Vault ID. + * @param safe Safe ID. * @param amt token amount to deposit. * @param getId Get token amount at this ID from `InstaMemory` Contract. * @param setId Set token amount at this ID in `InstaMemory` Contract. */ function deposit( - uint256 vault, + uint256 safe, uint256 amt, uint256 getId, uint256 setId ) external payable returns (string memory _eventName, bytes memory _eventParam) { uint _amt = getUint(getId, amt); - uint _vault = getVault(vault); - (bytes32 ilk, address urn) = getVaultData(_vault); + uint _safe = getSafe(safe); + (bytes32 collateralType, address handler) = getSafeData(_safe); - address colAddr = instaMapping.gemJoinMapping(ilk); + address colAddr = instaMapping.gemJoinMapping(collateralType); TokenJoinInterface tokenJoinContract = TokenJoinInterface(colAddr); TokenInterface tokenContract = tokenJoinContract.collateral(); @@ -69,8 +69,8 @@ abstract contract MakerResolver is Helpers, Events { tokenJoinContract.join(address(this), _amt); SafeEngineLike(managerContract.safeEngine()).modifySAFECollateralization( - ilk, - urn, + collateralType, + handler, address(this), address(this), toInt(convertTo18(tokenJoinContract.decimals(), _amt)), @@ -80,45 +80,45 @@ abstract contract MakerResolver is Helpers, Events { setUint(setId, _amt); _eventName = "LogDeposit(uint256,bytes32,uint256,uint256,uint256)"; - _eventParam = abi.encode(_vault, ilk, _amt, getId, setId); + _eventParam = abi.encode(_safe, collateralType, _amt, getId, setId); } /** * @dev Withdraw ETH/ERC20_Token Collateral. - * @param vault Vault ID. + * @param safe Safe ID. * @param amt token amount to withdraw. * @param getId Get token amount at this ID from `InstaMemory` Contract. * @param setId Set token amount at this ID in `InstaMemory` Contract. */ function withdraw( - uint256 vault, + uint256 safe, uint256 amt, uint256 getId, uint256 setId ) external payable returns (string memory _eventName, bytes memory _eventParam) { uint _amt = getUint(getId, amt); - uint _vault = getVault(vault); - (bytes32 ilk, address urn) = getVaultData(_vault); + uint _safe = getSafe(safe); + (bytes32 collateralType, address handler) = getSafeData(_safe); - address colAddr = instaMapping.gemJoinMapping(ilk); + address colAddr = instaMapping.gemJoinMapping(collateralType); TokenJoinInterface tokenJoinContract = TokenJoinInterface(colAddr); uint _amt18; if (_amt == uint(-1)) { - (_amt18,) = SafeEngineLike(managerContract.safeEngine()).safes(ilk, urn); + (_amt18,) = SafeEngineLike(managerContract.safeEngine()).safes(collateralType, handler); _amt = convert18ToDec(tokenJoinContract.decimals(), _amt18); } else { _amt18 = convertTo18(tokenJoinContract.decimals(), _amt); } managerContract.modifySAFECollateralization( - _vault, + _safe, -toInt(_amt18), 0 ); managerContract.transferCollateral( - _vault, + _safe, address(this), _amt18 ); @@ -135,131 +135,131 @@ abstract contract MakerResolver is Helpers, Events { setUint(setId, _amt); _eventName = "LogWithdraw(uint256,bytes32,uint256,uint256,uint256)"; - _eventParam = abi.encode(_vault, ilk, _amt, getId, setId); + _eventParam = abi.encode(_safe, collateralType, _amt, getId, setId); } /** - * @dev Borrow DAI. - * @param vault Vault ID. + * @dev Borrow Coin. + * @param safe Safe ID. * @param amt token amount to borrow. * @param getId Get token amount at this ID from `InstaMemory` Contract. * @param setId Set token amount at this ID in `InstaMemory` Contract. */ function borrow( - uint256 vault, + uint256 safe, uint256 amt, uint256 getId, uint256 setId ) external payable returns (string memory _eventName, bytes memory _eventParam) { uint _amt = getUint(getId, amt); - uint _vault = getVault(vault); - (bytes32 ilk, address urn) = getVaultData(_vault); + uint _safe = getSafe(safe); + (bytes32 collateralType, address handler) = getSafeData(_safe); - SafeEngineLike vatContract = SafeEngineLike(managerContract.safeEngine()); + SafeEngineLike safeEngineContract = SafeEngineLike(managerContract.safeEngine()); managerContract.modifySAFECollateralization( - _vault, + _safe, 0, _getBorrowAmt( - address(vatContract), - urn, - ilk, + address(safeEngineContract), + handler, + collateralType, _amt ) ); managerContract.transferInternalCoins( - _vault, + _safe, address(this), toRad(_amt) ); - if (vatContract.can(address(this), address(daiJoinContract)) == 0) { - vatContract.approveSAFEModification(address(daiJoinContract)); + if (safeEngineContract.safeRights(address(this), address(coinJoinContract)) == 0) { + safeEngineContract.approveSAFEModification(address(coinJoinContract)); } - daiJoinContract.exit(address(this), _amt); + coinJoinContract.exit(address(this), _amt); setUint(setId, _amt); _eventName = "LogBorrow(uint256,bytes32,uint256,uint256,uint256)"; - _eventParam = abi.encode(_vault, ilk, _amt, getId, setId); + _eventParam = abi.encode(_safe, collateralType, _amt, getId, setId); } /** - * @dev Payback borrowed DAI. - * @param vault Vault ID. + * @dev Payback borrowed Coin. + * @param safe Safe ID. * @param amt token amount to payback. * @param getId Get token amount at this ID from `InstaMemory` Contract. * @param setId Set token amount at this ID in `InstaMemory` Contract. */ function payback( - uint256 vault, + uint256 safe, uint256 amt, uint256 getId, uint256 setId ) external payable returns (string memory _eventName, bytes memory _eventParam) { uint _amt = getUint(getId, amt); - uint _vault = getVault(vault); - (bytes32 ilk, address urn) = getVaultData(_vault); + uint _safe = getSafe(safe); + (bytes32 collateralType, address handler) = getSafeData(_safe); - address vat = managerContract.safeEngine(); + address safeEngine = managerContract.safeEngine(); - uint _maxDebt = _getVaultDebt(vat, ilk, urn); + uint _maxDebt = _getSafeDebt(safeEngine, collateralType, handler); _amt = _amt == uint(-1) ? _maxDebt : _amt; require(_maxDebt >= _amt, "paying-excess-debt"); - daiJoinContract.coin().approve(address(daiJoinContract), _amt); - daiJoinContract.join(urn, _amt); + coinJoinContract.coin().approve(address(coinJoinContract), _amt); + coinJoinContract.join(handler, _amt); managerContract.modifySAFECollateralization( - _vault, + _safe, 0, _getWipeAmt( - vat, - SafeEngineLike(vat).coin(urn), - urn, - ilk + safeEngine, + SafeEngineLike(safeEngine).coin(handler), + handler, + collateralType ) ); setUint(setId, _amt); _eventName = "LogPayback(uint256,bytes32,uint256,uint256,uint256)"; - _eventParam = abi.encode(_vault, ilk, _amt, getId, setId); + _eventParam = abi.encode(_safe, collateralType, _amt, getId, setId); } /** * @dev Withdraw leftover ETH/ERC20_Token after Liquidation. - * @param vault Vault ID. + * @param safe Safe ID. * @param amt token amount to Withdraw. * @param getId Get token amount at this ID from `InstaMemory` Contract. * @param setId Set token amount at this ID in `InstaMemory` Contract. */ function withdrawLiquidated( - uint256 vault, + uint256 safe, uint256 amt, uint256 getId, uint256 setId ) external payable returns (string memory _eventName, bytes memory _eventParam) { uint _amt = getUint(getId, amt); - (bytes32 ilk, address urn) = getVaultData(vault); + (bytes32 collateralType, address handler) = getSafeData(safe); - address colAddr = instaMapping.gemJoinMapping(ilk); + address colAddr = instaMapping.gemJoinMapping(collateralType); TokenJoinInterface tokenJoinContract = TokenJoinInterface(colAddr); uint _amt18; if (_amt == uint(-1)) { - _amt18 = SafeEngineLike(managerContract.safeEngine()).tokenCollateral(ilk, urn); + _amt18 = SafeEngineLike(managerContract.safeEngine()).tokenCollateral(collateralType, handler); _amt = convert18ToDec(tokenJoinContract.decimals(), _amt18); } else { _amt18 = convertTo18(tokenJoinContract.decimals(), _amt); } managerContract.transferCollateral( - vault, + safe, address(this), _amt18 ); @@ -273,19 +273,19 @@ abstract contract MakerResolver is Helpers, Events { setUint(setId, _amt); _eventName = "LogWithdrawLiquidated(uint256,bytes32,uint256,uint256,uint256)"; - _eventParam = abi.encode(vault, ilk, _amt, getId, setId); + _eventParam = abi.encode(safe, collateralType, _amt, getId, setId); } - struct MakerData { - uint _vault; + struct GebData { + uint _safe; address colAddr; TokenJoinInterface tokenJoinContract; - SafeEngineLike vatContract; + SafeEngineLike safeEngineContract; TokenInterface tokenContract; } /** - * @dev Deposit ETH/ERC20_Token Collateral and Borrow DAI. - * @param vault Vault ID. + * @dev Deposit ETH/ERC20_Token Collateral and Borrow Coin. + * @param safe Safe ID. * @param depositAmt token deposit amount to Withdraw. * @param borrowAmt token borrow amount to Withdraw. * @param getIdDeposit Get deposit token amount at this ID from `InstaMemory` Contract. @@ -294,7 +294,7 @@ abstract contract MakerResolver is Helpers, Events { * @param setIdBorrow Set borrow token amount at this ID in `InstaMemory` Contract. */ function depositAndBorrow( - uint256 vault, + uint256 safe, uint256 depositAmt, uint256 borrowAmt, uint256 getIdDeposit, @@ -302,58 +302,58 @@ abstract contract MakerResolver is Helpers, Events { uint256 setIdDeposit, uint256 setIdBorrow ) external payable returns (string memory _eventName, bytes memory _eventParam) { - MakerData memory makerData; + GebData memory gebData; uint _amtDeposit = getUint(getIdDeposit, depositAmt); uint _amtBorrow = getUint(getIdBorrow, borrowAmt); - makerData._vault = getVault(vault); - (bytes32 ilk, address urn) = getVaultData(makerData._vault); + gebData._safe = getSafe(safe); + (bytes32 collateralType, address handler) = getSafeData(gebData._safe); - makerData.colAddr = instaMapping.gemJoinMapping(ilk); - makerData.tokenJoinContract = TokenJoinInterface(makerData.colAddr); - makerData.vatContract = SafeEngineLike(managerContract.safeEngine()); - makerData.tokenContract = makerData.tokenJoinContract.collateral(); + gebData.colAddr = instaMapping.gemJoinMapping(collateralType); + gebData.tokenJoinContract = TokenJoinInterface(gebData.colAddr); + gebData.safeEngineContract = SafeEngineLike(managerContract.safeEngine()); + gebData.tokenContract = gebData.tokenJoinContract.collateral(); - if (isEth(address(makerData.tokenContract))) { + if (isEth(address(gebData.tokenContract))) { _amtDeposit = _amtDeposit == uint(-1) ? address(this).balance : _amtDeposit; - makerData.tokenContract.deposit{value: _amtDeposit}(); + gebData.tokenContract.deposit{value: _amtDeposit}(); } else { - _amtDeposit = _amtDeposit == uint(-1) ? makerData.tokenContract.balanceOf(address(this)) : _amtDeposit; + _amtDeposit = _amtDeposit == uint(-1) ? gebData.tokenContract.balanceOf(address(this)) : _amtDeposit; } - makerData.tokenContract.approve(address(makerData.colAddr), _amtDeposit); - makerData.tokenJoinContract.join(urn, _amtDeposit); + gebData.tokenContract.approve(address(gebData.colAddr), _amtDeposit); + gebData.tokenJoinContract.join(handler, _amtDeposit); managerContract.modifySAFECollateralization( - makerData._vault, - toInt(convertTo18(makerData.tokenJoinContract.decimals(), _amtDeposit)), + gebData._safe, + toInt(convertTo18(gebData.tokenJoinContract.decimals(), _amtDeposit)), _getBorrowAmt( - address(makerData.vatContract), - urn, - ilk, + address(gebData.safeEngineContract), + handler, + collateralType, _amtBorrow ) ); managerContract.transferInternalCoins( - makerData._vault, + gebData._safe, address(this), toRad(_amtBorrow) ); - if (makerData.vatContract.can(address(this), address(daiJoinContract)) == 0) { - makerData.vatContract.approveSAFEModification(address(daiJoinContract)); + if (gebData.safeEngineContract.safeRights(address(this), address(coinJoinContract)) == 0) { + gebData.safeEngineContract.approveSAFEModification(address(coinJoinContract)); } - daiJoinContract.exit(address(this), _amtBorrow); + coinJoinContract.exit(address(this), _amtBorrow); setUint(setIdDeposit, _amtDeposit); setUint(setIdBorrow, _amtBorrow); _eventName = "LogDepositAndBorrow(uint256,bytes32,uint256,uint256,uint256,uint256,uint256,uint256)"; _eventParam = abi.encode( - makerData._vault, - ilk, + gebData._safe, + collateralType, _amtDeposit, _amtBorrow, getIdDeposit, @@ -364,48 +364,48 @@ abstract contract MakerResolver is Helpers, Events { } /** - * @dev Exit DAI from urn. - * @param vault Vault ID. + * @dev Exit Coin from handler. + * @param safe Safe ID. * @param amt token amount to exit. * @param getId Get token amount at this ID from `InstaMemory` Contract. * @param setId Set token amount at this ID in `InstaMemory` Contract. */ - function exitDai( - uint256 vault, + function exit( + uint256 safe, uint256 amt, uint256 getId, uint256 setId ) external payable returns (string memory _eventName, bytes memory _eventParam) { uint _amt = getUint(getId, amt); - uint _vault = getVault(vault); - (bytes32 ilk, address urn) = getVaultData(_vault); + uint _safe = getSafe(safe); + (bytes32 collateralType, address handler) = getSafeData(_safe); - SafeEngineLike vatContract = SafeEngineLike(managerContract.safeEngine()); + SafeEngineLike safeEngineContract = SafeEngineLike(managerContract.safeEngine()); if(_amt == uint(-1)) { - _amt = vatContract.coin(urn); + _amt = safeEngineContract.coin(handler); _amt = _amt / 10 ** 27; } managerContract.transferInternalCoins( - _vault, + _safe, address(this), toRad(_amt) ); - if (vatContract.can(address(this), address(daiJoinContract)) == 0) { - vatContract.approveSAFEModification(address(daiJoinContract)); + if (safeEngineContract.safeRights(address(this), address(coinJoinContract)) == 0) { + safeEngineContract.approveSAFEModification(address(coinJoinContract)); } - daiJoinContract.exit(address(this), _amt); + coinJoinContract.exit(address(this), _amt); setUint(setId, _amt); - _eventName = "LogExitDai(uint256,bytes32,uint256,uint256,uint256)"; - _eventParam = abi.encode(_vault, ilk, _amt, getId, setId); + _eventName = "LogExit(uint256,bytes32,uint256,uint256,uint256)"; + _eventParam = abi.encode(_safe, collateralType, _amt, getId, setId); } } -contract ConnectV2Maker is MakerResolver { - string public constant name = "MakerDao-v1"; +contract ConnectV2Reflexer is GebResolver { + string public constant name = "Reflexer-v1"; }