ETH Price: $3,296.28 (-4.84%)

Contract

0xC2abdf57d2b1E852d99FFAC6D499D3302D51B307
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Stake ETH204533672024-08-04 6:22:47114 days ago1722752567IN
0xC2abdf57...02D51B307
0.0005 ETH0.00002591
Claim Kong172168482023-05-08 16:05:47568 days ago1683561947IN
0xC2abdf57...02D51B307
0 ETH0.00750353147.28995078
Claim Kong172158722023-05-08 12:47:59568 days ago1683550079IN
0xC2abdf57...02D51B307
0 ETH0.0045428289.17284236
Claim Kong168851892023-03-22 19:24:47615 days ago1679513087IN
0xC2abdf57...02D51B307
0 ETH0.0022853633.5865824
Claim Kong153854422022-08-21 18:11:40828 days ago1661105500IN
0xC2abdf57...02D51B307
0 ETH0.0012292924.13033881
Claim Kong153837802022-08-21 11:39:14828 days ago1661081954IN
0xC2abdf57...02D51B307
0 ETH0.000330594.85847591
Claim Kong149972892022-06-20 15:24:53890 days ago1655738693IN
0xC2abdf57...02D51B307
0 ETH0.0022104932.48619029
Claim Kong143094002022-03-02 19:03:221000 days ago1646247802IN
0xC2abdf57...02D51B307
0 ETH0.0040749359.88673816
Claim Kong138059772021-12-14 22:24:541077 days ago1639520694IN
0xC2abdf57...02D51B307
0 ETH0.0045817667.33539611
Claim Kong137637022021-12-08 8:11:161084 days ago1638951076IN
0xC2abdf57...02D51B307
0 ETH0.0043289163.61930242
Claim Kong137596412021-12-07 16:45:191085 days ago1638895519IN
0xC2abdf57...02D51B307
0 ETH0.0059438887.35352476
Claim Kong137588632021-12-07 13:44:191085 days ago1638884659IN
0xC2abdf57...02D51B307
0 ETH0.0052899177.74261674
Claim Kong137558302021-12-07 1:57:271085 days ago1638842247IN
0xC2abdf57...02D51B307
0 ETH0.00860703126.49213549
Claim Kong136607192021-11-21 22:06:181100 days ago1637532378IN
0xC2abdf57...02D51B307
0 ETH0.00852704125.3166899
Claim Kong136556892021-11-21 3:08:121101 days ago1637464092IN
0xC2abdf57...02D51B307
0 ETH0.00801911117.85195758
Claim Kong136482572021-11-19 22:47:171102 days ago1637362037IN
0xC2abdf57...02D51B307
0 ETH0.0058384685.80420905
Claim Kong134660572021-10-22 7:16:561131 days ago1634887016IN
0xC2abdf57...02D51B307
0 ETH0.0028304741.59774634
Claim Kong133846522021-10-09 12:52:361144 days ago1633783956IN
0xC2abdf57...02D51B307
0 ETH0.0036743754
Claim Kong133272332021-09-30 13:04:371153 days ago1633007077IN
0xC2abdf57...02D51B307
0 ETH0.0044072164.77007617
Claim Kong132889372021-09-24 14:09:391159 days ago1632492579IN
0xC2abdf57...02D51B307
0 ETH0.00693156101.86880223
Claim Kong132768452021-09-22 17:21:001161 days ago1632331260IN
0xC2abdf57...02D51B307
0 ETH0.0066193497.28040697
Claim Kong132759942021-09-22 14:05:441161 days ago1632319544IN
0xC2abdf57...02D51B307
0 ETH0.0040864660.05614332
Claim Kong132694662021-09-21 13:43:111162 days ago1632231791IN
0xC2abdf57...02D51B307
0 ETH0.0030052844.16680181
Claim Kong131844422021-09-08 10:00:131175 days ago1631095213IN
0xC2abdf57...02D51B307
0 ETH0.00264339102.52456838
Transfer131206172021-08-29 13:27:061185 days ago1630243626IN
0xC2abdf57...02D51B307
0 ETH0.00092444
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
130509222021-08-18 18:46:381196 days ago1629312398
0xC2abdf57...02D51B307
 Contract Creation1 ETH
130160452021-08-13 9:40:231201 days ago1628847623
0xC2abdf57...02D51B307
 Contract Creation0.25 ETH
129946952021-08-10 2:26:091204 days ago1628562369
0xC2abdf57...02D51B307
 Contract Creation0.15 ETH
129641592021-08-05 9:26:001209 days ago1628155560
0xC2abdf57...02D51B307
 Contract Creation1 ETH
129550102021-08-03 22:40:101210 days ago1628030410
0xC2abdf57...02D51B307
 Contract Creation0.2 ETH
129512842021-08-03 8:37:081211 days ago1627979828
0xC2abdf57...02D51B307
 Contract Creation1 ETH
129509822021-08-03 7:25:521211 days ago1627975552
0xC2abdf57...02D51B307
 Contract Creation0.2 ETH
129502282021-08-03 4:31:371211 days ago1627965097
0xC2abdf57...02D51B307
 Contract Creation0.07 ETH
129412602021-08-01 18:37:531213 days ago1627843073
0xC2abdf57...02D51B307
 Contract Creation0.3 ETH
129406672021-08-01 16:26:501213 days ago1627835210
0xC2abdf57...02D51B307
 Contract Creation4 ETH
129401852021-08-01 14:28:181213 days ago1627828098
0xC2abdf57...02D51B307
 Contract Creation2 ETH
129356902021-07-31 21:29:341213 days ago1627766974
0xC2abdf57...02D51B307
 Contract Creation0.1 ETH
129336742021-07-31 13:48:381214 days ago1627739318
0xC2abdf57...02D51B307
 Contract Creation30 ETH
129330752021-07-31 11:32:451214 days ago1627731165
0xC2abdf57...02D51B307
 Contract Creation7 ETH
129317662021-07-31 6:32:081214 days ago1627713128
0xC2abdf57...02D51B307
 Contract Creation1 ETH
129305732021-07-31 2:00:111214 days ago1627696811
0xC2abdf57...02D51B307
 Contract Creation3 ETH
129256702021-07-30 7:30:201215 days ago1627630220
0xC2abdf57...02D51B307
 Contract Creation0.1 ETH
129231192021-07-29 21:36:421215 days ago1627594602
0xC2abdf57...02D51B307
 Contract Creation3 ETH
128893032021-07-24 13:38:171221 days ago1627133897
0xC2abdf57...02D51B307
 Contract Creation1 ETH
128882752021-07-24 9:52:361221 days ago1627120356
0xC2abdf57...02D51B307
 Contract Creation2.2 ETH
128879402021-07-24 8:28:491221 days ago1627115329
0xC2abdf57...02D51B307
 Contract Creation2.5 ETH
128876932021-07-24 7:30:251221 days ago1627111825
0xC2abdf57...02D51B307
 Contract Creation2.5 ETH
128859272021-07-24 1:03:251221 days ago1627088605
0xC2abdf57...02D51B307
 Contract Creation0.1 ETH
128807212021-07-23 5:19:571222 days ago1627017597
0xC2abdf57...02D51B307
 Contract Creation1 ETH
128807202021-07-23 5:19:531222 days ago1627017593
0xC2abdf57...02D51B307
 Contract Creation0.1 ETH
View All Internal Transactions
Loading...
Loading

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

Contract Name:
LockDrop

Compiler Version
v0.5.2+commit.1df8f40c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2019-08-10
*/

pragma solidity 0.5.2;

/***************
**            **
** INTERFACES **
**            **
***************/

/**
 * @dev Interface of OpenZeppelin's ERC20; For definitions / documentation, see below.
 */
interface IERC20 {

    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
    function totalSupply() external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);

}

/**
 * @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) {
        // Solidity only automatically asserts when dividing by 0
        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;
    }
}

/**
 * @title   Lock Drop Contract
 *
 * @dev     This contract implements a Kong Lock Drop.
 *
 *          Notes (check online sources for further details):
 *
 *          - `stakeETH()` can be called to participate in the lock drop by staking ETH. Individual
 *          stakes are immediately sent to separate instances of `LockETH` contracts that only the
 *          staker has access to.
 *
 *          - `claimKong()` can be called to claim Kong once the staking period is over.
 *
 *          - The contract is open for contributions for 30 days after its deployment.
 */
contract LockDrop {
    using SafeMath for uint256;

    // Timestamp for the end of staking.
    uint256 public _stakingEnd;

    // Sum of all contribution weights.
    uint256 public _weightsSum;

    // Address of the KONG ERC20 contract.
    address public _kongERC20Address;

    // Mapping from contributors to contribution weights.
    mapping(address => uint256) public _weights;

    // Mapping from contributors to locking period ends.
    mapping(address => uint256) public _lockingEnds;

    // Events for staking and claiming.
    event Staked(
        address indexed contributor,
        address lockETHAddress,
        uint256 ethStaked,
        uint256 endDate
    );
    event Claimed(
        address indexed claimant,
        uint256 ethStaked,
        uint256 kongClaim
    );

    constructor (address kongERC20Address) public {

        // Set the address of the ERC20 token.
        _kongERC20Address = kongERC20Address;

        // Set the end of the staking period to 30 days after deployment.
        _stakingEnd = block.timestamp + 30 days;

    }

    /**
     * @dev Function to stake ETH in this lock drop.
     *
     *      When called with positive `msg.value` and valid `stakingPeriod`, deploys instance of
     *      `LockETH` contract and transfers `msg.value` to it. Each `LockETH` contract is only
     *      accessible to the address that called `stakeETH()` to deploy the respective instance.
     *
     *      For valid stakes, calculates the variable `weight` as the product of total lockup time
     *      and `msg.value`. Stores `weight` in `_weights[msg.sender]` and adds it to `_weightsSum`.
     *
     *      Expects `block.timestamp` to be smaller than `_stakingEnd`. Does not allow for topping
     *      up of existing stakes. Restricts staking period to be between 90 and 365.
     *
     *      Emits `Staked` event.
     */
    function stakeETH(uint256 stakingPeriod) public payable {

        // Require positive msg.value.
        require(msg.value > 0, 'Msg value = 0.');

        // No topping up.
        require(_weights[msg.sender] == 0, 'No topping up.');

        // No contributions after _stakingEnd.
        require(block.timestamp <= _stakingEnd, 'Closed for contributions.');

        // Ensure the staking period is valid.
        require(stakingPeriod >= 30 && stakingPeriod <= 365, 'Staking period outside of allowed range.');

        // Calculate contribution weight as product of msg.value and total time the ETH is locked.
        uint256 totalTime = _stakingEnd + stakingPeriod * 1 days - block.timestamp;
        uint256 weight = totalTime.mul(msg.value);

        // Adjust contribution weights.
        _weightsSum = _weightsSum.add(weight);
        _weights[msg.sender] = weight;

        // Set end date for lock.
        _lockingEnds[msg.sender] = _stakingEnd + stakingPeriod * 1 days;

        // Deploy new lock contract.
        LockETH lockETH = (new LockETH).value(msg.value)(_lockingEnds[msg.sender], msg.sender);

        // Abort if the new contract's balance is lower than expected.
        require(address(lockETH).balance >= msg.value);

        // Emit event.
        emit Staked(msg.sender, address(lockETH), msg.value, _lockingEnds[msg.sender]);

    }

    /**
     * @dev Function to claim Kong.
     *
     *      Determines the ratio of the contribution by `msg.sender` to all contributions. Sends
     *      the product of this ratio and the contract's Kong balance to `msg.sender`. Sets the
     *      contribution of `msg.sender` to zero afterwards and subtracts it from the sum of all
     *      contributions.
     *
     *      Expects `block.timestamp` to be larger than `_lockingEnds[msg.sender]`. Throws if
     *      `_weights[msg.sender]` is zero. Emits `Claimed` event.
     *
     *      NOTE: Overflow protection in calculation of `kongClaim` prevents anyone staking massive
     *      amounts from ever claiming. Fine as long as product of weight and the contract's Kong
     *      balance is at most (2^256)-1.
     */
    function claimKong() external {

        // Verify that this `msg.sender` has contributed.
        require(_weights[msg.sender] > 0, 'Zero contribution.');

        // Verify that this `msg.sender` can claim.
        require(block.timestamp > _lockingEnds[msg.sender], 'Cannot claim yet.');

        // Calculate amount to return.
        uint256 weight = _weights[msg.sender];
        uint256 kongClaim = IERC20(_kongERC20Address).balanceOf(address(this)).mul(weight).div(_weightsSum);

        // Adjust stake and sum of stakes.
        _weights[msg.sender] = 0;
        _weightsSum = _weightsSum.sub(weight);

        // Send kong to `msg.sender`.
        IERC20(_kongERC20Address).transfer(msg.sender, kongClaim);

        // Emit event.
        emit Claimed(msg.sender, weight, kongClaim);

    }

}

/**
 * @title   LockETH contract.
 *
 * @dev     Escrows ETH until `_endOfLockUp`. Calling `unlockETH()` after `_endOfLockUp` sends ETH
 *          to `_contractOwner`.
 */
contract LockETH {

    uint256 public _endOfLockUp;
    address payable public _contractOwner;

    constructor (uint256 endOfLockUp, address payable contractOwner) public payable {

        _endOfLockUp = endOfLockUp;
        _contractOwner = contractOwner;

    }

    /**
     * @dev Send ETH owned by this contract to `_contractOwner`. Can be called by anyone but
     *      requires `block.timestamp` > `endOfLockUp`.
     */
    function unlockETH() external {

        // Verify end of lock-up period.
        require(block.timestamp > _endOfLockUp, 'Cannot claim yet.');

        // Send ETH balance to `_contractOwner`.
        _contractOwner.transfer(address(this).balance);

    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"_kongERC20Address","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"_lockingEnds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"_weights","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"stakingPeriod","type":"uint256"}],"name":"stakeETH","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"claimKong","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_weightsSum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_stakingEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"kongERC20Address","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"contributor","type":"address"},{"indexed":false,"name":"lockETHAddress","type":"address"},{"indexed":false,"name":"ethStaked","type":"uint256"},{"indexed":false,"name":"endDate","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"claimant","type":"address"},{"indexed":false,"name":"ethStaked","type":"uint256"},{"indexed":false,"name":"kongClaim","type":"uint256"}],"name":"Claimed","type":"event"}]

Deployed Bytecode

0x60806040526004361061008d576000357c0100000000000000000000000000000000000000000000000000000000900480636ecc20da1161006b5780636ecc20da146101b3578063cb0fcb52146101e1578063d583b596146101f8578063f2bacacf146102235761008d565b80632abbd8471461009257806332c1d50d146100e95780634d12616a1461014e575b600080fd5b34801561009e57600080fd5b506100a761024e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100f557600080fd5b506101386004803603602081101561010c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610274565b6040518082815260200191505060405180910390f35b34801561015a57600080fd5b5061019d6004803603602081101561017157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061028c565b6040518082815260200191505060405180910390f35b6101df600480360360208110156101c957600080fd5b81019080803590602001909291905050506102a4565b005b3480156101ed57600080fd5b506101f6610728565b005b34801561020457600080fd5b5061020d610bb4565b6040518082815260200191505060405180910390f35b34801561022f57600080fd5b50610238610bba565b6040518082815260200191505060405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60046020528060005260406000206000915090505481565b60036020528060005260406000206000915090505481565b60003411151561031c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4d73672076616c7565203d20302e00000000000000000000000000000000000081525060200191505060405180910390fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415156103d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e6f20746f7070696e672075702e00000000000000000000000000000000000081525060200191505060405180910390fd5b600054421115151561044d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f436c6f73656420666f7220636f6e747269627574696f6e732e0000000000000081525060200191505060405180910390fd5b601e8110158015610460575061016d8111155b15156104b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806111e56028913960400191505060405180910390fd5b6000426201518083026000540103905060006104dc3483610bc090919063ffffffff16565b90506104f381600154610c4a90919063ffffffff16565b60018190555080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062015180830260005401600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600034600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054336105d6610ef4565b808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506040518091039082f08015801561062e573d6000803e3d6000fd5b5090509050348173ffffffffffffffffffffffffffffffffffffffff16311015151561065957600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f6c86f3fd5118b3aa8bb4f389a617046de0a3d3d477de1a1673d227f802f616dc8234600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a250505050565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115156107df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5a65726f20636f6e747269627574696f6e2e000000000000000000000000000081525060200191505060405180910390fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442111515610895576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f43616e6e6f7420636c61696d207965742e00000000000000000000000000000081525060200191505060405180910390fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060006109f76001546109e984600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156109a057600080fd5b505afa1580156109b4573d6000803e3d6000fd5b505050506040513d60208110156109ca57600080fd5b8101908080519060200190929190505050610bc090919063ffffffff16565b610cd490919063ffffffff16565b90506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a5382600154610d1e90919063ffffffff16565b600181905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610b1e57600080fd5b505af1158015610b32573d6000803e3d6000fd5b505050506040513d6020811015610b4857600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167f987d620f307ff6b94d58743cb7a7509f24071586a77759b77c2d4e29f75a2f9a8383604051808381526020018281526020019250505060405180910390a25050565b60015481565b60005481565b600080831415610bd35760009050610c44565b60008284029050828482811515610be657fe5b04141515610c3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806111c46021913960400191505060405180910390fd5b809150505b92915050565b6000808284019050838110151515610cca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000610d1683836040805190810160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d68565b905092915050565b6000610d6083836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e32565b905092915050565b600080831182901515610e16576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ddb578082015181840152602081019050610dc0565b50505050905090810190601f168015610e085780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385811515610e2457fe5b049050809150509392505050565b60008383111582901515610ee1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ea6578082015181840152602081019050610e8b565b50505050905090810190601f168015610ed35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6040516102bf80610f058339019056fe60806040526040516040806102bf8339810180604052604081101561002357600080fd5b8101908080519060200190929190805190602001909291905050508160008190555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610228806100976000396000f3fe608060405234801561001057600080fd5b506004361061005e576000357c01000000000000000000000000000000000000000000000000000000009004806316ec1600146100635780632bb3b1141461006d57806387f95dda146100b7575b600080fd5b61006b6100d5565b005b6100756101d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100bf6101f6565b6040518082815260200191505060405180910390f35b6000544211151561014e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f43616e6e6f7420636c61696d207965742e00000000000000000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501580156101cd573d6000803e3d6000fd5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000548156fea165627a7a723058202aee17bc97a360fee9269768709045e6f067b367b082051c91a464d4b979e7ec0029536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775374616b696e6720706572696f64206f757473696465206f6620616c6c6f7765642072616e67652ea165627a7a72305820065c0e37c8ebcbc3978169570a35fd9ba94dd863f36a5b0c68261870c12022bc0029

Deployed Bytecode Sourcemap

6797:4988:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7054:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7054:32:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7264:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7264:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7264:47:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7154:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7154:43:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7154:43:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8742:1401;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8742:1401:0;;;;;;;;;;;;;;;;;:::i;:::-;;10957:823;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10957:823:0;;;:::i;:::-;;6975:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6975:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6899;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6899:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7054:32;;;;;;;;;;;;;:::o;7264:47::-;;;;;;;;;;;;;;;;;:::o;7154:43::-;;;;;;;;;;;;;;;;;:::o;8742:1401::-;8871:1;8859:9;:13;8851:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8963:1;8939:8;:20;8948:10;8939:20;;;;;;;;;;;;;;;;:25;8931:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9071:11;;9052:15;:30;;9044:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9198:2;9181:13;:19;;:43;;;;;9221:3;9204:13;:20;;9181:43;9173:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9382:17;9441:15;9432:6;9416:13;:22;9402:11;;:36;:54;9382:74;;9467:14;9484:24;9498:9;9484;:13;;:24;;;;:::i;:::-;9467:41;;9576:23;9592:6;9576:11;;:15;;:23;;;;:::i;:::-;9562:11;:37;;;;9633:6;9610:8;:20;9619:10;9610:20;;;;;;;;;;;;;;;:29;;;;9744:6;9728:13;:22;9714:11;;:36;9687:12;:24;9700:10;9687:24;;;;;;;;;;;;;;;:63;;;;9801:15;9839:9;9850:12;:24;9863:10;9850:24;;;;;;;;;;;;;;;;9876:10;9819:68;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9819:68:0;;;9801:86;;10008:9;9988:7;9980:24;;;:37;;9972:46;;;;;;;;10067:10;10060:73;;;10087:7;10097:9;10108:12;:24;10121:10;10108:24;;;;;;;;;;;;;;;;10060:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8742:1401;;;;:::o;10957:823::-;11090:1;11067:8;:20;11076:10;11067:20;;;;;;;;;;;;;;;;:24;11059:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11206:12;:24;11219:10;11206:24;;;;;;;;;;;;;;;;11188:15;:42;11180:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11305:14;11322:8;:20;11331:10;11322:20;;;;;;;;;;;;;;;;11305:37;;11353:17;11373:79;11440:11;;11373:62;11428:6;11380:17;;;;;;;;;;;11373:35;;;11417:4;11373:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11373:50:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11373:50:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11373:50:0;;;;;;;;;;;;;;;;:54;;:62;;;;:::i;:::-;:66;;:79;;;;:::i;:::-;11353:99;;11532:1;11509:8;:20;11518:10;11509:20;;;;;;;;;;;;;;;:24;;;;11558:23;11574:6;11558:11;;:15;;:23;;;;:::i;:::-;11544:11;:37;;;;11640:17;;;;;;;;;;;11633:34;;;11668:10;11680:9;11633:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11633:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11633:57:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11633:57:0;;;;;;;;;;;;;;;;;11740:10;11732:38;;;11752:6;11760:9;11732:38;;;;;;;;;;;;;;;;;;;;;;;;10957:823;;:::o;6975:26::-;;;;:::o;6899:::-;;;;:::o;3061:471::-;3119:7;3369:1;3364;:6;3360:47;;;3394:1;3387:8;;;;3360:47;3419:9;3435:1;3431;:5;3419:17;;3464:1;3459;3455;:5;;;;;;;;:10;3447:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3523:1;3516:8;;;3061:471;;;;;:::o;1731:181::-;1789:7;1809:9;1825:1;1821;:5;1809:17;;1850:1;1845;:6;;1837:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1903:1;1896:8;;;1731:181;;;;:::o;4000:132::-;4058:7;4085:39;4089:1;4092;4085:39;;;;;;;;;;;;;;;;;;:3;:39::i;:::-;4078:46;;4000:132;;;;:::o;2187:136::-;2245:7;2272:43;2276:1;2279;2272:43;;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2265:50;;2187:136;;;;:::o;4620:345::-;4706:7;4805:1;4801;:5;4808:12;4793:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4793:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4832:9;4848:1;4844;:5;;;;;;;;4832:17;;4956:1;4949:8;;;4620:345;;;;;:::o;2618:192::-;2704:7;2737:1;2732;:6;;2740:12;2724:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2724:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2764:9;2780:1;2776;:5;2764:17;;2801:1;2794:8;;;2618:192;;;;;:::o;6797:4988::-;;;;;;;;;;:::o

Swarm Source

bzzr://065c0e37c8ebcbc3978169570a35fd9ba94dd863f36a5b0c68261870c12022bc

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