ETH Price: $3,001.85 (+2.59%)
 

Overview

ETH Balance

Scroll LogoScroll LogoScroll Logo0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Claim77679552024-07-25 15:18:59551 days ago1721920739IN
0x3C7AE7e6...e927566aE
0 ETH0.000038520.0931614
Claim77356732024-07-24 12:58:58552 days ago1721825938IN
0x3C7AE7e6...e927566aE
0 ETH0.000032230.08
Claim76916492024-07-23 1:29:45554 days ago1721698185IN
0x3C7AE7e6...e927566aE
0 ETH0.000024830.06211492
Claim76718462024-07-22 9:24:31554 days ago1721640271IN
0x3C7AE7e6...e927566aE
0 ETH0.000028820.07080684
Claim76557622024-07-21 20:17:55555 days ago1721593075IN
0x3C7AE7e6...e927566aE
0 ETH0.000061890.14661471
Claim76225772024-07-20 17:59:20556 days ago1721498360IN
0x3C7AE7e6...e927566aE
0 ETH0.000002380.06187445
Claim76144232024-07-20 11:24:20556 days ago1721474660IN
0x3C7AE7e6...e927566aE
0 ETH0.000031940.08
Claim75766052024-07-19 6:23:19558 days ago1721370199IN
0x3C7AE7e6...e927566aE
0 ETH0.000032560.08
Claim75468732024-07-18 6:53:16559 days ago1721285596IN
0x3C7AE7e6...e927566aE
0 ETH0.000004550.11
Claim75468732024-07-18 6:53:16559 days ago1721285596IN
0x3C7AE7e6...e927566aE
0 ETH0.000040880.1
Claim75346182024-07-17 20:50:58559 days ago1721249458IN
0x3C7AE7e6...e927566aE
0 ETH0.000004180.09
Claim74661122024-07-15 15:58:14561 days ago1721059094IN
0x3C7AE7e6...e927566aE
0 ETH0.000059530.14033905
Claim72851632024-07-09 21:12:39567 days ago1720559559IN
0x3C7AE7e6...e927566aE
0 ETH0.000153830.39
Claim71164302024-07-04 0:33:59573 days ago1720053239IN
0x3C7AE7e6...e927566aE
0 ETH0.000192010.48893133
Claim71144882024-07-03 22:56:53573 days ago1720047413IN
0x3C7AE7e6...e927566aE
0 ETH0.000185010.47
Claim71125302024-07-03 21:18:59573 days ago1720041539IN
0x3C7AE7e6...e927566aE
0 ETH0.000013380.45422725
Claim71125192024-07-03 21:18:26573 days ago1720041506IN
0x3C7AE7e6...e927566aE
0 ETH0.000179830.45422725
Claim71124252024-07-03 21:13:44573 days ago1720041224IN
0x3C7AE7e6...e927566aE
0 ETH0.000190790.48
Claim71072922024-07-03 16:56:56573 days ago1720025816IN
0x3C7AE7e6...e927566aE
0 ETH0.000015580.44
Claim70941182024-07-03 5:55:23574 days ago1719986123IN
0x3C7AE7e6...e927566aE
0 ETH0.000007120.24
Claim70610212024-07-02 2:20:31575 days ago1719886831IN
0x3C7AE7e6...e927566aE
0 ETH0.000094440.24
Claim70401132024-07-01 8:55:01575 days ago1719824101IN
0x3C7AE7e6...e927566aE
0 ETH0.000094740.24
Claim70233472024-06-30 18:56:43576 days ago1719773803IN
0x3C7AE7e6...e927566aE
0 ETH0.000088110.22155
Claim70210142024-06-30 17:00:04576 days ago1719766804IN
0x3C7AE7e6...e927566aE
0 ETH0.000079220.2
Claim69724762024-06-29 0:33:10578 days ago1719621190IN
0x3C7AE7e6...e927566aE
0 ETH0.000090410.23
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KingdomAirdrop

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at scrollscan.com on 2024-06-24
*/

// File: contracts/IVotingEscrow.sol


pragma solidity ^0.8.0;

interface IVotingEscrow {
    struct Point {
        int128 bias;
        int128 slope; // # -dweight / dt
        uint256 ts;
        uint256 blk; // block
    }

    struct LockedBalance {
        int128 amount;
        uint256 end;
    }

    function token() external view returns (address);

    function team() external returns (address);

    function epoch() external view returns (uint256);

    function point_history(uint256 loc) external view returns (Point memory);

    function user_point_history(uint256 tokenId, uint256 loc)
        external
        view
        returns (Point memory);

    function user_point_epoch(uint256 tokenId) external view returns (uint256);

    function ownerOf(uint256) external view returns (address);

    function isApprovedOrOwner(address, uint256) external view returns (bool);

    function transferFrom(
        address,
        address,
        uint256
    ) external;

    function voting(uint256 tokenId) external;

    function abstain(uint256 tokenId) external;

    function attach(uint256 tokenId) external;

    function detach(uint256 tokenId) external;

    function checkpoint() external;

    function depositFor(uint256 tokenId, uint256 value) external;

    function createLockFor(
        uint256,
        uint256,
        address
    ) external returns (uint256);

    function balanceOfNFT(uint256) external view returns (uint256);

    function balanceOfNFTAt(uint256, uint256) external view returns (uint256);

    function totalSupply() external view returns (uint256);

    function locked__end(uint256) external view returns (uint256);

    function balanceOf(address) external view returns (uint256);

    function tokenOfOwnerByIndex(address, uint256)
        external
        view
        returns (uint256);

    function locked(uint256) external view returns (LockedBalance memory);

    function isDelegate(address _operator, uint256 _tokenId)
        external
        view
        returns (bool);

    function increase_unlock_time(uint256 _tokenId, uint256 _lock_duration)
        external;
}

// File: @openzeppelin/contracts/token/ERC20/IERC20.sol


// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.20;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @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);

    /**
     * @dev Returns the value of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

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

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

// File: @openzeppelin/contracts/interfaces/IERC20.sol


// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC20.sol)

pragma solidity ^0.8.20;


// File: contracts/KingdomAirdrop.sol


pragma solidity ^0.8.20;



error Started();
error NotStarted();
error NotAuthorized();
error Claimed();
error NoAllocation();
error NotPaused();
error Paused();
error Invalid();
error NotComplete();

contract KingdomAirdrop {
    address public owner;

    IVotingEscrow public votingEscrow;
    IERC20 public emissionsToken;

    mapping(address => uint256) allocation;
    mapping(address => bool) claimed;

    bool public paused;

    uint256 public start;
    uint256 public end;
    uint256 public constant MAXTIME = 126144000;
    uint256 public constant MAX_TOKEN = 1_000_000 * 1e18;

    event ClaimAirdrop(address _user, uint256 _amount);

    modifier onlyAuth() {
        if (msg.sender != owner) revert NotAuthorized();
        _;
    }

    constructor(
        IERC20 _emissionsToken,
        IVotingEscrow _votingEscrow,
        address _owner
    ) {
        emissionsToken = _emissionsToken;
        votingEscrow = _votingEscrow;
        owner = _owner;
        paused = true;

        emissionsToken.approve(address(_votingEscrow), type(uint256).max);
    }

    ///@notice claim your airdrop
    function claim() external {
        if (start <= 0) revert NotStarted();
        if (claimed[msg.sender]) revert Claimed();
        if (allocation[msg.sender] <= 0) revert NoAllocation();
        uint256 _alloc = allocation[msg.sender];
        allocation[msg.sender] = 0;
        claimed[msg.sender] = true;
        votingEscrow.createLockFor(_alloc, MAXTIME, msg.sender);
        emit ClaimAirdrop(msg.sender, _alloc);
    }

    ///@notice start the airdrop process
    ///@param _unixLength is the length in seconds for the airdrop period to last
    function enableAirdrop(uint256 _unixLength) external onlyAuth {
        if (emissionsToken.balanceOf(address(this)) < MAX_TOKEN)
            revert Invalid();
        if (!paused) revert NotPaused();
        paused = false;
        start = block.timestamp;
        end = start + _unixLength;
    }

    ///@notice burn the remaining emissionsToken not claimed for the Airdrop, and end the airdrop
    function endAirdrop() external onlyAuth {
        if (paused) revert Paused();
        if (block.timestamp < end) revert NotComplete();
        paused = true;
        emissionsToken.transfer(owner, emissionsToken.balanceOf(address(this)));
    }

    ///@notice fill in the airdrop mappings
    function populateMapping(
        address[] calldata wallets,
        uint256[] calldata _allocations
    ) external onlyAuth {
        if (wallets.length != _allocations.length) revert Invalid();
        for (uint256 i = 0; i < wallets.length; ++i) {
            allocation[wallets[i]] += _allocations[i];
        }
    }

    function checkDistribution(address wallet) public view returns (uint256) {
        return (allocation[wallet]);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"contract IERC20","name":"_emissionsToken","type":"address"},{"internalType":"contract IVotingEscrow","name":"_votingEscrow","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Claimed","type":"error"},{"inputs":[],"name":"Invalid","type":"error"},{"inputs":[],"name":"NoAllocation","type":"error"},{"inputs":[],"name":"NotAuthorized","type":"error"},{"inputs":[],"name":"NotComplete","type":"error"},{"inputs":[],"name":"NotPaused","type":"error"},{"inputs":[],"name":"NotStarted","type":"error"},{"inputs":[],"name":"Paused","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_user","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"ClaimAirdrop","type":"event"},{"inputs":[],"name":"MAXTIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_TOKEN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"checkDistribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emissionsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_unixLength","type":"uint256"}],"name":"enableAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"end","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"},{"internalType":"uint256[]","name":"_allocations","type":"uint256[]"}],"name":"populateMapping","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"start","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingEscrow","outputs":[{"internalType":"contract IVotingEscrow","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b506040516109d53803806109d583398101604081905261002f91610107565b600280546001600160a01b038581166001600160a01b0319928316811790935560018054868316908416811782556000805493871693909416929092179092556005805460ff191690921790915560405163095ea7b360e01b81526004810191909152600019602482015263095ea7b3906044016020604051808303816000875af11580156100c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e69190610154565b5050505061017d565b6001600160a01b038116811461010457600080fd5b50565b60008060006060848603121561011c57600080fd5b8351610127816100ef565b6020850151909350610138816100ef565b6040850151909250610149816100ef565b809150509250925092565b60006020828403121561016657600080fd5b8151801515811461017657600080fd5b9392505050565b6108498061018c6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063726b5bad1161008c578063be9a655511610066578063be9a6555146101b4578063ee00ef3a146101bd578063efbe1c1c146101c8578063f7ac2e15146101d157600080fd5b8063726b5bad146101705780637aa28ecb146101785780638da5cb5b146101a157600080fd5b80630ffe3b1a146100d4578063210ca05d146100e95780634e71d92d146101195780634f2bfe5b146101215780635c975abb146101345780636e1bd32314610151575b600080fd5b6100e76100e236600461069a565b6101e4565b005b6002546100fc906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100e76102e8565b6001546100fc906001600160a01b031681565b6005546101419060ff1681565b6040519015158152602001610110565b61016269d3c21bcecceda100000081565b604051908152602001610110565b6100e7610453565b6101626101863660046106b3565b6001600160a01b031660009081526003602052604090205490565b6000546100fc906001600160a01b031681565b61016260065481565b610162630784ce0081565b61016260075481565b6100e76101df36600461072f565b6105bd565b6000546001600160a01b0316331461020f5760405163ea8e4eb560e01b815260040160405180910390fd5b6002546040516370a0823160e01b815230600482015269d3c21bcecceda1000000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610261573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610285919061079b565b10156102a457604051636dac6a0960e01b815260040160405180910390fd5b60055460ff166102c757604051636cd6020160e01b815260040160405180910390fd5b6005805460ff191690554260068190556102e29082906107b4565b60075550565b60006006541161030b57604051636f312cbd60e01b815260040160405180910390fd5b3360009081526004602052604090205460ff161561033c576040516317968e5360e31b815260040160405180910390fd5b3360009081526003602052604090205461036957604051632fc532ad60e11b815260040160405180910390fd5b33600081815260036020908152604080832080549084905560049283905292819020805460ff1916600190811790915554905163ec32e6df60e01b8152918201839052630784ce006024830152604482019390935290916001600160a01b03169063ec32e6df906064016020604051808303816000875af11580156103f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610416919061079b565b5060408051338152602081018390527fcebbbce55cb558a80c89a83b5e23dca5186979853be88c28e9e01232c7fdc98b910160405180910390a150565b6000546001600160a01b0316331461047e5760405163ea8e4eb560e01b815260040160405180910390fd5b60055460ff16156104a2576040516313d0ff5960e31b815260040160405180910390fd5b6007544210156104c557604051630701727f60e01b815260040160405180910390fd5b6005805460ff191660011790556002546000546040516370a0823160e01b81523060048201526001600160a01b039283169263a9059cbb92169083906370a0823190602401602060405180830381865afa158015610527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054b919061079b565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ba91906107db565b50565b6000546001600160a01b031633146105e85760405163ea8e4eb560e01b815260040160405180910390fd5b82811461060857604051636dac6a0960e01b815260040160405180910390fd5b60005b8381101561069357828282818110610625576106256107fd565b9050602002013560036000878785818110610642576106426107fd565b905060200201602081019061065791906106b3565b6001600160a01b03166001600160a01b03168152602001908152602001600020600082825461068691906107b4565b909155505060010161060b565b5050505050565b6000602082840312156106ac57600080fd5b5035919050565b6000602082840312156106c557600080fd5b81356001600160a01b03811681146106dc57600080fd5b9392505050565b60008083601f8401126106f557600080fd5b50813567ffffffffffffffff81111561070d57600080fd5b6020830191508360208260051b850101111561072857600080fd5b9250929050565b6000806000806040858703121561074557600080fd5b843567ffffffffffffffff8082111561075d57600080fd5b610769888389016106e3565b9096509450602087013591508082111561078257600080fd5b5061078f878288016106e3565b95989497509550505050565b6000602082840312156107ad57600080fd5b5051919050565b808201808211156107d557634e487b7160e01b600052601160045260246000fd5b92915050565b6000602082840312156107ed57600080fd5b815180151581146106dc57600080fd5b634e487b7160e01b600052603260045260246000fdfea264697066735822122080238ba929ab600e62b396e63601b39c70f334a8bfb9cec232c7dbeacf612adf64736f6c63430008190033000000000000000000000000aaae8378809bb8815c08d3c59eb0c7d1529ad769000000000000000000000000aaaea1fb9f3de3f70e89f37b69ab11b47eb9ce6f000000000000000000000000c9d28676b7d470210a3c490b60729660ee5a7257

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063726b5bad1161008c578063be9a655511610066578063be9a6555146101b4578063ee00ef3a146101bd578063efbe1c1c146101c8578063f7ac2e15146101d157600080fd5b8063726b5bad146101705780637aa28ecb146101785780638da5cb5b146101a157600080fd5b80630ffe3b1a146100d4578063210ca05d146100e95780634e71d92d146101195780634f2bfe5b146101215780635c975abb146101345780636e1bd32314610151575b600080fd5b6100e76100e236600461069a565b6101e4565b005b6002546100fc906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100e76102e8565b6001546100fc906001600160a01b031681565b6005546101419060ff1681565b6040519015158152602001610110565b61016269d3c21bcecceda100000081565b604051908152602001610110565b6100e7610453565b6101626101863660046106b3565b6001600160a01b031660009081526003602052604090205490565b6000546100fc906001600160a01b031681565b61016260065481565b610162630784ce0081565b61016260075481565b6100e76101df36600461072f565b6105bd565b6000546001600160a01b0316331461020f5760405163ea8e4eb560e01b815260040160405180910390fd5b6002546040516370a0823160e01b815230600482015269d3c21bcecceda1000000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610261573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610285919061079b565b10156102a457604051636dac6a0960e01b815260040160405180910390fd5b60055460ff166102c757604051636cd6020160e01b815260040160405180910390fd5b6005805460ff191690554260068190556102e29082906107b4565b60075550565b60006006541161030b57604051636f312cbd60e01b815260040160405180910390fd5b3360009081526004602052604090205460ff161561033c576040516317968e5360e31b815260040160405180910390fd5b3360009081526003602052604090205461036957604051632fc532ad60e11b815260040160405180910390fd5b33600081815260036020908152604080832080549084905560049283905292819020805460ff1916600190811790915554905163ec32e6df60e01b8152918201839052630784ce006024830152604482019390935290916001600160a01b03169063ec32e6df906064016020604051808303816000875af11580156103f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610416919061079b565b5060408051338152602081018390527fcebbbce55cb558a80c89a83b5e23dca5186979853be88c28e9e01232c7fdc98b910160405180910390a150565b6000546001600160a01b0316331461047e5760405163ea8e4eb560e01b815260040160405180910390fd5b60055460ff16156104a2576040516313d0ff5960e31b815260040160405180910390fd5b6007544210156104c557604051630701727f60e01b815260040160405180910390fd5b6005805460ff191660011790556002546000546040516370a0823160e01b81523060048201526001600160a01b039283169263a9059cbb92169083906370a0823190602401602060405180830381865afa158015610527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054b919061079b565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ba91906107db565b50565b6000546001600160a01b031633146105e85760405163ea8e4eb560e01b815260040160405180910390fd5b82811461060857604051636dac6a0960e01b815260040160405180910390fd5b60005b8381101561069357828282818110610625576106256107fd565b9050602002013560036000878785818110610642576106426107fd565b905060200201602081019061065791906106b3565b6001600160a01b03166001600160a01b03168152602001908152602001600020600082825461068691906107b4565b909155505060010161060b565b5050505050565b6000602082840312156106ac57600080fd5b5035919050565b6000602082840312156106c557600080fd5b81356001600160a01b03811681146106dc57600080fd5b9392505050565b60008083601f8401126106f557600080fd5b50813567ffffffffffffffff81111561070d57600080fd5b6020830191508360208260051b850101111561072857600080fd5b9250929050565b6000806000806040858703121561074557600080fd5b843567ffffffffffffffff8082111561075d57600080fd5b610769888389016106e3565b9096509450602087013591508082111561078257600080fd5b5061078f878288016106e3565b95989497509550505050565b6000602082840312156107ad57600080fd5b5051919050565b808201808211156107d557634e487b7160e01b600052601160045260246000fd5b92915050565b6000602082840312156107ed57600080fd5b815180151581146106dc57600080fd5b634e487b7160e01b600052603260045260246000fdfea264697066735822122080238ba929ab600e62b396e63601b39c70f334a8bfb9cec232c7dbeacf612adf64736f6c63430008190033

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

000000000000000000000000aaae8378809bb8815c08d3c59eb0c7d1529ad769000000000000000000000000aaaea1fb9f3de3f70e89f37b69ab11b47eb9ce6f000000000000000000000000c9d28676b7d470210a3c490b60729660ee5a7257

-----Decoded View---------------
Arg [0] : _emissionsToken (address): 0xAAAE8378809bb8815c08D3C59Eb0c7D1529aD769
Arg [1] : _votingEscrow (address): 0xAAAEa1fB9f3DE3F70E89f37B69Ab11B47eb9Ce6F
Arg [2] : _owner (address): 0xC9d28676b7d470210a3C490B60729660eE5a7257

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000aaae8378809bb8815c08d3c59eb0c7d1529ad769
Arg [1] : 000000000000000000000000aaaea1fb9f3de3f70e89f37b69ab11b47eb9ce6f
Arg [2] : 000000000000000000000000c9d28676b7d470210a3c490b60729660ee5a7257


Deployed Bytecode Sourcemap

5538:2695:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7059:304;;;;;;:::i;:::-;;:::i;:::-;;5638:28;;;;;-1:-1:-1;;;;;5638:28:0;;;;;;-1:-1:-1;;;;;377:32:1;;;359:51;;347:2;332:18;5638:28:0;;;;;;;;6491:435;;;:::i;5598:33::-;;;;;-1:-1:-1;;;;;5598:33:0;;;5761:18;;;;;;;;;;;;815:14:1;;808:22;790:41;;778:2;763:18;5761::0;650:187:1;5890:52:0;;5926:16;5890:52;;;;;988:25:1;;;976:2;961:18;5890:52:0;842:177:1;7470:250:0;;;:::i;8111:119::-;;;;;;:::i;:::-;-1:-1:-1;;;;;8203:18:0;8175:7;8203:18;;;:10;:18;;;;;;;8111:119;5569:20;;;;;-1:-1:-1;;;;;5569:20:0;;;5788;;;;;;5840:43;;5874:9;5840:43;;5815:18;;;;;;7773:330;;;;;;:::i;:::-;;:::i;7059:304::-;6059:5;;-1:-1:-1;;;;;6059:5:0;6045:10;:19;6041:47;;6073:15;;-1:-1:-1;;;6073:15:0;;;;;;;;;;;6041:47;7136:14:::1;::::0;:39:::1;::::0;-1:-1:-1;;;7136:39:0;;7169:4:::1;7136:39;::::0;::::1;359:51:1::0;5926:16:0::1;::::0;-1:-1:-1;;;;;7136:14:0::1;::::0;:24:::1;::::0;332:18:1;;7136:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:51;7132:86;;;7209:9;;-1:-1:-1::0;;;7209:9:0::1;;;;;;;;;;;7132:86;7234:6;::::0;::::1;;7229:31;;7249:11;;-1:-1:-1::0;;;7249:11:0::1;;;;;;;;;;;7229:31;7271:6;:14:::0;;-1:-1:-1;;7271:14:0::1;::::0;;7304:15:::1;7296:5;:23:::0;;;7336:19:::1;::::0;7344:11;;7336:19:::1;:::i;:::-;7330:3;:25:::0;-1:-1:-1;7059:304:0:o;6491:435::-;6541:1;6532:5;;:10;6528:35;;6551:12;;-1:-1:-1;;;6551:12:0;;;;;;;;;;;6528:35;6586:10;6578:19;;;;:7;:19;;;;;;;;6574:41;;;6606:9;;-1:-1:-1;;;6606:9:0;;;;;;;;;;;6574:41;6641:10;6656:1;6630:22;;;:10;:22;;;;;;6626:54;;6666:14;;-1:-1:-1;;;6666:14:0;;;;;;;;;;;6626:54;6719:10;6691:14;6708:22;;;:10;:22;;;;;;;;;;6741:26;;;;6778:7;:19;;;;;;;;:26;;-1:-1:-1;;6778:26:0;-1:-1:-1;6778:26:0;;;;;;6815:12;:55;;-1:-1:-1;;;6815:55:0;;;;;3291:25:1;;;5874:9:0;3332:18:1;;;3325:34;3375:18;;;3368:60;;;;6708:22:0;;-1:-1:-1;;;;;6815:12:0;;:26;;3264:18:1;;6815:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6886:32:0;;;6899:10;3613:51:1;;3695:2;3680:18;;3673:34;;;6886:32:0;;3586:18:1;6886:32:0;;;;;;;6517:409;6491:435::o;7470:250::-;6059:5;;-1:-1:-1;;;;;6059:5:0;6045:10;:19;6041:47;;6073:15;;-1:-1:-1;;;6073:15:0;;;;;;;;;;;6041:47;7525:6:::1;::::0;::::1;;7521:27;;;7540:8;;-1:-1:-1::0;;;7540:8:0::1;;;;;;;;;;;7521:27;7581:3;;7563:15;:21;7559:47;;;7593:13;;-1:-1:-1::0;;;7593:13:0::1;;;;;;;;;;;7559:47;7617:6;:13:::0;;-1:-1:-1;;7617:13:0::1;7626:4;7617:13;::::0;;7641:14:::1;::::0;-1:-1:-1;7665:5:0;7672:39:::1;::::0;-1:-1:-1;;;7672:39:0;;7705:4:::1;7672:39;::::0;::::1;359:51:1::0;-1:-1:-1;;;;;7641:14:0;;::::1;::::0;:23:::1;::::0;7665:5:::1;::::0;7641:14;;7672:24:::1;::::0;332:18:1;;7672:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7641:71;::::0;-1:-1:-1;;;;;;7641:71:0::1;::::0;;;;;;-1:-1:-1;;;;;3631:32:1;;;7641:71:0::1;::::0;::::1;3613:51:1::0;3680:18;;;3673:34;3586:18;;7641:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7470:250::o:0;7773:330::-;6059:5;;-1:-1:-1;;;;;6059:5:0;6045:10;:19;6041:47;;6073:15;;-1:-1:-1;;;6073:15:0;;;;;;;;;;;6041:47;7917:37;;::::1;7913:59;;7963:9;;-1:-1:-1::0;;;7963:9:0::1;;;;;;;;;;;7913:59;7988:9;7983:113;8003:18:::0;;::::1;7983:113;;;8069:12;;8082:1;8069:15;;;;;;;:::i;:::-;;;;;;;8043:10;:22;8054:7;;8062:1;8054:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8043:22:0::1;-1:-1:-1::0;;;;;8043:22:0::1;;;;;;;;;;;;;:41;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;8023:3:0::1;;7983:113;;;;7773:330:::0;;;;:::o;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;1024:286::-;1083:6;1136:2;1124:9;1115:7;1111:23;1107:32;1104:52;;;1152:1;1149;1142:12;1104:52;1178:23;;-1:-1:-1;;;;;1230:31:1;;1220:42;;1210:70;;1276:1;1273;1266:12;1210:70;1299:5;1024:286;-1:-1:-1;;;1024:286:1:o;1523:367::-;1586:8;1596:6;1650:3;1643:4;1635:6;1631:17;1627:27;1617:55;;1668:1;1665;1658:12;1617:55;-1:-1:-1;1691:20:1;;1734:18;1723:30;;1720:50;;;1766:1;1763;1756:12;1720:50;1803:4;1795:6;1791:17;1779:29;;1863:3;1856:4;1846:6;1843:1;1839:14;1831:6;1827:27;1823:38;1820:47;1817:67;;;1880:1;1877;1870:12;1817:67;1523:367;;;;;:::o;1895:773::-;2017:6;2025;2033;2041;2094:2;2082:9;2073:7;2069:23;2065:32;2062:52;;;2110:1;2107;2100:12;2062:52;2150:9;2137:23;2179:18;2220:2;2212:6;2209:14;2206:34;;;2236:1;2233;2226:12;2206:34;2275:70;2337:7;2328:6;2317:9;2313:22;2275:70;:::i;:::-;2364:8;;-1:-1:-1;2249:96:1;-1:-1:-1;2452:2:1;2437:18;;2424:32;;-1:-1:-1;2468:16:1;;;2465:36;;;2497:1;2494;2487:12;2465:36;;2536:72;2600:7;2589:8;2578:9;2574:24;2536:72;:::i;:::-;1895:773;;;;-1:-1:-1;2627:8:1;-1:-1:-1;;;;1895:773:1:o;2673:184::-;2743:6;2796:2;2784:9;2775:7;2771:23;2767:32;2764:52;;;2812:1;2809;2802:12;2764:52;-1:-1:-1;2835:16:1;;2673:184;-1:-1:-1;2673:184:1:o;2862:222::-;2927:9;;;2948:10;;;2945:133;;;3000:10;2995:3;2991:20;2988:1;2981:31;3035:4;3032:1;3025:15;3063:4;3060:1;3053:15;2945:133;2862:222;;;;:::o;3718:277::-;3785:6;3838:2;3826:9;3817:7;3813:23;3809:32;3806:52;;;3854:1;3851;3844:12;3806:52;3886:9;3880:16;3939:5;3932:13;3925:21;3918:5;3915:32;3905:60;;3961:1;3958;3951:12;4000:127;4061:10;4056:3;4052:20;4049:1;4042:31;4092:4;4089:1;4082:15;4116:4;4113:1;4106:15

Swarm Source

ipfs://80238ba929ab600e62b396e63601b39c70f334a8bfb9cec232c7dbeacf612adf

Block Transaction Gas Used Reward
view all blocks sequenced

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
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.