Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,092 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Update Collatera... | 11724449 | 1391 days ago | IN | 0 ETH | 0.00459673 | ||||
Update Collatera... | 11723381 | 1391 days ago | IN | 0 ETH | 0.00473292 | ||||
Update Collatera... | 11722282 | 1391 days ago | IN | 0 ETH | 0.0080454 | ||||
Update Collatera... | 11721214 | 1391 days ago | IN | 0 ETH | 0.00639322 | ||||
Update Collatera... | 11720118 | 1392 days ago | IN | 0 ETH | 0.00528583 | ||||
Update Collatera... | 11719058 | 1392 days ago | IN | 0 ETH | 0.00472546 | ||||
Update Collatera... | 11717991 | 1392 days ago | IN | 0 ETH | 0.00368031 | ||||
Update Collatera... | 11716877 | 1392 days ago | IN | 0 ETH | 0.00308906 | ||||
Update Collatera... | 11715821 | 1392 days ago | IN | 0 ETH | 0.00343118 | ||||
Update Collatera... | 11714714 | 1392 days ago | IN | 0 ETH | 0.00433734 | ||||
Update Collatera... | 11713609 | 1393 days ago | IN | 0 ETH | 0.0057108 | ||||
Update Collatera... | 11712522 | 1393 days ago | IN | 0 ETH | 0.00478279 | ||||
Update Collatera... | 11711409 | 1393 days ago | IN | 0 ETH | 0.00464295 | ||||
Update Collatera... | 11710367 | 1393 days ago | IN | 0 ETH | 0.0044858 | ||||
Update Collatera... | 11709265 | 1393 days ago | IN | 0 ETH | 0.00437101 | ||||
Update Collatera... | 11708181 | 1393 days ago | IN | 0 ETH | 0.00753574 | ||||
Update Collatera... | 11707076 | 1394 days ago | IN | 0 ETH | 0.00642438 | ||||
Update Collatera... | 11706002 | 1394 days ago | IN | 0 ETH | 0.00614095 | ||||
Update Collatera... | 11704924 | 1394 days ago | IN | 0 ETH | 0.00452491 | ||||
Update Collatera... | 11703842 | 1394 days ago | IN | 0 ETH | 0.00570418 | ||||
Update Collatera... | 11702799 | 1394 days ago | IN | 0 ETH | 0.01464824 | ||||
Update Collatera... | 11701686 | 1394 days ago | IN | 0 ETH | 0.01739279 | ||||
Update Collatera... | 11700587 | 1395 days ago | IN | 0 ETH | 0.00663369 | ||||
Update Collatera... | 11699581 | 1395 days ago | IN | 0 ETH | 0.01508396 | ||||
Update Collatera... | 11698404 | 1395 days ago | IN | 0 ETH | 0.00470395 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
11120952 | 1484 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Name:
OracleRelayer
Compiler Version
v0.6.7+commit.b8d736ae
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-10-26 */ /// OracleRelayer.sol // 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 SAFEEngineLike { function modifyParameters(bytes32, bytes32, uint) virtual external; } abstract contract OracleLike { function getResultWithValidity() virtual public view returns (uint256, bool); } contract OracleRelayer { // --- Auth --- mapping (address => uint) 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, "OracleRelayer/account-not-authorized"); _; } // --- Data --- struct CollateralType { // Usually an oracle security module that enforces delays to fresh price feeds OracleLike orcl; // CRatio used to compute the 'safePrice' - the price used when generating debt in SAFEEngine uint256 safetyCRatio; // CRatio used to compute the 'liquidationPrice' - the price used when liquidating SAFEs uint256 liquidationCRatio; } // Data about each collateral type mapping (bytes32 => CollateralType) public collateralTypes; SAFEEngineLike public safeEngine; // Whether this contract is enabled uint256 public contractEnabled; // Virtual redemption price (not the most updated value) uint256 internal _redemptionPrice; // [ray] // The force that changes the system users' incentives by changing the redemption price uint256 public redemptionRate; // [ray] // Last time when the redemption price was changed uint256 public redemptionPriceUpdateTime; // [unix epoch time] // Upper bound for the per-second redemption rate uint256 public redemptionRateUpperBound; // [ray] // Lower bound for the per-second redemption rate uint256 public redemptionRateLowerBound; // [ray] // --- Events --- event AddAuthorization(address account); event RemoveAuthorization(address account); event DisableContract(); event ModifyParameters( bytes32 collateralType, bytes32 parameter, address addr ); event ModifyParameters(bytes32 parameter, uint data); event ModifyParameters( bytes32 collateralType, bytes32 parameter, uint data ); event UpdateRedemptionPrice(uint redemptionPrice); event UpdateCollateralPrice( bytes32 collateralType, uint256 priceFeedValue, uint256 safetyPrice, uint256 liquidationPrice ); // --- Init --- constructor(address safeEngine_) public { authorizedAccounts[msg.sender] = 1; safeEngine = SAFEEngineLike(safeEngine_); _redemptionPrice = RAY; redemptionRate = RAY; redemptionPriceUpdateTime = now; redemptionRateUpperBound = RAY * WAD; redemptionRateLowerBound = 1; contractEnabled = 1; emit AddAuthorization(msg.sender); } // --- Math --- uint constant WAD = 10 ** 18; uint constant RAY = 10 ** 27; function subtract(uint x, uint y) internal pure returns (uint z) { z = x - y; require(z <= x); } function multiply(uint x, uint y) internal pure returns (uint z) { require(y == 0 || (z = x * y) / y == x); } function rmultiply(uint x, uint y) internal pure returns (uint z) { // alsites rounds down z = multiply(x, y) / RAY; } function rdivide(uint x, uint y) internal pure returns (uint z) { z = multiply(x, RAY) / y; } function rpower(uint x, uint n, uint base) internal pure returns (uint z) { assembly { switch x case 0 {switch n case 0 {z := base} default {z := 0}} default { switch mod(n, 2) case 0 { z := base } default { z := x } let half := div(base, 2) // for rounding. for { n := div(n, 2) } n { n := div(n,2) } { let xx := mul(x, x) if iszero(eq(div(xx, x), x)) { revert(0,0) } let xxRound := add(xx, half) if lt(xxRound, xx) { revert(0,0) } x := div(xxRound, base) if mod(n,2) { let zx := mul(z, x) if and(iszero(iszero(x)), iszero(eq(div(zx, x), z))) { revert(0,0) } let zxRound := add(zx, half) if lt(zxRound, zx) { revert(0,0) } z := div(zxRound, base) } } } } } // --- Administration --- /** * @notice Modify oracle price feed addresses * @param collateralType Collateral who's oracle we change * @param parameter Name of the parameter * @param addr New oracle address */ function modifyParameters( bytes32 collateralType, bytes32 parameter, address addr ) external isAuthorized { require(contractEnabled == 1, "OracleRelayer/contract-not-enabled"); if (parameter == "orcl") collateralTypes[collateralType].orcl = OracleLike(addr); else revert("OracleRelayer/modify-unrecognized-param"); emit ModifyParameters( collateralType, parameter, addr ); } /** * @notice Modify redemption related parameters * @param parameter Name of the parameter * @param data New param value */ function modifyParameters(bytes32 parameter, uint data) external isAuthorized { require(contractEnabled == 1, "OracleRelayer/contract-not-enabled"); require(data > 0, "OracleRelayer/null-data"); if (parameter == "redemptionPrice") { require(data > 0, "OracleRelayer/null-redemption-price"); _redemptionPrice = data; } else if (parameter == "redemptionRate") { require(now == redemptionPriceUpdateTime, "OracleRelayer/redemption-price-not-updated"); uint256 adjustedRate = data; if (data > redemptionRateUpperBound) { adjustedRate = redemptionRateUpperBound; } else if (data < redemptionRateLowerBound) { adjustedRate = redemptionRateLowerBound; } redemptionRate = adjustedRate; } else if (parameter == "redemptionRateUpperBound") { require(data > RAY, "OracleRelayer/invalid-redemption-rate-upper-bound"); redemptionRateUpperBound = data; } else if (parameter == "redemptionRateLowerBound") { require(data < RAY, "OracleRelayer/invalid-redemption-rate-lower-bound"); redemptionRateLowerBound = data; } else revert("OracleRelayer/modify-unrecognized-param"); emit ModifyParameters( parameter, data ); } /** * @notice Modify CRatio related parameters * @param collateralType Collateral who's parameters we change * @param parameter Name of the parameter * @param data New param value */ function modifyParameters( bytes32 collateralType, bytes32 parameter, uint data ) external isAuthorized { require(contractEnabled == 1, "OracleRelayer/contract-not-enabled"); if (parameter == "safetyCRatio") { require(data >= collateralTypes[collateralType].liquidationCRatio, "OracleRelayer/safety-lower-than-liquidation-cratio"); collateralTypes[collateralType].safetyCRatio = data; } else if (parameter == "liquidationCRatio") { require(data <= collateralTypes[collateralType].safetyCRatio, "OracleRelayer/safety-lower-than-liquidation-cratio"); collateralTypes[collateralType].liquidationCRatio = data; } else revert("OracleRelayer/modify-unrecognized-param"); emit ModifyParameters( collateralType, parameter, data ); } // --- Redemption Price Update --- /** * @notice Update the redemption price according to the current redemption rate */ function updateRedemptionPrice() internal returns (uint) { // Update redemption price _redemptionPrice = rmultiply( rpower(redemptionRate, subtract(now, redemptionPriceUpdateTime), RAY), _redemptionPrice ); if (_redemptionPrice == 0) _redemptionPrice = 1; redemptionPriceUpdateTime = now; emit UpdateRedemptionPrice(_redemptionPrice); // Return updated redemption price return _redemptionPrice; } /** * @notice Fetch the latest redemption price by first updating it */ function redemptionPrice() public returns (uint) { if (now > redemptionPriceUpdateTime) return updateRedemptionPrice(); return _redemptionPrice; } // --- Update value --- /** * @notice Update the collateral price inside the system (inside SAFEEngine) * @param collateralType The collateral we want to update prices (safety and liquidation prices) for */ function updateCollateralPrice(bytes32 collateralType) external { (uint256 priceFeedValue, bool hasValidValue) = collateralTypes[collateralType].orcl.getResultWithValidity(); uint redemptionPrice_ = redemptionPrice(); uint256 safetyPrice_ = hasValidValue ? rdivide(rdivide(multiply(uint(priceFeedValue), 10 ** 9), redemptionPrice_), collateralTypes[collateralType].safetyCRatio) : 0; uint256 liquidationPrice_ = hasValidValue ? rdivide(rdivide(multiply(uint(priceFeedValue), 10 ** 9), redemptionPrice_), collateralTypes[collateralType].liquidationCRatio) : 0; safeEngine.modifyParameters(collateralType, "safetyPrice", safetyPrice_); safeEngine.modifyParameters(collateralType, "liquidationPrice", liquidationPrice_); emit UpdateCollateralPrice(collateralType, priceFeedValue, safetyPrice_, liquidationPrice_); } /** * @notice Disable this contract (normally called by GlobalSettlement) */ function disableContract() external isAuthorized { contractEnabled = 0; redemptionRate = RAY; emit DisableContract(); } /** * @notice Fetch the safety CRatio of a specific collateral type * @param collateralType The collateral price we want the safety CRatio for */ function safetyCRatio(bytes32 collateralType) public view returns (uint256) { return collateralTypes[collateralType].safetyCRatio; } /** * @notice Fetch the liquidation CRatio of a specific collateral type * @param collateralType The collateral price we want the liquidation CRatio for */ function liquidationCRatio(bytes32 collateralType) public view returns (uint256) { return collateralTypes[collateralType].liquidationCRatio; } /** * @notice Fetch the oracle price feed of a specific collateral type * @param collateralType The collateral price we want the oracle price feed for */ function orcl(bytes32 collateralType) public view returns (address) { return address(collateralTypes[collateralType].orcl); } }
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":[],"name":"DisableContract","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":"addr","type":"address"}],"name":"ModifyParameters","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":"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":"address","name":"account","type":"address"}],"name":"RemoveAuthorization","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"collateralType","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"priceFeedValue","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"safetyPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"liquidationPrice","type":"uint256"}],"name":"UpdateCollateralPrice","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"redemptionPrice","type":"uint256"}],"name":"UpdateRedemptionPrice","type":"event"},{"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"}],"name":"collateralTypes","outputs":[{"internalType":"contract OracleLike","name":"orcl","type":"address"},{"internalType":"uint256","name":"safetyCRatio","type":"uint256"},{"internalType":"uint256","name":"liquidationCRatio","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractEnabled","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"collateralType","type":"bytes32"}],"name":"liquidationCRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"collateralType","type":"bytes32"},{"internalType":"bytes32","name":"parameter","type":"bytes32"},{"internalType":"address","name":"addr","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":"collateralType","type":"bytes32"}],"name":"orcl","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"redemptionPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"redemptionPriceUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"redemptionRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"redemptionRateLowerBound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"redemptionRateUpperBound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"safeEngine","outputs":[{"internalType":"contract SAFEEngineLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"collateralType","type":"bytes32"}],"name":"safetyCRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"collateralType","type":"bytes32"}],"name":"updateCollateralPrice","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161128b38038061128b8339818101604052602081101561003357600080fd5b50513360008181526020818152604091829020600190819055600280546001600160a01b0319166001600160a01b0387161790556b033b2e3c9fd0803ce8000000600481905560055542600655722cd76fe086b93ce2f768a00b22a000000000006007556008819055600355815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a1506111ab806100e06000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806375502d3c116100ad57806394f3f81d1161007157806394f3f81d14610280578063c5b748c0146102a6578063d07900bb146102ae578063d4b9311d146102f3578063fe4f58901461031c57610121565b806375502d3c14610243578063894ba833146102605780638b5a7dba146102685780638e42e4b514610270578063925270371461027857610121565b8063513a3dba116100f4578063513a3dba146101ab578063540385a3146101dd578063667641cb146101e557806367aea3131461021e5780636d530fb31461022657610121565b806324ba5884146101265780633443106d1461015e57806335b281531461017b57806341b3a0d9146101a3575b600080fd5b61014c6004803603602081101561013c57600080fd5b50356001600160a01b031661033f565b60408051918252519081900360200190f35b61014c6004803603602081101561017457600080fd5b5035610351565b6101a16004803603602081101561019157600080fd5b50356001600160a01b0316610367565b005b61014c610407565b6101a1600480360360608110156101c157600080fd5b50803590602081013590604001356001600160a01b031661040d565b61014c61055b565b610202600480360360208110156101fb57600080fd5b5035610561565b604080516001600160a01b039092168252519081900360200190f35b61020261057c565b6101a16004803603602081101561023c57600080fd5b503561058b565b61014c6004803603602081101561025957600080fd5b50356107f5565b6101a161080a565b61014c610898565b61014c61089e565b61014c6108a4565b6101a16004803603602081101561029657600080fd5b50356001600160a01b03166108aa565b61014c610949565b6102cb600480360360208110156102c457600080fd5b503561096c565b604080516001600160a01b039094168452602084019290925282820152519081900360600190f35b6101a16004803603606081101561030957600080fd5b5080359060208101359060400135610998565b6101a16004803603604081101561033257600080fd5b5080359060200135610b6f565b60006020819052908152604090205481565b6000908152600160208190526040909120015490565b336000908152602081905260409020546001146103b55760405162461bcd60e51b81526004018080602001828103825260248152602001806110c56024913960400191505060405180910390fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b60035481565b3360009081526020819052604090205460011461045b5760405162461bcd60e51b81526004018080602001828103825260248152602001806110c56024913960400191505060405180910390fd5b60035460011461049c5760405162461bcd60e51b81526004018080602001828103825260228152602001806110726022913960400191505060405180910390fd5b81631bdc98db60e21b14156104d757600083815260016020526040902080546001600160a01b0319166001600160a01b03831617905561050e565b60405162461bcd60e51b815260040180806020018281038252602781526020018061104b6027913960400191505060405180910390fd5b60408051848152602081018490526001600160a01b0383168183015290517f87c209b94b27bfe8cb3329ca996f854fc16f2ec485116b0932eccd15fac50a409181900360600190a1505050565b60055481565b6000908152600160205260409020546001600160a01b031690565b6002546001600160a01b031681565b6000818152600160205260408082205481516309fa15b560e31b8152825184936001600160a01b0390931692634fd0ada89260048082019391829003018186803b1580156105d857600080fd5b505afa1580156105ec573d6000803e3d6000fd5b505050506040513d604081101561060257600080fd5b5080516020909101519092509050600061061a610949565b905060008261062a57600061065c565b61065c61064461063e86633b9aca00610e6e565b84610e98565b60008781526001602081905260409091200154610e98565b905060008361066c57600061069d565b61069d61068661068087633b9aca00610e6e565b85610e98565b600088815260016020526040902060020154610e98565b6002546040805163d4b9311d60e01b8152600481018a90526a736166657479507269636560a81b60248201526044810186905290519293506001600160a01b039091169163d4b9311d9160648082019260009290919082900301818387803b15801561070857600080fd5b505af115801561071c573d6000803e3d6000fd5b50506002546040805163d4b9311d60e01b8152600481018b90526f6c69717569646174696f6e507269636560801b60248201526044810186905290516001600160a01b03909216935063d4b9311d925060648082019260009290919082900301818387803b15801561078d57600080fd5b505af11580156107a1573d6000803e3d6000fd5b505060408051898152602081018990528082018690526060810185905290517f37f13f22a2174c79144ffda4c6b7ad416951d5a41171bec961f53ef4c049014e9350908190036080019150a1505050505050565b60009081526001602052604090206002015490565b336000908152602081905260409020546001146108585760405162461bcd60e51b81526004018080602001828103825260248152602001806110c56024913960400191505060405180910390fd5b600060038190556b033b2e3c9fd0803ce80000006005556040517f2d4b4ecff7bd7503135271925520a2f6c0d98c9473ffc1a1e72c92502f51b25e9190a1565b60065481565b60085481565b60075481565b336000908152602081905260409020546001146108f85760405162461bcd60e51b81526004018080602001828103825260248152602001806110c56024913960400191505060405180910390fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b60006006544211156109645761095d610ec0565b9050610969565b506004545b90565b60016020819052600091825260409091208054918101546002909101546001600160a01b039092169183565b336000908152602081905260409020546001146109e65760405162461bcd60e51b81526004018080602001828103825260248152602001806110c56024913960400191505060405180910390fd5b600354600114610a275760405162461bcd60e51b81526004018080602001828103825260228152602001806110726022913960400191505060405180910390fd5b816b73616665747943526174696f60a01b1415610aa857600083815260016020526040902060020154811015610a8e5760405162461bcd60e51b81526004018080602001828103825260328152602001806110e96032913960400191505060405180910390fd5b600083815260016020819052604090912001819055610b2a565b81706c69717569646174696f6e43526174696f60781b14156104d75760008381526001602081905260409091200154811115610b155760405162461bcd60e51b81526004018080602001828103825260328152602001806110e96032913960400191505060405180910390fd5b60008381526001602052604090206002018190555b604080518481526020810184905280820183905290517fc59b1109b54f213212d2f5af5c1dae5e887f9daa63b595578fae847cb048e8f49181900360600190a1505050565b33600090815260208190526040902054600114610bbd5760405162461bcd60e51b81526004018080602001828103825260248152602001806110c56024913960400191505060405180910390fd5b600354600114610bfe5760405162461bcd60e51b81526004018080602001828103825260228152602001806110726022913960400191505060405180910390fd5b60008111610c53576040805162461bcd60e51b815260206004820152601760248201527f4f7261636c6552656c617965722f6e756c6c2d64617461000000000000000000604482015290519081900360640190fd5b816e726564656d7074696f6e507269636560881b1415610cb65760008111610cac5760405162461bcd60e51b81526004018080602001828103825260238152602001806110286023913960400191505060405180910390fd5b6004819055610e2f565b816d726564656d7074696f6e5261746560901b1415610d3b576006544214610d0f5760405162461bcd60e51b815260040180806020018281038252602a81526020018061111b602a913960400191505060405180910390fd5b6007548190811115610d245750600754610d33565b600854821015610d3357506008545b600555610e2f565b817f726564656d7074696f6e526174655570706572426f756e6400000000000000001415610db7576b033b2e3c9fd0803ce80000008111610dad5760405162461bcd60e51b81526004018080602001828103825260318152602001806111456031913960400191505060405180910390fd5b6007819055610e2f565b817f726564656d7074696f6e526174654c6f776572426f756e64000000000000000014156104d7576b033b2e3c9fd0803ce80000008110610e295760405162461bcd60e51b81526004018080602001828103825260318152602001806110946031913960400191505060405180910390fd5b60088190555b604080518381526020810183905281517fac7c5c1afaef770ec56ac6268cd3f2fbb1035858ead2601d6553157c33036c3a929181900390910190a15050565b6000811580610e8957505080820282828281610e8657fe5b04145b610e9257600080fd5b92915050565b600081610eb1846b033b2e3c9fd0803ce8000000610e6e565b81610eb857fe5b049392505050565b6000610ef1610ee9600554610ed742600654610f40565b6b033b2e3c9fd0803ce8000000610f50565b60045461100e565b6004819055610f005760016004555b4260065560045460408051918252517f9e2c1201748a5c10b659169e27843c246931edf32ccc126c79505db2352fbc3b9181900360200190a15060045490565b80820382811115610e9257600080fd5b6000838015610ff057600184168015610f6b57859250610f6f565b8392505b50600283046002850494505b8415610fea578586028687820414610f9257600080fd5b81810181811015610fa257600080fd5b8590049650506001851615610fdf578583028387820414158715151615610fc857600080fd5b81810181811015610fd857600080fd5b8590049350505b600285049450610f7b565b50611006565b8380156110005760009250611004565b8392505b505b509392505050565b60006b033b2e3c9fd0803ce8000000610eb18484610e6e56fe4f7261636c6552656c617965722f6e756c6c2d726564656d7074696f6e2d70726963654f7261636c6552656c617965722f6d6f646966792d756e7265636f676e697a65642d706172616d4f7261636c6552656c617965722f636f6e74726163742d6e6f742d656e61626c65644f7261636c6552656c617965722f696e76616c69642d726564656d7074696f6e2d726174652d6c6f7765722d626f756e644f7261636c6552656c617965722f6163636f756e742d6e6f742d617574686f72697a65644f7261636c6552656c617965722f7361666574792d6c6f7765722d7468616e2d6c69717569646174696f6e2d63726174696f4f7261636c6552656c617965722f726564656d7074696f6e2d70726963652d6e6f742d757064617465644f7261636c6552656c617965722f696e76616c69642d726564656d7074696f6e2d726174652d75707065722d626f756e64a2646970667358221220f91cf5a6b44014ee0161d12df9217cf76fd31e6b5ab74b25912fd6063082a43664736f6c63430006070033000000000000000000000000f0b7808b940b78be81ad6f9e075ce8be4a837e2c
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101215760003560e01c806375502d3c116100ad57806394f3f81d1161007157806394f3f81d14610280578063c5b748c0146102a6578063d07900bb146102ae578063d4b9311d146102f3578063fe4f58901461031c57610121565b806375502d3c14610243578063894ba833146102605780638b5a7dba146102685780638e42e4b514610270578063925270371461027857610121565b8063513a3dba116100f4578063513a3dba146101ab578063540385a3146101dd578063667641cb146101e557806367aea3131461021e5780636d530fb31461022657610121565b806324ba5884146101265780633443106d1461015e57806335b281531461017b57806341b3a0d9146101a3575b600080fd5b61014c6004803603602081101561013c57600080fd5b50356001600160a01b031661033f565b60408051918252519081900360200190f35b61014c6004803603602081101561017457600080fd5b5035610351565b6101a16004803603602081101561019157600080fd5b50356001600160a01b0316610367565b005b61014c610407565b6101a1600480360360608110156101c157600080fd5b50803590602081013590604001356001600160a01b031661040d565b61014c61055b565b610202600480360360208110156101fb57600080fd5b5035610561565b604080516001600160a01b039092168252519081900360200190f35b61020261057c565b6101a16004803603602081101561023c57600080fd5b503561058b565b61014c6004803603602081101561025957600080fd5b50356107f5565b6101a161080a565b61014c610898565b61014c61089e565b61014c6108a4565b6101a16004803603602081101561029657600080fd5b50356001600160a01b03166108aa565b61014c610949565b6102cb600480360360208110156102c457600080fd5b503561096c565b604080516001600160a01b039094168452602084019290925282820152519081900360600190f35b6101a16004803603606081101561030957600080fd5b5080359060208101359060400135610998565b6101a16004803603604081101561033257600080fd5b5080359060200135610b6f565b60006020819052908152604090205481565b6000908152600160208190526040909120015490565b336000908152602081905260409020546001146103b55760405162461bcd60e51b81526004018080602001828103825260248152602001806110c56024913960400191505060405180910390fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b60035481565b3360009081526020819052604090205460011461045b5760405162461bcd60e51b81526004018080602001828103825260248152602001806110c56024913960400191505060405180910390fd5b60035460011461049c5760405162461bcd60e51b81526004018080602001828103825260228152602001806110726022913960400191505060405180910390fd5b81631bdc98db60e21b14156104d757600083815260016020526040902080546001600160a01b0319166001600160a01b03831617905561050e565b60405162461bcd60e51b815260040180806020018281038252602781526020018061104b6027913960400191505060405180910390fd5b60408051848152602081018490526001600160a01b0383168183015290517f87c209b94b27bfe8cb3329ca996f854fc16f2ec485116b0932eccd15fac50a409181900360600190a1505050565b60055481565b6000908152600160205260409020546001600160a01b031690565b6002546001600160a01b031681565b6000818152600160205260408082205481516309fa15b560e31b8152825184936001600160a01b0390931692634fd0ada89260048082019391829003018186803b1580156105d857600080fd5b505afa1580156105ec573d6000803e3d6000fd5b505050506040513d604081101561060257600080fd5b5080516020909101519092509050600061061a610949565b905060008261062a57600061065c565b61065c61064461063e86633b9aca00610e6e565b84610e98565b60008781526001602081905260409091200154610e98565b905060008361066c57600061069d565b61069d61068661068087633b9aca00610e6e565b85610e98565b600088815260016020526040902060020154610e98565b6002546040805163d4b9311d60e01b8152600481018a90526a736166657479507269636560a81b60248201526044810186905290519293506001600160a01b039091169163d4b9311d9160648082019260009290919082900301818387803b15801561070857600080fd5b505af115801561071c573d6000803e3d6000fd5b50506002546040805163d4b9311d60e01b8152600481018b90526f6c69717569646174696f6e507269636560801b60248201526044810186905290516001600160a01b03909216935063d4b9311d925060648082019260009290919082900301818387803b15801561078d57600080fd5b505af11580156107a1573d6000803e3d6000fd5b505060408051898152602081018990528082018690526060810185905290517f37f13f22a2174c79144ffda4c6b7ad416951d5a41171bec961f53ef4c049014e9350908190036080019150a1505050505050565b60009081526001602052604090206002015490565b336000908152602081905260409020546001146108585760405162461bcd60e51b81526004018080602001828103825260248152602001806110c56024913960400191505060405180910390fd5b600060038190556b033b2e3c9fd0803ce80000006005556040517f2d4b4ecff7bd7503135271925520a2f6c0d98c9473ffc1a1e72c92502f51b25e9190a1565b60065481565b60085481565b60075481565b336000908152602081905260409020546001146108f85760405162461bcd60e51b81526004018080602001828103825260248152602001806110c56024913960400191505060405180910390fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b60006006544211156109645761095d610ec0565b9050610969565b506004545b90565b60016020819052600091825260409091208054918101546002909101546001600160a01b039092169183565b336000908152602081905260409020546001146109e65760405162461bcd60e51b81526004018080602001828103825260248152602001806110c56024913960400191505060405180910390fd5b600354600114610a275760405162461bcd60e51b81526004018080602001828103825260228152602001806110726022913960400191505060405180910390fd5b816b73616665747943526174696f60a01b1415610aa857600083815260016020526040902060020154811015610a8e5760405162461bcd60e51b81526004018080602001828103825260328152602001806110e96032913960400191505060405180910390fd5b600083815260016020819052604090912001819055610b2a565b81706c69717569646174696f6e43526174696f60781b14156104d75760008381526001602081905260409091200154811115610b155760405162461bcd60e51b81526004018080602001828103825260328152602001806110e96032913960400191505060405180910390fd5b60008381526001602052604090206002018190555b604080518481526020810184905280820183905290517fc59b1109b54f213212d2f5af5c1dae5e887f9daa63b595578fae847cb048e8f49181900360600190a1505050565b33600090815260208190526040902054600114610bbd5760405162461bcd60e51b81526004018080602001828103825260248152602001806110c56024913960400191505060405180910390fd5b600354600114610bfe5760405162461bcd60e51b81526004018080602001828103825260228152602001806110726022913960400191505060405180910390fd5b60008111610c53576040805162461bcd60e51b815260206004820152601760248201527f4f7261636c6552656c617965722f6e756c6c2d64617461000000000000000000604482015290519081900360640190fd5b816e726564656d7074696f6e507269636560881b1415610cb65760008111610cac5760405162461bcd60e51b81526004018080602001828103825260238152602001806110286023913960400191505060405180910390fd5b6004819055610e2f565b816d726564656d7074696f6e5261746560901b1415610d3b576006544214610d0f5760405162461bcd60e51b815260040180806020018281038252602a81526020018061111b602a913960400191505060405180910390fd5b6007548190811115610d245750600754610d33565b600854821015610d3357506008545b600555610e2f565b817f726564656d7074696f6e526174655570706572426f756e6400000000000000001415610db7576b033b2e3c9fd0803ce80000008111610dad5760405162461bcd60e51b81526004018080602001828103825260318152602001806111456031913960400191505060405180910390fd5b6007819055610e2f565b817f726564656d7074696f6e526174654c6f776572426f756e64000000000000000014156104d7576b033b2e3c9fd0803ce80000008110610e295760405162461bcd60e51b81526004018080602001828103825260318152602001806110946031913960400191505060405180910390fd5b60088190555b604080518381526020810183905281517fac7c5c1afaef770ec56ac6268cd3f2fbb1035858ead2601d6553157c33036c3a929181900390910190a15050565b6000811580610e8957505080820282828281610e8657fe5b04145b610e9257600080fd5b92915050565b600081610eb1846b033b2e3c9fd0803ce8000000610e6e565b81610eb857fe5b049392505050565b6000610ef1610ee9600554610ed742600654610f40565b6b033b2e3c9fd0803ce8000000610f50565b60045461100e565b6004819055610f005760016004555b4260065560045460408051918252517f9e2c1201748a5c10b659169e27843c246931edf32ccc126c79505db2352fbc3b9181900360200190a15060045490565b80820382811115610e9257600080fd5b6000838015610ff057600184168015610f6b57859250610f6f565b8392505b50600283046002850494505b8415610fea578586028687820414610f9257600080fd5b81810181811015610fa257600080fd5b8590049650506001851615610fdf578583028387820414158715151615610fc857600080fd5b81810181811015610fd857600080fd5b8590049350505b600285049450610f7b565b50611006565b8380156110005760009250611004565b8392505b505b509392505050565b60006b033b2e3c9fd0803ce8000000610eb18484610e6e56fe4f7261636c6552656c617965722f6e756c6c2d726564656d7074696f6e2d70726963654f7261636c6552656c617965722f6d6f646966792d756e7265636f676e697a65642d706172616d4f7261636c6552656c617965722f636f6e74726163742d6e6f742d656e61626c65644f7261636c6552656c617965722f696e76616c69642d726564656d7074696f6e2d726174652d6c6f7765722d626f756e644f7261636c6552656c617965722f6163636f756e742d6e6f742d617574686f72697a65644f7261636c6552656c617965722f7361666574792d6c6f7765722d7468616e2d6c69717569646174696f6e2d63726174696f4f7261636c6552656c617965722f726564656d7074696f6e2d70726963652d6e6f742d757064617465644f7261636c6552656c617965722f696e76616c69642d726564656d7074696f6e2d726174652d75707065722d626f756e64a2646970667358221220f91cf5a6b44014ee0161d12df9217cf76fd31e6b5ab74b25912fd6063082a43664736f6c63430006070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f0b7808b940b78be81ad6f9e075ce8be4a837e2c
-----Decoded View---------------
Arg [0] : safeEngine_ (address): 0xf0b7808b940b78bE81ad6F9E075Ce8be4A837E2c
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000f0b7808b940b78be81ad6f9e075ce8be4a837e2c
Deployed Bytecode Sourcemap
968:11984:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;968:11984:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;1019:51:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1019:51:0;-1:-1:-1;;;;;1019:51:0;;:::i;:::-;;;;;;;;;;;;;;;;12140:146;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12140:146:0;;:::i;1180:156::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1180:156:0;-1:-1:-1;;;;;1180:156:0;;:::i;:::-;;2485:30;;;:::i;6461:496::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6461:496:0;;;;;;;;;;;-1:-1:-1;;;;;6461:496:0;;:::i;2781:29::-;;;:::i;12810:139::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12810:139:0;;:::i;:::-;;;;-1:-1:-1;;;;;12810:139:0;;;;;;;;;;;;;;2403:32;;;:::i;10817:893::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10817:893:0;;:::i;12471:156::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12471:156:0;;:::i;11812:151::-;;;:::i;2941:40::-;;;:::i;3271:39::-;;;:::i;3112:::-;;;:::i;1455:162::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1455:162:0;-1:-1:-1;;;;;1455:162:0;;:::i;10405:169::-;;;:::i;2336:58::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2336:58:0;;:::i;:::-;;;;-1:-1:-1;;;;;2336:58:0;;;;;;;;;;;;;;;;;;;;;;;;;8748:916;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8748:916:0;;;;;;;;;;;;:::i;7117:1407::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7117:1407:0;;;;;;;:::i;1019:51::-;;;;;;;;;;;;;;:::o;12140:146::-;12207:7;12234:31;;;:15;:31;;;;;;;;:44;;;12140:146::o;1180:156::-;1770:10;1751:18;:30;;;;;;;;;;;1785:1;1751:35;1743:84;;;;-1:-1:-1;;;1743:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1256:27:0;::::1;:18;:27:::0;;;::::1;::::0;;;;;;;;1286:1:::1;1256:31:::0;;1303:25;;;;;;;::::1;::::0;;;;;;;;::::1;1180:156:::0;:::o;2485:30::-;;;;:::o;6461:496::-;1770:10;1751:18;:30;;;;;;;;;;;1785:1;1751:35;1743:84;;;;-1:-1:-1;;;1743:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6619:15:::1;;6638:1;6619:20;6611:67;;;;-1:-1:-1::0;;;6611:67:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6693:9;-1:-1:-1::0;;;6693:19:0::1;6689:145;;;6714:31;::::0;;;:15:::1;:31;::::0;;;;:55;;-1:-1:-1;;;;;;6714:55:0::1;-1:-1:-1::0;;;;;6714:55:0;::::1;;::::0;;6689:145:::1;;;6785:49;;-1:-1:-1::0;;;6785:49:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6689:145;6850:99;::::0;;;;;::::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;6850:99:0;::::1;::::0;;;;;;::::1;::::0;;;;;;;::::1;6461:496:::0;;;:::o;2781:29::-;;;;:::o;12810:139::-;12869:7;12904:31;;;:15;:31;;;;;:36;-1:-1:-1;;;;;12904:36:0;;12810:139::o;2403:32::-;;;-1:-1:-1;;;;;2403:32:0;;:::o;10817:893::-;10893:22;10950:31;;;:15;:31;;;;;;:36;:60;;-1:-1:-1;;;10950:60:0;;;;10893:22;;-1:-1:-1;;;;;10950:36:0;;;;:58;;:60;;;;;;;;;;;:36;:60;;;2:2:-1;;;;27:1;24;17:12;2:2;10950:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10950:60:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10950:60:0;;;;;;;;;-1:-1:-1;10950:60:0;-1:-1:-1;11021:21:0;11045:17;:15;:17::i;:::-;11021:41;;11073:20;11096:13;:141;;11236:1;11096:141;;;11112:121;11120:66;11128:39;11142:14;11159:7;11128:8;:39::i;:::-;11169:16;11120:7;:66::i;:::-;11188:31;;;;:15;:31;;;;;;;;:44;;11112:7;:121::i;:::-;11073:164;;11248:25;11276:13;:146;;11421:1;11276:146;;;11292:126;11300:66;11308:39;11322:14;11339:7;11308:8;:39::i;:::-;11349:16;11300:7;:66::i;:::-;11368:31;;;;:15;:31;;;;;:49;;;11292:7;:126::i;:::-;11435:10;;:72;;;-1:-1:-1;;;11435:72:0;;;;;;;;-1:-1:-1;;;11435:72:0;;;;;;;;;;;;11248:174;;-1:-1:-1;;;;;;11435:10:0;;;;:27;;:72;;;;;:10;;:72;;;;;;;;:10;;:72;;;2:2:-1;;;;27:1;24;17:12;2:2;11435:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;11518:10:0;;:82;;;-1:-1:-1;;;11518:82:0;;;;;;;;-1:-1:-1;;;11518:82:0;;;;;;;;;;;;-1:-1:-1;;;;;11518:10:0;;;;-1:-1:-1;11518:27:0;;-1:-1:-1;11518:82:0;;;;;:10;;:82;;;;;;;;:10;;:82;;;2:2:-1;;;;27:1;24;17:12;2:2;11518:82:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;11616:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11616:86:0;;;;;;;-1:-1:-1;11616:86:0;10817:893;;;;;;:::o;12471:156::-;12543:7;12570:31;;;:15;:31;;;;;:49;;;;12471:156::o;11812:151::-;1770:10;1751:18;:30;;;;;;;;;;;1785:1;1751:35;1743:84;;;;-1:-1:-1;;;1743:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11890:1:::1;11872:15;:19:::0;;;4612:8:::1;11902:14;:20:::0;11938:17:::1;::::0;::::1;::::0;11890:1;11938:17:::1;11812:151::o:0;2941:40::-;;;;:::o;3271:39::-;;;;:::o;3112:::-;;;;:::o;1455:162::-;1770:10;1751:18;:30;;;;;;;;;;;1785:1;1751:35;1743:84;;;;-1:-1:-1;;;1743:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1534:27:0;::::1;1564:1;1534:27:::0;;;::::1;::::0;;;;;;;:31;;;;1581:28;;;;;;;::::1;::::0;;;;;;;;::::1;1455:162:::0;:::o;10405:169::-;10448:4;10475:25;;10469:3;:31;10465:67;;;10509:23;:21;:23::i;:::-;10502:30;;;;10465:67;-1:-1:-1;10550:16:0;;10405:169;;:::o;2336:58::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2336:58:0;;;;;:::o;8748:916::-;1770:10;1751:18;:30;;;;;;;;;;;1785:1;1751:35;1743:84;;;;-1:-1:-1;;;1743:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8903:15:::1;;8922:1;8903:20;8895:67;;;;-1:-1:-1::0;;;8895:67:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8977:9;-1:-1:-1::0;;;8977:27:0::1;8973:568;;;9035:31;::::0;;;:15:::1;:31;::::0;;;;:49:::1;;::::0;9027:57;::::1;;9019:120;;;;-1:-1:-1::0;;;9019:120:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9152:31;::::0;;;:15:::1;:31;::::0;;;;;;;:44:::1;:51:::0;;;8973:568:::1;;;9234:9;-1:-1:-1::0;;;9234:32:0::1;9230:311;;;9297:31;::::0;;;:15:::1;:31;::::0;;;;;;;:44:::1;::::0;9289:52;::::1;;9281:115;;;;-1:-1:-1::0;;;9281:115:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9409:31;::::0;;;:15:::1;:31;::::0;;;;:49:::1;;:56:::0;;;9230:311:::1;9557:99;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;::::1;::::0;;;;;;;::::1;8748:916:::0;;;:::o;7117:1407::-;1770:10;1751:18;:30;;;;;;;;;;;1785:1;1751:35;1743:84;;;;-1:-1:-1;;;1743:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7214:15:::1;;7233:1;7214:20;7206:67;;;;-1:-1:-1::0;;;7206:67:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7299:1;7292:4;:8;7284:44;;;::::0;;-1:-1:-1;;;7284:44:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;7343:9;-1:-1:-1::0;;;7343:30:0::1;7339:1091;;;7403:1;7396:4;:8;7388:56;;;;-1:-1:-1::0;;;7388:56:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7457:16;:23:::0;;;7339:1091:::1;;;7511:9;-1:-1:-1::0;;;7511:29:0::1;7507:923;;;7570:25;;7563:3;:32;7555:87;;;;-1:-1:-1::0;;;7555:87:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7706:24;::::0;7678:4;;7699:31;::::1;7695:216;;;-1:-1:-1::0;7762:24:0::1;::::0;7695:216:::1;;;7817:24;;7810:4;:31;7806:105;;;-1:-1:-1::0;7873:24:0::1;::::0;7806:105:::1;7923:14;:29:::0;7507:923:::1;;;7983:9;:39;;7979:451;;;4612:8;8045:4;:10;8037:72;;;;-1:-1:-1::0;;;8037:72:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8122:24;:31:::0;;;7979:451:::1;;;8184:9;:39;;8180:250;;;4612:8;8246:4;:10;8238:72;;;;-1:-1:-1::0;;;8238:72:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8323:24;:31:::0;;;8180:250:::1;8446:70;::::0;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;7117:1407:::0;;:::o;4754:123::-;4811:6;4838;;;:30;;-1:-1:-1;;4853:5:0;;;4867:1;4862;4853:5;4862:1;4848:15;;;;;:20;4838:30;4830:39;;12:1:-1;9;2:12;4830:39:0;4754:123;;;;:::o;5030:107::-;5086:6;5128:1;5109:16;5118:1;4612:8;5109;:16::i;:::-;:20;;;;;;;5030:107;-1:-1:-1;;;5030:107:0:o;9815:495::-;9866:4;9938:131;9960:69;9967:14;;9983:40;9992:3;9997:25;;9983:8;:40::i;:::-;4612:8;9960:6;:69::i;:::-;10042:16;;9938:9;:131::i;:::-;9919:16;:150;;;10080:47;;10126:1;10107:16;:20;10080:47;10166:3;10138:25;:31;10207:16;;10185:39;;;;;;;;;;;;;;;;-1:-1:-1;10286:16:0;;9815:495;:::o;4629:119::-;4709:5;;;4733:6;;;;4725:15;;12:1:-1;9;2:12;5143:1060:0;5209:6;5259:1;5261:53;;;;5362:9;;;5372:20;;;;5408:1;5403:6;;5355:56;;5372:20;5386:4;5381:9;;5355:56;;5451:1;5445:4;5441:12;5507:1;5504;5500:9;5495:14;;5489:681;5512:1;5489:681;;;5572:1;5569;5565:9;5621:1;5617;5613:2;5609:10;5606:17;5596:2;;5636:1;5634;5627:11;5596:2;5685:4;5681:2;5677:13;5727:2;5718:7;5715:15;5712:2;;;5742:1;5740;5733:11;5712:2;5773:18;;;;-1:-1:-1;;5816:8:0;;;5813:2;;;5869:1;5866;5862:9;5945:1;5941;5937:2;5933:10;5930:17;5923:25;5918:1;5911:9;5904:17;5900:49;5897:2;;;5961:1;5959;5952:11;5897:2;6014:4;6010:2;6006:13;6060:2;6051:7;6048:15;6045:2;;;6075:1;6073;6066:11;6045:2;6110:18;;;;-1:-1:-1;;5813:2:0;5527:1;5525;5521:8;5516:13;;5489:681;;;5493:18;5252:933;;5261:53;5276:1;5278:18;;;;5311:1;5306:6;;5269:44;;5278:18;5291:4;5286:9;;5269:44;;5252:933;;5237:959;;;;;:::o;4883:141::-;4941:6;4612:8;4996:14;5005:1;5008;4996:8;:14::i
Swarm Source
ipfs://f91cf5a6b44014ee0161d12df9217cf76fd31e6b5ab74b25912fd6063082a436
Loading...
Loading
Loading...
Loading
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.