Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Sponsored
Latest 5 from a total of 5 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Update Result | 14652556 | 594 days 12 hrs ago | IN | 0 ETH | 0.00082856 | ||||
Update Result | 12335717 | 955 days 6 hrs ago | IN | 0 ETH | 0.00124366 | ||||
Remove Authoriza... | 12238674 | 970 days 6 hrs ago | IN | 0 ETH | 0.00223432 | ||||
Add Authorizatio... | 12238668 | 970 days 6 hrs ago | IN | 0 ETH | 0.00644315 | ||||
0x60806040 | 12238662 | 970 days 6 hrs ago | IN | Create: ChainlinkRelayer | 0 ETH | 0.14608856 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
ChainlinkRelayer
Compiler Version
v0.6.7+commit.b8d736ae
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-04-14 */ pragma solidity 0.6.7; contract GebMath { uint256 public constant RAY = 10 ** 27; uint256 public constant WAD = 10 ** 18; function ray(uint x) public pure returns (uint z) { z = multiply(x, 10 ** 9); } function rad(uint x) public pure returns (uint z) { z = multiply(x, 10 ** 27); } function minimum(uint x, uint y) public pure returns (uint z) { z = (x <= y) ? x : y; } function addition(uint x, uint y) public pure returns (uint z) { z = x + y; require(z >= x, "uint-uint-add-overflow"); } function subtract(uint x, uint y) public pure returns (uint z) { z = x - y; require(z <= x, "uint-uint-sub-underflow"); } function multiply(uint x, uint y) public pure returns (uint z) { require(y == 0 || (z = x * y) / y == x, "uint-uint-mul-overflow"); } function rmultiply(uint x, uint y) public pure returns (uint z) { z = multiply(x, y) / RAY; } function rdivide(uint x, uint y) public pure returns (uint z) { z = multiply(x, RAY) / y; } function wdivide(uint x, uint y) public pure returns (uint z) { z = multiply(x, WAD) / y; } function wmultiply(uint x, uint y) public pure returns (uint z) { z = multiply(x, y) / WAD; } function rpower(uint x, uint n, uint base) public 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) } } } } } } interface AggregatorInterface { event AnswerUpdated(int256 indexed current, uint256 indexed roundId, uint256 timestamp); event NewRound(uint256 indexed roundId, address indexed startedBy, uint256 startedAt); function latestAnswer() external view returns (int256); function latestTimestamp() external view returns (uint256); function latestRound() external view returns (uint256); function getAnswer(uint256 roundId) external view returns (int256); function getTimestamp(uint256 roundId) external view returns (uint256); // post-Historic function decimals() external view returns (uint8); function getRoundData(uint256 _roundId) external returns ( uint256 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint256 answeredInRound ); function latestRoundData() external returns ( uint256 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint256 answeredInRound ); } contract ChainlinkRelayer is GebMath { // --- Auth --- mapping (address => uint) public authorizedAccounts; /** * @notice Add auth to an account * @param account Account to add auth to */ function addAuthorization(address account) virtual 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) virtual 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, "ChainlinkRelayer/account-not-authorized"); _; } // --- Variables --- AggregatorInterface public chainlinkAggregator; // Multiplier for the Chainlink price feed in order to scaled it to 18 decimals. Default to 10 for USD price feeds uint8 public multiplier = 10; // Time threshold after which a Chainlink response is considered stale uint256 public staleThreshold; bytes32 public symbol = "ethusd"; // --- Events --- event AddAuthorization(address account); event RemoveAuthorization(address account); event ModifyParameters( bytes32 parameter, address addr ); event ModifyParameters( bytes32 parameter, uint256 val ); constructor( address aggregator, uint256 staleThreshold_ ) public { require(aggregator != address(0), "ChainlinkRelayer/null-aggregator"); require(multiplier >= 1, "ChainlinkRelayer/null-multiplier"); require(staleThreshold_ > 0, "ChainlinkRelayer/null-stale-threshold"); authorizedAccounts[msg.sender] = 1; staleThreshold = staleThreshold_; chainlinkAggregator = AggregatorInterface(aggregator); emit AddAuthorization(msg.sender); emit ModifyParameters("staleThreshold", staleThreshold); emit ModifyParameters("aggregator", aggregator); } // --- General Utils --- function both(bool x, bool y) internal pure returns (bool z) { assembly{ z := and(x, y)} } // --- Administration --- /* * @notify Modify an uin256 parameter * @param parameter The name of the parameter to change * @param data The new parameter value */ function modifyParameters(bytes32 parameter, uint256 data) external isAuthorized { if (parameter == "staleThreshold") { require(data > 1, "ChainlinkRelayer/invalid-stale-threshold"); staleThreshold = data; } else revert("ChainlinkRelayer/modify-unrecognized-param"); emit ModifyParameters(parameter, data); } /* * @notify Modify an address parameter * @param parameter The name of the parameter to change * @param addr The new parameter address */ function modifyParameters(bytes32 parameter, address addr) external isAuthorized { require(addr != address(0), "ChainlinkRelayer/null-addr"); if (parameter == "aggregator") chainlinkAggregator = AggregatorInterface(addr); else revert("ChainlinkRelayer/modify-unrecognized-param"); emit ModifyParameters(parameter, addr); } // --- Main Getters --- /** * @notice Fetch the latest medianResult or revert if is is null, if the price is stale or if chainlinkAggregator is null **/ function read() external view returns (uint256) { // The relayer must not be null require(address(chainlinkAggregator) != address(0), "ChainlinkRelayer/null-reward-relayer"); // Fetch values from Chainlink uint256 medianPrice = multiply(uint(chainlinkAggregator.latestAnswer()), 10 ** uint(multiplier)); uint256 aggregatorTimestamp = chainlinkAggregator.latestTimestamp(); require(both(medianPrice > 0, subtract(now, aggregatorTimestamp) <= staleThreshold), "ChainlinkRelayer/invalid-price-feed"); return medianPrice; } /** * @notice Fetch the latest medianResult and whether it is valid or not **/ function getResultWithValidity() external view returns (uint256, bool) { if (address(chainlinkAggregator) == address(0)) return (0, false); // Fetch values from Chainlink uint256 medianPrice = multiply(uint(chainlinkAggregator.latestAnswer()), 10 ** uint(multiplier)); uint256 aggregatorTimestamp = chainlinkAggregator.latestTimestamp(); return (medianPrice, both(medianPrice > 0, subtract(now, aggregatorTimestamp) <= staleThreshold)); } // --- Median Updates --- /* * @notice Remnant from other Chainlink medians */ function updateResult(address feeReceiver) external {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"aggregator","type":"address"},{"internalType":"uint256","name":"staleThreshold_","type":"uint256"}],"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":"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":"val","type":"uint256"}],"name":"ModifyParameters","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"RemoveAuthorization","type":"event"},{"inputs":[],"name":"RAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WAD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"}],"name":"addition","outputs":[{"internalType":"uint256","name":"z","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorizedAccounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"chainlinkAggregator","outputs":[{"internalType":"contract AggregatorInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getResultWithValidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"}],"name":"minimum","outputs":[{"internalType":"uint256","name":"z","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"parameter","type":"bytes32"},{"internalType":"address","name":"addr","type":"address"}],"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":[],"name":"multiplier","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"}],"name":"multiply","outputs":[{"internalType":"uint256","name":"z","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"}],"name":"rad","outputs":[{"internalType":"uint256","name":"z","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"}],"name":"ray","outputs":[{"internalType":"uint256","name":"z","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"}],"name":"rdivide","outputs":[{"internalType":"uint256","name":"z","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"read","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":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"}],"name":"rmultiply","outputs":[{"internalType":"uint256","name":"z","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"n","type":"uint256"},{"internalType":"uint256","name":"base","type":"uint256"}],"name":"rpower","outputs":[{"internalType":"uint256","name":"z","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"staleThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"}],"name":"subtract","outputs":[{"internalType":"uint256","name":"z","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"feeReceiver","type":"address"}],"name":"updateResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"}],"name":"wdivide","outputs":[{"internalType":"uint256","name":"z","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"}],"name":"wmultiply","outputs":[{"internalType":"uint256","name":"z","type":"uint256"}],"stateMutability":"pure","type":"function"}]
Contract Creation Code
60806040526001805460ff60a01b1916600560a11b17905565195d1a1d5cd960d21b60035534801561003057600080fd5b506040516111363803806111368339818101604052604081101561005357600080fd5b5080516020909101516001600160a01b0382166100b7576040805162461bcd60e51b815260206004820181905260248201527f436861696e6c696e6b52656c617965722f6e756c6c2d61676772656761746f72604482015290519081900360640190fd5b60018054600160a01b900460ff161015610118576040805162461bcd60e51b815260206004820181905260248201527f436861696e6c696e6b52656c617965722f6e756c6c2d6d756c7469706c696572604482015290519081900360640190fd5b600081116101575760405162461bcd60e51b81526004018080602001828103825260258152602001806111116025913960400191505060405180910390fd5b3360008181526020818152604091829020600190819055600285905580546001600160a01b0319166001600160a01b038716179055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a1600254604080516d1cdd185b19551a1c995cda1bdb1960921b8152602081019290925280517fac7c5c1afaef770ec56ac6268cd3f2fbb1035858ead2601d6553157c33036c3a9281900390910190a1604080516930b3b3b932b3b0ba37b960b11b81526001600160a01b038416602082015281517fd91f38cf03346b5dc15fb60f9076f866295231ad3c3841a1051f8443f25170d1929181900390910190a15050610ea48061026d6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806354f363a3116100de57806395d89b4111610097578063da559f7211610071578063da559f7214610408578063dd2d2a1214610410578063f752fdc314610433578063fe4f58901461045657610173565b806395d89b41146103b4578063a0871637146103bc578063d6e882dc146103df57610173565b806354f363a314610327578063552033c41461034a57806357de26a4146103525780636614f0101461035a5780636a1460241461038657806394f3f81d1461038e57610173565b80633c8bb3e6116101305780633c8bb3e6146102595780633ef5e4451461027c57806346f3e81c1461029f578063495df025146102bc5780634fd0ada8146102e25780635004d36c1461030357610173565b8063056640b71461017857806310213447146101ad578063165c4a16146101ca5780631b3ed722146101ed57806324ba58841461020b57806335b2815314610231575b600080fd5b61019b6004803603604081101561018e57600080fd5b5080359060200135610479565b60408051918252519081900360200190f35b61019b600480360360208110156101c357600080fd5b50356104a1565b61019b600480360360408110156101e057600080fd5b50803590602001356104b7565b6101f561051c565b6040805160ff9092168252519081900360200190f35b61019b6004803603602081101561022157600080fd5b50356001600160a01b031661052c565b6102576004803603602081101561024757600080fd5b50356001600160a01b031661053e565b005b61019b6004803603604081101561026f57600080fd5b50803590602001356105de565b61019b6004803603604081101561029257600080fd5b50803590602001356105f3565b61019b600480360360208110156102b557600080fd5b503561064b565b610257600480360360208110156102d257600080fd5b50356001600160a01b0316610663565b6102ea610666565b6040805192835290151560208301528051918290030190f35b61030b6107c4565b604080516001600160a01b039092168252519081900360200190f35b61019b6004803603604081101561033d57600080fd5b50803590602001356107d3565b61019b610824565b61019b610834565b6102576004803603604081101561037057600080fd5b50803590602001356001600160a01b03166109a8565b61019b610b04565b610257600480360360208110156103a457600080fd5b50356001600160a01b0316610b10565b61019b610baf565b61019b600480360360408110156103d257600080fd5b5080359060200135610bb5565b61019b600480360360608110156103f557600080fd5b5080359060208101359060400135610bce565b61019b610c8c565b61019b6004803603604081101561042657600080fd5b5080359060200135610c92565b61019b6004803603604081101561044957600080fd5b5080359060200135610cab565b6102576004803603604081101561046c57600080fd5b5080359060200135610cc0565b60006b033b2e3c9fd0803ce800000061049284846104b7565b8161049957fe5b049392505050565b60006104b182633b9aca006104b7565b92915050565b60008115806104d2575050808202828282816104cf57fe5b04145b6104b1576040805162461bcd60e51b815260206004820152601660248201527575696e742d75696e742d6d756c2d6f766572666c6f7760501b604482015290519081900360640190fd5b600154600160a01b900460ff1681565b60006020819052908152604090205481565b3360009081526020819052604090205460011461058c5760405162461bcd60e51b8152600401808060200182810382526027815260200180610e486027913960400191505060405180910390fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b6000670de0b6b3a764000061049284846104b7565b808203828111156104b1576040805162461bcd60e51b815260206004820152601760248201527f75696e742d75696e742d7375622d756e646572666c6f77000000000000000000604482015290519081900360640190fd5b60006104b1826b033b2e3c9fd0803ce80000006104b7565b50565b60015460009081906001600160a01b0316610686575060009050806107c0565b600061071a600160009054906101000a90046001600160a01b03166001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d957600080fd5b505afa1580156106ed573d6000803e3d6000fd5b505050506040513d602081101561070357600080fd5b5051600154600160a01b900460ff16600a0a6104b7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316638205bf6a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561076c57600080fd5b505afa158015610780573d6000803e3d6000fd5b505050506040513d602081101561079657600080fd5b505160025490915082906107b990821515906107b242866105f3565b1115610daa565b9350935050505b9091565b6001546001600160a01b031681565b818101828110156104b1576040805162461bcd60e51b815260206004820152601660248201527575696e742d75696e742d6164642d6f766572666c6f7760501b604482015290519081900360640190fd5b6b033b2e3c9fd0803ce800000081565b6001546000906001600160a01b031661087e5760405162461bcd60e51b8152600401808060200182810382526024815260200180610e016024913960400191505060405180910390fd5b60006108d1600160009054906101000a90046001600160a01b03166001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d957600080fd5b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316638205bf6a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561092357600080fd5b505afa158015610937573d6000803e3d6000fd5b505050506040513d602081101561094d57600080fd5b505160025490915061096790831515906107b242856105f3565b6109a25760405162461bcd60e51b8152600401808060200182810382526023815260200180610e256023913960400191505060405180910390fd5b50905090565b336000908152602081905260409020546001146109f65760405162461bcd60e51b8152600401808060200182810382526027815260200180610e486027913960400191505060405180910390fd5b6001600160a01b038116610a51576040805162461bcd60e51b815260206004820152601a60248201527f436861696e6c696e6b52656c617965722f6e756c6c2d61646472000000000000604482015290519081900360640190fd5b816930b3b3b932b3b0ba37b960b11b1415610a8657600180546001600160a01b0319166001600160a01b038316179055610abd565b60405162461bcd60e51b815260040180806020018281038252602a815260200180610daf602a913960400191505060405180910390fd5b604080518381526001600160a01b038316602082015281517fd91f38cf03346b5dc15fb60f9076f866295231ad3c3841a1051f8443f25170d1929181900390910190a15050565b670de0b6b3a764000081565b33600090815260208190526040902054600114610b5e5760405162461bcd60e51b8152600401808060200182810382526027815260200180610e486027913960400191505060405180910390fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b60035481565b600081610492846b033b2e3c9fd0803ce80000006104b7565b6000838015610c6e57600184168015610be957859250610bed565b8392505b50600283046002850494505b8415610c68578586028687820414610c1057600080fd5b81810181811015610c2057600080fd5b8590049650506001851615610c5d578583028387820414158715151615610c4657600080fd5b81810181811015610c5657600080fd5b8590049350505b600285049450610bf9565b50610c84565b838015610c7e5760009250610c82565b8392505b505b509392505050565b60025481565b600081831115610ca25781610ca4565b825b9392505050565b60008161049284670de0b6b3a76400006104b7565b33600090815260208190526040902054600114610d0e5760405162461bcd60e51b8152600401808060200182810382526027815260200180610e486027913960400191505060405180910390fd5b816d1cdd185b19551a1c995cda1bdb1960921b1415610a865760018111610d665760405162461bcd60e51b8152600401808060200182810382526028815260200180610dd96028913960400191505060405180910390fd5b6002819055604080518381526020810183905281517fac7c5c1afaef770ec56ac6268cd3f2fbb1035858ead2601d6553157c33036c3a929181900390910190a15050565b169056fe436861696e6c696e6b52656c617965722f6d6f646966792d756e7265636f676e697a65642d706172616d436861696e6c696e6b52656c617965722f696e76616c69642d7374616c652d7468726573686f6c64436861696e6c696e6b52656c617965722f6e756c6c2d7265776172642d72656c61796572436861696e6c696e6b52656c617965722f696e76616c69642d70726963652d66656564436861696e6c696e6b52656c617965722f6163636f756e742d6e6f742d617574686f72697a6564a2646970667358221220c2c87b17ac226c7ba7266092e0b69c294f4450a047e26f7e62228dd625ab43c864736f6c63430006070033436861696e6c696e6b52656c617965722f6e756c6c2d7374616c652d7468726573686f6c640000000000000000000000005f4ec3df9cbd43714fe2740f5e3616155c5b84190000000000000000000000000000000000000000000000000000000000005460
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101735760003560e01c806354f363a3116100de57806395d89b4111610097578063da559f7211610071578063da559f7214610408578063dd2d2a1214610410578063f752fdc314610433578063fe4f58901461045657610173565b806395d89b41146103b4578063a0871637146103bc578063d6e882dc146103df57610173565b806354f363a314610327578063552033c41461034a57806357de26a4146103525780636614f0101461035a5780636a1460241461038657806394f3f81d1461038e57610173565b80633c8bb3e6116101305780633c8bb3e6146102595780633ef5e4451461027c57806346f3e81c1461029f578063495df025146102bc5780634fd0ada8146102e25780635004d36c1461030357610173565b8063056640b71461017857806310213447146101ad578063165c4a16146101ca5780631b3ed722146101ed57806324ba58841461020b57806335b2815314610231575b600080fd5b61019b6004803603604081101561018e57600080fd5b5080359060200135610479565b60408051918252519081900360200190f35b61019b600480360360208110156101c357600080fd5b50356104a1565b61019b600480360360408110156101e057600080fd5b50803590602001356104b7565b6101f561051c565b6040805160ff9092168252519081900360200190f35b61019b6004803603602081101561022157600080fd5b50356001600160a01b031661052c565b6102576004803603602081101561024757600080fd5b50356001600160a01b031661053e565b005b61019b6004803603604081101561026f57600080fd5b50803590602001356105de565b61019b6004803603604081101561029257600080fd5b50803590602001356105f3565b61019b600480360360208110156102b557600080fd5b503561064b565b610257600480360360208110156102d257600080fd5b50356001600160a01b0316610663565b6102ea610666565b6040805192835290151560208301528051918290030190f35b61030b6107c4565b604080516001600160a01b039092168252519081900360200190f35b61019b6004803603604081101561033d57600080fd5b50803590602001356107d3565b61019b610824565b61019b610834565b6102576004803603604081101561037057600080fd5b50803590602001356001600160a01b03166109a8565b61019b610b04565b610257600480360360208110156103a457600080fd5b50356001600160a01b0316610b10565b61019b610baf565b61019b600480360360408110156103d257600080fd5b5080359060200135610bb5565b61019b600480360360608110156103f557600080fd5b5080359060208101359060400135610bce565b61019b610c8c565b61019b6004803603604081101561042657600080fd5b5080359060200135610c92565b61019b6004803603604081101561044957600080fd5b5080359060200135610cab565b6102576004803603604081101561046c57600080fd5b5080359060200135610cc0565b60006b033b2e3c9fd0803ce800000061049284846104b7565b8161049957fe5b049392505050565b60006104b182633b9aca006104b7565b92915050565b60008115806104d2575050808202828282816104cf57fe5b04145b6104b1576040805162461bcd60e51b815260206004820152601660248201527575696e742d75696e742d6d756c2d6f766572666c6f7760501b604482015290519081900360640190fd5b600154600160a01b900460ff1681565b60006020819052908152604090205481565b3360009081526020819052604090205460011461058c5760405162461bcd60e51b8152600401808060200182810382526027815260200180610e486027913960400191505060405180910390fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b6000670de0b6b3a764000061049284846104b7565b808203828111156104b1576040805162461bcd60e51b815260206004820152601760248201527f75696e742d75696e742d7375622d756e646572666c6f77000000000000000000604482015290519081900360640190fd5b60006104b1826b033b2e3c9fd0803ce80000006104b7565b50565b60015460009081906001600160a01b0316610686575060009050806107c0565b600061071a600160009054906101000a90046001600160a01b03166001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d957600080fd5b505afa1580156106ed573d6000803e3d6000fd5b505050506040513d602081101561070357600080fd5b5051600154600160a01b900460ff16600a0a6104b7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316638205bf6a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561076c57600080fd5b505afa158015610780573d6000803e3d6000fd5b505050506040513d602081101561079657600080fd5b505160025490915082906107b990821515906107b242866105f3565b1115610daa565b9350935050505b9091565b6001546001600160a01b031681565b818101828110156104b1576040805162461bcd60e51b815260206004820152601660248201527575696e742d75696e742d6164642d6f766572666c6f7760501b604482015290519081900360640190fd5b6b033b2e3c9fd0803ce800000081565b6001546000906001600160a01b031661087e5760405162461bcd60e51b8152600401808060200182810382526024815260200180610e016024913960400191505060405180910390fd5b60006108d1600160009054906101000a90046001600160a01b03166001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d957600080fd5b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316638205bf6a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561092357600080fd5b505afa158015610937573d6000803e3d6000fd5b505050506040513d602081101561094d57600080fd5b505160025490915061096790831515906107b242856105f3565b6109a25760405162461bcd60e51b8152600401808060200182810382526023815260200180610e256023913960400191505060405180910390fd5b50905090565b336000908152602081905260409020546001146109f65760405162461bcd60e51b8152600401808060200182810382526027815260200180610e486027913960400191505060405180910390fd5b6001600160a01b038116610a51576040805162461bcd60e51b815260206004820152601a60248201527f436861696e6c696e6b52656c617965722f6e756c6c2d61646472000000000000604482015290519081900360640190fd5b816930b3b3b932b3b0ba37b960b11b1415610a8657600180546001600160a01b0319166001600160a01b038316179055610abd565b60405162461bcd60e51b815260040180806020018281038252602a815260200180610daf602a913960400191505060405180910390fd5b604080518381526001600160a01b038316602082015281517fd91f38cf03346b5dc15fb60f9076f866295231ad3c3841a1051f8443f25170d1929181900390910190a15050565b670de0b6b3a764000081565b33600090815260208190526040902054600114610b5e5760405162461bcd60e51b8152600401808060200182810382526027815260200180610e486027913960400191505060405180910390fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b60035481565b600081610492846b033b2e3c9fd0803ce80000006104b7565b6000838015610c6e57600184168015610be957859250610bed565b8392505b50600283046002850494505b8415610c68578586028687820414610c1057600080fd5b81810181811015610c2057600080fd5b8590049650506001851615610c5d578583028387820414158715151615610c4657600080fd5b81810181811015610c5657600080fd5b8590049350505b600285049450610bf9565b50610c84565b838015610c7e5760009250610c82565b8392505b505b509392505050565b60025481565b600081831115610ca25781610ca4565b825b9392505050565b60008161049284670de0b6b3a76400006104b7565b33600090815260208190526040902054600114610d0e5760405162461bcd60e51b8152600401808060200182810382526027815260200180610e486027913960400191505060405180910390fd5b816d1cdd185b19551a1c995cda1bdb1960921b1415610a865760018111610d665760405162461bcd60e51b8152600401808060200182810382526028815260200180610dd96028913960400191505060405180910390fd5b6002819055604080518381526020810183905281517fac7c5c1afaef770ec56ac6268cd3f2fbb1035858ead2601d6553157c33036c3a929181900390910190a15050565b169056fe436861696e6c696e6b52656c617965722f6d6f646966792d756e7265636f676e697a65642d706172616d436861696e6c696e6b52656c617965722f696e76616c69642d7374616c652d7468726573686f6c64436861696e6c696e6b52656c617965722f6e756c6c2d7265776172642d72656c61796572436861696e6c696e6b52656c617965722f696e76616c69642d70726963652d66656564436861696e6c696e6b52656c617965722f6163636f756e742d6e6f742d617574686f72697a6564a2646970667358221220c2c87b17ac226c7ba7266092e0b69c294f4450a047e26f7e62228dd625ab43c864736f6c63430006070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000005f4ec3df9cbd43714fe2740f5e3616155c5b84190000000000000000000000000000000000000000000000000000000000005460
-----Decoded View---------------
Arg [0] : aggregator (address): 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419
Arg [1] : staleThreshold_ (uint256): 21600
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000005f4ec3df9cbd43714fe2740f5e3616155c5b8419
Arg [1] : 0000000000000000000000000000000000000000000000000000000000005460
Deployed Bytecode Sourcemap
3499:5065:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3499:5065:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;900:107:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;900:107:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;142:93;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;142:93:0;;:::i;747:147::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;747:147:0;;;;;;;:::i;4620:30::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3564:51;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3564:51:0;-1:-1:-1;;;;;3564:51:0;;:::i;3725:164::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3725:164:0;-1:-1:-1;;;;;3725:164:0;;:::i;:::-;;1235:107;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1235:107:0;;;;;;;:::i;597:144::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;597:144:0;;;;;;;:::i;241:94::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;241:94:0;;:::i;8507:54::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8507:54:0;-1:-1:-1;;;;;8507:54:0;;:::i;7900:500::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4445:46;;;:::i;:::-;;;;-1:-1:-1;;;;;4445:46:0;;;;;;;;;;;;;;448:143;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;448:143:0;;;;;;;:::i;50:38::-;;;:::i;7201:599::-;;;:::i;6657:363::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6657:363:0;;;;;;-1:-1:-1;;;;;6657:363:0;;:::i;95:38::-;;;:::i;4008:170::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4008:170:0;-1:-1:-1;;;;;4008:170:0;;:::i;4771:32::-;;;:::i;1013:105::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1013:105:0;;;;;;;:::i;1348:1058::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1348:1058:0;;;;;;;;;;;;:::i;4733:29::-;;;:::i;341:101::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;341:101:0;;;;;;;:::i;1124:105::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1124:105:0;;;;;;;:::i;6116:371::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6116:371:0;;;;;;;:::i;900:107::-;956:6;80:8;979:14;988:1;991;979:8;:14::i;:::-;:20;;;;;;;900:107;-1:-1:-1;;;900:107:0:o;142:93::-;184:6;207:20;216:1;219:7;207:8;:20::i;:::-;203:24;142:93;-1:-1:-1;;142:93:0:o;747:147::-;802:6;829;;;:30;;-1:-1:-1;;844:5:0;;;858:1;853;844:5;853:1;839:15;;;;;:20;829:30;821:65;;;;;-1:-1:-1;;;821:65:0;;;;;;;;;;;;-1:-1:-1;;;821:65:0;;;;;;;;;;;;;;4620:30;;;-1:-1:-1;;;4620:30:0;;;;;:::o;3564:51::-;;;;;;;;;;;;;;:::o;3725:164::-;4331:10;4312:18;:30;;;;;;;;;;;4346:1;4312:35;4304:87;;;;-1:-1:-1;;;4304:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3809:27:0;::::1;:18;:27:::0;;;::::1;::::0;;;;;;;;3839:1:::1;3809:31:::0;;3856:25;;;;;;;::::1;::::0;;;;;;;;::::1;3725:164:::0;:::o;1235:107::-;1291:6;125:8;1314:14;1323:1;1326;1314:8;:14::i;597:144::-;675:5;;;699:6;;;;691:42;;;;;-1:-1:-1;;;691:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;241:94;283:6;306:21;315:1;318:8;306;:21::i;8507:54::-;;:::o;7900:500::-;7994:19;;7956:7;;;;-1:-1:-1;;;;;7994:19:0;7982:65;;-1:-1:-1;8038:1:0;;-1:-1:-1;8038:1:0;8030:17;;7982:65;8100:19;8130:74;8144:19;;;;;;;;;-1:-1:-1;;;;;8144:19:0;-1:-1:-1;;;;;8144:32:0;;:34;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8144:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8144:34:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8144:34:0;8192:10;;-1:-1:-1;;;8192:10:0;;;;8181:2;:22;8130:8;:74::i;:::-;8100:104;;8215:27;8245:19;;;;;;;;;-1:-1:-1;;;;;8245:19:0;-1:-1:-1;;;;;8245:35:0;;:37;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8245:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8245:37:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8245:37:0;8376:14;;8245:37;;-1:-1:-1;8303:11:0;;8316:75;;8321:15;;;;8338:34;8347:3;8245:37;8338:8;:34::i;:::-;:52;;8316:4;:75::i;:::-;8295:97;;;;;;7900:500;;;:::o;4445:46::-;;;-1:-1:-1;;;;;4445:46:0;;:::o;448:143::-;526:5;;;550:6;;;;542:41;;;;;-1:-1:-1;;;542:41:0;;;;;;;;;;;;-1:-1:-1;;;542:41:0;;;;;;;;;;;;;;50:38;80:8;50:38;:::o;7201:599::-;7317:19;;7240:7;;-1:-1:-1;;;;;7317:19:0;7301:91;;;;-1:-1:-1;;;7301:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7445:19;7475:74;7489:19;;;;;;;;;-1:-1:-1;;;;;7489:19:0;-1:-1:-1;;;;;7489:32:0;;:34;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;7475:74:0;7445:104;;7560:27;7590:19;;;;;;;;;-1:-1:-1;;;;;7590:19:0;-1:-1:-1;;;;;7590:35:0;;:37;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7590:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7590:37:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7590:37:0;7708:14;;7590:37;;-1:-1:-1;7648:75:0;;7653:15;;;;7670:34;7679:3;7590:37;7670:8;:34::i;7648:75::-;7640:123;;;;-1:-1:-1;;;7640:123:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7781:11:0;-1:-1:-1;7201:599:0;:::o;6657:363::-;4331:10;4312:18;:30;;;;;;;;;;;4346:1;4312:35;4304:87;;;;-1:-1:-1;;;4304:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6757:18:0;::::1;6749:57;;;::::0;;-1:-1:-1;;;6749:57:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;6821:9;-1:-1:-1::0;;;6821:25:0::1;6817:146;;;6848:19;:47:::0;;-1:-1:-1;;;;;;6848:47:0::1;-1:-1:-1::0;;;;;6848:47:0;::::1;;::::0;;6817:146:::1;;;6911:52;;-1:-1:-1::0;;;6911:52:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6817:146;6979:33;::::0;;;;;-1:-1:-1;;;;;6979:33:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;;::::1;6657:363:::0;;:::o;95:38::-;125:8;95:38;:::o;4008:170::-;4331:10;4312:18;:30;;;;;;;;;;;4346:1;4312:35;4304:87;;;;-1:-1:-1;;;4304:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4095:27:0;::::1;4125:1;4095:27:::0;;;::::1;::::0;;;;;;;:31;;;;4142:28;;;;;;;::::1;::::0;;;;;;;;::::1;4008:170:::0;:::o;4771:32::-;;;;:::o;1013:105::-;1067:6;1109:1;1090:16;1099:1;80:8;1090;:16::i;1348:1058::-;1412:6;1462:1;1464:53;;;;1565:9;;;1575:20;;;;1611:1;1606:6;;1558:56;;1575:20;1589:4;1584:9;;1558:56;;1654:1;1648:4;1644:12;1710:1;1707;1703:9;1698:14;;1692:681;1715:1;1692:681;;;1775:1;1772;1768:9;1824:1;1820;1816:2;1812:10;1809:17;1799:2;;1839:1;1837;1830:11;1799:2;1888:4;1884:2;1880:13;1930:2;1921:7;1918:15;1915:2;;;1945:1;1943;1936:11;1915:2;1976:18;;;;-1:-1:-1;;2019:8:0;;;2016:2;;;2072:1;2069;2065:9;2148:1;2144;2140:2;2136:10;2133:17;2126:25;2121:1;2114:9;2107:17;2103:49;2100:2;;;2164:1;2162;2155:11;2100:2;2217:4;2213:2;2209:13;2263:2;2254:7;2251:15;2248:2;;;2278:1;2276;2269:11;2248:2;2313:18;;;;-1:-1:-1;;2016:2:0;1730:1;1728;1724:8;1719:13;;1692:681;;;1696:18;1455:933;;1464:53;1479:1;1481:18;;;;1514:1;1509:6;;1472:44;;1481:18;1494:4;1489:9;;1472:44;;1455:933;;1440:959;;;;;:::o;4733:29::-;;;;:::o;341:101::-;395:6;424:1;419;:6;;418:16;;433:1;418:16;;;429:1;418:16;414:20;341:101;-1:-1:-1;;;341:101:0:o;1124:105::-;1178:6;1220:1;1201:16;1210:1;125:8;1201;:16::i;6116:371::-;4331:10;4312:18;:30;;;;;;;;;;;4346:1;4312:35;4304:87;;;;-1:-1:-1;;;4304:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6212:9:::1;-1:-1:-1::0;;;6212:29:0::1;6208:222;;;6271:1;6264:4;:8;6256:61;;;;-1:-1:-1::0;;;6256:61:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6330:14;:21:::0;;;6446:33:::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;6116:371:::0;;:::o;5812:104::-;5899:9;;5892:17::o
Swarm Source
ipfs://c2c87b17ac226c7ba7266092e0b69c294f4450a047e26f7e62228dd625ab43c8
Loading...
Loading
Loading...
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.
[ 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.