More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x171D014F...718711440 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
WUSDNoteController
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-02-03 */ // File: contracts\WUSD\util\ERC1155Receiver.sol // SPDX-License-Identifier: MIT pragma solidity ^0.7.6; abstract contract ERC1155Receiver { bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7; mapping(bytes4 => bool) private _supportedInterfaces; constructor() { _registerInterface(_INTERFACE_ID_ERC165); _registerInterface( ERC1155Receiver(0).onERC1155Received.selector ^ ERC1155Receiver(0).onERC1155BatchReceived.selector ); } function supportsInterface(bytes4 interfaceId) public view returns (bool) { return _supportedInterfaces[interfaceId]; } function _registerInterface(bytes4 interfaceId) internal virtual { require(interfaceId != 0xffffffff, "ERC165: invalid interface id"); _supportedInterfaces[interfaceId] = true; } function onERC1155Received( address operator, address from, uint256 id, uint256 value, bytes calldata data ) external virtual returns(bytes4); function onERC1155BatchReceived( address operator, address from, uint256[] calldata ids, uint256[] calldata values, bytes calldata data ) external virtual returns(bytes4); } // File: contracts\WUSD\util\IERC1155.sol // SPDX_License_Identifier: MIT pragma solidity ^0.7.6; interface IERC1155 { event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value); event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values); event ApprovalForAll(address indexed account, address indexed operator, bool approved); event URI(string value, uint256 indexed id); function balanceOf(address account, uint256 id) external view returns (uint256); function balanceOfBatch(address[] calldata accounts, uint256[] calldata ids) external view returns (uint256[] memory); function setApprovalForAll(address operator, bool approved) external; function isApprovedForAll(address account, address operator) external view returns (bool); function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes calldata data) external; function safeBatchTransferFrom(address from, address to, uint256[] calldata ids, uint256[] calldata amounts, bytes calldata data) external; } // File: contracts\WUSD\util\IERC20.sol // SPDX_License_Identifier: MIT pragma solidity ^0.7.6; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); function decimals() external view returns (uint8); } // File: contracts\WUSD\util\IEthItemInteroperableInterface.sol // SPDX_License_Identifier: MIT pragma solidity ^0.7.6; interface IEthItemInteroperableInterface is IERC20 { function mainInterface() external view returns (address); function objectId() external view returns (uint256); function mint(address owner, uint256 amount) external; function burn(address owner, uint256 amount) external; function permitNonce(address sender) external view returns(uint256); function permit(address owner, address spender, uint value, uint8 v, bytes32 r, bytes32 s) external; function interoperableInterfaceVersion() external pure returns(uint256 ethItemInteroperableInterfaceVersion); } // File: contracts\WUSD\util\IEthItem.sol // SPDX_License_Identifier: MIT pragma solidity ^0.7.6; interface IEthItem is IERC1155 { function name() external view returns (string memory); function symbol() external view returns (string memory); function totalSupply(uint256 objectId) external view returns (uint256); function name(uint256 objectId) external view returns (string memory); function symbol(uint256 objectId) external view returns (string memory); function decimals(uint256 objectId) external view returns (uint256); function uri(uint256 objectId) external view returns (string memory); function mainInterfaceVersion() external pure returns(uint256 ethItemInteroperableVersion); function toInteroperableInterfaceAmount(uint256 objectId, uint256 ethItemAmount) external view returns (uint256 interoperableInterfaceAmount); function toMainInterfaceAmount(uint256 objectId, uint256 erc20WrapperAmount) external view returns (uint256 mainInterfaceAmount); function interoperableInterfaceModel() external view returns (address, uint256); function asInteroperable(uint256 objectId) external view returns (IEthItemInteroperableInterface); function emitTransferSingleEvent(address sender, address from, address to, uint256 objectId, uint256 amount) external; function mint(uint256 amount, string calldata partialUri) external returns (uint256, address); function burn( uint256 objectId, uint256 amount ) external; function burnBatch( uint256[] calldata objectIds, uint256[] calldata amounts ) external; } // File: contracts\WUSD\util\INativeV1.sol //SPDX_License_Identifier: MIT pragma solidity ^0.7.6; interface INativeV1 is IEthItem { function init(string calldata name, string calldata symbol, bool hasDecimals, string calldata collectionUri, address extensionAddress, bytes calldata extensionInitPayload) external returns(bytes memory extensionInitCallResponse); function extension() external view returns (address extensionAddress); function canMint(address operator) external view returns (bool result); function isEditable(uint256 objectId) external view returns (bool result); function releaseExtension() external; function uri() external view returns (string memory); function decimals() external view returns (uint256); function mint(uint256 amount, string calldata tokenName, string calldata tokenSymbol, string calldata objectUri, bool editable) external returns (uint256 objectId, address tokenAddress); function mint(uint256 amount, string calldata tokenName, string calldata tokenSymbol, string calldata objectUri) external returns (uint256 objectId, address tokenAddress); function mint(uint256 objectId, uint256 amount) external; function makeReadOnly(uint256 objectId) external; function setUri(string calldata newUri) external; function setUri(uint256 objectId, string calldata newUri) external; } // File: contracts\WUSD\IWUSDNoteController.sol //SPDX_License_Identifier: MIT pragma solidity ^0.7.6; interface IWUSDNoteController { function wusdCollection() external view returns(address); function wusdObjectId() external view returns(uint256); function wusdNoteObjectId() external view returns(uint256); function multiplier() external view returns(uint256); function info() external view returns(address, uint256, uint256, uint256); function init(address _wusdCollection, uint256 _wusdObjectId, uint256 _wusdNoteObjectId, uint256 _multiplier) external; } // File: contracts\WUSD\WUSDNoteController.sol //SPDX_License_Identifier: MIT pragma solidity ^0.7.6; contract WUSDNoteController is IWUSDNoteController, ERC1155Receiver { address public override wusdCollection; uint256 public override wusdObjectId; uint256 public override wusdNoteObjectId; uint256 public override multiplier; function init(address _wusdCollection, uint256 _wusdObjectId, uint256 _wusdNoteObjectId, uint256 _multiplier) public override { require(wusdCollection == address(0), "Already init"); wusdCollection = _wusdCollection; wusdObjectId = _wusdObjectId; wusdNoteObjectId = _wusdNoteObjectId; multiplier = _multiplier; } function info() public override view returns(address, uint256, uint256, uint256) { return (wusdCollection, wusdObjectId, wusdNoteObjectId, multiplier); } function onERC1155BatchReceived( address, address from, uint256[] memory ids, uint256[] memory values, bytes memory data ) public override returns(bytes4) { require(msg.sender == wusdCollection, "Only WUSD collection allowed here"); uint256[] memory usdIds = new uint256[](ids.length); uint256[] memory usdValues = new uint256[](ids.length); for(uint256 i = 0; i < ids.length; i++) { require(ids[i] == wusdNoteObjectId, "Only WUSD Note allowed here"); usdIds[i] = wusdObjectId; usdValues[i] = values[i] * multiplier; } INativeV1 collection = INativeV1(wusdCollection); collection.burnBatch(ids, values); collection.safeBatchTransferFrom(address(this), from, usdIds, usdValues, data); return this.onERC1155BatchReceived.selector; } function onERC1155Received( address, address from, uint256 id, uint256 value, bytes calldata data ) public override returns(bytes4) { require(msg.sender == wusdCollection, "Only WUSD collection allowed here"); require(id == wusdNoteObjectId, "Only WUSD Note allowed here"); INativeV1 collection = INativeV1(wusdCollection); collection.burn(id, value); collection.safeTransferFrom(address(this), from, wusdObjectId, value * multiplier, data); return this.onERC1155Received.selector; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"name":"info","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wusdCollection","type":"address"},{"internalType":"uint256","name":"_wusdObjectId","type":"uint256"},{"internalType":"uint256","name":"_wusdNoteObjectId","type":"uint256"},{"internalType":"uint256","name":"_multiplier","type":"uint256"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"multiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wusdCollection","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wusdNoteObjectId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wusdObjectId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100935760003560e01c806348ca0cac1161006657806348ca0cac1461012d57806389907e031461015157806398c36c0914610159578063bc197c8114610193578063f23a6e611461037157610093565b806301ffc9a7146100985780631b3ed722146100d3578063370158ea146100ed57806337e24feb14610125575b600080fd5b6100bf600480360360208110156100ae57600080fd5b50356001600160e01b031916610404565b604080519115158252519081900360200190f35b6100db610423565b60408051918252519081900360200190f35b6100f5610429565b604080516001600160a01b0390951685526020850193909352838301919091526060830152519081900360800190f35b6100db610447565b61013561044d565b604080516001600160a01b039092168252519081900360200190f35b6100db61045c565b6101916004803603608081101561016f57600080fd5b506001600160a01b038135169060208101359060408101359060600135610462565b005b610354600480360360a08110156101a957600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156101dc57600080fd5b8201836020820111156101ee57600080fd5b803590602001918460208302840111600160201b8311171561020f57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561025e57600080fd5b82018360208201111561027057600080fd5b803590602001918460208302840111600160201b8311171561029157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156102e057600080fd5b8201836020820111156102f257600080fd5b803590602001918460018302840111600160201b8311171561031357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506104de945050505050565b604080516001600160e01b03199092168252519081900360200190f35b610354600480360360a081101561038757600080fd5b6001600160a01b03823581169260208101359091169160408201359160608101359181019060a081016080820135600160201b8111156103c657600080fd5b8201836020820111156103d857600080fd5b803590602001918460018302840111600160201b831117156103f957600080fd5b5090925090506108eb565b6001600160e01b03191660009081526020819052604090205460ff1690565b60045481565b6001546002546003546004546001600160a01b039093169290919293565b60025481565b6001546001600160a01b031681565b60035481565b6001546001600160a01b0316156104af576040805162461bcd60e51b815260206004820152600c60248201526b105b1c9958591e481a5b9a5d60a21b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b039590951694909417909355600291909155600355600455565b6001546000906001600160a01b0316331461052a5760405162461bcd60e51b8152600401808060200182810382526021815260200180610ad16021913960400191505060405180910390fd5b6000845167ffffffffffffffff8111801561054457600080fd5b5060405190808252806020026020018201604052801561056e578160200160208202803683370190505b5090506000855167ffffffffffffffff8111801561058b57600080fd5b506040519080825280602002602001820160405280156105b5578160200160208202803683370190505b50905060005b865181101561067f576003548782815181106105d357fe5b60200260200101511461062d576040805162461bcd60e51b815260206004820152601b60248201527f4f6e6c792057555344204e6f746520616c6c6f77656420686572650000000000604482015290519081900360640190fd5b60025483828151811061063c57fe5b60200260200101818152505060045486828151811061065757fe5b60200260200101510282828151811061066c57fe5b60209081029190910101526001016105bb565b50600154604080516383ca4b6f60e01b8152600481019182528851604482015288516001600160a01b039093169283926383ca4b6f928b928b929182916024820191606401906020808801910280838360005b838110156106ea5781810151838201526020016106d2565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610729578181015183820152602001610711565b50505050905001945050505050600060405180830381600087803b15801561075057600080fd5b505af1158015610764573d6000803e3d6000fd5b50505050806001600160a01b0316632eb2c2d6308a86868a6040518663ffffffff1660e01b815260040180866001600160a01b03168152602001856001600160a01b03168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156107f15781810151838201526020016107d9565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015610830578181015183820152602001610818565b50505050905001848103825285818151815260200191508051906020019080838360005b8381101561086c578181015183820152602001610854565b50505050905090810190601f1680156108995780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b1580156108be57600080fd5b505af11580156108d2573d6000803e3d6000fd5b5063bc197c8160e01b9c9b505050505050505050505050565b6001546000906001600160a01b031633146109375760405162461bcd60e51b8152600401808060200182810382526021815260200180610ad16021913960400191505060405180910390fd5b600354851461098d576040805162461bcd60e51b815260206004820152601b60248201527f4f6e6c792057555344204e6f746520616c6c6f77656420686572650000000000604482015290519081900360640190fd5b6001546040805163b390c0ab60e01b8152600481018890526024810187905290516001600160a01b0390921691829163b390c0ab91604480830192600092919082900301818387803b1580156109e257600080fd5b505af11580156109f6573d6000803e3d6000fd5b50505050806001600160a01b031663f242432a30896002546004548a0289896040518763ffffffff1660e01b815260040180876001600160a01b03168152602001866001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5063f23a6e6160e01b9b9a505050505050505050505056fe4f6e6c79205755534420636f6c6c656374696f6e20616c6c6f7765642068657265a26469706673582212200c4b2b1ce28301678f07b716189b5c390b3fbb892a42d8aabf1c48ac22f4282164736f6c63430007060033
Deployed Bytecode Sourcemap
7826:2434:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;529:133;;;;;;;;;;;;;;;;-1:-1:-1;529:133:0;-1:-1:-1;;;;;;529:133:0;;:::i;:::-;;;;;;;;;;;;;;;;;;8038:34;;;:::i;:::-;;;;;;;;;;;;;;;;8451:167;;;:::i;:::-;;;;-1:-1:-1;;;;;8451:167:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7948:36;;;:::i;7903:38::-;;;:::i;:::-;;;;-1:-1:-1;;;;;7903:38:0;;;;;;;;;;;;;;7991:40;;;:::i;8081:362::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8081:362:0;;;;;;;;;;;;;;;;;;:::i;:::-;;8626:980;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8626:980:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8626:980:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8626:980:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8626:980:0;;;;;;;;-1:-1:-1;8626:980:0;;-1:-1:-1;;;;;8626:980:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8626:980:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8626:980:0;;;;;;;;-1:-1:-1;8626:980:0;;-1:-1:-1;;;;;8626:980:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8626:980:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8626:980:0;;-1:-1:-1;8626:980:0;;-1:-1:-1;;;;;8626:980:0:i;:::-;;;;-1:-1:-1;;;;;;8626:980:0;;;;;;;;;;;;;;9614:643;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9614:643:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9614:643:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9614:643:0;;;;;;;;;;-1:-1:-1;9614:643:0;;-1:-1:-1;9614:643:0;-1:-1:-1;9614:643:0;:::i;529:133::-;-1:-1:-1;;;;;;621:33:0;597:4;621:33;;;;;;;;;;;;;;529:133::o;8038:34::-;;;;:::o;8451:167::-;8551:14;;8567:12;;8581:16;;8599:10;;-1:-1:-1;;;;;8551:14:0;;;;8451:167;;;;:::o;7948:36::-;;;;:::o;7903:38::-;;;-1:-1:-1;;;;;7903:38:0;;:::o;7991:40::-;;;;:::o;8081:362::-;8226:14;;-1:-1:-1;;;;;8226:14:0;:28;8218:53;;;;;-1:-1:-1;;;8218:53:0;;;;;;;;;;;;-1:-1:-1;;;8218:53:0;;;;;;;;;;;;;;;8282:14;:32;;-1:-1:-1;;;;;;8282:32:0;-1:-1:-1;;;;;8282:32:0;;;;;;;;;;;8325:12;:28;;;;8364:16;:36;8411:10;:24;8081:362::o;8626:980::-;8895:14;;8850:6;;-1:-1:-1;;;;;8895:14:0;8881:10;:28;8873:74;;;;-1:-1:-1;;;8873:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8962:23;9002:3;:10;8988:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8988:25:0;;8962:51;;9028:26;9071:3;:10;9057:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9057:25:0;;9028:54;;9101:9;9097:240;9120:3;:10;9116:1;:14;9097:240;;;9174:16;;9164:3;9168:1;9164:6;;;;;;;;;;;;;;:26;9156:66;;;;;-1:-1:-1;;;9156:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9253:12;;9241:6;9248:1;9241:9;;;;;;;;;;;;;:24;;;;;9311:10;;9299:6;9306:1;9299:9;;;;;;;;;;;;;;:22;9284:9;9294:1;9284:12;;;;;;;;;;;;;;;;;:37;9132:3;;9097:240;;;-1:-1:-1;9384:14:0;;9414:33;;;-1:-1:-1;;;9414:33:0;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9384:14:0;;;;;;9414:20;;9435:3;;9440:6;;9414:33;;;;;;;;;;;;;;;;;;;9351:20;9414:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9462:10;-1:-1:-1;;;;;9462:32:0;;9503:4;9510;9516:6;9524:9;9535:4;9462:78;;;;;;;;;;;;;-1:-1:-1;;;;;9462:78:0;;;;;;-1:-1:-1;;;;;9462:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;9562:36:0;8626:980;-1:-1:-1;;;;;;;;;;;;8626:980:0:o;9614:643::-;9860:14;;9815:6;;-1:-1:-1;;;;;9860:14:0;9846:10;:28;9838:74;;;;-1:-1:-1;;;9838:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9941:16;;9935:2;:22;9927:62;;;;;-1:-1:-1;;;9927:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10037:14;;10067:26;;;-1:-1:-1;;;10067:26:0;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10037:14:0;;;;;;10067:15;;:26;;;;;10004:20;;10067:26;;;;;;;10004:20;10037:14;10067:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10108:10;-1:-1:-1;;;;;10108:27:0;;10144:4;10151;10157:12;;10179:10;;10171:5;:18;10191:4;;10108:88;;;;;;;;;;;;;-1:-1:-1;;;;;10108:88:0;;;;;;-1:-1:-1;;;;;10108:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;10218:31:0;9614:643;-1:-1:-1;;;;;;;;;;;9614:643:0:o
Swarm Source
ipfs://0c4b2b1ce28301678f07b716189b5c390b3fbb892a42d8aabf1c48ac22f42821
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 29 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.