ETH Price: $2,328.91 (-0.57%)
Gas: 6.1 Gwei

Contract

0xe25a38467Aa75A81596F18894E8cfF3f79aABDbA
 

Overview

ETH Balance

0.182900788827196705 ETH

Eth Value

$425.96 (@ $2,328.91/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Unstake197911952024-05-03 17:51:59129 days ago1714758719IN
0xe25a3846...f79aABDbA
0 ETH0.0012869110.38034692
Claim197911602024-05-03 17:44:59129 days ago1714758299IN
0xe25a3846...f79aABDbA
0 ETH0.0007316611.23009896
Unstake195702732024-04-02 19:46:11160 days ago1712087171IN
0xe25a3846...f79aABDbA
0 ETH0.0059553.27915346
Claim195702672024-04-02 19:44:59160 days ago1712087099IN
0xe25a3846...f79aABDbA
0 ETH0.0034855753.49916884
Unstake195502252024-03-31 0:08:47163 days ago1711843727IN
0xe25a3846...f79aABDbA
0 ETH0.0032368722.62252563
Stake195501932024-03-31 0:02:23163 days ago1711843343IN
0xe25a3846...f79aABDbA
0 ETH0.0042963725.39740086
Unstake193568442024-03-03 19:52:11190 days ago1709495531IN
0xe25a3846...f79aABDbA
0 ETH0.0077211262.2852062
Claim193496402024-03-02 19:41:59191 days ago1709408519IN
0xe25a3846...f79aABDbA
0 ETH0.0048346458.77839918
Claim193464942024-03-02 9:09:35192 days ago1709370575IN
0xe25a3846...f79aABDbA
0 ETH0.0042648251.85066814
Unstake193458162024-03-02 6:52:47192 days ago1709362367IN
0xe25a3846...f79aABDbA
0 ETH0.0058853842.32144186
Unstake192506792024-02-17 22:54:59205 days ago1708210499IN
0xe25a3846...f79aABDbA
0 ETH0.0058345720.50997374
Stake191160612024-01-30 1:30:59224 days ago1706578259IN
0xe25a3846...f79aABDbA
0 ETH0.0027007515.96510125
Unstake191099752024-01-29 5:03:35225 days ago1706504615IN
0xe25a3846...f79aABDbA
0 ETH0.001226498.69387839
Unstake191048282024-01-28 11:46:11226 days ago1706442371IN
0xe25a3846...f79aABDbA
0 ETH0.0018454913.08271054
Stake190994082024-01-27 17:28:47226 days ago1706376527IN
0xe25a3846...f79aABDbA
0 ETH0.0023623313.96560352
Stake190992452024-01-27 16:55:47226 days ago1706374547IN
0xe25a3846...f79aABDbA
0 ETH0.0030520418.04299033
Unstake190956102024-01-27 4:43:11227 days ago1706330591IN
0xe25a3846...f79aABDbA
0 ETH0.0020956514.85734244
Stake190848042024-01-25 16:24:35228 days ago1706199875IN
0xe25a3846...f79aABDbA
0 ETH0.0076053940.83608801
Stake190729812024-01-24 0:39:23230 days ago1706056763IN
0xe25a3846...f79aABDbA
0 ETH0.0022931812.31214934
Unstake190687862024-01-23 10:30:59231 days ago1706005859IN
0xe25a3846...f79aABDbA
0 ETH0.0027794719.70530591
Stake190414652024-01-19 14:19:59235 days ago1705673999IN
0xe25a3846...f79aABDbA
0 ETH0.0075738944.7783092
Unstake189901262024-01-12 10:09:11242 days ago1705054151IN
0xe25a3846...f79aABDbA
0 ETH0.0028923520.50383223
Stake189663592024-01-09 2:10:59245 days ago1704766259IN
0xe25a3846...f79aABDbA
0 ETH0.0029135517.22304403
Stake189645372024-01-08 20:02:47245 days ago1704744167IN
0xe25a3846...f79aABDbA
0 ETH0.0059935435.43245104
Stake189065832023-12-31 16:15:23253 days ago1704039323IN
0xe25a3846...f79aABDbA
0 ETH0.0031150921.65573793
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
197911952024-05-03 17:51:59129 days ago1714758719
0xe25a3846...f79aABDbA
0.00000029 ETH
197911602024-05-03 17:44:59129 days ago1714758299
0xe25a3846...f79aABDbA
0.00533999 ETH
195702672024-04-02 19:44:59160 days ago1712087099
0xe25a3846...f79aABDbA
0.00013111 ETH
195502252024-03-31 0:08:47163 days ago1711843727
0xe25a3846...f79aABDbA
0.00000036 ETH
193568442024-03-03 19:52:11190 days ago1709495531
0xe25a3846...f79aABDbA
0.00003152 ETH
193496402024-03-02 19:41:59191 days ago1709408519
0xe25a3846...f79aABDbA
0.0158659 ETH
193464942024-03-02 9:09:35192 days ago1709370575
0xe25a3846...f79aABDbA
0.0008239 ETH
193458162024-03-02 6:52:47192 days ago1709362367
0xe25a3846...f79aABDbA
0.00273 ETH
192506792024-02-17 22:54:59205 days ago1708210499
0xe25a3846...f79aABDbA
0.00466066 ETH
191099752024-01-29 5:03:35225 days ago1706504615
0xe25a3846...f79aABDbA
0.00119899 ETH
191048282024-01-28 11:46:11226 days ago1706442371
0xe25a3846...f79aABDbA
0.00000558 ETH
190956102024-01-27 4:43:11227 days ago1706330591
0xe25a3846...f79aABDbA
0.00019553 ETH
190687862024-01-23 10:30:59231 days ago1706005859
0xe25a3846...f79aABDbA
0.00016991 ETH
189901262024-01-12 10:09:11242 days ago1705054151
0xe25a3846...f79aABDbA
0.00017917 ETH
187311502023-12-07 1:29:59278 days ago1701912599
0xe25a3846...f79aABDbA
0.0096046 ETH
187207502023-12-05 14:31:11280 days ago1701786671
0xe25a3846...f79aABDbA
0.01264389 ETH
180640242023-09-04 15:30:59372 days ago1693841459
0xe25a3846...f79aABDbA
0.04927617 ETH
175392402023-06-23 2:13:35445 days ago1687486415
0xe25a3846...f79aABDbA
0.0201503 ETH
174621152023-06-12 6:10:59456 days ago1686550259
0xe25a3846...f79aABDbA
0.00716486 ETH
172940372023-05-19 14:10:23480 days ago1684505423
0xe25a3846...f79aABDbA
0.02226663 ETH
172088742023-05-07 13:10:59492 days ago1683465059
0xe25a3846...f79aABDbA
0.00249718 ETH
171843772023-05-04 2:36:35495 days ago1683167795
0xe25a3846...f79aABDbA
0.00147589 ETH
171574472023-04-30 7:42:11499 days ago1682840531
0xe25a3846...f79aABDbA
0.00040963 ETH
170011392023-04-08 3:49:23521 days ago1680925763
0xe25a3846...f79aABDbA
0.00149782 ETH
169897452023-04-06 13:04:47523 days ago1680786287
0xe25a3846...f79aABDbA
0.04879562 ETH
View All Internal Transactions
Loading...
Loading

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

Contract Name:
ArchiveStaking

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
File 1 of 4 : ArchiveStaking.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

contract ArchiveStaking is Ownable {
    struct Staking {
        uint256 lastReward;
        uint256 amount;
        uint256 rewarded;
        uint256 pendingReward;
        bool isUnstaked;
        bool isInitialized;
    }

    mapping(address => Staking) public stakers;

    uint256 public maxApr = 1000000;
    uint256 public minStaking = 1 * 10 ** 18;
    uint256 public totalStaked;
    uint256 public totalEth;

    uint256 public rewardPeriod = 300;
    uint256 private rewardPeriodsPerYear = 365 days / rewardPeriod;

    bool public stakingEnabled = true;
    bool public claimEnabled = true;

    IERC20 private token;

    event Stake(address indexed staker, uint256 amount, uint totalStaked);
    event Reward(address indexed staker, uint256 amount);
    event UnStake(address indexed staker, uint256 amount);

    constructor(address _token) {
        token = IERC20(_token);
    }

    /**
    * @notice Starts a new staking or adds tokens to the active staking.
    * @param amount Amount of Archive tokens to stake.
    */
    function stake(uint256 amount) external {
        require(stakingEnabled, "disabled");
        require(amount >= minStaking, "less than minimum");

        address staker = _msgSender();

        require(token.balanceOf(staker) >= amount, "insufficient token");
        require(token.allowance(staker, address(this)) >= amount, "not allowed");

        if (stakers[staker].isInitialized && !stakers[staker].isUnstaked) {
            stakers[staker].pendingReward = _getStakingReward(stakers[staker]);
            stakers[staker].amount += amount;
            stakers[staker].lastReward = block.timestamp;
        } else {
            stakers[staker] = Staking(block.timestamp, amount, 0, 0, false, true);
        }

        totalStaked += amount;
        token.transferFrom(staker, address(this), amount);

        emit Stake(staker, amount, stakers[staker].amount);
    }

    /**
    * @notice Claim rewards and withdraw the amount of tokens from staking.
    * @param amount Amount of tokens to unstake.
    */
    function unstake(uint256 amount) external {
        address staker = _msgSender();

        Staking storage staking = stakers[staker];
        require(amount <= staking.amount, "insufficient token");

        _claim(staker);

        if (staking.amount == amount) {
            staking.isUnstaked = true;
            staking.amount = 0;
        } else {
            staking.amount -= amount;
        }

        totalStaked -= amount;
        token.transfer(staker, amount);

        emit UnStake(staker, amount);
    }

    /**
    * @notice Claim rewards to staker account.
    */
    function claim() external {
        _claim(_msgSender());
    }

    /**
    * @notice Handle deposit of eth amount to smart contract account.
    */
    receive() external payable {
        if (msg.value > 0) {
            totalEth += msg.value;
        }
    }

    /**
    * @notice Handle deposit of eth amount to smart contract account.
    */
    fallback() external payable {
        if (msg.value > 0) {
            totalEth += msg.value;
        }
    }

    /**
    * @notice Withdraw ETH from smart contract account.
    * @param to Address to withdraw.
    * @param amount Amount of ETH to withdraw.
    */
    function withdrawEth(address to, uint256 amount) external onlyOwner {
        _withdrawEth(to, amount);
    }

    /**
    * @notice Set the rewards period in seconds for charge rewards.
    * @param _rewardPeriod Period each {_rewardPeriod} seconds charge rewards.
    */
    function setRewardPeriod(uint256 _rewardPeriod) external onlyOwner {
        require(_rewardPeriod > 0, "less than one");
        rewardPeriod = _rewardPeriod;
        rewardPeriodsPerYear = 365 days / _rewardPeriod;
    }

    /**
    * @notice Set the maximum of APR (Annual Percentage Rate).
    * @param _maxApr Maximum Annual Percentage Rate.
    */
    function setMaxApr(uint256 _maxApr) external onlyOwner {
        maxApr = _maxApr;
    }

    /**
    * @notice Turn on or off staking operation.
    * @param _stakingEnabled Flag to set true or false.
    */
    function setStakingEnabled(bool _stakingEnabled) external onlyOwner {
        stakingEnabled = _stakingEnabled;
    }

    /**
    * @notice Turn on or off claiming rewards operation.
    * @param _claimEnabled Flag to set true or false.
    */
    function setClaimEnabled(bool _claimEnabled) external onlyOwner {
        claimEnabled = _claimEnabled;
    }

    /**
    * @notice Get the rewards amount for the staker account.
    * @param staker Address of the staker account.
    */
    function getStakingReward(address staker) public view returns (uint256) {
        return _getStakingReward(stakers[staker]);
    }

    /**
    * @notice Returns APR for staker based on staked amount and total ETH on smart contract balance.
    */
    function getApr(address staker) public view returns (uint256) {
        return _getApr(stakers[staker]);
    }

    /**
    * @notice Withdraw ETH from smart contract account.
    * @param to Address to withdraw.
    * @param amount Amount of ETH to withdraw.
    */
    function _withdrawEth(address to, uint256 amount) private {
        require(totalEth >= amount, "insufficient eth");
        payable(to).transfer(amount);
        totalEth -= amount;
    }

    /**
    * @notice Rewards calculation and withdraw to staker account.
    * @param staker Staker account address.
    */
    function _claim(address staker) private {
        require(claimEnabled, "disabled");

        Staking storage staking = stakers[staker];
        uint256 reward = _getStakingReward(staking);

        staking.lastReward = block.timestamp;
        staking.rewarded += reward;
        staking.pendingReward = 0;

        _withdrawEth(staker, reward);

        emit Reward(staker, reward);
    }

    /**
    * @notice Rewards calculation for staking
    * @param staking Staking record
    */
    function _getStakingReward(Staking storage staking) private view returns (uint256) {
        require(staking.isInitialized && !staking.isUnstaked, "no staking");

        uint256 apr = _getApr(staking);
        uint256 rewardsTime = block.timestamp - staking.lastReward;

        uint256 periods = rewardsTime / rewardPeriod;
        uint256 reward = totalEth * apr * periods / 1000000 / rewardPeriodsPerYear;

        return staking.pendingReward + reward;
    }

    /**
    * @notice Returns APR for staker based on staked amount and total ETH on smart contract balance.
    */
    function _getApr(Staking storage staker) private view returns (uint256) {
        if (staker.amount == 0) {
            return 0;
        } else {
            uint256 apr = (staker.amount * 1000000) / totalStaked;
            if (apr > maxApr) {
                return maxApr;
            } else {
                return apr;
            }
        }
    }
}

File 2 of 4 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 3 of 4 : IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

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

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

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

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

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

File 4 of 4 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "evmVersion": "london",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_token","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Reward","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalStaked","type":"uint256"}],"name":"Stake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"UnStake","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"staker","type":"address"}],"name":"getApr","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"staker","type":"address"}],"name":"getStakingReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxApr","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minStaking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_claimEnabled","type":"bool"}],"name":"setClaimEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxApr","type":"uint256"}],"name":"setMaxApr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rewardPeriod","type":"uint256"}],"name":"setRewardPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_stakingEnabled","type":"bool"}],"name":"setStakingEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakers","outputs":[{"internalType":"uint256","name":"lastReward","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"rewarded","type":"uint256"},{"internalType":"uint256","name":"pendingReward","type":"uint256"},{"internalType":"bool","name":"isUnstaked","type":"bool"},{"internalType":"bool","name":"isInitialized","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStaked","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x60806040526004361061012e5760003560e01c806378f4d413116100ab57806392929a091161006f57806392929a091461040f578063a694fc3a14610438578063bce8567e14610461578063e3b341741461048a578063e88dc5b7146104b3578063f2fde38b146104de57610158565b806378f4d4131461030f578063817b1cd21461034c5780638da5cb5b146103775780639168ae72146103a257806392093b36146103e457610158565b806329811ee5116100f257806329811ee5146102505780632e17de781461028d5780633c3c9c23146102b65780634e71d92d146102e1578063715018a6146102f857610158565b80630564534c1461017d5780631b9a91a4146101a85780631cfff51b146101d15780632819a630146101fc5780632866ed211461022557610158565b3661015857600034111561015657346005600082825461014e9190611502565b925050819055505b005b600034111561017b5734600560008282546101739190611502565b925050819055505b005b34801561018957600080fd5b50610192610507565b60405161019f9190611545565b60405180910390f35b3480156101b457600080fd5b506101cf60048036038101906101ca91906115ef565b61050d565b005b3480156101dd57600080fd5b506101e6610523565b6040516101f3919061164a565b60405180910390f35b34801561020857600080fd5b50610223600480360381019061021e9190611665565b610536565b005b34801561023157600080fd5b5061023a6105a1565b604051610247919061164a565b60405180910390f35b34801561025c57600080fd5b5061027760048036038101906102729190611692565b6105b4565b6040516102849190611545565b60405180910390f35b34801561029957600080fd5b506102b460048036038101906102af9190611665565b610604565b005b3480156102c257600080fd5b506102cb610803565b6040516102d89190611545565b60405180910390f35b3480156102ed57600080fd5b506102f6610809565b005b34801561030457600080fd5b5061030d61081b565b005b34801561031b57600080fd5b5061033660048036038101906103319190611692565b61082f565b6040516103439190611545565b60405180910390f35b34801561035857600080fd5b5061036161087f565b60405161036e9190611545565b60405180910390f35b34801561038357600080fd5b5061038c610885565b60405161039991906116ce565b60405180910390f35b3480156103ae57600080fd5b506103c960048036038101906103c49190611692565b6108ae565b6040516103db969594939291906116e9565b60405180910390f35b3480156103f057600080fd5b506103f9610904565b6040516104069190611545565b60405180910390f35b34801561041b57600080fd5b5061043660048036038101906104319190611776565b61090a565b005b34801561044457600080fd5b5061045f600480360381019061045a9190611665565b61092f565b005b34801561046d57600080fd5b5061048860048036038101906104839190611776565b610f9f565b005b34801561049657600080fd5b506104b160048036038101906104ac9190611665565b610fc4565b005b3480156104bf57600080fd5b506104c8610fd6565b6040516104d59190611545565b60405180910390f35b3480156104ea57600080fd5b5061050560048036038101906105009190611692565b610fdc565b005b60035481565b61051561105f565b61051f82826110dd565b5050565b600860009054906101000a900460ff1681565b61053e61105f565b60008111610581576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057890611800565b60405180910390fd5b80600681905550806301e13380610598919061184f565b60078190555050565b600860019054906101000a900460ff1681565b60006105fd600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611186565b9050919050565b600061060e6111df565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806001015483111561069a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610691906118cc565b60405180910390fd5b6106a3826111e7565b828160010154036106da5760018160040160006101000a81548160ff021916908315150217905550600081600101819055506106f6565b828160010160008282546106ee91906118ec565b925050819055505b826004600082825461070891906118ec565b92505081905550600860029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83856040518363ffffffff1660e01b815260040161076c929190611920565b6020604051808303816000875af115801561078b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107af919061195e565b508173ffffffffffffffffffffffffffffffffffffffff167fb24546d975e2628748efc9aced80665e0fad66272033e5c0ea25fd3afac99795846040516107f69190611545565b60405180910390a2505050565b60055481565b6108196108146111df565b6111e7565b565b61082361105f565b61082d6000611311565b565b6000610878600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206113d5565b9050919050565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60016020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040160009054906101000a900460ff16908060040160019054906101000a900460ff16905086565b60025481565b61091261105f565b80600860016101000a81548160ff02191690831515021790555050565b600860009054906101000a900460ff1661097e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610975906119d7565b60405180910390fd5b6003548110156109c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ba90611a43565b60405180910390fd5b60006109cd6111df565b905081600860029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401610a2b91906116ce565b602060405180830381865afa158015610a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6c9190611a78565b1015610aad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa4906118cc565b60405180910390fd5b81600860029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e83306040518363ffffffff1660e01b8152600401610b0b929190611aa5565b602060405180830381865afa158015610b28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4c9190611a78565b1015610b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8490611b1a565b60405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160019054906101000a900460ff168015610c365750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160009054906101000a900460ff16155b15610d6d57610c82600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206113d5565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018190555081600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254610d1a9190611502565b9250508190555042600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550610e4d565b6040518060c00160405280428152602001838152602001600081526020016000815260200160001515815260200160011515815250600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548160ff02191690831515021790555060a08201518160040160016101000a81548160ff0219169083151502179055509050505b8160046000828254610e5f9190611502565b92505081905550600860029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8230856040518463ffffffff1660e01b8152600401610ec593929190611b3a565b6020604051808303816000875af1158015610ee4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f08919061195e565b508073ffffffffffffffffffffffffffffffffffffffff167f5af417134f72a9d41143ace85b0a26dce6f550f894f2cbc1eeee8810603d91b683600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154604051610f93929190611b71565b60405180910390a25050565b610fa761105f565b80600860006101000a81548160ff02191690831515021790555050565b610fcc61105f565b8060028190555050565b60065481565b610fe461105f565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104a90611c0c565b60405180910390fd5b61105c81611311565b50565b6110676111df565b73ffffffffffffffffffffffffffffffffffffffff16611085610885565b73ffffffffffffffffffffffffffffffffffffffff16146110db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d290611c78565b60405180910390fd5b565b806005541015611122576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111990611ce4565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611168573d6000803e3d6000fd5b50806005600082825461117b91906118ec565b925050819055505050565b60008082600101540361119c57600090506111da565b6000600454620f424084600101546111b49190611d04565b6111be919061184f565b90506002548111156111d5576002549150506111da565b809150505b919050565b600033905090565b600860019054906101000a900460ff16611236576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122d906119d7565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000611284826113d5565b9050428260000181905550808260020160008282546112a39190611502565b92505081905550600082600301819055506112be83826110dd565b8273ffffffffffffffffffffffffffffffffffffffff167f619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc9826040516113049190611545565b60405180910390a2505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008160040160019054906101000a900460ff16801561140457508160040160009054906101000a900460ff16155b611443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143a90611d92565b60405180910390fd5b600061144e83611186565b9050600083600001544261146291906118ec565b9050600060065482611474919061184f565b90506000600754620f4240838660055461148e9190611d04565b6114989190611d04565b6114a2919061184f565b6114ac919061184f565b90508086600301546114be9190611502565b945050505050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061150d826114c9565b9150611518836114c9565b92508282019050808211156115305761152f6114d3565b5b92915050565b61153f816114c9565b82525050565b600060208201905061155a6000830184611536565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061159082611565565b9050919050565b6115a081611585565b81146115ab57600080fd5b50565b6000813590506115bd81611597565b92915050565b6115cc816114c9565b81146115d757600080fd5b50565b6000813590506115e9816115c3565b92915050565b6000806040838503121561160657611605611560565b5b6000611614858286016115ae565b9250506020611625858286016115da565b9150509250929050565b60008115159050919050565b6116448161162f565b82525050565b600060208201905061165f600083018461163b565b92915050565b60006020828403121561167b5761167a611560565b5b6000611689848285016115da565b91505092915050565b6000602082840312156116a8576116a7611560565b5b60006116b6848285016115ae565b91505092915050565b6116c881611585565b82525050565b60006020820190506116e360008301846116bf565b92915050565b600060c0820190506116fe6000830189611536565b61170b6020830188611536565b6117186040830187611536565b6117256060830186611536565b611732608083018561163b565b61173f60a083018461163b565b979650505050505050565b6117538161162f565b811461175e57600080fd5b50565b6000813590506117708161174a565b92915050565b60006020828403121561178c5761178b611560565b5b600061179a84828501611761565b91505092915050565b600082825260208201905092915050565b7f6c657373207468616e206f6e6500000000000000000000000000000000000000600082015250565b60006117ea600d836117a3565b91506117f5826117b4565b602082019050919050565b60006020820190508181036000830152611819816117dd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061185a826114c9565b9150611865836114c9565b92508261187557611874611820565b5b828204905092915050565b7f696e73756666696369656e7420746f6b656e0000000000000000000000000000600082015250565b60006118b66012836117a3565b91506118c182611880565b602082019050919050565b600060208201905081810360008301526118e5816118a9565b9050919050565b60006118f7826114c9565b9150611902836114c9565b925082820390508181111561191a576119196114d3565b5b92915050565b600060408201905061193560008301856116bf565b6119426020830184611536565b9392505050565b6000815190506119588161174a565b92915050565b60006020828403121561197457611973611560565b5b600061198284828501611949565b91505092915050565b7f64697361626c6564000000000000000000000000000000000000000000000000600082015250565b60006119c16008836117a3565b91506119cc8261198b565b602082019050919050565b600060208201905081810360008301526119f0816119b4565b9050919050565b7f6c657373207468616e206d696e696d756d000000000000000000000000000000600082015250565b6000611a2d6011836117a3565b9150611a38826119f7565b602082019050919050565b60006020820190508181036000830152611a5c81611a20565b9050919050565b600081519050611a72816115c3565b92915050565b600060208284031215611a8e57611a8d611560565b5b6000611a9c84828501611a63565b91505092915050565b6000604082019050611aba60008301856116bf565b611ac760208301846116bf565b9392505050565b7f6e6f7420616c6c6f776564000000000000000000000000000000000000000000600082015250565b6000611b04600b836117a3565b9150611b0f82611ace565b602082019050919050565b60006020820190508181036000830152611b3381611af7565b9050919050565b6000606082019050611b4f60008301866116bf565b611b5c60208301856116bf565b611b696040830184611536565b949350505050565b6000604082019050611b866000830185611536565b611b936020830184611536565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611bf66026836117a3565b9150611c0182611b9a565b604082019050919050565b60006020820190508181036000830152611c2581611be9565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611c626020836117a3565b9150611c6d82611c2c565b602082019050919050565b60006020820190508181036000830152611c9181611c55565b9050919050565b7f696e73756666696369656e742065746800000000000000000000000000000000600082015250565b6000611cce6010836117a3565b9150611cd982611c98565b602082019050919050565b60006020820190508181036000830152611cfd81611cc1565b9050919050565b6000611d0f826114c9565b9150611d1a836114c9565b9250828202611d28816114c9565b91508282048414831517611d3f57611d3e6114d3565b5b5092915050565b7f6e6f207374616b696e6700000000000000000000000000000000000000000000600082015250565b6000611d7c600a836117a3565b9150611d8782611d46565b602082019050919050565b60006020820190508181036000830152611dab81611d6f565b905091905056fea264697066735822122050429bd65d09de8ea1ece4980972d6f14909dc692a271b7111da095857ae6e8664736f6c63430008110033

Deployed Bytecode Sourcemap

174:7119:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3127:1;3115:9;:13;3111:67;;;3157:9;3145:8;;:21;;;;;;;:::i;:::-;;;;;;;;3111:67;174:7119;;3336:1;3324:9;:13;3320:67;;;3366:9;3354:8;;:21;;;;;;;:::i;:::-;;;;;;;;3320:67;174:7119;504:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3562:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;727:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3847:226;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;767:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5203:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2302:537;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;584:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2912:65;;;;;;;;;;;;;:::i;:::-;;1831:101:0;;;;;;;;;;;;;:::i;:::-;;4944:132:3;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;551:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1201:85:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;415:42:3;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;466:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4694:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1257:893;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4437:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4216:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;616:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2081:198:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;504:40:3;;;;:::o;3562:111::-;1094:13:0;:11;:13::i;:::-;3641:24:3::1;3654:2;3658:6;3641:12;:24::i;:::-;3562:111:::0;;:::o;727:33::-;;;;;;;;;;;;;:::o;3847:226::-;1094:13:0;:11;:13::i;:::-;3949:1:3::1;3933:13;:17;3925:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;3994:13;3979:12;:28;;;;4052:13;4041:8;:24;;;;:::i;:::-;4018:20;:47;;;;3847:226:::0;:::o;767:31::-;;;;;;;;;;;;;:::o;5203:112::-;5256:7;5283:24;5291:7;:15;5299:6;5291:15;;;;;;;;;;;;;;;5283:7;:24::i;:::-;5276:31;;5203:112;;;:::o;2302:537::-;2355:14;2372:12;:10;:12::i;:::-;2355:29;;2397:23;2423:7;:15;2431:6;2423:15;;;;;;;;;;;;;;;2397:41;;2467:7;:14;;;2457:6;:24;;2449:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;2517:14;2524:6;2517;:14::i;:::-;2566:6;2548:7;:14;;;:24;2544:172;;2610:4;2589:7;:18;;;:25;;;;;;;;;;;;;;;;;;2646:1;2629:7;:14;;:18;;;;2544:172;;;2698:6;2680:7;:14;;;:24;;;;;;;:::i;:::-;;;;;;;;2544:172;2743:6;2728:11;;:21;;;;;;;:::i;:::-;;;;;;;;2760:5;;;;;;;;;;;:14;;;2775:6;2783;2760:30;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2816:6;2808:23;;;2824:6;2808:23;;;;;;:::i;:::-;;;;;;;;2344:495;;2302:537;:::o;584:23::-;;;;:::o;2912:65::-;2949:20;2956:12;:10;:12::i;:::-;2949:6;:20::i;:::-;2912:65::o;1831:101:0:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;4944:132:3:-;5007:7;5034:34;5052:7;:15;5060:6;5052:15;;;;;;;;;;;;;;;5034:17;:34::i;:::-;5027:41;;4944:132;;;:::o;551:26::-;;;;:::o;1201:85:0:-;1247:7;1273:6;;;;;;;;;;;1266:13;;1201:85;:::o;415:42:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;466:31::-;;;;:::o;4694:111::-;1094:13:0;:11;:13::i;:::-;4784::3::1;4769:12;;:28;;;;;;;;;;;;;;;;;;4694:111:::0;:::o;1257:893::-;1316:14;;;;;;;;;;;1308:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;1372:10;;1362:6;:20;;1354:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;1417:14;1434:12;:10;:12::i;:::-;1417:29;;1494:6;1467:5;;;;;;;;;;;:15;;;1483:6;1467:23;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:33;;1459:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;1584:6;1542:5;;;;;;;;;;;:15;;;1558:6;1574:4;1542:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48;;1534:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;1623:7;:15;1631:6;1623:15;;;;;;;;;;;;;;;:29;;;;;;;;;;;;:60;;;;;1657:7;:15;1665:6;1657:15;;;;;;;;;;;;;;;:26;;;;;;;;;;;;1656:27;1623:60;1619:367;;;1732:34;1750:7;:15;1758:6;1750:15;;;;;;;;;;;;;;;1732:17;:34::i;:::-;1700:7;:15;1708:6;1700:15;;;;;;;;;;;;;;;:29;;:66;;;;1807:6;1781:7;:15;1789:6;1781:15;;;;;;;;;;;;;;;:22;;;:32;;;;;;;:::i;:::-;;;;;;;;1857:15;1828:7;:15;1836:6;1828:15;;;;;;;;;;;;;;;:26;;:44;;;;1619:367;;;1923:51;;;;;;;;1931:15;1923:51;;;;1948:6;1923:51;;;;1956:1;1923:51;;;;1959:1;1923:51;;;;1962:5;1923:51;;;;;;1969:4;1923:51;;;;;1905:7;:15;1913:6;1905:15;;;;;;;;;;;;;;;:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1619:367;2013:6;1998:11;;:21;;;;;;;:::i;:::-;;;;;;;;2030:5;;;;;;;;;;;:18;;;2049:6;2065:4;2072:6;2030:49;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2103:6;2097:45;;;2111:6;2119:7;:15;2127:6;2119:15;;;;;;;;;;;;;;;:22;;;2097:45;;;;;;;:::i;:::-;;;;;;;;1297:853;1257:893;:::o;4437:119::-;1094:13:0;:11;:13::i;:::-;4533:15:3::1;4516:14;;:32;;;;;;;;;;;;;;;;;;4437:119:::0;:::o;4216:90::-;1094:13:0;:11;:13::i;:::-;4291:7:3::1;4282:6;:16;;;;4216:90:::0;:::o;616:33::-;;;;:::o;2081:198:0:-;1094:13;:11;:13::i;:::-;2189:1:::1;2169:22;;:8;:22;;::::0;2161:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2244:28;2263:8;2244:18;:28::i;:::-;2081:198:::0;:::o;1359:130::-;1433:12;:10;:12::i;:::-;1422:23;;:7;:5;:7::i;:::-;:23;;;1414:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1359:130::o;5483:192:3:-;5572:6;5560:8;;:18;;5552:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;5618:2;5610:20;;:28;5631:6;5610:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5661:6;5649:8;;:18;;;;;;;:::i;:::-;;;;;;;;5483:192;;:::o;6924:366::-;6987:7;7028:1;7011:6;:13;;;:18;7007:276;;7053:1;7046:8;;;;7007:276;7087:11;7129;;7118:7;7102:6;:13;;;:23;;;;:::i;:::-;7101:39;;;;:::i;:::-;7087:53;;7165:6;;7159:3;:12;7155:117;;;7199:6;;7192:13;;;;;7155:117;7253:3;7246:10;;;6924:366;;;;:::o;640:96:2:-;693:7;719:10;712:17;;640:96;:::o;5812:403:3:-;5871:12;;;;;;;;;;;5863:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;5909:23;5935:7;:15;5943:6;5935:15;;;;;;;;;;;;;;;5909:41;;5961:14;5978:26;5996:7;5978:17;:26::i;:::-;5961:43;;6038:15;6017:7;:18;;:36;;;;6084:6;6064:7;:16;;;:26;;;;;;;:::i;:::-;;;;;;;;6125:1;6101:7;:21;;:25;;;;6139:28;6152:6;6160;6139:12;:28::i;:::-;6192:6;6185:22;;;6200:6;6185:22;;;;;;:::i;:::-;;;;;;;;5852:363;;5812:403;:::o;2433:187:0:-;2506:16;2525:6;;;;;;;;;;;2506:25;;2550:8;2541:6;;:17;;;;;;;;;;;;;;;;;;2604:8;2573:40;;2594:8;2573:40;;;;;;;;;;;;2496:124;2433:187;:::o;6324:473:3:-;6398:7;6426;:21;;;;;;;;;;;;:44;;;;;6452:7;:18;;;;;;;;;;;;6451:19;6426:44;6418:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6498:11;6512:16;6520:7;6512;:16::i;:::-;6498:30;;6539:19;6579:7;:18;;;6561:15;:36;;;;:::i;:::-;6539:58;;6610:15;6642:12;;6628:11;:26;;;;:::i;:::-;6610:44;;6665:14;6719:20;;6709:7;6699;6693:3;6682:8;;:14;;;;:::i;:::-;:24;;;;:::i;:::-;:34;;;;:::i;:::-;:57;;;;:::i;:::-;6665:74;;6783:6;6759:7;:21;;;:30;;;;:::i;:::-;6752:37;;;;;;6324:473;;;:::o;7:77:4:-;44:7;73:5;62:16;;7:77;;;:::o;90:180::-;138:77;135:1;128:88;235:4;232:1;225:15;259:4;256:1;249:15;276:191;316:3;335:20;353:1;335:20;:::i;:::-;330:25;;369:20;387:1;369:20;:::i;:::-;364:25;;412:1;409;405:9;398:16;;433:3;430:1;427:10;424:36;;;440:18;;:::i;:::-;424:36;276:191;;;;:::o;473:118::-;560:24;578:5;560:24;:::i;:::-;555:3;548:37;473:118;;:::o;597:222::-;690:4;728:2;717:9;713:18;705:26;;741:71;809:1;798:9;794:17;785:6;741:71;:::i;:::-;597:222;;;;:::o;906:117::-;1015:1;1012;1005:12;1152:126;1189:7;1229:42;1222:5;1218:54;1207:65;;1152:126;;;:::o;1284:96::-;1321:7;1350:24;1368:5;1350:24;:::i;:::-;1339:35;;1284:96;;;:::o;1386:122::-;1459:24;1477:5;1459:24;:::i;:::-;1452:5;1449:35;1439:63;;1498:1;1495;1488:12;1439:63;1386:122;:::o;1514:139::-;1560:5;1598:6;1585:20;1576:29;;1614:33;1641:5;1614:33;:::i;:::-;1514:139;;;;:::o;1659:122::-;1732:24;1750:5;1732:24;:::i;:::-;1725:5;1722:35;1712:63;;1771:1;1768;1761:12;1712:63;1659:122;:::o;1787:139::-;1833:5;1871:6;1858:20;1849:29;;1887:33;1914:5;1887:33;:::i;:::-;1787:139;;;;:::o;1932:474::-;2000:6;2008;2057:2;2045:9;2036:7;2032:23;2028:32;2025:119;;;2063:79;;:::i;:::-;2025:119;2183:1;2208:53;2253:7;2244:6;2233:9;2229:22;2208:53;:::i;:::-;2198:63;;2154:117;2310:2;2336:53;2381:7;2372:6;2361:9;2357:22;2336:53;:::i;:::-;2326:63;;2281:118;1932:474;;;;;:::o;2412:90::-;2446:7;2489:5;2482:13;2475:21;2464:32;;2412:90;;;:::o;2508:109::-;2589:21;2604:5;2589:21;:::i;:::-;2584:3;2577:34;2508:109;;:::o;2623:210::-;2710:4;2748:2;2737:9;2733:18;2725:26;;2761:65;2823:1;2812:9;2808:17;2799:6;2761:65;:::i;:::-;2623:210;;;;:::o;2839:329::-;2898:6;2947:2;2935:9;2926:7;2922:23;2918:32;2915:119;;;2953:79;;:::i;:::-;2915:119;3073:1;3098:53;3143:7;3134:6;3123:9;3119:22;3098:53;:::i;:::-;3088:63;;3044:117;2839:329;;;;:::o;3174:::-;3233:6;3282:2;3270:9;3261:7;3257:23;3253:32;3250:119;;;3288:79;;:::i;:::-;3250:119;3408:1;3433:53;3478:7;3469:6;3458:9;3454:22;3433:53;:::i;:::-;3423:63;;3379:117;3174:329;;;;:::o;3509:118::-;3596:24;3614:5;3596:24;:::i;:::-;3591:3;3584:37;3509:118;;:::o;3633:222::-;3726:4;3764:2;3753:9;3749:18;3741:26;;3777:71;3845:1;3834:9;3830:17;3821:6;3777:71;:::i;:::-;3633:222;;;;:::o;3861:751::-;4082:4;4120:3;4109:9;4105:19;4097:27;;4134:71;4202:1;4191:9;4187:17;4178:6;4134:71;:::i;:::-;4215:72;4283:2;4272:9;4268:18;4259:6;4215:72;:::i;:::-;4297;4365:2;4354:9;4350:18;4341:6;4297:72;:::i;:::-;4379;4447:2;4436:9;4432:18;4423:6;4379:72;:::i;:::-;4461:67;4523:3;4512:9;4508:19;4499:6;4461:67;:::i;:::-;4538;4600:3;4589:9;4585:19;4576:6;4538:67;:::i;:::-;3861:751;;;;;;;;;:::o;4618:116::-;4688:21;4703:5;4688:21;:::i;:::-;4681:5;4678:32;4668:60;;4724:1;4721;4714:12;4668:60;4618:116;:::o;4740:133::-;4783:5;4821:6;4808:20;4799:29;;4837:30;4861:5;4837:30;:::i;:::-;4740:133;;;;:::o;4879:323::-;4935:6;4984:2;4972:9;4963:7;4959:23;4955:32;4952:119;;;4990:79;;:::i;:::-;4952:119;5110:1;5135:50;5177:7;5168:6;5157:9;5153:22;5135:50;:::i;:::-;5125:60;;5081:114;4879:323;;;;:::o;5208:169::-;5292:11;5326:6;5321:3;5314:19;5366:4;5361:3;5357:14;5342:29;;5208:169;;;;:::o;5383:163::-;5523:15;5519:1;5511:6;5507:14;5500:39;5383:163;:::o;5552:366::-;5694:3;5715:67;5779:2;5774:3;5715:67;:::i;:::-;5708:74;;5791:93;5880:3;5791:93;:::i;:::-;5909:2;5904:3;5900:12;5893:19;;5552:366;;;:::o;5924:419::-;6090:4;6128:2;6117:9;6113:18;6105:26;;6177:9;6171:4;6167:20;6163:1;6152:9;6148:17;6141:47;6205:131;6331:4;6205:131;:::i;:::-;6197:139;;5924:419;;;:::o;6349:180::-;6397:77;6394:1;6387:88;6494:4;6491:1;6484:15;6518:4;6515:1;6508:15;6535:185;6575:1;6592:20;6610:1;6592:20;:::i;:::-;6587:25;;6626:20;6644:1;6626:20;:::i;:::-;6621:25;;6665:1;6655:35;;6670:18;;:::i;:::-;6655:35;6712:1;6709;6705:9;6700:14;;6535:185;;;;:::o;6726:168::-;6866:20;6862:1;6854:6;6850:14;6843:44;6726:168;:::o;6900:366::-;7042:3;7063:67;7127:2;7122:3;7063:67;:::i;:::-;7056:74;;7139:93;7228:3;7139:93;:::i;:::-;7257:2;7252:3;7248:12;7241:19;;6900:366;;;:::o;7272:419::-;7438:4;7476:2;7465:9;7461:18;7453:26;;7525:9;7519:4;7515:20;7511:1;7500:9;7496:17;7489:47;7553:131;7679:4;7553:131;:::i;:::-;7545:139;;7272:419;;;:::o;7697:194::-;7737:4;7757:20;7775:1;7757:20;:::i;:::-;7752:25;;7791:20;7809:1;7791:20;:::i;:::-;7786:25;;7835:1;7832;7828:9;7820:17;;7859:1;7853:4;7850:11;7847:37;;;7864:18;;:::i;:::-;7847:37;7697:194;;;;:::o;7897:332::-;8018:4;8056:2;8045:9;8041:18;8033:26;;8069:71;8137:1;8126:9;8122:17;8113:6;8069:71;:::i;:::-;8150:72;8218:2;8207:9;8203:18;8194:6;8150:72;:::i;:::-;7897:332;;;;;:::o;8235:137::-;8289:5;8320:6;8314:13;8305:22;;8336:30;8360:5;8336:30;:::i;:::-;8235:137;;;;:::o;8378:345::-;8445:6;8494:2;8482:9;8473:7;8469:23;8465:32;8462:119;;;8500:79;;:::i;:::-;8462:119;8620:1;8645:61;8698:7;8689:6;8678:9;8674:22;8645:61;:::i;:::-;8635:71;;8591:125;8378:345;;;;:::o;8729:158::-;8869:10;8865:1;8857:6;8853:14;8846:34;8729:158;:::o;8893:365::-;9035:3;9056:66;9120:1;9115:3;9056:66;:::i;:::-;9049:73;;9131:93;9220:3;9131:93;:::i;:::-;9249:2;9244:3;9240:12;9233:19;;8893:365;;;:::o;9264:419::-;9430:4;9468:2;9457:9;9453:18;9445:26;;9517:9;9511:4;9507:20;9503:1;9492:9;9488:17;9481:47;9545:131;9671:4;9545:131;:::i;:::-;9537:139;;9264:419;;;:::o;9689:167::-;9829:19;9825:1;9817:6;9813:14;9806:43;9689:167;:::o;9862:366::-;10004:3;10025:67;10089:2;10084:3;10025:67;:::i;:::-;10018:74;;10101:93;10190:3;10101:93;:::i;:::-;10219:2;10214:3;10210:12;10203:19;;9862:366;;;:::o;10234:419::-;10400:4;10438:2;10427:9;10423:18;10415:26;;10487:9;10481:4;10477:20;10473:1;10462:9;10458:17;10451:47;10515:131;10641:4;10515:131;:::i;:::-;10507:139;;10234:419;;;:::o;10659:143::-;10716:5;10747:6;10741:13;10732:22;;10763:33;10790:5;10763:33;:::i;:::-;10659:143;;;;:::o;10808:351::-;10878:6;10927:2;10915:9;10906:7;10902:23;10898:32;10895:119;;;10933:79;;:::i;:::-;10895:119;11053:1;11078:64;11134:7;11125:6;11114:9;11110:22;11078:64;:::i;:::-;11068:74;;11024:128;10808:351;;;;:::o;11165:332::-;11286:4;11324:2;11313:9;11309:18;11301:26;;11337:71;11405:1;11394:9;11390:17;11381:6;11337:71;:::i;:::-;11418:72;11486:2;11475:9;11471:18;11462:6;11418:72;:::i;:::-;11165:332;;;;;:::o;11503:161::-;11643:13;11639:1;11631:6;11627:14;11620:37;11503:161;:::o;11670:366::-;11812:3;11833:67;11897:2;11892:3;11833:67;:::i;:::-;11826:74;;11909:93;11998:3;11909:93;:::i;:::-;12027:2;12022:3;12018:12;12011:19;;11670:366;;;:::o;12042:419::-;12208:4;12246:2;12235:9;12231:18;12223:26;;12295:9;12289:4;12285:20;12281:1;12270:9;12266:17;12259:47;12323:131;12449:4;12323:131;:::i;:::-;12315:139;;12042:419;;;:::o;12467:442::-;12616:4;12654:2;12643:9;12639:18;12631:26;;12667:71;12735:1;12724:9;12720:17;12711:6;12667:71;:::i;:::-;12748:72;12816:2;12805:9;12801:18;12792:6;12748:72;:::i;:::-;12830;12898:2;12887:9;12883:18;12874:6;12830:72;:::i;:::-;12467:442;;;;;;:::o;12915:332::-;13036:4;13074:2;13063:9;13059:18;13051:26;;13087:71;13155:1;13144:9;13140:17;13131:6;13087:71;:::i;:::-;13168:72;13236:2;13225:9;13221:18;13212:6;13168:72;:::i;:::-;12915:332;;;;;:::o;13253:225::-;13393:34;13389:1;13381:6;13377:14;13370:58;13462:8;13457:2;13449:6;13445:15;13438:33;13253:225;:::o;13484:366::-;13626:3;13647:67;13711:2;13706:3;13647:67;:::i;:::-;13640:74;;13723:93;13812:3;13723:93;:::i;:::-;13841:2;13836:3;13832:12;13825:19;;13484:366;;;:::o;13856:419::-;14022:4;14060:2;14049:9;14045:18;14037:26;;14109:9;14103:4;14099:20;14095:1;14084:9;14080:17;14073:47;14137:131;14263:4;14137:131;:::i;:::-;14129:139;;13856:419;;;:::o;14281:182::-;14421:34;14417:1;14409:6;14405:14;14398:58;14281:182;:::o;14469:366::-;14611:3;14632:67;14696:2;14691:3;14632:67;:::i;:::-;14625:74;;14708:93;14797:3;14708:93;:::i;:::-;14826:2;14821:3;14817:12;14810:19;;14469:366;;;:::o;14841:419::-;15007:4;15045:2;15034:9;15030:18;15022:26;;15094:9;15088:4;15084:20;15080:1;15069:9;15065:17;15058:47;15122:131;15248:4;15122:131;:::i;:::-;15114:139;;14841:419;;;:::o;15266:166::-;15406:18;15402:1;15394:6;15390:14;15383:42;15266:166;:::o;15438:366::-;15580:3;15601:67;15665:2;15660:3;15601:67;:::i;:::-;15594:74;;15677:93;15766:3;15677:93;:::i;:::-;15795:2;15790:3;15786:12;15779:19;;15438:366;;;:::o;15810:419::-;15976:4;16014:2;16003:9;15999:18;15991:26;;16063:9;16057:4;16053:20;16049:1;16038:9;16034:17;16027:47;16091:131;16217:4;16091:131;:::i;:::-;16083:139;;15810:419;;;:::o;16235:410::-;16275:7;16298:20;16316:1;16298:20;:::i;:::-;16293:25;;16332:20;16350:1;16332:20;:::i;:::-;16327:25;;16387:1;16384;16380:9;16409:30;16427:11;16409:30;:::i;:::-;16398:41;;16588:1;16579:7;16575:15;16572:1;16569:22;16549:1;16542:9;16522:83;16499:139;;16618:18;;:::i;:::-;16499:139;16283:362;16235:410;;;;:::o;16651:160::-;16791:12;16787:1;16779:6;16775:14;16768:36;16651:160;:::o;16817:366::-;16959:3;16980:67;17044:2;17039:3;16980:67;:::i;:::-;16973:74;;17056:93;17145:3;17056:93;:::i;:::-;17174:2;17169:3;17165:12;17158:19;;16817:366;;;:::o;17189:419::-;17355:4;17393:2;17382:9;17378:18;17370:26;;17442:9;17436:4;17432:20;17428:1;17417:9;17413:17;17406:47;17470:131;17596:4;17470:131;:::i;:::-;17462:139;;17189:419;;;:::o

Swarm Source

ipfs://50429bd65d09de8ea1ece4980972d6f14909dc692a271b7111da095857ae6e86

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.