ETH Price: $2,731.25 (+4.07%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw164893832023-01-26 7:05:35740 days ago1674716735IN
0x6b8F724A...36c0eff81
0 ETH0.0008361914.44785374
Withdraw108119612020-09-07 3:03:061611 days ago1599447786IN
0x6b8F724A...36c0eff81
0 ETH0.0054088996.80000023
Add Token106664442020-08-15 19:15:101633 days ago1597518910IN
0x6b8F724A...36c0eff81
0 ETH0.00504726103.40000023
Add Token106664432020-08-15 19:14:581633 days ago1597518898IN
0x6b8F724A...36c0eff81
0 ETH0.00720491103.40000023

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

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

Contract Name:
ResourceEscrow

Compiler Version
v0.5.0+commit.1d4f565a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2021-05-06
*/

pragma solidity ^0.5.0;

interface Token { 
    function transfer(address to, uint256 value) external returns (bool);
    function balanceOf(address owner) external view returns (uint256);
} 

interface USDTToken {
    function transfer(address _to, uint _value) external;
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;

    /**
      * @dev The Ownable constructor sets the original `owner` of the contract to the sender
      * account.
      */
    constructor () public {
        owner = msg.sender;
    }

    /**
      * @dev Throws if called by any account other than the owner.
      */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    /**
    * @dev Allows the current owner to transfer control of the contract to a newOwner.
    * @param newOwner The address to transfer ownership to.
    */
    function transferOwnership(address newOwner) public onlyOwner {
        if (newOwner != address(0)) {
            owner = newOwner;
        }
    }

}

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
  event Pause();
  event Restore();

  bool public paused = false;


  /**
   * @dev Modifier to make a function callable only when the contract is not paused.
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is paused.
   */
  modifier whenPaused() {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() onlyOwner whenNotPaused public {
    paused = true;
    emit Pause();
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function restore() onlyOwner whenPaused public {
    paused = false;
    emit Restore();
  }
}

contract ResourceEscrow is Pausable {
    using SafeMath for uint256;
    
    struct TokenWapper {
        Token token;
        bool isValid;
    }
    
    mapping (string => TokenWapper) private tokenMap;
    
    USDTToken private usdtToken;
  
    event Withdrawn(address indexed to, string symbol, uint256 amount);
    
    constructor () public {
    }
    
    function addToken(string memory symbol, address tokenContract) public onlyOwner {
        require(bytes(symbol).length != 0, "symbol must not be blank.");
        require(tokenContract != address(0), "tokenContract address must not be zero.");
        require(!tokenMap[symbol].isValid, "There has existed token contract.");
        
        tokenMap[symbol].token = Token(tokenContract);
        tokenMap[symbol].isValid = true;
        
        if (hashCompareWithLengthCheck(symbol, "USDT")) {
            usdtToken = USDTToken(tokenContract);
        } 
    } 
    
    function hashCompareWithLengthCheck(string memory a, string memory b) internal pure returns (bool) {
        if (bytes(a).length != bytes(b).length) {
            return false;
        } else {
            return keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b));
        }
    }
    
    function withdraw(string memory symbol, address payable to, uint256 amount, bool isCharge) public onlyOwner {
        require(bytes(symbol).length != 0, "symbol must not be blank.");
        require(to != address(0), "Address must not be zero.");
        require(tokenMap[symbol].isValid, "There is no token contract.");
        
        uint256 balAmount = tokenMap[symbol].token.balanceOf(address(this));
        
        if (hashCompareWithLengthCheck(symbol, "USDT")) {
            uint256 assertAmount = amount;
            if (isCharge) { 
                assertAmount = amount.add(1000000);
            }
            require(assertAmount <= balAmount, "There is no enough USDT balance.");
            usdtToken.transfer(to, amount);
            if (isCharge) {
                usdtToken.transfer(0x08a7CD504E2f380d89747A3a0cD42d40dDd428e6, 1000000);
            }
        } else if (hashCompareWithLengthCheck(symbol, "ANKR")) {
            uint256 assertAmount = amount;
            if (isCharge) {
                assertAmount = amount.add(10000000000000000000);
            }
            require(assertAmount <= balAmount, "There is no enough ANKR balance.");
            tokenMap[symbol].token.transfer(to, amount);
            if (isCharge) {
                tokenMap[symbol].token.transfer(0x08a7CD504E2f380d89747A3a0cD42d40dDd428e6, 10000000000000000000);
            }
        } else {
            return; 
        }
        
        emit Withdrawn(to, symbol, amount);
    }
    
    function availableBalance(string memory symbol) public view returns (uint256) {
        require(bytes(symbol).length != 0, "symbol must not be blank.");
        require(tokenMap[symbol].isValid, "There is no token contract.");
        
        return tokenMap[symbol].token.balanceOf(address(this));
    }
    
    function isSupportTokens(string memory symbol) public view returns (bool) {
        require(bytes(symbol).length != 0, "symbol must not be blank.");
        
        if (tokenMap[symbol].isValid) {
            return true;
        }
        
        return false;
    }
    
    function isStateNormal() public view returns (bool) {
        return paused;
    }
    
    
    function destory() public onlyOwner{
        selfdestruct(address(uint160(address(this)))); 
    }
    
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[],"name":"restore","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"symbol","type":"string"}],"name":"availableBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isStateNormal","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"destory","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"symbol","type":"string"},{"name":"to","type":"address"},{"name":"amount","type":"uint256"},{"name":"isCharge","type":"bool"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"symbol","type":"string"}],"name":"isSupportTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"symbol","type":"string"},{"name":"tokenContract","type":"address"}],"name":"addToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"symbol","type":"string"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Restore","type":"event"}]

Deployed Bytecode

0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632fda332e146100b45780634eb99970146100cb5780634f41cc87146101a75780635c975abb146101d65780636bdebcc9146102055780638456cb591461021c5780638da5cb5b14610233578063a2a360fb1461028a578063affbb65814610388578063b0b22c2c14610468578063f2fde38b14610550575b600080fd5b3480156100c057600080fd5b506100c96105a1565b005b3480156100d757600080fd5b50610191600480360360208110156100ee57600080fd5b810190808035906020019064010000000081111561010b57600080fd5b82018360208201111561011d57600080fd5b8035906020019184600183028401116401000000008311171561013f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061065f565b6040518082815260200191505060405180910390f35b3480156101b357600080fd5b506101bc610933565b604051808215151515815260200191505060405180910390f35b3480156101e257600080fd5b506101eb610949565b604051808215151515815260200191505060405180910390f35b34801561021157600080fd5b5061021a61095c565b005b34801561022857600080fd5b506102316109d0565b005b34801561023f57600080fd5b50610248610a90565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029657600080fd5b50610386600480360360808110156102ad57600080fd5b81019080803590602001906401000000008111156102ca57600080fd5b8201836020820111156102dc57600080fd5b803590602001918460018302840111640100000000831117156102fe57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803515159060200190929190505050610ab5565b005b34801561039457600080fd5b5061044e600480360360208110156103ab57600080fd5b81019080803590602001906401000000008111156103c857600080fd5b8201836020820111156103da57600080fd5b803590602001918460018302840111640100000000831117156103fc57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506115f5565b604051808215151515815260200191505060405180910390f35b34801561047457600080fd5b5061054e6004803603604081101561048b57600080fd5b81019080803590602001906401000000008111156104a857600080fd5b8201836020820111156104ba57600080fd5b803590602001918460018302840111640100000000831117156104dc57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611704565b005b34801561055c57600080fd5b5061059f6004803603602081101561057357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b78565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105fc57600080fd5b600060149054906101000a900460ff16151561061757600080fd5b60008060146101000a81548160ff0219169083151502179055507ff51ee052201ca7b5bc4773543dd4a70da0a513a2b1249156f400d9f180d7b7d660405160405180910390a1565b6000808251141515156106da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f73796d626f6c206d757374206e6f7420626520626c616e6b2e0000000000000081525060200191505060405180910390fd5b6001826040518082805190602001908083835b60208310151561071257805182526020820191506020810190506020830392506106ed565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060000160149054906101000a900460ff1615156107ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5468657265206973206e6f20746f6b656e20636f6e74726163742e000000000081525060200191505060405180910390fd5b6001826040518082805190602001908083835b60208310151561080257805182526020820191506020810190506020830392506107dd565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156108f157600080fd5b505afa158015610905573d6000803e3d6000fd5b505050506040513d602081101561091b57600080fd5b81019080805190602001909291905050509050919050565b60008060149054906101000a900460ff16905090565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109b757600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16ff5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a2b57600080fd5b600060149054906101000a900460ff16151515610a4757600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b1057600080fd5b6000845114151515610b8a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f73796d626f6c206d757374206e6f7420626520626c616e6b2e0000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610c2f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f41646472657373206d757374206e6f74206265207a65726f2e0000000000000081525060200191505060405180910390fd5b6001846040518082805190602001908083835b602083101515610c675780518252602082019150602081019050602083039250610c42565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060000160149054906101000a900460ff161515610d1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5468657265206973206e6f20746f6b656e20636f6e74726163742e000000000081525060200191505060405180910390fd5b60006001856040518082805190602001908083835b602083101515610d595780518252602082019150602081019050602083039250610d34565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610e4857600080fd5b505afa158015610e5c573d6000803e3d6000fd5b505050506040513d6020811015610e7257600080fd5b81019080805190602001909291905050509050610ec4856040805190810160405280600481526020017f5553445400000000000000000000000000000000000000000000000000000000815250611c4d565b156111435760008390508215610eed57610eea620f424085611d5590919063ffffffff16565b90505b818111151515610f65576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5468657265206973206e6f20656e6f75676820555344542062616c616e63652e81525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86866040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561102a57600080fd5b505af115801561103e573d6000803e3d6000fd5b50505050821561113d57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7308a7cd504e2f380d89747a3a0cd42d40ddd428e6620f42406040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561112457600080fd5b505af1158015611138573d6000803e3d6000fd5b505050505b50611532565b611182856040805190810160405280600481526020017f414e4b5200000000000000000000000000000000000000000000000000000000815250611c4d565b1561152b57600083905082156111b0576111ad678ac7230489e8000085611d5590919063ffffffff16565b90505b818111151515611228576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5468657265206973206e6f20656e6f75676820414e4b522062616c616e63652e81525060200191505060405180910390fd5b6001866040518082805190602001908083835b602083101515611260578051825260208201915060208101905060208303925061123b565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86866040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561135957600080fd5b505af115801561136d573d6000803e3d6000fd5b505050506040513d602081101561138357600080fd5b8101908080519060200190929190505050508215611525576001866040518082805190602001908083835b6020831015156113d357805182526020820191506020810190506020830392506113ae565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7308a7cd504e2f380d89747a3a0cd42d40ddd428e6678ac7230489e800006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156114e857600080fd5b505af11580156114fc573d6000803e3d6000fd5b505050506040513d602081101561151257600080fd5b8101908080519060200190929190505050505b50611531565b506115ef565b5b8373ffffffffffffffffffffffffffffffffffffffff167f18af30a54a1951aeee806c16cdcb8d087ed1a095f0d9a87261b92cef2c6cc92d86856040518080602001838152602001828103825284818151815260200191508051906020019080838360005b838110156115b2578082015181840152602081019050611597565b50505050905090810190601f1680156115df5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a2505b50505050565b600080825114151515611670576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f73796d626f6c206d757374206e6f7420626520626c616e6b2e0000000000000081525060200191505060405180910390fd5b6001826040518082805190602001908083835b6020831015156116a85780518252602082019150602081019050602083039250611683565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060000160149054906101000a900460ff16156116fa57600190506116ff565b600090505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561175f57600080fd5b60008251141515156117d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f73796d626f6c206d757374206e6f7420626520626c616e6b2e0000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156118a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001807f746f6b656e436f6e74726163742061646472657373206d757374206e6f74206281526020017f65207a65726f2e0000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6001826040518082805190602001908083835b6020831015156118dc57805182526020820191506020810190506020830392506118b7565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060000160149054906101000a900460ff161515156119bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f546865726520686173206578697374656420746f6b656e20636f6e747261637481526020017f2e0000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b806001836040518082805190602001908083835b6020831015156119f457805182526020820191506020810190506020830392506119cf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600180836040518082805190602001908083835b602083101515611aa15780518252602082019150602081019050602083039250611a7c565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060000160146101000a81548160ff021916908315150217905550611b2d826040805190810160405280600481526020017f5553445400000000000000000000000000000000000000000000000000000000815250611c4d565b15611b745780600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bd357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611c4a57806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600081518351141515611c635760009050611d4f565b816040516020018082805190602001908083835b602083101515611c9c5780518252602082019150602081019050602083039250611c77565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b602083101515611d105780518252602082019150602081019050602083039250611ceb565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001201490505b92915050565b6000808284019050838110151515611d6957fe5b809150509291505056fea165627a7a72305820e904d5d13a9a063188c96197146f0634a75e3ad67a3af317452b321328a5ff520029

Deployed Bytecode Sourcemap

3063:3641:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2961:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2961:95:0;;;;;;5882:310;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5882:310:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5882:310:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5882:310:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5882:310:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5882:310:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5882:310:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6493:84;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6493:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2340:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2340:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;6595:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6595:100:0;;;;;;2781:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2781:93:0;;;;;;1421:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1421:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4348:1522;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4348:1522:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;4348:1522:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4348:1522:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4348:1522:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4348:1522:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;4348:1522:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6204:277;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6204:277:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6204:277:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6204:277:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6204:277:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6204:277:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6204:277:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3449:574;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3449:574:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3449:574:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3449:574:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3449:574:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3449:574:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3449:574:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1989:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1989:151:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1989:151:0;;;;;;;;;;;;;;;;;;;;;;2961:95;1789:5;;;;;;;;;;;1775:19;;:10;:19;;;1767:28;;;;;;;;2676:6;;;;;;;;;;;2668:15;;;;;;;;3024:5;3015:6;;:14;;;;;;;;;;;;;;;;;;3041:9;;;;;;;;;;2961:95::o;5882:310::-;5951:7;6003:1;5985:6;5979:20;:25;;5971:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6053:8;6062:6;6053:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;6053:16:0;;;;;;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;6045:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6137:8;6146:6;6137:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;6137:16:0;;;;;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:32;;;6178:4;6137:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6137:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6137:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6137:47:0;;;;;;;;;;;;;;;;6130:54;;5882:310;;;:::o;6493:84::-;6539:4;6563:6;;;;;;;;;;;6556:13;;6493:84;:::o;2340:26::-;;;;;;;;;;;;;:::o;6595:100::-;1789:5;;;;;;;;;;;1775:19;;:10;:19;;;1767:28;;;;;;;;6678:4;6641:45;;;2781:93;1789:5;;;;;;;;;;;1775:19;;:10;:19;;;1767:28;;;;;;;;2516:6;;;;;;;;;;;2515:7;2507:16;;;;;;;;2845:4;2836:6;;:13;;;;;;;;;;;;;;;;;;2861:7;;;;;;;;;;2781:93::o;1421:20::-;;;;;;;;;;;;;:::o;4348:1522::-;1789:5;;;;;;;;;;;1775:19;;:10;:19;;;1767:28;;;;;;;;4499:1;4481:6;4475:20;:25;;4467:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4563:1;4549:16;;:2;:16;;;;4541:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4614:8;4623:6;4614:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4614:16:0;;;;;;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;4606:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4691:17;4711:8;4720:6;4711:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4711:16:0;;;;;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:32;;;4752:4;4711:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4711:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4711:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4711:47:0;;;;;;;;;;;;;;;;4691:67;;4783:42;4810:6;4783:42;;;;;;;;;;;;;;;;;;:26;:42::i;:::-;4779:1029;;;4842:20;4865:6;4842:29;;4890:8;4886:84;;;4935:19;4946:7;4935:6;:10;;:19;;;;:::i;:::-;4920:34;;4886:84;5008:9;4992:12;:25;;4984:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5069:9;;;;;;;;;;;:18;;;5088:2;5092:6;5069:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5069:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5069:30:0;;;;5118:8;5114:120;;;5147:9;;;;;;;;;;;:18;;;5166:42;5210:7;5147:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5147:71:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5147:71:0;;;;5114:120;4779:1029;;;;5255:42;5282:6;5255:42;;;;;;;;;;;;;;;;;;:26;:42::i;:::-;5251:557;;;5314:20;5337:6;5314:29;;5362:8;5358:96;;;5406:32;5417:20;5406:6;:10;;:32;;;;:::i;:::-;5391:47;;5358:96;5492:9;5476:12;:25;;5468:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5553:8;5562:6;5553:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5553:16:0;;;;;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:31;;;5585:2;5589:6;5553:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5553:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5553:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5553:43:0;;;;;;;;;;;;;;;;;5615:8;5611:146;;;5644:8;5653:6;5644:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5644:16:0;;;;;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:31;;;5676:42;5720:20;5644:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5644:97:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5644:97:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5644:97:0;;;;;;;;;;;;;;;;;5611:146;5251:557;;;;5789:7;;;5251:557;4779:1029;5843:2;5833:29;;;5847:6;5855;5833:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5833:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1806:1;;4348:1522;;;;:::o;6204:277::-;6272:4;6321:1;6303:6;6297:20;:25;;6289:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6377:8;6386:6;6377:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;6377:16:0;;;;;;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;6373:68;;;6425:4;6418:11;;;;6373:68;6468:5;6461:12;;6204:277;;;;:::o;3449:574::-;1789:5;;;;;;;;;;;1775:19;;:10;:19;;;1767:28;;;;;;;;3572:1;3554:6;3548:20;:25;;3540:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3647:1;3622:27;;:13;:27;;;;3614:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3713:8;3722:6;3713:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3713:16:0;;;;;;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;3712:25;3704:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3827:13;3796:8;3805:6;3796:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3796:16:0;;;;;;;;;;;;;;;;;;;;;:22;;;:45;;;;;;;;;;;;;;;;;;3879:4;3852:8;3861:6;3852:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3852:16:0;;;;;;;;;;;;;;;;;;;;;:24;;;:31;;;;;;;;;;;;;;;;;;3908:42;3935:6;3908:42;;;;;;;;;;;;;;;;;;:26;:42::i;:::-;3904:111;;;3989:13;3967:9;;:36;;;;;;;;;;;;;;;;;;3904:111;3449:574;;:::o;1989:151::-;1789:5;;;;;;;;;;;1775:19;;:10;:19;;;1767:28;;;;;;;;2086:1;2066:22;;:8;:22;;;;2062:71;;;2113:8;2105:5;;:16;;;;;;;;;;;;;;;;;;2062:71;1989:151;:::o;4036:300::-;4129:4;4175:1;4169:15;4156:1;4150:15;:34;;4146:183;;;4208:5;4201:12;;;;4146:183;4314:1;4297:19;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4297:19:0;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4297:19:0;;;4287:30;;;;;;4280:1;4263:19;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4263:19:0;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4263:19:0;;;4253:30;;;;;;:64;4246:71;;4036:300;;;;;:::o;1048:147::-;1106:7;1126:9;1142:1;1138;:5;1126:17;;1166:1;1161;:6;;1154:14;;;;;;1186:1;1179:8;;;1048:147;;;;:::o

Swarm Source

bzzr://e904d5d13a9a063188c96197146f0634a75e3ad67a3af317452b321328a5ff52

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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