ETH Price: $2,361.59 (+8.74%)

Contract

0x026EaC63A21a995274b00A75a01CF9c7D30dFc0a
 

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
Vote Poll158372782022-10-27 5:19:591236 days ago1666847999IN
0x026EaC63...7D30dFc0a
0 ETH0.000259419.13238314
Lock158372722022-10-27 5:18:471236 days ago1666847927IN
0x026EaC63...7D30dFc0a
0 ETH0.001674029.70991899

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x61014060158372132022-10-27 5:06:471236 days ago1666847207  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"}]

0x61014060405234801561001157600080fd5b506040516112a63803806112a68339818101604052606081101561003457600080fd5b5080516020808301516040938401516001600160601b0319606085811b821660e05283811b82166101005282901b166080526301e13380420161012052845163180cb47f60e01b815294519394919390926000926001600160a01b0387169263180cb47f92600480840193919291829003018186803b1580156100b657600080fd5b505afa1580156100ca573d6000803e3d6000fd5b505050506040513d60208110156100e057600080fd5b50516001600160601b0319606082901b1660a0526040805163046c472f60e01b815290516001600160a01b03928316935060009287169163046c472f916004808301926020929190829003018186803b15801561013c57600080fd5b505afa158015610150573d6000803e3d6000fd5b505050506040513d602081101561016657600080fd5b50516001600160601b0319606082901b1660c0526040805163095ea7b360e01b81526001600160a01b0388811660048301526000196024830152915192821693509084169163095ea7b3916044808201926020929091908290030181600087803b1580156101d357600080fd5b505af11580156101e7573d6000803e3d6000fd5b505050506040513d60208110156101fd57600080fd5b50506040805163095ea7b360e01b81526001600160a01b038781166004830152600019602483015291519183169163095ea7b3916044808201926020929091908290030181600087803b15801561025357600080fd5b505af1158015610267573d6000803e3d6000fd5b505050506040513d602081101561027d57600080fd5b5050505050505060805160601c60a05160601c60c05160601c60e05160601c6101005160601c61012051610f6b61033b600039806103a6528061051d52806105f4528061099c5280610a845280610d3c525080610404528061054152806109fa52508061065252806107f45280610b925280610dc15280610e6d525080610565528061078e5280610c335250806104e752806108955280610b2d525080610344528061059252806106d3528061093a5280610cda5250610f6b6000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063a69beaba1161008c578063dcb0578d11610066578063dcb0578d1461024e578063dd46706414610271578063ed0813291461028e578063ffd864d314610331576100cf565b8063a69beaba1461020c578063c89e436114610229578063d8ccd0f314610231576100cf565b806311fa447b146100d457806312d43a511461019857806326476204146101bc5780634665096d146101f457806354717496146101fc578063a2fca6b314610204575b600080fd5b610196600480360360408110156100ea57600080fd5b81019060208101813564010000000081111561010557600080fd5b82018360208201111561011757600080fd5b8035906020019184602083028401116401000000008311171561013957600080fd5b91939092909160208101903564010000000081111561015757600080fd5b82018360208201111561016957600080fd5b8035906020019184602083028401116401000000008311171561018b57600080fd5b509092509050610339565b005b6101a06104e5565b604080516001600160a01b039092168252519081900360200190f35b6101e2600480360360208110156101d257600080fd5b50356001600160a01b0316610509565b60408051918252519081900360200190f35b6101e261051b565b6101a061053f565b6101a0610563565b6101966004803603602081101561022257600080fd5b5035610587565b6101a06106d1565b6101966004803603602081101561024757600080fd5b50356106f5565b6101966004803603604081101561026457600080fd5b508035906020013561092f565b6101966004803603602081101561028757600080fd5b5035610a82565b6101e2600480360360208110156102a457600080fd5b8101906020810181356401000000008111156102bf57600080fd5b8201836020820111156102d157600080fd5b803590602001918460208302840111640100000000831117156102f357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610ccd945050505050565b6101a0610e6b565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103a4576040805162461bcd60e51b81526020600482018190526024820152600080516020610f16833981519152604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000000000000042106104025760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638733ece7858585856040518563ffffffff1660e01b81526004018080602001806020018381038352878782818152602001925060200280828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156104c757600080fd5b505af11580156104db573d6000803e3d6000fd5b5050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006020819052908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105f2576040805162461bcd60e51b81526020600482018190526024820152600080516020610f16833981519152604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000000000000042106106505760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a69beaba826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156106b657600080fd5b505af11580156106ca573d6000803e3d6000fd5b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b33600090815260208190526040902054811115610759576040805162461bcd60e51b815260206004820152601f60248201527f566f746544656c65676174652f696e73756666696369656e742d7374616b6500604482015290519081900360640190fd5b3360008181526020819052604080822080548590039055805163f2d5d56b60e01b8152600481019390935260248301849052517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169263f2d5d56b92604480830193919282900301818387803b1580156107da57600080fd5b505af11580156107ee573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d8ccd0f3826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561085857600080fd5b505af115801561086c573d6000803e3d6000fd5b505060408051632dd4ea6360e21b81523360048201526024810185905290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016935063b753a98c9250604480830192600092919082900301818387803b1580156108de57600080fd5b505af11580156108f2573d6000803e3d6000fd5b50506040805184815290513393507fce6c5af8fd109993cb40da4d5dc9e4dd8e61bc2e48f1e3901472141e4f56f29392509081900360200190a250565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461099a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f16833981519152604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000000000000042106109f85760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b384abef83836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610a6657600080fd5b505af1158015610a7a573d6000803e3d6000fd5b505050505050565b7f00000000000000000000000000000000000000000000000000000000000000004210610ae05760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b33600090815260208190526040902054610afa9082610e8f565b3360008181526020819052604080822093909355825163f2d5d56b60e01b815260048101929092526024820184905291517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169263f2d5d56b926044808201939182900301818387803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663dd467064826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610bf657600080fd5b505af1158015610c0a573d6000803e3d6000fd5b505060408051632dd4ea6360e21b81523360048201526024810185905290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016935063b753a98c9250604480830192600092919082900301818387803b158015610c7c57600080fd5b505af1158015610c90573d6000803e3d6000fd5b50506040805184815290513393507f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d42792509081900360200190a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d3a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f16833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000004210610d985760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b60405163ed08132960e01b81526020600482018181528451602484015284516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169363ed08132993879392839260440191808601910280838360005b83811015610e14578181015183820152602001610dfc565b5050505090500192505050602060405180830381600087803b158015610e3957600080fd5b505af1158015610e4d573d6000803e3d6000fd5b505050506040513d6020811015610e6357600080fd5b505192915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b80820182811015610ee7576040805162461bcd60e51b815260206004820152601960248201527f566f746544656c65676174652f6164642d6f766572666c6f7700000000000000604482015290519081900360640190fd5b9291505056fe566f746544656c65676174652f64656c65676174696f6e2d636f6e74726163742d65787069726564566f746544656c65676174652f73656e6465722d6e6f742d64656c6567617465a264697066735822122050aec0f24081032eeea71f5eb8e1b14b320c7acf1fc482c4b3803efa91704fc964736f6c634300060c00330000000000000000000000000a3f6849f78076aefadf113f5bed87720274ddc0000000000000000000000000d3a9fe267852281a1e6307a1c37cdfd76d39b13300000000000000000000000070e418109852e6351046cc0e395f46b3fb37ac39

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063a69beaba1161008c578063dcb0578d11610066578063dcb0578d1461024e578063dd46706414610271578063ed0813291461028e578063ffd864d314610331576100cf565b8063a69beaba1461020c578063c89e436114610229578063d8ccd0f314610231576100cf565b806311fa447b146100d457806312d43a511461019857806326476204146101bc5780634665096d146101f457806354717496146101fc578063a2fca6b314610204575b600080fd5b610196600480360360408110156100ea57600080fd5b81019060208101813564010000000081111561010557600080fd5b82018360208201111561011757600080fd5b8035906020019184602083028401116401000000008311171561013957600080fd5b91939092909160208101903564010000000081111561015757600080fd5b82018360208201111561016957600080fd5b8035906020019184602083028401116401000000008311171561018b57600080fd5b509092509050610339565b005b6101a06104e5565b604080516001600160a01b039092168252519081900360200190f35b6101e2600480360360208110156101d257600080fd5b50356001600160a01b0316610509565b60408051918252519081900360200190f35b6101e261051b565b6101a061053f565b6101a0610563565b6101966004803603602081101561022257600080fd5b5035610587565b6101a06106d1565b6101966004803603602081101561024757600080fd5b50356106f5565b6101966004803603604081101561026457600080fd5b508035906020013561092f565b6101966004803603602081101561028757600080fd5b5035610a82565b6101e2600480360360208110156102a457600080fd5b8101906020810181356401000000008111156102bf57600080fd5b8201836020820111156102d157600080fd5b803590602001918460208302840111640100000000831117156102f357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610ccd945050505050565b6101a0610e6b565b336001600160a01b037f00000000000000000000000070e418109852e6351046cc0e395f46b3fb37ac3916146103a4576040805162461bcd60e51b81526020600482018190526024820152600080516020610f16833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000653b456742106104025760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b7f000000000000000000000000d3a9fe267852281a1e6307a1c37cdfd76d39b1336001600160a01b0316638733ece7858585856040518563ffffffff1660e01b81526004018080602001806020018381038352878782818152602001925060200280828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156104c757600080fd5b505af11580156104db573d6000803e3d6000fd5b5050505050505050565b7f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a281565b60006020819052908152604090205481565b7f00000000000000000000000000000000000000000000000000000000653b456781565b7f000000000000000000000000d3a9fe267852281a1e6307a1c37cdfd76d39b13381565b7f000000000000000000000000a618e54de493ec29432ebd2ca7f14efbf6ac17f781565b336001600160a01b037f00000000000000000000000070e418109852e6351046cc0e395f46b3fb37ac3916146105f2576040805162461bcd60e51b81526020600482018190526024820152600080516020610f16833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000653b456742106106505760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b7f0000000000000000000000000a3f6849f78076aefadf113f5bed87720274ddc06001600160a01b031663a69beaba826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156106b657600080fd5b505af11580156106ca573d6000803e3d6000fd5b5050505050565b7f00000000000000000000000070e418109852e6351046cc0e395f46b3fb37ac3981565b33600090815260208190526040902054811115610759576040805162461bcd60e51b815260206004820152601f60248201527f566f746544656c65676174652f696e73756666696369656e742d7374616b6500604482015290519081900360640190fd5b3360008181526020819052604080822080548590039055805163f2d5d56b60e01b8152600481019390935260248301849052517f000000000000000000000000a618e54de493ec29432ebd2ca7f14efbf6ac17f76001600160a01b03169263f2d5d56b92604480830193919282900301818387803b1580156107da57600080fd5b505af11580156107ee573d6000803e3d6000fd5b505050507f0000000000000000000000000a3f6849f78076aefadf113f5bed87720274ddc06001600160a01b031663d8ccd0f3826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561085857600080fd5b505af115801561086c573d6000803e3d6000fd5b505060408051632dd4ea6360e21b81523360048201526024810185905290516001600160a01b037f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a216935063b753a98c9250604480830192600092919082900301818387803b1580156108de57600080fd5b505af11580156108f2573d6000803e3d6000fd5b50506040805184815290513393507fce6c5af8fd109993cb40da4d5dc9e4dd8e61bc2e48f1e3901472141e4f56f29392509081900360200190a250565b336001600160a01b037f00000000000000000000000070e418109852e6351046cc0e395f46b3fb37ac39161461099a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f16833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000653b456742106109f85760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b7f000000000000000000000000d3a9fe267852281a1e6307a1c37cdfd76d39b1336001600160a01b031663b384abef83836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610a6657600080fd5b505af1158015610a7a573d6000803e3d6000fd5b505050505050565b7f00000000000000000000000000000000000000000000000000000000653b45674210610ae05760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b33600090815260208190526040902054610afa9082610e8f565b3360008181526020819052604080822093909355825163f2d5d56b60e01b815260048101929092526024820184905291517f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a26001600160a01b03169263f2d5d56b926044808201939182900301818387803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b505050507f0000000000000000000000000a3f6849f78076aefadf113f5bed87720274ddc06001600160a01b031663dd467064826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610bf657600080fd5b505af1158015610c0a573d6000803e3d6000fd5b505060408051632dd4ea6360e21b81523360048201526024810185905290516001600160a01b037f000000000000000000000000a618e54de493ec29432ebd2ca7f14efbf6ac17f716935063b753a98c9250604480830192600092919082900301818387803b158015610c7c57600080fd5b505af1158015610c90573d6000803e3d6000fd5b50506040805184815290513393507f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d42792509081900360200190a250565b6000336001600160a01b037f00000000000000000000000070e418109852e6351046cc0e395f46b3fb37ac391614610d3a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f16833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000653b45674210610d985760405162461bcd60e51b8152600401808060200182810382526028815260200180610eee6028913960400191505060405180910390fd5b60405163ed08132960e01b81526020600482018181528451602484015284516001600160a01b037f0000000000000000000000000a3f6849f78076aefadf113f5bed87720274ddc0169363ed08132993879392839260440191808601910280838360005b83811015610e14578181015183820152602001610dfc565b5050505090500192505050602060405180830381600087803b158015610e3957600080fd5b505af1158015610e4d573d6000803e3d6000fd5b505050506040513d6020811015610e6357600080fd5b505192915050565b7f0000000000000000000000000a3f6849f78076aefadf113f5bed87720274ddc081565b80820182811015610ee7576040805162461bcd60e51b815260206004820152601960248201527f566f746544656c65676174652f6164642d6f766572666c6f7700000000000000604482015290519081900360640190fd5b9291505056fe566f746544656c65676174652f64656c65676174696f6e2d636f6e74726163742d65787069726564566f746544656c65676174652f73656e6465722d6e6f742d64656c6567617465a264697066735822122050aec0f24081032eeea71f5eb8e1b14b320c7acf1fc482c4b3803efa91704fc964736f6c634300060c0033

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.