More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 18,300 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Repay | 78979345 | 152 days ago | IN | 0 FTM | 0.03475013 | ||||
Repay | 78979311 | 152 days ago | IN | 0 FTM | 0.0028483 | ||||
Repay | 76483515 | 192 days ago | IN | 0 FTM | 0.01373599 | ||||
Repay | 76483192 | 192 days ago | IN | 0 FTM | 0.01373599 | ||||
Withdraw | 75551319 | 208 days ago | IN | 0 FTM | 0.00464844 | ||||
Withdraw | 75550242 | 208 days ago | IN | 0 FTM | 0.00464761 | ||||
Repay | 75333180 | 212 days ago | IN | 0 FTM | 0.00225348 | ||||
Repay | 73624937 | 249 days ago | IN | 0 FTM | 0.00673605 | ||||
Withdraw | 67701848 | 372 days ago | IN | 0 FTM | 0.01046341 | ||||
Withdraw | 67701538 | 372 days ago | IN | 0 FTM | 0.00962508 | ||||
Withdraw | 67694434 | 373 days ago | IN | 0 FTM | 0.01000715 | ||||
Deposit | 67071959 | 388 days ago | IN | 0 FTM | 0.03719019 | ||||
Deposit | 67071834 | 388 days ago | IN | 0 FTM | 0.03719013 | ||||
Repay | 66530905 | 403 days ago | IN | 0 FTM | 0.02012692 | ||||
Withdraw | 66284333 | 410 days ago | IN | 0 FTM | 0.70091258 | ||||
Repay | 66128623 | 415 days ago | IN | 0 FTM | 0.01187439 | ||||
Withdraw | 65788891 | 421 days ago | IN | 0 FTM | 0.16149359 | ||||
Repay | 65710715 | 422 days ago | IN | 0 FTM | 0.02241103 | ||||
Repay | 65710622 | 422 days ago | IN | 0 FTM | 0.02240433 | ||||
Repay | 65710390 | 422 days ago | IN | 0 FTM | 0.0212952 | ||||
Repay | 65700500 | 423 days ago | IN | 0 FTM | 0.02694268 | ||||
Withdraw | 65380744 | 427 days ago | IN | 0 FTM | 0.18127323 | ||||
Repay | 65334030 | 428 days ago | IN | 0 FTM | 0.22372859 | ||||
Repay | 65332971 | 428 days ago | IN | 0 FTM | 0.24715523 | ||||
Repay | 65332935 | 428 days ago | IN | 0 FTM | 0.23998788 |
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
30973987 | 936 days ago | Contract Creation | 0 FTM |
Loading...
Loading
Contract Name:
InitializableImmutableAdminUpgradeabilityProxy
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at ftmscan.com on 2022-03-01 */ // SPDX-License-Identifier: agpl-3.0 pragma solidity 0.6.12; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } /** * @dev 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'); } } /** * @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() external payable { _fallback(); } /** * @return The Address of the implementation. */ function _implementation() internal view virtual 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 { //solium-disable-next-line 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()); } } /** * @title BaseUpgradeabilityProxy * @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 BaseUpgradeabilityProxy is Proxy { /** * @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 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; /** * @dev Returns the current implementation. * @return impl Address of the current implementation */ function _implementation() internal view override returns (address impl) { bytes32 slot = IMPLEMENTATION_SLOT; //solium-disable-next-line 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( Address.isContract(newImplementation), 'Cannot set a proxy implementation to a non-contract address' ); bytes32 slot = IMPLEMENTATION_SLOT; //solium-disable-next-line assembly { sstore(slot, newImplementation) } } } /** * @title BaseImmutableAdminUpgradeabilityProxy * @author Sturdy, inspired by the OpenZeppelin upgradeability proxy pattern * @dev This contract combines an upgradeability proxy with an authorization * mechanism for administrative tasks. The admin role is stored in an immutable, which * helps saving transactions costs * 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 BaseImmutableAdminUpgradeabilityProxy is BaseUpgradeabilityProxy { address immutable ADMIN; constructor(address admin) public { ADMIN = admin; } modifier ifAdmin() { if (msg.sender == ADMIN) { _; } else { _fallback(); } } /** * @return The address of the proxy admin. */ function admin() external ifAdmin returns (address) { return ADMIN; } /** * @return The address of the implementation. */ function implementation() external ifAdmin returns (address) { return _implementation(); } /** * @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 ifAdmin { _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 { _upgradeTo(newImplementation); (bool success, ) = newImplementation.delegatecall(data); require(success); } /** * @dev Only fall back when the sender is not the admin. */ function _willFallback() internal virtual override { require(msg.sender != ADMIN, 'Cannot call fallback function from the proxy admin'); super._willFallback(); } } /** * @title InitializableUpgradeabilityProxy * @dev Extends BaseUpgradeabilityProxy with an initializer for initializing * implementation and init data. */ contract InitializableUpgradeabilityProxy is BaseUpgradeabilityProxy { /** * @dev Contract initializer. * @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. */ function initialize(address _logic, bytes memory _data) public payable { require(_implementation() == address(0)); assert(IMPLEMENTATION_SLOT == bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)); _setImplementation(_logic); if (_data.length > 0) { (bool success, ) = _logic.delegatecall(_data); require(success); } } } /** * @title InitializableAdminUpgradeabilityProxy * @dev Extends BaseAdminUpgradeabilityProxy with an initializer function */ contract InitializableImmutableAdminUpgradeabilityProxy is BaseImmutableAdminUpgradeabilityProxy, InitializableUpgradeabilityProxy { constructor(address admin) public BaseImmutableAdminUpgradeabilityProxy(admin) {} /** * @dev Only fall back when the sender is not the admin. */ function _willFallback() internal override(BaseImmutableAdminUpgradeabilityProxy, Proxy) { BaseImmutableAdminUpgradeabilityProxy._willFallback(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"admin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}]
Contract Creation Code
60a060405234801561001057600080fd5b506040516107733803806107738339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b03166106f36100806000398061022852806102725280610331528061045e528061048752806105af52506106f36000f3fe60806040526004361061004a5760003560e01c80633659cfe6146100545780634f1ef286146100875780635c60da1b14610107578063d1f5789414610138578063f851a440146101ee575b610052610203565b005b34801561006057600080fd5b506100526004803603602081101561007757600080fd5b50356001600160a01b031661021d565b6100526004803603604081101561009d57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100c857600080fd5b8201836020820111156100da57600080fd5b803590602001918460018302840111640100000000831117156100fc57600080fd5b509092509050610267565b34801561011357600080fd5b5061011c610324565b604080516001600160a01b039092168252519081900360200190f35b6100526004803603604081101561014e57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561017957600080fd5b82018360208201111561018b57600080fd5b803590602001918460018302840111640100000000831117156101ad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610371945050505050565b3480156101fa57600080fd5b5061011c610451565b61020b6104ab565b61021b6102166104b3565b6104d8565b565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561025c57610257816104fc565b610264565b610264610203565b50565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610317576102a1836104fc565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146102fe576040519150601f19603f3d011682016040523d82523d6000602084013e610303565b606091505b505090508061031157600080fd5b5061031f565b61031f610203565b505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103665761035f6104b3565b905061036e565b61036e610203565b90565b600061037b6104b3565b6001600160a01b03161461038e57600080fd5b6103978261053c565b80511561044d576000826001600160a01b0316826040518082805190602001908083835b602083106103da5780518252601f1990920191602091820191016103bb565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461043a576040519150601f19603f3d011682016040523d82523d6000602084013e61043f565b606091505b505090508061031f57600080fd5b5050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561036657507f000000000000000000000000000000000000000000000000000000000000000061036e565b61021b6105a4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156104f7573d6000f35b3d6000fd5b6105058161053c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61054581610614565b6105805760405162461bcd60e51b815260040180806020018281038252603b815260200180610683603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561060c5760405162461bcd60e51b81526004018080602001828103825260328152602001806106516032913960400191505060405180910390fd5b61021b61021b565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061064857508115155b94935050505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220689aa915b46e6e63eab40e792c17ff6b96b91cdf18b9a6e783ef289b032e28f164736f6c634300060c00330000000000000000000000003b8569df88a70ecae31a6bca1fc3d51bd426189d
Deployed Bytecode
0x60806040526004361061004a5760003560e01c80633659cfe6146100545780634f1ef286146100875780635c60da1b14610107578063d1f5789414610138578063f851a440146101ee575b610052610203565b005b34801561006057600080fd5b506100526004803603602081101561007757600080fd5b50356001600160a01b031661021d565b6100526004803603604081101561009d57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100c857600080fd5b8201836020820111156100da57600080fd5b803590602001918460018302840111640100000000831117156100fc57600080fd5b509092509050610267565b34801561011357600080fd5b5061011c610324565b604080516001600160a01b039092168252519081900360200190f35b6100526004803603604081101561014e57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561017957600080fd5b82018360208201111561018b57600080fd5b803590602001918460018302840111640100000000831117156101ad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610371945050505050565b3480156101fa57600080fd5b5061011c610451565b61020b6104ab565b61021b6102166104b3565b6104d8565b565b336001600160a01b037f0000000000000000000000003b8569df88a70ecae31a6bca1fc3d51bd426189d16141561025c57610257816104fc565b610264565b610264610203565b50565b336001600160a01b037f0000000000000000000000003b8569df88a70ecae31a6bca1fc3d51bd426189d161415610317576102a1836104fc565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146102fe576040519150601f19603f3d011682016040523d82523d6000602084013e610303565b606091505b505090508061031157600080fd5b5061031f565b61031f610203565b505050565b6000336001600160a01b037f0000000000000000000000003b8569df88a70ecae31a6bca1fc3d51bd426189d1614156103665761035f6104b3565b905061036e565b61036e610203565b90565b600061037b6104b3565b6001600160a01b03161461038e57600080fd5b6103978261053c565b80511561044d576000826001600160a01b0316826040518082805190602001908083835b602083106103da5780518252601f1990920191602091820191016103bb565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461043a576040519150601f19603f3d011682016040523d82523d6000602084013e61043f565b606091505b505090508061031f57600080fd5b5050565b6000336001600160a01b037f0000000000000000000000003b8569df88a70ecae31a6bca1fc3d51bd426189d16141561036657507f0000000000000000000000003b8569df88a70ecae31a6bca1fc3d51bd426189d61036e565b61021b6105a4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156104f7573d6000f35b3d6000fd5b6105058161053c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61054581610614565b6105805760405162461bcd60e51b815260040180806020018281038252603b815260200180610683603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b336001600160a01b037f0000000000000000000000003b8569df88a70ecae31a6bca1fc3d51bd426189d16141561060c5760405162461bcd60e51b81526004018080602001828103825260328152602001806106516032913960400191505060405180910390fd5b61021b61021b565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061064857508115155b94935050505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220689aa915b46e6e63eab40e792c17ff6b96b91cdf18b9a6e783ef289b032e28f164736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000003b8569df88a70ecae31a6bca1fc3d51bd426189d
-----Decoded View---------------
Arg [0] : admin (address): 0x3B8569df88A70ECAE31a6bCA1fc3d51BD426189d
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000003b8569df88a70ecae31a6bca1fc3d51bd426189d
Deployed Bytecode Sourcemap
10560:462:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3045:11;:9;:11::i;:::-;10560:462;8074:109;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8074:109:0;-1:-1:-1;;;;;8074:109:0;;:::i;8733:260::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8733:260:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8733:260:0;;-1:-1:-1;8733:260:0;-1:-1:-1;8733:260:0;:::i;7767:102::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;7767:102:0;;;;;;;;;;;;;;10044:373;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10044:373:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10044:373:0;;-1:-1:-1;10044:373:0;;-1:-1:-1;;;;;10044:373:0:i;7607:81::-;;;;;;;;;;;;;:::i;4679:93::-;4716:15;:13;:15::i;:::-;4738:28;4748:17;:15;:17::i;:::-;4738:9;:28::i;:::-;4679:93::o;8074:109::-;7443:10;-1:-1:-1;;;;;7457:5:0;7443:19;;7439:85;;;8146:29:::1;8157:17;8146:10;:29::i;:::-;7439:85:::0;;;7503:11;:9;:11::i;:::-;8074:109;:::o;8733:260::-;7443:10;-1:-1:-1;;;;;7457:5:0;7443:19;;7439:85;;;8867:29:::1;8878:17;8867:10;:29::i;:::-;8906:12;8924:17;-1:-1:-1::0;;;;;8924:30:0::1;8955:4;;8924:36;;;;;;;;;;::::0;;::::1;::::0;-1:-1:-1;8924:36:0::1;::::0;-1:-1:-1;8924:36:0;;-1:-1:-1;;8924:36:0;;::::1;::::0;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8905:55;;;8977:7;8969:16;;;::::0;::::1;;7475:1;7439:85:::0;;;7503:11;:9;:11::i;:::-;8733:260;;;:::o;7767:102::-;7819:7;7443:10;-1:-1:-1;;;;;7457:5:0;7443:19;;7439:85;;;7844:17:::1;:15;:17::i;:::-;7837:24;;7439:85:::0;;;7503:11;:9;:11::i;:::-;7767:102;:::o;10044:373::-;10159:1;10130:17;:15;:17::i;:::-;-1:-1:-1;;;;;10130:31:0;;10122:40;;;;;;10270:26;10289:6;10270:18;:26::i;:::-;10307:12;;:16;10303:109;;10335:12;10353:6;-1:-1:-1;;;;;10353:19:0;10373:5;10353:26;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10353:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10334:45;;;10396:7;10388:16;;;;;10303:109;10044:373;;:::o;7607:81::-;7650:7;7443:10;-1:-1:-1;;;;;7457:5:0;7443:19;;7439:85;;;-1:-1:-1;7675:5:0::1;7439:85:::0;;10864:155;10960:53;:51;:53::i;5694:202::-;5503:66;5873:11;;5856:35::o;3492:826::-;3831:14;3828:1;3825;3812:34;4031:1;4028;4012:14;4009:1;3993:14;3986:5;3973:60;4098:16;4095:1;4092;4077:38;4132:6;4189:54;;;;4280:16;4277:1;4270:27;4189:54;4217:16;4214:1;4207:27;6037:145;6100:37;6119:17;6100:18;:37::i;:::-;6149:27;;-1:-1:-1;;;;;6149:27:0;;;;;;;;6037:145;:::o;6325:346::-;6412:37;6431:17;6412:18;:37::i;:::-;6396:130;;;;-1:-1:-1;;;6396:130:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5503:66;6628:31;6619:47::o;9083:180::-;9151:10;-1:-1:-1;;;;;9165:5:0;9151:19;;;9143:82;;;;-1:-1:-1;;;9143:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9234:21;:19;:21::i;712:597::-;772:4;1219:20;;1063:66;1260:23;;;;;;:42;;-1:-1:-1;1287:15:0;;;1260:42;1252:51;712:597;-1:-1:-1;;;;712:597:0:o
Swarm Source
ipfs://689aa915b46e6e63eab40e792c17ff6b96b91cdf18b9a6e783ef289b032e28f1
Loading...
Loading
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
FTM | 100.00% | $0.413018 | 79.8317 | $32.97 |
[ Download: CSV Export ]
[ 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.