ERC-20
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)
Balance
91.961101001422228985 YFIBCValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | 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 Name:
YFIBCProxy
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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"}]
Contract Creation Code
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.