ETH Price: $2,187.36 (+6.93%)

Contract

0xFf20FCF985C768ccf812e8C3E08f5AAe01256BB0
 

Overview

ETH Balance

0.284787277685678901 ETH

Eth Value

$622.93 (@ $2,187.36/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw Funds105937392020-08-04 14:02:382047 days ago1596549758IN
0xFf20FCF9...e01256BB0
0 ETH0.0021708871.5
Set Limits105547092020-07-29 13:13:192053 days ago1596028399IN
0xFf20FCF9...e01256BB0
0 ETH0.00328715110.5
Transfer105318732020-07-26 0:39:182056 days ago1595723958IN
0xFf20FCF9...e01256BB0
9 ETH0.0013593658.5
Transfer105318702020-07-26 0:38:162056 days ago1595723896IN
0xFf20FCF9...e01256BB0
1 ETH0.0012083252

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-113598522020-11-30 11:21:211929 days ago1606735281
0xFf20FCF9...e01256BB0
0.202 ETH
-113597412020-11-30 10:56:121929 days ago1606733772
0xFf20FCF9...e01256BB0
0.0505 ETH
-107586362020-08-29 23:22:312021 days ago1598743351
0xFf20FCF9...e01256BB0
0.0101 ETH
-107585892020-08-29 23:11:112021 days ago1598742671
0xFf20FCF9...e01256BB0
0.0101 ETH
-107490342020-08-28 12:07:182023 days ago1598616438
0xFf20FCF9...e01256BB0
0.0505 ETH
-107426942020-08-27 12:46:452024 days ago1598532405
0xFf20FCF9...e01256BB0
0.0101 ETH
-107386912020-08-26 21:52:342024 days ago1598478754
0xFf20FCF9...e01256BB0
0.0101 ETH
-107386352020-08-26 21:40:412024 days ago1598478041
0xFf20FCF9...e01256BB0
0.0101 ETH
-107301842020-08-25 14:42:562025 days ago1598366576
0xFf20FCF9...e01256BB0
0.02626 ETH
-107102372020-08-22 13:12:402029 days ago1598101960
0xFf20FCF9...e01256BB0
0.02626 ETH
-107047902020-08-21 16:58:332029 days ago1598029113
0xFf20FCF9...e01256BB0
0.0144257 ETH
-106933092020-08-19 22:40:152031 days ago1597876815
0xFf20FCF9...e01256BB0
0.0101 ETH
-106928292020-08-19 21:00:582031 days ago1597870858
0xFf20FCF9...e01256BB0
0.02034537 ETH
-106894392020-08-19 8:21:452032 days ago1597825305
0xFf20FCF9...e01256BB0
0.5555 ETH
-106892692020-08-19 7:45:342032 days ago1597823134
0xFf20FCF9...e01256BB0
0.03535 ETH
-106887432020-08-19 5:40:142032 days ago1597815614
0xFf20FCF9...e01256BB0
0.0303 ETH
-106887102020-08-19 5:33:002032 days ago1597815180
0xFf20FCF9...e01256BB0
0.0303 ETH
-106886682020-08-19 5:25:152032 days ago1597814715
0xFf20FCF9...e01256BB0
0.03737 ETH
-106871532020-08-18 23:49:352032 days ago1597794575
0xFf20FCF9...e01256BB0
0.505 ETH
-106782432020-08-17 15:04:132033 days ago1597676653
0xFf20FCF9...e01256BB0
0.35331164 ETH
-106734612020-08-16 21:11:052034 days ago1597612265
0xFf20FCF9...e01256BB0
0.0505 ETH
-106734532020-08-16 21:10:082034 days ago1597612208
0xFf20FCF9...e01256BB0
0.0101 ETH
-106688582020-08-16 4:09:462035 days ago1597550986
0xFf20FCF9...e01256BB0
0.0303 ETH
-106688322020-08-16 4:02:432035 days ago1597550563
0xFf20FCF9...e01256BB0
0.0303 ETH
-106688002020-08-16 3:55:512035 days ago1597550151
0xFf20FCF9...e01256BB0
0.03535 ETH
View All Internal Transactions
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 0xc2990045...F805AB010
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
RampInstantEthPool

Compiler Version
v0.5.10+commit.5a6ea5b1

Optimization Enabled:
Yes with 420 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-01-22
*/

pragma solidity 0.5.10;

/**
 * Copyright © 2017-2019 Ramp Network sp. z o.o. All rights reserved (MIT License).
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
 * and associated documentation files (the "Software"), to deal in the Software without restriction,
 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
 * is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all copies
 * or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
 * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */


/**
 * A standard, simple transferrable contract ownership.
 */
contract Ownable {

    address public owner;

    event OwnerChanged(address oldOwner, address newOwner);

    constructor() internal {
        owner = msg.sender;
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "only the owner can call this");
        _;
    }

    function changeOwner(address _newOwner) external onlyOwner {
        owner = _newOwner;
        emit OwnerChanged(msg.sender, _newOwner);
    }

}


/**
 * A contract that can be stopped/restarted by its owner.
 */
contract Stoppable is Ownable {

    bool public isActive = true;

    event IsActiveChanged(bool _isActive);

    modifier onlyActive() {
        require(isActive, "contract is stopped");
        _;
    }

    function setIsActive(bool _isActive) external onlyOwner {
        if (_isActive == isActive) return;
        isActive = _isActive;
        emit IsActiveChanged(_isActive);
    }

}

/**
 * A simple interface used by the escrows contract (precisely AssetAdapters) to interact
 * with the liquidity pools.
 */
contract RampInstantPoolInterface {

    uint16 public ASSET_TYPE;

    function sendFundsToSwap(uint256 _amount)
        public /*onlyActive onlySwapsContract isWithinLimits*/ returns(bool success);

}

/**
 * An interface of the RampInstantEscrows functions that are used by the liquidity pool contracts.
 * See RampInstantEscrows.sol for more comments.
 */
contract RampInstantEscrowsPoolInterface {

    uint16 public ASSET_TYPE;

    function release(
        address _pool,
        address payable _receiver,
        address _oracle,
        bytes calldata _assetData,
        bytes32 _paymentDetailsHash
    )
        external; /*statusAtLeast(Status.FINALIZE_ONLY) onlyOracleOrPool(_pool, _oracle)*/

    function returnFunds(
        address payable _pool,
        address _receiver,
        address _oracle,
        bytes calldata _assetData,
        bytes32 _paymentDetailsHash
    )
        external; /*statusAtLeast(Status.RETURN_ONLY) onlyOracleOrPool(_pool, _oracle)*/

}

/**
 * An abstract Ramp Instant Liquidity Pool. A liquidity provider deploys an instance of this
 * contract, and sends his funds to it. The escrows contract later withdraws portions of these
 * funds to be locked. The owner can withdraw any part of the funds at any time, or temporarily
 * block creating new escrows by stopping the contract.
 *
 * The pool owner can set and update min/max swap amounts, with an upper limit of 2^240 wei/units
 * (see `AssetAdapterWithFees` for more info).
 *
 * The paymentDetailsHash parameters works the same as in the `RampInstantEscrows` contract, only
 * with 0 value and empty transfer title. It describes the bank account where the pool owner expects
 * to be paid, and can be used to validate that a created swap indeed uses the same account.
 *
 * @author Ramp Network sp. z o.o.
 */
contract RampInstantPool is Ownable, Stoppable, RampInstantPoolInterface {

    uint256 constant private MAX_SWAP_AMOUNT_LIMIT = 1 << 240;
    uint16 public ASSET_TYPE;

    address payable public swapsContract;
    uint256 public minSwapAmount;
    uint256 public maxSwapAmount;
    bytes32 public paymentDetailsHash;

    /**
     * Triggered when the pool receives new funds, either a topup, or a returned escrow from an old
     * swaps contract if it was changed. Avilable for ETH, ERC-223 and ERC-777 token pools.
     * Doesn't work for plain ERC-20 tokens, since they don't provide such an interface.
     */
    event ReceivedFunds(address _from, uint256 _amount);
    event LimitsChanged(uint256 _minAmount, uint256 _maxAmount);
    event SwapsContractChanged(address _oldAddress, address _newAddress);

    constructor(
        address payable _swapsContract,
        uint256 _minSwapAmount,
        uint256 _maxSwapAmount,
        bytes32 _paymentDetailsHash,
        uint16 _assetType
    )
        public
        validateLimits(_minSwapAmount, _maxSwapAmount)
        validateSwapsContract(_swapsContract, _assetType)
    {
        swapsContract = _swapsContract;
        paymentDetailsHash = _paymentDetailsHash;
        minSwapAmount = _minSwapAmount;
        maxSwapAmount = _maxSwapAmount;
        ASSET_TYPE = _assetType;
    }

    function availableFunds() public view returns (uint256);

    function withdrawFunds(address payable _to, uint256 _amount)
        public /*onlyOwner*/ returns (bool success);

    function withdrawAllFunds(address payable _to) public onlyOwner returns (bool success) {
        return withdrawFunds(_to, availableFunds());
    }

    function setLimits(
        uint256 _minAmount,
        uint256 _maxAmount
    ) public onlyOwner validateLimits(_minAmount, _maxAmount) {
        minSwapAmount = _minAmount;
        maxSwapAmount = _maxAmount;
        emit LimitsChanged(_minAmount, _maxAmount);
    }

    function setSwapsContract(
        address payable _swapsContract
    ) public onlyOwner validateSwapsContract(_swapsContract, ASSET_TYPE) {
        address oldSwapsContract = swapsContract;
        swapsContract = _swapsContract;
        emit SwapsContractChanged(oldSwapsContract, _swapsContract);
    }

    function sendFundsToSwap(uint256 _amount)
        public /*onlyActive onlySwapsContract isWithinLimits*/ returns(bool success);

    function releaseSwap(
        address payable _receiver,
        address _oracle,
        bytes calldata _assetData,
        bytes32 _paymentDetailsHash
    ) external onlyOwner {
        RampInstantEscrowsPoolInterface(swapsContract).release(
            address(this),
            _receiver,
            _oracle,
            _assetData,
            _paymentDetailsHash
        );
    }

    function returnSwap(
        address _receiver,
        address _oracle,
        bytes calldata _assetData,
        bytes32 _paymentDetailsHash
    ) external onlyOwner {
        RampInstantEscrowsPoolInterface(swapsContract).returnFunds(
            address(this),
            _receiver,
            _oracle,
            _assetData,
            _paymentDetailsHash
        );
    }

    /**
     * Needed for address(this) to be payable in call to returnFunds.
     * The Eth pool overrides this to not throw.
     */
    function () external payable {
        revert("this pool cannot receive ether");
    }

    modifier onlySwapsContract() {
        require(msg.sender == swapsContract, "only the swaps contract can call this");
        _;
    }

    modifier isWithinLimits(uint256 _amount) {
        require(_amount >= minSwapAmount && _amount <= maxSwapAmount, "amount outside swap limits");
        _;
    }

    modifier validateLimits(uint256 _minAmount, uint256 _maxAmount) {
        require(_minAmount <= _maxAmount, "min limit over max limit");
        require(_maxAmount <= MAX_SWAP_AMOUNT_LIMIT, "maxAmount too high");
        _;
    }

    modifier validateSwapsContract(address payable _swapsContract, uint16 _assetType) {
        require(_swapsContract != address(0), "null swaps contract address");
        require(
            RampInstantEscrowsPoolInterface(_swapsContract).ASSET_TYPE() == _assetType,
            "pool asset type doesn't match swap contract"
        );
        _;
    }

}

/**
 * A pool that implements handling of ETH assets. See `RampInstantPool`.
 *
 * @author Ramp Network sp. z o.o.
 */
contract RampInstantEthPool is RampInstantPool {

    uint16 internal constant ETH_TYPE_ID = 1;

    constructor(
        address payable _swapsContract,
        uint256 _minSwapAmount,
        uint256 _maxSwapAmount,
        bytes32 _paymentDetailsHash
    )
        public
        RampInstantPool(
            _swapsContract, _minSwapAmount, _maxSwapAmount, _paymentDetailsHash, ETH_TYPE_ID
        )
    {}

    function availableFunds() public view returns(uint256) {
        return address(this).balance;
    }

    function withdrawFunds(
        address payable _to,
        uint256 _amount
    ) public onlyOwner returns (bool success) {
        _to.transfer(_amount);  // always throws on failure
        return true;
    }

    function sendFundsToSwap(
        uint256 _amount
    ) public onlyActive onlySwapsContract isWithinLimits(_amount) returns(bool success) {
        swapsContract.transfer(_amount);  // always throws on failure
        return true;
    }

    /**
     * This adapter can receive eth payments, but no other use of the fallback function is allowed.
     */
    function () external payable {
        require(msg.data.length == 0, "invalid pool function called");
        if (msg.sender != swapsContract) {
            emit ReceivedFunds(msg.sender, msg.value);
        }
    }

}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_oracle","type":"address"},{"name":"_assetData","type":"bytes"},{"name":"_paymentDetailsHash","type":"bytes32"}],"name":"returnSwap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isActive","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_isActive","type":"bool"}],"name":"setIsActive","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"withdrawAllFunds","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minSwapAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paymentDetailsHash","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"availableFunds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"sendFundsToSwap","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ASSET_TYPE","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawFunds","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_minAmount","type":"uint256"},{"name":"_maxAmount","type":"uint256"}],"name":"setLimits","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxSwapAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_swapsContract","type":"address"}],"name":"setSwapsContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"swapsContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_oracle","type":"address"},{"name":"_assetData","type":"bytes"},{"name":"_paymentDetailsHash","type":"bytes32"}],"name":"releaseSwap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_swapsContract","type":"address"},{"name":"_minSwapAmount","type":"uint256"},{"name":"_maxSwapAmount","type":"uint256"},{"name":"_paymentDetailsHash","type":"bytes32"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_from","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"ReceivedFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_minAmount","type":"uint256"},{"indexed":false,"name":"_maxAmount","type":"uint256"}],"name":"LimitsChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_oldAddress","type":"address"},{"indexed":false,"name":"_newAddress","type":"address"}],"name":"SwapsContractChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_isActive","type":"bool"}],"name":"IsActiveChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"}]

0x60806040526000805460ff60a01b19167401000000000000000000000000000000000000000017905534801561003457600080fd5b506040516112323803806112328339818101604052608081101561005757600080fd5b50805160208201516040830151606090930151600080546001600160a01b03191633179055919290918383838360018383808211156100f757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d696e206c696d6974206f766572206d6178206c696d69740000000000000000604482015290519081900360640190fd5b7e0100000000000000000000000000000000000000000000000000000000000081111561018557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6d6178416d6f756e7420746f6f20686967680000000000000000000000000000604482015290519081900360640190fd5b86836001600160a01b0382166101fc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f6e756c6c20737761707320636f6e747261637420616464726573730000000000604482015290519081900360640190fd5b8061ffff16826001600160a01b0316638815eb396040518163ffffffff1660e01b815260040160206040518083038186803b15801561023a57600080fd5b505afa15801561024e573d6000803e3d6000fd5b505050506040513d602081101561026457600080fd5b505161ffff16146102c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611207602b913960400191505060405180910390fd5b5050600180546001600160a01b039098166001600160a01b031990981697909717909655506004919091556002929092556003556000805461ffff909216770100000000000000000000000000000000000000000000000261ffff60b81b199092169190911790555050505050610ecb8061033c6000396000f3fe6080604052600436106100fe5760003560e01c80638815eb3911610095578063c4590d3f11610064578063c4590d3f14610402578063cce987d414610432578063d950f36514610447578063fa5d54291461047a578063fdc5d5221461048f576100fe565b80638815eb39146103395780638da5cb5b14610365578063a6f9dae114610396578063c1075329146103c9576100fe565b8063338246e2116100d1578063338246e2146102be578063428eecf0146102e557806346fcff4c146102fa57806381fd3f0b1461030f576100fe565b80631952e39c146101a057806322f3e2d4146102365780632750fc781461025f57806332dee40b1461028b575b3615610151576040805162461bcd60e51b815260206004820152601c60248201527f696e76616c696420706f6f6c2066756e6374696f6e2063616c6c656400000000604482015290519081900360640190fd5b6001546001600160a01b0316331461019e576040805133815234602082015281517f5741979df5f3e491501da74d3b0a83dd2496ab1f34929865b3e190a8ad75859a929181900390910190a15b005b3480156101ac57600080fd5b5061019e600480360360808110156101c357600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156101f757600080fd5b82018360208201111561020957600080fd5b8035906020019184600183028401116401000000008311171561022b57600080fd5b919350915035610525565b34801561024257600080fd5b5061024b610630565b604080519115158252519081900360200190f35b34801561026b57600080fd5b5061019e6004803603602081101561028257600080fd5b50351515610640565b34801561029757600080fd5b5061024b600480360360208110156102ae57600080fd5b50356001600160a01b0316610701565b3480156102ca57600080fd5b506102d3610766565b60408051918252519081900360200190f35b3480156102f157600080fd5b506102d361076c565b34801561030657600080fd5b506102d3610772565b34801561031b57600080fd5b5061024b6004803603602081101561033257600080fd5b5035610777565b34801561034557600080fd5b5061034e6108c9565b6040805161ffff9092168252519081900360200190f35b34801561037157600080fd5b5061037a6108da565b604080516001600160a01b039092168252519081900360200190f35b3480156103a257600080fd5b5061019e600480360360208110156103b957600080fd5b50356001600160a01b03166108e9565b3480156103d557600080fd5b5061024b600480360360408110156103ec57600080fd5b506001600160a01b038135169060200135610992565b34801561040e57600080fd5b5061019e6004803603604081101561042557600080fd5b5080359060200135610a16565b34801561043e57600080fd5b506102d3610b5e565b34801561045357600080fd5b5061019e6004803603602081101561046a57600080fd5b50356001600160a01b0316610b64565b34801561048657600080fd5b5061037a610d2b565b34801561049b57600080fd5b5061019e600480360360808110156104b257600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156104e657600080fd5b8201836020820111156104f857600080fd5b8035906020019184600183028401116401000000008311171561051a57600080fd5b919350915035610d3a565b6000546001600160a01b03163314610572576040805162461bcd60e51b815260206004820152601c6024820152600080516020610e27833981519152604482015290519081900360640190fd5b60015460405163a80e7acb60e01b815230600482018181526001600160a01b03898116602485015288811660448501526084840186905260a06064850190815260a4850188905294169363a80e7acb938a928a928a928a928a92909160c401858580828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561061157600080fd5b505af1158015610625573d6000803e3d6000fd5b505050505050505050565b600054600160a01b900460ff1681565b6000546001600160a01b0316331461068d576040805162461bcd60e51b815260206004820152601c6024820152600080516020610e27833981519152604482015290519081900360640190fd5b600060149054906101000a900460ff16151581151514156106ad576106fe565b60008054821515600160a01b810260ff60a01b199092169190911790915560408051918252517f93eaa614ad05cba2561ada88d825206f767e87209f81f491c9b6091abeb5f8579181900360200190a15b50565b600080546001600160a01b0316331461074f576040805162461bcd60e51b815260206004820152601c6024820152600080516020610e27833981519152604482015290519081900360640190fd5b6107608261075b610772565b610992565b92915050565b60025481565b60045481565b303190565b60008054600160a01b900460ff166107d6576040805162461bcd60e51b815260206004820152601360248201527f636f6e74726163742069732073746f7070656400000000000000000000000000604482015290519081900360640190fd5b6001546001600160a01b0316331461081f5760405162461bcd60e51b8152600401808060200182810382526025815260200180610e476025913960400191505060405180910390fd5b81600254811015801561083457506003548111155b610885576040805162461bcd60e51b815260206004820152601a60248201527f616d6f756e74206f7574736964652073776170206c696d697473000000000000604482015290519081900360640190fd5b6001546040516001600160a01b039091169084156108fc029085906000818181858888f193505050501580156108bf573d6000803e3d6000fd5b5060019392505050565b600054600160b81b900461ffff1681565b6000546001600160a01b031681565b6000546001600160a01b03163314610936576040805162461bcd60e51b815260206004820152601c6024820152600080516020610e27833981519152604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b03831690811790915560408051338152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150565b600080546001600160a01b031633146109e0576040805162461bcd60e51b815260206004820152601c6024820152600080516020610e27833981519152604482015290519081900360640190fd5b6040516001600160a01b0384169083156108fc029084906000818181858888f193505050501580156108bf573d6000803e3d6000fd5b6000546001600160a01b03163314610a63576040805162461bcd60e51b815260206004820152601c6024820152600080516020610e27833981519152604482015290519081900360640190fd5b818180821115610aba576040805162461bcd60e51b815260206004820152601860248201527f6d696e206c696d6974206f766572206d6178206c696d69740000000000000000604482015290519081900360640190fd5b600160f01b811115610b13576040805162461bcd60e51b815260206004820152601260248201527f6d6178416d6f756e7420746f6f20686967680000000000000000000000000000604482015290519081900360640190fd5b60028490556003839055604080518581526020810185905281517fab1a2e99a7a60d154f951a42eca140d755f93d41ccfca4b6f7d5e521b64bee86929181900390910190a150505050565b60035481565b6000546001600160a01b03163314610bb1576040805162461bcd60e51b815260206004820152601c6024820152600080516020610e27833981519152604482015290519081900360640190fd5b6000548190600160b81b900461ffff166001600160a01b038216610c1c576040805162461bcd60e51b815260206004820152601b60248201527f6e756c6c20737761707320636f6e747261637420616464726573730000000000604482015290519081900360640190fd5b8061ffff16826001600160a01b0316638815eb396040518163ffffffff1660e01b815260040160206040518083038186803b158015610c5a57600080fd5b505afa158015610c6e573d6000803e3d6000fd5b505050506040513d6020811015610c8457600080fd5b505161ffff1614610cc65760405162461bcd60e51b815260040180806020018281038252602b815260200180610e6c602b913960400191505060405180910390fd5b600180546001600160a01b038581166001600160a01b0319831681179093556040805191909216808252602082019390935281517f1da46151351b5d8e3ef8081319c4e364056c3fe3038a275a6b4638ab203b3f31929181900390910190a150505050565b6001546001600160a01b031681565b6000546001600160a01b03163314610d87576040805162461bcd60e51b815260206004820152601c6024820152600080516020610e27833981519152604482015290519081900360640190fd5b600154604051639a3c6e2960e01b815230600482018181526001600160a01b03898116602485015288811660448501526084840186905260a06064850190815260a48501889052941693639a3c6e29938a928a928a928a928a92909160c401858580828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561061157600080fdfe6f6e6c7920746865206f776e65722063616e2063616c6c2074686973000000006f6e6c792074686520737761707320636f6e74726163742063616e2063616c6c2074686973706f6f6c206173736574207479706520646f65736e2774206d61746368207377617020636f6e7472616374a265627a7a72305820b94e84e15ed203ba447c0ed709d11394d40262ffeb23ff1f347c2cb2ad57dece64736f6c634300050a0032706f6f6c206173736574207479706520646f65736e2774206d61746368207377617020636f6e7472616374000000000000000000000000762a7ea687d5f9aaed98eb4c5e597b43652af7ff0000000000000000000000000000000000000000000000008ac7230489e800000000000000000000000000000000000000000000000000008ac7230489e8000091c7e49537d33cf2caf9b45e0f50a26ca8d6f15365738fb8a8bf12adda416a37

Deployed Bytecode

0x6080604052600436106100fe5760003560e01c80638815eb3911610095578063c4590d3f11610064578063c4590d3f14610402578063cce987d414610432578063d950f36514610447578063fa5d54291461047a578063fdc5d5221461048f576100fe565b80638815eb39146103395780638da5cb5b14610365578063a6f9dae114610396578063c1075329146103c9576100fe565b8063338246e2116100d1578063338246e2146102be578063428eecf0146102e557806346fcff4c146102fa57806381fd3f0b1461030f576100fe565b80631952e39c146101a057806322f3e2d4146102365780632750fc781461025f57806332dee40b1461028b575b3615610151576040805162461bcd60e51b815260206004820152601c60248201527f696e76616c696420706f6f6c2066756e6374696f6e2063616c6c656400000000604482015290519081900360640190fd5b6001546001600160a01b0316331461019e576040805133815234602082015281517f5741979df5f3e491501da74d3b0a83dd2496ab1f34929865b3e190a8ad75859a929181900390910190a15b005b3480156101ac57600080fd5b5061019e600480360360808110156101c357600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156101f757600080fd5b82018360208201111561020957600080fd5b8035906020019184600183028401116401000000008311171561022b57600080fd5b919350915035610525565b34801561024257600080fd5b5061024b610630565b604080519115158252519081900360200190f35b34801561026b57600080fd5b5061019e6004803603602081101561028257600080fd5b50351515610640565b34801561029757600080fd5b5061024b600480360360208110156102ae57600080fd5b50356001600160a01b0316610701565b3480156102ca57600080fd5b506102d3610766565b60408051918252519081900360200190f35b3480156102f157600080fd5b506102d361076c565b34801561030657600080fd5b506102d3610772565b34801561031b57600080fd5b5061024b6004803603602081101561033257600080fd5b5035610777565b34801561034557600080fd5b5061034e6108c9565b6040805161ffff9092168252519081900360200190f35b34801561037157600080fd5b5061037a6108da565b604080516001600160a01b039092168252519081900360200190f35b3480156103a257600080fd5b5061019e600480360360208110156103b957600080fd5b50356001600160a01b03166108e9565b3480156103d557600080fd5b5061024b600480360360408110156103ec57600080fd5b506001600160a01b038135169060200135610992565b34801561040e57600080fd5b5061019e6004803603604081101561042557600080fd5b5080359060200135610a16565b34801561043e57600080fd5b506102d3610b5e565b34801561045357600080fd5b5061019e6004803603602081101561046a57600080fd5b50356001600160a01b0316610b64565b34801561048657600080fd5b5061037a610d2b565b34801561049b57600080fd5b5061019e600480360360808110156104b257600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156104e657600080fd5b8201836020820111156104f857600080fd5b8035906020019184600183028401116401000000008311171561051a57600080fd5b919350915035610d3a565b6000546001600160a01b03163314610572576040805162461bcd60e51b815260206004820152601c6024820152600080516020610e27833981519152604482015290519081900360640190fd5b60015460405163a80e7acb60e01b815230600482018181526001600160a01b03898116602485015288811660448501526084840186905260a06064850190815260a4850188905294169363a80e7acb938a928a928a928a928a92909160c401858580828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561061157600080fd5b505af1158015610625573d6000803e3d6000fd5b505050505050505050565b600054600160a01b900460ff1681565b6000546001600160a01b0316331461068d576040805162461bcd60e51b815260206004820152601c6024820152600080516020610e27833981519152604482015290519081900360640190fd5b600060149054906101000a900460ff16151581151514156106ad576106fe565b60008054821515600160a01b810260ff60a01b199092169190911790915560408051918252517f93eaa614ad05cba2561ada88d825206f767e87209f81f491c9b6091abeb5f8579181900360200190a15b50565b600080546001600160a01b0316331461074f576040805162461bcd60e51b815260206004820152601c6024820152600080516020610e27833981519152604482015290519081900360640190fd5b6107608261075b610772565b610992565b92915050565b60025481565b60045481565b303190565b60008054600160a01b900460ff166107d6576040805162461bcd60e51b815260206004820152601360248201527f636f6e74726163742069732073746f7070656400000000000000000000000000604482015290519081900360640190fd5b6001546001600160a01b0316331461081f5760405162461bcd60e51b8152600401808060200182810382526025815260200180610e476025913960400191505060405180910390fd5b81600254811015801561083457506003548111155b610885576040805162461bcd60e51b815260206004820152601a60248201527f616d6f756e74206f7574736964652073776170206c696d697473000000000000604482015290519081900360640190fd5b6001546040516001600160a01b039091169084156108fc029085906000818181858888f193505050501580156108bf573d6000803e3d6000fd5b5060019392505050565b600054600160b81b900461ffff1681565b6000546001600160a01b031681565b6000546001600160a01b03163314610936576040805162461bcd60e51b815260206004820152601c6024820152600080516020610e27833981519152604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b03831690811790915560408051338152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150565b600080546001600160a01b031633146109e0576040805162461bcd60e51b815260206004820152601c6024820152600080516020610e27833981519152604482015290519081900360640190fd5b6040516001600160a01b0384169083156108fc029084906000818181858888f193505050501580156108bf573d6000803e3d6000fd5b6000546001600160a01b03163314610a63576040805162461bcd60e51b815260206004820152601c6024820152600080516020610e27833981519152604482015290519081900360640190fd5b818180821115610aba576040805162461bcd60e51b815260206004820152601860248201527f6d696e206c696d6974206f766572206d6178206c696d69740000000000000000604482015290519081900360640190fd5b600160f01b811115610b13576040805162461bcd60e51b815260206004820152601260248201527f6d6178416d6f756e7420746f6f20686967680000000000000000000000000000604482015290519081900360640190fd5b60028490556003839055604080518581526020810185905281517fab1a2e99a7a60d154f951a42eca140d755f93d41ccfca4b6f7d5e521b64bee86929181900390910190a150505050565b60035481565b6000546001600160a01b03163314610bb1576040805162461bcd60e51b815260206004820152601c6024820152600080516020610e27833981519152604482015290519081900360640190fd5b6000548190600160b81b900461ffff166001600160a01b038216610c1c576040805162461bcd60e51b815260206004820152601b60248201527f6e756c6c20737761707320636f6e747261637420616464726573730000000000604482015290519081900360640190fd5b8061ffff16826001600160a01b0316638815eb396040518163ffffffff1660e01b815260040160206040518083038186803b158015610c5a57600080fd5b505afa158015610c6e573d6000803e3d6000fd5b505050506040513d6020811015610c8457600080fd5b505161ffff1614610cc65760405162461bcd60e51b815260040180806020018281038252602b815260200180610e6c602b913960400191505060405180910390fd5b600180546001600160a01b038581166001600160a01b0319831681179093556040805191909216808252602082019390935281517f1da46151351b5d8e3ef8081319c4e364056c3fe3038a275a6b4638ab203b3f31929181900390910190a150505050565b6001546001600160a01b031681565b6000546001600160a01b03163314610d87576040805162461bcd60e51b815260206004820152601c6024820152600080516020610e27833981519152604482015290519081900360640190fd5b600154604051639a3c6e2960e01b815230600482018181526001600160a01b03898116602485015288811660448501526084840186905260a06064850190815260a48501889052941693639a3c6e29938a928a928a928a928a92909160c401858580828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561061157600080fdfe6f6e6c7920746865206f776e65722063616e2063616c6c2074686973000000006f6e6c792074686520737761707320636f6e74726163742063616e2063616c6c2074686973706f6f6c206173736574207479706520646f65736e2774206d61746368207377617020636f6e7472616374a265627a7a72305820b94e84e15ed203ba447c0ed709d11394d40262ffeb23ff1f347c2cb2ad57dece64736f6c634300050a0032

Deployed Bytecode Sourcemap

8783:1359:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9965:8;:20;9957:61;;;;;-1:-1:-1;;;9957:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10047:13;;-1:-1:-1;;;;;10047:13:0;10033:10;:27;10029:101;;10082:36;;;10096:10;10082:36;;10108:9;10082:36;;;;;;;;;;;;;;;;;10029:101;8783:1359;7096:395;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7096:395:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;7096:395:0;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;7096:395:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7096:395: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;7096:395:0;;-1:-1:-1;7096:395:0;-1:-1:-1;7096:395:0;;:::i;1846:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1846:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;2029:181;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2029:181:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2029:181:0;;;;:::i;5793:149::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5793:149:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5793:149:0;-1:-1:-1;;;;;5793:149:0;;:::i;4440:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4440:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;4510:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4510:33:0;;;:::i;9214:102::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9214:102:0;;;:::i;9549:241::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9549:241:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9549:241:0;;:::i;4364:24::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4364:24:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1301:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1301:20:0;;;:::i;:::-;;;;-1:-1:-1;;;;;1301:20:0;;;;;;;;;;;;;;1581:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1581:146:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1581:146:0;-1:-1:-1;;;;;1581:146:0;;:::i;9324:217::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9324:217:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9324:217:0;;;;;;;;:::i;5950:275::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5950:275:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5950:275:0;;;;;;;:::i;4475:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4475:28:0;;;:::i;6233:311::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6233:311:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6233:311:0;-1:-1:-1;;;;;6233:311:0;;:::i;4397:36::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4397:36:0;;;:::i;6688:400::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6688:400:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;6688:400:0;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;6688:400:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6688:400: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;6688:400:0;;-1:-1:-1;6688:400:0;-1:-1:-1;6688:400:0;;:::i;7096:395::-;1515:5;;-1:-1:-1;;;;;1515:5:0;1501:10;:19;1493:60;;;;;-1:-1:-1;;;1493:60:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1493:60:0;;;;;;;;;;;;;;;7313:13;;7281:202;;-1:-1:-1;;;7281:202:0;;7362:4;7281:202;;;;;;-1:-1:-1;;;;;7281:202:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7313:13;;;7281:58;;7382:9;;7406:7;;7428:10;;;;7453:19;;7281:202;;;;7428:10;;;;7281:202;1:33:-1;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;;7281:202:0;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7281:202:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7281:202:0;;;;7096:395;;;;;:::o;1846:27::-;;;-1:-1:-1;;;1846:27:0;;;;;:::o;2029:181::-;1515:5;;-1:-1:-1;;;;;1515:5:0;1501:10;:19;1493:60;;;;;-1:-1:-1;;;1493:60:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1493:60:0;;;;;;;;;;;;;;;2113:8;;;;;;;;;;;2100:21;;:9;:21;;;2096:34;;;2123:7;;2096:34;2140:8;:20;;;;;-1:-1:-1;;;2140:20:0;;-1:-1:-1;;;;2140:20:0;;;;;;;;;;2176:26;;;;;;;;;;;;;;;;1564:1;2029:181;:::o;5793:149::-;5866:12;1515:5;;-1:-1:-1;;;;;1515:5:0;1501:10;:19;1493:60;;;;;-1:-1:-1;;;1493:60:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1493:60:0;;;;;;;;;;;;;;;5898:36;5912:3;5917:16;:14;:16::i;:::-;5898:13;:36::i;:::-;5891:43;5793:149;-1:-1:-1;;5793:149:0:o;4440:28::-;;;;:::o;4510:33::-;;;;:::o;9214:102::-;9295:4;9287:21;9214:102;:::o;9549:241::-;9675:12;1969:8;;-1:-1:-1;;;1969:8:0;;;;1961:40;;;;;-1:-1:-1;;;1961:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7796:13;;-1:-1:-1;;;;;7796:13:0;7782:10;:27;7774:77;;;;-1:-1:-1;;;7774:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9658:7;7950:13;;7939:7;:24;;:52;;;;;7978:13;;7967:7;:24;;7939:52;7931:91;;;;;-1:-1:-1;;;7931:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9700:13;;:31;;-1:-1:-1;;;;;9700:13:0;;;;:31;;;;;9723:7;;9700:13;:31;:13;:31;9723:7;9700:13;:31;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;9778:4:0;;9549:241;-1:-1:-1;;;9549:241:0:o;4364:24::-;;;-1:-1:-1;;;4364:24:0;;;;;:::o;1301:20::-;;;-1:-1:-1;;;;;1301:20:0;;:::o;1581:146::-;1515:5;;-1:-1:-1;;;;;1515:5:0;1501:10;:19;1493:60;;;;;-1:-1:-1;;;1493:60:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1493:60:0;;;;;;;;;;;;;;;1651:5;:17;;-1:-1:-1;;;;;;1651:17:0;-1:-1:-1;;;;;1651:17:0;;;;;;;;1684:35;;;1697:10;1684:35;;;;;;;;;;;;;;;;;;;;;1581:146;:::o;9324:217::-;9436:12;1515:5;;-1:-1:-1;;;;;1515:5:0;1501:10;:19;1493:60;;;;;-1:-1:-1;;;1493:60:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1493:60:0;;;;;;;;;;;;;;;9461:21;;-1:-1:-1;;;;;9461:12:0;;;:21;;;;;9474:7;;9461:21;;;;9474:7;9461:12;:21;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5950:275:0;1515:5;;-1:-1:-1;;;;;1515:5:0;1501:10;:19;1493:60;;;;;-1:-1:-1;;;1493:60:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1493:60:0;;;;;;;;;;;;;;;6066:10;6078;8147;8133;:24;;8125:61;;;;;-1:-1:-1;;;8125:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8205:10:0;:35;;8197:66;;;;;-1:-1:-1;;;8197:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6101:13;:26;;;6138:13;:26;;;6180:37;;;;;;;;;;;;;;;;;;;;;;;;;1564:1;;5950:275;;:::o;4475:28::-;;;;:::o;6233:311::-;1515:5;;-1:-1:-1;;;;;1515:5:0;1501:10;:19;1493:60;;;;;-1:-1:-1;;;1493:60:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1493:60:0;;;;;;;;;;;;;;;6362:10;;6346:14;;-1:-1:-1;;;6362:10:0;;;;-1:-1:-1;;;;;8392:28:0;;8384:68;;;;;-1:-1:-1;;;8384:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8549:10;8485:74;;8517:14;-1:-1:-1;;;;;8485:58:0;;:60;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8485:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8485:60:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8485:60:0;:74;;;8463:167;;;;-1:-1:-1;;;8463:167:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6412:13;;;-1:-1:-1;;;;;6436:30:0;;;-1:-1:-1;;;;;;6436:30:0;;;;;;;6482:54;;;6412:13;;;;6482:54;;;;;;;;;;;;;;;;;;;;;;;8641:1;1564;;6233:311;:::o;4397:36::-;;;-1:-1:-1;;;;;4397:36:0;;:::o;6688:400::-;1515:5;;-1:-1:-1;;;;;1515:5:0;1501:10;:19;1493:60;;;;;-1:-1:-1;;;1493:60:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1493:60:0;;;;;;;;;;;;;;;6914:13;;6882:198;;-1:-1:-1;;;6882:198:0;;6959:4;6882:198;;;;;;-1:-1:-1;;;;;6882:198:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6914:13;;;6882:54;;6979:9;;7003:7;;7025:10;;;;7050:19;;6882:198;;;;7025:10;;;;6882:198;1:33:-1;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;;6882:198:0;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12

Swarm Source

bzzr://b94e84e15ed203ba447c0ed709d11394d40262ffeb23ff1f347c2cb2ad57dece

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.