Contract 0x94c65c68f6BCcE6eE60b3886e567d07b30127732

Contract Overview

Balance:
0 FTM

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x1373bfb782ac14b445145e8ee55c11043273142bfc7b54b2e0ac663b4d839456Swapout_no_fallb...102085852022-08-29 8:53:0537 days 12 hrs ago0x0479f45ad2faa065c7cc6789fe3f8719b498db31 IN  0x94c65c68f6bcce6ee60b3886e567d07b301277320 FTM0.000159876853
0xcd7a04c2bf7984eb9d6707db3ee04d11067be934adbc33a07ac1968f1c8d06cfSet Peers102062592022-08-29 4:28:0537 days 17 hrs ago0xe9058a6685fb99b1dda6a8aab2865b59f7095c3d IN  0x94c65c68f6bcce6ee60b3886e567d07b301277320 FTM0.000051832313
0x4a0884e07a35d216b25fbdd9372c64e892911dfc2a3f0828a4cd7c43900b7d0dSwapout_no_fallb...102059742022-08-29 3:49:5037 days 17 hrs ago0xfa9da51631268a30ec3ddd1ccbf46c65fad99251 IN  0x94c65c68f6bcce6ee60b3886e567d07b301277320 FTM0.000175169596
0x168695c17dd95001315d586a78720bf0be403f9b602c8cce674770cbdc04f9c20x60806040102056382022-08-29 3:07:0537 days 18 hrs ago0xe9058a6685fb99b1dda6a8aab2865b59f7095c3d IN  Create: ERC721Gateway_LILO0 FTM0.004747099
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0x168695c17dd95001315d586a78720bf0be403f9b602c8cce674770cbdc04f9c2102056382022-08-29 3:07:0537 days 18 hrs ago 0xe9058a6685fb99b1dda6a8aab2865b59f7095c3d  Contract Creation0 FTM
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC721Gateway_LILO

Compiler Version
v0.8.2+commit.661d1103

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at FtmScan.com on 2022-08-29
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.1;

interface IAnycallV6Proxy {
    function anyCall(
        address _to,
        bytes calldata _data,
        address _fallback,
        uint256 _toChainID,
        uint256 _flags
    ) external payable;

    function executor() external view returns (address);
}

interface IExecutor {
    function context() external returns (address from, uint256 fromChainID, uint256 nonce);
}

contract Administrable {
    address public admin;
    address public pendingAdmin;
    event LogSetAdmin(address admin);
    event LogTransferAdmin(address oldadmin, address newadmin);
    event LogAcceptAdmin(address admin);

    function setAdmin(address admin_) internal {
        admin = admin_;
        emit LogSetAdmin(admin_);
    }

    function transferAdmin(address newAdmin) external onlyAdmin {
        address oldAdmin = pendingAdmin;
        pendingAdmin = newAdmin;
        emit LogTransferAdmin(oldAdmin, newAdmin);
    }

    function acceptAdmin() external {
        require(msg.sender == pendingAdmin);
        admin = pendingAdmin;
        pendingAdmin = address(0);
        emit LogAcceptAdmin(admin);
    }

    modifier onlyAdmin() {
        require(msg.sender == admin);
        _;
    }
}

abstract contract AnyCallApp is Administrable {
    uint256 public flag; // 0: pay on dest chain, 2: pay on source chain
    address public anyCallProxy;

    mapping(uint256 => address) public peer;

    modifier onlyExecutor() {
        require(msg.sender == IAnycallV6Proxy(anyCallProxy).executor());
        _;
    }

    constructor (address anyCallProxy_, uint256 flag_) {
        anyCallProxy = anyCallProxy_;
        flag = flag_;
    }

    function setPeers(uint256[] memory chainIDs, address[] memory  peers) public onlyAdmin {
        for (uint i = 0; i < chainIDs.length; i++) {
            peer[chainIDs[i]] = peers[i];
        }
    }

    function setAnyCallProxy(address proxy) public onlyAdmin {
        anyCallProxy = proxy;
    }

    function _anyExecute(uint256 fromChainID, bytes calldata data) internal virtual returns (bool success, bytes memory result);

    function _anyFallback(bytes calldata data) internal virtual;

    function _anyCall(address _to, bytes memory _data, address _fallback, uint256 _toChainID) internal {
        if (flag == 2) {
            IAnycallV6Proxy(anyCallProxy).anyCall{value: msg.value}(_to, _data, _fallback, _toChainID, flag);
        } else {
            IAnycallV6Proxy(anyCallProxy).anyCall(_to, _data, _fallback, _toChainID, flag);
        }
    }

    function anyExecute(bytes calldata data) external onlyExecutor returns (bool success, bytes memory result) {
        (address callFrom, uint256 fromChainID,) = IExecutor(IAnycallV6Proxy(anyCallProxy).executor()).context();
        require(peer[fromChainID] == callFrom, "call not allowed");
        _anyExecute(fromChainID, data);
    }

    function anyFallback(address to, bytes calldata data) external onlyExecutor {
        (address callFrom, ,) = IExecutor(IAnycallV6Proxy(anyCallProxy).executor()).context();
        require(address(this) == callFrom, "call not allowed");
        _anyFallback(data);
    }
}

// interface of ERC20Gateway
interface IERC721Gateway {
    function token() external view returns (address);
    function Swapout(uint256 tokenId, address receiver, uint256 toChainID) external payable returns (uint256 swapoutSeq);
    function Swapout_no_fallback(uint256 tokenId, address receiver, uint256 toChainID) external payable returns (uint256 swapoutSeq);
}

abstract contract ERC721Gateway is IERC721Gateway, AnyCallApp {
    address override public token;
    uint256 public swapoutSeq;

    constructor (address anyCallProxy, uint256 flag, address token_) AnyCallApp(anyCallProxy, flag) {
        setAdmin(msg.sender);
        token = token_;
    }

    function _swapout(uint256 tokenId, uint256 chainID) internal virtual returns (bool, bytes memory);
    function _swapin(uint256 tokenId, address receiver, bytes memory extraMsg) internal virtual returns (bool);
    function _swapoutFallback(uint256 tokenId, address sender, uint256 swapoutSeq, bytes memory extraMsg) internal virtual returns (bool);

    event LogAnySwapOut(uint256 tokenId, address sender, address receiver, uint256 toChainID, uint256 swapoutSeq);

    function Swapout(uint256 tokenId, address receiver, uint256 destChainID) override external payable returns (uint256) {
        (bool ok, bytes memory extraMsg) = _swapout(tokenId, destChainID);
        require(ok);
        swapoutSeq++;
        bytes memory data = abi.encode(tokenId, msg.sender, receiver, swapoutSeq, extraMsg);
        _anyCall(peer[destChainID], data, address(this), destChainID);
        emit LogAnySwapOut(tokenId, msg.sender, receiver, destChainID, swapoutSeq);
        return swapoutSeq;
    }

    function Swapout_no_fallback(uint256 tokenId, address receiver, uint256 destChainID) override external payable returns (uint256) {
        (bool ok, bytes memory extraMsg) = _swapout(tokenId, destChainID);
        require(ok);
        swapoutSeq++;
        bytes memory data = abi.encode(tokenId, msg.sender, receiver, swapoutSeq, extraMsg);
        _anyCall(peer[destChainID], data, address(0), destChainID);
        emit LogAnySwapOut(tokenId, msg.sender, receiver, destChainID, swapoutSeq);
        return swapoutSeq;
    }

    function _anyExecute(uint256 fromChainID, bytes calldata data) internal override returns (bool success, bytes memory result) {
        (uint256 tokenId, , address receiver,,bytes memory extraMsg) = abi.decode(
            data,
            (uint256, address, address, uint256, bytes)
        );
        require(_swapin(tokenId, receiver, extraMsg));
    }

    function _anyFallback(bytes calldata data) internal override {
        (uint256 tokenId, address sender, , uint256 swapoutSeq, bytes memory extraMsg) = abi.decode(
            data,
            (uint256, address, address, uint256, bytes)
        );
        require(_swapoutFallback(tokenId, sender, swapoutSeq, extraMsg));
    }
}

library Address {
    function isContract(address account) internal view returns (bool) {
        return account.code.length > 0;
    }
}

interface IERC721 {
    function ownerOf(uint256 tokenId) external view returns (address owner);
    function mint(address account, uint256 tokenId) external;
    function burn(uint256 tokenId) external;
    function safeTransferFrom(address from, address to, uint256 tokenId) external;
}

interface IGatewayClient {
    function notifySwapoutFallback(bool refundSuccess, uint256 tokenId, uint256 swapoutSeq) external returns (bool);
}

interface IERC721Receiver {
    function onERC721Received(
        address operator,
        address from,
        uint256 tokenId,
        bytes calldata data
    ) external returns (bytes4);
}

contract ERC721Gateway_LILO is ERC721Gateway, IERC721Receiver {
    using Address for address;
    // swapin cost 40000 gas on dest chain
    // suggest price = 40000 * dst gas price * dst gas token price / src gas token price + margin
    mapping(uint256 => uint256) public priceTable; // chainID -> price (wei)

    function setPrice(uint256 chainID, uint256 price) external onlyAdmin {
        priceTable[chainID] = price;
    }

    function withdrawFee(address to, uint256 amount) external onlyAdmin {
        require(to.code.length == 0);
        (bool success,) = to.call{value: amount}("");
        require(success);
    }

    function onERC721Received(
        address operator,
        address from,
        uint256 tokenId,
        bytes calldata data
    ) override external returns (bytes4) {
        return IERC721Receiver.onERC721Received.selector;
    }

    constructor (address anyCallProxy, address token) ERC721Gateway(anyCallProxy, 2, token) onlyAdmin {
    }

    function _swapout(uint256 tokenId, uint256 chainID) internal override virtual returns (bool, bytes memory) {
        require(msg.value >= priceTable[chainID]);
        try IERC721(token).safeTransferFrom(msg.sender, address(this), tokenId) {
            return (true, "");
        } catch {
            return (false, "");
        }
    }

    function _swapin(uint256 tokenId, address receiver, bytes memory extraMsg) internal override returns (bool) {
        try IERC721(token).safeTransferFrom(address(this), receiver, tokenId) {
            return true;
        } catch {
            return false;
        }
    }
    
    function _swapoutFallback(uint256 tokenId, address sender, uint256 swapoutSeq, bytes memory extraMsg) internal override returns (bool result) {
        try IERC721(token).safeTransferFrom(address(this), sender, tokenId)  {
            result = true;
        } catch {
            result = false;
        }
        if (sender.isContract()) {
            bytes memory _data = abi.encodeWithSelector(IGatewayClient.notifySwapoutFallback.selector, result, tokenId, swapoutSeq);
            sender.call(_data);
        }
        return result;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"anyCallProxy","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"admin","type":"address"}],"name":"LogAcceptAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"toChainID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"swapoutSeq","type":"uint256"}],"name":"LogAnySwapOut","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"admin","type":"address"}],"name":"LogSetAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldadmin","type":"address"},{"indexed":false,"internalType":"address","name":"newadmin","type":"address"}],"name":"LogTransferAdmin","type":"event"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"destChainID","type":"uint256"}],"name":"Swapout","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"destChainID","type":"uint256"}],"name":"Swapout_no_fallback","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"acceptAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"anyCallProxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"anyExecute","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"result","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"anyFallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flag","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"peer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"priceTable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"proxy","type":"address"}],"name":"setAnyCallProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"chainIDs","type":"uint256[]"},{"internalType":"address[]","name":"peers","type":"address[]"}],"name":"setPeers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"chainID","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"name":"setPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapoutSeq","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"transferAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawFee","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b506040516200172c3803806200172c83398101604081905262000034916200010b565b600380546001600160a01b0319166001600160a01b038416179055600280805582908262000062336200009a565b600580546001600160a01b0319166001600160a01b03928316179055600054163314915062000092905057600080fd5b505062000142565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527fd9be138201bddb701e32a38e3dff605053c22b8f66e2a46b7f3aec9091f5a4149060200160405180910390a150565b80516001600160a01b03811681146200010657600080fd5b919050565b600080604083850312156200011e578182fd5b6200012983620000ee565b91506200013960208401620000ee565b90509250929050565b6115da80620001526000396000f3fe6080604052600436106101145760003560e01c8063a35fe8bf116100a0578063f59df7db11610064578063f59df7db14610316578063f7d9757714610343578063f851a44014610363578063fc0c546a14610383578063fd9be522146103a357610114565b8063a35fe8bf1461028d578063a3d56457146102ad578063abdcf909146102c3578063c0bdd63e146102d6578063f44a8afe146102f657610114565b80632de2c8ad116100e75780632de2c8ad146101e85780636994c7001461020857806375829def14610229578063890eba68146102495780639abaf4791461025f57610114565b80630e18b68114610119578063116a01a414610130578063150b7a021461018357806326782247146101c8575b600080fd5b34801561012557600080fd5b5061012e6103c3565b005b34801561013c57600080fd5b5061016661014b3660046112b1565b6004602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561018f57600080fd5b506101af61019e366004611095565b630a85bd0160e11b95945050505050565b6040516001600160e01b0319909116815260200161017a565b3480156101d457600080fd5b50600154610166906001600160a01b031681565b3480156101f457600080fd5b5061012e6102033660046111ba565b610439565b61021b610216366004611391565b6104fa565b60405190815260200161017a565b34801561023557600080fd5b5061012e61024436600461105d565b6105e5565b34801561025557600080fd5b5061021b60025481565b34801561026b57600080fd5b5061027f61027a366004611271565b61065d565b60405161017a92919061146f565b34801561029957600080fd5b5061012e6102a8366004611106565b61087c565b3480156102b957600080fd5b5061021b60065481565b61021b6102d1366004611391565b610a6e565b3480156102e257600080fd5b5061012e6102f136600461105d565b610af4565b34801561030257600080fd5b50600354610166906001600160a01b031681565b34801561032257600080fd5b5061021b6103313660046112b1565b60076020526000908152604090205481565b34801561034f57600080fd5b5061012e61035e3660046113c8565b610b2d565b34801561036f57600080fd5b50600054610166906001600160a01b031681565b34801561038f57600080fd5b50600554610166906001600160a01b031681565b3480156103af57600080fd5b5061012e6103be366004611159565b610b56565b6001546001600160a01b031633146103da57600080fd5b60018054600080546001600160a01b038084166001600160a01b031992831617928390559216909255604051911681527f803a94fb89b71a5b6268fe4f2ebd6f3883e006a025caa59244b9db7b150cb16d9060200160405180910390a1565b6000546001600160a01b0316331461045057600080fd5b60005b82518110156104f55781818151811061047c57634e487b7160e01b600052603260045260246000fd5b6020026020010151600460008584815181106104a857634e487b7160e01b600052603260045260246000fd5b6020026020010151815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080806104ed9061154f565b915050610453565b505050565b60008060006105098685610be2565b915091508161051757600080fd5b600680549060006105278361154f565b919050555060008633876006548560405160200161054995949392919061148a565b60408051601f1981840301815291815260008781526004602052205490915061057d906001600160a01b0316823088610c9b565b600654604080518981523360208201526001600160a01b03891681830152606081018890526080810192909252517f9584dfe28ed6ab973c2414e759ff69aeb2d5447efc8c1e575facfc10c8868c469181900360a00190a160065493505050505b9392505050565b6000546001600160a01b031633146105fc57600080fd5b600180546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f0ad836e1614da10ff391cfc802a39f547f3cdc42900fa72de16b085855c169d5910160405180910390a15050565b60006060600360009054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b815260040160206040518083038186803b1580156106af57600080fd5b505afa1580156106c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e79190611079565b6001600160a01b0316336001600160a01b03161461070457600080fd5b600080600360009054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b815260040160206040518083038186803b15801561075557600080fd5b505afa158015610769573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078d9190611079565b6001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381600087803b1580156107c757600080fd5b505af11580156107db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ff9190611184565b5060008181526004602052604090205491935091506001600160a01b038084169116146108665760405162461bcd60e51b815260206004820152601060248201526f18d85b1b081b9bdd08185b1b1bddd95960821b60448201526064015b60405180910390fd5b610871818787610d8a565b505050509250929050565b600360009054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ca57600080fd5b505afa1580156108de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109029190611079565b6001600160a01b0316336001600160a01b03161461091f57600080fd5b6003546040805163c34c08e560e01b815290516000926001600160a01b03169163c34c08e5916004808301926020929190829003018186803b15801561096457600080fd5b505afa158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c9190611079565b6001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381600087803b1580156109d657600080fd5b505af11580156109ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0e9190611184565b5090915050306001600160a01b03821614610a5e5760405162461bcd60e51b815260206004820152601060248201526f18d85b1b081b9bdd08185b1b1bddd95960821b604482015260640161085d565b610a688383610dc4565b50505050565b6000806000610a7d8685610be2565b9150915081610a8b57600080fd5b60068054906000610a9b8361154f565b9190505550600086338760065485604051602001610abd95949392919061148a565b60408051601f19818403018152918152600087815260046020529081205491925061057d916001600160a01b031690839088610c9b565b6000546001600160a01b03163314610b0b57600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b4457600080fd5b60009182526007602052604090912055565b6000546001600160a01b03163314610b6d57600080fd5b6001600160a01b0382163b15610b8257600080fd5b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610bcf576040519150601f19603f3d011682016040523d82523d6000602084013e610bd4565b606091505b50509050806104f557600080fd5b600081815260076020526040812054606090341015610c0057600080fd5b600554604051632142170760e11b8152336004820152306024820152604481018690526001600160a01b03909116906342842e0e90606401600060405180830381600087803b158015610c5257600080fd5b505af1925050508015610c63575060015b610c7f5750506040805160208101909152600080825290610c94565b50506040805160208101909152600081526001905b9250929050565b60025460021415610d195760035460025460405163bd45c4e760e01b81526001600160a01b039092169163bd45c4e7913491610ce291899189918991899190600401611431565b6000604051808303818588803b158015610cfb57600080fd5b505af1158015610d0f573d6000803e3d6000fd5b5050505050610a68565b60035460025460405163bd45c4e760e01b81526001600160a01b039092169163bd45c4e791610d52918891889188918891600401611431565b600060405180830381600087803b158015610d6c57600080fd5b505af1158015610d80573d6000803e3d6000fd5b5050505050505050565b60006060818080610d9d868801886112c9565b9450509350509250610db0838383610dfb565b610db957600080fd5b505050935093915050565b6000808080610dd5858701876112c9565b945094505093509350610dea84848484610e75565b610df357600080fd5b505050505050565b600554604051632142170760e11b81523060048201526001600160a01b0384811660248301526044820186905260009216906342842e0e90606401600060405180830381600087803b158015610e5057600080fd5b505af1925050508015610e61575060015b610e6d575060006105de565b5060016105de565b600554604051632142170760e11b81523060048201526001600160a01b0385811660248301526044820187905260009216906342842e0e90606401600060405180830381600087803b158015610eca57600080fd5b505af1925050508015610edb575060015b610ee757506000610eeb565b5060015b6001600160a01b0384163b15610fa05760408051821515602482015260448101879052606480820186905282518083039091018152608490910182526020810180516001600160e01b0316631ffffeed60e21b17905290516001600160a01b03861690610f59908390611415565b6000604051808303816000865af19150503d8060008114610f96576040519150601f19603f3d011682016040523d82523d6000602084013e610f9b565b606091505b505050505b949350505050565b600082601f830112610fb8578081fd5b81356020610fcd610fc8836114ff565b6114ce565b8281528181019085830183850287018401881015610fe9578586fd5b855b85811015611010578135610ffe8161158c565b84529284019290840190600101610feb565b5090979650505050505050565b60008083601f84011261102e578182fd5b50813567ffffffffffffffff811115611045578182fd5b602083019150836020828501011115610c9457600080fd5b60006020828403121561106e578081fd5b81356105de8161158c565b60006020828403121561108a578081fd5b81516105de8161158c565b6000806000806000608086880312156110ac578081fd5b85356110b78161158c565b945060208601356110c78161158c565b935060408601359250606086013567ffffffffffffffff8111156110e9578182fd5b6110f58882890161101d565b969995985093965092949392505050565b60008060006040848603121561111a578283fd5b83356111258161158c565b9250602084013567ffffffffffffffff811115611140578283fd5b61114c8682870161101d565b9497909650939450505050565b6000806040838503121561116b578182fd5b82356111768161158c565b946020939093013593505050565b600080600060608486031215611198578283fd5b83516111a38161158c565b602085015160409095015190969495509392505050565b600080604083850312156111cc578182fd5b823567ffffffffffffffff808211156111e3578384fd5b818501915085601f8301126111f6578384fd5b81356020611206610fc8836114ff565b82815281810190858301838502870184018b1015611222578889fd5b8896505b84871015611244578035835260019690960195918301918301611226565b509650508601359250508082111561125a578283fd5b5061126785828601610fa8565b9150509250929050565b60008060208385031215611283578182fd5b823567ffffffffffffffff811115611299578283fd5b6112a58582860161101d565b90969095509350505050565b6000602082840312156112c2578081fd5b5035919050565b600080600080600060a086880312156112e0578081fd5b853594506020808701356112f38161158c565b945060408701356113038161158c565b935060608701359250608087013567ffffffffffffffff80821115611326578384fd5b818901915089601f830112611339578384fd5b81358181111561134b5761134b611576565b61135d601f8201601f191685016114ce565b91508082528a84828501011115611372578485fd5b8084840185840137810190920192909252949793965091945092919050565b6000806000606084860312156113a5578081fd5b8335925060208401356113b78161158c565b929592945050506040919091013590565b600080604083850312156113da578182fd5b50508035926020909101359150565b60008151808452611401816020860160208601611523565b601f01601f19169290920160200192915050565b60008251611427818460208701611523565b9190910192915050565b600060018060a01b03808816835260a0602084015261145360a08401886113e9565b9516604083015250606081019290925260809091015292915050565b6000831515825260406020830152610fa060408301846113e9565b8581526001600160a01b038581166020830152841660408201526060810183905260a0608082018190526000906114c3908301846113e9565b979650505050505050565b604051601f8201601f1916810167ffffffffffffffff811182821017156114f7576114f7611576565b604052919050565b600067ffffffffffffffff82111561151957611519611576565b5060209081020190565b60005b8381101561153e578181015183820152602001611526565b83811115610a685750506000910152565b600060001982141561156f57634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146115a157600080fd5b5056fea2646970667358221220cd45326605682690754c836879ecbb827af477e6455ffa37dc4e94e17faa0dac64736f6c63430008020033000000000000000000000000d7c295e399ca928a3a14b01d760e794f1adf899000000000000000000000000089e293bf5d2da344905f3a5bf6c4e29c82bb27bf

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

000000000000000000000000d7c295e399ca928a3a14b01d760e794f1adf899000000000000000000000000089e293bf5d2da344905f3a5bf6c4e29c82bb27bf

-----Decoded View---------------
Arg [0] : anyCallProxy (address): 0xd7c295e399ca928a3a14b01d760e794f1adf8990
Arg [1] : token (address): 0x89e293bf5d2da344905f3a5bf6c4e29c82bb27bf

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000d7c295e399ca928a3a14b01d760e794f1adf8990
Arg [1] : 00000000000000000000000089e293bf5d2da344905f3a5bf6c4e29c82bb27bf


Deployed ByteCode Sourcemap

7033:2218:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1021:190;;;;;;;;;;;;;:::i;:::-;;1469:39;;;;;;;;;;-1:-1:-1;1469:39:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1469:39:0;;;;;;-1:-1:-1;;;;;8422:32:1;;;8404:51;;8392:2;8377:18;1469:39:0;;;;;;;;7685:241;;;;;;;;;;-1:-1:-1;7685:241:0;;;;;:::i;:::-;-1:-1:-1;;;7685:241:0;;;;;;;;;;;-1:-1:-1;;;;;;10519:33:1;;;10501:52;;10489:2;10474:18;7685:241:0;10456:103:1;516:27:0;;;;;;;;;;-1:-1:-1;516:27:0;;;;-1:-1:-1;;;;;516:27:0;;;1772:203;;;;;;;;;;-1:-1:-1;1772:203:0;;;;;:::i;:::-;;:::i;4450:525::-;;;;;;:::i;:::-;;:::i;:::-;;;11055:25:1;;;11043:2;11028:18;4450:525:0;11010:76:1;817:196:0;;;;;;;;;;-1:-1:-1;817:196:0;;;;;:::i;:::-;;:::i;1359:19::-;;;;;;;;;;;;;;;;2661:340;;;;;;;;;;-1:-1:-1;2661:340:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;3009:274::-;;;;;;;;;;-1:-1:-1;3009:274:0;;;;;:::i;:::-;;:::i;3771:25::-;;;;;;;;;;;;;;;;4983:534;;;;;;:::i;:::-;;:::i;1983:96::-;;;;;;;;;;-1:-1:-1;1983:96:0;;;;;:::i;:::-;;:::i;1433:27::-;;;;;;;;;;-1:-1:-1;1433:27:0;;;;-1:-1:-1;;;;;1433:27:0;;;7277:45;;;;;;;;;;-1:-1:-1;7277:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;7357:115;;;;;;;;;;-1:-1:-1;7357:115:0;;;;;:::i;:::-;;:::i;489:20::-;;;;;;;;;;-1:-1:-1;489:20:0;;;;-1:-1:-1;;;;;489:20:0;;;3735:29;;;;;;;;;;-1:-1:-1;3735:29:0;;;;-1:-1:-1;;;;;3735:29:0;;;7480:197;;;;;;;;;;-1:-1:-1;7480:197:0;;;;;:::i;:::-;;:::i;1021:190::-;1086:12;;-1:-1:-1;;;;;1086:12:0;1072:10;:26;1064:35;;;;;;1118:12;;;;1110:20;;-1:-1:-1;;;;;1118:12:0;;;-1:-1:-1;;;;;;1110:20:0;;;;;;;;1141:25;;;;;1182:21;;1197:5;;8404:51:1;;1182:21:0;;8392:2:1;8377:18;1182:21:0;;;;;;;1021:190::o;1772:203::-;1273:5;;-1:-1:-1;;;;;1273:5:0;1259:10;:19;1251:28;;;;;;1875:6:::1;1870:98;1891:8;:15;1887:1;:19;1870:98;;;1948:5;1954:1;1948:8;;;;;;-1:-1:-1::0;;;1948:8:0::1;;;;;;;;;;;;;;;1928:4;:17;1933:8;1942:1;1933:11;;;;;;-1:-1:-1::0;;;1933:11:0::1;;;;;;;;;;;;;;;1928:17;;;;;;;;;;;;:28;;;;;-1:-1:-1::0;;;;;1928:28:0::1;;;;;-1:-1:-1::0;;;;;1928:28:0::1;;;;;;1908:3;;;;;:::i;:::-;;;;1870:98;;;;1772:203:::0;;:::o;4450:525::-;4558:7;4579;4588:21;4613:30;4622:7;4631:11;4613:8;:30::i;:::-;4578:65;;;;4662:2;4654:11;;;;;;4676:10;:12;;;:10;:12;;;:::i;:::-;;;;;;4699:17;4730:7;4739:10;4751:8;4761:10;;4773:8;4719:63;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4719:63:0;;;;;;;;;4802:17;;;;:4;4719:63;4802:17;;;4719:63;;-1:-1:-1;4793:61:0;;-1:-1:-1;;;;;4802:17:0;4719:63;4835:4;4807:11;4793:8;:61::i;:::-;4928:10;;4870:69;;;11915:25:1;;;4893:10:0;12009:2:1;11994:18;;11987:43;-1:-1:-1;;;;;12066:15:1;;12046:18;;;12039:43;12113:2;12098:18;;12091:34;;;12156:3;12141:19;;12134:35;;;;4870:69:0;;;;;;11902:3:1;4870:69:0;;;4957:10;;4950:17;;;;;4450:525;;;;;;:::o;817:196::-;1273:5;;-1:-1:-1;;;;;1273:5:0;1259:10;:19;1251:28;;;;;;907:12:::1;::::0;;-1:-1:-1;;;;;930:23:0;;::::1;-1:-1:-1::0;;;;;;930:23:0;::::1;::::0;::::1;::::0;;;969:36:::1;::::0;;907:12;;;::::1;8678:34:1::0;;;8743:2;8728:18;;8721:43;;;;969:36:0::1;::::0;8613:18:1;969:36:0::1;;;;;;;1290:1;817:196:::0;:::o;2661:340::-;2733:12;2747:19;1590:12;;;;;;;;;-1:-1:-1;;;;;1590:12:0;-1:-1:-1;;;;;1574:38:0;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1560:54:0;:10;-1:-1:-1;;;;;1560:54:0;;1552:63;;;;;;2780:16:::1;2798:19:::0;2848:12:::1;;;;;;;;;-1:-1:-1::0;;;;;2848:12:0::1;-1:-1:-1::0;;;;;2832:38:0::1;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;2822:59:0::1;;:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;2902:17:0::1;::::0;;;:4:::1;:17;::::0;;;;;2779:104;;-1:-1:-1;2902:17:0;-1:-1:-1;;;;;;2902:29:0;;::::1;:17:::0;::::1;:29;2894:58;;;::::0;-1:-1:-1;;;2894:58:0;;10766:2:1;2894:58:0::1;::::0;::::1;10748:21:1::0;10805:2;10785:18;;;10778:30;-1:-1:-1;;;10824:18:1;;;10817:46;10880:18;;2894:58:0::1;;;;;;;;;2963:30;2975:11;2988:4;;2963:11;:30::i;:::-;;;1626:1;;2661:340:::0;;;;;:::o;3009:274::-;1590:12;;;;;;;;;-1:-1:-1;;;;;1590:12:0;-1:-1:-1;;;;;1574:38:0;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1560:54:0;:10;-1:-1:-1;;;;;1560:54:0;;1552:63;;;;;;3146:12:::1;::::0;3130:40:::1;::::0;;-1:-1:-1;;;3130:40:0;;;;3097:16:::1;::::0;-1:-1:-1;;;;;3146:12:0::1;::::0;3130:38:::1;::::0;:40:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;3146:12;3130:40;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3120:59:0::1;;:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;3096:85:0;;-1:-1:-1;;3208:4:0::1;-1:-1:-1::0;;;;;3200:25:0;::::1;;3192:54;;;::::0;-1:-1:-1;;;3192:54:0;;10766:2:1;3192:54:0::1;::::0;::::1;10748:21:1::0;10805:2;10785:18;;;10778:30;-1:-1:-1;;;10824:18:1;;;10817:46;10880:18;;3192:54:0::1;10738:166:1::0;3192:54:0::1;3257:18;3270:4;;3257:12;:18::i;:::-;1626:1;3009:274:::0;;;:::o;4983:534::-;5103:7;5124;5133:21;5158:30;5167:7;5176:11;5158:8;:30::i;:::-;5123:65;;;;5207:2;5199:11;;;;;;5221:10;:12;;;:10;:12;;;:::i;:::-;;;;;;5244:17;5275:7;5284:10;5296:8;5306:10;;5318:8;5264:63;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5264:63:0;;;;;;;;;5347:17;;;;:4;5264:63;5347:17;;;;;5264:63;;-1:-1:-1;5338:58:0;;-1:-1:-1;;;;;5347:17:0;;5264:63;;5352:11;5338:8;:58::i;1983:96::-;1273:5;;-1:-1:-1;;;;;1273:5:0;1259:10;:19;1251:28;;;;;;2051:12:::1;:20:::0;;-1:-1:-1;;;;;;2051:20:0::1;-1:-1:-1::0;;;;;2051:20:0;;;::::1;::::0;;;::::1;::::0;;1983:96::o;7357:115::-;1273:5;;-1:-1:-1;;;;;1273:5:0;1259:10;:19;1251:28;;;;;;7437:19:::1;::::0;;;:10:::1;:19;::::0;;;;;:27;7357:115::o;7480:197::-;1273:5;;-1:-1:-1;;;;;1273:5:0;1259:10;:19;1251:28;;;;;;-1:-1:-1;;;;;7567:14:0;::::1;;:19:::0;7559:28:::1;;;::::0;::::1;;7599:12;7616:2;-1:-1:-1::0;;;;;7616:7:0::1;7631:6;7616:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7598:44;;;7661:7;7653:16;;;::::0;::::1;8048:345:::0;8135:4;8187:19;;;:10;:19;;;;;;8141:12;;8174:9;:32;;8166:41;;;;;;8230:5;;8222:67;;-1:-1:-1;;;8222:67:0;;8254:10;8222:67;;;9015:34:1;8274:4:0;9065:18:1;;;9058:43;9117:18;;;9110:34;;;-1:-1:-1;;;;;8230:5:0;;;;8222:31;;8950:18:1;;8222:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8218:168;;-1:-1:-1;;8356:18:0;;;;;;;;;8364:5;8356:18;;;8364:5;8356:18;;8218:168;-1:-1:-1;;8305:17:0;;;;;;;;;-1:-1:-1;8305:17:0;;8313:4;;8218:168;8048:345;;;;;:::o;2287:366::-;2401:4;;2409:1;2401:9;2397:249;;;2443:12;;2518:4;;2427:96;;-1:-1:-1;;;2427:96:0;;-1:-1:-1;;;;;2443:12:0;;;;2427:37;;2472:9;;2427:96;;2483:3;;2488:5;;2495:9;;2506:10;;2518:4;2427:96;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2397:249;;;2572:12;;2629:4;;2556:78;;-1:-1:-1;;;2556:78:0;;-1:-1:-1;;;;;2572:12:0;;;;2556:37;;:78;;2594:3;;2599:5;;2606:9;;2617:10;;2556:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2287:366;;;;:::o;5525:361::-;5615:12;5629:19;5615:12;;;5724:98;;;;5749:4;5724:98;:::i;:::-;5661:161;;;;;;;;5841:36;5849:7;5858:8;5868;5841:7;:36::i;:::-;5833:45;;;;;;5525:361;;;;;;;;;:::o;5894:334::-;5967:15;;;;6047:98;;;;6072:4;6047:98;:::i;:::-;5966:179;;;;;;;;;6164:55;6181:7;6190:6;6198:10;6210:8;6164:16;:55::i;:::-;6156:64;;;;;;5894:334;;;;;;:::o;8401:280::-;8532:5;;8524:65;;-1:-1:-1;;;8524:65:0;;8564:4;8524:65;;;9015:34:1;-1:-1:-1;;;;;9085:15:1;;;9065:18;;;9058:43;9117:18;;;9110:34;;;8503:4:0;;8532:5;;8524:31;;8950:18:1;;8524:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8520:154;;-1:-1:-1;8657:5:0;8650:12;;8520:154;-1:-1:-1;8612:4:0;8605:11;;8693:555;8858:5;;8850:63;;-1:-1:-1;;;8850:63:0;;8890:4;8850:63;;;9015:34:1;-1:-1:-1;;;;;9085:15:1;;;9065:18;;;9058:43;9117:18;;;9110:34;;;8822:11:0;;8858:5;;8850:31;;8950:18:1;;8850:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8846:157;;-1:-1:-1;8986:5:0;8846:157;;;-1:-1:-1;8939:4:0;8846:157;-1:-1:-1;;;;;9017:17:0;;6342:19;:23;9013:204;;9074:98;;;10244:14:1;;10237:22;9074:98:0;;;10219:41:1;10276:18;;;10269:34;;;10319:18;;;;10312:34;;;9074:98:0;;;;;;;;;;10192:18:1;;;;9074:98:0;;;;;;;-1:-1:-1;;;;;9074:98:0;-1:-1:-1;;;9074:98:0;;;9187:18;;-1:-1:-1;;;;;9187:11:0;;;:18;;9074:98;;9187:18;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9013:204;;8693:555;;;;;;:::o;14:769:1:-;;121:3;114:4;106:6;102:17;98:27;88:2;;143:5;136;129:20;88:2;183:6;170:20;209:4;233:60;249:43;289:2;249:43;:::i;:::-;233:60;:::i;:::-;327:15;;;358:12;;;;390:15;;;436:11;;;424:24;;420:33;;417:42;-1:-1:-1;414:2:1;;;476:5;469;462:20;414:2;502:5;516:238;530:2;527:1;524:9;516:238;;;601:3;588:17;618:31;643:5;618:31;:::i;:::-;662:18;;700:12;;;;732;;;;548:1;541:9;516:238;;;-1:-1:-1;772:5:1;;78:705;-1:-1:-1;;;;;;;78:705:1:o;788:375::-;;;903:3;896:4;888:6;884:17;880:27;870:2;;928:8;918;911:26;870:2;-1:-1:-1;958:20:1;;1001:18;990:30;;987:2;;;1040:8;1030;1023:26;987:2;1084:4;1076:6;1072:17;1060:29;;1136:3;1129:4;1120:6;1112;1108:19;1104:30;1101:39;1098:2;;;1153:1;1150;1143:12;1168:257;;1280:2;1268:9;1259:7;1255:23;1251:32;1248:2;;;1301:6;1293;1286:22;1248:2;1345:9;1332:23;1364:31;1389:5;1364:31;:::i;1430:261::-;;1553:2;1541:9;1532:7;1528:23;1524:32;1521:2;;;1574:6;1566;1559:22;1521:2;1611:9;1605:16;1630:31;1655:5;1630:31;:::i;1696:774::-;;;;;;1878:3;1866:9;1857:7;1853:23;1849:33;1846:2;;;1900:6;1892;1885:22;1846:2;1944:9;1931:23;1963:31;1988:5;1963:31;:::i;:::-;2013:5;-1:-1:-1;2070:2:1;2055:18;;2042:32;2083:33;2042:32;2083:33;:::i;:::-;2135:7;-1:-1:-1;2189:2:1;2174:18;;2161:32;;-1:-1:-1;2244:2:1;2229:18;;2216:32;2271:18;2260:30;;2257:2;;;2308:6;2300;2293:22;2257:2;2352:58;2402:7;2393:6;2382:9;2378:22;2352:58;:::i;:::-;1836:634;;;;-1:-1:-1;1836:634:1;;-1:-1:-1;2429:8:1;;2326:84;1836:634;-1:-1:-1;;;1836:634:1:o;2475:564::-;;;;2623:2;2611:9;2602:7;2598:23;2594:32;2591:2;;;2644:6;2636;2629:22;2591:2;2688:9;2675:23;2707:31;2732:5;2707:31;:::i;:::-;2757:5;-1:-1:-1;2813:2:1;2798:18;;2785:32;2840:18;2829:30;;2826:2;;;2877:6;2869;2862:22;2826:2;2921:58;2971:7;2962:6;2951:9;2947:22;2921:58;:::i;:::-;2581:458;;2998:8;;-1:-1:-1;2895:84:1;;-1:-1:-1;;;;2581:458:1:o;3044:325::-;;;3173:2;3161:9;3152:7;3148:23;3144:32;3141:2;;;3194:6;3186;3179:22;3141:2;3238:9;3225:23;3257:31;3282:5;3257:31;:::i;:::-;3307:5;3359:2;3344:18;;;;3331:32;;-1:-1:-1;;;3131:238:1:o;3374:383::-;;;;3531:2;3519:9;3510:7;3506:23;3502:32;3499:2;;;3552:6;3544;3537:22;3499:2;3589:9;3583:16;3608:31;3633:5;3608:31;:::i;:::-;3703:2;3688:18;;3682:25;3747:2;3732:18;;;3726:25;3658:5;;3682:25;;-1:-1:-1;3726:25:1;3489:268;-1:-1:-1;;;3489:268:1:o;3762:1207::-;;;3941:2;3929:9;3920:7;3916:23;3912:32;3909:2;;;3962:6;3954;3947:22;3909:2;4007:9;3994:23;4036:18;4077:2;4069:6;4066:14;4063:2;;;4098:6;4090;4083:22;4063:2;4141:6;4130:9;4126:22;4116:32;;4186:7;4179:4;4175:2;4171:13;4167:27;4157:2;;4213:6;4205;4198:22;4157:2;4254;4241:16;4276:4;4300:60;4316:43;4356:2;4316:43;:::i;4300:60::-;4394:15;;;4425:12;;;;4457:11;;;4495;;;4487:20;;4483:29;;4480:42;-1:-1:-1;4477:2:1;;;4540:6;4532;4525:22;4477:2;4567:6;4558:15;;4582:163;4596:2;4593:1;4590:9;4582:163;;;4653:17;;4641:30;;4614:1;4607:9;;;;;4691:12;;;;4723;;4582:163;;;-1:-1:-1;4764:5:1;-1:-1:-1;;4807:18:1;;4794:32;;-1:-1:-1;;4838:16:1;;;4835:2;;;4872:6;4864;4857:22;4835:2;;4900:63;4955:7;4944:8;4933:9;4929:24;4900:63;:::i;:::-;4890:73;;;3899:1070;;;;;:::o;4974:429::-;;;5105:2;5093:9;5084:7;5080:23;5076:32;5073:2;;;5126:6;5118;5111:22;5073:2;5171:9;5158:23;5204:18;5196:6;5193:30;5190:2;;;5241:6;5233;5226:22;5190:2;5285:58;5335:7;5326:6;5315:9;5311:22;5285:58;:::i;:::-;5362:8;;5259:84;;-1:-1:-1;5063:340:1;-1:-1:-1;;;;5063:340:1:o;5408:190::-;;5520:2;5508:9;5499:7;5495:23;5491:32;5488:2;;;5541:6;5533;5526:22;5488:2;-1:-1:-1;5569:23:1;;5478:120;-1:-1:-1;5478:120:1:o;5603:1238::-;;;;;;5808:3;5796:9;5787:7;5783:23;5779:33;5776:2;;;5830:6;5822;5815:22;5776:2;5871:9;5858:23;5848:33;;5900:2;5952;5941:9;5937:18;5924:32;5965:31;5990:5;5965:31;:::i;:::-;6015:5;-1:-1:-1;6072:2:1;6057:18;;6044:32;6085:33;6044:32;6085:33;:::i;:::-;6137:7;-1:-1:-1;6191:2:1;6176:18;;6163:32;;-1:-1:-1;6246:3:1;6231:19;;6218:33;6270:18;6300:14;;;6297:2;;;6332:6;6324;6317:22;6297:2;6375:6;6364:9;6360:22;6350:32;;6420:7;6413:4;6409:2;6405:13;6401:27;6391:2;;6447:6;6439;6432:22;6391:2;6488;6475:16;6510:2;6506;6503:10;6500:2;;;6516:18;;:::i;:::-;6558:53;6601:2;6582:13;;-1:-1:-1;;6578:27:1;6574:36;;6558:53;:::i;:::-;6545:66;;6634:2;6627:5;6620:17;6674:7;6669:2;6664;6660;6656:11;6652:20;6649:33;6646:2;;;6700:6;6692;6685:22;6646:2;6760;6755;6751;6747:11;6742:2;6735:5;6731:14;6718:45;6783:14;;6779:23;;;6772:39;;;;5766:1075;;;;-1:-1:-1;5766:1075:1;;-1:-1:-1;5766:1075:1;6787:5;5766:1075;-1:-1:-1;5766:1075:1:o;6846:393::-;;;;6992:2;6980:9;6971:7;6967:23;6963:32;6960:2;;;7013:6;7005;6998:22;6960:2;7054:9;7041:23;7031:33;;7114:2;7103:9;7099:18;7086:32;7127:31;7152:5;7127:31;:::i;:::-;6950:289;;7177:5;;-1:-1:-1;;;7229:2:1;7214:18;;;;7201:32;;6950:289::o;7244:258::-;;;7373:2;7361:9;7352:7;7348:23;7344:32;7341:2;;;7394:6;7386;7379:22;7341:2;-1:-1:-1;;7422:23:1;;;7492:2;7477:18;;;7464:32;;-1:-1:-1;7331:171:1:o;7507:257::-;;7586:5;7580:12;7613:6;7608:3;7601:19;7629:63;7685:6;7678:4;7673:3;7669:14;7662:4;7655:5;7651:16;7629:63;:::i;:::-;7746:2;7725:15;-1:-1:-1;;7721:29:1;7712:39;;;;7753:4;7708:50;;7556:208;-1:-1:-1;;7556:208:1:o;7769:274::-;;7936:6;7930:13;7952:53;7998:6;7993:3;7986:4;7978:6;7974:17;7952:53;:::i;:::-;8021:16;;;;;7906:137;-1:-1:-1;;7906:137:1:o;9155:560::-;;9423:1;9419;9414:3;9410:11;9406:19;9464:2;9456:6;9452:15;9441:9;9434:34;9504:3;9499:2;9488:9;9484:18;9477:31;9525:45;9565:3;9554:9;9550:19;9542:6;9525:45;:::i;:::-;9606:15;;9601:2;9586:18;;9579:43;-1:-1:-1;9653:2:1;9638:18;;9631:34;;;;9696:3;9681:19;;;9674:35;9517:53;9386:329;-1:-1:-1;;9386:329:1:o;9720:298::-;;9903:6;9896:14;9889:22;9878:9;9871:41;9948:2;9943;9932:9;9928:18;9921:30;9968:44;10008:2;9997:9;9993:18;9985:6;9968:44;:::i;11091:560::-;11332:25;;;-1:-1:-1;;;;;11431:15:1;;;11426:2;11411:18;;11404:43;11483:15;;11478:2;11463:18;;11456:43;11530:2;11515:18;;11508:34;;;11384:3;11573;11558:19;;11551:32;;;11091:560;;11600:45;;11625:19;;11617:6;11600:45;:::i;:::-;11592:53;11322:329;-1:-1:-1;;;;;;;11322:329:1:o;12180:275::-;12251:2;12245:9;12316:2;12297:13;;-1:-1:-1;;12293:27:1;12281:40;;12351:18;12336:34;;12372:22;;;12333:62;12330:2;;;12398:18;;:::i;:::-;12434:2;12427:22;12225:230;;-1:-1:-1;12225:230:1:o;12460:186::-;;12553:18;12545:6;12542:30;12539:2;;;12575:18;;:::i;:::-;-1:-1:-1;12635:4:1;12616:17;;;12612:28;;12529:117::o;12651:258::-;12723:1;12733:113;12747:6;12744:1;12741:13;12733:113;;;12823:11;;;12817:18;12804:11;;;12797:39;12769:2;12762:10;12733:113;;;12864:6;12861:1;12858:13;12855:2;;;-1:-1:-1;;12899:1:1;12881:16;;12874:27;12704:205::o;12914:236::-;;-1:-1:-1;;12974:17:1;;12971:2;;;-1:-1:-1;;;13014:33:1;;13070:4;13067:1;13060:15;13100:4;13021:3;13088:17;12971:2;-1:-1:-1;13142:1:1;13131:13;;12961:189::o;13155:127::-;13216:10;13211:3;13207:20;13204:1;13197:31;13247:4;13244:1;13237:15;13271:4;13268:1;13261:15;13287:131;-1:-1:-1;;;;;13362:31:1;;13352:42;;13342:2;;13408:1;13405;13398:12;13342:2;13332:86;:::o

Swarm Source

ipfs://cd45326605682690754c836879ecbb827af477e6455ffa37dc4e94e17faa0dac
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Validator ID :
0 FTM

Amount Staked
0

Amount Delegated
0

Staking Total
0

Staking Start Epoch
0

Staking Start Time
0

Proof of Importance
0

Origination Score
0

Validation Score
0

Active
0

Online
0

Downtime
0 s
Address Amount claimed Rewards Created On Epoch Created On
Block Uncle Number Difficulty Gas Used Reward
Loading