ETH Price: $2,323.94 (+1.53%)
Gas: 4.73 Gwei

Token

AI Linkfinance (YFIBC)
 

Overview

Max Total Supply

688,888 YFIBC

Holders

85

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
zhouluqiang.eth
Balance
91.961101001422228985 YFIBC

Value
$0.00
0x647dda1e60f26472c974200dddc410e88ad95afb
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume
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:
YFIBCProxy

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

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

// SPDX-License-Identifier: MIT

// File: contracts/proxy/Proxy.sol

pragma solidity >=0.6 <0.7.0;

/**
 * @title Proxy
 * @dev Implements delegation of calls to other contracts, with proper
 * forwarding of return values and bubbling of failures.
 * It defines a fallback function that delegates all calls to the address
 * returned by the abstract _implementation() internal function.
 */
abstract contract Proxy {
    /**
     * @dev Fallback function.
     * Implemented entirely in `_fallback`.
     */
    fallback () payable external {
        _fallback();
    }

    /**
     * @dev Receive function.
     * Implemented entirely in `_fallback`.
     */
    receive () payable external {
        _fallback();
    }

    /**
     * @return The Address of the implementation.
     */
    function _implementation() internal virtual view returns (address);

    /**
     * @dev Delegates execution to an implementation contract.
     * This is a low level function that doesn't return to its internal call site.
     * It will return to the external caller whatever the implementation returns.
     * @param implementation Address to delegate.
     */
    function _delegate(address implementation) internal {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            // Copy msg.data. We take full control of memory in this inline assembly
            // block because it will not return to Solidity code. We overwrite the
            // Solidity scratch pad at memory position 0.
            calldatacopy(0, 0, calldatasize())

            // Call the implementation.
            // out and outsize are 0 because we don't know the size yet.
            let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)

            // Copy the returned data.
            returndatacopy(0, 0, returndatasize())

            switch result
            // delegatecall returns 0 on error.
            case 0 { revert(0, returndatasize()) }
            default { return(0, returndatasize()) }
        }
    }

    /**
     * @dev Function that is run as the first thing in the fallback function.
     * Can be redefined in derived contracts to add functionality.
     * Redefinitions must call super._willFallback().
     */
    function _willFallback() internal virtual {
    }

    /**
     * @dev fallback implementation.
     * Extracted to enable manual triggering.
     */
    function _fallback() internal {
        _willFallback();
        _delegate(_implementation());
    }
}

// File: contracts/proxy/UpgradeableProxy.sol

pragma solidity >=0.6 <0.7.0;


/**
 * @title UpgradeableProxy
 * @dev This contract implements a proxy that allows to change the
 * implementation address to which it will delegate.
 * Such a change is called an implementation upgrade.
 */
contract UpgradeableProxy is Proxy {
    /**
     * @dev Contract constructor.
     * @param _logic Address of the initial implementation.
     * @param _data Data to send as msg.data to the implementation to initialize the proxied contract.
     * It should include the signature and the parameters of the function to be called, as described in
     * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
     * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped.
     */
    constructor(address _logic, bytes memory _data) public payable {
        assert(_IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1));
        _setImplementation(_logic);
        if(_data.length > 0) {
            // solhint-disable-next-line avoid-low-level-calls
            (bool success,) = _logic.delegatecall(_data);
            require(success);
        }
    }  

    /**
     * @dev Emitted when the implementation is upgraded.
     * @param implementation Address of the new implementation.
     */
    event Upgraded(address indexed implementation);

    /**
     * @dev Storage slot with the address of the current implementation.
     * This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is
     * validated in the constructor.
     */
    bytes32 private constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    /**
     * @dev Returns the current implementation.
     * @return impl Address of the current implementation
     */
    function _implementation() internal override view returns (address impl) {
        bytes32 slot = _IMPLEMENTATION_SLOT;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            impl := sload(slot)
        }
    }

    /**
     * @dev Upgrades the proxy to a new implementation.
     * @param newImplementation Address of the new implementation.
     */
    function _upgradeTo(address newImplementation) internal {
        _setImplementation(newImplementation);
        emit Upgraded(newImplementation);
    }

    /**
     * @dev Sets the implementation address of the proxy.
     * @param newImplementation Address of the new implementation.
     */
    function _setImplementation(address newImplementation) internal {
        require(isContract(newImplementation), "UpgradeableProxy: new implementation is not a contract");

        bytes32 slot = _IMPLEMENTATION_SLOT;

        // solhint-disable-next-line no-inline-assembly
        assembly {
            sstore(slot, newImplementation)
        }
    }

    /**
     * @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) {
        // This method relies in extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        uint256 size;
        // solhint-disable-next-line no-inline-assembly
        assembly { size := extcodesize(account) }
        return size > 0;
    }
}

// File: contracts/utils/ICashier.sol

pragma solidity >=0.6 <0.7.0;

interface ICashier {
    function getPayee() external view returns (address payable);
    function calcFee(address addr, uint8 kind, bytes4 func) external view returns (uint256);
}

// File: contracts/utils/Chargeable.sol

pragma solidity >=0.6 <0.7.0;


contract Chargeable {
    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier AfterCharge() {
        sendFee(ZERO_SIG);
        _;
    }

    function sendFee(bytes4 func) internal {
        if (func == ZERO_SIG) {
            func = msg.sig;
        }
        address cashier = _getCashier();
        if (address(cashier) == address(0x0)) {
            return;
        }
        address payable payee = ICashier(cashier).getPayee();
        if (payee == address(0x0)) {
            return;
        }
        uint256 fee = ICashier(cashier).calcFee(address(this), 1, func);
        if (fee > 0) {
            payee.transfer(fee);
        }
    }

    bytes4 internal constant ZERO_SIG = 0x00000000;
    /**
     * @dev Storage slot with the address of the cashier contract.
     * This is the keccak-256 hash of "x.cashier.contract" and is validated in the constructor.
     */
    bytes32
        internal constant _CASHIER_SLOT = 0xe4daccb11a797004e79d649410b00658e14f3296aae1b244a00c23be3d595cd4;

    /**
     * @dev Returns the current cashier contract address.
     */
    function _getCashier() internal view returns (address cashier) {
        bytes32 slot = _CASHIER_SLOT;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            cashier := sload(slot)
        }
    }

    /**
     * @dev Stores a new address in the cashier slot.
     */
    function _setCashier(address addr) internal {
        // zero address is enabled, which means not chargeable
        bytes32 slot = _CASHIER_SLOT;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            sstore(slot, addr)
        }
    }
}

// File: contracts/proxy/ManagedProxy.sol

pragma solidity >=0.6 <0.7.0;



/**
 * @title ManagedProxy
 * @dev This contract combines an upgradeability proxy with an authorization
 * mechanism for administrative tasks.
 * All external functions in this contract must be guarded by the
 * `ifAdmin` modifier. See ethereum/solidity#3864 for a Solidity
 * feature proposal that would enable this to be done automatically.
 */
contract ManagedProxy is UpgradeableProxy, Chargeable {
    /**
     * Contract constructor.
     * @param _logic address of the initial implementation.
     * @param _cashier address of the cashier contract.
     * @param _admin Address of the proxy administrator.
     * @param _data Data to send as msg.data to the implementation to initialize the proxied contract.
     * It should include the signature and the parameters of the function to be called, as described in
     * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
     * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped.
     */
    constructor(address _logic, address _cashier, address _admin, bytes memory _data) public payable UpgradeableProxy(_logic, _data) {
        assert(_ADMIN_SLOT == bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1));
        _setAdmin(_admin);
        _setCashier(_cashier);
    }

    /**
     * @dev Emitted when the administration has been transferred.
     * @param previousAdmin Address of the previous admin.
     * @param newAdmin Address of the new admin.
     */
    event AdminChanged(address previousAdmin, address newAdmin);

    /**
     * @dev Storage slot with the admin of the contract.
     * This is the keccak-256 hash of "eip1967.proxy.admin" subtracted by 1, and is
     * validated in the constructor.
     */

    bytes32 private constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;

    /**
     * @dev Modifier to check whether the `msg.sender` is the admin.
     * If it is, it will run the function. Otherwise, it will delegate the call
     * to the implementation.
     */
    modifier ifAdmin() {
        if (msg.sender == _admin()) {
            _;
        } else {
            _fallback();
        }
    }

    /**
     * @return The address of the proxy admin.
     */
    function getProxyAdmin() public view returns (address) {
        return _admin();
    }

    /**
     * @return The address of the implementation.
     */
    function getProxyImplementation() public view returns (address) {
        return _implementation();
    }

    /**
     * @dev Changes the admin of the proxy.
     * Only the current admin can call this function.
     * @param newAdmin Address to transfer proxy administration to.
     */
    function changeAdmin(address newAdmin) external payable ifAdmin AfterCharge {
        require(newAdmin != address(0), "TransparentUpgradeableProxy: new admin is the zero address");
        emit AdminChanged(_admin(), newAdmin);
        _setAdmin(newAdmin);
    }

    /**
     * @dev Upgrade the backing implementation of the proxy.
     * Only the admin can call this function.
     * @param newImplementation Address of the new implementation.
     */
    function upgradeTo(address newImplementation) external payable ifAdmin AfterCharge {
        _upgradeTo(newImplementation);
    }

    /**
     * @dev Upgrade the backing implementation of the proxy and call a function
     * on the new implementation.
     * This is useful to initialize the proxied contract.
     * @param newImplementation Address of the new implementation.
     * @param data Data to send as msg.data in the low level call.
     * It should include the signature and the parameters of the function to be called, as described in
     * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
     */
    function upgradeToAndCall(address newImplementation, bytes calldata data) external payable ifAdmin AfterCharge {
        _upgradeTo(newImplementation);
        // solhint-disable-next-line avoid-low-level-calls
        (bool success,) = newImplementation.delegatecall(data);
        require(success);
    }

    /**
     * @return adm The admin slot.
     */
    function _admin() internal view returns (address adm) {
        bytes32 slot = _ADMIN_SLOT;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            adm := sload(slot)
        }
    }

    /**
     * @dev Sets the address of the proxy admin.
     * @param newAdmin Address of the new proxy admin.
     */
    function _setAdmin(address newAdmin) internal {
        bytes32 slot = _ADMIN_SLOT;

        // solhint-disable-next-line no-inline-assembly
        assembly {
            sstore(slot, newAdmin)
        }
    }

    /**
     * @dev Only fallback when the sender is not the admin.
     */
    function _willFallback() internal override virtual {
        // require(msg.sender != _admin(), "TransparentUpgradeableProxy: admin cannot fallback to proxy target");
        super._willFallback();
    }
}

// File: contracts/YFIBCProxy.sol

pragma solidity >=0.6.0 <0.7.0;


/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of ERC20 applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract YFIBCProxy is ManagedProxy {
    constructor(
        address logic,
        address cashier,
        address admin
    )
        public
        payable
        ManagedProxy(
            logic,
            cashier,
            admin,
            abi.encodeWithSelector(0x9c020061, admin)
        )
    {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"logic","type":"address"},{"internalType":"address","name":"cashier","type":"address"},{"internalType":"address","name":"admin","type":"address"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getProxyAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getProxyImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260405161096c38038061096c8339818101604052606081101561002657600080fd5b50805160208083015160409384015184516001600160a01b03821660248083019190915286518083039091018152604490910190955291840180516001600160e01b0316639c02006160e01b1790529192839083908390838161008882610166565b805115610140576000826001600160a01b0316826040518082805190602001908083835b602083106100cb5780518252601f1990920191602091820191016100ac565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461012b576040519150601f19603f3d011682016040523d82523d6000602084013e610130565b606091505b505090508061013e57600080fd5b505b506101489050565b610151826101ce565b61015a836101f2565b5050505050505061021c565b61016f81610216565b6101aa5760405162461bcd60e51b81526004018080602001828103825260368152602001806109366036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b7fe4daccb11a797004e79d649410b00658e14f3296aae1b244a00c23be3d595cd455565b3b151590565b61070b8061022b6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef2861461008b5780638b3240a01461010b5780638f2839701461013c57806390e4b720146101625761005d565b3661005d5761005b610177565b005b61005b610177565b61005b6004803603602081101561007b57600080fd5b50356001600160a01b0316610191565b61005b600480360360408110156100a157600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100cc57600080fd5b8201836020820111156100de57600080fd5b8035906020019184600183028401116401000000008311171561010057600080fd5b5090925090506101d5565b34801561011757600080fd5b5061012061028c565b604080516001600160a01b039092168252519081900360200190f35b61005b6004803603602081101561015257600080fd5b50356001600160a01b031661029b565b34801561016e57600080fd5b5061012061035f565b61017f610369565b61018f61018a610371565b610396565b565b6101996103ba565b6001600160a01b0316336001600160a01b031614156101ca576101bc60006103df565b6101c58161056e565b6101d2565b6101d2610177565b50565b6101dd6103ba565b6001600160a01b0316336001600160a01b0316141561027f5761020060006103df565b6102098361056e565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d8060008114610266576040519150601f19603f3d011682016040523d82523d6000602084013e61026b565b606091505b505090508061027957600080fd5b50610287565b610287610177565b505050565b60006102966103ba565b905090565b6102a36103ba565b6001600160a01b0316336001600160a01b031614156101ca576102c660006103df565b6001600160a01b03811661030b5760405162461bcd60e51b815260040180806020018281038252603a815260200180610666603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103346103ba565b604080516001600160a01b03928316815291841660208301528051918290030190a16101c5816105ae565b6000610296610371565b61018f61018f565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103b5573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6001600160e01b031981166103fd57506001600160e01b0319600035165b60006104076105d2565b90506001600160a01b03811661041d57506101d2565b6000816001600160a01b031663cd4467356040518163ffffffff1660e01b815260040160206040518083038186803b15801561045857600080fd5b505afa15801561046c573d6000803e3d6000fd5b505050506040513d602081101561048257600080fd5b505190506001600160a01b03811661049b5750506101d2565b60408051635c4da1b960e01b8152306004820152600160248201526001600160e01b03198516604482015290516000916001600160a01b03851691635c4da1b991606480820192602092909190829003018186803b1580156104fc57600080fd5b505afa158015610510573d6000803e3d6000fd5b505050506040513d602081101561052657600080fd5b505190508015610568576040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610566573d6000803e3d6000fd5b505b50505050565b610577816105f7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b7fe4daccb11a797004e79d649410b00658e14f3296aae1b244a00c23be3d595cd45490565b6106008161065f565b61063b5760405162461bcd60e51b81526004018080602001828103825260368152602001806106a06036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b3b15159056fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a264697066735822122097a20e89bd2b4701ba2a9c5aaa98c36c281c27fb1be74f5d9e7e7fc0ecc019e464736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374000000000000000000000000699edac23a7c6b249354b3254b024b29a513c17000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004c015c525fae5bea1b955a302891560d87e38cca

Deployed Bytecode

0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef2861461008b5780638b3240a01461010b5780638f2839701461013c57806390e4b720146101625761005d565b3661005d5761005b610177565b005b61005b610177565b61005b6004803603602081101561007b57600080fd5b50356001600160a01b0316610191565b61005b600480360360408110156100a157600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100cc57600080fd5b8201836020820111156100de57600080fd5b8035906020019184600183028401116401000000008311171561010057600080fd5b5090925090506101d5565b34801561011757600080fd5b5061012061028c565b604080516001600160a01b039092168252519081900360200190f35b61005b6004803603602081101561015257600080fd5b50356001600160a01b031661029b565b34801561016e57600080fd5b5061012061035f565b61017f610369565b61018f61018a610371565b610396565b565b6101996103ba565b6001600160a01b0316336001600160a01b031614156101ca576101bc60006103df565b6101c58161056e565b6101d2565b6101d2610177565b50565b6101dd6103ba565b6001600160a01b0316336001600160a01b0316141561027f5761020060006103df565b6102098361056e565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d8060008114610266576040519150601f19603f3d011682016040523d82523d6000602084013e61026b565b606091505b505090508061027957600080fd5b50610287565b610287610177565b505050565b60006102966103ba565b905090565b6102a36103ba565b6001600160a01b0316336001600160a01b031614156101ca576102c660006103df565b6001600160a01b03811661030b5760405162461bcd60e51b815260040180806020018281038252603a815260200180610666603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103346103ba565b604080516001600160a01b03928316815291841660208301528051918290030190a16101c5816105ae565b6000610296610371565b61018f61018f565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103b5573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6001600160e01b031981166103fd57506001600160e01b0319600035165b60006104076105d2565b90506001600160a01b03811661041d57506101d2565b6000816001600160a01b031663cd4467356040518163ffffffff1660e01b815260040160206040518083038186803b15801561045857600080fd5b505afa15801561046c573d6000803e3d6000fd5b505050506040513d602081101561048257600080fd5b505190506001600160a01b03811661049b5750506101d2565b60408051635c4da1b960e01b8152306004820152600160248201526001600160e01b03198516604482015290516000916001600160a01b03851691635c4da1b991606480820192602092909190829003018186803b1580156104fc57600080fd5b505afa158015610510573d6000803e3d6000fd5b505050506040513d602081101561052657600080fd5b505190508015610568576040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610566573d6000803e3d6000fd5b505b50505050565b610577816105f7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b7fe4daccb11a797004e79d649410b00658e14f3296aae1b244a00c23be3d595cd45490565b6106008161065f565b61063b5760405162461bcd60e51b81526004018080602001828103825260368152602001806106a06036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b3b15159056fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a264697066735822122097a20e89bd2b4701ba2a9c5aaa98c36c281c27fb1be74f5d9e7e7fc0ecc019e464736f6c634300060c0033

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

000000000000000000000000699edac23a7c6b249354b3254b024b29a513c17000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004c015c525fae5bea1b955a302891560d87e38cca

-----Decoded View---------------
Arg [0] : logic (address): 0x699EDAC23a7C6B249354B3254b024b29A513c170
Arg [1] : cashier (address): 0x0000000000000000000000000000000000000000
Arg [2] : admin (address): 0x4C015C525FAe5beA1B955a302891560d87E38CcA

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000699edac23a7c6b249354b3254b024b29a513c170
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [2] : 0000000000000000000000004c015c525fae5bea1b955a302891560d87e38cca


Deployed Bytecode Sourcemap

15324:330:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;730:11;:9;:11::i;:::-;15324:330;;570:11;:9;:11::i;12143:131::-;;;;;;;;;;;;;;;;-1:-1:-1;12143:131:0;-1:-1:-1;;;;;12143:131:0;;:::i;12822:311::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12822:311:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12822:311:0;;-1:-1:-1;12822:311:0;-1:-1:-1;12822:311:0;:::i;11206:89::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;11206:89:0;;;;;;;;;;;;;;11674:266;;;;;;;;;;;;;;;;-1:-1:-1;11674:266:0;-1:-1:-1;;;;;11674:266:0;;:::i;11372:107::-;;;;;;;;;;;;;:::i;2497:103::-;2538:15;:13;:15::i;:::-;2564:28;2574:17;:15;:17::i;:::-;2564:9;:28::i;:::-;2497:103::o;12143:131::-;11043:8;:6;:8::i;:::-;-1:-1:-1;;;;;11029:22:0;:10;-1:-1:-1;;;;;11029:22:0;;11025:100;;;7162:17:::1;7770:10;7162:7;:17::i;:::-;12237:29:::2;12248:17;12237:10;:29::i;:::-;11025:100:::0;;;11102:11;:9;:11::i;:::-;12143:131;:::o;12822:311::-;11043:8;:6;:8::i;:::-;-1:-1:-1;;;;;11029:22:0;:10;-1:-1:-1;;;;;11029:22:0;;11025:100;;;7162:17:::1;7770:10;7162:7;:17::i;:::-;12944:29:::2;12955:17;12944:10;:29::i;:::-;13045:12;13062:17;-1:-1:-1::0;;;;;13062:30:0::2;13093:4;;13062:36;;;;;;;;;;::::0;;::::2;::::0;-1:-1:-1;13062:36:0::2;::::0;-1:-1:-1;13062:36:0;;-1:-1:-1;;13062:36:0;;::::2;::::0;;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13044:54;;;13117:7;13109:16;;;::::0;::::2;;7190:1;11025:100:::0;;;11102:11;:9;:11::i;:::-;12822:311;;;:::o;11206:89::-;11252:7;11279:8;:6;:8::i;:::-;11272:15;;11206:89;:::o;11674:266::-;11043:8;:6;:8::i;:::-;-1:-1:-1;;;;;11029:22:0;:10;-1:-1:-1;;;;;11029:22:0;;11025:100;;;7162:17:::1;7770:10;7162:7;:17::i;:::-;-1:-1:-1::0;;;;;11769:22:0;::::2;11761:93;;;;-1:-1:-1::0;;;11761:93:0::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11870:32;11883:8;:6;:8::i;:::-;11870:32;::::0;;-1:-1:-1;;;;;11870:32:0;;::::2;::::0;;;;::::2;;::::0;::::2;::::0;;;;;;;;;::::2;11913:19;11923:8;11913:9;:19::i;11372:107::-:0;11427:7;11454:17;:15;:17::i;13850:206::-;14027:21;:19;:21::i;4584:248::-;4383:66;4803:11;;4780:45::o;1201:907::-;1593:14;1590:1;1587;1574:34;1811:1;1808;1792:14;1789:1;1773:14;1766:5;1753:60;1890:16;1887:1;1884;1869:38;1930:6;1999:38;;;;2071:16;2068:1;2061:27;1999:38;2018:16;2015:1;2008:27;13195:219;10720:66;13385:11;;13363:44::o;7207:519::-;-1:-1:-1;;;;;;7261:16:0;;7257:63;;-1:-1:-1;;;;;;;7301:7:0;;;7257:63;7330:15;7348:13;:11;:13::i;:::-;7330:31;-1:-1:-1;;;;;;7376:32:0;;7372:71;;7425:7;;;7372:71;7453:21;7486:7;-1:-1:-1;;;;;7477:26:0;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7477:28:0;;-1:-1:-1;;;;;;7520:21:0;;7516:60;;7558:7;;;;7516:60;7600:49;;;-1:-1:-1;;;7600:49:0;;7634:4;7600:49;;;;7641:1;7600:49;;;;-1:-1:-1;;;;;;7600:49:0;;;;;;;;7586:11;;-1:-1:-1;;;;;7600:25:0;;;;;:49;;;;;;;;;;;;;;;:25;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7600:49:0;;-1:-1:-1;7664:7:0;;7660:59;;7688:19;;-1:-1:-1;;;;;7688:14:0;;;:19;;;;;7703:3;;7688:19;;;;7703:3;7688:14;:19;;;;;;;;;;;;;;;;;;;;;7660:59;7207:519;;;;:::o;4983:155::-;5050:37;5069:17;5050:18;:37::i;:::-;5103:27;;-1:-1:-1;;;;;5103:27:0;;;;;;;;4983:155;:::o;13546:217::-;10720:66;13723:22;13708:48::o;8173:234::-;8021:66;8378:11;;8352:48::o;5291:362::-;5374:29;5385:17;5374:10;:29::i;:::-;5366:96;;;;-1:-1:-1;;;5366:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4383:66;5604:31;5589:57::o;6248:422::-;6615:20;6654:8;;;6248:422::o

Swarm Source

ipfs://97a20e89bd2b4701ba2a9c5aaa98c36c281c27fb1be74f5d9e7e7fc0ecc019e4
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.