ETH Price: $2,607.92 (-2.02%)

Contract

0x75fBFe26B21fd3EA008af0C764949f8214150C8f
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0x60a06040121934762021-04-07 15:29:011272 days ago1617809341IN
 Create: OracleRegistry
0 ETH0.18074913181

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OracleRegistry

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

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

// File: localhost/contracts/VaultParameters.sol

// SPDX-License-Identifier: bsl-1.1

/*
  Copyright 2020 Unit Protocol: Artem Zakharov ([email protected]).
*/
pragma solidity 0.7.6;



/**
 * @title Auth
 * @dev Manages USDP's system access
 **/
contract Auth {

    // address of the the contract with vault parameters
    VaultParameters public vaultParameters;

    constructor(address _parameters) {
        vaultParameters = VaultParameters(_parameters);
    }

    // ensures tx's sender is a manager
    modifier onlyManager() {
        require(vaultParameters.isManager(msg.sender), "Unit Protocol: AUTH_FAILED");
        _;
    }

    // ensures tx's sender is able to modify the Vault
    modifier hasVaultAccess() {
        require(vaultParameters.canModifyVault(msg.sender), "Unit Protocol: AUTH_FAILED");
        _;
    }

    // ensures tx's sender is the Vault
    modifier onlyVault() {
        require(msg.sender == vaultParameters.vault(), "Unit Protocol: AUTH_FAILED");
        _;
    }
}



/**
 * @title VaultParameters
 **/
contract VaultParameters is Auth {

    // map token to stability fee percentage; 3 decimals
    mapping(address => uint) public stabilityFee;

    // map token to liquidation fee percentage, 0 decimals
    mapping(address => uint) public liquidationFee;

    // map token to USDP mint limit
    mapping(address => uint) public tokenDebtLimit;

    // permissions to modify the Vault
    mapping(address => bool) public canModifyVault;

    // managers
    mapping(address => bool) public isManager;

    // enabled oracle types
    mapping(uint => mapping (address => bool)) public isOracleTypeEnabled;

    // address of the Vault
    address payable public vault;

    // The foundation address
    address public foundation;

    /**
     * The address for an Ethereum contract is deterministically computed from the address of its creator (sender)
     * and how many transactions the creator has sent (nonce). The sender and nonce are RLP encoded and then
     * hashed with Keccak-256.
     * Therefore, the Vault address can be pre-computed and passed as an argument before deployment.
    **/
    constructor(address payable _vault, address _foundation) Auth(address(this)) {
        require(_vault != address(0), "Unit Protocol: ZERO_ADDRESS");
        require(_foundation != address(0), "Unit Protocol: ZERO_ADDRESS");

        isManager[msg.sender] = true;
        vault = _vault;
        foundation = _foundation;
    }

    /**
     * @notice Only manager is able to call this function
     * @dev Grants and revokes manager's status of any address
     * @param who The target address
     * @param permit The permission flag
     **/
    function setManager(address who, bool permit) external onlyManager {
        isManager[who] = permit;
    }

    /**
     * @notice Only manager is able to call this function
     * @dev Sets the foundation address
     * @param newFoundation The new foundation address
     **/
    function setFoundation(address newFoundation) external onlyManager {
        require(newFoundation != address(0), "Unit Protocol: ZERO_ADDRESS");
        foundation = newFoundation;
    }

    /**
     * @notice Only manager is able to call this function
     * @dev Sets ability to use token as the main collateral
     * @param asset The address of the main collateral token
     * @param stabilityFeeValue The percentage of the year stability fee (3 decimals)
     * @param liquidationFeeValue The liquidation fee percentage (0 decimals)
     * @param usdpLimit The USDP token issue limit
     * @param oracles The enables oracle types
     **/
    function setCollateral(
        address asset,
        uint stabilityFeeValue,
        uint liquidationFeeValue,
        uint usdpLimit,
        uint[] calldata oracles
    ) external onlyManager {
        setStabilityFee(asset, stabilityFeeValue);
        setLiquidationFee(asset, liquidationFeeValue);
        setTokenDebtLimit(asset, usdpLimit);
        for (uint i=0; i < oracles.length; i++) {
            setOracleType(oracles[i], asset, true);
        }
    }

    /**
     * @notice Only manager is able to call this function
     * @dev Sets a permission for an address to modify the Vault
     * @param who The target address
     * @param permit The permission flag
     **/
    function setVaultAccess(address who, bool permit) external onlyManager {
        canModifyVault[who] = permit;
    }

    /**
     * @notice Only manager is able to call this function
     * @dev Sets the percentage of the year stability fee for a particular collateral
     * @param asset The address of the main collateral token
     * @param newValue The stability fee percentage (3 decimals)
     **/
    function setStabilityFee(address asset, uint newValue) public onlyManager {
        stabilityFee[asset] = newValue;
    }

    /**
     * @notice Only manager is able to call this function
     * @dev Sets the percentage of the liquidation fee for a particular collateral
     * @param asset The address of the main collateral token
     * @param newValue The liquidation fee percentage (0 decimals)
     **/
    function setLiquidationFee(address asset, uint newValue) public onlyManager {
        require(newValue <= 100, "Unit Protocol: VALUE_OUT_OF_RANGE");
        liquidationFee[asset] = newValue;
    }

    /**
     * @notice Only manager is able to call this function
     * @dev Enables/disables oracle types
     * @param _type The type of the oracle
     * @param asset The address of the main collateral token
     * @param enabled The control flag
     **/
    function setOracleType(uint _type, address asset, bool enabled) public onlyManager {
        isOracleTypeEnabled[_type][asset] = enabled;
    }

    /**
     * @notice Only manager is able to call this function
     * @dev Sets USDP limit for a specific collateral
     * @param asset The address of the main collateral token
     * @param limit The limit number
     **/
    function setTokenDebtLimit(address asset, uint limit) public onlyManager {
        tokenDebtLimit[asset] = limit;
    }
}

// File: localhost/contracts/oracles/OracleRegistry.sol

/*
  Copyright 2020 Unit Protocol: Artem Zakharov ([email protected]).
*/
pragma solidity 0.7.6;
pragma abicoder v2;


contract OracleRegistry is Auth {
    
    struct Oracle {
        uint oracleType;
        address oracleAddress;
    }

    uint public maxOracleType;

    address public immutable WETH;

    // map asset to oracle type ID
    mapping(address => uint) public oracleTypeByAsset;

    // map oracle type ID to oracle address
    mapping(uint => address) public oracleByType;

    // map oracle address to oracle type ID
    mapping(address => uint) public oracleTypeByOracle;

    // list of keydonix oracleType IDs
    uint[] public keydonixOracleTypes;

    event AssetOracle(address indexed asset, uint indexed oracleType);
    event OracleType(uint indexed oracleType, address indexed oracle);
    event KeydonixOracleTypes();

    modifier validAddress(address asset) {
        require(asset != address(0), "Unit Protocol: ZERO_ADDRESS");
        _;
    }

    modifier validType(uint _type) {
        require(_type != 0, "Unit Protocol: INVALID_TYPE");
        _;
    }

    constructor(address vaultParameters, address _weth)
        Auth(vaultParameters)
        validAddress(vaultParameters)
        validAddress(_weth)
    {
        WETH = _weth;
    }

    function setKeydonixOracleTypes(uint[] calldata _keydonixOracleTypes) public onlyManager {
        for (uint i = 0; i < _keydonixOracleTypes.length; i++) {
            require(_keydonixOracleTypes[i] != 0, "Unit Protocol: INVALID_TYPE");
            require(oracleByType[_keydonixOracleTypes[i]] != address(0), "Unit Protocol: INVALID_ORACLE");
        }

        keydonixOracleTypes = _keydonixOracleTypes;

        emit KeydonixOracleTypes();
    }

    function setOracle(uint oracleType, address oracle) public
        onlyManager
        validType(oracleType)
        validAddress(oracle)
    {
        if (oracleType > maxOracleType) {
            maxOracleType = oracleType;
        }

        address oldOracle = oracleByType[oracleType];
        if (oldOracle != address(0)) {
            delete oracleTypeByOracle[oldOracle];
        }

        uint oldOracleType = oracleTypeByOracle[oracle];
        if (oldOracleType != 0) {
            delete oracleByType[oldOracleType];
        }

        oracleByType[oracleType] = oracle;
        oracleTypeByOracle[oracle] = oracleType;

        emit OracleType(oracleType, oracle);
    }

    function unsetOracle(uint oracleType) public onlyManager validType(oracleType) validAddress(oracleByType[oracleType]) {
        address oracle = oracleByType[oracleType];
        delete oracleByType[oracleType];
        delete oracleTypeByOracle[oracle];

        emit OracleType(oracleType, address(0));
    }

    function setOracleTypeForAsset(address asset, uint oracleType) public
        onlyManager
        validAddress(asset)
        validType(oracleType)
        validAddress(oracleByType[oracleType])
    {
        oracleTypeByAsset[asset] = oracleType;
        emit AssetOracle(asset, oracleType);
    }

    function setOracleTypeForAssets(address[] calldata assets, uint oracleType) public {
        for (uint i = 0; i < assets.length; i++) {
            setOracleTypeForAsset(assets[i], oracleType);
        }
    }

    function unsetOracleForAsset(address asset) public
        onlyManager
        validAddress(asset)
        validType(oracleTypeByAsset[asset])
    {
        delete oracleTypeByAsset[asset];
        emit AssetOracle(asset, 0);
    }

    function unsetOracleForAssets(address[] calldata assets) public {
        for (uint i = 0; i < assets.length; i++) {
            unsetOracleForAsset(assets[i]);
        }
    }

    function getOracles() external view returns (Oracle[] memory foundOracles) {

        Oracle[] memory allOracles = new Oracle[](maxOracleType);

        uint actualOraclesCount;

        for (uint _type = 1; _type <= maxOracleType; ++_type) {
            if (oracleByType[_type] != address(0)) {
                allOracles[actualOraclesCount++] = Oracle(_type, oracleByType[_type]);
            }
        }

        foundOracles = new Oracle[](actualOraclesCount);

        for (uint i = 0; i < actualOraclesCount; ++i) {
            foundOracles[i] = allOracles[i];
        }
    }

    function getKeydonixOracleTypes() external view returns (uint[] memory) {
        return keydonixOracleTypes;
    }

    function oracleByAsset(address asset) external view returns (address) {
        uint oracleType = oracleTypeByAsset[asset];
        if (oracleType == 0) {
            return address(0);
        }
        return oracleByType[oracleType];
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"vaultParameters","type":"address"},{"internalType":"address","name":"_weth","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":true,"internalType":"uint256","name":"oracleType","type":"uint256"}],"name":"AssetOracle","type":"event"},{"anonymous":false,"inputs":[],"name":"KeydonixOracleTypes","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"oracleType","type":"uint256"},{"indexed":true,"internalType":"address","name":"oracle","type":"address"}],"name":"OracleType","type":"event"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getKeydonixOracleTypes","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOracles","outputs":[{"components":[{"internalType":"uint256","name":"oracleType","type":"uint256"},{"internalType":"address","name":"oracleAddress","type":"address"}],"internalType":"struct OracleRegistry.Oracle[]","name":"foundOracles","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"keydonixOracleTypes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxOracleType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"}],"name":"oracleByAsset","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"oracleByType","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"oracleTypeByAsset","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"oracleTypeByOracle","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_keydonixOracleTypes","type":"uint256[]"}],"name":"setKeydonixOracleTypes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"oracleType","type":"uint256"},{"internalType":"address","name":"oracle","type":"address"}],"name":"setOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"oracleType","type":"uint256"}],"name":"setOracleTypeForAsset","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"assets","type":"address[]"},{"internalType":"uint256","name":"oracleType","type":"uint256"}],"name":"setOracleTypeForAssets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"oracleType","type":"uint256"}],"name":"unsetOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"}],"name":"unsetOracleForAsset","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"assets","type":"address[]"}],"name":"unsetOracleForAssets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vaultParameters","outputs":[{"internalType":"contract VaultParameters","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60a06040523480156200001157600080fd5b5060405162001207380380620012078339810160408190526200003491620000dc565b600080546001600160a01b0319166001600160a01b03841690811790915582906200007c5760405162461bcd60e51b8152600401620000739062000113565b60405180910390fd5b816001600160a01b038116620000a65760405162461bcd60e51b8152600401620000739062000113565b505060601b6001600160601b031916608052506200014a565b80516001600160a01b0381168114620000d757600080fd5b919050565b60008060408385031215620000ef578182fd5b620000fa83620000bf565b91506200010a60208401620000bf565b90509250929050565b6020808252601b908201527f556e69742050726f746f636f6c3a205a45524f5f414444524553530000000000604082015260600190565b60805160601c61109f6200016860003980610ab5525061109f6000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80636d599d08116100a2578063c73352dd11610071578063c73352dd14610207578063c96acb2e1461021a578063cf9ec1931461022d578063f02086ed14610235578063fbcd5531146102485761010b565b80636d599d08146101d1578063aca345ee146101e4578063ad5c4648146101ec578063c5807dc6146101f45761010b565b806321510109116100de5780632151010914610174578063381630321461018757806340884c52146101a757806347ae34db146101bc5761010b565b8063041ccee2146101105780630573e67f1461012557806308c041b01461013857806317c6756914610161575b600080fd5b61012361011e366004610d9d565b61025b565b005b610123610133366004610de7565b6103a7565b61014b610146366004610d9d565b6103e3565b6040516101589190611060565b60405180910390f35b61012361016f366004610ea9565b6103f5565b610123610182366004610dbe565b6105c6565b61019a610195366004610d9d565b610726565b6040516101589190610ed4565b6101af61076e565b6040516101589190610ee8565b6101c46108dd565b6040516101589190610f40565b6101236101df366004610de7565b610935565b61019a610aa4565b61019a610ab3565b61019a610202366004610e91565b610ad7565b610123610215366004610e27565b610af2565b610123610228366004610e91565b610b35565b61014b610c8d565b61014b610243366004610e91565b610c93565b61014b610256366004610d9d565b610cb4565b60005460405163f3ae241560e01b81526001600160a01b039091169063f3ae24159061028b903390600401610ed4565b60206040518083038186803b1580156102a357600080fd5b505afa1580156102b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102db9190610e71565b6103005760405162461bcd60e51b81526004016102f790610ff2565b60405180910390fd5b806001600160a01b0381166103275760405162461bcd60e51b81526004016102f790611029565b6001600160a01b0382166000908152600260205260409020548061035d5760405162461bcd60e51b81526004016102f790610f84565b6001600160a01b038316600081815260026020526040808220829055519091907f6bff468ea38d2a3deb2f87d6e2ec4af5eba1a3dfa1eb60435db2cd55e4bab700908390a3505050565b60005b818110156103de576103d68383838181106103c157fe5b905060200201602081019061011e9190610d9d565b6001016103aa565b505050565b60046020526000908152604090205481565b60005460405163f3ae241560e01b81526001600160a01b039091169063f3ae241590610425903390600401610ed4565b60206040518083038186803b15801561043d57600080fd5b505afa158015610451573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104759190610e71565b6104915760405162461bcd60e51b81526004016102f790610ff2565b81806104af5760405162461bcd60e51b81526004016102f790610f84565b816001600160a01b0381166104d65760405162461bcd60e51b81526004016102f790611029565b6001548411156104e65760018490555b6000848152600360205260409020546001600160a01b0316801561051e576001600160a01b0381166000908152600460205260408120555b6001600160a01b038416600090815260046020526040902054801561055a57600081815260036020526040902080546001600160a01b03191690555b600086815260036020908152604080832080546001600160a01b0319166001600160a01b038a16908117909155808452600490925280832089905551909188917f6c1e3425ecb8dc04eee225dfe2d563b30c591917923431fbfffa0f280c670bb09190a3505050505050565b60005460405163f3ae241560e01b81526001600160a01b039091169063f3ae2415906105f6903390600401610ed4565b60206040518083038186803b15801561060e57600080fd5b505afa158015610622573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106469190610e71565b6106625760405162461bcd60e51b81526004016102f790610ff2565b816001600160a01b0381166106895760405162461bcd60e51b81526004016102f790611029565b81806106a75760405162461bcd60e51b81526004016102f790610f84565b6000838152600360205260409020546001600160a01b0316806106dc5760405162461bcd60e51b81526004016102f790611029565b6001600160a01b038516600081815260026020526040808220879055518692917f6bff468ea38d2a3deb2f87d6e2ec4af5eba1a3dfa1eb60435db2cd55e4bab70091a35050505050565b6001600160a01b0381166000908152600260205260408120548061074e576000915050610769565b6000908152600360205260409020546001600160a01b031690505b919050565b6060600060015467ffffffffffffffff8111801561078b57600080fd5b506040519080825280602002602001820160405280156107c557816020015b6107b2610cc6565b8152602001906001900390816107aa5790505b509050600060015b6001548111610844576000818152600360205260409020546001600160a01b03161561083c57604080518082018252828152600083815260036020908152929020546001600160a01b031691810191909152835160018401938591811061083057fe5b60200260200101819052505b6001016107cd565b508067ffffffffffffffff8111801561085c57600080fd5b5060405190808252806020026020018201604052801561089657816020015b610883610cc6565b81526020019060019003908161087b5790505b50925060005b818110156108d7578281815181106108b057fe5b60200260200101518482815181106108c457fe5b602090810291909101015260010161089c565b50505090565b6060600580548060200260200160405190810160405280929190818152602001828054801561092b57602002820191906000526020600020905b815481526020019060010190808311610917575b5050505050905090565b60005460405163f3ae241560e01b81526001600160a01b039091169063f3ae241590610965903390600401610ed4565b60206040518083038186803b15801561097d57600080fd5b505afa158015610991573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b59190610e71565b6109d15760405162461bcd60e51b81526004016102f790610ff2565b60005b81811015610a69578282828181106109e857fe5b9050602002013560001415610a0f5760405162461bcd60e51b81526004016102f790610f84565b6000600381858585818110610a2057fe5b60209081029290920135835250810191909152604001600020546001600160a01b03161415610a615760405162461bcd60e51b81526004016102f790610fbb565b6001016109d4565b50610a7660058383610cdd565b506040517f531313b72f66be92771004237e42a39fd38e34fa8346d9e43be4a657f4517d1890600090a15050565b6000546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6003602052600090815260409020546001600160a01b031681565b60005b82811015610b2f57610b27848483818110610b0c57fe5b9050602002016020810190610b219190610d9d565b836105c6565b600101610af5565b50505050565b60005460405163f3ae241560e01b81526001600160a01b039091169063f3ae241590610b65903390600401610ed4565b60206040518083038186803b158015610b7d57600080fd5b505afa158015610b91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb59190610e71565b610bd15760405162461bcd60e51b81526004016102f790610ff2565b8080610bef5760405162461bcd60e51b81526004016102f790610f84565b6000828152600360205260409020546001600160a01b031680610c245760405162461bcd60e51b81526004016102f790611029565b600083815260036020908152604080832080546001600160a01b031981169091556001600160a01b031680845260049092528083208390555190919085907f6c1e3425ecb8dc04eee225dfe2d563b30c591917923431fbfffa0f280c670bb0908390a350505050565b60015481565b60058181548110610ca357600080fd5b600091825260209091200154905081565b60026020526000908152604090205481565b604080518082019091526000808252602082015290565b828054828255906000526020600020908101928215610d18579160200282015b82811115610d18578235825591602001919060010190610cfd565b50610d24929150610d28565b5090565b5b80821115610d245760008155600101610d29565b80356001600160a01b038116811461076957600080fd5b60008083601f840112610d65578182fd5b50813567ffffffffffffffff811115610d7c578182fd5b6020830191508360208083028501011115610d9657600080fd5b9250929050565b600060208284031215610dae578081fd5b610db782610d3d565b9392505050565b60008060408385031215610dd0578081fd5b610dd983610d3d565b946020939093013593505050565b60008060208385031215610df9578182fd5b823567ffffffffffffffff811115610e0f578283fd5b610e1b85828601610d54565b90969095509350505050565b600080600060408486031215610e3b578081fd5b833567ffffffffffffffff811115610e51578182fd5b610e5d86828701610d54565b909790965060209590950135949350505050565b600060208284031215610e82578081fd5b81518015158114610db7578182fd5b600060208284031215610ea2578081fd5b5035919050565b60008060408385031215610ebb578182fd5b82359150610ecb60208401610d3d565b90509250929050565b6001600160a01b0391909116815260200190565b602080825282518282018190526000919060409081850190868401855b82811015610f33578151805185528601516001600160a01b0316868501529284019290850190600101610f05565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b81811015610f7857835183529284019291840191600101610f5c565b50909695505050505050565b6020808252601b908201527f556e69742050726f746f636f6c3a20494e56414c49445f545950450000000000604082015260600190565b6020808252601d908201527f556e69742050726f746f636f6c3a20494e56414c49445f4f5241434c45000000604082015260600190565b6020808252601a908201527f556e69742050726f746f636f6c3a20415554485f4641494c4544000000000000604082015260600190565b6020808252601b908201527f556e69742050726f746f636f6c3a205a45524f5f414444524553530000000000604082015260600190565b9081526020019056fea264697066735822122004a7d62688b9646e903f8111df12062e3d1acf6ebd524f4e2295987ba1f8be8264736f6c63430007060033000000000000000000000000b46f8cf42e504efe8bef895f848741daa55e9f1d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80636d599d08116100a2578063c73352dd11610071578063c73352dd14610207578063c96acb2e1461021a578063cf9ec1931461022d578063f02086ed14610235578063fbcd5531146102485761010b565b80636d599d08146101d1578063aca345ee146101e4578063ad5c4648146101ec578063c5807dc6146101f45761010b565b806321510109116100de5780632151010914610174578063381630321461018757806340884c52146101a757806347ae34db146101bc5761010b565b8063041ccee2146101105780630573e67f1461012557806308c041b01461013857806317c6756914610161575b600080fd5b61012361011e366004610d9d565b61025b565b005b610123610133366004610de7565b6103a7565b61014b610146366004610d9d565b6103e3565b6040516101589190611060565b60405180910390f35b61012361016f366004610ea9565b6103f5565b610123610182366004610dbe565b6105c6565b61019a610195366004610d9d565b610726565b6040516101589190610ed4565b6101af61076e565b6040516101589190610ee8565b6101c46108dd565b6040516101589190610f40565b6101236101df366004610de7565b610935565b61019a610aa4565b61019a610ab3565b61019a610202366004610e91565b610ad7565b610123610215366004610e27565b610af2565b610123610228366004610e91565b610b35565b61014b610c8d565b61014b610243366004610e91565b610c93565b61014b610256366004610d9d565b610cb4565b60005460405163f3ae241560e01b81526001600160a01b039091169063f3ae24159061028b903390600401610ed4565b60206040518083038186803b1580156102a357600080fd5b505afa1580156102b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102db9190610e71565b6103005760405162461bcd60e51b81526004016102f790610ff2565b60405180910390fd5b806001600160a01b0381166103275760405162461bcd60e51b81526004016102f790611029565b6001600160a01b0382166000908152600260205260409020548061035d5760405162461bcd60e51b81526004016102f790610f84565b6001600160a01b038316600081815260026020526040808220829055519091907f6bff468ea38d2a3deb2f87d6e2ec4af5eba1a3dfa1eb60435db2cd55e4bab700908390a3505050565b60005b818110156103de576103d68383838181106103c157fe5b905060200201602081019061011e9190610d9d565b6001016103aa565b505050565b60046020526000908152604090205481565b60005460405163f3ae241560e01b81526001600160a01b039091169063f3ae241590610425903390600401610ed4565b60206040518083038186803b15801561043d57600080fd5b505afa158015610451573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104759190610e71565b6104915760405162461bcd60e51b81526004016102f790610ff2565b81806104af5760405162461bcd60e51b81526004016102f790610f84565b816001600160a01b0381166104d65760405162461bcd60e51b81526004016102f790611029565b6001548411156104e65760018490555b6000848152600360205260409020546001600160a01b0316801561051e576001600160a01b0381166000908152600460205260408120555b6001600160a01b038416600090815260046020526040902054801561055a57600081815260036020526040902080546001600160a01b03191690555b600086815260036020908152604080832080546001600160a01b0319166001600160a01b038a16908117909155808452600490925280832089905551909188917f6c1e3425ecb8dc04eee225dfe2d563b30c591917923431fbfffa0f280c670bb09190a3505050505050565b60005460405163f3ae241560e01b81526001600160a01b039091169063f3ae2415906105f6903390600401610ed4565b60206040518083038186803b15801561060e57600080fd5b505afa158015610622573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106469190610e71565b6106625760405162461bcd60e51b81526004016102f790610ff2565b816001600160a01b0381166106895760405162461bcd60e51b81526004016102f790611029565b81806106a75760405162461bcd60e51b81526004016102f790610f84565b6000838152600360205260409020546001600160a01b0316806106dc5760405162461bcd60e51b81526004016102f790611029565b6001600160a01b038516600081815260026020526040808220879055518692917f6bff468ea38d2a3deb2f87d6e2ec4af5eba1a3dfa1eb60435db2cd55e4bab70091a35050505050565b6001600160a01b0381166000908152600260205260408120548061074e576000915050610769565b6000908152600360205260409020546001600160a01b031690505b919050565b6060600060015467ffffffffffffffff8111801561078b57600080fd5b506040519080825280602002602001820160405280156107c557816020015b6107b2610cc6565b8152602001906001900390816107aa5790505b509050600060015b6001548111610844576000818152600360205260409020546001600160a01b03161561083c57604080518082018252828152600083815260036020908152929020546001600160a01b031691810191909152835160018401938591811061083057fe5b60200260200101819052505b6001016107cd565b508067ffffffffffffffff8111801561085c57600080fd5b5060405190808252806020026020018201604052801561089657816020015b610883610cc6565b81526020019060019003908161087b5790505b50925060005b818110156108d7578281815181106108b057fe5b60200260200101518482815181106108c457fe5b602090810291909101015260010161089c565b50505090565b6060600580548060200260200160405190810160405280929190818152602001828054801561092b57602002820191906000526020600020905b815481526020019060010190808311610917575b5050505050905090565b60005460405163f3ae241560e01b81526001600160a01b039091169063f3ae241590610965903390600401610ed4565b60206040518083038186803b15801561097d57600080fd5b505afa158015610991573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b59190610e71565b6109d15760405162461bcd60e51b81526004016102f790610ff2565b60005b81811015610a69578282828181106109e857fe5b9050602002013560001415610a0f5760405162461bcd60e51b81526004016102f790610f84565b6000600381858585818110610a2057fe5b60209081029290920135835250810191909152604001600020546001600160a01b03161415610a615760405162461bcd60e51b81526004016102f790610fbb565b6001016109d4565b50610a7660058383610cdd565b506040517f531313b72f66be92771004237e42a39fd38e34fa8346d9e43be4a657f4517d1890600090a15050565b6000546001600160a01b031681565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6003602052600090815260409020546001600160a01b031681565b60005b82811015610b2f57610b27848483818110610b0c57fe5b9050602002016020810190610b219190610d9d565b836105c6565b600101610af5565b50505050565b60005460405163f3ae241560e01b81526001600160a01b039091169063f3ae241590610b65903390600401610ed4565b60206040518083038186803b158015610b7d57600080fd5b505afa158015610b91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb59190610e71565b610bd15760405162461bcd60e51b81526004016102f790610ff2565b8080610bef5760405162461bcd60e51b81526004016102f790610f84565b6000828152600360205260409020546001600160a01b031680610c245760405162461bcd60e51b81526004016102f790611029565b600083815260036020908152604080832080546001600160a01b031981169091556001600160a01b031680845260049092528083208390555190919085907f6c1e3425ecb8dc04eee225dfe2d563b30c591917923431fbfffa0f280c670bb0908390a350505050565b60015481565b60058181548110610ca357600080fd5b600091825260209091200154905081565b60026020526000908152604090205481565b604080518082019091526000808252602082015290565b828054828255906000526020600020908101928215610d18579160200282015b82811115610d18578235825591602001919060010190610cfd565b50610d24929150610d28565b5090565b5b80821115610d245760008155600101610d29565b80356001600160a01b038116811461076957600080fd5b60008083601f840112610d65578182fd5b50813567ffffffffffffffff811115610d7c578182fd5b6020830191508360208083028501011115610d9657600080fd5b9250929050565b600060208284031215610dae578081fd5b610db782610d3d565b9392505050565b60008060408385031215610dd0578081fd5b610dd983610d3d565b946020939093013593505050565b60008060208385031215610df9578182fd5b823567ffffffffffffffff811115610e0f578283fd5b610e1b85828601610d54565b90969095509350505050565b600080600060408486031215610e3b578081fd5b833567ffffffffffffffff811115610e51578182fd5b610e5d86828701610d54565b909790965060209590950135949350505050565b600060208284031215610e82578081fd5b81518015158114610db7578182fd5b600060208284031215610ea2578081fd5b5035919050565b60008060408385031215610ebb578182fd5b82359150610ecb60208401610d3d565b90509250929050565b6001600160a01b0391909116815260200190565b602080825282518282018190526000919060409081850190868401855b82811015610f33578151805185528601516001600160a01b0316868501529284019290850190600101610f05565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b81811015610f7857835183529284019291840191600101610f5c565b50909695505050505050565b6020808252601b908201527f556e69742050726f746f636f6c3a20494e56414c49445f545950450000000000604082015260600190565b6020808252601d908201527f556e69742050726f746f636f6c3a20494e56414c49445f4f5241434c45000000604082015260600190565b6020808252601a908201527f556e69742050726f746f636f6c3a20415554485f4641494c4544000000000000604082015260600190565b6020808252601b908201527f556e69742050726f746f636f6c3a205a45524f5f414444524553530000000000604082015260600190565b9081526020019056fea264697066735822122004a7d62688b9646e903f8111df12062e3d1acf6ebd524f4e2295987ba1f8be8264736f6c63430007060033

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

000000000000000000000000b46f8cf42e504efe8bef895f848741daa55e9f1d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2

-----Decoded View---------------
Arg [0] : vaultParameters (address): 0xB46F8CF42e504Efe8BEf895f848741daA55e9f1D
Arg [1] : _weth (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000b46f8cf42e504efe8bef895f848741daa55e9f1d
Arg [1] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2


Deployed Bytecode Sourcemap

6469:4673:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9723:238;;;;;;:::i;:::-;;:::i;:::-;;9969:180;;;;;;:::i;:::-;;:::i;6911:50::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8149:707;;;;;;:::i;:::-;;:::i;9188:306::-;;;;;;:::i;:::-;;:::i;10889:248::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10157:599::-;;;:::i;:::-;;;;;;;:::i;10764:117::-;;;:::i;:::-;;;;;;;:::i;7682:459::-;;;;;;:::i;:::-;;:::i;338:38::-;;;:::i;6636:29::-;;;:::i;6813:44::-;;;;;;:::i;:::-;;:::i;9502:213::-;;;;;;:::i;:::-;;:::i;8864:316::-;;;;;;:::i;:::-;;:::i;6602:25::-;;;:::i;7010:33::-;;;;;;:::i;:::-;;:::i;6710:49::-;;;;;;:::i;:::-;;:::i;9723:238::-;574:15;;:37;;-1:-1:-1;;;574:37:0;;-1:-1:-1;;;;;574:15:0;;;;:25;;:37;;600:10;;574:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;566:76;;;;-1:-1:-1;;;566:76:0;;;;;;;:::i;:::-;;;;;;;;;9817:5;-1:-1:-1;;;;;7288:19:0;::::1;7280:59;;;;-1:-1:-1::0;;;7280:59:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9843:24:0;::::2;;::::0;;;:17:::2;:24;::::0;;;;;7417:10;7409:50:::2;;;;-1:-1:-1::0;;;7409:50:0::2;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9892:24:0;::::3;;::::0;;;:17:::3;:24;::::0;;;;;9885:31;;;9932:21;9892:24;;;9932:21:::3;::::0;9892:24;;9932:21:::3;7350:1:::2;653::::1;9723:238:::0;:::o;9969:180::-;10049:6;10044:98;10061:17;;;10044:98;;;10100:30;10120:6;;10127:1;10120:9;;;;;;;;;;;;;;;;;;;;:::i;10100:30::-;10080:3;;10044:98;;;;9969:180;;:::o;6911:50::-;;;;;;;;;;;;;:::o;8149:707::-;574:15;;:37;;-1:-1:-1;;;574:37:0;;-1:-1:-1;;;;;574:15:0;;;;:25;;:37;;600:10;;574:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;566:76;;;;-1:-1:-1;;;566:76:0;;;;;;;:::i;:::-;8248:10;7417;7409:50:::1;;;;-1:-1:-1::0;;;7409:50:0::1;;;;;;;:::i;:::-;8282:6:::0;-1:-1:-1;;;;;7288:19:0;::::2;7280:59;;;;-1:-1:-1::0;;;7280:59:0::2;;;;;;;:::i;:::-;8323:13:::3;;8310:10;:26;8306:85;;;8353:13;:26:::0;;;8306:85:::3;8403:17;8423:24:::0;;;:12:::3;:24;::::0;;;;;-1:-1:-1;;;;;8423:24:0::3;8462:23:::0;;8458:92:::3;;-1:-1:-1::0;;;;;8509:29:0;::::3;;::::0;;;:18:::3;:29;::::0;;;;8502:36;8458:92:::3;-1:-1:-1::0;;;;;8583:26:0;::::3;8562:18;8583:26:::0;;;:18:::3;:26;::::0;;;;;8624:18;;8620:85:::3;;8666:27;::::0;;;:12:::3;:27;::::0;;;;8659:34;;-1:-1:-1;;;;;;8659:34:0::3;::::0;;8620:85:::3;8717:24;::::0;;;:12:::3;:24;::::0;;;;;;;:33;;-1:-1:-1;;;;;;8717:33:0::3;-1:-1:-1::0;;;;;8717:33:0;::::3;::::0;;::::3;::::0;;;8761:26;;;:18:::3;:26:::0;;;;;;:39;;;8818:30;8717:33;;:24;;8818:30:::3;::::0;8717:24;8818:30:::3;7350:1;;7470::::2;653::::1;8149:707:::0;;:::o;9188:306::-;574:15;;:37;;-1:-1:-1;;;574:37:0;;-1:-1:-1;;;;;574:15:0;;;;:25;;:37;;600:10;;574:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;566:76;;;;-1:-1:-1;;;566:76:0;;;;;;;:::i;:::-;9301:5;-1:-1:-1;;;;;7288:19:0;::::1;7280:59;;;;-1:-1:-1::0;;;7280:59:0::1;;;;;;;:::i;:::-;9327:10:::0;7417;7409:50:::2;;;;-1:-1:-1::0;;;7409:50:0::2;;;;;;;:::i;:::-;9361:24:::3;::::0;;;:12:::3;:24;::::0;;;;;-1:-1:-1;;;;;9361:24:0::3;7288:19:::0;7280:59:::3;;;;-1:-1:-1::0;;;7280:59:0::3;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9403:24:0;::::4;;::::0;;;:17:::4;:24;::::0;;;;;:37;;;9456:30;9430:10;;9403:24;9456:30:::4;::::0;::::4;7470:1:::3;7350::::2;653::::1;9188:306:::0;;:::o;10889:248::-;-1:-1:-1;;;;;10988:24:0;;10950:7;10988:24;;;:17;:24;;;;;;11027:15;11023:65;;11074:1;11059:17;;;;;11023:65;11105:24;;;;:12;:24;;;;;;-1:-1:-1;;;;;11105:24:0;;-1:-1:-1;10889:248:0;;;;:::o;10157:599::-;10202:28;10245:26;10287:13;;10274:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;10245:56:0;-1:-1:-1;10314:23:0;10368:1;10350:223;10380:13;;10371:5;:22;10350:223;;10454:1;10423:19;;;:12;:19;;;;;;-1:-1:-1;;;;;10423:19:0;:33;10419:143;;10512:34;;;;;;;;;;;-1:-1:-1;10526:19:0;;;:12;10512:34;10526:19;;;;;;;-1:-1:-1;;;;;10526:19:0;10512:34;;;;;;;10477:32;;10526:19;10488:20;;;10477:10;;:32;;;;;;;;;;;:69;;;;10419:143;10395:7;;10350:223;;;;10613:18;10600:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;10585:47;;10650:6;10645:104;10666:18;10662:1;:22;10645:104;;;10724:10;10735:1;10724:13;;;;;;;;;;;;;;10706:12;10719:1;10706:15;;;;;;;;;;;;;;;;;:31;10686:3;;10645:104;;;;10157:599;;;:::o;10764:117::-;10821:13;10854:19;10847:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10764:117;:::o;7682:459::-;574:15;;:37;;-1:-1:-1;;;574:37:0;;-1:-1:-1;;;;;574:15:0;;;;:25;;:37;;600:10;;574:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;566:76;;;;-1:-1:-1;;;566:76:0;;;;;;;:::i;:::-;7787:6:::1;7782:258;7799:31:::0;;::::1;7782:258;;;7860:20;;7881:1;7860:23;;;;;;;;;;;;;7887:1;7860:28;;7852:68;;;;-1:-1:-1::0;;;7852:68:0::1;;;;;;;:::i;:::-;7992:1;7943:12;7992:1:::0;7956:20;;7977:1;7956:23;;::::1;;;;;;::::0;;::::1;::::0;;;::::1;;7943:37:::0;;-1:-1:-1;7943:37:0;::::1;::::0;;;;;;-1:-1:-1;7943:37:0;;-1:-1:-1;;;;;7943:37:0::1;:51;;7935:93;;;;-1:-1:-1::0;;;7935:93:0::1;;;;;;;:::i;:::-;7832:3;;7782:258;;;-1:-1:-1::0;8052:42:0::1;:19;8074:20:::0;;8052:42:::1;:::i;:::-;-1:-1:-1::0;8112:21:0::1;::::0;::::1;::::0;;;::::1;7682:459:::0;;:::o;338:38::-;;;-1:-1:-1;;;;;338:38:0;;:::o;6636:29::-;;;:::o;6813:44::-;;;;;;;;;;;;-1:-1:-1;;;;;6813:44:0;;:::o;9502:213::-;9601:6;9596:112;9613:17;;;9596:112;;;9652:44;9674:6;;9681:1;9674:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;9685:10;9652:21;:44::i;:::-;9632:3;;9596:112;;;;9502:213;;;:::o;8864:316::-;574:15;;:37;;-1:-1:-1;;;574:37:0;;-1:-1:-1;;;;;574:15:0;;;;:25;;:37;;600:10;;574:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;566:76;;;;-1:-1:-1;;;566:76:0;;;;;;;:::i;:::-;8931:10;7417;7409:50:::1;;;;-1:-1:-1::0;;;7409:50:0::1;;;;;;;:::i;:::-;8956:24:::2;::::0;;;:12:::2;:24;::::0;;;;;-1:-1:-1;;;;;8956:24:0::2;7288:19:::0;7280:59:::2;;;;-1:-1:-1::0;;;7280:59:0::2;;;;;;;:::i;:::-;8993:14:::3;9010:24:::0;;;:12:::3;:24;::::0;;;;;;;;;-1:-1:-1;;;;;;9045:31:0;::::3;::::0;;;-1:-1:-1;;;;;9010:24:0::3;9094:26:::0;;;:18:::3;:26:::0;;;;;;9087:33;;;9138:34;9010:24;;8993:14;9023:10;;9138:34:::3;::::0;8993:14;;9138:34:::3;7350:1;7470::::2;653::::1;8864:316:::0;:::o;6602:25::-;;;;:::o;7010:33::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7010:33:0;:::o;6710:49::-;;;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:175:1;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;194:404;;;327:3;320:4;312:6;308:17;304:27;294:2;;352:8;342;335:26;294:2;-1:-1:-1;382:20:1;;425:18;414:30;;411:2;;;464:8;454;447:26;411:2;508:4;500:6;496:17;484:29;;571:3;564:4;556;548:6;544:17;536:6;532:30;528:41;525:50;522:2;;;588:1;585;578:12;522:2;284:314;;;;;:::o;603:198::-;;715:2;703:9;694:7;690:23;686:32;683:2;;;736:6;728;721:22;683:2;764:31;785:9;764:31;:::i;:::-;754:41;673:128;-1:-1:-1;;;673:128:1:o;806:266::-;;;935:2;923:9;914:7;910:23;906:32;903:2;;;956:6;948;941:22;903:2;984:31;1005:9;984:31;:::i;:::-;974:41;1062:2;1047:18;;;;1034:32;;-1:-1:-1;;;893:179:1:o;1077:463::-;;;1224:2;1212:9;1203:7;1199:23;1195:32;1192:2;;;1245:6;1237;1230:22;1192:2;1290:9;1277:23;1323:18;1315:6;1312:30;1309:2;;;1360:6;1352;1345:22;1309:2;1404:76;1472:7;1463:6;1452:9;1448:22;1404:76;:::i;:::-;1499:8;;1378:102;;-1:-1:-1;1182:358:1;-1:-1:-1;;;;1182:358:1:o;1545:531::-;;;;1709:2;1697:9;1688:7;1684:23;1680:32;1677:2;;;1730:6;1722;1715:22;1677:2;1775:9;1762:23;1808:18;1800:6;1797:30;1794:2;;;1845:6;1837;1830:22;1794:2;1889:76;1957:7;1948:6;1937:9;1933:22;1889:76;:::i;:::-;1984:8;;1863:102;;-1:-1:-1;2066:2:1;2051:18;;;;2038:32;;1667:409;-1:-1:-1;;;;1667:409:1:o;2549:297::-;;2669:2;2657:9;2648:7;2644:23;2640:32;2637:2;;;2690:6;2682;2675:22;2637:2;2727:9;2721:16;2780:5;2773:13;2766:21;2759:5;2756:32;2746:2;;2807:6;2799;2792:22;2851:190;;2963:2;2951:9;2942:7;2938:23;2934:32;2931:2;;;2984:6;2976;2969:22;2931:2;-1:-1:-1;3012:23:1;;2921:120;-1:-1:-1;2921:120:1:o;3046:266::-;;;3175:2;3163:9;3154:7;3150:23;3146:32;3143:2;;;3196:6;3188;3181:22;3143:2;3237:9;3224:23;3214:33;;3266:40;3302:2;3291:9;3287:18;3266:40;:::i;:::-;3256:50;;3133:179;;;;;:::o;3317:203::-;-1:-1:-1;;;;;3481:32:1;;;;3463:51;;3451:2;3436:18;;3418:102::o;3741:813::-;3958:2;4010:21;;;4080:13;;3983:18;;;4102:22;;;3741:813;;3958:2;4143;;4161:18;;;;4202:15;;;3741:813;4248:280;4262:6;4259:1;4256:13;4248:280;;;4321:13;;4359:9;;4347:22;;4413:11;;4407:18;-1:-1:-1;;;;;4403:44:1;4389:12;;;4382:66;4468:12;;;;4503:15;;;;4444:1;4277:9;4248:280;;;-1:-1:-1;4545:3:1;;3938:616;-1:-1:-1;;;;;;;3938:616:1:o;4559:635::-;4730:2;4782:21;;;4852:13;;4755:18;;;4874:22;;;4559:635;;4730:2;4953:15;;;;4927:2;4912:18;;;4559:635;4999:169;5013:6;5010:1;5007:13;4999:169;;;5074:13;;5062:26;;5143:15;;;;5108:12;;;;5035:1;5028:9;4999:169;;;-1:-1:-1;5185:3:1;;4710:484;-1:-1:-1;;;;;;4710:484:1:o;5430:351::-;5632:2;5614:21;;;5671:2;5651:18;;;5644:30;5710:29;5705:2;5690:18;;5683:57;5772:2;5757:18;;5604:177::o;5786:353::-;5988:2;5970:21;;;6027:2;6007:18;;;6000:30;6066:31;6061:2;6046:18;;6039:59;6130:2;6115:18;;5960:179::o;6144:350::-;6346:2;6328:21;;;6385:2;6365:18;;;6358:30;6424:28;6419:2;6404:18;;6397:56;6485:2;6470:18;;6318:176::o;6499:351::-;6701:2;6683:21;;;6740:2;6720:18;;;6713:30;6779:29;6774:2;6759:18;;6752:57;6841:2;6826:18;;6673:177::o;6855:::-;7001:25;;;6989:2;6974:18;;6956:76::o

Swarm Source

ipfs://04a7d62688b9646e903f8111df12062e3d1acf6ebd524f4e2295987ba1f8be82

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.