Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 236 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 21700395 | 1 hr ago | IN | 0 ETH | 0.00029723 | ||||
Transfer | 21698539 | 7 hrs ago | IN | 0 ETH | 0.00025761 | ||||
Transfer | 21694980 | 19 hrs ago | IN | 0 ETH | 0.0009594 | ||||
Transfer | 21694327 | 21 hrs ago | IN | 0 ETH | 0.00068103 | ||||
Transfer | 21693503 | 24 hrs ago | IN | 0 ETH | 0.00051142 | ||||
Transfer | 21693463 | 24 hrs ago | IN | 0 ETH | 0.00073092 | ||||
Transfer | 21690493 | 34 hrs ago | IN | 0 ETH | 0.00039895 | ||||
Transfer | 21689247 | 38 hrs ago | IN | 0 ETH | 0.00053525 | ||||
Transfer | 21688900 | 40 hrs ago | IN | 0 ETH | 0.00061921 | ||||
Transfer | 21688889 | 40 hrs ago | IN | 0 ETH | 0.00062931 | ||||
Transfer | 21688878 | 40 hrs ago | IN | 0 ETH | 0.00063237 | ||||
Transfer | 21688714 | 40 hrs ago | IN | 0 ETH | 0.00047218 | ||||
Transfer | 21687709 | 44 hrs ago | IN | 0 ETH | 0.00146473 | ||||
Transfer | 21687170 | 45 hrs ago | IN | 0 ETH | 0.00047405 | ||||
Transfer | 21686762 | 47 hrs ago | IN | 0 ETH | 0.00020847 | ||||
Transfer | 21686719 | 47 hrs ago | IN | 0 ETH | 0.00043601 | ||||
Transfer | 21686458 | 2 days ago | IN | 0 ETH | 0.00024744 | ||||
Transfer | 21686442 | 2 days ago | IN | 0 ETH | 0.00020543 | ||||
Transfer | 21686441 | 2 days ago | IN | 0 ETH | 0.00026902 | ||||
Transfer | 21686394 | 2 days ago | IN | 0 ETH | 0.00032353 | ||||
Transfer | 21686323 | 2 days ago | IN | 0 ETH | 0.00024114 | ||||
Transfer | 21686171 | 2 days ago | IN | 0 ETH | 0.00016439 | ||||
Approve | 21686154 | 2 days ago | IN | 0 ETH | 0.00029383 | ||||
Transfer | 21686110 | 2 days ago | IN | 0 ETH | 0.00019752 | ||||
Transfer | 21686106 | 2 days ago | IN | 0 ETH | 0.00020398 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
D223Token
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-31 */ // SPDX-License-Identifier: GPL-3.0 // Contracts are written by @Dexaran (twitter.com/Dexaran github.com/Dexaran) // Read more about ERC-223 standard here: dexaran.github.io/erc223 // ERC-223: https://eips.ethereum.org/EIPS/eip-223 & https://github.com/ethereum/eips/issues/223 // D223 is a token of Dex223.io exchange. pragma solidity >=0.8.2; abstract contract IERC223Recipient { struct ERC223TransferInfo { address token_contract; address sender; uint256 value; bytes data; } ERC223TransferInfo private tkn; /** * @dev Standard ERC223 function that will handle incoming token transfers. * * @param _from Token sender address. * @param _value Amount of tokens. * @param _data Transaction metadata. */ function tokenReceived(address _from, uint _value, bytes memory _data) public virtual returns (bytes4) { /** * @dev Note that inside of the token transaction handler the actual sender of token transfer is accessible via the tkn.sender variable * (analogue of msg.sender for Ether transfers) * * tkn.value - is the amount of transferred tokens * tkn.data - is the "metadata" of token transfer * tkn.token_contract is most likely equal to msg.sender because the token contract typically invokes this function */ tkn.token_contract = msg.sender; tkn.sender = _from; tkn.value = _value; tkn.data = _data; // ACTUAL CODE return 0x8943ec02; } } library Address { /** * @dev Returns true if `account` is a contract. * * This test is non-exhaustive, and there may be false-negatives: during the * execution of a contract's constructor, its address will be reported as * not containing a contract. * * > It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. */ function isContract(address account) internal view returns (bool) { // This method relies in extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } } /** * @title Reference implementation of the ERC223 standard token. */ contract D223Token { /** * @dev Event that is fired on successful transfer. */ event Transfer(address indexed from, address indexed to, uint256 value); event TransferData(bytes); event Approval(address indexed owner, address indexed spender, uint256 amount); string private _name; string private _symbol; uint8 private _decimals; uint256 private _totalSupply; address public owner = msg.sender; address public pending_owner; mapping(address account => mapping(address spender => uint256)) private allowances; mapping(address => uint256) private balances; // List of user balances. /** * @dev Sets the values for {name} and {symbol}, initializes {decimals} with * a default value of 18. * * To select a different value for {decimals}, use {_setupDecimals}. * * All three of these values are immutable: they can only be set once during * construction. */ constructor() { _name = "Dex223 token"; _symbol = "D223"; _decimals = 18; balances[msg.sender] = 8000000000 * 1e18; emit Transfer(address(0), msg.sender, balances[msg.sender]); emit TransferData(hex"000000"); _totalSupply = balances[msg.sender]; } /** * @dev Returns the name of the token. */ function name() public view returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5,05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC223} uses, unless {_setupDecimals} is * called. * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC223-balanceOf} and {IERC223-transfer}. */ function decimals() public view returns (uint8) { return _decimals; } /** * @dev See {IERC223-totalSupply}. */ function totalSupply() public view returns (uint256) { return _totalSupply; } /** * @dev See {IERC223-standard}. */ function standard() public pure returns (uint32) { return 223; } /** * @dev Returns balance of the `_owner`. * * @param _owner The address whose balance will be returned. * @return balance Balance of the `_owner`. */ function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } /** * @dev Transfer the specified amount of tokens to the specified address. * Invokes the `tokenFallback` function if the recipient is a contract. * The token transfer fails if the recipient is a contract * but does not implement the `tokenFallback` function * or the fallback function to receive funds. * * @param _to Receiver address. * @param _value Amount of tokens that will be transferred. * @param _data Transaction metadata. */ function transfer(address _to, uint _value, bytes calldata _data) public payable returns (bool success) { // Standard function transfer similar to ERC20 transfer with no _data . // Added due to backwards compatibility reasons. if(msg.value > 0) payable(_to).transfer(msg.value); balances[msg.sender] = balances[msg.sender] - _value; balances[_to] = balances[_to] + _value; if(Address.isContract(_to)) { IERC223Recipient(_to).tokenReceived(msg.sender, _value, _data); } emit Transfer(msg.sender, _to, _value); emit TransferData(_data); return true; } /** * @dev Transfer the specified amount of tokens to the specified address. * This function works the same with the previous one * but doesn't contain `_data` param. * Added due to backwards compatibility reasons. * * @param _to Receiver address. * @param _value Amount of tokens that will be transferred. */ function transfer(address _to, uint _value) public payable returns (bool success) { if(msg.value > 0) payable(_to).transfer(msg.value); bytes memory _empty = hex"00000000"; balances[msg.sender] = balances[msg.sender] - _value; balances[_to] = balances[_to] + _value; if(Address.isContract(_to)) { IERC223Recipient(_to).tokenReceived(msg.sender, _value, _empty); } emit Transfer(msg.sender, _to, _value); return true; } // ERC-20 functions for backwards compatibility. // Security warning! // ERC-20 transferFrom function does not invoke a `tokenReceived` function in the // recipient smart-contract. Therefore error handling is not possible // and a user can directly deposit tokens to any contract bypassing safety checks // or token reception handlers which can result in a loss of funds. // This functions are only supported for backwards compatibility reasons // and as a last resort when it may be necessary to forcefully transfer tokens // to some smart-contract which is not explicitly compatible with the ERC-223 standard. // // This is not a default method of depsoiting tokens to smart-contracts. // `trasnfer` function must be used to deposit tokens to smart-contracts // if the recipient supports ERC-223 depositing pattern. // // `approve` & `transferFrom` pattern must be avoided whenever possible. function allowance(address _owner, address spender) public view virtual returns (uint256) { return allowances[_owner][spender]; } function approve(address _spender, uint _value) public returns (bool) { // Safety checks. require(_spender != address(0), "ERC-223: Spender error."); allowances[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } function transferFrom(address _from, address _to, uint _value) public returns (bool) { require(allowances[_from][msg.sender] >= _value, "ERC-223: Insufficient allowance."); balances[_from] -= _value; allowances[_from][msg.sender] -= _value; balances[_to] += _value; emit Transfer(_from, _to, _value); return true; } // ERC-20 standard contains a security flaw described here: https://medium.com/dex223/known-problems-of-erc20-token-standard-e98887b9532c // ERC-20 tokens do not invoke any callback function upon being deposited to a smart-contract via `transfer` function, // therefore it's impossible to handle errors and prevent users from sending tokens to smart-contracts which are not designed to receive them. // As of 2024 $83,000,000 worth of ERC-20 tokens were lost due to this flaw: https://dexaran.github.io/erc20-losses/ // In order to mitigate this issue we are allowing the owner to extract the tokens. // You can contact the owner of the contract [email protected] / [email protected] // if you have accidentally deposited tokens to this contract. function rescueERC20(address _token, uint256 _value) external { require(msg.sender == owner); (bool success, bytes memory data) = _token.call(abi.encodeWithSelector(0xa9059cbb, msg.sender, _value)); require(success && (data.length == 0 || abi.decode(data, (bool))), "Transfer failed"); } // In this contract the `owner` can only extract stuck ERC-20 tokens. // ERC-20 tokens contain a security flaw that can result in a loss of funds // as it's `transfer` function does not implement error handling // and therefore tokens can be transferred directly to smart-contract address // which is not designed to receive them and instead of resulting in an error // it would result in a loss of tokens for the sender. function newOwner(address _owner) external { require(msg.sender == owner); pending_owner = _owner; } function claimOwnership() external { require(msg.sender == pending_owner); owner = pending_owner; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes","name":"","type":"bytes"}],"name":"TransferData","type":"event"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"newOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pending_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"standard","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600480546001600160a01b031916331790553480156200002357600080fd5b5060408051808201909152600c81526b2232bc191919903a37b5b2b760a11b6020820152600090620000569082620001f1565b506040805180820190915260048152634432323360e01b6020820152600190620000819082620001f1565b506002805460ff19166012179055336000818152600760205260408082206b19d971e4fe8401e7400000009081905590517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620000e29190815260200190565b60405180910390a37f3ba9136826ac751de05d770d8d34fa4440ada49a5fb0e9aa1678aece66dad9766040516200012b9060208082526003908201526000604082015260600190565b60405180910390a133600090815260076020526040902054600355620002bd565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200017757607f821691505b6020821081036200019857634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001ec57600081815260208120601f850160051c81016020861015620001c75750805b601f850160051c820191505b81811015620001e857828155600101620001d3565b5050505b505050565b81516001600160401b038111156200020d576200020d6200014c565b62000225816200021e845462000162565b846200019e565b602080601f8311600181146200025d5760008415620002445750858301515b600019600386901b1c1916600185901b178555620001e8565b600085815260208120601f198616915b828110156200028e578886015182559484019460019091019084016200026d565b5085821015620002ad5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610f9780620002cd6000396000f3fe6080604052600436106100f35760003560e01c80637f4ec4c31161008a57806395d89b411161005957806395d89b41146102b5578063a9059cbb146102ca578063be45fd62146102dd578063dd62ed3e146102f057600080fd5b80637f4ec4c31461021d57806385952454146102555780638cd4426d146102755780638da5cb5b1461029557600080fd5b8063313ce567116100c6578063313ce567146101925780634e71e0c8146101b45780635a3b7e42146101cb57806370a08231146101e757600080fd5b806306fdde03146100f8578063095ea7b31461012357806318160ddd1461015357806323b872dd14610172575b600080fd5b34801561010457600080fd5b5061010d610336565b60405161011a9190610bff565b60405180910390f35b34801561012f57600080fd5b5061014361013e366004610c35565b6103c8565b604051901515815260200161011a565b34801561015f57600080fd5b506003545b60405190815260200161011a565b34801561017e57600080fd5b5061014361018d366004610c5f565b6104a4565b34801561019e57600080fd5b5060025460405160ff909116815260200161011a565b3480156101c057600080fd5b506101c961061c565b005b3480156101d757600080fd5b5060405160df815260200161011a565b3480156101f357600080fd5b50610164610202366004610c9b565b6001600160a01b031660009081526007602052604090205490565b34801561022957600080fd5b5060055461023d906001600160a01b031681565b6040516001600160a01b03909116815260200161011a565b34801561026157600080fd5b506101c9610270366004610c9b565b61066f565b34801561028157600080fd5b506101c9610290366004610c35565b6106c0565b3480156102a157600080fd5b5060045461023d906001600160a01b031681565b3480156102c157600080fd5b5061010d610835565b6101436102d8366004610c35565b610844565b6101436102eb366004610cb6565b6109d6565b3480156102fc57600080fd5b5061016461030b366004610d3d565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b60606000805461034590610d70565b80601f016020809104026020016040519081016040528092919081815260200182805461037190610d70565b80156103be5780601f10610393576101008083540402835291602001916103be565b820191906000526020600020905b8154815290600101906020018083116103a157829003601f168201915b5050505050905090565b60006001600160a01b03831661043f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552432d3232333a205370656e646572206572726f722e00000000000000000060448201526064015b60405180910390fd5b3360008181526006602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b6001600160a01b0383166000908152600660209081526040808320338452909152812054821115610531576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552432d3232333a20496e73756666696369656e7420616c6c6f77616e63652e6044820152606401610436565b6001600160a01b03841660009081526007602052604081208054849290610559908490610df2565b90915550506001600160a01b038416600090815260066020908152604080832033845290915281208054849290610591908490610df2565b90915550506001600160a01b038316600090815260076020526040812080548492906105be908490610e05565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161060a91815260200190565b60405180910390a35060019392505050565b6005546001600160a01b0316331461063357600080fd5b600554600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03909216919091179055565b6004546001600160a01b0316331461068657600080fd5b600580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6004546001600160a01b031633146106d757600080fd5b60408051336024820152604480820184905282518083039091018152606490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052905160009182916001600160a01b0386169161075d91610e18565b6000604051808303816000865af19150503d806000811461079a576040519150601f19603f3d011682016040523d82523d6000602084013e61079f565b606091505b50915091508180156107c95750805115806107c95750808060200190518101906107c99190610e34565b61082f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5472616e73666572206661696c656400000000000000000000000000000000006044820152606401610436565b50505050565b60606001805461034590610d70565b60003415610883576040516001600160a01b038416903480156108fc02916000818181858888f19350505050158015610881573d6000803e3d6000fd5b505b60408051808201825260048152600060208083018290523382526007905291909120546108b1908490610df2565b33600090815260076020526040808220929092556001600160a01b038616815220546108de908490610e05565b6001600160a01b038516600090815260076020526040902055833b1561098c576040517f8943ec020000000000000000000000000000000000000000000000000000000081526001600160a01b03851690638943ec029061094790339087908690600401610e56565b6020604051808303816000875af1158015610966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098a9190610e87565b505b6040518381526001600160a01b0385169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35060019392505050565b60003415610a15576040516001600160a01b038616903480156108fc02916000818181858888f19350505050158015610a13573d6000803e3d6000fd5b505b33600090815260076020526040902054610a30908590610df2565b33600090815260076020526040808220929092556001600160a01b03871681522054610a5d908590610e05565b6001600160a01b038616600090815260076020526040902055843b15610b0d576040517f8943ec020000000000000000000000000000000000000000000000000000000081526001600160a01b03861690638943ec0290610ac8903390889088908890600401610f12565b6020604051808303816000875af1158015610ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0b9190610e87565b505b6040518481526001600160a01b0386169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a37f3ba9136826ac751de05d770d8d34fa4440ada49a5fb0e9aa1678aece66dad9768383604051610b7e929190610f45565b60405180910390a1506001949350505050565b60005b83811015610bac578181015183820152602001610b94565b50506000910152565b60008151808452610bcd816020860160208601610b91565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610c126020830184610bb5565b9392505050565b80356001600160a01b0381168114610c3057600080fd5b919050565b60008060408385031215610c4857600080fd5b610c5183610c19565b946020939093013593505050565b600080600060608486031215610c7457600080fd5b610c7d84610c19565b9250610c8b60208501610c19565b9150604084013590509250925092565b600060208284031215610cad57600080fd5b610c1282610c19565b60008060008060608587031215610ccc57600080fd5b610cd585610c19565b935060208501359250604085013567ffffffffffffffff80821115610cf957600080fd5b818701915087601f830112610d0d57600080fd5b813581811115610d1c57600080fd5b886020828501011115610d2e57600080fd5b95989497505060200194505050565b60008060408385031215610d5057600080fd5b610d5983610c19565b9150610d6760208401610c19565b90509250929050565b600181811c90821680610d8457607f821691505b602082108103610dbd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561049e5761049e610dc3565b8082018082111561049e5761049e610dc3565b60008251610e2a818460208701610b91565b9190910192915050565b600060208284031215610e4657600080fd5b81518015158114610c1257600080fd5b6001600160a01b0384168152826020820152606060408201526000610e7e6060830184610bb5565b95945050505050565b600060208284031215610e9957600080fd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114610c1257600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6001600160a01b0385168152836020820152606060408201526000610f3b606083018486610ec9565b9695505050505050565b602081526000610f59602083018486610ec9565b94935050505056fea2646970667358221220c0d2e12b0617b3d2b47238c3b68bf1d68ea84b1a2a21d357504ea1c90948c31c64736f6c63430008130033
Deployed Bytecode
0x6080604052600436106100f35760003560e01c80637f4ec4c31161008a57806395d89b411161005957806395d89b41146102b5578063a9059cbb146102ca578063be45fd62146102dd578063dd62ed3e146102f057600080fd5b80637f4ec4c31461021d57806385952454146102555780638cd4426d146102755780638da5cb5b1461029557600080fd5b8063313ce567116100c6578063313ce567146101925780634e71e0c8146101b45780635a3b7e42146101cb57806370a08231146101e757600080fd5b806306fdde03146100f8578063095ea7b31461012357806318160ddd1461015357806323b872dd14610172575b600080fd5b34801561010457600080fd5b5061010d610336565b60405161011a9190610bff565b60405180910390f35b34801561012f57600080fd5b5061014361013e366004610c35565b6103c8565b604051901515815260200161011a565b34801561015f57600080fd5b506003545b60405190815260200161011a565b34801561017e57600080fd5b5061014361018d366004610c5f565b6104a4565b34801561019e57600080fd5b5060025460405160ff909116815260200161011a565b3480156101c057600080fd5b506101c961061c565b005b3480156101d757600080fd5b5060405160df815260200161011a565b3480156101f357600080fd5b50610164610202366004610c9b565b6001600160a01b031660009081526007602052604090205490565b34801561022957600080fd5b5060055461023d906001600160a01b031681565b6040516001600160a01b03909116815260200161011a565b34801561026157600080fd5b506101c9610270366004610c9b565b61066f565b34801561028157600080fd5b506101c9610290366004610c35565b6106c0565b3480156102a157600080fd5b5060045461023d906001600160a01b031681565b3480156102c157600080fd5b5061010d610835565b6101436102d8366004610c35565b610844565b6101436102eb366004610cb6565b6109d6565b3480156102fc57600080fd5b5061016461030b366004610d3d565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b60606000805461034590610d70565b80601f016020809104026020016040519081016040528092919081815260200182805461037190610d70565b80156103be5780601f10610393576101008083540402835291602001916103be565b820191906000526020600020905b8154815290600101906020018083116103a157829003601f168201915b5050505050905090565b60006001600160a01b03831661043f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552432d3232333a205370656e646572206572726f722e00000000000000000060448201526064015b60405180910390fd5b3360008181526006602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b6001600160a01b0383166000908152600660209081526040808320338452909152812054821115610531576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552432d3232333a20496e73756666696369656e7420616c6c6f77616e63652e6044820152606401610436565b6001600160a01b03841660009081526007602052604081208054849290610559908490610df2565b90915550506001600160a01b038416600090815260066020908152604080832033845290915281208054849290610591908490610df2565b90915550506001600160a01b038316600090815260076020526040812080548492906105be908490610e05565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161060a91815260200190565b60405180910390a35060019392505050565b6005546001600160a01b0316331461063357600080fd5b600554600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03909216919091179055565b6004546001600160a01b0316331461068657600080fd5b600580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6004546001600160a01b031633146106d757600080fd5b60408051336024820152604480820184905282518083039091018152606490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052905160009182916001600160a01b0386169161075d91610e18565b6000604051808303816000865af19150503d806000811461079a576040519150601f19603f3d011682016040523d82523d6000602084013e61079f565b606091505b50915091508180156107c95750805115806107c95750808060200190518101906107c99190610e34565b61082f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5472616e73666572206661696c656400000000000000000000000000000000006044820152606401610436565b50505050565b60606001805461034590610d70565b60003415610883576040516001600160a01b038416903480156108fc02916000818181858888f19350505050158015610881573d6000803e3d6000fd5b505b60408051808201825260048152600060208083018290523382526007905291909120546108b1908490610df2565b33600090815260076020526040808220929092556001600160a01b038616815220546108de908490610e05565b6001600160a01b038516600090815260076020526040902055833b1561098c576040517f8943ec020000000000000000000000000000000000000000000000000000000081526001600160a01b03851690638943ec029061094790339087908690600401610e56565b6020604051808303816000875af1158015610966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098a9190610e87565b505b6040518381526001600160a01b0385169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35060019392505050565b60003415610a15576040516001600160a01b038616903480156108fc02916000818181858888f19350505050158015610a13573d6000803e3d6000fd5b505b33600090815260076020526040902054610a30908590610df2565b33600090815260076020526040808220929092556001600160a01b03871681522054610a5d908590610e05565b6001600160a01b038616600090815260076020526040902055843b15610b0d576040517f8943ec020000000000000000000000000000000000000000000000000000000081526001600160a01b03861690638943ec0290610ac8903390889088908890600401610f12565b6020604051808303816000875af1158015610ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0b9190610e87565b505b6040518481526001600160a01b0386169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a37f3ba9136826ac751de05d770d8d34fa4440ada49a5fb0e9aa1678aece66dad9768383604051610b7e929190610f45565b60405180910390a1506001949350505050565b60005b83811015610bac578181015183820152602001610b94565b50506000910152565b60008151808452610bcd816020860160208601610b91565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610c126020830184610bb5565b9392505050565b80356001600160a01b0381168114610c3057600080fd5b919050565b60008060408385031215610c4857600080fd5b610c5183610c19565b946020939093013593505050565b600080600060608486031215610c7457600080fd5b610c7d84610c19565b9250610c8b60208501610c19565b9150604084013590509250925092565b600060208284031215610cad57600080fd5b610c1282610c19565b60008060008060608587031215610ccc57600080fd5b610cd585610c19565b935060208501359250604085013567ffffffffffffffff80821115610cf957600080fd5b818701915087601f830112610d0d57600080fd5b813581811115610d1c57600080fd5b886020828501011115610d2e57600080fd5b95989497505060200194505050565b60008060408385031215610d5057600080fd5b610d5983610c19565b9150610d6760208401610c19565b90509250929050565b600181811c90821680610d8457607f821691505b602082108103610dbd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561049e5761049e610dc3565b8082018082111561049e5761049e610dc3565b60008251610e2a818460208701610b91565b9190910192915050565b600060208284031215610e4657600080fd5b81518015158114610c1257600080fd5b6001600160a01b0384168152826020820152606060408201526000610e7e6060830184610bb5565b95945050505050565b600060208284031215610e9957600080fd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114610c1257600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6001600160a01b0385168152836020820152606060408201526000610f3b606083018486610ec9565b9695505050505050565b602081526000610f59602083018486610ec9565b94935050505056fea2646970667358221220c0d2e12b0617b3d2b47238c3b68bf1d68ea84b1a2a21d357504ea1c90948c31c64736f6c63430008130033
Deployed Bytecode Sourcemap
2598:8892:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4003:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8894:316;;;;;;;;;;-1:-1:-1;8894:316:0;;;;;:::i;:::-;;:::i;:::-;;;1454:14:1;;1447:22;1429:41;;1417:2;1402:18;8894:316:0;1289:187:1;5097:96:0;;;;;;;;;;-1:-1:-1;5173:12:0;;5097:96;;;1627:25:1;;;1615:2;1600:18;5097:96:0;1481:177:1;9218:414:0;;;;;;;;;;-1:-1:-1;9218:414:0;;;;;:::i;:::-;;:::i;4943:88::-;;;;;;;;;;-1:-1:-1;5014:9:0;;4943:88;;5014:9;;;;2138:36:1;;2126:2;2111:18;4943:88:0;1996:184:1;11360:127:0;;;;;;;;;;;;;:::i;:::-;;5256:83;;;;;;;;;;-1:-1:-1;5256:83:0;;5328:3;2329:42:1;;2317:2;2302:18;5256:83:0;2185:192:1;5542:112:0;;;;;;;;;;-1:-1:-1;5542:112:0;;;;;:::i;:::-;-1:-1:-1;;;;;5630:16:0;5598:7;5630:16;;;:8;:16;;;;;;;5542:112;3065:29;;;;;;;;;;-1:-1:-1;3065:29:0;;;;-1:-1:-1;;;;;3065:29:0;;;;;;-1:-1:-1;;;;;2737:55:1;;;2719:74;;2707:2;2692:18;3065:29:0;2573:226:1;11224:128:0;;;;;;;;;;-1:-1:-1;11224:128:0;;;;;:::i;:::-;;:::i;10438:324::-;;;;;;;;;;-1:-1:-1;10438:324:0;;;;;:::i;:::-;;:::i;3024:34::-;;;;;;;;;;-1:-1:-1;3024:34:0;;;;-1:-1:-1;;;;;3024:34:0;;;4210:92;;;;;;;;;;;;;:::i;7247:513::-;;;;;;:::i;:::-;;:::i;6192:662::-;;;;;;:::i;:::-;;:::i;8743:143::-;;;;;;;;;;-1:-1:-1;8743:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8851:18:0;;;8824:7;8851:18;;;:10;:18;;;;;;;;:27;;;;;;;;;;;;;8743:143;4003:88;4040:13;4078:5;4071:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4003:88;:::o;8894:316::-;8958:4;-1:-1:-1;;;;;9012:22:0;;9004:58;;;;;;;4451:2:1;9004:58:0;;;4433:21:1;4490:2;4470:18;;;4463:30;4529:25;4509:18;;;4502:53;4572:18;;9004:58:0;;;;;;;;;9086:10;9075:22;;;;:10;:22;;;;;;;;-1:-1:-1;;;;;9075:32:0;;;;;;;;;;;;:41;;;9132:38;1627:25:1;;;9075:32:0;;9086:10;9132:38;;1600:18:1;9132:38:0;;;;;;;-1:-1:-1;9198:4:0;8894:316;;;;;:::o;9218:414::-;-1:-1:-1;;;;;9332:17:0;;9297:4;9332:17;;;:10;:17;;;;;;;;9350:10;9332:29;;;;;;;;:39;-1:-1:-1;9332:39:0;9324:84;;;;;;;4803:2:1;9324:84:0;;;4785:21:1;;;4822:18;;;4815:30;4881:34;4861:18;;;4854:62;4933:18;;9324:84:0;4601:356:1;9324:84:0;-1:-1:-1;;;;;9429:15:0;;;;;;:8;:15;;;;;:25;;9448:6;;9429:15;:25;;9448:6;;9429:25;:::i;:::-;;;;-1:-1:-1;;;;;;;9465:17:0;;;;;;:10;:17;;;;;;;;9483:10;9465:29;;;;;;;:39;;9498:6;;9465:17;:39;;9498:6;;9465:39;:::i;:::-;;;;-1:-1:-1;;;;;;;9515:13:0;;;;;;:8;:13;;;;;:23;;9532:6;;9515:13;:23;;9532:6;;9515:23;:::i;:::-;;;;;;;;9580:3;-1:-1:-1;;;;;9564:28:0;9573:5;-1:-1:-1;;;;;9564:28:0;;9585:6;9564:28;;;;1627:25:1;;1615:2;1600:18;;1481:177;9564:28:0;;;;;;;;-1:-1:-1;9620:4:0;9218:414;;;;;:::o;11360:127::-;11433:13;;-1:-1:-1;;;;;11433:13:0;11419:10;:27;11411:36;;;;;;11466:13;;11458:5;:21;;;;-1:-1:-1;;;;;11466:13:0;;;11458:21;;;;;;11360:127::o;11224:128::-;11305:5;;-1:-1:-1;;;;;11305:5:0;11291:10;:19;11283:28;;;;;;11322:13;:22;;;;-1:-1:-1;;;;;11322:22:0;;;;;;;;;;11224:128::o;10438:324::-;10538:5;;-1:-1:-1;;;;;10538:5:0;10524:10;:19;10516:28;;;;;;10603:54;;;10638:10;10603:54;;;5588:74:1;5678:18;;;;5671:34;;;10603:54:0;;;;;;;;;;5561:18:1;;;;10603:54:0;;;;;;;;;;;;;10591:67;;-1:-1:-1;;;;;;;;;10591:11:0;;;:67;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10555:103;;;;10677:7;:57;;;;-1:-1:-1;10689:11:0;;:16;;:44;;;10720:4;10709:24;;;;;;;;;;;;:::i;:::-;10669:85;;;;;;;6492:2:1;10669:85:0;;;6474:21:1;6531:2;6511:18;;;6504:30;6570:17;6550:18;;;6543:45;6605:18;;10669:85:0;6290:339:1;10669:85:0;10505:257;;10438:324;;:::o;4210:92::-;4249:13;4287:7;4280:14;;;;;:::i;7247:513::-;7315:12;7348:9;:13;7345:50;;7363:32;;-1:-1:-1;;;;;7363:21:0;;;7385:9;7363:32;;;;;;;;;7385:9;7363:21;:32;;;;;;;;;;;;;;;;;;;;;7345:50;7406:35;;;;;;;;;;;:19;:35;;;;;;;7484:10;7475:20;;:8;:20;;;;;;;:29;;7498:6;;7475:29;:::i;:::-;7461:10;7452:20;;;;:8;:20;;;;;;:52;;;;-1:-1:-1;;;;;7531:13:0;;;;;;:22;;7547:6;;7531:22;:::i;:::-;-1:-1:-1;;;;;7515:13:0;;;;;;:8;:13;;;;;:38;2460:20;;2499:8;7564:118;;7607:63;;;;;-1:-1:-1;;;;;7607:35:0;;;;;:63;;7643:10;;7655:6;;7663;;7607:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7564:118;7697:33;;1627:25:1;;;-1:-1:-1;;;;;7697:33:0;;;7706:10;;7697:33;;1615:2:1;1600:18;7697:33:0;;;;;;;-1:-1:-1;7748:4:0;;7247:513;-1:-1:-1;;;7247:513:0:o;6192:662::-;6282:12;6454:9;:13;6451:50;;6469:32;;-1:-1:-1;;;;;6469:21:0;;;6491:9;6469:32;;;;;;;;;6491:9;6469:21;:32;;;;;;;;;;;;;;;;;;;;;6451:50;6544:10;6535:20;;;;:8;:20;;;;;;:29;;6558:6;;6535:29;:::i;:::-;6521:10;6512:20;;;;:8;:20;;;;;;:52;;;;-1:-1:-1;;;;;6591:13:0;;;;;;:22;;6607:6;;6591:22;:::i;:::-;-1:-1:-1;;;;;6575:13:0;;;;;;:8;:13;;;;;:38;2460:20;;2499:8;6624:117;;6667:62;;;;;-1:-1:-1;;;;;6667:35:0;;;;;:62;;6703:10;;6715:6;;6723:5;;;;6667:62;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6624:117;6756:33;;1627:25:1;;;-1:-1:-1;;;;;6756:33:0;;;6765:10;;6756:33;;1615:2:1;1600:18;6756:33:0;;;;;;;6805:19;6818:5;;6805:19;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;6842:4:0;6192:662;;;;;;:::o;14:250:1:-;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:1;238:16;;231:27;14:250::o;269:330::-;311:3;349:5;343:12;376:6;371:3;364:19;392:76;461:6;454:4;449:3;445:14;438:4;431:5;427:16;392:76;:::i;:::-;513:2;501:15;518:66;497:88;488:98;;;;588:4;484:109;;269:330;-1:-1:-1;;269:330:1:o;604:220::-;753:2;742:9;735:21;716:4;773:45;814:2;803:9;799:18;791:6;773:45;:::i;:::-;765:53;604:220;-1:-1:-1;;;604:220:1:o;829:196::-;897:20;;-1:-1:-1;;;;;946:54:1;;936:65;;926:93;;1015:1;1012;1005:12;926:93;829:196;;;:::o;1030:254::-;1098:6;1106;1159:2;1147:9;1138:7;1134:23;1130:32;1127:52;;;1175:1;1172;1165:12;1127:52;1198:29;1217:9;1198:29;:::i;:::-;1188:39;1274:2;1259:18;;;;1246:32;;-1:-1:-1;;;1030:254:1:o;1663:328::-;1740:6;1748;1756;1809:2;1797:9;1788:7;1784:23;1780:32;1777:52;;;1825:1;1822;1815:12;1777:52;1848:29;1867:9;1848:29;:::i;:::-;1838:39;;1896:38;1930:2;1919:9;1915:18;1896:38;:::i;:::-;1886:48;;1981:2;1970:9;1966:18;1953:32;1943:42;;1663:328;;;;;:::o;2382:186::-;2441:6;2494:2;2482:9;2473:7;2469:23;2465:32;2462:52;;;2510:1;2507;2500:12;2462:52;2533:29;2552:9;2533:29;:::i;2804:733::-;2892:6;2900;2908;2916;2969:2;2957:9;2948:7;2944:23;2940:32;2937:52;;;2985:1;2982;2975:12;2937:52;3008:29;3027:9;3008:29;:::i;:::-;2998:39;;3084:2;3073:9;3069:18;3056:32;3046:42;;3139:2;3128:9;3124:18;3111:32;3162:18;3203:2;3195:6;3192:14;3189:34;;;3219:1;3216;3209:12;3189:34;3257:6;3246:9;3242:22;3232:32;;3302:7;3295:4;3291:2;3287:13;3283:27;3273:55;;3324:1;3321;3314:12;3273:55;3364:2;3351:16;3390:2;3382:6;3379:14;3376:34;;;3406:1;3403;3396:12;3376:34;3451:7;3446:2;3437:6;3433:2;3429:15;3425:24;3422:37;3419:57;;;3472:1;3469;3462:12;3419:57;2804:733;;;;-1:-1:-1;;3503:2:1;3495:11;;-1:-1:-1;;;2804:733:1:o;3542:260::-;3610:6;3618;3671:2;3659:9;3650:7;3646:23;3642:32;3639:52;;;3687:1;3684;3677:12;3639:52;3710:29;3729:9;3710:29;:::i;:::-;3700:39;;3758:38;3792:2;3781:9;3777:18;3758:38;:::i;:::-;3748:48;;3542:260;;;;;:::o;3807:437::-;3886:1;3882:12;;;;3929;;;3950:61;;4004:4;3996:6;3992:17;3982:27;;3950:61;4057:2;4049:6;4046:14;4026:18;4023:38;4020:218;;4094:77;4091:1;4084:88;4195:4;4192:1;4185:15;4223:4;4220:1;4213:15;4020:218;;3807:437;;;:::o;4962:184::-;5014:77;5011:1;5004:88;5111:4;5108:1;5101:15;5135:4;5132:1;5125:15;5151:128;5218:9;;;5239:11;;;5236:37;;;5253:18;;:::i;5284:125::-;5349:9;;;5370:10;;;5367:36;;;5383:18;;:::i;5716:287::-;5845:3;5883:6;5877:13;5899:66;5958:6;5953:3;5946:4;5938:6;5934:17;5899:66;:::i;:::-;5981:16;;;;;5716:287;-1:-1:-1;;5716:287:1:o;6008:277::-;6075:6;6128:2;6116:9;6107:7;6103:23;6099:32;6096:52;;;6144:1;6141;6134:12;6096:52;6176:9;6170:16;6229:5;6222:13;6215:21;6208:5;6205:32;6195:60;;6251:1;6248;6241:12;6634:409;-1:-1:-1;;;;;6841:6:1;6837:55;6826:9;6819:74;6929:6;6924:2;6913:9;6909:18;6902:34;6972:2;6967;6956:9;6952:18;6945:30;6800:4;6992:45;7033:2;7022:9;7018:18;7010:6;6992:45;:::i;:::-;6984:53;6634:409;-1:-1:-1;;;;;6634:409:1:o;7048:336::-;7117:6;7170:2;7158:9;7149:7;7145:23;7141:32;7138:52;;;7186:1;7183;7176:12;7138:52;7218:9;7212:16;7268:66;7261:5;7257:78;7250:5;7247:89;7237:117;;7350:1;7347;7340:12;7389:325;7477:6;7472:3;7465:19;7529:6;7522:5;7515:4;7510:3;7506:14;7493:43;;7581:1;7574:4;7565:6;7560:3;7556:16;7552:27;7545:38;7447:3;7703:4;7633:66;7628:2;7620:6;7616:15;7612:88;7607:3;7603:98;7599:109;7592:116;;7389:325;;;;:::o;7719:435::-;-1:-1:-1;;;;;7936:6:1;7932:55;7921:9;7914:74;8024:6;8019:2;8008:9;8004:18;7997:34;8067:2;8062;8051:9;8047:18;8040:30;7895:4;8087:61;8144:2;8133:9;8129:18;8121:6;8113;8087:61;:::i;:::-;8079:69;7719:435;-1:-1:-1;;;;;;7719:435:1:o;8159:244::-;8316:2;8305:9;8298:21;8279:4;8336:61;8393:2;8382:9;8378:18;8370:6;8362;8336:61;:::i;:::-;8328:69;8159:244;-1:-1:-1;;;;8159:244:1:o
Swarm Source
ipfs://c0d2e12b0617b3d2b47238c3b68bf1d68ea84b1a2a21d357504ea1c90948c31c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.