Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ESM
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-02-02 */ // SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity >=0.6.12; ////// src/ESM.sol /// ESM.sol // Copyright (C) 2019-2022 Dai Foundation // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. /* pragma solidity >=0.6.12; */ interface GemLike { function balanceOf(address) external view returns (uint256); function burn(uint256) external; function transfer(address, uint256) external returns (bool); function transferFrom(address, address, uint256) external returns (bool); } interface EndLike { function live() external view returns (uint256); function vat() external view returns (address); function cage() external; } interface DenyLike { function deny(address) external; } contract ESM { uint256 constant WAD = 10 ** 18; GemLike public immutable gem; // collateral (MKR token) address public immutable proxy; // Pause proxy mapping(address => uint256) public wards; // auth mapping(address => uint256) public sum; // per-address balance uint256 public Sum; // total balance uint256 public min; // minimum activation threshold [wad] EndLike public end; // cage module uint256 public live; // active flag event Fire(); event Join(address indexed usr, uint256 wad); event File(bytes32 indexed what, uint256 data); event File(bytes32 indexed what, address data); event Rely(address indexed usr); event Deny(address indexed usr); event DenyProxy(address indexed base, address indexed pause); constructor(address gem_, address end_, address proxy_, uint256 min_) public { gem = GemLike(gem_); end = EndLike(end_); proxy = proxy_; min = min_; live = 1; wards[msg.sender] = 1; emit Rely(msg.sender); } function revokesGovernanceAccess() external view returns (bool ret) { ret = proxy != address(0); } // -- math -- function add(uint256 x, uint256 y) internal pure returns (uint256 z) { z = x + y; require(z >= x); } // --- Auth --- function rely(address usr) external auth { wards[usr] = 1; emit Rely(usr); } function deny(address usr) external auth { wards[usr] = 0; emit Deny(usr); } modifier auth { require(wards[msg.sender] == 1, "ESM/not-authorized"); _; } // -- admin -- function file(bytes32 what, uint256 data) external auth { if (what == "min") { require(data > WAD, "ESM/min-too-small"); min = data; } else { revert("ESM/file-unrecognized-param"); } emit File(what, data); } function file(bytes32 what, address data) external auth { if (what == "end") { end = EndLike(data); } else { revert("ESM/file-unrecognized-param"); } emit File(what, data); } function cage() external auth { live = 0; } function fire() external { require(live == 1, "ESM/permanently-disabled"); require(Sum >= min, "ESM/min-not-reached"); if (proxy != address(0)) { DenyLike(end.vat()).deny(proxy); } end.cage(); emit Fire(); } function denyProxy(address target) external { require(live == 1, "ESM/permanently-disabled"); require(Sum >= min, "ESM/min-not-reached"); DenyLike(target).deny(proxy); emit DenyProxy(target, proxy); } function join(uint256 wad) external { require(live == 1, "ESM/permanently-disabled"); require(end.live() == 1, "ESM/system-already-shutdown"); sum[msg.sender] = add(sum[msg.sender], wad); Sum = add(Sum, wad); require(gem.transferFrom(msg.sender, address(this), wad), "ESM/transfer-failed"); emit Join(msg.sender, wad); } function burn() external { gem.burn(gem.balanceOf(address(this))); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"gem_","type":"address"},{"internalType":"address","name":"end_","type":"address"},{"internalType":"address","name":"proxy_","type":"address"},{"internalType":"uint256","name":"min_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Deny","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"base","type":"address"},{"indexed":true,"internalType":"address","name":"pause","type":"address"}],"name":"DenyProxy","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"what","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"data","type":"uint256"}],"name":"File","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"what","type":"bytes32"},{"indexed":false,"internalType":"address","name":"data","type":"address"}],"name":"File","type":"event"},{"anonymous":false,"inputs":[],"name":"Fire","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Join","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Rely","type":"event"},{"inputs":[],"name":"Sum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"deny","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"denyProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"end","outputs":[{"internalType":"contract EndLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"what","type":"bytes32"},{"internalType":"uint256","name":"data","type":"uint256"}],"name":"file","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"what","type":"bytes32"},{"internalType":"address","name":"data","type":"address"}],"name":"file","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fire","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gem","outputs":[{"internalType":"contract GemLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"join","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"live","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"min","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"rely","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revokesGovernanceAccess","outputs":[{"internalType":"bool","name":"ret","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"sum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60c060405234801561001057600080fd5b506040516119703803806119708339818101604052608081101561003357600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050508373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b8152505082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b8152505080600381905550600160058190555060016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a6060405160405180910390a25050505060805160601c60a05160601c6117746101fc6000398061096a52806109ef5280610a855280610f30528061102a52806116d65250806106af5280610cd85280610d14528061135c52506117746000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80637bd2bea7116100a2578063bf353dbb11610071578063bf353dbb14610353578063d4e8be83146103ab578063ec556889146103f9578063efbe1c1c1461042d578063f88979451461046157610116565b80637bd2bea7146102655780637e459c6014610299578063957aa58c146102f15780639c52a7f11461030f57610116565b806337be827d116100e957806337be827d146101e557806344df8e7014610203578063457094cc1461020d57806365fae35e14610217578063692450091461025b57610116565b8063049878f31461011b5780630715940e1461014957806314c7bbd51461018d57806329ae8114146101ad575b600080fd5b6101476004803603602081101561013157600080fd5b810190808035906020019092919050505061047f565b005b61018b6004803603602081101561015f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061085a565b005b610195610a6a565b60405180821515815260200191505060405180910390f35b6101e3600480360360408110156101c357600080fd5b810190808035906020019092919080359060200190929190505050610ac1565b005b6101ed610cd0565b6040518082815260200191505060405180910390f35b61020b610cd6565b005b610215610e24565b005b6102596004803603602081101561022d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061115e565b005b61026361129c565b005b61026d61135a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102db600480360360208110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061137e565b6040518082815260200191505060405180910390f35b6102f9611396565b6040518082815260200191505060405180910390f35b6103516004803603602081101561032557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061139c565b005b6103956004803603602081101561036957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114da565b6040518082815260200191505060405180910390f35b6103f7600480360360408110156103c157600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114f2565b005b6104016116d4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104356116f8565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61046961171e565b6040518082815260200191505060405180910390f35b6001600554146104f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f45534d2f7065726d616e656e746c792d64697361626c6564000000000000000081525060200191505060405180910390fd5b6001600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663957aa58c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561056157600080fd5b505afa158015610575573d6000803e3d6000fd5b505050506040513d602081101561058b57600080fd5b81019080805190602001909291905050501461060f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f45534d2f73797374656d2d616c72656164792d73687574646f776e000000000081525060200191505060405180910390fd5b610658600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611724565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506106a760025482611724565b6002819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561075c57600080fd5b505af1158015610770573d6000803e3d6000fd5b505050506040513d602081101561078657600080fd5b8101908080519060200190929190505050610809576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f7472616e736665722d6661696c65640000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fb4e09949657f21548b58afe74e7b86cd2295da5ff1598ae1e5faecb1cf19ca95826040518082815260200191505060405180910390a250565b6001600554146108d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f45534d2f7065726d616e656e746c792d64697361626c6564000000000000000081525060200191505060405180910390fd5b600354600254101561094c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f6d696e2d6e6f742d726561636865640000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16639c52a7f17f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156109d557600080fd5b505af11580156109e9573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f74269424d52f84560e5738dd2769b61b0e04d5c87c87ca043a1e005e0722a67860405160405180910390a350565b60008073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff161415905090565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610b75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f45534d2f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b7f6d696e0000000000000000000000000000000000000000000000000000000000821415610c2657670de0b6b3a76400008111610c1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f45534d2f6d696e2d746f6f2d736d616c6c00000000000000000000000000000081525060200191505060405180910390fd5b80600381905550610c94565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f45534d2f66696c652d756e7265636f676e697a65642d706172616d000000000081525060200191505060405180910390fd5b817fe986e40cc8c151830d4f61050f4fb2e4add8567caad2d5f5496f9158e91fe4c7826040518082815260200191505060405180910390a25050565b60025481565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166342966c687f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610d9957600080fd5b505afa158015610dad573d6000803e3d6000fd5b505050506040513d6020811015610dc357600080fd5b81019080805190602001909291905050506040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610e0a57600080fd5b505af1158015610e1e573d6000803e3d6000fd5b50505050565b600160055414610e9c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f45534d2f7065726d616e656e746c792d64697361626c6564000000000000000081525060200191505060405180910390fd5b6003546002541015610f16576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f6d696e2d6e6f742d726561636865640000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16146110ae57600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166336569e776040518163ffffffff1660e01b815260040160206040518083038186803b158015610fd257600080fd5b505afa158015610fe6573d6000803e3d6000fd5b505050506040513d6020811015610ffc57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16639c52a7f17f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561109557600080fd5b505af11580156110a9573d6000803e3d6000fd5b505050505b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663692450096040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561111857600080fd5b505af115801561112c573d6000803e3d6000fd5b505050507f14c539ef1ff6ef515371448cd46419fd75ebb8698b7f6644c4f66b03b032708560405160405180910390a1565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611212576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f45534d2f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a6060405160405180910390a250565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611350576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f45534d2f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b6000600581905550565b7f000000000000000000000000000000000000000000000000000000000000000081565b60016020528060005260406000206000915090505481565b60055481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611450576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f45534d2f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b60405160405180910390a250565b60006020528060005260406000206000915090505481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146115a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f45534d2f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b7f656e6400000000000000000000000000000000000000000000000000000000008214156116145780600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611682565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f45534d2f66696c652d756e7265636f676e697a65642d706172616d000000000081525060200191505060405180910390fd5b817f8fef588b5fc1afbf5b2f06c1a435d513f208da2e6704c3d8f0e0ec91167066ba82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b600081830190508281101561173857600080fd5b9291505056fea2646970667358221220f73118f1bab39dd398899b11ce3c935cf17c6c504942c0e6ddee6fc7205144a764736f6c634300060c00330000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2000000000000000000000000bb856d1742fd182a90239d7ae85706c2fe4e5922000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb00000000000000000000000000000000000000000000152d02c7e14af6800000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101165760003560e01c80637bd2bea7116100a2578063bf353dbb11610071578063bf353dbb14610353578063d4e8be83146103ab578063ec556889146103f9578063efbe1c1c1461042d578063f88979451461046157610116565b80637bd2bea7146102655780637e459c6014610299578063957aa58c146102f15780639c52a7f11461030f57610116565b806337be827d116100e957806337be827d146101e557806344df8e7014610203578063457094cc1461020d57806365fae35e14610217578063692450091461025b57610116565b8063049878f31461011b5780630715940e1461014957806314c7bbd51461018d57806329ae8114146101ad575b600080fd5b6101476004803603602081101561013157600080fd5b810190808035906020019092919050505061047f565b005b61018b6004803603602081101561015f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061085a565b005b610195610a6a565b60405180821515815260200191505060405180910390f35b6101e3600480360360408110156101c357600080fd5b810190808035906020019092919080359060200190929190505050610ac1565b005b6101ed610cd0565b6040518082815260200191505060405180910390f35b61020b610cd6565b005b610215610e24565b005b6102596004803603602081101561022d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061115e565b005b61026361129c565b005b61026d61135a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102db600480360360208110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061137e565b6040518082815260200191505060405180910390f35b6102f9611396565b6040518082815260200191505060405180910390f35b6103516004803603602081101561032557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061139c565b005b6103956004803603602081101561036957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114da565b6040518082815260200191505060405180910390f35b6103f7600480360360408110156103c157600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114f2565b005b6104016116d4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104356116f8565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61046961171e565b6040518082815260200191505060405180910390f35b6001600554146104f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f45534d2f7065726d616e656e746c792d64697361626c6564000000000000000081525060200191505060405180910390fd5b6001600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663957aa58c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561056157600080fd5b505afa158015610575573d6000803e3d6000fd5b505050506040513d602081101561058b57600080fd5b81019080805190602001909291905050501461060f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f45534d2f73797374656d2d616c72656164792d73687574646f776e000000000081525060200191505060405180910390fd5b610658600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611724565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506106a760025482611724565b6002819055507f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561075c57600080fd5b505af1158015610770573d6000803e3d6000fd5b505050506040513d602081101561078657600080fd5b8101908080519060200190929190505050610809576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f7472616e736665722d6661696c65640000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fb4e09949657f21548b58afe74e7b86cd2295da5ff1598ae1e5faecb1cf19ca95826040518082815260200191505060405180910390a250565b6001600554146108d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f45534d2f7065726d616e656e746c792d64697361626c6564000000000000000081525060200191505060405180910390fd5b600354600254101561094c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f6d696e2d6e6f742d726561636865640000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16639c52a7f17f000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156109d557600080fd5b505af11580156109e9573d6000803e3d6000fd5b505050507f000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f74269424d52f84560e5738dd2769b61b0e04d5c87c87ca043a1e005e0722a67860405160405180910390a350565b60008073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb73ffffffffffffffffffffffffffffffffffffffff161415905090565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610b75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f45534d2f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b7f6d696e0000000000000000000000000000000000000000000000000000000000821415610c2657670de0b6b3a76400008111610c1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f45534d2f6d696e2d746f6f2d736d616c6c00000000000000000000000000000081525060200191505060405180910390fd5b80600381905550610c94565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f45534d2f66696c652d756e7265636f676e697a65642d706172616d000000000081525060200191505060405180910390fd5b817fe986e40cc8c151830d4f61050f4fb2e4add8567caad2d5f5496f9158e91fe4c7826040518082815260200191505060405180910390a25050565b60025481565b7f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a273ffffffffffffffffffffffffffffffffffffffff166342966c687f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610d9957600080fd5b505afa158015610dad573d6000803e3d6000fd5b505050506040513d6020811015610dc357600080fd5b81019080805190602001909291905050506040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610e0a57600080fd5b505af1158015610e1e573d6000803e3d6000fd5b50505050565b600160055414610e9c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f45534d2f7065726d616e656e746c792d64697361626c6564000000000000000081525060200191505060405180910390fd5b6003546002541015610f16576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f6d696e2d6e6f742d726561636865640000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb73ffffffffffffffffffffffffffffffffffffffff16146110ae57600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166336569e776040518163ffffffff1660e01b815260040160206040518083038186803b158015610fd257600080fd5b505afa158015610fe6573d6000803e3d6000fd5b505050506040513d6020811015610ffc57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16639c52a7f17f000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561109557600080fd5b505af11580156110a9573d6000803e3d6000fd5b505050505b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663692450096040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561111857600080fd5b505af115801561112c573d6000803e3d6000fd5b505050507f14c539ef1ff6ef515371448cd46419fd75ebb8698b7f6644c4f66b03b032708560405160405180910390a1565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611212576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f45534d2f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a6060405160405180910390a250565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611350576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f45534d2f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b6000600581905550565b7f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a281565b60016020528060005260406000206000915090505481565b60055481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611450576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f45534d2f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b60405160405180910390a250565b60006020528060005260406000206000915090505481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146115a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f45534d2f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b7f656e6400000000000000000000000000000000000000000000000000000000008214156116145780600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611682565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f45534d2f66696c652d756e7265636f676e697a65642d706172616d000000000081525060200191505060405180910390fd5b817f8fef588b5fc1afbf5b2f06c1a435d513f208da2e6704c3d8f0e0ec91167066ba82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25050565b7f000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb81565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b600081830190508281101561173857600080fd5b9291505056fea2646970667358221220f73118f1bab39dd398899b11ce3c935cf17c6c504942c0e6ddee6fc7205144a764736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2000000000000000000000000bb856d1742fd182a90239d7ae85706c2fe4e5922000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb00000000000000000000000000000000000000000000152d02c7e14af6800000
-----Decoded View---------------
Arg [0] : gem_ (address): 0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2
Arg [1] : end_ (address): 0xBB856d1742fD182a90239D7AE85706C2FE4e5922
Arg [2] : proxy_ (address): 0xBE8E3e3618f7474F8cB1d074A26afFef007E98FB
Arg [3] : min_ (uint256): 100000000000000000000000
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2
Arg [1] : 000000000000000000000000bb856d1742fd182a90239d7ae85706c2fe4e5922
Arg [2] : 000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb
Arg [3] : 00000000000000000000000000000000000000000000152d02c7e14af6800000
Deployed Bytecode Sourcemap
1389:3366:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4279:383;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4028:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2491:112;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3124:289;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1695:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4670:82;;;:::i;:::-;;3737:283;;;:::i;:::-;;2782:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3672:57;;;:::i;:::-;;1451:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1623:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1843:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2891:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1568:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3421:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1514:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1802:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1738;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4279:383;4342:1;4334:4;;:9;4326:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4405:1;4391:3;;;;;;;;;;;:8;;;:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:15;4383:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4469:25;4473:3;:15;4477:10;4473:15;;;;;;;;;;;;;;;;4490:3;4469;:25::i;:::-;4451:3;:15;4455:10;4451:15;;;;;;;;;;;;;;;:43;;;;4511:13;4515:3;;4520;4511;:13::i;:::-;4505:3;:19;;;;4545:3;:16;;;4562:10;4582:4;4589:3;4545:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4537:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4638:10;4633:21;;;4650:3;4633:21;;;;;;;;;;;;;;;;;;4279:383;:::o;4028:243::-;4099:1;4091:4;;:9;4083:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4155:3;;4148;;:10;;4140:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4204:6;4195:21;;;4217:5;4195:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4257:5;4239:24;;4249:6;4239:24;;;;;;;;;;;;4028:243;:::o;2491:112::-;2549:8;2593:1;2576:19;;:5;:19;;;;2570:25;;2491:112;:::o;3124:289::-;3052:1;3031:5;:17;3037:10;3031:17;;;;;;;;;;;;;;;;:22;3023:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3195:13:::1;:4;:13;3191:181;;;1434:8;3233:4;:10;3225:40;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;3286:4;3280:3;:10;;;;3191:181;;;3323:37;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;3191:181;3394:4;3389:16;3400:4;3389:16;;;;;;;;;;;;;;;;;;3124:289:::0;;:::o;1695:18::-;;;;:::o;4670:82::-;4706:3;:8;;;4715:3;:13;;;4737:4;4715:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4706:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4670:82::o;3737:283::-;3789:1;3781:4;;:9;3773:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3845:3;;3838;;:10;;3830:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3906:1;3889:19;;:5;:19;;;3885:83;;3934:3;;;;;;;;;;;:7;;;:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3925:24;;;3950:5;3925:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3885:83;3978:3;;;;;;;;;;;:8;;;:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4006:6;;;;;;;;;;3737:283::o;2782:101::-;3052:1;3031:5;:17;3037:10;3031:17;;;;;;;;;;;;;;;;:22;3023:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2847:1:::1;2834:5;:10:::0;2840:3:::1;2834:10;;;;;;;;;;;;;;;:14;;;;2871:3;2866:9;;;;;;;;;;;;2782:101:::0;:::o;3672:57::-;3052:1;3031:5;:17;3037:10;3031:17;;;;;;;;;;;;;;;;:22;3023:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3720:1:::1;3713:4;:8;;;;3672:57::o:0;1451:28::-;;;:::o;1623:38::-;;;;;;;;;;;;;;;;;:::o;1843:19::-;;;;:::o;2891:101::-;3052:1;3031:5;:17;3037:10;3031:17;;;;;;;;;;;;;;;;:22;3023:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2956:1:::1;2943:5:::0;:10:::1;2949:3;2943:10;;;;;;;;;;;;;;;:14;;;;2980:3;2975:9;;;;;;;;;;;;2891:101:::0;:::o;1568:40::-;;;;;;;;;;;;;;;;;:::o;3421:243::-;3052:1;3031:5;:17;3037:10;3031:17;;;;;;;;;;;;;;;;:22;3023:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3492:13:::1;:4;:13;3488:135;;;3536:4;3522:3;;:19;;;;;;;;;;;;;;;;;;3488:135;;;3574:37;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;3488:135;3645:4;3640:16;3651:4;3640:16;;;;;;;;;;;;;;;;;;;;3421:243:::0;;:::o;1514:30::-;;;:::o;1802:18::-;;;;;;;;;;;;;:::o;1738:::-;;;;:::o;2630:123::-;2688:9;2718:1;2714;:5;2710:9;;2743:1;2738;:6;;2730:15;;;;;;2630:123;;;;:::o
Swarm Source
ipfs://f73118f1bab39dd398899b11ce3c935cf17c6c504942c0e6ddee6fc7205144a7
Loading...
Loading
Loading...
Loading
OVERVIEW
Sky (formerly Maker) enables users to get rewarded for non-custodial savings.Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $962.92 | 0.00130587 | $1.26 |
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.