Contract 0x40D73Df4F99bae688CE3C23a01022224FE16C7b2 5

 

Contract Overview

NFTX: DAO Treasury
Balance:
0.058112987238646489 Ether

EtherValue:
$74.41 (@ $1,280.41/ETH)

Token:
 
Txn Hash
Method
Block
From
To
Value
0x24ed4002b371032f338f2eb8dc2ff381d1d31141bd7e173faa86a474cda4d755Transfer143104302022-03-02 23:01:03281 days 1 hr agoFloor: Deployer IN  NFTX: DAO Treasury5.13412035 Ether0.00202472 43.51621342
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x99d38ad1014d83d6c101a0f41d3b1ff74534550d6a9990bc06ad02a8ecc8d59a157853472022-10-19 23:11:2350 days 51 mins ago NFTX: DAO Treasury Wrapped Ether80.4 Ether
0x434b8474b807c62c6e3e3da5f524ef4db6630c5845039833e4135f2ca67ee646153195842022-08-11 8:10:36119 days 15 hrs ago NFTX: DAO Treasury0xdea9196dcdd2173d6e369c2acc0facc83fd9346a4 Ether
0xfb96ea1fe69cc4697dad9ec77b0b58f9ccf84c4dd2ac02f0a50d236c758e651b149394762022-06-10 16:32:10181 days 7 hrs ago NFTX: DAO Treasury0xdea9196dcdd2173d6e369c2acc0facc83fd9346a4 Ether
0x2efc83f40c40294eec3b37199aa2f319054531011ba7d2caf160a9df2cb375f2147947512022-05-17 20:56:30205 days 3 hrs ago NFTX: DAO TreasuryNFTX: Deployer5 Ether
0x75e1382454e8bb5dad3947841714fb2f60f83a3815ecbb3c7de71baf72342b00147825952022-05-15 22:30:18207 days 1 hr ago NFTX: DAO TreasuryNFTX: Deployer1.39 Ether
0x9b6f505e469a5ff05b26ce9bf530361754c1d7cfe155185becebc2bb6928b4ff146498552022-04-24 21:32:34228 days 2 hrs ago NFTX: DAO TreasuryNFTX: Deployer4 Ether
0xf03a1add13504c94e00f67ac85b51fec4d570fec363117f7306b7ec51c57dd87141510792022-02-06 7:17:36305 days 16 hrs ago NFTX: DAO TreasuryNFTX: Deployer50 Ether
0x66d88470d345618d49a43dd1606c1291ee13edf3b4f148e61577f341ed20dbcc138058782021-12-14 22:04:34359 days 1 hr ago NFTX: DAO TreasuryNFTX: Deployer24.3 Ether
0x4214ebc5423e96d93818fe13c101441e8c441b8bb88f442089dfdd9ce2511f54133348262021-10-01 17:27:10433 days 6 hrs ago NFTX: DAO TreasuryNFTX: Deployer1,895.6 Ether
0x1f3c0967dd8e0044af857e49a73e8f27a2abeb0bcc00399e73254eb4eeb79dd4129505512021-08-03 5:49:55492 days 18 hrs ago 0xeb5f922d95f81c7ce9d831bd8e32f358111dac45 NFTX: DAO Treasury1,870 Ether
0x3d7ac1c43a5ac0b1b72c12a035ab1c25bd8375b1cba7c0c29ee7817e6257ecda118703102021-02-16 21:35:00660 days 2 hrs ago NFTX: DAO TreasuryNFTX: Deployer320 Ether
0x8dce50af150ed1f544969b5e0863d82d2e68f0bba43c5745e64a0d68c25dcbd0117735472021-02-02 0:25:01674 days 23 hrs ago NFTX: DAO Treasury0x701f373df763308d96d8537822e8f9b2bae4e84789 Ether
0x2fba731ed87de196a69342263bc8d82020039615ebaa19a122e772377be4c92f116023132021-01-06 17:09:12701 days 6 hrs ago 0xeb5f922d95f81c7ce9d831bd8e32f358111dac45 NFTX: DAO Treasury422.61399263 Ether
0xa14b8f5facac961ba43b5d1201c53454c85f6f306c188dda9d0b22afd63758e5115919122021-01-05 2:54:49702 days 21 hrs ago NFTX: DAO Treasury0x843d81eaf23c0073426581de5a3735b060888f1b2,050 Ether
0x404f2e972166d165b93254e70f80009aa779f8ecea029920dd5392c620628e98115915572021-01-05 1:26:53702 days 22 hrs ago 0x9c5a36aef5a7b04b0123b2064bd20bc47183e1dc NFTX: DAO Treasury7 wei
0x4065ecefa4e957bc70c24f1ac8c2776f60d69a0e25bf7216f3ca625d0453bfec115776032021-01-02 21:57:30705 days 2 hrs ago 0x9c5a36aef5a7b04b0123b2064bd20bc47183e1dc NFTX: DAO Treasury145.12433 Ether
0x71f4c278505ae4090fd48713fa5442e956b3918268aa417ff816e12cfd9e8b32115775802021-01-02 21:52:48705 days 2 hrs ago 0x9c5a36aef5a7b04b0123b2064bd20bc47183e1dc NFTX: DAO Treasury0.48 Ether
0x8287c0a2621a2cb9634f918e055b6a421580361e878b8fe7dcb6d2498fc7b66e115775172021-01-02 21:37:23705 days 2 hrs ago 0x9c5a36aef5a7b04b0123b2064bd20bc47183e1dc NFTX: DAO Treasury0.5 Ether
0x5154c65f7403903007ce749c04cb9ad021564dbe4e3aaec7e8bb5a04a1c8a8b4115773532021-01-02 21:03:40705 days 2 hrs ago 0x9c5a36aef5a7b04b0123b2064bd20bc47183e1dc NFTX: DAO Treasury40 Ether
0x88a06b5471e7d254aded24fb7584cf42f1bd2149f2f3e7558d91563c9ca30d88115771212021-01-02 20:13:41705 days 3 hrs ago 0x9c5a36aef5a7b04b0123b2064bd20bc47183e1dc NFTX: DAO Treasury1 Ether
0x17838d84348e459d1d126c42805b92226e497cd317ab9a6f7ff5e0d76b32d920115770562021-01-02 19:59:19705 days 4 hrs ago 0x9c5a36aef5a7b04b0123b2064bd20bc47183e1dc NFTX: DAO Treasury120 Ether
0x7b1402fbe85df77a51b8e89c1b3d3762e6f8129e253cd5e7e80db54daef52e95115770042021-01-02 19:47:05705 days 4 hrs ago 0x9c5a36aef5a7b04b0123b2064bd20bc47183e1dc NFTX: DAO Treasury0.2 Ether
0x886ac1da5ec0b224e15d6e873a72bd884d83bc4a71895c902bd3d2e009d93c6d115768502021-01-02 19:14:57705 days 4 hrs ago 0x9c5a36aef5a7b04b0123b2064bd20bc47183e1dc NFTX: DAO Treasury0.425 Ether
0xe3bf21ddd47469877b381fac9a45ac3ef8bb21a2f083ee07ad260cf36ca940cf115764662021-01-02 17:56:04705 days 6 hrs ago 0x9c5a36aef5a7b04b0123b2064bd20bc47183e1dc NFTX: DAO Treasury0.75 Ether
0xbe9e1fd29ead9aae44a7846a1444ae40ee9a9abf5e92804ff8a608345deb6761115761052021-01-02 16:36:11705 days 7 hrs ago 0x9c5a36aef5a7b04b0123b2064bd20bc47183e1dc NFTX: DAO Treasury6.376 Ether
[ Download CSV Export 
Loading

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x73ab89a66c82db6859c7f182b6e5d9dfe222912c

Contract Name:
AppProxyUpgradeable

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 10000 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-09-06
*/

// File: contracts/common/UnstructuredStorage.sol

/*
 * SPDX-License-Identitifer:    MIT
 */

pragma solidity ^0.4.24;


library UnstructuredStorage {
    function getStorageBool(bytes32 position) internal view returns (bool data) {
        assembly { data := sload(position) }
    }

    function getStorageAddress(bytes32 position) internal view returns (address data) {
        assembly { data := sload(position) }
    }

    function getStorageBytes32(bytes32 position) internal view returns (bytes32 data) {
        assembly { data := sload(position) }
    }

    function getStorageUint256(bytes32 position) internal view returns (uint256 data) {
        assembly { data := sload(position) }
    }

    function setStorageBool(bytes32 position, bool data) internal {
        assembly { sstore(position, data) }
    }

    function setStorageAddress(bytes32 position, address data) internal {
        assembly { sstore(position, data) }
    }

    function setStorageBytes32(bytes32 position, bytes32 data) internal {
        assembly { sstore(position, data) }
    }

    function setStorageUint256(bytes32 position, uint256 data) internal {
        assembly { sstore(position, data) }
    }
}

// File: contracts/acl/IACL.sol

/*
 * SPDX-License-Identitifer:    MIT
 */

pragma solidity ^0.4.24;


interface IACL {
    function initialize(address permissionsCreator) external;

    // TODO: this should be external
    // See https://github.com/ethereum/solidity/issues/4832
    function hasPermission(address who, address where, bytes32 what, bytes how) public view returns (bool);
}

// File: contracts/common/IVaultRecoverable.sol

/*
 * SPDX-License-Identitifer:    MIT
 */

pragma solidity ^0.4.24;


interface IVaultRecoverable {
    event RecoverToVault(address indexed vault, address indexed token, uint256 amount);

    function transferToVault(address token) external;

    function allowRecoverability(address token) external view returns (bool);
    function getRecoveryVault() external view returns (address);
}

// File: contracts/kernel/IKernel.sol

/*
 * SPDX-License-Identitifer:    MIT
 */

pragma solidity ^0.4.24;




interface IKernelEvents {
    event SetApp(bytes32 indexed namespace, bytes32 indexed appId, address app);
}


// This should be an interface, but interfaces can't inherit yet :(
contract IKernel is IKernelEvents, IVaultRecoverable {
    function acl() public view returns (IACL);
    function hasPermission(address who, address where, bytes32 what, bytes how) public view returns (bool);

    function setApp(bytes32 namespace, bytes32 appId, address app) public;
    function getApp(bytes32 namespace, bytes32 appId) public view returns (address);
}

// File: contracts/apps/AppStorage.sol

/*
 * SPDX-License-Identitifer:    MIT
 */

pragma solidity ^0.4.24;




contract AppStorage {
    using UnstructuredStorage for bytes32;

    /* Hardcoded constants to save gas
    bytes32 internal constant KERNEL_POSITION = keccak256("aragonOS.appStorage.kernel");
    bytes32 internal constant APP_ID_POSITION = keccak256("aragonOS.appStorage.appId");
    */
    bytes32 internal constant KERNEL_POSITION = 0x4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b;
    bytes32 internal constant APP_ID_POSITION = 0xd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b;

    function kernel() public view returns (IKernel) {
        return IKernel(KERNEL_POSITION.getStorageAddress());
    }

    function appId() public view returns (bytes32) {
        return APP_ID_POSITION.getStorageBytes32();
    }

    function setKernel(IKernel _kernel) internal {
        KERNEL_POSITION.setStorageAddress(address(_kernel));
    }

    function setAppId(bytes32 _appId) internal {
        APP_ID_POSITION.setStorageBytes32(_appId);
    }
}

// File: contracts/common/IsContract.sol

/*
 * SPDX-License-Identitifer:    MIT
 */

pragma solidity ^0.4.24;


contract IsContract {
    /*
    * NOTE: this should NEVER be used for authentication
    * (see pitfalls: https://github.com/fergarrui/ethereum-security/tree/master/contracts/extcodesize).
    *
    * This is only intended to be used as a sanity check that an address is actually a contract,
    * RATHER THAN an address not being a contract.
    */
    function isContract(address _target) internal view returns (bool) {
        if (_target == address(0)) {
            return false;
        }

        uint256 size;
        assembly { size := extcodesize(_target) }
        return size > 0;
    }
}

// File: contracts/lib/misc/ERCProxy.sol

/*
 * SPDX-License-Identitifer:    MIT
 */

pragma solidity ^0.4.24;


contract ERCProxy {
    uint256 internal constant FORWARDING = 1;
    uint256 internal constant UPGRADEABLE = 2;

    function proxyType() public pure returns (uint256 proxyTypeId);
    function implementation() public view returns (address codeAddr);
}

// File: contracts/common/DelegateProxy.sol

pragma solidity 0.4.24;




contract DelegateProxy is ERCProxy, IsContract {
    uint256 internal constant FWD_GAS_LIMIT = 10000;

    /**
    * @dev Performs a delegatecall and returns whatever the delegatecall returned (entire context execution will return!)
    * @param _dst Destination address to perform the delegatecall
    * @param _calldata Calldata for the delegatecall
    */
    function delegatedFwd(address _dst, bytes _calldata) internal {
        require(isContract(_dst));
        uint256 fwdGasLimit = FWD_GAS_LIMIT;

        assembly {
            let result := delegatecall(sub(gas, fwdGasLimit), _dst, add(_calldata, 0x20), mload(_calldata), 0, 0)
            let size := returndatasize
            let ptr := mload(0x40)
            returndatacopy(ptr, 0, size)

            // revert instead of invalid() bc if the underlying call failed with invalid() it already wasted gas.
            // if the call returned error data, forward it
            switch result case 0 { revert(ptr, size) }
            default { return(ptr, size) }
        }
    }
}

// File: contracts/common/DepositableStorage.sol

pragma solidity 0.4.24;



contract DepositableStorage {
    using UnstructuredStorage for bytes32;

    // keccak256("aragonOS.depositableStorage.depositable")
    bytes32 internal constant DEPOSITABLE_POSITION = 0x665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea;

    function isDepositable() public view returns (bool) {
        return DEPOSITABLE_POSITION.getStorageBool();
    }

    function setDepositable(bool _depositable) internal {
        DEPOSITABLE_POSITION.setStorageBool(_depositable);
    }
}

// File: contracts/common/DepositableDelegateProxy.sol

pragma solidity 0.4.24;




contract DepositableDelegateProxy is DepositableStorage, DelegateProxy {
    event ProxyDeposit(address sender, uint256 value);

    function () external payable {
        uint256 forwardGasThreshold = FWD_GAS_LIMIT;
        bytes32 isDepositablePosition = DEPOSITABLE_POSITION;

        // Optimized assembly implementation to prevent EIP-1884 from breaking deposits, reference code in Solidity:
        // https://github.com/aragon/aragonOS/blob/v4.2.1/contracts/common/DepositableDelegateProxy.sol#L10-L20
        assembly {
            // Continue only if the gas left is lower than the threshold for forwarding to the implementation code,
            // otherwise continue outside of the assembly block.
            if lt(gas, forwardGasThreshold) {
                // Only accept the deposit and emit an event if all of the following are true:
                // the proxy accepts deposits (isDepositable), msg.data.length == 0, and msg.value > 0
                if and(and(sload(isDepositablePosition), iszero(calldatasize)), gt(callvalue, 0)) {
                    // Equivalent Solidity code for emitting the event:
                    // emit ProxyDeposit(msg.sender, msg.value);

                    let logData := mload(0x40) // free memory pointer
                    mstore(logData, caller) // add 'msg.sender' to the log data (first event param)
                    mstore(add(logData, 0x20), callvalue) // add 'msg.value' to the log data (second event param)

                    // Emit an event with one topic to identify the event: keccak256('ProxyDeposit(address,uint256)') = 0x15ee...dee1
                    log1(logData, 0x40, 0x15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1)

                    stop() // Stop. Exits execution context
                }

                // If any of above checks failed, revert the execution (if ETH was sent, it is returned to the sender)
                revert(0, 0)
            }
        }

        address target = implementation();
        delegatedFwd(target, msg.data);
    }
}

// File: contracts/kernel/KernelConstants.sol

/*
 * SPDX-License-Identitifer:    MIT
 */

pragma solidity ^0.4.24;


contract KernelAppIds {
    /* Hardcoded constants to save gas
    bytes32 internal constant KERNEL_CORE_APP_ID = apmNamehash("kernel");
    bytes32 internal constant KERNEL_DEFAULT_ACL_APP_ID = apmNamehash("acl");
    bytes32 internal constant KERNEL_DEFAULT_VAULT_APP_ID = apmNamehash("vault");
    */
    bytes32 internal constant KERNEL_CORE_APP_ID = 0x3b4bf6bf3ad5000ecf0f989d5befde585c6860fea3e574a4fab4c49d1c177d9c;
    bytes32 internal constant KERNEL_DEFAULT_ACL_APP_ID = 0xe3262375f45a6e2026b7e7b18c2b807434f2508fe1a2a3dfb493c7df8f4aad6a;
    bytes32 internal constant KERNEL_DEFAULT_VAULT_APP_ID = 0x7e852e0fcfce6551c13800f1e7476f982525c2b5277ba14b24339c68416336d1;
}


contract KernelNamespaceConstants {
    /* Hardcoded constants to save gas
    bytes32 internal constant KERNEL_CORE_NAMESPACE = keccak256("core");
    bytes32 internal constant KERNEL_APP_BASES_NAMESPACE = keccak256("base");
    bytes32 internal constant KERNEL_APP_ADDR_NAMESPACE = keccak256("app");
    */
    bytes32 internal constant KERNEL_CORE_NAMESPACE = 0xc681a85306374a5ab27f0bbc385296a54bcd314a1948b6cf61c4ea1bc44bb9f8;
    bytes32 internal constant KERNEL_APP_BASES_NAMESPACE = 0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f;
    bytes32 internal constant KERNEL_APP_ADDR_NAMESPACE = 0xd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb;
}

// File: contracts/apps/AppProxyBase.sol

pragma solidity 0.4.24;






contract AppProxyBase is AppStorage, DepositableDelegateProxy, KernelNamespaceConstants {
    /**
    * @dev Initialize AppProxy
    * @param _kernel Reference to organization kernel for the app
    * @param _appId Identifier for app
    * @param _initializePayload Payload for call to be made after setup to initialize
    */
    constructor(IKernel _kernel, bytes32 _appId, bytes _initializePayload) public {
        setKernel(_kernel);
        setAppId(_appId);

        // Implicit check that kernel is actually a Kernel
        // The EVM doesn't actually provide a way for us to make sure, but we can force a revert to
        // occur if the kernel is set to 0x0 or a non-code address when we try to call a method on
        // it.
        address appCode = getAppBase(_appId);

        // If initialize payload is provided, it will be executed
        if (_initializePayload.length > 0) {
            require(isContract(appCode));
            // Cannot make delegatecall as a delegateproxy.delegatedFwd as it
            // returns ending execution context and halts contract deployment
            require(appCode.delegatecall(_initializePayload));
        }
    }

    function getAppBase(bytes32 _appId) internal view returns (address) {
        return kernel().getApp(KERNEL_APP_BASES_NAMESPACE, _appId);
    }
}

// File: contracts/apps/AppProxyUpgradeable.sol

pragma solidity 0.4.24;



contract AppProxyUpgradeable is AppProxyBase {
    /**
    * @dev Initialize AppProxyUpgradeable (makes it an upgradeable Aragon app)
    * @param _kernel Reference to organization kernel for the app
    * @param _appId Identifier for app
    * @param _initializePayload Payload for call to be made after setup to initialize
    */
    constructor(IKernel _kernel, bytes32 _appId, bytes _initializePayload)
        AppProxyBase(_kernel, _appId, _initializePayload)
        public // solium-disable-line visibility-first
    {
        // solium-disable-previous-line no-empty-blocks
    }

    /**
     * @dev ERC897, the address the proxy would delegate calls to
     */
    function implementation() public view returns (address) {
        return getAppBase(appId());
    }

    /**
     * @dev ERC897, whether it is a forwarding (1) or an upgradeable (2) proxy
     */
    function proxyType() public pure returns (uint256 proxyTypeId) {
        return UPGRADEABLE;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"proxyType","outputs":[{"name":"proxyTypeId","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"isDepositable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"appId","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"kernel","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_kernel","type":"address"},{"name":"_appId","type":"bytes32"},{"name":"_initializePayload","type":"bytes"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"ProxyDeposit","type":"event"}]

608060405234801561001057600080fd5b506040516106ed3803806106ed8339810160409081528151602083015191830151909201828282600061004b84640100000000610124810204565b61005d8364010000000061014c810204565b61006f83640100000000610183810204565b90506000825111156101185761008d81640100000000610253810204565b151561009857600080fd5b80600160a060020a03168260405180828051906020019080838360005b838110156100cd5781810151838201526020016100b5565b50505050905090810190601f1680156100fa5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af4915050151561011857600080fd5b505050505050506102b3565b6101496000805160206106cd833981519152826401000000006103d761028082021704565b50565b6101497fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b826401000000006103d761028082021704565b6000610196640100000000610284810204565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f6004820152602481018590529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561022157600080fd5b505af1158015610235573d6000803e3d6000fd5b505050506040513d602081101561024b57600080fd5b505192915050565b600080600160a060020a038316151561026f576000915061027a565b823b90506000811191505b50919050565b9055565b60006102aa6000805160206106cd8339815191526401000000006103cf6102af82021704565b905090565b5490565b61040b806102c26000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634555d5c9811461012b57806348a0c8dd146101525780635c60da1b1461017b57806380afdea8146101b9578063d4aae0c4146101ce575b6127107f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6000825a10156100e15760003411361583541616156100dc576040513381523460208201527f15eeaa57c7bd188c1388020bcadc2c436ec60d647d36ef5b9eb3c742217ddee1604082a1005b600080fd5b6100e96101e3565b9050610126816000368080601f016020809104026020016040519081016040528093929190818152602001838380828437506101fa945050505050565b505050005b34801561013757600080fd5b5061014061023b565b60408051918252519081900360200190f35b34801561015e57600080fd5b50610167610240565b604080519115158252519081900360200190f35b34801561018757600080fd5b506101906101e3565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c557600080fd5b5061014061026b565b3480156101da57600080fd5b50610190610296565b60006101f56101f061026b565b6102c1565b905090565b600061020583610395565b151561021057600080fd5b612710905060008083516020850186855a03f43d604051816000823e828015610237578282f35b8282fd5b600290565b60006101f57f665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50cea6103cf565b60006101f57fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6103cf565b60006101f57f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b6103cf565b60006102cb610296565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527ff1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f600482015260248101859052905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b15801561036357600080fd5b505af1158015610377573d6000803e3d6000fd5b505050506040513d602081101561038d57600080fd5b505192915050565b60008073ffffffffffffffffffffffffffffffffffffffff831615156103be57600091506103c9565b823b90506000811191505b50919050565b5490565b5490565b9055565b90555600a165627a7a72305820976bd9d6f6ad7a0d339ea3b373704842cdb3d9e15e7463676c04c1fa6ffb564100294172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b0000000000000000000000008a83d4bce45b4c4f751f76cf565953d1e4a3bf0abf8491150dafc5dcaee5b861414dca922de09ccffa344964ae167212e8c673ae00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

Deployed ByteCode Sourcemap

12048:1002:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5242:5;6492:66;7084:27;5242:5;7647:3;7644:28;7641:2;;;7970:1;7959:9;7956:16;7940:12;7933:20;7909:21;7903:28;7899:55;7895:78;7892:2;;;8159:4;8153:11;8225:6;8216:7;8209:23;8337:9;8330:4;8321:7;8317:18;8310:37;8582:66;8576:4;8567:7;8562:87;8673:6;7892:2;8881:1;8878;8871:12;7641:2;8938:16;:14;:16::i;:::-;8921:33;;8965:30;8978:6;8986:8;;8965:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8965:12:0;;-1:-1:-1;;;;;8965:30:0:i;:::-;7044:1959;;;12048:1002;12947:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12947:100:0;;;;;;;;;;;;;;;;;;;;6567:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6567:115:0;;;;;;;;;;;;;;;;;;;;;;12740:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12740:101:0;;;;;;;;;;;;;;;;;;;;;;;3588:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3588:108:0;;;;3462:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3462:118:0;;;;12740:101;12787:7;12814:19;12825:7;:5;:7::i;:::-;12814:10;:19::i;:::-;12807:26;;12740:101;:::o;5517:694::-;5626:19;5598:16;5609:4;5598:10;:16::i;:::-;5590:25;;;;;;;;5242:5;5626:35;;5797:1;5794;5782:9;5776:16;5769:4;5758:9;5754:20;5748:4;5734:11;5729:3;5725:21;5712:87;5825:14;5870:4;5864:11;5912:4;5909:1;5904:3;5889:28;6115:6;6122:28;;;;6186:4;6181:3;6174:17;6122:28;6143:4;6138:3;6131:17;12947:100;4915:1;12947:100;:::o;6567:115::-;6613:4;6637:37;6492:66;6637:35;:37::i;3588:108::-;3626:7;3653:35;3387:66;3653:33;:35::i;3462:118::-;3501:7;3536:35;3270:66;3536:33;:35::i;11814:145::-;11873:7;11900:8;:6;:8::i;:::-;:51;;;;;;10327:66;11900:51;;;;;;;;;;;;:15;;;;;;;;:51;;;;;;;;;;;;;;;;:15;:51;;;5:2:-1;;;;30:1;27;20:12;5:2;11900:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11900:51:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11900:51:0;;11814:145;-1:-1:-1;;11814:145:0:o;4422:252::-;4482:4;;4503:21;;;;4499:66;;;4548:5;4541:12;;;;4499:66;4631:7;4619:20;4611:28;;4665:1;4658:4;:8;4651:15;;4422:252;;;;;:::o;166:130::-;272:15;;262:27::o;304:136::-;416:15;;406:27::o;859:121::-;949:22;;947:26::o;988:121::-;1078:22;;1076:26::o

Swarm Source

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

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.