ETH Price: $2,530.91 (-0.02%)

Contract

0x295B5CB410773d59854a406f3538C3071461DD9F
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Remove Stake163747172023-01-10 6:48:59597 days ago1673333339IN
0x295B5CB4...71461DD9F
0 ETH0.0029791314.70744347
Claim Reward162065472022-12-17 19:36:11621 days ago1671305771IN
0x295B5CB4...71461DD9F
0 ETH0.0018401913.43130122
Remove Stake156846522022-10-05 21:41:11694 days ago1665006071IN
0x295B5CB4...71461DD9F
0 ETH0.0023489611.99959583
Claim Reward155857822022-09-22 2:03:11707 days ago1663812191IN
0x295B5CB4...71461DD9F
0 ETH0.001085997.9264967
Remove Stake154764282022-09-05 7:04:01724 days ago1662361441IN
0x295B5CB4...71461DD9F
0 ETH0.000696016.02021984
Claim Reward154764202022-09-05 7:02:19724 days ago1662361339IN
0x295B5CB4...71461DD9F
0 ETH0.000801745.85184566
Remove Stake154212232022-08-27 11:09:03733 days ago1661598543IN
0x295B5CB4...71461DD9F
0 ETH0.001287665
Add Nft List To ...153596602022-08-17 15:59:48743 days ago1660751988IN
0x295B5CB4...71461DD9F
0 ETH0.0025859811.64318367
Remove Stake153184372022-08-11 3:50:19749 days ago1660189819IN
0x295B5CB4...71461DD9F
0 ETH0.0019932917.24113955
Claim Reward153003672022-08-08 8:00:05752 days ago1659945605IN
0x295B5CB4...71461DD9F
0 ETH0.00082798.10731472
Remove Stake152969342022-08-07 18:52:04753 days ago1659898324IN
0x295B5CB4...71461DD9F
0 ETH0.001870637
Claim Reward152498682022-07-31 11:05:01760 days ago1659265501IN
0x295B5CB4...71461DD9F
0 ETH0.000719446
Add Nft List To ...151744092022-07-19 17:27:55772 days ago1658251675IN
0x295B5CB4...71461DD9F
0 ETH0.0060086230.37479565
Claim Reward151706232022-07-19 3:21:50772 days ago1658200910IN
0x295B5CB4...71461DD9F
0 ETH0.0041758335.02687648
Add Nft List To ...151638042022-07-18 2:02:03773 days ago1658109723IN
0x295B5CB4...71461DD9F
0 ETH0.0030961613.94020826
Add Nft List To ...151256182022-07-12 4:07:36779 days ago1657598856IN
0x295B5CB4...71461DD9F
0 ETH0.0052279619.53970679
Remove Stake151199272022-07-11 7:09:55780 days ago1657523395IN
0x295B5CB4...71461DD9F
0 ETH0.0015723213.59993411
Claim Reward151143972022-07-10 10:28:43781 days ago1657448923IN
0x295B5CB4...71461DD9F
0 ETH0.0012620210.58588191
Claim Reward151139282022-07-10 8:49:33781 days ago1657442973IN
0x295B5CB4...71461DD9F
0 ETH0.001336578.67297472
Claim Reward150948512022-07-07 10:06:41784 days ago1657188401IN
0x295B5CB4...71461DD9F
0 ETH0.0014752814.44688964
Claim Reward150925882022-07-07 1:54:38784 days ago1657158878IN
0x295B5CB4...71461DD9F
0 ETH0.0068700967.27605183
Claim Reward150747242022-07-04 7:44:52787 days ago1656920692IN
0x295B5CB4...71461DD9F
0 ETH0.0032894924.1310554
Add Nft List To ...150684662022-07-03 8:24:58788 days ago1656836698IN
0x295B5CB4...71461DD9F
0 ETH0.0034132911.69554145
Remove Stake150543522022-07-01 4:11:10790 days ago1656648670IN
0x295B5CB4...71461DD9F
0 ETH0.0039619923.69724898
Add Nft List To ...150415352022-06-28 20:43:18793 days ago1656448998IN
0x295B5CB4...71461DD9F
0 ETH0.0140720352.59472083
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:
RewardPool

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-02-25
*/

/*
https://www.stiltonmusk.com
https://t.me/stiltonmusk
*/









// File: contracts/Ownable.sol

abstract contract Ownable {
    address _owner;

    modifier onlyOwner() {
        require(msg.sender == _owner);
        _;
    }

    constructor() {
        _owner = msg.sender;
    }

    function transferOwnership(address newOwner) external onlyOwner {
        _owner = newOwner;
    }
}

// File: contracts/Stake.sol

pragma solidity ^0.8.7;

struct Stake {
    uint256 scores; // scores of the stake
    uint256 lastGrantIntervalNumber; // interval number, when last granted reward
    uint256[] nft;
}

// File: contracts/IERC721.sol

pragma solidity ^0.8.7;

interface IERC721 {

    function balanceOf(address owner) external view returns (uint256 balance);
    function ownerOf(uint256 tokenId) external view returns (address owner);

    /**
     * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients
     * are aware of the ERC721 protocol to prevent tokens from being forever locked.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `tokenId` token must exist and be owned by `from`.
     * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.
     * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
     *
     * Emits a {Transfer} event.
     */
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;

    /**
     * @dev Transfers `tokenId` token from `from` to `to`.
     *
     * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `tokenId` token must be owned by `from`.
     * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;
}
// File: contracts/IERC20.sol

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
    );
}
// File: contracts/RewardPoolBase.sol

pragma solidity ^0.8.7;

//import "hardhat/console.sol";





abstract contract RewardPoolBase is Ownable {
    mapping(address => Stake) internal staks; // token staks by account
    uint256 public staksScoresSum; // total staks scores
    uint256 public claimStaksScoresSum; // total staked scores, in use for claim reward pool
    uint256 public claimRewardPool; // reward pool to claim
    uint256 public claimRewardPoolStartCount; // reward pool to claim on start
    uint256 public nextIntervalTime; // time of new interval
    uint256 public intervalMinutes = 10080; // interval length
    uint256 public intervalNumber; // number of current interval (if pool is not started the value is 0)
    uint256 public totalRewardClaimed; // total, that claimed by users
    bool public enabled; // if true, than pool is enabled

    function start() external onlyOwner {
        require(intervalNumber == 0, "reward pool alredy started");
        beforeStart();
        nextIntervalTime = block.timestamp + intervalMinutes * 1 minutes;
        intervalNumber = 1;
        claimRewardPoolStartCount = claimRewardPool;
        enabled = true;
    }

    function setIntervalTimer(uint256 newIntervalMinutes) external onlyOwner {
        intervalMinutes = newIntervalMinutes;
    }

    function setIsEnabled(bool newEnabled) external onlyOwner {
        enabled = newEnabled;
    }

    function nextIntervalLapsedTime() external view returns (uint256) {
        if (block.timestamp >= nextIntervalTime) return 0;
        return nextIntervalTime - block.timestamp;
    }

    function getRewardCount(address account) public view returns (uint256) {
        return _getRewardCount(staks[account]);
    }

    function _getRewardCount(Stake storage stake)
        internal
        view
        returns (uint256)
    {
        if (
            stake.scores == 0 || stake.lastGrantIntervalNumber >= intervalNumber
        ) return 0;
        return (stake.scores * claimRewardPoolStartCount) / claimStaksScoresSum;
    }

    function _grantReward(
        address account,
        Stake storage stake,
        uint256 reward
    ) private {
        if (reward > claimRewardPool) reward = claimRewardPool;
        if (reward == 0) return;
        unchecked {
            claimRewardPool -= reward;
            totalRewardClaimed += reward;
        }
        // grant reward
        transferRewardTo(account, reward);
        // use stake
        stake.lastGrantIntervalNumber = intervalNumber;
    }

    function claimReward() external {
        tryNextInterval();
        Stake storage stake = staks[msg.sender];
        uint256 reward = _getRewardCount(stake);
        require(reward > 0, "has no reward");
        _grantReward(msg.sender, stake, reward);
    }

    function removeStake() external {
        tryNextInterval();
        Stake storage stake = staks[msg.sender];
        _grantReward(msg.sender, stake, _getRewardCount(stake)); // try grant reward if change stack
        require(stake.scores > 0, "stake scores is 0");
        removeStake(msg.sender, stake);
        staksScoresSum -= stake.scores;        
        delete staks[msg.sender];
    }

    function tryNextInterval() public {
        // try to go into next  interval
        if (block.timestamp < nextIntervalTime) return;
        // save total staks
        claimStaksScoresSum = staksScoresSum;
        // update reward pools
        claimRewardPool = getRewardsTotal();
        claimRewardPoolStartCount = claimRewardPool;
        // set the next interval
        ++intervalNumber;
        nextIntervalTime = block.timestamp + intervalMinutes * 1 minutes;
    }

    function _updateScores(Stake storage stake, uint256 newScores) internal {
        require(intervalNumber > 0 && enabled, "reward pool not started");
        tryNextInterval();
        _grantReward(msg.sender, stake, _getRewardCount(stake));
        if (stake.scores == newScores) return;
        if (stake.scores < newScores) {
            uint256 delta = newScores - stake.scores;
            staksScoresSum += delta;
            stake.scores += delta;
        } else {
            uint256 delta = stake.scores - newScores;
            staksScoresSum -= delta;
            stake.scores -= delta;
        }
        stake.lastGrantIntervalNumber = intervalNumber;
    }

    function getStake(address account) external view returns (Stake memory) {
        return _getStake(account);
    }

    function _getStake(address account)
        internal
        view
        virtual
        returns (Stake memory)
    {
        return staks[account];
    }

    function beforeStart() internal virtual;

    function transferRewardTo(address account, uint256 count) internal virtual;

    function removeStake(address account, Stake memory stake) internal virtual;

    // current total rewards count (for claims and accumulative)
    function getRewardsTotal() public view virtual returns (uint256);
}

// File: contracts/RewardPool.sol

pragma solidity ^0.8.7;

//import "hardhat/console.sol";





// the reward pool that provides erc20 and nft staking and grants erc20 tokens
contract RewardPool is RewardPoolBase {
    IERC20 public erc20; // erc20 token
    IERC721 public nft; // erc721 token
    mapping(address => uint256[]) mftByAccounts;

    constructor(address erc20Address, address nftAddress) {
        erc20 = IERC20(erc20Address);
        nft = IERC721(nftAddress);
    }

    function setErc20Address(address newErc20Address) external onlyOwner {
        erc20 = IERC20(newErc20Address);
    }

    function setNftAddress(address newNftAddress) external onlyOwner {
        nft = IERC721(newNftAddress);
    }

    function beforeStart() internal view override {
        require(address(erc20) != address(0), "erc20 is zero");
        require(address(nft) != address(0), "nft is zero");
    }

    function getRewardsTotal() public view override returns (uint256) {
        return erc20.balanceOf(address(this));
    }

    function transferRewardTo(address account, uint256 count)
        internal
        override
    {
        erc20.transfer(account, count);
    }

    function removeStake(address account, Stake memory stake)
        internal
        override
    {
        uint256 len = stake.nft.length;
        for (uint256 i = 0; i < len; ++i)
            nft.safeTransferFrom(address(this), account, stake.nft[i]);
    }

    function addNftToStack(uint256 nftId) external {
        _addNftToStack(nftId);
    }

    function _addNftToStack(uint256 nftId) private {
        require(nftId != 0, "nft id can not be zero");
        Stake storage stake = staks[msg.sender];
        nft.transferFrom(msg.sender, address(this), nftId);
        stake.nft.push(nftId);
        _updateScores(stake, stake.scores + 1);
    }

    function addNftListToStack(uint256[] calldata nftIds) external {
        for (uint256 i = 0; i < nftIds.length; ++i) _addNftToStack(nftIds[i]);
    }

    function withdraw() external onlyOwner {
        erc20.transfer(_owner, erc20.balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"erc20Address","type":"address"},{"internalType":"address","name":"nftAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256[]","name":"nftIds","type":"uint256[]"}],"name":"addNftListToStack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nftId","type":"uint256"}],"name":"addNftToStack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimRewardPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimRewardPoolStartCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimStaksScoresSum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"erc20","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getRewardCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardsTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getStake","outputs":[{"components":[{"internalType":"uint256","name":"scores","type":"uint256"},{"internalType":"uint256","name":"lastGrantIntervalNumber","type":"uint256"},{"internalType":"uint256[]","name":"nft","type":"uint256[]"}],"internalType":"struct Stake","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"intervalMinutes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"intervalNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextIntervalLapsedTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextIntervalTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nft","outputs":[{"internalType":"contract IERC721","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newErc20Address","type":"address"}],"name":"setErc20Address","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newIntervalMinutes","type":"uint256"}],"name":"setIntervalTimer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newEnabled","type":"bool"}],"name":"setIsEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newNftAddress","type":"address"}],"name":"setNftAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"staksScoresSum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"start","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalRewardClaimed","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":"tryNextInterval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405261276060075534801561001657600080fd5b5060405161120c38038061120c8339810160408190526100359161009a565b60008054336001600160a01b031991821617909155600a8054610100600160a81b0319166101006001600160a01b0395861602179055600b8054909116919092161790556100cd565b80516001600160a01b038116811461009557600080fd5b919050565b600080604083850312156100ad57600080fd5b6100b68361007e565b91506100c46020840161007e565b90509250929050565b611130806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101a85760003560e01c8063973be04c116100f9578063be76184911610097578063eb39505211610071578063eb3950521461032c578063f2fde38b14610335578063f3ffdd7f14610348578063feb48fc31461035157600080fd5b8063be761849146102fe578063be9a655514610311578063e08663281461031957600080fd5b8063b0d2e115116100d3578063b0d2e115146102d2578063b17d69d0146102db578063b6f97501146102e3578063b88a802f146102f657600080fd5b8063973be04c146102ae5780639c91b779146102b7578063a1a77971146102bf57600080fd5b806347ccca02116101665780636bb1a2a2116101405780636bb1a2a2146102645780636f83f6a21461026d578063785e9e86146102765780637a7664601461028e57600080fd5b806347ccca021461021e5780634a39fa80146102495780635b13ae081461025c57600080fd5b80621e4d86146101ad5780630b102d1a146101c957806310d5aac3146101de578063221eda9e146101e6578063238dafe0146101f95780633ccfd60b14610216575b600080fd5b6101b660065481565b6040519081526020015b60405180910390f35b6101dc6101d7366004610ebe565b61035a565b005b6101b6610393565b6101dc6101f4366004610eee565b6103b7565b600a546102069060ff1681565b60405190151581526020016101c0565b6101dc6103f8565b600b54610231906001600160a01b031681565b6040516001600160a01b0390911681526020016101c0565b6101dc610257366004610ebe565b61051d565b6101b661055c565b6101b660055481565b6101b660095481565b600a546102319061010090046001600160a01b031681565b6102a161029c366004610ebe565b6105dd565b6040516101c09190610fcf565b6101b660025481565b6101dc610610565b6101b66102cd366004610ebe565b610744565b6101b660075481565b6101dc610765565b6101dc6102f1366004610f63565b6107b8565b6101dc6107e2565b6101dc61030c366004610f9d565b610854565b6101dc61085d565b6101dc610327366004610f9d565b610903565b6101b660085481565b6101dc610343366004610ebe565b61091f565b6101b660035481565b6101b660045481565b6000546001600160a01b0316331461037157600080fd5b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b600060065442106103a45750600090565b426006546103b2919061108e565b905090565b60005b818110156103f3576103e38383838181106103d7576103d76110d6565b90506020020135610958565b6103ec816110a5565b90506103ba565b505050565b6000546001600160a01b0316331461040f57600080fd5b600a546000546040516370a0823160e01b81523060048201526001600160a01b0361010090930483169263a9059cbb92169083906370a082319060240160206040518083038186803b15801561046457600080fd5b505afa158015610478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049c9190610fb6565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156104e257600080fd5b505af11580156104f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051a9190610f80565b50565b6000546001600160a01b0316331461053457600080fd5b600a80546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600a546040516370a0823160e01b815230600482015260009161010090046001600160a01b0316906370a082319060240160206040518083038186803b1580156105a557600080fd5b505afa1580156105b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b29190610fb6565b61060160405180606001604052806000815260200160008152602001606081525090565b61060a82610a4c565b92915050565b610618610765565b3360008181526001602052604090209061063b908261063681610afb565b610b3b565b80546106825760405162461bcd60e51b815260206004820152601160248201527007374616b652073636f726573206973203607c1b60448201526064015b60405180910390fd5b61070333826040518060600160405290816000820154815260200160018201548152602001600282018054806020026020016040519081016040528092919081815260200182805480156106f557602002820191906000526020600020905b8154815260200190600101908083116106e1575b505050505081525050610b7c565b80546002805460009061071790849061108e565b90915550503360009081526001602081905260408220828155908101829055906103f36002830182610e8c565b6001600160a01b038116600090815260016020526040812061060a90610afb565b60065442101561077157565b60025460035561077f61055c565b600481905560055560088054600090610797906110a5565b909155506007546107a990603c61106f565b6107b39042611035565b600655565b6000546001600160a01b031633146107cf57600080fd5b600a805460ff1916911515919091179055565b6107ea610765565b3360009081526001602052604081209061080382610afb565b9050600081116108455760405162461bcd60e51b815260206004820152600d60248201526c1a185cc81b9bc81c995dd85c99609a1b6044820152606401610679565b610850338383610b3b565b5050565b61051a81610958565b6000546001600160a01b0316331461087457600080fd5b600854156108c45760405162461bcd60e51b815260206004820152601a60248201527f72657761726420706f6f6c20616c7265647920737461727465640000000000006044820152606401610679565b6108cc610c47565b6007546108da90603c61106f565b6108e49042611035565b60065560016008819055600454600555600a805460ff19169091179055565b6000546001600160a01b0316331461091a57600080fd5b600755565b6000546001600160a01b0316331461093657600080fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b8061099e5760405162461bcd60e51b81526020600482015260166024820152756e66742069642063616e206e6f74206265207a65726f60501b6044820152606401610679565b3360008181526001602052604090819020600b5491516323b872dd60e01b8152600481019390935230602484015260448301849052916001600160a01b03909116906323b872dd90606401600060405180830381600087803b158015610a0357600080fd5b505af1158015610a17573d6000803e3d6000fd5b505050506002810180546001808201835560009283526020909220018390558154610850918391610a4791611035565b610cdc565b610a7060405180606001604052806000815260200160008152602001606081525090565b6001600160a01b038216600090815260016020818152604092839020835160608101855281548152928101548383015260028101805485518185028101850187528181529495929492860193830182828015610aeb57602002820191906000526020600020905b815481526020019060010190808311610ad7575b5050505050815250509050919050565b80546000901580610b125750600854826001015410155b15610b1f57506000919050565b6003546005548354610b31919061106f565b61060a919061104d565b600454811115610b4a57506004545b80610b5457505050565b6004805482900390556009805482019055610b6f8382610e00565b5060085460019091015550565b60408101515160005b81811015610c4157600b54604084015180516001600160a01b03909216916342842e0e91309188919086908110610bbe57610bbe6110d6565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b158015610c1857600080fd5b505af1158015610c2c573d6000803e3d6000fd5b5050505080610c3a906110a5565b9050610b85565b50505050565b600a5461010090046001600160a01b0316610c945760405162461bcd60e51b815260206004820152600d60248201526c6572633230206973207a65726f60981b6044820152606401610679565b600b546001600160a01b0316610cda5760405162461bcd60e51b815260206004820152600b60248201526a6e6674206973207a65726f60a81b6044820152606401610679565b565b6000600854118015610cf05750600a5460ff165b610d3c5760405162461bcd60e51b815260206004820152601760248201527f72657761726420706f6f6c206e6f7420737461727465640000000000000000006044820152606401610679565b610d44610765565b610d52338361063685610afb565b8154811415610d5f575050565b8154811115610db0578154600090610d77908361108e565b90508060026000828254610d8b9190611035565b9091555050825481908490600090610da4908490611035565b90915550610df4915050565b8154600090610dc090839061108e565b90508060026000828254610dd4919061108e565b9091555050825481908490600090610ded90849061108e565b9091555050505b50600854600190910155565b600a5460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490526101009092049091169063a9059cbb90604401602060405180830381600087803b158015610e5457600080fd5b505af1158015610e68573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f39190610f80565b508054600082559060005260206000209081019061051a91905b80821115610eba5760008155600101610ea6565b5090565b600060208284031215610ed057600080fd5b81356001600160a01b0381168114610ee757600080fd5b9392505050565b60008060208385031215610f0157600080fd5b823567ffffffffffffffff80821115610f1957600080fd5b818501915085601f830112610f2d57600080fd5b813581811115610f3c57600080fd5b8660208260051b8501011115610f5157600080fd5b60209290920196919550909350505050565b600060208284031215610f7557600080fd5b8135610ee7816110ec565b600060208284031215610f9257600080fd5b8151610ee7816110ec565b600060208284031215610faf57600080fd5b5035919050565b600060208284031215610fc857600080fd5b5051919050565b6000602080835260808301845182850152818501516040850152604085015160608086015281815180845260a0870191508483019350600092505b8083101561102a578351825292840192600192909201919084019061100a565b509695505050505050565b60008219821115611048576110486110c0565b500190565b60008261106a57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611089576110896110c0565b500290565b6000828210156110a0576110a06110c0565b500390565b60006000198214156110b9576110b96110c0565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b801515811461051a57600080fdfea26469706673582212209312c3c14fa59d9b1d737eb0f0c26b5d2e47989d1f06da90765660f5b958dddc64736f6c6343000807003300000000000000000000000006fcbf38e823efc1e609b9491aab546334c6ee69000000000000000000000000d5745fb5cfb5c3b36475042c3cf10e1689412987

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101a85760003560e01c8063973be04c116100f9578063be76184911610097578063eb39505211610071578063eb3950521461032c578063f2fde38b14610335578063f3ffdd7f14610348578063feb48fc31461035157600080fd5b8063be761849146102fe578063be9a655514610311578063e08663281461031957600080fd5b8063b0d2e115116100d3578063b0d2e115146102d2578063b17d69d0146102db578063b6f97501146102e3578063b88a802f146102f657600080fd5b8063973be04c146102ae5780639c91b779146102b7578063a1a77971146102bf57600080fd5b806347ccca02116101665780636bb1a2a2116101405780636bb1a2a2146102645780636f83f6a21461026d578063785e9e86146102765780637a7664601461028e57600080fd5b806347ccca021461021e5780634a39fa80146102495780635b13ae081461025c57600080fd5b80621e4d86146101ad5780630b102d1a146101c957806310d5aac3146101de578063221eda9e146101e6578063238dafe0146101f95780633ccfd60b14610216575b600080fd5b6101b660065481565b6040519081526020015b60405180910390f35b6101dc6101d7366004610ebe565b61035a565b005b6101b6610393565b6101dc6101f4366004610eee565b6103b7565b600a546102069060ff1681565b60405190151581526020016101c0565b6101dc6103f8565b600b54610231906001600160a01b031681565b6040516001600160a01b0390911681526020016101c0565b6101dc610257366004610ebe565b61051d565b6101b661055c565b6101b660055481565b6101b660095481565b600a546102319061010090046001600160a01b031681565b6102a161029c366004610ebe565b6105dd565b6040516101c09190610fcf565b6101b660025481565b6101dc610610565b6101b66102cd366004610ebe565b610744565b6101b660075481565b6101dc610765565b6101dc6102f1366004610f63565b6107b8565b6101dc6107e2565b6101dc61030c366004610f9d565b610854565b6101dc61085d565b6101dc610327366004610f9d565b610903565b6101b660085481565b6101dc610343366004610ebe565b61091f565b6101b660035481565b6101b660045481565b6000546001600160a01b0316331461037157600080fd5b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b600060065442106103a45750600090565b426006546103b2919061108e565b905090565b60005b818110156103f3576103e38383838181106103d7576103d76110d6565b90506020020135610958565b6103ec816110a5565b90506103ba565b505050565b6000546001600160a01b0316331461040f57600080fd5b600a546000546040516370a0823160e01b81523060048201526001600160a01b0361010090930483169263a9059cbb92169083906370a082319060240160206040518083038186803b15801561046457600080fd5b505afa158015610478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049c9190610fb6565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156104e257600080fd5b505af11580156104f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051a9190610f80565b50565b6000546001600160a01b0316331461053457600080fd5b600a80546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600a546040516370a0823160e01b815230600482015260009161010090046001600160a01b0316906370a082319060240160206040518083038186803b1580156105a557600080fd5b505afa1580156105b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b29190610fb6565b61060160405180606001604052806000815260200160008152602001606081525090565b61060a82610a4c565b92915050565b610618610765565b3360008181526001602052604090209061063b908261063681610afb565b610b3b565b80546106825760405162461bcd60e51b815260206004820152601160248201527007374616b652073636f726573206973203607c1b60448201526064015b60405180910390fd5b61070333826040518060600160405290816000820154815260200160018201548152602001600282018054806020026020016040519081016040528092919081815260200182805480156106f557602002820191906000526020600020905b8154815260200190600101908083116106e1575b505050505081525050610b7c565b80546002805460009061071790849061108e565b90915550503360009081526001602081905260408220828155908101829055906103f36002830182610e8c565b6001600160a01b038116600090815260016020526040812061060a90610afb565b60065442101561077157565b60025460035561077f61055c565b600481905560055560088054600090610797906110a5565b909155506007546107a990603c61106f565b6107b39042611035565b600655565b6000546001600160a01b031633146107cf57600080fd5b600a805460ff1916911515919091179055565b6107ea610765565b3360009081526001602052604081209061080382610afb565b9050600081116108455760405162461bcd60e51b815260206004820152600d60248201526c1a185cc81b9bc81c995dd85c99609a1b6044820152606401610679565b610850338383610b3b565b5050565b61051a81610958565b6000546001600160a01b0316331461087457600080fd5b600854156108c45760405162461bcd60e51b815260206004820152601a60248201527f72657761726420706f6f6c20616c7265647920737461727465640000000000006044820152606401610679565b6108cc610c47565b6007546108da90603c61106f565b6108e49042611035565b60065560016008819055600454600555600a805460ff19169091179055565b6000546001600160a01b0316331461091a57600080fd5b600755565b6000546001600160a01b0316331461093657600080fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b8061099e5760405162461bcd60e51b81526020600482015260166024820152756e66742069642063616e206e6f74206265207a65726f60501b6044820152606401610679565b3360008181526001602052604090819020600b5491516323b872dd60e01b8152600481019390935230602484015260448301849052916001600160a01b03909116906323b872dd90606401600060405180830381600087803b158015610a0357600080fd5b505af1158015610a17573d6000803e3d6000fd5b505050506002810180546001808201835560009283526020909220018390558154610850918391610a4791611035565b610cdc565b610a7060405180606001604052806000815260200160008152602001606081525090565b6001600160a01b038216600090815260016020818152604092839020835160608101855281548152928101548383015260028101805485518185028101850187528181529495929492860193830182828015610aeb57602002820191906000526020600020905b815481526020019060010190808311610ad7575b5050505050815250509050919050565b80546000901580610b125750600854826001015410155b15610b1f57506000919050565b6003546005548354610b31919061106f565b61060a919061104d565b600454811115610b4a57506004545b80610b5457505050565b6004805482900390556009805482019055610b6f8382610e00565b5060085460019091015550565b60408101515160005b81811015610c4157600b54604084015180516001600160a01b03909216916342842e0e91309188919086908110610bbe57610bbe6110d6565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b158015610c1857600080fd5b505af1158015610c2c573d6000803e3d6000fd5b5050505080610c3a906110a5565b9050610b85565b50505050565b600a5461010090046001600160a01b0316610c945760405162461bcd60e51b815260206004820152600d60248201526c6572633230206973207a65726f60981b6044820152606401610679565b600b546001600160a01b0316610cda5760405162461bcd60e51b815260206004820152600b60248201526a6e6674206973207a65726f60a81b6044820152606401610679565b565b6000600854118015610cf05750600a5460ff165b610d3c5760405162461bcd60e51b815260206004820152601760248201527f72657761726420706f6f6c206e6f7420737461727465640000000000000000006044820152606401610679565b610d44610765565b610d52338361063685610afb565b8154811415610d5f575050565b8154811115610db0578154600090610d77908361108e565b90508060026000828254610d8b9190611035565b9091555050825481908490600090610da4908490611035565b90915550610df4915050565b8154600090610dc090839061108e565b90508060026000828254610dd4919061108e565b9091555050825481908490600090610ded90849061108e565b9091555050505b50600854600190910155565b600a5460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490526101009092049091169063a9059cbb90604401602060405180830381600087803b158015610e5457600080fd5b505af1158015610e68573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f39190610f80565b508054600082559060005260206000209081019061051a91905b80821115610eba5760008155600101610ea6565b5090565b600060208284031215610ed057600080fd5b81356001600160a01b0381168114610ee757600080fd5b9392505050565b60008060208385031215610f0157600080fd5b823567ffffffffffffffff80821115610f1957600080fd5b818501915085601f830112610f2d57600080fd5b813581811115610f3c57600080fd5b8660208260051b8501011115610f5157600080fd5b60209290920196919550909350505050565b600060208284031215610f7557600080fd5b8135610ee7816110ec565b600060208284031215610f9257600080fd5b8151610ee7816110ec565b600060208284031215610faf57600080fd5b5035919050565b600060208284031215610fc857600080fd5b5051919050565b6000602080835260808301845182850152818501516040850152604085015160608086015281815180845260a0870191508483019350600092505b8083101561102a578351825292840192600192909201919084019061100a565b509695505050505050565b60008219821115611048576110486110c0565b500190565b60008261106a57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611089576110896110c0565b500290565b6000828210156110a0576110a06110c0565b500390565b60006000198214156110b9576110b96110c0565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b801515811461051a57600080fdfea26469706673582212209312c3c14fa59d9b1d737eb0f0c26b5d2e47989d1f06da90765660f5b958dddc64736f6c63430008070033

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

00000000000000000000000006fcbf38e823efc1e609b9491aab546334c6ee69000000000000000000000000d5745fb5cfb5c3b36475042c3cf10e1689412987

-----Decoded View---------------
Arg [0] : erc20Address (address): 0x06fcbf38e823efc1e609b9491AaB546334c6ee69
Arg [1] : nftAddress (address): 0xD5745FB5CFb5c3B36475042C3CF10E1689412987

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000006fcbf38e823efc1e609b9491aab546334c6ee69
Arg [1] : 000000000000000000000000d5745fb5cfb5c3b36475042c3cf10e1689412987


Deployed Bytecode Sourcemap

8513:1997:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3728:31;;;;;;;;;6718:25:1;;;6706:2;6691:18;3728:31:0;;;;;;;;8964:112;;;;;;:::i;:::-;;:::i;:::-;;4662:186;;;:::i;10236:151::-;;;;;;:::i;:::-;;:::i;4032:19::-;;;;;;;;;;;;2827:14:1;;2820:22;2802:41;;2790:2;2775:18;4032:19:0;2662:187:1;10395:112:0;;;:::i;8599:18::-;;;;;-1:-1:-1;;;;;8599:18:0;;;;;;-1:-1:-1;;;;;1959:32:1;;;1941:51;;1929:2;1914:18;8599::0;1795:203:1;8837:119:0;;;;;;:::i;:::-;;:::i;9272:122::-;;;:::i;3648:40::-;;;;;;3960:33;;;;;;8558:19;;;;;;;;-1:-1:-1;;;;;8558:19:0;;;7680:116;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3435:29::-;;;;;;6086:402;;;:::i;4856:128::-;;;;;;:::i;:::-;;:::i;3790:38::-;;;;;;6496:485;;;:::i;4557:97::-;;;;;;:::i;:::-;;:::i;5813:265::-;;;:::i;9830:87::-;;;;;;:::i;:::-;;:::i;4093:320::-;;;:::i;4421:128::-;;;;;;:::i;:::-;;:::i;3854:29::-;;;;;;320:100;;;;;;:::i;:::-;;:::i;3493:34::-;;;;;;3587:30;;;;;;8964:112;225:6;;-1:-1:-1;;;;;225:6:0;211:10;:20;203:29;;;;;;9040:3:::1;:28:::0;;-1:-1:-1;;;;;;9040:28:0::1;-1:-1:-1::0;;;;;9040:28:0;;;::::1;::::0;;;::::1;::::0;;8964:112::o;4662:186::-;4719:7;4762:16;;4743:15;:35;4739:49;;-1:-1:-1;4787:1:0;;4662:186::o;4739:49::-;4825:15;4806:16;;:34;;;;:::i;:::-;4799:41;;4662:186;:::o;10236:151::-;10315:9;10310:69;10330:17;;;10310:69;;;10354:25;10369:6;;10376:1;10369:9;;;;;;;:::i;:::-;;;;;;;10354:14;:25::i;:::-;10349:3;;;:::i;:::-;;;10310:69;;;;10236:151;;:::o;10395:112::-;225:6;;-1:-1:-1;;;;;225:6:0;211:10;:20;203:29;;;;;;10445:5:::1;::::0;10460:6:::1;::::0;10468:30:::1;::::0;-1:-1:-1;;;10468:30:0;;10492:4:::1;10468:30;::::0;::::1;1941:51:1::0;-1:-1:-1;;;;;10445:5:0::1;::::0;;::::1;::::0;::::1;::::0;:14:::1;::::0;10460:6:::1;::::0;10445:5;;10468:15:::1;::::0;1914:18:1;;10468:30:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10445:54;::::0;-1:-1:-1;;;;;;10445:54:0::1;::::0;;;;;;-1:-1:-1;;;;;2575:32:1;;;10445:54:0::1;::::0;::::1;2557:51:1::0;2624:18;;;2617:34;2530:18;;10445:54:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10395:112::o:0;8837:119::-;225:6;;-1:-1:-1;;;;;225:6:0;211:10;:20;203:29;;;;;;8917:5:::1;:31:::0;;-1:-1:-1;;;;;8917:31:0;;::::1;;;-1:-1:-1::0;;;;;;8917:31:0;;::::1;::::0;;;::::1;::::0;;8837:119::o;9272:122::-;9356:5;;:30;;-1:-1:-1;;;9356:30:0;;9380:4;9356:30;;;1941:51:1;9329:7:0;;9356:5;;;-1:-1:-1;;;;;9356:5:0;;:15;;1914:18:1;;9356:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7680:116::-;7738:12;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;7738:12:0;7770:18;7780:7;7770:9;:18::i;:::-;7763:25;7680:116;-1:-1:-1;;7680:116:0:o;6086:402::-;6129:17;:15;:17::i;:::-;6185:10;6157:19;6179:17;;;:5;:17;;;;;;6207:55;;6179:17;6239:22;6179:17;6239:15;:22::i;:::-;6207:12;:55::i;:::-;6317:12;;6309:46;;;;-1:-1:-1;;;6309:46:0;;5582:2:1;6309:46:0;;;5564:21:1;5621:2;5601:18;;;5594:30;-1:-1:-1;;;5640:18:1;;;5633:47;5697:18;;6309:46:0;;;;;;;;;6366:30;6378:10;6390:5;6366:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:11;:30::i;:::-;6425:12;;6407:14;:30;;6425:12;;6407:30;;6425:12;;6407:30;:::i;:::-;;;;-1:-1:-1;;6469:10:0;6463:17;;;;:5;:17;;;;;;;6456:24;;;;;;;;;6463:17;6456:24;;;;6463:17;6456:24;:::i;4856:128::-;-1:-1:-1;;;;;4961:14:0;;4918:7;4961:14;;;:5;:14;;;;;4945:31;;:15;:31::i;6496:485::-;6605:16;;6587:15;:34;6583:47;;;6496:485::o;6583:47::-;6691:14;;6669:19;:36;6766:17;:15;:17::i;:::-;6748:15;:35;;;6794:25;:43;6884:14;6882:16;;-1:-1:-1;;6882:16:0;;;:::i;:::-;;;;-1:-1:-1;6946:15:0;;:27;;6964:9;6946:27;:::i;:::-;6928:45;;:15;:45;:::i;:::-;6909:16;:64;6496:485::o;4557:97::-;225:6;;-1:-1:-1;;;;;225:6:0;211:10;:20;203:29;;;;;;4626:7:::1;:20:::0;;-1:-1:-1;;4626:20:0::1;::::0;::::1;;::::0;;;::::1;::::0;;4557:97::o;5813:265::-;5856:17;:15;:17::i;:::-;5912:10;5884:19;5906:17;;;:5;:17;;;;;;5951:22;5906:17;5951:15;:22::i;:::-;5934:39;;6001:1;5992:6;:10;5984:36;;;;-1:-1:-1;;;5984:36:0;;4885:2:1;5984:36:0;;;4867:21:1;4924:2;4904:18;;;4897:30;-1:-1:-1;;;4943:18:1;;;4936:43;4996:18;;5984:36:0;4683:337:1;5984:36:0;6031:39;6044:10;6056:5;6063:6;6031:12;:39::i;:::-;5845:233;;5813:265::o;9830:87::-;9888:21;9903:5;9888:14;:21::i;4093:320::-;225:6;;-1:-1:-1;;;;;225:6:0;211:10;:20;203:29;;;;;;4148:14:::1;::::0;:19;4140:58:::1;;;::::0;-1:-1:-1;;;4140:58:0;;5227:2:1;4140:58:0::1;::::0;::::1;5209:21:1::0;5266:2;5246:18;;;5239:30;5305:28;5285:18;;;5278:56;5351:18;;4140:58:0::1;5025:350:1::0;4140:58:0::1;4209:13;:11;:13::i;:::-;4270:15;::::0;:27:::1;::::0;4288:9:::1;4270:27;:::i;:::-;4252:45;::::0;:15:::1;:45;:::i;:::-;4233:16;:64:::0;4325:1:::1;4308:14;:18:::0;;;4365:15:::1;::::0;4337:25:::1;:43:::0;4391:7:::1;:14:::0;;-1:-1:-1;;4391:14:0::1;::::0;;::::1;::::0;;4093:320::o;4421:128::-;225:6;;-1:-1:-1;;;;;225:6:0;211:10;:20;203:29;;;;;;4505:15:::1;:36:::0;4421:128::o;320:100::-;225:6;;-1:-1:-1;;;;;225:6:0;211:10;:20;203:29;;;;;;395:6:::1;:17:::0;;-1:-1:-1;;;;;;395:17:0::1;-1:-1:-1::0;;;;;395:17:0;;;::::1;::::0;;;::::1;::::0;;320:100::o;9925:303::-;9991:10;9983:45;;;;-1:-1:-1;;;9983:45:0;;3500:2:1;9983:45:0;;;3482:21:1;3539:2;3519:18;;;3512:30;-1:-1:-1;;;3558:18:1;;;3551:52;3620:18;;9983:45:0;3298:346:1;9983:45:0;10067:10;10039:19;10061:17;;;:5;:17;;;;;;;10089:3;;:50;;-1:-1:-1;;;10089:50:0;;;;;2243:34:1;;;;10126:4:0;2293:18:1;;;2286:43;2345:18;;;2338:34;;;10061:17:0;-1:-1:-1;;;;;10089:3:0;;;;:16;;2178:18:1;;10089:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;10150:9:0;;;:21;;;;;;;;-1:-1:-1;10150:21:0;;;;;;;;;;;10203:12;;10182:38;;10150:9;;10203:16;;;:::i;:::-;10182:13;:38::i;7804:162::-;7907:12;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;7907:12:0;-1:-1:-1;;;;;7944:14:0;;;;;;:5;:14;;;;;;;;;7937:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7944:14;;7937:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7804:162;;;:::o;4992:317::-;5131:12;;5088:7;;5131:17;;:68;;;5185:14;;5152:5;:29;;;:47;;5131:68;5113:106;;;-1:-1:-1;5218:1:0;;4992:317;-1:-1:-1;4992:317:0:o;5113:106::-;5282:19;;5253:25;;5238:12;;:40;;5253:25;5238:40;:::i;:::-;5237:64;;;;:::i;5317:488::-;5459:15;;5450:6;:24;5446:54;;;-1:-1:-1;5485:15:0;;5446:54;5515:11;5511:24;;5317:488;;;:::o;5511:24::-;5570:15;:25;;;;;;;5610:18;:28;;;;;;5685:33;5702:7;5589:6;5685:16;:33::i;:::-;-1:-1:-1;5783:14:0;;5751:29;;;;:46;-1:-1:-1;5317:488:0:o;9558:264::-;9682:9;;;;:16;9668:11;9709:105;9733:3;9729:1;:7;9709:105;;;9756:3;;9801:9;;;;:12;;-1:-1:-1;;;;;9756:3:0;;;;:20;;9785:4;;9792:7;;9801:9;9811:1;;9801:12;;;;;;:::i;:::-;;;;;;;;;;;9756:58;;-1:-1:-1;;;;;;9756:58:0;;;;;;;-1:-1:-1;;;;;2261:15:1;;;9756:58:0;;;2243:34:1;2313:15;;;;2293:18;;;2286:43;2345:18;;;2338:34;2178:18;;9756:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9738:3;;;;:::i;:::-;;;9709:105;;;;9657:165;9558:264;;:::o;9084:180::-;9157:5;;;;;-1:-1:-1;;;;;9157:5:0;9141:54;;;;-1:-1:-1;;;9141:54:0;;3851:2:1;9141:54:0;;;3833:21:1;3890:2;3870:18;;;3863:30;-1:-1:-1;;;3909:18:1;;;3902:43;3962:18;;9141:54:0;3649:337:1;9141:54:0;9222:3;;-1:-1:-1;;;;;9222:3:0;9206:50;;;;-1:-1:-1;;;9206:50:0;;4545:2:1;9206:50:0;;;4527:21:1;4584:2;4564:18;;;4557:30;-1:-1:-1;;;4603:18:1;;;4596:41;4654:18;;9206:50:0;4343:335:1;9206:50:0;9084:180::o;6989:683::-;7097:1;7080:14;;:18;:29;;;;-1:-1:-1;7102:7:0;;;;7080:29;7072:65;;;;-1:-1:-1;;;7072:65:0;;4193:2:1;7072:65:0;;;4175:21:1;4232:2;4212:18;;;4205:30;4271:25;4251:18;;;4244:53;4314:18;;7072:65:0;3991:347:1;7072:65:0;7148:17;:15;:17::i;:::-;7176:55;7189:10;7201:5;7208:22;7224:5;7208:15;:22::i;7176:55::-;7246:12;;:25;;7242:38;;;6989:683;;:::o;7242:38::-;7294:12;;:24;-1:-1:-1;7290:318:0;;;7363:12;;7335:13;;7351:24;;:9;:24;:::i;:::-;7335:40;;7408:5;7390:14;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;7428:21:0;;7444:5;;7428;;:12;;:21;;7444:5;;7428:21;:::i;:::-;;;;-1:-1:-1;7290:318:0;;-1:-1:-1;;7290:318:0;;7498:12;;7482:13;;7498:24;;7513:9;;7498:24;:::i;:::-;7482:40;;7555:5;7537:14;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;7575:21:0;;7591:5;;7575;;:12;;:21;;7591:5;;7575:21;:::i;:::-;;;;-1:-1:-1;;;7290:318:0;-1:-1:-1;7650:14:0;;7618:29;;;;:46;6989:683::o;9402:148::-;9512:5;;:30;;-1:-1:-1;;;9512:30:0;;-1:-1:-1;;;;;2575:32:1;;;9512:30:0;;;2557:51:1;2624:18;;;2617:34;;;9512:5:0;;;;;;;;:14;;2530:18:1;;9512:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:286:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:1;;210:42;;200:70;;266:1;263;256:12;200:70;289:5;14:286;-1:-1:-1;;;14:286:1:o;305:615::-;391:6;399;452:2;440:9;431:7;427:23;423:32;420:52;;;468:1;465;458:12;420:52;508:9;495:23;537:18;578:2;570:6;567:14;564:34;;;594:1;591;584:12;564:34;632:6;621:9;617:22;607:32;;677:7;670:4;666:2;662:13;658:27;648:55;;699:1;696;689:12;648:55;739:2;726:16;765:2;757:6;754:14;751:34;;;781:1;778;771:12;751:34;834:7;829:2;819:6;816:1;812:14;808:2;804:23;800:32;797:45;794:65;;;855:1;852;845:12;794:65;886:2;878:11;;;;;908:6;;-1:-1:-1;305:615:1;;-1:-1:-1;;;;305:615:1:o;925:241::-;981:6;1034:2;1022:9;1013:7;1009:23;1005:32;1002:52;;;1050:1;1047;1040:12;1002:52;1089:9;1076:23;1108:28;1130:5;1108:28;:::i;1171:245::-;1238:6;1291:2;1279:9;1270:7;1266:23;1262:32;1259:52;;;1307:1;1304;1297:12;1259:52;1339:9;1333:16;1358:28;1380:5;1358:28;:::i;1421:180::-;1480:6;1533:2;1521:9;1512:7;1508:23;1504:32;1501:52;;;1549:1;1546;1539:12;1501:52;-1:-1:-1;1572:23:1;;1421:180;-1:-1:-1;1421:180:1:o;1606:184::-;1676:6;1729:2;1717:9;1708:7;1704:23;1700:32;1697:52;;;1745:1;1742;1735:12;1697:52;-1:-1:-1;1768:16:1;;1606:184;-1:-1:-1;1606:184:1:o;5726:841::-;5860:4;5889:2;5918;5907:9;5900:21;5959:3;5948:9;5944:19;6005:6;5999:13;5994:2;5983:9;5979:18;5972:41;6067:2;6059:6;6055:15;6049:22;6044:2;6033:9;6029:18;6022:50;6119:2;6111:6;6107:15;6101:22;6161:4;6154;6143:9;6139:20;6132:34;6186:6;6221:12;6215:19;6258:6;6250;6243:22;6296:3;6285:9;6281:19;6274:26;;6341:2;6327:12;6323:21;6309:35;;6362:1;6353:10;;6372:169;6386:6;6383:1;6380:13;6372:169;;;6447:13;;6435:26;;6516:15;;;;6408:1;6401:9;;;;;6481:12;;;;6372:169;;;-1:-1:-1;6558:3:1;5726:841;-1:-1:-1;;;;;;5726:841:1:o;6754:128::-;6794:3;6825:1;6821:6;6818:1;6815:13;6812:39;;;6831:18;;:::i;:::-;-1:-1:-1;6867:9:1;;6754:128::o;6887:217::-;6927:1;6953;6943:132;;6997:10;6992:3;6988:20;6985:1;6978:31;7032:4;7029:1;7022:15;7060:4;7057:1;7050:15;6943:132;-1:-1:-1;7089:9:1;;6887:217::o;7109:168::-;7149:7;7215:1;7211;7207:6;7203:14;7200:1;7197:21;7192:1;7185:9;7178:17;7174:45;7171:71;;;7222:18;;:::i;:::-;-1:-1:-1;7262:9:1;;7109:168::o;7282:125::-;7322:4;7350:1;7347;7344:8;7341:34;;;7355:18;;:::i;:::-;-1:-1:-1;7392:9:1;;7282:125::o;7412:135::-;7451:3;-1:-1:-1;;7472:17:1;;7469:43;;;7492:18;;:::i;:::-;-1:-1:-1;7539:1:1;7528:13;;7412:135::o;7552:127::-;7613:10;7608:3;7604:20;7601:1;7594:31;7644:4;7641:1;7634:15;7668:4;7665:1;7658:15;7684:127;7745:10;7740:3;7736:20;7733:1;7726:31;7776:4;7773:1;7766:15;7800:4;7797:1;7790:15;7816:118;7902:5;7895:13;7888:21;7881:5;7878:32;7868:60;;7924:1;7921;7914:12

Swarm Source

ipfs://9312c3c14fa59d9b1d737eb0f0c26b5d2e47989d1f06da90765660f5b958dddc

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.