FTM Price: $0.702859 (+2.06%)
 

Sponsored

Transaction Hash
Method
Block
From
To
Update_period694802902023-10-18 20:25:11356 days ago1697660711IN
0xC4209c19...22054A90D
0 FTM0.0005445422
Update_period684144472023-09-21 15:21:59383 days ago1695309719IN
0xC4209c19...22054A90D
0 FTM0.00568737229.77416128
Update_period641309092023-06-15 2:07:23482 days ago1686794843IN
0xC4209c19...22054A90D
0 FTM0.0015255361.63283775
Update_period603353312023-04-20 0:03:00538 days ago1681948980IN
0xC4209c19...22054A90D
0 FTM0.00404935163.59713375
Update_period597719742023-04-13 2:48:34545 days ago1681354114IN
0xC4209c19...22054A90D
0 FTM0.12237553289.24710081
Update_period548792092023-02-02 0:01:47615 days ago1675296107IN
0xC4209c19...22054A90D
0 FTM0.00314902127.22324231
Update_period544474912023-01-26 4:08:34621 days ago1674706114IN
0xC4209c19...22054A90D
0 FTM0.0007127728.79674558
Update_period490432682022-10-13 0:00:32727 days ago1665619232IN
0xC4209c19...22054A90D
0 FTM0.0012623551
Update_period465934822022-09-08 14:29:41761 days ago1662647381IN
0xC4209c19...22054A90D
0 FTM0.00705677285.099028
Update_period465930232022-09-08 14:09:43761 days ago1662646183IN
0xC4209c19...22054A90D
0 FTM0.051072652,063.37475854
Update_period465597752022-09-08 0:01:26762 days ago1662595286IN
0xC4209c19...22054A90D
0 FTM0.0002380910
Update_period465597632022-09-08 0:01:13762 days ago1662595273IN
0xC4209c19...22054A90D
0 FTM0.000047142
Update_period465597082022-09-08 0:00:06762 days ago1662595206IN
0xC4209c19...22054A90D
0 FTM14.0743830,000
Update_period376115082022-05-05 12:50:37887 days ago1651755037IN
0xC4209c19...22054A90D
0 FTM0.0034127137.8761
Update_period360469902022-04-14 15:27:49908 days ago1649950069IN
0xC4209c19...22054A90D
0 FTM0.00602564257.6492
Update_period348537492022-03-31 5:17:33922 days ago1648703853IN
0xC4209c19...22054A90D
0 FTM0.00549863235.1152
Update_period342079162022-03-23 16:42:28930 days ago1648053748IN
0xC4209c19...22054A90D
0 FTM0.00458032195.8492
Update_period336198252022-03-17 0:47:50937 days ago1647478070IN
0xC4209c19...22054A90D
0 FTM0.01127571482.136
Update_period335672092022-03-16 9:55:01937 days ago1647424501IN
0xC4209c19...22054A90D
0 FTM0.0043136184.4447
Update_period330986012022-03-11 1:48:12943 days ago1646963292IN
0xC4209c19...22054A90D
0 FTM0.0220494942.806
Update_period330052072022-03-10 0:14:09944 days ago1646871249IN
0xC4209c19...22054A90D
0 FTM0.041335571,767.4595
Update_period328548292022-03-08 6:25:07945 days ago1646720707IN
0xC4209c19...22054A90D
0 FTM0.00950732406.5216
Update_period324710872022-03-03 21:06:24950 days ago1646341584IN
0xC4209c19...22054A90D
0 FTM0.00745888318.9331
Update_period323997642022-03-03 0:55:13951 days ago1646268913IN
0xC4209c19...22054A90D
0 FTM0.0701613,000
Update_period323973952022-03-03 0:00:13951 days ago1646265613IN
0xC4209c19...22054A90D
0 FTM0.0701613,000
View all transactions

Latest 1 internal transaction

Parent Transaction Hash Block From To
305119852022-02-10 3:16:16972 days ago1644462976  Contract Creation0 FTM
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BaseV1Minter

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU LGPLv3 license
/**
 *Submitted for verification at ftmscan.com on 2022-02-10
*/

// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity 0.8.11;

library Math {
    function max(uint a, uint b) internal pure returns (uint) {
        return a >= b ? a : b;
    }
}

interface ve {
    function token() external view returns (address);
    function totalSupply() external view returns (uint);
    function create_lock_for(uint, uint, address) external returns (uint);
    function transferFrom(address, address, uint) external;
}

interface underlying {
    function approve(address spender, uint value) external returns (bool);
    function mint(address, uint) external;
    function totalSupply() external view returns (uint);
    function balanceOf(address) external view returns (uint);
    function transfer(address, uint) external returns (bool);
}

interface voter {
    function notifyRewardAmount(uint amount) external;
}

interface ve_dist {
    function checkpoint_token() external;
    function checkpoint_total_supply() external;
}

// codifies the minting rules as per ve(3,3), abstracted from the token to support any token that allows minting

contract BaseV1Minter {

    uint internal constant week = 86400 * 7; // allows minting once per week (reset every Thursday 00:00 UTC)
    uint internal constant emission = 98;
    uint internal constant tail_emission = 2;
    uint internal constant target_base = 100; // 2% per week target emission
    uint internal constant tail_base = 1000; // 0.2% per week target emission
    underlying public immutable _token;
    voter public immutable _voter;
    ve public immutable _ve;
    ve_dist public immutable _ve_dist;
    uint public weekly = 20000000e18;
    uint public active_period;
    uint internal constant lock = 86400 * 7 * 52 * 4;

    address internal initializer;

    event Mint(address indexed sender, uint weekly, uint circulating_supply, uint circulating_emission);

    constructor(
        address __voter, // the voting & distribution system
        address  __ve, // the ve(3,3) system that will be locked into
        address __ve_dist // the distribution system that ensures users aren't diluted
    ) {
        initializer = msg.sender;
        _token = underlying(ve(__ve).token());
        _voter = voter(__voter);
        _ve = ve(__ve);
        _ve_dist = ve_dist(__ve_dist);
        active_period = (block.timestamp + (2*week)) / week * week;
    }

    function initialize(
        address[] memory claimants,
        uint[] memory amounts,
        uint max // sum amounts / max = % ownership of top protocols, so if initial 20m is distributed, and target is 25% protocol ownership, then max - 4 x 20m = 80m
    ) external {
        require(initializer == msg.sender);
        _token.mint(address(this), max);
        _token.approve(address(_ve), type(uint).max);
        for (uint i = 0; i < claimants.length; i++) {
            _ve.create_lock_for(amounts[i], lock, claimants[i]);
        }
        initializer = address(0);
        active_period = (block.timestamp + week) / week * week;
    }

    // calculate circulating supply as total token supply - locked supply
    function circulating_supply() public view returns (uint) {
        return _token.totalSupply() - _ve.totalSupply();
    }

    // emission calculation is 2% of available supply to mint adjusted by circulating / total supply
    function calculate_emission() public view returns (uint) {
        return weekly * emission * circulating_supply() / target_base / _token.totalSupply();
    }

    // weekly emission takes the max of calculated (aka target) emission versus circulating tail end emission
    function weekly_emission() public view returns (uint) {
        return Math.max(calculate_emission(), circulating_emission());
    }

    // calculates tail end (infinity) emissions as 0.2% of total supply
    function circulating_emission() public view returns (uint) {
        return circulating_supply() * tail_emission / tail_base;
    }

    // calculate inflation and adjust ve balances accordingly
    function calculate_growth(uint _minted) public view returns (uint) {
        return _ve.totalSupply() * _minted / _token.totalSupply();
    }

    // update period can only be called once per cycle (1 week)
    function update_period() external returns (uint) {
        uint _period = active_period;
        if (block.timestamp >= _period + week && initializer == address(0)) { // only trigger if new week
            _period = block.timestamp / week * week;
            active_period = _period;
            weekly = weekly_emission();

            uint _growth = calculate_growth(weekly);
            uint _required = _growth + weekly;
            uint _balanceOf = _token.balanceOf(address(this));
            if (_balanceOf < _required) {
                _token.mint(address(this), _required-_balanceOf);
            }

            require(_token.transfer(address(_ve_dist), _growth));
            _ve_dist.checkpoint_token(); // checkpoint token balance that was just minted in ve_dist
            _ve_dist.checkpoint_total_supply(); // checkpoint supply

            _token.approve(address(_voter), weekly);
            _voter.notifyRewardAmount(weekly);

            emit Mint(msg.sender, weekly, circulating_supply(), circulating_emission());
        }
        return _period;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"__voter","type":"address"},{"internalType":"address","name":"__ve","type":"address"},{"internalType":"address","name":"__ve_dist","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"weekly","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"circulating_supply","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"circulating_emission","type":"uint256"}],"name":"Mint","type":"event"},{"inputs":[],"name":"_token","outputs":[{"internalType":"contract underlying","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ve","outputs":[{"internalType":"contract ve","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ve_dist","outputs":[{"internalType":"contract ve_dist","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_voter","outputs":[{"internalType":"contract voter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"active_period","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"calculate_emission","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minted","type":"uint256"}],"name":"calculate_growth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"circulating_emission","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"circulating_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"claimants","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"update_period","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"weekly","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"weekly_emission","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

6101006040526a108b2a2c280290940000006000553480156200002157600080fd5b506040516200128438038062001284833981016040819052620000449162000141565b600280546001600160a01b0319163317905560408051637e062a3560e11b815290516001600160a01b0384169163fc0c546a9160048083019260209291908290030181865afa1580156200009c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c291906200018b565b6001600160a01b0390811660805283811660a05282811660c052811660e05262093a8080620000f3816002620001c6565b620000ff9042620001e8565b6200010b919062000203565b620001179190620001c6565b6001555062000226915050565b80516001600160a01b03811681146200013c57600080fd5b919050565b6000806000606084860312156200015757600080fd5b620001628462000124565b9250620001726020850162000124565b9150620001826040850162000124565b90509250925092565b6000602082840312156200019e57600080fd5b620001a98262000124565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620001e357620001e3620001b0565b500290565b60008219821115620001fe57620001fe620001b0565b500190565b6000826200022157634e487b7160e01b600052601260045260246000fd5b500490565b60805160a05160c05160e051610fa7620002dd6000396000818160fd0152818161096a01528181610a110152610a840152600081816101800152818161038201528181610430015281816105e7015261069f01526000818161014401528181610b3c0152610bd60152600081816101d30152818161022901528181610309015281816103b2015281816105640152818161072101528181610845015281816108c4015281816109990152610b0d0152610fa76000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80638dd598fb1161008c578063d139960811610066578063d1399608146101bd578063e038c75a146101c6578063ecd0c0c3146101ce578063ed29fc11146101f557600080fd5b80638dd598fb1461017b5780638e01fbfa146101a2578063cfc6c8ff146101b557600080fd5b80631eebae80146100d457806326cfc17b146100ef5780632c6b2f0c146100f857806336d96faf146101375780633db9b42a1461013f5780638517081314610166575b600080fd5b6100dc6101fd565b6040519081526020015b60405180910390f35b6100dc60005481565b61011f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100e6565b6100dc610225565b61011f7f000000000000000000000000000000000000000000000000000000000000000081565b610179610174366004610d8e565b6102d6565b005b61011f7f000000000000000000000000000000000000000000000000000000000000000081565b6100dc6101b0366004610e66565b610560565b6100dc610681565b6100dc60015481565b6100dc61069b565b61011f7f000000000000000000000000000000000000000000000000000000000000000081565b6100dc6107ab565b60006103e8600261020c61069b565b6102169190610e95565b6102209190610eb4565b905090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a99190610ed6565b60646102b361069b565b60626000546102c29190610e95565b6102cc9190610e95565b6102169190610eb4565b6002546001600160a01b031633146102ed57600080fd5b6040516340c10f1960e01b8152306004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906340c10f1990604401600060405180830381600087803b15801561035557600080fd5b505af1158015610369573d6000803e3d6000fd5b505060405163095ea7b360e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260001960248301527f000000000000000000000000000000000000000000000000000000000000000016925063095ea7b391506044016020604051808303816000875af11580156103fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104219190610eef565b5060005b8351811015610524577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d4e54c3b84838151811061046f5761046f610f11565b602002602001015163077f880087858151811061048e5761048e610f11565b60200260200101516040518463ffffffff1660e01b81526004016104ce9392919092835260208301919091526001600160a01b0316604082015260600190565b6020604051808303816000875af11580156104ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105119190610ed6565b508061051c81610f27565b915050610425565b50600280546001600160a01b031916905562093a80806105448142610f42565b61054e9190610eb4565b6105589190610e95565b600155505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e49190610ed6565b827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610643573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106679190610ed6565b6106719190610e95565b61067b9190610eb4565b92915050565b600061022061068e610225565b6106966101fd565b610c9f565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071f9190610ed6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a19190610ed6565b6102209190610f5a565b6001546000906107be62093a8082610f42565b42101580156107d657506002546001600160a01b0316155b15610c9a5762093a806107e98142610eb4565b6107f39190610e95565b60018190559050610802610681565b60008181559061081190610560565b905060008054826108229190610f42565b6040516370a0823160e01b81523060048201529091506000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa15801561088c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b09190610ed6565b905081811015610953576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166340c10f19306108f48486610f5a565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561093a57600080fd5b505af115801561094e573d6000803e3d6000fd5b505050505b60405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018590527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af11580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a069190610eef565b610a0f57600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663811a40fe6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a6a57600080fd5b505af1158015610a7e573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b21ed5026040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610add57600080fd5b505af1158015610af1573d6000803e3d6000fd5b505060005460405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016935063095ea7b39250610b78917f0000000000000000000000000000000000000000000000000000000000000000916004016001600160a01b03929092168252602082015260400190565b6020604051808303816000875af1158015610b97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbb9190610eef565b50600054604051633c6b16ab60e01b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633c6b16ab90602401600060405180830381600087803b158015610c2257600080fd5b505af1158015610c36573d6000803e3d6000fd5b50505050336001600160a01b03167fb4c03061fb5b7fed76389d5af8f2e0ddb09f8c70d1333abbb62582835e10accb600054610c7061069b565b610c786101fd565b6040805193845260208401929092529082015260600160405180910390a25050505b919050565b600081831015610caf5781610cb1565b825b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610cf757610cf7610cb8565b604052919050565b600067ffffffffffffffff821115610d1957610d19610cb8565b5060051b60200190565b600082601f830112610d3457600080fd5b81356020610d49610d4483610cff565b610cce565b82815260059290921b84018101918181019086841115610d6857600080fd5b8286015b84811015610d835780358352918301918301610d6c565b509695505050505050565b600080600060608486031215610da357600080fd5b833567ffffffffffffffff80821115610dbb57600080fd5b818601915086601f830112610dcf57600080fd5b81356020610ddf610d4483610cff565b82815260059290921b8401810191818101908a841115610dfe57600080fd5b948201945b83861015610e325785356001600160a01b0381168114610e235760008081fd5b82529482019490820190610e03565b97505087013592505080821115610e4857600080fd5b50610e5586828701610d23565b925050604084013590509250925092565b600060208284031215610e7857600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610eaf57610eaf610e7f565b500290565b600082610ed157634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610ee857600080fd5b5051919050565b600060208284031215610f0157600080fd5b81518015158114610cb157600080fd5b634e487b7160e01b600052603260045260246000fd5b6000600019821415610f3b57610f3b610e7f565b5060010190565b60008219821115610f5557610f55610e7f565b500190565b600082821015610f6c57610f6c610e7f565b50039056fea2646970667358221220e10eb142de50a14508ab3bdff921cf4755a7a92671d0ca762786bb5e67e4dee264736f6c634300080b0033000000000000000000000000dc819f5d05a6859d2facbb4a44e5ab105762dbae000000000000000000000000cbd8fea77c2452255f59743f55a3ea9d83b3c72b000000000000000000000000a5cefac8966452a78d6692837b2ba83d19b57d07

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80638dd598fb1161008c578063d139960811610066578063d1399608146101bd578063e038c75a146101c6578063ecd0c0c3146101ce578063ed29fc11146101f557600080fd5b80638dd598fb1461017b5780638e01fbfa146101a2578063cfc6c8ff146101b557600080fd5b80631eebae80146100d457806326cfc17b146100ef5780632c6b2f0c146100f857806336d96faf146101375780633db9b42a1461013f5780638517081314610166575b600080fd5b6100dc6101fd565b6040519081526020015b60405180910390f35b6100dc60005481565b61011f7f000000000000000000000000a5cefac8966452a78d6692837b2ba83d19b57d0781565b6040516001600160a01b0390911681526020016100e6565b6100dc610225565b61011f7f000000000000000000000000dc819f5d05a6859d2facbb4a44e5ab105762dbae81565b610179610174366004610d8e565b6102d6565b005b61011f7f000000000000000000000000cbd8fea77c2452255f59743f55a3ea9d83b3c72b81565b6100dc6101b0366004610e66565b610560565b6100dc610681565b6100dc60015481565b6100dc61069b565b61011f7f000000000000000000000000888ef71766ca594ded1f0fa3ae64ed2941740a2081565b6100dc6107ab565b60006103e8600261020c61069b565b6102169190610e95565b6102209190610eb4565b905090565b60007f000000000000000000000000888ef71766ca594ded1f0fa3ae64ed2941740a206001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a99190610ed6565b60646102b361069b565b60626000546102c29190610e95565b6102cc9190610e95565b6102169190610eb4565b6002546001600160a01b031633146102ed57600080fd5b6040516340c10f1960e01b8152306004820152602481018290527f000000000000000000000000888ef71766ca594ded1f0fa3ae64ed2941740a206001600160a01b0316906340c10f1990604401600060405180830381600087803b15801561035557600080fd5b505af1158015610369573d6000803e3d6000fd5b505060405163095ea7b360e01b81526001600160a01b037f000000000000000000000000cbd8fea77c2452255f59743f55a3ea9d83b3c72b8116600483015260001960248301527f000000000000000000000000888ef71766ca594ded1f0fa3ae64ed2941740a2016925063095ea7b391506044016020604051808303816000875af11580156103fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104219190610eef565b5060005b8351811015610524577f000000000000000000000000cbd8fea77c2452255f59743f55a3ea9d83b3c72b6001600160a01b031663d4e54c3b84838151811061046f5761046f610f11565b602002602001015163077f880087858151811061048e5761048e610f11565b60200260200101516040518463ffffffff1660e01b81526004016104ce9392919092835260208301919091526001600160a01b0316604082015260600190565b6020604051808303816000875af11580156104ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105119190610ed6565b508061051c81610f27565b915050610425565b50600280546001600160a01b031916905562093a80806105448142610f42565b61054e9190610eb4565b6105589190610e95565b600155505050565b60007f000000000000000000000000888ef71766ca594ded1f0fa3ae64ed2941740a206001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e49190610ed6565b827f000000000000000000000000cbd8fea77c2452255f59743f55a3ea9d83b3c72b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610643573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106679190610ed6565b6106719190610e95565b61067b9190610eb4565b92915050565b600061022061068e610225565b6106966101fd565b610c9f565b60007f000000000000000000000000cbd8fea77c2452255f59743f55a3ea9d83b3c72b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071f9190610ed6565b7f000000000000000000000000888ef71766ca594ded1f0fa3ae64ed2941740a206001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a19190610ed6565b6102209190610f5a565b6001546000906107be62093a8082610f42565b42101580156107d657506002546001600160a01b0316155b15610c9a5762093a806107e98142610eb4565b6107f39190610e95565b60018190559050610802610681565b60008181559061081190610560565b905060008054826108229190610f42565b6040516370a0823160e01b81523060048201529091506000906001600160a01b037f000000000000000000000000888ef71766ca594ded1f0fa3ae64ed2941740a2016906370a0823190602401602060405180830381865afa15801561088c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b09190610ed6565b905081811015610953576001600160a01b037f000000000000000000000000888ef71766ca594ded1f0fa3ae64ed2941740a20166340c10f19306108f48486610f5a565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561093a57600080fd5b505af115801561094e573d6000803e3d6000fd5b505050505b60405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000a5cefac8966452a78d6692837b2ba83d19b57d0781166004830152602482018590527f000000000000000000000000888ef71766ca594ded1f0fa3ae64ed2941740a20169063a9059cbb906044016020604051808303816000875af11580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a069190610eef565b610a0f57600080fd5b7f000000000000000000000000a5cefac8966452a78d6692837b2ba83d19b57d076001600160a01b031663811a40fe6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a6a57600080fd5b505af1158015610a7e573d6000803e3d6000fd5b505050507f000000000000000000000000a5cefac8966452a78d6692837b2ba83d19b57d076001600160a01b031663b21ed5026040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610add57600080fd5b505af1158015610af1573d6000803e3d6000fd5b505060005460405163095ea7b360e01b81526001600160a01b037f000000000000000000000000888ef71766ca594ded1f0fa3ae64ed2941740a2016935063095ea7b39250610b78917f000000000000000000000000dc819f5d05a6859d2facbb4a44e5ab105762dbae916004016001600160a01b03929092168252602082015260400190565b6020604051808303816000875af1158015610b97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbb9190610eef565b50600054604051633c6b16ab60e01b815260048101919091527f000000000000000000000000dc819f5d05a6859d2facbb4a44e5ab105762dbae6001600160a01b031690633c6b16ab90602401600060405180830381600087803b158015610c2257600080fd5b505af1158015610c36573d6000803e3d6000fd5b50505050336001600160a01b03167fb4c03061fb5b7fed76389d5af8f2e0ddb09f8c70d1333abbb62582835e10accb600054610c7061069b565b610c786101fd565b6040805193845260208401929092529082015260600160405180910390a25050505b919050565b600081831015610caf5781610cb1565b825b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610cf757610cf7610cb8565b604052919050565b600067ffffffffffffffff821115610d1957610d19610cb8565b5060051b60200190565b600082601f830112610d3457600080fd5b81356020610d49610d4483610cff565b610cce565b82815260059290921b84018101918181019086841115610d6857600080fd5b8286015b84811015610d835780358352918301918301610d6c565b509695505050505050565b600080600060608486031215610da357600080fd5b833567ffffffffffffffff80821115610dbb57600080fd5b818601915086601f830112610dcf57600080fd5b81356020610ddf610d4483610cff565b82815260059290921b8401810191818101908a841115610dfe57600080fd5b948201945b83861015610e325785356001600160a01b0381168114610e235760008081fd5b82529482019490820190610e03565b97505087013592505080821115610e4857600080fd5b50610e5586828701610d23565b925050604084013590509250925092565b600060208284031215610e7857600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610eaf57610eaf610e7f565b500290565b600082610ed157634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610ee857600080fd5b5051919050565b600060208284031215610f0157600080fd5b81518015158114610cb157600080fd5b634e487b7160e01b600052603260045260246000fd5b6000600019821415610f3b57610f3b610e7f565b5060010190565b60008219821115610f5557610f55610e7f565b500190565b600082821015610f6c57610f6c610e7f565b50039056fea2646970667358221220e10eb142de50a14508ab3bdff921cf4755a7a92671d0ca762786bb5e67e4dee264736f6c634300080b0033

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

000000000000000000000000dc819f5d05a6859d2facbb4a44e5ab105762dbae000000000000000000000000cbd8fea77c2452255f59743f55a3ea9d83b3c72b000000000000000000000000a5cefac8966452a78d6692837b2ba83d19b57d07

-----Decoded View---------------
Arg [0] : __voter (address): 0xdC819F5d05a6859D2faCbB4A44E5aB105762dbaE
Arg [1] : __ve (address): 0xcBd8fEa77c2452255f59743f55A3Ea9d83b3c72b
Arg [2] : __ve_dist (address): 0xA5CEfAC8966452a78d6692837b2ba83d19b57d07

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000dc819f5d05a6859d2facbb4a44e5ab105762dbae
Arg [1] : 000000000000000000000000cbd8fea77c2452255f59743f55a3ea9d83b3c72b
Arg [2] : 000000000000000000000000a5cefac8966452a78d6692837b2ba83d19b57d07


Deployed Bytecode Sourcemap

1117:4310:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3900:133;;;:::i;:::-;;;160:25:1;;;148:2;133:18;3900:133:0;;;;;;;;1653:32;;;;;;1613:33;;;;;;;;-1:-1:-1;;;;;375:32:1;;;357:51;;345:2;330:18;1613:33:0;196:218:1;3406:160:0;;;:::i;1547:29::-;;;;;2434:656;;;;;;:::i;:::-;;:::i;:::-;;1583:23;;;;;4104:143;;;;;;:::i;:::-;;:::i;3685:134::-;;;:::i;1692:25::-;;;;;;3173:123;;;:::i;1506:34::-;;;;;4320:1102;;;:::i;3900:133::-;3953:4;1462;1341:1;3977:20;:18;:20::i;:::-;:36;;;;:::i;:::-;:48;;;;:::i;:::-;3970:55;;3900:133;:::o;3406:160::-;3457:4;3538:6;-1:-1:-1;;;;;3538:18:0;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1386:3;3501:20;:18;:20::i;:::-;1293:2;3481:6;;:17;;;;:::i;:::-;:40;;;;:::i;:::-;:54;;;;:::i;2434:656::-;2727:11;;-1:-1:-1;;;;;2727:11:0;2742:10;2727:25;2719:34;;;;;;2764:31;;-1:-1:-1;;;2764:31:0;;2784:4;2764:31;;;4820:51:1;4887:18;;;4880:34;;;2764:6:0;-1:-1:-1;;;;;2764:11:0;;;;4793:18:1;;2764:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2806:44:0;;-1:-1:-1;;;2806:44:0;;-1:-1:-1;;;;;2829:3:0;4838:32:1;;2806:44:0;;;4820:51:1;-1:-1:-1;;4887:18:1;;;4880:34;2806:6:0;:14;;-1:-1:-1;2806:14:0;;-1:-1:-1;4793:18:1;;2806:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2866:6;2861:122;2882:9;:16;2878:1;:20;2861:122;;;2920:3;-1:-1:-1;;;;;2920:19:0;;2940:7;2948:1;2940:10;;;;;;;;:::i;:::-;;;;;;;1754:18;2958:9;2968:1;2958:12;;;;;;;;:::i;:::-;;;;;;;2920:51;;;;;;;;;;;;;;;;5541:25:1;;;5597:2;5582:18;;5575:34;;;;-1:-1:-1;;;;;5645:32:1;5640:2;5625:18;;5618:60;5529:2;5514:18;;5339:345;2920:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2900:3:0;;;;:::i;:::-;;;;2861:122;;;-1:-1:-1;2993:11:0;:24;;-1:-1:-1;;;;;;2993:24:0;;;1178:9;;3045:22;1178:9;3045:15;:22;:::i;:::-;3044:31;;;;:::i;:::-;:38;;;;:::i;:::-;3028:13;:54;-1:-1:-1;;;2434:656:0:o;4104:143::-;4165:4;4219:6;-1:-1:-1;;;;;4219:18:0;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4209:7;4189:3;-1:-1:-1;;;;;4189:15:0;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:27;;;;:::i;:::-;:50;;;;:::i;:::-;4182:57;4104:143;-1:-1:-1;;4104:143:0:o;3685:134::-;3733:4;3757:54;3766:20;:18;:20::i;:::-;3788:22;:20;:22::i;:::-;3757:8;:54::i;3173:123::-;3224:4;3271:3;-1:-1:-1;;;;;3271:15:0;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3248:6;-1:-1:-1;;;;;3248:18:0;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:40;;;;:::i;4320:1102::-;4395:13;;4363:4;;4442:14;1178:9;4395:13;4442:14;:::i;:::-;4423:15;:33;;:62;;;;-1:-1:-1;4460:11:0;;-1:-1:-1;;;;;4460:11:0;:25;4423:62;4419:971;;;1178:9;4540:22;1178:9;4540:15;:22;:::i;:::-;:29;;;;:::i;:::-;4584:13;:23;;;4530:39;-1:-1:-1;4631:17:0;:15;:17::i;:::-;4622:6;:26;;;:6;4680:24;;:16;:24::i;:::-;4665:39;;4719:14;4746:6;;4736:7;:16;;;;:::i;:::-;4785:31;;-1:-1:-1;;;4785:31:0;;4810:4;4785:31;;;357:51:1;4719:33:0;;-1:-1:-1;4767:15:0;;-1:-1:-1;;;;;4785:6:0;:16;;;;330:18:1;;4785:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4767:49;;4848:9;4835:10;:22;4831:111;;;-1:-1:-1;;;;;4878:6:0;:11;;4898:4;4905:20;4915:10;4905:9;:20;:::i;:::-;4878:48;;-1:-1:-1;;;;;;4878:48:0;;;;;;;-1:-1:-1;;;;;4838:32:1;;;4878:48:0;;;4820:51:1;4887:18;;;4880:34;4793:18;;4878:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4831:111;4966:43;;-1:-1:-1;;;4966:43:0;;-1:-1:-1;;;;;4990:8:0;4838:32:1;;4966:43:0;;;4820:51:1;4887:18;;;4880:34;;;4966:6:0;:15;;;;4793:18:1;;4966:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4958:52;;;;;;5025:8;-1:-1:-1;;;;;5025:25:0;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5127:8;-1:-1:-1;;;;;5127:32:0;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5231:6:0;;5199:39;;-1:-1:-1;;;5199:39:0;;-1:-1:-1;;;;;5199:6:0;:14;;-1:-1:-1;5199:14:0;;-1:-1:-1;5199:39:0;;5222:6;;5199:39;;-1:-1:-1;;;;;4838:32:1;;;;4820:51;;4902:2;4887:18;;4880:34;4808:2;4793:18;;4646:274;5199:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5279:6:0;;5253:33;;-1:-1:-1;;;5253:33:0;;;;;160:25:1;;;;5253:6:0;-1:-1:-1;;;;;5253:25:0;;;;133:18:1;;5253:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5313:10;-1:-1:-1;;;;;5308:70:0;;5325:6;;5333:20;:18;:20::i;:::-;5355:22;:20;:22::i;:::-;5308:70;;;6502:25:1;;;6558:2;6543:18;;6536:34;;;;6586:18;;;6579:34;6490:2;6475:18;5308:70:0;;;;;;;4487:903;;;4419:971;5407:7;4320:1102;-1:-1:-1;4320:1102:0:o;93:98::-;145:4;174:1;169;:6;;:14;;182:1;169:14;;;178:1;169:14;162:21;93:98;-1:-1:-1;;;93:98:0:o;639:127:1:-;700:10;695:3;691:20;688:1;681:31;731:4;728:1;721:15;755:4;752:1;745:15;771:275;842:2;836:9;907:2;888:13;;-1:-1:-1;;884:27:1;872:40;;942:18;927:34;;963:22;;;924:62;921:88;;;989:18;;:::i;:::-;1025:2;1018:22;771:275;;-1:-1:-1;771:275:1:o;1051:183::-;1111:4;1144:18;1136:6;1133:30;1130:56;;;1166:18;;:::i;:::-;-1:-1:-1;1211:1:1;1207:14;1223:4;1203:25;;1051:183::o;1239:662::-;1293:5;1346:3;1339:4;1331:6;1327:17;1323:27;1313:55;;1364:1;1361;1354:12;1313:55;1400:6;1387:20;1426:4;1450:60;1466:43;1506:2;1466:43;:::i;:::-;1450:60;:::i;:::-;1544:15;;;1630:1;1626:10;;;;1614:23;;1610:32;;;1575:12;;;;1654:15;;;1651:35;;;1682:1;1679;1672:12;1651:35;1718:2;1710:6;1706:15;1730:142;1746:6;1741:3;1738:15;1730:142;;;1812:17;;1800:30;;1850:12;;;;1763;;1730:142;;;-1:-1:-1;1890:5:1;1239:662;-1:-1:-1;;;;;;1239:662:1:o;1906:1392::-;2033:6;2041;2049;2102:2;2090:9;2081:7;2077:23;2073:32;2070:52;;;2118:1;2115;2108:12;2070:52;2158:9;2145:23;2187:18;2228:2;2220:6;2217:14;2214:34;;;2244:1;2241;2234:12;2214:34;2282:6;2271:9;2267:22;2257:32;;2327:7;2320:4;2316:2;2312:13;2308:27;2298:55;;2349:1;2346;2339:12;2298:55;2385:2;2372:16;2407:4;2431:60;2447:43;2487:2;2447:43;:::i;2431:60::-;2525:15;;;2607:1;2603:10;;;;2595:19;;2591:28;;;2556:12;;;;2631:19;;;2628:39;;;2663:1;2660;2653:12;2628:39;2687:11;;;;2707:326;2723:6;2718:3;2715:15;2707:326;;;2790:17;;-1:-1:-1;;;;;2840:31:1;;2830:42;;2820:140;;2914:1;2943:2;2939;2932:14;2820:140;2973:18;;2740:12;;;;3011;;;;2707:326;;;3052:5;-1:-1:-1;;3095:18:1;;3082:32;;-1:-1:-1;;3126:16:1;;;3123:36;;;3155:1;3152;3145:12;3123:36;;3178:63;3233:7;3222:8;3211:9;3207:24;3178:63;:::i;:::-;3168:73;;;3288:2;3277:9;3273:18;3260:32;3250:42;;1906:1392;;;;;:::o;3520:180::-;3579:6;3632:2;3620:9;3611:7;3607:23;3603:32;3600:52;;;3648:1;3645;3638:12;3600:52;-1:-1:-1;3671:23:1;;3520:180;-1:-1:-1;3520:180:1:o;3930:127::-;3991:10;3986:3;3982:20;3979:1;3972:31;4022:4;4019:1;4012:15;4046:4;4043:1;4036:15;4062:168;4102:7;4168:1;4164;4160:6;4156:14;4153:1;4150:21;4145:1;4138:9;4131:17;4127:45;4124:71;;;4175:18;;:::i;:::-;-1:-1:-1;4215:9:1;;4062:168::o;4235:217::-;4275:1;4301;4291:132;;4345:10;4340:3;4336:20;4333:1;4326:31;4380:4;4377:1;4370:15;4408:4;4405:1;4398:15;4291:132;-1:-1:-1;4437:9:1;;4235:217::o;4457:184::-;4527:6;4580:2;4568:9;4559:7;4555:23;4551:32;4548:52;;;4596:1;4593;4586:12;4548:52;-1:-1:-1;4619:16:1;;4457:184;-1:-1:-1;4457:184:1:o;4925:277::-;4992:6;5045:2;5033:9;5024:7;5020:23;5016:32;5013:52;;;5061:1;5058;5051:12;5013:52;5093:9;5087:16;5146:5;5139:13;5132:21;5125:5;5122:32;5112:60;;5168:1;5165;5158:12;5207:127;5268:10;5263:3;5259:20;5256:1;5249:31;5299:4;5296:1;5289:15;5323:4;5320:1;5313:15;5689:135;5728:3;-1:-1:-1;;5749:17:1;;5746:43;;;5769:18;;:::i;:::-;-1:-1:-1;5816:1:1;5805:13;;5689:135::o;5829:128::-;5869:3;5900:1;5896:6;5893:1;5890:13;5887:39;;;5906:18;;:::i;:::-;-1:-1:-1;5942:9:1;;5829:128::o;5962:125::-;6002:4;6030:1;6027;6024:8;6021:34;;;6035:18;;:::i;:::-;-1:-1:-1;6072:9:1;;5962:125::o

Swarm Source

ipfs://e10eb142de50a14508ab3bdff921cf4755a7a92671d0ca762786bb5e67e4dee2

Block Transaction Gas Used Reward
view all blocks produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.