ERC-721
Overview
Max Total Supply
38,612 FUNBIRTHDAY
Holders
30,980
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
1 FUNBIRTHDAYLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
FunBirthday
Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled:
Yes with 250000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity ^0.8.19;import {Ownable} from "openzeppelin/access/Ownable.sol";import {ERC721A} from "ERC721A/ERC721A.sol";import {IERC721} from "openzeppelin/token/ERC721/IERC721.sol";import {IERC721Metadata} from "openzeppelin/token/ERC721/extensions/IERC721Metadata.sol";import {IERC165} from "openzeppelin/utils/introspection/IERC165.sol";import {MerkleProofLib} from "solmate/utils/MerkleProofLib.sol";import "../Fundrop/IERC4906.sol";import "../Fundrop/IMetadataRenderer.sol";contract FunBirthday is ERC721A, IERC4906, Ownable {uint256 public publicMintPrice = 0.000614 ether;address public metadataRenderer;address public metadataUpdater;uint256 public mintEnd;bytes32 public merkleRoot;error InvalidTokenId();error InvalidPrice();error InvalidProof();error MerkleRootNotSet();
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)pragma solidity ^0.8.0;import "../utils/Context.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership}.** This module is used through inheritance. It will make available the modifier* `onlyOwner`, which can be applied to your functions to restrict their use to* the owner.*/abstract contract Ownable is Context {address private _owner;event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);/*** @dev Initializes the contract setting the deployer as the initial owner.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// ERC721A Contracts v4.2.3// Creator: Chiru Labspragma solidity ^0.8.4;import './IERC721A.sol';/*** @dev Interface of ERC721 token receiver.*/interface ERC721A__IERC721Receiver {function onERC721Received(address operator,address from,uint256 tokenId,bytes calldata data) external returns (bytes4);}/*** @title ERC721A** @dev Implementation of the [ERC721](https://eips.ethereum.org/EIPS/eip-721)* Non-Fungible Token Standard, including the Metadata extension.* Optimized for lower gas during batch mints.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (token/ERC721/IERC721.sol)pragma solidity ^0.8.0;import "../../utils/introspection/IERC165.sol";/*** @dev Required interface of an ERC721 compliant contract.*/interface IERC721 is IERC165 {/*** @dev Emitted when `tokenId` token is transferred from `from` to `to`.*/event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);/*** @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.*/event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);/*** @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.*/event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (token/ERC721/extensions/IERC721Metadata.sol)pragma solidity ^0.8.0;import "../IERC721.sol";/*** @title ERC-721 Non-Fungible Token Standard, optional metadata extension* @dev See https://eips.ethereum.org/EIPS/eip-721*/interface IERC721Metadata is IERC721 {/*** @dev Returns the token collection name.*/function name() external view returns (string memory);/*** @dev Returns the token collection symbol.*/function symbol() external view returns (string memory);/*** @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.*/function tokenURI(uint256 tokenId) external view returns (string memory);
12345678910111213141516171819202122232425// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)pragma solidity ^0.8.0;/*** @dev Interface of the ERC165 standard, as defined in the* https://eips.ethereum.org/EIPS/eip-165[EIP].** Implementers can declare support of contract interfaces, which can then be* queried by others ({ERC165Checker}).** For an implementation, see {ERC165}.*/interface IERC165 {/*** @dev Returns true if this contract implements the interface defined by* `interfaceId`. See the corresponding* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]* to learn more about how these ids are created.** This function call must use less than 30 000 gas.*/function supportsInterface(bytes4 interfaceId) external view returns (bool);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity >=0.8.0;/// @notice Gas optimized merkle proof verification library./// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/MerkleProofLib.sol)/// @author Modified from Solady (https://github.com/Vectorized/solady/blob/main/src/utils/MerkleProofLib.sol)library MerkleProofLib {function verify(bytes32[] calldata proof,bytes32 root,bytes32 leaf) internal pure returns (bool isValid) {assembly {if proof.length {// Left shifting by 5 is like multiplying by 32.let end := add(proof.offset, shl(5, proof.length))// Initialize offset to the offset of the proof in calldata.let offset := proof.offset// Iterate over proof elements to compute root hash.// prettier-ignorefor {} 1 {} {// Slot where the leaf should be put in scratch space. If// leaf > calldataload(offset): slot 32, otherwise: slot 0.let leafSlot := shl(5, gt(leaf, calldataload(offset)))
1234567891011121314// SPDX-License-Identifier: MITpragma solidity ^0.8.17;interface IERC4906 {/// @dev This event emits when the metadata of a token is changed./// So that the third-party platforms such as NFT market could/// timely update the images and related attributes of the NFT.event MetadataUpdate(uint256 _tokenId);/// @dev This event emits when the metadata of a range of tokens is changed./// So that the third-party platforms such as NFT market could/// timely update the images and related attributes of the NFTs.event BatchMetadataUpdate(uint256 _fromTokenId, uint256 _toTokenId);}
123456// SPDX-License-Identifier: UNLICENSEDpragma solidity ^0.8.17;interface IMetadataRenderer {function tokenURI(uint256 id) external view returns (string memory);}
123456789101112131415161718192021222324// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)pragma solidity ^0.8.0;/*** @dev Provides information about the current execution context, including the* sender of the transaction and its data. While these are generally available* via msg.sender and msg.data, they should not be accessed in such a direct* manner, since when dealing with meta-transactions the account sending and* paying for execution may not be the actual sender (as far as an application* is concerned).** This contract is only required for intermediate, library-like contracts.*/abstract contract Context {function _msgSender() internal view virtual returns (address) {return msg.sender;}function _msgData() internal view virtual returns (bytes calldata) {return msg.data;}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// ERC721A Contracts v4.2.3// Creator: Chiru Labspragma solidity ^0.8.4;/*** @dev Interface of ERC721A.*/interface IERC721A {/*** The caller must own the token or be an approved operator.*/error ApprovalCallerNotOwnerNorApproved();/*** The token does not exist.*/error ApprovalQueryForNonexistentToken();/*** Cannot query the balance for the zero address.*/error BalanceQueryForZeroAddress();/**
1234567891011121314151617181920212223242526{"remappings": ["ERC721A/=lib/ERC721A/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","solady/=lib/solady/src/","solmate/=lib/solmate/src/"],"optimizer": {"enabled": true,"runs": 250000},"metadata": {"bytecodeHash": "ipfs","appendCBOR": true},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata",
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ApprovalCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"ApprovalQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"BalanceQueryForZeroAddress","type":"error"},{"inputs":[],"name":"InvalidPrice","type":"error"},{"inputs":[],"name":"InvalidProof","type":"error"},{"inputs":[],"name":"InvalidTokenId","type":"error"},{"inputs":[],"name":"MerkleRootNotSet","type":"error"},{"inputs":[],"name":"MintClosed","type":"error"},{"inputs":[],"name":"MintERC2309QuantityExceedsLimit","type":"error"},{"inputs":[],"name":"MintToZeroAddress","type":"error"},{"inputs":[],"name":"MintZeroQuantity","type":"error"},{"inputs":[],"name":"MintedAllowlistAlready","type":"error"},{"inputs":[],"name":"OnlyOwnerOrMetadataUpdater","type":"error"},{"inputs":[],"name":"OwnerQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"OwnershipNotInitializedForExtraData","type":"error"},{"inputs":[],"name":"TooMany","type":"error"},{"inputs":[],"name":"TransferCallerNotOwnerNorApproved","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":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_toTokenId","type":"uint256"}],"name":"BatchMetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toTokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"ConsecutiveTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"MetadataUpdate","type":"event"},{"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":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"count","type":"uint256"}],"name":"adminMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"}],"name":"allowlistMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"payable","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":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"merkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"metadataRenderer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"metadataUpdater","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"count","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"mintEnd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"publicMintPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"refreshMetadata","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"}],"name":"setMerkleRoot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_metadataRenderer","type":"address"}],"name":"setMetadataRenderer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_metadataUpdater","type":"address"}],"name":"setMetadataUpdater","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintEnd","type":"uint256"}],"name":"setMintEnd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintPrice","type":"uint256"}],"name":"setMintPrice","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":"id","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":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405266022e6e03e460006009553480156200001c57600080fd5b50604051806040016040528060128152602001716d696e742e66756e207475726e73206f6e6560701b8152506040518060400160405280600b81526020016a46554e424952544844415960a81b81525081600290816200007d9190620001af565b5060036200008c8282620001af565b50506001600055506200009f33620000b8565b333214620000b257620000b232620000b8565b6200027b565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200013557607f821691505b6020821081036200015657634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001aa57600081815260208120601f850160051c81016020861015620001855750805b601f850160051c820191505b81811015620001a65782815560010162000191565b5050505b505050565b81516001600160401b03811115620001cb57620001cb6200010a565b620001e381620001dc845462000120565b846200015c565b602080601f8311600181146200021b5760008415620002025750858301515b600019600386901b1c1916600185901b178555620001a6565b600085815260208120601f198616915b828110156200024c578886015182559484019460019091019084016200022b565b50858210156200026b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611f12806200028b6000396000f3fe6080604052600436106101e35760003560e01c80637cb6475911610102578063dc53fd9211610095578063eb20614e11610064578063eb20614e1461059b578063f2fde38b146105bb578063f4a0a528146105db578063fd4fe8a8146105fb57600080fd5b8063dc53fd92146104f9578063e58306f91461050f578063e985e9c51461052f578063ea2b4ab21461058557600080fd5b8063a0712d68116100d1578063a0712d6814610493578063a22cb465146104a6578063b88d4fde146104c6578063c87b56dd146104d957600080fd5b80637cb64759146104065780638325c62f146104265780638da5cb5b1461045357806395d89b411461047e57600080fd5b8063410066051161017a5780636ba253fd116101495780636ba253fd1461038457806370319970146103a457806370a08231146103d1578063715018a6146103f157600080fd5b8063410066051461031c57806342842e0e14610331578063537924ef146103445780636352211e1461036457600080fd5b806318160ddd116101b657806318160ddd1461029957806323b872dd146102de5780632eb4a7ab146102f15780633ccfd60b1461030757600080fd5b806301ffc9a7146101e857806306fdde031461021d578063081812fc1461023f578063095ea7b314610284575b600080fd5b3480156101f457600080fd5b5061020861020336600461199f565b61061b565b60405190151581526020015b60405180910390f35b34801561022957600080fd5b5061023261072b565b6040516102149190611a2a565b34801561024b57600080fd5b5061025f61025a366004611a3d565b6107bd565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610214565b610297610292366004611a7f565b610827565b005b3480156102a557600080fd5b50600154600054037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b604051908152602001610214565b6102976102ec366004611aa9565b61093c565b3480156102fd57600080fd5b506102d0600d5481565b34801561031357600080fd5b50610297610bf5565b34801561032857600080fd5b50610297610c46565b61029761033f366004611aa9565b610d0e565b34801561035057600080fd5b5061029761035f366004611ae5565b610d2e565b34801561037057600080fd5b5061025f61037f366004611a3d565b610ea3565b34801561039057600080fd5b5061029761039f366004611b5a565b610eae565b3480156103b057600080fd5b50600a5461025f9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103dd57600080fd5b506102d06103ec366004611b5a565b610efd565b3480156103fd57600080fd5b50610297610f7f565b34801561041257600080fd5b50610297610421366004611a3d565b610f93565b34801561043257600080fd5b50600b5461025f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561045f57600080fd5b5060085473ffffffffffffffffffffffffffffffffffffffff1661025f565b34801561048a57600080fd5b50610232610fd7565b6102976104a1366004611a3d565b610fe6565b3480156104b257600080fd5b506102976104c1366004611b75565b6110ab565b6102976104d4366004611c75565b611142565b3480156104e557600080fd5b506102326104f4366004611a3d565b6111ac565b34801561050557600080fd5b506102d060095481565b34801561051b57600080fd5b5061029761052a366004611a7f565b6112bb565b34801561053b57600080fd5b5061020861054a366004611d20565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561059157600080fd5b506102d0600c5481565b3480156105a757600080fd5b506102976105b6366004611a3d565b6112d1565b3480156105c757600080fd5b506102976105d6366004611b5a565b611325565b3480156105e757600080fd5b506102976105f6366004611a3d565b6113de565b34801561060757600080fd5b50610297610616366004611b5a565b611424565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a70000000000000000000000000000000000000000000000000000000014806106ae57507fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000145b806106d957507fffffffff000000000000000000000000000000000000000000000000000000008216155b8061072557507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b92915050565b60606002805461073a90611d53565b80601f016020809104026020016040519081016040528092919081815260200182805461076690611d53565b80156107b35780601f10610788576101008083540402835291602001916107b3565b820191906000526020600020905b81548152906001019060200180831161079657829003601f168201915b5050505050905090565b60006107c882611474565b6107fe576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061083282610ea3565b90503373ffffffffffffffffffffffffffffffffffffffff8216146108bb5773ffffffffffffffffffffffffffffffffffffffff8116600090815260076020908152604080832033845290915290205460ff166108bb576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526006602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610947826114c2565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109ae576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260066020526040902080543380821473ffffffffffffffffffffffffffffffffffffffff881690911417610a4b5773ffffffffffffffffffffffffffffffffffffffff8616600090815260076020908152604080832033845290915290205460ff16610a4b576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516610a98576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015610aa357600082555b73ffffffffffffffffffffffffffffffffffffffff86811660009081526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055918716808252919020805460010190554260a01b177c0200000000000000000000000000000000000000000000000000000000176000858152600460205260408120919091557c020000000000000000000000000000000000000000000000000000000084169003610b9257600184016000818152600460205260408120549003610b90576000548114610b905760008181526004602052604090208490555b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050505050565b610bfd611588565b60085460405173ffffffffffffffffffffffffffffffffffffffff909116904780156108fc02916000818181858888f19350505050158015610c43573d6000803e3d6000fd5b50565b600b5473ffffffffffffffffffffffffffffffffffffffff163314801590610c86575060085473ffffffffffffffffffffffffffffffffffffffff163314155b15610cbd576040517f0707164200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c600180610cea60005490565b610cf49190611dd5565b6040805192835260208301919091520160405180910390a1565b610d2983838360405180602001604052806000815250611142565b505050565b600c54421115610d6a576040517f589ed34b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526005602052604090205460c01c15801590610db7576040517f78b97bf200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d546040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003360601b166020820152600091610e11918691869160340160405160208183030381529060405280519060200120611609565b905080610e4a576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000908152600560205260409020805477ffffffffffffffffffffffffffffffffffffffffffffffff167801000000000000000000000000000000000000000000000000179055610e9d336001611643565b50505050565b6000610725826114c2565b610eb6611588565b600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600073ffffffffffffffffffffffffffffffffffffffff8216610f4c576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205467ffffffffffffffff1690565b610f87611588565b610f916000611781565b565b610f9b611588565b80610fd2576040517f9f8a28f200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d55565b60606003805461073a90611d53565b600c54421115611022576040517f589ed34b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60095461102f9082611de8565b3414611066576040517ebfc92100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60648111156110a1576040517fd65ac61e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c433382611643565b33600081815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61114d84848461093c565b73ffffffffffffffffffffffffffffffffffffffff83163b15610e9d57611176848484846117f8565b610e9d576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060006111b983610ea3565b73ffffffffffffffffffffffffffffffffffffffff1603611206576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a546040517fc87b56dd0000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff9091169063c87b56dd90602401600060405180830381865afa158015611275573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107259190810190611dff565b6112c3611588565b6112cd8282611643565b5050565b6112d9611588565b6000811180156112e95750600d54155b15611320576040517f9f8a28f200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c55565b61132d611588565b73ffffffffffffffffffffffffffffffffffffffff81166113d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610c4381611781565b6113e6611588565b8060000361141f576040517ebfc92100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600955565b61142c611588565b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316179055610c43610c46565b600081600111158015611488575060005482105b80156107255750506000908152600460205260409020547c0100000000000000000000000000000000000000000000000000000000161590565b600081806001116115565760005481101561155657600081815260046020526040812054907c010000000000000000000000000000000000000000000000000000000082169003611554575b8060000361154d57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160008181526004602052604090205461150e565b9392505050565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60085473ffffffffffffffffffffffffffffffffffffffff163314610f91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016113cc565b6000831561163b578360051b8501855b803580851160051b948552602094851852604060002093018181106116195750505b501492915050565b6000805490829003611681576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461173d57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101611705565b5081600003611778576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005550505050565b6008805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040517f150b7a0200000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290611853903390899088908890600401611e76565b6020604051808303816000875af19250505080156118ac575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526118a991810190611ebf565b60015b611923573d8080156118da576040519150601f19603f3d011682016040523d82523d6000602084013e6118df565b606091505b50805160000361191b576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050949350505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c4357600080fd5b6000602082840312156119b157600080fd5b813561154d81611971565b60005b838110156119d75781810151838201526020016119bf565b50506000910152565b600081518084526119f88160208601602086016119bc565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061154d60208301846119e0565b600060208284031215611a4f57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611a7a57600080fd5b919050565b60008060408385031215611a9257600080fd5b611a9b83611a56565b946020939093013593505050565b600080600060608486031215611abe57600080fd5b611ac784611a56565b9250611ad560208501611a56565b9150604084013590509250925092565b60008060208385031215611af857600080fd5b823567ffffffffffffffff80821115611b1057600080fd5b818501915085601f830112611b2457600080fd5b813581811115611b3357600080fd5b8660208260051b8501011115611b4857600080fd5b60209290920196919550909350505050565b600060208284031215611b6c57600080fd5b61154d82611a56565b60008060408385031215611b8857600080fd5b611b9183611a56565b915060208301358015158114611ba657600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611c2757611c27611bb1565b604052919050565b600067ffffffffffffffff821115611c4957611c49611bb1565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060008060808587031215611c8b57600080fd5b611c9485611a56565b9350611ca260208601611a56565b925060408501359150606085013567ffffffffffffffff811115611cc557600080fd5b8501601f81018713611cd657600080fd5b8035611ce9611ce482611c2f565b611be0565b818152886020838501011115611cfe57600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060408385031215611d3357600080fd5b611d3c83611a56565b9150611d4a60208401611a56565b90509250929050565b600181811c90821680611d6757607f821691505b602082108103611da0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561072557610725611da6565b808202811582820484141761072557610725611da6565b600060208284031215611e1157600080fd5b815167ffffffffffffffff811115611e2857600080fd5b8201601f81018413611e3957600080fd5b8051611e47611ce482611c2f565b818152856020838501011115611e5c57600080fd5b611e6d8260208301602086016119bc565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611eb560808301846119e0565b9695505050505050565b600060208284031215611ed157600080fd5b815161154d8161197156fea2646970667358221220f54f75395235dd54d686e49663654a3f0cf922b9dd2e4bfa9cef32c94728336964736f6c63430008140033
Deployed Bytecode
0x6080604052600436106101e35760003560e01c80637cb6475911610102578063dc53fd9211610095578063eb20614e11610064578063eb20614e1461059b578063f2fde38b146105bb578063f4a0a528146105db578063fd4fe8a8146105fb57600080fd5b8063dc53fd92146104f9578063e58306f91461050f578063e985e9c51461052f578063ea2b4ab21461058557600080fd5b8063a0712d68116100d1578063a0712d6814610493578063a22cb465146104a6578063b88d4fde146104c6578063c87b56dd146104d957600080fd5b80637cb64759146104065780638325c62f146104265780638da5cb5b1461045357806395d89b411461047e57600080fd5b8063410066051161017a5780636ba253fd116101495780636ba253fd1461038457806370319970146103a457806370a08231146103d1578063715018a6146103f157600080fd5b8063410066051461031c57806342842e0e14610331578063537924ef146103445780636352211e1461036457600080fd5b806318160ddd116101b657806318160ddd1461029957806323b872dd146102de5780632eb4a7ab146102f15780633ccfd60b1461030757600080fd5b806301ffc9a7146101e857806306fdde031461021d578063081812fc1461023f578063095ea7b314610284575b600080fd5b3480156101f457600080fd5b5061020861020336600461199f565b61061b565b60405190151581526020015b60405180910390f35b34801561022957600080fd5b5061023261072b565b6040516102149190611a2a565b34801561024b57600080fd5b5061025f61025a366004611a3d565b6107bd565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610214565b610297610292366004611a7f565b610827565b005b3480156102a557600080fd5b50600154600054037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b604051908152602001610214565b6102976102ec366004611aa9565b61093c565b3480156102fd57600080fd5b506102d0600d5481565b34801561031357600080fd5b50610297610bf5565b34801561032857600080fd5b50610297610c46565b61029761033f366004611aa9565b610d0e565b34801561035057600080fd5b5061029761035f366004611ae5565b610d2e565b34801561037057600080fd5b5061025f61037f366004611a3d565b610ea3565b34801561039057600080fd5b5061029761039f366004611b5a565b610eae565b3480156103b057600080fd5b50600a5461025f9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103dd57600080fd5b506102d06103ec366004611b5a565b610efd565b3480156103fd57600080fd5b50610297610f7f565b34801561041257600080fd5b50610297610421366004611a3d565b610f93565b34801561043257600080fd5b50600b5461025f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561045f57600080fd5b5060085473ffffffffffffffffffffffffffffffffffffffff1661025f565b34801561048a57600080fd5b50610232610fd7565b6102976104a1366004611a3d565b610fe6565b3480156104b257600080fd5b506102976104c1366004611b75565b6110ab565b6102976104d4366004611c75565b611142565b3480156104e557600080fd5b506102326104f4366004611a3d565b6111ac565b34801561050557600080fd5b506102d060095481565b34801561051b57600080fd5b5061029761052a366004611a7f565b6112bb565b34801561053b57600080fd5b5061020861054a366004611d20565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561059157600080fd5b506102d0600c5481565b3480156105a757600080fd5b506102976105b6366004611a3d565b6112d1565b3480156105c757600080fd5b506102976105d6366004611b5a565b611325565b3480156105e757600080fd5b506102976105f6366004611a3d565b6113de565b34801561060757600080fd5b50610297610616366004611b5a565b611424565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a70000000000000000000000000000000000000000000000000000000014806106ae57507fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000145b806106d957507fffffffff000000000000000000000000000000000000000000000000000000008216155b8061072557507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b92915050565b60606002805461073a90611d53565b80601f016020809104026020016040519081016040528092919081815260200182805461076690611d53565b80156107b35780601f10610788576101008083540402835291602001916107b3565b820191906000526020600020905b81548152906001019060200180831161079657829003601f168201915b5050505050905090565b60006107c882611474565b6107fe576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061083282610ea3565b90503373ffffffffffffffffffffffffffffffffffffffff8216146108bb5773ffffffffffffffffffffffffffffffffffffffff8116600090815260076020908152604080832033845290915290205460ff166108bb576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526006602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610947826114c2565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109ae576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260066020526040902080543380821473ffffffffffffffffffffffffffffffffffffffff881690911417610a4b5773ffffffffffffffffffffffffffffffffffffffff8616600090815260076020908152604080832033845290915290205460ff16610a4b576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516610a98576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015610aa357600082555b73ffffffffffffffffffffffffffffffffffffffff86811660009081526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055918716808252919020805460010190554260a01b177c0200000000000000000000000000000000000000000000000000000000176000858152600460205260408120919091557c020000000000000000000000000000000000000000000000000000000084169003610b9257600184016000818152600460205260408120549003610b90576000548114610b905760008181526004602052604090208490555b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050505050565b610bfd611588565b60085460405173ffffffffffffffffffffffffffffffffffffffff909116904780156108fc02916000818181858888f19350505050158015610c43573d6000803e3d6000fd5b50565b600b5473ffffffffffffffffffffffffffffffffffffffff163314801590610c86575060085473ffffffffffffffffffffffffffffffffffffffff163314155b15610cbd576040517f0707164200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c600180610cea60005490565b610cf49190611dd5565b6040805192835260208301919091520160405180910390a1565b610d2983838360405180602001604052806000815250611142565b505050565b600c54421115610d6a576040517f589ed34b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526005602052604090205460c01c15801590610db7576040517f78b97bf200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d546040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003360601b166020820152600091610e11918691869160340160405160208183030381529060405280519060200120611609565b905080610e4a576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000908152600560205260409020805477ffffffffffffffffffffffffffffffffffffffffffffffff167801000000000000000000000000000000000000000000000000179055610e9d336001611643565b50505050565b6000610725826114c2565b610eb6611588565b600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600073ffffffffffffffffffffffffffffffffffffffff8216610f4c576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205467ffffffffffffffff1690565b610f87611588565b610f916000611781565b565b610f9b611588565b80610fd2576040517f9f8a28f200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d55565b60606003805461073a90611d53565b600c54421115611022576040517f589ed34b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60095461102f9082611de8565b3414611066576040517ebfc92100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60648111156110a1576040517fd65ac61e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c433382611643565b33600081815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61114d84848461093c565b73ffffffffffffffffffffffffffffffffffffffff83163b15610e9d57611176848484846117f8565b610e9d576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060006111b983610ea3565b73ffffffffffffffffffffffffffffffffffffffff1603611206576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a546040517fc87b56dd0000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff9091169063c87b56dd90602401600060405180830381865afa158015611275573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107259190810190611dff565b6112c3611588565b6112cd8282611643565b5050565b6112d9611588565b6000811180156112e95750600d54155b15611320576040517f9f8a28f200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c55565b61132d611588565b73ffffffffffffffffffffffffffffffffffffffff81166113d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610c4381611781565b6113e6611588565b8060000361141f576040517ebfc92100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600955565b61142c611588565b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316179055610c43610c46565b600081600111158015611488575060005482105b80156107255750506000908152600460205260409020547c0100000000000000000000000000000000000000000000000000000000161590565b600081806001116115565760005481101561155657600081815260046020526040812054907c010000000000000000000000000000000000000000000000000000000082169003611554575b8060000361154d57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160008181526004602052604090205461150e565b9392505050565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60085473ffffffffffffffffffffffffffffffffffffffff163314610f91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016113cc565b6000831561163b578360051b8501855b803580851160051b948552602094851852604060002093018181106116195750505b501492915050565b6000805490829003611681576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461173d57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101611705565b5081600003611778576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005550505050565b6008805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040517f150b7a0200000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290611853903390899088908890600401611e76565b6020604051808303816000875af19250505080156118ac575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526118a991810190611ebf565b60015b611923573d8080156118da576040519150601f19603f3d011682016040523d82523d6000602084013e6118df565b606091505b50805160000361191b576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050949350505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c4357600080fd5b6000602082840312156119b157600080fd5b813561154d81611971565b60005b838110156119d75781810151838201526020016119bf565b50506000910152565b600081518084526119f88160208601602086016119bc565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061154d60208301846119e0565b600060208284031215611a4f57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611a7a57600080fd5b919050565b60008060408385031215611a9257600080fd5b611a9b83611a56565b946020939093013593505050565b600080600060608486031215611abe57600080fd5b611ac784611a56565b9250611ad560208501611a56565b9150604084013590509250925092565b60008060208385031215611af857600080fd5b823567ffffffffffffffff80821115611b1057600080fd5b818501915085601f830112611b2457600080fd5b813581811115611b3357600080fd5b8660208260051b8501011115611b4857600080fd5b60209290920196919550909350505050565b600060208284031215611b6c57600080fd5b61154d82611a56565b60008060408385031215611b8857600080fd5b611b9183611a56565b915060208301358015158114611ba657600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611c2757611c27611bb1565b604052919050565b600067ffffffffffffffff821115611c4957611c49611bb1565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060008060808587031215611c8b57600080fd5b611c9485611a56565b9350611ca260208601611a56565b925060408501359150606085013567ffffffffffffffff811115611cc557600080fd5b8501601f81018713611cd657600080fd5b8035611ce9611ce482611c2f565b611be0565b818152886020838501011115611cfe57600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060408385031215611d3357600080fd5b611d3c83611a56565b9150611d4a60208401611a56565b90509250929050565b600181811c90821680611d6757607f821691505b602082108103611da0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561072557610725611da6565b808202811582820484141761072557610725611da6565b600060208284031215611e1157600080fd5b815167ffffffffffffffff811115611e2857600080fd5b8201601f81018413611e3957600080fd5b8051611e47611ce482611c2f565b818152856020838501011115611e5c57600080fd5b611e6d8260208301602086016119bc565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611eb560808301846119e0565b9695505050505050565b600060208284031215611ed157600080fd5b815161154d8161197156fea2646970667358221220f54f75395235dd54d686e49663654a3f0cf922b9dd2e4bfa9cef32c94728336964736f6c63430008140033
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.