More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 4,723 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Free | 19218330 | 368 days ago | IN | 0 ETH | 0.0017803 | ||||
Free | 17806717 | 566 days ago | IN | 0 ETH | 0.00196235 | ||||
Etch | 17751530 | 573 days ago | IN | 0 ETH | 0.00104063 | ||||
Free | 15586536 | 877 days ago | IN | 0 ETH | 0.00050153 | ||||
Vote | 15044882 | 962 days ago | IN | 0 ETH | 0.00111335 | ||||
Etch | 15044865 | 962 days ago | IN | 0 ETH | 0.00085045 | ||||
Vote | 15044855 | 962 days ago | IN | 0 ETH | 0.00257486 | ||||
Free | 14767721 | 1009 days ago | IN | 0 ETH | 0.00684944 | ||||
Free | 14738935 | 1013 days ago | IN | 0 ETH | 0.00185308 | ||||
Free | 14588899 | 1037 days ago | IN | 0 ETH | 0.00321927 | ||||
Free | 14583832 | 1038 days ago | IN | 0 ETH | 0.00460369 | ||||
Free | 14179992 | 1101 days ago | IN | 0 ETH | 0.00699616 | ||||
Free | 13835003 | 1154 days ago | IN | 0 ETH | 0.00356296 | ||||
Free | 13663877 | 1181 days ago | IN | 0 ETH | 0.01225224 | ||||
Free | 13406389 | 1221 days ago | IN | 0 ETH | 0.00701286 | ||||
Free | 13372577 | 1227 days ago | IN | 0 ETH | 0.00787534 | ||||
Free | 13056926 | 1276 days ago | IN | 0 ETH | 0.00320505 | ||||
Free | 12837831 | 1310 days ago | IN | 0 ETH | 0.00186809 | ||||
Free | 12801939 | 1315 days ago | IN | 0 ETH | 0.00115929 | ||||
Free | 12794621 | 1317 days ago | IN | 0 ETH | 0.00202708 | ||||
Free | 12706687 | 1330 days ago | IN | 0 ETH | 0.00057916 | ||||
Free | 12669929 | 1336 days ago | IN | 0 ETH | 0.00055848 | ||||
Free | 12625692 | 1343 days ago | IN | 0 ETH | 0.00072384 | ||||
Free | 12608083 | 1346 days ago | IN | 0 ETH | 0.00080354 | ||||
Free | 12605998 | 1346 days ago | IN | 0 ETH | 0.00171566 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
7705361 | 2112 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
DSChief
Compiler Version
v0.5.6+commit.b259423e
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-05-08 */ // hevm: flattened sources of src/chief.sol pragma solidity >=0.4.23; ////// lib/ds-roles/lib/ds-auth/src/auth.sol // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU 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 General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. /* pragma solidity >=0.4.23; */ contract DSAuthority { function canCall( address src, address dst, bytes4 sig ) public view returns (bool); } contract DSAuthEvents { event LogSetAuthority (address indexed authority); event LogSetOwner (address indexed owner); } contract DSAuth is DSAuthEvents { DSAuthority public authority; address public owner; constructor() public { owner = msg.sender; emit LogSetOwner(msg.sender); } function setOwner(address owner_) public auth { owner = owner_; emit LogSetOwner(owner); } function setAuthority(DSAuthority authority_) public auth { authority = authority_; emit LogSetAuthority(address(authority)); } modifier auth { require(isAuthorized(msg.sender, msg.sig), "ds-auth-unauthorized"); _; } function isAuthorized(address src, bytes4 sig) internal view returns (bool) { if (src == address(this)) { return true; } else if (src == owner) { return true; } else if (authority == DSAuthority(0)) { return false; } else { return authority.canCall(src, address(this), sig); } } } ////// lib/ds-roles/src/roles.sol // roles.sol - roled based authentication // Copyright (C) 2017 DappHub, LLC // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU 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 General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. /* pragma solidity >=0.4.23; */ /* import 'ds-auth/auth.sol'; */ contract DSRoles is DSAuth, DSAuthority { mapping(address=>bool) _root_users; mapping(address=>bytes32) _user_roles; mapping(address=>mapping(bytes4=>bytes32)) _capability_roles; mapping(address=>mapping(bytes4=>bool)) _public_capabilities; function getUserRoles(address who) public view returns (bytes32) { return _user_roles[who]; } function getCapabilityRoles(address code, bytes4 sig) public view returns (bytes32) { return _capability_roles[code][sig]; } function isUserRoot(address who) public view returns (bool) { return _root_users[who]; } function isCapabilityPublic(address code, bytes4 sig) public view returns (bool) { return _public_capabilities[code][sig]; } function hasUserRole(address who, uint8 role) public view returns (bool) { bytes32 roles = getUserRoles(who); bytes32 shifted = bytes32(uint256(uint256(2) ** uint256(role))); return bytes32(0) != roles & shifted; } function canCall(address caller, address code, bytes4 sig) public view returns (bool) { if( isUserRoot(caller) || isCapabilityPublic(code, sig) ) { return true; } else { bytes32 has_roles = getUserRoles(caller); bytes32 needs_one_of = getCapabilityRoles(code, sig); return bytes32(0) != has_roles & needs_one_of; } } function BITNOT(bytes32 input) internal pure returns (bytes32 output) { return (input ^ bytes32(uint(-1))); } function setRootUser(address who, bool enabled) public auth { _root_users[who] = enabled; } function setUserRole(address who, uint8 role, bool enabled) public auth { bytes32 last_roles = _user_roles[who]; bytes32 shifted = bytes32(uint256(uint256(2) ** uint256(role))); if( enabled ) { _user_roles[who] = last_roles | shifted; } else { _user_roles[who] = last_roles & BITNOT(shifted); } } function setPublicCapability(address code, bytes4 sig, bool enabled) public auth { _public_capabilities[code][sig] = enabled; } function setRoleCapability(uint8 role, address code, bytes4 sig, bool enabled) public auth { bytes32 last_roles = _capability_roles[code][sig]; bytes32 shifted = bytes32(uint256(uint256(2) ** uint256(role))); if( enabled ) { _capability_roles[code][sig] = last_roles | shifted; } else { _capability_roles[code][sig] = last_roles & BITNOT(shifted); } } } ////// lib/ds-thing/lib/ds-math/src/math.sol /// math.sol -- mixin for inline numerical wizardry // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU 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 General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. /* pragma solidity >0.4.13; */ contract DSMath { function add(uint x, uint y) internal pure returns (uint z) { require((z = x + y) >= x, "ds-math-add-overflow"); } function sub(uint x, uint y) internal pure returns (uint z) { require((z = x - y) <= x, "ds-math-sub-underflow"); } function mul(uint x, uint y) internal pure returns (uint z) { require(y == 0 || (z = x * y) / y == x, "ds-math-mul-overflow"); } function min(uint x, uint y) internal pure returns (uint z) { return x <= y ? x : y; } function max(uint x, uint y) internal pure returns (uint z) { return x >= y ? x : y; } function imin(int x, int y) internal pure returns (int z) { return x <= y ? x : y; } function imax(int x, int y) internal pure returns (int z) { return x >= y ? x : y; } uint constant WAD = 10 ** 18; uint constant RAY = 10 ** 27; function wmul(uint x, uint y) internal pure returns (uint z) { z = add(mul(x, y), WAD / 2) / WAD; } function rmul(uint x, uint y) internal pure returns (uint z) { z = add(mul(x, y), RAY / 2) / RAY; } function wdiv(uint x, uint y) internal pure returns (uint z) { z = add(mul(x, WAD), y / 2) / y; } function rdiv(uint x, uint y) internal pure returns (uint z) { z = add(mul(x, RAY), y / 2) / y; } // This famous algorithm is called "exponentiation by squaring" // and calculates x^n with x as fixed-point and n as regular unsigned. // // It's O(log n), instead of O(n) for naive repeated multiplication. // // These facts are why it works: // // If n is even, then x^n = (x^2)^(n/2). // If n is odd, then x^n = x * x^(n-1), // and applying the equation for even x gives // x^n = x * (x^2)^((n-1) / 2). // // Also, EVM division is flooring and // floor[(n-1) / 2] = floor[n / 2]. // function rpow(uint x, uint n) internal pure returns (uint z) { z = n % 2 != 0 ? x : RAY; for (n /= 2; n != 0; n /= 2) { x = rmul(x, x); if (n % 2 != 0) { z = rmul(z, x); } } } } ////// lib/ds-thing/lib/ds-note/src/note.sol /// note.sol -- the `note' modifier, for logging calls as events // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU 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 General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. /* pragma solidity >=0.4.23; */ contract DSNote { event LogNote( bytes4 indexed sig, address indexed guy, bytes32 indexed foo, bytes32 indexed bar, uint256 wad, bytes fax ) anonymous; modifier note { bytes32 foo; bytes32 bar; uint256 wad; assembly { foo := calldataload(4) bar := calldataload(36) wad := callvalue } emit LogNote(msg.sig, msg.sender, foo, bar, wad, msg.data); _; } } ////// lib/ds-thing/src/thing.sol // thing.sol - `auth` with handy mixins. your things should be DSThings // Copyright (C) 2017 DappHub, LLC // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU 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 General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. /* pragma solidity >=0.4.23; */ /* import 'ds-auth/auth.sol'; */ /* import 'ds-note/note.sol'; */ /* import 'ds-math/math.sol'; */ contract DSThing is DSAuth, DSNote, DSMath { function S(string memory s) internal pure returns (bytes4) { return bytes4(keccak256(abi.encodePacked(s))); } } ////// lib/ds-token/lib/ds-stop/src/stop.sol /// stop.sol -- mixin for enable/disable functionality // Copyright (C) 2017 DappHub, LLC // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU 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 General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. /* pragma solidity >=0.4.23; */ /* import "ds-auth/auth.sol"; */ /* import "ds-note/note.sol"; */ contract DSStop is DSNote, DSAuth { bool public stopped; modifier stoppable { require(!stopped, "ds-stop-is-stopped"); _; } function stop() public auth note { stopped = true; } function start() public auth note { stopped = false; } } ////// lib/ds-token/lib/erc20/src/erc20.sol /// erc20.sol -- API for the ERC20 token standard // See <https://github.com/ethereum/EIPs/issues/20>. // This file likely does not meet the threshold of originality // required for copyright to apply. As a result, this is free and // unencumbered software belonging to the public domain. /* pragma solidity >0.4.20; */ contract ERC20Events { event Approval(address indexed src, address indexed guy, uint wad); event Transfer(address indexed src, address indexed dst, uint wad); } contract ERC20 is ERC20Events { function totalSupply() public view returns (uint); function balanceOf(address guy) public view returns (uint); function allowance(address src, address guy) public view returns (uint); function approve(address guy, uint wad) public returns (bool); function transfer(address dst, uint wad) public returns (bool); function transferFrom( address src, address dst, uint wad ) public returns (bool); } ////// lib/ds-token/src/base.sol /// base.sol -- basic ERC20 implementation // Copyright (C) 2015, 2016, 2017 DappHub, LLC // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU 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 General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. /* pragma solidity >=0.4.23; */ /* import "erc20/erc20.sol"; */ /* import "ds-math/math.sol"; */ contract DSTokenBase is ERC20, DSMath { uint256 _supply; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _approvals; constructor(uint supply) public { _balances[msg.sender] = supply; _supply = supply; } function totalSupply() public view returns (uint) { return _supply; } function balanceOf(address src) public view returns (uint) { return _balances[src]; } function allowance(address src, address guy) public view returns (uint) { return _approvals[src][guy]; } function transfer(address dst, uint wad) public returns (bool) { return transferFrom(msg.sender, dst, wad); } function transferFrom(address src, address dst, uint wad) public returns (bool) { if (src != msg.sender) { require(_approvals[src][msg.sender] >= wad, "ds-token-insufficient-approval"); _approvals[src][msg.sender] = sub(_approvals[src][msg.sender], wad); } require(_balances[src] >= wad, "ds-token-insufficient-balance"); _balances[src] = sub(_balances[src], wad); _balances[dst] = add(_balances[dst], wad); emit Transfer(src, dst, wad); return true; } function approve(address guy, uint wad) public returns (bool) { _approvals[msg.sender][guy] = wad; emit Approval(msg.sender, guy, wad); return true; } } ////// lib/ds-token/src/token.sol /// token.sol -- ERC20 implementation with minting and burning // Copyright (C) 2015, 2016, 2017 DappHub, LLC // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU 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 General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. /* pragma solidity >=0.4.23; */ /* import "ds-stop/stop.sol"; */ /* import "./base.sol"; */ contract DSToken is DSTokenBase(0), DSStop { bytes32 public symbol; uint256 public decimals = 18; // standard token precision. override to customize constructor(bytes32 symbol_) public { symbol = symbol_; } event Mint(address indexed guy, uint wad); event Burn(address indexed guy, uint wad); function approve(address guy) public stoppable returns (bool) { return super.approve(guy, uint(-1)); } function approve(address guy, uint wad) public stoppable returns (bool) { return super.approve(guy, wad); } function transferFrom(address src, address dst, uint wad) public stoppable returns (bool) { if (src != msg.sender && _approvals[src][msg.sender] != uint(-1)) { require(_approvals[src][msg.sender] >= wad, "ds-token-insufficient-approval"); _approvals[src][msg.sender] = sub(_approvals[src][msg.sender], wad); } require(_balances[src] >= wad, "ds-token-insufficient-balance"); _balances[src] = sub(_balances[src], wad); _balances[dst] = add(_balances[dst], wad); emit Transfer(src, dst, wad); return true; } function push(address dst, uint wad) public { transferFrom(msg.sender, dst, wad); } function pull(address src, uint wad) public { transferFrom(src, msg.sender, wad); } function move(address src, address dst, uint wad) public { transferFrom(src, dst, wad); } function mint(uint wad) public { mint(msg.sender, wad); } function burn(uint wad) public { burn(msg.sender, wad); } function mint(address guy, uint wad) public auth stoppable { _balances[guy] = add(_balances[guy], wad); _supply = add(_supply, wad); emit Mint(guy, wad); } function burn(address guy, uint wad) public auth stoppable { if (guy != msg.sender && _approvals[guy][msg.sender] != uint(-1)) { require(_approvals[guy][msg.sender] >= wad, "ds-token-insufficient-approval"); _approvals[guy][msg.sender] = sub(_approvals[guy][msg.sender], wad); } require(_balances[guy] >= wad, "ds-token-insufficient-balance"); _balances[guy] = sub(_balances[guy], wad); _supply = sub(_supply, wad); emit Burn(guy, wad); } // Optional token name bytes32 public name = ""; function setName(bytes32 name_) public auth { name = name_; } } ////// src/chief.sol // chief.sol - select an authority by consensus // Copyright (C) 2017 DappHub, LLC // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU 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 General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. /* pragma solidity >=0.4.23; */ /* import 'ds-token/token.sol'; */ /* import 'ds-roles/roles.sol'; */ /* import 'ds-thing/thing.sol'; */ // The right way to use this contract is probably to mix it with some kind // of `DSAuthority`, like with `ds-roles`. // SEE DSChief contract DSChiefApprovals is DSThing { mapping(bytes32=>address[]) public slates; mapping(address=>bytes32) public votes; mapping(address=>uint256) public approvals; mapping(address=>uint256) public deposits; DSToken public GOV; // voting token that gets locked up DSToken public IOU; // non-voting representation of a token, for e.g. secondary voting mechanisms address public hat; // the chieftain's hat uint256 public MAX_YAYS; event Etch(bytes32 indexed slate); // IOU constructed outside this contract reduces deployment costs significantly // lock/free/vote are quite sensitive to token invariants. Caution is advised. constructor(DSToken GOV_, DSToken IOU_, uint MAX_YAYS_) public { GOV = GOV_; IOU = IOU_; MAX_YAYS = MAX_YAYS_; } function lock(uint wad) public note { GOV.pull(msg.sender, wad); IOU.mint(msg.sender, wad); deposits[msg.sender] = add(deposits[msg.sender], wad); addWeight(wad, votes[msg.sender]); } function free(uint wad) public note { deposits[msg.sender] = sub(deposits[msg.sender], wad); subWeight(wad, votes[msg.sender]); IOU.burn(msg.sender, wad); GOV.push(msg.sender, wad); } function etch(address[] memory yays) public note returns (bytes32 slate) { require( yays.length <= MAX_YAYS ); requireByteOrderedSet(yays); bytes32 hash = keccak256(abi.encodePacked(yays)); slates[hash] = yays; emit Etch(hash); return hash; } function vote(address[] memory yays) public returns (bytes32) // note both sub-calls note { bytes32 slate = etch(yays); vote(slate); return slate; } function vote(bytes32 slate) public note { require(slates[slate].length > 0 || slate == 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470, "ds-chief-invalid-slate"); uint weight = deposits[msg.sender]; subWeight(weight, votes[msg.sender]); votes[msg.sender] = slate; addWeight(weight, votes[msg.sender]); } // like `drop`/`swap` except simply "elect this address if it is higher than current hat" function lift(address whom) public note { require(approvals[whom] > approvals[hat]); hat = whom; } function addWeight(uint weight, bytes32 slate) internal { address[] storage yays = slates[slate]; for( uint i = 0; i < yays.length; i++) { approvals[yays[i]] = add(approvals[yays[i]], weight); } } function subWeight(uint weight, bytes32 slate) internal { address[] storage yays = slates[slate]; for( uint i = 0; i < yays.length; i++) { approvals[yays[i]] = sub(approvals[yays[i]], weight); } } // Throws unless the array of addresses is a ordered set. function requireByteOrderedSet(address[] memory yays) internal pure { if( yays.length == 0 || yays.length == 1 ) { return; } for( uint i = 0; i < yays.length - 1; i++ ) { // strict inequality ensures both ordering and uniqueness require(uint(yays[i]) < uint(yays[i+1])); } } } // `hat` address is unique root user (has every role) and the // unique owner of role 0 (typically 'sys' or 'internal') contract DSChief is DSRoles, DSChiefApprovals { constructor(DSToken GOV, DSToken IOU, uint MAX_YAYS) DSChiefApprovals (GOV, IOU, MAX_YAYS) public { authority = this; owner = address(0); } function setOwner(address owner_) public { owner_; revert(); } function setAuthority(DSAuthority authority_) public { authority_; revert(); } function isUserRoot(address who) public view returns (bool) { return (who == hat); } function setRootUser(address who, bool enabled) public { who; enabled; revert(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"IOU","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"getUserRoles","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"GOV","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"code","type":"address"},{"name":"sig","type":"bytes4"}],"name":"getCapabilityRoles","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"code","type":"address"},{"name":"sig","type":"bytes4"}],"name":"isCapabilityPublic","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_YAYS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"whom","type":"address"}],"name":"lift","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"yays","type":"address[]"}],"name":"etch","outputs":[{"name":"slate","type":"bytes32"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"approvals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"who","type":"address"},{"name":"role","type":"uint8"},{"name":"enabled","type":"bool"}],"name":"setUserRole","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"role","type":"uint8"},{"name":"code","type":"address"},{"name":"sig","type":"bytes4"},{"name":"enabled","type":"bool"}],"name":"setRoleCapability","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"},{"name":"role","type":"uint8"}],"name":"hasUserRole","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"slate","type":"bytes32"}],"name":"vote","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"caller","type":"address"},{"name":"code","type":"address"},{"name":"sig","type":"bytes4"}],"name":"canCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"authority","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"},{"name":"","type":"uint256"}],"name":"slates","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"code","type":"address"},{"name":"sig","type":"bytes4"},{"name":"enabled","type":"bool"}],"name":"setPublicCapability","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"who","type":"address"},{"name":"enabled","type":"bool"}],"name":"setRootUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"votes","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"wad","type":"uint256"}],"name":"free","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"wad","type":"uint256"}],"name":"lock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"yays","type":"address[]"}],"name":"vote","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"isUserRoot","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"deposits","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hat","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"GOV","type":"address"},{"name":"IOU","type":"address"},{"name":"MAX_YAYS","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"slate","type":"bytes32"}],"name":"Etch","type":"event"},{"anonymous":true,"inputs":[{"indexed":true,"name":"sig","type":"bytes4"},{"indexed":true,"name":"guy","type":"address"},{"indexed":true,"name":"foo","type":"bytes32"},{"indexed":true,"name":"bar","type":"bytes32"},{"indexed":false,"name":"wad","type":"uint256"},{"indexed":false,"name":"fax","type":"bytes"}],"name":"LogNote","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authority","type":"address"}],"name":"LogSetAuthority","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"LogSetOwner","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405160608061165e8339810180604052606081101561003057600080fd5b5080516020820151604092830151600180546001600160a01b0319163390811790915593519293919290918491849184917fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2600a80546001600160a01b039485166001600160a01b031991821617909155600b80549390941692811692909217909255600d919091556000805482163017905560018054909116905550505061157b806100e36000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063a078f737116100f9578063d8bff5a511610097578063ed08132911610071578063ed081329146105d6578063fbf8077314610679578063fc7e286d1461069f578063fe95a5ce146106c5576101c4565b8063d8bff5a514610576578063d8ccd0f31461059c578063dd467064146105b9576101c4565b8063bf7e214f116100d3578063bf7e214f146104df578063c2ffc7bb146104e7578063c6b0263e1461050a578063d381ba7c14610548576101c4565b8063a078f73714610452578063a69beaba14610481578063b70096131461049e576101c4565b80633c278bd51161016657806367aff4841161014057806367aff484146103cc5780637a9e5e4b146102255780637d40583d146104035780638da5cb5b1461044a576101c4565b80633c278bd5146102dd5780635123e1fa146103035780635d0341ba146103a6576101c4565b8063180cb47f116101a2578063180cb47f1461024d57806327538e90146102555780632f47571f1461028b578063362344b8146102d5576101c4565b8063046c472f146101c957806306a36aee146101ed57806313af403514610225575b600080fd5b6101d16106cd565b604080516001600160a01b039092168252519081900360200190f35b6102136004803603602081101561020357600080fd5b50356001600160a01b03166106dc565b60408051918252519081900360200190f35b61024b6004803603602081101561023b57600080fd5b50356001600160a01b03166101c4565b005b6101d16106f7565b6102136004803603604081101561026b57600080fd5b5080356001600160a01b031690602001356001600160e01b031916610706565b6102c1600480360360408110156102a157600080fd5b5080356001600160a01b031690602001356001600160e01b03191661073b565b604080519115158252519081900360200190f35b610213610772565b61024b600480360360208110156102f357600080fd5b50356001600160a01b0316610778565b6102136004803603602081101561031957600080fd5b81019060208101813564010000000081111561033457600080fd5b82018360208201111561034657600080fd5b8035906020019184602083028401116401000000008311171561036857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610832945050505050565b610213600480360360208110156103bc57600080fd5b50356001600160a01b0316610961565b61024b600480360360608110156103e257600080fd5b506001600160a01b038135169060ff60208201351690604001351515610973565b61024b6004803603608081101561041957600080fd5b5060ff813516906001600160a01b03602082013516906001600160e01b031960408201351690606001351515610a4d565b6101d1610b67565b6102c16004803603604081101561046857600080fd5b5080356001600160a01b0316906020013560ff16610b76565b61024b6004803603602081101561049757600080fd5b5035610b95565b6102c1600480360360608110156104b457600080fd5b5080356001600160a01b0390811691602081013590911690604001356001600160e01b031916610ccb565b6101d1610d22565b6101d1600480360360408110156104fd57600080fd5b5080359060200135610d31565b61024b6004803603606081101561052057600080fd5b506001600160a01b03813516906001600160e01b031960208201351690604001351515610d66565b61024b6004803603604081101561055e57600080fd5b506001600160a01b03813516906020013515156101c4565b6102136004803603602081101561058c57600080fd5b50356001600160a01b0316610e0b565b61024b600480360360208110156105b257600080fd5b5035610e1d565b61024b600480360360208110156105cf57600080fd5b5035610fa4565b610213600480360360208110156105ec57600080fd5b81019060208101813564010000000081111561060757600080fd5b82018360208201111561061957600080fd5b8035906020019184602083028401116401000000008311171561063b57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061112c945050505050565b6102c16004803603602081101561068f57600080fd5b50356001600160a01b0316611143565b610213600480360360208110156106b557600080fd5b50356001600160a01b0316611157565b6101d1611169565b600b546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b600a546001600160a01b031681565b6001600160a01b03821660009081526004602090815260408083206001600160e01b0319851684529091529020545b92915050565b6001600160a01b03821660009081526005602090815260408083206001600160e01b03198516845290915290205460ff1692915050565b600d5481565b604080513480825260208201838152369383018490526004359360243593849286923392600080356001600160e01b03191693889391929060608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a4600c546001600160a01b039081166000908152600860205260408082205492871682529020541161080c57600080fd5b5050600c80546001600160a01b0319166001600160a01b03939093169290921790915550565b604080513480825260208201838152369383018490526000936004359360243593928492869233926001600160e01b03198a35169287928b9260608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a4600d54855111156108a757600080fd5b6108b085611178565b60008560405160200180828051906020019060200280838360005b838110156108e35781810151838201526020016108cb565b505050509050019150506040516020818303038152906040528051906020012090508560066000838152602001908152602001600020908051906020019061092c9291906114c3565b5060405181907f4f0892983790f53eea39a7a496f6cb40e8811b313871337b6a761efc6c67bb1f90600090a295945050505050565b60086020526000908152604090205481565b610989336000356001600160e01b0319166111f4565b6109d75760408051600160e51b62461bcd0281526020600482015260146024820152600160621b73191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995902604482015290519081900360640190fd5b6001600160a01b03831660009081526003602052604090205460ff831660020a8215610a1f576001600160a01b03851660009081526003602052604090208282179055610a46565b610a28816112de565b6001600160a01b038616600090815260036020526040902090831690555b5050505050565b610a63336000356001600160e01b0319166111f4565b610ab15760408051600160e51b62461bcd0281526020600482015260146024820152600160621b73191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995902604482015290519081900360640190fd5b6001600160a01b03831660009081526004602090815260408083206001600160e01b03198616845290915290205460ff851660020a8215610b23576001600160a01b03851660009081526004602090815260408083206001600160e01b03198816845290915290208282179055610b5f565b610b2c816112de565b6001600160a01b03861660009081526004602090815260408083206001600160e01b031989168452909152902090831690555b505050505050565b6001546001600160a01b031681565b600080610b82846106dc565b60ff841660020a16151591505092915050565b604080513480825260208201838152369383018490526004359360243593849286923392600080356001600160e01b03191693889391929060608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a4600084815260066020526040902054151580610c3457507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47084145b610c885760408051600160e51b62461bcd02815260206004820152601660248201527f64732d63686965662d696e76616c69642d736c61746500000000000000000000604482015290519081900360640190fd5b33600090815260096020908152604080832054600790925290912054610caf9082906112e5565b336000908152600760205260409020859055610a468186611379565b6000610cd684611143565b80610ce65750610ce6838361073b565b15610cf357506001610d1b565b6000610cfe856106dc565b90506000610d0c8585610706565b9190911615159150610d1b9050565b9392505050565b6000546001600160a01b031681565b60066020528160005260406000208181548110610d4a57fe5b6000918252602090912001546001600160a01b03169150829050565b610d7c336000356001600160e01b0319166111f4565b610dca5760408051600160e51b62461bcd0281526020600482015260146024820152600160621b73191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995902604482015290519081900360640190fd5b6001600160a01b0390921660009081526005602090815260408083206001600160e01b0319909416835292905220805491151560ff19909216919091179055565b60076020526000908152604090205481565b604080513480825260208201838152369383018490526004359360243593849286923392600080356001600160e01b03191693889391929060608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a433600090815260096020526040902054610e9b908561140d565b33600090815260096020908152604080832093909355600790522054610ec29085906112e5565b600b5460408051600160e21b632770a7eb0281523360048201526024810187905290516001600160a01b0390921691639dc29fac9160448082019260009290919082900301818387803b158015610f1857600080fd5b505af1158015610f2c573d6000803e3d6000fd5b5050600a5460408051600160e21b632dd4ea630281523360048201526024810189905290516001600160a01b03909216935063b753a98c925060448082019260009290919082900301818387803b158015610f8657600080fd5b505af1158015610f9a573d6000803e3d6000fd5b5050505050505050565b604080513480825260208201838152369383018490526004359360243593849286923392600080356001600160e01b03191693889391929060608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a4600a5460408051600160e01b63f2d5d56b0281523360048201526024810187905290516001600160a01b039092169163f2d5d56b9160448082019260009290919082900301818387803b15801561105e57600080fd5b505af1158015611072573d6000803e3d6000fd5b5050600b5460408051600160e01b6340c10f190281523360048201526024810189905290516001600160a01b0390921693506340c10f19925060448082019260009290919082900301818387803b1580156110cc57600080fd5b505af11580156110e0573d6000803e3d6000fd5b5050336000908152600960205260409020546110ff9250905085611468565b33600090815260096020908152604080832093909355600790522054611126908590611379565b50505050565b60008061113883610832565b905061073581610b95565b600c546001600160a01b0390811691161490565b60096020526000908152604090205481565b600c546001600160a01b031681565b80511580611187575080516001145b15611191576111f1565b60005b60018251038110156111ef578181600101815181106111af57fe5b60200260200101516001600160a01b03168282815181106111cc57fe5b60200260200101516001600160a01b0316106111e757600080fd5b600101611194565b505b50565b60006001600160a01b03831630141561120f57506001610735565b6001546001600160a01b038481169116141561122d57506001610735565b6000546001600160a01b031661124557506000610735565b60005460408051600160e01b63b70096130281526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b1580156112ab57600080fd5b505afa1580156112bf573d6000803e3d6000fd5b505050506040513d60208110156112d557600080fd5b50519050610735565b6000191890565b6000818152600660205260408120905b81548110156111265761133c6008600084848154811061131157fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548561140d565b6008600084848154811061134c57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020556001016112f5565b6000818152600660205260408120905b8154811015611126576113d0600860008484815481106113a557fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205485611468565b600860008484815481106113e057fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902055600101611389565b808203828111156107355760408051600160e51b62461bcd02815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b808201828110156107355760408051600160e51b62461bcd02815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b828054828255906000526020600020908101928215611518579160200282015b8281111561151857825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906114e3565b50611524929150611528565b5090565b61154c91905b808211156115245780546001600160a01b031916815560010161152e565b9056fea165627a7a7230582004a927adcabdb6ee38ef93e9f658eaa07572ddbd81c21327c69700da73f5196d00290000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2000000000000000000000000496c67a4ced9c453a60f3166ab4b329870c8e3550000000000000000000000000000000000000000000000000000000000000005
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101c45760003560e01c8063a078f737116100f9578063d8bff5a511610097578063ed08132911610071578063ed081329146105d6578063fbf8077314610679578063fc7e286d1461069f578063fe95a5ce146106c5576101c4565b8063d8bff5a514610576578063d8ccd0f31461059c578063dd467064146105b9576101c4565b8063bf7e214f116100d3578063bf7e214f146104df578063c2ffc7bb146104e7578063c6b0263e1461050a578063d381ba7c14610548576101c4565b8063a078f73714610452578063a69beaba14610481578063b70096131461049e576101c4565b80633c278bd51161016657806367aff4841161014057806367aff484146103cc5780637a9e5e4b146102255780637d40583d146104035780638da5cb5b1461044a576101c4565b80633c278bd5146102dd5780635123e1fa146103035780635d0341ba146103a6576101c4565b8063180cb47f116101a2578063180cb47f1461024d57806327538e90146102555780632f47571f1461028b578063362344b8146102d5576101c4565b8063046c472f146101c957806306a36aee146101ed57806313af403514610225575b600080fd5b6101d16106cd565b604080516001600160a01b039092168252519081900360200190f35b6102136004803603602081101561020357600080fd5b50356001600160a01b03166106dc565b60408051918252519081900360200190f35b61024b6004803603602081101561023b57600080fd5b50356001600160a01b03166101c4565b005b6101d16106f7565b6102136004803603604081101561026b57600080fd5b5080356001600160a01b031690602001356001600160e01b031916610706565b6102c1600480360360408110156102a157600080fd5b5080356001600160a01b031690602001356001600160e01b03191661073b565b604080519115158252519081900360200190f35b610213610772565b61024b600480360360208110156102f357600080fd5b50356001600160a01b0316610778565b6102136004803603602081101561031957600080fd5b81019060208101813564010000000081111561033457600080fd5b82018360208201111561034657600080fd5b8035906020019184602083028401116401000000008311171561036857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610832945050505050565b610213600480360360208110156103bc57600080fd5b50356001600160a01b0316610961565b61024b600480360360608110156103e257600080fd5b506001600160a01b038135169060ff60208201351690604001351515610973565b61024b6004803603608081101561041957600080fd5b5060ff813516906001600160a01b03602082013516906001600160e01b031960408201351690606001351515610a4d565b6101d1610b67565b6102c16004803603604081101561046857600080fd5b5080356001600160a01b0316906020013560ff16610b76565b61024b6004803603602081101561049757600080fd5b5035610b95565b6102c1600480360360608110156104b457600080fd5b5080356001600160a01b0390811691602081013590911690604001356001600160e01b031916610ccb565b6101d1610d22565b6101d1600480360360408110156104fd57600080fd5b5080359060200135610d31565b61024b6004803603606081101561052057600080fd5b506001600160a01b03813516906001600160e01b031960208201351690604001351515610d66565b61024b6004803603604081101561055e57600080fd5b506001600160a01b03813516906020013515156101c4565b6102136004803603602081101561058c57600080fd5b50356001600160a01b0316610e0b565b61024b600480360360208110156105b257600080fd5b5035610e1d565b61024b600480360360208110156105cf57600080fd5b5035610fa4565b610213600480360360208110156105ec57600080fd5b81019060208101813564010000000081111561060757600080fd5b82018360208201111561061957600080fd5b8035906020019184602083028401116401000000008311171561063b57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061112c945050505050565b6102c16004803603602081101561068f57600080fd5b50356001600160a01b0316611143565b610213600480360360208110156106b557600080fd5b50356001600160a01b0316611157565b6101d1611169565b600b546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b600a546001600160a01b031681565b6001600160a01b03821660009081526004602090815260408083206001600160e01b0319851684529091529020545b92915050565b6001600160a01b03821660009081526005602090815260408083206001600160e01b03198516845290915290205460ff1692915050565b600d5481565b604080513480825260208201838152369383018490526004359360243593849286923392600080356001600160e01b03191693889391929060608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a4600c546001600160a01b039081166000908152600860205260408082205492871682529020541161080c57600080fd5b5050600c80546001600160a01b0319166001600160a01b03939093169290921790915550565b604080513480825260208201838152369383018490526000936004359360243593928492869233926001600160e01b03198a35169287928b9260608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a4600d54855111156108a757600080fd5b6108b085611178565b60008560405160200180828051906020019060200280838360005b838110156108e35781810151838201526020016108cb565b505050509050019150506040516020818303038152906040528051906020012090508560066000838152602001908152602001600020908051906020019061092c9291906114c3565b5060405181907f4f0892983790f53eea39a7a496f6cb40e8811b313871337b6a761efc6c67bb1f90600090a295945050505050565b60086020526000908152604090205481565b610989336000356001600160e01b0319166111f4565b6109d75760408051600160e51b62461bcd0281526020600482015260146024820152600160621b73191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995902604482015290519081900360640190fd5b6001600160a01b03831660009081526003602052604090205460ff831660020a8215610a1f576001600160a01b03851660009081526003602052604090208282179055610a46565b610a28816112de565b6001600160a01b038616600090815260036020526040902090831690555b5050505050565b610a63336000356001600160e01b0319166111f4565b610ab15760408051600160e51b62461bcd0281526020600482015260146024820152600160621b73191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995902604482015290519081900360640190fd5b6001600160a01b03831660009081526004602090815260408083206001600160e01b03198616845290915290205460ff851660020a8215610b23576001600160a01b03851660009081526004602090815260408083206001600160e01b03198816845290915290208282179055610b5f565b610b2c816112de565b6001600160a01b03861660009081526004602090815260408083206001600160e01b031989168452909152902090831690555b505050505050565b6001546001600160a01b031681565b600080610b82846106dc565b60ff841660020a16151591505092915050565b604080513480825260208201838152369383018490526004359360243593849286923392600080356001600160e01b03191693889391929060608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a4600084815260066020526040902054151580610c3457507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47084145b610c885760408051600160e51b62461bcd02815260206004820152601660248201527f64732d63686965662d696e76616c69642d736c61746500000000000000000000604482015290519081900360640190fd5b33600090815260096020908152604080832054600790925290912054610caf9082906112e5565b336000908152600760205260409020859055610a468186611379565b6000610cd684611143565b80610ce65750610ce6838361073b565b15610cf357506001610d1b565b6000610cfe856106dc565b90506000610d0c8585610706565b9190911615159150610d1b9050565b9392505050565b6000546001600160a01b031681565b60066020528160005260406000208181548110610d4a57fe5b6000918252602090912001546001600160a01b03169150829050565b610d7c336000356001600160e01b0319166111f4565b610dca5760408051600160e51b62461bcd0281526020600482015260146024820152600160621b73191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995902604482015290519081900360640190fd5b6001600160a01b0390921660009081526005602090815260408083206001600160e01b0319909416835292905220805491151560ff19909216919091179055565b60076020526000908152604090205481565b604080513480825260208201838152369383018490526004359360243593849286923392600080356001600160e01b03191693889391929060608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a433600090815260096020526040902054610e9b908561140d565b33600090815260096020908152604080832093909355600790522054610ec29085906112e5565b600b5460408051600160e21b632770a7eb0281523360048201526024810187905290516001600160a01b0390921691639dc29fac9160448082019260009290919082900301818387803b158015610f1857600080fd5b505af1158015610f2c573d6000803e3d6000fd5b5050600a5460408051600160e21b632dd4ea630281523360048201526024810189905290516001600160a01b03909216935063b753a98c925060448082019260009290919082900301818387803b158015610f8657600080fd5b505af1158015610f9a573d6000803e3d6000fd5b5050505050505050565b604080513480825260208201838152369383018490526004359360243593849286923392600080356001600160e01b03191693889391929060608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a4600a5460408051600160e01b63f2d5d56b0281523360048201526024810187905290516001600160a01b039092169163f2d5d56b9160448082019260009290919082900301818387803b15801561105e57600080fd5b505af1158015611072573d6000803e3d6000fd5b5050600b5460408051600160e01b6340c10f190281523360048201526024810189905290516001600160a01b0390921693506340c10f19925060448082019260009290919082900301818387803b1580156110cc57600080fd5b505af11580156110e0573d6000803e3d6000fd5b5050336000908152600960205260409020546110ff9250905085611468565b33600090815260096020908152604080832093909355600790522054611126908590611379565b50505050565b60008061113883610832565b905061073581610b95565b600c546001600160a01b0390811691161490565b60096020526000908152604090205481565b600c546001600160a01b031681565b80511580611187575080516001145b15611191576111f1565b60005b60018251038110156111ef578181600101815181106111af57fe5b60200260200101516001600160a01b03168282815181106111cc57fe5b60200260200101516001600160a01b0316106111e757600080fd5b600101611194565b505b50565b60006001600160a01b03831630141561120f57506001610735565b6001546001600160a01b038481169116141561122d57506001610735565b6000546001600160a01b031661124557506000610735565b60005460408051600160e01b63b70096130281526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b1580156112ab57600080fd5b505afa1580156112bf573d6000803e3d6000fd5b505050506040513d60208110156112d557600080fd5b50519050610735565b6000191890565b6000818152600660205260408120905b81548110156111265761133c6008600084848154811061131157fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548561140d565b6008600084848154811061134c57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020556001016112f5565b6000818152600660205260408120905b8154811015611126576113d0600860008484815481106113a557fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205485611468565b600860008484815481106113e057fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902055600101611389565b808203828111156107355760408051600160e51b62461bcd02815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b808201828110156107355760408051600160e51b62461bcd02815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b828054828255906000526020600020908101928215611518579160200282015b8281111561151857825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906114e3565b50611524929150611528565b5090565b61154c91905b808211156115245780546001600160a01b031916815560010161152e565b9056fea165627a7a7230582004a927adcabdb6ee38ef93e9f658eaa07572ddbd81c21327c69700da73f5196d0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2000000000000000000000000496c67a4ced9c453a60f3166ab4b329870c8e3550000000000000000000000000000000000000000000000000000000000000005
-----Decoded View---------------
Arg [0] : GOV (address): 0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2
Arg [1] : IOU (address): 0x496C67A4CEd9C453A60F3166AB4B329870c8E355
Arg [2] : MAX_YAYS (uint256): 5
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2
Arg [1] : 000000000000000000000000496c67a4ced9c453a60f3166ab4b329870c8e355
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000005
Deployed Bytecode Sourcemap
24413:690:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24413:690:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21042:18;;;:::i;:::-;;;;-1:-1:-1;;;;;21042:18:0;;;;;;;;;;;;;;3244:139;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3244:139:0;-1:-1:-1;;;;;3244:139:0;;:::i;:::-;;;;;;;;;;;;;;;;24666:85;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24666:85:0;-1:-1:-1;;;;;24666:85:0;;:::i;:::-;;20981:18;;;:::i;3391:170::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3391:170:0;;-1:-1:-1;;;;;3391:170:0;;;;;-1:-1:-1;;;;;;3391:170:0;;:::i;3711:::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3711:170:0;;-1:-1:-1;;;;;3711:170:0;;;;;-1:-1:-1;;;;;;3711:170:0;;:::i;:::-;;;;;;;;;;;;;;;;;;21195:23;;;:::i;23164:144::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23164:144:0;-1:-1:-1;;;;;23164:144:0;;:::i;22105:335::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22105:335:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;22105:335:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;22105:335:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;22105:335:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;22105:335:0;;-1:-1:-1;22105:335:0;;-1:-1:-1;;;;;22105:335:0:i;20884:42::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20884:42:0;-1:-1:-1;;;;;20884:42:0;;:::i;4882:395::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4882:395:0;;;;;;;;;;;;;;;;;:::i;5457:452::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;5457:452:0;;;;;-1:-1:-1;;;;;5457:452:0;;;;;;-1:-1:-1;;;;;;5457:452:0;;;;;;;;;;;;:::i;1158:26::-;;;:::i;3889:278::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3889:278:0;;-1:-1:-1;;;;;3889:278:0;;;;;;;;:::i;22651:410::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22651:410:0;;:::i;4175:432::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4175:432:0;;-1:-1:-1;;;;;4175:432:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4175:432:0;;:::i;1121:30::-;;;:::i;20791:41::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20791:41:0;;;;;;;:::i;5285:164::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5285:164:0;;;;-1:-1:-1;;;;;;5285:164:0;;;;;;;;;;;;:::i;24995:105::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;24995:105:0;;;;;;;;;;:::i;20839:38::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20839:38:0;-1:-1:-1;;;;;20839:38:0;;:::i;21850:247::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21850:247:0;;:::i;21595:::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21595:247:0;;:::i;22448:195::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22448:195:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;22448:195:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;22448:195:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;22448:195:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;22448:195:0;;-1:-1:-1;22448:195:0;;-1:-1:-1;;;;;22448:195:0:i;24868:121::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24868:121:0;-1:-1:-1;;;;;24868:121:0;;:::i;20933:41::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20933:41:0;-1:-1:-1;;;;;20933:41:0;;:::i;21145:18::-;;;:::i;21042:::-;;;-1:-1:-1;;;;;21042:18:0;;:::o;3244:139::-;-1:-1:-1;;;;;3359:16:0;3327:7;3359:16;;;:11;:16;;;;;;;3244:139::o;20981:18::-;;;-1:-1:-1;;;;;20981:18:0;;:::o;3391:170::-;-1:-1:-1;;;;;3525:23:0;;3493:7;3525:23;;;:17;:23;;;;;;;;-1:-1:-1;;;;;;3525:28:0;;;;;;;;;;3391:170;;;;;:::o;3711:::-;-1:-1:-1;;;;;3842:26:0;;3813:4;3842:26;;;:20;:26;;;;;;;;-1:-1:-1;;;;;;3842:31:0;;;;;;;;;;;;3711:170;;;;:::o;21195:23::-;;;;:::o;23164:144::-;10258:53;;;10221:9;10258:53;;;;;;;;;10302:8;10258:53;;;;;;10161:1;10148:15;;10197:2;10184:16;;;;10148:15;;10275:10;;-1:-1:-1;10266:7:0;;-1:-1:-1;;;;;;10266:7:0;;10221:9;;-1:-1:-1;;10258:53:0;;;;-1:-1:-1;10302:8:0;;-1:-1:-1;10258:53:0;1:33:-1;99:1;81:16;;;74:27;10258:53:0;;137:4:-1;117:14;;;-1:-1;;113:30;157:16;;;10258:53:0;;;;-1:-1:-1;10258:53:0;;-1:-1:-1;;;;;10258:53:0;23274:3;;-1:-1:-1;;;;;23274:3:0;;;23264:14;;;;:9;:14;;;;;;;23246:15;;;;;;;;:32;23238:41;;;;;;-1:-1:-1;;23290:3:0;:10;;-1:-1:-1;;;;;;23290:10:0;-1:-1:-1;;;;;23290:10:0;;;;;;;;;;;-1:-1:-1;23164:144:0:o;22105:335::-;10258:53;;;10221:9;10258:53;;;;;;;;;10302:8;10258:53;;;;;;22190:13;;10161:1;10148:15;;10197:2;10184:16;;10221:9;10184:16;;10148:15;;10275:10;;-1:-1:-1;;;;;;10266:7:0;;;;10221:9;;22190:13;;10258:53;;;22190:13;10302:8;;22190:13;10258:53;1:33:-1;99:1;81:16;;;74:27;10258:53:0;;137:4:-1;117:14;;;-1:-1;;113:30;157:16;;;10258:53:0;;;;-1:-1:-1;10258:53:0;;-1:-1:-1;;;;;10258:53:0;22245:8;;22230:4;:11;:23;;22221:34;;;;;;22266:27;22288:4;22266:21;:27::i;:::-;22306:12;22348:4;22331:22;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;22331:22:0;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;22331:22:0;;;22321:33;;;;;;22306:48;;22380:4;22365:6;:12;22372:4;22365:12;;;;;;;;;;;:19;;;;;;;;;;;;:::i;:::-;-1:-1:-1;22400:10:0;;22405:4;;22400:10;;;;;22428:4;22105:335;-1:-1:-1;;;;;22105:335:0:o;20884:42::-;;;;;;;;;;;;;:::o;4882:395::-;1656:33;1669:10;1681:7;;-1:-1:-1;;;;;;1681:7:0;1656:12;:33::i;:::-;1648:66;;;;;-1:-1:-1;;;;;1648:66:0;;;;;;;;;;;;-1:-1:-1;;;;;1648:66:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5009:16:0;;4988:18;5009:16;;;:11;:16;;;;;;5084:13;;;5078:1;5070:27;5110:160;;;;-1:-1:-1;;;;;5139:16:0;;;;;;:11;:16;;;;;5158:20;;;5139:39;;5110:160;;;5243:15;5250:7;5243:6;:15::i;:::-;-1:-1:-1;;;;;5211:16:0;;;;;;:11;:16;;;;;5230:28;;;5211:47;;5110:160;1725:1;;4882:395;;;:::o;5457:452::-;1656:33;1669:10;1681:7;;-1:-1:-1;;;;;;1681:7:0;1656:12;:33::i;:::-;1648:66;;;;;-1:-1:-1;;;;;1648:66:0;;;;;;;;;;;;-1:-1:-1;;;;;1648:66:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5603:23:0;;5582:18;5603:23;;;:17;:23;;;;;;;;-1:-1:-1;;;;;;5603:28:0;;;;;;;;;;5690:13;;;5684:1;5676:27;5716:184;;;;-1:-1:-1;;;;;5745:23:0;;;;;;:17;:23;;;;;;;;-1:-1:-1;;;;;;5745:28:0;;;;;;;;;5776:20;;;5745:51;;5716:184;;;5873:15;5880:7;5873:6;:15::i;:::-;-1:-1:-1;;;;;5829:23:0;;;;;;:17;:23;;;;;;;;-1:-1:-1;;;;;;5829:28:0;;;;;;;;;5860;;;5829:59;;5716:184;1725:1;;5457:452;;;;:::o;1158:26::-;;;-1:-1:-1;;;;;1158:26:0;;:::o;3889:278::-;3983:4;4005:13;4021:17;4034:3;4021:12;:17::i;:::-;4097:13;;;4091:1;4083:27;4144:15;4130:29;;;-1:-1:-1;;3889:278:0;;;;:::o;22651:410::-;10258:53;;;10221:9;10258:53;;;;;;;;;10302:8;10258:53;;;;;;10161:1;10148:15;;10197:2;10184:16;;;;10148:15;;10275:10;;-1:-1:-1;10266:7:0;;-1:-1:-1;;;;;;10266:7:0;;10221:9;;-1:-1:-1;;10258:53:0;;;;-1:-1:-1;10302:8:0;;-1:-1:-1;10258:53:0;1:33:-1;99:1;81:16;;;74:27;10258:53:0;;137:4:-1;117:14;;;-1:-1;;113:30;157:16;;;10258:53:0;;;;-1:-1:-1;10258:53:0;;-1:-1:-1;;;;;10258:53:0;22757:1;22734:13;;;:6;:13;;;;;:20;:24;;;:117;;-1:-1:-1;22785:66:0;22776:75;;22734:117;22726:152;;;;;-1:-1:-1;;;;;22726:152:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;22912:10;22889:11;22903:20;;;:8;:20;;;;;;;;;22952:5;:17;;;;;;;22934:36;;22903:20;;22934:9;:36::i;:::-;22987:10;22981:17;;;;:5;:17;;;;;:25;;;23017:36;23027:6;23001:5;23017:9;:36::i;4175:432::-;4282:4;4308:18;4319:6;4308:10;:18::i;:::-;:51;;;;4330:29;4349:4;4355:3;4330:18;:29::i;:::-;4304:296;;;-1:-1:-1;4384:4:0;4377:11;;4304:296;4421:17;4441:20;4454:6;4441:12;:20::i;:::-;4421:40;;4476:20;4499:29;4518:4;4524:3;4499:18;:29::i;:::-;4564:24;;;;4550:38;;;-1:-1:-1;4543:45:0;;-1:-1:-1;4543:45:0;4304:296;4175:432;;;;;:::o;1121:30::-;;;-1:-1:-1;;;;;1121:30:0;;:::o;20791:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20791:41:0;;-1:-1:-1;20791:41:0;;-1:-1:-1;20791:41:0:o;5285:164::-;1656:33;1669:10;1681:7;;-1:-1:-1;;;;;;1681:7:0;1656:12;:33::i;:::-;1648:66;;;;;-1:-1:-1;;;;;1648:66:0;;;;;;;;;;;;-1:-1:-1;;;;;1648:66:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5400:26:0;;;;;;;:20;:26;;;;;;;;-1:-1:-1;;;;;;5400:31:0;;;;;;;;;:41;;;;;-1:-1:-1;;5400:41:0;;;;;;;;;5285:164::o;20839:38::-;;;;;;;;;;;;;:::o;21850:247::-;10258:53;;;10221:9;10258:53;;;;;;;;;10302:8;10258:53;;;;;;10161:1;10148:15;;10197:2;10184:16;;;;10148:15;;10275:10;;-1:-1:-1;10266:7:0;;-1:-1:-1;;;;;;10266:7:0;;10221:9;;-1:-1:-1;;10258:53:0;;;;-1:-1:-1;10302:8:0;;-1:-1:-1;10258:53:0;1:33:-1;99:1;81:16;;;74:27;10258:53:0;;137:4:-1;117:14;;;-1:-1;;113:30;157:16;;;10258:53:0;;;;-1:-1:-1;10258:53:0;;-1:-1:-1;;;;;10258:53:0;21956:10;21947:20;;;;:8;:20;;;;;;21943:30;;21969:3;21943;:30::i;:::-;21929:10;21920:20;;;;:8;:20;;;;;;;;:53;;;;21999:5;:17;;;;21984:33;;21994:3;;21984:9;:33::i;:::-;22028:3;;:25;;;-1:-1:-1;;;;;22028:25:0;;22037:10;22028:25;;;;;;;;;;;;-1:-1:-1;;;;;22028:3:0;;;;:8;;:25;;;;;:3;;:25;;;;;;;;:3;;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;22028:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;22064:3:0;;:25;;;-1:-1:-1;;;;;22064:25:0;;22073:10;22064:25;;;;;;;;;;;;-1:-1:-1;;;;;22064:3:0;;;;-1:-1:-1;22064:8:0;;-1:-1:-1;22064:25:0;;;;;:3;;:25;;;;;;;;:3;;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;22064:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22064:25:0;;;;21850:247;;;;:::o;21595:::-;10258:53;;;10221:9;10258:53;;;;;;;;;10302:8;10258:53;;;;;;10161:1;10148:15;;10197:2;10184:16;;;;10148:15;;10275:10;;-1:-1:-1;10266:7:0;;-1:-1:-1;;;;;;10266:7:0;;10221:9;;-1:-1:-1;;10258:53:0;;;;-1:-1:-1;10302:8:0;;-1:-1:-1;10258:53:0;1:33:-1;99:1;81:16;;;74:27;10258:53:0;;137:4:-1;117:14;;;-1:-1;;113:30;157:16;;;10258:53:0;;;;-1:-1:-1;10258:53:0;;-1:-1:-1;;;;;10258:53:0;21665:3;;:25;;;-1:-1:-1;;;;;21665:25:0;;21674:10;21665:25;;;;;;;;;;;;-1:-1:-1;;;;;21665:3:0;;;;:8;;:25;;;;;:3;;:25;;;;;;;;:3;;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;21665:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;21701:3:0;;:25;;;-1:-1:-1;;;;;21701:25:0;;21710:10;21701:25;;;;;;;;;;;;-1:-1:-1;;;;;21701:3:0;;;;-1:-1:-1;21701:8:0;;-1:-1:-1;21701:25:0;;;;;:3;;:25;;;;;;;;:3;;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;21701:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;21773:10:0;21764:20;;;;:8;:20;;;;;;21760:30;;-1:-1:-1;21764:20:0;-1:-1:-1;21786:3:0;21760;:30::i;:::-;21746:10;21737:20;;;;:8;:20;;;;;;;;:53;;;;21816:5;:17;;;;21801:33;;21811:3;;21801:9;:33::i;:::-;21595:247;;;;:::o;22448:195::-;22501:7;22564:13;22580:10;22585:4;22580;:10::i;:::-;22564:26;;22601:11;22606:5;22601:4;:11::i;24868:121::-;24977:3;;-1:-1:-1;;;;;24977:3:0;;;24970:10;;;;24868:121::o;20933:41::-;;;;;;;;;;;;;:::o;21145:18::-;;;-1:-1:-1;;;;;21145:18:0;;:::o;23905:377::-;24011:11;;:16;;:36;;;24031:4;:11;24046:1;24031:16;24011:36;24007:76;;;24065:7;;24007:76;24098:6;24093:182;24128:1;24114:4;:11;:15;24110:1;:19;24093:182;;;24252:4;24257:1;24259;24257:3;24252:9;;;;;;;;;;;;;;-1:-1:-1;;;;;24247:15:0;24236:4;24241:1;24236:7;;;;;;;;;;;;;;-1:-1:-1;;;;;24231:13:0;:31;24223:40;;;;;;24131:3;;24093:182;;;;23905:377;;:::o;1742:380::-;1812:4;-1:-1:-1;;;;;1833:20:0;;1848:4;1833:20;1829:286;;;-1:-1:-1;1877:4:0;1870:11;;1829:286;1910:5;;-1:-1:-1;;;;;1903:12:0;;;1910:5;;1903:12;1899:216;;;-1:-1:-1;1939:4:0;1932:11;;1899:216;1990:1;1965:9;-1:-1:-1;;;;;1965:9:0;1961:154;;-1:-1:-1;2016:5:0;2009:12;;1961:154;2061:9;;:42;;;-1:-1:-1;;;;;2061:42:0;;-1:-1:-1;;;;;2061:42:0;;;;;;;2092:4;2061:42;;;;-1:-1:-1;;;;;;2061:42:0;;;;;;;;:9;;;;;:17;;:42;;;;;;;;;;;;;;:9;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;2061:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2061:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2061:42:0;;-1:-1:-1;2054:49:0;;4615:123;-1:-1:-1;;4704:25:0;;4615:123::o;23579:255::-;23660:22;23685:13;;;:6;:13;;;;;;23709:118;23730:11;;23726:15;;23709:118;;;23784:31;23788:9;:18;23798:4;23803:1;23798:7;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23798:7:0;23788:18;;;;;;;;;;;;;23808:6;23784:3;:31::i;:::-;23763:9;:18;23773:4;23778:1;23773:7;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23773:7:0;23763:18;;;;;;;;;;;;:52;23773:7;23743:3;23709:118;;23316:255;23397:22;23422:13;;;:6;:13;;;;;;23446:118;23467:11;;23463:15;;23446:118;;;23521:31;23525:9;:18;23535:4;23540:1;23535:7;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23535:7:0;23525:18;;;;;;;;;;;;;23545:6;23521:3;:31::i;:::-;23500:9;:18;23510:4;23515:1;23510:7;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23510:7:0;23500:18;;;;;;;;;;;;:52;23510:7;23480:3;23446:118;;6866:129;6950:5;;;6945:16;;;;6937:50;;;;;-1:-1:-1;;;;;6937:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;6732:128;6816:5;;;6811:16;;;;6803:49;;;;;-1:-1:-1;;;;;6803:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;24413:690;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24413:690:0;-1:-1:-1;;;;;24413:690:0;;;;;;;;;;;-1:-1:-1;24413:690:0;;;;;;;-1:-1:-1;24413:690:0;;;-1:-1:-1;24413:690:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;24413:690:0;;;;;;;;;:::o
Swarm Source
bzzr://04a927adcabdb6ee38ef93e9f658eaa07572ddbd81c21327c69700da73f5196d
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.