Overview
GLMR Balance
GLMR Value
$0.00More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
956107 | 1085 days ago | Contract Creation | 0 GLMR |
Loading...
Loading
Contract Name:
LedgerProxy
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/** *Submitted for verification at moonbeam.moonscan.io on 2022-10-13 */ /** *Submitted for verification at moonriver.moonscan.io on 2022-02-17 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Library for reading and writing primitive types to specific storage slots. * * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. * This library helps with reading and writing to such slots without the need for inline assembly. * * The functions in this library return Slot structs that contain a `value` member that can be used to read or write. * * Example usage to set ERC1967 implementation slot: * ``` * contract ERC1967 { * bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; * * function _getImplementation() internal view returns (address) { * return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; * } * * function _setImplementation(address newImplementation) internal { * require(Address.isContract(newImplementation), "ERC1967: new implementation is not a contract"); * StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; * } * } * ``` * * _Available since v4.1 for `address`, `bool`, `bytes32`, and `uint256`._ */ library StorageSlot { struct AddressSlot { address value; } struct BooleanSlot { bool value; } struct Bytes32Slot { bytes32 value; } struct Uint256Slot { uint256 value; } /** * @dev Returns an `AddressSlot` with member `value` located at `slot`. */ function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) { assembly { r.slot := slot } } /** * @dev Returns an `BooleanSlot` with member `value` located at `slot`. */ function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) { assembly { r.slot := slot } } /** * @dev Returns an `Bytes32Slot` with member `value` located at `slot`. */ function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) { assembly { r.slot := slot } } /** * @dev Returns an `Uint256Slot` with member `value` located at `slot`. */ function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) { assembly { r.slot := slot } } } /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on 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; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } /** * @dev This is the interface that {BeaconProxy} expects of its beacon. */ interface IBeacon { /** * @dev Must return an address that can be used as a delegate call target. * * {BeaconProxy} will check that this address is a contract. */ function implementation() external view returns (address); } /** * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to * be specified by overriding the virtual {_implementation} function. * * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a * different contract through the {_delegate} function. * * The success and return data of the delegated call will be returned back to the caller of the proxy. */ abstract contract Proxy { /** * @dev Delegates the current call to `implementation`. * * This function does not return to its internall call site, it will return directly to the external caller. */ function _delegate(address implementation) internal virtual { // 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 This is a virtual function that should be overriden so it returns the address to which the fallback function * and {_fallback} should delegate. */ function _implementation() internal view virtual returns (address); /** * @dev Delegates the current call to the address returned by `_implementation()`. * * This function does not return to its internall call site, it will return directly to the external caller. */ function _fallback() internal virtual { _beforeFallback(); _delegate(_implementation()); } /** * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other * function in the contract matches the call data. */ fallback () external payable virtual { _fallback(); } /** * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data * is empty. */ receive () external payable virtual { _fallback(); } /** * @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback` * call, or as part of the Solidity `fallback` or `receive` functions. * * If overriden should call `super._beforeFallback()`. */ function _beforeFallback() internal virtual { } } contract LedgerProxy is Proxy { /** * @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy. * This is bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1)) and is validated in the constructor. */ bytes32 internal constant _BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50; /** * @dev Emitted when the beacon is upgraded. */ event BeaconUpgraded(address indexed beacon); /** * @dev Initializes the proxy with `beacon`. * * If `data` is nonempty, it's used as data in a delegate call to the implementation returned by the beacon. This * will typically be an encoded function call, and allows initializating the storage of the proxy like a Solidity * constructor. * * Requirements: * * - `beacon` must be a contract with the interface {IBeacon}. */ constructor(address beacon, bytes memory data) payable { assert(_BEACON_SLOT == bytes32(uint256(keccak256("eip1967.proxy.beacon")) - 1)); _upgradeBeaconToAndCall(beacon, data, false); } /** * @dev Perform beacon upgrade with additional setup call. Note: This upgrades the address of the beacon, it does * not upgrade the implementation contained in the beacon (see {UpgradeableBeacon-_setImplementation} for that). * * Emits a {BeaconUpgraded} event. */ function _upgradeBeaconToAndCall(address newBeacon, bytes memory data, bool forceCall) internal { _setBeacon(newBeacon); emit BeaconUpgraded(newBeacon); if (data.length > 0 || forceCall) { Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data); } } /** * @dev Stores a new beacon in the EIP1967 beacon slot. */ function _setBeacon(address newBeacon) private { require( Address.isContract(newBeacon), "LEDGER_PROXY: new beacon is not a contract" ); require( Address.isContract(IBeacon(newBeacon).implementation()), "LEDGER_PROXY: beacon implementation is not a contract" ); StorageSlot.getAddressSlot(_BEACON_SLOT).value = newBeacon; } /** * @dev Returns the current beacon. */ function _getBeacon() internal view returns (address) { return StorageSlot.getAddressSlot(_BEACON_SLOT).value; } /** * @dev Returns the current beacon address. */ function beaconAddress() external view virtual returns (address) { return _getBeacon(); } /** * @dev Returns the current implementation address of the associated beacon. */ function _implementation() internal view virtual override returns (address) { return IBeacon(_getBeacon()).implementation(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"beacon","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"beaconAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260405162000a2c38038062000a2c8339810160408190526200002691620004c6565b6200005360017fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5162000594565b600080516020620009e583398151915214620000735762000073620005ba565b620000818282600062000089565b505062000641565b62000094836200015e565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a2600082511180620000d65750805b15620001595762000157836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200011f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001459190620005d0565b836200031160201b6200008b1760201c565b505b505050565b62000174816200034060201b620000b71760201c565b620001d95760405162461bcd60e51b815260206004820152602a60248201527f4c45444745525f50524f58593a206e657720626561636f6e206973206e6f7420604482015269184818dbdb9d1c9858dd60b21b60648201526084015b60405180910390fd5b62000253816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200021c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002429190620005d0565b6200034060201b620000b71760201c565b620002c75760405162461bcd60e51b815260206004820152603560248201527f4c45444745525f50524f58593a20626561636f6e20696d706c656d656e74617460448201527f696f6e206973206e6f74206120636f6e747261637400000000000000000000006064820152608401620001d0565b80620002f0600080516020620009e583398151915260001b6200034660201b620000bd1760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b606062000339838360405180606001604052806027815260200162000a056027913962000349565b9392505050565b3b151590565b90565b6060833b620003aa5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401620001d0565b600080856001600160a01b031685604051620003c79190620005ee565b600060405180830381855af49150503d806000811462000404576040519150601f19603f3d011682016040523d82523d6000602084013e62000409565b606091505b5090925090506200041c82828662000426565b9695505050505050565b606083156200043757508162000339565b825115620004485782518084602001fd5b8160405162461bcd60e51b8152600401620001d091906200060c565b80516001600160a01b03811681146200047c57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004b45781810151838201526020016200049a565b83811115620001575750506000910152565b60008060408385031215620004da57600080fd5b620004e58362000464565b60208401519092506001600160401b03808211156200050357600080fd5b818501915085601f8301126200051857600080fd5b8151818111156200052d576200052d62000481565b604051601f8201601f19908116603f0116810190838211818310171562000558576200055862000481565b816040528281528860208487010111156200057257600080fd5b6200058583602083016020880162000497565b80955050505050509250929050565b600082821015620005b557634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052600160045260246000fd5b600060208284031215620005e357600080fd5b620003398262000464565b600082516200060281846020870162000497565b9190910192915050565b60208152600082518060208401526200062d81604085016020870162000497565b601f01601f19169190910160400192915050565b61039480620006516000396000f3fe6080604052600436106100225760003560e01c80637e2ec6d01461003957610031565b366100315761002f61006a565b005b61002f61006a565b34801561004557600080fd5b5061004e61007c565b6040516001600160a01b03909116815260200160405180910390f35b61007a6100756100c0565b61012b565b565b600061008661014f565b905090565b60606100b083836040518060600160405280602781526020016103386027913961017d565b9392505050565b3b151590565b90565b60006100ca61014f565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610107573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610086919061028f565b3660008037600080366000845af43d6000803e80801561014a573d6000f35b3d6000fd5b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6060833b6101e15760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101fc91906102e8565b600060405180830381855af49150503d8060008114610237576040519150601f19603f3d011682016040523d82523d6000602084013e61023c565b606091505b509150915061024c828286610256565b9695505050505050565b606083156102655750816100b0565b8251156102755782518084602001fd5b8160405162461bcd60e51b81526004016101d89190610304565b6000602082840312156102a157600080fd5b81516001600160a01b03811681146100b057600080fd5b60005b838110156102d35781810151838201526020016102bb565b838111156102e2576000848401525b50505050565b600082516102fa8184602087016102b8565b9190910192915050565b60208152600082518060208401526103238160408501602087016102b8565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122046a3f657a738c7d5e099eff97d9b61ef14322ad649b6fbe1bec9fa220ba6677e64736f6c634300080a0033a3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000b9675751ce5840acd4c0ba0e2d5a9188a8f34bb800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000104c80f388230b3e731516319546280d5e77da965ffa33d3aae09b98a4073ffa616c865086f30b3e731516319546280d5e77da965ffa33d3aae09b98a4073ffa616c865086f000000000000000000000000ffffffff1fcacbd218edc0eba20fc2308c778080000000000000000000000000a4b43f9b0aef0b22365727e93e91c096a09ef091000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000fa36fe1da08c89ec72ea1f0143a35bfd5daea10800000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106100225760003560e01c80637e2ec6d01461003957610031565b366100315761002f61006a565b005b61002f61006a565b34801561004557600080fd5b5061004e61007c565b6040516001600160a01b03909116815260200160405180910390f35b61007a6100756100c0565b61012b565b565b600061008661014f565b905090565b60606100b083836040518060600160405280602781526020016103386027913961017d565b9392505050565b3b151590565b90565b60006100ca61014f565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610107573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610086919061028f565b3660008037600080366000845af43d6000803e80801561014a573d6000f35b3d6000fd5b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6060833b6101e15760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101fc91906102e8565b600060405180830381855af49150503d8060008114610237576040519150601f19603f3d011682016040523d82523d6000602084013e61023c565b606091505b509150915061024c828286610256565b9695505050505050565b606083156102655750816100b0565b8251156102755782518084602001fd5b8160405162461bcd60e51b81526004016101d89190610304565b6000602082840312156102a157600080fd5b81516001600160a01b03811681146100b057600080fd5b60005b838110156102d35781810151838201526020016102bb565b838111156102e2576000848401525b50505050565b600082516102fa8184602087016102b8565b9190910192915050565b60208152600082518060208401526103238160408501602087016102b8565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122046a3f657a738c7d5e099eff97d9b61ef14322ad649b6fbe1bec9fa220ba6677e64736f6c634300080a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b9675751ce5840acd4c0ba0e2d5a9188a8f34bb800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000104c80f388230b3e731516319546280d5e77da965ffa33d3aae09b98a4073ffa616c865086f30b3e731516319546280d5e77da965ffa33d3aae09b98a4073ffa616c865086f000000000000000000000000ffffffff1fcacbd218edc0eba20fc2308c778080000000000000000000000000a4b43f9b0aef0b22365727e93e91c096a09ef091000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000fa36fe1da08c89ec72ea1f0143a35bfd5daea10800000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : beacon (address): 0xB9675751CE5840acD4c0Ba0E2d5a9188A8f34Bb8
Arg [1] : data (bytes): 0xc80f388230b3e731516319546280d5e77da965ffa33d3aae09b98a4073ffa616c865086f30b3e731516319546280d5e77da965ffa33d3aae09b98a4073ffa616c865086f000000000000000000000000ffffffff1fcacbd218edc0eba20fc2308c778080000000000000000000000000a4b43f9b0aef0b22365727e93e91c096a09ef091000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000fa36fe1da08c89ec72ea1f0143a35bfd5daea10800000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000020
-----Encoded View---------------
12 Constructor Arguments found :
Arg [0] : 000000000000000000000000b9675751ce5840acd4c0ba0e2d5a9188a8f34bb8
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000104
Arg [3] : c80f388230b3e731516319546280d5e77da965ffa33d3aae09b98a4073ffa616
Arg [4] : c865086f30b3e731516319546280d5e77da965ffa33d3aae09b98a4073ffa616
Arg [5] : c865086f000000000000000000000000ffffffff1fcacbd218edc0eba20fc230
Arg [6] : 8c778080000000000000000000000000a4b43f9b0aef0b22365727e93e91c096
Arg [7] : a09ef09100000000000000000000000000000000000000000000000000000017
Arg [8] : 4876e800000000000000000000000000fa36fe1da08c89ec72ea1f0143a35bfd
Arg [9] : 5daea10800000000000000000000000000000000000000000000000000000000
Arg [10] : 000003e800000000000000000000000000000000000000000000000000000000
Arg [11] : 0000002000000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
14098:2928:0:-:0;;;;;;;;;;;;;;;;;;;;;;;13729:11;:9;:11::i;:::-;14098:2928;;13497:11;:9;:11::i;16672:103::-;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;16672:103:0;;;;;;;13133:113;13210:28;13220:17;:15;:17::i;:::-;13210:9;:28::i;:::-;13133:113::o;16672:103::-;16728:7;16755:12;:10;:12::i;:::-;16748:19;;16672:103;:::o;8960:200::-;9043:12;9075:77;9096:6;9104:4;9075:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;9068:84;8960:200;-1:-1:-1;;;8960:200:0:o;3275:422::-;3642:20;3681:8;;;3275:422::o;1676:151::-;1805:4;1676:151::o;16883:140::-;16950:7;16985:12;:10;:12::i;:::-;-1:-1:-1;;;;;16977:36:0;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;11726:915::-;12126:14;12123:1;12120;12107:34;12344:1;12341;12325:14;12322:1;12306:14;12299:5;12286:60;12423:16;12420:1;12417;12402:38;12463:6;12532:38;;;;12604:16;12601:1;12594:27;12532:38;12551:16;12548:1;12541:27;16471:126;14417:66;16543:46;-1:-1:-1;;;;;16543:46:0;;16471:126::o;9354:423::-;9465:12;3642:20;;9490:69;;;;-1:-1:-1;;;9490:69:0;;719:2:1;9490:69:0;;;701:21:1;758:2;738:18;;;731:30;797:34;777:18;;;770:62;-1:-1:-1;;;848:18:1;;;841:36;894:19;;9490:69:0;;;;;;;;;9633:12;9647:23;9674:6;-1:-1:-1;;;;;9674:19:0;9694:4;9674:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9632:67;;;;9717:52;9735:7;9744:10;9756:12;9717:17;:52::i;:::-;9710:59;9354:423;-1:-1:-1;;;;;;9354:423:0:o;9785:742::-;9900:12;9929:7;9925:595;;;-1:-1:-1;9960:10:0;9953:17;;9925:595;10074:17;;:21;10070:439;;10337:10;10331:17;10398:15;10385:10;10381:2;10377:19;10370:44;10070:439;10480:12;10473:20;;-1:-1:-1;;;10473:20:0;;;;;;;;:::i;222:290:1:-;292:6;345:2;333:9;324:7;320:23;316:32;313:52;;;361:1;358;351:12;313:52;387:16;;-1:-1:-1;;;;;432:31:1;;422:42;;412:70;;478:1;475;468:12;924:258;996:1;1006:113;1020:6;1017:1;1014:13;1006:113;;;1096:11;;;1090:18;1077:11;;;1070:39;1042:2;1035:10;1006:113;;;1137:6;1134:1;1131:13;1128:48;;;1172:1;1163:6;1158:3;1154:16;1147:27;1128:48;;924:258;;;:::o;1187:274::-;1316:3;1354:6;1348:13;1370:53;1416:6;1411:3;1404:4;1396:6;1392:17;1370:53;:::i;:::-;1439:16;;;;;1187:274;-1:-1:-1;;1187:274:1:o;1466:383::-;1615:2;1604:9;1597:21;1578:4;1647:6;1641:13;1690:6;1685:2;1674:9;1670:18;1663:34;1706:66;1765:6;1760:2;1749:9;1745:18;1740:2;1732:6;1728:15;1706:66;:::i;:::-;1833:2;1812:15;-1:-1:-1;;1808:29:1;1793:45;;;;1840:2;1789:54;;1466:383;-1:-1:-1;;1466:383:1:o
Swarm Source
ipfs://46a3f657a738c7d5e099eff97d9b61ef14322ad649b6fbe1bec9fa220ba6677e
Loading...
Loading
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.