ETH Price: $1,950.33 (-1.11%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve244308092026-02-11 3:21:3511 days ago1770780095IN
0x41BdcD8c...CF12DdB77
0 ETH0.000001780.03677485
Approve241249382025-12-30 10:45:4754 days ago1767091547IN
0x41BdcD8c...CF12DdB77
0 ETH0.000003280.1151269
Approve241249382025-12-30 10:45:4754 days ago1767091547IN
0x41BdcD8c...CF12DdB77
0 ETH0.000005570.1151269
Approve238895972025-11-27 10:57:2387 days ago1764241043IN
0x41BdcD8c...CF12DdB77
0 ETH0.000002570.05322776
Approve238888832025-11-27 8:32:5987 days ago1764232379IN
0x41BdcD8c...CF12DdB77
0 ETH0.000002550.05278423
Transfer238874622025-11-27 3:46:4787 days ago1764215207IN
0x41BdcD8c...CF12DdB77
0 ETH0.000002320.04542213
Transfer238826182025-11-26 11:27:3588 days ago1764156455IN
0x41BdcD8c...CF12DdB77
0 ETH0.000002710.0531493
Approve238762822025-11-25 14:03:5989 days ago1764079439IN
0x41BdcD8c...CF12DdB77
0 ETH0.000068031.40464089
Approve238762582025-11-25 13:59:1189 days ago1764079151IN
0x41BdcD8c...CF12DdB77
0 ETH0.000041630.85958662
Approve238732482025-11-25 3:47:4789 days ago1764042467IN
0x41BdcD8c...CF12DdB77
0 ETH0.000004120.08516419
Approve238695622025-11-24 15:19:5990 days ago1763997599IN
0x41BdcD8c...CF12DdB77
0 ETH0.000031190.64409309
Approve238694032025-11-24 14:47:5990 days ago1763995679IN
0x41BdcD8c...CF12DdB77
0 ETH0.000029561.03611923
Approve238682662025-11-24 10:56:5990 days ago1763981819IN
0x41BdcD8c...CF12DdB77
0 ETH0.000002330.08190448
Approve238682372025-11-24 10:51:1190 days ago1763981471IN
0x41BdcD8c...CF12DdB77
0 ETH0.000003930.08117792
Approve238673352025-11-24 7:48:5990 days ago1763970539IN
0x41BdcD8c...CF12DdB77
0 ETH0.000002310.08113278
Approve238670562025-11-24 6:52:1190 days ago1763967131IN
0x41BdcD8c...CF12DdB77
0 ETH0.000004450.09203197
Approve238612372025-11-23 11:17:4791 days ago1763896667IN
0x41BdcD8c...CF12DdB77
0 ETH0.000004430.0915048
Approve238612202025-11-23 11:14:1191 days ago1763896451IN
0x41BdcD8c...CF12DdB77
0 ETH0.00000390.08064563
Approve238612122025-11-23 11:12:3591 days ago1763896355IN
0x41BdcD8c...CF12DdB77
0 ETH0.000004090.08457359
Approve238611272025-11-23 10:55:2391 days ago1763895323IN
0x41BdcD8c...CF12DdB77
0 ETH0.000004210.0870314
Approve238611072025-11-23 10:51:2391 days ago1763895083IN
0x41BdcD8c...CF12DdB77
0 ETH0.00000360.07434293
Approve238608752025-11-23 10:04:3591 days ago1763892275IN
0x41BdcD8c...CF12DdB77
0 ETH0.00000510.10537358
Approve238605762025-11-23 9:03:4791 days ago1763888627IN
0x41BdcD8c...CF12DdB77
0 ETH0.00000380.07845571
Approve238605402025-11-23 8:56:3591 days ago1763888195IN
0x41BdcD8c...CF12DdB77
0 ETH0.000003250.08134073
Approve238604482025-11-23 8:38:1191 days ago1763887091IN
0x41BdcD8c...CF12DdB77
0 ETH0.000003260.08159313
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x60806040237897892025-11-13 10:48:47101 days ago1763030927  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xF781DfeC...F25214499
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
SecurityToken

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.16;

import './interfaces/IERC20.sol';
import './interfaces/IManagement.sol';
import './BaseERC20.sol';
import './interfaces/IUpgradedToken.sol';

contract SecurityToken  is BaseERC20 {
    uint8 public transferFlag = 1;
    bool public upgraded;
    address public upgradedAddress;
    address public management;
    bool public paused;
    address public issuer;
    
    event SetSTManagement(address indexed from, address indexed newManagement);
    event Issue(address indexed from, address indexed to, uint256 value);
    event Redeem(address indexed from, address indexed to, uint256 value);
    event Paused(bool paused);
    event Flag(uint8 transferFlag);
    event Upgrade(address newAddress);

    modifier whenNotPaused() {
        require(!paused,"Paused");
        _;
    } 

    modifier onlyManagement() {
        require(msg.sender == management,"Caller is not management");
        _;
    }

    modifier onlyContractManager() {
        require(IManagement(management).isContractManager(msg.sender),"Caller is not contract manager");
        _;
    }

    constructor(
        string memory _name, 
        address _issuer,
        uint _amount,
        address _management
    ) BaseERC20(_name) {
        require(_management!= address(0));
        management = _management;
        issuer = _issuer;
        decimals = _amount;
    }
	
	function setNameAndSymbol(
        string memory _name,
        string memory _symbol
    ) external onlyContractManager {
        name = _name;
        symbol = _symbol;
    }

    function transfer(
        address to, 
        uint value
    )external whenNotPaused returns (bool) {
         if(upgraded){
            return IUpgradedToken(upgradedAddress).transferByLegacy(msg.sender, to, value);
        }
        if(transferFlag == 1){
            require(IManagement(management).isWhiteContract(msg.sender)&&//发起者白名单合约		
                (IManagement(management).isWhiteInvestor(to) || IManagement(management).isRestrictInvestor(to)),'Forbid transfer');
        }else if(transferFlag == 2){
            require((IManagement(management).isWhiteContract(msg.sender)||IManagement(management).isWhiteInvestor(msg.sender) || IManagement(management).isRestrictInvestor(msg.sender)) &&
                (IManagement(management).isWhiteInvestor(to) || IManagement(management).isRestrictInvestor(to)),'Forbid transfer');//发起者平台用户
        }else{	
            require(!IManagement(management).isBlockInvestor(msg.sender),'Block');//任何地址(非block地址)
        }
        _transfer(msg.sender, to, value);
        return true;
    }
    
    function transferFrom(
        address from,
        address to,
        uint value
    )external whenNotPaused  returns (bool) {
        if(upgraded){
            return IUpgradedToken(upgradedAddress).transferFromByLegacy(msg.sender, from ,to, value);
        }
        if(transferFlag == 1){
            require(IManagement(management).isWhiteContract(msg.sender)&&//发起者白名单合约
                (IManagement(management).isWhiteInvestor(from) || IManagement(management).isRestrictInvestor(from))&&
                (IManagement(management).isWhiteContract(to)||IManagement(management).isWhiteInvestor(to) || IManagement(management).isRestrictInvestor(to)),'Forbid transferFrom');
        }else if(transferFlag == 2){
            require((IManagement(management).isWhiteContract(msg.sender)||IManagement(management).isWhiteInvestor(msg.sender) || IManagement(management).isRestrictInvestor(msg.sender))&& //发起者平台用户
                (IManagement(management).isWhiteInvestor(from) || IManagement(management).isRestrictInvestor(from))&&
                (IManagement(management).isWhiteContract(to)||IManagement(management).isWhiteInvestor(to) || IManagement(management).isRestrictInvestor(to)),'Forbid transferFrom');
        }else{	
            require(!IManagement(management).isBlockInvestor(from),'Block'); //任何地址(非block地址)
        }
        if (_allowance[from][msg.sender] != MAX_INT) {
            _allowance[from][msg.sender] -=  value;
        }
        _transfer(from, to, value);
        return true;
    }
    function totalSupply() override public view returns (uint) {
        if (upgraded) {
            return IUpgradedToken(upgradedAddress).totalSupply();
        } else {
            return super.totalSupply();
        }
    }
    function approve(address _spender, uint _value) public override returns(bool) {
        if (upgraded) {
            return IUpgradedToken(upgradedAddress).approveByLegacy(msg.sender, _spender, _value);
        } else {
            return super.approve(_spender, _value);
        }
    }
    function balanceOf(address who) public view override returns (uint) {
        if (upgraded) {
            return IUpgradedToken(upgradedAddress).balanceOf(who);
        } else {
            return super.balanceOf(who);
        }
    }
    function allowance(address _owner, address _spender) public view override returns (uint remaining) {
        if (upgraded) {
            return IUpgradedToken(upgradedAddress).allowance(_owner, _spender);
        } else {
            return super.allowance(_owner, _spender);
        }
    }

    function setManagement(address _management) external onlyManagement  {
        require(_management!= address(0));
        management = _management;
        emit SetSTManagement(address(this),_management);
    }

    function setTransferFlag(uint8 _transferFlag) external onlyContractManager {
        transferFlag = _transferFlag;
        emit Flag(_transferFlag);
    }

    function setPause(bool _paused) external onlyContractManager {
        paused = _paused;
        emit Paused(_paused);
    }

    function issue(
        address investor,
        uint256 value
    ) external onlyContractManager  {
        if (transferFlag == 1 || transferFlag == 2){
            require(IManagement(management).isWhiteInvestor(investor) || IManagement(management).isWhiteContract(investor),"Forbid issue");
        }else{
            require(!IManagement(management).isBlockInvestor(investor),"Block"); //任何地址(非blocklist地址)
        }
        _mint(investor,value);
        emit Issue(address(this),investor,value);
    }

    function redeem(
        address investor,
        uint256 value
    ) external onlyContractManager {
        _burn(investor,value);
        emit Redeem(address(this),investor,value);
    }

    function upgrade(address _upgradedAddress) external onlyContractManager {
        require(_upgradedAddress!= address(0));
        upgraded = true;
        upgradedAddress = _upgradedAddress;
        emit Upgrade(_upgradedAddress);
    }
	
}

// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.16;

contract  BaseERC20  {
    uint public constant  MAX_INT = 2**256 - 1;

    string public name;
    string public symbol;
    uint public  decimals = 18;
    uint public _totalSupply;
    mapping(address => uint256) public  _balanceOf;
    mapping(address => mapping(address => uint256)) public _allowance;

    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);
    constructor(string memory _name){
        name = _name;
        symbol = _name;
        
    }
    
    function _mint(address to, uint256 value) internal {
        _totalSupply +=  value;
        _balanceOf[to] +=  value;
        emit Transfer(address(0), to, value);
    }

    function _burn(address from, uint256 value) internal {
        _balanceOf[from] -=  value;
        _totalSupply -=  value;
        emit Transfer(from, address(0), value);
    }

    function _transfer(
        address from,
        address to,
        uint256 value
    ) internal {
        _balanceOf[from] -= value;
        _balanceOf[to] += value;
        emit Transfer(from, to, value);
    }

    function _approve(
        address owner,
        address spender,
        uint256 value
    ) internal {
        _allowance[owner][spender] = value;
        emit Approval(owner, spender, value);
    }
    function balanceOf(address account) public virtual view returns (uint256){
        return _balanceOf[account];
    }
    function totalSupply() public virtual view returns (uint256){
        return _totalSupply;
    }
    function allowance(address owner, address spender) public virtual view returns (uint256){
        return _allowance[owner][spender];
    }
    function approve(address spender, uint256 value) public virtual returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    
}

// SPDX-License-Identifier: MIT

pragma solidity 0.8.16;
/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.16;

interface IManagement {
    
    function platformFeeAddress() external view returns (address);

    function isContractManager(address manager) external view returns (bool);

    function isWhiteInvestor(address investor) external view returns (bool);

    function isRestrictInvestor(address investor) external view returns (bool);

    function isWhiteContract(address contractAddress) external view returns (bool);
    
    function isBlockInvestor(address investor) external view returns (bool);

    
}

// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.16;


interface IUpgradedToken{
    
    function transferByLegacy (address sender,address to,uint256 value) external returns (bool) ;
    
    function transferFromByLegacy (address sender,address from,address to,uint256 value) external returns (bool);

    function balanceOf(address account) external view returns (uint);

    function approveByLegacy (address sender,address to,uint256 value) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint);

    function totalSupply() external view returns (uint);
    
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"address","name":"_issuer","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_management","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"transferFlag","type":"uint8"}],"name":"Flag","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"paused","type":"bool"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"newManagement","type":"address"}],"name":"SetSTManagement","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newAddress","type":"address"}],"name":"Upgrade","type":"event"},{"inputs":[],"name":"MAX_INT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"_allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"investor","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"issue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"issuer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"management","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"investor","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"redeem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_management","type":"address"}],"name":"setManagement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"name":"setNameAndSymbol","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_transferFlag","type":"uint8"}],"name":"setTransferFlag","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferFlag","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_upgradedAddress","type":"address"}],"name":"upgrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"upgraded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"upgradedAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

0x608060405260126002556006805460ff191660011790553480156200002357600080fd5b50604051620022cf380380620022cf8339810160408190526200004691620000e7565b8360006200005582826200027a565b5060016200006482826200027a565b50506001600160a01b0381166200007a57600080fd5b600780546001600160a01b039283166001600160a01b03199182161790915560088054949092169316929092179091556002555062000346565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b0381168114620000e257600080fd5b919050565b60008060008060808587031215620000fe57600080fd5b84516001600160401b03808211156200011657600080fd5b818701915087601f8301126200012b57600080fd5b815181811115620001405762000140620000b4565b604051601f8201601f19908116603f011681019083821181831017156200016b576200016b620000b4565b81604052828152602093508a848487010111156200018857600080fd5b600091505b82821015620001ac57848201840151818301850152908301906200018d565b6000848483010152809850505050620001c7818801620000ca565b9450505060408501519150620001e060608601620000ca565b905092959194509250565b600181811c908216806200020057607f821691505b6020821081036200022157634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200027557600081815260208120601f850160051c81016020861015620002505750805b601f850160051c820191505b8181101562000271578281556001016200025c565b5050505b505050565b81516001600160401b03811115620002965762000296620000b4565b620002ae81620002a78454620001eb565b8462000227565b602080601f831160018114620002e65760008415620002cd5750858301515b600019600386901b1c1916600185901b17855562000271565b600085815260208120601f198616915b828110156200031757888601518255948401946001909101908401620002f6565b5085821015620003365787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611f7980620003566000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806370a08231116100de578063a9059cbb11610097578063cca3e83211610071578063cca3e83214610356578063d4a22bde14610376578063dd336c1214610389578063dd62ed3e146103b457600080fd5b8063a9059cbb1461031e578063bedb86fb14610331578063c28de2cd1461034457600080fd5b806370a08231146102ab578063867904b4146102be57806388125b70146102d157806388a8d602146102e457806395d89b41146102f7578063a393cedc146102ff57600080fd5b80631e9a69501161014b578063313ce56711610125578063313ce567146102725780633eaaf86b1461027b5780635a446215146102845780635c975abb1461029757600080fd5b80631e9a69501461023357806323b872dd1461024657806326976e3f1461025957600080fd5b806306fdde03146101935780630900f010146101b1578063095ea7b3146101c6578063098d3228146101e957806318160ddd146102005780631d14384814610208575b600080fd5b61019b6103c7565b6040516101a89190611ac2565b60405180910390f35b6101c46101bf366004611b27565b610455565b005b6101d96101d4366004611b42565b61056a565b60405190151581526020016101a8565b6101f260001981565b6040519081526020016101a8565b6101f2610619565b60085461021b906001600160a01b031681565b6040516001600160a01b0390911681526020016101a8565b6101c4610241366004611b42565b6106af565b6101d9610254366004611b6c565b610786565b60065461021b906201000090046001600160a01b031681565b6101f260025481565b6101f260035481565b6101c4610292366004611c4b565b610d9d565b6007546101d990600160a01b900460ff1681565b6101f26102b9366004611b27565b610e43565b6101c46102cc366004611b42565b610eee565b6101c46102df366004611caf565b611188565b60075461021b906001600160a01b031681565b61019b611252565b60065461030c9060ff1681565b60405160ff90911681526020016101a8565b6101d961032c366004611b42565b61125f565b6101c461033f366004611ce3565b61165f565b6006546101d990610100900460ff1681565b6101f2610364366004611b27565b60046020526000908152604090205481565b6101c4610384366004611b27565b611734565b6101f2610397366004611d00565b600560209081526000928352604080842090915290825290205481565b6101f26103c2366004611d00565b6117ed565b600080546103d490611d33565b80601f016020809104026020016040519081016040528092919081815260200182805461040090611d33565b801561044d5780601f106104225761010080835404028352916020019161044d565b820191906000526020600020905b81548152906001019060200180831161043057829003601f168201915b505050505081565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa15801561049d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c19190611d6d565b6104e65760405162461bcd60e51b81526004016104dd90611d8a565b60405180910390fd5b6001600160a01b0381166104f957600080fd5b600680546001600160a01b0383166201000002610100600160b01b0319909116176101001790556040517ff78721226efe9a1bb678189a16d1554928b9f2192e2cb93eeda83b79fa40007d9061055f9083906001600160a01b0391909116815260200190565b60405180910390a150565b600654600090610100900460ff16156106095760065460405163aee92d3360e01b81523360048201526001600160a01b03858116602483015260448201859052620100009092049091169063aee92d33906064015b6020604051808303816000875af11580156105de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106029190611d6d565b9050610613565b61060283836118a8565b92915050565b600654600090610100900460ff16156106a857600660029054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a39190611dc1565b905090565b5060035490565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190611d6d565b6107375760405162461bcd60e51b81526004016104dd90611d8a565b61074182826118b5565b6040518181526001600160a01b0383169030907fd12200efa34901b99367694174c3b0d32c99585fdf37c7c26892136ddd0836d9906020015b60405180910390a35050565b600754600090600160a01b900460ff16156107cc5760405162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b60448201526064016104dd565b600654610100900460ff161561086f57600654604051638b477adb60e01b81523360048201526001600160a01b0386811660248301528581166044830152606482018590526201000090920490911690638b477adb906084016020604051808303816000875af1158015610844573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108689190611d6d565b9050610d96565b60065460ff16600103610b765760075460405163ca14d1bb60e01b81523360048201526001600160a01b039091169063ca14d1bb906024015b602060405180830381865afa1580156108c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e99190611d6d565b80156109d25750600754604051630199cceb60e31b81526001600160a01b03868116600483015290911690630cce675890602401602060405180830381865afa15801561093a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095e9190611d6d565b806109d2575060075460405163b09c4d3d60e01b81526001600160a01b0386811660048301529091169063b09c4d3d90602401602060405180830381865afa1580156109ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d29190611d6d565b8015610b2f575060075460405163ca14d1bb60e01b81526001600160a01b0385811660048301529091169063ca14d1bb90602401602060405180830381865afa158015610a23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a479190611d6d565b80610abb5750600754604051630199cceb60e31b81526001600160a01b03858116600483015290911690630cce675890602401602060405180830381865afa158015610a97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abb9190611d6d565b80610b2f575060075460405163b09c4d3d60e01b81526001600160a01b0385811660048301529091169063b09c4d3d90602401602060405180830381865afa158015610b0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2f9190611d6d565b610b715760405162461bcd60e51b8152602060048201526013602482015272466f72626964207472616e7366657246726f6d60681b60448201526064016104dd565b610d22565b60065460ff16600203610c975760075460405163ca14d1bb60e01b81523360048201526001600160a01b039091169063ca14d1bb90602401602060405180830381865afa158015610bcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bef9190611d6d565b80610c615750600754604051630199cceb60e31b81523360048201526001600160a01b0390911690630cce675890602401602060405180830381865afa158015610c3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c619190611d6d565b806108e9575060075460405163b09c4d3d60e01b81523360048201526001600160a01b039091169063b09c4d3d906024016108a8565b60075460405163e184f6cb60e01b81526001600160a01b0386811660048301529091169063e184f6cb90602401602060405180830381865afa158015610ce1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d059190611d6d565b15610d225760405162461bcd60e51b81526004016104dd90611dda565b6001600160a01b038416600090815260056020908152604080832033845290915290205460001914610d87576001600160a01b038416600090815260056020908152604080832033845290915281208054849290610d81908490611e0f565b90915550505b610d92848484611939565b5060015b9392505050565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa158015610de5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e099190611d6d565b610e255760405162461bcd60e51b81526004016104dd90611d8a565b6000610e318382611e70565b506001610e3e8282611e70565b505050565b600654600090610100900460ff1615610ecb576006546040516370a0823160e01b81526001600160a01b03848116600483015262010000909204909116906370a0823190602401602060405180830381865afa158015610ea7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106139190611dc1565b6001600160a01b038216600090815260046020526040902054610613565b919050565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa158015610f36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5a9190611d6d565b610f765760405162461bcd60e51b81526004016104dd90611d8a565b60065460ff1660011480610f8f575060065460ff166002145b156110b657600754604051630199cceb60e31b81526001600160a01b03848116600483015290911690630cce675890602401602060405180830381865afa158015610fde573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110029190611d6d565b80611076575060075460405163ca14d1bb60e01b81526001600160a01b0384811660048301529091169063ca14d1bb90602401602060405180830381865afa158015611052573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110769190611d6d565b6110b15760405162461bcd60e51b815260206004820152600c60248201526b466f7262696420697373756560a01b60448201526064016104dd565b611141565b60075460405163e184f6cb60e01b81526001600160a01b0384811660048301529091169063e184f6cb90602401602060405180830381865afa158015611100573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111249190611d6d565b156111415760405162461bcd60e51b81526004016104dd90611dda565b61114b82826119e7565b6040518181526001600160a01b0383169030907f4b2682685b046a3dae8e75ff49b82fa703e366056a43c6a791411011134f4f5d9060200161077a565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa1580156111d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f49190611d6d565b6112105760405162461bcd60e51b81526004016104dd90611d8a565b6006805460ff191660ff83169081179091556040519081527fedb033101ee74a2510b0dade2be7e909662762ae8fbc98942ac3170f628e06949060200161055f565b600180546103d490611d33565b600754600090600160a01b900460ff16156112a55760405162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b60448201526064016104dd565b600654610100900460ff16156112fb5760065460405163370c4c0560e11b81523360048201526001600160a01b038581166024830152604482018590526201000090920490911690636e18980a906064016105bf565b60065460ff166001036114a15760075460405163ca14d1bb60e01b81523360048201526001600160a01b039091169063ca14d1bb906024015b602060405180830381865afa158015611351573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113759190611d6d565b801561145e5750600754604051630199cceb60e31b81526001600160a01b03858116600483015290911690630cce675890602401602060405180830381865afa1580156113c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ea9190611d6d565b8061145e575060075460405163b09c4d3d60e01b81526001600160a01b0385811660048301529091169063b09c4d3d90602401602060405180830381865afa15801561143a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145e9190611d6d565b61149c5760405162461bcd60e51b815260206004820152600f60248201526e2337b93134b2103a3930b739b332b960891b60448201526064016104dd565b61164b565b60065460ff166002036115c25760075460405163ca14d1bb60e01b81523360048201526001600160a01b039091169063ca14d1bb90602401602060405180830381865afa1580156114f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151a9190611d6d565b8061158c5750600754604051630199cceb60e31b81523360048201526001600160a01b0390911690630cce675890602401602060405180830381865afa158015611568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158c9190611d6d565b80611375575060075460405163b09c4d3d60e01b81523360048201526001600160a01b039091169063b09c4d3d90602401611334565b60075460405163e184f6cb60e01b81523360048201526001600160a01b039091169063e184f6cb90602401602060405180830381865afa15801561160a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162e9190611d6d565b1561164b5760405162461bcd60e51b81526004016104dd90611dda565b611656338484611939565b50600192915050565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa1580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cb9190611d6d565b6116e75760405162461bcd60e51b81526004016104dd90611d8a565b60078054821515600160a01b0260ff60a01b199091161790556040517f0e2fb031ee032dc02d8011dc50b816eb450cf856abd8261680dac74f72165bd29061055f90831515815260200190565b6007546001600160a01b0316331461178e5760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f74206d616e6167656d656e74000000000000000060448201526064016104dd565b6001600160a01b0381166117a157600080fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405130907f183dc3c9790171f2cf061ea28dbd5041edf6ff72a23f039d595607079aecf2cb90600090a350565b600654600090610100900460ff161561187d57600654604051636eb1769f60e11b81526001600160a01b0385811660048301528481166024830152620100009092049091169063dd62ed3e90604401602060405180830381865afa158015611859573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106029190611dc1565b6001600160a01b03808416600090815260056020908152604080832093861683529290522054610602565b6000611656338484611a69565b6001600160a01b038216600090815260046020526040812080548392906118dd908490611e0f565b9250508190555080600360008282546118f69190611e0f565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161077a565b6001600160a01b03831660009081526004602052604081208054839290611961908490611e0f565b90915550506001600160a01b0382166000908152600460205260408120805483929061198e908490611f30565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119da91815260200190565b60405180910390a3505050565b80600360008282546119f99190611f30565b90915550506001600160a01b03821660009081526004602052604081208054839290611a26908490611f30565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161077a565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591016119da565b600060208083528351808285015260005b81811015611aef57858101830151858201604001528201611ad3565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ee957600080fd5b600060208284031215611b3957600080fd5b610d9682611b10565b60008060408385031215611b5557600080fd5b611b5e83611b10565b946020939093013593505050565b600080600060608486031215611b8157600080fd5b611b8a84611b10565b9250611b9860208501611b10565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611bcf57600080fd5b813567ffffffffffffffff80821115611bea57611bea611ba8565b604051601f8301601f19908116603f01168101908282118183101715611c1257611c12611ba8565b81604052838152866020858801011115611c2b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215611c5e57600080fd5b823567ffffffffffffffff80821115611c7657600080fd5b611c8286838701611bbe565b93506020850135915080821115611c9857600080fd5b50611ca585828601611bbe565b9150509250929050565b600060208284031215611cc157600080fd5b813560ff81168114610d9657600080fd5b8015158114611ce057600080fd5b50565b600060208284031215611cf557600080fd5b8135610d9681611cd2565b60008060408385031215611d1357600080fd5b611d1c83611b10565b9150611d2a60208401611b10565b90509250929050565b600181811c90821680611d4757607f821691505b602082108103611d6757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611d7f57600080fd5b8151610d9681611cd2565b6020808252601e908201527f43616c6c6572206973206e6f7420636f6e7472616374206d616e616765720000604082015260600190565b600060208284031215611dd357600080fd5b5051919050565b602080825260059082015264426c6f636b60d81b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561061357610613611df9565b601f821115610e3e57600081815260208120601f850160051c81016020861015611e495750805b601f850160051c820191505b81811015611e6857828155600101611e55565b505050505050565b815167ffffffffffffffff811115611e8a57611e8a611ba8565b611e9e81611e988454611d33565b84611e22565b602080601f831160018114611ed35760008415611ebb5750858301515b600019600386901b1c1916600185901b178555611e68565b600085815260208120601f198616915b82811015611f0257888601518255948401946001909101908401611ee3565b5085821015611f205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8082018082111561061357610613611df956fea264697066735822122034c17debb89ae357318212b062263c867081f83993484dd9e674fcb35c125ba764736f6c634300081000330000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000003711d9aba73217e5dcd7730846aaa104c144e3ee000000000000000000000000000000000000000000000000000000000000000a754d494e542d5445535400000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061018e5760003560e01c806370a08231116100de578063a9059cbb11610097578063cca3e83211610071578063cca3e83214610356578063d4a22bde14610376578063dd336c1214610389578063dd62ed3e146103b457600080fd5b8063a9059cbb1461031e578063bedb86fb14610331578063c28de2cd1461034457600080fd5b806370a08231146102ab578063867904b4146102be57806388125b70146102d157806388a8d602146102e457806395d89b41146102f7578063a393cedc146102ff57600080fd5b80631e9a69501161014b578063313ce56711610125578063313ce567146102725780633eaaf86b1461027b5780635a446215146102845780635c975abb1461029757600080fd5b80631e9a69501461023357806323b872dd1461024657806326976e3f1461025957600080fd5b806306fdde03146101935780630900f010146101b1578063095ea7b3146101c6578063098d3228146101e957806318160ddd146102005780631d14384814610208575b600080fd5b61019b6103c7565b6040516101a89190611ac2565b60405180910390f35b6101c46101bf366004611b27565b610455565b005b6101d96101d4366004611b42565b61056a565b60405190151581526020016101a8565b6101f260001981565b6040519081526020016101a8565b6101f2610619565b60085461021b906001600160a01b031681565b6040516001600160a01b0390911681526020016101a8565b6101c4610241366004611b42565b6106af565b6101d9610254366004611b6c565b610786565b60065461021b906201000090046001600160a01b031681565b6101f260025481565b6101f260035481565b6101c4610292366004611c4b565b610d9d565b6007546101d990600160a01b900460ff1681565b6101f26102b9366004611b27565b610e43565b6101c46102cc366004611b42565b610eee565b6101c46102df366004611caf565b611188565b60075461021b906001600160a01b031681565b61019b611252565b60065461030c9060ff1681565b60405160ff90911681526020016101a8565b6101d961032c366004611b42565b61125f565b6101c461033f366004611ce3565b61165f565b6006546101d990610100900460ff1681565b6101f2610364366004611b27565b60046020526000908152604090205481565b6101c4610384366004611b27565b611734565b6101f2610397366004611d00565b600560209081526000928352604080842090915290825290205481565b6101f26103c2366004611d00565b6117ed565b600080546103d490611d33565b80601f016020809104026020016040519081016040528092919081815260200182805461040090611d33565b801561044d5780601f106104225761010080835404028352916020019161044d565b820191906000526020600020905b81548152906001019060200180831161043057829003601f168201915b505050505081565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa15801561049d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c19190611d6d565b6104e65760405162461bcd60e51b81526004016104dd90611d8a565b60405180910390fd5b6001600160a01b0381166104f957600080fd5b600680546001600160a01b0383166201000002610100600160b01b0319909116176101001790556040517ff78721226efe9a1bb678189a16d1554928b9f2192e2cb93eeda83b79fa40007d9061055f9083906001600160a01b0391909116815260200190565b60405180910390a150565b600654600090610100900460ff16156106095760065460405163aee92d3360e01b81523360048201526001600160a01b03858116602483015260448201859052620100009092049091169063aee92d33906064015b6020604051808303816000875af11580156105de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106029190611d6d565b9050610613565b61060283836118a8565b92915050565b600654600090610100900460ff16156106a857600660029054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a39190611dc1565b905090565b5060035490565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190611d6d565b6107375760405162461bcd60e51b81526004016104dd90611d8a565b61074182826118b5565b6040518181526001600160a01b0383169030907fd12200efa34901b99367694174c3b0d32c99585fdf37c7c26892136ddd0836d9906020015b60405180910390a35050565b600754600090600160a01b900460ff16156107cc5760405162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b60448201526064016104dd565b600654610100900460ff161561086f57600654604051638b477adb60e01b81523360048201526001600160a01b0386811660248301528581166044830152606482018590526201000090920490911690638b477adb906084016020604051808303816000875af1158015610844573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108689190611d6d565b9050610d96565b60065460ff16600103610b765760075460405163ca14d1bb60e01b81523360048201526001600160a01b039091169063ca14d1bb906024015b602060405180830381865afa1580156108c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e99190611d6d565b80156109d25750600754604051630199cceb60e31b81526001600160a01b03868116600483015290911690630cce675890602401602060405180830381865afa15801561093a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095e9190611d6d565b806109d2575060075460405163b09c4d3d60e01b81526001600160a01b0386811660048301529091169063b09c4d3d90602401602060405180830381865afa1580156109ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d29190611d6d565b8015610b2f575060075460405163ca14d1bb60e01b81526001600160a01b0385811660048301529091169063ca14d1bb90602401602060405180830381865afa158015610a23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a479190611d6d565b80610abb5750600754604051630199cceb60e31b81526001600160a01b03858116600483015290911690630cce675890602401602060405180830381865afa158015610a97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abb9190611d6d565b80610b2f575060075460405163b09c4d3d60e01b81526001600160a01b0385811660048301529091169063b09c4d3d90602401602060405180830381865afa158015610b0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2f9190611d6d565b610b715760405162461bcd60e51b8152602060048201526013602482015272466f72626964207472616e7366657246726f6d60681b60448201526064016104dd565b610d22565b60065460ff16600203610c975760075460405163ca14d1bb60e01b81523360048201526001600160a01b039091169063ca14d1bb90602401602060405180830381865afa158015610bcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bef9190611d6d565b80610c615750600754604051630199cceb60e31b81523360048201526001600160a01b0390911690630cce675890602401602060405180830381865afa158015610c3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c619190611d6d565b806108e9575060075460405163b09c4d3d60e01b81523360048201526001600160a01b039091169063b09c4d3d906024016108a8565b60075460405163e184f6cb60e01b81526001600160a01b0386811660048301529091169063e184f6cb90602401602060405180830381865afa158015610ce1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d059190611d6d565b15610d225760405162461bcd60e51b81526004016104dd90611dda565b6001600160a01b038416600090815260056020908152604080832033845290915290205460001914610d87576001600160a01b038416600090815260056020908152604080832033845290915281208054849290610d81908490611e0f565b90915550505b610d92848484611939565b5060015b9392505050565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa158015610de5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e099190611d6d565b610e255760405162461bcd60e51b81526004016104dd90611d8a565b6000610e318382611e70565b506001610e3e8282611e70565b505050565b600654600090610100900460ff1615610ecb576006546040516370a0823160e01b81526001600160a01b03848116600483015262010000909204909116906370a0823190602401602060405180830381865afa158015610ea7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106139190611dc1565b6001600160a01b038216600090815260046020526040902054610613565b919050565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa158015610f36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5a9190611d6d565b610f765760405162461bcd60e51b81526004016104dd90611d8a565b60065460ff1660011480610f8f575060065460ff166002145b156110b657600754604051630199cceb60e31b81526001600160a01b03848116600483015290911690630cce675890602401602060405180830381865afa158015610fde573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110029190611d6d565b80611076575060075460405163ca14d1bb60e01b81526001600160a01b0384811660048301529091169063ca14d1bb90602401602060405180830381865afa158015611052573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110769190611d6d565b6110b15760405162461bcd60e51b815260206004820152600c60248201526b466f7262696420697373756560a01b60448201526064016104dd565b611141565b60075460405163e184f6cb60e01b81526001600160a01b0384811660048301529091169063e184f6cb90602401602060405180830381865afa158015611100573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111249190611d6d565b156111415760405162461bcd60e51b81526004016104dd90611dda565b61114b82826119e7565b6040518181526001600160a01b0383169030907f4b2682685b046a3dae8e75ff49b82fa703e366056a43c6a791411011134f4f5d9060200161077a565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa1580156111d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f49190611d6d565b6112105760405162461bcd60e51b81526004016104dd90611d8a565b6006805460ff191660ff83169081179091556040519081527fedb033101ee74a2510b0dade2be7e909662762ae8fbc98942ac3170f628e06949060200161055f565b600180546103d490611d33565b600754600090600160a01b900460ff16156112a55760405162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b60448201526064016104dd565b600654610100900460ff16156112fb5760065460405163370c4c0560e11b81523360048201526001600160a01b038581166024830152604482018590526201000090920490911690636e18980a906064016105bf565b60065460ff166001036114a15760075460405163ca14d1bb60e01b81523360048201526001600160a01b039091169063ca14d1bb906024015b602060405180830381865afa158015611351573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113759190611d6d565b801561145e5750600754604051630199cceb60e31b81526001600160a01b03858116600483015290911690630cce675890602401602060405180830381865afa1580156113c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ea9190611d6d565b8061145e575060075460405163b09c4d3d60e01b81526001600160a01b0385811660048301529091169063b09c4d3d90602401602060405180830381865afa15801561143a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145e9190611d6d565b61149c5760405162461bcd60e51b815260206004820152600f60248201526e2337b93134b2103a3930b739b332b960891b60448201526064016104dd565b61164b565b60065460ff166002036115c25760075460405163ca14d1bb60e01b81523360048201526001600160a01b039091169063ca14d1bb90602401602060405180830381865afa1580156114f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151a9190611d6d565b8061158c5750600754604051630199cceb60e31b81523360048201526001600160a01b0390911690630cce675890602401602060405180830381865afa158015611568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158c9190611d6d565b80611375575060075460405163b09c4d3d60e01b81523360048201526001600160a01b039091169063b09c4d3d90602401611334565b60075460405163e184f6cb60e01b81523360048201526001600160a01b039091169063e184f6cb90602401602060405180830381865afa15801561160a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162e9190611d6d565b1561164b5760405162461bcd60e51b81526004016104dd90611dda565b611656338484611939565b50600192915050565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa1580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cb9190611d6d565b6116e75760405162461bcd60e51b81526004016104dd90611d8a565b60078054821515600160a01b0260ff60a01b199091161790556040517f0e2fb031ee032dc02d8011dc50b816eb450cf856abd8261680dac74f72165bd29061055f90831515815260200190565b6007546001600160a01b0316331461178e5760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f74206d616e6167656d656e74000000000000000060448201526064016104dd565b6001600160a01b0381166117a157600080fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405130907f183dc3c9790171f2cf061ea28dbd5041edf6ff72a23f039d595607079aecf2cb90600090a350565b600654600090610100900460ff161561187d57600654604051636eb1769f60e11b81526001600160a01b0385811660048301528481166024830152620100009092049091169063dd62ed3e90604401602060405180830381865afa158015611859573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106029190611dc1565b6001600160a01b03808416600090815260056020908152604080832093861683529290522054610602565b6000611656338484611a69565b6001600160a01b038216600090815260046020526040812080548392906118dd908490611e0f565b9250508190555080600360008282546118f69190611e0f565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161077a565b6001600160a01b03831660009081526004602052604081208054839290611961908490611e0f565b90915550506001600160a01b0382166000908152600460205260408120805483929061198e908490611f30565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119da91815260200190565b60405180910390a3505050565b80600360008282546119f99190611f30565b90915550506001600160a01b03821660009081526004602052604081208054839290611a26908490611f30565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161077a565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591016119da565b600060208083528351808285015260005b81811015611aef57858101830151858201604001528201611ad3565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ee957600080fd5b600060208284031215611b3957600080fd5b610d9682611b10565b60008060408385031215611b5557600080fd5b611b5e83611b10565b946020939093013593505050565b600080600060608486031215611b8157600080fd5b611b8a84611b10565b9250611b9860208501611b10565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611bcf57600080fd5b813567ffffffffffffffff80821115611bea57611bea611ba8565b604051601f8301601f19908116603f01168101908282118183101715611c1257611c12611ba8565b81604052838152866020858801011115611c2b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215611c5e57600080fd5b823567ffffffffffffffff80821115611c7657600080fd5b611c8286838701611bbe565b93506020850135915080821115611c9857600080fd5b50611ca585828601611bbe565b9150509250929050565b600060208284031215611cc157600080fd5b813560ff81168114610d9657600080fd5b8015158114611ce057600080fd5b50565b600060208284031215611cf557600080fd5b8135610d9681611cd2565b60008060408385031215611d1357600080fd5b611d1c83611b10565b9150611d2a60208401611b10565b90509250929050565b600181811c90821680611d4757607f821691505b602082108103611d6757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611d7f57600080fd5b8151610d9681611cd2565b6020808252601e908201527f43616c6c6572206973206e6f7420636f6e7472616374206d616e616765720000604082015260600190565b600060208284031215611dd357600080fd5b5051919050565b602080825260059082015264426c6f636b60d81b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561061357610613611df9565b601f821115610e3e57600081815260208120601f850160051c81016020861015611e495750805b601f850160051c820191505b81811015611e6857828155600101611e55565b505050505050565b815167ffffffffffffffff811115611e8a57611e8a611ba8565b611e9e81611e988454611d33565b84611e22565b602080601f831160018114611ed35760008415611ebb5750858301515b600019600386901b1c1916600185901b178555611e68565b600085815260208120601f198616915b82811015611f0257888601518255948401946001909101908401611ee3565b5085821015611f205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8082018082111561061357610613611df956fea264697066735822122034c17debb89ae357318212b062263c867081f83993484dd9e674fcb35c125ba764736f6c63430008100033

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