ETH Price: $3,456.81 (+1.94%)
Gas: 10 Gwei

Contract

0x1Bb47031A2630e5ad1e838935B9Cfe0fEf6a72d3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Stake202118872024-07-01 13:12:2346 mins ago1719839543IN
0x1Bb47031...fEf6a72d3
0 ETH0.00136367.57876783
Withdraw201784392024-06-26 21:07:234 days ago1719436043IN
0x1Bb47031...fEf6a72d3
0 ETH0.000712427.07816006
Stake201444272024-06-22 3:00:239 days ago1719025223IN
0x1Bb47031...fEf6a72d3
0 ETH0.000481842.67787851
Stake201375992024-06-21 4:06:3510 days ago1718942795IN
0x1Bb47031...fEf6a72d3
0 ETH0.000775053.93376525
Stake201165462024-06-18 5:24:3513 days ago1718688275IN
0x1Bb47031...fEf6a72d3
0 ETH0.001121535.55695484
Withdraw201122472024-06-17 14:56:5913 days ago1718636219IN
0x1Bb47031...fEf6a72d3
0 ETH0.0011105610.20891671
Withdraw200608042024-06-10 10:21:4721 days ago1718014907IN
0x1Bb47031...fEf6a72d3
0 ETH0.000567134.81638061
Withdraw200461182024-06-08 9:08:3523 days ago1717837715IN
0x1Bb47031...fEf6a72d3
0 ETH0.000707275.56115113
Withdraw200316092024-06-06 8:31:2325 days ago1717662683IN
0x1Bb47031...fEf6a72d3
0 ETH0.0014442914.34951926
Stake200286172024-06-05 22:28:5925 days ago1717626539IN
0x1Bb47031...fEf6a72d3
0 ETH0.0041872923.27244344
Stake200271572024-06-05 17:35:3525 days ago1717608935IN
0x1Bb47031...fEf6a72d3
0 ETH0.0067467637.49767236
Stake200271042024-06-05 17:24:5925 days ago1717608299IN
0x1Bb47031...fEf6a72d3
0 ETH0.0036254118.40078058
Stake200228302024-06-05 3:06:3526 days ago1717556795IN
0x1Bb47031...fEf6a72d3
0 ETH0.001453638.07913012
Withdraw200224422024-06-05 1:48:4726 days ago1717552127IN
0x1Bb47031...fEf6a72d3
0 ETH0.000804637.99426317
Withdraw200216332024-06-04 23:06:2326 days ago1717542383IN
0x1Bb47031...fEf6a72d3
0 ETH0.000937917.96527836
Stake199607882024-05-27 11:03:3535 days ago1716807815IN
0x1Bb47031...fEf6a72d3
0 ETH0.0021464111.92951796
Withdraw199607662024-05-27 10:59:1135 days ago1716807551IN
0x1Bb47031...fEf6a72d3
0 ETH0.0003302411.35968643
Withdraw199607652024-05-27 10:58:5935 days ago1716807539IN
0x1Bb47031...fEf6a72d3
0 ETH0.0012802610.87265497
Stake199337602024-05-23 16:25:3538 days ago1716481535IN
0x1Bb47031...fEf6a72d3
0 ETH0.0020961611.65021238
Withdraw199306272024-05-23 5:55:1139 days ago1716443711IN
0x1Bb47031...fEf6a72d3
0 ETH0.000534234.91092779
Withdraw199081812024-05-20 2:33:2342 days ago1716172403IN
0x1Bb47031...fEf6a72d3
0 ETH0.000290542.88668854
Stake198867302024-05-17 2:31:2345 days ago1715913083IN
0x1Bb47031...fEf6a72d3
0 ETH0.00063353.21534012
Stake198831312024-05-16 14:27:5945 days ago1715869679IN
0x1Bb47031...fEf6a72d3
0 ETH0.00141637.87161471
Stake198817322024-05-16 9:46:2346 days ago1715852783IN
0x1Bb47031...fEf6a72d3
0 ETH0.00079744.43190051
Stake198718832024-05-15 0:46:2347 days ago1715733983IN
0x1Bb47031...fEf6a72d3
0 ETH0.000681123.78561996
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Staking

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-04-03
*/

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

interface IERC20 {
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function balanceOf(address account) external view returns (uint256);
}

contract Staking {
    IERC20 public token;
    address public owner;
    uint256 public rewardPool;

    struct Stake {
        uint256 amount;
        uint256 startTime;
        uint256 period;
        bool active;
    }

    mapping(address => Stake[]) public stakes;
    mapping(uint256 => uint256) public periodToAPR;

    constructor(address tokenAddress) {
        token = IERC20(tokenAddress);
        owner = msg.sender;
        // Initialize APRs for different periods (in seconds)
        periodToAPR[30 days] = 120;
        periodToAPR[60 days] = 240;
        periodToAPR[90 days] = 360;
        
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "Not owner");
        _;
    }

    function viewStakes(address user)
        external
        view
        returns (Stake[] memory, uint256[] memory)
    {
        Stake[] memory userStakes = stakes[user];
        uint256[] memory remainingTimes = new uint256[](userStakes.length);

        for (uint256 i = 0; i < userStakes.length; i++) {
            uint256 endTime = userStakes[i].startTime + userStakes[i].period;
            remainingTimes[i] = (endTime > block.timestamp)
                ? endTime - block.timestamp
                : 0;
        }

        return (userStakes, remainingTimes);
    }

    function fundRewardPool(uint256 amount) external onlyOwner {
        require(
            token.transferFrom(msg.sender, address(this), amount),
            "Transfer failed"
        );
        rewardPool += amount;
    }

    function stake(uint256 amount, uint256 period) external {
        require(amount > 0, "Amount must be greater than 0");
        require(periodToAPR[period] > 0, "Invalid staking period");
        require(
            token.transferFrom(msg.sender, address(this), amount),
            "Transfer failed"
        );

        stakes[msg.sender].push(Stake(amount, block.timestamp, period, true));
    }

    function calculateReward(Stake memory userStake)
        private
        view
        returns (uint256)
    {
        if (
            block.timestamp >= userStake.startTime + userStake.period &&
            userStake.active
        ) {
            uint256 apr = periodToAPR[userStake.period];

            uint256 scaledPeriod = userStake.period * 10**18; // Scaling factor
            uint256 durationInYears = scaledPeriod / 365 days;

            return (userStake.amount * apr * durationInYears) / (100 * 10**18);
        }
        return 0;
    }

    function withdraw(uint256 stakingPeriod) external {
        uint256 totalReward = 0;
        uint256 totalAmount = 0;

        for (uint256 i = 0; i < stakes[msg.sender].length; i++) {
            Stake storage userStake = stakes[msg.sender][i];
            if (
                userStake.period == stakingPeriod &&
                userStake.active &&
                block.timestamp >= userStake.startTime + userStake.period
            ) {
                uint256 reward = calculateReward(userStake);
                totalReward += reward;
                totalAmount += userStake.amount;
                userStake.active = false; // Mark as withdrawn
            }
        }

        require(
            totalAmount > 0,
            "No completed stakes to withdraw for the specified period"
        );
        require(totalReward <= rewardPool, "Insufficient reward pool");

        rewardPool -= totalReward;
        totalAmount += totalReward;

        require(token.transfer(msg.sender, totalAmount), "Transfer failed");
    }

    function withdrawAllTokens() external onlyOwner {
        uint256 contractBalance = token.balanceOf(address(this));
        require(contractBalance > 0, "Contract has no tokens to withdraw");

        require(token.transfer(owner, contractBalance), "Transfer failed");
    }

    function withdrawTokens(uint256 _amount) external onlyOwner {
        uint256 contractBalance = token.balanceOf(address(this));
        require(contractBalance >= _amount, "Insufficient contract balance");
        
        require(token.transfer(owner, _amount), "Transfer failed");
}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"fundRewardPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"periodToAPR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"period","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakes","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"period","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"viewStakes","outputs":[{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"period","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"}],"internalType":"struct Staking.Stake[]","name":"","type":"tuple[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"stakingPeriod","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawAllTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561000f575f80fd5b50604051611d44380380611d4483398181016040528101906100319190610163565b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550607860045f62278d0081526020019081526020015f208190555060f060045f624f1a0081526020019081526020015f208190555061016860045f6276a70081526020019081526020015f20819055505061018e565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61013282610109565b9050919050565b61014281610128565b811461014c575f80fd5b50565b5f8151905061015d81610139565b92915050565b5f6020828403121561017857610177610105565b5b5f6101858482850161014f565b91505092915050565b611ba98061019b5f395ff3fe608060405234801561000f575f80fd5b50600436106100a7575f3560e01c806366666aa91161006f57806366666aa91461013c5780637b0472f01461015a5780638da5cb5b14610176578063a43c992c14610194578063e0dc26cd146101c5578063fc0c546a146101f5576100a7565b80631d583e0d146100ab578063280da6fa146100c75780632e1a7d4d146100d1578063315a095d146100ed578063584b62a114610109575b5f80fd5b6100c560048036038101906100c09190611119565b610213565b005b6100cf610398565b005b6100eb60048036038101906100e69190611119565b610601565b005b61010760048036038101906101029190611119565b610913565b005b610123600480360381019061011e919061119e565b610b7e565b6040516101339493929190611205565b60405180910390f35b610144610bd0565b6040516101519190611248565b60405180910390f35b610174600480360381019061016f9190611261565b610bd6565b005b61017e610e0e565b60405161018b91906112ae565b60405180910390f35b6101ae60048036038101906101a991906112c7565b610e33565b6040516101bc9291906114b3565b60405180910390f35b6101df60048036038101906101da9190611119565b610ff8565b6040516101ec9190611248565b60405180910390f35b6101fd61100d565b60405161020a9190611543565b60405180910390f35b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610299906115b6565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b81526004016102fe939291906115d4565b6020604051808303815f875af115801561031a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061033e9190611633565b61037d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610374906116a8565b60405180910390fd5b8060025f82825461038e91906116f3565b9250508190555050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610427576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041e906115b6565b60405180910390fd5b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161048191906112ae565b602060405180830381865afa15801561049c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c0919061173a565b90505f8111610504576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fb906117d5565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040161057f9291906117f3565b6020604051808303815f875af115801561059b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bf9190611633565b6105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f5906116a8565b60405180910390fd5b50565b5f805f5b60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050811015610787575f60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20828154811061069d5761069c61181a565b5b905f5260205f20906004020190508481600201541480156106cb5750806003015f9054906101000a900460ff165b80156106ea5750806002015481600101546106e691906116f3565b4210155b15610779575f61073b826040518060800160405290815f82015481526020016001820154815260200160028201548152602001600382015f9054906101000a900460ff161515151581525050611030565b9050808561074991906116f3565b9450815f01548461075a91906116f3565b93505f826003015f6101000a81548160ff021916908315150217905550505b508080600101915050610605565b505f81116107ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c1906118b7565b60405180910390fd5b60025482111561080f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108069061191f565b60405180910390fd5b8160025f828254610820919061193d565b92505081905550818161083391906116f3565b90505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161088f9291906117f3565b6020604051808303815f875af11580156108ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108cf9190611633565b61090e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610905906116a8565b60405180910390fd5b505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610999906115b6565b60405180910390fd5b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016109fc91906112ae565b602060405180830381865afa158015610a17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3b919061173a565b905081811015610a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a77906119ba565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610afb9291906117f3565b6020604051808303815f875af1158015610b17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3b9190611633565b610b7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b71906116a8565b60405180910390fd5b5050565b6003602052815f5260405f208181548110610b97575f80fd5b905f5260205f2090600402015f9150915050805f015490806001015490806002015490806003015f9054906101000a900460ff16905084565b60025481565b5f8211610c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0f90611a22565b60405180910390fd5b5f60045f8381526020019081526020015f205411610c6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6290611a8a565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401610cc7939291906115d4565b6020604051808303815f875af1158015610ce3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d079190611633565b610d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d906116a8565b60405180910390fd5b60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20604051806080016040528084815260200142815260200183815260200160011515815250908060018154018082558091505060019003905f5260205f2090600402015f909190919091505f820151815f015560208201518160010155604082015181600201556060820151816003015f6101000a81548160ff02191690831515021790555050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060805f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805480602002602001604051908101604052809291908181526020015f905b82821015610efa578382905f5260205f2090600402016040518060800160405290815f82015481526020016001820154815260200160028201548152602001600382015f9054906101000a900460ff16151515158152505081526020019060010190610e93565b5050505090505f815167ffffffffffffffff811115610f1c57610f1b611aa8565b5b604051908082528060200260200182016040528015610f4a5781602001602082028036833780820191505090505b5090505f5b8251811015610fea575f838281518110610f6c57610f6b61181a565b5b602002602001015160400151848381518110610f8b57610f8a61181a565b5b602002602001015160200151610fa191906116f3565b9050428111610fb0575f610fbd565b4281610fbc919061193d565b5b838381518110610fd057610fcf61181a565b5b602002602001018181525050508080600101915050610f4f565b508181935093505050915091565b6004602052805f5260405f205f915090505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8160400151826020015161104591906116f3565b4210158015611055575081606001515b156110d9575f60045f846040015181526020019081526020015f205490505f670de0b6b3a7640000846040015161108c9190611ad5565b90505f6301e133808261109f9190611b43565b905068056bc75e2d631000008184875f01516110bb9190611ad5565b6110c59190611ad5565b6110cf9190611b43565b93505050506110dd565b5f90505b919050565b5f80fd5b5f819050919050565b6110f8816110e6565b8114611102575f80fd5b50565b5f81359050611113816110ef565b92915050565b5f6020828403121561112e5761112d6110e2565b5b5f61113b84828501611105565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61116d82611144565b9050919050565b61117d81611163565b8114611187575f80fd5b50565b5f8135905061119881611174565b92915050565b5f80604083850312156111b4576111b36110e2565b5b5f6111c18582860161118a565b92505060206111d285828601611105565b9150509250929050565b6111e5816110e6565b82525050565b5f8115159050919050565b6111ff816111eb565b82525050565b5f6080820190506112185f8301876111dc565b61122560208301866111dc565b61123260408301856111dc565b61123f60608301846111f6565b95945050505050565b5f60208201905061125b5f8301846111dc565b92915050565b5f8060408385031215611277576112766110e2565b5b5f61128485828601611105565b925050602061129585828601611105565b9150509250929050565b6112a881611163565b82525050565b5f6020820190506112c15f83018461129f565b92915050565b5f602082840312156112dc576112db6110e2565b5b5f6112e98482850161118a565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611324816110e6565b82525050565b611333816111eb565b82525050565b608082015f82015161134d5f85018261131b565b506020820151611360602085018261131b565b506040820151611373604085018261131b565b506060820151611386606085018261132a565b50505050565b5f6113978383611339565b60808301905092915050565b5f602082019050919050565b5f6113b9826112f2565b6113c381856112fc565b93506113ce8361130c565b805f5b838110156113fe5781516113e5888261138c565b97506113f0836113a3565b9250506001810190506113d1565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f61143f838361131b565b60208301905092915050565b5f602082019050919050565b5f6114618261140b565b61146b8185611415565b935061147683611425565b805f5b838110156114a657815161148d8882611434565b97506114988361144b565b925050600181019050611479565b5085935050505092915050565b5f6040820190508181035f8301526114cb81856113af565b905081810360208301526114df8184611457565b90509392505050565b5f819050919050565b5f61150b61150661150184611144565b6114e8565b611144565b9050919050565b5f61151c826114f1565b9050919050565b5f61152d82611512565b9050919050565b61153d81611523565b82525050565b5f6020820190506115565f830184611534565b92915050565b5f82825260208201905092915050565b7f4e6f74206f776e657200000000000000000000000000000000000000000000005f82015250565b5f6115a060098361155c565b91506115ab8261156c565b602082019050919050565b5f6020820190508181035f8301526115cd81611594565b9050919050565b5f6060820190506115e75f83018661129f565b6115f4602083018561129f565b61160160408301846111dc565b949350505050565b611612816111eb565b811461161c575f80fd5b50565b5f8151905061162d81611609565b92915050565b5f60208284031215611648576116476110e2565b5b5f6116558482850161161f565b91505092915050565b7f5472616e73666572206661696c656400000000000000000000000000000000005f82015250565b5f611692600f8361155c565b915061169d8261165e565b602082019050919050565b5f6020820190508181035f8301526116bf81611686565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6116fd826110e6565b9150611708836110e6565b92508282019050808211156117205761171f6116c6565b5b92915050565b5f81519050611734816110ef565b92915050565b5f6020828403121561174f5761174e6110e2565b5b5f61175c84828501611726565b91505092915050565b7f436f6e747261637420686173206e6f20746f6b656e7320746f207769746864725f8201527f6177000000000000000000000000000000000000000000000000000000000000602082015250565b5f6117bf60228361155c565b91506117ca82611765565b604082019050919050565b5f6020820190508181035f8301526117ec816117b3565b9050919050565b5f6040820190506118065f83018561129f565b61181360208301846111dc565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e6f20636f6d706c65746564207374616b657320746f207769746864726177205f8201527f666f72207468652073706563696669656420706572696f640000000000000000602082015250565b5f6118a160388361155c565b91506118ac82611847565b604082019050919050565b5f6020820190508181035f8301526118ce81611895565b9050919050565b7f496e73756666696369656e742072657761726420706f6f6c00000000000000005f82015250565b5f61190960188361155c565b9150611914826118d5565b602082019050919050565b5f6020820190508181035f830152611936816118fd565b9050919050565b5f611947826110e6565b9150611952836110e6565b925082820390508181111561196a576119696116c6565b5b92915050565b7f496e73756666696369656e7420636f6e74726163742062616c616e63650000005f82015250565b5f6119a4601d8361155c565b91506119af82611970565b602082019050919050565b5f6020820190508181035f8301526119d181611998565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e20300000005f82015250565b5f611a0c601d8361155c565b9150611a17826119d8565b602082019050919050565b5f6020820190508181035f830152611a3981611a00565b9050919050565b7f496e76616c6964207374616b696e6720706572696f64000000000000000000005f82015250565b5f611a7460168361155c565b9150611a7f82611a40565b602082019050919050565b5f6020820190508181035f830152611aa181611a68565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f611adf826110e6565b9150611aea836110e6565b9250828202611af8816110e6565b91508282048414831517611b0f57611b0e6116c6565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611b4d826110e6565b9150611b58836110e6565b925082611b6857611b67611b16565b5b82820490509291505056fea2646970667358221220dc33ba2bc5a178eb8a30428d4c3e81a9d56afa94d0416f5c387f919f1b5c473864736f6c6343000819003300000000000000000000000015a7edbbd8909358ae91a278b42d8ebf0ce9452e

Deployed Bytecode

0x608060405234801561000f575f80fd5b50600436106100a7575f3560e01c806366666aa91161006f57806366666aa91461013c5780637b0472f01461015a5780638da5cb5b14610176578063a43c992c14610194578063e0dc26cd146101c5578063fc0c546a146101f5576100a7565b80631d583e0d146100ab578063280da6fa146100c75780632e1a7d4d146100d1578063315a095d146100ed578063584b62a114610109575b5f80fd5b6100c560048036038101906100c09190611119565b610213565b005b6100cf610398565b005b6100eb60048036038101906100e69190611119565b610601565b005b61010760048036038101906101029190611119565b610913565b005b610123600480360381019061011e919061119e565b610b7e565b6040516101339493929190611205565b60405180910390f35b610144610bd0565b6040516101519190611248565b60405180910390f35b610174600480360381019061016f9190611261565b610bd6565b005b61017e610e0e565b60405161018b91906112ae565b60405180910390f35b6101ae60048036038101906101a991906112c7565b610e33565b6040516101bc9291906114b3565b60405180910390f35b6101df60048036038101906101da9190611119565b610ff8565b6040516101ec9190611248565b60405180910390f35b6101fd61100d565b60405161020a9190611543565b60405180910390f35b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610299906115b6565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b81526004016102fe939291906115d4565b6020604051808303815f875af115801561031a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061033e9190611633565b61037d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610374906116a8565b60405180910390fd5b8060025f82825461038e91906116f3565b9250508190555050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610427576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041e906115b6565b60405180910390fd5b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161048191906112ae565b602060405180830381865afa15801561049c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c0919061173a565b90505f8111610504576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fb906117d5565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040161057f9291906117f3565b6020604051808303815f875af115801561059b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bf9190611633565b6105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f5906116a8565b60405180910390fd5b50565b5f805f5b60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050811015610787575f60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20828154811061069d5761069c61181a565b5b905f5260205f20906004020190508481600201541480156106cb5750806003015f9054906101000a900460ff165b80156106ea5750806002015481600101546106e691906116f3565b4210155b15610779575f61073b826040518060800160405290815f82015481526020016001820154815260200160028201548152602001600382015f9054906101000a900460ff161515151581525050611030565b9050808561074991906116f3565b9450815f01548461075a91906116f3565b93505f826003015f6101000a81548160ff021916908315150217905550505b508080600101915050610605565b505f81116107ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c1906118b7565b60405180910390fd5b60025482111561080f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108069061191f565b60405180910390fd5b8160025f828254610820919061193d565b92505081905550818161083391906116f3565b90505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161088f9291906117f3565b6020604051808303815f875af11580156108ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108cf9190611633565b61090e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610905906116a8565b60405180910390fd5b505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610999906115b6565b60405180910390fd5b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016109fc91906112ae565b602060405180830381865afa158015610a17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3b919061173a565b905081811015610a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a77906119ba565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610afb9291906117f3565b6020604051808303815f875af1158015610b17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3b9190611633565b610b7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b71906116a8565b60405180910390fd5b5050565b6003602052815f5260405f208181548110610b97575f80fd5b905f5260205f2090600402015f9150915050805f015490806001015490806002015490806003015f9054906101000a900460ff16905084565b60025481565b5f8211610c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0f90611a22565b60405180910390fd5b5f60045f8381526020019081526020015f205411610c6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6290611a8a565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401610cc7939291906115d4565b6020604051808303815f875af1158015610ce3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d079190611633565b610d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d906116a8565b60405180910390fd5b60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20604051806080016040528084815260200142815260200183815260200160011515815250908060018154018082558091505060019003905f5260205f2090600402015f909190919091505f820151815f015560208201518160010155604082015181600201556060820151816003015f6101000a81548160ff02191690831515021790555050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060805f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805480602002602001604051908101604052809291908181526020015f905b82821015610efa578382905f5260205f2090600402016040518060800160405290815f82015481526020016001820154815260200160028201548152602001600382015f9054906101000a900460ff16151515158152505081526020019060010190610e93565b5050505090505f815167ffffffffffffffff811115610f1c57610f1b611aa8565b5b604051908082528060200260200182016040528015610f4a5781602001602082028036833780820191505090505b5090505f5b8251811015610fea575f838281518110610f6c57610f6b61181a565b5b602002602001015160400151848381518110610f8b57610f8a61181a565b5b602002602001015160200151610fa191906116f3565b9050428111610fb0575f610fbd565b4281610fbc919061193d565b5b838381518110610fd057610fcf61181a565b5b602002602001018181525050508080600101915050610f4f565b508181935093505050915091565b6004602052805f5260405f205f915090505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8160400151826020015161104591906116f3565b4210158015611055575081606001515b156110d9575f60045f846040015181526020019081526020015f205490505f670de0b6b3a7640000846040015161108c9190611ad5565b90505f6301e133808261109f9190611b43565b905068056bc75e2d631000008184875f01516110bb9190611ad5565b6110c59190611ad5565b6110cf9190611b43565b93505050506110dd565b5f90505b919050565b5f80fd5b5f819050919050565b6110f8816110e6565b8114611102575f80fd5b50565b5f81359050611113816110ef565b92915050565b5f6020828403121561112e5761112d6110e2565b5b5f61113b84828501611105565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61116d82611144565b9050919050565b61117d81611163565b8114611187575f80fd5b50565b5f8135905061119881611174565b92915050565b5f80604083850312156111b4576111b36110e2565b5b5f6111c18582860161118a565b92505060206111d285828601611105565b9150509250929050565b6111e5816110e6565b82525050565b5f8115159050919050565b6111ff816111eb565b82525050565b5f6080820190506112185f8301876111dc565b61122560208301866111dc565b61123260408301856111dc565b61123f60608301846111f6565b95945050505050565b5f60208201905061125b5f8301846111dc565b92915050565b5f8060408385031215611277576112766110e2565b5b5f61128485828601611105565b925050602061129585828601611105565b9150509250929050565b6112a881611163565b82525050565b5f6020820190506112c15f83018461129f565b92915050565b5f602082840312156112dc576112db6110e2565b5b5f6112e98482850161118a565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611324816110e6565b82525050565b611333816111eb565b82525050565b608082015f82015161134d5f85018261131b565b506020820151611360602085018261131b565b506040820151611373604085018261131b565b506060820151611386606085018261132a565b50505050565b5f6113978383611339565b60808301905092915050565b5f602082019050919050565b5f6113b9826112f2565b6113c381856112fc565b93506113ce8361130c565b805f5b838110156113fe5781516113e5888261138c565b97506113f0836113a3565b9250506001810190506113d1565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f61143f838361131b565b60208301905092915050565b5f602082019050919050565b5f6114618261140b565b61146b8185611415565b935061147683611425565b805f5b838110156114a657815161148d8882611434565b97506114988361144b565b925050600181019050611479565b5085935050505092915050565b5f6040820190508181035f8301526114cb81856113af565b905081810360208301526114df8184611457565b90509392505050565b5f819050919050565b5f61150b61150661150184611144565b6114e8565b611144565b9050919050565b5f61151c826114f1565b9050919050565b5f61152d82611512565b9050919050565b61153d81611523565b82525050565b5f6020820190506115565f830184611534565b92915050565b5f82825260208201905092915050565b7f4e6f74206f776e657200000000000000000000000000000000000000000000005f82015250565b5f6115a060098361155c565b91506115ab8261156c565b602082019050919050565b5f6020820190508181035f8301526115cd81611594565b9050919050565b5f6060820190506115e75f83018661129f565b6115f4602083018561129f565b61160160408301846111dc565b949350505050565b611612816111eb565b811461161c575f80fd5b50565b5f8151905061162d81611609565b92915050565b5f60208284031215611648576116476110e2565b5b5f6116558482850161161f565b91505092915050565b7f5472616e73666572206661696c656400000000000000000000000000000000005f82015250565b5f611692600f8361155c565b915061169d8261165e565b602082019050919050565b5f6020820190508181035f8301526116bf81611686565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6116fd826110e6565b9150611708836110e6565b92508282019050808211156117205761171f6116c6565b5b92915050565b5f81519050611734816110ef565b92915050565b5f6020828403121561174f5761174e6110e2565b5b5f61175c84828501611726565b91505092915050565b7f436f6e747261637420686173206e6f20746f6b656e7320746f207769746864725f8201527f6177000000000000000000000000000000000000000000000000000000000000602082015250565b5f6117bf60228361155c565b91506117ca82611765565b604082019050919050565b5f6020820190508181035f8301526117ec816117b3565b9050919050565b5f6040820190506118065f83018561129f565b61181360208301846111dc565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e6f20636f6d706c65746564207374616b657320746f207769746864726177205f8201527f666f72207468652073706563696669656420706572696f640000000000000000602082015250565b5f6118a160388361155c565b91506118ac82611847565b604082019050919050565b5f6020820190508181035f8301526118ce81611895565b9050919050565b7f496e73756666696369656e742072657761726420706f6f6c00000000000000005f82015250565b5f61190960188361155c565b9150611914826118d5565b602082019050919050565b5f6020820190508181035f830152611936816118fd565b9050919050565b5f611947826110e6565b9150611952836110e6565b925082820390508181111561196a576119696116c6565b5b92915050565b7f496e73756666696369656e7420636f6e74726163742062616c616e63650000005f82015250565b5f6119a4601d8361155c565b91506119af82611970565b602082019050919050565b5f6020820190508181035f8301526119d181611998565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e20300000005f82015250565b5f611a0c601d8361155c565b9150611a17826119d8565b602082019050919050565b5f6020820190508181035f830152611a3981611a00565b9050919050565b7f496e76616c6964207374616b696e6720706572696f64000000000000000000005f82015250565b5f611a7460168361155c565b9150611a7f82611a40565b602082019050919050565b5f6020820190508181035f830152611aa181611a68565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f611adf826110e6565b9150611aea836110e6565b9250828202611af8816110e6565b91508282048414831517611b0f57611b0e6116c6565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611b4d826110e6565b9150611b58836110e6565b925082611b6857611b67611b16565b5b82820490509291505056fea2646970667358221220dc33ba2bc5a178eb8a30428d4c3e81a9d56afa94d0416f5c387f919f1b5c473864736f6c63430008190033

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

00000000000000000000000015a7edbbd8909358ae91a278b42d8ebf0ce9452e

-----Decoded View---------------
Arg [0] : tokenAddress (address): 0x15a7EdBbd8909358AE91a278b42d8ebF0CE9452e

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000015a7edbbd8909358ae91a278b42d8ebf0ce9452e


Deployed Bytecode Sourcemap

401:4216:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1741:227;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4038:279;;;:::i;:::-;;2968:1062;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4325:289;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;641:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;478:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1976:407;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;451:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1147:586;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;689:46;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;425:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1741:227;1100:5;;;;;;;;;;;1086:19;;:10;:19;;;1078:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;1833:5:::1;::::0;::::1;;;;;;;;:18;;;1852:10;1872:4;1879:6;1833:53;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1811:118;;;;;;;;;;;;:::i;:::-;;;;;;;;;1954:6;1940:10;;:20;;;;;;;:::i;:::-;;;;;;;;1741:227:::0;:::o;4038:279::-;1100:5;;;;;;;;;;;1086:19;;:10;:19;;;1078:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;4097:23:::1;4123:5:::0;::::1;;;;;;;;;;:15;;;4147:4;4123:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4097:56;;4190:1;4172:15;:19;4164:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;4251:5;::::0;::::1;;;;;;;;:14;;;4266:5;;;;;;;;;;;4273:15;4251:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4243:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;4086:231;4038:279::o:0;2968:1062::-;3029:19;3063;3104:9;3099:562;3123:6;:18;3130:10;3123:18;;;;;;;;;;;;;;;:25;;;;3119:1;:29;3099:562;;;3170:23;3196:6;:18;3203:10;3196:18;;;;;;;;;;;;;;;3215:1;3196:21;;;;;;;;:::i;:::-;;;;;;;;;;;;3170:47;;3274:13;3254:9;:16;;;:33;:70;;;;;3308:9;:16;;;;;;;;;;;;3254:70;:148;;;;;3386:9;:16;;;3364:9;:19;;;:38;;;;:::i;:::-;3345:15;:57;;3254:148;3232:418;;;3437:14;3454:26;3470:9;3454:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:15;:26::i;:::-;3437:43;;3514:6;3499:21;;;;;:::i;:::-;;;3554:9;:16;;;3539:31;;;;;:::i;:::-;;;3608:5;3589:9;:16;;;:24;;;;;;;;;;;;;;;;;;3418:232;3232:418;3155:506;3150:3;;;;;;;3099:562;;;;3709:1;3695:11;:15;3673:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;3828:10;;3813:11;:25;;3805:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;3894:11;3880:10;;:25;;;;;;;:::i;:::-;;;;;;;;3931:11;3916:26;;;;;:::i;:::-;;;3963:5;;;;;;;;;;:14;;;3978:10;3990:11;3963:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3955:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3018:1012;;2968:1062;:::o;4325:289::-;1100:5;;;;;;;;;;;1086:19;;:10;:19;;;1078:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;4396:23:::1;4422:5:::0;::::1;;;;;;;;;;:15;;;4446:4;4422:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4396:56;;4490:7;4471:15;:26;;4463:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4560:5;::::0;::::1;;;;;;;;:14;;;4575:5;;;;;;;;;;;4582:7;4560:30;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4552:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;4385:229;4325:289:::0;:::o;641:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;478:25::-;;;;:::o;1976:407::-;2060:1;2051:6;:10;2043:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;2136:1;2114:11;:19;2126:6;2114:19;;;;;;;;;;;;:23;2106:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;2197:5;;;;;;;;;;:18;;;2216:10;2236:4;2243:6;2197:53;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2175:118;;;;;;;;;;;;:::i;:::-;;;;;;;;;2306:6;:18;2313:10;2306:18;;;;;;;;;;;;;;;2330:44;;;;;;;;2336:6;2330:44;;;;2344:15;2330:44;;;;2361:6;2330:44;;;;2369:4;2330:44;;;;;2306:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1976:407;;:::o;451:20::-;;;;;;;;;;;;;:::o;1147:586::-;1231:14;1247:16;1281:25;1309:6;:12;1316:4;1309:12;;;;;;;;;;;;;;;1281:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1332:31;1380:10;:17;1366:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1332:66;;1416:9;1411:267;1435:10;:17;1431:1;:21;1411:267;;;1474:15;1518:10;1529:1;1518:13;;;;;;;;:::i;:::-;;;;;;;;:20;;;1492:10;1503:1;1492:13;;;;;;;;:::i;:::-;;;;;;;;:23;;;:46;;;;:::i;:::-;1474:64;;1584:15;1574:7;:25;1573:93;;1665:1;1573:93;;;1630:15;1620:7;:25;;;;:::i;:::-;1573:93;1553:14;1568:1;1553:17;;;;;;;;:::i;:::-;;;;;;;:113;;;;;1459:219;1454:3;;;;;;;1411:267;;;;1698:10;1710:14;1690:35;;;;;;1147:586;;;:::o;689:46::-;;;;;;;;;;;;;;;;;:::o;425:19::-;;;;;;;;;;;;:::o;2391:569::-;2489:7;2573:9;:16;;;2551:9;:19;;;:38;;;;:::i;:::-;2532:15;:57;;:90;;;;;2606:9;:16;;;2532:90;2514:420;;;2649:11;2663;:29;2675:9;:16;;;2663:29;;;;;;;;;;;;2649:43;;2709:20;2751:6;2732:9;:16;;;:25;;;;:::i;:::-;2709:48;;2790:23;2831:8;2816:12;:23;;;;:::i;:::-;2790:49;;2909:12;2889:15;2883:3;2864:9;:16;;;:22;;;;:::i;:::-;:40;;;;:::i;:::-;2863:59;;;;:::i;:::-;2856:66;;;;;;;2514:420;2951:1;2944:8;;2391:569;;;;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:126::-;1062:7;1102:42;1095:5;1091:54;1080:65;;1025:126;;;:::o;1157:96::-;1194:7;1223:24;1241:5;1223:24;:::i;:::-;1212:35;;1157:96;;;:::o;1259:122::-;1332:24;1350:5;1332:24;:::i;:::-;1325:5;1322:35;1312:63;;1371:1;1368;1361:12;1312:63;1259:122;:::o;1387:139::-;1433:5;1471:6;1458:20;1449:29;;1487:33;1514:5;1487:33;:::i;:::-;1387:139;;;;:::o;1532:474::-;1600:6;1608;1657:2;1645:9;1636:7;1632:23;1628:32;1625:119;;;1663:79;;:::i;:::-;1625:119;1783:1;1808:53;1853:7;1844:6;1833:9;1829:22;1808:53;:::i;:::-;1798:63;;1754:117;1910:2;1936:53;1981:7;1972:6;1961:9;1957:22;1936:53;:::i;:::-;1926:63;;1881:118;1532:474;;;;;:::o;2012:118::-;2099:24;2117:5;2099:24;:::i;:::-;2094:3;2087:37;2012:118;;:::o;2136:90::-;2170:7;2213:5;2206:13;2199:21;2188:32;;2136:90;;;:::o;2232:109::-;2313:21;2328:5;2313:21;:::i;:::-;2308:3;2301:34;2232:109;;:::o;2347:541::-;2518:4;2556:3;2545:9;2541:19;2533:27;;2570:71;2638:1;2627:9;2623:17;2614:6;2570:71;:::i;:::-;2651:72;2719:2;2708:9;2704:18;2695:6;2651:72;:::i;:::-;2733;2801:2;2790:9;2786:18;2777:6;2733:72;:::i;:::-;2815:66;2877:2;2866:9;2862:18;2853:6;2815:66;:::i;:::-;2347:541;;;;;;;:::o;2894:222::-;2987:4;3025:2;3014:9;3010:18;3002:26;;3038:71;3106:1;3095:9;3091:17;3082:6;3038:71;:::i;:::-;2894:222;;;;:::o;3122:474::-;3190:6;3198;3247:2;3235:9;3226:7;3222:23;3218:32;3215:119;;;3253:79;;:::i;:::-;3215:119;3373:1;3398:53;3443:7;3434:6;3423:9;3419:22;3398:53;:::i;:::-;3388:63;;3344:117;3500:2;3526:53;3571:7;3562:6;3551:9;3547:22;3526:53;:::i;:::-;3516:63;;3471:118;3122:474;;;;;:::o;3602:118::-;3689:24;3707:5;3689:24;:::i;:::-;3684:3;3677:37;3602:118;;:::o;3726:222::-;3819:4;3857:2;3846:9;3842:18;3834:26;;3870:71;3938:1;3927:9;3923:17;3914:6;3870:71;:::i;:::-;3726:222;;;;:::o;3954:329::-;4013:6;4062:2;4050:9;4041:7;4037:23;4033:32;4030:119;;;4068:79;;:::i;:::-;4030:119;4188:1;4213:53;4258:7;4249:6;4238:9;4234:22;4213:53;:::i;:::-;4203:63;;4159:117;3954:329;;;;:::o;4289:135::-;4377:6;4411:5;4405:12;4395:22;;4289:135;;;:::o;4430:205::-;4550:11;4584:6;4579:3;4572:19;4624:4;4619:3;4615:14;4600:29;;4430:205;;;;:::o;4641:153::-;4729:4;4752:3;4744:11;;4782:4;4777:3;4773:14;4765:22;;4641:153;;;:::o;4800:108::-;4877:24;4895:5;4877:24;:::i;:::-;4872:3;4865:37;4800:108;;:::o;4914:99::-;4985:21;5000:5;4985:21;:::i;:::-;4980:3;4973:34;4914:99;;:::o;5071:842::-;5200:4;5195:3;5191:14;5289:4;5282:5;5278:16;5272:23;5308:63;5365:4;5360:3;5356:14;5342:12;5308:63;:::i;:::-;5215:166;5468:4;5461:5;5457:16;5451:23;5487:63;5544:4;5539:3;5535:14;5521:12;5487:63;:::i;:::-;5391:169;5644:4;5637:5;5633:16;5627:23;5663:63;5720:4;5715:3;5711:14;5697:12;5663:63;:::i;:::-;5570:166;5820:4;5813:5;5809:16;5803:23;5839:57;5890:4;5885:3;5881:14;5867:12;5839:57;:::i;:::-;5746:160;5169:744;5071:842;;:::o;5919:263::-;6030:10;6051:88;6135:3;6127:6;6051:88;:::i;:::-;6171:4;6166:3;6162:14;6148:28;;5919:263;;;;:::o;6188:134::-;6279:4;6311;6306:3;6302:14;6294:22;;6188:134;;;:::o;6384:900::-;6545:3;6574:75;6643:5;6574:75;:::i;:::-;6665:107;6765:6;6760:3;6665:107;:::i;:::-;6658:114;;6796:77;6867:5;6796:77;:::i;:::-;6896:7;6927:1;6912:347;6937:6;6934:1;6931:13;6912:347;;;7013:6;7007:13;7040:105;7141:3;7126:13;7040:105;:::i;:::-;7033:112;;7168:81;7242:6;7168:81;:::i;:::-;7158:91;;6972:287;6959:1;6956;6952:9;6947:14;;6912:347;;;6916:14;7275:3;7268:10;;6550:734;;;6384:900;;;;:::o;7290:114::-;7357:6;7391:5;7385:12;7375:22;;7290:114;;;:::o;7410:184::-;7509:11;7543:6;7538:3;7531:19;7583:4;7578:3;7574:14;7559:29;;7410:184;;;;:::o;7600:132::-;7667:4;7690:3;7682:11;;7720:4;7715:3;7711:14;7703:22;;7600:132;;;:::o;7738:179::-;7807:10;7828:46;7870:3;7862:6;7828:46;:::i;:::-;7906:4;7901:3;7897:14;7883:28;;7738:179;;;;:::o;7923:113::-;7993:4;8025;8020:3;8016:14;8008:22;;7923:113;;;:::o;8072:732::-;8191:3;8220:54;8268:5;8220:54;:::i;:::-;8290:86;8369:6;8364:3;8290:86;:::i;:::-;8283:93;;8400:56;8450:5;8400:56;:::i;:::-;8479:7;8510:1;8495:284;8520:6;8517:1;8514:13;8495:284;;;8596:6;8590:13;8623:63;8682:3;8667:13;8623:63;:::i;:::-;8616:70;;8709:60;8762:6;8709:60;:::i;:::-;8699:70;;8555:224;8542:1;8539;8535:9;8530:14;;8495:284;;;8499:14;8795:3;8788:10;;8196:608;;;8072:732;;;;:::o;8810:718::-;9073:4;9111:2;9100:9;9096:18;9088:26;;9160:9;9154:4;9150:20;9146:1;9135:9;9131:17;9124:47;9188:150;9333:4;9324:6;9188:150;:::i;:::-;9180:158;;9385:9;9379:4;9375:20;9370:2;9359:9;9355:18;9348:48;9413:108;9516:4;9507:6;9413:108;:::i;:::-;9405:116;;8810:718;;;;;:::o;9534:60::-;9562:3;9583:5;9576:12;;9534:60;;;:::o;9600:142::-;9650:9;9683:53;9701:34;9710:24;9728:5;9710:24;:::i;:::-;9701:34;:::i;:::-;9683:53;:::i;:::-;9670:66;;9600:142;;;:::o;9748:126::-;9798:9;9831:37;9862:5;9831:37;:::i;:::-;9818:50;;9748:126;;;:::o;9880:139::-;9943:9;9976:37;10007:5;9976:37;:::i;:::-;9963:50;;9880:139;;;:::o;10025:157::-;10125:50;10169:5;10125:50;:::i;:::-;10120:3;10113:63;10025:157;;:::o;10188:248::-;10294:4;10332:2;10321:9;10317:18;10309:26;;10345:84;10426:1;10415:9;10411:17;10402:6;10345:84;:::i;:::-;10188:248;;;;:::o;10442:169::-;10526:11;10560:6;10555:3;10548:19;10600:4;10595:3;10591:14;10576:29;;10442:169;;;;:::o;10617:159::-;10757:11;10753:1;10745:6;10741:14;10734:35;10617:159;:::o;10782:365::-;10924:3;10945:66;11009:1;11004:3;10945:66;:::i;:::-;10938:73;;11020:93;11109:3;11020:93;:::i;:::-;11138:2;11133:3;11129:12;11122:19;;10782:365;;;:::o;11153:419::-;11319:4;11357:2;11346:9;11342:18;11334:26;;11406:9;11400:4;11396:20;11392:1;11381:9;11377:17;11370:47;11434:131;11560:4;11434:131;:::i;:::-;11426:139;;11153:419;;;:::o;11578:442::-;11727:4;11765:2;11754:9;11750:18;11742:26;;11778:71;11846:1;11835:9;11831:17;11822:6;11778:71;:::i;:::-;11859:72;11927:2;11916:9;11912:18;11903:6;11859:72;:::i;:::-;11941;12009:2;11998:9;11994:18;11985:6;11941:72;:::i;:::-;11578:442;;;;;;:::o;12026:116::-;12096:21;12111:5;12096:21;:::i;:::-;12089:5;12086:32;12076:60;;12132:1;12129;12122:12;12076:60;12026:116;:::o;12148:137::-;12202:5;12233:6;12227:13;12218:22;;12249:30;12273:5;12249:30;:::i;:::-;12148:137;;;;:::o;12291:345::-;12358:6;12407:2;12395:9;12386:7;12382:23;12378:32;12375:119;;;12413:79;;:::i;:::-;12375:119;12533:1;12558:61;12611:7;12602:6;12591:9;12587:22;12558:61;:::i;:::-;12548:71;;12504:125;12291:345;;;;:::o;12642:165::-;12782:17;12778:1;12770:6;12766:14;12759:41;12642:165;:::o;12813:366::-;12955:3;12976:67;13040:2;13035:3;12976:67;:::i;:::-;12969:74;;13052:93;13141:3;13052:93;:::i;:::-;13170:2;13165:3;13161:12;13154:19;;12813:366;;;:::o;13185:419::-;13351:4;13389:2;13378:9;13374:18;13366:26;;13438:9;13432:4;13428:20;13424:1;13413:9;13409:17;13402:47;13466:131;13592:4;13466:131;:::i;:::-;13458:139;;13185:419;;;:::o;13610:180::-;13658:77;13655:1;13648:88;13755:4;13752:1;13745:15;13779:4;13776:1;13769:15;13796:191;13836:3;13855:20;13873:1;13855:20;:::i;:::-;13850:25;;13889:20;13907:1;13889:20;:::i;:::-;13884:25;;13932:1;13929;13925:9;13918:16;;13953:3;13950:1;13947:10;13944:36;;;13960:18;;:::i;:::-;13944:36;13796:191;;;;:::o;13993:143::-;14050:5;14081:6;14075:13;14066:22;;14097:33;14124:5;14097:33;:::i;:::-;13993:143;;;;:::o;14142:351::-;14212:6;14261:2;14249:9;14240:7;14236:23;14232:32;14229:119;;;14267:79;;:::i;:::-;14229:119;14387:1;14412:64;14468:7;14459:6;14448:9;14444:22;14412:64;:::i;:::-;14402:74;;14358:128;14142:351;;;;:::o;14499:221::-;14639:34;14635:1;14627:6;14623:14;14616:58;14708:4;14703:2;14695:6;14691:15;14684:29;14499:221;:::o;14726:366::-;14868:3;14889:67;14953:2;14948:3;14889:67;:::i;:::-;14882:74;;14965:93;15054:3;14965:93;:::i;:::-;15083:2;15078:3;15074:12;15067:19;;14726:366;;;:::o;15098:419::-;15264:4;15302:2;15291:9;15287:18;15279:26;;15351:9;15345:4;15341:20;15337:1;15326:9;15322:17;15315:47;15379:131;15505:4;15379:131;:::i;:::-;15371:139;;15098:419;;;:::o;15523:332::-;15644:4;15682:2;15671:9;15667:18;15659:26;;15695:71;15763:1;15752:9;15748:17;15739:6;15695:71;:::i;:::-;15776:72;15844:2;15833:9;15829:18;15820:6;15776:72;:::i;:::-;15523:332;;;;;:::o;15861:180::-;15909:77;15906:1;15899:88;16006:4;16003:1;15996:15;16030:4;16027:1;16020:15;16047:243;16187:34;16183:1;16175:6;16171:14;16164:58;16256:26;16251:2;16243:6;16239:15;16232:51;16047:243;:::o;16296:366::-;16438:3;16459:67;16523:2;16518:3;16459:67;:::i;:::-;16452:74;;16535:93;16624:3;16535:93;:::i;:::-;16653:2;16648:3;16644:12;16637:19;;16296:366;;;:::o;16668:419::-;16834:4;16872:2;16861:9;16857:18;16849:26;;16921:9;16915:4;16911:20;16907:1;16896:9;16892:17;16885:47;16949:131;17075:4;16949:131;:::i;:::-;16941:139;;16668:419;;;:::o;17093:174::-;17233:26;17229:1;17221:6;17217:14;17210:50;17093:174;:::o;17273:366::-;17415:3;17436:67;17500:2;17495:3;17436:67;:::i;:::-;17429:74;;17512:93;17601:3;17512:93;:::i;:::-;17630:2;17625:3;17621:12;17614:19;;17273:366;;;:::o;17645:419::-;17811:4;17849:2;17838:9;17834:18;17826:26;;17898:9;17892:4;17888:20;17884:1;17873:9;17869:17;17862:47;17926:131;18052:4;17926:131;:::i;:::-;17918:139;;17645:419;;;:::o;18070:194::-;18110:4;18130:20;18148:1;18130:20;:::i;:::-;18125:25;;18164:20;18182:1;18164:20;:::i;:::-;18159:25;;18208:1;18205;18201:9;18193:17;;18232:1;18226:4;18223:11;18220:37;;;18237:18;;:::i;:::-;18220:37;18070:194;;;;:::o;18270:179::-;18410:31;18406:1;18398:6;18394:14;18387:55;18270:179;:::o;18455:366::-;18597:3;18618:67;18682:2;18677:3;18618:67;:::i;:::-;18611:74;;18694:93;18783:3;18694:93;:::i;:::-;18812:2;18807:3;18803:12;18796:19;;18455:366;;;:::o;18827:419::-;18993:4;19031:2;19020:9;19016:18;19008:26;;19080:9;19074:4;19070:20;19066:1;19055:9;19051:17;19044:47;19108:131;19234:4;19108:131;:::i;:::-;19100:139;;18827:419;;;:::o;19252:179::-;19392:31;19388:1;19380:6;19376:14;19369:55;19252:179;:::o;19437:366::-;19579:3;19600:67;19664:2;19659:3;19600:67;:::i;:::-;19593:74;;19676:93;19765:3;19676:93;:::i;:::-;19794:2;19789:3;19785:12;19778:19;;19437:366;;;:::o;19809:419::-;19975:4;20013:2;20002:9;19998:18;19990:26;;20062:9;20056:4;20052:20;20048:1;20037:9;20033:17;20026:47;20090:131;20216:4;20090:131;:::i;:::-;20082:139;;19809:419;;;:::o;20234:172::-;20374:24;20370:1;20362:6;20358:14;20351:48;20234:172;:::o;20412:366::-;20554:3;20575:67;20639:2;20634:3;20575:67;:::i;:::-;20568:74;;20651:93;20740:3;20651:93;:::i;:::-;20769:2;20764:3;20760:12;20753:19;;20412:366;;;:::o;20784:419::-;20950:4;20988:2;20977:9;20973:18;20965:26;;21037:9;21031:4;21027:20;21023:1;21012:9;21008:17;21001:47;21065:131;21191:4;21065:131;:::i;:::-;21057:139;;20784:419;;;:::o;21209:180::-;21257:77;21254:1;21247:88;21354:4;21351:1;21344:15;21378:4;21375:1;21368:15;21395:410;21435:7;21458:20;21476:1;21458:20;:::i;:::-;21453:25;;21492:20;21510:1;21492:20;:::i;:::-;21487:25;;21547:1;21544;21540:9;21569:30;21587:11;21569:30;:::i;:::-;21558:41;;21748:1;21739:7;21735:15;21732:1;21729:22;21709:1;21702:9;21682:83;21659:139;;21778:18;;:::i;:::-;21659:139;21443:362;21395:410;;;;:::o;21811:180::-;21859:77;21856:1;21849:88;21956:4;21953:1;21946:15;21980:4;21977:1;21970:15;21997:185;22037:1;22054:20;22072:1;22054:20;:::i;:::-;22049:25;;22088:20;22106:1;22088:20;:::i;:::-;22083:25;;22127:1;22117:35;;22132:18;;:::i;:::-;22117:35;22174:1;22171;22167:9;22162:14;;21997:185;;;;:::o

Swarm Source

ipfs://dc33ba2bc5a178eb8a30428d4c3e81a9d56afa94d0416f5c387f919f1b5c4738

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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