Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 32 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Liquidate SAFE | 14959377 | 890 days ago | IN | 0 ETH | 0.01217104 | ||||
Liquidate SAFE | 12821335 | 1225 days ago | IN | 0 ETH | 0.00247275 | ||||
Liquidate SAFE | 12821335 | 1225 days ago | IN | 0 ETH | 0.02826761 | ||||
Liquidate SAFE | 12676972 | 1247 days ago | IN | 0 ETH | 0.00340447 | ||||
Liquidate SAFE | 12676972 | 1247 days ago | IN | 0 ETH | 0.00468571 | ||||
Liquidate SAFE | 12660979 | 1250 days ago | IN | 0 ETH | 0.00520016 | ||||
Liquidate SAFE | 12635719 | 1254 days ago | IN | 0 ETH | 0.00618372 | ||||
Liquidate SAFE | 12578125 | 1263 days ago | IN | 0 ETH | 0.00109507 | ||||
Liquidate SAFE | 12578125 | 1263 days ago | IN | 0 ETH | 0.00212169 | ||||
Liquidate SAFE | 12547134 | 1267 days ago | IN | 0 ETH | 0.00134235 | ||||
Liquidate SAFE | 12547134 | 1267 days ago | IN | 0 ETH | 0.02059177 | ||||
Liquidate SAFE | 12497064 | 1275 days ago | IN | 0 ETH | 0.04246606 | ||||
Liquidate SAFE | 12491216 | 1276 days ago | IN | 0 ETH | 0.01754946 | ||||
Liquidate SAFE | 12472074 | 1279 days ago | IN | 0 ETH | 0.01171354 | ||||
Liquidate SAFE | 12471952 | 1279 days ago | IN | 0 ETH | 0.09098745 | ||||
Liquidate SAFE | 12289365 | 1307 days ago | IN | 0 ETH | 0.00896407 | ||||
Liquidate SAFE | 11947099 | 1360 days ago | IN | 0 ETH | 0.01504376 | ||||
Liquidate SAFE | 11943896 | 1361 days ago | IN | 0 ETH | 0.02491171 | ||||
Liquidate SAFE | 11943894 | 1361 days ago | IN | 0 ETH | 0.18893604 | ||||
Liquidate SAFE | 11943633 | 1361 days ago | IN | 0 ETH | 0.0419516 | ||||
Liquidate SAFE | 11911336 | 1366 days ago | IN | 0 ETH | 0.08125671 | ||||
Liquidate SAFE | 11911331 | 1366 days ago | IN | 0 ETH | 0.08102187 | ||||
Liquidate SAFE | 11911326 | 1366 days ago | IN | 0 ETH | 0.08055217 | ||||
Liquidate SAFE | 11911323 | 1366 days ago | IN | 0 ETH | 0.09004764 | ||||
Liquidate SAFE | 11907028 | 1366 days ago | IN | 0 ETH | 0.08369133 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
11848452 | 1375 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Name:
LiquidationEngine
Compiler Version
v0.6.7+commit.b8d736ae
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-02-14 */ /** *Submitted for verification at Etherscan.io on 2021-02-02 */ /// LiquidationEngine.sol // Copyright (C) 2018 Rain <[email protected]> // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. pragma solidity 0.6.7; abstract contract CollateralAuctionHouseLike { function startAuction( address forgoneCollateralReceiver, address initialBidder, uint256 amountToRaise, uint256 collateralToSell, uint256 initialBid ) virtual public returns (uint256); } abstract contract SAFESaviourLike { function saveSAFE(address,bytes32,address) virtual external returns (bool,uint256,uint256); } abstract contract SAFEEngineLike { function collateralTypes(bytes32) virtual public view returns ( uint256 debtAmount, // [wad] uint256 accumulatedRate, // [ray] uint256 safetyPrice, // [ray] uint256 debtCeiling, // [rad] uint256 debtFloor, // [rad] uint256 liquidationPrice // [ray] ); function safes(bytes32,address) virtual public view returns ( uint256 lockedCollateral, // [wad] uint256 generatedDebt // [wad] ); function confiscateSAFECollateralAndDebt(bytes32,address,address,address,int256,int256) virtual external; function canModifySAFE(address, address) virtual public view returns (bool); function approveSAFEModification(address) virtual external; function denySAFEModification(address) virtual external; } abstract contract AccountingEngineLike { function pushDebtToQueue(uint256) virtual external; } contract LiquidationEngine { // --- Auth --- mapping (address => uint256) public authorizedAccounts; /** * @notice Add auth to an account * @param account Account to add auth to */ function addAuthorization(address account) external isAuthorized { authorizedAccounts[account] = 1; emit AddAuthorization(account); } /** * @notice Remove auth from an account * @param account Account to remove auth from */ function removeAuthorization(address account) external isAuthorized { authorizedAccounts[account] = 0; emit RemoveAuthorization(account); } /** * @notice Checks whether msg.sender can call an authed function **/ modifier isAuthorized { require(authorizedAccounts[msg.sender] == 1, "LiquidationEngine/account-not-authorized"); _; } // --- SAFE Saviours --- // Contracts that can save SAFEs from liquidation mapping (address => uint256) public safeSaviours; /** * @notice Authed function to add contracts that can save SAFEs from liquidation * @param saviour SAFE saviour contract to be whitelisted **/ function connectSAFESaviour(address saviour) external isAuthorized { (bool ok, uint256 collateralAdded, uint256 liquidatorReward) = SAFESaviourLike(saviour).saveSAFE(address(this), "", address(0)); require(ok, "LiquidationEngine/saviour-not-ok"); require(both(collateralAdded == uint256(-1), liquidatorReward == uint256(-1)), "LiquidationEngine/invalid-amounts"); safeSaviours[saviour] = 1; emit ConnectSAFESaviour(saviour); } /** * @notice Governance used function to remove contracts that can save SAFEs from liquidation * @param saviour SAFE saviour contract to be removed **/ function disconnectSAFESaviour(address saviour) external isAuthorized { safeSaviours[saviour] = 0; emit DisconnectSAFESaviour(saviour); } // --- Data --- struct CollateralType { // Address of the collateral auction house handling liquidations for this collateral type address collateralAuctionHouse; // Penalty applied to every liquidation involving this collateral type. Discourages SAFE users from bidding on their own SAFEs uint256 liquidationPenalty; // [wad] // Max amount of system coins to request in one auction uint256 liquidationQuantity; // [rad] } // Collateral types included in the system mapping (bytes32 => CollateralType) public collateralTypes; // Saviour contract chosen for each SAFE by its creator mapping (bytes32 => mapping(address => address)) public chosenSAFESaviour; // Mutex used to block against re-entrancy when 'liquidateSAFE' passes execution to a saviour mapping (bytes32 => mapping(address => uint8)) public mutex; // Max amount of system coins that can be on liquidation at any time uint256 public onAuctionSystemCoinLimit; // [rad] // Current amount of system coins out for liquidation uint256 public currentOnAuctionSystemCoins; // [rad] // Whether this contract is enabled uint256 public contractEnabled; SAFEEngineLike public safeEngine; AccountingEngineLike public accountingEngine; // --- Events --- event AddAuthorization(address account); event RemoveAuthorization(address account); event ConnectSAFESaviour(address saviour); event DisconnectSAFESaviour(address saviour); event UpdateCurrentOnAuctionSystemCoins(uint256 currentOnAuctionSystemCoins); event ModifyParameters(bytes32 parameter, uint256 data); event ModifyParameters(bytes32 parameter, address data); event ModifyParameters( bytes32 collateralType, bytes32 parameter, uint256 data ); event ModifyParameters( bytes32 collateralType, bytes32 parameter, address data ); event DisableContract(); event Liquidate( bytes32 indexed collateralType, address indexed safe, uint256 collateralAmount, uint256 debtAmount, uint256 amountToRaise, address collateralAuctioneer, uint256 auctionId ); event SaveSAFE( bytes32 indexed collateralType, address indexed safe, uint256 collateralAddedOrDebtRepaid ); event FailedSAFESave(bytes failReason); event ProtectSAFE( bytes32 indexed collateralType, address indexed safe, address saviour ); // --- Init --- constructor(address safeEngine_) public { authorizedAccounts[msg.sender] = 1; safeEngine = SAFEEngineLike(safeEngine_); onAuctionSystemCoinLimit = uint256(-1); contractEnabled = 1; emit AddAuthorization(msg.sender); emit ModifyParameters("onAuctionSystemCoinLimit", uint256(-1)); } // --- Math --- uint256 constant WAD = 10 ** 18; uint256 constant RAY = 10 ** 27; uint256 constant MAX_LIQUIDATION_QUANTITY = uint256(-1) / RAY; function addition(uint256 x, uint256 y) internal pure returns (uint256 z) { require((z = x + y) >= x, "LiquidationEngine/add-overflow"); } function subtract(uint256 x, uint256 y) internal pure returns (uint256 z) { require((z = x - y) <= x, "LiquidationEngine/sub-underflow"); } function multiply(uint256 x, uint256 y) internal pure returns (uint256 z) { require(y == 0 || (z = x * y) / y == x, "LiquidationEngine/mul-overflow"); } function minimum(uint256 x, uint256 y) internal pure returns (uint256 z) { if (x > y) { z = y; } else { z = x; } } // --- Utils --- function both(bool x, bool y) internal pure returns (bool z) { assembly{ z := and(x, y)} } function either(bool x, bool y) internal pure returns (bool z) { assembly{ z := or(x, y)} } // --- Administration --- /* * @notice Modify uint256 parameters * @param paramter The name of the parameter modified * @param data Value for the new parameter */ function modifyParameters(bytes32 parameter, uint256 data) external isAuthorized { if (parameter == "onAuctionSystemCoinLimit") onAuctionSystemCoinLimit = data; else revert("LiquidationEngine/modify-unrecognized-param"); emit ModifyParameters(parameter, data); } /** * @notice Modify contract integrations * @param parameter The name of the parameter modified * @param data New address for the parameter */ function modifyParameters(bytes32 parameter, address data) external isAuthorized { if (parameter == "accountingEngine") accountingEngine = AccountingEngineLike(data); else revert("LiquidationEngine/modify-unrecognized-param"); emit ModifyParameters(parameter, data); } /** * @notice Modify liquidation params * @param collateralType The collateral type we change parameters for * @param parameter The name of the parameter modified * @param data New value for the parameter */ function modifyParameters( bytes32 collateralType, bytes32 parameter, uint256 data ) external isAuthorized { if (parameter == "liquidationPenalty") collateralTypes[collateralType].liquidationPenalty = data; else if (parameter == "liquidationQuantity") { require(data <= MAX_LIQUIDATION_QUANTITY, "LiquidationEngine/liquidation-quantity-overflow"); collateralTypes[collateralType].liquidationQuantity = data; } else revert("LiquidationEngine/modify-unrecognized-param"); emit ModifyParameters( collateralType, parameter, data ); } /** * @notice Modify collateral auction integration * @param collateralType The collateral type we change parameters for * @param parameter The name of the integration modified * @param data New address for the integration contract */ function modifyParameters( bytes32 collateralType, bytes32 parameter, address data ) external isAuthorized { if (parameter == "collateralAuctionHouse") { safeEngine.denySAFEModification(collateralTypes[collateralType].collateralAuctionHouse); collateralTypes[collateralType].collateralAuctionHouse = data; safeEngine.approveSAFEModification(data); } else revert("LiquidationEngine/modify-unrecognized-param"); emit ModifyParameters( collateralType, parameter, data ); } /** * @notice Disable this contract (normally called by GlobalSettlement) */ function disableContract() external isAuthorized { contractEnabled = 0; emit DisableContract(); } // --- SAFE Liquidation --- /** * @notice Choose a saviour contract for your SAFE * @param collateralType The SAFE's collateral type * @param safe The SAFE's address * @param saviour The chosen saviour */ function protectSAFE( bytes32 collateralType, address safe, address saviour ) external { require(safeEngine.canModifySAFE(safe, msg.sender), "LiquidationEngine/cannot-modify-safe"); require(saviour == address(0) || safeSaviours[saviour] == 1, "LiquidationEngine/saviour-not-authorized"); chosenSAFESaviour[collateralType][safe] = saviour; emit ProtectSAFE( collateralType, safe, saviour ); } /** * @notice Liquidate a SAFE * @param collateralType The SAFE's collateral type * @param safe The SAFE's address */ function liquidateSAFE(bytes32 collateralType, address safe) external returns (uint256 auctionId) { require(mutex[collateralType][safe] == 0, "LiquidationEngine/non-null-mutex"); mutex[collateralType][safe] = 1; (, uint256 accumulatedRate, , , uint256 debtFloor, uint256 liquidationPrice) = safeEngine.collateralTypes(collateralType); (uint256 safeCollateral, uint256 safeDebt) = safeEngine.safes(collateralType, safe); require(contractEnabled == 1, "LiquidationEngine/contract-not-enabled"); require(both( liquidationPrice > 0, multiply(safeCollateral, liquidationPrice) < multiply(safeDebt, accumulatedRate) ), "LiquidationEngine/safe-not-unsafe"); require( both(currentOnAuctionSystemCoins < onAuctionSystemCoinLimit, subtract(onAuctionSystemCoinLimit, currentOnAuctionSystemCoins) >= debtFloor), "LiquidationEngine/liquidation-limit-hit" ); if (chosenSAFESaviour[collateralType][safe] != address(0) && safeSaviours[chosenSAFESaviour[collateralType][safe]] == 1) { try SAFESaviourLike(chosenSAFESaviour[collateralType][safe]).saveSAFE(msg.sender, collateralType, safe) returns (bool ok, uint256 collateralAddedOrDebtRepaid, uint256) { if (both(ok, collateralAddedOrDebtRepaid > 0)) { emit SaveSAFE(collateralType, safe, collateralAddedOrDebtRepaid); } } catch (bytes memory revertReason) { emit FailedSAFESave(revertReason); } } // Checks that the saviour didn't take collateral or add more debt to the SAFE { (uint256 newSafeCollateral, uint256 newSafeDebt) = safeEngine.safes(collateralType, safe); require(both(newSafeCollateral >= safeCollateral, newSafeDebt <= safeDebt), "LiquidationEngine/invalid-safe-saviour-operation"); } (, accumulatedRate, , , , liquidationPrice) = safeEngine.collateralTypes(collateralType); (safeCollateral, safeDebt) = safeEngine.safes(collateralType, safe); if (both(liquidationPrice > 0, multiply(safeCollateral, liquidationPrice) < multiply(safeDebt, accumulatedRate))) { CollateralType memory collateralData = collateralTypes[collateralType]; uint256 limitAdjustedDebt = minimum( safeDebt, multiply(minimum(collateralData.liquidationQuantity, subtract(onAuctionSystemCoinLimit, currentOnAuctionSystemCoins)), WAD) / accumulatedRate / collateralData.liquidationPenalty ); require(limitAdjustedDebt > 0, "LiquidationEngine/null-auction"); require(either(limitAdjustedDebt == safeDebt, multiply(subtract(safeDebt, limitAdjustedDebt), accumulatedRate) >= debtFloor), "LiquidationEngine/dusty-safe"); uint256 collateralToSell = minimum(safeCollateral, multiply(safeCollateral, limitAdjustedDebt) / safeDebt); require(collateralToSell > 0, "LiquidationEngine/null-collateral-to-sell"); require(both(collateralToSell <= 2**255, limitAdjustedDebt <= 2**255), "LiquidationEngine/collateral-or-debt-overflow"); safeEngine.confiscateSAFECollateralAndDebt( collateralType, safe, address(this), address(accountingEngine), -int256(collateralToSell), -int256(limitAdjustedDebt) ); accountingEngine.pushDebtToQueue(multiply(limitAdjustedDebt, accumulatedRate)); { // This calcuation will overflow if multiply(limitAdjustedDebt, accumulatedRate) exceeds ~10^14, // i.e. the maximum amountToRaise is roughly 100 trillion system coins. uint256 amountToRaise_ = multiply(multiply(limitAdjustedDebt, accumulatedRate), collateralData.liquidationPenalty) / WAD; currentOnAuctionSystemCoins = addition(currentOnAuctionSystemCoins, amountToRaise_); auctionId = CollateralAuctionHouseLike(collateralData.collateralAuctionHouse).startAuction( { forgoneCollateralReceiver: safe , initialBidder: address(accountingEngine) , amountToRaise: amountToRaise_ , collateralToSell: collateralToSell , initialBid: 0 }); emit UpdateCurrentOnAuctionSystemCoins(currentOnAuctionSystemCoins); } emit Liquidate(collateralType, safe, collateralToSell, limitAdjustedDebt, multiply(limitAdjustedDebt, accumulatedRate), collateralData.collateralAuctionHouse, auctionId); } mutex[collateralType][safe] = 0; } /** * @notice Remove debt that was currently being auctioned * @param rad The amount of debt to withdraw from currentOnAuctionSystemCoins */ function removeCoinsFromAuction(uint256 rad) public isAuthorized { currentOnAuctionSystemCoins = subtract(currentOnAuctionSystemCoins, rad); emit UpdateCurrentOnAuctionSystemCoins(currentOnAuctionSystemCoins); } // --- Getters --- /* * @notice Get the amount of debt that can currently be covered by a collateral auction for a specific safe * @param collateralType The collateral type of the SAFE * @param safe The SAFE's address */ function getLimitAdjustedDebtToCover(bytes32 collateralType, address safe) external view returns (uint256) { (, uint256 accumulatedRate,,,,) = safeEngine.collateralTypes(collateralType); (uint256 safeCollateral, uint256 safeDebt) = safeEngine.safes(collateralType, safe); CollateralType memory collateralData = collateralTypes[collateralType]; return minimum( safeDebt, multiply(minimum(collateralData.liquidationQuantity, subtract(onAuctionSystemCoinLimit, currentOnAuctionSystemCoins)), WAD) / accumulatedRate / collateralData.liquidationPenalty ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"safeEngine_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"AddAuthorization","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"saviour","type":"address"}],"name":"ConnectSAFESaviour","type":"event"},{"anonymous":false,"inputs":[],"name":"DisableContract","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"saviour","type":"address"}],"name":"DisconnectSAFESaviour","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes","name":"failReason","type":"bytes"}],"name":"FailedSAFESave","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"collateralType","type":"bytes32"},{"indexed":true,"internalType":"address","name":"safe","type":"address"},{"indexed":false,"internalType":"uint256","name":"collateralAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"debtAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountToRaise","type":"uint256"},{"indexed":false,"internalType":"address","name":"collateralAuctioneer","type":"address"},{"indexed":false,"internalType":"uint256","name":"auctionId","type":"uint256"}],"name":"Liquidate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"parameter","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"data","type":"uint256"}],"name":"ModifyParameters","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"parameter","type":"bytes32"},{"indexed":false,"internalType":"address","name":"data","type":"address"}],"name":"ModifyParameters","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"collateralType","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"parameter","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"data","type":"uint256"}],"name":"ModifyParameters","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"collateralType","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"parameter","type":"bytes32"},{"indexed":false,"internalType":"address","name":"data","type":"address"}],"name":"ModifyParameters","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"collateralType","type":"bytes32"},{"indexed":true,"internalType":"address","name":"safe","type":"address"},{"indexed":false,"internalType":"address","name":"saviour","type":"address"}],"name":"ProtectSAFE","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"RemoveAuthorization","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"collateralType","type":"bytes32"},{"indexed":true,"internalType":"address","name":"safe","type":"address"},{"indexed":false,"internalType":"uint256","name":"collateralAddedOrDebtRepaid","type":"uint256"}],"name":"SaveSAFE","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"currentOnAuctionSystemCoins","type":"uint256"}],"name":"UpdateCurrentOnAuctionSystemCoins","type":"event"},{"inputs":[],"name":"accountingEngine","outputs":[{"internalType":"contract AccountingEngineLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorizedAccounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"chosenSAFESaviour","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"collateralTypes","outputs":[{"internalType":"address","name":"collateralAuctionHouse","type":"address"},{"internalType":"uint256","name":"liquidationPenalty","type":"uint256"},{"internalType":"uint256","name":"liquidationQuantity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"saviour","type":"address"}],"name":"connectSAFESaviour","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractEnabled","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentOnAuctionSystemCoins","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"saviour","type":"address"}],"name":"disconnectSAFESaviour","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"collateralType","type":"bytes32"},{"internalType":"address","name":"safe","type":"address"}],"name":"getLimitAdjustedDebtToCover","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"collateralType","type":"bytes32"},{"internalType":"address","name":"safe","type":"address"}],"name":"liquidateSAFE","outputs":[{"internalType":"uint256","name":"auctionId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"collateralType","type":"bytes32"},{"internalType":"bytes32","name":"parameter","type":"bytes32"},{"internalType":"address","name":"data","type":"address"}],"name":"modifyParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"parameter","type":"bytes32"},{"internalType":"address","name":"data","type":"address"}],"name":"modifyParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"collateralType","type":"bytes32"},{"internalType":"bytes32","name":"parameter","type":"bytes32"},{"internalType":"uint256","name":"data","type":"uint256"}],"name":"modifyParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"parameter","type":"bytes32"},{"internalType":"uint256","name":"data","type":"uint256"}],"name":"modifyParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"mutex","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"onAuctionSystemCoinLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"collateralType","type":"bytes32"},{"internalType":"address","name":"safe","type":"address"},{"internalType":"address","name":"saviour","type":"address"}],"name":"protectSAFE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rad","type":"uint256"}],"name":"removeCoinsFromAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"safeEngine","outputs":[{"internalType":"contract SAFEEngineLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"safeSaviours","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516122383803806122388339818101604052602081101561003357600080fd5b50513360008181526020818152604091829020600190819055600880546001600160a01b0319166001600160a01b038716179055600019600555600755815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a1604080517f6f6e41756374696f6e53797374656d436f696e4c696d697400000000000000008152600019602082015281517fac7c5c1afaef770ec56ac6268cd3f2fbb1035858ead2601d6553157c33036c3a929181900390910190a15061212b8061010d6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80634faeff1d116100c357806394f3f81d1161007c57806394f3f81d146103b757806395ffa802146103dd578063961d45c414610403578063d07900bb1461040b578063d4b9311d14610450578063fe4f5890146104795761014d565b80634faeff1d146102fd578063513a3dba146103235780635626da24146103555780636614f0101461037b57806367aea313146103a7578063894ba833146103af5761014d565b806335b281531161011557806335b28153146102255780633896a3841461024b5780633c7999571461027f57806341b3a0d914610287578063456b81811461028f5780634c28be57146102d15761014d565b8063049c92791461015257806324ba5884146101905780632c20afc4146101b657806332d0eefd146101fe578063332bef1114610206575b600080fd5b61017e6004803603604081101561016857600080fd5b50803590602001356001600160a01b031661049c565b60408051918252519081900360200190f35b61017e600480360360208110156101a657600080fd5b50356001600160a01b0316610647565b6101e2600480360360408110156101cc57600080fd5b50803590602001356001600160a01b0316610659565b604080516001600160a01b039092168252519081900360200190f35b61017e61067f565b6102236004803603602081101561021c57600080fd5b5035610685565b005b6102236004803603602081101561023b57600080fd5b50356001600160a01b0316610719565b6102236004803603606081101561026157600080fd5b508035906001600160a01b03602082013581169160400135166107b9565b61017e610950565b61017e610956565b6102bb600480360360408110156102a557600080fd5b50803590602001356001600160a01b031661095c565b6040805160ff9092168252519081900360200190f35b61017e600480360360408110156102e757600080fd5b50803590602001356001600160a01b031661097c565b6102236004803603602081101561031357600080fd5b50356001600160a01b03166114f7565b6102236004803603606081101561033957600080fd5b50803590602081013590604001356001600160a01b0316611598565b61017e6004803603602081101561036b57600080fd5b50356001600160a01b0316611785565b6102236004803603604081101561039157600080fd5b50803590602001356001600160a01b0316611797565b6101e2611862565b610223611871565b610223600480360360208110156103cd57600080fd5b50356001600160a01b03166118ef565b610223600480360360208110156103f357600080fd5b50356001600160a01b031661198e565b6101e2611b66565b6104286004803603602081101561042157600080fd5b5035611b75565b604080516001600160a01b039094168452602084019290925282820152519081900360600190f35b6102236004803603606081101561046657600080fd5b5080359060208101359060400135611ba1565b6102236004803603604081101561048f57600080fd5b5080359060200135611cf2565b6008546040805163d07900bb60e01b815260048101859052905160009283926001600160a01b039091169163d07900bb9160248082019260c092909190829003018186803b1580156104ed57600080fd5b505afa158015610501573d6000803e3d6000fd5b505050506040513d60c081101561051757600080fd5b506020015160085460408051630f50894160e21b8152600481018890526001600160a01b038781166024830152825194955060009485949190911692633d4225049260448082019391829003018186803b15801561057457600080fd5b505afa158015610588573d6000803e3d6000fd5b505050506040513d604081101561059e57600080fd5b50805160209091015190925090506105b4611ee8565b50600086815260026020818152604092839020835160608101855281546001600160a01b031681526001820154928101839052920154928201839052600554600654929361063a938693928992610625926106179261061291611dac565b611e04565b670de0b6b3a7640000611e1c565b8161062c57fe5b048161063457fe5b04611e04565b9450505050505b92915050565b60006020819052908152604090205481565b60036020908152600092835260408084209091529082529020546001600160a01b031681565b60055481565b336000908152602081905260409020546001146106d35760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b6106df60065482611dac565b600681905560408051918252517fe1bbac4c69a9c7825ff4f220089a412e2349521ceba06c7f07c3764522ef04149181900360200190a150565b336000908152602081905260409020546001146107675760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b600854604080516350de215d60e01b81526001600160a01b038581166004830152336024830152915191909216916350de215d916044808301926020929190829003018186803b15801561080c57600080fd5b505afa158015610820573d6000803e3d6000fd5b505050506040513d602081101561083657600080fd5b50516108735760405162461bcd60e51b81526004018080602001828103825260248152602001806120a76024913960400191505060405180910390fd5b6001600160a01b03811615806108a257506001600160a01b038116600090815260016020819052604090912054145b6108dd5760405162461bcd60e51b81526004018080602001828103825260288152602001806120566028913960400191505060405180910390fd5b60008381526003602090815260408083206001600160a01b038681168086529184529382902080546001600160a01b031916948616948517905581519384529051909286927f9c0c3b2f97315fb268638262f83f63de4f645ad9ae8ea84e2182f67e7d28d8f792918290030190a3505050565b60065481565b60075481565b600460209081526000928352604080842090915290825290205460ff1681565b60008281526004602090815260408083206001600160a01b038516845290915281205460ff16156109f4576040805162461bcd60e51b815260206004820181905260248201527f4c69717569646174696f6e456e67696e652f6e6f6e2d6e756c6c2d6d75746578604482015290519081900360640190fd5b60008381526004602081815260408084206001600160a01b0380881686529252808420805460ff19166001179055600854815163d07900bb60e01b8152938401889052905184938493929092169163d07900bb9160248083019260c0929190829003018186803b158015610a6757600080fd5b505afa158015610a7b573d6000803e3d6000fd5b505050506040513d60c0811015610a9157600080fd5b506020810151608082015160a09092015160085460408051630f50894160e21b8152600481018c90526001600160a01b038b8116602483015282519599509597509295506000948594921692633d4225049260448083019392829003018186803b158015610afe57600080fd5b505afa158015610b12573d6000803e3d6000fd5b505050506040513d6040811015610b2857600080fd5b5080516020909101516007549193509150600114610b775760405162461bcd60e51b81526004018080602001828103825260268152602001806120306026913960400191505060405180910390fd5b610b9860008411610b888388611e1c565b610b928587611e1c565b10611e88565b610bd35760405162461bcd60e51b8152600401808060200182810382526021815260200180611fe26021913960400191505060405180910390fd5b610bf36005546006541085610bec600554600654611dac565b1015611e88565b610c2e5760405162461bcd60e51b8152600401808060200182810382526027815260200180611f136027913960400191505060405180910390fd5b60008881526003602090815260408083206001600160a01b038b811685529252909120541615801590610c90575060008881526003602090815260408083206001600160a01b03808c1685529083528184205416835260019182905290912054145b15610e6b5760008881526003602090815260408083206001600160a01b03808c168086529190935281842054825163b9b0bb3960e01b8152336004820152602481018e905260448101929092529151919092169263b9b0bb3992606480820193606093909283900390910190829087803b158015610d0d57600080fd5b505af1925050508015610d4157506040513d6060811015610d2d57600080fd5b508051602082015160409092015190919060015b610e14573d808015610d6f576040519150601f19603f3d011682016040523d82523d6000602084013e610d74565b606091505b507fe7862113e21c9c96e382110b92dfc08242b5c58f90259305fe30adc0d77e2a43816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610dd4578181015183820152602001610dbc565b50505050905090810190601f168015610e015780820380516001836020036101000a031916815260200191505b509250505060405180910390a150610e6b565b610e218360008411611e88565b15610e67576040805183815290516001600160a01b038c16918d917f7afee8680e1a5395600115d5fc996ecb20b450ca793815c08c9b19d2dc6663d79181900360200190a35b5050505b60085460408051630f50894160e21b8152600481018b90526001600160a01b038a8116602483015282516000948594921692633d422504926044808301939192829003018186803b158015610ebf57600080fd5b505afa158015610ed3573d6000803e3d6000fd5b505050506040513d6040811015610ee957600080fd5b5080516020909101519092509050610f078483101584831115611e88565b610f425760405162461bcd60e51b8152600401808060200182810382526030815260200180611f3a6030913960400191505060405180910390fd5b50506008546040805163d07900bb60e01b8152600481018b905290516001600160a01b039092169163d07900bb9160248082019260c092909190829003018186803b158015610f9057600080fd5b505afa158015610fa4573d6000803e3d6000fd5b505050506040513d60c0811015610fba57600080fd5b50602081015160a09091015160085460408051630f50894160e21b8152600481018d90526001600160a01b038c811660248301528251959a509397509290911692633d422504926044808201939291829003018186803b15801561101d57600080fd5b505afa158015611031573d6000803e3d6000fd5b505050506040513d604081101561104757600080fd5b5080516020909101519092509050611065831515610b888388611e1c565b156114c457611072611ee8565b506000888152600260208181526040808420815160608101835281546001600160a01b0316815260018201549381018490529301549083018190526005546006549394936110d493879390928c92610625926106179290916106129190611dac565b90506000811161112b576040805162461bcd60e51b815260206004820152601e60248201527f4c69717569646174696f6e456e67696e652f6e756c6c2d61756374696f6e0000604482015290519081900360640190fd5b61114c8382148761114561113f8786611dac565b8b611e1c565b1015611e8c565b61119d576040805162461bcd60e51b815260206004820152601c60248201527f4c69717569646174696f6e456e67696e652f64757374792d7361666500000000604482015290519081900360640190fd5b60006111b585856111ae8886611e1c565b8161063457fe5b9050600081116111f65760405162461bcd60e51b815260040180806020018281038252602981526020018061207e6029913960400191505060405180910390fd5b61120e600160ff1b821115600160ff1b841115611e88565b6112495760405162461bcd60e51b815260040180806020018281038252602d815260200180612003602d913960400191505060405180910390fd5b60085460095460408051634e14a96760e01b8152600481018f90526001600160a01b038e8116602483015230604483015292831660648201526000858103608483015286810360a483015291519290931692634e14a9679260c4808301939282900301818387803b1580156112bd57600080fd5b505af11580156112d1573d6000803e3d6000fd5b50506009546001600160a01b0316915063a8b30a9f90506112f2848b611e1c565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561132857600080fd5b505af115801561133c573d6000803e3d6000fd5b505050506000670de0b6b3a7640000611362611358858c611e1c565b8660200151611e1c565b8161136957fe5b04905061137860065482611e90565b60065583516009546040805163097af09d60e21b81526001600160a01b038f8116600483015292831660248201526044810185905260648101869052600060848201819052915192909316926325ebc2749260a48083019360209383900390910190829087803b1580156113eb57600080fd5b505af11580156113ff573d6000803e3d6000fd5b505050506040513d602081101561141557600080fd5b50516006546040805191825251919b507fe1bbac4c69a9c7825ff4f220089a412e2349521ceba06c7f07c3764522ef0414919081900360200190a150896001600160a01b03168b7f72d3864f233703680912d39433c137e816d579e8785e5245274ca9f95bea89678385611489878e611e1c565b8851604080519485526020850193909352838301919091526001600160a01b03166060830152608082018e9052519081900360a00190a35050505b505050600094855250506004602090815260408085206001600160a01b0390941685529290529120805460ff1916905590565b336000908152602081905260409020546001146115455760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b6001600160a01b038116600081815260016020908152604080832092909255815192835290517ffce504fd9d349038183fa936cbbfadf867e63406485f0f4f9f45f7f2856f813f9281900390910190a150565b336000908152602081905260409020546001146115e65760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b8175636f6c6c61746572616c41756374696f6e486f75736560501b14156117015760085460008481526002602052604080822054815163d49d786760e01b81526001600160a01b039182166004820152915193169263d49d78679260248084019391929182900301818387803b15801561165f57600080fd5b505af1158015611673573d6000803e3d6000fd5b50505060008481526002602052604080822080546001600160a01b0319166001600160a01b038681169182179092556008548351631b29a84160e31b81526004810192909252925192909116935063d94d420892602480830193919282900301818387803b1580156116e457600080fd5b505af11580156116f8573d6000803e3d6000fd5b50505050611738565b60405162461bcd60e51b815260040180806020018281038252602b8152602001806120cb602b913960400191505060405180910390fd5b60408051848152602081018490526001600160a01b0383168183015290517f87c209b94b27bfe8cb3329ca996f854fc16f2ec485116b0932eccd15fac50a409181900360600190a1505050565b60016020526000908152604090205481565b336000908152602081905260409020546001146117e55760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b816f6163636f756e74696e67456e67696e6560801b141561170157600980546001600160a01b0319166001600160a01b038316179055604080518381526001600160a01b038316602082015281517fd91f38cf03346b5dc15fb60f9076f866295231ad3c3841a1051f8443f25170d1929181900390910190a15050565b6008546001600160a01b031681565b336000908152602081905260409020546001146118bf5760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b600060078190556040517f2d4b4ecff7bd7503135271925520a2f6c0d98c9473ffc1a1e72c92502f51b25e9190a1565b3360009081526020819052604090205460011461193d5760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b336000908152602081905260409020546001146119dc5760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b6040805163b9b0bb3960e01b81523060048201526000604482018190529151829182916001600160a01b0386169163b9b0bb3991606480830192606092919082900301818787803b158015611a3057600080fd5b505af1158015611a44573d6000803e3d6000fd5b505050506040513d6060811015611a5a57600080fd5b5080516020820151604090920151909450909250905082611ac2576040805162461bcd60e51b815260206004820181905260248201527f4c69717569646174696f6e456e67696e652f736176696f75722d6e6f742d6f6b604482015290519081900360640190fd5b611ad460001983146000198314611e88565b611b0f5760405162461bcd60e51b8152600401808060200182810382526021815260200180611fc16021913960400191505060405180910390fd5b6001600160a01b03841660008181526001602081815260409283902091909155815192835290517fc2553257d1b78c297941723c1913912f9161a830e997b56133a669b3a3de6a1e9281900390910190a150505050565b6009546001600160a01b031681565b60026020819052600091825260409091208054600182015491909201546001600160a01b039092169183565b33600090815260208190526040902054600114611bef5760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b81716c69717569646174696f6e50656e616c747960701b1415611c25576000838152600260205260409020600101819055611cad565b81726c69717569646174696f6e5175616e7469747960681b141561170157744f3a68dbc8f03f243baf513267aa9a3ee524f8e028811115611c975760405162461bcd60e51b815260040180806020018281038252602f815260200180611f92602f913960400191505060405180910390fd5b6000838152600260208190526040909120018190555b604080518481526020810184905280820183905290517fc59b1109b54f213212d2f5af5c1dae5e887f9daa63b595578fae847cb048e8f49181900360600190a1505050565b33600090815260208190526040902054600114611d405760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b817f6f6e41756374696f6e53797374656d436f696e4c696d697400000000000000001415611701576005819055604080518381526020810183905281517fac7c5c1afaef770ec56ac6268cd3f2fbb1035858ead2601d6553157c33036c3a929181900390910190a15050565b80820382811115610641576040805162461bcd60e51b815260206004820152601f60248201527f4c69717569646174696f6e456e67696e652f7375622d756e646572666c6f7700604482015290519081900360640190fd5b600081831115611e15575080610641565b5090919050565b6000811580611e3757505080820282828281611e3457fe5b04145b610641576040805162461bcd60e51b815260206004820152601e60248201527f4c69717569646174696f6e456e67696e652f6d756c2d6f766572666c6f770000604482015290519081900360640190fd5b1690565b1790565b80820182811015610641576040805162461bcd60e51b815260206004820152601e60248201527f4c69717569646174696f6e456e67696e652f6164642d6f766572666c6f770000604482015290519081900360640190fd5b604051806060016040528060006001600160a01b031681526020016000815260200160008152509056fe4c69717569646174696f6e456e67696e652f6c69717569646174696f6e2d6c696d69742d6869744c69717569646174696f6e456e67696e652f696e76616c69642d736166652d736176696f75722d6f7065726174696f6e4c69717569646174696f6e456e67696e652f6163636f756e742d6e6f742d617574686f72697a65644c69717569646174696f6e456e67696e652f6c69717569646174696f6e2d7175616e746974792d6f766572666c6f774c69717569646174696f6e456e67696e652f696e76616c69642d616d6f756e74734c69717569646174696f6e456e67696e652f736166652d6e6f742d756e736166654c69717569646174696f6e456e67696e652f636f6c6c61746572616c2d6f722d646562742d6f766572666c6f774c69717569646174696f6e456e67696e652f636f6e74726163742d6e6f742d656e61626c65644c69717569646174696f6e456e67696e652f736176696f75722d6e6f742d617574686f72697a65644c69717569646174696f6e456e67696e652f6e756c6c2d636f6c6c61746572616c2d746f2d73656c6c4c69717569646174696f6e456e67696e652f63616e6e6f742d6d6f646966792d736166654c69717569646174696f6e456e67696e652f6d6f646966792d756e7265636f676e697a65642d706172616da26469706673582212201d24f5f6a16d64671848cd4d9d2689e4b4697b17f41e29b1cb820ae4503ba0a764736f6c63430006070033000000000000000000000000cc88a9d330da1133df3a7bd823b95e52511a6962
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061014d5760003560e01c80634faeff1d116100c357806394f3f81d1161007c57806394f3f81d146103b757806395ffa802146103dd578063961d45c414610403578063d07900bb1461040b578063d4b9311d14610450578063fe4f5890146104795761014d565b80634faeff1d146102fd578063513a3dba146103235780635626da24146103555780636614f0101461037b57806367aea313146103a7578063894ba833146103af5761014d565b806335b281531161011557806335b28153146102255780633896a3841461024b5780633c7999571461027f57806341b3a0d914610287578063456b81811461028f5780634c28be57146102d15761014d565b8063049c92791461015257806324ba5884146101905780632c20afc4146101b657806332d0eefd146101fe578063332bef1114610206575b600080fd5b61017e6004803603604081101561016857600080fd5b50803590602001356001600160a01b031661049c565b60408051918252519081900360200190f35b61017e600480360360208110156101a657600080fd5b50356001600160a01b0316610647565b6101e2600480360360408110156101cc57600080fd5b50803590602001356001600160a01b0316610659565b604080516001600160a01b039092168252519081900360200190f35b61017e61067f565b6102236004803603602081101561021c57600080fd5b5035610685565b005b6102236004803603602081101561023b57600080fd5b50356001600160a01b0316610719565b6102236004803603606081101561026157600080fd5b508035906001600160a01b03602082013581169160400135166107b9565b61017e610950565b61017e610956565b6102bb600480360360408110156102a557600080fd5b50803590602001356001600160a01b031661095c565b6040805160ff9092168252519081900360200190f35b61017e600480360360408110156102e757600080fd5b50803590602001356001600160a01b031661097c565b6102236004803603602081101561031357600080fd5b50356001600160a01b03166114f7565b6102236004803603606081101561033957600080fd5b50803590602081013590604001356001600160a01b0316611598565b61017e6004803603602081101561036b57600080fd5b50356001600160a01b0316611785565b6102236004803603604081101561039157600080fd5b50803590602001356001600160a01b0316611797565b6101e2611862565b610223611871565b610223600480360360208110156103cd57600080fd5b50356001600160a01b03166118ef565b610223600480360360208110156103f357600080fd5b50356001600160a01b031661198e565b6101e2611b66565b6104286004803603602081101561042157600080fd5b5035611b75565b604080516001600160a01b039094168452602084019290925282820152519081900360600190f35b6102236004803603606081101561046657600080fd5b5080359060208101359060400135611ba1565b6102236004803603604081101561048f57600080fd5b5080359060200135611cf2565b6008546040805163d07900bb60e01b815260048101859052905160009283926001600160a01b039091169163d07900bb9160248082019260c092909190829003018186803b1580156104ed57600080fd5b505afa158015610501573d6000803e3d6000fd5b505050506040513d60c081101561051757600080fd5b506020015160085460408051630f50894160e21b8152600481018890526001600160a01b038781166024830152825194955060009485949190911692633d4225049260448082019391829003018186803b15801561057457600080fd5b505afa158015610588573d6000803e3d6000fd5b505050506040513d604081101561059e57600080fd5b50805160209091015190925090506105b4611ee8565b50600086815260026020818152604092839020835160608101855281546001600160a01b031681526001820154928101839052920154928201839052600554600654929361063a938693928992610625926106179261061291611dac565b611e04565b670de0b6b3a7640000611e1c565b8161062c57fe5b048161063457fe5b04611e04565b9450505050505b92915050565b60006020819052908152604090205481565b60036020908152600092835260408084209091529082529020546001600160a01b031681565b60055481565b336000908152602081905260409020546001146106d35760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b6106df60065482611dac565b600681905560408051918252517fe1bbac4c69a9c7825ff4f220089a412e2349521ceba06c7f07c3764522ef04149181900360200190a150565b336000908152602081905260409020546001146107675760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b600854604080516350de215d60e01b81526001600160a01b038581166004830152336024830152915191909216916350de215d916044808301926020929190829003018186803b15801561080c57600080fd5b505afa158015610820573d6000803e3d6000fd5b505050506040513d602081101561083657600080fd5b50516108735760405162461bcd60e51b81526004018080602001828103825260248152602001806120a76024913960400191505060405180910390fd5b6001600160a01b03811615806108a257506001600160a01b038116600090815260016020819052604090912054145b6108dd5760405162461bcd60e51b81526004018080602001828103825260288152602001806120566028913960400191505060405180910390fd5b60008381526003602090815260408083206001600160a01b038681168086529184529382902080546001600160a01b031916948616948517905581519384529051909286927f9c0c3b2f97315fb268638262f83f63de4f645ad9ae8ea84e2182f67e7d28d8f792918290030190a3505050565b60065481565b60075481565b600460209081526000928352604080842090915290825290205460ff1681565b60008281526004602090815260408083206001600160a01b038516845290915281205460ff16156109f4576040805162461bcd60e51b815260206004820181905260248201527f4c69717569646174696f6e456e67696e652f6e6f6e2d6e756c6c2d6d75746578604482015290519081900360640190fd5b60008381526004602081815260408084206001600160a01b0380881686529252808420805460ff19166001179055600854815163d07900bb60e01b8152938401889052905184938493929092169163d07900bb9160248083019260c0929190829003018186803b158015610a6757600080fd5b505afa158015610a7b573d6000803e3d6000fd5b505050506040513d60c0811015610a9157600080fd5b506020810151608082015160a09092015160085460408051630f50894160e21b8152600481018c90526001600160a01b038b8116602483015282519599509597509295506000948594921692633d4225049260448083019392829003018186803b158015610afe57600080fd5b505afa158015610b12573d6000803e3d6000fd5b505050506040513d6040811015610b2857600080fd5b5080516020909101516007549193509150600114610b775760405162461bcd60e51b81526004018080602001828103825260268152602001806120306026913960400191505060405180910390fd5b610b9860008411610b888388611e1c565b610b928587611e1c565b10611e88565b610bd35760405162461bcd60e51b8152600401808060200182810382526021815260200180611fe26021913960400191505060405180910390fd5b610bf36005546006541085610bec600554600654611dac565b1015611e88565b610c2e5760405162461bcd60e51b8152600401808060200182810382526027815260200180611f136027913960400191505060405180910390fd5b60008881526003602090815260408083206001600160a01b038b811685529252909120541615801590610c90575060008881526003602090815260408083206001600160a01b03808c1685529083528184205416835260019182905290912054145b15610e6b5760008881526003602090815260408083206001600160a01b03808c168086529190935281842054825163b9b0bb3960e01b8152336004820152602481018e905260448101929092529151919092169263b9b0bb3992606480820193606093909283900390910190829087803b158015610d0d57600080fd5b505af1925050508015610d4157506040513d6060811015610d2d57600080fd5b508051602082015160409092015190919060015b610e14573d808015610d6f576040519150601f19603f3d011682016040523d82523d6000602084013e610d74565b606091505b507fe7862113e21c9c96e382110b92dfc08242b5c58f90259305fe30adc0d77e2a43816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610dd4578181015183820152602001610dbc565b50505050905090810190601f168015610e015780820380516001836020036101000a031916815260200191505b509250505060405180910390a150610e6b565b610e218360008411611e88565b15610e67576040805183815290516001600160a01b038c16918d917f7afee8680e1a5395600115d5fc996ecb20b450ca793815c08c9b19d2dc6663d79181900360200190a35b5050505b60085460408051630f50894160e21b8152600481018b90526001600160a01b038a8116602483015282516000948594921692633d422504926044808301939192829003018186803b158015610ebf57600080fd5b505afa158015610ed3573d6000803e3d6000fd5b505050506040513d6040811015610ee957600080fd5b5080516020909101519092509050610f078483101584831115611e88565b610f425760405162461bcd60e51b8152600401808060200182810382526030815260200180611f3a6030913960400191505060405180910390fd5b50506008546040805163d07900bb60e01b8152600481018b905290516001600160a01b039092169163d07900bb9160248082019260c092909190829003018186803b158015610f9057600080fd5b505afa158015610fa4573d6000803e3d6000fd5b505050506040513d60c0811015610fba57600080fd5b50602081015160a09091015160085460408051630f50894160e21b8152600481018d90526001600160a01b038c811660248301528251959a509397509290911692633d422504926044808201939291829003018186803b15801561101d57600080fd5b505afa158015611031573d6000803e3d6000fd5b505050506040513d604081101561104757600080fd5b5080516020909101519092509050611065831515610b888388611e1c565b156114c457611072611ee8565b506000888152600260208181526040808420815160608101835281546001600160a01b0316815260018201549381018490529301549083018190526005546006549394936110d493879390928c92610625926106179290916106129190611dac565b90506000811161112b576040805162461bcd60e51b815260206004820152601e60248201527f4c69717569646174696f6e456e67696e652f6e756c6c2d61756374696f6e0000604482015290519081900360640190fd5b61114c8382148761114561113f8786611dac565b8b611e1c565b1015611e8c565b61119d576040805162461bcd60e51b815260206004820152601c60248201527f4c69717569646174696f6e456e67696e652f64757374792d7361666500000000604482015290519081900360640190fd5b60006111b585856111ae8886611e1c565b8161063457fe5b9050600081116111f65760405162461bcd60e51b815260040180806020018281038252602981526020018061207e6029913960400191505060405180910390fd5b61120e600160ff1b821115600160ff1b841115611e88565b6112495760405162461bcd60e51b815260040180806020018281038252602d815260200180612003602d913960400191505060405180910390fd5b60085460095460408051634e14a96760e01b8152600481018f90526001600160a01b038e8116602483015230604483015292831660648201526000858103608483015286810360a483015291519290931692634e14a9679260c4808301939282900301818387803b1580156112bd57600080fd5b505af11580156112d1573d6000803e3d6000fd5b50506009546001600160a01b0316915063a8b30a9f90506112f2848b611e1c565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561132857600080fd5b505af115801561133c573d6000803e3d6000fd5b505050506000670de0b6b3a7640000611362611358858c611e1c565b8660200151611e1c565b8161136957fe5b04905061137860065482611e90565b60065583516009546040805163097af09d60e21b81526001600160a01b038f8116600483015292831660248201526044810185905260648101869052600060848201819052915192909316926325ebc2749260a48083019360209383900390910190829087803b1580156113eb57600080fd5b505af11580156113ff573d6000803e3d6000fd5b505050506040513d602081101561141557600080fd5b50516006546040805191825251919b507fe1bbac4c69a9c7825ff4f220089a412e2349521ceba06c7f07c3764522ef0414919081900360200190a150896001600160a01b03168b7f72d3864f233703680912d39433c137e816d579e8785e5245274ca9f95bea89678385611489878e611e1c565b8851604080519485526020850193909352838301919091526001600160a01b03166060830152608082018e9052519081900360a00190a35050505b505050600094855250506004602090815260408085206001600160a01b0390941685529290529120805460ff1916905590565b336000908152602081905260409020546001146115455760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b6001600160a01b038116600081815260016020908152604080832092909255815192835290517ffce504fd9d349038183fa936cbbfadf867e63406485f0f4f9f45f7f2856f813f9281900390910190a150565b336000908152602081905260409020546001146115e65760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b8175636f6c6c61746572616c41756374696f6e486f75736560501b14156117015760085460008481526002602052604080822054815163d49d786760e01b81526001600160a01b039182166004820152915193169263d49d78679260248084019391929182900301818387803b15801561165f57600080fd5b505af1158015611673573d6000803e3d6000fd5b50505060008481526002602052604080822080546001600160a01b0319166001600160a01b038681169182179092556008548351631b29a84160e31b81526004810192909252925192909116935063d94d420892602480830193919282900301818387803b1580156116e457600080fd5b505af11580156116f8573d6000803e3d6000fd5b50505050611738565b60405162461bcd60e51b815260040180806020018281038252602b8152602001806120cb602b913960400191505060405180910390fd5b60408051848152602081018490526001600160a01b0383168183015290517f87c209b94b27bfe8cb3329ca996f854fc16f2ec485116b0932eccd15fac50a409181900360600190a1505050565b60016020526000908152604090205481565b336000908152602081905260409020546001146117e55760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b816f6163636f756e74696e67456e67696e6560801b141561170157600980546001600160a01b0319166001600160a01b038316179055604080518381526001600160a01b038316602082015281517fd91f38cf03346b5dc15fb60f9076f866295231ad3c3841a1051f8443f25170d1929181900390910190a15050565b6008546001600160a01b031681565b336000908152602081905260409020546001146118bf5760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b600060078190556040517f2d4b4ecff7bd7503135271925520a2f6c0d98c9473ffc1a1e72c92502f51b25e9190a1565b3360009081526020819052604090205460011461193d5760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b336000908152602081905260409020546001146119dc5760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b6040805163b9b0bb3960e01b81523060048201526000604482018190529151829182916001600160a01b0386169163b9b0bb3991606480830192606092919082900301818787803b158015611a3057600080fd5b505af1158015611a44573d6000803e3d6000fd5b505050506040513d6060811015611a5a57600080fd5b5080516020820151604090920151909450909250905082611ac2576040805162461bcd60e51b815260206004820181905260248201527f4c69717569646174696f6e456e67696e652f736176696f75722d6e6f742d6f6b604482015290519081900360640190fd5b611ad460001983146000198314611e88565b611b0f5760405162461bcd60e51b8152600401808060200182810382526021815260200180611fc16021913960400191505060405180910390fd5b6001600160a01b03841660008181526001602081815260409283902091909155815192835290517fc2553257d1b78c297941723c1913912f9161a830e997b56133a669b3a3de6a1e9281900390910190a150505050565b6009546001600160a01b031681565b60026020819052600091825260409091208054600182015491909201546001600160a01b039092169183565b33600090815260208190526040902054600114611bef5760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b81716c69717569646174696f6e50656e616c747960701b1415611c25576000838152600260205260409020600101819055611cad565b81726c69717569646174696f6e5175616e7469747960681b141561170157744f3a68dbc8f03f243baf513267aa9a3ee524f8e028811115611c975760405162461bcd60e51b815260040180806020018281038252602f815260200180611f92602f913960400191505060405180910390fd5b6000838152600260208190526040909120018190555b604080518481526020810184905280820183905290517fc59b1109b54f213212d2f5af5c1dae5e887f9daa63b595578fae847cb048e8f49181900360600190a1505050565b33600090815260208190526040902054600114611d405760405162461bcd60e51b8152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b817f6f6e41756374696f6e53797374656d436f696e4c696d697400000000000000001415611701576005819055604080518381526020810183905281517fac7c5c1afaef770ec56ac6268cd3f2fbb1035858ead2601d6553157c33036c3a929181900390910190a15050565b80820382811115610641576040805162461bcd60e51b815260206004820152601f60248201527f4c69717569646174696f6e456e67696e652f7375622d756e646572666c6f7700604482015290519081900360640190fd5b600081831115611e15575080610641565b5090919050565b6000811580611e3757505080820282828281611e3457fe5b04145b610641576040805162461bcd60e51b815260206004820152601e60248201527f4c69717569646174696f6e456e67696e652f6d756c2d6f766572666c6f770000604482015290519081900360640190fd5b1690565b1790565b80820182811015610641576040805162461bcd60e51b815260206004820152601e60248201527f4c69717569646174696f6e456e67696e652f6164642d6f766572666c6f770000604482015290519081900360640190fd5b604051806060016040528060006001600160a01b031681526020016000815260200160008152509056fe4c69717569646174696f6e456e67696e652f6c69717569646174696f6e2d6c696d69742d6869744c69717569646174696f6e456e67696e652f696e76616c69642d736166652d736176696f75722d6f7065726174696f6e4c69717569646174696f6e456e67696e652f6163636f756e742d6e6f742d617574686f72697a65644c69717569646174696f6e456e67696e652f6c69717569646174696f6e2d7175616e746974792d6f766572666c6f774c69717569646174696f6e456e67696e652f696e76616c69642d616d6f756e74734c69717569646174696f6e456e67696e652f736166652d6e6f742d756e736166654c69717569646174696f6e456e67696e652f636f6c6c61746572616c2d6f722d646562742d6f766572666c6f774c69717569646174696f6e456e67696e652f636f6e74726163742d6e6f742d656e61626c65644c69717569646174696f6e456e67696e652f736176696f75722d6e6f742d617574686f72697a65644c69717569646174696f6e456e67696e652f6e756c6c2d636f6c6c61746572616c2d746f2d73656c6c4c69717569646174696f6e456e67696e652f63616e6e6f742d6d6f646966792d736166654c69717569646174696f6e456e67696e652f6d6f646966792d756e7265636f676e697a65642d706172616da26469706673582212201d24f5f6a16d64671848cd4d9d2689e4b4697b17f41e29b1cb820ae4503ba0a764736f6c63430006070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000cc88a9d330da1133df3a7bd823b95e52511a6962
-----Decoded View---------------
Arg [0] : safeEngine_ (address): 0xCC88a9d330da1133Df3A7bD823B95e52511A6962
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000cc88a9d330da1133df3a7bd823b95e52511a6962
Deployed Bytecode Sourcemap
2256:16195:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2256:16195:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;17805:643:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;17805:643:0;;;;;;-1:-1:-1;;;;;17805:643:0;;:::i;:::-;;;;;;;;;;;;;;;;2311:54;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2311:54:0;-1:-1:-1;;;;;2311:54:0;;:::i;5168:73::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5168:73:0;;;;;;-1:-1:-1;;;;;5168:73:0;;:::i;:::-;;;;-1:-1:-1;;;;;5168:73:0;;;;;;;;;;;;;;5491:39;;;:::i;17312:234::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;17312:234:0;;:::i;:::-;;2475:156;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2475:156:0;-1:-1:-1;;;;;2475:156:0;;:::i;11816:512::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11816:512:0;;;-1:-1:-1;;;;;11816:512:0;;;;;;;;;;;;:::i;5636:42::-;;;:::i;5763:30::-;;;:::i;5347:61::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5347:61:0;;;;;;-1:-1:-1;;;;;5347:61:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;12481:4661;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12481:4661:0;;;;;;-1:-1:-1;;;;;12481:4661:0;;:::i;4125:160::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4125:160:0;-1:-1:-1;;;;;4125:160:0;;:::i;10714:629::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10714:629:0;;;;;;;;;;;-1:-1:-1;;;;;10714:629:0;;:::i;3239:48::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3239:48:0;-1:-1:-1;;;;;3239:48:0;;:::i;9214:300::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9214:300:0;;;;;;-1:-1:-1;;;;;9214:300:0;;:::i;5802:38::-;;;:::i;11443:120::-;;;:::i;2750:162::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2750:162:0;-1:-1:-1;;;;;2750:162:0;;:::i;3459:487::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3459:487:0;-1:-1:-1;;;;;3459:487:0;;:::i;5847:44::-;;;:::i;5029:71::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5029:71:0;;:::i;:::-;;;;-1:-1:-1;;;;;5029:71:0;;;;;;;;;;;;;;;;;;;;;;;;;9763:675;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9763:675:0;;;;;;;;;;;;:::i;8741:294::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8741:294:0;;;;;;;:::i;17805:643::-;17968:10;;:42;;;-1:-1:-1;;;17968:42:0;;;;;;;;;;17903:7;;;;-1:-1:-1;;;;;17968:10:0;;;;:26;;:42;;;;;;;;;;;;;;;:10;:42;;;2:2:-1;;;;27:1;24;17:12;2:2;17968:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17968:42:0;;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;17968:42:0;;;18066:10;;17968:42;18066:38;;-1:-1:-1;;;18066:38:0;;;;;;;;-1:-1:-1;;;;;18066:38:0;;;;;;;;;17968:42;;-1:-1:-1;18022:22:0;;;;18066:10;;;;;:16;;:38;;;;;;;;;;;:10;:38;;;2:2:-1;;;;27:1;24;17:12;2:2;18066:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18066:38:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18066:38:0;;;;;;;;;-1:-1:-1;18066:38:0;-1:-1:-1;18115:36:0;;:::i;:::-;-1:-1:-1;18160:31:0;;;;:15;:31;;;;;;;;;18115:76;;;;;;;;;-1:-1:-1;;;;;18115:76:0;;;;;;;;;;;;;;;;;;;;;;18314:24;;18340:27;;18115:76;;18211:229;;18231:8;;18115:76;18378:15;;18252:123;;18261:108;;18305:63;;:8;:63::i;:::-;18261:7;:108::i;:::-;7555:8;18252;:123::i;:::-;:141;;;;;;:177;;;;;;18211:7;:229::i;:::-;18204:236;;;;;;17805:643;;;;;:::o;2311:54::-;;;;;;;;;;;;;;:::o;5168:73::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5168:73:0;;:::o;5491:39::-;;;;:::o;17312:234::-;3065:10;3046:18;:30;;;;;;;;;;;3080:1;3046:35;3038:88;;;;-1:-1:-1;;;3038:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17418:42:::1;17427:27;;17456:3;17418:8;:42::i;:::-;17388:27;:72:::0;;;17476:62:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;17312:234:::0;:::o;2475:156::-;3065:10;3046:18;:30;;;;;;;;;;;3080:1;3046:35;3038:88;;;;-1:-1:-1;;;3038:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2551:27:0;::::1;:18;:27:::0;;;::::1;::::0;;;;;;;;2581:1:::1;2551:31:::0;;2598:25;;;;;;;::::1;::::0;;;;;;;;::::1;2475:156:::0;:::o;11816:512::-;11954:10;;:42;;;-1:-1:-1;;;11954:42:0;;-1:-1:-1;;;;;11954:42:0;;;;;;;11985:10;11954:42;;;;;;:10;;;;;:24;;:42;;;;;;;;;;;;;;:10;:42;;;2:2:-1;;;;27:1;24;17:12;2:2;11954:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11954:42:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11954:42:0;11946:91;;;;-1:-1:-1;;;11946:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12056:21:0;;;;:51;;-1:-1:-1;;;;;;12081:21:0;;;;;;:12;:21;;;;;;;;;:26;12056:51;12048:104;;;;-1:-1:-1;;;12048:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12163:33;;;;:17;:33;;;;;;;;-1:-1:-1;;;;;12163:39:0;;;;;;;;;;;;;:49;;-1:-1:-1;;;;;;12163:49:0;;;;;;;;;12228:92;;;;;;;12163:39;;:33;;12228:92;;;;;;;;;11816:512;;;:::o;5636:42::-;;;;:::o;5763:30::-;;;;:::o;5347:61::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12481:4661::-;12560:17;12598:21;;;:5;:21;;;;;;;;-1:-1:-1;;;;;12598:27:0;;;;;;;;;;;;:32;12590:77;;;;;-1:-1:-1;;;12590:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12678:21;;;;:5;:21;;;;;;;;-1:-1:-1;;;;;12678:27:0;;;;;;;;;;:31;;-1:-1:-1;;12678:31:0;12708:1;12678:31;;;12801:10;;:42;;-1:-1:-1;;;12801:42:0;;;;;;;;;;12678:21;;;;12801:10;;;;;:26;;:42;;;;;;;;;;;;;;:10;:42;;;2:2:-1;;;;27:1;24;17:12;2:2;12801:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12801:42:0;;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;12801:42:0;;;;;;;;;;;;;12899:10;;12801:42;12899:38;;-1:-1:-1;;;12899:38:0;;;;;;;;-1:-1:-1;;;;;12899:38:0;;;;;;;;;12801:42;;-1:-1:-1;12801:42:0;;-1:-1:-1;12801:42:0;;-1:-1:-1;12855:22:0;;;;12899:10;;;:16;;:38;;;;;12801:42;12899:38;;;;;:10;:38;;;2:2:-1;;;;27:1;24;17:12;2:2;12899:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12899:38:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12899:38:0;;;;;;;12958:15;;12899:38;;-1:-1:-1;12899:38:0;-1:-1:-1;12977:1:0;12958:20;12950:71;;;;-1:-1:-1;;;12950:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13040:141;13076:1;13057:16;:20;13135:35;13144:8;13154:15;13135:8;:35::i;:::-;13090:42;13099:14;13115:16;13090:8;:42::i;:::-;:80;13040:4;:141::i;:::-;13032:187;;;;-1:-1:-1;;;13032:187:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13250:149;13285:24;;13255:27;;:54;13389:9;13322:63;13331:24;;13357:27;;13322:8;:63::i;:::-;:76;;13250:4;:149::i;:::-;13230:234;;;;-1:-1:-1;;;13230:234:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13532:1;13481:33;;;:17;:33;;;;;;;;-1:-1:-1;;;;;13481:39:0;;;;;;;;;;;;:53;;;;:128;;-1:-1:-1;13551:53:0;13564:33;;;:17;:33;;;;;;;;-1:-1:-1;;;;;13564:39:0;;;;;;;;;;;;;13551:53;;:12;:53;;;;;;;;:58;13481:128;13477:608;;;13644:33;;;;:17;:33;;;;;;;;-1:-1:-1;;;;;13644:39:0;;;;;;;;;;;;;;13628:99;;-1:-1:-1;;;13628:99:0;;13694:10;13628:99;;;;;;;;;;;;;;;;;;;13644:39;;;;;13628:65;;:99;;;;;;;;;;;;;;;;;;13644:39;13628:99;;;2:2:-1;;;;27:1;24;17:12;2:2;13628:99:0;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;13628:99:0;;;;;;;;;;;;;;;;13624:450;;;;14:27:-1;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;14032:28:0;14047:12;14032:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14032:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13978:96;13624:450;;;13824:41;13829:2;13863:1;13833:27;:31;13824:4;:41::i;:::-;13820:144;;;13889:59;;;;;;;;-1:-1:-1;;;;;13889:59:0;;;13898:14;;13889:59;;;;;;;;;13820:144;13741:236;;;13624:450;14249:10;;:38;;;-1:-1:-1;;;14249:38:0;;;;;;;;-1:-1:-1;;;;;14249:38:0;;;;;;;;;14199:25;;;;14249:10;;;:16;;:38;;;;;;;;;;;;:10;:38;;;2:2:-1;;;;27:1;24;17:12;2:2;14249:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14249:38:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;14249:38:0;;;;;;;;;-1:-1:-1;14249:38:0;-1:-1:-1;14308:66:0;14313:35;;;;14350:23;;;;14308:4;:66::i;:::-;14300:127;;;;-1:-1:-1;;;14300:127:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14497:10:0;;:42;;;-1:-1:-1;;;14497:42:0;;;;;;;;;;-1:-1:-1;;;;;14497:10:0;;;;:26;;:42;;;;;;;;;;;;;;;:10;:42;;;2:2:-1;;;;27:1;24;17:12;2:2;14497:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14497:42:0;;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;14497:42:0;;;;;;;;;14579:10;;14497:42;14579:38;;-1:-1:-1;;;14579:38:0;;;;;;;;-1:-1:-1;;;;;14579:38:0;;;;;;;;;14497:42;;-1:-1:-1;14497:42:0;;-1:-1:-1;14579:10:0;;;;;:16;;:38;;;;;14497:42;14579:38;;;;;;:10;:38;;;2:2:-1;;;;27:1;24;17:12;2:2;14579:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14579:38:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;14579:38:0;;;;;;;;;-1:-1:-1;14579:38:0;-1:-1:-1;14634:108:0;14639:20;;;14706:35;14579:38;14725:15;14706:8;:35::i;14634:108::-;14630:2461;;;14757:36;;:::i;:::-;-1:-1:-1;14796:31:0;;;;:15;:31;;;;;;;;14757:70;;;;;;;;;-1:-1:-1;;;;;14757:70:0;;;;;;;;;;;;;;;;;;;;;;14977:24;;15003:27;;14757:70;;14796:31;14870:235;;14892:8;;14757:70;;15041:15;;14915:123;;14924:108;;14757:70;;14968:63;;14977:24;14968:8;:63::i;14870:235::-;14842:263;;15146:1;15126:17;:21;15118:64;;;;;-1:-1:-1;;;15118:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15203:116;15231:8;15210:17;:29;15309:9;15241:64;15250:37;15259:8;15269:17;15250:8;:37::i;:::-;15289:15;15241:8;:64::i;:::-;:77;;15203:6;:116::i;:::-;15195:157;;;;;-1:-1:-1;;;15195:157:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15367:24;15394:79;15402:14;15464:8;15418:43;15427:14;15443:17;15418:8;:43::i;:::-;:54;;;;15394:79;15367:106;;15515:1;15496:16;:20;15488:74;;;;-1:-1:-1;;;15488:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15583:61;-1:-1:-1;;;15588:16:0;:26;;-1:-1:-1;;;15616:17:0;:27;;15583:4;:61::i;:::-;15575:119;;;;-1:-1:-1;;;15575:119:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15709:10;;15811:16;;15709:187;;;-1:-1:-1;;;15709:187:0;;;;;;;;-1:-1:-1;;;;;15709:187:0;;;;;;;15796:4;15709:187;;;;15811:16;;;15709:187;;;;:10;15830:25;;;15709:187;;;;15857:26;;;15709:187;;;;;;:10;;;;;:42;;:187;;;;;:10;:187;;;;;:10;;:187;;;2:2:-1;;;;27:1;24;17:12;2:2;15709:187:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;15909:16:0;;-1:-1:-1;;;;;15909:16:0;;-1:-1:-1;15909:32:0;;-1:-1:-1;15942:44:0;15951:17;15970:15;15942:8;:44::i;:::-;15909:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;15909:78:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15909:78:0;;;;16212:22;7555:8;16242:89;16251:44;16260:17;16279:15;16251:8;:44::i;:::-;16297:14;:33;;;16242:8;:89::i;:::-;:95;;;;;;16212:125;;16382:53;16391:27;;16420:14;16382:8;:53::i;:::-;16352:27;:83;16491:37;;16633:16;;16464:333;;;-1:-1:-1;;;16464:333:0;;-1:-1:-1;;;;;16464:333:0;;;;;;;16633:16;;;16464:333;;;;;;;;;;;;;;;;16491:37;16464:333;;;;;;;;:78;;;;;;;:333;;;;;;;;;;;;;;;;:78;:333;;;2:2:-1;;;;27:1;24;17:12;2:2;16464:333:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16464:333:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16464:333:0;16854:27;;16820:62;;;;;;;16464:333;;-1:-1:-1;16820:62:0;;;;;;16464:333;16820:62;;;14630:2461;16941:4;-1:-1:-1;;;;;16915:164:0;16925:14;16915:164;16947:16;16965:17;16984:44;16993:17;17012:15;16984:8;:44::i;:::-;17030:37;;16915:164;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16915:164:0;;;;;;;;;;;;;;;;;;;;14630:2461;;;;-1:-1:-1;;;17133:1:0;17103:21;;;-1:-1:-1;;17103:5:0;:21;;;;;;;;-1:-1:-1;;;;;17103:27:0;;;;;;;;;;:31;;-1:-1:-1;;17103:31:0;;;12481:4661;:::o;4125:160::-;3065:10;3046:18;:30;;;;;;;;;;;3080:1;3046:35;3038:88;;;;-1:-1:-1;;;3038:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4206:21:0;::::1;4230:1;4206:21:::0;;;:12:::1;:21;::::0;;;;;;;:25;;;;4247:30;;;;;;;::::1;::::0;;;;;;;;::::1;4125:160:::0;:::o;10714:629::-;3065:10;3046:18;:30;;;;;;;;;;;3080:1;3046:35;3038:88;;;;-1:-1:-1;;;3038:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10868:9:::1;-1:-1:-1::0;;;10868:37:0::1;10864:356;;;10922:10;::::0;::::1;10954:31:::0;;;:15:::1;:31;::::0;;;;;:54;10922:87;;-1:-1:-1;;;10922:87:0;;-1:-1:-1;;;;;10954:54:0;;::::1;10922:87;::::0;::::1;::::0;;;:10;::::1;::::0;:31:::1;::::0;:87;;;;;:10;;:87;;;;;;:10;;:87;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;10922:87:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;;11024:31:0::1;::::0;;;:15:::1;:31;::::0;;;;;:61;;-1:-1:-1;;;;;;11024:61:0::1;-1:-1:-1::0;;;;;11024:61:0;;::::1;::::0;;::::1;::::0;;;11100:10:::1;::::0;:40;;-1:-1:-1;;;11100:40:0;;::::1;::::0;::::1;::::0;;;;;;:10;;;::::1;::::0;-1:-1:-1;11100:34:0::1;::::0;:40;;;;;11024:31;;11100:40;;;;;11024:31;11100:10;:40;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;11100:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;11100:40:0;;;;10864:356;;;11167:53;;-1:-1:-1::0;;;11167:53:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10864:356;11236:99;::::0;;;;;::::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;11236:99:0;::::1;::::0;;;;;;::::1;::::0;;;;;;;::::1;10714:629:::0;;;:::o;3239:48::-;;;;;;;;;;;;;:::o;9214:300::-;3065:10;3046:18;:30;;;;;;;;;;;3080:1;3046:35;3038:88;;;;-1:-1:-1;;;3038:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9310:9:::1;-1:-1:-1::0;;;9310:31:0::1;9306:151;;;9343:16;:45:::0;;-1:-1:-1;;;;;;9343:45:0::1;-1:-1:-1::0;;;;;9343:45:0;::::1;;::::0;;9473:33:::1;::::0;;;;;-1:-1:-1;;;;;9473:33:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;;::::1;9214:300:::0;;:::o;5802:38::-;;;-1:-1:-1;;;;;5802:38:0;;:::o;11443:120::-;3065:10;3046:18;:30;;;;;;;;;;;3080:1;3046:35;3038:88;;;;-1:-1:-1;;;3038:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11521:1:::1;11503:15;:19:::0;;;11538:17:::1;::::0;::::1;::::0;11521:1;11538:17:::1;11443:120::o:0;2750:162::-;3065:10;3046:18;:30;;;;;;;;;;;3080:1;3046:35;3038:88;;;;-1:-1:-1;;;3038:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2829:27:0;::::1;2859:1;2829:27:::0;;;::::1;::::0;;;;;;;:31;;;;2876:28;;;;;;;::::1;::::0;;;;;;;;::::1;2750:162:::0;:::o;3459:487::-;3065:10;3046:18;:30;;;;;;;;;;;3080:1;3046:35;3038:88;;;;-1:-1:-1;;;3038:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3611:64:::1;::::0;;-1:-1:-1;;;3611:64:0;;3653:4:::1;3611:64;::::0;::::1;::::0;3538:7:::1;3611:64:::0;;;;;;;;3538:7;;;;-1:-1:-1;;;;;3611:33:0;::::1;::::0;::::1;::::0;:64;;;;;::::1;::::0;;;;;;;;3538:7;3611:33;:64;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;3611:64:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;3611:64:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;3611:64:0;;::::1;::::0;::::1;::::0;;;;;;;;-1:-1:-1;3611:64:0;;-1:-1:-1;3611:64:0;-1:-1:-1;3611:64:0;3686:47:::1;;;::::0;;-1:-1:-1;;;3686:47:0;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;3752:69;-1:-1:-1::0;;3757:15:0::1;:30;-1:-1:-1::0;;3789:16:0::1;:31;3752:4;:69::i;:::-;3744:115;;;;-1:-1:-1::0;;;3744:115:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;3870:21:0;::::1;;::::0;;;3894:1:::1;3870:21;::::0;;;;;;;;:25;;;;3911:27;;;;;;;::::1;::::0;;;;;;;;::::1;3137:1;;;3459:487:::0;:::o;5847:44::-;;;-1:-1:-1;;;;;5847:44:0;;:::o;5029:71::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5029:71:0;;;;;:::o;9763:675::-;3065:10;3046:18;:30;;;;;;;;;;;3080:1;3046:35;3038:88;;;;-1:-1:-1;;;3038:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9917:9:::1;-1:-1:-1::0;;;9917:33:0::1;9913:408;;;9952:31;::::0;;;:15:::1;:31;::::0;;;;:50:::1;;:57:::0;;;9913:408:::1;;;10029:9;-1:-1:-1::0;;;10029:34:0::1;10025:296;;;7652:17:::0;10086:32;::::1;;10078:92;;;;-1:-1:-1::0;;;10078:92:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10183:31;::::0;;;:15:::1;:31;::::0;;;;;;;:51:::1;:58:::0;;;10025:296:::1;10337:93;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;::::1;::::0;;;;;;;::::1;9763:675:::0;;;:::o;8741:294::-;3065:10;3046:18;:30;;;;;;;;;;;3080:1;3046:35;3038:88;;;;-1:-1:-1;;;3038:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8837:9:::1;:39;;8833:145;;;8878:24;:31:::0;;;8994:33:::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;8741:294:::0;;:::o;7836:153::-;7934:5;;;7929:16;;;;7921:60;;;;;-1:-1:-1;;;7921:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8167:128;8229:9;8259:1;8255;:5;8251:37;;;-1:-1:-1;8268:1:0;8251:37;;;-1:-1:-1;8284:1:0;;8167:128;-1:-1:-1;8167:128:0:o;7995:166::-;8058:9;8088:6;;;:30;;-1:-1:-1;;8103:5:0;;;8117:1;8112;8103:5;8112:1;8098:15;;;;;:20;8088:30;8080:73;;;;;-1:-1:-1;;;8080:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8325:104;8412:9;;8405:17::o;8435:105::-;8524:8;;8517:16::o;7678:152::-;7776:5;;;7771:16;;;;7763:59;;;;;-1:-1:-1;;;7763:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2256:16195;;;;;;;;;;-1:-1:-1;;;;;2256:16195:0;;;;;;;;;;;;;;;:::o
Swarm Source
ipfs://1d24f5f6a16d64671848cd4d9d2689e4b4697b17f41e29b1cb820ae4503ba0a7
Loading...
Loading
Loading...
Loading
OVERVIEW
The LiquidationEngine enables external actors to liquidate SAFEs and send their collateral to the CollateralAuctionHouse as well as send a portion of their debt to the AccountingEngine.Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.