ETH Price: $2,062.34 (-15.72%)

Contract

0x3d167bd08f762FD391694c67B5e6aF0868c45538
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Deploy129021942021-07-26 13:50:191316 days ago1627307419IN
0x3d167bd0...868c45538
0 ETH0.0175813237
Prepare129021912021-07-26 13:50:101316 days ago1627307410IN
0x3d167bd0...868c45538
0 ETH0.0096381337

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TinlakeRoot

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2021-07-26
*/

// Verified using https://dapp.tools

// hevm: flattened sources of src/root.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.5.15 >=0.6.12;

////// lib/tinlake-auth/src/auth.sol
// Copyright (C) Centrifuge 2020, based on MakerDAO dss https://github.com/makerdao/dss
/* pragma solidity >=0.5.15; */

contract Auth {
    mapping (address => uint256) public wards;
    
    event Rely(address indexed usr);
    event Deny(address indexed usr);

    function rely(address usr) external auth {
        wards[usr] = 1;
        emit Rely(usr);
    }
    function deny(address usr) external auth {
        wards[usr] = 0;
        emit Deny(usr);
    }

    modifier auth {
        require(wards[msg.sender] == 1, "not-authorized");
        _;
    }

}

////// src/root.sol
/* pragma solidity >=0.6.12; */

/* import "tinlake-auth/auth.sol"; */

interface AuthLike_4 {
    function rely(address) external;
    function deny(address) external;
}

interface DependLike_4 {
    function depend(bytes32, address) external;
}

interface BorrowerDeployerLike {
    function collector() external returns (address);
    function feed() external returns (address);
    function shelf() external returns (address);
    function title() external returns (address);
}

interface LenderDeployerLike_2 {
    function assessor() external returns (address);
    function reserve() external returns (address);
    function poolAdmin() external returns (address);
}

interface AdapterDeployerLike_1 {
    function mgr() external returns (address);
    function wireAdapter() external;
}

interface PoolAdminLike_2 {
    function rely(address) external;
    function relyAdmin(address) external;
}

contract TinlakeRoot is Auth {
    BorrowerDeployerLike public borrowerDeployer;
    LenderDeployerLike_2 public  lenderDeployer;
    AdapterDeployerLike_1 public  adapterDeployer;

    bool public             deployed;
    address public          deployUsr;
    address public immutable governance;

    address public          oracle;
    address[] public        poolAdmins;

    constructor (address deployUsr_, address governance_) {
        deployUsr = deployUsr_;
        governance = governance_;
        wards[governance_] = 1;
        emit Rely(governance_);
    }

    // --- Prepare ---
    // Sets the two deployer dependencies. This needs to be called by the deployUsr
    function prepare(address lender_, address borrower_, address adapter_, address oracle_, address[] memory poolAdmins_) public {
        require(deployUsr == msg.sender);

        borrowerDeployer = BorrowerDeployerLike(borrower_);
        lenderDeployer = LenderDeployerLike_2(lender_);
        if (adapter_ != address(0)) adapterDeployer = AdapterDeployerLike_1(adapter_);
        oracle = oracle_;
        poolAdmins = poolAdmins_;

        deployUsr = address(0); // disallow the deploy user to call this more than once.
    }

    function prepare(address lender_, address borrower_, address adapter_) public {
        prepare(lender_, borrower_, adapter_, address(0), new address[](0));
    }

    function prepare(address lender_, address borrower_) public {
        prepare(lender_, borrower_, address(0), address(0), new address[](0));
    }

    // --- Deploy ---
    // After going through the deploy process on the lender and borrower method, this method is called to connect
    // lender and borrower contracts.
    function deploy() public {
        require(address(borrowerDeployer) != address(0) && address(lenderDeployer) != address(0) && deployed == false);
        deployed = true;
        address reserve_ = lenderDeployer.reserve();
        address shelf_ = borrowerDeployer.shelf();
        address assessor_ = lenderDeployer.assessor();

        // Borrower depends
        DependLike_4(borrowerDeployer.collector()).depend("reserve", reserve_);
        DependLike_4(borrowerDeployer.shelf()).depend("lender", reserve_);
        DependLike_4(borrowerDeployer.shelf()).depend("reserve", reserve_);

        DependLike_4(borrowerDeployer.shelf()).depend("assessor", assessor_);

        // Lender depends
        address navFeed = borrowerDeployer.feed();

        DependLike_4(reserve_).depend("shelf", shelf_);
        DependLike_4(assessor_).depend("navFeed", navFeed);

        // Lender wards
        if (oracle != address(0)) AuthLike_4(navFeed).rely(oracle);

        // directly relying governance so it can be used to directly add/remove pool admins without going through the root
        PoolAdminLike_2 poolAdmin = PoolAdminLike_2(lenderDeployer.poolAdmin());
        PoolAdminLike_2(poolAdmin).rely(governance);

        for (uint i = 0; i < poolAdmins.length; i++) {
            PoolAdminLike_2(poolAdmin).relyAdmin(poolAdmins[i]);
        }
    }

    // --- Governance Functions ---
    // `relyContract` & `denyContract` can be called by any ward on the TinlakeRoot
    // contract to make an arbitrary address a ward on any contract the TinlakeRoot
    // is a ward on.
    function relyContract(address target, address usr) public auth {
        AuthLike_4(target).rely(usr);
    }

    function denyContract(address target, address usr) public auth {
        AuthLike_4(target).deny(usr);
    }

}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"deployUsr_","type":"address"},{"internalType":"address","name":"governance_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Deny","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Rely","type":"event"},{"inputs":[],"name":"adapterDeployer","outputs":[{"internalType":"contract AdapterDeployerLike_1","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"borrowerDeployer","outputs":[{"internalType":"contract BorrowerDeployerLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"deny","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"address","name":"usr","type":"address"}],"name":"denyContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deploy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deployUsr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deployed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lenderDeployer","outputs":[{"internalType":"contract LenderDeployerLike_2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oracle","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"poolAdmins","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"lender_","type":"address"},{"internalType":"address","name":"borrower_","type":"address"},{"internalType":"address","name":"adapter_","type":"address"}],"name":"prepare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"lender_","type":"address"},{"internalType":"address","name":"borrower_","type":"address"},{"internalType":"address","name":"adapter_","type":"address"},{"internalType":"address","name":"oracle_","type":"address"},{"internalType":"address[]","name":"poolAdmins_","type":"address[]"}],"name":"prepare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"lender_","type":"address"},{"internalType":"address","name":"borrower_","type":"address"}],"name":"prepare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"rely","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"address","name":"usr","type":"address"}],"name":"relyContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

60a060405234801561001057600080fd5b50604051611efb380380611efb8339818101604052604081101561003357600080fd5b81019080805190602001909291908051906020019092919050505081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b8152505060016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a6060405160405180910390a2505060805160601c611d8a6101716000398061080c52806117945250611d8a6000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80638eeb23e0116100a2578063bf353dbb11610071578063bf353dbb1461054e578063edc776ad146105a6578063f905c15a146105da578063fe0ac3e7146105fa578063fe7a33ad1461065e5761010b565b80638eeb23e01461043e5780639c52a7f114610472578063ad07d630146104b6578063b7b34d111461051a5761010b565b806365fae35e116100de57806365fae35e146102845780636a3d3fbd146102c8578063775c300c146104005780637dc0d1d01461040a5761010b565b8063227b7ee014610110578063373e73f8146101685780635aa6e675146101cc5780636455cc9014610200575b600080fd5b61013c6004803603602081101561012657600080fd5b8101908080359060200190929190505050610692565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101ca6004803603604081101561017e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106d1565b005b6101d461080a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102826004803603606081101561021657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061082e565b005b6102c66004803603602081101561029a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610887565b005b6103fe600480360360a08110156102de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561037b57600080fd5b82018360208201111561038d57600080fd5b803590602001918460208302840111640100000000831117156103af57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506109c5565b005b610408610bb8565b005b6104126118f4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61044661191a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104b46004803603602081101561048857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611940565b005b610518600480360360408110156104cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a7e565b005b610522611ad7565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105906004803603602081101561056457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611afd565b6040518082815260200191505060405180910390f35b6105ae611b15565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105e2611b3b565b60405180821515815260200191505060405180910390f35b61065c6004803603604081101561061057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b4e565b005b610666611c87565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600681815481106106a257600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610785576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f742d617574686f72697a656400000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166365fae35e826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156107ee57600080fd5b505af1158015610802573d6000803e3d6000fd5b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b61088283838360008067ffffffffffffffff8111801561084d57600080fd5b5060405190808252806020026020018201604052801561087c5781602001602082028036833780820191505090505b506109c5565b505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461093b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f742d617574686f72697a656400000000000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a6060405160405180910390a250565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1f57600080fd5b83600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610b175782600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060069080519060200190610b6e929190611cad565b506000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015610c665750600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015610c85575060001515600360149054906101000a900460ff161515145b610c8e57600080fd5b6001600360146101000a81548160ff0219169083151502179055506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610d1557600080fd5b505af1158015610d29573d6000803e3d6000fd5b505050506040513d6020811015610d3f57600080fd5b810190808051906020019092919050505090506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663479b9c6c6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610dbe57600080fd5b505af1158015610dd2573d6000803e3d6000fd5b505050506040513d6020811015610de857600080fd5b810190808051906020019092919050505090506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631821d6966040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610e6757600080fd5b505af1158015610e7b573d6000803e3d6000fd5b505050506040513d6020811015610e9157600080fd5b81019080805190602001909291905050509050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663913e77ad6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610f0e57600080fd5b505af1158015610f22573d6000803e3d6000fd5b505050506040513d6020811015610f3857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16639adc339d846040518263ffffffff1660e01b815260040180807f72657365727665000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015610fd957600080fd5b505af1158015610fed573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663479b9c6c6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561105b57600080fd5b505af115801561106f573d6000803e3d6000fd5b505050506040513d602081101561108557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16639adc339d846040518263ffffffff1660e01b815260040180807f6c656e64657200000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561112657600080fd5b505af115801561113a573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663479b9c6c6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156111a857600080fd5b505af11580156111bc573d6000803e3d6000fd5b505050506040513d60208110156111d257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16639adc339d846040518263ffffffff1660e01b815260040180807f72657365727665000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561127357600080fd5b505af1158015611287573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663479b9c6c6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156112f557600080fd5b505af1158015611309573d6000803e3d6000fd5b505050506040513d602081101561131f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16639adc339d826040518263ffffffff1660e01b815260040180807f6173736573736f720000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156113c057600080fd5b505af11580156113d4573d6000803e3d6000fd5b505050506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166337a7b7d86040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561144457600080fd5b505af1158015611458573d6000803e3d6000fd5b505050506040513d602081101561146e57600080fd5b810190808051906020019092919050505090508373ffffffffffffffffffffffffffffffffffffffff16639adc339d846040518263ffffffff1660e01b815260040180807f7368656c660000000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561151257600080fd5b505af1158015611526573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff16639adc339d826040518263ffffffff1660e01b815260040180807f6e617646656564000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156115bb57600080fd5b505af11580156115cf573d6000803e3d6000fd5b50505050600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116cd578073ffffffffffffffffffffffffffffffffffffffff166365fae35e600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156116b457600080fd5b505af11580156116c8573d6000803e3d6000fd5b505050505b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b782cc496040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561173957600080fd5b505af115801561174d573d6000803e3d6000fd5b505050506040513d602081101561176357600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff166365fae35e7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156117ff57600080fd5b505af1158015611813573d6000803e3d6000fd5b5050505060005b6006805490508110156118ec578173ffffffffffffffffffffffffffffffffffffffff1663a46b630f6006838154811061185057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156118c757600080fd5b505af11580156118db573d6000803e3d6000fd5b50505050808060010191505061181a565b505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146119f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f742d617574686f72697a656400000000000000000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b60405160405180910390a250565b611ad38282600080600067ffffffffffffffff81118015611a9e57600080fd5b50604051908082528060200260200182016040528015611acd5781602001602082028036833780820191505090505b506109c5565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006020528060005260406000206000915090505481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360149054906101000a900460ff1681565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611c02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f742d617574686f72697a656400000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16639c52a7f1826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611c6b57600080fd5b505af1158015611c7f573d6000803e3d6000fd5b505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b828054828255906000526020600020908101928215611d26579160200282015b82811115611d255782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190611ccd565b5b509050611d339190611d37565b5090565b5b80821115611d50576000816000905550600101611d38565b509056fea2646970667358221220d992ac79cacd668c7d2962cceb619f77f5306ceaa121e750ec9325c246d2778864736f6c634300070600330000000000000000000000003018f3f7a1a919fd9a1e0d8fedbe9164b6df04f6000000000000000000000000f3bcea7494d8f3ac21585ca4b0e52aa175c24c25

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80638eeb23e0116100a2578063bf353dbb11610071578063bf353dbb1461054e578063edc776ad146105a6578063f905c15a146105da578063fe0ac3e7146105fa578063fe7a33ad1461065e5761010b565b80638eeb23e01461043e5780639c52a7f114610472578063ad07d630146104b6578063b7b34d111461051a5761010b565b806365fae35e116100de57806365fae35e146102845780636a3d3fbd146102c8578063775c300c146104005780637dc0d1d01461040a5761010b565b8063227b7ee014610110578063373e73f8146101685780635aa6e675146101cc5780636455cc9014610200575b600080fd5b61013c6004803603602081101561012657600080fd5b8101908080359060200190929190505050610692565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101ca6004803603604081101561017e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106d1565b005b6101d461080a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102826004803603606081101561021657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061082e565b005b6102c66004803603602081101561029a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610887565b005b6103fe600480360360a08110156102de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561037b57600080fd5b82018360208201111561038d57600080fd5b803590602001918460208302840111640100000000831117156103af57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506109c5565b005b610408610bb8565b005b6104126118f4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61044661191a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104b46004803603602081101561048857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611940565b005b610518600480360360408110156104cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a7e565b005b610522611ad7565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105906004803603602081101561056457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611afd565b6040518082815260200191505060405180910390f35b6105ae611b15565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105e2611b3b565b60405180821515815260200191505060405180910390f35b61065c6004803603604081101561061057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b4e565b005b610666611c87565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600681815481106106a257600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610785576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f742d617574686f72697a656400000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166365fae35e826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156107ee57600080fd5b505af1158015610802573d6000803e3d6000fd5b505050505050565b7f000000000000000000000000f3bcea7494d8f3ac21585ca4b0e52aa175c24c2581565b61088283838360008067ffffffffffffffff8111801561084d57600080fd5b5060405190808252806020026020018201604052801561087c5781602001602082028036833780820191505090505b506109c5565b505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461093b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f742d617574686f72697a656400000000000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a6060405160405180910390a250565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1f57600080fd5b83600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610b175782600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060069080519060200190610b6e929190611cad565b506000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015610c665750600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015610c85575060001515600360149054906101000a900460ff161515145b610c8e57600080fd5b6001600360146101000a81548160ff0219169083151502179055506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610d1557600080fd5b505af1158015610d29573d6000803e3d6000fd5b505050506040513d6020811015610d3f57600080fd5b810190808051906020019092919050505090506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663479b9c6c6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610dbe57600080fd5b505af1158015610dd2573d6000803e3d6000fd5b505050506040513d6020811015610de857600080fd5b810190808051906020019092919050505090506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631821d6966040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610e6757600080fd5b505af1158015610e7b573d6000803e3d6000fd5b505050506040513d6020811015610e9157600080fd5b81019080805190602001909291905050509050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663913e77ad6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610f0e57600080fd5b505af1158015610f22573d6000803e3d6000fd5b505050506040513d6020811015610f3857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16639adc339d846040518263ffffffff1660e01b815260040180807f72657365727665000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015610fd957600080fd5b505af1158015610fed573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663479b9c6c6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561105b57600080fd5b505af115801561106f573d6000803e3d6000fd5b505050506040513d602081101561108557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16639adc339d846040518263ffffffff1660e01b815260040180807f6c656e64657200000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561112657600080fd5b505af115801561113a573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663479b9c6c6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156111a857600080fd5b505af11580156111bc573d6000803e3d6000fd5b505050506040513d60208110156111d257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16639adc339d846040518263ffffffff1660e01b815260040180807f72657365727665000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561127357600080fd5b505af1158015611287573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663479b9c6c6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156112f557600080fd5b505af1158015611309573d6000803e3d6000fd5b505050506040513d602081101561131f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16639adc339d826040518263ffffffff1660e01b815260040180807f6173736573736f720000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156113c057600080fd5b505af11580156113d4573d6000803e3d6000fd5b505050506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166337a7b7d86040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561144457600080fd5b505af1158015611458573d6000803e3d6000fd5b505050506040513d602081101561146e57600080fd5b810190808051906020019092919050505090508373ffffffffffffffffffffffffffffffffffffffff16639adc339d846040518263ffffffff1660e01b815260040180807f7368656c660000000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561151257600080fd5b505af1158015611526573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff16639adc339d826040518263ffffffff1660e01b815260040180807f6e617646656564000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156115bb57600080fd5b505af11580156115cf573d6000803e3d6000fd5b50505050600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116cd578073ffffffffffffffffffffffffffffffffffffffff166365fae35e600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156116b457600080fd5b505af11580156116c8573d6000803e3d6000fd5b505050505b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b782cc496040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561173957600080fd5b505af115801561174d573d6000803e3d6000fd5b505050506040513d602081101561176357600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff166365fae35e7f000000000000000000000000f3bcea7494d8f3ac21585ca4b0e52aa175c24c256040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156117ff57600080fd5b505af1158015611813573d6000803e3d6000fd5b5050505060005b6006805490508110156118ec578173ffffffffffffffffffffffffffffffffffffffff1663a46b630f6006838154811061185057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156118c757600080fd5b505af11580156118db573d6000803e3d6000fd5b50505050808060010191505061181a565b505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146119f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f742d617574686f72697a656400000000000000000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b60405160405180910390a250565b611ad38282600080600067ffffffffffffffff81118015611a9e57600080fd5b50604051908082528060200260200182016040528015611acd5781602001602082028036833780820191505090505b506109c5565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006020528060005260406000206000915090505481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360149054906101000a900460ff1681565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611c02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f742d617574686f72697a656400000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16639c52a7f1826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611c6b57600080fd5b505af1158015611c7f573d6000803e3d6000fd5b505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b828054828255906000526020600020908101928215611d26579160200282015b82811115611d255782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190611ccd565b5b509050611d339190611d37565b5090565b5b80821115611d50576000816000905550600101611d38565b509056fea2646970667358221220d992ac79cacd668c7d2962cceb619f77f5306ceaa121e750ec9325c246d2778864736f6c63430007060033

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

0000000000000000000000003018f3f7a1a919fd9a1e0d8fedbe9164b6df04f6000000000000000000000000f3bcea7494d8f3ac21585ca4b0e52aa175c24c25

-----Decoded View---------------
Arg [0] : deployUsr_ (address): 0x3018F3F7a1a919Fd9a1e0D8FEDbe9164B6DF04f6
Arg [1] : governance_ (address): 0xf3BceA7494D8f3ac21585CA4b0E52aa175c24C25

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000003018f3f7a1a919fd9a1e0d8fedbe9164b6df04f6
Arg [1] : 000000000000000000000000f3bcea7494d8f3ac21585ca4b0e52aa175c24c25


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.