ETH Price: $2,035.07 (-16.84%)

Contract

0x815AcF5d447D06ee91f50C8D4C65A6f0F598953e
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Deploy Mgr129021852021-07-26 13:49:351316 days ago1627307375IN
0x815AcF5d...0F598953e
0 ETH0.1581001437
Deploy Clerk129021712021-07-26 13:45:421316 days ago1627307142IN
0x815AcF5d...0F598953e
0 ETH0.1794895137

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AdapterDeployer

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-07-26
*/

// Verified using https://dapp.tools

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

////// src/lender/fabs/interfaces.sol
/* pragma solidity >=0.6.12; */

interface ReserveFabLike_1 {
    function newReserve(address) external returns (address);
}

interface AssessorFabLike_2 {
    function newAssessor() external returns (address);
}

interface TrancheFabLike_1 {
    function newTranche(address, address) external returns (address);
}

interface CoordinatorFabLike_2 {
    function newCoordinator(uint) external returns (address);
}

interface OperatorFabLike_1 {
    function newOperator(address) external returns (address);
}

interface MemberlistFabLike_1 {
    function newMemberlist() external returns (address);
}

interface RestrictedTokenFabLike_1 {
    function newRestrictedToken(string calldata, string calldata) external returns (address);
}

interface PoolAdminFabLike {
    function newPoolAdmin() external returns (address);
}

interface ClerkFabLike {
    function newClerk(address, address) external returns (address);
}

interface TinlakeManagerFabLike {
    function newTinlakeManager(address, address, address,  address, address, address, address, address) external returns (address);
}

////// src/lender/adapters/deployer.sol
/* pragma solidity >=0.6.12; */

/* import { ClerkFabLike, TinlakeManagerFabLike } from "../fabs/interfaces.sol"; */

interface LenderDeployerLike_1 {
    function coordinator() external returns (address);
    function assessor() external returns (address);
    function reserve() external returns (address);
    function seniorOperator() external returns (address);
    function seniorTranche() external returns (address);
    function seniorToken() external returns (address);
    function currency() external returns (address);
    function poolAdmin() external returns (address);
    function seniorMemberlist() external returns (address);
}

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

interface FileLike_2 {
    function file(bytes32 name, uint value) external;
}

interface MemberlistLike_1 {
    function updateMember(address, uint) external;
}

interface MgrLike {
    function rely(address) external;
    function file(bytes32 name, address value) external;
    function lock(uint) external;
}

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

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

contract AdapterDeployer {
    ClerkFabLike public clerkFab;
    TinlakeManagerFabLike public mgrFab;
    address public clerk;
    address public mgr;

    address public root;
    LenderDeployerLike_1 public lenderDeployer;
    
    address deployUsr;

    constructor(address root_, address clerkFabLike_, address mgrFabLike_) {
        root = root_;
        clerkFab = ClerkFabLike(clerkFabLike_);
        mgrFab = TinlakeManagerFabLike(mgrFabLike_);
        deployUsr = msg.sender;
    }

    function deployClerk(address lenderDeployer_) public {
        require(deployUsr == msg.sender && address(clerk) == address(0) && LenderDeployerLike_1(lenderDeployer_).seniorToken() != address(0));

        lenderDeployer = LenderDeployerLike_1(lenderDeployer_);
        clerk = clerkFab.newClerk(lenderDeployer.currency(), lenderDeployer.seniorToken());

        address assessor = lenderDeployer.assessor();
        address reserve = lenderDeployer.reserve();
        address seniorTranche = lenderDeployer.seniorTranche();
        address seniorMemberlist = lenderDeployer.seniorMemberlist();
        address poolAdmin = lenderDeployer.poolAdmin();

        // clerk dependencies
        DependLike_2(clerk).depend("coordinator", lenderDeployer.coordinator());
        DependLike_2(clerk).depend("assessor", assessor);
        DependLike_2(clerk).depend("reserve", reserve);
        DependLike_2(clerk).depend("tranche", seniorTranche);
        DependLike_2(clerk).depend("collateral", lenderDeployer.seniorToken());

        // clerk as ward
        AuthLike_2(seniorTranche).rely(clerk);
        AuthLike_2(reserve).rely(clerk);
        AuthLike_2(assessor).rely(clerk);

        // reserve can draw and wipe on clerk
        DependLike_2(reserve).depend("lending", clerk);
        AuthLike_2(clerk).rely(reserve);

        // allow clerk to hold seniorToken
        MemberlistLike_1(seniorMemberlist).updateMember(clerk, type(uint256).max);

        DependLike_2(assessor).depend("lending", clerk);

        AuthLike_2(clerk).rely(poolAdmin);

        AuthLike_2(clerk).rely(root);
    }

    function deployMgr(address dai, address daiJoin, address end, address vat, address vow, address liq, address spotter, address jug, uint matBuffer) public {
        require(deployUsr == msg.sender && address(clerk) != address(0) && address(mgr) == address(0) && lenderDeployer.seniorToken() != address(0));

        // deploy mgr
        mgr = mgrFab.newTinlakeManager(dai, daiJoin, lenderDeployer.seniorToken(), lenderDeployer.seniorOperator(), lenderDeployer.seniorTranche(), end, vat, vow);
        wireClerk(mgr, vat, spotter, jug, matBuffer);

        // setup mgr
        MgrLike mkrMgr = MgrLike(mgr);
        mkrMgr.rely(clerk);
        mkrMgr.file("liq", liq);
        mkrMgr.file("end", end);
        mkrMgr.file("owner", clerk);

        // rely root, deny adapter deployer
        AuthLike_2(mgr).rely(root);
        AuthLike_2(mgr).deny(address(this));
    }

    // This is separated as the system tests don't use deployMgr, but do need the clerk wiring
    function wireClerk(address mgr_, address vat, address spotter, address jug, uint matBuffer) public {
        require(deployUsr == msg.sender && address(clerk) != address(0));

        // wire clerk
        DependLike_2(clerk).depend("mgr", mgr_);
        DependLike_2(clerk).depend("spotter", spotter);
        DependLike_2(clerk).depend("vat", vat);
        DependLike_2(clerk).depend("jug", jug);
        
        // set the mat buffer
        FileLike_2(clerk).file("buffer", matBuffer);

        // rely root, deny adapter deployer
        AuthLike_2(clerk).deny(address(this));

        MemberlistLike_1(lenderDeployer.seniorMemberlist()).updateMember(mgr_, type(uint256).max);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"root_","type":"address"},{"internalType":"address","name":"clerkFabLike_","type":"address"},{"internalType":"address","name":"mgrFabLike_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"clerk","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clerkFab","outputs":[{"internalType":"contract ClerkFabLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"lenderDeployer_","type":"address"}],"name":"deployClerk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"dai","type":"address"},{"internalType":"address","name":"daiJoin","type":"address"},{"internalType":"address","name":"end","type":"address"},{"internalType":"address","name":"vat","type":"address"},{"internalType":"address","name":"vow","type":"address"},{"internalType":"address","name":"liq","type":"address"},{"internalType":"address","name":"spotter","type":"address"},{"internalType":"address","name":"jug","type":"address"},{"internalType":"uint256","name":"matBuffer","type":"uint256"}],"name":"deployMgr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lenderDeployer","outputs":[{"internalType":"contract LenderDeployerLike_1","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mgr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mgrFab","outputs":[{"internalType":"contract TinlakeManagerFabLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"root","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"mgr_","type":"address"},{"internalType":"address","name":"vat","type":"address"},{"internalType":"address","name":"spotter","type":"address"},{"internalType":"address","name":"jug","type":"address"},{"internalType":"uint256","name":"matBuffer","type":"uint256"}],"name":"wireClerk","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50604051612a40380380612a408339818101604052606081101561003357600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506128d38061016d6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063a5bb178811610066578063a5bb1788146102ed578063aaa6e43514610321578063b7b34d1114610355578063b87ee7af14610389578063ebf0c717146103bd57610093565b806370c85d461461009857806376e47adc146100cc5780638c7b25cc1461017a5780639ac1fa9e146102a9575b600080fd5b6100a06103f1565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610178600480360360a08110156100e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610417565b005b6102a7600480360361012081101561019157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610aa4565b005b6102eb600480360360208110156102bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114de565b005b6102f56127e1565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610329612807565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61035d61282b565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610391612851565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103c5612877565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156104c35750600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b6104cc57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d866040518263ffffffff1660e01b815260040180807f6d677200000000000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561057f57600080fd5b505af1158015610593573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d846040518263ffffffff1660e01b815260040180807f73706f74746572000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561064a57600080fd5b505af115801561065e573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d856040518263ffffffff1660e01b815260040180807f76617400000000000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561071557600080fd5b505af1158015610729573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d836040518263ffffffff1660e01b815260040180807f6a756700000000000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156107e057600080fd5b505af11580156107f4573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329ae8114826040518263ffffffff1660e01b815260040180807f6275666665720000000000000000000000000000000000000000000000000000815250602001828152602001915050600060405180830381600087803b15801561089557600080fd5b505af11580156108a9573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639c52a7f1306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561093857600080fd5b505af115801561094c573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a6c019606040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156109ba57600080fd5b505af11580156109ce573d6000803e3d6000fd5b505050506040513d60208110156109e457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663336137c8867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610a8557600080fd5b505af1158015610a99573d6000803e3d6000fd5b505050505050505050565b3373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610b505750600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015610baa5750600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b8015610c875750600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e216ad1c6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610c3357600080fd5b505af1158015610c47573d6000803e3d6000fd5b505050506040513d6020811015610c5d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614155b610c9057600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663482670b98a8a600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e216ad1c6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610d3a57600080fd5b505af1158015610d4e573d6000803e3d6000fd5b505050506040513d6020811015610d6457600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d1cc74a16040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ddf57600080fd5b505af1158015610df3573d6000803e3d6000fd5b505050506040513d6020811015610e0957600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a639d0dc6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610e8457600080fd5b505af1158015610e98573d6000803e3d6000fd5b505050506040513d6020811015610eae57600080fd5b81019080805190602001909291905050508d8d8d6040518963ffffffff1660e01b8152600401808973ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200198505050505050505050602060405180830381600087803b158015610fd957600080fd5b505af1158015610fed573d6000803e3d6000fd5b505050506040513d602081101561100357600080fd5b8101908080519060200190929190505050600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611083600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687858585610417565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166365fae35e600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561113557600080fd5b505af1158015611149573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663d4e8be83866040518263ffffffff1660e01b815260040180807f6c697100000000000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156111de57600080fd5b505af11580156111f2573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663d4e8be83896040518263ffffffff1660e01b815260040180807f656e6400000000000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561128757600080fd5b505af115801561129b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663d4e8be83600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040180807f6f776e65720000000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561135257600080fd5b505af1158015611366573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166365fae35e600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561141757600080fd5b505af115801561142b573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639c52a7f1306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156114ba57600080fd5b505af11580156114ce573d6000803e3d6000fd5b5050505050505050505050505050565b3373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156115895750600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b80156116445750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663e216ad1c6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156115f057600080fd5b505af1158015611604573d6000803e3d6000fd5b505050506040513d602081101561161a57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614155b61164d57600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663136ab1f8600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561173457600080fd5b505af1158015611748573d6000803e3d6000fd5b505050506040513d602081101561175e57600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e216ad1c6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156117d957600080fd5b505af11580156117ed573d6000803e3d6000fd5b505050506040513d602081101561180357600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561187d57600080fd5b505af1158015611891573d6000803e3d6000fd5b505050506040513d60208110156118a757600080fd5b8101908080519060200190929190505050600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631821d6966040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561196457600080fd5b505af1158015611978573d6000803e3d6000fd5b505050506040513d602081101561198e57600080fd5b810190808051906020019092919050505090506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611a0d57600080fd5b505af1158015611a21573d6000803e3d6000fd5b505050506040513d6020811015611a3757600080fd5b810190808051906020019092919050505090506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a639d0dc6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611ab657600080fd5b505af1158015611aca573d6000803e3d6000fd5b505050506040513d6020811015611ae057600080fd5b810190808051906020019092919050505090506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a6c019606040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611b5f57600080fd5b505af1158015611b73573d6000803e3d6000fd5b505050506040513d6020811015611b8957600080fd5b810190808051906020019092919050505090506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b782cc496040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c0857600080fd5b505af1158015611c1c573d6000803e3d6000fd5b505050506040513d6020811015611c3257600080fd5b81019080805190602001909291905050509050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630a0090976040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611ced57600080fd5b505af1158015611d01573d6000803e3d6000fd5b505050506040513d6020811015611d1757600080fd5b81019080805190602001909291905050506040518263ffffffff1660e01b815260040180807f636f6f7264696e61746f720000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611d9c57600080fd5b505af1158015611db0573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d866040518263ffffffff1660e01b815260040180807f6173736573736f720000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611e6757600080fd5b505af1158015611e7b573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d856040518263ffffffff1660e01b815260040180807f72657365727665000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611f3257600080fd5b505af1158015611f46573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d846040518263ffffffff1660e01b815260040180807f7472616e636865000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611ffd57600080fd5b505af1158015612011573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e216ad1c6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156120bd57600080fd5b505af11580156120d1573d6000803e3d6000fd5b505050506040513d60208110156120e757600080fd5b81019080805190602001909291905050506040518263ffffffff1660e01b815260040180807f636f6c6c61746572616c000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561216c57600080fd5b505af1158015612180573d6000803e3d6000fd5b505050508273ffffffffffffffffffffffffffffffffffffffff166365fae35e600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561220f57600080fd5b505af1158015612223573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166365fae35e600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156122b257600080fd5b505af11580156122c6573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff166365fae35e600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561235557600080fd5b505af1158015612369573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff16639adc339d600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040180807f6c656e64696e67000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561242057600080fd5b505af1158015612434573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166365fae35e856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156124c357600080fd5b505af11580156124d7573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663336137c8600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561258e57600080fd5b505af11580156125a2573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff16639adc339d600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040180807f6c656e64696e67000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561265957600080fd5b505af115801561266d573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166365fae35e826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156126fc57600080fd5b505af1158015612710573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166365fae35e600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156127c157600080fd5b505af11580156127d5573d6000803e3d6000fd5b50505050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fea2646970667358221220faf6f793a0d35dca0dcd4077e692dcf2ad048710aa230967fa878a42cd81bd4c64736f6c634300070600330000000000000000000000003d167bd08f762fd391694c67b5e6af0868c455380000000000000000000000001ad507ebf68d164457cceeb9e03c2ed64fbe795a0000000000000000000000002eff174e9a3c471e04daa1ca9abd077005edaaf2

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063a5bb178811610066578063a5bb1788146102ed578063aaa6e43514610321578063b7b34d1114610355578063b87ee7af14610389578063ebf0c717146103bd57610093565b806370c85d461461009857806376e47adc146100cc5780638c7b25cc1461017a5780639ac1fa9e146102a9575b600080fd5b6100a06103f1565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610178600480360360a08110156100e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610417565b005b6102a7600480360361012081101561019157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610aa4565b005b6102eb600480360360208110156102bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114de565b005b6102f56127e1565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610329612807565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61035d61282b565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610391612851565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103c5612877565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156104c35750600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b6104cc57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d866040518263ffffffff1660e01b815260040180807f6d677200000000000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561057f57600080fd5b505af1158015610593573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d846040518263ffffffff1660e01b815260040180807f73706f74746572000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561064a57600080fd5b505af115801561065e573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d856040518263ffffffff1660e01b815260040180807f76617400000000000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561071557600080fd5b505af1158015610729573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d836040518263ffffffff1660e01b815260040180807f6a756700000000000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156107e057600080fd5b505af11580156107f4573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329ae8114826040518263ffffffff1660e01b815260040180807f6275666665720000000000000000000000000000000000000000000000000000815250602001828152602001915050600060405180830381600087803b15801561089557600080fd5b505af11580156108a9573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639c52a7f1306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561093857600080fd5b505af115801561094c573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a6c019606040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156109ba57600080fd5b505af11580156109ce573d6000803e3d6000fd5b505050506040513d60208110156109e457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663336137c8867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610a8557600080fd5b505af1158015610a99573d6000803e3d6000fd5b505050505050505050565b3373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610b505750600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015610baa5750600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b8015610c875750600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e216ad1c6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610c3357600080fd5b505af1158015610c47573d6000803e3d6000fd5b505050506040513d6020811015610c5d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614155b610c9057600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663482670b98a8a600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e216ad1c6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610d3a57600080fd5b505af1158015610d4e573d6000803e3d6000fd5b505050506040513d6020811015610d6457600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d1cc74a16040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ddf57600080fd5b505af1158015610df3573d6000803e3d6000fd5b505050506040513d6020811015610e0957600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a639d0dc6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610e8457600080fd5b505af1158015610e98573d6000803e3d6000fd5b505050506040513d6020811015610eae57600080fd5b81019080805190602001909291905050508d8d8d6040518963ffffffff1660e01b8152600401808973ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200198505050505050505050602060405180830381600087803b158015610fd957600080fd5b505af1158015610fed573d6000803e3d6000fd5b505050506040513d602081101561100357600080fd5b8101908080519060200190929190505050600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611083600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687858585610417565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166365fae35e600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561113557600080fd5b505af1158015611149573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663d4e8be83866040518263ffffffff1660e01b815260040180807f6c697100000000000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156111de57600080fd5b505af11580156111f2573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663d4e8be83896040518263ffffffff1660e01b815260040180807f656e6400000000000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561128757600080fd5b505af115801561129b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663d4e8be83600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040180807f6f776e65720000000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561135257600080fd5b505af1158015611366573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166365fae35e600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561141757600080fd5b505af115801561142b573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639c52a7f1306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156114ba57600080fd5b505af11580156114ce573d6000803e3d6000fd5b5050505050505050505050505050565b3373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156115895750600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b80156116445750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663e216ad1c6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156115f057600080fd5b505af1158015611604573d6000803e3d6000fd5b505050506040513d602081101561161a57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614155b61164d57600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663136ab1f8600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561173457600080fd5b505af1158015611748573d6000803e3d6000fd5b505050506040513d602081101561175e57600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e216ad1c6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156117d957600080fd5b505af11580156117ed573d6000803e3d6000fd5b505050506040513d602081101561180357600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561187d57600080fd5b505af1158015611891573d6000803e3d6000fd5b505050506040513d60208110156118a757600080fd5b8101908080519060200190929190505050600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631821d6966040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561196457600080fd5b505af1158015611978573d6000803e3d6000fd5b505050506040513d602081101561198e57600080fd5b810190808051906020019092919050505090506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611a0d57600080fd5b505af1158015611a21573d6000803e3d6000fd5b505050506040513d6020811015611a3757600080fd5b810190808051906020019092919050505090506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a639d0dc6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611ab657600080fd5b505af1158015611aca573d6000803e3d6000fd5b505050506040513d6020811015611ae057600080fd5b810190808051906020019092919050505090506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a6c019606040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611b5f57600080fd5b505af1158015611b73573d6000803e3d6000fd5b505050506040513d6020811015611b8957600080fd5b810190808051906020019092919050505090506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b782cc496040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c0857600080fd5b505af1158015611c1c573d6000803e3d6000fd5b505050506040513d6020811015611c3257600080fd5b81019080805190602001909291905050509050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630a0090976040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611ced57600080fd5b505af1158015611d01573d6000803e3d6000fd5b505050506040513d6020811015611d1757600080fd5b81019080805190602001909291905050506040518263ffffffff1660e01b815260040180807f636f6f7264696e61746f720000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611d9c57600080fd5b505af1158015611db0573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d866040518263ffffffff1660e01b815260040180807f6173736573736f720000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611e6757600080fd5b505af1158015611e7b573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d856040518263ffffffff1660e01b815260040180807f72657365727665000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611f3257600080fd5b505af1158015611f46573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d846040518263ffffffff1660e01b815260040180807f7472616e636865000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611ffd57600080fd5b505af1158015612011573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639adc339d600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e216ad1c6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156120bd57600080fd5b505af11580156120d1573d6000803e3d6000fd5b505050506040513d60208110156120e757600080fd5b81019080805190602001909291905050506040518263ffffffff1660e01b815260040180807f636f6c6c61746572616c000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561216c57600080fd5b505af1158015612180573d6000803e3d6000fd5b505050508273ffffffffffffffffffffffffffffffffffffffff166365fae35e600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561220f57600080fd5b505af1158015612223573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166365fae35e600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156122b257600080fd5b505af11580156122c6573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff166365fae35e600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561235557600080fd5b505af1158015612369573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff16639adc339d600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040180807f6c656e64696e67000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561242057600080fd5b505af1158015612434573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166365fae35e856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156124c357600080fd5b505af11580156124d7573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663336137c8600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561258e57600080fd5b505af11580156125a2573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff16639adc339d600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040180807f6c656e64696e67000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561265957600080fd5b505af115801561266d573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166365fae35e826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156126fc57600080fd5b505af1158015612710573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166365fae35e600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156127c157600080fd5b505af11580156127d5573d6000803e3d6000fd5b50505050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fea2646970667358221220faf6f793a0d35dca0dcd4077e692dcf2ad048710aa230967fa878a42cd81bd4c64736f6c63430007060033

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

0000000000000000000000003d167bd08f762fd391694c67b5e6af0868c455380000000000000000000000001ad507ebf68d164457cceeb9e03c2ed64fbe795a0000000000000000000000002eff174e9a3c471e04daa1ca9abd077005edaaf2

-----Decoded View---------------
Arg [0] : root_ (address): 0x3d167bd08f762FD391694c67B5e6aF0868c45538
Arg [1] : clerkFabLike_ (address): 0x1AD507eBF68d164457CCEEB9E03c2Ed64Fbe795a
Arg [2] : mgrFabLike_ (address): 0x2eff174e9a3C471e04DAA1ca9ABd077005edAAf2

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000003d167bd08f762fd391694c67b5e6af0868c45538
Arg [1] : 0000000000000000000000001ad507ebf68d164457cceeb9e03c2ed64fbe795a
Arg [2] : 0000000000000000000000002eff174e9a3c471e04daa1ca9abd077005edaaf2


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.