Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Init | 5787442 | 2452 days ago | IN | 0 ETH | 0.00039452 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
||||
---|---|---|---|---|---|---|---|
21952493 | 7 hrs ago | 0 ETH | |||||
21952493 | 7 hrs ago | 0 ETH | |||||
21951785 | 9 hrs ago | 0 ETH | |||||
21951785 | 9 hrs ago | 0 ETH | |||||
21951145 | 11 hrs ago | 0 ETH | |||||
21951145 | 11 hrs ago | 0 ETH | |||||
21950911 | 12 hrs ago | 0 ETH | |||||
21950911 | 12 hrs ago | 0 ETH | |||||
21950911 | 12 hrs ago | 0 ETH | |||||
21950911 | 12 hrs ago | 0 ETH | |||||
21950909 | 12 hrs ago | 0 ETH | |||||
21950909 | 12 hrs ago | 0 ETH | |||||
21950763 | 13 hrs ago | 0 ETH | |||||
21950763 | 13 hrs ago | 0 ETH | |||||
21950652 | 13 hrs ago | 0 ETH | |||||
21950652 | 13 hrs ago | 0 ETH | |||||
21950650 | 13 hrs ago | 0 ETH | |||||
21950650 | 13 hrs ago | 0 ETH | |||||
21949360 | 17 hrs ago | 0 ETH | |||||
21949360 | 17 hrs ago | 0 ETH | |||||
21948753 | 19 hrs ago | 0 ETH | |||||
21948753 | 19 hrs ago | 0 ETH | |||||
21947286 | 24 hrs ago | 0 ETH | |||||
21947286 | 24 hrs ago | 0 ETH | |||||
21946714 | 26 hrs ago | 0 ETH |
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x5eb2A5b3...307334C40 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
Asset
Compiler Version
v0.4.15+commit.bbb8e64f
Optimization Enabled:
Yes with 10000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-10-29 */ // This software is a subject to Ambisafe License Agreement. // No use or distribution is allowed without written permission from Ambisafe. // https://www.ambisafe.co/terms-of-use/ pragma solidity 0.4.15; contract AssetInterface { function _performTransferWithReference(address _to, uint _value, string _reference, address _sender) returns(bool); function _performTransferToICAPWithReference(bytes32 _icap, uint _value, string _reference, address _sender) returns(bool); function _performApprove(address _spender, uint _value, address _sender) returns(bool); function _performTransferFromWithReference(address _from, address _to, uint _value, string _reference, address _sender) returns(bool); function _performTransferFromToICAPWithReference(address _from, bytes32 _icap, uint _value, string _reference, address _sender) returns(bool); function _performGeneric(bytes, address) payable { revert(); } } contract AssetProxy { function _forwardApprove(address _spender, uint _value, address _sender) returns(bool); function _forwardTransferFromWithReference(address _from, address _to, uint _value, string _reference, address _sender) returns(bool); function _forwardTransferFromToICAPWithReference(address _from, bytes32 _icap, uint _value, string _reference, address _sender) returns(bool); function balanceOf(address _owner) constant returns(uint); } contract Bytes32 { function _bytes32(string _input) internal constant returns(bytes32 result) { assembly { result := mload(add(_input, 32)) } } } contract ReturnData { function _returnReturnData(bool _success) internal { assembly { let returndatastart := msize() mstore(0x40, add(returndatastart, returndatasize)) returndatacopy(returndatastart, 0, returndatasize) switch _success case 0 { revert(returndatastart, returndatasize) } default { return(returndatastart, returndatasize) } } } function _assemblyCall(address _destination, uint _value, bytes _data) internal returns(bool success) { assembly { success := call(div(mul(gas, 63), 64), _destination, _value, add(_data, 32), mload(_data), 0, 0) } } } /** * @title EToken2 Asset implementation contract. * * Basic asset implementation contract, without any additional logic. * Every other asset implementation contracts should derive from this one. * Receives calls from the proxy, and calls back immediatly without arguments modification. * * Note: all the non constant functions return false instead of throwing in case if state change * didn't happen yet. */ contract Asset is AssetInterface, Bytes32, ReturnData { // Assigned asset proxy contract, immutable. AssetProxy public proxy; /** * Only assigned proxy is allowed to call. */ modifier onlyProxy() { if (proxy == msg.sender) { _; } } /** * Sets asset proxy address. * * Can be set only once. * * @param _proxy asset proxy contract address. * * @return success. * @dev function is final, and must not be overridden. */ function init(AssetProxy _proxy) returns(bool) { if (address(proxy) != 0x0) { return false; } proxy = _proxy; return true; } /** * Passes execution into virtual function. * * Can only be called by assigned asset proxy. * * @return success. * @dev function is final, and must not be overridden. */ function _performTransferWithReference(address _to, uint _value, string _reference, address _sender) onlyProxy() returns(bool) { if (isICAP(_to)) { return _transferToICAPWithReference(bytes32(_to) << 96, _value, _reference, _sender); } return _transferWithReference(_to, _value, _reference, _sender); } /** * Calls back without modifications. * * @return success. * @dev function is virtual, and meant to be overridden. */ function _transferWithReference(address _to, uint _value, string _reference, address _sender) internal returns(bool) { return proxy._forwardTransferFromWithReference(_sender, _to, _value, _reference, _sender); } /** * Passes execution into virtual function. * * Can only be called by assigned asset proxy. * * @return success. * @dev function is final, and must not be overridden. */ function _performTransferToICAPWithReference(bytes32 _icap, uint _value, string _reference, address _sender) onlyProxy() returns(bool) { return _transferToICAPWithReference(_icap, _value, _reference, _sender); } /** * Calls back without modifications. * * @return success. * @dev function is virtual, and meant to be overridden. */ function _transferToICAPWithReference(bytes32 _icap, uint _value, string _reference, address _sender) internal returns(bool) { return proxy._forwardTransferFromToICAPWithReference(_sender, _icap, _value, _reference, _sender); } /** * Passes execution into virtual function. * * Can only be called by assigned asset proxy. * * @return success. * @dev function is final, and must not be overridden. */ function _performTransferFromWithReference(address _from, address _to, uint _value, string _reference, address _sender) onlyProxy() returns(bool) { if (isICAP(_to)) { return _transferFromToICAPWithReference(_from, bytes32(_to) << 96, _value, _reference, _sender); } return _transferFromWithReference(_from, _to, _value, _reference, _sender); } /** * Calls back without modifications. * * @return success. * @dev function is virtual, and meant to be overridden. */ function _transferFromWithReference(address _from, address _to, uint _value, string _reference, address _sender) internal returns(bool) { return proxy._forwardTransferFromWithReference(_from, _to, _value, _reference, _sender); } /** * Passes execution into virtual function. * * Can only be called by assigned asset proxy. * * @return success. * @dev function is final, and must not be overridden. */ function _performTransferFromToICAPWithReference(address _from, bytes32 _icap, uint _value, string _reference, address _sender) onlyProxy() returns(bool) { return _transferFromToICAPWithReference(_from, _icap, _value, _reference, _sender); } /** * Calls back without modifications. * * @return success. * @dev function is virtual, and meant to be overridden. */ function _transferFromToICAPWithReference(address _from, bytes32 _icap, uint _value, string _reference, address _sender) internal returns(bool) { return proxy._forwardTransferFromToICAPWithReference(_from, _icap, _value, _reference, _sender); } /** * Passes execution into virtual function. * * Can only be called by assigned asset proxy. * * @return success. * @dev function is final, and must not be overridden. */ function _performApprove(address _spender, uint _value, address _sender) onlyProxy() returns(bool) { return _approve(_spender, _value, _sender); } /** * Calls back without modifications. * * @return success. * @dev function is virtual, and meant to be overridden. */ function _approve(address _spender, uint _value, address _sender) internal returns(bool) { return proxy._forwardApprove(_spender, _value, _sender); } /** * Passes execution into virtual function. * * Can only be called by assigned asset proxy. * * @return bytes32 result. * @dev function is final, and must not be overridden. */ function _performGeneric(bytes _data, address _sender) payable onlyProxy() { _generic(_data, msg.value, _sender); } modifier onlyMe() { if (this == msg.sender) { _; } } // Most probably the following should never be redefined in child contracts. address genericSender; function _generic(bytes _data, uint _value, address _msgSender) internal { // Restrict reentrancy. require(genericSender == 0x0); genericSender = _msgSender; bool success = _assemblyCall(address(this), _value, _data); delete genericSender; _returnReturnData(success); } // Decsendants should use _sender() instead of msg.sender to properly process proxied calls. function _sender() constant internal returns(address) { return this == msg.sender ? genericSender : msg.sender; } // Interface functions to allow specifying ICAP addresses as strings. function transferToICAP(string _icap, uint _value) returns(bool) { return transferToICAPWithReference(_icap, _value, ''); } function transferToICAPWithReference(string _icap, uint _value, string _reference) returns(bool) { return _transferToICAPWithReference(_bytes32(_icap), _value, _reference, _sender()); } function transferFromToICAP(address _from, string _icap, uint _value) returns(bool) { return transferFromToICAPWithReference(_from, _icap, _value, ''); } function transferFromToICAPWithReference(address _from, string _icap, uint _value, string _reference) returns(bool) { return _transferFromToICAPWithReference(_from, _bytes32(_icap), _value, _reference, _sender()); } function isICAP(address _address) constant returns(bool) { bytes32 a = bytes32(_address) << 96; if (a[0] != 'X' || a[1] != 'E') { return false; } if (a[2] < 48 || a[2] > 57 || a[3] < 48 || a[3] > 57) { return false; } for (uint i = 4; i < 20; i++) { uint char = uint(a[i]); if (char < 48 || char > 90 || (char > 57 && char < 65)) { return false; } } return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"},{"name":"_sender","type":"address"}],"name":"_performTransferWithReference","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_proxy","type":"address"}],"name":"init","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isICAP","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_icap","type":"string"},{"name":"_value","type":"uint256"}],"name":"transferFromToICAP","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_icap","type":"string"},{"name":"_value","type":"uint256"}],"name":"transferToICAP","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_icap","type":"string"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"}],"name":"transferFromToICAPWithReference","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_icap","type":"string"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"}],"name":"transferToICAPWithReference","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_icap","type":"bytes32"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"},{"name":"_sender","type":"address"}],"name":"_performTransferToICAPWithReference","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"},{"name":"_sender","type":"address"}],"name":"_performTransferFromWithReference","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_data","type":"bytes"},{"name":"_sender","type":"address"}],"name":"_performGeneric","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_sender","type":"address"}],"name":"_performApprove","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_icap","type":"bytes32"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"},{"name":"_sender","type":"address"}],"name":"_performTransferFromToICAPWithReference","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"proxy","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"}]
Deployed Bytecode
0x606060405236156100c25763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631962df7181146100c757806319ab453c14610165578063307e38ca146101a55780637609c5a9146101e557806381d434e91461026757806384c5c34d146102ce5780639ab253cc14610399578063c10796df14610449578063cca97025146104d1578063db00b84814610576578063e34f7137146105d6578063eb58705b14610620578063ec556889146106c1575b600080fd5b34156100d257600080fd5b6101516004803573ffffffffffffffffffffffffffffffffffffffff169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923573ffffffffffffffffffffffffffffffffffffffff1692506106fd915050565b604051901515815260200160405180910390f35b341561017057600080fd5b61015173ffffffffffffffffffffffffffffffffffffffff60043516610781565b604051901515815260200160405180910390f35b34156101b057600080fd5b61015173ffffffffffffffffffffffffffffffffffffffff600435166107f1565b604051901515815260200160405180910390f35b34156101f057600080fd5b6101516004803573ffffffffffffffffffffffffffffffffffffffff169060446024803590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505093359350610b8592505050565b604051901515815260200160405180910390f35b341561027257600080fd5b61015160046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505093359350610bab92505050565b604051901515815260200160405180910390f35b34156102d957600080fd5b6101516004803573ffffffffffffffffffffffffffffffffffffffff169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610bcf95505050505050565b604051901515815260200160405180910390f35b34156103a457600080fd5b61015160046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610bf895505050505050565b604051901515815260200160405180910390f35b341561045457600080fd5b610151600480359060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923573ffffffffffffffffffffffffffffffffffffffff169250610c1f915050565b604051901515815260200160405180910390f35b34156104dc57600080fd5b61015173ffffffffffffffffffffffffffffffffffffffff6004803582169160248035909116916044359160849060643590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923573ffffffffffffffffffffffffffffffffffffffff169250610c5d915050565b604051901515815260200160405180910390f35b6105d460046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923573ffffffffffffffffffffffffffffffffffffffff169250610ce4915050565b005b34156105e157600080fd5b61015173ffffffffffffffffffffffffffffffffffffffff6004358116906024359060443516610d1a565b604051901515815260200160405180910390f35b341561062b57600080fd5b6101516004803573ffffffffffffffffffffffffffffffffffffffff169060248035916044359160849060643590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923573ffffffffffffffffffffffffffffffffffffffff169250610d56915050565b604051901515815260200160405180910390f35b34156106cc57600080fd5b6106d4610d96565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b600080543373ffffffffffffffffffffffffffffffffffffffff908116911614156107775761072b856107f1565b15610768576107616c0100000000000000000000000073ffffffffffffffffffffffffffffffffffffffff871602858585610db2565b9050610777565b61077485858585610ef1565b90505b5b5b949350505050565b6000805473ffffffffffffffffffffffffffffffffffffffff16156107a8575060006107ec565b50600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905560015b919050565b60006c0100000000000000000000000073ffffffffffffffffffffffffffffffffffffffff831602818082815b1a7f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f58000000000000000000000000000000000000000000000000000000000000001415806108f957508260015b1a7f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f450000000000000000000000000000000000000000000000000000000000000014155b156109075760009350610b7d565b7f30000000000000000000000000000000000000000000000000000000000000008360025b1a7f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610806109e457507f39000000000000000000000000000000000000000000000000000000000000008360025b1a7f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916115b80610a5657507f30000000000000000000000000000000000000000000000000000000000000008360035b1a7f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916105b80610ac857507f39000000000000000000000000000000000000000000000000000000000000008360035b1a7f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916115b15610ad65760009350610b7d565b600491505b6014821015610b7857828260208110610af057fe5b1a7f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900490506030811080610b475750605a81115b80610b5d5750603981118015610b5d5750604181105b5b15610b6c5760009350610b7d565b5b600190910190610adb565b600193505b505050919050565b6000610ba1848484602060405190810160405260008152610bcf565b90505b9392505050565b6000610bc68383602060405190810160405260008152610bf8565b90505b92915050565b600061077485610bde86611031565b8585610be8611040565b61109b565b90505b949350505050565b6000610ba1610c0685611031565b8484610c10611040565b610db2565b90505b9392505050565b600080543373ffffffffffffffffffffffffffffffffffffffff908116911614156107775761077485858585610db2565b90505b5b5b949350505050565b600080543373ffffffffffffffffffffffffffffffffffffffff90811691161415610cd957610c8b856107f1565b15610cc957610cc2866c0100000000000000000000000073ffffffffffffffffffffffffffffffffffffffff88160286868661109b565b9050610cd9565b610cd686868686866111db565b90505b5b5b95945050505050565b6000543373ffffffffffffffffffffffffffffffffffffffff90811691161415610d1357610d1382348361131c565b5b5b5b5050565b600080543373ffffffffffffffffffffffffffffffffffffffff90811691161415610ba457610ba18484846113c7565b90505b5b5b9392505050565b600080543373ffffffffffffffffffffffffffffffffffffffff90811691161415610cd957610cd6868686868661109b565b90505b5b5b95945050505050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6000805473ffffffffffffffffffffffffffffffffffffffff16639b487f3f838787878387604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff881602815273ffffffffffffffffffffffffffffffffffffffff808716600483019081526024830187905260448301869052908316608483015260a060648301908152909160a40184818151815260200191508051906020019080838360005b83811015610e7d5780820151818401525b602001610e64565b50505050905090810190601f168015610eaa5780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b1515610ecc57600080fd5b6102c65a03f11515610edd57600080fd5b50505060405180519150505b949350505050565b6000805473ffffffffffffffffffffffffffffffffffffffff166314cba002838787878387604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff881602815273ffffffffffffffffffffffffffffffffffffffff80871660048301908152868216602484015260448301869052908316608483015260a060648301908152909160a40184818151815260200191508051906020019080838360005b83811015610e7d5780820151818401525b602001610e64565b50505050905090810190601f168015610eaa5780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b1515610ecc57600080fd5b6102c65a03f11515610edd57600080fd5b50505060405180519150505b949350505050565b6000602082015190505b919050565b60003373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161461107b5733611095565b60015473ffffffffffffffffffffffffffffffffffffffff165b90505b90565b6000805473ffffffffffffffffffffffffffffffffffffffff16639b487f3f878787878787604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff881602815273ffffffffffffffffffffffffffffffffffffffff808716600483019081526024830187905260448301869052908316608483015260a060648301908152909160a40184818151815260200191508051906020019080838360005b838110156111665780820151818401525b60200161114d565b50505050905090810190601f1680156111935780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b15156111b557600080fd5b6102c65a03f115156111c657600080fd5b50505060405180519150505b95945050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff166314cba002878787878787604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff881602815273ffffffffffffffffffffffffffffffffffffffff80871660048301908152868216602484015260448301869052908316608483015260a060648301908152909160a40184818151815260200191508051906020019080838360005b838110156111665780820151818401525b60200161114d565b50505050905090810190601f1680156111935780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b15156111b557600080fd5b6102c65a03f115156111c657600080fd5b50505060405180519150505b95945050505050565b60015460009073ffffffffffffffffffffffffffffffffffffffff161561134257600080fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905561138d308486611489565b600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590506113c0816114a8565b5b50505050565b6000805473ffffffffffffffffffffffffffffffffffffffff16637bcdc2f085858585604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff861602815273ffffffffffffffffffffffffffffffffffffffff938416600482015260248101929092529091166044820152606401602060405180830381600087803b151561146557600080fd5b6102c65a03f1151561147657600080fd5b50505060405180519150505b9392505050565b600080600083516020850186886040603f5a0204f190505b9392505050565b593d81016040523d6000823e8180156114bf573d82f35b3d82fd5b50505b505600a165627a7a72305820a29590dc9f2b245b9609db3117a4a168683765ec834f71dea0e73f7a023d41830029
Swarm Source
bzzr://a29590dc9f2b245b9609db3117a4a168683765ec834f71dea0e73f7a023d4183
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.