Feature Tip: Add private address tag to any address under My Name Tag !
ERC-721
Overview
Max Total Supply
7,777 COMICS
Holders
4,333
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
1 COMICSLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Comics
Compiler Version
v0.8.5+commit.a4f2e591
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8; import "./Ownable.sol"; interface ERC721TokenReceiver { function onERC721Received( address operator, address from, uint256 tokenId, bytes calldata data ) external returns (bytes4); } // @author: jolan.eth contract Comics is Ownable { string public symbol = "COMICS"; string public name = "0N1 Comics"; string public CID; address public NANOHUB; uint256 private currentId = 1; mapping(uint256 => uint256) private packedOwnerships; mapping(address => uint256) private packedAddressData; event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); constructor() {} function setCID(string memory _CID) public onlyOwner { CID = _CID; } function setNANOHUB(address _NANOHUB) public onlyOwner { NANOHUB = _NANOHUB; } function mintComics(address to) public { require(msg.sender == NANOHUB, "error NANOHUB"); _mint(to, 1); } function transferFrom(address from, address to, uint tokenId) public { require(msg.sender == NANOHUB, "error NANOHUB"); _transfer(from, to, tokenId); } function exist(uint256 tokenId) public view returns (bool) { return 1 <= tokenId && tokenId < currentId && ( packedOwnerships[tokenId] & (1 << 224) == 0 ); } function supportsInterface(bytes4 interfaceId) public pure returns (bool) { return interfaceId == 0x80ac58cd || interfaceId == 0x5b5e139f; } function totalSupply() public view returns (uint256) { unchecked { return currentId - 1; } } function balanceOf(address owner) public view returns (uint256) { if (owner == address(0)) revert BalanceQueryForZeroAddress(); return packedAddressData[owner] & ((1 << 64) - 1); } function ownerOf(uint256 tokenId) public view returns (address) { return address(uint160(_packedOwnershipOf(tokenId))); } function tokenURI(uint256 tokenId) public view returns (string memory) { if (!exist(tokenId)) revert URIQueryForNonexistentToken(); return string( abi.encodePacked("ipfs://", CID, "/", _toString(tokenId)) ); } function _mint(address to, uint256 quantity) internal { uint256 startTokenId = currentId; if (to == address(0)) revert MintToZeroAddress(); if (quantity == 0) revert MintZeroQuantity(); unchecked { packedAddressData[to] += quantity * ((1 << 64) | 1); packedOwnerships[startTokenId] = ( _addressToUint256(to) | (block.timestamp << 160) | (_boolToUint256(quantity == 1) << 225) ); uint256 updatedIndex = startTokenId; uint256 end = updatedIndex + quantity; while (updatedIndex < end) emit Transfer(address(0), to, updatedIndex++); currentId = updatedIndex; } } function _transfer(address from, address to, uint256 tokenId) private { uint256 prevOwnershipPacked = _packedOwnershipOf(tokenId); if (address(uint160(prevOwnershipPacked)) != from) revert TransferFromIncorrectOwner(); if (to == address(0)) revert TransferToZeroAddress(); unchecked { --packedAddressData[from]; ++packedAddressData[to]; packedOwnerships[tokenId] = _addressToUint256(to) | (block.timestamp << 160) | (1 << 225); if (prevOwnershipPacked & (1 << 225) == 0) { uint256 nextTokenId = tokenId + 1; if (packedOwnerships[nextTokenId] == 0) if (nextTokenId != currentId) packedOwnerships[nextTokenId] = prevOwnershipPacked; } } emit Transfer(from, to, tokenId); if (to.code.length != 0) if (!_checkContractOnERC721Received(from, to, tokenId, '')) revert TransferToNonERC721ReceiverImplementer(); } function _packedOwnershipOf(uint256 tokenId) private view returns (uint256) { uint256 curr = tokenId; unchecked { if (1 <= curr) if (curr < currentId) { uint256 packed = packedOwnerships[curr]; if (packed & (1 << 224) == 0) { while (packed == 0) { packed = packedOwnerships[--curr]; } return packed; } } } revert OwnerQueryForNonexistentToken(); } function _unpackedOwnership(uint256 packed) private pure returns (address, uint64, bool) { return ( address(uint160(packed)), uint64(packed >> 160), packed & (1 << 224) != 0 ); } function _initializeOwnershipAt(uint256 index) internal { if (packedOwnerships[index] == 0) packedOwnerships[index] = _packedOwnershipOf(index); } function _ownershipOf(uint256 tokenId) internal view returns (address, uint64, bool) { return _unpackedOwnership(_packedOwnershipOf(tokenId)); } function _checkContractOnERC721Received( address from, address to, uint256 tokenId, bytes memory _data ) private returns (bool) { try ERC721TokenReceiver(to).onERC721Received( msg.sender, from, tokenId, _data ) returns (bytes4 retval) { return retval == ERC721TokenReceiver(to).onERC721Received.selector; } catch (bytes memory reason) { if (reason.length == 0) revert TransferToNonERC721ReceiverImplementer(); else assembly { revert(add(32, reason), mload(reason)) } } } function _toString(uint256 value) private pure returns (string memory) { if (value == 0) return "0"; uint256 digits; uint256 tmp = value; while (tmp != 0) { digits++; tmp /= 10; } bytes memory buffer = new bytes(digits); while (value != 0) { digits -= 1; buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); value /= 10; } return string(buffer); } function _addressToUint256(address value) private pure returns (uint256 result) { assembly { result := value } } function _boolToUint256(bool value) private pure returns (uint256 result) { assembly { result := value } } error TransferToNonERC721ReceiverImplementer(); error OwnerQueryForNonexistentToken(); error URIQueryForNonexistentToken(); error BalanceQueryForZeroAddress(); error TransferFromIncorrectOwner(); error TransferToZeroAddress(); error MintToZeroAddress(); error MintZeroQuantity(); }
//SPDX-License-Identifier: MIT pragma solidity ^0.8; abstract contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); modifier onlyOwner() { require(owner() == msg.sender, "error owner()"); _; } constructor() { _transferOwnership(msg.sender); } function owner() public view virtual returns (address) { return _owner; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "error newOwner"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"BalanceQueryForZeroAddress","type":"error"},{"inputs":[],"name":"MintToZeroAddress","type":"error"},{"inputs":[],"name":"MintZeroQuantity","type":"error"},{"inputs":[],"name":"OwnerQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"TransferFromIncorrectOwner","type":"error"},{"inputs":[],"name":"TransferToNonERC721ReceiverImplementer","type":"error"},{"inputs":[],"name":"TransferToZeroAddress","type":"error"},{"inputs":[],"name":"URIQueryForNonexistentToken","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"CID","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NANOHUB","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"exist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"mintComics","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_CID","type":"string"}],"name":"setCID","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_NANOHUB","type":"address"}],"name":"setNANOHUB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60c06040526006608081905265434f4d49435360d01b60a0908152620000299160019190620000d2565b5060408051808201909152600a80825269304e3120436f6d69637360b01b60209092019182526200005d91600291620000d2565b5060016005553480156200007057600080fd5b506200007c3362000082565b620001b5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b828054620000e09062000178565b90600052602060002090601f0160209004810192826200010457600085556200014f565b82601f106200011f57805160ff19168380011785556200014f565b828001600101855582156200014f579182015b828111156200014f57825182559160200191906001019062000132565b506200015d92915062000161565b5090565b5b808211156200015d576000815560010162000162565b600181811c908216806200018d57607f821691505b60208210811415620001af57634e487b7160e01b600052602260045260246000fd5b50919050565b61108c80620001c56000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a2578063b461802211610071578063b461802214610210578063c098004c14610223578063c3d6ee7f1461022b578063c87b56dd1461023e578063f2fde38b1461025157600080fd5b806370a08231146101dc578063715018a6146101ef5780638da5cb5b146101f757806395d89b411461020857600080fd5b806323b872dd116100de57806323b872dd146101785780634add9fb51461018b5780634ebbc92a146101b65780636352211e146101c957600080fd5b806301ffc9a71461011057806306fdde031461013857806318160ddd1461014d5780631ebe8c5814610163575b600080fd5b61012361011e366004610c86565b610264565b60405190151581526020015b60405180910390f35b61014061029b565b60405161012f9190610ed5565b600554600019015b60405190815260200161012f565b610176610171366004610c2f565b610329565b005b610176610186366004610c4a565b610386565b60045461019e906001600160a01b031681565b6040516001600160a01b03909116815260200161012f565b6101236101c4366004610d71565b6103e0565b61019e6101d7366004610d71565b610415565b6101556101ea366004610c2f565b610420565b61017661046f565b6000546001600160a01b031661019e565b6101406104b4565b61017661021e366004610c2f565b6104c1565b61014061051c565b610176610239366004610cc0565b610529565b61014061024c366004610d71565b610579565b61017661025f366004610c2f565b6105d3565b60006380ac58cd60e01b6001600160e01b0319831614806102955750635b5e139f60e01b6001600160e01b03198316145b92915050565b600280546102a890610f7e565b80601f01602080910402602001604051908101604052809291908181526020018280546102d490610f7e565b80156103215780601f106102f657610100808354040283529160200191610321565b820191906000526020600020905b81548152906001019060200180831161030457829003601f168201915b505050505081565b6004546001600160a01b031633146103785760405162461bcd60e51b815260206004820152600d60248201526c32b93937b9102720a727a42aa160991b60448201526064015b60405180910390fd5b61038381600161065c565b50565b6004546001600160a01b031633146103d05760405162461bcd60e51b815260206004820152600d60248201526c32b93937b9102720a727a42aa160991b604482015260640161036f565b6103db838383610740565b505050565b6000816001111580156103f4575060055482105b8015610295575050600090815260066020526040902054600160e01b161590565b6000610295826108bd565b60006001600160a01b038216610449576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b031660009081526007602052604090205467ffffffffffffffff1690565b336104826000546001600160a01b031690565b6001600160a01b0316146104a85760405162461bcd60e51b815260040161036f90610ee8565b6104b2600061092d565b565b600180546102a890610f7e565b336104d46000546001600160a01b031690565b6001600160a01b0316146104fa5760405162461bcd60e51b815260040161036f90610ee8565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600380546102a890610f7e565b3361053c6000546001600160a01b031690565b6001600160a01b0316146105625760405162461bcd60e51b815260040161036f90610ee8565b8051610575906003906020840190610b7a565b5050565b6060610584826103e0565b6105a157604051630a14c4b560e41b815260040160405180910390fd5b60036105ac8361097d565b6040516020016105bd929190610dd2565b6040516020818303038152906040529050919050565b336105e66000546001600160a01b031690565b6001600160a01b03161461060c5760405162461bcd60e51b815260040161036f90610ee8565b6001600160a01b0381166106535760405162461bcd60e51b815260206004820152600e60248201526d32b93937b9103732bba7bbb732b960911b604482015260640161036f565b6103838161092d565b6005546001600160a01b03831661068557604051622e076360e81b815260040160405180910390fd5b816106a35760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660009081526007602090815260408083208054680100000000000000018702019055838352600690915290204260a01b84176001841460e11b179055808083015b80821015610737576040516001830192906001600160a01b038716906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46106ee565b50600555505050565b600061074b826108bd565b9050836001600160a01b0316816001600160a01b03161461077e5760405162a1148160e81b815260040160405180910390fd5b6001600160a01b0383166107a557604051633a954ecd60e21b815260040160405180910390fd5b6001600160a01b038481166000908152600760205260408082208054600019019055918516815220805460010190554260a01b836000848152600660205260409020600160e11b9290911782179055811661082e576001820160008181526006602052604090205461082c57600554811461082c5760008181526006602052604090208290555b505b81836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46001600160a01b0383163b156108b75761089a84848460405180602001604052806000815250610a83565b6108b7576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b600081600181106109145760055481101561091457600081815260066020526040902054600160e01b8116610912575b8061090b5750600019016000818152600660205260409020546108ed565b9392505050565b505b604051636f96cda160e11b815260040160405180910390fd5b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6060816109a15750506040805180820190915260018152600360fc1b602082015290565b6000825b80156109cb57816109b581610fb9565b92506109c49050600a82610f27565b90506109a5565b60008267ffffffffffffffff8111156109e6576109e661102a565b6040519080825280601f01601f191660200182016040528015610a10576020820181803683370190505b5090505b8415610a7b57610a25600184610f3b565b9250610a32600a86610fd4565b610a3d906030610f0f565b60f81b818481518110610a5257610a52611014565b60200101906001600160f81b031916908160001a905350610a74600a86610f27565b9450610a14565b949350505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290610ab8903390899088908890600401610ea2565b602060405180830381600087803b158015610ad257600080fd5b505af1925050508015610b02575060408051601f3d908101601f19168201909252610aff91810190610ca3565b60015b610b5d573d808015610b30576040519150601f19603f3d011682016040523d82523d6000602084013e610b35565b606091505b508051610b55576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b828054610b8690610f7e565b90600052602060002090601f016020900481019282610ba85760008555610bee565b82601f10610bc157805160ff1916838001178555610bee565b82800160010185558215610bee579182015b82811115610bee578251825591602001919060010190610bd3565b50610bfa929150610bfe565b5090565b5b80821115610bfa5760008155600101610bff565b80356001600160a01b0381168114610c2a57600080fd5b919050565b600060208284031215610c4157600080fd5b61090b82610c13565b600080600060608486031215610c5f57600080fd5b610c6884610c13565b9250610c7660208501610c13565b9150604084013590509250925092565b600060208284031215610c9857600080fd5b813561090b81611040565b600060208284031215610cb557600080fd5b815161090b81611040565b600060208284031215610cd257600080fd5b813567ffffffffffffffff80821115610cea57600080fd5b818401915084601f830112610cfe57600080fd5b813581811115610d1057610d1061102a565b604051601f8201601f19908116603f01168101908382118183101715610d3857610d3861102a565b81604052828152876020848701011115610d5157600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208284031215610d8357600080fd5b5035919050565b60008151808452610da2816020860160208601610f52565b601f01601f19169290920160200192915050565b60008151610dc8818560208601610f52565b9290920192915050565b66697066733a2f2f60c81b8152600060076000855481600182811c915080831680610dfe57607f831692505b6020808410821415610e1e57634e487b7160e01b86526022600452602486fd5b818015610e325760018114610e4757610e78565b60ff1986168a890152848a0188019650610e78565b60008c81526020902060005b86811015610e6e5781548c82018b0152908501908301610e53565b505087858b010196505b505050505050610e98610e9282602f60f81b815260010190565b86610db6565b9695505050505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090610e9890830184610d8a565b60208152600061090b6020830184610d8a565b6020808252600d908201526c6572726f72206f776e6572282960981b604082015260600190565b60008219821115610f2257610f22610fe8565b500190565b600082610f3657610f36610ffe565b500490565b600082821015610f4d57610f4d610fe8565b500390565b60005b83811015610f6d578181015183820152602001610f55565b838111156108b75750506000910152565b600181811c90821680610f9257607f821691505b60208210811415610fb357634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415610fcd57610fcd610fe8565b5060010190565b600082610fe357610fe3610ffe565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b03198116811461038357600080fdfea264697066735822122025c9929f39a824604955499baaf00bac7ba36abcaad7aa84784cd9cd9ebb532364736f6c63430008050033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a2578063b461802211610071578063b461802214610210578063c098004c14610223578063c3d6ee7f1461022b578063c87b56dd1461023e578063f2fde38b1461025157600080fd5b806370a08231146101dc578063715018a6146101ef5780638da5cb5b146101f757806395d89b411461020857600080fd5b806323b872dd116100de57806323b872dd146101785780634add9fb51461018b5780634ebbc92a146101b65780636352211e146101c957600080fd5b806301ffc9a71461011057806306fdde031461013857806318160ddd1461014d5780631ebe8c5814610163575b600080fd5b61012361011e366004610c86565b610264565b60405190151581526020015b60405180910390f35b61014061029b565b60405161012f9190610ed5565b600554600019015b60405190815260200161012f565b610176610171366004610c2f565b610329565b005b610176610186366004610c4a565b610386565b60045461019e906001600160a01b031681565b6040516001600160a01b03909116815260200161012f565b6101236101c4366004610d71565b6103e0565b61019e6101d7366004610d71565b610415565b6101556101ea366004610c2f565b610420565b61017661046f565b6000546001600160a01b031661019e565b6101406104b4565b61017661021e366004610c2f565b6104c1565b61014061051c565b610176610239366004610cc0565b610529565b61014061024c366004610d71565b610579565b61017661025f366004610c2f565b6105d3565b60006380ac58cd60e01b6001600160e01b0319831614806102955750635b5e139f60e01b6001600160e01b03198316145b92915050565b600280546102a890610f7e565b80601f01602080910402602001604051908101604052809291908181526020018280546102d490610f7e565b80156103215780601f106102f657610100808354040283529160200191610321565b820191906000526020600020905b81548152906001019060200180831161030457829003601f168201915b505050505081565b6004546001600160a01b031633146103785760405162461bcd60e51b815260206004820152600d60248201526c32b93937b9102720a727a42aa160991b60448201526064015b60405180910390fd5b61038381600161065c565b50565b6004546001600160a01b031633146103d05760405162461bcd60e51b815260206004820152600d60248201526c32b93937b9102720a727a42aa160991b604482015260640161036f565b6103db838383610740565b505050565b6000816001111580156103f4575060055482105b8015610295575050600090815260066020526040902054600160e01b161590565b6000610295826108bd565b60006001600160a01b038216610449576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b031660009081526007602052604090205467ffffffffffffffff1690565b336104826000546001600160a01b031690565b6001600160a01b0316146104a85760405162461bcd60e51b815260040161036f90610ee8565b6104b2600061092d565b565b600180546102a890610f7e565b336104d46000546001600160a01b031690565b6001600160a01b0316146104fa5760405162461bcd60e51b815260040161036f90610ee8565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600380546102a890610f7e565b3361053c6000546001600160a01b031690565b6001600160a01b0316146105625760405162461bcd60e51b815260040161036f90610ee8565b8051610575906003906020840190610b7a565b5050565b6060610584826103e0565b6105a157604051630a14c4b560e41b815260040160405180910390fd5b60036105ac8361097d565b6040516020016105bd929190610dd2565b6040516020818303038152906040529050919050565b336105e66000546001600160a01b031690565b6001600160a01b03161461060c5760405162461bcd60e51b815260040161036f90610ee8565b6001600160a01b0381166106535760405162461bcd60e51b815260206004820152600e60248201526d32b93937b9103732bba7bbb732b960911b604482015260640161036f565b6103838161092d565b6005546001600160a01b03831661068557604051622e076360e81b815260040160405180910390fd5b816106a35760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660009081526007602090815260408083208054680100000000000000018702019055838352600690915290204260a01b84176001841460e11b179055808083015b80821015610737576040516001830192906001600160a01b038716906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46106ee565b50600555505050565b600061074b826108bd565b9050836001600160a01b0316816001600160a01b03161461077e5760405162a1148160e81b815260040160405180910390fd5b6001600160a01b0383166107a557604051633a954ecd60e21b815260040160405180910390fd5b6001600160a01b038481166000908152600760205260408082208054600019019055918516815220805460010190554260a01b836000848152600660205260409020600160e11b9290911782179055811661082e576001820160008181526006602052604090205461082c57600554811461082c5760008181526006602052604090208290555b505b81836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46001600160a01b0383163b156108b75761089a84848460405180602001604052806000815250610a83565b6108b7576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b600081600181106109145760055481101561091457600081815260066020526040902054600160e01b8116610912575b8061090b5750600019016000818152600660205260409020546108ed565b9392505050565b505b604051636f96cda160e11b815260040160405180910390fd5b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6060816109a15750506040805180820190915260018152600360fc1b602082015290565b6000825b80156109cb57816109b581610fb9565b92506109c49050600a82610f27565b90506109a5565b60008267ffffffffffffffff8111156109e6576109e661102a565b6040519080825280601f01601f191660200182016040528015610a10576020820181803683370190505b5090505b8415610a7b57610a25600184610f3b565b9250610a32600a86610fd4565b610a3d906030610f0f565b60f81b818481518110610a5257610a52611014565b60200101906001600160f81b031916908160001a905350610a74600a86610f27565b9450610a14565b949350505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290610ab8903390899088908890600401610ea2565b602060405180830381600087803b158015610ad257600080fd5b505af1925050508015610b02575060408051601f3d908101601f19168201909252610aff91810190610ca3565b60015b610b5d573d808015610b30576040519150601f19603f3d011682016040523d82523d6000602084013e610b35565b606091505b508051610b55576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b828054610b8690610f7e565b90600052602060002090601f016020900481019282610ba85760008555610bee565b82601f10610bc157805160ff1916838001178555610bee565b82800160010185558215610bee579182015b82811115610bee578251825591602001919060010190610bd3565b50610bfa929150610bfe565b5090565b5b80821115610bfa5760008155600101610bff565b80356001600160a01b0381168114610c2a57600080fd5b919050565b600060208284031215610c4157600080fd5b61090b82610c13565b600080600060608486031215610c5f57600080fd5b610c6884610c13565b9250610c7660208501610c13565b9150604084013590509250925092565b600060208284031215610c9857600080fd5b813561090b81611040565b600060208284031215610cb557600080fd5b815161090b81611040565b600060208284031215610cd257600080fd5b813567ffffffffffffffff80821115610cea57600080fd5b818401915084601f830112610cfe57600080fd5b813581811115610d1057610d1061102a565b604051601f8201601f19908116603f01168101908382118183101715610d3857610d3861102a565b81604052828152876020848701011115610d5157600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208284031215610d8357600080fd5b5035919050565b60008151808452610da2816020860160208601610f52565b601f01601f19169290920160200192915050565b60008151610dc8818560208601610f52565b9290920192915050565b66697066733a2f2f60c81b8152600060076000855481600182811c915080831680610dfe57607f831692505b6020808410821415610e1e57634e487b7160e01b86526022600452602486fd5b818015610e325760018114610e4757610e78565b60ff1986168a890152848a0188019650610e78565b60008c81526020902060005b86811015610e6e5781548c82018b0152908501908301610e53565b505087858b010196505b505050505050610e98610e9282602f60f81b815260010190565b86610db6565b9695505050505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090610e9890830184610d8a565b60208152600061090b6020830184610d8a565b6020808252600d908201526c6572726f72206f776e6572282960981b604082015260600190565b60008219821115610f2257610f22610fe8565b500190565b600082610f3657610f36610ffe565b500490565b600082821015610f4d57610f4d610fe8565b500390565b60005b83811015610f6d578181015183820152602001610f55565b838111156108b75750506000910152565b600181811c90821680610f9257607f821691505b60208210811415610fb357634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415610fcd57610fcd610fe8565b5060010190565b600082610fe357610fe3610ffe565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b03198116811461038357600080fdfea264697066735822122025c9929f39a824604955499baaf00bac7ba36abcaad7aa84784cd9cd9ebb532364736f6c63430008050033
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.