ERC-20
Overview
Max Total Supply
60,000 UDS
Holders
372
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
130.932427421115740342 UDSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
UDS
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-11-12 */ // SPDX-License-Identifier: MIT pragma solidity >=0.6 <0.7.0; /** * @title Proxy * @dev Implements delegation of calls to other contracts, with proper * forwarding of return values and bubbling of failures. * It defines a fallback function that delegates all calls to the address * returned by the abstract _implementation() internal function. */ abstract contract Proxy { /** * @dev Fallback function. * Implemented entirely in `_fallback`. */ fallback () payable external { _fallback(); } /** * @dev Receive function. * Implemented entirely in `_fallback`. */ receive () payable external { _fallback(); } /** * @return The Address of the implementation. */ function _implementation() internal virtual view returns (address); /** * @dev Delegates execution to an implementation contract. * This is a low level function that doesn't return to its internal call site. * It will return to the external caller whatever the implementation returns. * @param implementation Address to delegate. */ function _delegate(address implementation) internal { // solhint-disable-next-line no-inline-assembly assembly { // Copy msg.data. We take full control of memory in this inline assembly // block because it will not return to Solidity code. We overwrite the // Solidity scratch pad at memory position 0. calldatacopy(0, 0, calldatasize()) // Call the implementation. // out and outsize are 0 because we don't know the size yet. let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0) // Copy the returned data. returndatacopy(0, 0, returndatasize()) switch result // delegatecall returns 0 on error. case 0 { revert(0, returndatasize()) } default { return(0, returndatasize()) } } } /** * @dev Function that is run as the first thing in the fallback function. * Can be redefined in derived contracts to add functionality. * Redefinitions must call super._willFallback(). */ function _willFallback() internal virtual { } /** * @dev fallback implementation. * Extracted to enable manual triggering. */ function _fallback() internal { _willFallback(); _delegate(_implementation()); } } pragma solidity >=0.6 <0.7.0; /** * @title UpgradeableProxy * @dev This contract implements a proxy that allows to change the * implementation address to which it will delegate. * Such a change is called an implementation upgrade. */ contract UpgradeableProxy is Proxy { /** * @dev Contract constructor. * @param _logic Address of the initial implementation. * @param _data Data to send as msg.data to the implementation to initialize the proxied contract. * It should include the signature and the parameters of the function to be called, as described in * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding. * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped. */ constructor(address _logic, bytes memory _data) public payable { assert(_IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1)); _setImplementation(_logic); if(_data.length > 0) { // solhint-disable-next-line avoid-low-level-calls (bool success,) = _logic.delegatecall(_data); require(success); } } /** * @dev Emitted when the implementation is upgraded. * @param implementation Address of the new implementation. */ event Upgraded(address indexed implementation); /** * @dev Storage slot with the address of the current implementation. * This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is * validated in the constructor. */ bytes32 private constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; /** * @dev Returns the current implementation. * @return impl Address of the current implementation */ function _implementation() internal override view returns (address impl) { bytes32 slot = _IMPLEMENTATION_SLOT; // solhint-disable-next-line no-inline-assembly assembly { impl := sload(slot) } } /** * @dev Upgrades the proxy to a new implementation. * @param newImplementation Address of the new implementation. */ function _upgradeTo(address newImplementation) internal { _setImplementation(newImplementation); emit Upgraded(newImplementation); } /** * @dev Sets the implementation address of the proxy. * @param newImplementation Address of the new implementation. */ function _setImplementation(address newImplementation) internal { require(isContract(newImplementation), "UpgradeableProxy: new implementation is not a contract"); bytes32 slot = _IMPLEMENTATION_SLOT; // solhint-disable-next-line no-inline-assembly assembly { sstore(slot, newImplementation) } } /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // 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; } } pragma solidity >=0.6 <0.7.0; /** * @title ManagedProxy * @dev This contract combines an upgradeability proxy with an authorization * mechanism for administrative tasks. * All external functions in this contract must be guarded by the * `ifAdmin` modifier. See ethereum/solidity#3864 for a Solidity * feature proposal that would enable this to be done automatically. */ contract ManagedProxy is UpgradeableProxy { /** * Contract constructor. * @param _logic address of the initial implementation. * @param _admin Address of the proxy administrator. * @param _data Data to send as msg.data to the implementation to initialize the proxied contract. * It should include the signature and the parameters of the function to be called, as described in * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding. * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped. */ constructor(address _logic, address _admin, bytes memory _data) public payable UpgradeableProxy(_logic, _data) { assert(_ADMIN_SLOT == bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1)); _setAdmin(_admin); } /** * @dev Emitted when the administration has been transferred. * @param previousAdmin Address of the previous admin. * @param newAdmin Address of the new admin. */ event AdminChanged(address previousAdmin, address newAdmin); /** * @dev Storage slot with the admin of the contract. * This is the keccak-256 hash of "eip1967.proxy.admin" subtracted by 1, and is * validated in the constructor. */ bytes32 private constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103; /** * @dev Modifier to check whether the `msg.sender` is the admin. * If it is, it will run the function. Otherwise, it will delegate the call * to the implementation. */ modifier ifAdmin() { if (msg.sender == _admin()) { _; } else { _fallback(); } } /** * @return The address of the proxy admin. */ function getProxyAdmin() public view returns (address) { return _admin(); } /** * @return The address of the implementation. */ function getProxyImplementation() public view returns (address) { return _implementation(); } /** * @dev Changes the admin of the proxy. * Only the current admin can call this function. * @param newAdmin Address to transfer proxy administration to. */ function changeAdmin(address newAdmin) external ifAdmin { require(newAdmin != address(0), "TransparentUpgradeableProxy: new admin is the zero address"); emit AdminChanged(_admin(), newAdmin); _setAdmin(newAdmin); } /** * @dev Upgrade the backing implementation of the proxy. * Only the admin can call this function. * @param newImplementation Address of the new implementation. */ function upgradeTo(address newImplementation) external payable ifAdmin { _upgradeTo(newImplementation); } /** * @dev Upgrade the backing implementation of the proxy and call a function * on the new implementation. * This is useful to initialize the proxied contract. * @param newImplementation Address of the new implementation. * @param data Data to send as msg.data in the low level call. * It should include the signature and the parameters of the function to be called, as described in * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding. */ function upgradeToAndCall(address newImplementation, bytes calldata data) external payable ifAdmin { _upgradeTo(newImplementation); // solhint-disable-next-line avoid-low-level-calls (bool success,) = newImplementation.delegatecall(data); require(success); } /** * @return adm The admin slot. */ function _admin() internal view returns (address adm) { bytes32 slot = _ADMIN_SLOT; // solhint-disable-next-line no-inline-assembly assembly { adm := sload(slot) } } /** * @dev Sets the address of the proxy admin. * @param newAdmin Address of the new proxy admin. */ function _setAdmin(address newAdmin) internal { bytes32 slot = _ADMIN_SLOT; // solhint-disable-next-line no-inline-assembly assembly { sstore(slot, newAdmin) } } /** * @dev Only fallback when the sender is not the admin. */ function _willFallback() internal override virtual { // require(msg.sender != _admin(), "TransparentUpgradeableProxy: admin cannot fallback to proxy target"); super._willFallback(); } } pragma solidity >=0.6.0 <0.7.0; /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin guidelines: functions revert instead * of returning `false` on failure. This behavior is nonetheless conventional * and does not conflict with the expectations of ERC20 applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract UDS is ManagedProxy { constructor(address logic, address admin) public payable ManagedProxy(logic, admin, abi.encodeWithSelector(0x9c020061, admin)) {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"logic","type":"address"},{"internalType":"address","name":"admin","type":"address"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getProxyAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getProxyImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526040516107723803806107728339818101604052604081101561002657600080fd5b508051602091820151604080516001600160a01b03831660248083019190915282518083039091018152604490910190915292830180516001600160e01b0316639c02006160e01b179052909182908290828161008282610155565b80511561013a576000826001600160a01b0316826040518082805190602001908083835b602083106100c55780518252601f1990920191602091820191016100a6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610125576040519150601f19603f3d011682016040523d82523d6000602084013e61012a565b606091505b505090508061013857600080fd5b505b506101429050565b61014b826101bd565b50505050506101e7565b61015e816101e1565b6101995760405162461bcd60e51b815260040180806020018281038252603681526020018061073c6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b610546806101f66000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef2861461008b5780638b3240a01461010b5780638f2839701461013c57806390e4b7201461016f5761005d565b3661005d5761005b610184565b005b61005b610184565b61005b6004803603602081101561007b57600080fd5b50356001600160a01b031661019e565b61005b600480360360408110156100a157600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100cc57600080fd5b8201836020820111156100de57600080fd5b8035906020019184600183028401116401000000008311171561010057600080fd5b5090925090506101d8565b34801561011757600080fd5b50610120610285565b604080516001600160a01b039092168252519081900360200190f35b34801561014857600080fd5b5061005b6004803603602081101561015f57600080fd5b50356001600160a01b0316610294565b34801561017b57600080fd5b5061012061034e565b61018c610358565b61019c610197610360565b610385565b565b6101a66103a9565b6001600160a01b0316336001600160a01b031614156101cd576101c8816103ce565b6101d5565b6101d5610184565b50565b6101e06103a9565b6001600160a01b0316336001600160a01b0316141561027857610202836103ce565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461025f576040519150601f19603f3d011682016040523d82523d6000602084013e610264565b606091505b505090508061027257600080fd5b50610280565b610280610184565b505050565b600061028f6103a9565b905090565b61029c6103a9565b6001600160a01b0316336001600160a01b031614156101cd576001600160a01b0381166102fa5760405162461bcd60e51b815260040180806020018281038252603a8152602001806104a1603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103236103a9565b604080516001600160a01b03928316815291841660208301528051918290030190a16101c88161040e565b600061028f610360565b61019c61019c565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103a4573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6103d781610432565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b61043b8161049a565b6104765760405162461bcd60e51b81526004018080602001828103825260368152602001806104db6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b3b15159056fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a2646970667358221220c823fd89d008c04b79f09e93f1de902bbf6040bc57b66ce3656a1171049e939c64736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e74726163740000000000000000000000000995e858f245fee085001555343d2a7eccb2f016000000000000000000000000a168979c2c66c0deb22c918e69cd747f35c3e47a
Deployed Bytecode
0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef2861461008b5780638b3240a01461010b5780638f2839701461013c57806390e4b7201461016f5761005d565b3661005d5761005b610184565b005b61005b610184565b61005b6004803603602081101561007b57600080fd5b50356001600160a01b031661019e565b61005b600480360360408110156100a157600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100cc57600080fd5b8201836020820111156100de57600080fd5b8035906020019184600183028401116401000000008311171561010057600080fd5b5090925090506101d8565b34801561011757600080fd5b50610120610285565b604080516001600160a01b039092168252519081900360200190f35b34801561014857600080fd5b5061005b6004803603602081101561015f57600080fd5b50356001600160a01b0316610294565b34801561017b57600080fd5b5061012061034e565b61018c610358565b61019c610197610360565b610385565b565b6101a66103a9565b6001600160a01b0316336001600160a01b031614156101cd576101c8816103ce565b6101d5565b6101d5610184565b50565b6101e06103a9565b6001600160a01b0316336001600160a01b0316141561027857610202836103ce565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461025f576040519150601f19603f3d011682016040523d82523d6000602084013e610264565b606091505b505090508061027257600080fd5b50610280565b610280610184565b505050565b600061028f6103a9565b905090565b61029c6103a9565b6001600160a01b0316336001600160a01b031614156101cd576001600160a01b0381166102fa5760405162461bcd60e51b815260040180806020018281038252603a8152602001806104a1603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103236103a9565b604080516001600160a01b03928316815291841660208301528051918290030190a16101c88161040e565b600061028f610360565b61019c61019c565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103a4573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6103d781610432565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b61043b8161049a565b6104765760405162461bcd60e51b81526004018080602001828103825260368152602001806104db6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b3b15159056fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a2646970667358221220c823fd89d008c04b79f09e93f1de902bbf6040bc57b66ce3656a1171049e939c64736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000995e858f245fee085001555343d2a7eccb2f016000000000000000000000000a168979c2c66c0deb22c918e69cd747f35c3e47a
-----Decoded View---------------
Arg [0] : logic (address): 0x0995E858f245fEE085001555343d2A7ecCb2f016
Arg [1] : admin (address): 0xa168979C2c66C0deB22C918E69cD747f35C3E47A
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000995e858f245fee085001555343d2a7eccb2f016
Arg [1] : 000000000000000000000000a168979c2c66c0deb22c918e69cd747f35c3e47a
Deployed Bytecode Sourcemap
12901:200:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;692:11;:9;:11::i;:::-;12901:200;;532:11;:9;:11::i;9781:119::-;;;;;;;;;;;;;;;;-1:-1:-1;9781:119:0;-1:-1:-1;;;;;9781:119:0;;:::i;10448:299::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10448:299:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10448:299:0;;-1:-1:-1;10448:299:0;-1:-1:-1;10448:299:0;:::i;8864:89::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;8864:89:0;;;;;;;;;;;;;;9332:246;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9332:246:0;-1:-1:-1;;;;;9332:246:0;;:::i;9030:107::-;;;;;;;;;;;;;:::i;2459:103::-;2500:15;:13;:15::i;:::-;2526:28;2536:17;:15;:17::i;:::-;2526:9;:28::i;:::-;2459:103::o;9781:119::-;8701:8;:6;:8::i;:::-;-1:-1:-1;;;;;8687:22:0;:10;-1:-1:-1;;;;;8687:22:0;;8683:100;;;9863:29:::1;9874:17;9863:10;:29::i;:::-;8683:100:::0;;;8760:11;:9;:11::i;:::-;9781:119;:::o;10448:299::-;8701:8;:6;:8::i;:::-;-1:-1:-1;;;;;8687:22:0;:10;-1:-1:-1;;;;;8687:22:0;;8683:100;;;10558:29:::1;10569:17;10558:10;:29::i;:::-;10659:12;10676:17;-1:-1:-1::0;;;;;10676:30:0::1;10707:4;;10676:36;;;;;;;;;;::::0;;::::1;::::0;-1:-1:-1;10676:36:0::1;::::0;-1:-1:-1;10676:36:0;;-1:-1:-1;;10676:36:0;;::::1;::::0;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10658:54;;;10731:7;10723:16;;;::::0;::::1;;8726:1;8683:100:::0;;;8760:11;:9;:11::i;:::-;10448:299;;;:::o;8864:89::-;8910:7;8937:8;:6;:8::i;:::-;8930:15;;8864:89;:::o;9332:246::-;8701:8;:6;:8::i;:::-;-1:-1:-1;;;;;8687:22:0;:10;-1:-1:-1;;;;;8687:22:0;;8683:100;;;-1:-1:-1;;;;;9407:22:0;::::1;9399:93;;;;-1:-1:-1::0;;;9399:93:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9508:32;9521:8;:6;:8::i;:::-;9508:32;::::0;;-1:-1:-1;;;;;9508:32:0;;::::1;::::0;;;;::::1;;::::0;::::1;::::0;;;;;;;;;::::1;9551:19;9561:8;9551:9;:19::i;9030:107::-:0;9085:7;9112:17;:15;:17::i;11464:206::-;11641:21;:19;:21::i;4499:248::-;4298:66;4718:11;;4695:45::o;1163:907::-;1555:14;1552:1;1549;1536:34;1773:1;1770;1754:14;1751:1;1735:14;1728:5;1715:60;1852:16;1849:1;1846;1831:38;1892:6;1961:38;;;;2033:16;2030:1;2023:27;1961:38;1980:16;1977:1;1970:27;10809:219;8378:66;10999:11;;10977:44::o;4898:155::-;4965:37;4984:17;4965:18;:37::i;:::-;5018:27;;-1:-1:-1;;;;;5018:27:0;;;;;;;;4898:155;:::o;11160:217::-;8378:66;11337:22;11322:48::o;5206:362::-;5289:29;5300:17;5289:10;:29::i;:::-;5281:96;;;;-1:-1:-1;;;5281:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4298:66;5519:31;5504:57::o;6163:422::-;6530:20;6569:8;;;6163:422::o
Swarm Source
ipfs://c823fd89d008c04b79f09e93f1de902bbf6040bc57b66ce3656a1171049e939c
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.