ETH Price: $3,145.45 (-0.80%)
Gas: 5 Gwei

Contract

0x94F36FAa6bB4f74009637292b09C355CcD3e80Eb
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Activation111639592020-10-31 10:04:081273 days ago1604138648IN
0x94F36FAa...CcD3e80Eb
0 ETH0.0034994428
0x60806040109485202020-09-28 3:03:541306 days ago1601262234IN
 Create: Nest_3_OfferPrice
0 ETH0.1280210165

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
116942952021-01-20 19:33:341192 days ago1611171214
0x94F36FAa...CcD3e80Eb
0.01 ETH
116942952021-01-20 19:33:341192 days ago1611171214
0x94F36FAa...CcD3e80Eb
0.01 ETH
116875352021-01-19 19:04:011193 days ago1611083041
0x94F36FAa...CcD3e80Eb
0.01 ETH
116875352021-01-19 19:04:011193 days ago1611083041
0x94F36FAa...CcD3e80Eb
0.01 ETH
116866102021-01-19 15:40:031193 days ago1611070803
0x94F36FAa...CcD3e80Eb
0.01 ETH
116866102021-01-19 15:40:031193 days ago1611070803
0x94F36FAa...CcD3e80Eb
0.01 ETH
116861412021-01-19 13:58:041193 days ago1611064684
0x94F36FAa...CcD3e80Eb
0.01 ETH
116861412021-01-19 13:58:041193 days ago1611064684
0x94F36FAa...CcD3e80Eb
0.01 ETH
116855502021-01-19 11:47:281193 days ago1611056848
0x94F36FAa...CcD3e80Eb
0.01 ETH
116855502021-01-19 11:47:281193 days ago1611056848
0x94F36FAa...CcD3e80Eb
0.01 ETH
116855332021-01-19 11:43:421193 days ago1611056622
0x94F36FAa...CcD3e80Eb
0.01 ETH
116855332021-01-19 11:43:421193 days ago1611056622
0x94F36FAa...CcD3e80Eb
0.01 ETH
116845042021-01-19 7:58:041193 days ago1611043084
0x94F36FAa...CcD3e80Eb
0.01 ETH
116845042021-01-19 7:58:041193 days ago1611043084
0x94F36FAa...CcD3e80Eb
0.01 ETH
116844782021-01-19 7:51:291193 days ago1611042689
0x94F36FAa...CcD3e80Eb
0.01 ETH
116844782021-01-19 7:51:291193 days ago1611042689
0x94F36FAa...CcD3e80Eb
0.01 ETH
116844762021-01-19 7:51:121193 days ago1611042672
0x94F36FAa...CcD3e80Eb
0.01 ETH
116844762021-01-19 7:51:121193 days ago1611042672
0x94F36FAa...CcD3e80Eb
0.01 ETH
116844592021-01-19 7:45:481193 days ago1611042348
0x94F36FAa...CcD3e80Eb
0.01 ETH
116844592021-01-19 7:45:481193 days ago1611042348
0x94F36FAa...CcD3e80Eb
0.01 ETH
116842902021-01-19 7:08:391193 days ago1611040119
0x94F36FAa...CcD3e80Eb
0.01 ETH
116842902021-01-19 7:08:391193 days ago1611040119
0x94F36FAa...CcD3e80Eb
0.01 ETH
116842152021-01-19 6:51:591193 days ago1611039119
0x94F36FAa...CcD3e80Eb
0.01 ETH
116842152021-01-19 6:51:591193 days ago1611039119
0x94F36FAa...CcD3e80Eb
0.01 ETH
116840392021-01-19 6:09:521193 days ago1611036592
0x94F36FAa...CcD3e80Eb
0.01 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Nest_3_OfferPrice

Compiler Version
v0.6.0+commit.26b70077

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-09-28
*/

pragma solidity 0.6.0;

/**
 * @title Price contract
 * @dev Price check and call
 */
contract Nest_3_OfferPrice{
    using SafeMath for uint256;
    using address_make_payable for address;
    using SafeERC20 for ERC20;
    
    Nest_3_VoteFactory _voteFactory;                                //  Voting contract
    ERC20 _nestToken;                                               //  NestToken
    Nest_NToken_TokenMapping _tokenMapping;                         //  NToken mapping
    Nest_3_OfferMain _offerMain;                                    //  Offering main contract
    Nest_3_Abonus _abonus;                                          //  Bonus pool
    address _nTokeOfferMain;                                        //  NToken offering main contract
    address _destructionAddress;                                    //  Destruction contract address
    address _nTokenAuction;                                         //  NToken auction contract address
    struct PriceInfo {                                              //  Block price
        uint256 ethAmount;                                          //  ETH amount
        uint256 erc20Amount;                                        //  Erc20 amount
        uint256 frontBlock;                                         //  Last effective block
        address offerOwner;                                         //  Offering address
    }
    struct TokenInfo {                                              //  Token offer information
        mapping(uint256 => PriceInfo) priceInfoList;                //  Block price list, block number => block price
        uint256 latestOffer;                                        //  Latest effective block
    }
    uint256 destructionAmount = 0 ether;                            //  Amount of NEST to destroy to call prices
    uint256 effectTime = 0 days;                                    //  Waiting time to start calling prices
    mapping(address => TokenInfo) _tokenInfo;                       //  Token offer information
    mapping(address => bool) _blocklist;                            //  Block list
    mapping(address => uint256) _addressEffect;                     //  Effective time of address to call prices 
    mapping(address => bool) _offerMainMapping;                     //  Offering contract mapping
    uint256 _priceCost = 0.01 ether;                                //  Call price fee

    //  Real-time price  token, ETH amount, erc20 amount
    event NowTokenPrice(address a, uint256 b, uint256 c);
    
    /**
    * @dev Initialization method
    * @param voteFactory Voting contract address
    */
    constructor (address voteFactory) public {
        Nest_3_VoteFactory voteFactoryMap = Nest_3_VoteFactory(address(voteFactory));
        _voteFactory = voteFactoryMap;
        _offerMain = Nest_3_OfferMain(address(voteFactoryMap.checkAddress("nest.v3.offerMain")));
        _nTokeOfferMain = address(voteFactoryMap.checkAddress("nest.nToken.offerMain"));
        _abonus = Nest_3_Abonus(address(voteFactoryMap.checkAddress("nest.v3.abonus")));
        _destructionAddress = address(voteFactoryMap.checkAddress("nest.v3.destruction"));
        _nestToken = ERC20(address(voteFactoryMap.checkAddress("nest")));
        _tokenMapping = Nest_NToken_TokenMapping(address(voteFactoryMap.checkAddress("nest.nToken.tokenMapping")));
        _nTokenAuction = address(voteFactoryMap.checkAddress("nest.nToken.tokenAuction"));
        _offerMainMapping[address(_offerMain)] = true;
        _offerMainMapping[address(_nTokeOfferMain)] = true;
    }
    
    /**
    * @dev Modify voting contract
    * @param voteFactory Voting contract address
    */
    function changeMapping(address voteFactory) public onlyOwner {
        Nest_3_VoteFactory voteFactoryMap = Nest_3_VoteFactory(address(voteFactory));
        _voteFactory = voteFactoryMap;                                   
        _offerMain = Nest_3_OfferMain(address(voteFactoryMap.checkAddress("nest.v3.offerMain")));
        _nTokeOfferMain = address(voteFactoryMap.checkAddress("nest.nToken.offerMain"));
        _abonus = Nest_3_Abonus(address(voteFactoryMap.checkAddress("nest.v3.abonus")));
        _destructionAddress = address(voteFactoryMap.checkAddress("nest.v3.destruction"));
        _nestToken = ERC20(address(voteFactoryMap.checkAddress("nest")));
        _tokenMapping = Nest_NToken_TokenMapping(address(voteFactoryMap.checkAddress("nest.nToken.tokenMapping")));
        _nTokenAuction = address(voteFactoryMap.checkAddress("nest.nToken.tokenAuction"));
        _offerMainMapping[address(_offerMain)] = true;
        _offerMainMapping[address(_nTokeOfferMain)] = true;
    }
    
    /**
    * @dev Initialize token price charge parameters
    * @param tokenAddress Token address
    */
    function addPriceCost(address tokenAddress) public {
       
    }
    
    /**
    * @dev Add price
    * @param ethAmount ETH amount
    * @param tokenAmount Erc20 amount
    * @param endBlock Effective price block
    * @param tokenAddress Erc20 address
    * @param offerOwner Offering address
    */
    function addPrice(uint256 ethAmount, uint256 tokenAmount, uint256 endBlock, address tokenAddress, address offerOwner) public onlyOfferMain{
        // Add effective block price information
        TokenInfo storage tokenInfo = _tokenInfo[tokenAddress];
        PriceInfo storage priceInfo = tokenInfo.priceInfoList[endBlock];
        priceInfo.ethAmount = priceInfo.ethAmount.add(ethAmount);
        priceInfo.erc20Amount = priceInfo.erc20Amount.add(tokenAmount);
        if (endBlock != tokenInfo.latestOffer) {
            // If different block offer
            priceInfo.frontBlock = tokenInfo.latestOffer;
            tokenInfo.latestOffer = endBlock;
        }
    }
    
    /**
    * @dev Price modification in taker orders
    * @param ethAmount ETH amount
    * @param tokenAmount Erc20 amount
    * @param tokenAddress Token address 
    * @param endBlock Block of effective price
    */
    function changePrice(uint256 ethAmount, uint256 tokenAmount, address tokenAddress, uint256 endBlock) public onlyOfferMain {
        TokenInfo storage tokenInfo = _tokenInfo[tokenAddress];
        PriceInfo storage priceInfo = tokenInfo.priceInfoList[endBlock];
        priceInfo.ethAmount = priceInfo.ethAmount.sub(ethAmount);
        priceInfo.erc20Amount = priceInfo.erc20Amount.sub(tokenAmount);
    }
    
    /**
    * @dev Update and check the latest price
    * @param tokenAddress Token address
    * @return ethAmount ETH amount
    * @return erc20Amount Erc20 amount
    * @return blockNum Price block
    */
    function updateAndCheckPriceNow(address tokenAddress) public payable returns(uint256 ethAmount, uint256 erc20Amount, uint256 blockNum) {
        require(checkUseNestPrice(address(msg.sender)));
        mapping(uint256 => PriceInfo) storage priceInfoList = _tokenInfo[tokenAddress].priceInfoList;
        uint256 checkBlock = _tokenInfo[tokenAddress].latestOffer;
        while(checkBlock > 0 && (checkBlock >= block.number || priceInfoList[checkBlock].ethAmount == 0)) {
            checkBlock = priceInfoList[checkBlock].frontBlock;
        }
        require(checkBlock != 0);
        PriceInfo memory priceInfo = priceInfoList[checkBlock];
        address nToken = _tokenMapping.checkTokenMapping(tokenAddress);
        if (nToken == address(0x0)) {
            _abonus.switchToEth.value(_priceCost)(address(_nestToken));
        } else {
            _abonus.switchToEth.value(_priceCost)(address(nToken));
        }
        if (msg.value > _priceCost) {
            repayEth(address(msg.sender), msg.value.sub(_priceCost));
        }
        emit NowTokenPrice(tokenAddress,priceInfo.ethAmount, priceInfo.erc20Amount);
        return (priceInfo.ethAmount,priceInfo.erc20Amount, checkBlock);
    }
    
    /**
    * @dev Update and check the latest price-internal use
    * @param tokenAddress Token address
    * @return ethAmount ETH amount
    * @return erc20Amount Erc20 amount
    */
    function updateAndCheckPricePrivate(address tokenAddress) public view onlyOfferMain returns(uint256 ethAmount, uint256 erc20Amount) {
        mapping(uint256 => PriceInfo) storage priceInfoList = _tokenInfo[tokenAddress].priceInfoList;
        uint256 checkBlock = _tokenInfo[tokenAddress].latestOffer;
        while(checkBlock > 0 && (checkBlock >= block.number || priceInfoList[checkBlock].ethAmount == 0)) {
            checkBlock = priceInfoList[checkBlock].frontBlock;
        }
        if (checkBlock == 0) {
            return (0,0);
        }
        PriceInfo memory priceInfo = priceInfoList[checkBlock];
        return (priceInfo.ethAmount,priceInfo.erc20Amount);
    }
    
    /**
    * @dev Update and check the effective price list
    * @param tokenAddress Token address
    * @param num Number of prices to check
    * @return uint256[] price list
    */
    function updateAndCheckPriceList(address tokenAddress, uint256 num) public payable returns (uint256[] memory) {
        require(checkUseNestPrice(address(msg.sender)));
        mapping(uint256 => PriceInfo) storage priceInfoList = _tokenInfo[tokenAddress].priceInfoList;
        // Extract data
        uint256 length = num.mul(3);
        uint256 index = 0;
        uint256[] memory data = new uint256[](length);
        uint256 checkBlock = _tokenInfo[tokenAddress].latestOffer;
        while(index < length && checkBlock > 0){
            if (checkBlock < block.number && priceInfoList[checkBlock].ethAmount != 0) {
                // Add return data
                data[index++] = priceInfoList[checkBlock].ethAmount;
                data[index++] = priceInfoList[checkBlock].erc20Amount;
                data[index++] = checkBlock;
            }
            checkBlock = priceInfoList[checkBlock].frontBlock;
        }
        require(length == data.length);
        // Allocation
        address nToken = _tokenMapping.checkTokenMapping(tokenAddress);
        if (nToken == address(0x0)) {
            _abonus.switchToEth.value(_priceCost)(address(_nestToken));
        } else {
            _abonus.switchToEth.value(_priceCost)(address(nToken));
        }
        if (msg.value > _priceCost) {
            repayEth(address(msg.sender), msg.value.sub(_priceCost));
        }
        return data;
    }
    
    // Activate the price checking function
    function activation() public {
        _nestToken.safeTransferFrom(address(msg.sender), _destructionAddress, destructionAmount);
        _addressEffect[address(msg.sender)] = now.add(effectTime);
    }
    
    // Transfer ETH
    function repayEth(address accountAddress, uint256 asset) private {
        address payable addr = accountAddress.make_payable();
        addr.transfer(asset);
    }
    
    // Check block price - user account only
    function checkPriceForBlock(address tokenAddress, uint256 blockNum) public view returns (uint256 ethAmount, uint256 erc20Amount) {
        require(address(msg.sender) == address(tx.origin), "It can't be a contract");
        TokenInfo storage tokenInfo = _tokenInfo[tokenAddress];
        return (tokenInfo.priceInfoList[blockNum].ethAmount, tokenInfo.priceInfoList[blockNum].erc20Amount);
    }    
    
    // Check real-time price - user account only
    function checkPriceNow(address tokenAddress) public view returns (uint256 ethAmount, uint256 erc20Amount, uint256 blockNum) {
        require(address(msg.sender) == address(tx.origin), "It can't be a contract");
        mapping(uint256 => PriceInfo) storage priceInfoList = _tokenInfo[tokenAddress].priceInfoList;
        uint256 checkBlock = _tokenInfo[tokenAddress].latestOffer;
        while(checkBlock > 0 && (checkBlock >= block.number || priceInfoList[checkBlock].ethAmount == 0)) {
            checkBlock = priceInfoList[checkBlock].frontBlock;
        }
        if (checkBlock == 0) {
            return (0,0,0);
        }
        PriceInfo storage priceInfo = priceInfoList[checkBlock];
        return (priceInfo.ethAmount,priceInfo.erc20Amount, checkBlock);
    }
    
    // Check whether the price-checking functions can be called
    function checkUseNestPrice(address target) public view returns (bool) {
        if (!_blocklist[target] && _addressEffect[target] < now && _addressEffect[target] != 0) {
            return true;
        } else {
            return false;
        }
    }
    
    // Check whether the address is in the blocklist
    function checkBlocklist(address add) public view returns(bool) {
        return _blocklist[add];
    }
    
    // Check the amount of NEST to destroy to call prices
    function checkDestructionAmount() public view returns(uint256) {
        return destructionAmount;
    }
    
    // Check the waiting time to start calling prices
    function checkEffectTime() public view returns (uint256) {
        return effectTime;
    }
    
    // Check call price fee
    function checkPriceCost() public view returns (uint256) {
        return _priceCost;
    }
    
    // Modify the blocklist 
    function changeBlocklist(address add, bool isBlock) public onlyOwner {
        _blocklist[add] = isBlock;
    }
    
    // Amount of NEST to destroy to call price-checking functions
    function changeDestructionAmount(uint256 amount) public onlyOwner {
        destructionAmount = amount;
    }
    
    // Modify the waiting time to start calling prices
    function changeEffectTime(uint256 num) public onlyOwner {
        effectTime = num;
    }
    
    // Modify call price fee
    function changePriceCost(uint256 num) public onlyOwner {
        _priceCost = num;
    }

    // Offering contract only
    modifier onlyOfferMain(){
        require(_offerMainMapping[address(msg.sender)], "No authority");
        _;
    }
    
    // Vote administrators only
    modifier onlyOwner(){
        require(_voteFactory.checkOwners(msg.sender), "No authority");
        _;
    }
}

// Voting contract
interface Nest_3_VoteFactory {
    // Check address
	function checkAddress(string calldata name) external view returns (address contractAddress);
	// Check whether administrator
	function checkOwners(address man) external view returns (bool);
}

// NToken mapping contract
interface Nest_NToken_TokenMapping {
    function checkTokenMapping(address token) external view returns (address);
}

// NEST offer main contract
interface Nest_3_OfferMain {
    function checkTokenAllow(address token) external view returns(bool);
}

// Bonus pool contract
interface Nest_3_Abonus {
    function switchToEth(address token) external payable;
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library address_make_payable {
   function make_payable(address x) internal pure returns (address payable) {
      return address(uint160(x));
   }
}

library SafeERC20 {
    using SafeMath for uint256;
    using Address for address;

    function safeTransfer(ERC20 token, address to, uint256 value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(ERC20 token, address from, address to, uint256 value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }

    function safeApprove(ERC20 token, address spender, uint256 value) internal {
        require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }

    function safeIncreaseAllowance(ERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).add(value);
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }

    function safeDecreaseAllowance(ERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero");
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }
    function callOptionalReturn(ERC20 token, bytes memory data) private {
        require(address(token).isContract(), "SafeERC20: call to non-contract");
        (bool success, bytes memory returndata) = address(token).call(data);
        require(success, "SafeERC20: low-level call failed");
        if (returndata.length > 0) {
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

interface ERC20 {
    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);
}

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call.value(amount)("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"voteFactory","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"a","type":"address"},{"indexed":false,"internalType":"uint256","name":"b","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"c","type":"uint256"}],"name":"NowTokenPrice","type":"event"},{"inputs":[],"name":"activation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ethAmount","type":"uint256"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"uint256","name":"endBlock","type":"uint256"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"offerOwner","type":"address"}],"name":"addPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"addPriceCost","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"add","type":"address"},{"internalType":"bool","name":"isBlock","type":"bool"}],"name":"changeBlocklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changeDestructionAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"changeEffectTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voteFactory","type":"address"}],"name":"changeMapping","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ethAmount","type":"uint256"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"endBlock","type":"uint256"}],"name":"changePrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"changePriceCost","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"add","type":"address"}],"name":"checkBlocklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkDestructionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkEffectTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkPriceCost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"blockNum","type":"uint256"}],"name":"checkPriceForBlock","outputs":[{"internalType":"uint256","name":"ethAmount","type":"uint256"},{"internalType":"uint256","name":"erc20Amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"checkPriceNow","outputs":[{"internalType":"uint256","name":"ethAmount","type":"uint256"},{"internalType":"uint256","name":"erc20Amount","type":"uint256"},{"internalType":"uint256","name":"blockNum","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"checkUseNestPrice","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"num","type":"uint256"}],"name":"updateAndCheckPriceList","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"updateAndCheckPriceNow","outputs":[{"internalType":"uint256","name":"ethAmount","type":"uint256"},{"internalType":"uint256","name":"erc20Amount","type":"uint256"},{"internalType":"uint256","name":"blockNum","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"updateAndCheckPricePrivate","outputs":[{"internalType":"uint256","name":"ethAmount","type":"uint256"},{"internalType":"uint256","name":"erc20Amount","type":"uint256"}],"stateMutability":"view","type":"function"}]

608060405260006008556000600955662386f26fc10000600e553480156200002657600080fd5b506040516200232f3803806200232f833981810160405260208110156200004c57600080fd5b5051600080546001600160a01b0319166001600160a01b038316908117909155604080516347f3bf4360e11b815260206004820181905260116024830152703732b9ba173b199737b33332b926b0b4b760791b60448301529151849392638fe77e869260648082019391829003018186803b158015620000cb57600080fd5b505afa158015620000e0573d6000803e3d6000fd5b505050506040513d6020811015620000f757600080fd5b5051600380546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b8152602060048201819052601560248301527f6e6573742e6e546f6b656e2e6f666665724d61696e00000000000000000000006044830152915192841692638fe77e8692606480840193919291829003018186803b1580156200018357600080fd5b505afa15801562000198573d6000803e3d6000fd5b505050506040513d6020811015620001af57600080fd5b5051600580546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b8152602060048201819052600e60248301526d6e6573742e76332e61626f6e757360901b6044830152915192841692638fe77e8692606480840193919291829003018186803b1580156200022c57600080fd5b505afa15801562000241573d6000803e3d6000fd5b505050506040513d60208110156200025857600080fd5b5051600480546001600160a01b0319166001600160a01b03928316178155604080516347f3bf4360e11b81526020928101839052601360248201527f6e6573742e76332e6465737472756374696f6e000000000000000000000000006044820152905192841692638fe77e8692606480840193919291829003018186803b158015620002e357600080fd5b505afa158015620002f8573d6000803e3d6000fd5b505050506040513d60208110156200030f57600080fd5b5051600680546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b8152602060048083018290526024830152631b995cdd60e21b6044830152915192841692638fe77e8692606480840193919291829003018186803b1580156200038157600080fd5b505afa15801562000396573d6000803e3d6000fd5b505050506040513d6020811015620003ad57600080fd5b5051600180546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b8152602060048201819052601860248301527f6e6573742e6e546f6b656e2e746f6b656e4d617070696e6700000000000000006044830152915192841692638fe77e8692606480840193919291829003018186803b1580156200043957600080fd5b505afa1580156200044e573d6000803e3d6000fd5b505050506040513d60208110156200046557600080fd5b5051600280546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b8152602060048201819052601860248301527f6e6573742e6e546f6b656e2e746f6b656e41756374696f6e00000000000000006044830152915192841692638fe77e8692606480840193919291829003018186803b158015620004f157600080fd5b505afa15801562000506573d6000803e3d6000fd5b505050506040513d60208110156200051d57600080fd5b5051600780546001600160a01b039283166001600160a01b031990911617905560035481166000908152600d6020526040808220805460ff1990811660019081179092556005549094168352912080549092161790555050611daa80620005856000396000f3fe6080604052600436106101145760003560e01c806380cb1b85116100a0578063a834d32e11610064578063a834d32e1461043c578063aca97d6d14610462578063b99c310c14610495578063d3a2433e146104aa578063e3fb64d1146104f157610114565b806380cb1b851461031f57806381ead24c1461035a5780638f6f1c59146103a657806391501949146103df578063a781e7f81461040957610114565b80631b441848116100e75780631b441848146102355780632754d1a1146102865780633629c8de146102b05780634a6238d4146102c55780635d4d3bf7146102da57610114565b806308d0099e14610119578063156a0f821461019557806317ae7a58146101c15780631a27198f1461020e575b600080fd5b6101456004803603604081101561012f57600080fd5b506001600160a01b038135169060200135610524565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610181578181015183820152602001610169565b505050509050019250505060405180910390f35b3480156101a157600080fd5b506101bf600480360360208110156101b857600080fd5b5035610834565b005b3480156101cd57600080fd5b506101bf600480360360a08110156101e457600080fd5b508035906020810135906040810135906001600160a01b03606082013581169160800135166108f0565b34801561021a57600080fd5b506102236109bc565b60408051918252519081900360200190f35b34801561024157600080fd5b506102686004803603602081101561025857600080fd5b50356001600160a01b03166109c2565b60408051938452602084019290925282820152519081900360600190f35b34801561029257600080fd5b506101bf600480360360208110156102a957600080fd5b5035610ab1565b3480156102bc57600080fd5b506101bf610b6d565b3480156102d157600080fd5b50610223610bbd565b3480156102e657600080fd5b506101bf600480360360808110156102fd57600080fd5b508035906020810135906001600160a01b036040820135169060600135610bc3565b34801561032b57600080fd5b506101bf6004803603604081101561034257600080fd5b506001600160a01b0381351690602001351515610c71565b34801561036657600080fd5b5061038d6004803603602081101561037d57600080fd5b50356001600160a01b0316610d53565b6040805192835260208301919091528051918290030190f35b3480156103b257600080fd5b5061038d600480360360408110156103c957600080fd5b506001600160a01b038135169060200135610e78565b3480156103eb57600080fd5b506101bf6004803603602081101561040257600080fd5b5035610efa565b34801561041557600080fd5b506101bf6004803603602081101561042c57600080fd5b50356001600160a01b0316610fb6565b6102686004803603602081101561045257600080fd5b50356001600160a01b031661156d565b34801561046e57600080fd5b506101bf6004803603602081101561048557600080fd5b50356001600160a01b0316611821565b3480156104a157600080fd5b50610223611824565b3480156104b657600080fd5b506104dd600480360360208110156104cd57600080fd5b50356001600160a01b031661182a565b604080519115158252519081900360200190f35b3480156104fd57600080fd5b506104dd6004803603602081101561051457600080fd5b50356001600160a01b03166118a3565b606061052f3361182a565b61053857600080fd5b6001600160a01b0383166000908152600a602052604081209061056284600363ffffffff6118c116565b90506000809050606082604051908082528060200260200182016040528015610595578160200160208202803883390190505b506001600160a01b0388166000908152600a60205260409020600101549091505b83831080156105c55750600081115b156106825743811080156105e6575060008181526020869052604090205415155b1561066b57600081815260208690526040902054825160018501948491811061060b57fe5b6020026020010181815250508460008281526020019081526020016000206001015482848060010195508151811061063f57fe5b6020026020010181815250508082848060010195508151811061065e57fe5b6020026020010181815250505b6000908152602085905260409020600201546105b6565b8151841461068f57600080fd5b6002546040805163323442c360e11b81526001600160a01b038b8116600483015291516000939290921691636468858691602480820192602092909190829003018186803b1580156106e057600080fd5b505afa1580156106f4573d6000803e3d6000fd5b505050506040513d602081101561070a57600080fd5b505190506001600160a01b03811661078e5760048054600e5460015460408051631421854f60e31b81526001600160a01b03928316958101959095525192169263a10c2a7892602480830192600092919082900301818588803b15801561077057600080fd5b505af1158015610784573d6000803e3d6000fd5b50505050506107fd565b60048054600e5460408051631421854f60e31b81526001600160a01b03868116958201959095529051939092169263a10c2a789260248082019260009290919082900301818588803b1580156107e357600080fd5b505af11580156107f7573d6000803e3d6000fd5b50505050505b600e543411156108255761082533610820600e543461192190919063ffffffff16565b611963565b50909450505050505b92915050565b6000546040805163a3bf06f160e01b815233600482015290516001600160a01b039092169163a3bf06f191602480820192602092909190829003018186803b15801561087f57600080fd5b505afa158015610893573d6000803e3d6000fd5b505050506040513d60208110156108a957600080fd5b50516108eb576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600855565b336000908152600d602052604090205460ff16610943576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6001600160a01b0382166000908152600a6020908152604080832086845291829052909120805461097a908863ffffffff6119b616565b81556001810154610991908763ffffffff6119b616565b8160010181905550816001015485146109b35760018201805460028301558590555b50505050505050565b60085490565b60008080333214610a13576040805162461bcd60e51b8152602060048201526016602482015275125d0818d85b89dd08189948184818dbdb9d1c9858dd60521b604482015290519081900360640190fd5b6001600160a01b0384166000908152600a6020526040902060018101545b600081118015610a5757504381101580610a575750600081815260208390526040902054155b15610a7357600090815260208290526040902060020154610a31565b80610a8a575060009350839250829150610aaa9050565b600081815260209290925260409091208054600190910154909450925090505b9193909250565b6000546040805163a3bf06f160e01b815233600482015290516001600160a01b039092169163a3bf06f191602480820192602092909190829003018186803b158015610afc57600080fd5b505afa158015610b10573d6000803e3d6000fd5b505050506040513d6020811015610b2657600080fd5b5051610b68576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600955565b600654600854600154610b97926001600160a01b039182169233929091169063ffffffff611a1016565b600954610bab90429063ffffffff6119b616565b336000908152600c6020526040902055565b600e5490565b336000908152600d602052604090205460ff16610c16576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6001600160a01b0382166000908152600a60209081526040808320848452918290529091208054610c4d908763ffffffff61192116565b81556001810154610c64908663ffffffff61192116565b6001909101555050505050565b6000546040805163a3bf06f160e01b815233600482015290516001600160a01b039092169163a3bf06f191602480820192602092909190829003018186803b158015610cbc57600080fd5b505afa158015610cd0573d6000803e3d6000fd5b505050506040513d6020811015610ce657600080fd5b5051610d28576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b336000908152600d6020526040812054819060ff16610da8576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6001600160a01b0383166000908152600a6020526040902060018101545b600081118015610dec57504381101580610dec5750600081815260208390526040902054155b15610e0857600090815260208290526040902060020154610dc6565b80610e1c575060009250829150610e739050565b610e24611cf8565b50600090815260209182526040908190208151608081018352815480825260018301549482018590526002830154938201939093526003909101546001600160a01b0316606090910152925090505b915091565b600080333214610ec8576040805162461bcd60e51b8152602060048201526016602482015275125d0818d85b89dd08189948184818dbdb9d1c9858dd60521b604482015290519081900360640190fd5b50506001600160a01b03919091166000908152600a602090815260408083209383529290522080546001909101549091565b6000546040805163a3bf06f160e01b815233600482015290516001600160a01b039092169163a3bf06f191602480820192602092909190829003018186803b158015610f4557600080fd5b505afa158015610f59573d6000803e3d6000fd5b505050506040513d6020811015610f6f57600080fd5b5051610fb1576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600e55565b6000546040805163a3bf06f160e01b815233600482015290516001600160a01b039092169163a3bf06f191602480820192602092909190829003018186803b15801561100157600080fd5b505afa158015611015573d6000803e3d6000fd5b505050506040513d602081101561102b57600080fd5b505161106d576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117909155604080516347f3bf4360e11b815260206004820181905260116024830152703732b9ba173b199737b33332b926b0b4b760791b60448301529151849392638fe77e869260648082019391829003018186803b1580156110e957600080fd5b505afa1580156110fd573d6000803e3d6000fd5b505050506040513d602081101561111357600080fd5b5051600380546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b815260206004820181905260156024830152743732b9ba17372a37b5b2b71737b33332b926b0b4b760591b6044830152915192841692638fe77e8692606480840193919291829003018186803b15801561119657600080fd5b505afa1580156111aa573d6000803e3d6000fd5b505050506040513d60208110156111c057600080fd5b5051600580546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b8152602060048201819052600e60248301526d6e6573742e76332e61626f6e757360901b6044830152915192841692638fe77e8692606480840193919291829003018186803b15801561123c57600080fd5b505afa158015611250573d6000803e3d6000fd5b505050506040513d602081101561126657600080fd5b5051600480546001600160a01b0319166001600160a01b03928316178155604080516347f3bf4360e11b8152602092810183905260136024820152723732b9ba173b19973232b9ba393ab1ba34b7b760691b6044820152905192841692638fe77e8692606480840193919291829003018186803b1580156112e657600080fd5b505afa1580156112fa573d6000803e3d6000fd5b505050506040513d602081101561131057600080fd5b5051600680546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b8152602060048083018290526024830152631b995cdd60e21b6044830152915192841692638fe77e8692606480840193919291829003018186803b15801561138157600080fd5b505afa158015611395573d6000803e3d6000fd5b505050506040513d60208110156113ab57600080fd5b5051600180546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b8152602060048201819052601860248301527f6e6573742e6e546f6b656e2e746f6b656e4d617070696e6700000000000000006044830152915192841692638fe77e8692606480840193919291829003018186803b15801561143657600080fd5b505afa15801561144a573d6000803e3d6000fd5b505050506040513d602081101561146057600080fd5b5051600280546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b8152602060048201819052601860248301527f6e6573742e6e546f6b656e2e746f6b656e41756374696f6e00000000000000006044830152915192841692638fe77e8692606480840193919291829003018186803b1580156114eb57600080fd5b505afa1580156114ff573d6000803e3d6000fd5b505050506040513d602081101561151557600080fd5b5051600780546001600160a01b0319166001600160a01b0392831617905560035481166000908152600d6020526040808220805460ff1990811660019081179092556005549094168352912080549092161790555050565b600080600061157b3361182a565b61158457600080fd5b6001600160a01b0384166000908152600a6020526040902060018101545b6000811180156115c8575043811015806115c85750600081815260208390526040902054155b156115e4576000908152602082905260409020600201546115a2565b806115ee57600080fd5b6115f6611cf8565b50600081815260208381526040808320815160808101835281548152600182015481850152600280830154828501526003909201546001600160a01b0390811660608301529154835163323442c360e11b81528c8416600482015293519195949216926364688586926024808301939192829003018186803b15801561167b57600080fd5b505afa15801561168f573d6000803e3d6000fd5b505050506040513d60208110156116a557600080fd5b505190506001600160a01b0381166117295760048054600e5460015460408051631421854f60e31b81526001600160a01b03928316958101959095525192169263a10c2a7892602480830192600092919082900301818588803b15801561170b57600080fd5b505af115801561171f573d6000803e3d6000fd5b5050505050611798565b60048054600e5460408051631421854f60e31b81526001600160a01b03868116958201959095529051939092169263a10c2a789260248082019260009290919082900301818588803b15801561177e57600080fd5b505af1158015611792573d6000803e3d6000fd5b50505050505b600e543411156117bb576117bb33610820600e543461192190919063ffffffff16565b8151602080840151604080516001600160a01b038d168152928301939093528183015290517fddfa535cacea1d1e69a1a85fabd4691a3e0102bd5c80acd82f249a88d5d509889181900360600190a1508051602090910151909790965090945092505050565b50565b60095490565b6001600160a01b0381166000908152600b602052604081205460ff1615801561186a57506001600160a01b0382166000908152600c602052604090205442115b801561188d57506001600160a01b0382166000908152600c602052604090205415155b1561189a5750600161189e565b5060005b919050565b6001600160a01b03166000908152600b602052604090205460ff1690565b6000826118d05750600061082e565b828202828482816118dd57fe5b041461191a5760405162461bcd60e51b8152600401808060200182810382526021815260200180611d2a6021913960400191505060405180910390fd5b9392505050565b600061191a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a6a565b6000611977836001600160a01b0316611b01565b6040519091506001600160a01b0382169083156108fc029084906000818181858888f193505050501580156119b0573d6000803e3d6000fd5b50505050565b60008282018381101561191a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526119b0908590611b04565b60008184841115611af95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611abe578181015183820152602001611aa6565b50505050905090810190601f168015611aeb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b90565b611b16826001600160a01b0316611cbc565b611b67576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310611ba55780518252601f199092019160209182019101611b86565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611c07576040519150601f19603f3d011682016040523d82523d6000602084013e611c0c565b606091505b509150915081611c63576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156119b057808060200190516020811015611c7f57600080fd5b50516119b05760405162461bcd60e51b815260040180806020018281038252602a815260200180611d4b602a913960400191505060405180910390fd5b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611cf057508115155b949350505050565b604051806080016040528060008152602001600081526020016000815260200160006001600160a01b03168152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220efe4c444c74dfda4308c61b98115929498b5ada90bdfd9ba7e3785ea80eb9c1b64736f6c634300060000330000000000000000000000006cd5698e8854fb6879d6b1c694223b389b465dea

Deployed Bytecode

0x6080604052600436106101145760003560e01c806380cb1b85116100a0578063a834d32e11610064578063a834d32e1461043c578063aca97d6d14610462578063b99c310c14610495578063d3a2433e146104aa578063e3fb64d1146104f157610114565b806380cb1b851461031f57806381ead24c1461035a5780638f6f1c59146103a657806391501949146103df578063a781e7f81461040957610114565b80631b441848116100e75780631b441848146102355780632754d1a1146102865780633629c8de146102b05780634a6238d4146102c55780635d4d3bf7146102da57610114565b806308d0099e14610119578063156a0f821461019557806317ae7a58146101c15780631a27198f1461020e575b600080fd5b6101456004803603604081101561012f57600080fd5b506001600160a01b038135169060200135610524565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610181578181015183820152602001610169565b505050509050019250505060405180910390f35b3480156101a157600080fd5b506101bf600480360360208110156101b857600080fd5b5035610834565b005b3480156101cd57600080fd5b506101bf600480360360a08110156101e457600080fd5b508035906020810135906040810135906001600160a01b03606082013581169160800135166108f0565b34801561021a57600080fd5b506102236109bc565b60408051918252519081900360200190f35b34801561024157600080fd5b506102686004803603602081101561025857600080fd5b50356001600160a01b03166109c2565b60408051938452602084019290925282820152519081900360600190f35b34801561029257600080fd5b506101bf600480360360208110156102a957600080fd5b5035610ab1565b3480156102bc57600080fd5b506101bf610b6d565b3480156102d157600080fd5b50610223610bbd565b3480156102e657600080fd5b506101bf600480360360808110156102fd57600080fd5b508035906020810135906001600160a01b036040820135169060600135610bc3565b34801561032b57600080fd5b506101bf6004803603604081101561034257600080fd5b506001600160a01b0381351690602001351515610c71565b34801561036657600080fd5b5061038d6004803603602081101561037d57600080fd5b50356001600160a01b0316610d53565b6040805192835260208301919091528051918290030190f35b3480156103b257600080fd5b5061038d600480360360408110156103c957600080fd5b506001600160a01b038135169060200135610e78565b3480156103eb57600080fd5b506101bf6004803603602081101561040257600080fd5b5035610efa565b34801561041557600080fd5b506101bf6004803603602081101561042c57600080fd5b50356001600160a01b0316610fb6565b6102686004803603602081101561045257600080fd5b50356001600160a01b031661156d565b34801561046e57600080fd5b506101bf6004803603602081101561048557600080fd5b50356001600160a01b0316611821565b3480156104a157600080fd5b50610223611824565b3480156104b657600080fd5b506104dd600480360360208110156104cd57600080fd5b50356001600160a01b031661182a565b604080519115158252519081900360200190f35b3480156104fd57600080fd5b506104dd6004803603602081101561051457600080fd5b50356001600160a01b03166118a3565b606061052f3361182a565b61053857600080fd5b6001600160a01b0383166000908152600a602052604081209061056284600363ffffffff6118c116565b90506000809050606082604051908082528060200260200182016040528015610595578160200160208202803883390190505b506001600160a01b0388166000908152600a60205260409020600101549091505b83831080156105c55750600081115b156106825743811080156105e6575060008181526020869052604090205415155b1561066b57600081815260208690526040902054825160018501948491811061060b57fe5b6020026020010181815250508460008281526020019081526020016000206001015482848060010195508151811061063f57fe5b6020026020010181815250508082848060010195508151811061065e57fe5b6020026020010181815250505b6000908152602085905260409020600201546105b6565b8151841461068f57600080fd5b6002546040805163323442c360e11b81526001600160a01b038b8116600483015291516000939290921691636468858691602480820192602092909190829003018186803b1580156106e057600080fd5b505afa1580156106f4573d6000803e3d6000fd5b505050506040513d602081101561070a57600080fd5b505190506001600160a01b03811661078e5760048054600e5460015460408051631421854f60e31b81526001600160a01b03928316958101959095525192169263a10c2a7892602480830192600092919082900301818588803b15801561077057600080fd5b505af1158015610784573d6000803e3d6000fd5b50505050506107fd565b60048054600e5460408051631421854f60e31b81526001600160a01b03868116958201959095529051939092169263a10c2a789260248082019260009290919082900301818588803b1580156107e357600080fd5b505af11580156107f7573d6000803e3d6000fd5b50505050505b600e543411156108255761082533610820600e543461192190919063ffffffff16565b611963565b50909450505050505b92915050565b6000546040805163a3bf06f160e01b815233600482015290516001600160a01b039092169163a3bf06f191602480820192602092909190829003018186803b15801561087f57600080fd5b505afa158015610893573d6000803e3d6000fd5b505050506040513d60208110156108a957600080fd5b50516108eb576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600855565b336000908152600d602052604090205460ff16610943576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6001600160a01b0382166000908152600a6020908152604080832086845291829052909120805461097a908863ffffffff6119b616565b81556001810154610991908763ffffffff6119b616565b8160010181905550816001015485146109b35760018201805460028301558590555b50505050505050565b60085490565b60008080333214610a13576040805162461bcd60e51b8152602060048201526016602482015275125d0818d85b89dd08189948184818dbdb9d1c9858dd60521b604482015290519081900360640190fd5b6001600160a01b0384166000908152600a6020526040902060018101545b600081118015610a5757504381101580610a575750600081815260208390526040902054155b15610a7357600090815260208290526040902060020154610a31565b80610a8a575060009350839250829150610aaa9050565b600081815260209290925260409091208054600190910154909450925090505b9193909250565b6000546040805163a3bf06f160e01b815233600482015290516001600160a01b039092169163a3bf06f191602480820192602092909190829003018186803b158015610afc57600080fd5b505afa158015610b10573d6000803e3d6000fd5b505050506040513d6020811015610b2657600080fd5b5051610b68576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600955565b600654600854600154610b97926001600160a01b039182169233929091169063ffffffff611a1016565b600954610bab90429063ffffffff6119b616565b336000908152600c6020526040902055565b600e5490565b336000908152600d602052604090205460ff16610c16576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6001600160a01b0382166000908152600a60209081526040808320848452918290529091208054610c4d908763ffffffff61192116565b81556001810154610c64908663ffffffff61192116565b6001909101555050505050565b6000546040805163a3bf06f160e01b815233600482015290516001600160a01b039092169163a3bf06f191602480820192602092909190829003018186803b158015610cbc57600080fd5b505afa158015610cd0573d6000803e3d6000fd5b505050506040513d6020811015610ce657600080fd5b5051610d28576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b336000908152600d6020526040812054819060ff16610da8576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6001600160a01b0383166000908152600a6020526040902060018101545b600081118015610dec57504381101580610dec5750600081815260208390526040902054155b15610e0857600090815260208290526040902060020154610dc6565b80610e1c575060009250829150610e739050565b610e24611cf8565b50600090815260209182526040908190208151608081018352815480825260018301549482018590526002830154938201939093526003909101546001600160a01b0316606090910152925090505b915091565b600080333214610ec8576040805162461bcd60e51b8152602060048201526016602482015275125d0818d85b89dd08189948184818dbdb9d1c9858dd60521b604482015290519081900360640190fd5b50506001600160a01b03919091166000908152600a602090815260408083209383529290522080546001909101549091565b6000546040805163a3bf06f160e01b815233600482015290516001600160a01b039092169163a3bf06f191602480820192602092909190829003018186803b158015610f4557600080fd5b505afa158015610f59573d6000803e3d6000fd5b505050506040513d6020811015610f6f57600080fd5b5051610fb1576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600e55565b6000546040805163a3bf06f160e01b815233600482015290516001600160a01b039092169163a3bf06f191602480820192602092909190829003018186803b15801561100157600080fd5b505afa158015611015573d6000803e3d6000fd5b505050506040513d602081101561102b57600080fd5b505161106d576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117909155604080516347f3bf4360e11b815260206004820181905260116024830152703732b9ba173b199737b33332b926b0b4b760791b60448301529151849392638fe77e869260648082019391829003018186803b1580156110e957600080fd5b505afa1580156110fd573d6000803e3d6000fd5b505050506040513d602081101561111357600080fd5b5051600380546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b815260206004820181905260156024830152743732b9ba17372a37b5b2b71737b33332b926b0b4b760591b6044830152915192841692638fe77e8692606480840193919291829003018186803b15801561119657600080fd5b505afa1580156111aa573d6000803e3d6000fd5b505050506040513d60208110156111c057600080fd5b5051600580546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b8152602060048201819052600e60248301526d6e6573742e76332e61626f6e757360901b6044830152915192841692638fe77e8692606480840193919291829003018186803b15801561123c57600080fd5b505afa158015611250573d6000803e3d6000fd5b505050506040513d602081101561126657600080fd5b5051600480546001600160a01b0319166001600160a01b03928316178155604080516347f3bf4360e11b8152602092810183905260136024820152723732b9ba173b19973232b9ba393ab1ba34b7b760691b6044820152905192841692638fe77e8692606480840193919291829003018186803b1580156112e657600080fd5b505afa1580156112fa573d6000803e3d6000fd5b505050506040513d602081101561131057600080fd5b5051600680546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b8152602060048083018290526024830152631b995cdd60e21b6044830152915192841692638fe77e8692606480840193919291829003018186803b15801561138157600080fd5b505afa158015611395573d6000803e3d6000fd5b505050506040513d60208110156113ab57600080fd5b5051600180546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b8152602060048201819052601860248301527f6e6573742e6e546f6b656e2e746f6b656e4d617070696e6700000000000000006044830152915192841692638fe77e8692606480840193919291829003018186803b15801561143657600080fd5b505afa15801561144a573d6000803e3d6000fd5b505050506040513d602081101561146057600080fd5b5051600280546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b8152602060048201819052601860248301527f6e6573742e6e546f6b656e2e746f6b656e41756374696f6e00000000000000006044830152915192841692638fe77e8692606480840193919291829003018186803b1580156114eb57600080fd5b505afa1580156114ff573d6000803e3d6000fd5b505050506040513d602081101561151557600080fd5b5051600780546001600160a01b0319166001600160a01b0392831617905560035481166000908152600d6020526040808220805460ff1990811660019081179092556005549094168352912080549092161790555050565b600080600061157b3361182a565b61158457600080fd5b6001600160a01b0384166000908152600a6020526040902060018101545b6000811180156115c8575043811015806115c85750600081815260208390526040902054155b156115e4576000908152602082905260409020600201546115a2565b806115ee57600080fd5b6115f6611cf8565b50600081815260208381526040808320815160808101835281548152600182015481850152600280830154828501526003909201546001600160a01b0390811660608301529154835163323442c360e11b81528c8416600482015293519195949216926364688586926024808301939192829003018186803b15801561167b57600080fd5b505afa15801561168f573d6000803e3d6000fd5b505050506040513d60208110156116a557600080fd5b505190506001600160a01b0381166117295760048054600e5460015460408051631421854f60e31b81526001600160a01b03928316958101959095525192169263a10c2a7892602480830192600092919082900301818588803b15801561170b57600080fd5b505af115801561171f573d6000803e3d6000fd5b5050505050611798565b60048054600e5460408051631421854f60e31b81526001600160a01b03868116958201959095529051939092169263a10c2a789260248082019260009290919082900301818588803b15801561177e57600080fd5b505af1158015611792573d6000803e3d6000fd5b50505050505b600e543411156117bb576117bb33610820600e543461192190919063ffffffff16565b8151602080840151604080516001600160a01b038d168152928301939093528183015290517fddfa535cacea1d1e69a1a85fabd4691a3e0102bd5c80acd82f249a88d5d509889181900360600190a1508051602090910151909790965090945092505050565b50565b60095490565b6001600160a01b0381166000908152600b602052604081205460ff1615801561186a57506001600160a01b0382166000908152600c602052604090205442115b801561188d57506001600160a01b0382166000908152600c602052604090205415155b1561189a5750600161189e565b5060005b919050565b6001600160a01b03166000908152600b602052604090205460ff1690565b6000826118d05750600061082e565b828202828482816118dd57fe5b041461191a5760405162461bcd60e51b8152600401808060200182810382526021815260200180611d2a6021913960400191505060405180910390fd5b9392505050565b600061191a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a6a565b6000611977836001600160a01b0316611b01565b6040519091506001600160a01b0382169083156108fc029084906000818181858888f193505050501580156119b0573d6000803e3d6000fd5b50505050565b60008282018381101561191a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526119b0908590611b04565b60008184841115611af95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611abe578181015183820152602001611aa6565b50505050905090810190601f168015611aeb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b90565b611b16826001600160a01b0316611cbc565b611b67576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310611ba55780518252601f199092019160209182019101611b86565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611c07576040519150601f19603f3d011682016040523d82523d6000602084013e611c0c565b606091505b509150915081611c63576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156119b057808060200190516020811015611c7f57600080fd5b50516119b05760405162461bcd60e51b815260040180806020018281038252602a815260200180611d4b602a913960400191505060405180910390fd5b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611cf057508115155b949350505050565b604051806080016040528060008152602001600081526020016000815260200160006001600160a01b03168152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220efe4c444c74dfda4308c61b98115929498b5ada90bdfd9ba7e3785ea80eb9c1b64736f6c63430006000033

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

0000000000000000000000006cd5698e8854fb6879d6b1c694223b389b465dea

-----Decoded View---------------
Arg [0] : voteFactory (address): 0x6Cd5698E8854Fb6879d6B1C694223b389B465dea

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006cd5698e8854fb6879d6b1c694223b389b465dea


Deployed Bytecode Sourcemap

92:14120:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9077:1437;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9077:1437:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;9077:1437:0;;;;;;;;;;;;;;;;;13493:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13493:111:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13493:111:0;;:::i;:::-;;5198:683;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5198:683:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;5198:683:0;;;;;;;;;;;;;-1:-1:-1;;;;;5198:683:0;;;;;;;;;;;;:::i;12860:106::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12860:106:0;;;:::i;:::-;;;;;;;;;;;;;;;;11498:785;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11498:785:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11498:785:0;-1:-1:-1;;;;;11498:785:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;13672:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13672:91:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13672:91:0;;:::i;10571:204::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10571:204:0;;;:::i;13167:92::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13167:92:0;;;:::i;6121:409::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6121:409:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;6121:409:0;;;;;;;;-1:-1:-1;;;;;6121:409:0;;;;;;;;;;:::i;13301:113::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13301:113:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13301:113:0;;;;;;;;;;:::i;8182:691::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8182:691:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8182:691:0;-1:-1:-1;;;;;8182:691:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11033:399;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11033:399:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11033:399:0;;;;;;;;:::i;13805:90::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13805:90:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13805:90:0;;:::i;3751:1003::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3751:1003:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3751:1003:0;-1:-1:-1;;;;;3751:1003:0;;:::i;6758:1219::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6758:1219:0;-1:-1:-1;;;;;6758:1219:0;;:::i;4877:68::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4877:68:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4877:68:0;-1:-1:-1;;;;;4877:68:0;;:::i;13033:93::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13033:93:0;;;:::i;12360:259::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12360:259:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12360:259:0;-1:-1:-1;;;;;12360:259:0;;:::i;:::-;;;;;;;;;;;;;;;;;;12685:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12685:104:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12685:104:0;-1:-1:-1;;;;;12685:104:0;;:::i;9077:1437::-;9169:16;9206:38;9232:10;9206:17;:38::i;:::-;9198:47;;;;;;-1:-1:-1;;;;;9310:24:0;;9256:51;9310:24;;;:10;:24;;;;;;9401:10;:3;9409:1;9401:10;:7;:10;:::i;:::-;9384:27;;9422:13;9438:1;9422:17;;9450:21;9488:6;9474:21;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;9474:21:0;-1:-1:-1;;;;;;9527:24:0;;9506:18;9527:24;;;:10;:24;;;;;:36;;;9450:45;;-1:-1:-1;9574:443:0;9588:6;9580:5;:14;:32;;;;;9611:1;9598:10;:14;9580:32;9574:443;;;9645:12;9632:10;:25;:69;;;;-1:-1:-1;9661:25:0;;;;;;;;;;;:35;:40;;9632:69;9628:314;;;9774:25;;;;;;;;;;;:35;9758:13;;9763:7;;;;9758:4;;:13;;;;;;;;;;;:51;;;;;9844:13;:25;9858:10;9844:25;;;;;;;;;;;:37;;;9828:4;9833:7;;;;;;9828:13;;;;;;;;;;;;;:53;;;;;9916:10;9900:4;9905:7;;;;;;9900:13;;;;;;;;;;;;;:26;;;;;9628:314;9969:25;;;;;;;;;;;:36;;;9574:443;;;10045:4;:11;10035:6;:21;10027:30;;;;;;10108:13;;:45;;;-1:-1:-1;;;10108:45:0;;-1:-1:-1;;;;;10108:45:0;;;;;;;;;10091:14;;10108:13;;;;;:31;;:45;;;;;;;;;;;;;;;:13;:45;;;5:2:-1;;;;30:1;27;20:12;5:2;10108:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10108:45:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10108:45:0;;-1:-1:-1;;;;;;10168:22:0;;10164:200;;10207:7;;;10233:10;;10207:7;10253:10;10207:58;;;-1:-1:-1;;;10207:58:0;;-1:-1:-1;;;;;10253:10:0;;;10207:58;;;;;;;;:7;;;:19;;:58;;;;;:7;;:58;;;;;;;10233:10;10207:7;:58;;;5:2:-1;;;;30:1;27;20:12;5:2;10207:58:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10207:58:0;;;;;10164:200;;;10298:7;;;10324:10;;10298:54;;;-1:-1:-1;;;10298:54:0;;-1:-1:-1;;;;;10298:54:0;;;;;;;;;;;;:7;;;;;:19;;:54;;;;;:7;;:54;;;;;;;;10324:10;10298:7;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;10298:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10298:54:0;;;;;10164:200;10390:10;;10378:9;:22;10374:111;;;10417:56;10434:10;10447:25;10461:10;;10447:9;:13;;:25;;;;:::i;:::-;10417:8;:56::i;:::-;-1:-1:-1;10502:4:0;;-1:-1:-1;;;;;9077:1437:0;;;;;:::o;13493:111::-;14136:12;;:36;;;-1:-1:-1;;;14136:36:0;;14161:10;14136:36;;;;;;-1:-1:-1;;;;;14136:12:0;;;;:24;;:36;;;;;;;;;;;;;;;:12;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;14136:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14136:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14136:36:0;14128:61;;;;;-1:-1:-1;;;14128:61:0;;;;;;;;;;;;-1:-1:-1;;;14128:61:0;;;;;;;;;;;;;;;13570:17:::1;:26:::0;13493:111::o;5198:683::-;14003:10;13977:38;;;;:17;:38;;;;;;;;13969:63;;;;;-1:-1:-1;;;13969:63:0;;;;;;;;;;;;-1:-1:-1;;;13969:63:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5427:24:0;::::1;5397:27;5427:24:::0;;;:10:::1;:24;::::0;;;;;;;5492:33;;;;;;;;;;5558:19;;:34:::1;::::0;5582:9;5558:34:::1;:23;:34;:::i;:::-;5536:56:::0;;5627:21:::1;::::0;::::1;::::0;:38:::1;::::0;5653:11;5627:38:::1;:25;:38;:::i;:::-;5603:9;:21;;:62;;;;5692:9;:21;;;5680:8;:33;5676:198;;5794:21;::::0;::::1;::::0;;5771:20:::1;::::0;::::1;:44:::0;5830:32;;;5676:198:::1;14043:1;;5198:683:::0;;;;;:::o;12860:106::-;12941:17;;12860:106;:::o;11498:785::-;11564:17;;;11649:10;11672:9;11641:41;11633:76;;;;;-1:-1:-1;;;11633:76:0;;;;;;;;;;;;-1:-1:-1;;;11633:76:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11774:24:0;;11720:51;11774:24;;;:10;:24;;;;;11844:36;;;;11891:174;11910:1;11897:10;:14;:90;;;;;11930:12;11916:10;:26;;:70;;;-1:-1:-1;11946:25:0;;;;;;;;;;;:35;:40;11916:70;11891:174;;;12017:25;;;;;;;;;;;:36;;;11891:174;;;12079:15;12075:62;;-1:-1:-1;12119:1:0;;-1:-1:-1;12119:1:0;;-1:-1:-1;12119:1:0;;-1:-1:-1;12111:14:0;;-1:-1:-1;12111:14:0;12075:62;12147:27;12177:25;;;;;;;;;;;;12221:19;;12241:21;;;;;12221:19;;-1:-1:-1;12241:21:0;-1:-1:-1;12191:10:0;-1:-1:-1;11498:785:0;;;;;;:::o;13672:91::-;14136:12;;:36;;;-1:-1:-1;;;14136:36:0;;14161:10;14136:36;;;;;;-1:-1:-1;;;;;14136:12:0;;;;:24;;:36;;;;;;;;;;;;;;;:12;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;14136:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14136:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14136:36:0;14128:61;;;;;-1:-1:-1;;;14128:61:0;;;;;;;;;;;;-1:-1:-1;;;14128:61:0;;;;;;;;;;;;;;;13739:10:::1;:16:::0;13672:91::o;10571:204::-;10660:19;;10681:17;;10660:19;10611:10;:88;;-1:-1:-1;;;;;10611:10:0;;;;10647;;10660:19;;;;10611:88;:27;:88;:::i;:::-;10756:10;;10748:19;;:3;;:19;:7;:19;:::i;:::-;10733:10;10710:35;;;;:14;:35;;;;;:57;10571:204::o;13167:92::-;13241:10;;13167:92;:::o;6121:409::-;14003:10;13977:38;;;;:17;:38;;;;;;;;13969:63;;;;;-1:-1:-1;;;13969:63:0;;;;;;;;;;;;-1:-1:-1;;;13969:63:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6284:24:0;::::1;6254:27;6284:24:::0;;;:10:::1;:24;::::0;;;;;;;6349:33;;;;;;;;;;6415:19;;:34:::1;::::0;6439:9;6415:34:::1;:23;:34;:::i;:::-;6393:56:::0;;6484:21:::1;::::0;::::1;::::0;:38:::1;::::0;6510:11;6484:38:::1;:25;:38;:::i;:::-;6460:21;::::0;;::::1;:62:::0;-1:-1:-1;;;;;6121:409:0:o;13301:113::-;14136:12;;:36;;;-1:-1:-1;;;14136:36:0;;14161:10;14136:36;;;;;;-1:-1:-1;;;;;14136:12:0;;;;:24;;:36;;;;;;;;;;;;;;;:12;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;14136:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14136:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14136:36:0;14128:61;;;;;-1:-1:-1;;;14128:61:0;;;;;;;;;;;;-1:-1:-1;;;14128:61:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13381:15:0;;;::::1;;::::0;;;:10:::1;:15;::::0;;;;:25;;-1:-1:-1;;13381:25:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13301:113::o;8182:691::-;14003:10;8274:17;13977:38;;;:17;:38;;;;;;8274:17;;13977:38;;13969:63;;;;;-1:-1:-1;;;13969:63:0;;;;;;;;;;;;-1:-1:-1;;;13969:63:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;8379:24:0;::::1;8325:51;8379:24:::0;;;:10:::1;:24;::::0;;;;8449:36:::1;::::0;::::1;::::0;8496:174:::1;8515:1;8502:10;:14;:90;;;;;8535:12;8521:10;:26;;:70;;;-1:-1:-1::0;8551:25:0::1;::::0;;;::::1;::::0;;;;;;:35;:40;8521:70:::1;8496:174;;;8622:25;::::0;;;::::1;::::0;;;;;;:36:::1;;::::0;8496:174:::1;;;8684:15:::0;8680:60:::1;;-1:-1:-1::0;8724:1:0::1;::::0;-1:-1:-1;8724:1:0;;-1:-1:-1;8716:12:0::1;::::0;-1:-1:-1;8716:12:0::1;8680:60;8750:26;;:::i;:::-;-1:-1:-1::0;8779:25:0::1;::::0;;;::::1;::::0;;;;;;;;8750:54;;::::1;::::0;::::1;::::0;;;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;;;;;::::1;::::0;;::::1;::::0;-1:-1:-1;;;;;8750:54:0::1;::::0;;;;;;-1:-1:-1;8750:54:0;-1:-1:-1;14043:1:0::1;8182:691:::0;;;:::o;11033:399::-;11122:17;;11189:10;11212:9;11181:41;11173:76;;;;;-1:-1:-1;;;11173:76:0;;;;;;;;;;;;-1:-1:-1;;;11173:76:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;11290:24:0;;;;11260:27;11290:24;;;:10;:24;;;;;;;;11333:33;;;;;;;:43;;11378:45;;;;;11333:43;;11033:399::o;13805:90::-;14136:12;;:36;;;-1:-1:-1;;;14136:36:0;;14161:10;14136:36;;;;;;-1:-1:-1;;;;;14136:12:0;;;;:24;;:36;;;;;;;;;;;;;;;:12;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;14136:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14136:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14136:36:0;14128:61;;;;;-1:-1:-1;;;14128:61:0;;;;;;;;;;;;-1:-1:-1;;;14128:61:0;;;;;;;;;;;;;;;13871:10:::1;:16:::0;13805:90::o;3751:1003::-;14136:12;;:36;;;-1:-1:-1;;;14136:36:0;;14161:10;14136:36;;;;;;-1:-1:-1;;;;;14136:12:0;;;;:24;;:36;;;;;;;;;;;;;;;:12;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;14136:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14136:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14136:36:0;14128:61;;;;;-1:-1:-1;;;14128:61:0;;;;;;;;;;;;-1:-1:-1;;;14128:61:0;;;;;;;;;;;;;;;3823:33:::1;3910:29:::0;;-1:-1:-1;;;;;;3910:29:0::1;-1:-1:-1::0;;;;;3910:29:0;::::1;::::0;;::::1;::::0;;;4023:48:::1;::::0;;-1:-1:-1;;;4023:48:0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;4023:48:0;;;;;;3910:29;;;4023:27:::1;::::0;:48;;;;;;;;;;;3910:29;4023:48;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;4023:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;4023:48:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;4023:48:0;3985:10:::1;:88:::0;;-1:-1:-1;;;;;;3985:88:0::1;-1:-1:-1::0;;;;;3985:88:0;;::::1;;::::0;;4110:52:::1;::::0;;-1:-1:-1;;;4110:52:0;;4023:48:::1;4110:52;::::0;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;4110:52:0;;;;;;:27;;::::1;::::0;::::1;::::0;:52;;;;;4023:48;;4110:52;;;;;;:27;:52;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;4110:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;4110:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;4110:52:0;4084:15:::1;:79:::0;;-1:-1:-1;;;;;;4084:79:0::1;-1:-1:-1::0;;;;;4084:79:0;;::::1;;::::0;;4206:45:::1;::::0;;-1:-1:-1;;;4206:45:0;;4110:52:::1;4206:45;::::0;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;4206:45:0;;;;;;:27;;::::1;::::0;::::1;::::0;:45;;;;;4110:52;;4206:45;;;;;;:27;:45;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;4206:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;4206:45:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;4206:45:0;4174:7:::1;:79:::0;;-1:-1:-1;;;;;;4174:79:0::1;-1:-1:-1::0;;;;;4174:79:0;;::::1;;::::0;;4294:50:::1;::::0;;-1:-1:-1;;;4294:50:0;;4206:45:::1;4294:50:::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;4294:50:0;;;;;;:27;;::::1;::::0;::::1;::::0;:50;;;;;4206:45;;4294:50;;;;;;:27;:50;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;4294:50:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;4294:50:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;4294:50:0;4264:19:::1;:81:::0;;-1:-1:-1;;;;;;4264:81:0::1;-1:-1:-1::0;;;;;4264:81:0;;::::1;;::::0;;4383:35:::1;::::0;;-1:-1:-1;;;4383:35:0;;4294:50:::1;4383:35;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;4383:35:0;;;;;;:27;;::::1;::::0;::::1;::::0;:35;;;;;4294:50;;4383:35;;;;;;:27;:35;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;4383:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;4383:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;4383:35:0;4356:10:::1;:64:::0;;-1:-1:-1;;;;;;4356:64:0::1;-1:-1:-1::0;;;;;4356:64:0;;::::1;;::::0;;4480:55:::1;::::0;;-1:-1:-1;;;4480:55:0;;4383:35:::1;4480:55;::::0;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;;;;;;:27;;::::1;::::0;::::1;::::0;:55;;;;;4383:35;;4480:55;;;;;;:27;:55;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;4480:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;4480:55:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;4480:55:0;4431:13:::1;:106:::0;;-1:-1:-1;;;;;;4431:106:0::1;-1:-1:-1::0;;;;;4431:106:0;;::::1;;::::0;;4573:55:::1;::::0;;-1:-1:-1;;;4573:55:0;;4480::::1;4573;::::0;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;;;;;;:27;;::::1;::::0;::::1;::::0;:55;;;;;4480;;4573;;;;;;:27;:55;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;4573:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;4573:55:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;4573:55:0;4548:14:::1;:81:::0;;-1:-1:-1;;;;;;4548:81:0::1;-1:-1:-1::0;;;;;4548:81:0;;::::1;;::::0;;4666:10:::1;::::0;;::::1;-1:-1:-1::0;4640:38:0;;;:17:::1;4573:55;4640:38:::0;;;;;:45;;-1:-1:-1;;4640:45:0;;::::1;-1:-1:-1::0;4640:45:0;;::::1;::::0;;;4722:15:::1;::::0;;;::::1;4696:43:::0;;;;:50;;;;::::1;;::::0;;-1:-1:-1;;3751:1003:0:o;6758:1219::-;6835:17;6854:19;6875:16;6912:38;6938:10;6912:17;:38::i;:::-;6904:47;;;;;;-1:-1:-1;;;;;7016:24:0;;6962:51;7016:24;;;:10;:24;;;;;7086:36;;;;7133:174;7152:1;7139:10;:14;:90;;;;;7172:12;7158:10;:26;;:70;;;-1:-1:-1;7188:25:0;;;;;;;;;;;:35;:40;7158:70;7133:174;;;7259:25;;;;;;;;;;;:36;;;7133:174;;;7325:15;7317:24;;;;;;7352:26;;:::i;:::-;-1:-1:-1;7381:25:0;;;;;;;;;;;;7352:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7352:54:0;;;;;;;7434:13;;:45;;-1:-1:-1;;;7434:45:0;;;;;;;;;;;7352:54;;7381:25;7434:13;;;:31;;:45;;;;;7381:25;;7434:45;;;;;:13;:45;;;5:2:-1;;;;30:1;27;20:12;5:2;7434:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7434:45:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7434:45:0;;-1:-1:-1;;;;;;7494:22:0;;7490:200;;7533:7;;;7559:10;;7533:7;7579:10;7533:58;;;-1:-1:-1;;;7533:58:0;;-1:-1:-1;;;;;7579:10:0;;;7533:58;;;;;;;;:7;;;:19;;:58;;;;;:7;;:58;;;;;;;7559:10;7533:7;:58;;;5:2:-1;;;;30:1;27;20:12;5:2;7533:58:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7533:58:0;;;;;7490:200;;;7624:7;;;7650:10;;7624:54;;;-1:-1:-1;;;7624:54:0;;-1:-1:-1;;;;;7624:54:0;;;;;;;;;;;;:7;;;;;:19;;:54;;;;;:7;;:54;;;;;;;;7650:10;7624:7;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;7624:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7624:54:0;;;;;7490:200;7716:10;;7704:9;:22;7700:111;;;7743:56;7760:10;7773:25;7787:10;;7773:9;:13;;:25;;;;:::i;7743:56::-;7853:19;;7874:21;;;;;7826:70;;;-1:-1:-1;;;;;7826:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7915:19:0;;7935:21;;;;;7915:19;;7935:21;;-1:-1:-1;7958:10:0;;-1:-1:-1;6758:1219:0;-1:-1:-1;;;6758:1219:0:o;4877:68::-;;:::o;13033:93::-;13108:10;;13033:93;:::o;12360:259::-;-1:-1:-1;;;;;12446:18:0;;12424:4;12446:18;;;:10;:18;;;;;;;;12445:19;:51;;;;-1:-1:-1;;;;;;12468:22:0;;;;;;:14;:22;;;;;;12493:3;-1:-1:-1;12445:51:0;:82;;;;-1:-1:-1;;;;;;12500:22:0;;;;;;:14;:22;;;;;;:27;;12445:82;12441:171;;;-1:-1:-1;12551:4:0;12544:11;;12441:171;-1:-1:-1;12595:5:0;12441:171;12360:259;;;:::o;12685:104::-;-1:-1:-1;;;;;12766:15:0;12742:4;12766:15;;;:10;:15;;;;;;;;;12685:104::o;15444:248::-;15502:7;15526:6;15522:47;;-1:-1:-1;15556:1:0;15549:8;;15522:47;15591:5;;;15595:1;15591;:5;:1;15615:5;;;;;:10;15607:56;;;;-1:-1:-1;;;15607:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15683:1;15444:248;-1:-1:-1;;;15444:248:0:o;15104:136::-;15162:7;15189:43;15193:1;15196;15189:43;;;;;;;;;;;;;;;;;:3;:43::i;10808:167::-;10884:20;10907:29;:14;-1:-1:-1;;;;;10907:27:0;;:29::i;:::-;10947:20;;10884:52;;-1:-1:-1;;;;;;10947:13:0;;;:20;;;;;10961:5;;10947:20;;;;10961:5;10947:13;:20;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10947:20:0;10808:167;;;:::o;14917:181::-;14975:7;15007:5;;;15031:6;;;;15023:46;;;;;-1:-1:-1;;;15023:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;16772:203;16898:68;;;-1:-1:-1;;;;;16898:68:0;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;16898:68:0;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;16872:95:0;;16891:5;;16872:18;:95::i;15246:192::-;15332:7;15368:12;15360:6;;;;15352:29;;;;-1:-1:-1;;;15352:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15352:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15404:5:0;;;15246:192::o;16375:115::-;16480:1;16375:115::o;17964:448::-;18051:27;18059:5;-1:-1:-1;;;;;18051:25:0;;:27::i;:::-;18043:71;;;;;-1:-1:-1;;;18043:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18126:12;18140:23;18175:5;-1:-1:-1;;;;;18167:19:0;18187:4;18167:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;18167:25:0;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;18125:67:0;;;;18211:7;18203:52;;;;;-1:-1:-1;;;18203:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18270:17;;:21;18266:139;;18327:10;18316:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18316:30:0;18308:85;;;;-1:-1:-1;;;18308:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19118:317;19178:4;19344:20;;19244:66;19384:23;;;;;;:42;;-1:-1:-1;19411:15:0;;;19384:42;19376:51;19118:317;-1:-1:-1;;;;19118:317:0:o;92:14120::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;92:14120:0;;;;;:::o

Swarm Source

ipfs://efe4c444c74dfda4308c61b98115929498b5ada90bdfd9ba7e3785ea80eb9c1b

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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