ETH Price: $2,064.97 (+1.50%)

Contract

0x8f8a4d60DC8Ce809cA5C37d71295cf1BC06db7C7
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Add Stakings121537652021-04-01 13:07:201824 days ago1617282440IN
0x8f8a4d60...BC06db7C7
0 ETH0.01183512165
Add Stakings118370862021-02-11 19:11:541873 days ago1613070714IN
0x8f8a4d60...BC06db7C7
0 ETH0.01301863181.5
Add Stakings114637312020-12-16 11:02:231930 days ago1608116543IN
0x8f8a4d60...BC06db7C7
0 ETH0.0042016858.5781
Add Stakings113668542020-12-01 13:09:051945 days ago1606828145IN
0x8f8a4d60...BC06db7C7
0 ETH0.0107592150
Add Stakings111602192020-10-30 20:06:341977 days ago1604088394IN
0x8f8a4d60...BC06db7C7
0 ETH0.0015780122
Remove Stakings111589822020-10-30 15:34:411977 days ago1604072081IN
0x8f8a4d60...BC06db7C7
0 ETH0.0013524258.74
Add Stakings111589692020-10-30 15:32:081977 days ago1604071928IN
0x8f8a4d60...BC06db7C7
0 ETH0.004213358.74

Advanced mode:
Parent Transaction Hash Method Block
From
To
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BerezkaTokenAdapterStakingGovernance

Compiler Version
v0.6.5+commit.f956cc89

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2020-10-21
*/

// Copyright (C) 2020 Easy Chain. <https://easychain.tech>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.

pragma solidity 0.6.5;
pragma experimental ABIEncoderV2;


/**
 * @dev Library for managing
 * https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive
 * types.
 *
 * Sets have the following properties:
 *
 * - Elements are added, removed, and checked for existence in constant time
 * (O(1)).
 * - Elements are enumerated in O(n). No guarantees are made on the ordering.
 *
 * ```
 * contract Example {
 *     // Add the library methods
 *     using EnumerableSet for EnumerableSet.AddressSet;
 *
 *     // Declare a set state variable
 *     EnumerableSet.AddressSet private mySet;
 * }
 * ```
 *
 * As of v3.0.0, only sets of type `address` (`AddressSet`) and `uint256`
 * (`UintSet`) are supported.
 */
library EnumerableSet {
    // To implement this library for multiple types with as little code
    // repetition as possible, we write it in terms of a generic Set type with
    // bytes32 values.
    // The Set implementation uses private functions, and user-facing
    // implementations (such as AddressSet) are just wrappers around the
    // underlying Set.
    // This means that we can only create new EnumerableSets for types that fit
    // in bytes32.

    struct Set {
        // Storage of set values
        bytes32[] _values;

        // Position of the value in the `values` array, plus 1 because index 0
        // means a value is not in the set.
        mapping (bytes32 => uint256) _indexes;
    }

    /**
     * @dev Add a value to a set. O(1).
     *
     * Returns true if the value was added to the set, that is if it was not
     * already present.
     */
    function _add(Set storage set, bytes32 value) private returns (bool) {
        if (!_contains(set, value)) {
            set._values.push(value);
            // The value is stored at length-1, but we add 1 to all indexes
            // and use 0 as a sentinel value
            set._indexes[value] = set._values.length;
            return true;
        } else {
            return false;
        }
    }

    /**
     * @dev Removes a value from a set. O(1).
     *
     * Returns true if the value was removed from the set, that is if it was
     * present.
     */
    function _remove(Set storage set, bytes32 value) private returns (bool) {
        // We read and store the value's index to prevent multiple reads from the same storage slot
        uint256 valueIndex = set._indexes[value];

        if (valueIndex != 0) { // Equivalent to contains(set, value)
            // To delete an element from the _values array in O(1), we swap the element to delete with the last one in
            // the array, and then remove the last element (sometimes called as 'swap and pop').
            // This modifies the order of the array, as noted in {at}.

            uint256 toDeleteIndex = valueIndex - 1;
            uint256 lastIndex = set._values.length - 1;

            // When the value to delete is the last one, the swap operation is unnecessary. However, since this occurs
            // so rarely, we still do the swap anyway to avoid the gas cost of adding an 'if' statement.

            bytes32 lastvalue = set._values[lastIndex];

            // Move the last value to the index where the value to delete is
            set._values[toDeleteIndex] = lastvalue;
            // Update the index for the moved value
            set._indexes[lastvalue] = toDeleteIndex + 1; // All indexes are 1-based

            // Delete the slot where the moved value was stored
            set._values.pop();

            // Delete the index for the deleted slot
            delete set._indexes[value];

            return true;
        } else {
            return false;
        }
    }

    /**
     * @dev Returns true if the value is in the set. O(1).
     */
    function _contains(Set storage set, bytes32 value) private view returns (bool) {
        return set._indexes[value] != 0;
    }

    /**
     * @dev Returns the number of values on the set. O(1).
     */
    function _length(Set storage set) private view returns (uint256) {
        return set._values.length;
    }

   /**
    * @dev Returns the value stored at position `index` in the set. O(1).
    *
    * Note that there are no guarantees on the ordering of values inside the
    * array, and it may change when more values are added or removed.
    *
    * Requirements:
    *
    * - `index` must be strictly less than {length}.
    */
    function _at(Set storage set, uint256 index) private view returns (bytes32) {
        require(set._values.length > index, "EnumerableSet: index out of bounds");
        return set._values[index];
    }

    // AddressSet

    struct AddressSet {
        Set _inner;
    }

    /**
     * @dev Add a value to a set. O(1).
     *
     * Returns true if the value was added to the set, that is if it was not
     * already present.
     */
    function add(AddressSet storage set, address value) internal returns (bool) {
        return _add(set._inner, bytes32(uint256(value)));
    }

    /**
     * @dev Removes a value from a set. O(1).
     *
     * Returns true if the value was removed from the set, that is if it was
     * present.
     */
    function remove(AddressSet storage set, address value) internal returns (bool) {
        return _remove(set._inner, bytes32(uint256(value)));
    }

    /**
     * @dev Returns true if the value is in the set. O(1).
     */
    function contains(AddressSet storage set, address value) internal view returns (bool) {
        return _contains(set._inner, bytes32(uint256(value)));
    }

    /**
     * @dev Returns the number of values in the set. O(1).
     */
    function length(AddressSet storage set) internal view returns (uint256) {
        return _length(set._inner);
    }

   /**
    * @dev Returns the value stored at position `index` in the set. O(1).
    *
    * Note that there are no guarantees on the ordering of values inside the
    * array, and it may change when more values are added or removed.
    *
    * Requirements:
    *
    * - `index` must be strictly less than {length}.
    */
    function at(AddressSet storage set, uint256 index) internal view returns (address) {
        return address(uint256(_at(set._inner, index)));
    }


    // UintSet

    struct UintSet {
        Set _inner;
    }

    /**
     * @dev Add a value to a set. O(1).
     *
     * Returns true if the value was added to the set, that is if it was not
     * already present.
     */
    function add(UintSet storage set, uint256 value) internal returns (bool) {
        return _add(set._inner, bytes32(value));
    }

    /**
     * @dev Removes a value from a set. O(1).
     *
     * Returns true if the value was removed from the set, that is if it was
     * present.
     */
    function remove(UintSet storage set, uint256 value) internal returns (bool) {
        return _remove(set._inner, bytes32(value));
    }

    /**
     * @dev Returns true if the value is in the set. O(1).
     */
    function contains(UintSet storage set, uint256 value) internal view returns (bool) {
        return _contains(set._inner, bytes32(value));
    }

    /**
     * @dev Returns the number of values on the set. O(1).
     */
    function length(UintSet storage set) internal view returns (uint256) {
        return _length(set._inner);
    }

   /**
    * @dev Returns the value stored at position `index` in the set. O(1).
    *
    * Note that there are no guarantees on the ordering of values inside the
    * array, and it may change when more values are added or removed.
    *
    * Requirements:
    *
    * - `index` must be strictly less than {length}.
    */
    function at(UintSet storage set, uint256 index) internal view returns (uint256) {
        return uint256(_at(set._inner, index));
    }
}


abstract contract Ownable {

    modifier onlyOwner {
        require(msg.sender == owner, "O: onlyOwner function!");
        _;
    }

    address public owner;

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

    /**
     * @notice Initializes owner variable with msg.sender address.
     */
    constructor() internal {
        owner = msg.sender;
        emit OwnershipTransferred(address(0), msg.sender);
    }

    /**
     * @notice Transfers ownership to the desired address.
     * The function is callable only by the owner.
     */
    function transferOwnership(address _owner) external onlyOwner {
        require(_owner != address(0), "O: new owner is the zero address!");
        emit OwnershipTransferred(owner, _owner);
        owner = _owner;
    }
}


struct TypedToken {
    string tokenType;
    address token;
}

/**
 * @dev BerezkaTokenAdapterStakingGovernance contract.
 * Main function of this contract is to maintains a Set of Staking Adapters of Berezka DAO
 * @author Vasin Denis <denis.vasin@easychain.tech>
 */
contract BerezkaTokenAdapterStakingGovernance is Ownable() {

    using EnumerableSet for EnumerableSet.AddressSet;

    /// @dev This is a set of debt protocol adapters that return staked amount of ERC20 tokens
    EnumerableSet.AddressSet private stakings;

    constructor(address[] memory _stakings) public {
        _add(stakings, _stakings);
    }

    // Modification functions (all only by owner)

    function addStakings(address[] memory _stakings) public onlyOwner() {
        require(_stakings.length > 0, "Length should be > 0");

        _add(stakings, _stakings);
    }

    function removeStakings(address[] memory _stakings) public onlyOwner() {
        require(_stakings.length > 0, "Length should be > 0");

        _remove(stakings, _stakings);
    }

    // View functions

    function listStakings() external view returns (address[] memory) {
        return _list(stakings);
    }

    // Internal functions

    function _add(EnumerableSet.AddressSet storage _set, address[] memory _addresses) internal {
        for (uint i = 0; i < _addresses.length; i++) {
            _set.add(_addresses[i]);
        }
    }

    function _remove(EnumerableSet.AddressSet storage _set, address[] memory _addresses) internal {
        for (uint i = 0; i < _addresses.length; i++) {
            _set.remove(_addresses[i]);
        }
    }

    function _list(EnumerableSet.AddressSet storage _set) internal view returns(address[] memory) {
        address[] memory result = new address[](_set.length());
        for (uint i = 0; i < _set.length(); i++) {
            result[i] = _set.at(i);
        }
        return result;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address[]","name":"_stakings","type":"address[]"}],"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"},{"inputs":[{"internalType":"address[]","name":"_stakings","type":"address[]"}],"name":"addStakings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"listStakings","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_stakings","type":"address[]"}],"name":"removeStakings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b5060405162001101380380620011018339818101604052810190620000379190620002b7565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3620000e5600182620000ec60201b60201c565b50620003a1565b60008090505b815181101562000139576200012a8282815181106200010d57fe5b6020026020010151846200013e60201b6200063a1790919060201c565b508080600101915050620000f2565b505050565b60006200016e836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6200017660201b60201c565b905092915050565b60006200018a8383620001f060201b60201c565b620001e5578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050620001ea565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b600081519050620002248162000387565b92915050565b600082601f8301126200023c57600080fd5b8151620002536200024d826200032a565b620002fc565b915081818352602084019350602081019050838560208402820111156200027957600080fd5b60005b83811015620002ad578162000292888262000213565b8452602084019350602083019250506001810190506200027c565b5050505092915050565b600060208284031215620002ca57600080fd5b600082015167ffffffffffffffff811115620002e557600080fd5b620002f3848285016200022a565b91505092915050565b6000604051905081810181811067ffffffffffffffff821117156200032057600080fd5b8060405250919050565b600067ffffffffffffffff8211156200034257600080fd5b602082029050602081019050919050565b6000620003608262000367565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b620003928162000353565b81146200039e57600080fd5b50565b610d5080620003b16000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80633efecf951461005c578063464039d01461007a5780638da5cb5b14610096578063b9379631146100b4578063f2fde38b146100d0575b600080fd5b6100646100ec565b6040516100719190610b90565b60405180910390f35b610094600480360381019061008f9190610954565b6100fd565b005b61009e6101de565b6040516100ab9190610b75565b60405180910390f35b6100ce60048036038101906100c99190610954565b610203565b005b6100ea60048036038101906100e5919061092b565b6102e4565b005b60606100f860016104a1565b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461018c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161018390610bf2565b60405180910390fd5b60008151116101d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101c790610bd2565b60405180910390fd5b6101db60018261057b565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028990610bf2565b60405180910390fd5b60008151116102d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102cd90610bd2565b60405180910390fd5b6102e16001826105c3565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036a90610bf2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156103e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103da90610c12565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6060806104ad8361060b565b67ffffffffffffffff811180156104c357600080fd5b506040519080825280602002602001820160405280156104f25781602001602082028036833780820191505090505b50905060008090505b6105048461060b565b8110156105715761051e818561062090919063ffffffff16565b82828151811061052a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080806001019150506104fb565b5080915050919050565b60008090505b81518110156105be576105b082828151811061059957fe5b60200260200101518461063a90919063ffffffff16565b508080600101915050610581565b505050565b60008090505b8151811015610606576105f88282815181106105e157fe5b60200260200101518461066a90919063ffffffff16565b5080806001019150506105c9565b505050565b60006106198260000161069a565b9050919050565b600061062f83600001836106ab565b60001c905092915050565b6000610662836000018373ffffffffffffffffffffffffffffffffffffffff1660001b610718565b905092915050565b6000610692836000018373ffffffffffffffffffffffffffffffffffffffff1660001b610788565b905092915050565b600081600001805490509050919050565b6000818360000180549050116106f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ed90610bb2565b60405180910390fd5b82600001828154811061070557fe5b9060005260206000200154905092915050565b60006107248383610870565b61077d578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050610782565b600090505b92915050565b6000808360010160008481526020019081526020016000205490506000811461086457600060018203905060006001866000018054905003905060008660000182815481106107d357fe5b90600052602060002001549050808760000184815481106107f057fe5b906000526020600020018190555060018301876001016000838152602001908152602001600020819055508660000180548061082857fe5b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061086a565b60009150505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b6000813590506108a281610d03565b92915050565b600082601f8301126108b957600080fd5b81356108cc6108c782610c5f565b610c32565b915081818352602084019350602081019050838560208402820111156108f157600080fd5b60005b8381101561092157816109078882610893565b8452602084019350602083019250506001810190506108f4565b5050505092915050565b60006020828403121561093d57600080fd5b600061094b84828501610893565b91505092915050565b60006020828403121561096657600080fd5b600082013567ffffffffffffffff81111561098057600080fd5b61098c848285016108a8565b91505092915050565b60006109a183836109ad565b60208301905092915050565b6109b681610cd1565b82525050565b6109c581610cd1565b82525050565b60006109d682610c97565b6109e08185610caf565b93506109eb83610c87565b8060005b83811015610a1c578151610a038882610995565b9750610a0e83610ca2565b9250506001810190506109ef565b5085935050505092915050565b6000610a36602283610cc0565b91507f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60008301527f64730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610a9c601483610cc0565b91507f4c656e6774682073686f756c64206265203e20300000000000000000000000006000830152602082019050919050565b6000610adc601683610cc0565b91507f4f3a206f6e6c794f776e65722066756e6374696f6e21000000000000000000006000830152602082019050919050565b6000610b1c602183610cc0565b91507f4f3a206e6577206f776e657220697320746865207a65726f206164647265737360008301527f21000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000602082019050610b8a60008301846109bc565b92915050565b60006020820190508181036000830152610baa81846109cb565b905092915050565b60006020820190508181036000830152610bcb81610a29565b9050919050565b60006020820190508181036000830152610beb81610a8f565b9050919050565b60006020820190508181036000830152610c0b81610acf565b9050919050565b60006020820190508181036000830152610c2b81610b0f565b9050919050565b6000604051905081810181811067ffffffffffffffff82111715610c5557600080fd5b8060405250919050565b600067ffffffffffffffff821115610c7657600080fd5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610cdc82610ce3565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b610d0c81610cd1565b8114610d1757600080fd5b5056fea2646970667358221220b2173f919ce79a8864f59789273b02b6fd2153c61e1d53ea5c1953a947b7c6fe64736f6c63430006050033000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002cf372984a2e3c8b2a021d0889b65d590f00d646

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100575760003560e01c80633efecf951461005c578063464039d01461007a5780638da5cb5b14610096578063b9379631146100b4578063f2fde38b146100d0575b600080fd5b6100646100ec565b6040516100719190610b90565b60405180910390f35b610094600480360381019061008f9190610954565b6100fd565b005b61009e6101de565b6040516100ab9190610b75565b60405180910390f35b6100ce60048036038101906100c99190610954565b610203565b005b6100ea60048036038101906100e5919061092b565b6102e4565b005b60606100f860016104a1565b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461018c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161018390610bf2565b60405180910390fd5b60008151116101d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101c790610bd2565b60405180910390fd5b6101db60018261057b565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028990610bf2565b60405180910390fd5b60008151116102d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102cd90610bd2565b60405180910390fd5b6102e16001826105c3565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036a90610bf2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156103e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103da90610c12565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6060806104ad8361060b565b67ffffffffffffffff811180156104c357600080fd5b506040519080825280602002602001820160405280156104f25781602001602082028036833780820191505090505b50905060008090505b6105048461060b565b8110156105715761051e818561062090919063ffffffff16565b82828151811061052a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080806001019150506104fb565b5080915050919050565b60008090505b81518110156105be576105b082828151811061059957fe5b60200260200101518461063a90919063ffffffff16565b508080600101915050610581565b505050565b60008090505b8151811015610606576105f88282815181106105e157fe5b60200260200101518461066a90919063ffffffff16565b5080806001019150506105c9565b505050565b60006106198260000161069a565b9050919050565b600061062f83600001836106ab565b60001c905092915050565b6000610662836000018373ffffffffffffffffffffffffffffffffffffffff1660001b610718565b905092915050565b6000610692836000018373ffffffffffffffffffffffffffffffffffffffff1660001b610788565b905092915050565b600081600001805490509050919050565b6000818360000180549050116106f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ed90610bb2565b60405180910390fd5b82600001828154811061070557fe5b9060005260206000200154905092915050565b60006107248383610870565b61077d578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050610782565b600090505b92915050565b6000808360010160008481526020019081526020016000205490506000811461086457600060018203905060006001866000018054905003905060008660000182815481106107d357fe5b90600052602060002001549050808760000184815481106107f057fe5b906000526020600020018190555060018301876001016000838152602001908152602001600020819055508660000180548061082857fe5b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061086a565b60009150505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b6000813590506108a281610d03565b92915050565b600082601f8301126108b957600080fd5b81356108cc6108c782610c5f565b610c32565b915081818352602084019350602081019050838560208402820111156108f157600080fd5b60005b8381101561092157816109078882610893565b8452602084019350602083019250506001810190506108f4565b5050505092915050565b60006020828403121561093d57600080fd5b600061094b84828501610893565b91505092915050565b60006020828403121561096657600080fd5b600082013567ffffffffffffffff81111561098057600080fd5b61098c848285016108a8565b91505092915050565b60006109a183836109ad565b60208301905092915050565b6109b681610cd1565b82525050565b6109c581610cd1565b82525050565b60006109d682610c97565b6109e08185610caf565b93506109eb83610c87565b8060005b83811015610a1c578151610a038882610995565b9750610a0e83610ca2565b9250506001810190506109ef565b5085935050505092915050565b6000610a36602283610cc0565b91507f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60008301527f64730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610a9c601483610cc0565b91507f4c656e6774682073686f756c64206265203e20300000000000000000000000006000830152602082019050919050565b6000610adc601683610cc0565b91507f4f3a206f6e6c794f776e65722066756e6374696f6e21000000000000000000006000830152602082019050919050565b6000610b1c602183610cc0565b91507f4f3a206e6577206f776e657220697320746865207a65726f206164647265737360008301527f21000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000602082019050610b8a60008301846109bc565b92915050565b60006020820190508181036000830152610baa81846109cb565b905092915050565b60006020820190508181036000830152610bcb81610a29565b9050919050565b60006020820190508181036000830152610beb81610a8f565b9050919050565b60006020820190508181036000830152610c0b81610acf565b9050919050565b60006020820190508181036000830152610c2b81610b0f565b9050919050565b6000604051905081810181811067ffffffffffffffff82111715610c5557600080fd5b8060405250919050565b600067ffffffffffffffff821115610c7657600080fd5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610cdc82610ce3565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b610d0c81610cd1565b8114610d1757600080fd5b5056fea2646970667358221220b2173f919ce79a8864f59789273b02b6fd2153c61e1d53ea5c1953a947b7c6fe64736f6c63430006050033

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

000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002cf372984a2e3c8b2a021d0889b65d590f00d646

-----Decoded View---------------
Arg [0] : _stakings (address[]): 0x2Cf372984a2e3c8B2A021d0889B65D590f00D646

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000020
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [2] : 0000000000000000000000002cf372984a2e3c8b2a021d0889b65d590f00d646


Deployed Bytecode Sourcemap

9882:1693:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;9882:1693:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;10708:106:0;;;:::i;:::-;;;;;;;;;;;;;;;;10305:178;;;;;;;;;;;;;;;;:::i;:::-;;8905:20;;;:::i;:::-;;;;;;;;;;;;;;;;10491:184;;;;;;;;;;;;;;;;:::i;:::-;;9370:223;;;;;;;;;;;;;;;;:::i;:::-;;10708:106;10755:16;10791:15;10797:8;10791:5;:15::i;:::-;10784:22;;10708:106;:::o;10305:178::-;8845:5;;;;;;;;;;;8831:19;;:10;:19;;;8823:54;;;;;;;;;;;;;;;;;;;;;;10411:1:::1;10392:9;:16;:20;10384:53;;;;;;;;;;;;;;;;;;;;;;10450:25;10455:8;10465:9;10450:4;:25::i;:::-;10305:178:::0;:::o;8905:20::-;;;;;;;;;;;;;:::o;10491:184::-;8845:5;;;;;;;;;;;8831:19;;:10;:19;;;8823:54;;;;;;;;;;;;;;;;;;;;;;10600:1:::1;10581:9;:16;:20;10573:53;;;;;;;;;;;;;;;;;;;;;;10639:28;10647:8;10657:9;10639:7;:28::i;:::-;10491:184:::0;:::o;9370:223::-;8845:5;;;;;;;;;;;8831:19;;:10;:19;;;8823:54;;;;;;;;;;;;;;;;;;;;;;9469:1:::1;9451:20;;:6;:20;;;;9443:66;;;;;;;;;;;;;;;;;;;;;;9553:6;9525:35;;9546:5;::::0;::::1;;;;;;;;;9525:35;;;;;;;;;;;;9579:6;9571:5;::::0;:14:::1;;;;;;;;;;;;;;;;;;9370:223:::0;:::o;11281:291::-;11357:16;11386:23;11426:13;:4;:11;:13::i;:::-;11412:28;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11412:28:0;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;125:4;109:14;101:6;88:42;156:4;148:6;144:17;134:27;;0:165;11412:28:0;;;;11386:54;;11456:6;11465:1;11456:10;;11451:90;11472:13;:4;:11;:13::i;:::-;11468:1;:17;11451:90;;;11519:10;11527:1;11519:4;:7;;:10;;;;:::i;:::-;11507:6;11514:1;11507:9;;;;;;;;;;;;;:22;;;;;;;;;;;11487:3;;;;;;;11451:90;;;;11558:6;11551:13;;;11281:291;;;:::o;10851:204::-;10958:6;10967:1;10958:10;;10953:95;10974:10;:17;10970:1;:21;10953:95;;;11013:23;11022:10;11033:1;11022:13;;;;;;;;;;;;;;11013:4;:8;;:23;;;;:::i;:::-;;10993:3;;;;;;;10953:95;;;;10851:204;;:::o;11063:210::-;11173:6;11182:1;11173:10;;11168:98;11189:10;:17;11185:1;:21;11168:98;;;11228:26;11240:10;11251:1;11240:13;;;;;;;;;;;;;;11228:4;:11;;:26;;;;:::i;:::-;;11208:3;;;;;;;11168:98;;;;11063:210;;:::o;6532:117::-;6595:7;6622:19;6630:3;:10;;6622:7;:19::i;:::-;6615:26;;6532:117;;;:::o;6993:149::-;7067:7;7110:22;7114:3;:10;;7126:5;7110:3;:22::i;:::-;7102:31;;7087:47;;6993:149;;;;:::o;5734:143::-;5804:4;5828:41;5833:3;:10;;5861:5;5853:14;;5845:23;;5828:4;:41::i;:::-;5821:48;;5734:143;;;;:::o;6053:149::-;6126:4;6150:44;6158:3;:10;;6186:5;6178:14;;6170:23;;6150:7;:44::i;:::-;6143:51;;6053:149;;;;:::o;4823:109::-;4879:7;4906:3;:11;;:18;;;;4899:25;;4823:109;;;:::o;5276:204::-;5343:7;5392:5;5371:3;:11;;:18;;;;:26;5363:73;;;;;;;;;;;;;;;;;;;;;;5454:3;:11;;5466:5;5454:18;;;;;;;;;;;;;;;;5447:25;;5276:204;;;;:::o;2388:414::-;2451:4;2473:21;2483:3;2488:5;2473:9;:21::i;:::-;2468:327;;2511:3;:11;;2528:5;2511:23;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;2511:23:0;;;;;;;;;;;;;;;;;;;2694:3;:11;;:18;;;;2672:3;:12;;:19;2685:5;2672:19;;;;;;;;;;;:40;;;;2734:4;2727:11;;;;2468:327;2778:5;2771:12;;2388:414;;;;;:::o;2978:1544::-;3044:4;3162:18;3183:3;:12;;:19;3196:5;3183:19;;;;;;;;;;;;3162:40;;3233:1;3219:10;:15;3215:1300;;3581:21;3618:1;3605:10;:14;3581:38;;3634:17;3675:1;3654:3;:11;;:18;;;;:22;3634:42;;3921:17;3941:3;:11;;3953:9;3941:22;;;;;;;;;;;;;;;;3921:42;;4087:9;4058:3;:11;;4070:13;4058:26;;;;;;;;;;;;;;;:38;;;;4206:1;4190:13;:17;4164:3;:12;;:23;4177:9;4164:23;;;;;;;;;;;:43;;;;4316:3;:11;;:17;;;;;;;;;;;;;;;;;;;;;;;;4411:3;:12;;:19;4424:5;4411:19;;;;;;;;;;;4404:26;;;4454:4;4447:11;;;;;;;;3215:1300;4498:5;4491:12;;;2978:1544;;;;;:::o;4608:129::-;4681:4;4728:1;4705:3;:12;;:19;4718:5;4705:19;;;;;;;;;;;;:24;;4698:31;;4608:129;;;;:::o;5:130:-1:-;;85:6;72:20;63:29;;97:33;124:5;97:33;;;57:78;;;;;160:707;;277:3;270:4;262:6;258:17;254:27;244:2;;295:1;292;285:12;244:2;332:6;319:20;354:80;369:64;426:6;369:64;;;354:80;;;345:89;;451:5;476:6;469:5;462:21;506:4;498:6;494:17;484:27;;528:4;523:3;519:14;512:21;;581:6;628:3;620:4;612:6;608:17;603:3;599:27;596:36;593:2;;;645:1;642;635:12;593:2;670:1;655:206;680:6;677:1;674:13;655:206;;;738:3;760:37;793:3;781:10;760:37;;;755:3;748:50;821:4;816:3;812:14;805:21;;849:4;844:3;840:14;833:21;;712:149;702:1;699;695:9;690:14;;655:206;;;659:14;237:630;;;;;;;;875:241;;979:2;967:9;958:7;954:23;950:32;947:2;;;995:1;992;985:12;947:2;1030:1;1047:53;1092:7;1083:6;1072:9;1068:22;1047:53;;;1037:63;;1009:97;941:175;;;;;1123:377;;1252:2;1240:9;1231:7;1227:23;1223:32;1220:2;;;1268:1;1265;1258:12;1220:2;1331:1;1320:9;1316:17;1303:31;1354:18;1346:6;1343:30;1340:2;;;1386:1;1383;1376:12;1340:2;1406:78;1476:7;1467:6;1456:9;1452:22;1406:78;;;1396:88;;1282:208;1214:286;;;;;1508:173;;1595:46;1637:3;1629:6;1595:46;;;1670:4;1665:3;1661:14;1647:28;;1588:93;;;;;1689:103;1762:24;1780:5;1762:24;;;1757:3;1750:37;1744:48;;;1799:113;1882:24;1900:5;1882:24;;;1877:3;1870:37;1864:48;;;1950:690;;2095:54;2143:5;2095:54;;;2162:86;2241:6;2236:3;2162:86;;;2155:93;;2269:56;2319:5;2269:56;;;2345:7;2373:1;2358:260;2383:6;2380:1;2377:13;2358:260;;;2450:6;2444:13;2471:63;2530:3;2515:13;2471:63;;;2464:70;;2551:60;2604:6;2551:60;;;2541:70;;2415:203;2405:1;2402;2398:9;2393:14;;2358:260;;;2362:14;2631:3;2624:10;;2074:566;;;;;;;;2649:371;;2809:67;2873:2;2868:3;2809:67;;;2802:74;;2909:34;2905:1;2900:3;2896:11;2889:55;2978:4;2973:2;2968:3;2964:12;2957:26;3011:2;3006:3;3002:12;2995:19;;2795:225;;;;3029:320;;3189:67;3253:2;3248:3;3189:67;;;3182:74;;3289:22;3285:1;3280:3;3276:11;3269:43;3340:2;3335:3;3331:12;3324:19;;3175:174;;;;3358:322;;3518:67;3582:2;3577:3;3518:67;;;3511:74;;3618:24;3614:1;3609:3;3605:11;3598:45;3671:2;3666:3;3662:12;3655:19;;3504:176;;;;3689:370;;3849:67;3913:2;3908:3;3849:67;;;3842:74;;3949:34;3945:1;3940:3;3936:11;3929:55;4018:3;4013:2;4008:3;4004:12;3997:25;4050:2;4045:3;4041:12;4034:19;;3835:224;;;;4067:213;;4185:2;4174:9;4170:18;4162:26;;4199:71;4267:1;4256:9;4252:17;4243:6;4199:71;;;4156:124;;;;;4287:361;;4455:2;4444:9;4440:18;4432:26;;4505:9;4499:4;4495:20;4491:1;4480:9;4476:17;4469:47;4530:108;4633:4;4624:6;4530:108;;;4522:116;;4426:222;;;;;4655:407;;4846:2;4835:9;4831:18;4823:26;;4896:9;4890:4;4886:20;4882:1;4871:9;4867:17;4860:47;4921:131;5047:4;4921:131;;;4913:139;;4817:245;;;;5069:407;;5260:2;5249:9;5245:18;5237:26;;5310:9;5304:4;5300:20;5296:1;5285:9;5281:17;5274:47;5335:131;5461:4;5335:131;;;5327:139;;5231:245;;;;5483:407;;5674:2;5663:9;5659:18;5651:26;;5724:9;5718:4;5714:20;5710:1;5699:9;5695:17;5688:47;5749:131;5875:4;5749:131;;;5741:139;;5645:245;;;;5897:407;;6088:2;6077:9;6073:18;6065:26;;6138:9;6132:4;6128:20;6124:1;6113:9;6109:17;6102:47;6163:131;6289:4;6163:131;;;6155:139;;6059:245;;;;6311:256;;6373:2;6367:9;6357:19;;6411:4;6403:6;6399:17;6510:6;6498:10;6495:22;6474:18;6462:10;6459:34;6456:62;6453:2;;;6531:1;6528;6521:12;6453:2;6551:10;6547:2;6540:22;6351:216;;;;;6574:304;;6733:18;6725:6;6722:30;6719:2;;;6765:1;6762;6755:12;6719:2;6800:4;6792:6;6788:17;6780:25;;6863:4;6857;6853:15;6845:23;;6656:222;;;;6885:151;;6971:3;6963:11;;7009:4;7004:3;7000:14;6992:22;;6957:79;;;;7043:137;;7152:5;7146:12;7136:22;;7117:63;;;;7187:108;;7285:4;7280:3;7276:14;7268:22;;7262:33;;;;7303:178;;7433:6;7428:3;7421:19;7470:4;7465:3;7461:14;7446:29;;7414:67;;;;;7490:163;;7605:6;7600:3;7593:19;7642:4;7637:3;7633:14;7618:29;;7586:67;;;;;7661:91;;7723:24;7741:5;7723:24;;;7712:35;;7706:46;;;;7759:121;;7832:42;7825:5;7821:54;7810:65;;7804:76;;;;7887:117;7956:24;7974:5;7956:24;;;7949:5;7946:35;7936:2;;7995:1;7992;7985:12;7936:2;7930:74;

Swarm Source

ipfs://b2173f919ce79a8864f59789273b02b6fd2153c61e1d53ea5c1953a947b7c6fe

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.