Contract 0xc999fb87aca383a63d804a575396f65a55aa5ac8

 
Txn Hash Method
Block
From
To
Value
0x7dfdc89eaea17dc052aabce8556be0754ec9ce58138dcb57f3d0b51f1efcc4f9Harvest110155752020-10-08 14:55:08257 days 6 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.0927709575
0xf0e38e1368cef114301a7a7a51e9455f0053526f6387bd62c92c39094c0efe36Harvest110127552020-10-08 4:14:53257 days 16 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.07297981459
0xbd222a2cb3e0b296ad62100dd4d5a4a3d9bc9952dd07a77b858ebd992f67caeeHarvest110084452020-10-07 11:57:39258 days 9 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.10142957282
0x1b83977752b45f4a375e8e1967ed06a26871af23f6051bf59ef3a8d178b71998Harvest110061822020-10-07 3:24:49258 days 17 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.138537952112
0x9657b241152aaa42c8bdfd22013678ecab8cce26cf1cf8954b6e6b35c1604882Harvest110021042020-10-06 12:05:12259 days 9 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.128640096104
0x0e4650e9a370fba1564a6b6619b34a9d296b165f4a2e774a711fff63103a6191Harvest109991132020-10-06 0:58:47259 days 20 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.10766546486
0xdd4bee111d04b84aeac61529186d40a47445ea1741a37920dda65996479245a5Harvest109955382020-10-05 11:41:03260 days 9 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.09153237674
0xda964d8cb37050700a8ababe476eefcba71d24faf212e6a7246488497f895f9aHarvest109936232020-10-05 4:34:11260 days 16 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.0796190265
0x52ee849e0d0e32f6f17235ca0d4caa9e0969c350ce029c3d50027a2b8e22bbf2Harvest109905632020-10-04 16:53:27261 days 4 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.11008623689
0xf7b06fd15295eede31d1c951f1eabde2f3986175356b459554b2277d8ebce6f4Harvest109871472020-10-04 4:10:14261 days 16 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.07792621263
0xeb08ec870237e9e1d556a084748fdd037ba23e5a85c719f170754683fab1de4eHarvest109844002020-10-03 17:51:59262 days 3 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.10390161684
0xe9ab2962856350e0fea9bd0ebb92eb24123aee425e1b897c47b1af62f6bade1aHarvest109823002020-10-03 9:54:26262 days 11 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.05689850446
0xb292065da88abd584a96319041bf94d46594ce4885dbf91bf79c1caa315d9d9cHarvest109805452020-10-03 3:21:43262 days 17 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.05937235248
0x6234d45120bf56883ec88585d29cd3da46876882aa86c28e7d248b765b7b423bHarvest109781402020-10-02 18:17:10263 days 2 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.1051385485
0x2f9f757eb9d1a926bcc9a43af0903e490afcc7bf23f5c6d0d08f63ac8d943c01Harvest109771692020-10-02 14:34:47263 days 6 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.11008623689
0x128eb79cf93d3a31cc3f3af6d1a91e4ec6196cb26593964135736e67b2b64577Harvest109752022020-10-02 7:08:44263 days 13 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.170262212139
0x83466e69181665185a4806808ce389f2e6f35c29f86f56243a74a24d5a1d77e4Harvest109741632020-10-02 3:16:28263 days 17 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.0804000665
0xf79c3234948cf170b768f64aa89d72025879cdcd5ee58c949ec0e40448b723d9Harvest109708232020-10-01 15:03:02264 days 6 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.12245547699
0x8c598d17407daa64765fa9ccfa314449a1ec425310e95cf5cf8e86de6f41fc2dHarvest109688342020-10-01 7:29:23264 days 13 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.08905852872
0xce629196845f32601d6dce2192c2068638016e77ddb690f12fa974749689cb9eHarvest109676742020-10-01 3:08:47264 days 17 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.1113231690
0x361fdc2d95c21c21b74e7ae5e04d8bfe96dc430703bd21e5c2d68ba15ffc17acHarvest109632982020-09-30 10:49:51265 days 10 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.214681884177
0x28dc85d2c043535ab39f64baafbf5d1e6ffae7fe9e37132eb34fab11b4f41f63Harvest109609702020-09-30 1:51:38265 days 19 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.08941828473
0xa9d793c1e389fca8be0a17155161dfbfe4e75ee44a9272daf97f4686dd86d6d4Harvest109583422020-09-29 16:09:53266 days 4 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.316652544256
0xd62f82b48a9a5fb7218a2b5eaf839806b10bef7f8c79597cfd436129823480e1Harvest109573892020-09-29 12:22:20266 days 8 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.145764052119
0xfc201c7318144a58a49b5bc62f22afd7d46da1229c8070ae2a800bf1001d4bf0Harvest109562132020-09-29 8:03:03266 days 13 hrs agoyearn: Deployer IN  0xc999fb87aca383a63d804a575396f65a55aa5ac80 Ether0.145957032118
[ Download CSV Export 
View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
StrategyCurveYCRVVoter

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-08-28
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.5.17;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function decimals() external view returns (uint);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

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

        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;

        return c;
    }
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != 0x0 && codehash != accountHash);
    }
    function toPayable(address account) internal pure returns (address payable) {
        return address(uint160(account));
    }
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-call-value
        (bool success, ) = recipient.call.value(amount)("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

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

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

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

    function safeApprove(IERC20 token, address spender, uint256 value) internal {
        require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }
    function callOptionalReturn(IERC20 token, bytes memory data) private {
        require(address(token).isContract(), "SafeERC20: call to non-contract");

        // 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");
        }
    }
}

interface Controller {
    function vaults(address) external view returns (address);
    function rewards() external view returns (address);
}

/*

 A strategy must implement the following calls;
 
 - deposit()
 - withdraw(address) must exclude any tokens used in the yield - Controller role - withdraw should return to Controller
 - withdraw(uint) - Controller | Vault role - withdraw should always return to vault
 - withdrawAll() - Controller | Vault role - withdraw should always return to vault
 - balanceOf()
 
 Where possible, strategies must remain as immutable as possible, instead of updating variables, we update the contract by linking it in the controller
 
*/

interface Gauge {
    function deposit(uint) external;
    function balanceOf(address) external view returns (uint);
    function withdraw(uint) external;
}

interface Mintr {
    function mint(address) external;
}

interface Uni {
    function swapExactTokensForTokens(uint, uint, address[] calldata, address, uint) external;
}

interface yERC20 {
  function deposit(uint256 _amount) external;
  function withdraw(uint256 _amount) external;
}

interface ICurveFi {

  function get_virtual_price() external view returns (uint);
  function add_liquidity(
    uint256[4] calldata amounts,
    uint256 min_mint_amount
  ) external;
  function remove_liquidity_imbalance(
    uint256[4] calldata amounts,
    uint256 max_burn_amount
  ) external;
  function remove_liquidity(
    uint256 _amount,
    uint256[4] calldata amounts
  ) external;
  function exchange(
    int128 from, int128 to, uint256 _from_amount, uint256 _min_to_amount
  ) external;
}

contract StrategyCurveYCRVVoter {
    using SafeERC20 for IERC20;
    using Address for address;
    using SafeMath for uint256;
    
    address constant public want = address(0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8);
    address constant public pool = address(0xFA712EE4788C042e2B7BB55E6cb8ec569C4530c1);
    address constant public mintr = address(0xd061D61a4d941c39E5453435B6345Dc261C2fcE0);
    address constant public crv = address(0xD533a949740bb3306d119CC777fa900bA034cd52);
    address constant public uni = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address constant public weth = address(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2); // used for crv <> weth <> dai route
    
    address constant public dai = address(0x6B175474E89094C44Da98b954EedeAC495271d0F);
    address constant public ydai = address(0x16de59092dAE5CcF4A1E6439D611fd0653f0Bd01);
    address constant public curve = address(0x45F783CCE6B7FF23B2ab2D70e416cdb7D6055f51);
    
    uint public keepCRV = 1000;
    uint constant public keepCRVMax = 10000;
    
    uint public performanceFee = 500;
    uint constant public performanceMax = 10000;
    
    uint public withdrawalFee = 50;
    uint constant public withdrawalMax = 10000;
    
    address public governance;
    address public controller;
    address public strategist;
    
    constructor(address _controller) public {
        governance = msg.sender;
        strategist = msg.sender;
        controller = _controller;
    }
    
    function getName() external pure returns (string memory) {
        return "StrategyCurveYCRVVoter";
    }
    
    function setStrategist(address _strategist) external {
        require(msg.sender == governance, "!governance");
        strategist = _strategist;
    }
    
    function setKeepCRV(uint _keepCRV) external {
        require(msg.sender == governance, "!governance");
        keepCRV = _keepCRV;
    }
    
    function setWithdrawalFee(uint _withdrawalFee) external {
        require(msg.sender == governance, "!governance");
        withdrawalFee = _withdrawalFee;
    }
    
    function setPerformanceFee(uint _performanceFee) external {
        require(msg.sender == governance, "!governance");
        performanceFee = _performanceFee;
    }
    
    function deposit() public {
        uint _want = IERC20(want).balanceOf(address(this));
        if (_want > 0) {
            IERC20(want).safeApprove(pool, 0);
            IERC20(want).safeApprove(pool, _want);
            Gauge(pool).deposit(_want);
        }
        
    }
    
    // Controller only function for creating additional rewards from dust
    function withdraw(IERC20 _asset) external returns (uint balance) {
        require(msg.sender == controller, "!controller");
        require(want != address(_asset), "want");
        require(crv != address(_asset), "crv");
        require(ydai != address(_asset), "ydai");
        require(dai != address(_asset), "dai");
        balance = _asset.balanceOf(address(this));
        _asset.safeTransfer(controller, balance);
    }
    
    // Withdraw partial funds, normally used with a vault withdrawal
    function withdraw(uint _amount) external {
        require(msg.sender == controller, "!controller");
        uint _balance = IERC20(want).balanceOf(address(this));
        if (_balance < _amount) {
            _amount = _withdrawSome(_amount.sub(_balance));
            _amount = _amount.add(_balance);
        }
        
        uint _fee = _amount.mul(withdrawalFee).div(withdrawalMax);
        
        IERC20(want).safeTransfer(Controller(controller).rewards(), _fee);
        address _vault = Controller(controller).vaults(address(want));
        require(_vault != address(0), "!vault"); // additional protection so we don't burn the funds
        
        IERC20(want).safeTransfer(_vault, _amount.sub(_fee));
    }
    
    // Withdraw all funds, normally used when migrating strategies
    function withdrawAll() external returns (uint balance) {
        require(msg.sender == controller, "!controller");
        _withdrawAll();
        
        
        balance = IERC20(want).balanceOf(address(this));
        
        address _vault = Controller(controller).vaults(address(want));
        require(_vault != address(0), "!vault"); // additional protection so we don't burn the funds
        IERC20(want).safeTransfer(_vault, balance);
    }
    
    function _withdrawAll() internal {
        Gauge(pool).withdraw(Gauge(pool).balanceOf(address(this)));
    }
    
    function harvest() public {
        require(msg.sender == strategist || msg.sender == governance, "!authorized");
        Mintr(mintr).mint(pool);
        uint _crv = IERC20(crv).balanceOf(address(this));
        if (_crv > 0) {
            
            uint _keepCRV = _crv.mul(keepCRV).div(keepCRVMax);
            IERC20(crv).safeTransfer(Controller(controller).rewards(), _keepCRV);
            _crv = _crv.sub(_keepCRV);
            
            
            IERC20(crv).safeApprove(uni, 0);
            IERC20(crv).safeApprove(uni, _crv);
            
            address[] memory path = new address[](3);
            path[0] = crv;
            path[1] = weth;
            path[2] = dai;
            
            Uni(uni).swapExactTokensForTokens(_crv, uint(0), path, address(this), now.add(1800));
        }
        uint _dai = IERC20(dai).balanceOf(address(this));
        if (_dai > 0) {
            IERC20(dai).safeApprove(ydai, 0);
            IERC20(dai).safeApprove(ydai, _dai);
            yERC20(ydai).deposit(_dai);
        }
        uint _ydai = IERC20(ydai).balanceOf(address(this));
        if (_ydai > 0) {
            IERC20(ydai).safeApprove(curve, 0);
            IERC20(ydai).safeApprove(curve, _ydai);
            ICurveFi(curve).add_liquidity([_ydai,0,0,0],0);
        }
        uint _want = IERC20(want).balanceOf(address(this));
        if (_want > 0) {
            uint _fee = _want.mul(performanceFee).div(performanceMax);
            IERC20(want).safeTransfer(Controller(controller).rewards(), _fee);
            deposit();
        }
    }
    
    function _withdrawSome(uint256 _amount) internal returns (uint) {
        Gauge(pool).withdraw(_amount);
        return _amount;
    }
    
    function balanceOfWant() public view returns (uint) {
        return IERC20(want).balanceOf(address(this));
    }
    
    function balanceOfPool() public view returns (uint) {
        return Gauge(pool).balanceOf(address(this));
    }
    
    function balanceOf() public view returns (uint) {
        return balanceOfWant()
               .add(balanceOfPool());
    }
    
    function setGovernance(address _governance) external {
        require(msg.sender == governance, "!governance");
        governance = _governance;
    }
    
    function setController(address _controller) external {
        require(msg.sender == governance, "!governance");
        controller = _controller;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":true,"inputs":[],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"balanceOfPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"balanceOfWant","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"controller","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crv","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"curve","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dai","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getName","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"harvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"keepCRV","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"keepCRVMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mintr","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"performanceFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"performanceMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pool","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"name":"setController","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_governance","type":"address"}],"name":"setGovernance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_keepCRV","type":"uint256"}],"name":"setKeepCRV","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_performanceFee","type":"uint256"}],"name":"setPerformanceFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_strategist","type":"address"}],"name":"setStrategist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_withdrawalFee","type":"uint256"}],"name":"setWithdrawalFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"strategist","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"uni","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"want","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weth","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"_asset","type":"address"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawAll","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"withdrawalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"withdrawalMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ydai","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]

60806040526103e86000556101f4600155603260025534801561002157600080fd5b50604051613a8a380380613a8a8339818101604052602081101561004457600080fd5b810190808051906020019092919050505033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050613962806101286000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80637fef901a1161011a578063c1a3d44c116100ad578063d5c1ff731161007c578063d5c1ff73146107fd578063e9751f6b1461081b578063edc9af9514610839578063f4b9fa7514610883578063f77c4791146108cd576101fb565b8063c1a3d44c14610747578063c7b9d53014610765578063d0e30db0146107a9578063d1e61dcb146107b3576101fb565b806392eefe9b116100e957806392eefe9b14610663578063955383bd146106a7578063ab033ea9146106d5578063ac1e502514610719576101fb565b80637fef901a146105eb578063853828b61461060957806387788782146106275780638bc7e8c414610645576101fb565b80634641257d1161019257806370897b231161016157806370897b23146105375780637165485d14610565578063722713f7146105af5780637cc79113146105cd576101fb565b80634641257d1461044157806351cff8d91461044b5780635aa6e675146104a35780636a4874a1146104ed576101fb565b80631fe4a686116101ce5780631fe4a686146103355780632e1a7d4d1461037f578063366cd4f3146103ad5780633fc8cef3146103f7576101fb565b8063115880861461020057806316f0115b1461021e57806317d7de7c146102685780631f1fcd51146102eb575b600080fd5b610208610917565b6040518082815260200191505060405180910390f35b6102266109ea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610270610a02565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102b0578082015181840152602081019050610295565b50505050905090810190601f1680156102dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102f3610a3f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61033d610a57565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103ab6004803603602081101561039557600080fd5b8101908080359060200190929190505050610a7d565b005b6103b5610f45565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103ff610f5d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610449610f75565b005b61048d6004803603602081101561046157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611caa565b6040518082815260200191505060405180910390f35b6104ab612153565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104f5612179565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105636004803603602081101561054d57600080fd5b8101908080359060200190929190505050612191565b005b61056d61225e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105b7612276565b6040518082815260200191505060405180910390f35b6105d561229e565b6040518082815260200191505060405180910390f35b6105f36122a4565b6040518082815260200191505060405180910390f35b6106116122aa565b6040518082815260200191505060405180910390f35b61062f61261d565b6040518082815260200191505060405180910390f35b61064d612623565b6040518082815260200191505060405180910390f35b6106a56004803603602081101561067957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612629565b005b6106d3600480360360208110156106bd57600080fd5b8101908080359060200190929190505050612730565b005b610717600480360360208110156106eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127fd565b005b6107456004803603602081101561072f57600080fd5b8101908080359060200190929190505050612904565b005b61074f6129d1565b6040518082815260200191505060405180910390f35b6107a76004803603602081101561077b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612aa4565b005b6107b1612bab565b005b6107bb612dae565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610805612dc6565b6040518082815260200191505060405180910390f35b610823612dcc565b6040518082815260200191505060405180910390f35b610841612dd2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61088b612dea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108d5612e02565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600073fa712ee4788c042e2b7bb55e6cb8ec569c4530c173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156109aa57600080fd5b505afa1580156109be573d6000803e3d6000fd5b505050506040513d60208110156109d457600080fd5b8101908080519060200190929190505050905090565b73fa712ee4788c042e2b7bb55e6cb8ec569c4530c181565b60606040518060400160405280601681526020017f5374726174656779437572766559435256566f74657200000000000000000000815250905090565b73df5e0e81dff6faf3a7e52ba697820c5e32d806a881565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21636f6e74726f6c6c657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610bd357600080fd5b505afa158015610be7573d6000803e3d6000fd5b505050506040513d6020811015610bfd57600080fd5b8101908080519060200190929190505050905081811015610c4b57610c33610c2e8284612e2890919063ffffffff16565b612e72565b9150610c488183612efb90919063ffffffff16565b91505b6000610c76612710610c6860025486612f8390919063ffffffff16565b61300990919063ffffffff16565b9050610d59600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639ec5a8946040518163ffffffff1660e01b815260040160206040518083038186803b158015610ce357600080fd5b505afa158015610cf7573d6000803e3d6000fd5b505050506040513d6020811015610d0d57600080fd5b81019080805190602001909291905050508273df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166130539092919063ffffffff16565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a622ee7c73df5e0e81dff6faf3a7e52ba697820c5e32d806a86040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610e0e57600080fd5b505afa158015610e22573d6000803e3d6000fd5b505050506040513d6020811015610e3857600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610eee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f217661756c74000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b610f3f81610f058487612e2890919063ffffffff16565b73df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166130539092919063ffffffff16565b50505050565b7316de59092dae5ccf4a1e6439d611fd0653f0bd0181565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061101e5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611090576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21617574686f72697a656400000000000000000000000000000000000000000081525060200191505060405180910390fd5b73d061d61a4d941c39e5453435b6345dc261c2fce073ffffffffffffffffffffffffffffffffffffffff16636a62784273fa712ee4788c042e2b7bb55e6cb8ec569c4530c16040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561113757600080fd5b505af115801561114b573d6000803e3d6000fd5b50505050600073d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156111e257600080fd5b505afa1580156111f6573d6000803e3d6000fd5b505050506040513d602081101561120c57600080fd5b81019080805190602001909291905050509050600081111561165f57600061125361271061124560005485612f8390919063ffffffff16565b61300990919063ffffffff16565b9050611336600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639ec5a8946040518163ffffffff1660e01b815260040160206040518083038186803b1580156112c057600080fd5b505afa1580156112d4573d6000803e3d6000fd5b505050506040513d60208110156112ea57600080fd5b81019080805190602001909291905050508273d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff166130539092919063ffffffff16565b6113498183612e2890919063ffffffff16565b915061139f737a250d5630b4cf539739df2c5dacb4c659f2488d600073d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff166131249092919063ffffffff16565b6113f2737a250d5630b4cf539739df2c5dacb4c659f2488d8373d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff166131249092919063ffffffff16565b606060036040519080825280602002602001820160405280156114245781602001602082028038833980820191505090505b50905073d533a949740bb3306d119cc777fa900ba034cd528160008151811061144957fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106114a557fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050736b175474e89094c44da98b954eedeac495271d0f8160028151811061150157fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff166338ed1739846000843061158561070842612efb90919063ffffffff16565b6040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561161b578082015181840152602081019050611600565b505050509050019650505050505050600060405180830381600087803b15801561164457600080fd5b505af1158015611658573d6000803e3d6000fd5b5050505050505b6000736b175474e89094c44da98b954eedeac495271d0f73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156116f257600080fd5b505afa158015611706573d6000803e3d6000fd5b505050506040513d602081101561171c57600080fd5b81019080805190602001909291905050509050600081111561185f5761178c7316de59092dae5ccf4a1e6439d611fd0653f0bd016000736b175474e89094c44da98b954eedeac495271d0f73ffffffffffffffffffffffffffffffffffffffff166131249092919063ffffffff16565b6117df7316de59092dae5ccf4a1e6439d611fd0653f0bd0182736b175474e89094c44da98b954eedeac495271d0f73ffffffffffffffffffffffffffffffffffffffff166131249092919063ffffffff16565b7316de59092dae5ccf4a1e6439d611fd0653f0bd0173ffffffffffffffffffffffffffffffffffffffff1663b6b55f25826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561184657600080fd5b505af115801561185a573d6000803e3d6000fd5b505050505b60007316de59092dae5ccf4a1e6439d611fd0653f0bd0173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156118f257600080fd5b505afa158015611906573d6000803e3d6000fd5b505050506040513d602081101561191c57600080fd5b810190808051906020019092919050505090506000811115611ab35761198c7345f783cce6b7ff23b2ab2d70e416cdb7d6055f5160007316de59092dae5ccf4a1e6439d611fd0653f0bd0173ffffffffffffffffffffffffffffffffffffffff166131249092919063ffffffff16565b6119df7345f783cce6b7ff23b2ab2d70e416cdb7d6055f51827316de59092dae5ccf4a1e6439d611fd0653f0bd0173ffffffffffffffffffffffffffffffffffffffff166131249092919063ffffffff16565b7345f783cce6b7ff23b2ab2d70e416cdb7d6055f5173ffffffffffffffffffffffffffffffffffffffff1663029b2f3460405180608001604052808481526020016000815260200160008152602001600081525060006040518363ffffffff1660e01b81526004018083600460200280838360005b83811015611a6f578082015181840152602081019050611a54565b5050505090500182815260200192505050600060405180830381600087803b158015611a9a57600080fd5b505af1158015611aae573d6000803e3d6000fd5b505050505b600073df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611b4657600080fd5b505afa158015611b5a573d6000803e3d6000fd5b505050506040513d6020811015611b7057600080fd5b810190808051906020019092919050505090506000811115611ca4576000611bb7612710611ba960015485612f8390919063ffffffff16565b61300990919063ffffffff16565b9050611c9a600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639ec5a8946040518163ffffffff1660e01b815260040160206040518083038186803b158015611c2457600080fd5b505afa158015611c38573d6000803e3d6000fd5b505050506040513d6020811015611c4e57600080fd5b81019080805190602001909291905050508273df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166130539092919063ffffffff16565b611ca2612bab565b505b50505050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21636f6e74726f6c6c657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1673df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff161415611e25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f77616e740000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1673d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff161415611edb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f637276000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167316de59092dae5ccf4a1e6439d611fd0653f0bd0173ffffffffffffffffffffffffffffffffffffffff161415611f91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f796461690000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16736b175474e89094c44da98b954eedeac495271d0f73ffffffffffffffffffffffffffffffffffffffff161415612047576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f646169000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156120c457600080fd5b505afa1580156120d8573d6000803e3d6000fd5b505050506040513d60208110156120ee57600080fd5b8101908080519060200190929190505050905061214e600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff166130539092919063ffffffff16565b919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73d533a949740bb3306d119cc777fa900ba034cd5281565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612254576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060018190555050565b7345f783cce6b7ff23b2ab2d70e416cdb7d6055f5181565b6000612299612283610917565b61228b6129d1565b612efb90919063ffffffff16565b905090565b61271081565b60005481565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461236f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21636f6e74726f6c6c657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b612377613344565b73df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561240857600080fd5b505afa15801561241c573d6000803e3d6000fd5b505050506040513d602081101561243257600080fd5b810190808051906020019092919050505090506000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a622ee7c73df5e0e81dff6faf3a7e52ba697820c5e32d806a86040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156124fa57600080fd5b505afa15801561250e573d6000803e3d6000fd5b505050506040513d602081101561252457600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156125da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f217661756c74000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b612619818373df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166130539092919063ffffffff16565b5090565b60015481565b60025481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146126ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060008190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146129c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060028190555050565b600073df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612a6457600080fd5b505afa158015612a78573d6000803e3d6000fd5b505050506040513d6020811015612a8e57600080fd5b8101908080519060200190929190505050905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612b67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612c3e57600080fd5b505afa158015612c52573d6000803e3d6000fd5b505050506040513d6020811015612c6857600080fd5b810190808051906020019092919050505090506000811115612dab57612cd873fa712ee4788c042e2b7bb55e6cb8ec569c4530c1600073df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166131249092919063ffffffff16565b612d2b73fa712ee4788c042e2b7bb55e6cb8ec569c4530c18273df5e0e81dff6faf3a7e52ba697820c5e32d806a873ffffffffffffffffffffffffffffffffffffffff166131249092919063ffffffff16565b73fa712ee4788c042e2b7bb55e6cb8ec569c4530c173ffffffffffffffffffffffffffffffffffffffff1663b6b55f25826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015612d9257600080fd5b505af1158015612da6573d6000803e3d6000fd5b505050505b50565b73d061d61a4d941c39e5453435b6345dc261c2fce081565b61271081565b61271081565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b736b175474e89094c44da98b954eedeac495271d0f81565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000612e6a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613490565b905092915050565b600073fa712ee4788c042e2b7bb55e6cb8ec569c4530c173ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015612edb57600080fd5b505af1158015612eef573d6000803e3d6000fd5b50505050819050919050565b600080828401905083811015612f79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080831415612f965760009050613003565b6000828402905082848281612fa757fe5b0414612ffe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806138ad6021913960400191505060405180910390fd5b809150505b92915050565b600061304b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613550565b905092915050565b61311f838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613616565b505050565b600081148061321e575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156131e157600080fd5b505afa1580156131f5573d6000803e3d6000fd5b505050506040513d602081101561320b57600080fd5b8101908080519060200190929190505050145b613273576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806138f86036913960400191505060405180910390fd5b61333f838473ffffffffffffffffffffffffffffffffffffffff1663095ea7b3905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613616565b505050565b73fa712ee4788c042e2b7bb55e6cb8ec569c4530c173ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d73fa712ee4788c042e2b7bb55e6cb8ec569c4530c173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561340557600080fd5b505afa158015613419573d6000803e3d6000fd5b505050506040513d602081101561342f57600080fd5b81019080805190602001909291905050506040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561347657600080fd5b505af115801561348a573d6000803e3d6000fd5b50505050565b600083831115829061353d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156135025780820151818401526020810190506134e7565b50505050905090810190601f16801561352f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080831182906135fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156135c15780820151818401526020810190506135a6565b50505050905090810190601f1680156135ee5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161360857fe5b049050809150509392505050565b6136358273ffffffffffffffffffffffffffffffffffffffff16613861565b6136a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106136f657805182526020820191506020810190506020830392506136d3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613758576040519150601f19603f3d011682016040523d82523d6000602084013e61375d565b606091505b5091509150816137d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b60008151111561385b578080602001905160208110156137f457600080fd5b810190808051906020019092919050505061385a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806138ce602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156138a35750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a265627a7a723158200e5abf84b69e2bb391c43130cb3df0bdc1b7bd73cbc8d8b733a637bf77c9ac4c64736f6c634300051100320000000000000000000000009e65ad11b299ca0abefc2799ddb6314ef2d91080

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

0000000000000000000000009e65ad11b299ca0abefc2799ddb6314ef2d91080

-----Decoded View---------------
Arg [0] : _controller (address): 0x9e65ad11b299ca0abefc2799ddb6314ef2d91080

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000009e65ad11b299ca0abefc2799ddb6314ef2d91080


Deployed ByteCode Sourcemap

6356:7109:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6356:7109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12875:114;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6588:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7885:107;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7885:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6499:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7684:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9566:736;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9566:736:0;;;;;;;;;;;;;;;;;:::i;:::-;;7163:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6943;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10978:1609;;;:::i;:::-;;9049:435;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9049:435:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7620:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6767:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8499:168;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8499:168:0;;;;;;;;;;;;;;;;;:::i;:::-;;7252:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13001:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7472:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7348:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10382:462;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7433:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7528:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13307:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13307:155:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8171:140;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8171:140:0;;;;;;;;;;;;;;;;;:::i;:::-;;13140:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13140:155:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8323:164;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8323:164:0;;;;;;;;;;;;;;;;;:::i;:::-;;12748:115;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8004:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8004:155:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8679:283;;;:::i;:::-;;6677:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7565:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7381:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6855:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7075;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7652:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12875:114;12921:4;6627:42;12945:21;;;12975:4;12945:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12945:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12945:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12945:36:0;;;;;;;;;;;;;;;;12938:43;;12875:114;:::o;6588:82::-;6627:42;6588:82;:::o;7885:107::-;7927:13;7953:31;;;;;;;;;;;;;;;;;;;7885:107;:::o;6499:82::-;6538:42;6499:82;:::o;7684:25::-;;;;;;;;;;;;;:::o;9566:736::-;9640:10;;;;;;;;;;;9626:24;;:10;:24;;;9618:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9677:13;6538:42;9693:22;;;9724:4;9693:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9693:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9693:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9693:37:0;;;;;;;;;;;;;;;;9677:53;;9756:7;9745:8;:18;9741:143;;;9790:36;9804:21;9816:8;9804:7;:11;;:21;;;;:::i;:::-;9790:13;:36::i;:::-;9780:46;;9851:21;9863:8;9851:7;:11;;:21;;;;:::i;:::-;9841:31;;9741:143;9904:9;9916:45;7602:5;9916:26;9928:13;;9916:7;:11;;:26;;;;:::i;:::-;:30;;:45;;;;:::i;:::-;9904:57;;9982:65;10019:10;;;;;;;;;;;10008:30;;;:32;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10008:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10008:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10008:32:0;;;;;;;;;;;;;;;;10042:4;6538:42;9982:25;;;;:65;;;;;:::i;:::-;10058:14;10086:10;;;;;;;;;;;10075:29;;;6538:42;10075:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10075:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10075:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10075:44:0;;;;;;;;;;;;;;;;10058:61;;10156:1;10138:20;;:6;:20;;;;10130:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10242:52;10268:6;10276:17;10288:4;10276:7;:11;;:17;;;;:::i;:::-;6538:42;10242:25;;;;:52;;;;;:::i;:::-;9566:736;;;;:::o;7163:82::-;7202:42;7163:82;:::o;6943:::-;6982:42;6943:82;:::o;10978:1609::-;11037:10;;;;;;;;;;;11023:24;;:10;:24;;;:52;;;;11065:10;;;;;;;;;;;11051:24;;:10;:24;;;11023:52;11015:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6717:42;11102:17;;;6627:42;11102:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11102:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11102:23:0;;;;11136:9;6805:42;11148:21;;;11178:4;11148:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11148:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11148:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11148:36:0;;;;;;;;;;;;;;;;11136:48;;11206:1;11199:4;:8;11195:617;;;11238:13;11254:33;7415:5;11254:17;11263:7;;11254:4;:8;;:17;;;;:::i;:::-;:21;;:33;;;;:::i;:::-;11238:49;;11302:68;11338:10;;;;;;;;;;;11327:30;;;:32;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11327:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11327:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11327:32:0;;;;;;;;;;;;;;;;11361:8;6805:42;11302:24;;;;:68;;;;;:::i;:::-;11392:18;11401:8;11392:4;:8;;:18;;;;:::i;:::-;11385:25;;11453:31;6893:42;11482:1;6805:42;11453:23;;;;:31;;;;;:::i;:::-;11499:34;6893:42;11528:4;6805:42;11499:23;;;;:34;;;;;:::i;:::-;11562:21;11600:1;11586:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;11586:16:0;;;;11562:40;;6805:42;11617:4;11622:1;11617:7;;;;;;;;;;;;;:13;;;;;;;;;;;6982:42;11645:4;11650:1;11645:7;;;;;;;;;;;;;:14;;;;;;;;;;;7113:42;11674:4;11679:1;11674:7;;;;;;;;;;;;;:13;;;;;;;;;;;6893:42;11716:33;;;11750:4;11761:1;11765:4;11779;11786:13;11794:4;11786:3;:7;;:13;;;;:::i;:::-;11716:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11716:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11716:84:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11716:84:0;;;;11195:617;;;11822:9;7113:42;11834:21;;;11864:4;11834:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11834:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11834:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11834:36:0;;;;;;;;;;;;;;;;11822:48;;11892:1;11885:4;:8;11881:164;;;11910:32;7202:42;11940:1;7113:42;11910:23;;;;:32;;;;;:::i;:::-;11957:35;7202:42;11987:4;7113:42;11957:23;;;;:35;;;;;:::i;:::-;7202:42;12007:20;;;12028:4;12007:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12007:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12007:26:0;;;;11881:164;12055:10;7202:42;12068:22;;;12099:4;12068:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12068:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12068:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12068:37:0;;;;;;;;;;;;;;;;12055:50;;12128:1;12120:5;:9;12116:190;;;12146:34;7292:42;12178:1;7202:42;12146:24;;;;:34;;;;;:::i;:::-;12195:38;7292:42;12227:5;7202:42;12195:24;;;;:38;;;;;:::i;:::-;7292:42;12248:29;;;:46;;;;;;;;12279:5;12248:46;;;;12285:1;12248:46;;;;12287:1;12248:46;;;;12289:1;12248:46;;;12292:1;12248:46;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12248:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12248:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12248:46:0;;;;12116:190;12316:10;6538:42;12329:22;;;12360:4;12329:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12329:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12329:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12329:37:0;;;;;;;;;;;;;;;;12316:50;;12389:1;12381:5;:9;12377:203;;;12407:9;12419:45;7510:5;12419:25;12429:14;;12419:5;:9;;:25;;;;:::i;:::-;:29;;:45;;;;:::i;:::-;12407:57;;12479:65;12516:10;;;;;;;;;;;12505:30;;;:32;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12505:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12505:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12505:32:0;;;;;;;;;;;;;;;;12539:4;6538:42;12479:25;;;;:65;;;;;:::i;:::-;12559:9;:7;:9::i;:::-;12377:203;;10978:1609;;;;:::o;9049:435::-;9100:12;9147:10;;;;;;;;;;;9133:24;;:10;:24;;;9125:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9208:6;9192:23;;6538:42;9192:23;;;;9184:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9258:6;9243:22;;6805:42;9243:22;;;;9235:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9308:6;9292:23;;7202:42;9292:23;;;;9284:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9358:6;9343:22;;7113:42;9343:22;;;;9335:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9394:6;:16;;;9419:4;9394:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9394:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9394:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9394:31:0;;;;;;;;;;;;;;;;9384:41;;9436:40;9456:10;;;;;;;;;;;9468:7;9436:6;:19;;;;:40;;;;;:::i;:::-;9049:435;;;:::o;7620:25::-;;;;;;;;;;;;;:::o;6767:81::-;6805:42;6767:81;:::o;8499:168::-;8590:10;;;;;;;;;;;8576:24;;:10;:24;;;8568:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8644:15;8627:14;:32;;;;8499:168;:::o;7252:83::-;7292:42;7252:83;:::o;13001:127::-;13043:4;13067:53;13104:15;:13;:15::i;:::-;13067;:13;:15::i;:::-;:36;;:53;;;;:::i;:::-;13060:60;;13001:127;:::o;7472:43::-;7510:5;7472:43;:::o;7348:26::-;;;;:::o;10382:462::-;10423:12;10470:10;;;;;;;;;;;10456:24;;:10;:24;;;10448:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10507:14;:12;:14::i;:::-;6538:42;10562:22;;;10593:4;10562:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10562:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10562:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10562:37:0;;;;;;;;;;;;;;;;10552:47;;10620:14;10648:10;;;;;;;;;;;10637:29;;;6538:42;10637:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10637:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10637:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10637:44:0;;;;;;;;;;;;;;;;10620:61;;10718:1;10700:20;;:6;:20;;;;10692:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10794:42;10820:6;10828:7;6538:42;10794:25;;;;:42;;;;;:::i;:::-;10382:462;;:::o;7433:32::-;;;;:::o;7528:30::-;;;;:::o;13307:155::-;13393:10;;;;;;;;;;;13379:24;;:10;:24;;;13371:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13443:11;13430:10;;:24;;;;;;;;;;;;;;;;;;13307:155;:::o;8171:140::-;8248:10;;;;;;;;;;;8234:24;;:10;:24;;;8226:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8295:8;8285:7;:18;;;;8171:140;:::o;13140:155::-;13226:10;;;;;;;;;;;13212:24;;:10;:24;;;13204:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13276:11;13263:10;;:24;;;;;;;;;;;;;;;;;;13140:155;:::o;8323:164::-;8412:10;;;;;;;;;;;8398:24;;:10;:24;;;8390:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8465:14;8449:13;:30;;;;8323:164;:::o;12748:115::-;12794:4;6538:42;12818:22;;;12849:4;12818:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12818:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12818:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12818:37:0;;;;;;;;;;;;;;;;12811:44;;12748:115;:::o;8004:155::-;8090:10;;;;;;;;;;;8076:24;;:10;:24;;;8068:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8140:11;8127:10;;:24;;;;;;;;;;;;;;;;;;8004:155;:::o;8679:283::-;8716:10;6538:42;8729:22;;;8760:4;8729:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8729:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8729:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8729:37:0;;;;;;;;;;;;;;;;8716:50;;8789:1;8781:5;:9;8777:168;;;8807:33;6627:42;8838:1;6538:42;8807:24;;;;:33;;;;;:::i;:::-;8855:37;6627:42;8886:5;6538:42;8855:24;;;;:37;;;;;:::i;:::-;6627:42;8907:19;;;8927:5;8907:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8907:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8907:26:0;;;;8777:168;8679:283;:::o;6677:83::-;6717:42;6677:83;:::o;7565:42::-;7602:5;7565:42;:::o;7381:39::-;7415:5;7381:39;:::o;6855:81::-;6893:42;6855:81;:::o;7075:::-;7113:42;7075:81;:::o;7652:25::-;;;;;;;;;;;;;:::o;1006:136::-;1064:7;1091:43;1095:1;1098;1091:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1084:50;;1006:136;;;;:::o;12599:137::-;12657:4;6627:42;12674:20;;;12695:7;12674:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12674:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12674:29:0;;;;12721:7;12714:14;;12599:137;;;:::o;819:181::-;877:7;897:9;913:1;909;:5;897:17;;938:1;933;:6;;925:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;991:1;984:8;;;819:181;;;;:::o;1346:250::-;1404:7;1433:1;1428;:6;1424:47;;;1458:1;1451:8;;;;1424:47;1483:9;1499:1;1495;:5;1483:17;;1528:1;1523;1519;:5;;;;;;:10;1511:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1587:1;1580:8;;;1346:250;;;;;:::o;1602:132::-;1660:7;1687:39;1691:1;1694;1687:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1680:46;;1602:132;;;;:::o;3319:176::-;3402:85;3421:5;3451;:14;;;:23;;;;3476:2;3480:5;3428:58;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3428:58:0;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;3428:58:0;3402:18;:85::i;:::-;3319:176;;;:::o;3715:347::-;3820:1;3811:5;:10;3810:62;;;;3870:1;3827:5;:15;;;3851:4;3858:7;3827:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3827:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3827:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3827:39:0;;;;;;;;;;;;;;;;:44;3810:62;3802:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3965:89;3984:5;4014;:13;;;:22;;;;4038:7;4047:5;3991:62;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3991:62:0;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;3991:62:0;3965:18;:89::i;:::-;3715:347;;;:::o;10856:110::-;6627:42;10900:20;;;6627:42;10921:21;;;10951:4;10921:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10921:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10921:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10921:36:0;;;;;;;;;;;;;;;;10900:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10900:58:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10900:58:0;;;;10856:110::o;1148:192::-;1234:7;1267:1;1262;:6;;1270:12;1254:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1254:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1294:9;1310:1;1306;:5;1294:17;;1331:1;1324:8;;;1148:192;;;;;:::o;1740:258::-;1826:7;1925:1;1921;:5;1928:12;1913:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1913:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1952:9;1968:1;1964;:5;;;;;;1952:17;;1989:1;1982:8;;;1740:258;;;;;:::o;4068:598::-;4156:27;4164:5;4156:25;;;:27::i;:::-;4148:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4293:12;4307:23;4342:5;4334:19;;4354:4;4334:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4334: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;;4292:67:0;;;;4378:7;4370:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4459:1;4439:10;:17;:21;4435:224;;;4581:10;4570:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4570:30:0;;;;;;;;;;;;;;;;4562:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4435:224;4068:598;;;;:::o;2336:374::-;2396:4;2413:16;2440:19;2462:66;2440:88;;;;2631:7;2619:20;2607:32;;2671:3;2659:15;;:8;:15;;:42;;;;;2690:11;2678:8;:23;;2659:42;2651:51;;;;2336:374;;;:::o

Swarm Source

bzzr://0e5abf84b69e2bb391c43130cb3df0bdc1b7bd73cbc8d8b733a637bf77c9ac4c
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.