Source Code
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Cross-Chain Transactions
Loading...
Loading
Contract Name:
PausableIsm
Compiler Version
v0.8.22+commit.4fc1097e
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT OR Apache-2.0
pragma solidity >=0.8.0;
// ============ External Imports ============
import {Pausable} from "@openzeppelin/contracts/security/Pausable.sol";
import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
// ============ Internal Imports ============
import {IInterchainSecurityModule} from "../interfaces/IInterchainSecurityModule.sol";
import {PackageVersioned} from "contracts/PackageVersioned.sol";
contract PausableIsm is
IInterchainSecurityModule,
Ownable,
Pausable,
PackageVersioned
{
uint8 public constant override moduleType = uint8(Types.NULL);
constructor(address owner) Ownable() Pausable() {
_transferOwnership(owner);
}
/**
* @inheritdoc IInterchainSecurityModule
* @dev Reverts when paused, otherwise returns `true`.
*/
function verify(
bytes calldata,
bytes calldata
) external view whenNotPaused returns (bool) {
return true;
}
function pause() external onlyOwner {
_pause();
}
function unpause() external onlyOwner {
_unpause();
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (security/Pausable.sol)
pragma solidity ^0.8.0;
import "../utils/Context.sol";
/**
* @dev Contract module which allows children to implement an emergency stop
* mechanism that can be triggered by an authorized account.
*
* This module is used through inheritance. It will make available the
* modifiers `whenNotPaused` and `whenPaused`, which can be applied to
* the functions of your contract. Note that they will not be pausable by
* simply including this module, only once the modifiers are put in place.
*/
abstract contract Pausable is Context {
/**
* @dev Emitted when the pause is triggered by `account`.
*/
event Paused(address account);
/**
* @dev Emitted when the pause is lifted by `account`.
*/
event Unpaused(address account);
bool private _paused;
/**
* @dev Initializes the contract in unpaused state.
*/
constructor() {
_paused = false;
}
/**
* @dev Modifier to make a function callable only when the contract is not paused.
*
* Requirements:
*
* - The contract must not be paused.
*/
modifier whenNotPaused() {
_requireNotPaused();
_;
}
/**
* @dev Modifier to make a function callable only when the contract is paused.
*
* Requirements:
*
* - The contract must be paused.
*/
modifier whenPaused() {
_requirePaused();
_;
}
/**
* @dev Returns true if the contract is paused, and false otherwise.
*/
function paused() public view virtual returns (bool) {
return _paused;
}
/**
* @dev Throws if the contract is paused.
*/
function _requireNotPaused() internal view virtual {
require(!paused(), "Pausable: paused");
}
/**
* @dev Throws if the contract is not paused.
*/
function _requirePaused() internal view virtual {
require(paused(), "Pausable: not paused");
}
/**
* @dev Triggers stopped state.
*
* Requirements:
*
* - The contract must not be paused.
*/
function _pause() internal virtual whenNotPaused {
_paused = true;
emit Paused(_msgSender());
}
/**
* @dev Returns to normal state.
*
* Requirements:
*
* - The contract must be paused.
*/
function _unpause() internal virtual whenPaused {
_paused = false;
emit Unpaused(_msgSender());
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)
pragma solidity ^0.8.0;
import "../utils/Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* By default, the owner account will be the one that deploys the contract. This
* can later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
_transferOwnership(_msgSender());
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby disabling any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// SPDX-License-Identifier: MIT OR Apache-2.0
pragma solidity >=0.6.11;
interface IInterchainSecurityModule {
enum Types {
UNUSED,
ROUTING,
AGGREGATION,
LEGACY_MULTISIG,
MERKLE_ROOT_MULTISIG,
MESSAGE_ID_MULTISIG,
NULL, // used with relayer carrying no metadata
CCIP_READ,
ARB_L2_TO_L1,
WEIGHTED_MERKLE_ROOT_MULTISIG,
WEIGHTED_MESSAGE_ID_MULTISIG,
OP_L2_TO_L1
}
/**
* @notice Returns an enum that represents the type of security model
* encoded by this ISM.
* @dev Relayers infer how to fetch and format metadata.
*/
function moduleType() external view returns (uint8);
/**
* @notice Defines a security model responsible for verifying interchain
* messages based on the provided metadata.
* @param _metadata Off-chain metadata provided by a relayer, specific to
* the security model encoded by the module (e.g. validator signatures)
* @param _message Hyperlane encoded interchain message
* @return True if the message was verified
*/
function verify(
bytes calldata _metadata,
bytes calldata _message
) external returns (bool);
}
interface ISpecifiesInterchainSecurityModule {
function interchainSecurityModule()
external
view
returns (IInterchainSecurityModule);
}// SPDX-License-Identifier: MIT OR Apache-2.0
pragma solidity >=0.6.11;
/**
* @title PackageVersioned
* @notice Package version getter for contracts
**/
abstract contract PackageVersioned {
// GENERATED CODE - DO NOT EDIT
string public constant PACKAGE_VERSION = "5.11.3";
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
pragma solidity ^0.8.0;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}{
"remappings": [
"@arbitrum/=../node_modules/@arbitrum/",
"@eth-optimism/=../node_modules/@eth-optimism/",
"@layerzerolabs/=../node_modules/@layerzerolabs/",
"@openzeppelin/=../node_modules/@openzeppelin/",
"@chainlink/=../node_modules/@chainlink/",
"ds-test/=lib/forge-std/lib/ds-test/src/",
"forge-std/=lib/forge-std/src/",
"fx-portal/=lib/fx-portal/"
],
"optimizer": {
"enabled": true,
"runs": 999999
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs",
"appendCBOR": true
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
},
"evmVersion": "paris",
"viaIR": false,
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"PACKAGE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"moduleType","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"verify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b5060405161080f38038061080f83398101604081905261002f916100a4565b61003833610054565b6000805460ff60a01b1916905561004e81610054565b506100d4565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100b657600080fd5b81516001600160a01b03811681146100cd57600080fd5b9392505050565b61072c806100e36000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80638456cb591161007657806393c448471161005b57806393c4484714610138578063f2fde38b14610181578063f7e83aee1461019457600080fd5b80638456cb59146101085780638da5cb5b1461011057600080fd5b80633f4ba83a146100a85780635c975abb146100b25780636465e69f146100e6578063715018a614610100575b600080fd5b6100b06101a7565b005b60005474010000000000000000000000000000000000000000900460ff165b60405190151581526020015b60405180910390f35b6100ee600681565b60405160ff90911681526020016100dd565b6100b06101b9565b6100b06101cb565b60005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100dd565b6101746040518060400160405280600681526020017f352e31312e33000000000000000000000000000000000000000000000000000081525081565b6040516100dd9190610597565b6100b061018f366004610604565b6101db565b6100d16101a236600461068a565b610297565b6101af6102ac565b6101b761032d565b565b6101c16102ac565b6101b760006103aa565b6101d36102ac565b6101b761041f565b6101e36102ac565b73ffffffffffffffffffffffffffffffffffffffff811661028b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610294816103aa565b50565b60006102a161048e565b506001949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146101b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610282565b610335610513565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61042761048e565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586103803390565b60005474010000000000000000000000000000000000000000900460ff16156101b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610282565b60005474010000000000000000000000000000000000000000900460ff166101b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610282565b60006020808352835180602085015260005b818110156105c5578581018301518582016040015282016105a9565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561061657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461063a57600080fd5b9392505050565b60008083601f84011261065357600080fd5b50813567ffffffffffffffff81111561066b57600080fd5b60208301915083602082850101111561068357600080fd5b9250929050565b600080600080604085870312156106a057600080fd5b843567ffffffffffffffff808211156106b857600080fd5b6106c488838901610641565b909650945060208701359150808211156106dd57600080fd5b506106ea87828801610641565b9598949750955050505056fea264697066735822122093fc10ab848ab0864a81193b31346fbfaed62f5d0fee3adfe8b77f0d48b05d9a64736f6c6343000816003300000000000000000000000021c0ca5be5ac9bc6161bf1cfe281a18fe2190079
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80638456cb591161007657806393c448471161005b57806393c4484714610138578063f2fde38b14610181578063f7e83aee1461019457600080fd5b80638456cb59146101085780638da5cb5b1461011057600080fd5b80633f4ba83a146100a85780635c975abb146100b25780636465e69f146100e6578063715018a614610100575b600080fd5b6100b06101a7565b005b60005474010000000000000000000000000000000000000000900460ff165b60405190151581526020015b60405180910390f35b6100ee600681565b60405160ff90911681526020016100dd565b6100b06101b9565b6100b06101cb565b60005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100dd565b6101746040518060400160405280600681526020017f352e31312e33000000000000000000000000000000000000000000000000000081525081565b6040516100dd9190610597565b6100b061018f366004610604565b6101db565b6100d16101a236600461068a565b610297565b6101af6102ac565b6101b761032d565b565b6101c16102ac565b6101b760006103aa565b6101d36102ac565b6101b761041f565b6101e36102ac565b73ffffffffffffffffffffffffffffffffffffffff811661028b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610294816103aa565b50565b60006102a161048e565b506001949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146101b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610282565b610335610513565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61042761048e565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586103803390565b60005474010000000000000000000000000000000000000000900460ff16156101b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610282565b60005474010000000000000000000000000000000000000000900460ff166101b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610282565b60006020808352835180602085015260005b818110156105c5578581018301518582016040015282016105a9565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561061657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461063a57600080fd5b9392505050565b60008083601f84011261065357600080fd5b50813567ffffffffffffffff81111561066b57600080fd5b60208301915083602082850101111561068357600080fd5b9250929050565b600080600080604085870312156106a057600080fd5b843567ffffffffffffffff808211156106b857600080fd5b6106c488838901610641565b909650945060208701359150808211156106dd57600080fd5b506106ea87828801610641565b9598949750955050505056fea264697066735822122093fc10ab848ab0864a81193b31346fbfaed62f5d0fee3adfe8b77f0d48b05d9a64736f6c63430008160033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000021c0ca5be5ac9bc6161bf1cfe281a18fe2190079
-----Decoded View---------------
Arg [0] : owner (address): 0x21C0CA5be5aC9BC6161Bf1cfE281A18Fe2190079
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000021c0ca5be5ac9bc6161bf1cfe281a18fe2190079
Deployed Bytecode Sourcemap
458:674:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1065:65;;;:::i;:::-;;1615:84:1;1662:4;1685:7;;;;;;1615:84;;;179:14:6;;172:22;154:41;;142:2;127:18;1615:84:1;;;;;;;;567:61:5;;617:10;567:61;;;;;378:4:6;366:17;;;348:36;;336:2;321:18;567:61:5;206:184:6;1824:101:0;;;:::i;998:61:5:-;;;:::i;1201:85:0:-;1247:7;1273:6;1201:85;;1273:6;;;;541:74:6;;529:2;514:18;1201:85:0;395:226:6;234:49:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2074:198:0:-;;;;;;:::i;:::-;;:::i;851:141:5:-;;;;;;:::i;:::-;;:::i;1065:65::-;1094:13:0;:11;:13::i;:::-;1113:10:5::1;:8;:10::i;:::-;1065:65::o:0;1824:101:0:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;998:61:5:-:0;1094:13:0;:11;:13::i;:::-;1044:8:5::1;:6;:8::i;2074:198:0:-:0;1094:13;:11;:13::i;:::-;2162:22:::1;::::0;::::1;2154:73;;;::::0;::::1;::::0;;3017:2:6;2154:73:0::1;::::0;::::1;2999:21:6::0;3056:2;3036:18;;;3029:30;3095:34;3075:18;;;3068:62;3166:8;3146:18;;;3139:36;3192:19;;2154:73:0::1;;;;;;;;;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;851:141:5:-;958:4;1239:19:1;:17;:19::i;:::-;-1:-1:-1;981:4:5::1;851:141:::0;;;;;;:::o;1359:130:0:-;1247:7;1273:6;1422:23;1273:6;719:10:2;1422:23:0;1414:68;;;;;;;3424:2:6;1414:68:0;;;3406:21:6;;;3443:18;;;3436:30;3502:34;3482:18;;;3475:62;3554:18;;1414:68:0;3222:356:6;2433:117:1;1486:16;:14;:16::i;:::-;2501:5:::1;2491:15:::0;;;::::1;::::0;;2521:22:::1;719:10:2::0;2530:12:1::1;2521:22;::::0;571:42:6;559:55;;;541:74;;529:2;514:18;2521:22:1::1;;;;;;;2433:117::o:0;2426:187:0:-;2499:16;2518:6;;;2534:17;;;;;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;2186:115:1:-;1239:19;:17;:19::i;:::-;2245:7:::1;:14:::0;;;::::1;::::0;::::1;::::0;;2274:20:::1;2281:12;719:10:2::0;;640:96;1767:106:1;1662:4;1685:7;;;;;;1836:9;1828:38;;;;;;;3785:2:6;1828:38:1;;;3767:21:6;3824:2;3804:18;;;3797:30;3863:18;3843;;;3836:46;3899:18;;1828:38:1;3583:340:6;1945:106:1;1662:4;1685:7;;;;;;2003:41;;;;;;;4130:2:6;2003:41:1;;;4112:21:6;4169:2;4149:18;;;4142:30;4208:22;4188:18;;;4181:50;4248:18;;2003:41:1;3928:344:6;626:607;738:4;767:2;796;785:9;778:21;828:6;822:13;871:6;866:2;855:9;851:18;844:34;896:1;906:140;920:6;917:1;914:13;906:140;;;1015:14;;;1011:23;;1005:30;981:17;;;1000:2;977:26;970:66;935:10;;906:140;;;910:3;1095:1;1090:2;1081:6;1070:9;1066:22;1062:31;1055:42;1224:2;1154:66;1149:2;1141:6;1137:15;1133:88;1122:9;1118:104;1114:113;1106:121;;;;626:607;;;;:::o;1238:309::-;1297:6;1350:2;1338:9;1329:7;1325:23;1321:32;1318:52;;;1366:1;1363;1356:12;1318:52;1405:9;1392:23;1455:42;1448:5;1444:54;1437:5;1434:65;1424:93;;1513:1;1510;1503:12;1424:93;1536:5;1238:309;-1:-1:-1;;;1238:309:6:o;1552:347::-;1603:8;1613:6;1667:3;1660:4;1652:6;1648:17;1644:27;1634:55;;1685:1;1682;1675:12;1634:55;-1:-1:-1;1708:20:6;;1751:18;1740:30;;1737:50;;;1783:1;1780;1773:12;1737:50;1820:4;1812:6;1808:17;1796:29;;1872:3;1865:4;1856:6;1848;1844:19;1840:30;1837:39;1834:59;;;1889:1;1886;1879:12;1834:59;1552:347;;;;;:::o;1904:717::-;1994:6;2002;2010;2018;2071:2;2059:9;2050:7;2046:23;2042:32;2039:52;;;2087:1;2084;2077:12;2039:52;2127:9;2114:23;2156:18;2197:2;2189:6;2186:14;2183:34;;;2213:1;2210;2203:12;2183:34;2252:58;2302:7;2293:6;2282:9;2278:22;2252:58;:::i;:::-;2329:8;;-1:-1:-1;2226:84:6;-1:-1:-1;2417:2:6;2402:18;;2389:32;;-1:-1:-1;2433:16:6;;;2430:36;;;2462:1;2459;2452:12;2430:36;;2501:60;2553:7;2542:8;2531:9;2527:24;2501:60;:::i;:::-;1904:717;;;;-1:-1:-1;2580:8:6;-1:-1:-1;;;;1904:717:6:o
Swarm Source
ipfs://93fc10ab848ab0864a81193b31346fbfaed62f5d0fee3adfe8b77f0d48b05d9a
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in FRAX
0
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.