ETH Price: $3,445.57 (-1.03%)
Gas: 2 Gwei

Contract

0xcc180262347F84544c3a4854b87C34117ACADf94
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Take Profit160556842022-11-26 17:34:59605 days ago1669484099IN
Inverse Finance: Yearn Fed
0 ETH0.0103335411.02802543
Take Profit159781772022-11-15 21:41:11616 days ago1668548471IN
Inverse Finance: Yearn Fed
0 ETH0.00159313.7786358
Take Profit159487732022-11-11 19:10:35620 days ago1668193835IN
Inverse Finance: Yearn Fed
0 ETH0.0029415125.44257879
Take Profit158694462022-10-31 17:10:47631 days ago1667236247IN
Inverse Finance: Yearn Fed
0 ETH0.001429324.51222841
Take Profit158271802022-10-25 19:29:11637 days ago1666726151IN
Inverse Finance: Yearn Fed
0 ETH0.0390779441.79964948
Take Profit156930062022-10-07 1:41:59656 days ago1665106919IN
Inverse Finance: Yearn Fed
0 ETH0.00225336.16062023
Take Profit156202812022-09-26 21:40:35666 days ago1664228435IN
Inverse Finance: Yearn Fed
0 ETH0.0008744314.43647009
Take Profit155284602022-09-13 18:31:25679 days ago1663093885IN
Inverse Finance: Yearn Fed
0 ETH0.0194998521.60284732
Take Profit153724752022-08-19 16:51:06704 days ago1660927866IN
Inverse Finance: Yearn Fed
0 ETH0.0014974712.95238394
Take Profit150156322022-06-24 0:32:13761 days ago1656030733IN
Inverse Finance: Yearn Fed
0 ETH0.0067719658.5738784
Take Profit150127482022-06-23 11:34:36761 days ago1655984076IN
Inverse Finance: Yearn Fed
0 ETH0.0029763925.25795362
Take Profit150126552022-06-23 11:10:13761 days ago1655982613IN
Inverse Finance: Yearn Fed
0 ETH0.0028811218.15433124
Take Profit149966062022-06-20 12:39:32764 days ago1655728772IN
Inverse Finance: Yearn Fed
0 ETH0.0026048122.53024306
Take Profit149525782022-06-12 22:24:04772 days ago1655072644IN
Inverse Finance: Yearn Fed
0 ETH0.0159882543.66906877
Expansion147329122022-05-08 0:19:33808 days ago1651969173IN
Inverse Finance: Yearn Fed
0 ETH0.0028003823.77058906
Expansion146845252022-04-30 8:25:53815 days ago1651307153IN
Inverse Finance: Yearn Fed
0 ETH0.0038743632.88400246
Expansion146445312022-04-24 1:23:12822 days ago1650763392IN
Inverse Finance: Yearn Fed
0 ETH0.0028008223.77426632
Expansion146361872022-04-22 18:07:21823 days ago1650650841IN
Inverse Finance: Yearn Fed
0 ETH0.0091928268.9592763
Expansion146360812022-04-22 17:45:16823 days ago1650649516IN
Inverse Finance: Yearn Fed
0 ETH0.0080453268.2912868
Expansion146360742022-04-22 17:43:43823 days ago1650649423IN
Inverse Finance: Yearn Fed
0 ETH0.0064623554.88106442
Expansion146360472022-04-22 17:38:24823 days ago1650649104IN
Inverse Finance: Yearn Fed
0 ETH0.0150130988.24066878
Contract All146360352022-04-22 17:35:13823 days ago1650648913IN
Inverse Finance: Yearn Fed
0 ETH0.0085226580.3826694
Expansion146360242022-04-22 17:30:52823 days ago1650648652IN
Inverse Finance: Yearn Fed
0 ETH0.0103540360.86098473
0x60806040145980492022-04-16 18:41:08829 days ago1650134468IN
 Create: YearnFed
0 ETH0.0545860844.11945219

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
YearnFed

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-16
*/

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

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

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the decimal points used by the token.
     */
    function decimals() external view returns (uint8);

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

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

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

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

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

    /**
     * @dev Mints `amount` of token to address `to` increasing total supply
     */
    function mint(address to, uint amount) external;

    //For testing
    function addMinter(address minter_) external;
}

interface IYearnVault is IERC20{
    //Getter functions for public vars
    function token() external view returns (IERC20);
    function depositLimit() external view returns (uint);  // Limit for totalAssets the Vault can hold
    function debtRatio() external view returns (uint);  // Debt ratio for the Vault across all strategies (in BPS, <= 10k)
    function totalDebt() external view returns (uint);  // Amount of tokens that all strategies have borrowed
    function lastReport() external view returns (uint);  // block.timestamp of last report
    function activation() external view returns (uint);  // block.timestamp of contract deployment
    function lockedProfit() external view returns (uint); // how much profit is locked and cant be withdrawn
    function lockedProfitDegradation() external view returns (uint); // rate per block of degradation. DEGRADATION_COEFFICIENT is 100% per block

    //Function interfaces
    function deposit(uint _amount,  address recipient) external returns (uint);
    function withdraw(uint maxShares, address recipient, uint maxLoss) external returns (uint);
    function maxAvailableShares() external returns (uint);
    function pricePerShare() external view returns (uint);
    function totalAssets() external view returns (uint);
}

contract YearnFed{

    IYearnVault public vault;
    IERC20 public underlying;
    address public chair; // Fed Chair
    address public gov;
    uint public supply;
    uint public maxLossBpContraction;
    uint public maxLossBpTakeProfit;

    event Expansion(uint amount);
    event Contraction(uint amount);

    /**
    @param vault_ Address of the yearnV2 vault the Fed will deploy capital to
    @param gov_ Address of governance. This address will receive profits generated, and may perform privilegede actions
    @param maxLossBpContraction_ Maximum allowed loss in vault share value, when contracting supply of underlying.
     Denominated in basis points. 1 = 0.01%
    @param maxLossBpTakeProfit_ Maximum allowed loss in vault share value, when taking profit from the vault.
     Denominated in basis points. 1 = 0.01%
    */
    constructor(IYearnVault vault_, address gov_, uint maxLossBpContraction_, uint maxLossBpTakeProfit_) {
        vault = vault_;
        underlying = IERC20(vault_.token());
        underlying.approve(address(vault), type(uint256).max);
        chair = msg.sender;
        maxLossBpContraction = maxLossBpContraction_;
        maxLossBpTakeProfit = maxLossBpTakeProfit_;
        gov = gov_;
    }

    /**
    @notice Method for gov to change gov address
    */
    function changeGov(address newGov_) public {
        require(msg.sender == gov, "ONLY GOV");
        gov = newGov_;
    }

    /**
    @notice Method for gov to change the chair
    */
    function changeChair(address newChair_) public {
        require(msg.sender == gov, "ONLY GOV");
        chair = newChair_;
    }
    /**
    @notice Method for governance to set max loss in basis points, when withdraing from yearn vault
    @param newMaxLossBpContraction new maximally allowed loss in Bp 1 = 0.01%
    */
    function setMaxLossBpContraction(uint newMaxLossBpContraction) public {
        require(msg.sender == gov, "ONLY GOV");
        require(newMaxLossBpContraction <= 10000, "MAXLOSS OVER 100%");
        maxLossBpContraction = newMaxLossBpContraction;
    }

    /**
    @notice Method for governance to set max loss in basis points, when taking profit from yearn vault
    @param newMaxLossBpTakeProfit new maximally allowed loss in Bp 1 = 0.01%
    */
    function setMaxLossBpTakeProfit(uint newMaxLossBpTakeProfit) public {
        require(msg.sender == gov, "ONLY GOV");
        require(newMaxLossBpTakeProfit <= 10000, "MAXLOSS OVER 100%");
        maxLossBpTakeProfit = newMaxLossBpTakeProfit;
    }

    /**
    @notice Method for withdrawing any token from the contract to governance. Should only be used in emergencies.
    @param token Address of token contract to withdraw to gov
    @param amount Amount of tokens to withdraw
    */
    function emergencyWithdraw(address token, uint amount) public{
        require(msg.sender == gov, "ONLY GOV");
        require(token != address(vault), "FORBIDDEN TOKEN");
        IERC20(token).transfer(gov, amount);
    }

    /**
    @notice Method for current chair of the Yearn FED to resign
    */
    function resign() public {
        require(msg.sender == chair, "ONLY CHAIR");
        chair = address(0);
    }

    /**
    @notice Deposits amount of underlying tokens into yEarn vault

    @param amount Amount of underlying token to deposit into yEarn vault
    */
    function expansion(uint amount) public {
        require(msg.sender == chair, "ONLY CHAIR");
        //Alternatively set amount to max uint if over deposit limit,
        //as that supplies greatest possible amount into vault
        /*
        if( amount > _maxDeposit()){
            amount = type(uint256).max;
        }
        */
        require(amount <= _maxDeposit(), "AMOUNT TOO BIG"); // can't deploy more than max
        underlying.mint(address(this), amount);
        uint shares = vault.deposit(amount, address(this));
        require(shares > 0);
        supply = supply + amount;
        emit Expansion(amount);
    }

    /**
    @notice Withdraws an amount of underlying token to be burnt, contracting supply
    
    @dev Its recommended to always broadcast withdrawl transactions(contraction & takeProfits)
    through a frontrun protected RPC like Flashbots RPC.
    
    @param amountUnderlying The amount of underlying tokens to withdraw. Note that more tokens may
    be withdrawn than requested, as price is calculated by debts to strategies, but strategies
    may have outperformed price of underlying token.
    If underlyingWithdrawn exceeds supply, the remainder is returned as profits
    */
    function contraction(uint amountUnderlying) public {
        require(msg.sender == chair, "ONLY CHAIR");
        uint underlyingWithdrawn = _withdrawAmountUnderlying(amountUnderlying, maxLossBpContraction);
        _contraction(underlyingWithdrawn);
    }
    /**
    @notice Withdraws every vault share, leaving no dust.
    @dev If the vault shares are worth less than the underlying supplied,
    then it may result in some bad debt being left in the vault.
    This can happen due to transaction fees or slippage incurred by withdrawing from the vault
    */
    function contractAll() public {
        require(msg.sender == chair, "ONLY CHAIR");
        uint underlyingWithdrawn = vault.withdraw(vault.balanceOf(address(this)), address(this), maxLossBpContraction);
        _contraction(underlyingWithdrawn);
    }

    /**
    @notice Burns the amount of underlyingWithdrawn.
    If the amount exceeds supply, the surplus is sent to governance as profit
    @param underlyingWithdrawn Amount of underlying that has successfully been withdrawn
    */
    function _contraction(uint underlyingWithdrawn) internal {
        require(underlyingWithdrawn > 0, "NOTHING WITHDRAWN");
        if(underlyingWithdrawn > supply){
            underlying.burn(supply);
            underlying.transfer(gov, underlyingWithdrawn-supply);
            emit Contraction(supply);
            supply = 0;
        } else {
            underlying.burn(underlyingWithdrawn);
            supply = supply - underlyingWithdrawn;
            emit Contraction(underlyingWithdrawn);
        }   
    }

    /**
    @notice Withdraws the profit generated by yEarn vault

    @dev See dev note on Contraction method
    */
    function takeProfit() public {
        uint expectedBalance = vault.balanceOf(address(this))*vault.pricePerShare()/10**vault.decimals();
        if(expectedBalance > supply){
            uint expectedProfit = expectedBalance - supply;
            if(expectedProfit > 0) {
                uint actualProfit = _withdrawAmountUnderlying(expectedProfit, maxLossBpTakeProfit);
                require(actualProfit > 0, "NO PROFIT");
                underlying.transfer(gov, actualProfit);
            }
        }
    }

    /**
    @notice calculates the amount of shares needed for withdrawing amount of underlying, and withdraws that amount.

    @dev See dev note on Contraction method

    @param amount The amount of underlying tokens to withdraw.
    @param maxLossBp The maximally acceptable loss in basis points. 1 = 0.01%
    */
    function _withdrawAmountUnderlying(uint amount, uint maxLossBp) internal returns (uint){
        uint sharesNeeded = amount*10**vault.decimals()/vault.pricePerShare();
        return vault.withdraw(sharesNeeded, address(this), maxLossBp);
    }

    /**
    @notice calculates the maximum possible deposit for the yearn vault
    */
    function _maxDeposit() view internal returns (uint) {
        if(vault.totalAssets() > vault.depositLimit()){
            return 0;
        }
        return vault.depositLimit() - vault.totalAssets();
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract IYearnVault","name":"vault_","type":"address"},{"internalType":"address","name":"gov_","type":"address"},{"internalType":"uint256","name":"maxLossBpContraction_","type":"uint256"},{"internalType":"uint256","name":"maxLossBpTakeProfit_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Contraction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Expansion","type":"event"},{"inputs":[],"name":"chair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newChair_","type":"address"}],"name":"changeChair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newGov_","type":"address"}],"name":"changeGov","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountUnderlying","type":"uint256"}],"name":"contraction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"expansion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gov","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxLossBpContraction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxLossBpTakeProfit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resign","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxLossBpContraction","type":"uint256"}],"name":"setMaxLossBpContraction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxLossBpTakeProfit","type":"uint256"}],"name":"setMaxLossBpTakeProfit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"takeProfit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"underlying","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vault","outputs":[{"internalType":"contract IYearnVault","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b50604051620015273803806200152783398101604081905262000034916200019a565b600080546001600160a01b0319166001600160a01b03861690811790915560408051637e062a3560e11b8152905163fc0c546a916004808201926020929091908290030181865afa1580156200008e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b49190620001e7565b600180546001600160a01b0319166001600160a01b0392831690811790915560005460405163095ea7b360e01b81529216600483015260001960248301529063095ea7b3906044016020604051808303816000875af11580156200011c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014291906200020e565b5060028054336001600160a01b031991821617909155600592909255600655600380549091166001600160a01b03929092169190911790555062000232565b6001600160a01b03811681146200019757600080fd5b50565b60008060008060808587031215620001b157600080fd5b8451620001be8162000181565b6020860151909450620001d18162000181565b6040860151606090960151949790965092505050565b600060208284031215620001fa57600080fd5b8151620002078162000181565b9392505050565b6000602082840312156200022157600080fd5b815180151581146200020757600080fd5b6112e580620002426000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806395ccea67116100a2578063c7c182a711610071578063c7c182a7146101ec578063dd230f53146101f5578063e1a611b714610208578063fbfa77cf1461021b578063fdf893f51461022e57600080fd5b806395ccea67146101a0578063a76221eb146101b3578063a962ef1e146101c6578063c002e56e146101d957600080fd5b806366da92a4116100de57806366da92a41461017457806369652fcf1461017d5780636f307dc31461018557806370c105781461019857600080fd5b8063047fc9aa1461011057806312d43a511461012c5780632720b22e1461015757806330256be21461016c575b600080fd5b61011960045481565b6040519081526020015b60405180910390f35b60035461013f906001600160a01b031681565b6040516001600160a01b039091168152602001610123565b61016a610165366004611011565b610241565b005b61016a6103ed565b61011960065481565b61016a61050a565b60015461013f906001600160a01b031681565b61016a610546565b61016a6101ae366004611046565b6107ae565b61016a6101c1366004611011565b6108a4565b61016a6101d4366004611070565b610919565b61016a6101e7366004611070565b610965565b61011960055481565b61016a610203366004611011565b6109b1565b61016a610216366004611011565b610a26565b60005461013f906001600160a01b031681565b60025461013f906001600160a01b031681565b6002546001600160a01b031633146102745760405162461bcd60e51b815260040161026b90611092565b60405180910390fd5b61027c610a69565b8111156102bc5760405162461bcd60e51b815260206004820152600e60248201526d414d4f554e5420544f4f2042494760901b604482015260640161026b565b6001546040516340c10f1960e01b8152306004820152602481018390526001600160a01b03909116906340c10f1990604401600060405180830381600087803b15801561030857600080fd5b505af115801561031c573d6000803e3d6000fd5b505060008054604051636e553f6560e01b8152600481018690523060248201529193506001600160a01b03169150636e553f65906044016020604051808303816000875af1158015610372573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039691906110b6565b9050600081116103a557600080fd5b816004546103b391906110e5565b6004556040518281527fdcc16fd18a808d877bcd9a09b544844b36ae8f0a4b222e317d7b777b2c18b0329060200160405180910390a15050565b6002546001600160a01b031633146104175760405162461bcd60e51b815260040161026b90611092565b600080546040516370a0823160e01b81523060048201526001600160a01b039091169063e63697c89082906370a0823190602401602060405180830381865afa158015610468573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048c91906110b6565b6005546040516001600160e01b031960e085901b168152600481019290925230602483015260448201526064016020604051808303816000875af11580156104d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fc91906110b6565b905061050781610c5b565b50565b6002546001600160a01b031633146105345760405162461bcd60e51b815260040161026b90611092565b600280546001600160a01b0319169055565b60008060009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561059a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105be91906110fd565b6105c990600a611204565b60008054906101000a90046001600160a01b03166001600160a01b03166399530b066040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063e91906110b6565b6000546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106aa91906110b6565b6106b49190611213565b6106be9190611232565b9050600454811115610507576000600454826106da9190611254565b905080156107aa5760006106f082600654610e88565b90506000811161072e5760405162461bcd60e51b81526020600482015260096024820152681393c8141493d1925560ba1b604482015260640161026b565b60015460035460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af1158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a7919061126b565b50505b5050565b6003546001600160a01b031633146107d85760405162461bcd60e51b815260040161026b9061128d565b6000546001600160a01b03908116908316036108285760405162461bcd60e51b815260206004820152600f60248201526e2327a92124a22222a7102a27a5a2a760891b604482015260640161026b565b60035460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af115801561087b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089f919061126b565b505050565b6003546001600160a01b031633146108ce5760405162461bcd60e51b815260040161026b9061128d565b6127108111156109145760405162461bcd60e51b81526020600482015260116024820152704d41584c4f5353204f564552203130302560781b604482015260640161026b565b600655565b6003546001600160a01b031633146109435760405162461bcd60e51b815260040161026b9061128d565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b0316331461098f5760405162461bcd60e51b815260040161026b9061128d565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031633146109db5760405162461bcd60e51b815260040161026b9061128d565b612710811115610a215760405162461bcd60e51b81526020600482015260116024820152704d41584c4f5353204f564552203130302560781b604482015260640161026b565b600555565b6002546001600160a01b03163314610a505760405162461bcd60e51b815260040161026b90611092565b6000610a5e82600554610e88565b90506107aa81610c5b565b60008060009054906101000a90046001600160a01b03166001600160a01b031663ecf708586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae191906110b6565b60008054906101000a90046001600160a01b03166001600160a01b03166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5691906110b6565b1115610b625750600090565b60008054906101000a90046001600160a01b03166001600160a01b03166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd791906110b6565b60008054906101000a90046001600160a01b03166001600160a01b031663ecf708586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4c91906110b6565b610c569190611254565b905090565b60008111610c9f5760405162461bcd60e51b81526020600482015260116024820152702727aa2424a723902ba4aa24222920aba760791b604482015260640161026b565b600454811115610de35760015460048054604051630852cd8d60e31b8152918201526001600160a01b03909116906342966c6890602401600060405180830381600087803b158015610cf057600080fd5b505af1158015610d04573d6000803e3d6000fd5b50506001546003546004546001600160a01b03928316945063a9059cbb9350911690610d309085611254565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610d7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9f919061126b565b507f32d275175c36fa468b3e61c6763f9488ff3c9be127e35e011cf4e04d602224ba600454604051610dd391815260200190565b60405180910390a1600060045550565b600154604051630852cd8d60e31b8152600481018390526001600160a01b03909116906342966c6890602401600060405180830381600087803b158015610e2957600080fd5b505af1158015610e3d573d6000803e3d6000fd5b5050505080600454610e4f9190611254565b6004556040518181527f32d275175c36fa468b3e61c6763f9488ff3c9be127e35e011cf4e04d602224ba9060200160405180910390a150565b6000805460408051634ca9858360e11b8152905183926001600160a01b0316916399530b069160048083019260209291908290030181865afa158015610ed2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef691906110b6565b60008054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6b91906110fd565b610f7690600a611204565b610f809086611213565b610f8a9190611232565b600054604051631cc6d2f960e31b815260048101839052306024820152604481018690529192506001600160a01b03169063e63697c8906064016020604051808303816000875af1158015610fe3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100791906110b6565b9150505b92915050565b60006020828403121561102357600080fd5b5035919050565b80356001600160a01b038116811461104157600080fd5b919050565b6000806040838503121561105957600080fd5b6110628361102a565b946020939093013593505050565b60006020828403121561108257600080fd5b61108b8261102a565b9392505050565b6020808252600a908201526927a7262c9021a420a4a960b11b604082015260600190565b6000602082840312156110c857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156110f8576110f86110cf565b500190565b60006020828403121561110f57600080fd5b815160ff8116811461108b57600080fd5b600181815b8085111561115b578160001904821115611141576111416110cf565b8085161561114e57918102915b93841c9390800290611125565b509250929050565b6000826111725750600161100b565b8161117f5750600061100b565b8160018114611195576002811461119f576111bb565b600191505061100b565b60ff8411156111b0576111b06110cf565b50506001821b61100b565b5060208310610133831016604e8410600b84101617156111de575081810a61100b565b6111e88383611120565b80600019048211156111fc576111fc6110cf565b029392505050565b600061108b60ff841683611163565b600081600019048311821515161561122d5761122d6110cf565b500290565b60008261124f57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015611266576112666110cf565b500390565b60006020828403121561127d57600080fd5b8151801515811461108b57600080fd5b60208082526008908201526727a7262c9023a7ab60c11b60408201526060019056fea264697066735822122049649fce24f665987f67ea2cfc72f39892d170dc6d210b3e0aee691959d338bf64736f6c634300080d0033000000000000000000000000d4108bb1185a5c30ea3f4264fd7783473018ce17000000000000000000000000926df14a23be491164dcf93f4c468a50ef659d5b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806395ccea67116100a2578063c7c182a711610071578063c7c182a7146101ec578063dd230f53146101f5578063e1a611b714610208578063fbfa77cf1461021b578063fdf893f51461022e57600080fd5b806395ccea67146101a0578063a76221eb146101b3578063a962ef1e146101c6578063c002e56e146101d957600080fd5b806366da92a4116100de57806366da92a41461017457806369652fcf1461017d5780636f307dc31461018557806370c105781461019857600080fd5b8063047fc9aa1461011057806312d43a511461012c5780632720b22e1461015757806330256be21461016c575b600080fd5b61011960045481565b6040519081526020015b60405180910390f35b60035461013f906001600160a01b031681565b6040516001600160a01b039091168152602001610123565b61016a610165366004611011565b610241565b005b61016a6103ed565b61011960065481565b61016a61050a565b60015461013f906001600160a01b031681565b61016a610546565b61016a6101ae366004611046565b6107ae565b61016a6101c1366004611011565b6108a4565b61016a6101d4366004611070565b610919565b61016a6101e7366004611070565b610965565b61011960055481565b61016a610203366004611011565b6109b1565b61016a610216366004611011565b610a26565b60005461013f906001600160a01b031681565b60025461013f906001600160a01b031681565b6002546001600160a01b031633146102745760405162461bcd60e51b815260040161026b90611092565b60405180910390fd5b61027c610a69565b8111156102bc5760405162461bcd60e51b815260206004820152600e60248201526d414d4f554e5420544f4f2042494760901b604482015260640161026b565b6001546040516340c10f1960e01b8152306004820152602481018390526001600160a01b03909116906340c10f1990604401600060405180830381600087803b15801561030857600080fd5b505af115801561031c573d6000803e3d6000fd5b505060008054604051636e553f6560e01b8152600481018690523060248201529193506001600160a01b03169150636e553f65906044016020604051808303816000875af1158015610372573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039691906110b6565b9050600081116103a557600080fd5b816004546103b391906110e5565b6004556040518281527fdcc16fd18a808d877bcd9a09b544844b36ae8f0a4b222e317d7b777b2c18b0329060200160405180910390a15050565b6002546001600160a01b031633146104175760405162461bcd60e51b815260040161026b90611092565b600080546040516370a0823160e01b81523060048201526001600160a01b039091169063e63697c89082906370a0823190602401602060405180830381865afa158015610468573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048c91906110b6565b6005546040516001600160e01b031960e085901b168152600481019290925230602483015260448201526064016020604051808303816000875af11580156104d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fc91906110b6565b905061050781610c5b565b50565b6002546001600160a01b031633146105345760405162461bcd60e51b815260040161026b90611092565b600280546001600160a01b0319169055565b60008060009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561059a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105be91906110fd565b6105c990600a611204565b60008054906101000a90046001600160a01b03166001600160a01b03166399530b066040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063e91906110b6565b6000546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106aa91906110b6565b6106b49190611213565b6106be9190611232565b9050600454811115610507576000600454826106da9190611254565b905080156107aa5760006106f082600654610e88565b90506000811161072e5760405162461bcd60e51b81526020600482015260096024820152681393c8141493d1925560ba1b604482015260640161026b565b60015460035460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af1158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a7919061126b565b50505b5050565b6003546001600160a01b031633146107d85760405162461bcd60e51b815260040161026b9061128d565b6000546001600160a01b03908116908316036108285760405162461bcd60e51b815260206004820152600f60248201526e2327a92124a22222a7102a27a5a2a760891b604482015260640161026b565b60035460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af115801561087b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089f919061126b565b505050565b6003546001600160a01b031633146108ce5760405162461bcd60e51b815260040161026b9061128d565b6127108111156109145760405162461bcd60e51b81526020600482015260116024820152704d41584c4f5353204f564552203130302560781b604482015260640161026b565b600655565b6003546001600160a01b031633146109435760405162461bcd60e51b815260040161026b9061128d565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b0316331461098f5760405162461bcd60e51b815260040161026b9061128d565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031633146109db5760405162461bcd60e51b815260040161026b9061128d565b612710811115610a215760405162461bcd60e51b81526020600482015260116024820152704d41584c4f5353204f564552203130302560781b604482015260640161026b565b600555565b6002546001600160a01b03163314610a505760405162461bcd60e51b815260040161026b90611092565b6000610a5e82600554610e88565b90506107aa81610c5b565b60008060009054906101000a90046001600160a01b03166001600160a01b031663ecf708586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae191906110b6565b60008054906101000a90046001600160a01b03166001600160a01b03166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5691906110b6565b1115610b625750600090565b60008054906101000a90046001600160a01b03166001600160a01b03166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd791906110b6565b60008054906101000a90046001600160a01b03166001600160a01b031663ecf708586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4c91906110b6565b610c569190611254565b905090565b60008111610c9f5760405162461bcd60e51b81526020600482015260116024820152702727aa2424a723902ba4aa24222920aba760791b604482015260640161026b565b600454811115610de35760015460048054604051630852cd8d60e31b8152918201526001600160a01b03909116906342966c6890602401600060405180830381600087803b158015610cf057600080fd5b505af1158015610d04573d6000803e3d6000fd5b50506001546003546004546001600160a01b03928316945063a9059cbb9350911690610d309085611254565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610d7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9f919061126b565b507f32d275175c36fa468b3e61c6763f9488ff3c9be127e35e011cf4e04d602224ba600454604051610dd391815260200190565b60405180910390a1600060045550565b600154604051630852cd8d60e31b8152600481018390526001600160a01b03909116906342966c6890602401600060405180830381600087803b158015610e2957600080fd5b505af1158015610e3d573d6000803e3d6000fd5b5050505080600454610e4f9190611254565b6004556040518181527f32d275175c36fa468b3e61c6763f9488ff3c9be127e35e011cf4e04d602224ba9060200160405180910390a150565b6000805460408051634ca9858360e11b8152905183926001600160a01b0316916399530b069160048083019260209291908290030181865afa158015610ed2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef691906110b6565b60008054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6b91906110fd565b610f7690600a611204565b610f809086611213565b610f8a9190611232565b600054604051631cc6d2f960e31b815260048101839052306024820152604481018690529192506001600160a01b03169063e63697c8906064016020604051808303816000875af1158015610fe3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100791906110b6565b9150505b92915050565b60006020828403121561102357600080fd5b5035919050565b80356001600160a01b038116811461104157600080fd5b919050565b6000806040838503121561105957600080fd5b6110628361102a565b946020939093013593505050565b60006020828403121561108257600080fd5b61108b8261102a565b9392505050565b6020808252600a908201526927a7262c9021a420a4a960b11b604082015260600190565b6000602082840312156110c857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156110f8576110f86110cf565b500190565b60006020828403121561110f57600080fd5b815160ff8116811461108b57600080fd5b600181815b8085111561115b578160001904821115611141576111416110cf565b8085161561114e57918102915b93841c9390800290611125565b509250929050565b6000826111725750600161100b565b8161117f5750600061100b565b8160018114611195576002811461119f576111bb565b600191505061100b565b60ff8411156111b0576111b06110cf565b50506001821b61100b565b5060208310610133831016604e8410600b84101617156111de575081810a61100b565b6111e88383611120565b80600019048211156111fc576111fc6110cf565b029392505050565b600061108b60ff841683611163565b600081600019048311821515161561122d5761122d6110cf565b500290565b60008261124f57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015611266576112666110cf565b500390565b60006020828403121561127d57600080fd5b8151801515811461108b57600080fd5b60208082526008908201526727a7262c9023a7ab60c11b60408201526060019056fea264697066735822122049649fce24f665987f67ea2cfc72f39892d170dc6d210b3e0aee691959d338bf64736f6c634300080d0033

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

000000000000000000000000d4108bb1185a5c30ea3f4264fd7783473018ce17000000000000000000000000926df14a23be491164dcf93f4c468a50ef659d5b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : vault_ (address): 0xD4108Bb1185A5c30eA3f4264Fd7783473018Ce17
Arg [1] : gov_ (address): 0x926dF14a23BE491164dCF93f4c468A50ef659D5B
Arg [2] : maxLossBpContraction_ (uint256): 0
Arg [3] : maxLossBpTakeProfit_ (uint256): 0

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000d4108bb1185a5c30ea3f4264fd7783473018ce17
Arg [1] : 000000000000000000000000926df14a23be491164dcf93f4c468a50ef659d5b
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

4642:7852:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4795:18;;;;;;;;;160:25:1;;;148:2;133:18;4795::0;;;;;;;;4770;;;;;-1:-1:-1;;;;;4770:18:0;;;;;;-1:-1:-1;;;;;360:32:1;;;342:51;;330:2;315:18;4770::0;196:203:1;8082:648:0;;;;;;:::i;:::-;;:::i;:::-;;9915:256;;;:::i;4859:31::-;;;;;;7799:115;;;:::i;4699:24::-;;;;;-1:-1:-1;;;;;4699:24:0;;;11078:523;;;:::i;7483:226::-;;;;;;:::i;:::-;;:::i;6980:252::-;;;;;;:::i;:::-;;:::i;5984:124::-;;;;;;:::i;:::-;;:::i;6181:132::-;;;;;;:::i;:::-;;:::i;4820:32::-;;;;;;6516:257;;;;;;:::i;:::-;;:::i;9337:259::-;;;;;;:::i;:::-;;:::i;4668:24::-;;;;;-1:-1:-1;;;;;4668:24:0;;;4730:20;;;;;-1:-1:-1;;;;;4730:20:0;;;8082:648;8154:5;;-1:-1:-1;;;;;8154:5:0;8140:10;:19;8132:42;;;;-1:-1:-1;;;8132:42:0;;;;;;;:::i;:::-;;;;;;;;;8452:13;:11;:13::i;:::-;8442:6;:23;;8434:50;;;;-1:-1:-1;;;8434:50:0;;2207:2:1;8434:50:0;;;2189:21:1;2246:2;2226:18;;;2219:30;-1:-1:-1;;;2265:18:1;;;2258:44;2319:18;;8434:50:0;2005:338:1;8434:50:0;8525:10;;:38;;-1:-1:-1;;;8525:38:0;;8549:4;8525:38;;;2522:51:1;2589:18;;;2582:34;;;-1:-1:-1;;;;;8525:10:0;;;;:15;;2495:18:1;;8525:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8574:11:0;8588:5;;:36;;-1:-1:-1;;;8588:36:0;;;;;2801:25:1;;;8618:4:0;2842:18:1;;;2835:60;8574:11:0;;-1:-1:-1;;;;;;8588:5:0;;-1:-1:-1;8588:13:0;;2774:18:1;;8588:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8574:50;;8652:1;8643:6;:10;8635:19;;;;;;8683:6;8674;;:15;;;;:::i;:::-;8665:6;:24;8705:17;;160:25:1;;;8705:17:0;;148:2:1;133:18;8705:17:0;;;;;;;8121:609;8082:648;:::o;9915:256::-;9978:5;;-1:-1:-1;;;;;9978:5:0;9964:10;:19;9956:42;;;;-1:-1:-1;;;9956:42:0;;;;;;;:::i;:::-;10009:24;10036:5;;10051:30;;-1:-1:-1;;;10051:30:0;;10075:4;10051:30;;;342:51:1;-1:-1:-1;;;;;10036:5:0;;;;:14;;:5;;10051:15;;315:18:1;;10051:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10098:20;;10036:83;;-1:-1:-1;;;;;;10036:83:0;;;;;;;;;;3562:25:1;;;;10091:4:0;3603:18:1;;;3596:60;3672:18;;;3665:34;3535:18;;10036:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10009:110;;10130:33;10143:19;10130:12;:33::i;:::-;9945:226;9915:256::o;7799:115::-;7857:5;;-1:-1:-1;;;;;7857:5:0;7843:10;:19;7835:42;;;;-1:-1:-1;;;7835:42:0;;;;;;;:::i;:::-;7888:5;:18;;-1:-1:-1;;;;;;7888:18:0;;;7799:115::o;11078:523::-;11118:20;11198:5;;;;;;;;;-1:-1:-1;;;;;11198:5:0;-1:-1:-1;;;;;11198:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11194:20;;:2;:20;:::i;:::-;11172:5;;;;;;;;-1:-1:-1;;;;;11172:5:0;-1:-1:-1;;;;;11172:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11141:5;;:30;;-1:-1:-1;;;11141:30:0;;11165:4;11141:30;;;342:51:1;-1:-1:-1;;;;;11141:5:0;;;;:15;;315:18:1;;11141:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:52;;;;:::i;:::-;:73;;;;:::i;:::-;11118:96;;11246:6;;11228:15;:24;11225:369;;;11268:19;11308:6;;11290:15;:24;;;;:::i;:::-;11268:46;-1:-1:-1;11332:18:0;;11329:254;;11371:17;11391:62;11417:14;11433:19;;11391:25;:62::i;:::-;11371:82;;11495:1;11480:12;:16;11472:38;;;;-1:-1:-1;;;11472:38:0;;6098:2:1;11472:38:0;;;6080:21:1;6137:1;6117:18;;;6110:29;-1:-1:-1;;;6155:18:1;;;6148:39;6204:18;;11472:38:0;5896:332:1;11472:38:0;11529:10;;11549:3;;11529:38;;-1:-1:-1;;;11529:38:0;;-1:-1:-1;;;;;11549:3:0;;;11529:38;;;2522:51:1;2589:18;;;2582:34;;;11529:10:0;;;:19;;2495:18:1;;11529:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11352:231;11329:254;11253:341;11107:494;11078:523::o;7483:226::-;7577:3;;-1:-1:-1;;;;;7577:3:0;7563:10;:17;7555:38;;;;-1:-1:-1;;;7555:38:0;;;;;;;:::i;:::-;7629:5;;-1:-1:-1;;;;;7629:5:0;;;7612:23;;;;7604:51;;;;-1:-1:-1;;;7604:51:0;;7053:2:1;7604:51:0;;;7035:21:1;7092:2;7072:18;;;7065:30;-1:-1:-1;;;7111:18:1;;;7104:45;7166:18;;7604:51:0;6851:339:1;7604:51:0;7689:3;;7666:35;;-1:-1:-1;;;7666:35:0;;-1:-1:-1;;;;;7689:3:0;;;7666:35;;;2522:51:1;2589:18;;;2582:34;;;7666:22:0;;;;;;2495:18:1;;7666:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7483:226;;:::o;6980:252::-;7081:3;;-1:-1:-1;;;;;7081:3:0;7067:10;:17;7059:38;;;;-1:-1:-1;;;7059:38:0;;;;;;;:::i;:::-;7142:5;7116:22;:31;;7108:61;;;;-1:-1:-1;;;7108:61:0;;7397:2:1;7108:61:0;;;7379:21:1;7436:2;7416:18;;;7409:30;-1:-1:-1;;;7455:18:1;;;7448:47;7512:18;;7108:61:0;7195:341:1;7108:61:0;7180:19;:44;6980:252::o;5984:124::-;6060:3;;-1:-1:-1;;;;;6060:3:0;6046:10;:17;6038:38;;;;-1:-1:-1;;;6038:38:0;;;;;;;:::i;:::-;6087:3;:13;;-1:-1:-1;;;;;;6087:13:0;-1:-1:-1;;;;;6087:13:0;;;;;;;;;;5984:124::o;6181:132::-;6261:3;;-1:-1:-1;;;;;6261:3:0;6247:10;:17;6239:38;;;;-1:-1:-1;;;6239:38:0;;;;;;;:::i;:::-;6288:5;:17;;-1:-1:-1;;;;;;6288:17:0;-1:-1:-1;;;;;6288:17:0;;;;;;;;;;6181:132::o;6516:257::-;6619:3;;-1:-1:-1;;;;;6619:3:0;6605:10;:17;6597:38;;;;-1:-1:-1;;;6597:38:0;;;;;;;:::i;:::-;6681:5;6654:23;:32;;6646:62;;;;-1:-1:-1;;;6646:62:0;;7397:2:1;6646:62:0;;;7379:21:1;7436:2;7416:18;;;7409:30;-1:-1:-1;;;7455:18:1;;;7448:47;7512:18;;6646:62:0;7195:341:1;6646:62:0;6719:20;:46;6516:257::o;9337:259::-;9421:5;;-1:-1:-1;;;;;9421:5:0;9407:10;:19;9399:42;;;;-1:-1:-1;;;9399:42:0;;;;;;;:::i;:::-;9452:24;9479:65;9505:16;9523:20;;9479:25;:65::i;:::-;9452:92;;9555:33;9568:19;9555:12;:33::i;12280:211::-;12326:4;12368:5;;;;;;;;;-1:-1:-1;;;;;12368:5:0;-1:-1:-1;;;;;12368:18:0;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12346:5;;;;;;;;-1:-1:-1;;;;;12346:5:0;-1:-1:-1;;;;;12346:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:42;12343:81;;;-1:-1:-1;12411:1:0;;12280:211::o;12343:81::-;12464:5;;;;;;;;-1:-1:-1;;;;;12464:5:0;-1:-1:-1;;;;;12464:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12441:5;;;;;;;;-1:-1:-1;;;;;12441:5:0;-1:-1:-1;;;;;12441:18:0;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:42;;;;:::i;:::-;12434:49;;12280:211;:::o;10419:528::-;10517:1;10495:19;:23;10487:53;;;;-1:-1:-1;;;10487:53:0;;7743:2:1;10487:53:0;;;7725:21:1;7782:2;7762:18;;;7755:30;-1:-1:-1;;;7801:18:1;;;7794:47;7858:18;;10487:53:0;7541:341:1;10487:53:0;10576:6;;10554:19;:28;10551:386;;;10598:10;;10614:6;;;10598:23;;-1:-1:-1;;;10598:23:0;;;;;160:25:1;-1:-1:-1;;;;;10598:10:0;;;;:15;;133:18:1;;10598:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10636:10:0;;10656:3;;10681:6;;-1:-1:-1;;;;;10636:10:0;;;;-1:-1:-1;10636:19:0;;-1:-1:-1;10656:3:0;;;10661:26;;:19;:26;:::i;:::-;10636:52;;-1:-1:-1;;;;;;10636:52:0;;;;;;;-1:-1:-1;;;;;2540:32:1;;;10636:52:0;;;2522:51:1;2589:18;;;2582:34;2495:18;;10636:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10708:19;10720:6;;10708:19;;;;160:25:1;;148:2;133:18;;14:177;10708:19:0;;;;;;;;10751:1;10742:6;:10;9945:226;9915:256::o;10551:386::-;10785:10;;:36;;-1:-1:-1;;;10785:36:0;;;;;160:25:1;;;-1:-1:-1;;;;;10785:10:0;;;;:15;;133:18:1;;10785:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10854:19;10845:6;;:28;;;;:::i;:::-;10836:6;:37;10893:32;;160:25:1;;;10893:32:0;;148:2:1;133:18;10893:32:0;;;;;;;10419:528;:::o;11935:247::-;12017:4;12081:5;;:21;;;-1:-1:-1;;;12081:21:0;;;;12017:4;;-1:-1:-1;;;;;12081:5:0;;:19;;:21;;;;;;;;;;;;;;:5;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12064:5;;;;;;;;-1:-1:-1;;;;;12064:5:0;-1:-1:-1;;;;;12064:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12060:20;;:2;:20;:::i;:::-;12053:27;;:6;:27;:::i;:::-;:49;;;;:::i;:::-;12120:5;;:54;;-1:-1:-1;;;12120:54:0;;;;;3562:25:1;;;12157:4:0;3603:18:1;;;3596:60;3672:18;;;3665:34;;;12033:69:0;;-1:-1:-1;;;;;;12120:5:0;;:14;;3535:18:1;;12120:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12113:61;;;11935:247;;;;;:::o;404:180:1:-;463:6;516:2;504:9;495:7;491:23;487:32;484:52;;;532:1;529;522:12;484:52;-1:-1:-1;555:23:1;;404:180;-1:-1:-1;404:180:1:o;811:173::-;879:20;;-1:-1:-1;;;;;928:31:1;;918:42;;908:70;;974:1;971;964:12;908:70;811:173;;;:::o;989:254::-;1057:6;1065;1118:2;1106:9;1097:7;1093:23;1089:32;1086:52;;;1134:1;1131;1124:12;1086:52;1157:29;1176:9;1157:29;:::i;:::-;1147:39;1233:2;1218:18;;;;1205:32;;-1:-1:-1;;;989:254:1:o;1248:186::-;1307:6;1360:2;1348:9;1339:7;1335:23;1331:32;1328:52;;;1376:1;1373;1366:12;1328:52;1399:29;1418:9;1399:29;:::i;:::-;1389:39;1248:186;-1:-1:-1;;;1248:186:1:o;1666:334::-;1868:2;1850:21;;;1907:2;1887:18;;;1880:30;-1:-1:-1;;;1941:2:1;1926:18;;1919:40;1991:2;1976:18;;1666:334::o;2906:184::-;2976:6;3029:2;3017:9;3008:7;3004:23;3000:32;2997:52;;;3045:1;3042;3035:12;2997:52;-1:-1:-1;3068:16:1;;2906:184;-1:-1:-1;2906:184:1:o;3095:127::-;3156:10;3151:3;3147:20;3144:1;3137:31;3187:4;3184:1;3177:15;3211:4;3208:1;3201:15;3227:128;3267:3;3298:1;3294:6;3291:1;3288:13;3285:39;;;3304:18;;:::i;:::-;-1:-1:-1;3340:9:1;;3227:128::o;3710:273::-;3778:6;3831:2;3819:9;3810:7;3806:23;3802:32;3799:52;;;3847:1;3844;3837:12;3799:52;3879:9;3873:16;3929:4;3922:5;3918:16;3911:5;3908:27;3898:55;;3949:1;3946;3939:12;3988:422;4077:1;4120:5;4077:1;4134:270;4155:7;4145:8;4142:21;4134:270;;;4214:4;4210:1;4206:6;4202:17;4196:4;4193:27;4190:53;;;4223:18;;:::i;:::-;4273:7;4263:8;4259:22;4256:55;;;4293:16;;;;4256:55;4372:22;;;;4332:15;;;;4134:270;;;4138:3;3988:422;;;;;:::o;4415:806::-;4464:5;4494:8;4484:80;;-1:-1:-1;4535:1:1;4549:5;;4484:80;4583:4;4573:76;;-1:-1:-1;4620:1:1;4634:5;;4573:76;4665:4;4683:1;4678:59;;;;4751:1;4746:130;;;;4658:218;;4678:59;4708:1;4699:10;;4722:5;;;4746:130;4783:3;4773:8;4770:17;4767:43;;;4790:18;;:::i;:::-;-1:-1:-1;;4846:1:1;4832:16;;4861:5;;4658:218;;4960:2;4950:8;4947:16;4941:3;4935:4;4932:13;4928:36;4922:2;4912:8;4909:16;4904:2;4898:4;4895:12;4891:35;4888:77;4885:159;;;-1:-1:-1;4997:19:1;;;5029:5;;4885:159;5076:34;5101:8;5095:4;5076:34;:::i;:::-;5146:6;5142:1;5138:6;5134:19;5125:7;5122:32;5119:58;;;5157:18;;:::i;:::-;5195:20;;4415:806;-1:-1:-1;;;4415:806:1:o;5226:140::-;5284:5;5313:47;5354:4;5344:8;5340:19;5334:4;5313:47;:::i;5371:168::-;5411:7;5477:1;5473;5469:6;5465:14;5462:1;5459:21;5454:1;5447:9;5440:17;5436:45;5433:71;;;5484:18;;:::i;:::-;-1:-1:-1;5524:9:1;;5371:168::o;5544:217::-;5584:1;5610;5600:132;;5654:10;5649:3;5645:20;5642:1;5635:31;5689:4;5686:1;5679:15;5717:4;5714:1;5707:15;5600:132;-1:-1:-1;5746:9:1;;5544:217::o;5766:125::-;5806:4;5834:1;5831;5828:8;5825:34;;;5839:18;;:::i;:::-;-1:-1:-1;5876:9:1;;5766:125::o;6233:277::-;6300:6;6353:2;6341:9;6332:7;6328:23;6324:32;6321:52;;;6369:1;6366;6359:12;6321:52;6401:9;6395:16;6454:5;6447:13;6440:21;6433:5;6430:32;6420:60;;6476:1;6473;6466:12;6515:331;6717:2;6699:21;;;6756:1;6736:18;;;6729:29;-1:-1:-1;;;6789:2:1;6774:18;;6767:38;6837:2;6822:18;;6515:331::o

Swarm Source

ipfs://49649fce24f665987f67ea2cfc72f39892d170dc6d210b3e0aee691959d338bf

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.