ETH Price: $2,443.73 (+9.66%)
Gas: 0.73 Gwei

Contract

0xB44a29b5fb1F6DC5730D721A2c12898E1e6c6C31
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Vote117505922021-01-29 11:42:291493 days ago1611920549IN
0xB44a29b5...E1e6c6C31
0 ETH0.00311001112
Vote117504532021-01-29 11:14:161493 days ago1611918856IN
0xB44a29b5...E1e6c6C31
0 ETH0.00324885117
Vote117413682021-01-28 1:27:221495 days ago1611797242IN
0xB44a29b5...E1e6c6C31
0 ETH0.0013606349
Vote117382112021-01-27 13:50:491495 days ago1611755449IN
0xB44a29b5...E1e6c6C31
0 ETH0.00290175104.5
Vote117382042021-01-27 13:49:181495 days ago1611755358IN
0xB44a29b5...E1e6c6C31
0 ETH0.0027768100
Vote117197902021-01-24 17:47:521498 days ago1611510472IN
0xB44a29b5...E1e6c6C31
0 ETH0.0026934997.00000145
Vote117176432021-01-24 9:56:371498 days ago1611482197IN
0xB44a29b5...E1e6c6C31
0 ETH0.0012773246.00000145
Vote117172422021-01-24 8:28:121498 days ago1611476892IN
0xB44a29b5...E1e6c6C31
0 ETH0.0014661552.80000023
Vote117172192021-01-24 8:22:161498 days ago1611476536IN
0xB44a29b5...E1e6c6C31
0 ETH0.0014161651.00000145
Vote117150332021-01-24 0:11:261499 days ago1611447086IN
0xB44a29b5...E1e6c6C31
0 ETH0.0016938461
Vote117130842021-01-23 17:09:401499 days ago1611421780IN
0xB44a29b5...E1e6c6C31
0 ETH0.0017493863
Vote117104692021-01-23 7:27:091499 days ago1611386829IN
0xB44a29b5...E1e6c6C31
0 ETH0.0014994754
Vote117103922021-01-23 7:10:411499 days ago1611385841IN
0xB44a29b5...E1e6c6C31
0 ETH0.0017216162.00000145
Vote117103712021-01-23 7:04:271499 days ago1611385467IN
0xB44a29b5...E1e6c6C31
0 ETH0.0015272455
Vote117098502021-01-23 5:12:531500 days ago1611378773IN
0xB44a29b5...E1e6c6C31
0 ETH0.0013745149.5
Vote117098032021-01-23 5:03:171500 days ago1611378197IN
0xB44a29b5...E1e6c6C31
0 ETH0.0012773246.00000145
Vote117097422021-01-23 4:49:221500 days ago1611377362IN
0xB44a29b5...E1e6c6C31
0 ETH0.0012495645
Vote117096052021-01-23 4:23:361500 days ago1611375816IN
0xB44a29b5...E1e6c6C31
0 ETH0.0015272455
Vote117095012021-01-23 4:01:201500 days ago1611374480IN
0xB44a29b5...E1e6c6C31
0 ETH0.0021365276.94213183
Vote117094972021-01-23 3:59:581500 days ago1611374398IN
0xB44a29b5...E1e6c6C31
0 ETH0.0021381377
Vote117088272021-01-23 1:27:091500 days ago1611365229IN
0xB44a29b5...E1e6c6C31
0 ETH0.0023880486
Vote117082362021-01-22 23:15:351500 days ago1611357335IN
0xB44a29b5...E1e6c6C31
0 ETH0.0022769782
Vote117074132021-01-22 20:20:241500 days ago1611346824IN
0xB44a29b5...E1e6c6C31
0 ETH0.0020270673
Vote117068512021-01-22 18:10:331500 days ago1611339033IN
0xB44a29b5...E1e6c6C31
0 ETH0.0016660860
Vote117068432021-01-22 18:09:341500 days ago1611338974IN
0xB44a29b5...E1e6c6C31
0 ETH0.0024574688.5
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VoteBox

Compiler Version
v0.6.10+commit.00c0fcaf

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-08-18
*/

// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.6.10;


/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


/**
 * @title A simple smart contract which only records everyone’s voting on each proposal.
 */
contract VoteBox {
    using SafeMath for uint256;

    // Meta data
    struct Meta {
        string link;
        uint256 beginBlock;
        uint256 endBlock;
    }

    // Vote content
    enum Content { INVALID, FOR, AGAINST }

    // Min MCB for creating a new proposal
    uint256 public constant MIN_PROPOSAL_MCB = 1000000 * 10**18; // 1% of MCB

    // Min voting period in blocks. 1 day for 15s/block
    uint256 public constant MIN_PERIOD = 5760;

    // MCB address
    IERC20 public mcb;

    // All proposal meta data
    Meta[] public proposals;

    /**
     * @dev The new proposal is created
     */
    event Proposal(uint256 indexed id, string link, uint256 beginBlock, uint256 endBlock);

    /**
     * @dev Someone changes his/her vote on the proposal
     */
    event Vote(address indexed voter, uint256 indexed id, Content voteContent);

    /**
     * @dev    Constructor
     * @param  mcbAddress MCB address
     */
    constructor(address mcbAddress)
        public
    {
        mcb = IERC20(mcbAddress);
    }

    /**
     * @dev    Accessor to the total number of proposal
     */
    function totalProposals()
        external view returns (uint256)
    {
        return proposals.length;
    }

    /**
     * @dev    Create a new proposal, need a proposal privilege
     * @param  link       The forum link of the proposal
     * @param  beginBlock Voting is enabled between [begin block, end block]
     * @param  endBlock   Voting is enabled between [begin block, end block]
     */
    function propose(string calldata link, uint256 beginBlock, uint256 endBlock)
        external
    {
        require(mcb.balanceOf(msg.sender) >= MIN_PROPOSAL_MCB, "proposal privilege required");
        require(bytes(link).length > 0, "empty link");
        require(block.number <= beginBlock, "old proposal");
        require(beginBlock.add(MIN_PERIOD) <= endBlock, "period is too short");
        proposals.push(Meta({
            link: link,
            beginBlock: beginBlock,
            endBlock: endBlock
        }));
        emit Proposal(proposals.length - 1, link, beginBlock, endBlock);
    }

    /**
     * @notice  Vote for/against the proposal with id
     * @param   id          Proposal id
     * @param   voteContent Vote content
     */
    function vote(uint256 id, Content voteContent)
        external
    {
        require(id < proposals.length, "invalid id");
        require(voteContent != Content.INVALID, "invalid content");
        require(proposals[id].beginBlock <= block.number, "< begin");
        require(block.number <= proposals[id].endBlock, "> end");
        emit Vote(msg.sender, id, voteContent);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"mcbAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"string","name":"link","type":"string"},{"indexed":false,"internalType":"uint256","name":"beginBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"}],"name":"Proposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"enum VoteBox.Content","name":"voteContent","type":"uint8"}],"name":"Vote","type":"event"},{"inputs":[],"name":"MIN_PERIOD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_PROPOSAL_MCB","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mcb","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"proposals","outputs":[{"internalType":"string","name":"link","type":"string"},{"internalType":"uint256","name":"beginBlock","type":"uint256"},{"internalType":"uint256","name":"endBlock","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"link","type":"string"},{"internalType":"uint256","name":"beginBlock","type":"uint256"},{"internalType":"uint256","name":"endBlock","type":"uint256"}],"name":"propose","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalProposals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"enum VoteBox.Content","name":"voteContent","type":"uint8"}],"name":"vote","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506040516108ec3803806108ec8339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055610887806100656000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806381192eb71161005b57806381192eb7146101b7578063943e8216146101db578063a78d80fc14610201578063bbccf154146102095761007d565b8063013cf08b146100825780632aa77c4c146101255780635e3c97731461019d575b600080fd5b61009f6004803603602081101561009857600080fd5b5035610211565b6040518080602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b838110156100e85781810151838201526020016100d0565b50505050905090810190601f1680156101155780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b61019b6004803603606081101561013b57600080fd5b81019060208101813564010000000081111561015657600080fd5b82018360208201111561016857600080fd5b8035906020019184600183028401116401000000008311171561018a57600080fd5b9193509150803590602001356102cd565b005b6101a561058c565b60408051918252519081900360200190f35b6101bf61059a565b604080516001600160a01b039092168252519081900360200190f35b61019b600480360360408110156101f157600080fd5b508035906020013560ff166105a9565b6101a561074b565b6101a5610752565b6001818154811061021e57fe5b60009182526020918290206003919091020180546040805160026001841615610100026000190190931692909204601f8101859004850283018501909152808252919350918391908301828280156102b75780601f1061028c576101008083540402835291602001916102b7565b820191906000526020600020905b81548152906001019060200180831161029a57829003601f168201915b5050505050908060010154908060020154905083565b600054604080516370a0823160e01b8152336004820152905169d3c21bcecceda1000000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561032157600080fd5b505afa158015610335573d6000803e3d6000fd5b505050506040513d602081101561034b57600080fd5b505110156103a0576040805162461bcd60e51b815260206004820152601b60248201527f70726f706f73616c2070726976696c6567652072657175697265640000000000604482015290519081900360640190fd5b826103df576040805162461bcd60e51b815260206004820152600a602482015269656d707479206c696e6b60b01b604482015290519081900360640190fd5b81431115610423576040805162461bcd60e51b815260206004820152600c60248201526b1bdb19081c1c9bdc1bdcd85b60a21b604482015290519081900360640190fd5b806104368361168063ffffffff61075816565b111561047f576040805162461bcd60e51b81526020600482015260136024820152721c195c9a5bd9081a5cc81d1bdbc81cda1bdc9d606a1b604482015290519081900360640190fd5b6040805160806020601f870181900402820181019092526060810185815260019282919088908890819085018382808284376000920182905250938552505050602080830187905260409092018590528354600181018555938152819020825180519394600302909101926104f792849201906107b9565b506020820151816001015560408201518160020155505060018080549050037f60889d4da53649cd6c3e5b75075c9436fbb04154400e5f9a94d57c99f267fc308585858560405180806020018481526020018381526020018281038252868682818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a250505050565b69d3c21bcecceda100000081565b6000546001600160a01b031681565b60015482106105ec576040805162461bcd60e51b815260206004820152600a6024820152691a5b9d985b1a59081a5960b21b604482015290519081900360640190fd5b60008160028111156105fa57fe5b141561063f576040805162461bcd60e51b815260206004820152600f60248201526e1a5b9d985b1a590818dbdb9d195b9d608a1b604482015290519081900360640190fd5b436001838154811061064d57fe5b906000526020600020906003020160010154111561069c576040805162461bcd60e51b81526020600482015260076024820152661e103132b3b4b760c91b604482015290519081900360640190fd5b600182815481106106a957fe5b9060005260206000209060030201600201544311156106f7576040805162461bcd60e51b81526020600482015260056024820152640f88195b9960da1b604482015290519081900360640190fd5b81336001600160a01b03167fea646db319bf204816f80359be35bfd60d0daea88ac98b858a99323eb80681bc836040518082600281111561073457fe5b60ff16815260200191505060405180910390a35050565b6001545b90565b61168081565b6000828201838110156107b2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106107fa57805160ff1916838001178555610827565b82800160010185558215610827579182015b8281111561082757825182559160200191906001019061080c565b50610833929150610837565b5090565b61074f91905b80821115610833576000815560010161083d56fea26469706673582212204d424bebfb60588581ce3206020fa706d396b387ea1cda046626f5417e46126664736f6c634300060a00330000000000000000000000004e352cf164e64adcbad318c3a1e222e9eba4ce42

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806381192eb71161005b57806381192eb7146101b7578063943e8216146101db578063a78d80fc14610201578063bbccf154146102095761007d565b8063013cf08b146100825780632aa77c4c146101255780635e3c97731461019d575b600080fd5b61009f6004803603602081101561009857600080fd5b5035610211565b6040518080602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b838110156100e85781810151838201526020016100d0565b50505050905090810190601f1680156101155780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b61019b6004803603606081101561013b57600080fd5b81019060208101813564010000000081111561015657600080fd5b82018360208201111561016857600080fd5b8035906020019184600183028401116401000000008311171561018a57600080fd5b9193509150803590602001356102cd565b005b6101a561058c565b60408051918252519081900360200190f35b6101bf61059a565b604080516001600160a01b039092168252519081900360200190f35b61019b600480360360408110156101f157600080fd5b508035906020013560ff166105a9565b6101a561074b565b6101a5610752565b6001818154811061021e57fe5b60009182526020918290206003919091020180546040805160026001841615610100026000190190931692909204601f8101859004850283018501909152808252919350918391908301828280156102b75780601f1061028c576101008083540402835291602001916102b7565b820191906000526020600020905b81548152906001019060200180831161029a57829003601f168201915b5050505050908060010154908060020154905083565b600054604080516370a0823160e01b8152336004820152905169d3c21bcecceda1000000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561032157600080fd5b505afa158015610335573d6000803e3d6000fd5b505050506040513d602081101561034b57600080fd5b505110156103a0576040805162461bcd60e51b815260206004820152601b60248201527f70726f706f73616c2070726976696c6567652072657175697265640000000000604482015290519081900360640190fd5b826103df576040805162461bcd60e51b815260206004820152600a602482015269656d707479206c696e6b60b01b604482015290519081900360640190fd5b81431115610423576040805162461bcd60e51b815260206004820152600c60248201526b1bdb19081c1c9bdc1bdcd85b60a21b604482015290519081900360640190fd5b806104368361168063ffffffff61075816565b111561047f576040805162461bcd60e51b81526020600482015260136024820152721c195c9a5bd9081a5cc81d1bdbc81cda1bdc9d606a1b604482015290519081900360640190fd5b6040805160806020601f870181900402820181019092526060810185815260019282919088908890819085018382808284376000920182905250938552505050602080830187905260409092018590528354600181018555938152819020825180519394600302909101926104f792849201906107b9565b506020820151816001015560408201518160020155505060018080549050037f60889d4da53649cd6c3e5b75075c9436fbb04154400e5f9a94d57c99f267fc308585858560405180806020018481526020018381526020018281038252868682818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a250505050565b69d3c21bcecceda100000081565b6000546001600160a01b031681565b60015482106105ec576040805162461bcd60e51b815260206004820152600a6024820152691a5b9d985b1a59081a5960b21b604482015290519081900360640190fd5b60008160028111156105fa57fe5b141561063f576040805162461bcd60e51b815260206004820152600f60248201526e1a5b9d985b1a590818dbdb9d195b9d608a1b604482015290519081900360640190fd5b436001838154811061064d57fe5b906000526020600020906003020160010154111561069c576040805162461bcd60e51b81526020600482015260076024820152661e103132b3b4b760c91b604482015290519081900360640190fd5b600182815481106106a957fe5b9060005260206000209060030201600201544311156106f7576040805162461bcd60e51b81526020600482015260056024820152640f88195b9960da1b604482015290519081900360640190fd5b81336001600160a01b03167fea646db319bf204816f80359be35bfd60d0daea88ac98b858a99323eb80681bc836040518082600281111561073457fe5b60ff16815260200191505060405180910390a35050565b6001545b90565b61168081565b6000828201838110156107b2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106107fa57805160ff1916838001178555610827565b82800160010185558215610827579182015b8281111561082757825182559160200191906001019061080c565b50610833929150610837565b5090565b61074f91905b80821115610833576000815560010161083d56fea26469706673582212204d424bebfb60588581ce3206020fa706d396b387ea1cda046626f5417e46126664736f6c634300060a0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000004e352cf164e64adcbad318c3a1e222e9eba4ce42

-----Decoded View---------------
Arg [0] : mcbAddress (address): 0x4e352cF164E64ADCBad318C3a1e222E9EBa4Ce42

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000004e352cf164e64adcbad318c3a1e222e9eba4ce42


Deployed Bytecode Sourcemap

8186:2758:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8745:23;;;;;;;;;;;;;;;;-1:-1:-1;8745:23:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9772:616;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9772:616:0;-1:-1:-1;9772:616:0;;;;;;;:::i;:::-;;8480:59;;;:::i;:::-;;;;;;;;;;;;;;;;8688:17;;;:::i;:::-;;;;-1:-1:-1;;;;;8688:17:0;;;;;;;;;;;;;;10552:389;;;;;;;;;;;;;;;;-1:-1:-1;10552:389:0;;;;;;;;;:::i;9353:114::-;;;:::i;8618:41::-;;;:::i;8745:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8745:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8745:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9772:616::-;9891:3;;:25;;;-1:-1:-1;;;9891:25:0;;9905:10;9891:25;;;;;;8523:16;;-1:-1:-1;;;;;9891:3:0;;:13;;:25;;;;;;;;;;;;;;:3;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9891:25:0;:45;;9883:85;;;;;-1:-1:-1;;;9883:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9987:22;9979:45;;;;;-1:-1:-1;;;9979:45:0;;;;;;;;;;;;-1:-1:-1;;;9979:45:0;;;;;;;;;;;;;;;10059:10;10043:12;:26;;10035:51;;;;;-1:-1:-1;;;10035:51:0;;;;;;;;;;;;-1:-1:-1;;;10035:51:0;;;;;;;;;;;;;;;10135:8;10105:26;:10;8655:4;10105:26;:14;:26;:::i;:::-;:38;;10097:70;;;;;-1:-1:-1;;;10097:70:0;;;;;;;;;;;;-1:-1:-1;;;10097:70:0;;;;;;;;;;;;;;;10193:112;;;;;;;;;;;;;;;;;;;;;;;;;10178:9;;10193:112;;;10219:4;;;;;;10193:112;;10219:4;;;;10193:112;;;;;;;;-1:-1:-1;10193:112:0;;;-1:-1:-1;;;10193:112:0;;;;;;;;;;;;;;10178:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;10350:1;10331:9;:16;;;;:20;10322:58;10353:4;;10359:10;10371:8;10322:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10322:58:0;;;;;;;;-1:-1:-1;10322:58:0;;-1:-1:-1;;;;;;10322:58:0;9772:616;;;;:::o;8480:59::-;8523:16;8480:59;:::o;8688:17::-;;;-1:-1:-1;;;;;8688:17:0;;:::o;10552:389::-;10646:9;:16;10641:21;;10633:44;;;;;-1:-1:-1;;;10633:44:0;;;;;;;;;;;;-1:-1:-1;;;10633:44:0;;;;;;;;;;;;;;;10711:15;10696:11;:30;;;;;;;;;;10688:58;;;;;-1:-1:-1;;;10688:58:0;;;;;;;;;;;;-1:-1:-1;;;10688:58:0;;;;;;;;;;;;;;;10793:12;10765:9;10775:2;10765:13;;;;;;;;;;;;;;;;;;:24;;;:40;;10757:60;;;;;-1:-1:-1;;;10757:60:0;;;;;;;;;;;;-1:-1:-1;;;10757:60:0;;;;;;;;;;;;;;;10852:9;10862:2;10852:13;;;;;;;;;;;;;;;;;;:22;;;10836:12;:38;;10828:56;;;;;-1:-1:-1;;;10828:56:0;;;;;;;;;;;;-1:-1:-1;;;10828:56:0;;;;;;;;;;;;;;;10917:2;10905:10;-1:-1:-1;;;;;10900:33:0;;10921:11;10900:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;10552:389;;:::o;9353:114::-;9443:9;:16;9353:114;;:::o;8618:41::-;8655:4;8618:41;:::o;909:181::-;967:7;999:5;;;1023:6;;;;1015:46;;;;;-1:-1:-1;;;1015:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1081:1;909:181;-1:-1:-1;;;909:181:0:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;

Swarm Source

ipfs://4d424bebfb60588581ce3206020fa706d396b387ea1cda046626f5417e461266

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.