ETH Price: $2,676.00 (+1.77%)

Contract

0xdA2D6E2Abb42DEAa267E16504A164D5D8046454f
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Harvest128762932021-07-22 12:50:371301 days ago1626958237IN
0xdA2D6E2A...D8046454f
0 ETH0.0054728550
Harvest128739912021-07-22 4:06:561302 days ago1626926816IN
0xdA2D6E2A...D8046454f
0 ETH0.00146824
Harvest128739912021-07-22 4:06:561302 days ago1626926816IN
0xdA2D6E2A...D8046454f
0 ETH0.0026269624
Harvest128738292021-07-22 3:29:551302 days ago1626924595IN
0xdA2D6E2A...D8046454f
0 ETH0.0026374722
Harvest128737692021-07-22 3:18:061302 days ago1626923886IN
0xdA2D6E2A...D8046454f
0 ETH0.0029968225
Harvest128043042021-07-11 6:05:191313 days ago1625983519IN
0xdA2D6E2A...D8046454f
0 ETH0.0025177823
Harvest126051102021-06-10 6:21:031344 days ago1623306063IN
0xdA2D6E2A...D8046454f
0 ETH0.00126810
Harvest126051002021-06-10 6:18:521344 days ago1623305932IN
0xdA2D6E2A...D8046454f
0 ETH0.0010835210
Invest125981332021-06-09 4:14:511345 days ago1623212091IN
0xdA2D6E2A...D8046454f
0 ETH0.0018407411
Re Balance124749692021-05-21 2:10:061364 days ago1621563006IN
0xdA2D6E2A...D8046454f
0 ETH0.0171423945.00000112
Invest124366032021-05-15 3:32:131370 days ago1621049533IN
0xdA2D6E2A...D8046454f
0 ETH0.0147259288
Invest124366032021-05-15 3:32:131370 days ago1621049533IN
0xdA2D6E2A...D8046454f
0 ETH0.0156190388
Invest124236702021-05-13 3:46:581372 days ago1620877618IN
0xdA2D6E2A...D8046454f
0 ETH0.02802945167.50000072
Invest123928052021-05-08 9:22:101377 days ago1620465730IN
0xdA2D6E2A...D8046454f
0 ETH0.0129050872.60000839
Harvest123782722021-05-06 3:17:161379 days ago1620271036IN
0xdA2D6E2A...D8046454f
0 ETH0.0056340347
Harvest123781132021-05-06 2:41:201379 days ago1620268880IN
0xdA2D6E2A...D8046454f
0 ETH0.0050715240
Invest122875952021-04-22 3:25:031393 days ago1619061903IN
0xdA2D6E2A...D8046454f
0 ETH0.01924272115
Invest122055652021-04-09 12:10:281405 days ago1617970228IN
0xdA2D6E2A...D8046454f
0 ETH0.015167485
Re Balance121916962021-04-07 8:45:021408 days ago1617785102IN
0xdA2D6E2A...D8046454f
0 ETH0.06533832124
Invest121255062021-03-28 4:42:541418 days ago1616906574IN
0xdA2D6E2A...D8046454f
0 ETH0.0152364880
Invest121134952021-03-26 8:17:261420 days ago1616746646IN
0xdA2D6E2A...D8046454f
0 ETH0.01980742104.00000145
Invest120085162021-03-10 4:09:241436 days ago1615349364IN
0xdA2D6E2A...D8046454f
0 ETH0.0171846696.305
Invest119646982021-03-03 10:20:271442 days ago1614766827IN
0xdA2D6E2A...D8046454f
0 ETH0.01969315103.4
Invest119506552021-03-01 6:16:381445 days ago1614579398IN
0xdA2D6E2A...D8046454f
0 ETH0.0327629572
Invest119506512021-03-01 6:16:061445 days ago1614579366IN
0xdA2D6E2A...D8046454f
0 ETH0.014284275
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HotPotController

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-01-27
*/

pragma solidity >=0.5.0;


interface IHotPotFund {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
    event Deposit(address indexed owner, uint amount, uint share);
    event Withdraw(address indexed owner, uint amount, uint share);

    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function token() external view returns (address);
    function controller() external view returns (address);
    function assets(uint index) external view returns(uint);
    function totalAssets() external view returns (uint);
    function investmentOf(address owner) external view returns (uint);

    function totalDebts() external view returns (uint);
    function debtOf(address owner) external view returns (uint256);
    function uniPool(address pair) external view returns (address);

    function pairs(uint index) external view returns (address);
    function pairsLength() external view returns(uint);
    function curvePool(address _token) external view returns(address);

    function deposit(uint amount) external returns(uint share);
    function withdraw(uint share) external returns(uint amount);

    function invest(uint amount, uint[] calldata proportions) external;
    function addPair(address _token) external;
    function removePair(uint index) external;
    function reBalance(uint add_index, uint remove_index, uint liquidity) external;
    function setCurvePool(address _token, address _curvePool, int128 N_COINS) external;

    function setUNIPool(address pair, address _uniPool) external;
    function mineUNI(address pair) external;
    function mineUNIAll() external;
}

interface IERC20 {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
}

interface IHotPot {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
    function burn(uint value) external returns (bool) ;
    function burnFrom(address from, uint value) external returns (bool);
}

interface IUniswapV2Router {
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
}

interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0, "SafeMath: modulo by zero");
        return a % b;
    }
        
    /**
     * @dev Returns the largest of two numbers.
     */
    function max(uint256 a, uint256 b) internal pure returns (uint256) {
        return a >= b ? a : b;
    }

    /**
     * @dev Returns the smallest of two numbers.
     */
    function min(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }

    /**
     * @dev Returns the average of two numbers. The result is rounded towards
     * zero.
     */
    function average(uint256 a, uint256 b) internal pure returns (uint256) {
        // (a + b) / 2 can overflow, so we distribute
        return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2);
    }
}

/**
 * @title SafeERC20
 * @dev Wrappers around ERC20 operations that throw on failure (when the token
 * contract returns false). Tokens that return no value (and instead revert or
 * throw on failure) are also supported, non-reverting calls are assumed to be
 * successful.
 * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,
 * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
 */
library SafeERC20 {
    using SafeMath for uint256;

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

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

    function safeApprove(IERC20 token, address spender, uint256 value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }

    /**
     * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement
     * on the return value: the return value is optional (but if data is returned, it must not be false).
     * @param token The token targeted by the call.
     * @param data The call data (encoded using abi.encode or one of its variants).
     */
    function callOptionalReturn(IERC20 token, bytes memory data) private {
        // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
        // we're implementing it ourselves.

        // A Solidity high level call has two parts:
        //  1. The call itself is made, and success asserted
        //  2. The return value is decoded, which in turn checks the size of the returned data.

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = address(token).call(data);
        require(success, "SafeERC20: low-level call failed");

        if (returndata.length > 0) { // Return data is optional
            // solhint-disable-next-line max-line-length
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor () internal {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and make it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        // On the first call to nonReentrant, _notEntered will be true
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;

        _;

        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }
}

contract HotPotController is ReentrancyGuard {
    using SafeERC20 for IERC20;

    address constant UNISWAP_V2_ROUTER = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address constant UNISWAP_FACTORY = 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f;

    address public hotpot;
    address public manager;
    address public governance;
    mapping (address => bool) public trustedToken;

    event ChangeTrustedToken(address indexed token, bool isTrusted);

    modifier onlyManager {
        require(msg.sender == manager, 'Only called by Manager.');
        _;
    }

    modifier onlyGovernance{
        require(msg.sender == governance, 'Only called by Governance.');
        _;
    }

    constructor(
        address _hotpot,
        address _manager,
        address _governance
    ) public {
        hotpot = _hotpot;
        manager = _manager;
        governance = _governance;
    }

    function harvest(
        address token,
        uint amount
    ) public nonReentrant returns(uint burned) {
        uint value = amount <= IERC20(token).balanceOf(address(this)) ? amount : IERC20(token).balanceOf(address(this));

        address pair = IUniswapV2Factory(UNISWAP_FACTORY).getPair(token, hotpot);
        require(pair != address(0), 'Pair not exist.');

        IERC20(token).safeApprove(UNISWAP_V2_ROUTER, value);
        address[] memory path = new address[](2);
        path[0] = token;
        path[1] = hotpot;
        uint[] memory amounts = IUniswapV2Router(UNISWAP_V2_ROUTER).swapExactTokensForTokens(
            value,
            0,
            path,
            address(this), block.timestamp);
        IHotPot(hotpot).burn(amounts[1]);
        return amounts[1];
    }

    function invest(address fund, uint amount, uint[] calldata proportions) external onlyManager {
        IHotPotFund(fund).invest(amount, proportions);
    }

    function addPair(address fund, address token) external onlyManager{
        require(trustedToken[token], "The token is not trusted.");
        IHotPotFund(fund).addPair(token);
    }

    function removePair(address fund, uint index)  external onlyManager {
        IHotPotFund(fund).removePair(index);
    }

    function reBalance(
        address fund,
        uint add_index,
        uint remove_index,
        uint liquidity
    ) external onlyManager {
        IHotPotFund(fund).reBalance(add_index, remove_index, liquidity);
    }

    function mineUNI(address fund, address pair) external onlyManager {
        IHotPotFund(fund).mineUNI(pair);
    }

    function mineUNIAll(address fund) external onlyManager {
        IHotPotFund(fund).mineUNIAll();
    }

    function setGovernance(address account) onlyGovernance external {
        require(account != address(0), "invalid governance address.");
        governance = account;
    }

    function setManager(address account) onlyGovernance external{
        require(account != address(0), "invalid manager address.");
        manager = account;
    }

    function setUNIPool(address fund, address pair, address uniPool) external onlyGovernance {
        IHotPotFund(fund).setUNIPool(pair, uniPool);
    }

    function setTrustedToken(address token, bool isTrusted) external onlyGovernance {
        trustedToken[token] = isTrusted;
        emit ChangeTrustedToken(token, isTrusted);
    }

    function setCurvePool(address fund, address token, address curvePool, int128 N_COINS) external onlyGovernance {
        IHotPotFund(fund).setCurvePool(token, curvePool, N_COINS);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_hotpot","type":"address"},{"internalType":"address","name":"_manager","type":"address"},{"internalType":"address","name":"_governance","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"bool","name":"isTrusted","type":"bool"}],"name":"ChangeTrustedToken","type":"event"},{"constant":false,"inputs":[{"internalType":"address","name":"fund","type":"address"},{"internalType":"address","name":"token","type":"address"}],"name":"addPair","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"harvest","outputs":[{"internalType":"uint256","name":"burned","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hotpot","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"fund","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256[]","name":"proportions","type":"uint256[]"}],"name":"invest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"fund","type":"address"},{"internalType":"address","name":"pair","type":"address"}],"name":"mineUNI","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"fund","type":"address"}],"name":"mineUNIAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"fund","type":"address"},{"internalType":"uint256","name":"add_index","type":"uint256"},{"internalType":"uint256","name":"remove_index","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"reBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"fund","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"removePair","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"fund","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"curvePool","type":"address"},{"internalType":"int128","name":"N_COINS","type":"int128"}],"name":"setCurvePool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setGovernance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"bool","name":"isTrusted","type":"bool"}],"name":"setTrustedToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"fund","type":"address"},{"internalType":"address","name":"pair","type":"address"},{"internalType":"address","name":"uniPool","type":"address"}],"name":"setUNIPool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"trustedToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b506040516114a03803806114a08339818101604052606081101561003357600080fd5b50805160208201516040909201516001600081905580546001600160a01b039384166001600160a01b031991821617909155600280549484169482169490941790935560038054929091169190921617905561140c806100946000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638fcd1e2b11610097578063b6f3e08711610066578063b6f3e0871461034b578063d0ebdbe714610379578063eebae6761461039f578063fcae9ee4146103d757610100565b80638fcd1e2b146102335780639095ec4514610272578063909aa95b146102f7578063ab033ea91461032557610100565b80632599c037116100d35780632599c037146101d1578063481c6a75146101fd578063586ce7ec146102055780635aa6e6751461022b57610100565b8063018ee9b71461010557806315ea88c4146101435780631bec820b14610167578063205ae07b146101a1575b600080fd5b6101316004803603604081101561011b57600080fd5b506001600160a01b03813516906020013561040f565b60408051918252519081900360200190f35b61014b61093b565b604080516001600160a01b039092168252519081900360200190f35b61018d6004803603602081101561017d57600080fd5b50356001600160a01b031661094a565b604080519115158252519081900360200190f35b6101cf600480360360408110156101b757600080fd5b506001600160a01b038135169060200135151561095f565b005b6101cf600480360360408110156101e757600080fd5b506001600160a01b038135169060200135610a0c565b61014b610abb565b6101cf6004803603602081101561021b57600080fd5b50356001600160a01b0316610aca565b61014b610b6d565b6101cf6004803603608081101561024957600080fd5b506001600160a01b03813581169160208101358216916040820135169060600135600f0b610b7c565b6101cf6004803603606081101561028857600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156102b857600080fd5b8201836020820111156102ca57600080fd5b803590602001918460208302840111640100000000831117156102ec57600080fd5b509092509050610c46565b6101cf6004803603604081101561030d57600080fd5b506001600160a01b0381358116916020013516610d10565b6101cf6004803603602081101561033b57600080fd5b50356001600160a01b0316610db5565b6101cf6004803603604081101561036157600080fd5b506001600160a01b0381358116916020013516610e7f565b6101cf6004803603602081101561038f57600080fd5b50356001600160a01b0316610f91565b6101cf600480360360808110156103b557600080fd5b506001600160a01b03813516906020810135906040810135906060013561105b565b6101cf600480360360608110156103ed57600080fd5b506001600160a01b0381358116916020810135821691604090910135166110fe565b600060026000541415610469576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000908155604080516370a0823160e01b815230600482015290516001600160a01b038616916370a08231916024808301926020929190829003018186803b1580156104b657600080fd5b505afa1580156104ca573d6000803e3d6000fd5b505050506040513d60208110156104e057600080fd5b505183111561056057604080516370a0823160e01b815230600482015290516001600160a01b038616916370a08231916024808301926020929190829003018186803b15801561052f57600080fd5b505afa158015610543573d6000803e3d6000fd5b505050506040513d602081101561055957600080fd5b5051610562565b825b6001546040805163e6a4390560e01b81526001600160a01b038881166004830152909216602483015251919250600091735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b1580156105cd57600080fd5b505afa1580156105e1573d6000803e3d6000fd5b505050506040513d60208110156105f757600080fd5b505190506001600160a01b038116610648576040805162461bcd60e51b815260206004820152600f60248201526e2830b4b9103737ba1032bc34b9ba1760891b604482015290519081900360640190fd5b6106766001600160a01b038616737a250d5630b4cf539739df2c5dacb4c659f2488d8463ffffffff6111bb16565b604080516002808252606080830184529260208301908038833901905050905085816000815181106106a457fe5b6001600160a01b03928316602091820292909201015260018054835192169183919081106106ce57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506060737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03166338ed17398560008530426040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561079257818101518382015260200161077a565b505050509050019650505050505050600060405180830381600087803b1580156107bb57600080fd5b505af11580156107cf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156107f857600080fd5b810190808051604051939291908464010000000082111561081857600080fd5b90830190602082018581111561082d57600080fd5b825186602082028301116401000000008211171561084a57600080fd5b82525081516020918201928201910280838360005b8381101561087757818101518382015260200161085f565b505050509190910160405250506001805484519495506001600160a01b0316936342966c68935085925081106108a957fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b1580156108e757600080fd5b505af11580156108fb573d6000803e3d6000fd5b505050506040513d602081101561091157600080fd5b505080518190600190811061092257fe5b6020026020010151945050505050600160005592915050565b6001546001600160a01b031681565b60046020526000908152604090205460ff1681565b6003546001600160a01b031633146109ac576040805162461bcd60e51b815260206004820152601a602482015260008051602061138e833981519152604482015290519081900360640190fd5b6001600160a01b038216600081815260046020908152604091829020805460ff1916851515908117909155825190815291517fcd3dd15df6f7272a0abc8bf92bbd00e3d61f01293b8e7ecf74e1e35b8da90f399281900390910190a25050565b6002546001600160a01b03163314610a59576040805162461bcd60e51b8152602060048201526017602482015260008051602061136e833981519152604482015290519081900360640190fd5b816001600160a01b0316632b42dc62826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610a9f57600080fd5b505af1158015610ab3573d6000803e3d6000fd5b505050505050565b6002546001600160a01b031681565b6002546001600160a01b03163314610b17576040805162461bcd60e51b8152602060048201526017602482015260008051602061136e833981519152604482015290519081900360640190fd5b806001600160a01b031663a1ba46416040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b5257600080fd5b505af1158015610b66573d6000803e3d6000fd5b5050505050565b6003546001600160a01b031681565b6003546001600160a01b03163314610bc9576040805162461bcd60e51b815260206004820152601a602482015260008051602061138e833981519152604482015290519081900360640190fd5b604080516378d1ce9960e01b81526001600160a01b0385811660048301528481166024830152600f84810b900b60448301529151918616916378d1ce999160648082019260009290919082900301818387803b158015610c2857600080fd5b505af1158015610c3c573d6000803e3d6000fd5b5050505050505050565b6002546001600160a01b03163314610c93576040805162461bcd60e51b8152602060048201526017602482015260008051602061136e833981519152604482015290519081900360640190fd5b60408051633b62921160e21b81526004810185815260248201928352604482018490526001600160a01b0387169263ed8a484492879287928792606401846020850280828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b158015610c2857600080fd5b6002546001600160a01b03163314610d5d576040805162461bcd60e51b8152602060048201526017602482015260008051602061136e833981519152604482015290519081900360640190fd5b816001600160a01b0316633268c9bd826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015610a9f57600080fd5b6003546001600160a01b03163314610e02576040805162461bcd60e51b815260206004820152601a602482015260008051602061138e833981519152604482015290519081900360640190fd5b6001600160a01b038116610e5d576040805162461bcd60e51b815260206004820152601b60248201527f696e76616c696420676f7665726e616e636520616464726573732e0000000000604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b03163314610ecc576040805162461bcd60e51b8152602060048201526017602482015260008051602061136e833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff16610f39576040805162461bcd60e51b815260206004820152601960248201527f54686520746f6b656e206973206e6f7420747275737465642e00000000000000604482015290519081900360640190fd5b816001600160a01b031663c2b7bbb6826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015610a9f57600080fd5b6003546001600160a01b03163314610fde576040805162461bcd60e51b815260206004820152601a602482015260008051602061138e833981519152604482015290519081900360640190fd5b6001600160a01b038116611039576040805162461bcd60e51b815260206004820152601860248201527f696e76616c6964206d616e6167657220616464726573732e0000000000000000604482015290519081900360640190fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146110a8576040805162461bcd60e51b8152602060048201526017602482015260008051602061136e833981519152604482015290519081900360640190fd5b836001600160a01b0316633b0cb86a8484846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610c2857600080fd5b6003546001600160a01b0316331461114b576040805162461bcd60e51b815260206004820152601a602482015260008051602061138e833981519152604482015290519081900360640190fd5b6040805163fedcf1d360e01b81526001600160a01b038481166004830152838116602483015291519185169163fedcf1d39160448082019260009290919082900301818387803b15801561119e57600080fd5b505af11580156111b2573d6000803e3d6000fd5b50505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261120d908490611212565b505050565b60006060836001600160a01b0316836040518082805190602001908083835b602083106112505780518252601f199092019160209182019101611231565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146112b2576040519150601f19603f3d011682016040523d82523d6000602084013e6112b7565b606091505b50915091508161130e576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156113675780806020019051602081101561132a57600080fd5b50516113675760405162461bcd60e51b815260040180806020018281038252602a8152602001806113ae602a913960400191505060405180910390fd5b5050505056fe4f6e6c792063616c6c6564206279204d616e616765722e0000000000000000004f6e6c792063616c6c656420627920476f7665726e616e63652e0000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820d920cde5a02d680513231dc32de321d40d51c68dd9d4b1da3de4c52d67a9c6e664736f6c63430005110032000000000000000000000000615d8e5e1344b36a95f6ecd8e6cda020e84dc25b000000000000000000000000eec9861ed3d849371b551899dcf43c5e3b44fcfe00000000000000000000000089a803f5f81bbef6134fdf6e5deee75870393585

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c80638fcd1e2b11610097578063b6f3e08711610066578063b6f3e0871461034b578063d0ebdbe714610379578063eebae6761461039f578063fcae9ee4146103d757610100565b80638fcd1e2b146102335780639095ec4514610272578063909aa95b146102f7578063ab033ea91461032557610100565b80632599c037116100d35780632599c037146101d1578063481c6a75146101fd578063586ce7ec146102055780635aa6e6751461022b57610100565b8063018ee9b71461010557806315ea88c4146101435780631bec820b14610167578063205ae07b146101a1575b600080fd5b6101316004803603604081101561011b57600080fd5b506001600160a01b03813516906020013561040f565b60408051918252519081900360200190f35b61014b61093b565b604080516001600160a01b039092168252519081900360200190f35b61018d6004803603602081101561017d57600080fd5b50356001600160a01b031661094a565b604080519115158252519081900360200190f35b6101cf600480360360408110156101b757600080fd5b506001600160a01b038135169060200135151561095f565b005b6101cf600480360360408110156101e757600080fd5b506001600160a01b038135169060200135610a0c565b61014b610abb565b6101cf6004803603602081101561021b57600080fd5b50356001600160a01b0316610aca565b61014b610b6d565b6101cf6004803603608081101561024957600080fd5b506001600160a01b03813581169160208101358216916040820135169060600135600f0b610b7c565b6101cf6004803603606081101561028857600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156102b857600080fd5b8201836020820111156102ca57600080fd5b803590602001918460208302840111640100000000831117156102ec57600080fd5b509092509050610c46565b6101cf6004803603604081101561030d57600080fd5b506001600160a01b0381358116916020013516610d10565b6101cf6004803603602081101561033b57600080fd5b50356001600160a01b0316610db5565b6101cf6004803603604081101561036157600080fd5b506001600160a01b0381358116916020013516610e7f565b6101cf6004803603602081101561038f57600080fd5b50356001600160a01b0316610f91565b6101cf600480360360808110156103b557600080fd5b506001600160a01b03813516906020810135906040810135906060013561105b565b6101cf600480360360608110156103ed57600080fd5b506001600160a01b0381358116916020810135821691604090910135166110fe565b600060026000541415610469576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000908155604080516370a0823160e01b815230600482015290516001600160a01b038616916370a08231916024808301926020929190829003018186803b1580156104b657600080fd5b505afa1580156104ca573d6000803e3d6000fd5b505050506040513d60208110156104e057600080fd5b505183111561056057604080516370a0823160e01b815230600482015290516001600160a01b038616916370a08231916024808301926020929190829003018186803b15801561052f57600080fd5b505afa158015610543573d6000803e3d6000fd5b505050506040513d602081101561055957600080fd5b5051610562565b825b6001546040805163e6a4390560e01b81526001600160a01b038881166004830152909216602483015251919250600091735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b1580156105cd57600080fd5b505afa1580156105e1573d6000803e3d6000fd5b505050506040513d60208110156105f757600080fd5b505190506001600160a01b038116610648576040805162461bcd60e51b815260206004820152600f60248201526e2830b4b9103737ba1032bc34b9ba1760891b604482015290519081900360640190fd5b6106766001600160a01b038616737a250d5630b4cf539739df2c5dacb4c659f2488d8463ffffffff6111bb16565b604080516002808252606080830184529260208301908038833901905050905085816000815181106106a457fe5b6001600160a01b03928316602091820292909201015260018054835192169183919081106106ce57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506060737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03166338ed17398560008530426040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561079257818101518382015260200161077a565b505050509050019650505050505050600060405180830381600087803b1580156107bb57600080fd5b505af11580156107cf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156107f857600080fd5b810190808051604051939291908464010000000082111561081857600080fd5b90830190602082018581111561082d57600080fd5b825186602082028301116401000000008211171561084a57600080fd5b82525081516020918201928201910280838360005b8381101561087757818101518382015260200161085f565b505050509190910160405250506001805484519495506001600160a01b0316936342966c68935085925081106108a957fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b1580156108e757600080fd5b505af11580156108fb573d6000803e3d6000fd5b505050506040513d602081101561091157600080fd5b505080518190600190811061092257fe5b6020026020010151945050505050600160005592915050565b6001546001600160a01b031681565b60046020526000908152604090205460ff1681565b6003546001600160a01b031633146109ac576040805162461bcd60e51b815260206004820152601a602482015260008051602061138e833981519152604482015290519081900360640190fd5b6001600160a01b038216600081815260046020908152604091829020805460ff1916851515908117909155825190815291517fcd3dd15df6f7272a0abc8bf92bbd00e3d61f01293b8e7ecf74e1e35b8da90f399281900390910190a25050565b6002546001600160a01b03163314610a59576040805162461bcd60e51b8152602060048201526017602482015260008051602061136e833981519152604482015290519081900360640190fd5b816001600160a01b0316632b42dc62826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610a9f57600080fd5b505af1158015610ab3573d6000803e3d6000fd5b505050505050565b6002546001600160a01b031681565b6002546001600160a01b03163314610b17576040805162461bcd60e51b8152602060048201526017602482015260008051602061136e833981519152604482015290519081900360640190fd5b806001600160a01b031663a1ba46416040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b5257600080fd5b505af1158015610b66573d6000803e3d6000fd5b5050505050565b6003546001600160a01b031681565b6003546001600160a01b03163314610bc9576040805162461bcd60e51b815260206004820152601a602482015260008051602061138e833981519152604482015290519081900360640190fd5b604080516378d1ce9960e01b81526001600160a01b0385811660048301528481166024830152600f84810b900b60448301529151918616916378d1ce999160648082019260009290919082900301818387803b158015610c2857600080fd5b505af1158015610c3c573d6000803e3d6000fd5b5050505050505050565b6002546001600160a01b03163314610c93576040805162461bcd60e51b8152602060048201526017602482015260008051602061136e833981519152604482015290519081900360640190fd5b60408051633b62921160e21b81526004810185815260248201928352604482018490526001600160a01b0387169263ed8a484492879287928792606401846020850280828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b158015610c2857600080fd5b6002546001600160a01b03163314610d5d576040805162461bcd60e51b8152602060048201526017602482015260008051602061136e833981519152604482015290519081900360640190fd5b816001600160a01b0316633268c9bd826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015610a9f57600080fd5b6003546001600160a01b03163314610e02576040805162461bcd60e51b815260206004820152601a602482015260008051602061138e833981519152604482015290519081900360640190fd5b6001600160a01b038116610e5d576040805162461bcd60e51b815260206004820152601b60248201527f696e76616c696420676f7665726e616e636520616464726573732e0000000000604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b03163314610ecc576040805162461bcd60e51b8152602060048201526017602482015260008051602061136e833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff16610f39576040805162461bcd60e51b815260206004820152601960248201527f54686520746f6b656e206973206e6f7420747275737465642e00000000000000604482015290519081900360640190fd5b816001600160a01b031663c2b7bbb6826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015610a9f57600080fd5b6003546001600160a01b03163314610fde576040805162461bcd60e51b815260206004820152601a602482015260008051602061138e833981519152604482015290519081900360640190fd5b6001600160a01b038116611039576040805162461bcd60e51b815260206004820152601860248201527f696e76616c6964206d616e6167657220616464726573732e0000000000000000604482015290519081900360640190fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146110a8576040805162461bcd60e51b8152602060048201526017602482015260008051602061136e833981519152604482015290519081900360640190fd5b836001600160a01b0316633b0cb86a8484846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610c2857600080fd5b6003546001600160a01b0316331461114b576040805162461bcd60e51b815260206004820152601a602482015260008051602061138e833981519152604482015290519081900360640190fd5b6040805163fedcf1d360e01b81526001600160a01b038481166004830152838116602483015291519185169163fedcf1d39160448082019260009290919082900301818387803b15801561119e57600080fd5b505af11580156111b2573d6000803e3d6000fd5b50505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261120d908490611212565b505050565b60006060836001600160a01b0316836040518082805190602001908083835b602083106112505780518252601f199092019160209182019101611231565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146112b2576040519150601f19603f3d011682016040523d82523d6000602084013e6112b7565b606091505b50915091508161130e576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156113675780806020019051602081101561132a57600080fd5b50516113675760405162461bcd60e51b815260040180806020018281038252602a8152602001806113ae602a913960400191505060405180910390fd5b5050505056fe4f6e6c792063616c6c6564206279204d616e616765722e0000000000000000004f6e6c792063616c6c656420627920476f7665726e616e63652e0000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820d920cde5a02d680513231dc32de321d40d51c68dd9d4b1da3de4c52d67a9c6e664736f6c63430005110032

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

000000000000000000000000615d8e5e1344b36a95f6ecd8e6cda020e84dc25b000000000000000000000000eec9861ed3d849371b551899dcf43c5e3b44fcfe00000000000000000000000089a803f5f81bbef6134fdf6e5deee75870393585

-----Decoded View---------------
Arg [0] : _hotpot (address): 0x615D8e5e1344B36A95F6ecd8e6CDA020E84dc25b
Arg [1] : _manager (address): 0xeec9861Ed3d849371B551899dcF43C5E3B44fCFE
Arg [2] : _governance (address): 0x89a803F5F81bBEF6134fDF6e5DeeE75870393585

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000615d8e5e1344b36a95f6ecd8e6cda020e84dc25b
Arg [1] : 000000000000000000000000eec9861ed3d849371b551899dcf43c5e3b44fcfe
Arg [2] : 00000000000000000000000089a803f5f81bbef6134fdf6e5deee75870393585


Deployed Bytecode Sourcemap

14263:3614:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14263:3614:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15195:818;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;15195:818:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;14522:21;;;:::i;:::-;;;;-1:-1:-1;;;;;14522:21:0;;;;;;;;;;;;;;14611:45;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14611:45:0;-1:-1:-1;;;;;14611:45:0;;:::i;:::-;;;;;;;;;;;;;;;;;;17498:182;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;17498:182:0;;;;;;;;;;:::i;:::-;;16379:122;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;16379:122:0;;;;;;;;:::i;14550:22::-;;;:::i;16871:104::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16871:104:0;-1:-1:-1;;;;;16871:104:0;;:::i;14579:25::-;;;:::i;17688:186::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;17688:186:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;16021:157::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;16021:157:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;16021:157:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;16021:157:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;16021:157:0;;-1:-1:-1;16021:157:0;-1:-1:-1;16021:157:0;:::i;16747:116::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;16747:116:0;;;;;;;;;;:::i;16983:175::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16983:175:0;-1:-1:-1;;;;;16983:175:0;;:::i;16186:185::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;16186:185:0;;;;;;;;;;:::i;17166:165::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17166:165:0;-1:-1:-1;;;;;17166:165:0;;:::i;16509:230::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;16509:230:0;;;;;;;;;;;;;;;;;;:::i;17339:151::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;17339:151:0;;;;;;;;;;;;;;;;;;;:::i;15195:818::-;15293:11;13308:1;13914:7;;:19;;13906:63;;;;;-1:-1:-1;;;13906:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13308:1;14047:7;:18;;;15340:38;;;-1:-1:-1;;;15340:38:0;;15372:4;15340:38;;;;;;-1:-1:-1;;;;;15340:23:0;;;;;:38;;;;;;;;;;;;;;:23;:38;;;5:2:-1;;;;30:1;27;20:12;5:2;15340:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15340:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15340:38:0;15330:48;;;:98;;15390:38;;;-1:-1:-1;;;15390:38:0;;15422:4;15390:38;;;;;;-1:-1:-1;;;;;15390:23:0;;;;;:38;;;;;;;;;;;;;;:23;:38;;;5:2:-1;;;;30:1;27;20:12;5:2;15390:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15390:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15390:38:0;15330:98;;;15381:6;15330:98;15506:6;;15456:57;;;-1:-1:-1;;;15456:57:0;;-1:-1:-1;;;;;15456:57:0;;;;;;;15506:6;;;15456:57;;;;;15317:111;;-1:-1:-1;;;14471:42:0;;15456;;:57;;;;;;;;;;;;;;14471:42;15456:57;;;5:2:-1;;;;30:1;27;20:12;5:2;15456:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15456:57:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15456:57:0;;-1:-1:-1;;;;;;15532:18:0;;15524:46;;;;;-1:-1:-1;;;15524:46:0;;;;;;;;;;;;-1:-1:-1;;;15524:46:0;;;;;;;;;;;;;;;15583:51;-1:-1:-1;;;;;15583:25:0;;14387:42;15628:5;15583:51;:25;:51;:::i;:::-;15669:16;;;15683:1;15669:16;;;15645:21;15669:16;;;;;15645:21;15669:16;;;;;105:10:-1;15669:16:0;88:34:-1;136:17;;-1:-1;15669:16:0;15645:40;;15706:5;15696:4;15701:1;15696:7;;;;;;;;-1:-1:-1;;;;;15696:15:0;;;:7;;;;;;;;;:15;15732:6;;;15722:7;;15732:6;;;15722:4;;15732:6;15722:7;;;;;;;;;;;:16;-1:-1:-1;;;;;15722:16:0;;;-1:-1:-1;;;;;15722:16:0;;;;;15749:21;14387:42;-1:-1:-1;;;;;15773:60:0;;15848:5;15868:1;15884:4;15911;15918:15;15773:161;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15773:161:0;-1:-1:-1;;;;;15773:161:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15773:161:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15773:161:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15773:161:0;;;;;;39:16:-1;36:1;17:17;2:54;101:4;15773:161:0;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;15773:161:0;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;373:25;;-1:-1;15773:161:0;;421:4:-1;412:14;;;;15773:161:0;;;;;412:14:-1;15773:161:0;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;-1:-1;;;;15773:161:0;;;;;;-1:-1:-1;;15953:6:0;;;15966:10;;15749:185;;-1:-1:-1;;;;;;15953:6:0;;15945:20;;-1:-1:-1;15749:185:0;;-1:-1:-1;15966:10:0;;;;;;;;;;;;15945:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15945:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15945:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;15995:10:0;;:7;;16003:1;;15995:10;;;;;;;;;;;;15988:17;;;;;;13264:1;14226:7;:22;15195:818;;-1:-1:-1;;15195:818:0:o;14522:21::-;;;-1:-1:-1;;;;;14522:21:0;;:::o;14611:45::-;;;;;;;;;;;;;;;:::o;17498:182::-;14910:10;;-1:-1:-1;;;;;14910:10:0;14896;:24;14888:63;;;;;-1:-1:-1;;;14888:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14888:63:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;17589:19:0;;;;;;:12;:19;;;;;;;;;:31;;-1:-1:-1;;17589:31:0;;;;;;;;;;17636:36;;;;;;;;;;;;;;;;;17498:182;;:::o;16379:122::-;14791:7;;-1:-1:-1;;;;;14791:7:0;14777:10;:21;14769:57;;;;;-1:-1:-1;;;14769:57:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14769:57:0;;;;;;;;;;;;;;;16470:4;-1:-1:-1;;;;;16458:28:0;;16487:5;16458:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16458:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16458:35:0;;;;16379:122;;:::o;14550:22::-;;;-1:-1:-1;;;;;14550:22:0;;:::o;16871:104::-;14791:7;;-1:-1:-1;;;;;14791:7:0;14777:10;:21;14769:57;;;;;-1:-1:-1;;;14769:57:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14769:57:0;;;;;;;;;;;;;;;16949:4;-1:-1:-1;;;;;16937:28:0;;:30;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16937:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16937:30:0;;;;16871:104;:::o;14579:25::-;;;-1:-1:-1;;;;;14579:25:0;;:::o;17688:186::-;14910:10;;-1:-1:-1;;;;;14910:10:0;14896;:24;14888:63;;;;;-1:-1:-1;;;14888:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14888:63:0;;;;;;;;;;;;;;;17809:57;;;-1:-1:-1;;;17809:57:0;;-1:-1:-1;;;;;17809:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;;;;:57;;;;;-1:-1:-1;;17809:57:0;;;;;;;;-1:-1:-1;17809:30:0;:57;;;5:2:-1;;;;30:1;27;20:12;5:2;17809:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17809:57:0;;;;17688:186;;;;:::o;16021:157::-;14791:7;;-1:-1:-1;;;;;14791:7:0;14777:10;:21;14769:57;;;;;-1:-1:-1;;;14769:57:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14769:57:0;;;;;;;;;;;;;;;16125:45;;;-1:-1:-1;;;16125:45:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16125:24:0;;;;;16150:6;;16158:11;;;;16125:45;;16158:11;16125:45;;;;16158:11;16125:45;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;;16125:45:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;16747:116:0;14791:7;;-1:-1:-1;;;;;14791:7:0;14777:10;:21;14769:57;;;;;-1:-1:-1;;;14769:57:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14769:57:0;;;;;;;;;;;;;;;16836:4;-1:-1:-1;;;;;16824:25:0;;16850:4;16824:31;;;;;;;;;;;;;-1:-1:-1;;;;;16824:31:0;-1:-1:-1;;;;;16824:31:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;16983:175:0;14910:10;;-1:-1:-1;;;;;14910:10:0;14896;:24;14888:63;;;;;-1:-1:-1;;;14888:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14888:63:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;17066:21:0;;17058:61;;;;;-1:-1:-1;;;17058:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;17130:10;:20;;-1:-1:-1;;;;;;17130:20:0;-1:-1:-1;;;;;17130:20:0;;;;;;;;;;16983:175::o;16186:185::-;14791:7;;-1:-1:-1;;;;;14791:7:0;14777:10;:21;14769:57;;;;;-1:-1:-1;;;14769:57:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14769:57:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;16271:19:0;;;;;;:12;:19;;;;;;;;16263:57;;;;;-1:-1:-1;;;16263:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16343:4;-1:-1:-1;;;;;16331:25:0;;16357:5;16331:32;;;;;;;;;;;;;-1:-1:-1;;;;;16331:32:0;-1:-1:-1;;;;;16331:32:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;17166:165:0;14910:10;;-1:-1:-1;;;;;14910:10:0;14896;:24;14888:63;;;;;-1:-1:-1;;;14888:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14888:63:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;17245:21:0;;17237:58;;;;;-1:-1:-1;;;17237:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;17306:7;:17;;-1:-1:-1;;;;;;17306:17:0;-1:-1:-1;;;;;17306:17:0;;;;;;;;;;17166:165::o;16509:230::-;14791:7;;-1:-1:-1;;;;;14791:7:0;14777:10;:21;14769:57;;;;;-1:-1:-1;;;14769:57:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14769:57:0;;;;;;;;;;;;;;;16680:4;-1:-1:-1;;;;;16668:27:0;;16696:9;16707:12;16721:9;16668:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;17339:151:0;14910:10;;-1:-1:-1;;;;;14910:10:0;14896;:24;14888:63;;;;;-1:-1:-1;;;14888:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14888:63:0;;;;;;;;;;;;;;;17439:43;;;-1:-1:-1;;;17439:43:0;;-1:-1:-1;;;;;17439:43:0;;;;;;;;;;;;;;;;:28;;;;;;:43;;;;;-1:-1:-1;;17439:43:0;;;;;;;;-1:-1:-1;17439:28:0;:43;;;5:2:-1;;;;30:1;27;20:12;5:2;17439:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17439:43:0;;;;17339:151;;;:::o;10957:184::-;11070:62;;;-1:-1:-1;;;;;11070:62:0;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;11070:62:0;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;11044:89:0;;11063:5;;11044:18;:89::i;:::-;10957:184;;;:::o;11532:894::-;12053:12;12067:23;12102:5;-1:-1:-1;;;;;12094:19:0;12114:4;12094:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12094:25:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;12052:67:0;;;;12138:7;12130:52;;;;;-1:-1:-1;;;12130:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12199:17;;:21;12195:224;;12341:10;12330:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12330:30:0;12322:85;;;;-1:-1:-1;;;12322:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11532:894;;;;:::o

Swarm Source

bzzr://d920cde5a02d680513231dc32de321d40d51c68dd9d4b1da3de4c52d67a9c6e6

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.