Contract 0x27ae99377fa236E0794587266D65973b75C9945B

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xc8be4d480932c5c097a8b086eb8311f120422ac4679dd3ffb3e67bf6e54fccf1Claim Time Lines117767952022-01-15 5:26:5711 days 21 hrs ago0x1c1bdadd6b167f4a60dfeccc525534bf0f5bf323 IN 0x27ae99377fa236e0794587266d65973b75c9945b0 HT0.0002078775 2.25
0x07e81a4ce81f72bb100a22e5662694a7d614930530dd909ffa2627ac229f5ec8Set Swap Info117767242022-01-15 5:23:2411 days 21 hrs ago0x1c1bdadd6b167f4a60dfeccc525534bf0f5bf323 IN 0x27ae99377fa236e0794587266d65973b75c9945b0 HT0.0001665945 2.25
0xad750db755e8835f9edc63f940cc0930d1e36f747f697505f3f5d90610b74a4aEnable Swap117767102022-01-15 5:22:4211 days 21 hrs ago0x1c1bdadd6b167f4a60dfeccc525534bf0f5bf323 IN 0x27ae99377fa236e0794587266d65973b75c9945b0 HT0.00006402825 2.25
0xd76825329d14e97f5c8c5a0906b4fcc1e8b6249a76771029dd94162abb0c3a33Enable Claim117767092022-01-15 5:22:3911 days 21 hrs ago0x1c1bdadd6b167f4a60dfeccc525534bf0f5bf323 IN 0x27ae99377fa236e0794587266d65973b75c9945b0 HT0.00010245375 2.25
0xf2ac9365982d01606e17e73776a5fb446a73fc224a1999a84df495c8fc99834c0x60806040117567292022-01-14 12:43:3912 days 14 hrs ago0x1c1bdadd6b167f4a60dfeccc525534bf0f5bf323 IN  Create: SwapPool0 HT0.0023533065 2.25
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SwapPool

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at hecoinfo.com on 2022-01-14
*/

pragma solidity =0.6.12;
pragma experimental ABIEncoderV2;
// SPDX-License-Identifier: MIT

interface IERC20 {
    function balanceOf(address account) external view returns (uint256);

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

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

    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

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

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

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

    function _callOptionalReturn(IERC20 token, bytes memory data) private {
        bytes memory returndata = address(token).functionCall(data, "e0");
        if (returndata.length > 0) {
            require(abi.decode(returndata, (bool)), "e1");
        }
    }
}

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

abstract contract ReentrancyGuard {
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;
    uint256 private _status;

    constructor() internal {
        _status = _NOT_ENTERED;
    }

    modifier nonReentrant() {
        require(_status != _ENTERED, "e3");
        _status = _ENTERED;
        _;
        _status = _NOT_ENTERED;
    }
}

contract Ownable is Context {
    address private _owner;

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

    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ow1");
        _;
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ow2");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

library Address {
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "e4");
        (bool success, bytes memory returndata) = target.call{value : weiValue}(data);
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "e5");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "e6");
        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, "e7");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "e8");
        uint256 c = a / b;
        return c;
    }
}

interface IERC721Enumerable {
    function transferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;

    // function ownerOf(uint256 tokenId) external view returns (address owner);
    // function name() external view returns (string memory);
    // function symbol() external view returns (string memory);
    // function tokenURI(uint256 tokenId) external view returns (string memory);
    // function mintForMiner(address _to) external returns (bool, uint256);
    // function MinerList(address _address) external returns (bool);
}

contract SwapPool is Ownable,ReentrancyGuard {
    using SafeMath for uint256;
    //using Address for address;
    using SafeERC20 for IERC20;
    bool canSwap = false;
    bool canClaim = false;
    IERC20 public swapToken;
    uint256 public swapPrice;
    IERC721Enumerable public SwapNFT;
    uint256 public claimTimes = 0;
    mapping(uint256 => uint256) public canClaimBlockNumList;
    mapping(uint256 => uint256) public canClaimAmountList;
    mapping(address => mapping(uint256 => uint256)) public canClaimAmount;
    mapping(address => mapping(uint256 => mapping(uint256 => claimiItem))) public userClaimList;
    mapping(address => uint256[]) public userTokenIdList;

    struct claimiItem {
        uint256 tokenId;
        bool hasClaim;
    }
    
    function enableSwap() external onlyOwner {
        canSwap = true;
    }
    
    function disableSwap() external onlyOwner {
        canSwap = false;
    }
    
    function enableClaim() external onlyOwner {
        canClaim = true;
    }
    
     function disableClaim() external onlyOwner {
        canClaim = false;
    }

    function setSwapInfo(IERC20 _swapToken, uint256 _swapPrice, IERC721Enumerable _SwapNFT) public onlyOwner {
        swapToken = _swapToken;
        swapPrice = _swapPrice;
        SwapNFT = _SwapNFT;
    }

    function claimTimeLines(uint256[] memory timeList, uint256[] memory amountList) public onlyOwner {
        claimTimes = 0;
        for (uint256 i = 0; i < timeList.length; i++) {
            canClaimBlockNumList[i] = timeList[i];
            canClaimAmountList[i] = amountList[i];
            claimTimes = claimTimes.add(1);
        }
    }

    function SwapToken(uint256 _tokenId) external nonReentrant {
        require(canSwap,"k01");
        userTokenIdList[msg.sender].push(_tokenId);
        SwapNFT.transferFrom(msg.sender, 0x000000000000000000000000000000000000dEaD, _tokenId);
        canClaimAmount[msg.sender][_tokenId] = swapPrice;
        for (uint256 i = 0; i < claimTimes; i++) {
            userClaimList[msg.sender][_tokenId][i] = claimiItem(_tokenId, false);
        }
    }

    function getUserTokenIdList(address _address) external view returns (uint256[] memory) {
        return userTokenIdList[_address];
    }

    function claimToken(uint256 _tokenId, uint256 _time) external nonReentrant {
        require(canClaim,"k01");
        require(canClaimAmount[msg.sender][_tokenId] > 0, "e1");
        require(!userClaimList[msg.sender][_tokenId][_time].hasClaim, "e2");
        require(block.timestamp >= canClaimBlockNumList[_time], "e3");
        swapToken.safeTransfer(msg.sender, canClaimAmountList[_time]);
        userClaimList[msg.sender][_tokenId][_time].hasClaim = true;
    }

    function takeErc20Token(IERC20 _token) external onlyOwner {
        uint256 amount = _token.balanceOf(address(this));
        require(amount > 0, "e07");
        _token.safeTransfer(msg.sender, amount);
    }

}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"SwapNFT","outputs":[{"internalType":"contract IERC721Enumerable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"SwapToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"canClaimAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"canClaimAmountList","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"canClaimBlockNumList","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"timeList","type":"uint256[]"},{"internalType":"uint256[]","name":"amountList","type":"uint256[]"}],"name":"claimTimeLines","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimTimes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_time","type":"uint256"}],"name":"claimToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getUserTokenIdList","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_swapToken","type":"address"},{"internalType":"uint256","name":"_swapPrice","type":"uint256"},{"internalType":"contract IERC721Enumerable","name":"_SwapNFT","type":"address"}],"name":"setSwapInfo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"}],"name":"takeErc20Token","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"userClaimList","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bool","name":"hasClaim","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"userTokenIdList","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

60806040526002805461ffff19169055600060055534801561002057600080fd5b50600061002b61007e565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060018055610082565b3390565b611103806100916000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80638da5cb5b116100b8578063bf6b8adc1161007c578063bf6b8adc14610262578063c7f53f621461026a578063dc73e49c14610272578063eb39b5331461027a578063f2fde38b1461028d578063fd5b9026146102a057610137565b80638da5cb5b146101f45780639ba4f42014610209578063b0e01b2e1461021c578063b1b227411461022f578063b8347e3e1461024f57610137565b80634532c984116100ff5780634532c9841461019257806349db4cc9146101a55780634f1bd0c4146101b85780636831e0d8146101d95780637f63ab94146101e157610137565b806328dae6e31461013c57806329691448146101465780632a041d021461014e5780633f0ca1a91461017757806344991f5d1461017f575b600080fd5b6101446102a8565b005b6101446102f7565b61016161015c366004610e37565b61033b565b60405161016e919061106c565b60405180910390f35b61016161034d565b61014461018d366004610df6565b610353565b6101616101a0366004610d16565b6103c8565b6101616101b3366004610d16565b6103f6565b6101cb6101c6366004610d41565b610413565b60405161016e929190611075565b610161610440565b6101446101ef366004610e67565b610446565b6101fc6105a4565b60405161016e9190610ea4565b610144610217366004610cfa565b6105b3565b61014461022a366004610e37565b6106a1565b61024261023d366004610cfa565b6107fa565b60405161016e9190610ef5565b61014461025d366004610d75565b610866565b61014461091d565b6101fc61095f565b6101fc61096e565b610161610288366004610e37565b610983565b61014461029b366004610cfa565b610995565b610144610a4b565b6102b0610a8c565b6000546001600160a01b039081169116146102e65760405162461bcd60e51b81526004016102dd90610fc1565b60405180910390fd5b6002805461ff001916610100179055565b6102ff610a8c565b6000546001600160a01b0390811691161461032c5760405162461bcd60e51b81526004016102dd90610fc1565b6002805460ff19166001179055565b60066020526000908152604090205481565b60055481565b61035b610a8c565b6000546001600160a01b039081169116146103885760405162461bcd60e51b81526004016102dd90610fc1565b6002805462010000600160b01b031916620100006001600160a01b0395861602179055600391909155600480546001600160a01b03191691909216179055565b600a60205281600052604060002081815481106103e157fe5b90600052602060002001600091509150505481565b600860209081526000928352604080842090915290825290205481565b60096020908152600093845260408085208252928452828420905282529020805460019091015460ff1682565b60035481565b600260015414156104695760405162461bcd60e51b81526004016102dd90610fa5565b6002600181905554610100900460ff166104955760405162461bcd60e51b81526004016102dd90611017565b3360009081526008602090815260408083208584529091529020546104cc5760405162461bcd60e51b81526004016102dd90610f89565b336000908152600960209081526040808320858452825280832084845290915290206001015460ff16156105125760405162461bcd60e51b81526004016102dd90611050565b6000818152600660205260409020544210156105405760405162461bcd60e51b81526004016102dd90610fa5565b60008181526007602052604090205460025461056e91620100009091046001600160a01b0316903390610a90565b33600090815260096020908152604080832094835293815283822092825291909152206001908101805460ff1916821790558055565b6000546001600160a01b031690565b6105bb610a8c565b6000546001600160a01b039081169116146105e85760405162461bcd60e51b81526004016102dd90610fc1565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610617903090600401610ea4565b60206040518083038186803b15801561062f57600080fd5b505afa158015610643573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106679190610e4f565b9050600081116106895760405162461bcd60e51b81526004016102dd90610fde565b61069d6001600160a01b0383163383610a90565b5050565b600260015414156106c45760405162461bcd60e51b81526004016102dd90610fa5565b600260018190555460ff166106eb5760405162461bcd60e51b81526004016102dd90611017565b336000818152600a60209081526040808320805460018101825590845291909220018390556004805491516323b872dd60e01b81526001600160a01b03909216926323b872dd926107429261dead91879101610eb8565b600060405180830381600087803b15801561075c57600080fd5b505af1158015610770573d6000803e3d6000fd5b50506003543360009081526008602090815260408083208784529091528120919091559150505b6005548110156107f257604080518082018252838152600060208083018281523383526009825284832087845282528483208684529091529290209051815590516001918201805460ff191691151591909117905501610797565b505060018055565b6001600160a01b0381166000908152600a602090815260409182902080548351818402810184019094528084526060939283018282801561085a57602002820191906000526020600020905b815481526020019060010190808311610846575b50505050509050919050565b61086e610a8c565b6000546001600160a01b0390811691161461089b5760405162461bcd60e51b81526004016102dd90610fc1565b600060058190555b8251811015610918578281815181106108b857fe5b602002602001015160066000838152602001908152602001600020819055508181815181106108e357fe5b6020908102919091018101516000838152600790925260409091205560055461090d906001610ae6565b6005556001016108a3565b505050565b610925610a8c565b6000546001600160a01b039081169116146109525760405162461bcd60e51b81526004016102dd90610fc1565b6002805461ff0019169055565b6004546001600160a01b031681565b6002546201000090046001600160a01b031681565b60076020526000908152604090205481565b61099d610a8c565b6000546001600160a01b039081169116146109ca5760405162461bcd60e51b81526004016102dd90610fc1565b6001600160a01b0381166109f05760405162461bcd60e51b81526004016102dd90610f6c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610a53610a8c565b6000546001600160a01b03908116911614610a805760405162461bcd60e51b81526004016102dd90610fc1565b6002805460ff19169055565b3390565b6109188363a9059cbb60e01b8484604051602401610aaf929190610edc565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610b12565b600082820183811015610b0b5760405162461bcd60e51b81526004016102dd90610ffb565b9392505050565b6060610b4c8260405180604001604052806002815260200161065360f41b815250856001600160a01b0316610b869092919063ffffffff16565b8051909150156109185780806020019051810190610b6a9190610dd6565b6109185760405162461bcd60e51b81526004016102dd90610f89565b6060610b958484600085610b9d565b949350505050565b6060610ba885610c61565b610bc45760405162461bcd60e51b81526004016102dd90611034565b60006060866001600160a01b03168587604051610be19190610e88565b60006040518083038185875af1925050503d8060008114610c1e576040519150601f19603f3d011682016040523d82523d6000602084013e610c23565b606091505b50915091508115610c37579150610b959050565b805115610c475780518082602001fd5b8360405162461bcd60e51b81526004016102dd9190610f39565b3b151590565b600082601f830112610c77578081fd5b813567ffffffffffffffff80821115610c8e578283fd5b602080830260405182828201018181108582111715610cab578687fd5b604052848152945081850192508582018187018301881015610ccc57600080fd5b600091505b84821015610cef578035845292820192600191909101908201610cd1565b505050505092915050565b600060208284031215610d0b578081fd5b8135610b0b816110b5565b60008060408385031215610d28578081fd5b8235610d33816110b5565b946020939093013593505050565b600080600060608486031215610d55578081fd5b8335610d60816110b5565b95602085013595506040909401359392505050565b60008060408385031215610d87578182fd5b823567ffffffffffffffff80821115610d9e578384fd5b610daa86838701610c67565b93506020850135915080821115610dbf578283fd5b50610dcc85828601610c67565b9150509250929050565b600060208284031215610de7578081fd5b81518015158114610b0b578182fd5b600080600060608486031215610e0a578283fd5b8335610e15816110b5565b9250602084013591506040840135610e2c816110b5565b809150509250925092565b600060208284031215610e48578081fd5b5035919050565b600060208284031215610e60578081fd5b5051919050565b60008060408385031215610e79578182fd5b50508035926020909101359150565b60008251610e9a818460208701611085565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015610f2d57835183529284019291840191600101610f11565b50909695505050505050565b6000602082528251806020840152610f58816040850160208701611085565b601f01601f19169190910160400192915050565b60208082526003908201526227bb9960e91b604082015260600190565b602080825260029082015261653160f01b604082015260600190565b602080825260029082015261653360f01b604082015260600190565b6020808252600390820152624f773160e81b604082015260600190565b60208082526003908201526265303760e81b604082015260600190565b602080825260029082015261653560f01b604082015260600190565b6020808252600390820152626b303160e81b604082015260600190565b602080825260029082015261194d60f21b604082015260600190565b602080825260029082015261329960f11b604082015260600190565b90815260200190565b9182521515602082015260400190565b60005b838110156110a0578181015183820152602001611088565b838111156110af576000848401525b50505050565b6001600160a01b03811681146110ca57600080fd5b5056fea2646970667358221220291de8dd00a85749dcee7f4cd357447de39cad80db44a55c97dbc8a3c7ad33b764736f6c634300060c0033

Deployed ByteCode Sourcemap

5021:3016:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5983:76;;;:::i;:::-;;5809:74;;;:::i;5364:55::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5328:29;;;:::i;6158:208::-;;;;;;:::i;:::-;;:::i;5660:52::-;;;;;;:::i;:::-;;:::i;5486:69::-;;;;;;:::i;:::-;;:::i;5562:91::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;5258:24::-;;;:::i;7338:474::-;;;;;;:::i;:::-;;:::i;2199:79::-;;;:::i;:::-;;;;;;;:::i;7820:212::-;;;;;;:::i;:::-;;:::i;6729:455::-;;;;;;:::i;:::-;;:::i;7192:138::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6374:347::-;;;;;;:::i;:::-;;:::i;6072:78::-;;;:::i;5289:32::-;;;:::i;5228:23::-;;;:::i;5426:53::-;;;;;;:::i;:::-;;:::i;2384:209::-;;;;;;:::i;:::-;;:::i;5895:76::-;;;:::i;5983:::-;2336:12;:10;:12::i;:::-;2326:6;;-1:-1:-1;;;;;2326:6:0;;;:22;;;2318:38;;;;-1:-1:-1;;;2318:38:0;;;;;;;:::i;:::-;;;;;;;;;6036:8:::1;:15:::0;;-1:-1:-1;;6036:15:0::1;;;::::0;;5983:76::o;5809:74::-;2336:12;:10;:12::i;:::-;2326:6;;-1:-1:-1;;;;;2326:6:0;;;:22;;;2318:38;;;;-1:-1:-1;;;2318:38:0;;;;;;;:::i;:::-;5861:7:::1;:14:::0;;-1:-1:-1;;5861:14:0::1;5871:4;5861:14;::::0;;5809:74::o;5364:55::-;;;;;;;;;;;;;:::o;5328:29::-;;;;:::o;6158:208::-;2336:12;:10;:12::i;:::-;2326:6;;-1:-1:-1;;;;;2326:6:0;;;:22;;;2318:38;;;;-1:-1:-1;;;2318:38:0;;;;;;;:::i;:::-;6274:9:::1;:22:::0;;-1:-1:-1;;;;;;6274:22:0::1;::::0;-1:-1:-1;;;;;6274:22:0;;::::1;;;::::0;;6307:9:::1;:22:::0;;;;6340:7:::1;:18:::0;;-1:-1:-1;;;;;;6340:18:0::1;::::0;;;::::1;;::::0;;6158:208::o;5660:52::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5486:69::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;5562:91::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5258:24::-;;;;:::o;7338:474::-;1600:1;1755:7;;:19;;1747:34;;;;-1:-1:-1;;;1747:34:0;;;;;;;:::i;:::-;1600:1;1792:7;:18;;;7432:8;::::1;::::0;::::1;;;7424:23;;;;-1:-1:-1::0;;;7424:23:0::1;;;;;;;:::i;:::-;7481:10;7505:1;7466:26:::0;;;:14:::1;:26;::::0;;;;;;;:36;;;;;;;;;7458:55:::1;;;;-1:-1:-1::0;;;7458:55:0::1;;;;;;;:::i;:::-;7547:10;7533:25;::::0;;;:13:::1;:25;::::0;;;;;;;:35;;;;;;;;:42;;;;;;;;:51:::1;;::::0;::::1;;7532:52;7524:67;;;;-1:-1:-1::0;;;7524:67:0::1;;;;;;;:::i;:::-;7629:27;::::0;;;:20:::1;:27;::::0;;;;;7610:15:::1;:46;;7602:61;;;;-1:-1:-1::0;;;7602:61:0::1;;;;;;;:::i;:::-;7709:25;::::0;;;:18:::1;:25;::::0;;;;;7674:9:::1;::::0;:61:::1;::::0;:9;;;::::1;-1:-1:-1::0;;;;;7674:9:0::1;::::0;7697:10:::1;::::0;7674:22:::1;:61::i;:::-;7760:10;7746:25;::::0;;;:13:::1;:25;::::0;;;;;;;:35;;;;;;;;;:42;;;;;;;;7800:4:::1;7746:51:::0;;::::1;:58:::0;;-1:-1:-1;;7746:58:0::1;::::0;::::1;::::0;;1833:22;;7338:474::o;2199:79::-;2237:7;2264:6;-1:-1:-1;;;;;2264:6:0;2199:79;:::o;7820:212::-;2336:12;:10;:12::i;:::-;2326:6;;-1:-1:-1;;;;;2326:6:0;;;:22;;;2318:38;;;;-1:-1:-1;;;2318:38:0;;;;;;;:::i;:::-;7906:31:::1;::::0;-1:-1:-1;;;7906:31:0;;7889:14:::1;::::0;-1:-1:-1;;;;;7906:16:0;::::1;::::0;::::1;::::0;:31:::1;::::0;7931:4:::1;::::0;7906:31:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7889:48;;7965:1;7956:6;:10;7948:26;;;;-1:-1:-1::0;;;7948:26:0::1;;;;;;;:::i;:::-;7985:39;-1:-1:-1::0;;;;;7985:19:0;::::1;8005:10;8017:6:::0;7985:19:::1;:39::i;:::-;2367:1;7820:212:::0;:::o;6729:455::-;1600:1;1755:7;;:19;;1747:34;;;;-1:-1:-1;;;1747:34:0;;;;;;;:::i;:::-;1600:1;1792:7;:18;;;6807:7;::::1;;6799:22;;;;-1:-1:-1::0;;;6799:22:0::1;;;;;;;:::i;:::-;6848:10;6832:27;::::0;;;:15:::1;:27;::::0;;;;;;;:42;;::::1;::::0;::::1;::::0;;;;;;;;;::::1;::::0;;;6885:7:::1;::::0;;:86;;-1:-1:-1;;;6885:86:0;;-1:-1:-1;;;;;6885:7:0;;::::1;::::0;:20:::1;::::0;:86:::1;::::0;6918:42:::1;::::0;6832;;6885:86:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7021:9:0::1;::::0;6997:10:::1;6982:26;::::0;;;:14:::1;:26;::::0;;;;;;;:36;;;;;;;;:48;;;;:26;-1:-1:-1;;7041:136:0::1;7065:10;;7061:1;:14;7041:136;;;7138:27;::::0;;;;::::1;::::0;;;;;-1:-1:-1;7138:27:0::1;::::0;;::::1;::::0;;;7111:10:::1;7097:25:::0;;:13:::1;:25:::0;;;;;:35;;;;;;;;:38;;;;;;;;;:68;;;;;;7138:27;7097:68;;::::1;::::0;;-1:-1:-1;;7097:68:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7077:3:::1;7041:136;;;-1:-1:-1::0;;1556:1:0;1833:22;;6729:455::o;7192:138::-;-1:-1:-1;;;;;7297:25:0;;;;;;:15;:25;;;;;;;;;7290:32;;;;;;;;;;;;;;;;;7261:16;;7290:32;;;7297:25;7290:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7192:138;;;:::o;6374:347::-;2336:12;:10;:12::i;:::-;2326:6;;-1:-1:-1;;;;;2326:6:0;;;:22;;;2318:38;;;;-1:-1:-1;;;2318:38:0;;;;;;;:::i;:::-;6495:1:::1;6482:10;:14:::0;;;6507:207:::1;6531:8;:15;6527:1;:19;6507:207;;;6594:8;6603:1;6594:11;;;;;;;;;;;;;;6568:20;:23;6589:1;6568:23;;;;;;;;;;;:37;;;;6644:10;6655:1;6644:13;;;;;;;;;::::0;;::::1;::::0;;;;;;;6620:21:::1;::::0;;;:18:::1;:21:::0;;;;;;;:37;6685:10:::1;::::0;:17:::1;::::0;6700:1:::1;6685:14;:17::i;:::-;6672:10;:30:::0;6548:3:::1;;6507:207;;;;6374:347:::0;;:::o;6072:78::-;2336:12;:10;:12::i;:::-;2326:6;;-1:-1:-1;;;;;2326:6:0;;;:22;;;2318:38;;;;-1:-1:-1;;;2318:38:0;;;;;;;:::i;:::-;6126:8:::1;:16:::0;;-1:-1:-1;;6126:16:0::1;::::0;;6072:78::o;5289:32::-;;;-1:-1:-1;;;;;5289:32:0;;:::o;5228:23::-;;;;;;-1:-1:-1;;;;;5228:23:0;;:::o;5426:53::-;;;;;;;;;;;;;:::o;2384:209::-;2336:12;:10;:12::i;:::-;2326:6;;-1:-1:-1;;;;;2326:6:0;;;:22;;;2318:38;;;;-1:-1:-1;;;2318:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2473:22:0;::::1;2465:38;;;;-1:-1:-1::0;;;2465:38:0::1;;;;;;;:::i;:::-;2540:6;::::0;;2519:38:::1;::::0;-1:-1:-1;;;;;2519:38:0;;::::1;::::0;2540:6;::::1;::::0;2519:38:::1;::::0;::::1;2568:6;:17:::0;;-1:-1:-1;;;;;;2568:17:0::1;-1:-1:-1::0;;;;;2568:17:0;;;::::1;::::0;;;::::1;::::0;;2384:209::o;5895:76::-;2336:12;:10;:12::i;:::-;2326:6;;-1:-1:-1;;;;;2326:6:0;;;:22;;;2318:38;;;;-1:-1:-1;;;2318:38:0;;;;;;;:::i;:::-;5948:7:::1;:15:::0;;-1:-1:-1;;5948:15:0::1;::::0;;5895:76::o;1362:106::-;1450:10;1362:106;:::o;661:177::-;744:86;764:5;794:23;;;819:2;823:5;771:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;771:58:0;;;;;;;;;;;;;;-1:-1:-1;;;;;771:58:0;-1:-1:-1;;;;;;771:58:0;;;;;;;;;;744:19;:86::i;3724:154::-;3782:7;3814:5;;;3838:6;;;;3830:21;;;;-1:-1:-1;;;3830:21:0;;;;;;;:::i;:::-;3869:1;3724:154;-1:-1:-1;;;3724:154:0:o;1059:263::-;1140:23;1166:39;1194:4;1166:39;;;;;;;;;;;;;-1:-1:-1;;;1166:39:0;;;1174:5;-1:-1:-1;;;;;1166:27:0;;;:39;;;;;:::i;:::-;1220:17;;1140:65;;-1:-1:-1;1220:21:0;1216:99;;1277:10;1266:30;;;;;;;;;;;;:::i;:::-;1258:45;;;;-1:-1:-1;;;1258:45:0;;;;;;;:::i;2827:196::-;2930:12;2962:53;2985:6;2993:4;2999:1;3002:12;2962:22;:53::i;:::-;2955:60;2827:196;-1:-1:-1;;;;2827:196:0:o;3031:662::-;3161:12;3194:18;3205:6;3194:10;:18::i;:::-;3186:33;;;;-1:-1:-1;;;3186:33:0;;;;;;;:::i;:::-;3231:12;3245:23;3272:6;-1:-1:-1;;;;;3272:11:0;3292:8;3302:4;3272:35;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3230:77;;;;3322:7;3318:368;;;3353:10;-1:-1:-1;3346:17:0;;-1:-1:-1;3346:17:0;3318:368;3400:17;;:21;3396:279;;3503:10;3497:17;3564:15;3551:10;3547:2;3543:19;3536:44;3451:148;3646:12;3639:20;;-1:-1:-1;;;3639:20:0;;;;;;;;:::i;2623:196::-;2755:20;2803:8;;;2623:196::o;160:707:-1:-;;277:3;270:4;262:6;258:17;254:27;244:2;;-1:-1;;285:12;244:2;332:6;319:20;18123:18;;18115:6;18112:30;18109:2;;;-1:-1;;18145:12;18109:2;18190:4;;18182:6;18178:17;17763:2;17757:9;18190:4;18178:17;17793:6;17789:17;;17900:6;17888:10;17885:22;18123:18;17852:10;17849:34;17846:62;17843:2;;;-1:-1;;17911:12;17843:2;17763;17930:22;462:21;;;345:89;-1:-1;519:14;;;;-1:-1;494:17;;;599:27;;;;;596:36;-1:-1;593:2;;;645:1;;635:12;593:2;670:1;661:10;;655:206;680:6;677:1;674:13;655:206;;;1427:20;;748:50;;812:14;;;;702:1;695:9;;;;;840:14;;655:206;;;659:14;;;;;237:630;;;;:::o;1638:241::-;;1742:2;1730:9;1721:7;1717:23;1713:32;1710:2;;;-1:-1;;1748:12;1710:2;85:6;72:20;97:33;124:5;97:33;:::i;1886:366::-;;;2007:2;1995:9;1986:7;1982:23;1978:32;1975:2;;;-1:-1;;2013:12;1975:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;2065:63;2165:2;2204:22;;;;1427:20;;-1:-1;;;1969:283::o;2259:491::-;;;;2397:2;2385:9;2376:7;2372:23;2368:32;2365:2;;;-1:-1;;2403:12;2365:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;2455:63;2555:2;2594:22;;1427:20;;-1:-1;2663:2;2702:22;;;1427:20;;2359:391;-1:-1;;;2359:391::o;2757:638::-;;;2928:2;2916:9;2907:7;2903:23;2899:32;2896:2;;;-1:-1;;2934:12;2896:2;2992:17;2979:31;3030:18;;3022:6;3019:30;3016:2;;;-1:-1;;3052:12;3016:2;3082:78;3152:7;3143:6;3132:9;3128:22;3082:78;:::i;:::-;3072:88;;3225:2;3214:9;3210:18;3197:32;3183:46;;3030:18;3241:6;3238:30;3235:2;;;-1:-1;;3271:12;3235:2;;3301:78;3371:7;3362:6;3351:9;3347:22;3301:78;:::i;:::-;3291:88;;;2890:505;;;;;:::o;3402:257::-;;3514:2;3502:9;3493:7;3489:23;3485:32;3482:2;;;-1:-1;;3520:12;3482:2;956:6;950:13;21658:5;19625:13;19618:21;21636:5;21633:32;21623:2;;-1:-1;;21669:12;3940:567;;;;4116:2;4104:9;4095:7;4091:23;4087:32;4084:2;;;-1:-1;;4122:12;4084:2;1103:6;1090:20;1115:46;1155:5;1115:46;:::i;:::-;4174:76;-1:-1;4287:2;4326:22;;1427:20;;-1:-1;4395:2;4459:22;;1265:20;1290:58;1265:20;1290:58;:::i;:::-;4403:88;;;;4078:429;;;;;:::o;4514:241::-;;4618:2;4606:9;4597:7;4593:23;4589:32;4586:2;;;-1:-1;;4624:12;4586:2;-1:-1;1427:20;;4580:175;-1:-1;4580:175::o;4762:263::-;;4877:2;4865:9;4856:7;4852:23;4848:32;4845:2;;;-1:-1;;4883:12;4845:2;-1:-1;1575:13;;4839:186;-1:-1;4839:186::o;5032:366::-;;;5153:2;5141:9;5132:7;5128:23;5124:32;5121:2;;;-1:-1;;5159:12;5121:2;-1:-1;;1427:20;;;5311:2;5350:22;;;1427:20;;-1:-1;5115:283::o;10779:271::-;;6856:5;18536:12;6967:52;7012:6;7007:3;7000:4;6993:5;6989:16;6967:52;:::i;:::-;7031:16;;;;;10913:137;-1:-1;;10913:137::o;11057:222::-;-1:-1;;;;;19947:54;;;;5807:37;;11184:2;11169:18;;11155:124::o;11286:476::-;-1:-1;;;;;19947:54;;;5666:58;;19947:54;;;;11665:2;11650:18;;5666:58;11748:2;11733:18;;10610:37;;;;11485:2;11470:18;;11456:306::o;11769:333::-;-1:-1;;;;;19947:54;;;;5807:37;;12088:2;12073:18;;10610:37;11924:2;11909:18;;11895:207::o;12109:370::-;12286:2;12300:47;;;18536:12;;12271:18;;;19068:19;;;12109:370;;12286:2;18390:14;;;;19108;;;;12109:370;6295:260;6320:6;6317:1;6314:13;6295:260;;;6381:13;;10610:37;;18923:14;;;;5559;;;;6342:1;6335:9;6295:260;;;-1:-1;12353:116;;12257:222;-1:-1;;;;;;12257:222::o;13020:310::-;;13167:2;13188:17;13181:47;7546:5;18536:12;19080:6;13167:2;13156:9;13152:18;19068:19;7640:52;7685:6;19108:14;13156:9;19108:14;13167:2;7666:5;7662:16;7640:52;:::i;:::-;21432:7;21416:14;-1:-1;;21412:28;7704:39;;;;19108:14;7704:39;;13138:192;-1:-1;;13138:192::o;13337:416::-;13537:2;13551:47;;;7980:1;13522:18;;;19068:19;-1:-1;;;19108:14;;;7995:26;8040:12;;;13508:245::o;13760:416::-;13960:2;13974:47;;;8291:1;13945:18;;;19068:19;-1:-1;;;19108:14;;;8306:25;8350:12;;;13931:245::o;14183:416::-;14383:2;14397:47;;;8601:1;14368:18;;;19068:19;-1:-1;;;19108:14;;;8616:25;8660:12;;;14354:245::o;14606:416::-;14806:2;14820:47;;;8911:1;14791:18;;;19068:19;-1:-1;;;19108:14;;;8926:26;8971:12;;;14777:245::o;15029:416::-;15229:2;15243:47;;;9222:1;15214:18;;;19068:19;-1:-1;;;19108:14;;;9237:26;9282:12;;;15200:245::o;15452:416::-;15652:2;15666:47;;;9533:1;15637:18;;;19068:19;-1:-1;;;19108:14;;;9548:25;9592:12;;;15623:245::o;15875:416::-;16075:2;16089:47;;;9843:1;16060:18;;;19068:19;-1:-1;;;19108:14;;;9858:26;9903:12;;;16046:245::o;16298:416::-;16498:2;16512:47;;;10154:1;16483:18;;;19068:19;-1:-1;;;19108:14;;;10169:25;10213:12;;;16469:245::o;16721:416::-;16921:2;16935:47;;;10464:1;16906:18;;;19068:19;-1:-1;;;19108:14;;;10479:25;10523:12;;;16892:245::o;17144:222::-;10610:37;;;17271:2;17256:18;;17242:124::o;17373:321::-;10610:37;;;19625:13;19618:21;17680:2;17665:18;;6650:34;17522:2;17507:18;;17493:201::o;21072:268::-;21137:1;21144:101;21158:6;21155:1;21152:13;21144:101;;;21225:11;;;21219:18;21206:11;;;21199:39;21180:2;21173:10;21144:101;;;21260:6;21257:1;21254:13;21251:2;;;21137:1;21316:6;21311:3;21307:16;21300:27;21251:2;;21121:219;;;:::o;21453:117::-;-1:-1;;;;;19947:54;;21512:35;;21502:2;;21561:1;;21551:12;21502:2;21496:74;:::o

Swarm Source

ipfs://291de8dd00a85749dcee7f4cd357447de39cad80db44a55c97dbc8a3c7ad33b7
Block Transaction Gas Used Reward
Age Block Fee Address Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading