ETH Price: $2,938.50 (-0.69%)

Contract

0xF85989aa6a5B396949CD2eF87b3DAFEd452B0Be4

Overview

ETH Balance

0.689325039793886629 ETH

ETH Value

$2,025.58 (@ $2,938.50/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Exit From Stakin...3081765912025-02-20 22:28:33338 days ago1740090513IN
0xF85989aa...d452B0Be4
0 ETH0.000005360.01
Withdraw Dividen...3081761212025-02-20 22:26:35338 days ago1740090395IN
0xF85989aa...d452B0Be4
0 ETH0.000000410.01
Withdraw Dividen...2671807352024-10-24 13:48:25457 days ago1729777705IN
0xF85989aa...d452B0Be4
0 ETH0.000000790.010881
Exit From Stakin...2671800422024-10-24 13:45:33457 days ago1729777533IN
0xF85989aa...d452B0Be4
0 ETH0.000006320.013353
Withdraw Dividen...2671772302024-10-24 13:33:50457 days ago1729776830IN
0xF85989aa...d452B0Be4
0 ETH0.000000670.01
Exit From Stakin...2671769892024-10-24 13:32:49457 days ago1729776769IN
0xF85989aa...d452B0Be4
0 ETH0.000004760.01
Deposit1147058812023-07-25 6:13:07915 days ago1690265587IN
0xF85989aa...d452B0Be4
0.0001 ETH0.000024020.1
Stake Tokens1147056472023-07-25 6:12:08915 days ago1690265528IN
0xF85989aa...d452B0Be4
0 ETH0.00004010.1
Set Token Addres...1147010632023-07-25 5:52:32915 days ago1690264352IN
0xF85989aa...d452B0Be4
0 ETH0.000028750.1
Exit From Stakin...1147007222023-07-25 5:51:04915 days ago1690264264IN
0xF85989aa...d452B0Be4
0 ETH0.000030190.1
Deposit1147006702023-07-25 5:50:50915 days ago1690264250IN
0xF85989aa...d452B0Be4
0.0001 ETH0.000024170.1
Set Token Addres...1146999652023-07-25 5:47:48915 days ago1690264068IN
0xF85989aa...d452B0Be4
0 ETH0.000028750.1
Stake Tokens1146999102023-07-25 5:47:33915 days ago1690264053IN
0xF85989aa...d452B0Be4
0 ETH0.000040990.1
Exit From Stakin...1146995952023-07-25 5:46:15915 days ago1690263975IN
0xF85989aa...d452B0Be4
0 ETH0.000027820.1
Set Token Addres...1146995412023-07-25 5:46:01915 days ago1690263961IN
0xF85989aa...d452B0Be4
0 ETH0.000030650.1
Withdraw Dividen...1146990072023-07-25 5:43:43915 days ago1690263823IN
0xF85989aa...d452B0Be4
0 ETH0.000025570.1
Deposit1146984712023-07-25 5:41:24915 days ago1690263684IN
0xF85989aa...d452B0Be4
0.0001 ETH0.000025740.1
Deposit1146983142023-07-25 5:40:45915 days ago1690263645IN
0xF85989aa...d452B0Be4
0.0001 ETH0.000024480.1
Set Token Addres...1146965612023-07-25 5:33:06915 days ago1690263186IN
0xF85989aa...d452B0Be4
0 ETH0.000029380.1
Stake Tokens1146964022023-07-25 5:32:23915 days ago1690263143IN
0xF85989aa...d452B0Be4
0 ETH0.000043330.1
Set Token Addres...1146953382023-07-25 5:27:39915 days ago1690262859IN
0xF85989aa...d452B0Be4
0 ETH0.000029840.1
Transfer Ownersh...1146921232023-07-25 5:13:40915 days ago1690262020IN
0xF85989aa...d452B0Be4
0 ETH0.000029070.1
Withdraw Dividen...1113205252023-07-15 2:31:19925 days ago1689388279IN
0xF85989aa...d452B0Be4
0 ETH0.000020240.1
Exit From Stakin...1059613962023-06-29 1:47:13941 days ago1688003233IN
0xF85989aa...d452B0Be4
0 ETH0.000041920.1
Exit From Stakin...1023588682023-06-18 8:21:46952 days ago1687076506IN
0xF85989aa...d452B0Be4
0 ETH0.000035140.1
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
3758441782025-09-05 5:17:11142 days ago1757049431
0xF85989aa...d452B0Be4
0.00000436 ETH
3758432412025-09-05 5:13:17142 days ago1757049197
0xF85989aa...d452B0Be4
0.00000675 ETH
3081761212025-02-20 22:26:35338 days ago1740090395
0xF85989aa...d452B0Be4
0.00495528 ETH
1944906482024-03-26 18:38:33669 days ago1711478313
0xF85989aa...d452B0Be4
0.0000348 ETH
1729099572024-01-22 5:07:23734 days ago1705900043
0xF85989aa...d452B0Be4
0.00000833 ETH
1248808372023-08-25 16:29:23883 days ago1692980963
0xF85989aa...d452B0Be4
0.00031779 ETH
1147007222023-07-25 5:51:04915 days ago1690264264
0xF85989aa...d452B0Be4
0.00004999 ETH
1146990072023-07-25 5:43:43915 days ago1690263823
0xF85989aa...d452B0Be4
0.00018124 ETH
1113205252023-07-15 2:31:19925 days ago1689388279
0xF85989aa...d452B0Be4
0.00003875 ETH
1107802942023-07-13 12:17:25926 days ago1689250645
0xF85989aa...d452B0Be4
0.00000833 ETH
1105312532023-07-12 18:26:06927 days ago1689186366
0xF85989aa...d452B0Be4
0.00000075 ETH
1100332182023-07-11 7:02:44929 days ago1689058964
0xF85989aa...d452B0Be4
0.0025051 ETH
1100329132023-07-11 7:01:27929 days ago1689058887
0xF85989aa...d452B0Be4
0.0000053 ETH
1098400262023-07-10 17:02:55929 days ago1689008575
0xF85989aa...d452B0Be4
0.01000526 ETH
1059613962023-06-29 1:47:13941 days ago1688003233
0xF85989aa...d452B0Be4
0.00005458 ETH
1059345402023-06-28 23:49:37941 days ago1687996177
0xF85989aa...d452B0Be4
0.017 ETH
1059345072023-06-28 23:49:29941 days ago1687996169
0xF85989aa...d452B0Be4
0.017 ETH
1059344782023-06-28 23:49:21941 days ago1687996161
0xF85989aa...d452B0Be4
0.017 ETH
1059344502023-06-28 23:49:12941 days ago1687996152
0xF85989aa...d452B0Be4
0.017 ETH
1059344152023-06-28 23:49:03941 days ago1687996143
0xF85989aa...d452B0Be4
0.017 ETH
1059342502023-06-28 23:48:19941 days ago1687996099
0xF85989aa...d452B0Be4
0.017 ETH
1059260912023-06-28 23:12:07941 days ago1687993927
0xF85989aa...d452B0Be4
0.017 ETH
1023588682023-06-18 8:21:46952 days ago1687076506
0xF85989aa...d452B0Be4
0.00000042 ETH
956225492023-05-29 10:00:55971 days ago1685354455
0xF85989aa...d452B0Be4
0.04393914 ETH
934313092023-05-23 0:23:32978 days ago1684801412
0xF85989aa...d452B0Be4
0.00000016 ETH
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
P4DStake

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan.io on 2023-02-21
*/

pragma solidity ^0.8.16;
// SPDX-License-Identifier: MIT

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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 P4DStake is Ownable {

    mapping(address => bool) public staked;
    mapping(address => uint256) public tokenBalanceLedger_;
    mapping(address => uint256) public stakeStartTime;

    uint256 public timeLock = 7 days;
    uint256 public timeToWithdraw = 2 days;

    IERC20 public stakeToken;

    uint256 public totalTokens = 0;

    uint256 public profitPerShare_;

    mapping(address => uint256) public payoutsTo_;

    uint256 constant internal magnitude = 2**64;

    receive() external payable {
        profitPerShare_ +=  (msg.value * magnitude) / totalTokens;
    }
    
    function deposit() public payable {
        profitPerShare_ +=  (msg.value * magnitude) / totalTokens;
    }

    function stakeTokens(uint amount) public {

        stakeToken.transferFrom(msg.sender, address(this), amount);

        uint256 currentDivs = getDividends(msg.sender);

        tokenBalanceLedger_[msg.sender] += amount;
        staked[msg.sender] = true;

        totalTokens += amount;

        stakeStartTime[msg.sender] = block.timestamp;

        payoutsTo_[msg.sender] += (getDividends(msg.sender) - currentDivs);
    }

    function canExit(address user) public view returns(bool) {
        uint256 startTime = stakeStartTime[user];
        uint256 endTime = block.timestamp;

        uint256 timeStaked = endTime - startTime;
        if (timeStaked >= (timeLock + timeToWithdraw)) {

            uint256 lastVariable = timeToWithdraw;
            while(timeStaked >= (timeLock + timeToWithdraw)) {
                if (lastVariable == timeToWithdraw) {
                    lastVariable = timeLock;

                } else {
                    lastVariable = timeToWithdraw;
                }

                timeStaked -= lastVariable;
            }

            if (lastVariable == timeToWithdraw) {
                return true;
            }

            return false;
        } else if(timeStaked >= (timeLock)) {
            return true;
        } else {
            return false;
        }
    }

    function exitFromStakingPool() public {
        require(canExit(msg.sender), "Staking time is not over.");

        withdrawDividends();

        stakeToken.transfer(msg.sender, tokenBalanceLedger_[msg.sender]);

        totalTokens -= tokenBalanceLedger_[msg.sender];
        tokenBalanceLedger_[msg.sender] = 0;
        staked[msg.sender] = false;
        payoutsTo_[msg.sender] = 0;
    }

    function getDividends(address user) public view returns(uint256) {
        uint256 allDivs = (tokenBalanceLedger_[user] * profitPerShare_) / magnitude;

        uint256 profit = allDivs - payoutsTo_[user];

        return profit;
    }

    function getTokenBalance(address user) public view returns(uint256) {
        return tokenBalanceLedger_[user];
    }

    function withdrawDividends() public {
        uint256 myDivs = getDividends(msg.sender);

        payable(msg.sender).transfer(myDivs);
        payoutsTo_[msg.sender] += myDivs;
    }

    function setTokenAddress(address tokenAddress) public
    onlyOwner()
    {
        stakeToken = IERC20(tokenAddress);
    }


    function changeTimeLockTime(uint256 timeInDays) public
    onlyOwner()
    {
        require(timeInDays <= 15 days, "Maximum time lock is 15 days");

        timeLock = timeInDays;
    }

    function changeTimeToWithdraw(uint256 timeInDays) public
    onlyOwner()
    {
        require(timeInDays >= 1 days, "Minimum time to withdraw is 1 day.");
        timeToWithdraw = timeInDays;
    }

    function getTotalEthBalance() public view returns(uint256){
        return address(this).balance;
    }
}

Contract Security Audit

Contract ABI

API
[{"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":"user","type":"address"}],"name":"canExit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timeInDays","type":"uint256"}],"name":"changeTimeLockTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"timeInDays","type":"uint256"}],"name":"changeTimeToWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"exitFromStakingPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalEthBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"payoutsTo_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"profitPerShare_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"setTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakeStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakeToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stakeTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"staked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timeLock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timeToWithdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokenBalanceLedger_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawDividends","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405262093a806004556202a300600555600060075534801561002357600080fd5b5061002d33610032565b610082565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610c77806100916000396000f3fe6080604052600436106101445760003560e01c8063710b318b116100b6578063d085835a1161006f578063d085835a146103d7578063d0e30db0146103ed578063d1e1a3e9146103f5578063e1456cb414610415578063edf60b6d14610442578063f2fde38b1461045857600080fd5b8063710b318b14610318578063715018a61461032e5780637547c7a3146103435780637e1c0c09146103635780638da5cb5b1461037957806398807d841461039757600080fd5b80633aecd0e3116101085780633aecd0e31461021b5780634634d81c1461025157806347880b8f1461027157806351ed6a30146102865780635c5a0a9d146102be5780636985e6d8146102eb57600080fd5b806326a4e8d214610182578063287cc96b146101a45780632e92abdd146101c65780632ec119d6146101db578063361a9f4d146101fb57600080fd5b3661017d5760075461015a600160401b34610b3c565b6101649190610b59565b600860008282546101759190610b7b565b925050819055005b600080fd5b34801561018e57600080fd5b506101a261019d366004610b8e565b610478565b005b3480156101b057600080fd5b50475b6040519081526020015b60405180910390f35b3480156101d257600080fd5b506101a26104cd565b3480156101e757600080fd5b506101a26101f6366004610bbe565b610530565b34801561020757600080fd5b506101a2610216366004610bbe565b6105b2565b34801561022757600080fd5b506101b3610236366004610b8e565b6001600160a01b031660009081526002602052604090205490565b34801561025d57600080fd5b506101b361026c366004610b8e565b61063f565b34801561027d57600080fd5b506101a26106a7565b34801561029257600080fd5b506006546102a6906001600160a01b031681565b6040516001600160a01b0390911681526020016101bd565b3480156102ca57600080fd5b506101b36102d9366004610b8e565b60026020526000908152604090205481565b3480156102f757600080fd5b506101b3610306366004610b8e565b60036020526000908152604090205481565b34801561032457600080fd5b506101b360085481565b34801561033a57600080fd5b506101a26107e1565b34801561034f57600080fd5b506101a261035e366004610bbe565b610817565b34801561036f57600080fd5b506101b360075481565b34801561038557600080fd5b506000546001600160a01b03166102a6565b3480156103a357600080fd5b506103c76103b2366004610b8e565b60016020526000908152604090205460ff1681565b60405190151581526020016101bd565b3480156103e357600080fd5b506101b360045481565b6101a2610949565b34801561040157600080fd5b506103c7610410366004610b8e565b61097c565b34801561042157600080fd5b506101b3610430366004610b8e565b60096020526000908152604090205481565b34801561044e57600080fd5b506101b360055481565b34801561046457600080fd5b506101a2610473366004610b8e565b610a3b565b6000546001600160a01b031633146104ab5760405162461bcd60e51b81526004016104a290610bd7565b60405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b60006104d83361063f565b604051909150339082156108fc029083906000818181858888f19350505050158015610508573d6000803e3d6000fd5b503360009081526009602052604081208054839290610528908490610b7b565b909155505050565b6000546001600160a01b0316331461055a5760405162461bcd60e51b81526004016104a290610bd7565b6213c6808111156105ad5760405162461bcd60e51b815260206004820152601c60248201527f4d6178696d756d2074696d65206c6f636b20697320313520646179730000000060448201526064016104a2565b600455565b6000546001600160a01b031633146105dc5760405162461bcd60e51b81526004016104a290610bd7565b6201518081101561063a5760405162461bcd60e51b815260206004820152602260248201527f4d696e696d756d2074696d6520746f20776974686472617720697320312064616044820152613c9760f11b60648201526084016104a2565b600555565b6008546001600160a01b03821660009081526002602052604081205490918291600160401b9161066e91610b3c565b6106789190610b59565b6001600160a01b0384166000908152600960205260408120549192509061069f9083610c0c565b949350505050565b6106b03361097c565b6106fc5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672074696d65206973206e6f74206f7665722e0000000000000060448201526064016104a2565b6107046104cd565b600654336000818152600260205260409081902054905163a9059cbb60e01b8152600481019290925260248201526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078a9190610c1f565b503360009081526002602052604081205460078054919290916107ae908490610c0c565b909155505033600090815260026020908152604080832083905560018252808320805460ff191690556009909152812055565b6000546001600160a01b0316331461080b5760405162461bcd60e51b81526004016104a290610bd7565b6108156000610ad6565b565b6006546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af115801561086e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108929190610c1f565b50600061089e3361063f565b336000908152600260205260408120805492935084929091906108c2908490610b7b565b90915550503360009081526001602081905260408220805460ff19169091179055600780548492906108f5908490610b7b565b909155505033600081815260036020526040902042905581906109179061063f565b6109219190610c0c565b3360009081526009602052604081208054909190610940908490610b7b565b90915550505050565b60075461095a600160401b34610b3c565b6109649190610b59565b600860008282546109759190610b7b565b9091555050565b6001600160a01b03811660009081526003602052604081205442826109a18383610c0c565b90506005546004546109b39190610b7b565b8110610a1c576005545b6005546004546109cd9190610b7b565b82106109fb5760055481036109e557506004546109ea565b506005545b6109f48183610c0c565b91506109bd565b6005548103610a105750600195945050505050565b50600095945050505050565b6004548110610a3057506001949350505050565b506000949350505050565b6000546001600160a01b03163314610a655760405162461bcd60e51b81526004016104a290610bd7565b6001600160a01b038116610aca5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104a2565b610ad381610ad6565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610b5357610b53610b26565b92915050565b600082610b7657634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610b5357610b53610b26565b600060208284031215610ba057600080fd5b81356001600160a01b0381168114610bb757600080fd5b9392505050565b600060208284031215610bd057600080fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b81810381811115610b5357610b53610b26565b600060208284031215610c3157600080fd5b81518015158114610bb757600080fdfea2646970667358221220db5843a9e6a531476f45e541a41915131430fc5edf337ea64d7c5c79502ccf1464736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063710b318b116100b6578063d085835a1161006f578063d085835a146103d7578063d0e30db0146103ed578063d1e1a3e9146103f5578063e1456cb414610415578063edf60b6d14610442578063f2fde38b1461045857600080fd5b8063710b318b14610318578063715018a61461032e5780637547c7a3146103435780637e1c0c09146103635780638da5cb5b1461037957806398807d841461039757600080fd5b80633aecd0e3116101085780633aecd0e31461021b5780634634d81c1461025157806347880b8f1461027157806351ed6a30146102865780635c5a0a9d146102be5780636985e6d8146102eb57600080fd5b806326a4e8d214610182578063287cc96b146101a45780632e92abdd146101c65780632ec119d6146101db578063361a9f4d146101fb57600080fd5b3661017d5760075461015a600160401b34610b3c565b6101649190610b59565b600860008282546101759190610b7b565b925050819055005b600080fd5b34801561018e57600080fd5b506101a261019d366004610b8e565b610478565b005b3480156101b057600080fd5b50475b6040519081526020015b60405180910390f35b3480156101d257600080fd5b506101a26104cd565b3480156101e757600080fd5b506101a26101f6366004610bbe565b610530565b34801561020757600080fd5b506101a2610216366004610bbe565b6105b2565b34801561022757600080fd5b506101b3610236366004610b8e565b6001600160a01b031660009081526002602052604090205490565b34801561025d57600080fd5b506101b361026c366004610b8e565b61063f565b34801561027d57600080fd5b506101a26106a7565b34801561029257600080fd5b506006546102a6906001600160a01b031681565b6040516001600160a01b0390911681526020016101bd565b3480156102ca57600080fd5b506101b36102d9366004610b8e565b60026020526000908152604090205481565b3480156102f757600080fd5b506101b3610306366004610b8e565b60036020526000908152604090205481565b34801561032457600080fd5b506101b360085481565b34801561033a57600080fd5b506101a26107e1565b34801561034f57600080fd5b506101a261035e366004610bbe565b610817565b34801561036f57600080fd5b506101b360075481565b34801561038557600080fd5b506000546001600160a01b03166102a6565b3480156103a357600080fd5b506103c76103b2366004610b8e565b60016020526000908152604090205460ff1681565b60405190151581526020016101bd565b3480156103e357600080fd5b506101b360045481565b6101a2610949565b34801561040157600080fd5b506103c7610410366004610b8e565b61097c565b34801561042157600080fd5b506101b3610430366004610b8e565b60096020526000908152604090205481565b34801561044e57600080fd5b506101b360055481565b34801561046457600080fd5b506101a2610473366004610b8e565b610a3b565b6000546001600160a01b031633146104ab5760405162461bcd60e51b81526004016104a290610bd7565b60405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b60006104d83361063f565b604051909150339082156108fc029083906000818181858888f19350505050158015610508573d6000803e3d6000fd5b503360009081526009602052604081208054839290610528908490610b7b565b909155505050565b6000546001600160a01b0316331461055a5760405162461bcd60e51b81526004016104a290610bd7565b6213c6808111156105ad5760405162461bcd60e51b815260206004820152601c60248201527f4d6178696d756d2074696d65206c6f636b20697320313520646179730000000060448201526064016104a2565b600455565b6000546001600160a01b031633146105dc5760405162461bcd60e51b81526004016104a290610bd7565b6201518081101561063a5760405162461bcd60e51b815260206004820152602260248201527f4d696e696d756d2074696d6520746f20776974686472617720697320312064616044820152613c9760f11b60648201526084016104a2565b600555565b6008546001600160a01b03821660009081526002602052604081205490918291600160401b9161066e91610b3c565b6106789190610b59565b6001600160a01b0384166000908152600960205260408120549192509061069f9083610c0c565b949350505050565b6106b03361097c565b6106fc5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672074696d65206973206e6f74206f7665722e0000000000000060448201526064016104a2565b6107046104cd565b600654336000818152600260205260409081902054905163a9059cbb60e01b8152600481019290925260248201526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078a9190610c1f565b503360009081526002602052604081205460078054919290916107ae908490610c0c565b909155505033600090815260026020908152604080832083905560018252808320805460ff191690556009909152812055565b6000546001600160a01b0316331461080b5760405162461bcd60e51b81526004016104a290610bd7565b6108156000610ad6565b565b6006546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af115801561086e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108929190610c1f565b50600061089e3361063f565b336000908152600260205260408120805492935084929091906108c2908490610b7b565b90915550503360009081526001602081905260408220805460ff19169091179055600780548492906108f5908490610b7b565b909155505033600081815260036020526040902042905581906109179061063f565b6109219190610c0c565b3360009081526009602052604081208054909190610940908490610b7b565b90915550505050565b60075461095a600160401b34610b3c565b6109649190610b59565b600860008282546109759190610b7b565b9091555050565b6001600160a01b03811660009081526003602052604081205442826109a18383610c0c565b90506005546004546109b39190610b7b565b8110610a1c576005545b6005546004546109cd9190610b7b565b82106109fb5760055481036109e557506004546109ea565b506005545b6109f48183610c0c565b91506109bd565b6005548103610a105750600195945050505050565b50600095945050505050565b6004548110610a3057506001949350505050565b506000949350505050565b6000546001600160a01b03163314610a655760405162461bcd60e51b81526004016104a290610bd7565b6001600160a01b038116610aca5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104a2565b610ad381610ad6565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610b5357610b53610b26565b92915050565b600082610b7657634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610b5357610b53610b26565b600060208284031215610ba057600080fd5b81356001600160a01b0381168114610bb757600080fd5b9392505050565b600060208284031215610bd057600080fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b81810381811115610b5357610b53610b26565b600060208284031215610c3157600080fd5b81518015158114610bb757600080fdfea2646970667358221220db5843a9e6a531476f45e541a41915131430fc5edf337ea64d7c5c79502ccf1464736f6c63430008120033

Deployed Bytecode Sourcemap

1971:3739:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2560:11;;2535:21;-1:-1:-1;;;2535:9:0;:21;:::i;:::-;2534:37;;;;:::i;:::-;2514:15;;:57;;;;;;;:::i;:::-;;;;;;;;1971:3739;;;;5053:128;;;;;;;;;;-1:-1:-1;5053:128:0;;;;;:::i;:::-;;:::i;:::-;;5602:105;;;;;;;;;;-1:-1:-1;5678:21:0;5602:105;;;1108:25:1;;;1096:2;1081:18;5602:105:0;;;;;;;;4857:188;;;;;;;;;;;;;:::i;5191:192::-;;;;;;;;;;-1:-1:-1;5191:192:0;;;;;:::i;:::-;;:::i;5391:203::-;;;;;;;;;;-1:-1:-1;5391:203:0;;;;;:::i;:::-;;:::i;4730:119::-;;;;;;;;;;-1:-1:-1;4730:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;4816:25:0;4789:7;4816:25;;;:19;:25;;;;;;;4730:119;4481:241;;;;;;;;;;-1:-1:-1;4481:241:0;;;;;:::i;:::-;;:::i;4071:402::-;;;;;;;;;;;;;:::i;2259:24::-;;;;;;;;;;-1:-1:-1;2259:24:0;;;;-1:-1:-1;;;;;2259:24:0;;;;;;-1:-1:-1;;;;;1507:32:1;;;1489:51;;1477:2;1462:18;2259:24:0;1329:217:1;2054:54:0;;;;;;;;;;-1:-1:-1;2054:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;2115:49;;;;;;;;;;-1:-1:-1;2115:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;2331:30;;;;;;;;;;;;;;;;762:94;;;;;;;;;;;;;:::i;2709:439::-;;;;;;;;;;-1:-1:-1;2709:439:0;;;;;:::i;:::-;;:::i;2292:30::-;;;;;;;;;;;;;;;;539:87;;;;;;;;;;-1:-1:-1;585:7:0;612:6;-1:-1:-1;;;;;612:6:0;539:87;;2009:38;;;;;;;;;;-1:-1:-1;2009:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1924:14:1;;1917:22;1899:41;;1887:2;1872:18;2009:38:0;1759:187:1;2173:32:0;;;;;;;;;;;;;;;;2591:110;;;:::i;3156:907::-;;;;;;;;;;-1:-1:-1;3156:907:0;;;;;:::i;:::-;;:::i;2370:45::-;;;;;;;;;;-1:-1:-1;2370:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;2212:38;;;;;;;;;;;;;;;;864:192;;;;;;;;;;-1:-1:-1;864:192:0;;;;;:::i;:::-;;:::i;5053:128::-;585:7;612:6;-1:-1:-1;;;;;612:6:0;174:10;674:23;666:68;;;;-1:-1:-1;;;666:68:0;;;;;;;:::i;:::-;;;;;;;;;5140:10:::1;:33:::0;;-1:-1:-1;;;;;;5140:33:0::1;-1:-1:-1::0;;;;;5140:33:0;;;::::1;::::0;;;::::1;::::0;;5053:128::o;4857:188::-;4904:14;4921:24;4934:10;4921:12;:24::i;:::-;4958:36;;4904:41;;-1:-1:-1;4966:10:0;;4958:36;;;;;4904:41;;4958:36;;;;4904:41;4966:10;4958:36;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5016:10:0;5005:22;;;;:10;:22;;;;;:32;;5031:6;;5005:22;:32;;5031:6;;5005:32;:::i;:::-;;;;-1:-1:-1;;;4857:188:0:o;5191:192::-;585:7;612:6;-1:-1:-1;;;;;612:6:0;174:10;674:23;666:68;;;;-1:-1:-1;;;666:68:0;;;;;;;:::i;:::-;5301:7:::1;5287:10;:21;;5279:62;;;::::0;-1:-1:-1;;;5279:62:0;;2514:2:1;5279:62:0::1;::::0;::::1;2496:21:1::0;2553:2;2533:18;;;2526:30;2592;2572:18;;;2565:58;2640:18;;5279:62:0::1;2312:352:1::0;5279:62:0::1;5354:8;:21:::0;5191:192::o;5391:203::-;585:7;612:6;-1:-1:-1;;;;;612:6:0;174:10;674:23;666:68;;;;-1:-1:-1;;;666:68:0;;;;;;;:::i;:::-;5503:6:::1;5489:10;:20;;5481:67;;;::::0;-1:-1:-1;;;5481:67:0;;2871:2:1;5481:67:0::1;::::0;::::1;2853:21:1::0;2910:2;2890:18;;;2883:30;2949:34;2929:18;;;2922:62;-1:-1:-1;;;3000:18:1;;;2993:32;3042:19;;5481:67:0::1;2669:398:1::0;5481:67:0::1;5559:14;:27:::0;5391:203::o;4481:241::-;4604:15;;-1:-1:-1;;;;;4576:25:0;;4537:7;4576:25;;;:19;:25;;;;;;4537:7;;;;-1:-1:-1;;;2462:5:0;4576:43;;;:::i;:::-;4575:57;;;;:::i;:::-;-1:-1:-1;;;;;4672:16:0;;4645:14;4672:16;;;:10;:16;;;;;;4557:75;;-1:-1:-1;4645:14:0;4662:26;;4557:75;4662:26;:::i;:::-;4645:43;4481:241;-1:-1:-1;;;;4481:241:0:o;4071:402::-;4128:19;4136:10;4128:7;:19::i;:::-;4120:57;;;;-1:-1:-1;;;4120:57:0;;3407:2:1;4120:57:0;;;3389:21:1;3446:2;3426:18;;;3419:30;3485:27;3465:18;;;3458:55;3530:18;;4120:57:0;3205:349:1;4120:57:0;4190:19;:17;:19::i;:::-;4222:10;;4242;4222;4254:31;;;:19;:31;;;;;;;;4222:64;;-1:-1:-1;;;4222:64:0;;;;;3733:51:1;;;;3800:18;;;3793:34;-1:-1:-1;;;;;4222:10:0;;;;:19;;3706:18:1;;4222:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4334:10:0;4314:31;;;;:19;:31;;;;;;4299:11;:46;;4314:31;;4299:11;;:46;;4314:31;;4299:46;:::i;:::-;;;;-1:-1:-1;;4376:10:0;4390:1;4356:31;;;:19;:31;;;;;;;;:35;;;4402:6;:18;;;;;:26;;-1:-1:-1;;4402:26:0;;;4439:10;:22;;;;;:26;4071:402::o;762:94::-;585:7;612:6;-1:-1:-1;;;;;612:6:0;174:10;674:23;666:68;;;;-1:-1:-1;;;666:68:0;;;;;;;:::i;:::-;827:21:::1;845:1;827:9;:21::i;:::-;762:94::o:0;2709:439::-;2763:10;;:58;;-1:-1:-1;;;2763:58:0;;2787:10;2763:58;;;4360:34:1;2807:4:0;4410:18:1;;;4403:43;4462:18;;;4455:34;;;-1:-1:-1;;;;;2763:10:0;;;;:23;;4295:18:1;;2763:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2834:19;2856:24;2869:10;2856:12;:24::i;:::-;2913:10;2893:31;;;;:19;:31;;;;;:41;;2834:46;;-1:-1:-1;2928:6:0;;2893:31;;;:41;;2928:6;;2893:41;:::i;:::-;;;;-1:-1:-1;;2952:10:0;2945:18;;;;2966:4;2945:18;;;;;;;:25;;-1:-1:-1;;2945:25:0;;;;;;2983:11;:21;;2998:6;;2945:18;2983:21;;2998:6;;2983:21;:::i;:::-;;;;-1:-1:-1;;3032:10:0;3017:26;;;;:14;:26;;;;;3046:15;3017:44;;3128:11;;3101:24;;:12;:24::i;:::-;:38;;;;:::i;:::-;3085:10;3074:22;;;;:10;:22;;;;;:66;;:22;;;:66;;;;;:::i;:::-;;;;-1:-1:-1;;;;2709:439:0:o;2591:110::-;2682:11;;2657:21;-1:-1:-1;;;2657:9:0;:21;:::i;:::-;2656:37;;;;:::i;:::-;2636:15;;:57;;;;;;;:::i;:::-;;;;-1:-1:-1;;2591:110:0:o;3156:907::-;-1:-1:-1;;;;;3244:20:0;;3207:4;3244:20;;;:14;:20;;;;;;3293:15;3207:4;3342:19;3244:20;3293:15;3342:19;:::i;:::-;3321:40;;3402:14;;3391:8;;:25;;;;:::i;:::-;3376:10;:41;3372:684;;3459:14;;3488:312;3520:14;;3509:8;;:25;;;;:::i;:::-;3494:10;:41;3488:312;;3576:14;;3560:12;:30;3556:182;;-1:-1:-1;3630:8:0;;3556:182;;;-1:-1:-1;3704:14:0;;3556:182;3758:26;3772:12;3758:26;;:::i;:::-;;;3488:312;;;3836:14;;3820:12;:30;3816:82;;-1:-1:-1;3878:4:0;;3156:907;-1:-1:-1;;;;;3156:907:0:o;3816:82::-;-1:-1:-1;3921:5:0;;3156:907;-1:-1:-1;;;;;3156:907:0:o;3372:684::-;3962:8;;3947:10;:24;3944:112;;-1:-1:-1;3995:4:0;;3156:907;-1:-1:-1;;;;3156:907:0:o;3944:112::-;-1:-1:-1;4039:5:0;;3156:907;-1:-1:-1;;;;3156:907:0:o;864:192::-;585:7;612:6;-1:-1:-1;;;;;612:6:0;174:10;674:23;666:68;;;;-1:-1:-1;;;666:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;953:22:0;::::1;945:73;;;::::0;-1:-1:-1;;;945:73:0;;4702:2:1;945:73:0::1;::::0;::::1;4684:21:1::0;4741:2;4721:18;;;4714:30;4780:34;4760:18;;;4753:62;-1:-1:-1;;;4831:18:1;;;4824:36;4877:19;;945:73:0::1;4500:402:1::0;945:73:0::1;1029:19;1039:8;1029:9;:19::i;:::-;864:192:::0;:::o;1064:173::-;1120:16;1139:6;;-1:-1:-1;;;;;1156:17:0;;;-1:-1:-1;;;;;;1156:17:0;;;;;;1189:40;;1139:6;;;;;;;1189:40;;1120:16;1189:40;1109:128;1064:173;:::o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:168;219:9;;;250;;267:15;;;261:22;;247:37;237:71;;288:18;;:::i;:::-;146:168;;;;:::o;319:217::-;359:1;385;375:132;;429:10;424:3;420:20;417:1;410:31;464:4;461:1;454:15;492:4;489:1;482:15;375:132;-1:-1:-1;521:9:1;;319:217::o;541:125::-;606:9;;;627:10;;;624:36;;;640:18;;:::i;671:286::-;730:6;783:2;771:9;762:7;758:23;754:32;751:52;;;799:1;796;789:12;751:52;825:23;;-1:-1:-1;;;;;877:31:1;;867:42;;857:70;;923:1;920;913:12;857:70;946:5;671:286;-1:-1:-1;;;671:286:1:o;1144:180::-;1203:6;1256:2;1244:9;1235:7;1231:23;1227:32;1224:52;;;1272:1;1269;1262:12;1224:52;-1:-1:-1;1295:23:1;;1144:180;-1:-1:-1;1144:180:1:o;1951:356::-;2153:2;2135:21;;;2172:18;;;2165:30;2231:34;2226:2;2211:18;;2204:62;2298:2;2283:18;;1951:356::o;3072:128::-;3139:9;;;3160:11;;;3157:37;;;3174:18;;:::i;3838:277::-;3905:6;3958:2;3946:9;3937:7;3933:23;3929:32;3926:52;;;3974:1;3971;3964:12;3926:52;4006:9;4000:16;4059:5;4052:13;4045:21;4038:5;4035:32;4025:60;;4081:1;4078;4071:12

Swarm Source

ipfs://db5843a9e6a531476f45e541a41915131430fc5edf337ea64d7c5c79502ccf14

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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