Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 817 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Update Result | 11725310 | 1446 days ago | IN | 0 ETH | 0.00683427 | ||||
Update Result | 11724183 | 1446 days ago | IN | 0 ETH | 0.00632533 | ||||
Update Result | 11723091 | 1446 days ago | IN | 0 ETH | 0.00617992 | ||||
Update Result | 11722010 | 1447 days ago | IN | 0 ETH | 0.00807025 | ||||
Update Result | 11720922 | 1447 days ago | IN | 0 ETH | 0.00523476 | ||||
Update Result | 11719850 | 1447 days ago | IN | 0 ETH | 0.00545287 | ||||
Update Result | 11718750 | 1447 days ago | IN | 0 ETH | 0.00370795 | ||||
Update Result | 11717665 | 1447 days ago | IN | 0 ETH | 0.0036716 | ||||
Update Result | 11716615 | 1447 days ago | IN | 0 ETH | 0.00450771 | ||||
Update Result | 11715536 | 1448 days ago | IN | 0 ETH | 0.00381308 | ||||
Update Result | 11714446 | 1448 days ago | IN | 0 ETH | 0.00609264 | ||||
Update Result | 11713319 | 1448 days ago | IN | 0 ETH | 0.00683427 | ||||
Update Result | 11712258 | 1448 days ago | IN | 0 ETH | 0.00448953 | ||||
Update Result | 11711148 | 1448 days ago | IN | 0 ETH | 0.0055692 | ||||
Update Result | 11710098 | 1448 days ago | IN | 0 ETH | 0.00363525 | ||||
Update Result | 11708985 | 1449 days ago | IN | 0 ETH | 0.00494394 | ||||
Update Result | 11707894 | 1449 days ago | IN | 0 ETH | 0.00399877 | ||||
Update Result | 11706802 | 1449 days ago | IN | 0 ETH | 0.0087973 | ||||
Update Result | 11705732 | 1449 days ago | IN | 0 ETH | 0.00748861 | ||||
Update Result | 11704644 | 1449 days ago | IN | 0 ETH | 0.00516205 | ||||
Update Result | 11703615 | 1449 days ago | IN | 0 ETH | 0.00559828 | ||||
Update Result | 11702550 | 1450 days ago | IN | 0 ETH | 0.02893659 | ||||
Update Result | 11701441 | 1450 days ago | IN | 0 ETH | 0.0058164 | ||||
Update Result | 11700299 | 1450 days ago | IN | 0 ETH | 0.0073432 | ||||
Update Result | 11699229 | 1450 days ago | IN | 0 ETH | 0.00575096 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
DSM
Compiler Version
v0.6.7+commit.b8d736ae
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-10-26 */ pragma solidity ^0.6.7; abstract contract DSValueLike { function getResultWithValidity() virtual external view returns (uint256, bool); } contract DSM { // --- 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, "DSM/account-not-authorized"); _; } // --- Stop --- uint256 public stopped; modifier stoppable { require(stopped == 0, "DSM/is-stopped"); _; } // --- Math --- function add(uint64 x, uint64 y) internal pure returns (uint64 z) { z = x + y; require(z >= x); } address public priceSource; uint16 public updateDelay = ONE_HOUR; // [seconds] uint64 public lastUpdateTime; // [timestamp] uint256 public newPriceDeviation; // [wad] uint16 constant ONE_HOUR = uint16(3600); // [seconds] uint256 public constant WAD = 10 ** 18; struct Feed { uint128 value; uint128 isValid; } Feed currentFeed; Feed nextFeed; // --- Events --- event AddAuthorization(address account); event RemoveAuthorization(address account); event Start(); event Stop(); event ChangePriceSource(address priceSource); event ChangeDeviation(uint deviation); event ChangeDelay(uint16 delay); event RestartValue(); event UpdateResult(uint256 newMedian, uint256 lastUpdateTime); constructor (address priceSource_, uint256 deviation) public { require(both(deviation > 0, deviation < WAD), "DSM/invalid-deviation"); authorizedAccounts[msg.sender] = 1; priceSource = priceSource_; newPriceDeviation = deviation; if (priceSource != address(0)) { (uint256 priceFeedValue, bool hasValidValue) = getPriceSourceUpdate(); if (hasValidValue) { nextFeed = Feed(uint128(uint(priceFeedValue)), 1); currentFeed = nextFeed; lastUpdateTime = latestUpdateTime(currentTime()); emit UpdateResult(uint(currentFeed.value), lastUpdateTime); } } emit AddAuthorization(msg.sender); emit ChangePriceSource(priceSource); emit ChangeDeviation(deviation); } // --- Boolean Logic --- function both(bool x, bool y) internal pure returns (bool z) { assembly{ z := and(x, y)} } // --- Math --- function subtract(uint x, uint y) public pure returns (uint z) { z = x - y; require(z <= x); } function multiply(uint x, uint y) public pure returns (uint z) { require(y == 0 || (z = x * y) / y == x); } function wmultiply(uint x, uint y) public pure returns (uint z) { z = multiply(x, y) / WAD; } // --- Administration --- function stop() external isAuthorized { stopped = 1; emit Stop(); } function start() external isAuthorized { stopped = 0; emit Start(); } function changePriceSource(address priceSource_) external isAuthorized { priceSource = priceSource_; emit ChangePriceSource(priceSource); } // --- Utils --- function currentTime() internal view returns (uint) { return block.timestamp; } function latestUpdateTime(uint timestamp) internal view returns (uint64) { require(updateDelay != 0, "DSM/update-delay-is-zero"); return uint64(timestamp - (timestamp % updateDelay)); } function changeNextPriceDeviation(uint deviation) external isAuthorized { require(both(deviation > 0, deviation < WAD), "DSM/invalid-deviation"); newPriceDeviation = deviation; emit ChangeDeviation(deviation); } function changeDelay(uint16 delay) external isAuthorized { require(delay > 0, "DSM/delay-is-zero"); updateDelay = delay; emit ChangeDelay(updateDelay); } function restartValue() external isAuthorized { currentFeed = nextFeed = Feed(0, 0); stopped = 1; emit RestartValue(); } function passedDelay() public view returns (bool ok) { return currentTime() >= add(lastUpdateTime, updateDelay); } function updateResult() external stoppable { require(passedDelay(), "DSM/not-passed"); (uint256 priceFeedValue, bool hasValidValue) = getPriceSourceUpdate(); if (hasValidValue) { currentFeed.isValid = nextFeed.isValid; currentFeed.value = getNextBoundedPrice(); nextFeed = Feed(uint128(priceFeedValue), 1); lastUpdateTime = latestUpdateTime(currentTime()); emit UpdateResult(uint(currentFeed.value), lastUpdateTime); } } // --- Getters --- function getPriceSourceUpdate() internal view returns (uint256, bool) { try DSValueLike(priceSource).getResultWithValidity() returns (uint256 priceFeedValue, bool hasValidValue) { return (priceFeedValue, hasValidValue); } catch(bytes memory) { return (0, false); } } function getNextBoundedPrice() public view returns (uint128 boundedPrice) { boundedPrice = nextFeed.value; if (currentFeed.value == 0) return boundedPrice; uint128 lowerBound = uint128(wmultiply(uint(currentFeed.value), newPriceDeviation)); uint128 upperBound = uint128(wmultiply(uint(currentFeed.value), subtract(multiply(uint(2), WAD), newPriceDeviation))); if (nextFeed.value < lowerBound) { boundedPrice = lowerBound; } else if (nextFeed.value > upperBound) { boundedPrice = upperBound; } } function getNextPriceLowerBound() public view returns (uint128) { return uint128(wmultiply(uint(currentFeed.value), newPriceDeviation)); } function getNextPriceUpperBound() public view returns (uint128) { return uint128(wmultiply(uint(currentFeed.value), subtract(multiply(uint(2), WAD), newPriceDeviation))); } function getResultWithValidity() external view returns (uint256, bool) { return (uint(currentFeed.value), currentFeed.isValid == 1); } function getNextResultWithValidity() external view returns (uint256, bool) { return (nextFeed.value, nextFeed.isValid == 1); } function read() external view returns (uint256) { require(currentFeed.isValid == 1, "DSM/no-current-value"); return currentFeed.value; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"priceSource_","type":"address"},{"internalType":"uint256","name":"deviation","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":"uint16","name":"delay","type":"uint16"}],"name":"ChangeDelay","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"deviation","type":"uint256"}],"name":"ChangeDeviation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"priceSource","type":"address"}],"name":"ChangePriceSource","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"RemoveAuthorization","type":"event"},{"anonymous":false,"inputs":[],"name":"RestartValue","type":"event"},{"anonymous":false,"inputs":[],"name":"Start","type":"event"},{"anonymous":false,"inputs":[],"name":"Stop","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMedian","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lastUpdateTime","type":"uint256"}],"name":"UpdateResult","type":"event"},{"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":"address","name":"","type":"address"}],"name":"authorizedAccounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"delay","type":"uint16"}],"name":"changeDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"deviation","type":"uint256"}],"name":"changeNextPriceDeviation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"priceSource_","type":"address"}],"name":"changePriceSource","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getNextBoundedPrice","outputs":[{"internalType":"uint128","name":"boundedPrice","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNextPriceLowerBound","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNextPriceUpperBound","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNextResultWithValidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getResultWithValidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"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":[],"name":"newPriceDeviation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"passedDelay","outputs":[{"internalType":"bool","name":"ok","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceSource","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":[],"name":"restartValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"start","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopped","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":"updateDelay","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"updateResult","outputs":[],"stateMutability":"nonpayable","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
6080604052610e10600260146101000a81548161ffff021916908361ffff1602179055503480156200003057600080fd5b506040516200242838038062002428833981810160405260408110156200005657600080fd5b8101908080519060200190929190805190602001909291905050506200009060008211670de0b6b3a764000083106200058360201b60201c565b62000103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f44534d2f696e76616c69642d646576696174696f6e000000000000000000000081525060200191505060405180910390fd5b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600381905550600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146200045c57600080620001f96200059060201b60201c565b91509150801562000459576040518060400160405280836fffffffffffffffffffffffffffffffff16815260200160016fffffffffffffffffffffffffffffffff16815250600560008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550905050600560046000820160009054906101000a90046fffffffffffffffffffffffffffffffff168160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506000820160109054906101000a90046fffffffffffffffffffffffffffffffff168160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055509050506200039e620003926200069260201b60201c565b6200069a60201b60201c565b600260166101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507ff85e44c6c3597d176b8d59bfbf500dfdb2badfc8cf91e6d960b16583a5807e48600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16600260169054906101000a900467ffffffffffffffff16604051808381526020018267ffffffffffffffff1681526020019250505060405180910390a15b50505b7f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f700010233604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17fe64aaa084ff9fb9651f314c5d25888701090b34db4f4809b517e863c62bd8508600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17fedf6ef8230cfb4994eec8093a965e2c50ff9f18abcc24c33a8f0584525c8d665816040518082815260200191505060405180910390a150506200074f565b6000818316905092915050565b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634fd0ada86040518163ffffffff1660e01b8152600401604080518083038186803b158015620005fb57600080fd5b505afa9250505080156200063b57506040513d60408110156200061d57600080fd5b81019080805190602001909291908051906020019092919050505060015b62000685573d80600081146200066e576040519150601f19603f3d011682016040523d82523d6000602084013e62000673565b606091505b5060008081915092509250506200068e565b81819350935050505b9091565b600042905090565b600080600260149054906101000a900461ffff1661ffff16141562000727576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f44534d2f7570646174652d64656c61792d69732d7a65726f000000000000000081525060200191505060405180910390fd5b600260149054906101000a900461ffff1661ffff1682816200074557fe5b0682039050919050565b611cc9806200075f6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c8063554f94db116100de57806380ebb08e11610097578063c8f33c9111610071578063c8f33c91146105cb578063ceedd63d146105fd578063ddc2ad8f14610607578063ef381cc5146106495761018e565b806380ebb08e1461057357806394f3f81d1461057d578063be9a6555146105c15761018e565b8063554f94db146104b357806357de26a4146104d957806363bfa88b146104f75780636a1460241461051957806375f12b21146105375780637c720555146105555761018e565b80633c8bb3e61161014b5780633fcdfe26116101255780633fcdfe26146103db5780634f0a32de1461041f5780634fd0ada81461044857806351330adc146104715761018e565b80633c8bb3e6146103015780633cff8d0b1461034d5780633ef5e4451461038f5761018e565b806307da68f514610193578063165c4a161461019d57806320531bc9146101e957806324ba5884146102335780632b9c7ee31461028b57806335b28153146102bd575b600080fd5b61019b610677565b005b6101d3600480360360408110156101b357600080fd5b810190808035906020019092919080359060200190929190505050610760565b6040518082815260200191505060405180910390f35b6101f161078c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102756004803603602081101561024957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107b2565b6040518082815260200191505060405180910390f35b6102bb600480360360208110156102a157600080fd5b81019080803561ffff1690602001909291905050506107ca565b005b6102ff600480360360208110156102d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610967565b005b6103376004803603604081101561031757600080fd5b810190808035906020019092919080359060200190929190505050610ac5565b6040518082815260200191505060405180910390f35b610355610aea565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103c5600480360360408110156103a557600080fd5b810190808035906020019092919080359060200190929190505050610ca2565b6040518082815260200191505060405180910390f35b61041d600480360360208110156103f157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cbc565b005b610427610e39565b60405180838152602001821515151581526020019250505060405180910390f35b610450610eb2565b60405180838152602001821515151581526020019250505060405180910390f35b610479610f28565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104bb610f89565b604051808261ffff1661ffff16815260200191505060405180910390f35b6104e1610f9d565b6040518082815260200191505060405180910390f35b6104ff611081565b604051808215151515815260200191505060405180910390f35b6105216110d0565b6040518082815260200191505060405180910390f35b61053f6110dc565b6040518082815260200191505060405180910390f35b61055d6110e2565b6040518082815260200191505060405180910390f35b61057b6110e8565b005b6105bf6004803603602081101561059357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061141b565b005b6105c9611579565b005b6105d3611663565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b61060561167d565b005b61060f6118de565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106756004803603602081101561065f57600080fd5b8101908080359060200190929190505050611924565b005b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461072b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f44534d2f6163636f756e742d6e6f742d617574686f72697a656400000000000081525060200191505060405180910390fd5b600180819055507fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b60405160405180910390a1565b60008082148061077d575082828385029250828161077a57fe5b04145b61078657600080fd5b92915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006020528060005260406000206000915090505481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461087e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f44534d2f6163636f756e742d6e6f742d617574686f72697a656400000000000081525060200191505060405180910390fd5b60008161ffff16116108f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f44534d2f64656c61792d69732d7a65726f00000000000000000000000000000081525060200191505060405180910390fd5b80600260146101000a81548161ffff021916908361ffff1602179055507fe5e55d7a00a8da3c2d2be2af849b5680612dc299cf26e12a879220d5f42ea231600260149054906101000a900461ffff16604051808261ffff1661ffff16815260200191505060405180910390a150565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610a1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f44534d2f6163636f756e742d6e6f742d617574686f72697a656400000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f700010281604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000670de0b6b3a7640000610ada8484610760565b81610ae157fe5b04905092915050565b6000600560000160009054906101000a90046fffffffffffffffffffffffffffffffff1690506000600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161415610b5457809050610c9f565b6000610b95600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16600354610ac5565b90506000610bf3600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16610bee610be66002670de0b6b3a7640000610760565b600354610ca2565b610ac5565b9050816fffffffffffffffffffffffffffffffff16600560000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161015610c4a57819250610c9c565b806fffffffffffffffffffffffffffffffff16600560000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161115610c9b578092505b5b50505b90565b6000818303905082811115610cb657600080fd5b92915050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f44534d2f6163636f756e742d6e6f742d617574686f72697a656400000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe64aaa084ff9fb9651f314c5d25888701090b34db4f4809b517e863c62bd8508600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600080600560000160009054906101000a90046fffffffffffffffffffffffffffffffff166001600560000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614816fffffffffffffffffffffffffffffffff169150915091509091565b600080600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166001600460000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614915091509091565b6000610f84600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16610f7f610f776002670de0b6b3a7640000610760565b600354610ca2565b610ac5565b905090565b600260149054906101000a900461ffff1681565b60006001600460000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614611048576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f44534d2f6e6f2d63757272656e742d76616c756500000000000000000000000081525060200191505060405180910390fd5b600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16905090565b60006110b7600260169054906101000a900467ffffffffffffffff16600260149054906101000a900461ffff1661ffff16611aa2565b67ffffffffffffffff166110c9611ad0565b1015905090565b670de0b6b3a764000081565b60015481565b60035481565b600060015414611160576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f44534d2f69732d73746f7070656400000000000000000000000000000000000081525060200191505060405180910390fd5b611168611081565b6111da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f44534d2f6e6f742d70617373656400000000000000000000000000000000000081525060200191505060405180910390fd5b6000806111e5611ad8565b91509150801561141757600560000160109054906101000a90046fffffffffffffffffffffffffffffffff16600460000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550611254610aea565b600460000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506040518060400160405280836fffffffffffffffffffffffffffffffff16815260200160016fffffffffffffffffffffffffffffffff16815250600560008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555090505061135c611357611ad0565b611bd3565b600260166101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507ff85e44c6c3597d176b8d59bfbf500dfdb2badfc8cf91e6d960b16583a5807e48600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16600260169054906101000a900467ffffffffffffffff16604051808381526020018267ffffffffffffffff1681526020019250505060405180910390a15b5050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146114cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f44534d2f6163636f756e742d6e6f742d617574686f72697a656400000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b90381604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461162d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f44534d2f6163636f756e742d6e6f742d617574686f72697a656400000000000081525060200191505060405180910390fd5b60006001819055507f1b55ba3aa851a46be3b365aee5b5c140edd620d578922f3e8466d2cbd96f954b60405160405180910390a1565b600260169054906101000a900467ffffffffffffffff1681565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611731576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f44534d2f6163636f756e742d6e6f742d617574686f72697a656400000000000081525060200191505060405180910390fd5b604051806040016040528060006fffffffffffffffffffffffffffffffff16815260200160006fffffffffffffffffffffffffffffffff16815250600560008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550905060046000820160009054906101000a90046fffffffffffffffffffffffffffffffff168160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506000820160109054906101000a90046fffffffffffffffffffffffffffffffff168160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550905050600180819055507f34cd470f8814066090f532fe3cb8158c5d974d7a01f4ada846dc9869e7e9d59a60405160405180910390a1565b600061191f600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16600354610ac5565b905090565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146119d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f44534d2f6163636f756e742d6e6f742d617574686f72697a656400000000000081525060200191505060405180910390fd5b6119ef60008211670de0b6b3a76400008310611c86565b611a61576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f44534d2f696e76616c69642d646576696174696f6e000000000000000000000081525060200191505060405180910390fd5b806003819055507fedf6ef8230cfb4994eec8093a965e2c50ff9f18abcc24c33a8f0584525c8d665816040518082815260200191505060405180910390a150565b600081830190508267ffffffffffffffff168167ffffffffffffffff161015611aca57600080fd5b92915050565b600042905090565b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634fd0ada86040518163ffffffff1660e01b8152600401604080518083038186803b158015611b4257600080fd5b505afa925050508015611b8057506040513d6040811015611b6257600080fd5b81019080805190602001909291908051906020019092919050505060015b611bc6573d8060008114611bb0576040519150601f19603f3d011682016040523d82523d6000602084013e611bb5565b606091505b506000808191509250925050611bcf565b81819350935050505b9091565b600080600260149054906101000a900461ffff1661ffff161415611c5f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f44534d2f7570646174652d64656c61792d69732d7a65726f000000000000000081525060200191505060405180910390fd5b600260149054906101000a900461ffff1661ffff168281611c7c57fe5b0682039050919050565b600081831690509291505056fea26469706673582212202b54de550627616b7b046c8b123369ed4e9f7334bffeff5cb998b9acf54a71f164736f6c634300060700330000000000000000000000005daf352ca59fbfd4cc67a53df857bee9b29183bc0000000000000000000000000000000000000000000000000b1a2bc2ec500000
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061018e5760003560e01c8063554f94db116100de57806380ebb08e11610097578063c8f33c9111610071578063c8f33c91146105cb578063ceedd63d146105fd578063ddc2ad8f14610607578063ef381cc5146106495761018e565b806380ebb08e1461057357806394f3f81d1461057d578063be9a6555146105c15761018e565b8063554f94db146104b357806357de26a4146104d957806363bfa88b146104f75780636a1460241461051957806375f12b21146105375780637c720555146105555761018e565b80633c8bb3e61161014b5780633fcdfe26116101255780633fcdfe26146103db5780634f0a32de1461041f5780634fd0ada81461044857806351330adc146104715761018e565b80633c8bb3e6146103015780633cff8d0b1461034d5780633ef5e4451461038f5761018e565b806307da68f514610193578063165c4a161461019d57806320531bc9146101e957806324ba5884146102335780632b9c7ee31461028b57806335b28153146102bd575b600080fd5b61019b610677565b005b6101d3600480360360408110156101b357600080fd5b810190808035906020019092919080359060200190929190505050610760565b6040518082815260200191505060405180910390f35b6101f161078c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102756004803603602081101561024957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107b2565b6040518082815260200191505060405180910390f35b6102bb600480360360208110156102a157600080fd5b81019080803561ffff1690602001909291905050506107ca565b005b6102ff600480360360208110156102d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610967565b005b6103376004803603604081101561031757600080fd5b810190808035906020019092919080359060200190929190505050610ac5565b6040518082815260200191505060405180910390f35b610355610aea565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103c5600480360360408110156103a557600080fd5b810190808035906020019092919080359060200190929190505050610ca2565b6040518082815260200191505060405180910390f35b61041d600480360360208110156103f157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cbc565b005b610427610e39565b60405180838152602001821515151581526020019250505060405180910390f35b610450610eb2565b60405180838152602001821515151581526020019250505060405180910390f35b610479610f28565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104bb610f89565b604051808261ffff1661ffff16815260200191505060405180910390f35b6104e1610f9d565b6040518082815260200191505060405180910390f35b6104ff611081565b604051808215151515815260200191505060405180910390f35b6105216110d0565b6040518082815260200191505060405180910390f35b61053f6110dc565b6040518082815260200191505060405180910390f35b61055d6110e2565b6040518082815260200191505060405180910390f35b61057b6110e8565b005b6105bf6004803603602081101561059357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061141b565b005b6105c9611579565b005b6105d3611663565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b61060561167d565b005b61060f6118de565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106756004803603602081101561065f57600080fd5b8101908080359060200190929190505050611924565b005b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461072b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f44534d2f6163636f756e742d6e6f742d617574686f72697a656400000000000081525060200191505060405180910390fd5b600180819055507fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b60405160405180910390a1565b60008082148061077d575082828385029250828161077a57fe5b04145b61078657600080fd5b92915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006020528060005260406000206000915090505481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461087e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f44534d2f6163636f756e742d6e6f742d617574686f72697a656400000000000081525060200191505060405180910390fd5b60008161ffff16116108f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f44534d2f64656c61792d69732d7a65726f00000000000000000000000000000081525060200191505060405180910390fd5b80600260146101000a81548161ffff021916908361ffff1602179055507fe5e55d7a00a8da3c2d2be2af849b5680612dc299cf26e12a879220d5f42ea231600260149054906101000a900461ffff16604051808261ffff1661ffff16815260200191505060405180910390a150565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610a1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f44534d2f6163636f756e742d6e6f742d617574686f72697a656400000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f700010281604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000670de0b6b3a7640000610ada8484610760565b81610ae157fe5b04905092915050565b6000600560000160009054906101000a90046fffffffffffffffffffffffffffffffff1690506000600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161415610b5457809050610c9f565b6000610b95600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16600354610ac5565b90506000610bf3600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16610bee610be66002670de0b6b3a7640000610760565b600354610ca2565b610ac5565b9050816fffffffffffffffffffffffffffffffff16600560000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161015610c4a57819250610c9c565b806fffffffffffffffffffffffffffffffff16600560000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161115610c9b578092505b5b50505b90565b6000818303905082811115610cb657600080fd5b92915050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f44534d2f6163636f756e742d6e6f742d617574686f72697a656400000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe64aaa084ff9fb9651f314c5d25888701090b34db4f4809b517e863c62bd8508600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600080600560000160009054906101000a90046fffffffffffffffffffffffffffffffff166001600560000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614816fffffffffffffffffffffffffffffffff169150915091509091565b600080600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166001600460000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614915091509091565b6000610f84600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16610f7f610f776002670de0b6b3a7640000610760565b600354610ca2565b610ac5565b905090565b600260149054906101000a900461ffff1681565b60006001600460000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614611048576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f44534d2f6e6f2d63757272656e742d76616c756500000000000000000000000081525060200191505060405180910390fd5b600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16905090565b60006110b7600260169054906101000a900467ffffffffffffffff16600260149054906101000a900461ffff1661ffff16611aa2565b67ffffffffffffffff166110c9611ad0565b1015905090565b670de0b6b3a764000081565b60015481565b60035481565b600060015414611160576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f44534d2f69732d73746f7070656400000000000000000000000000000000000081525060200191505060405180910390fd5b611168611081565b6111da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f44534d2f6e6f742d70617373656400000000000000000000000000000000000081525060200191505060405180910390fd5b6000806111e5611ad8565b91509150801561141757600560000160109054906101000a90046fffffffffffffffffffffffffffffffff16600460000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550611254610aea565b600460000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506040518060400160405280836fffffffffffffffffffffffffffffffff16815260200160016fffffffffffffffffffffffffffffffff16815250600560008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555090505061135c611357611ad0565b611bd3565b600260166101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507ff85e44c6c3597d176b8d59bfbf500dfdb2badfc8cf91e6d960b16583a5807e48600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16600260169054906101000a900467ffffffffffffffff16604051808381526020018267ffffffffffffffff1681526020019250505060405180910390a15b5050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146114cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f44534d2f6163636f756e742d6e6f742d617574686f72697a656400000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b90381604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461162d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f44534d2f6163636f756e742d6e6f742d617574686f72697a656400000000000081525060200191505060405180910390fd5b60006001819055507f1b55ba3aa851a46be3b365aee5b5c140edd620d578922f3e8466d2cbd96f954b60405160405180910390a1565b600260169054906101000a900467ffffffffffffffff1681565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611731576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f44534d2f6163636f756e742d6e6f742d617574686f72697a656400000000000081525060200191505060405180910390fd5b604051806040016040528060006fffffffffffffffffffffffffffffffff16815260200160006fffffffffffffffffffffffffffffffff16815250600560008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550905060046000820160009054906101000a90046fffffffffffffffffffffffffffffffff168160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506000820160109054906101000a90046fffffffffffffffffffffffffffffffff168160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550905050600180819055507f34cd470f8814066090f532fe3cb8158c5d974d7a01f4ada846dc9869e7e9d59a60405160405180910390a1565b600061191f600460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16600354610ac5565b905090565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146119d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f44534d2f6163636f756e742d6e6f742d617574686f72697a656400000000000081525060200191505060405180910390fd5b6119ef60008211670de0b6b3a76400008310611c86565b611a61576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f44534d2f696e76616c69642d646576696174696f6e000000000000000000000081525060200191505060405180910390fd5b806003819055507fedf6ef8230cfb4994eec8093a965e2c50ff9f18abcc24c33a8f0584525c8d665816040518082815260200191505060405180910390a150565b600081830190508267ffffffffffffffff168167ffffffffffffffff161015611aca57600080fd5b92915050565b600042905090565b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634fd0ada86040518163ffffffff1660e01b8152600401604080518083038186803b158015611b4257600080fd5b505afa925050508015611b8057506040513d6040811015611b6257600080fd5b81019080805190602001909291908051906020019092919050505060015b611bc6573d8060008114611bb0576040519150601f19603f3d011682016040523d82523d6000602084013e611bb5565b606091505b506000808191509250925050611bcf565b81819350935050505b9091565b600080600260149054906101000a900461ffff1661ffff161415611c5f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f44534d2f7570646174652d64656c61792d69732d7a65726f000000000000000081525060200191505060405180910390fd5b600260149054906101000a900461ffff1661ffff168281611c7c57fe5b0682039050919050565b600081831690509291505056fea26469706673582212202b54de550627616b7b046c8b123369ed4e9f7334bffeff5cb998b9acf54a71f164736f6c63430006070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000005daf352ca59fbfd4cc67a53df857bee9b29183bc0000000000000000000000000000000000000000000000000b1a2bc2ec500000
-----Decoded View---------------
Arg [0] : priceSource_ (address): 0x5daF352Ca59fbFD4cC67a53Df857BeE9b29183bC
Arg [1] : deviation (uint256): 800000000000000000
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000005daf352ca59fbfd4cc67a53df857bee9b29183bc
Arg [1] : 0000000000000000000000000000000000000000000000000b1a2bc2ec500000
Deployed Bytecode Sourcemap
150:7134:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;150:7134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;3510:90:0;;;:::i;:::-;;3237:121;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3237:121:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1284:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;191:51;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;191:51:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4466:185;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;4466:185:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;349:156;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;349:156:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3364:107;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3364:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5868:588;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3114:117;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3114:117:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3706:162;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3706:162:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6974:140;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6818:148;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6624:186;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1317:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7122:159;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4819:128;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1565:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1032:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1443:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4955:544;;;:::i;:::-;;621:162;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;621:162:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3606:92;;;:::i;:::-;;1379:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4659:152;;;:::i;:::-;;6464;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4215:243;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;4215:243:0;;;;;;;;;;;;;;;;;:::i;:::-;;3510:90;951:1;917:18;:30;936:10;917:30;;;;;;;;;;;;;;;;:35;909:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3569:1:::1;3559:7:::0;:11:::1;;;;3586:6;;;;;;;;;;3510:90::o:0;3237:121::-;3292:6;3324:1;3319;:6;:30;;;;3348:1;3343;3338;3334;:5;3330:9;;;3329:15;;;;;;:20;3319:30;3311:39;;12:1:-1;9;2:12;3311:39:0;3237:121;;;;:::o;1284:26::-;;;;;;;;;;;;;:::o;191:51::-;;;;;;;;;;;;;;;;;:::o;4466:185::-;951:1;917:18;:30;936:10;917:30;;;;;;;;;;;;;;;;:35;909:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4550:1:::1;4542:5;:9;;;4534:39;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;4598:5;4584:11;;:19;;;;;;;;;;;;;;;;;;4619:24;4631:11;;;;;;;;;;;4619:24;;;;;;;;;;;;;;;;;;;;;;4466:185:::0;:::o;349:156::-;951:1;917:18;:30;936:10;917:30;;;;;;;;;;;;;;;;:35;909:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;455:1:::1;425:18;:27:::0;444:7:::1;425:27;;;;;;;;;;;;;;;:31;;;;472:25;489:7;472:25;;;;;;;;;;;;;;;;;;;;;;349:156:::0;:::o;3364:107::-;3420:6;1595:8;3443:14;3452:1;3455;3443:8;:14::i;:::-;:20;;;;;;3439:24;;3364:107;;;;:::o;5868:588::-;5920:20;5968:8;:14;;;;;;;;;;;;5953:29;;6018:1;5997:11;:17;;;;;;;;;;;;:22;;;5993:47;;;6028:12;6021:19;;;;5993:47;6053:18;6082:53;6097:11;:17;;;;;;;;;;;;6092:23;;6117:17;;6082:9;:53::i;:::-;6053:83;;6147:18;6176:87;6191:11;:17;;;;;;;;;;;;6186:23;;6211:51;6220:22;6234:1;1595:8;6220;:22::i;:::-;6244:17;;6211:8;:51::i;:::-;6176:9;:87::i;:::-;6147:117;;6298:10;6281:27;;:8;:14;;;;;;;;;;;;:27;;;6277:172;;;6338:10;6323:25;;6277:172;;;6387:10;6370:27;;:8;:14;;;;;;;;;;;;:27;;;6366:83;;;6427:10;6412:25;;6366:83;6277:172;5868:588;;;;:::o;3114:117::-;3169:6;3196:1;3192;:5;3188:9;;3221:1;3216;:6;;3208:15;;12:1:-1;9;2:12;3208:15:0;3114:117;;;;:::o;3706:162::-;951:1;917:18;:30;936:10;917:30;;;;;;;;;;;;;;;;:35;909:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3802:12:::1;3788:11;;:26;;;;;;;;;;;;;;;;;;3830:30;3848:11;;;;;;;;;;;3830:30;;;;;;;;;;;;;;;;;;;;;;3706:162:::0;:::o;6974:140::-;7034:7;7043:4;7068:8;:14;;;;;;;;;;;;7104:1;7084:8;:16;;;;;;;;;;;;:21;;;7060:46;;;;;;;;;6974:140;;:::o;6818:148::-;6874:7;6883:4;6913:11;:17;;;;;;;;;;;;6908:23;;6956:1;6933:11;:19;;;;;;;;;;;;:24;;;6900:58;;;;6818:148;;:::o;6624:186::-;6679:7;6714:87;6729:11;:17;;;;;;;;;;;;6724:23;;6749:51;6758:22;6772:1;1595:8;6758;:22::i;:::-;6782:17;;6749:8;:51::i;:::-;6714:9;:87::i;:::-;6699:103;;6624:186;:::o;1317:37::-;;;;;;;;;;;;;:::o;7122:159::-;7161:7;7212:1;7189:11;:19;;;;;;;;;;;;:24;;;7181:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7256:11;:17;;;;;;;;;;;;7249:24;;;;7122:159;:::o;4819:128::-;4863:7;4907:32;4911:14;;;;;;;;;;;4927:11;;;;;;;;;;;4907:32;;:3;:32::i;:::-;4890:49;;:13;:11;:13::i;:::-;:49;;4883:56;;4819:128;:::o;1565:38::-;1595:8;1565:38;:::o;1032:22::-;;;;:::o;1443:32::-;;;;:::o;4955:544::-;1101:1;1090:7;;:12;1082:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5017:13:::1;:11;:13::i;:::-;5009:40;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5061:22;5085:18:::0;5107:22:::1;:20;:22::i;:::-;5060:69;;;;5144:13;5140:352;;;5196:8;:16;;;;;;;;;;;;5174:11;:19;;;:38;;;;;;;;;;;;;;;;;;5249:21;:19;:21::i;:::-;5227:11;:17;;;:43;;;;;;;;;;;;;;;;;;5307:32;;;;;;;;5320:14;5307:32;;;;;;5337:1;5307:32;;;;::::0;5285:8:::1;:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5376:31;5393:13;:11;:13::i;:::-;5376:16;:31::i;:::-;5354:14;;:53;;;;;;;;;;;;;;;;;;5427;5445:11;:17;;;;;;;;;;;;5440:23;;5465:14;;;;;;;;;;;5427:53;;;;;;;;;;;;;;;;;;;;;;;;;;5140:352;1123:1;;4955:544::o:0;621:162::-;951:1;917:18;:30;936:10;917:30;;;;;;;;;;;;;;;;:35;909:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;730:1:::1;700:18:::0;:27:::1;719:7;700:27;;;;;;;;;;;;;;;:31;;;;747:28;767:7;747:28;;;;;;;;;;;;;;;;;;;;;;621:162:::0;:::o;3606:92::-;951:1;917:18;:30;936:10;917:30;;;;;;;;;;;;;;;;:35;909:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3666:1:::1;3656:7;:11;;;;3683:7;;;;;;;;;;3606:92::o:0;1379:29::-;;;;;;;;;;;;;:::o;4659:152::-;951:1;917:18;:30;936:10;917:30;;;;;;;;;;;;;;;;:35;909:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4741:10:::1;;;;;;;;4746:1;4741:10;;;;;;4749:1;4741:10;;;;::::0;4730:8:::1;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4716:11;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4772:1;4762:7:::0;:11:::1;;;;4789:14;;;;;;;;;;4659:152::o:0;6464:::-;6519:7;6554:53;6569:11;:17;;;;;;;;;;;;6564:23;;6589:17;;6554:9;:53::i;:::-;6539:69;;6464:152;:::o;4215:243::-;951:1;917:18;:30;936:10;917:30;;;;;;;;;;;;;;;;:35;909:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4306:36:::1;4323:1;4311:9;:13;1595:8;4326:9;:15;4306:4;:36::i;:::-;4298:70;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;4399:9;4379:17;:29;;;;4424:26;4440:9;4424:26;;;;;;;;;;;;;;;;;;4215:243:::0;:::o;1156:120::-;1212:8;1241:1;1237;:5;1233:9;;1266:1;1261:6;;:1;:6;;;;1253:15;;12:1:-1;9;2:12;1253:15:0;1156:120;;;;:::o;3898:93::-;3944:4;3968:15;3961:22;;3898:93;:::o;5531:329::-;5586:7;5595:4;5628:11;;;;;;;;;;;5616:46;;;:48;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5616:48:0;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;5616:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5612:241;;;12:1:-1;19;14:27;;;;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;;5832:1:0;5835:5;5824:17;;;;;;;;;;5612:241;5739:14;5755:13;5731:38;;;;;;5531:329;;;:::o;3999:208::-;4064:6;4106:1;4091:11;;;;;;;;;;;:16;;;;4083:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4186:11;;;;;;;;;;;4174:23;;:9;:23;;;;;;4161:9;:37;4147:52;;3999:208;;;:::o;2981:104::-;3034:6;3075:1;3072;3068:9;3063:14;;3061:17;;;;:::o
Swarm Source
ipfs://2b54de550627616b7b046c8b123369ed4e9f7334bffeff5cb998b9acf54a71f1
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.