ETH Price: $2,362.86 (-5.81%)

Contract

0xBB06583BcAc49Fa3c5eFfb42DD5dC98f7aC87B9E
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Emergency Withdr...193684662024-03-05 10:48:11358 days ago1709635691IN
0xBB06583B...f7aC87B9E
0 ETH0.0017450157.45270054
Deposit193302592024-02-29 2:40:23363 days ago1709174423IN
0xBB06583B...f7aC87B9E
2.23 ETH0.0014273243.25870367
Deposit192491082024-02-17 17:37:59375 days ago1708191479IN
0xBB06583B...f7aC87B9E
1.34 ETH0.0008283925.10680803
Deposit191797832024-02-08 0:07:23384 days ago1707350843IN
0xBB06583B...f7aC87B9E
2 ETH0.0013114739.74764367
Deposit191180842024-01-30 8:18:47393 days ago1706602727IN
0xBB06583B...f7aC87B9E
2.23 ETH0.0007160621.70222806
Deposit190207292024-01-16 16:44:59407 days ago1705423499IN
0xBB06583B...f7aC87B9E
3.32 ETH0.0016088448.76040587
Deposit189692592024-01-09 11:58:47414 days ago1704801527IN
0xBB06583B...f7aC87B9E
4.25 ETH0.0004283912.98368157
Deposit189180632024-01-02 6:57:47421 days ago1704178667IN
0xBB06583B...f7aC87B9E
10.95 ETH0.0004016912.17456161
Deposit188594302023-12-25 1:16:59429 days ago1703467019IN
0xBB06583B...f7aC87B9E
6.8688 ETH0.0005209615.78931506
Stake188343802023-12-21 12:56:23433 days ago1703163383IN
0xBB06583B...f7aC87B9E
0 ETH0.0040367142.57417543
Stake188333012023-12-21 9:18:47433 days ago1703150327IN
0xBB06583B...f7aC87B9E
0 ETH0.003109831.31947272
Stake188330482023-12-21 8:27:11433 days ago1703147231IN
0xBB06583B...f7aC87B9E
0 ETH0.0032752139.84207461
Stake188328142023-12-21 7:39:35433 days ago1703144375IN
0xBB06583B...f7aC87B9E
0 ETH0.0032207432.42897655
Stake188323512023-12-21 6:06:35433 days ago1703138795IN
0xBB06583B...f7aC87B9E
0 ETH0.0032034433.78594192
Stake188320742023-12-21 5:10:11433 days ago1703135411IN
0xBB06583B...f7aC87B9E
0 ETH0.0034681636.5732586
Stake188318372023-12-21 4:22:23433 days ago1703132543IN
0xBB06583B...f7aC87B9E
0 ETH0.0032489234.25688019
Stake188316962023-12-21 3:53:59433 days ago1703130839IN
0xBB06583B...f7aC87B9E
0 ETH0.0037425439.46168026
Stake188316882023-12-21 3:52:23433 days ago1703130743IN
0xBB06583B...f7aC87B9E
0 ETH0.0036732838.73631404
Stake188316742023-12-21 3:49:35433 days ago1703130575IN
0xBB06583B...f7aC87B9E
0 ETH0.0033144534.94782096
Stake188313592023-12-21 2:45:59433 days ago1703126759IN
0xBB06583B...f7aC87B9E
0 ETH0.0028790337.0341446
Stake188309592023-12-21 1:25:35433 days ago1703121935IN
0xBB06583B...f7aC87B9E
0 ETH0.0044744444.91156378
Stake188306692023-12-21 0:27:35433 days ago1703118455IN
0xBB06583B...f7aC87B9E
0 ETH0.0050046852.77641311
Stake188306422023-12-21 0:22:11433 days ago1703118131IN
0xBB06583B...f7aC87B9E
0 ETH0.0047878450.48975209
Stake188303802023-12-20 23:27:47433 days ago1703114867IN
0xBB06583B...f7aC87B9E
0 ETH0.0048666448.84817604
Stake188299272023-12-20 21:56:11434 days ago1703109371IN
0xBB06583B...f7aC87B9E
0 ETH0.0042639751.87000238
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block
From
To
193684662024-03-05 10:48:11358 days ago1709635691
0xBB06583B...f7aC87B9E
57.6838 ETH
Loading...
Loading

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

Contract Name:
OZKStake

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-12-18
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.20;

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

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

contract Ownable {
    error NotOwner();

    address private _owner;

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

    constructor() {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        if (_owner != msg.sender) revert NotOwner();
        _;
    }

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

contract OZKStake is Ownable {
    error StakingWindowClosed();
    error StakingInProgress();
    error StakingNotInProgress();
    error InsufficientBalance();
    error NothingStaked();
    error NotAllowed();

    event Stake(address sender, uint256 cycle, uint256 amount);
    event Unstake(address sender, uint256 cycle, uint256 amount);

    uint256 public constant STAKING_OPEN_WINDOW = 3 days;
    address public immutable TOKEN;
    uint256 public immutable STAKING_DURATION;

    mapping(uint256 => uint256) public depositedAmount;
    mapping(uint256 => mapping(address => uint256)) public userStakedAmountMap;
    mapping(uint256 => uint256) public totalStakedToken;

    bool public allowEmergencyTokenWithdraw = false;
    uint256 public cycle;
    uint256 public openTime;

    constructor(address token_, uint256 stakingDuration_) {
        TOKEN = token_;
        STAKING_DURATION = stakingDuration_;
    }

    receive() external payable {}

    // owners
    function open() external payable onlyOwner {
        uint256 __openTime = openTime;
        if (block.timestamp >= __openTime && block.timestamp <= __openTime + STAKING_DURATION) {
            revert StakingInProgress();
        }
        cycle += 1;
        openTime = block.timestamp;
        _deposit();
    }

    function deposit() public payable onlyOwner {
        if (!isInProgress()) revert StakingNotInProgress();
        _deposit();
    }

    function emergencyWithdraw() external onlyOwner {
        (bool success,) = msg.sender.call{value: address(this).balance}("");
        require(success);
    }

    function syncDepositedAmount(uint256 amount, uint256 cycle_) external onlyOwner {
        if (address(this).balance < amount) revert InsufficientBalance();
        depositedAmount[cycle_] = amount;
    }

    function setAllowTokenWithdrawal(bool allow_) external onlyOwner {
        allowEmergencyTokenWithdraw = allow_;
    }

    // external
    function stake(uint256 amount_) external {
        if (!isOpen()) revert StakingWindowClosed();

        uint256 __cycle = cycle;

        userStakedAmountMap[__cycle][msg.sender] += amount_;
        totalStakedToken[__cycle] += amount_;

        emit Stake(msg.sender, __cycle, amount_);

        IERC20(TOKEN).transferFrom(msg.sender, address(this), amount_);
    }

    function unstake(uint256 cycle_) external {
        if (cycle_ == cycle && block.timestamp <= openTime + STAKING_DURATION) revert StakingInProgress();

        // check amount staked
        uint256 __amountStaked = userStakedAmountMap[cycle_][msg.sender];
        if (__amountStaked == 0) revert NothingStaked();

        // calculate amount
        uint256 __totalStaked = totalStakedToken[cycle_];
        uint256 claimableReward = 0;
        if (__totalStaked != 0) {
            claimableReward = depositedAmount[cycle_] * __amountStaked / __totalStaked;
        }

        // update state
        userStakedAmountMap[cycle_][msg.sender] -= __amountStaked;

        emit Unstake(msg.sender, cycle_, __amountStaked);

        // withdraw
        IERC20(TOKEN).transfer(msg.sender, __amountStaked);
        (bool success,) = msg.sender.call{value: claimableReward}("");
        require(success);
    }

    function emergencyTokenWithdraw(uint256 cycle_) external {
        if (!allowEmergencyTokenWithdraw) revert NotAllowed();

        // check amount staked
        uint256 __amountStaked = userStakedAmountMap[cycle_][msg.sender];
        if (__amountStaked == 0) revert NothingStaked();

        // update state
        userStakedAmountMap[cycle_][msg.sender] -= __amountStaked;

        emit Unstake(msg.sender, cycle_, __amountStaked);

        // withdraw
        IERC20(TOKEN).transfer(msg.sender, __amountStaked);
    }

    // views
    function isOpen() public view returns (bool) {
        uint256 __openTime = openTime;
        if (block.timestamp >= __openTime && block.timestamp <= __openTime + STAKING_OPEN_WINDOW) {
            return true;
        }

        return false;
    }

    function isInProgress() public view returns (bool) {
        uint256 __openTime = openTime;
        if (block.timestamp >= __openTime && block.timestamp <= __openTime + STAKING_DURATION) {
            return true;
        }

        return false;
    }

    function claimable(uint256 cycle_, address addr) external view returns (uint256) {
        uint256 __amountStaked = userStakedAmountMap[cycle_][addr];
        uint256 __totalStaked = totalStakedToken[cycle_];

        if (__totalStaked == 0) return 0;
        return depositedAmount[cycle_] * __amountStaked / __totalStaked;
    }

    // private
    function _deposit() private {
        depositedAmount[cycle] += msg.value;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"stakingDuration_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InsufficientBalance","type":"error"},{"inputs":[],"name":"NotAllowed","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NothingStaked","type":"error"},{"inputs":[],"name":"StakingInProgress","type":"error"},{"inputs":[],"name":"StakingNotInProgress","type":"error"},{"inputs":[],"name":"StakingWindowClosed","type":"error"},{"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":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"cycle","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Stake","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"cycle","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Unstake","type":"event"},{"inputs":[],"name":"STAKING_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_OPEN_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allowEmergencyTokenWithdraw","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle_","type":"uint256"},{"internalType":"address","name":"addr","type":"address"}],"name":"claimable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cycle","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"depositedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle_","type":"uint256"}],"name":"emergencyTokenWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isInProgress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"open","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"openTime","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":[{"internalType":"bool","name":"allow_","type":"bool"}],"name":"setAllowTokenWithdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"cycle_","type":"uint256"}],"name":"syncDepositedAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"totalStakedToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle_","type":"uint256"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"userStakedAmountMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x608060405260043610610134575f3560e01c806382bfefc8116100a8578063b42568881161006d578063b425688814610375578063bb9608031461038a578063cda92644146103a3578063d0e30db0146103d9578063db2e21bc146103e1578063fcfff16f146103f5575f80fd5b806382bfefc8146102a55780638da5cb5b146102f05780638dceb6cc1461030c578063a0c7f71c14610337578063a694fc3a14610356575f80fd5b806347535d7b116100f957806347535d7b146102065780635072b96e1461022a5780635893813e146102495780636190c9d5146102685780636dfc2fa81461027d578063715018a614610291575f80fd5b80632e1750041461013f5780632e17de7814610185578063348e842e146101a65780633f9eb035146101c5578063472b44a2146101db575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b506101727f00000000000000000000000000000000000000000000000000000000006ebe0081565b6040519081526020015b60405180910390f35b348015610190575f80fd5b506101a461019f366004610c1d565b6103fd565b005b3480156101b1575f80fd5b506101a46101c0366004610c41565b610625565b3480156101d0575f80fd5b506101726203f48081565b3480156101e6575f80fd5b506101726101f5366004610c1d565b60016020525f908152604090205481565b348015610211575f80fd5b5061021a610662565b604051901515815260200161017c565b348015610235575f80fd5b506101a4610244366004610c63565b610697565b348015610254575f80fd5b506101a4610263366004610c1d565b6106f2565b348015610273575f80fd5b5061017260055481565b348015610288575f80fd5b5061021a610851565b34801561029c575f80fd5b506101a461088b565b3480156102b0575f80fd5b506102d87f000000000000000000000000b4fc1fc74effa5dc15a031eb8159302cfa4f128881565b6040516001600160a01b03909116815260200161017c565b3480156102fb575f80fd5b505f546001600160a01b03166102d8565b348015610317575f80fd5b50610172610326366004610c1d565b60036020525f908152604090205481565b348015610342575f80fd5b50610172610351366004610c83565b6108fd565b348015610361575f80fd5b506101a4610370366004610c1d565b61096b565b348015610380575f80fd5b5061017260065481565b348015610395575f80fd5b5060045461021a9060ff1681565b3480156103ae575f80fd5b506101726103bd366004610c83565b600260209081525f928352604080842090915290825290205481565b6101a4610a7c565b3480156103ec575f80fd5b506101a4610ad5565b6101a4610b53565b6005548114801561043b57507f00000000000000000000000000000000000000000000000000000000006ebe006006546104379190610cd0565b4211155b15610459576040516308c45bdb60e41b815260040160405180910390fd5b5f8181526002602090815260408083203384529091528120549081900361049357604051639fe7bfd960e01b815260040160405180910390fd5b5f828152600360205260408120549081156104d0575f8481526001602052604090205482906104c3908590610ce3565b6104cd9190610cfa565b90505b5f848152600260209081526040808320338452909152812080548592906104f8908490610d19565b909155505060408051338152602081018690529081018490527ff960dbf9e5d0682f7a298ed974e33a28b4464914b7a2bfac12ae419a9afeb2809060600160405180910390a160405163a9059cbb60e01b8152336004820152602481018490527f000000000000000000000000b4fc1fc74effa5dc15a031eb8159302cfa4f12886001600160a01b03169063a9059cbb906044016020604051808303815f875af11580156105a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105cc9190610d2c565b506040515f90339083908381818185875af1925050503d805f811461060c576040519150601f19603f3d011682016040523d82523d5f602084013e610611565b606091505b505090508061061e575f80fd5b5050505050565b5f546001600160a01b0316331461064f576040516330cd747160e01b815260040160405180910390fd5b6004805460ff1916911515919091179055565b6006545f90428111801590610683575061067f6203f48082610cd0565b4211155b1561069057600191505090565b5f91505090565b5f546001600160a01b031633146106c1576040516330cd747160e01b815260040160405180910390fd5b814710156106e257604051631e9acf1760e31b815260040160405180910390fd5b5f90815260016020526040902055565b60045460ff1661071557604051631eb49d6d60e11b815260040160405180910390fd5b5f8181526002602090815260408083203384529091528120549081900361074f57604051639fe7bfd960e01b815260040160405180910390fd5b5f82815260026020908152604080832033845290915281208054839290610777908490610d19565b909155505060408051338152602081018490529081018290527ff960dbf9e5d0682f7a298ed974e33a28b4464914b7a2bfac12ae419a9afeb2809060600160405180910390a160405163a9059cbb60e01b8152336004820152602481018290527f000000000000000000000000b4fc1fc74effa5dc15a031eb8159302cfa4f12886001600160a01b03169063a9059cbb906044015b6020604051808303815f875af1158015610828573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084c9190610d2c565b505050565b6006545f90428111801590610683575061067f7f00000000000000000000000000000000000000000000000000000000006ebe0082610cd0565b5f546001600160a01b031633146108b5576040516330cd747160e01b815260040160405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f8281526002602090815260408083206001600160a01b0385168452825280832054858452600390925282205480830361093b575f92505050610965565b5f858152600160205260409020548190610956908490610ce3565b6109609190610cfa565b925050505b92915050565b610973610662565b610990576040516342083d4160e11b815260040160405180910390fd5b6005545f818152600260209081526040808320338452909152812080548492906109bb908490610cd0565b90915550505f81815260036020526040812080548492906109dd908490610cd0565b909155505060408051338152602081018390529081018390527f5af417134f72a9d41143ace85b0a26dce6f550f894f2cbc1eeee8810603d91b69060600160405180910390a16040516323b872dd60e01b8152336004820152306024820152604481018390527f000000000000000000000000b4fc1fc74effa5dc15a031eb8159302cfa4f12886001600160a01b0316906323b872dd9060640161080c565b5f546001600160a01b03163314610aa6576040516330cd747160e01b815260040160405180910390fd5b610aae610851565b610acb5760405163c212a90560e01b815260040160405180910390fd5b610ad3610bf6565b565b5f546001600160a01b03163314610aff576040516330cd747160e01b815260040160405180910390fd5b6040515f90339047908381818185875af1925050503d805f8114610b3e576040519150601f19603f3d011682016040523d82523d5f602084013e610b43565b606091505b5050905080610b50575f80fd5b50565b5f546001600160a01b03163314610b7d576040516330cd747160e01b815260040160405180910390fd5b600654428111801590610bb95750610bb57f00000000000000000000000000000000000000000000000000000000006ebe0082610cd0565b4211155b15610bd7576040516308c45bdb60e41b815260040160405180910390fd5b600160055f828254610be99190610cd0565b909155505042600655610b505b6005545f9081526001602052604081208054349290610c16908490610cd0565b9091555050565b5f60208284031215610c2d575f80fd5b5035919050565b8015158114610b50575f80fd5b5f60208284031215610c51575f80fd5b8135610c5c81610c34565b9392505050565b5f8060408385031215610c74575f80fd5b50508035926020909101359150565b5f8060408385031215610c94575f80fd5b8235915060208301356001600160a01b0381168114610cb1575f80fd5b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561096557610965610cbc565b808202811582820484141761096557610965610cbc565b5f82610d1457634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561096557610965610cbc565b5f60208284031215610d3c575f80fd5b8151610c5c81610c3456fea2646970667358221220720355354176a3a33439aeebf819b45048f6a7b837db3c95f8d7fbf3e6ff4e0864736f6c63430008140033

Deployed Bytecode Sourcemap

1415:4863:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1871:41;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;1871:41:0;;;;;;;;3809:927;;;;;;;;;;-1:-1:-1;3809:927:0;;;;;:::i;:::-;;:::i;:::-;;3278:120;;;;;;;;;;-1:-1:-1;3278:120:0;;;;;:::i;:::-;;:::i;1775:52::-;;;;;;;;;;;;1821:6;1775:52;;1921:50;;;;;;;;;;-1:-1:-1;1921:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;5302:256;;;;;;;;;;;;;:::i;:::-;;;915:14:1;;908:22;890:41;;878:2;863:18;5302:256:0;750:187:1;3064:206:0;;;;;;;;;;-1:-1:-1;3064:206:0;;;;;:::i;:::-;;:::i;4744:536::-;;;;;;;;;;-1:-1:-1;4744:536:0;;;;;:::i;:::-;;:::i;2173:20::-;;;;;;;;;;;;;;;;5566:259;;;;;;;;;;;;;:::i;1260:148::-;;;;;;;;;;;;;:::i;1834:30::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1359:32:1;;;1341:51;;1329:2;1314:18;1834:30:0;1195:203:1;1070:79:0;;;;;;;;;;-1:-1:-1;1108:7:0;1135:6;-1:-1:-1;;;;;1135:6:0;1070:79;;2059:51;;;;;;;;;;-1:-1:-1;2059:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;5833:336;;;;;;;;;;-1:-1:-1;5833:336:0;;;;;:::i;:::-;;:::i;3423:378::-;;;;;;;;;;-1:-1:-1;3423:378:0;;;;;:::i;:::-;;:::i;2200:23::-;;;;;;;;;;;;;;;;2119:47;;;;;;;;;;-1:-1:-1;2119:47:0;;;;;;;;1978:74;;;;;;;;;;-1:-1:-1;1978:74:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;2753:134;;;:::i;2895:161::-;;;;;;;;;;;;;:::i;2425:320::-;;;:::i;3809:927::-;3876:5;;3866:6;:15;:65;;;;;3915:16;3904:8;;:27;;;;:::i;:::-;3885:15;:46;;3866:65;3862:97;;;3940:19;;-1:-1:-1;;;3940:19:0;;;;;;;;;;;3862:97;4004:22;4029:27;;;:19;:27;;;;;;;;4057:10;4029:39;;;;;;;;;4083:19;;;4079:47;;4111:15;;-1:-1:-1;;;4111:15:0;;;;;;;;;;;4079:47;4168:21;4192:24;;;:16;:24;;;;;;;4269:18;;4265:125;;4322:23;;;;:15;:23;;;;;;4365:13;;4322:40;;4348:14;;4322:40;:::i;:::-;:56;;;;:::i;:::-;4304:74;;4265:125;4427:27;;;;:19;:27;;;;;;;;4455:10;4427:39;;;;;;;:57;;4470:14;;4427:27;:57;;4470:14;;4427:57;:::i;:::-;;;;-1:-1:-1;;4502:43:0;;;4510:10;2754:51:1;;2836:2;2821:18;;2814:34;;;2864:18;;;2857:34;;;4502:43:0;;2742:2:1;2727:18;4502:43:0;;;;;;;4579:50;;-1:-1:-1;;;4579:50:0;;4602:10;4579:50;;;3076:51:1;3143:18;;;3136:34;;;4586:5:0;-1:-1:-1;;;;;4579:22:0;;;;3049:18:1;;4579:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4658:43:0;;4641:12;;4658:10;;4681:15;;4641:12;4658:43;4641:12;4658:43;4681:15;4658:10;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4640:61;;;4720:7;4712:16;;;;;;3851:885;;;;3809:927;:::o;3278:120::-;1193:6;;-1:-1:-1;;;;;1193:6:0;1203:10;1193:20;1189:43;;1222:10;;-1:-1:-1;;;1222:10:0;;;;;;;;;;;1189:43;3354:27:::1;:36:::0;;-1:-1:-1;;3354:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;3278:120::o;5302:256::-;5379:8;;5341:4;;5402:15;:29;-1:-1:-1;5402:29:0;;;:84;;-1:-1:-1;5454:32:0;1821:6;5454:10;:32;:::i;:::-;5435:15;:51;;5402:84;5398:128;;;5510:4;5503:11;;;5302:256;:::o;5398:128::-;5545:5;5538:12;;;5302:256;:::o;3064:206::-;1193:6;;-1:-1:-1;;;;;1193:6:0;1203:10;1193:20;1189:43;;1222:10;;-1:-1:-1;;;1222:10:0;;;;;;;;;;;1189:43;3183:6:::1;3159:21;:30;3155:64;;;3198:21;;-1:-1:-1::0;;;3198:21:0::1;;;;;;;;;;;3155:64;3230:23;::::0;;;:15:::1;:23;::::0;;;;:32;3064:206::o;4744:536::-;4817:27;;;;4812:53;;4853:12;;-1:-1:-1;;;4853:12:0;;;;;;;;;;;4812:53;4910:22;4935:27;;;:19;:27;;;;;;;;4963:10;4935:39;;;;;;;;;4989:19;;;4985:47;;5017:15;;-1:-1:-1;;;5017:15:0;;;;;;;;;;;4985:47;5070:27;;;;:19;:27;;;;;;;;5098:10;5070:39;;;;;;;:57;;5113:14;;5070:27;:57;;5113:14;;5070:57;:::i;:::-;;;;-1:-1:-1;;5145:43:0;;;5153:10;2754:51:1;;2836:2;2821:18;;2814:34;;;2864:18;;;2857:34;;;5145:43:0;;2742:2:1;2727:18;5145:43:0;;;;;;;5222:50;;-1:-1:-1;;;5222:50:0;;5245:10;5222:50;;;3076:51:1;3143:18;;;3136:34;;;5229:5:0;-1:-1:-1;;;;;5222:22:0;;;;3049:18:1;;5222:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4801:479;4744:536;:::o;5566:259::-;5649:8;;5611:4;;5672:15;:29;-1:-1:-1;5672:29:0;;;:81;;-1:-1:-1;5724:29:0;5737:16;5724:10;:29;:::i;1260:148::-;1193:6;;-1:-1:-1;;;;;1193:6:0;1203:10;1193:20;1189:43;;1222:10;;-1:-1:-1;;;1222:10:0;;;;;;;;;;;1189:43;1367:1:::1;1351:6:::0;;1330:40:::1;::::0;-1:-1:-1;;;;;1351:6:0;;::::1;::::0;1330:40:::1;::::0;1367:1;;1330:40:::1;1398:1;1381:19:::0;;-1:-1:-1;;;;;;1381:19:0::1;::::0;;1260:148::o;5833:336::-;5905:7;5950:27;;;:19;:27;;;;;;;;-1:-1:-1;;;;;5950:33:0;;;;;;;;;;6018:24;;;:16;:24;;;;;;6059:18;;;6055:32;;6086:1;6079:8;;;;;;6055:32;6105:23;;;;:15;:23;;;;;;6148:13;;6105:40;;6131:14;;6105:40;:::i;:::-;:56;;;;:::i;:::-;6098:63;;;;5833:336;;;;;:::o;3423:378::-;3480:8;:6;:8::i;:::-;3475:43;;3497:21;;-1:-1:-1;;;3497:21:0;;;;;;;;;;;3475:43;3549:5;;3531:15;3567:28;;;:19;:28;;;;;;;;3596:10;3567:40;;;;;;;:51;;3611:7;;3531:15;3567:51;;3611:7;;3567:51;:::i;:::-;;;;-1:-1:-1;;3629:25:0;;;;:16;:25;;;;;:36;;3658:7;;3629:25;:36;;3658:7;;3629:36;:::i;:::-;;;;-1:-1:-1;;3683:35:0;;;3689:10;2754:51:1;;2836:2;2821:18;;2814:34;;;2864:18;;;2857:34;;;3683:35:0;;2742:2:1;2727:18;3683:35:0;;;;;;;3731:62;;-1:-1:-1;;;3731:62:0;;3758:10;3731:62;;;3881:34:1;3778:4:0;3931:18:1;;;3924:43;3983:18;;;3976:34;;;3738:5:0;-1:-1:-1;;;;;3731:26:0;;;;3816:18:1;;3731:62:0;3641:375:1;2753:134:0;1193:6;;-1:-1:-1;;;;;1193:6:0;1203:10;1193:20;1189:43;;1222:10;;-1:-1:-1;;;1222:10:0;;;;;;;;;;;1189:43;2813:14:::1;:12;:14::i;:::-;2808:50;;2836:22;;-1:-1:-1::0;;;2836:22:0::1;;;;;;;;;;;2808:50;2869:10;:8;:10::i;:::-;2753:134::o:0;2895:161::-;1193:6;;-1:-1:-1;;;;;1193:6:0;1203:10;1193:20;1189:43;;1222:10;;-1:-1:-1;;;1222:10:0;;;;;;;;;;;1189:43;2972:49:::1;::::0;2955:12:::1;::::0;2972:10:::1;::::0;2995:21:::1;::::0;2955:12;2972:49;2955:12;2972:49;2995:21;2972:10;:49:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2954:67;;;3040:7;3032:16;;;::::0;::::1;;2943:113;2895:161::o:0;2425:320::-;1193:6;;-1:-1:-1;;;;;1193:6:0;1203:10;1193:20;1189:43;;1222:10;;-1:-1:-1;;;1222:10:0;;;;;;;;;;;1189:43;2500:8:::1;::::0;2523:15:::1;:29:::0;-1:-1:-1;2523:29:0;::::1;::::0;:81:::1;;-1:-1:-1::0;2575:29:0::1;2588:16;2575:10:::0;:29:::1;:::i;:::-;2556:15;:48;;2523:81;2519:140;;;2628:19;;-1:-1:-1::0;;;2628:19:0::1;;;;;;;;;;;2519:140;2678:1;2669:5;;:10;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;2701:15:0::1;2690:8;:26:::0;2727:10:::1;6193:82:::0;6248:5;;6232:22;;;;:15;:22;;;;;:35;;6258:9;;6232:22;:35;;6258:9;;6232:35;:::i;:::-;;;;-1:-1:-1;;6193:82:0:o;196:180:1:-;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;-1:-1:-1;347:23:1;;196:180;-1:-1:-1;196:180:1:o;381:118::-;467:5;460:13;453:21;446:5;443:32;433:60;;489:1;486;479:12;504:241;560:6;613:2;601:9;592:7;588:23;584:32;581:52;;;629:1;626;619:12;581:52;668:9;655:23;687:28;709:5;687:28;:::i;:::-;734:5;504:241;-1:-1:-1;;;504:241:1:o;942:248::-;1010:6;1018;1071:2;1059:9;1050:7;1046:23;1042:32;1039:52;;;1087:1;1084;1077:12;1039:52;-1:-1:-1;;1110:23:1;;;1180:2;1165:18;;;1152:32;;-1:-1:-1;942:248:1:o;1403:354::-;1471:6;1479;1532:2;1520:9;1511:7;1507:23;1503:32;1500:52;;;1548:1;1545;1538:12;1500:52;1571:23;;;-1:-1:-1;1644:2:1;1629:18;;1616:32;-1:-1:-1;;;;;1677:31:1;;1667:42;;1657:70;;1723:1;1720;1713:12;1657:70;1746:5;1736:15;;;1403:354;;;;;:::o;1762:127::-;1823:10;1818:3;1814:20;1811:1;1804:31;1854:4;1851:1;1844:15;1878:4;1875:1;1868:15;1894:125;1959:9;;;1980:10;;;1977:36;;;1993:18;;:::i;2024:168::-;2097:9;;;2128;;2145:15;;;2139:22;;2125:37;2115:71;;2166:18;;:::i;2197:217::-;2237:1;2263;2253:132;;2307:10;2302:3;2298:20;2295:1;2288:31;2342:4;2339:1;2332:15;2370:4;2367:1;2360:15;2253:132;-1:-1:-1;2399:9:1;;2197:217::o;2419:128::-;2486:9;;;2507:11;;;2504:37;;;2521:18;;:::i;3181:245::-;3248:6;3301:2;3289:9;3280:7;3276:23;3272:32;3269:52;;;3317:1;3314;3307:12;3269:52;3349:9;3343:16;3368:28;3390:5;3368:28;:::i

Swarm Source

ipfs://720355354176a3a33439aeebf819b45048f6a7b837db3c95f8d7fbf3e6ff4e08

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.