ETH Price: $3,619.47 (+0.87%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer167186422023-02-27 9:28:35677 days ago1677490115IN
0x5759A6De...6AFD33CE1
0 ETH0.0003669117.47214224
Transfer154379792022-08-30 3:20:37859 days ago1661829637IN
0x5759A6De...6AFD33CE1
0 ETH0.0005406713
Transfer153055292022-08-09 3:12:58880 days ago1660014778IN
0x5759A6De...6AFD33CE1
0 ETH0.0003054514.54533828
Transfer152750472022-08-04 9:18:02884 days ago1659604682IN
0x5759A6De...6AFD33CE1
0 ETH0.0005693427.11182498
Transfer152749712022-08-04 9:02:30885 days ago1659603750IN
0x5759A6De...6AFD33CE1
0 ETH0.0006543731.16083947
Transfer152565532022-08-01 12:02:59887 days ago1659355379IN
0x5759A6De...6AFD33CE1
0 ETH0.000285886.87398952
Transfer152552592022-08-01 7:23:11888 days ago1659338591IN
0x5759A6De...6AFD33CE1
0 ETH0.0004779211.49133534
Transfer152552352022-08-01 7:16:07888 days ago1659338167IN
0x5759A6De...6AFD33CE1
0 ETH0.0004119419.6163322
Transfer152552142022-08-01 7:11:57888 days ago1659337917IN
0x5759A6De...6AFD33CE1
0 ETH0.0004141519.72180618
Transfer152551912022-08-01 7:08:04888 days ago1659337684IN
0x5759A6De...6AFD33CE1
0 ETH0.0002219910.57107013
Withdraw For151644882022-07-18 4:30:42902 days ago1658118642IN
0x5759A6De...6AFD33CE1
0 ETH0.00480326113.88347904
Transfer151465622022-07-15 9:54:41904 days ago1657878881IN
0x5759A6De...6AFD33CE1
0 ETH0.000328315.63338528
Withdraw For151331422022-07-13 8:11:06907 days ago1657699866IN
0x5759A6De...6AFD33CE1
0 ETH0.0006258311.4871906
Withdraw For151311522022-07-13 0:41:27907 days ago1657672887IN
0x5759A6De...6AFD33CE1
0 ETH0.0010124618.58375898
Transfer151282692022-07-12 14:11:51907 days ago1657635111IN
0x5759A6De...6AFD33CE1
0 ETH0.0008390215.57468479
Withdraw For151276652022-07-12 11:56:01907 days ago1657626961IN
0x5759A6De...6AFD33CE1
0 ETH0.0007189113.19568612
Transfer151269142022-07-12 8:59:03908 days ago1657616343IN
0x5759A6De...6AFD33CE1
0 ETH0.000330715.74805619
Transfer151268152022-07-12 8:36:37908 days ago1657614997IN
0x5759A6De...6AFD33CE1
0 ETH0.0006724312.48237298
Transfer151265222022-07-12 7:25:58908 days ago1657610758IN
0x5759A6De...6AFD33CE1
0 ETH0.000930517.27284092
Withdraw For151261962022-07-12 6:15:27908 days ago1657606527IN
0x5759A6De...6AFD33CE1
0 ETH0.0012641623.20384463
Transfer151260362022-07-12 5:42:39908 days ago1657604559IN
0x5759A6De...6AFD33CE1
0 ETH0.0009750518.09977307
Withdraw For151252692022-07-12 2:52:59908 days ago1657594379IN
0x5759A6De...6AFD33CE1
0 ETH0.0010451319.183555
Transfer151249812022-07-12 1:49:09908 days ago1657590549IN
0x5759A6De...6AFD33CE1
0 ETH0.0013971325.93477036
Withdraw For151248522022-07-12 1:21:59908 days ago1657588919IN
0x5759A6De...6AFD33CE1
0 ETH0.0007173113.16633166
Transfer151247022022-07-12 0:49:45908 days ago1657586985IN
0x5759A6De...6AFD33CE1
0 ETH0.0007393413.72442432
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EmployeeTokenOwnershipPlan

Compiler Version
v0.6.6+commit.6c089d02

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Apache-2.0 license
/**
 *Submitted for verification at Etherscan.io on 2020-07-10
*/

/*

  Copyright 2017 Loopring Project Ltd (Loopring Foundation).

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
*/
pragma solidity ^0.6.6;

/*

  Copyright 2017 Loopring Project Ltd (Loopring Foundation).

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
*/


/*

  Copyright 2017 Loopring Project Ltd (Loopring Foundation).

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
*/



/// @title Ownable
/// @author Brecht Devos - <[email protected]>
/// @dev The Ownable contract has an owner address, and provides basic
///      authorization control functions, this simplifies the implementation of
///      "user permissions".
contract Ownable
{
    address public owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    /// @dev The Ownable constructor sets the original `owner` of the contract
    ///      to the sender.
    constructor()
        public
    {
        owner = msg.sender;
    }

    /// @dev Throws if called by any account other than the owner.
    modifier onlyOwner()
    {
        require(msg.sender == owner, "UNAUTHORIZED");
        _;
    }

    /// @dev Allows the current owner to transfer control of the contract to a
    ///      new owner.
    /// @param newOwner The address to transfer ownership to.
    function transferOwnership(
        address newOwner
        )
        public
        virtual
        onlyOwner
    {
        require(newOwner != address(0), "ZERO_ADDRESS");
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }

    function renounceOwnership()
        public
        onlyOwner
    {
        emit OwnershipTransferred(owner, address(0));
        owner = address(0);
    }
}



/// @title Claimable
/// @author Brecht Devos - <[email protected]>
/// @dev Extension for the Ownable contract, where the ownership needs
///      to be claimed. This allows the new owner to accept the transfer.
contract Claimable is Ownable
{
    address public pendingOwner;

    /// @dev Modifier throws if called by any account other than the pendingOwner.
    modifier onlyPendingOwner() {
        require(msg.sender == pendingOwner, "UNAUTHORIZED");
        _;
    }

    /// @dev Allows the current owner to set the pendingOwner address.
    /// @param newOwner The address to transfer ownership to.
    function transferOwnership(
        address newOwner
        )
        public
        override
        onlyOwner
    {
        require(newOwner != address(0) && newOwner != owner, "INVALID_ADDRESS");
        pendingOwner = newOwner;
    }

    /// @dev Allows the pendingOwner address to finalize the transfer.
    function claimOwnership()
        public
        onlyPendingOwner
    {
        emit OwnershipTransferred(owner, pendingOwner);
        owner = pendingOwner;
        pendingOwner = address(0);
    }
}

/*

  Copyright 2017 Loopring Project Ltd (Loopring Foundation).

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
*/



/// @title ERC20 Token Interface
/// @dev see https://github.com/ethereum/EIPs/issues/20
/// @author Daniel Wang - <[email protected]>
abstract contract ERC20
{
    function totalSupply()
        public
        view
        virtual
        returns (uint);

    function balanceOf(
        address who
        )
        public
        view
        virtual
        returns (uint);

    function allowance(
        address owner,
        address spender
        )
        public
        view
        virtual
        returns (uint);

    function transfer(
        address to,
        uint value
        )
        public
        virtual
        returns (bool);

    function transferFrom(
        address from,
        address to,
        uint    value
        )
        public
        virtual
        returns (bool);

    function approve(
        address spender,
        uint    value
        )
        public
        virtual
        returns (bool);
}

/*

  Copyright 2017 Loopring Project Ltd (Loopring Foundation).

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
*/



/// @title Utility Functions for uint
/// @author Daniel Wang - <[email protected]>
library MathUint
{
    function mul(
        uint a,
        uint b
        )
        internal
        pure
        returns (uint c)
    {
        c = a * b;
        require(a == 0 || c / a == b, "MUL_OVERFLOW");
    }

    function sub(
        uint a,
        uint b
        )
        internal
        pure
        returns (uint)
    {
        require(b <= a, "SUB_UNDERFLOW");
        return a - b;
    }

    function add(
        uint a,
        uint b
        )
        internal
        pure
        returns (uint c)
    {
        c = a + b;
        require(c >= a, "ADD_OVERFLOW");
    }
}



/// @title EmployeeTokenOwnershipPlan
/// @author Freeman Zhong - <[email protected]>
contract EmployeeTokenOwnershipPlan is Claimable
{
    using MathUint for uint;

    struct Record {
        uint lastWithdrawTime;
        uint rewarded;
        uint withdrawn;
    }

    uint    public constant vestPeriod = 2 * 365 days;
    address public constant lrcAddress = 0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD;

    uint public totalReward;
    uint public vestStart;
    mapping (address => Record) public records;

    event Withdrawal(
        address indexed transactor,
        address indexed member,
        uint            amount
    );

    constructor() public
    {
        owner = 0x96f16FdB8Cd37C02DEeb7025C1C7618E1bB34d97;

        address payable[28] memory _members = [
            0x056757881C358b8E1A3Cc6374f2cb545c587d3FA,
            0x1fcBAb8012177540fb8e121d0073f81219Fc828E,
            0xe865759DF485c11070504e76B900938D2d9A7738,
            0x51cDF96c9b6EC28A0241c4Be433854bd3dc0bc79,
            0xb18768c26f0922056b3550a24f421618Fe12D126,
            0x2Ff7eD213B4E5Cf813048d3fBC50E77BA80B26B0,
            0xd3725C997B580E36707f73880aC006B6757b5009,
            0x522c9A3e5857a58373F072e127F00F7dac6D6969,
            0x45a98C1B46d8a1D5c4cC52Cc18a4569b27F61939,
            0xBe4C1cb10C2Be76798c4186ADbbC34356b358b52,
            0x8db15c6883B61588C54961f1401CC71C6206Fe38,
            0x6b1029C9AE8Aa5EEA9e045E8ba3C93d380D5BDDa,
            0x95C6E2D5EAD1Aa2a5aAab33d735739c82D623C88,
            0x07A7191de1BA70dBe875F12e744B020416a5712b,
            0x59962c3078852Ff7757babf525F90CDffD3FdDf0,
            0x7154a02BA6eEaB9300D056e25f3EEA3481680f87,
            0x2bbFe5650e9876fb313D6b32352c6Dc5966A7B68,
            0xB63b22F3dDcC7f469BCb757a5b64a3848f4c4f03,
            0x378d6578Bb1F1C36914C64Ba267613393Aba2666,
            0x3AC6061A50b8145b54b76Be9CF485c80DFF20589,
            0x8d26A876917e79916E70e23b34A23aC91EC5E591,
            0xebFF93D8ac49C037519e84a075bf231023224ddC,
            0x63830F62C44BE28703B66e5679A42eBED1d48C8a,
            0x0C3499a325B47b5950F731263fEA144AC95f6bbb,
            0x64F2741920b7df046b7fE8df2e6b0bEad2452bea,
            0x4f90c157CdA2856dB9780BafE13ccECB569cC74a,
            0x2a14Ae2411B6D681c48781037F15f2610034ebFb,
            0xd888B723b8C6BBA8b27ea9B0690094B3b564F618
        ];

        uint88[28] memory _amounts = [
            // pool 2 + pool 1
            (5000000 ether + 2209239 ether),
            (5000000 ether +  441848 ether),
            (5000000 ether +       0),
            (5000000 ether + 1767391 ether),
            (1491300 ether + 1546467 ether),
            (1491300 ether + 1215081 ether),
            (1491300 ether +  883696 ether),
            (1491300 ether +       0),
            (1118400 ether +  883696 ether),
            (1118400 ether +  883696 ether),
            (1118400 ether +  331386 ether),
            (1118400 ether +       0),
            (1306600 ether + 1546467 ether),
            (1006600 ether +  441848 ether),
            ( 560000 ether +  331386 ether),
            ( 248500 ether +  191099 ether),
            ( 248500 ether +       0),
            (      0 + 1325543 ether),
            (      0 + 1104619 ether),
            (      0 +  441848 ether),
            (      0 +  331386 ether),
            (      0 +  331386 ether),
            (      0 +  331386 ether),
            (      0 +  331386 ether),
            (      0 +  331386 ether),
            (      0 +  331386 ether),
            (      0 +  110462 ether),
            (      0 + 4546912 ether)
        ];

        uint _totalReward = 56000000 ether;
        vestStart = now;

        for (uint i = 0; i < _members.length; i++) {
            Record memory record = Record(now, _amounts[i], 0);
            records[_members[i]] = record;
            totalReward = totalReward.add(_amounts[i]);
        }
        require(_totalReward == totalReward, "VALUE_MISMATCH");
    }

    function withdrawFor(address recipient)
        external
    {
        _withdraw(recipient);
    }

    function vested(address recipient)
        public
        view
        returns(uint)
    {
        return records[recipient].rewarded.mul(now.sub(vestStart)) / vestPeriod;
    }

    function withdrawable(address recipient)
        public
        view
        returns(uint)
    {
        return vested(recipient).sub(records[recipient].withdrawn);
    }

    function _withdraw(address recipient)
        internal
    {
        uint amount = withdrawable(recipient);
        require(amount > 0, "INVALID_AMOUNT");

        Record storage r = records[recipient];
        r.lastWithdrawTime = now;
        r.withdrawn = r.withdrawn.add(amount);

        require(ERC20(lrcAddress).transfer(recipient, amount), "transfer failed");

        emit Withdrawal(msg.sender, recipient, amount);
    }

    receive() external payable {
        require(msg.value == 0, "INVALID_VALUE");
        _withdraw(msg.sender);
    }

    function collect()
        external
        onlyOwner
    {
        require(now > vestStart + vestPeriod + 60 days, "TOO_EARLY");
        uint amount = ERC20(lrcAddress).balanceOf(address(this));
        require(ERC20(lrcAddress).transfer(msg.sender, amount), "transfer failed");
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"transactor","type":"address"},{"indexed":true,"internalType":"address","name":"member","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawal","type":"event"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"collect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lrcAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"records","outputs":[{"internalType":"uint256","name":"lastWithdrawTime","type":"uint256"},{"internalType":"uint256","name":"rewarded","type":"uint256"},{"internalType":"uint256","name":"withdrawn","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vestPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vestStart","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"vested","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"withdrawFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"withdrawable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b50600080546001600160a01b03199081163317167396f16fdb8cd37c02deeb7025c1c7618e1bb34d97179055610044610687565b50604080516103808101825273056757881c358b8e1a3cc6374f2cb545c587d3fa8152731fcbab8012177540fb8e121d0073f81219fc828e602082015273e865759df485c11070504e76b900938d2d9a7738918101919091527351cdf96c9b6ec28a0241c4be433854bd3dc0bc79606082015273b18768c26f0922056b3550a24f421618fe12d1266080820152732ff7ed213b4e5cf813048d3fbc50e77ba80b26b060a082015273d3725c997b580e36707f73880ac006b6757b500960c082015273522c9a3e5857a58373f072e127f00f7dac6d696960e08201527345a98c1b46d8a1d5c4cc52cc18a4569b27f6193961010082015273be4c1cb10c2be76798c4186adbbc34356b358b52610120820152738db15c6883b61588c54961f1401cc71c6206fe38610140820152736b1029c9ae8aa5eea9e045e8ba3c93d380d5bdda6101608201527395c6e2d5ead1aa2a5aaab33d735739c82d623c886101808201527307a7191de1ba70dbe875f12e744b020416a5712b6101a08201527359962c3078852ff7757babf525f90cdffd3fddf06101c0820152737154a02ba6eeab9300d056e25f3eea3481680f876101e0820152732bbfe5650e9876fb313d6b32352c6dc5966a7b6861020082015273b63b22f3ddcc7f469bcb757a5b64a3848f4c4f0361022082015273378d6578bb1f1c36914c64ba267613393aba2666610240820152733ac6061a50b8145b54b76be9cf485c80dff20589610260820152738d26a876917e79916e70e23b34a23ac91ec5e59161028082015273ebff93d8ac49c037519e84a075bf231023224ddc6102a08201527363830f62c44be28703b66e5679a42ebed1d48c8a6102c0820152730c3499a325b47b5950f731263fea144ac95f6bbb6102e08201527364f2741920b7df046b7fe8df2e6b0bead2452bea610300820152734f90c157cda2856db9780bafe13ccecb569cc74a610320820152732a14ae2411b6d681c48781037f15f2610034ebfb61034082015273d888b723b8c6bba8b27ea9b0690094b3b564f618610360820152610343610687565b5060408051610380810182526a05f69da1190ac36dfc000081526a04805b2bd38d9b21e0000060208201526a0422ca8b0a00a425000000918101919091526a05990d004f7dcc711c000060608201526a028345add5e8a494bc000060808201526a023d19353ebeeb5714000060a08201526a01f6ecca884be5c0d0000060c08201526a013bcb88f531f7c710000060e08201526a01a7f5d77578c5c4c0000061010082018190526101208201526a0133010e79889108a8000061014082015269ecd495e25ed7cb0000006101608201526a025c29126d6f2edc4c00006101808201526a0132b885fea198280000006101a082015269bcc221c34a903ba800006101c0820152695d16b5a47cad6f5c00006101e082015269349f36452e929a5000006102008201526a0118b1d47bf0314f3c000061022082015269e9e9841729b5d0cc0000610240820152695d90a0c98cf6fce0000061026082015269462c789729b93da8000061028082018190526102a082018190526102c082018190526102e0820181905261030082018190526103208201526917642832633dbf3800006103408201526a03c2d897eab3bfa9800000610360820152426003556a2e5276153cd3fb3800000060005b601c8110156105ea5761051e6106a6565b60405180606001604052804281526020018584601c811061053b57fe5b60200201516001600160581b031681526020016000815250905080600460008785601c811061056657fe5b60200201516001600160a01b03166001600160a01b031681526020019081526020016000206000820151816000015560208201518160010155604082015181600201559050506105de8483601c81106105bb57fe5b60200201516001600160581b031660025461063a60201b6109ee1790919060201c565b6002555060010161050d565b506002548114610632576040805162461bcd60e51b815260206004820152600e60248201526d0ac8298aa8abe9a92a69a82a886960931b604482015290519081900360640190fd5b5050506106c7565b81810182811015610681576040805162461bcd60e51b815260206004820152600c60248201526b4144445f4f564552464c4f5760a01b604482015290519081900360640190fd5b92915050565b604051806103800160405280601c906020820280368337509192915050565b60405180606001604052806000815260200160008152602001600081525090565b610b10806106d66000396000f3fe6080604052600436106100e15760003560e01c80638da5cb5b1161007f578063dd3a153b11610059578063dd3a153b146102cf578063e30c3978146102e4578063e5225381146102f9578063f2fde38b1461030e57610134565b80638da5cb5b146102545780639eca672c14610269578063ce513b6f1461029c57610134565b806370c71dd0116100bb57806370c71dd0146101d05780637102b728146101f7578063715018a61461022a578063750142e61461023f57610134565b80633d6cf72214610139578063469e90671461016a5780634e71e0c8146101bb57610134565b36610134573415610129576040805162461bcd60e51b815260206004820152600d60248201526c494e56414c49445f56414c554560981b604482015290519081900360640190fd5b61013233610341565b005b600080fd5b34801561014557600080fd5b5061014e6104e0565b604080516001600160a01b039092168252519081900360200190f35b34801561017657600080fd5b5061019d6004803603602081101561018d57600080fd5b50356001600160a01b03166104f8565b60408051938452602084019290925282820152519081900360600190f35b3480156101c757600080fd5b50610132610519565b3480156101dc57600080fd5b506101e56105cb565b60408051918252519081900360200190f35b34801561020357600080fd5b506101e56004803603602081101561021a57600080fd5b50356001600160a01b03166105d1565b34801561023657600080fd5b50610132610626565b34801561024b57600080fd5b506101e56106be565b34801561026057600080fd5b5061014e6106c4565b34801561027557600080fd5b506101326004803603602081101561028c57600080fd5b50356001600160a01b03166106d3565b3480156102a857600080fd5b506101e5600480360360208110156102bf57600080fd5b50356001600160a01b03166106df565b3480156102db57600080fd5b506101e561071a565b3480156102f057600080fd5b5061014e610722565b34801561030557600080fd5b50610132610731565b34801561031a57600080fd5b506101326004803603602081101561033157600080fd5b50356001600160a01b0316610915565b600061034c826106df565b905060008111610394576040805162461bcd60e51b815260206004820152600e60248201526d1253959053125117d05353d5539560921b604482015290519081900360640190fd5b6001600160a01b038216600090815260046020526040902042815560028101546103c4908363ffffffff6109ee16565b60028201556040805163a9059cbb60e01b81526001600160a01b038516600482015260248101849052905173bbbbca6a901c926f240b89eacb641d8aec7aeafd9163a9059cbb9160448083019260209291908290030181600087803b15801561042c57600080fd5b505af1158015610440573d6000803e3d6000fd5b505050506040513d602081101561045657600080fd5b505161049b576040805162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b6040805183815290516001600160a01b0385169133917f2717ead6b9200dd235aad468c9809ea400fe33ac69b5bfaa6d3e90fc922b63989181900360200190a3505050565b73bbbbca6a901c926f240b89eacb641d8aec7aeafd81565b60046020526000908152604090208054600182015460029092015490919083565b6001546001600160a01b03163314610567576040805162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015290519081900360640190fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60035481565b60006303c267006106186105f060035442610a3590919063ffffffff16565b6001600160a01b0385166000908152600460205260409020600101549063ffffffff610a8216565b8161061f57fe5b0492915050565b6000546001600160a01b03163314610674576040805162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60025481565b6000546001600160a01b031681565b6106dc81610341565b50565b6001600160a01b03811660009081526004602052604081206002015461071490610708846105d1565b9063ffffffff610a3516565b92915050565b6303c2670081565b6001546001600160a01b031681565b6000546001600160a01b0316331461077f576040805162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015290519081900360640190fd5b60035463041181000142116107c7576040805162461bcd60e51b8152602060048201526009602482015268544f4f5f4541524c5960b81b604482015290519081900360640190fd5b604080516370a0823160e01b8152306004820152905160009173bbbbca6a901c926f240b89eacb641d8aec7aeafd916370a0823191602480820192602092909190829003018186803b15801561081c57600080fd5b505afa158015610830573d6000803e3d6000fd5b505050506040513d602081101561084657600080fd5b50516040805163a9059cbb60e01b815233600482015260248101839052905191925073bbbbca6a901c926f240b89eacb641d8aec7aeafd9163a9059cbb916044808201926020929091908290030181600087803b1580156108a657600080fd5b505af11580156108ba573d6000803e3d6000fd5b505050506040513d60208110156108d057600080fd5b50516106dc576040805162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b6000546001600160a01b03163314610963576040805162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015290519081900360640190fd5b6001600160a01b0381161580159061098957506000546001600160a01b03828116911614155b6109cc576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b81810182811015610714576040805162461bcd60e51b815260206004820152600c60248201526b4144445f4f564552464c4f5760a01b604482015290519081900360640190fd5b600082821115610a7c576040805162461bcd60e51b815260206004820152600d60248201526c5355425f554e444552464c4f5760981b604482015290519081900360640190fd5b50900390565b818102821580610a9a575081838281610a9757fe5b04145b610714576040805162461bcd60e51b815260206004820152600c60248201526b4d554c5f4f564552464c4f5760a01b604482015290519081900360640190fdfea264697066735822122094fb6bf81074a8068a2def4f1aa1d9f637c20eb720b3721c0bc22c546728c5c164736f6c63430006060033

Deployed Bytecode

0x6080604052600436106100e15760003560e01c80638da5cb5b1161007f578063dd3a153b11610059578063dd3a153b146102cf578063e30c3978146102e4578063e5225381146102f9578063f2fde38b1461030e57610134565b80638da5cb5b146102545780639eca672c14610269578063ce513b6f1461029c57610134565b806370c71dd0116100bb57806370c71dd0146101d05780637102b728146101f7578063715018a61461022a578063750142e61461023f57610134565b80633d6cf72214610139578063469e90671461016a5780634e71e0c8146101bb57610134565b36610134573415610129576040805162461bcd60e51b815260206004820152600d60248201526c494e56414c49445f56414c554560981b604482015290519081900360640190fd5b61013233610341565b005b600080fd5b34801561014557600080fd5b5061014e6104e0565b604080516001600160a01b039092168252519081900360200190f35b34801561017657600080fd5b5061019d6004803603602081101561018d57600080fd5b50356001600160a01b03166104f8565b60408051938452602084019290925282820152519081900360600190f35b3480156101c757600080fd5b50610132610519565b3480156101dc57600080fd5b506101e56105cb565b60408051918252519081900360200190f35b34801561020357600080fd5b506101e56004803603602081101561021a57600080fd5b50356001600160a01b03166105d1565b34801561023657600080fd5b50610132610626565b34801561024b57600080fd5b506101e56106be565b34801561026057600080fd5b5061014e6106c4565b34801561027557600080fd5b506101326004803603602081101561028c57600080fd5b50356001600160a01b03166106d3565b3480156102a857600080fd5b506101e5600480360360208110156102bf57600080fd5b50356001600160a01b03166106df565b3480156102db57600080fd5b506101e561071a565b3480156102f057600080fd5b5061014e610722565b34801561030557600080fd5b50610132610731565b34801561031a57600080fd5b506101326004803603602081101561033157600080fd5b50356001600160a01b0316610915565b600061034c826106df565b905060008111610394576040805162461bcd60e51b815260206004820152600e60248201526d1253959053125117d05353d5539560921b604482015290519081900360640190fd5b6001600160a01b038216600090815260046020526040902042815560028101546103c4908363ffffffff6109ee16565b60028201556040805163a9059cbb60e01b81526001600160a01b038516600482015260248101849052905173bbbbca6a901c926f240b89eacb641d8aec7aeafd9163a9059cbb9160448083019260209291908290030181600087803b15801561042c57600080fd5b505af1158015610440573d6000803e3d6000fd5b505050506040513d602081101561045657600080fd5b505161049b576040805162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b6040805183815290516001600160a01b0385169133917f2717ead6b9200dd235aad468c9809ea400fe33ac69b5bfaa6d3e90fc922b63989181900360200190a3505050565b73bbbbca6a901c926f240b89eacb641d8aec7aeafd81565b60046020526000908152604090208054600182015460029092015490919083565b6001546001600160a01b03163314610567576040805162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015290519081900360640190fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60035481565b60006303c267006106186105f060035442610a3590919063ffffffff16565b6001600160a01b0385166000908152600460205260409020600101549063ffffffff610a8216565b8161061f57fe5b0492915050565b6000546001600160a01b03163314610674576040805162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60025481565b6000546001600160a01b031681565b6106dc81610341565b50565b6001600160a01b03811660009081526004602052604081206002015461071490610708846105d1565b9063ffffffff610a3516565b92915050565b6303c2670081565b6001546001600160a01b031681565b6000546001600160a01b0316331461077f576040805162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015290519081900360640190fd5b60035463041181000142116107c7576040805162461bcd60e51b8152602060048201526009602482015268544f4f5f4541524c5960b81b604482015290519081900360640190fd5b604080516370a0823160e01b8152306004820152905160009173bbbbca6a901c926f240b89eacb641d8aec7aeafd916370a0823191602480820192602092909190829003018186803b15801561081c57600080fd5b505afa158015610830573d6000803e3d6000fd5b505050506040513d602081101561084657600080fd5b50516040805163a9059cbb60e01b815233600482015260248101839052905191925073bbbbca6a901c926f240b89eacb641d8aec7aeafd9163a9059cbb916044808201926020929091908290030181600087803b1580156108a657600080fd5b505af11580156108ba573d6000803e3d6000fd5b505050506040513d60208110156108d057600080fd5b50516106dc576040805162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b6000546001600160a01b03163314610963576040805162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015290519081900360640190fd5b6001600160a01b0381161580159061098957506000546001600160a01b03828116911614155b6109cc576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b81810182811015610714576040805162461bcd60e51b815260206004820152600c60248201526b4144445f4f564552464c4f5760a01b604482015290519081900360640190fd5b600082821115610a7c576040805162461bcd60e51b815260206004820152600d60248201526c5355425f554e444552464c4f5760981b604482015290519081900360640190fd5b50900390565b818102821580610a9a575081838281610a9757fe5b04145b610714576040805162461bcd60e51b815260206004820152600c60248201526b4d554c5f4f564552464c4f5760a01b604482015290519081900360640190fdfea264697066735822122094fb6bf81074a8068a2def4f1aa1d9f637c20eb720b3721c0bc22c546728c5c164736f6c63430006060033

Deployed Bytecode Sourcemap

7569:5360:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12554:9;:14;12546:40;;;;;-1:-1:-1;;;12546:40:0;;;;;;;;;;;;-1:-1:-1;;;12546:40:0;;;;;;;;;;;;;;;12597:21;12607:10;12597:9;:21::i;:::-;7569:5360;;12:1:-1;9;2:12;7825:79:0;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7825:79:0;;;:::i;:::-;;;;-1:-1:-1;;;;;7825:79:0;;;;;;;;;;;;;;7971:42;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7971:42:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7971:42:0;-1:-1:-1;;;;;7971:42:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;4269:205;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4269:205:0;;;:::i;7943:21::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7943:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;11682:183;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11682:183:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11682:183:0;-1:-1:-1;;;;;11682:183:0;;:::i;3140:161::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3140:161:0;;;:::i;7913:23::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7913:23:0;;;:::i;2184:20::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2184:20:0;;;:::i;11572:102::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11572:102:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11572:102:0;-1:-1:-1;;;;;11572:102:0;;:::i;11873:176::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11873:176:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11873:176:0;-1:-1:-1;;;;;11873:176:0;;:::i;7769:49::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7769:49:0;;;:::i;3569:27::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3569:27:0;;;:::i;12634:292::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12634:292:0;;;:::i;3942:247::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3942:247:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3942:247:0;-1:-1:-1;;;;;3942:247:0;;:::i;12057:443::-;12129:11;12143:23;12156:9;12143:12;:23::i;:::-;12129:37;;12194:1;12185:6;:10;12177:37;;;;;-1:-1:-1;;;12177:37:0;;;;;;;;;;;;-1:-1:-1;;;12177:37:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;12246:18:0;;12227:16;12246:18;;;:7;:18;;;;;12296:3;12275:24;;12324:11;;;;:23;;12340:6;12324:23;:15;:23;:::i;:::-;12310:11;;;:37;12368:45;;;-1:-1:-1;;;12368:45:0;;-1:-1:-1;;;;;12368:45:0;;;;;;;;;;;;;;7862:42;;12368:26;;:45;;;;;;;;;;;;;;-1:-1:-1;7862:42:0;12368:45;;;2:2:-1;;;;27:1;24;17:12;2:2;12368:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12368:45:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12368:45:0;12360:73;;;;;-1:-1:-1;;;12360:73:0;;;;;;;;;;;;-1:-1:-1;;;12360:73:0;;;;;;;;;;;;;;;12451:41;;;;;;;;-1:-1:-1;;;;;12451:41:0;;;12462:10;;12451:41;;;;;;;;;12057:443;;;:::o;7825:79::-;7862:42;7825:79;:::o;7971:42::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4269:205::-;3750:12;;-1:-1:-1;;;;;3750:12:0;3736:10;:26;3728:51;;;;;-1:-1:-1;;;3728:51:0;;;;;;;;;;;;-1:-1:-1;;;3728:51:0;;;;;;;;;;;;;;;4386:12:::1;::::0;::::1;4379:5:::0;;4358:41:::1;::::0;-1:-1:-1;;;;;4386:12:0;;::::1;::::0;4379:5;;::::1;::::0;4358:41:::1;::::0;::::1;4418:12;::::0;;::::1;4410:20:::0;;-1:-1:-1;;;;;;4410:20:0;;::::1;-1:-1:-1::0;;;;;4418:12:0;::::1;4410:20;::::0;;;4441:25:::1;::::0;;4269:205::o;7943:21::-;;;;:::o;11682:183::-;11764:4;7806:12;11793:51;11825:18;11833:9;;11825:3;:7;;:18;;;;:::i;:::-;-1:-1:-1;;;;;11793:18:0;;;;;;:7;:18;;;;;:27;;;;:51;:31;:51;:::i;:::-;:64;;;;;;;11682:183;-1:-1:-1;;11682:183:0:o;3140:161::-;2646:5;;-1:-1:-1;;;;;2646:5:0;2632:10;:19;2624:44;;;;;-1:-1:-1;;;2624:44:0;;;;;;;;;;;;-1:-1:-1;;;2624:44:0;;;;;;;;;;;;;;;3261:1:::1;3246:5:::0;;3225:39:::1;::::0;-1:-1:-1;;;;;3246:5:0;;::::1;::::0;3225:39:::1;::::0;3261:1;;3225:39:::1;3291:1;3275:18:::0;;-1:-1:-1;;;;;;3275:18:0::1;::::0;;3140:161::o;7913:23::-;;;;:::o;2184:20::-;;;-1:-1:-1;;;;;2184:20:0;;:::o;11572:102::-;11646:20;11656:9;11646;:20::i;:::-;11572:102;:::o;11873:176::-;-1:-1:-1;;;;;12012:18:0;;11961:4;12012:18;;;:7;:18;;;;;:28;;;11990:51;;:17;12020:9;11990:6;:17::i;:::-;:21;:51;:21;:51;:::i;:::-;11983:58;11873:176;-1:-1:-1;;11873:176:0:o;7769:49::-;7806:12;7769:49;:::o;3569:27::-;;;-1:-1:-1;;;;;3569:27:0;;:::o;12634:292::-;2646:5;;-1:-1:-1;;;;;2646:5:0;2632:10;:19;2624:44;;;;;-1:-1:-1;;;2624:44:0;;;;;;;;;;;;-1:-1:-1;;;2624:44:0;;;;;;;;;;;;;;;12720:9:::1;::::0;:32;;12714:3:::1;:38;12706:60;;;::::0;;-1:-1:-1;;;12706:60:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;12706:60:0;;;;;;;;;;;;;::::1;;12791:42;::::0;;-1:-1:-1;;;12791:42:0;;12827:4:::1;12791:42;::::0;::::1;::::0;;;12777:11:::1;::::0;7862:42:::1;::::0;12791:27:::1;::::0;:42;;;;;::::1;::::0;;;;;;;;;7862;12791;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;12791:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;12791:42:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;12791:42:0;12852:46:::1;::::0;;-1:-1:-1;;;12852:46:0;;12879:10:::1;12852:46;::::0;::::1;::::0;;;;;;;;;12791:42;;-1:-1:-1;7862:42:0::1;::::0;12852:26:::1;::::0;:46;;;;;12791:42:::1;::::0;12852:46;;;;;;;;-1:-1:-1;7862:42:0;12852:46;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;12852:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;12852:46:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;12852:46:0;12844:74:::1;;;::::0;;-1:-1:-1;;;12844:74:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;12844:74:0;;;;;;;;;;;;;::::1;3942:247:::0;2646:5;;-1:-1:-1;;;;;2646:5:0;2632:10;:19;2624:44;;;;;-1:-1:-1;;;2624:44:0;;;;;;;;;;;;-1:-1:-1;;;2624:44:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;4084:22:0;::::1;::::0;;::::1;::::0;:43:::1;;-1:-1:-1::0;4122:5:0::1;::::0;-1:-1:-1;;;;;4110:17:0;;::::1;4122:5:::0;::::1;4110:17;;4084:43;4076:71;;;::::0;;-1:-1:-1;;;4076:71:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;4076:71:0;;;;;;;;;;;;;::::1;;4158:12;:23:::0;;-1:-1:-1;;;;;;4158:23:0::1;-1:-1:-1::0;;;;;4158:23:0;;;::::1;::::0;;;::::1;::::0;;3942:247::o;7274:191::-;7410:5;;;7434:6;;;;7426:31;;;;;-1:-1:-1;;;7426:31:0;;;;;;;;;;;;-1:-1:-1;;;7426:31:0;;;;;;;;;;;;;;7073:193;7181:4;7216:1;7211;:6;;7203:32;;;;;-1:-1:-1;;;7203:32:0;;;;;;;;;;;;-1:-1:-1;;;7203:32:0;;;;;;;;;;;;;;;-1:-1:-1;7253:5:0;;;7073:193::o;6860:205::-;6996:5;;;7020:6;;;:20;;;7039:1;7034;7030;:5;;;;;;:10;7020:20;7012:45;;;;;-1:-1:-1;;;7012:45:0;;;;;;;;;;;;-1:-1:-1;;;7012:45:0;;;;;;;;;;;;;

Swarm Source

ipfs://94fb6bf81074a8068a2def4f1aa1d9f637c20eb720b3721c0bc22c546728c5c1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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