ETH Price: $2,152.83 (-0.65%)

Contract

0xf3bA921Cf92E709Ec103aEaEb3a42e8a88a65D15
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Lock160040912022-11-19 12:34:231216 days ago1668861263IN
0xf3bA921C...a88a65D15
0 ETH0.0022724112.93410071

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x61014060160035902022-11-19 10:53:471217 days ago1668855227  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xB8dF77C3...89b3dA8B7
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
VoteDelegate

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-05-17
*/

// SPDX-License-Identifier: AGPL-3.0-or-later

// Copyright (C) 2021 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/>.

// VoteDelegate - delegate your vote
pragma solidity 0.6.12;

interface TokenLike {
    function approve(address, uint256) external returns (bool);
    function pull(address, uint256) external;
    function push(address, uint256) external;
}

interface ChiefLike {
    function GOV() external view returns (TokenLike);
    function IOU() external view returns (TokenLike);
    function lock(uint256) external;
    function free(uint256) external;
    function vote(address[] calldata) external returns (bytes32);
    function vote(bytes32) external;
}

interface PollingLike {
    function withdrawPoll(uint256) external;
    function vote(uint256, uint256) external;
    function withdrawPoll(uint256[] calldata) external;
    function vote(uint256[] calldata, uint256[] calldata) external;
}

contract VoteDelegate {
    mapping(address => uint256) public stake;
    address     public immutable delegate;
    TokenLike   public immutable gov;
    TokenLike   public immutable iou;
    ChiefLike   public immutable chief;
    PollingLike public immutable polling;
    uint256     public immutable expiration;

    event Lock(address indexed usr, uint256 wad);
    event Free(address indexed usr, uint256 wad);

    constructor(address _chief, address _polling, address _delegate) public {
        chief = ChiefLike(_chief);
        polling = PollingLike(_polling);
        delegate = _delegate;
        expiration = block.timestamp + 365 days;

        TokenLike _gov = gov = ChiefLike(_chief).GOV();
        TokenLike _iou = iou = ChiefLike(_chief).IOU();

        _gov.approve(_chief, type(uint256).max);
        _iou.approve(_chief, type(uint256).max);
    }

    function add(uint256 x, uint256 y) internal pure returns (uint256 z) {
        require((z = x + y) >= x, "VoteDelegate/add-overflow");
    }

    modifier delegate_auth() {
        require(msg.sender == delegate, "VoteDelegate/sender-not-delegate");
        _;
    }

    modifier live() {
        require(block.timestamp < expiration, "VoteDelegate/delegation-contract-expired");
        _;
    }

    function lock(uint256 wad) external live {
        stake[msg.sender] = add(stake[msg.sender], wad);
        gov.pull(msg.sender, wad);
        chief.lock(wad);
        iou.push(msg.sender, wad);

        emit Lock(msg.sender, wad);
    }

    function free(uint256 wad) external {
        require(stake[msg.sender] >= wad, "VoteDelegate/insufficient-stake");

        stake[msg.sender] -= wad;
        iou.pull(msg.sender, wad);
        chief.free(wad);
        gov.push(msg.sender, wad);

        emit Free(msg.sender, wad);
    }

    function vote(address[] memory yays) external delegate_auth live returns (bytes32 result) {
        result = chief.vote(yays);
    }

    function vote(bytes32 slate) external delegate_auth live {
        chief.vote(slate);
    }

    // Polling vote
    function votePoll(uint256 pollId, uint256 optionId) external delegate_auth live {
        polling.vote(pollId, optionId);
    }

    function votePoll(uint256[] calldata pollIds, uint256[] calldata optionIds) external delegate_auth live {
        polling.vote(pollIds, optionIds);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_chief","type":"address"},{"internalType":"address","name":"_polling","type":"address"},{"internalType":"address","name":"_delegate","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Free","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Lock","type":"event"},{"inputs":[],"name":"chief","outputs":[{"internalType":"contract ChiefLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"delegate","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"expiration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"free","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gov","outputs":[{"internalType":"contract TokenLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"iou","outputs":[{"internalType":"contract TokenLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"polling","outputs":[{"internalType":"contract PollingLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"slate","type":"bytes32"}],"name":"vote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"yays","type":"address[]"}],"name":"vote","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"pollIds","type":"uint256[]"},{"internalType":"uint256[]","name":"optionIds","type":"uint256[]"}],"name":"votePoll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"pollId","type":"uint256"},{"internalType":"uint256","name":"optionId","type":"uint256"}],"name":"votePoll","outputs":[],"stateMutability":"nonpayable","type":"function"}]

0x61014060405234801561001157600080fd5b506040516112a63803806112a68339818101604052606081101561003457600080fd5b5080516020808301516040938401516001600160601b0319606085811b821660e05283811b82166101005282901b166080526301e13380420161012052845163180cb47f60e01b815294519394919390926000926001600160a01b0387169263180cb47f92600480840193919291829003018186803b1580156100b657600080fd5b505afa1580156100ca573d6000803e3d6000fd5b505050506040513d60208110156100e057600080fd5b50516001600160601b0319606082901b1660a0526040805163046c472f60e01b815290516001600160a01b03928316935060009287169163046c472f916004808301926020929190829003018186803b15801561013c57600080fd5b505afa158015610150573d6000803e3d6000fd5b505050506040513d602081101561016657600080fd5b50516001600160601b0319606082901b1660c0526040805163095ea7b360e01b81526001600160a01b0388811660048301526000196024830152915192821693509084169163095ea7b3916044808201926020929091908290030181600087803b1580156101d357600080fd5b505af11580156101e7573d6000803e3d6000fd5b505050506040513d60208110156101fd57600080fd5b50506040805163095ea7b360e01b81526001600160a01b038781166004830152600019602483015291519183169163095ea7b3916044808201926020929091908290030181600087803b15801561025357600080fd5b505af1158015610267573d6000803e3d6000fd5b505050506040513d602081101561027d57600080fd5b5050505050505060805160601c60a05160601c60c05160601c60e05160601c6101005160601c61012051610f6b61033b600039806103a6528061051d52806105f4528061099c5280610a845280610d3c525080610404528061054152806109fa52508061065252806107f45280610b925280610dc15280610e6d525080610565528061078e5280610c335250806104e752806108955280610b2d525080610344528061059252806106d3528061093a5280610cda5250610f6b6000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063a69beaba1161008c578063dcb0578d11610066578063dcb0578d1461024e578063dd46706414610271578063ed0813291461028e578063ffd864d314610331576100cf565b8063a69beaba1461020c578063c89e436114610229578063d8ccd0f314610231576100cf565b806311fa447b146100d457806312d43a511461019857806326476204146101bc5780634665096d146101f457806354717496146101fc578063a2fca6b314610204575b600080fd5b610196600480360360408110156100ea57600080fd5b81019060208101813564010000000081111561010557600080fd5b82018360208201111561011757600080fd5b8035906020019184602083028401116401000000008311171561013957600080fd5b91939092909160208101903564010000000081111561015757600080fd5b82018360208201111561016957600080fd5b8035906020019184602083028401116401000000008311171561018b57600080fd5b509092509050610339565b005b6101a06104e5565b604080516001600160a01b039092168252519081900360200190f35b6101e2600480360360208110156101d257600080fd5b50356001600160a01b0316610509565b60408051918252519081900360200190f35b6101e261051b565b6101a061053f565b6101a0610563565b6101966004803603602081101561022257600080fd5b5035610587565b6101a06106d1565b6101966004803603602081101561024757600080fd5b50356106f5565b6101966004803603604081101561026457600080fd5b508035906020013561092f565b6101966004803603602081101561028757600080fd5b5035610a82565b6101e2600480360360208110156102a457600080fd5b8101906020810181356401000000008111156102bf57600080fd5b8201836020820111156102d157600080fd5b803590602001918460208302840111640100000000831117156102f357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610ccd945050505050565b6101a0610e6b565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103a4576040805162461bcd60e51b81526020600482018190526024820152600080516020610f16833981519152604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000000000000042106104025760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638733ece7858585856040518563ffffffff1660e01b81526004018080602001806020018381038352878782818152602001925060200280828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156104c757600080fd5b505af11580156104db573d6000803e3d6000fd5b5050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006020819052908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105f2576040805162461bcd60e51b81526020600482018190526024820152600080516020610f16833981519152604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000000000000042106106505760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a69beaba826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156106b657600080fd5b505af11580156106ca573d6000803e3d6000fd5b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b33600090815260208190526040902054811115610759576040805162461bcd60e51b815260206004820152601f60248201527f566f746544656c65676174652f696e73756666696369656e742d7374616b6500604482015290519081900360640190fd5b3360008181526020819052604080822080548590039055805163f2d5d56b60e01b8152600481019390935260248301849052517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169263f2d5d56b92604480830193919282900301818387803b1580156107da57600080fd5b505af11580156107ee573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d8ccd0f3826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561085857600080fd5b505af115801561086c573d6000803e3d6000fd5b505060408051632dd4ea6360e21b81523360048201526024810185905290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016935063b753a98c9250604480830192600092919082900301818387803b1580156108de57600080fd5b505af11580156108f2573d6000803e3d6000fd5b50506040805184815290513393507fce6c5af8fd109993cb40da4d5dc9e4dd8e61bc2e48f1e3901472141e4f56f29392509081900360200190a250565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461099a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f16833981519152604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000000000000042106109f85760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b384abef83836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610a6657600080fd5b505af1158015610a7a573d6000803e3d6000fd5b505050505050565b7f00000000000000000000000000000000000000000000000000000000000000004210610ae05760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b33600090815260208190526040902054610afa9082610e8f565b3360008181526020819052604080822093909355825163f2d5d56b60e01b815260048101929092526024820184905291517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169263f2d5d56b926044808201939182900301818387803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663dd467064826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610bf657600080fd5b505af1158015610c0a573d6000803e3d6000fd5b505060408051632dd4ea6360e21b81523360048201526024810185905290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016935063b753a98c9250604480830192600092919082900301818387803b158015610c7c57600080fd5b505af1158015610c90573d6000803e3d6000fd5b50506040805184815290513393507f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d42792509081900360200190a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d3a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f16833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000004210610d985760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b60405163ed08132960e01b81526020600482018181528451602484015284516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169363ed08132993879392839260440191808601910280838360005b83811015610e14578181015183820152602001610dfc565b5050505090500192505050602060405180830381600087803b158015610e3957600080fd5b505af1158015610e4d573d6000803e3d6000fd5b505050506040513d6020811015610e6357600080fd5b505192915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b80820182811015610ee7576040805162461bcd60e51b815260206004820152601960248201527f566f746544656c65676174652f6164642d6f766572666c6f7700000000000000604482015290519081900360640190fd5b9291505056fe566f746544656c65676174652f64656c65676174696f6e2d636f6e74726163742d65787069726564566f746544656c65676174652f73656e6465722d6e6f742d64656c6567617465a264697066735822122050aec0f24081032eeea71f5eb8e1b14b320c7acf1fc482c4b3803efa91704fc964736f6c634300060c00330000000000000000000000000a3f6849f78076aefadf113f5bed87720274ddc0000000000000000000000000d3a9fe267852281a1e6307a1c37cdfd76d39b1330000000000000000000000002bc12061c8912505978472c21d4a23db43af62aa

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063a69beaba1161008c578063dcb0578d11610066578063dcb0578d1461024e578063dd46706414610271578063ed0813291461028e578063ffd864d314610331576100cf565b8063a69beaba1461020c578063c89e436114610229578063d8ccd0f314610231576100cf565b806311fa447b146100d457806312d43a511461019857806326476204146101bc5780634665096d146101f457806354717496146101fc578063a2fca6b314610204575b600080fd5b610196600480360360408110156100ea57600080fd5b81019060208101813564010000000081111561010557600080fd5b82018360208201111561011757600080fd5b8035906020019184602083028401116401000000008311171561013957600080fd5b91939092909160208101903564010000000081111561015757600080fd5b82018360208201111561016957600080fd5b8035906020019184602083028401116401000000008311171561018b57600080fd5b509092509050610339565b005b6101a06104e5565b604080516001600160a01b039092168252519081900360200190f35b6101e2600480360360208110156101d257600080fd5b50356001600160a01b0316610509565b60408051918252519081900360200190f35b6101e261051b565b6101a061053f565b6101a0610563565b6101966004803603602081101561022257600080fd5b5035610587565b6101a06106d1565b6101966004803603602081101561024757600080fd5b50356106f5565b6101966004803603604081101561026457600080fd5b508035906020013561092f565b6101966004803603602081101561028757600080fd5b5035610a82565b6101e2600480360360208110156102a457600080fd5b8101906020810181356401000000008111156102bf57600080fd5b8201836020820111156102d157600080fd5b803590602001918460208302840111640100000000831117156102f357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610ccd945050505050565b6101a0610e6b565b336001600160a01b037f0000000000000000000000002bc12061c8912505978472c21d4a23db43af62aa16146103a4576040805162461bcd60e51b81526020600482018190526024820152600080516020610f16833981519152604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000006559e93b42106104025760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b7f000000000000000000000000d3a9fe267852281a1e6307a1c37cdfd76d39b1336001600160a01b0316638733ece7858585856040518563ffffffff1660e01b81526004018080602001806020018381038352878782818152602001925060200280828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156104c757600080fd5b505af11580156104db573d6000803e3d6000fd5b5050505050505050565b7f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a281565b60006020819052908152604090205481565b7f000000000000000000000000000000000000000000000000000000006559e93b81565b7f000000000000000000000000d3a9fe267852281a1e6307a1c37cdfd76d39b13381565b7f000000000000000000000000a618e54de493ec29432ebd2ca7f14efbf6ac17f781565b336001600160a01b037f0000000000000000000000002bc12061c8912505978472c21d4a23db43af62aa16146105f2576040805162461bcd60e51b81526020600482018190526024820152600080516020610f16833981519152604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000006559e93b42106106505760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b7f0000000000000000000000000a3f6849f78076aefadf113f5bed87720274ddc06001600160a01b031663a69beaba826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156106b657600080fd5b505af11580156106ca573d6000803e3d6000fd5b5050505050565b7f0000000000000000000000002bc12061c8912505978472c21d4a23db43af62aa81565b33600090815260208190526040902054811115610759576040805162461bcd60e51b815260206004820152601f60248201527f566f746544656c65676174652f696e73756666696369656e742d7374616b6500604482015290519081900360640190fd5b3360008181526020819052604080822080548590039055805163f2d5d56b60e01b8152600481019390935260248301849052517f000000000000000000000000a618e54de493ec29432ebd2ca7f14efbf6ac17f76001600160a01b03169263f2d5d56b92604480830193919282900301818387803b1580156107da57600080fd5b505af11580156107ee573d6000803e3d6000fd5b505050507f0000000000000000000000000a3f6849f78076aefadf113f5bed87720274ddc06001600160a01b031663d8ccd0f3826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561085857600080fd5b505af115801561086c573d6000803e3d6000fd5b505060408051632dd4ea6360e21b81523360048201526024810185905290516001600160a01b037f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a216935063b753a98c9250604480830192600092919082900301818387803b1580156108de57600080fd5b505af11580156108f2573d6000803e3d6000fd5b50506040805184815290513393507fce6c5af8fd109993cb40da4d5dc9e4dd8e61bc2e48f1e3901472141e4f56f29392509081900360200190a250565b336001600160a01b037f0000000000000000000000002bc12061c8912505978472c21d4a23db43af62aa161461099a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f16833981519152604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000006559e93b42106109f85760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b7f000000000000000000000000d3a9fe267852281a1e6307a1c37cdfd76d39b1336001600160a01b031663b384abef83836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610a6657600080fd5b505af1158015610a7a573d6000803e3d6000fd5b505050505050565b7f000000000000000000000000000000000000000000000000000000006559e93b4210610ae05760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b33600090815260208190526040902054610afa9082610e8f565b3360008181526020819052604080822093909355825163f2d5d56b60e01b815260048101929092526024820184905291517f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a26001600160a01b03169263f2d5d56b926044808201939182900301818387803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b505050507f0000000000000000000000000a3f6849f78076aefadf113f5bed87720274ddc06001600160a01b031663dd467064826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610bf657600080fd5b505af1158015610c0a573d6000803e3d6000fd5b505060408051632dd4ea6360e21b81523360048201526024810185905290516001600160a01b037f000000000000000000000000a618e54de493ec29432ebd2ca7f14efbf6ac17f716935063b753a98c9250604480830192600092919082900301818387803b158015610c7c57600080fd5b505af1158015610c90573d6000803e3d6000fd5b50506040805184815290513393507f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d42792509081900360200190a250565b6000336001600160a01b037f0000000000000000000000002bc12061c8912505978472c21d4a23db43af62aa1614610d3a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f16833981519152604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000006559e93b4210610d985760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b60405163ed08132960e01b81526020600482018181528451602484015284516001600160a01b037f0000000000000000000000000a3f6849f78076aefadf113f5bed87720274ddc0169363ed08132993879392839260440191808601910280838360005b83811015610e14578181015183820152602001610dfc565b5050505090500192505050602060405180830381600087803b158015610e3957600080fd5b505af1158015610e4d573d6000803e3d6000fd5b505050506040513d6020811015610e6357600080fd5b505192915050565b7f0000000000000000000000000a3f6849f78076aefadf113f5bed87720274ddc081565b80820182811015610ee7576040805162461bcd60e51b815260206004820152601960248201527f566f746544656c65676174652f6164642d6f766572666c6f7700000000000000604482015290519081900360640190fd5b9291505056fe566f746544656c65676174652f64656c65676174696f6e2d636f6e74726163742d65787069726564566f746544656c65676174652f73656e6465722d6e6f742d64656c6567617465a264697066735822122050aec0f24081032eeea71f5eb8e1b14b320c7acf1fc482c4b3803efa91704fc964736f6c634300060c0033

Deployed Bytecode Sourcemap

1591:2432:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3865:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3865:155:0;;-1:-1:-1;3865:155:0;-1:-1:-1;3865:155:0;:::i;:::-;;1711:32;;;:::i;:::-;;;;-1:-1:-1;;;;;1711:32:0;;;;;;;;;;;;;;1620:40;;;;;;;;;;;;;;;;-1:-1:-1;1620:40:0;-1:-1:-1;;;;;1620:40:0;;:::i;:::-;;;;;;;;;;;;;;;;1873:39;;;:::i;1830:36::-;;;:::i;1750:32::-;;;:::i;3606:93::-;;;;;;;;;;;;;;;;-1:-1:-1;3606:93:0;;:::i;1667:37::-;;;:::i;3159:297::-;;;;;;;;;;;;;;;;-1:-1:-1;3159:297:0;;:::i;3728:129::-;;;;;;;;;;;;;;;;-1:-1:-1;3728:129:0;;;;;;;:::i;2907:244::-;;;;;;;;;;;;;;;;-1:-1:-1;2907:244:0;;:::i;3464:134::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3464:134:0;;-1:-1:-1;3464:134:0;;-1:-1:-1;;;;;3464:134:0:i;1789:34::-;;;:::i;3865:155::-;2684:10;-1:-1:-1;;;;;2698:8:0;2684:22;;2676:67;;;;;-1:-1:-1;;;2676:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2676:67:0;;;;;;;;;;;;;;;2824:10:::1;2806:15;:28;2798:81;;;;-1:-1:-1::0;;;2798:81:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3980:7:::2;-1:-1:-1::0;;;;;3980:12:0::2;;3993:7;;4002:9;;3980:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::2;::::0;::::2;;-1:-1:-1::0;;3980:32:0::2;::::0;;::::2;::::0;;::::2;::::0;;;;;::::2;::::0;;::::2;::::0;-1:-1:-1;3980:32:0;;;::::2;::::0;;;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;3865:155:::0;;;;:::o;1711:32::-;;;:::o;1620:40::-;;;;;;;;;;;;;;:::o;1873:39::-;;;:::o;1830:36::-;;;:::o;1750:32::-;;;:::o;3606:93::-;2684:10;-1:-1:-1;;;;;2698:8:0;2684:22;;2676:67;;;;;-1:-1:-1;;;2676:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2676:67:0;;;;;;;;;;;;;;;2824:10:::1;2806:15;:28;2798:81;;;;-1:-1:-1::0;;;2798:81:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3674:5:::2;-1:-1:-1::0;;;;;3674:10:0::2;;3685:5;3674:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;3606:93:::0;:::o;1667:37::-;;;:::o;3159:297::-;3220:10;3214:5;:17;;;;;;;;;;;:24;-1:-1:-1;3214:24:0;3206:68;;;;;-1:-1:-1;;;3206:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3293:10;3287:5;:17;;;;;;;;;;;:24;;;;;;;3322:25;;-1:-1:-1;;;3322:25:0;;;;;;;;;;;;;;;;:3;-1:-1:-1;;;;;3322:8:0;;;;:25;;;;;3287:5;;3322:25;;;;;3287:5;3322:8;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3358:5;-1:-1:-1;;;;;3358:10:0;;3369:3;3358:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3384:25:0;;;-1:-1:-1;;;3384:25:0;;3393:10;3384:25;;;;;;;;;;;;-1:-1:-1;;;;;3384:3:0;:8;;-1:-1:-1;3384:8:0;;-1:-1:-1;3384:25:0;;;;;-1:-1:-1;;3384:25:0;;;;;;;-1:-1:-1;3384:8:0;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3427:21:0;;;;;;;;3432:10;;-1:-1:-1;3427:21:0;;-1:-1:-1;3427:21:0;;;;;;;;3159:297;:::o;3728:129::-;2684:10;-1:-1:-1;;;;;2698:8:0;2684:22;;2676:67;;;;;-1:-1:-1;;;2676:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2676:67:0;;;;;;;;;;;;;;;2824:10:::1;2806:15;:28;2798:81;;;;-1:-1:-1::0;;;2798:81:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3819:7:::2;-1:-1:-1::0;;;;;3819:12:0::2;;3832:6;3840:8;3819:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;3728:129:::0;;:::o;2907:244::-;2824:10;2806:15;:28;2798:81;;;;-1:-1:-1;;;2798:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2989:10:::1;2983:5;:17:::0;;;::::1;::::0;;;;;;;2979:27:::1;::::0;3002:3;2979::::1;:27::i;:::-;2965:10;2959:5;:17:::0;;;::::1;::::0;;;;;;;:47;;;;3017:25;;-1:-1:-1;;;3017:25:0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;:3:::1;-1:-1:-1::0;;;;;3017:8:0::1;::::0;::::1;::::0;:25;;;;;;;;;;;2959:5;3017:8;:25;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;3053:5;-1:-1:-1::0;;;;;3053:10:0::1;;3064:3;3053:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3079:25:0::1;::::0;;-1:-1:-1;;;3079:25:0;;3088:10:::1;3079:25;::::0;::::1;::::0;;;;;;;;;-1:-1:-1;;;;;3079:3:0::1;:8;::::0;-1:-1:-1;3079:8:0::1;::::0;-1:-1:-1;3079:25:0;;;;;-1:-1:-1;;3079:25:0;;;;;;;-1:-1:-1;3079:8:0;:25;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3122:21:0::1;::::0;;;;;;;3127:10:::1;::::0;-1:-1:-1;3122:21:0::1;::::0;-1:-1:-1;3122:21:0;;;;::::1;::::0;;::::1;2907:244:::0;:::o;3464:134::-;3538:14;2684:10;-1:-1:-1;;;;;2698:8:0;2684:22;;2676:67;;;;;-1:-1:-1;;;2676:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2676:67:0;;;;;;;;;;;;;;;2824:10:::1;2806:15;:28;2798:81;;;;-1:-1:-1::0;;;2798:81:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3574:16:::2;::::0;-1:-1:-1;;;3574:16:0;;::::2;;::::0;::::2;::::0;;;;;;;;;;;-1:-1:-1;;;;;3574:5:0::2;:10;::::0;::::2;::::0;3585:4;;3574:16;;;;;;;;::::2;::::0;::::2;::::0;;;;::::2;;;;;;;::::0;;::::2;::::0;;;::::2;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;-1:-1:-1::0;3574:16:0;;3464:134;-1:-1:-1;;3464:134:0:o;1789:34::-;;;:::o;2490:142::-;2583:5;;;2578:16;;;;2570:54;;;;;-1:-1:-1;;;2570:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2490:142;;;;:::o

Swarm Source

ipfs://50aec0f24081032eeea71f5eb8e1b14b320c7acf1fc482c4b3803efa91704fc9

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
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.