Contract 0x710b80571db3792fbf4DF7763Efa6548C25a1635 3

 

Contract Overview

Furucombo: Proxy v0.2
Balance:
0 Ether

EtherValue:
$0.00

Token:
 
Txn Hash
Method
Block
From
To
Value
0x857a34d67cdd5723494a35c4d0ebecfe41211ad41c0c473abcd6eb36fe0eef2cBatch Exec108906282020-09-19 4:59:02692 days 13 hrs agoFurucombo: Deployer IN  Furucombo: Proxy v0.20 Ether0.‍334625743,379
0x53c13acb115354000b4c0da7305dab487acc725686e65229d2e8ae172f34a1b3Batch Exec102602632020-06-13 23:14:36789 days 18 hrs ago0x7eb4cfe3ba7e97a34cae8602645ccb18374936f7 IN  Furucombo: Proxy v0.20 Ether0.‍0288257115
0x699f4d527dd28ff0ebd76377a662db22012ed929e9b2f9b2274bfb3d88be56a7Batch Exec102590502020-06-13 18:46:35789 days 23 hrs ago0x56d44a78c42f7b3c18ded0f3e377394d7ed44eff IN  Furucombo: Proxy v0.20 Ether0.‍0114231612.‍9
0x87428ba8e54a0f5dd00fb23e3a4db13e731b530ca607b97b22bd4f63e2e084f8Batch Exec102522462020-06-12 17:34:29791 days 35 mins ago0xa3c1c91403f0026b9dd086882adbc8cdbc3b3cfb IN  Furucombo: Proxy v0.20 Ether0.‍0696402630
0xa1bea2c0882ce538673ba364502bc11764a76aa5e4fc58274566f1905b94d529Batch Exec102520332020-06-12 16:42:41791 days 1 hr ago0x7eb4cfe3ba7e97a34cae8602645ccb18374936f7 IN  Furucombo: Proxy v0.20 Ether0.‍0084572337
0x2f1c88dcd1e36f2a6e42e6a5fccb68b5665945e0fb0a27660214eb0dcf4d5100Batch Exec102517582020-06-12 15:45:08791 days 2 hrs ago0x77299cf68685b96a529d392c7d8edfc94cbdcc15 IN  Furucombo: Proxy v0.24 Ether0.‍0647720333
0x64fd08e5adfee79658b97513863cf8347430e93e9390816155741332dd01f2baBatch Exec102511602020-06-12 13:29:38791 days 4 hrs ago0x935e98a2f2bb86de2f2f0b74e9f0bd4eb8ffc545 IN  Furucombo: Proxy v0.20 Ether0.‍0238249725
0x336d1874ebbf76d3e59a16e719b5be6c19ab4c73b89c4d7211b9896562612ac4Batch Exec102493512020-06-12 6:51:16791 days 11 hrs ago0xd6903e5b1e36c516ae32d111b45965902574ceb0 IN  Furucombo: Proxy v0.20.‍45 Ether0.‍0027909525
0x249e06e3e09118bc455ef43767194fd5babc9baf67b23e4d20747fe38ce190ffBatch Exec102460522020-06-11 18:35:39791 days 23 hrs ago0x7e56a245b5915d1022a51f93336ad73b0e41d789 IN  Furucombo: Proxy v0.20.‍2 Ether0.‍0111171627
0xd0bf3f73db6b4c8f9208f52f357fc16ee98d9ec4bc29f3348f57f11e966524c8Batch Exec102436392020-06-11 9:35:33792 days 8 hrs ago0xa3c1c91403f0026b9dd086882adbc8cdbc3b3cfb IN  Furucombo: Proxy v0.20 Ether0.‍061046325
0xc7bff7729c7ed0d9f7092a297db5039d4e9747d00c0b0b267430618251261469Batch Exec102402542020-06-10 21:02:39792 days 21 hrs ago0x77299cf68685b96a529d392c7d8edfc94cbdcc15 IN  Furucombo: Proxy v0.20 Ether0.‍0265507224
0x3d92e95b79cad2e23c3857eb67eecbfb5b4bd6b6315fcc14a002cc18bc908ad1Batch Exec102176912020-06-07 8:50:23796 days 9 hrs ago0x3c44ccfae554eb4a15041217203c61bf068d6c33 IN  Furucombo: Proxy v0.21 Ether0.‍0297710742
0x029e9cf1b91dd784bdad385252f870b8ce8c6fc399eb6863d62d20d718a24d68Batch Exec102119532020-06-06 11:40:36797 days 6 hrs ago0x92d062d4641ad098a064a78f350d782026710fac IN  Furucombo: Proxy v0.20.‍00046 Ether0.‍0049204722
0x637d07d573404d826b1a322044bf021dfcdef7f112e2900f7fe789ec499043bfBatch Exec102073902020-06-05 18:40:50797 days 23 hrs ago0x56d44a78c42f7b3c18ded0f3e377394d7ed44eff IN  Furucombo: Proxy v0.20.‍2 Ether0.‍0161773220
0x6109e7258b97310dc4e8ce55d97101d5d769cd54ed56ffa6fba78c0e73171ef8Batch Exec102001892020-06-04 15:40:51799 days 2 hrs ago0x56d44a78c42f7b3c18ded0f3e377394d7ed44eff IN  Furucombo: Proxy v0.20.‍1 Ether0.‍0065079220
0xfabf73b284d67ce141fb8550c172c9f52bee0f20d0167e236fac1589c2ee14a6Batch Exec101841552020-06-02 4:13:09801 days 13 hrs ago0xcde59bf3e9932a42a04d32c5cc5090a15c78792e IN  Furucombo: Proxy v0.20 Ether0.‍0183943933
0xac6e2944b3ceac235cf1ea1c048430d31c5c20d715c465ad4272e987caecb6bfBatch Exec101790642020-06-01 9:03:56802 days 9 hrs agoENS Name javanchen.eth IN  Furucombo: Proxy v0.20.‍01 Ether0.‍0045052135.‍2
0xbf47298e451397b91050279e8b91fa2924b067d441b0dca1fc2fd5024a542fc3Batch Exec101470412020-05-27 9:39:08807 days 8 hrs ago0x56d44a78c42f7b3c18ded0f3e377394d7ed44eff IN  Furucombo: Proxy v0.20.‍01 Ether0.‍0208746237
0x292b43f6f94622c91f6a53bf4663b2e649d3d61b38df8d7fa3ee97d49dfeafe2Batch Exec101437842020-05-26 21:25:45807 days 20 hrs ago0xfa5ec0f794d1a7b96b3ea6d8f8bd6474573db0e6 IN  Furucombo: Proxy v0.20 Ether0.‍007446428
0xf6babd6826e77bbbffd503b881174cb2341f939cabc7e38fda9e76729706d7dcBatch Exec101404432020-05-26 9:12:19808 days 8 hrs ago0xbcb4c8386c097589e7825aaeb9e7c6295835f1d6 IN  Furucombo: Proxy v0.20 Ether0.‍0094330833
0x8b8411a516beff8e06824d532865e1b49a6a4853907b6dd59c54032059b330a1Batch Exec101354482020-05-25 14:20:21809 days 3 hrs ago0xa3c1c91403f0026b9dd086882adbc8cdbc3b3cfb IN  Furucombo: Proxy v0.20 Ether0.‍0432912834
0xa5803de3586e9eadb990ce6b5947e50e0fe71591fb7854dd56431b4ae4d6760fBatch Exec101345842020-05-25 11:09:52809 days 7 hrs ago0xa3c1c91403f0026b9dd086882adbc8cdbc3b3cfb IN  Furucombo: Proxy v0.20 Ether0.‍0265543332
0x9f07167767455cc841f5a6b508bbb7f327bda087b52b21218b257e601bc6a2f6Batch Exec101333782020-05-25 6:35:16809 days 11 hrs ago0xab17a98b538ce9552f228421b57705b01b38750a IN  Furucombo: Proxy v0.20 Ether0.‍0209683424
0x603c9f9513d52ea188919676e230418ce3fcc1a81ad839191b02ec8b499b4107Batch Exec101163542020-05-22 15:16:03812 days 2 hrs ago0x1b3e1786c3f8524ca0f3175b0b37bcc1bee5a6d5 IN  Furucombo: Proxy v0.20 Ether0.‍0200481931
0xa565a65904189412af159c2c28be29e73932f03936bb9041738ffaae4ba22498Batch Exec101094862020-05-21 13:24:24813 days 4 hrs ago0xa8ce801d03ff3f0e38dbfe7e2bf32b59bbdd037d IN  Furucombo: Proxy v0.20.‍24 Ether0.‍0536145928
[ Download CSV Export 

OVERVIEW

Save time, save steps, infinite DeFi combinations. Build your own DeFi legos into one transaction without knowing how to code.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x2f1c88dcd1e36f2a6e42e6a5fccb68b5665945e0fb0a27660214eb0dcf4d5100102517582020-06-12 15:45:08791 days 2 hrs ago Furucombo: Proxy v0.20x77299cf68685b96a529d392c7d8edfc94cbdcc150.‍0000086 Ether
0x2f1c88dcd1e36f2a6e42e6a5fccb68b5665945e0fb0a27660214eb0dcf4d5100102517582020-06-12 15:45:08791 days 2 hrs ago Furucombo: Proxy v0.2 Aave: Lending Pool V113.‍00545 Ether
0x2f1c88dcd1e36f2a6e42e6a5fccb68b5665945e0fb0a27660214eb0dcf4d5100102517582020-06-12 15:45:08791 days 2 hrs ago Compound: cETH Token Furucombo: Proxy v0.29.‍0054586 Ether
0x336d1874ebbf76d3e59a16e719b5be6c19ab4c73b89c4d7211b9896562612ac4102493512020-06-12 6:51:16791 days 11 hrs ago Furucombo: Proxy v0.2 Uniswap: DAI0.‍45 Ether
0x249e06e3e09118bc455ef43767194fd5babc9baf67b23e4d20747fe38ce190ff102460522020-06-11 18:35:39791 days 23 hrs ago Furucombo: Proxy v0.2 Uniswap: TUSD0.‍2 Ether
0xc7bff7729c7ed0d9f7092a297db5039d4e9747d00c0b0b267430618251261469102402542020-06-10 21:02:39792 days 21 hrs ago Furucombo: Proxy v0.20x77299cf68685b96a529d392c7d8edfc94cbdcc150.‍0000057 Ether
0xc7bff7729c7ed0d9f7092a297db5039d4e9747d00c0b0b267430618251261469102402542020-06-10 21:02:39792 days 21 hrs ago Furucombo: Proxy v0.2 Aave: Lending Pool V10.‍62037 Ether
0xc7bff7729c7ed0d9f7092a297db5039d4e9747d00c0b0b267430618251261469102402542020-06-10 21:02:39792 days 21 hrs ago Compound: cETH Token Furucombo: Proxy v0.20.‍6203757 Ether
0x3d92e95b79cad2e23c3857eb67eecbfb5b4bd6b6315fcc14a002cc18bc908ad1102176912020-06-07 8:50:23796 days 9 hrs ago Furucombo: Proxy v0.20x3c44ccfae554eb4a15041217203c61bf068d6c330.‍99310947 Ether
0x3d92e95b79cad2e23c3857eb67eecbfb5b4bd6b6315fcc14a002cc18bc908ad1102176912020-06-07 8:50:23796 days 9 hrs ago Furucombo: Proxy v0.2 Aave: Lending Pool Core V11.‍0009 Ether
0x3d92e95b79cad2e23c3857eb67eecbfb5b4bd6b6315fcc14a002cc18bc908ad1102176912020-06-07 8:50:23796 days 9 hrs ago Kyber: Contract Furucombo: Proxy v0.20.‍99400947 Ether
0x3d92e95b79cad2e23c3857eb67eecbfb5b4bd6b6315fcc14a002cc18bc908ad1102176912020-06-07 8:50:23796 days 9 hrs ago Furucombo: Proxy v0.2 Uniswap: DAI1 Ether
0x3d92e95b79cad2e23c3857eb67eecbfb5b4bd6b6315fcc14a002cc18bc908ad1102176912020-06-07 8:50:23796 days 9 hrs ago Aave: Lending Pool Core V1 Furucombo: Proxy v0.21 Ether
0x029e9cf1b91dd784bdad385252f870b8ce8c6fc399eb6863d62d20d718a24d68102119532020-06-06 11:40:36797 days 6 hrs ago Furucombo: Proxy v0.20x92d062d4641ad098a064a78f350d782026710fac0.‍00001 Ether
0x029e9cf1b91dd784bdad385252f870b8ce8c6fc399eb6863d62d20d718a24d68102119532020-06-06 11:40:36797 days 6 hrs ago Furucombo: Proxy v0.2 Aave: Lending Pool Core V10.‍50045 Ether
0x029e9cf1b91dd784bdad385252f870b8ce8c6fc399eb6863d62d20d718a24d68102119532020-06-06 11:40:36797 days 6 hrs ago Aave: Lending Pool Core V1 Furucombo: Proxy v0.20.‍5 Ether
0x637d07d573404d826b1a322044bf021dfcdef7f112e2900f7fe789ec499043bf102073902020-06-05 18:40:50797 days 23 hrs ago Furucombo: Proxy v0.2 Uniswap: TUSD0.‍2 Ether
0x6109e7258b97310dc4e8ce55d97101d5d769cd54ed56ffa6fba78c0e73171ef8102001892020-06-04 15:40:51799 days 2 hrs ago Furucombo: Proxy v0.2 Uniswap: USDC0.‍1 Ether
0xfabf73b284d67ce141fb8550c172c9f52bee0f20d0167e236fac1589c2ee14a6101841552020-06-02 4:13:09801 days 13 hrs ago Furucombo: Proxy v0.20xcde59bf3e9932a42a04d32c5cc5090a15c78792e3.‍64882401 Ether
0xfabf73b284d67ce141fb8550c172c9f52bee0f20d0167e236fac1589c2ee14a6101841552020-06-02 4:13:09801 days 13 hrs ago Kyber: Contract Furucombo: Proxy v0.23.‍64882401 Ether
0xac6e2944b3ceac235cf1ea1c048430d31c5c20d715c465ad4272e987caecb6bf101790642020-06-01 9:03:56802 days 9 hrs ago Furucombo: Proxy v0.2ENS Name javanchen.eth0.‍00152644 Ether
0xac6e2944b3ceac235cf1ea1c048430d31c5c20d715c465ad4272e987caecb6bf101790642020-06-01 9:03:56802 days 9 hrs ago Uniswap: DAI Furucombo: Proxy v0.20.‍00000644 Ether
0xac6e2944b3ceac235cf1ea1c048430d31c5c20d715c465ad4272e987caecb6bf101790642020-06-01 9:03:56802 days 9 hrs ago Furucombo: Proxy v0.2 Uniswap: DAI0.‍00848 Ether
0xbf47298e451397b91050279e8b91fa2924b067d441b0dca1fc2fd5024a542fc3101470412020-05-27 9:39:08807 days 8 hrs ago Furucombo: Proxy v0.20x56d44a78c42f7b3c18ded0f3e377394d7ed44eff0.‍01059406 Ether
0xbf47298e451397b91050279e8b91fa2924b067d441b0dca1fc2fd5024a542fc3101470412020-05-27 9:39:08807 days 8 hrs ago Furucombo: Proxy v0.2 Aave: Lending Pool Core V11.‍0009 Ether
[ Download CSV Export 
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

Contract Source Code Verified (Exact Match)

Contract Name:
Proxy

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-04-24
*/

// File: @openzeppelin/contracts/token/ERC20/IERC20.sol

pragma solidity ^0.5.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP. Does not include
 * the optional functions; to access them see {ERC20Detailed}.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

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

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

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

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

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

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

// File: @openzeppelin/contracts/utils/Address.sol

pragma solidity ^0.5.5;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following 
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    /**
     * @dev Converts an `address` into `address payable`. Note that this is
     * simply a type cast: the actual underlying value is not changed.
     *
     * _Available since v2.4.0._
     */
    function toPayable(address account) internal pure returns (address payable) {
        return address(uint160(account));
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     *
     * _Available since v2.4.0._
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-call-value
        (bool success, ) = recipient.call.value(amount)("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

// File: contracts/Proxy.sol

pragma solidity ^0.5.0;
pragma experimental ABIEncoderV2;



interface IRegistry {
    function isValid(address handler) external view returns (bool result);
    function getInfo(address handler) external view returns (bytes32 info);
}

contract Proxy {
    using Address for address;

    address[] public tokens;

    modifier isTokenEmpty() {
        require(tokens.length == 0, "Token list not empty");
        _;
    }

    // keccak256 hash of "furucombo.handler.registry"
    bytes32 private constant HANDLER_REGISTRY =
        0x6874162fd62902201ea0f4bf541086067b3b88bd802fac9e150fd2d1db584e19;

    constructor(address registry) public {
        bytes32 slot = HANDLER_REGISTRY;
        assembly {
            sstore(slot, registry)
        }
    }

    function () payable external {
        require(Address.isContract(msg.sender), "Not allowed from EOA");

        if (msg.data.length != 0) {
            require(_isValid(msg.sender), "Invalid caller");
            address target = address(bytes20(IRegistry(_getRegistry()).getInfo(msg.sender)));
            _exec(target, msg.data);
        }
    }

    function batchExec(address[] memory tos, bytes[] memory datas)
        public
        payable
    {
        _preProcess();
        _execs(tos, datas);
        _postProcess();
    }

    function execs(address[] memory tos, bytes[] memory datas) public payable {
        require(msg.sender == address(this), "Does not allow external calls");
        _execs(tos, datas);
    }

    function _execs(address[] memory tos, bytes[] memory datas) internal {
        require(tos.length == datas.length, "Tos and datas length inconsistent");
        for (uint256 i = 0; i < tos.length; i++) {
            _exec(tos[i], datas[i]);
        }
    }

    function _exec(address _to, bytes memory _data) internal returns (bytes memory result) {
        require(_isValid(_to), "Invalid handler");
        assembly {
            let succeeded := delegatecall(sub(gas, 5000), _to, add(_data, 0x20), mload(_data), 0, 0)
            let size := returndatasize

            result := mload(0x40)
            mstore(0x40, add(result, and(add(add(size, 0x20), 0x1f), not(0x1f))))
            mstore(result, size)
            returndatacopy(add(result, 0x20), 0, size)

            switch iszero(succeeded)
            case 1 {
                revert(add(result, 0x20), size)
            }
        }
    }

    function _preProcess() isTokenEmpty internal {}

    function _postProcess() internal {
        // Token involved should be returned to user
        while (tokens.length > 0) {
            address token = tokens[tokens.length - 1];
            uint256 amount = IERC20(token).balanceOf(address(this));
            if (amount > 0)
                IERC20(token).transfer(msg.sender, amount);
            tokens.pop();
        }

        // Balance should also be returned to user
        uint256 amount = address(this).balance;
        if (amount > 0)
            msg.sender.transfer(amount);
    }

    function _getRegistry() internal view returns (address registry) {
        bytes32 slot = HANDLER_REGISTRY;
        assembly {
            registry := sload(slot)
        }
    }

    function _isValid(address handler) internal view returns (bool result) {
        return IRegistry(_getRegistry()).isValid(handler);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[{"internalType":"address[]","name":"tos","type":"address[]"},{"internalType":"bytes[]","name":"datas","type":"bytes[]"}],"name":"batchExec","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"tos","type":"address[]"},{"internalType":"bytes[]","name":"datas","type":"bytes[]"}],"name":"execs","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokens","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b50604051610b97380380610b9783398101604081905261002f91610067565b7f6874162fd62902201ea0f4bf541086067b3b88bd802fac9e150fd2d1db584e19556100b5565b80516100618161009e565b92915050565b60006020828403121561007957600080fd5b60006100858484610056565b949350505050565b60006001600160a01b038216610061565b6100a78161008d565b81146100b257600080fd5b50565b610ad3806100c46000396000f3fe6080604052600436106100345760003560e01c80634f64b2be1461015d57806374a28f791461019357806394da7864146101a6575b61003d336101b9565b6100625760405162461bcd60e51b815260040161005990610975565b60405180910390fd5b361561015b57610071336101f5565b61008d5760405162461bcd60e51b815260040161005990610965565b6000610097610280565b6001600160a01b031663ffdd5cf1336040518263ffffffff1660e01b81526004016100c29190610925565b60206040518083038186803b1580156100da57600080fd5b505afa1580156100ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101129190810190610789565b60601c9050610158816000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506102a592505050565b50505b005b34801561016957600080fd5b5061017d6101783660046107a7565b61031c565b60405161018a9190610917565b60405180910390f35b61015b6101a1366004610702565b610343565b61015b6101b4366004610702565b610361565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906101ed57508115155b949350505050565b60006101ff610280565b6001600160a01b0316638b1b925f836040518263ffffffff1660e01b815260040161022a9190610917565b60206040518083038186803b15801561024257600080fd5b505afa158015610256573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061027a919081019061076b565b92915050565b7f6874162fd62902201ea0f4bf541086067b3b88bd802fac9e150fd2d1db584e195490565b60606102b0836101f5565b6102cc5760405162461bcd60e51b815260040161005990610985565b600080835160208501866113885a03f43d6040519250601f19601f6020830101168301604052808352806000602085013e81156001811461030c57610313565b8160208501fd5b50505092915050565b6000818154811061032957fe5b6000918252602090912001546001600160a01b0316905081565b61034b61038a565b61035582826103ac565b61035d610417565b5050565b3330146103805760405162461bcd60e51b815260040161005990610995565b61035d82826103ac565b600054156103aa5760405162461bcd60e51b815260040161005990610955565b565b80518251146103cd5760405162461bcd60e51b8152600401610059906109a5565b60005b8251811015610412576104098382815181106103e857fe5b60200260200101518383815181106103fc57fe5b60200260200101516102a5565b506001016103d0565b505050565b6000541561057d57600080548190600019810190811061043357fe5b60009182526020822001546040516370a0823160e01b81526001600160a01b03909116925082906370a082319061046e903090600401610925565b60206040518083038186803b15801561048657600080fd5b505afa15801561049a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104be9190810190610789565b905080156105485760405163a9059cbb60e01b81526001600160a01b0383169063a9059cbb906104f49033908590600401610933565b602060405180830381600087803b15801561050e57600080fd5b505af1158015610522573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610546919081019061076b565b505b600080548061055357fe5b600082815260209020810160001990810180546001600160a01b0319169055019055506104179050565b4780156105b157604051339082156108fc029083906000818181858888f1935050505015801561035d573d6000803e3d6000fd5b50565b803561027a81610a6a565b600082601f8301126105d057600080fd5b81356105e36105de826109dc565b6109b5565b9150818183526020840193506020810190508385602084028201111561060857600080fd5b60005b83811015610634578161061e88826105b4565b845250602092830192919091019060010161060b565b5050505092915050565b600082601f83011261064f57600080fd5b813561065d6105de826109dc565b81815260209384019390925082018360005b83811015610634578135860161068588826106b1565b845250602092830192919091019060010161066f565b805161027a81610a7e565b805161027a81610a87565b600082601f8301126106c257600080fd5b81356106d06105de826109fd565b915080825260208301602083018583830111156106ec57600080fd5b610313838284610a5e565b803561027a81610a87565b6000806040838503121561071557600080fd5b823567ffffffffffffffff81111561072c57600080fd5b610738858286016105bf565b925050602083013567ffffffffffffffff81111561075557600080fd5b6107618582860161063e565b9150509250929050565b60006020828403121561077d57600080fd5b60006101ed848461069b565b60006020828403121561079b57600080fd5b60006101ed84846106a6565b6000602082840312156107b957600080fd5b60006101ed84846106f7565b6107ce81610a4d565b82525050565b6107ce81610a2e565b60006107ea601483610a25565b73546f6b656e206c697374206e6f7420656d70747960601b815260200192915050565b600061081a600e83610a25565b6d24b73b30b634b21031b0b63632b960911b815260200192915050565b6000610844601483610a25565b734e6f7420616c6c6f7765642066726f6d20454f4160601b815260200192915050565b6000610874600f83610a25565b6e24b73b30b634b2103430b7323632b960891b815260200192915050565b600061089f601d83610a25565b7f446f6573206e6f7420616c6c6f772065787465726e616c2063616c6c73000000815260200192915050565b60006108d8602183610a25565b7f546f7320616e64206461746173206c656e67746820696e636f6e73697374656e8152601d60fa1b602082015260400192915050565b6107ce81610a3e565b6020810161027a82846107d4565b6020810161027a82846107c5565b6040810161094182856107c5565b61094e602083018461090e565b9392505050565b6020808252810161027a816107dd565b6020808252810161027a8161080d565b6020808252810161027a81610837565b6020808252810161027a81610867565b6020808252810161027a81610892565b6020808252810161027a816108cb565b60405181810167ffffffffffffffff811182821017156109d457600080fd5b604052919050565b600067ffffffffffffffff8211156109f357600080fd5b5060209081020190565b600067ffffffffffffffff821115610a1457600080fd5b506020601f91909101601f19160190565b90815260200190565b600061027a82610a41565b151590565b90565b6001600160a01b031690565b600061027a82600061027a82610a2e565b82818337506000910152565b610a7381610a2e565b81146105b157600080fd5b610a7381610a39565b610a7381610a3e56fea365627a7a72315820046b09417512c05ceaccea83b6db34fae28af4451b201e488baab618a72f75c86c6578706572696d656e74616cf564736f6c63430005100040000000000000000000000000af1134a479c0d3ecae95cec4490b97305ac17970

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

000000000000000000000000af1134a479c0d3ecae95cec4490b97305ac17970

-----Decoded View---------------
Arg [0] : registry (address): 0xaf1134a479c0d3ecae95cec4490b97305ac17970

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000af1134a479c0d3ecae95cec4490b97305ac17970


Deployed ByteCode Sourcemap

6240:3190:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;6835:30;6854:10;6835:18;:30::i;:::-;6827:63;;;;-1:-1:-1;;;6827:63:0;;;;;;;;;;;;;;;;;6907:8;:20;6903:233;;6952:20;6961:10;6952:8;:20::i;:::-;6944:47;;;;-1:-1:-1;;;6944:47:0;;;;;;;;;7006:14;7049;:12;:14::i;:::-;-1:-1:-1;;;;;7039:33:0;;7073:10;7039:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7039:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7039:45:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;7039:45:0;;;;;;;;;7023:63;;7006:80;;7101:23;7107:6;7115:8;;7101:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;7101:5:0;;-1:-1:-1;;;7101:23:0:i;:::-;;6903:233;;6240:3190;6296:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6296:23:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7151:187;;;;;;;;;:::i;7346:191::-;;;;;;;;;:::i;3643:619::-;3703:4;4171:20;;4014:66;4211:23;;;;;;:42;;-1:-1:-1;4238:15:0;;;4211:42;4203:51;3643:619;-1:-1:-1;;;;3643:619:0:o;9288:139::-;9346:11;9387:14;:12;:14::i;:::-;-1:-1:-1;;;;;9377:33:0;;9411:7;9377:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9377:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9377:42:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;9377:42:0;;;;;;;;;9370:49;9288:139;-1:-1:-1;;9288:139:0:o;9097:183::-;6550:66;9251:11;;9224:49::o;7814:656::-;7880:19;7920:13;7929:3;7920:8;:13::i;:::-;7912:41;;;;-1:-1:-1;;;7912:41:0;;;;;;;;;8074:1;8071;8063:5;8057:12;8050:4;8043:5;8039:16;8034:3;8027:4;8022:3;8018:14;8005:71;8102:14;8148:4;8142:11;8132:21;;8228:4;8224:9;8217:4;8210;8204;8200:15;8196:26;8192:42;8184:6;8180:55;8174:4;8167:69;8265:4;8257:6;8250:20;8321:4;8318:1;8311:4;8303:6;8299:17;8284:42;8356:9;8349:17;8385:1;8380:72;;;;8342:110;;8380:72;8432:4;8425;8417:6;8413:17;8406:31;8342:110;;7973:490;;;;;;:::o;6296:23::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6296:23:0;;-1:-1:-1;6296:23:0;:::o;7151:187::-;7263:13;:11;:13::i;:::-;7287:18;7294:3;7299:5;7287:6;:18::i;:::-;7316:14;:12;:14::i;:::-;7151:187;;:::o;7346:191::-;7439:10;7461:4;7439:27;7431:69;;;;-1:-1:-1;;;7431:69:0;;;;;;;;;7511:18;7518:3;7523:5;7511:6;:18::i;8478:47::-;6371:6;:13;:18;6363:51;;;;-1:-1:-1;;;6363:51:0;;;;;;;;;8478:47::o;7545:261::-;7647:5;:12;7633:3;:10;:26;7625:72;;;;-1:-1:-1;;;7625:72:0;;;;;;;;;7713:9;7708:91;7732:3;:10;7728:1;:14;7708:91;;;7764:23;7770:3;7774:1;7770:6;;;;;;;;;;;;;;7778:5;7784:1;7778:8;;;;;;;;;;;;;;7764:5;:23::i;:::-;-1:-1:-1;7744:3:0;;7708:91;;;;7545:261;;:::o;8533:556::-;8654:1;8638:13;:17;8631:281;;8672:13;8695;;8672;;-1:-1:-1;;8695:17:0;;;8688:25;;;;;;;;;;;;;;;8745:38;;-1:-1:-1;;;8745:38:0;;-1:-1:-1;;;;;8688:25:0;;;;-1:-1:-1;8688:25:0;;8745:23;;:38;;8777:4;;8745:38;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8745:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8745:38:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;8745:38:0;;;;;;;;;8728:55;-1:-1:-1;8802:10:0;;8798:75;;8831:42;;-1:-1:-1;;;8831:42:0;;-1:-1:-1;;;;;8831:22:0;;;;;:42;;8854:10;;8866:6;;8831:42;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8831:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8831:42:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;8831:42:0;;;;;;;;;;8798:75;8888:6;:12;;;;;;;;;;;;;;;;-1:-1:-1;;8888:12:0;;;;;-1:-1:-1;;;;;;8888:12:0;;;;;;-1:-1:-1;8631:281:0;;-1:-1:-1;8631:281:0;;8993:21;9029:10;;9025:56;;9054:27;;:10;;:27;;;;;9074:6;;9054:27;;;;9074:6;9054:10;:27;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;9025:56:0;8533:556;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;160:707;;277:3;270:4;262:6;258:17;254:27;244:2;;295:1;292;285:12;244:2;332:6;319:20;354:80;369:64;426:6;369:64;;;354:80;;;345:89;;451:5;476:6;469:5;462:21;506:4;498:6;494:17;484:27;;528:4;523:3;519:14;512:21;;581:6;628:3;620:4;612:6;608:17;603:3;599:27;596:36;593:2;;;645:1;642;635:12;593:2;670:1;655:206;680:6;677:1;674:13;655:206;;;738:3;760:37;793:3;781:10;760:37;;;748:50;;-1:-1;821:4;812:14;;;;840;;;;;702:1;695:9;655:206;;;659:14;237:630;;;;;;;;891:693;;1013:3;1006:4;998:6;994:17;990:27;980:2;;1031:1;1028;1021:12;980:2;1068:6;1055:20;1090:85;1105:69;1167:6;1105:69;;1090:85;1203:21;;;1247:4;1235:17;;;;1081:94;;-1:-1;1260:14;;1235:17;1355:1;1340:238;1365:6;1362:1;1359:13;1340:238;;;1448:3;1435:17;1427:6;1423:30;1472:42;1510:3;1498:10;1472:42;;;1460:55;;-1:-1;1538:4;1529:14;;;;1557;;;;;1387:1;1380:9;1340:238;;1592:128;1667:13;;1685:30;1667:13;1685:30;;1727:134;1805:13;;1823:33;1805:13;1823:33;;1869:432;;1966:3;1959:4;1951:6;1947:17;1943:27;1933:2;;1984:1;1981;1974:12;1933:2;2021:6;2008:20;2043:60;2058:44;2095:6;2058:44;;2043:60;2034:69;;2123:6;2116:5;2109:21;2159:4;2151:6;2147:17;2192:4;2185:5;2181:16;2227:3;2218:6;2213:3;2209:16;2206:25;2203:2;;;2244:1;2241;2234:12;2203:2;2254:41;2288:6;2283:3;2278;2254:41;;2309:130;2376:20;;2401:33;2376:20;2401:33;;2587:648;;;2763:2;2751:9;2742:7;2738:23;2734:32;2731:2;;;2779:1;2776;2769:12;2731:2;2814:31;;2865:18;2854:30;;2851:2;;;2897:1;2894;2887:12;2851:2;2917:78;2987:7;2978:6;2967:9;2963:22;2917:78;;;2907:88;;2793:208;3060:2;3049:9;3045:18;3032:32;3084:18;3076:6;3073:30;3070:2;;;3116:1;3113;3106:12;3070:2;3136:83;3211:7;3202:6;3191:9;3187:22;3136:83;;;3126:93;;3011:214;2725:510;;;;;;3242:257;;3354:2;3342:9;3333:7;3329:23;3325:32;3322:2;;;3370:1;3367;3360:12;3322:2;3405:1;3422:61;3475:7;3455:9;3422:61;;3506:263;;3621:2;3609:9;3600:7;3596:23;3592:32;3589:2;;;3637:1;3634;3627:12;3589:2;3672:1;3689:64;3745:7;3725:9;3689:64;;3776:241;;3880:2;3868:9;3859:7;3855:23;3851:32;3848:2;;;3896:1;3893;3886:12;3848:2;3931:1;3948:53;3993:7;3973:9;3948:53;;4294:142;4385:45;4424:5;4385:45;;;4380:3;4373:58;4367:69;;;4443:113;4526:24;4544:5;4526:24;;4564:320;;4724:67;4788:2;4783:3;4724:67;;;-1:-1;;;4804:43;;4875:2;4866:12;;4710:174;-1:-1;;4710:174;4893:314;;5053:67;5117:2;5112:3;5053:67;;;-1:-1;;;5133:37;;5198:2;5189:12;;5039:168;-1:-1;;5039:168;5216:320;;5376:67;5440:2;5435:3;5376:67;;;-1:-1;;;5456:43;;5527:2;5518:12;;5362:174;-1:-1;;5362:174;5545:315;;5705:67;5769:2;5764:3;5705:67;;;-1:-1;;;5785:38;;5851:2;5842:12;;5691:169;-1:-1;;5691:169;5869:329;;6029:67;6093:2;6088:3;6029:67;;;6129:31;6109:52;;6189:2;6180:12;;6015:183;-1:-1;;6015:183;6207:370;;6367:67;6431:2;6426:3;6367:67;;;6467:34;6447:55;;-1:-1;;;6531:2;6522:12;;6515:25;6568:2;6559:12;;6353:224;-1:-1;;6353:224;6585:113;6668:24;6686:5;6668:24;;6705:213;6823:2;6808:18;;6837:71;6812:9;6881:6;6837:71;;6925:229;7051:2;7036:18;;7065:79;7040:9;7117:6;7065:79;;7161:340;7315:2;7300:18;;7329:79;7304:9;7381:6;7329:79;;;7419:72;7487:2;7476:9;7472:18;7463:6;7419:72;;;7286:215;;;;;;7508:407;7699:2;7713:47;;;7684:18;;7774:131;7684:18;7774:131;;7922:407;8113:2;8127:47;;;8098:18;;8188:131;8098:18;8188:131;;8336:407;8527:2;8541:47;;;8512:18;;8602:131;8512:18;8602:131;;8750:407;8941:2;8955:47;;;8926:18;;9016:131;8926:18;9016:131;;9164:407;9355:2;9369:47;;;9340:18;;9430:131;9340:18;9430:131;;9578:407;9769:2;9783:47;;;9754:18;;9844:131;9754:18;9844:131;;9992:256;10054:2;10048:9;10080:17;;;10155:18;10140:34;;10176:22;;;10137:62;10134:2;;;10212:1;10209;10202:12;10134:2;10228;10221:22;10032:216;;-1:-1;10032:216;10255:304;;10414:18;10406:6;10403:30;10400:2;;;10446:1;10443;10436:12;10400:2;-1:-1;10481:4;10469:17;;;10534:15;;10337:222;10882:317;;11021:18;11013:6;11010:30;11007:2;;;11053:1;11050;11043:12;11007:2;-1:-1;11184:4;11120;11097:17;;;;-1:-1;;11093:33;11174:15;;10944:255;11207:163;11310:19;;;11359:4;11350:14;;11303:67;11378:91;;11440:24;11458:5;11440:24;;11476:85;11542:13;11535:21;;11518:43;11568:72;11630:5;11613:27;11647:121;-1:-1;;;;;11709:54;;11692:76;11854:129;;11941:37;11972:5;11990:121;12069:37;12100:5;12069:37;;12234:145;12315:6;12310:3;12305;12292:30;-1:-1;12371:1;12353:16;;12346:27;12285:94;12387:117;12456:24;12474:5;12456:24;;;12449:5;12446:35;12436:2;;12495:1;12492;12485:12;12511:111;12577:21;12592:5;12577:21;;12629:117;12698:24;12716:5;12698:24;

Swarm Source

bzzr://046b09417512c05ceaccea83b6db34fae28af4451b201e488baab618a72f75c8
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.