ETH Price: $2,164.89 (-0.64%)

Coin by Jan Robert Leegte (COIN)
 

Overview

TokenID

2008

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Coin

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 250000 runs

Other Settings:
paris EvmVersion
File 1 of 10 : Coin.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.20;
import {ERC721A} from "ERC721A/ERC721A.sol";
import {Ownable} from "solady/auth/Ownable.sol";
import {ECDSA} from "solady/utils/ECDSA.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 "../IERC4906.sol";
import "../IMetadataRenderer.sol";
contract Coin is ERC721A, IERC4906, Ownable {
address public metadataRenderer;
address public metadataUpdater;
address public signer;
bool public adminMintRevoked;
uint256 public mintEnd;
mapping(bytes32 => bool) _mintedSeeds;
mapping(uint256 tokenID => bytes32 seed) public seed;
error CantAdminMint();
error InvalidTokenId();
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 2 of 10 : ERC721A.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// ERC721A Contracts v4.2.3
// Creator: Chiru Labs
pragma 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.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 3 of 10 : Ownable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
/// @notice Simple single owner authorization mixin.
/// @author Solady (https://github.com/vectorized/solady/blob/main/src/auth/Ownable.sol)
/// @dev While the ownable portion follows [EIP-173](https://eips.ethereum.org/EIPS/eip-173)
/// for compatibility, the nomenclature for the 2-step ownership handover
/// may be unique to this codebase.
abstract contract Ownable {
/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
/* CUSTOM ERRORS */
/*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/
/// @dev The caller is not authorized to call the function.
error Unauthorized();
/// @dev The `newOwner` cannot be the zero address.
error NewOwnerIsZeroAddress();
/// @dev The `pendingOwner` does not have a valid handover request.
error NoHandoverRequest();
/// @dev `bytes4(keccak256(bytes("Unauthorized()")))`.
uint256 private constant _UNAUTHORIZED_ERROR_SELECTOR = 0x82b42900;
/// @dev `bytes4(keccak256(bytes("NewOwnerIsZeroAddress()")))`.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 4 of 10 : ECDSA.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
/// @notice Gas optimized ECDSA wrapper.
/// @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/ECDSA.sol)
/// @author Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/ECDSA.sol)
/// @author Modified from OpenZeppelin (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/ECDSA.sol)
library ECDSA {
/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
/* CUSTOM ERRORS */
/*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/
/// @dev The signature is invalid.
error InvalidSignature();
/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
/* CONSTANTS */
/*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/
/// @dev The number which `s` must not exceed in order for
/// the signature to be non-malleable.
bytes32 private constant _MALLEABILITY_THRESHOLD =
0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0;
/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
/* RECOVERY OPERATIONS */
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 5 of 10 : IERC721.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 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);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 6 of 10 : IERC721Metadata.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 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);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 7 of 10 : IERC165.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// 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);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 8 of 10 : IERC4906.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// SPDX-License-Identifier: MIT
pragma 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);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 9 of 10 : IMetadataRenderer.sol
1
2
3
4
5
6
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;
interface IMetadataRenderer {
function tokenURI(uint256 id) external view returns (string memory);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 10 of 10 : IERC721A.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// ERC721A Contracts v4.2.3
// Creator: Chiru Labs
pragma 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();
/**
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Settings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"remappings": [
"ERC721A/=lib/ERC721A/contracts/",
"ds-test/=lib/forge-std/lib/ds-test/src/",
"forge-std/=lib/forge-std/src/",
"openzeppelin/=lib/openzeppelin-contracts/contracts/",
"solmate/=lib/solmate/src/",
"solady/=lib/solady/src/",
"fundrop/=src/Fundrop/",
"operator-filter-registry/=lib/operator-filter-registry/src/",
"base64/=lib/base64/",
"erc4626-tests/=lib/operator-filter-registry/lib/openzeppelin-contracts/lib/erc4626-tests/",
"openzeppelin-contracts-upgradeable/=lib/operator-filter-registry/lib/openzeppelin-contracts-upgradeable/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/"
],
"optimizer": {
"enabled": true,
"runs": 250000
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs",
"appendCBOR": true
},
"outputSelection": {
"*": {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ApprovalCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"ApprovalQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"BalanceQueryForZeroAddress","type":"error"},{"inputs":[],"name":"CantAdminMint","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"InvalidTokenId","type":"error"},{"inputs":[],"name":"MintClosed","type":"error"},{"inputs":[],"name":"MintERC2309QuantityExceedsLimit","type":"error"},{"inputs":[],"name":"MintToZeroAddress","type":"error"},{"inputs":[],"name":"MintZeroQuantity","type":"error"},{"inputs":[],"name":"MintedAlready","type":"error"},{"inputs":[],"name":"NewOwnerIsZeroAddress","type":"error"},{"inputs":[],"name":"NoHandoverRequest","type":"error"},{"inputs":[],"name":"OnlyOwnerOrMetadataUpdater","type":"error"},{"inputs":[],"name":"OwnerQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"OwnershipNotInitializedForExtraData","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"},{"inputs":[],"name":"Unauthorized","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":"pendingOwner","type":"address"}],"name":"OwnershipHandoverCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pendingOwner","type":"address"}],"name":"OwnershipHandoverRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","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":"quantity","type":"uint256"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"adminMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"adminMintRevoked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"cancelOwnershipHandover","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"name":"completeOwnershipHandover","outputs":[],"stateMutability":"payable","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":"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":"quantity","type":"uint256"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","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":"result","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":[{"internalType":"address","name":"pendingOwner","type":"address"}],"name":"ownershipHandoverExpiresAt","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownershipHandoverValidFor","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"refreshMetadata","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"requestOwnershipHandover","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"revokeAdminMint","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":"uint256","name":"tokenID","type":"uint256"}],"name":"seed","outputs":[{"internalType":"bytes32","name":"seed","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","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":"address","name":"_signer","type":"address"}],"name":"setSigner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"signer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"payable","type":"function"}]

60806040523480156200001157600080fd5b506040518060400160405280601981526020017f436f696e206279204a616e20526f62657274204c6565677465000000000000008152506040518060400160405280600481526020016321a7a4a760e11b81525081600290816200007691906200017f565b5060036200008582826200017f565b505060016000555062000098326200009e565b6200024b565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200010557607f821691505b6020821081036200012657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200017a57600081815260208120601f850160051c81016020861015620001555750805b601f850160051c820191505b81811015620001765782815560010162000161565b5050505b505050565b81516001600160401b038111156200019b576200019b620000da565b620001b381620001ac8454620000f0565b846200012c565b602080601f831160018114620001eb5760008415620001d25750858301515b600019600386901b1c1916600185901b17855562000176565b600085815260208120601f198616915b828110156200021c57888601518255948401946001909101908401620001fb565b50858210156200023b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b612179806200025b6000396000f3fe60806040526004361061024f5760003560e01c80638325c62f11610138578063e7298e6f116100b0578063f04e283e1161007f578063f54d8b5a11610064578063f54d8b5a146106af578063fd4fe8a8146106c4578063fee81cf4146106e457600080fd5b8063f04e283e14610689578063f2fde38b1461069c57600080fd5b8063e7298e6f146105cb578063e985e9c5146105fd578063ea2b4ab214610653578063eb20614e1461066957600080fd5b8063a22cb46511610107578063b88d4fde116100ec578063b88d4fde1461057a578063c87b56dd1461058d578063d7533f02146105ad57600080fd5b8063a22cb4651461053a578063b3754e861461055a57600080fd5b80638325c62f146104975780638da5cb5b146104c457806395564837146104f857806395d89b411461052557600080fd5b806342842e0e116101cb5780636ba253fd1161019a578063703199701161017f578063703199701461044257806370a082311461046f578063715018a61461048f57600080fd5b80636ba253fd146104025780636c19e7831461042257600080fd5b806342842e0e146103a757806354d1f13d146103ba5780636352211e146103c25780636491921b146103e257600080fd5b806318160ddd1161022257806323b872dd1161020757806323b872dd14610377578063256929621461038a578063410066051461039257600080fd5b806318160ddd14610305578063238ac9331461034a57600080fd5b806301ffc9a71461025457806306fdde0314610289578063081812fc146102ab578063095ea7b3146102f0575b600080fd5b34801561026057600080fd5b5061027461026f366004611ac2565b610717565b60405190151581526020015b60405180910390f35b34801561029557600080fd5b5061029e610827565b6040516102809190611b4d565b3480156102b757600080fd5b506102cb6102c6366004611b60565b6108b9565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610280565b6103036102fe366004611ba2565b610923565b005b34801561031157600080fd5b50600154600054037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b604051908152602001610280565b34801561035657600080fd5b50600a546102cb9073ffffffffffffffffffffffffffffffffffffffff1681565b610303610385366004611bcc565b610a38565b610303610cf2565b34801561039e57600080fd5b50610303610d42565b6103036103b5366004611bcc565b610e3f565b610303610e5f565b3480156103ce57600080fd5b506102cb6103dd366004611b60565b610e9b565b3480156103ee57600080fd5b506103036103fd366004611c69565b610ea6565b34801561040e57600080fd5b5061030361041d366004611cd8565b610f17565b34801561042e57600080fd5b5061030361043d366004611cd8565b610f66565b34801561044e57600080fd5b506008546102cb9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561047b57600080fd5b5061033c61048a366004611cd8565b610fb5565b610303611037565b3480156104a357600080fd5b506009546102cb9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104d057600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102cb565b34801561050457600080fd5b5061033c610513366004611b60565b600d6020526000908152604090205481565b34801561053157600080fd5b5061029e61104b565b34801561054657600080fd5b50610303610555366004611cf3565b61105a565b34801561056657600080fd5b50610303610575366004611d2f565b6110f1565b610303610588366004611e4d565b6112b2565b34801561059957600080fd5b5061029e6105a8366004611b60565b611322565b3480156105b957600080fd5b506040516202a3008152602001610280565b3480156105d757600080fd5b50600a546102749074010000000000000000000000000000000000000000900460ff1681565b34801561060957600080fd5b50610274610618366004611ef8565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561065f57600080fd5b5061033c600b5481565b34801561067557600080fd5b50610303610684366004611b60565b611431565b610303610697366004611cd8565b61143e565b6103036106aa366004611cd8565b61147e565b3480156106bb57600080fd5b506103036114a5565b3480156106d057600080fd5b506103036106df366004611cd8565b6114ee565b3480156106f057600080fd5b5061033c6106ff366004611cd8565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a70000000000000000000000000000000000000000000000000000000014806107aa57507fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000145b806107d557507fffffffff000000000000000000000000000000000000000000000000000000008216155b8061082157507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b92915050565b60606002805461083690611f2b565b80601f016020809104026020016040519081016040528092919081815260200182805461086290611f2b565b80156108af5780601f10610884576101008083540402835291602001916108af565b820191906000526020600020905b81548152906001019060200180831161089257829003601f168201915b5050505050905090565b60006108c48261153e565b6108fa576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061092e82610e9b565b90503373ffffffffffffffffffffffffffffffffffffffff8216146109b75773ffffffffffffffffffffffffffffffffffffffff8116600090815260076020908152604080832033845290915290205460ff166109b7576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526006602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610a438261158c565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610aaa576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260066020526040902080543380821473ffffffffffffffffffffffffffffffffffffffff881690911417610b475773ffffffffffffffffffffffffffffffffffffffff8616600090815260076020908152604080832033845290915290205460ff16610b47576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516610b94576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015610b9f57600082555b73ffffffffffffffffffffffffffffffffffffffff86811660009081526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055918716808252919020805460010190554260a01b177c0200000000000000000000000000000000000000000000000000000000176000858152600460205260408120919091557c020000000000000000000000000000000000000000000000000000000084169003610c8e57600184016000818152600460205260408120549003610c8c576000548114610c8c5760008181526004602052604090208490555b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60095473ffffffffffffffffffffffffffffffffffffffff163314801590610db757507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15610dee576040517f0707164200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c600180610e1b60005490565b610e259190611fad565b6040805192835260208301919091520160405180910390a1565b610e5a838383604051806020016040528060008152506112b2565b505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006108218261158c565b610eae611652565b600a5474010000000000000000000000000000000000000000900460ff1615610f03576040517fc87a25ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f108585858585611688565b5050505050565b610f1f611652565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610f6e611652565b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600073ffffffffffffffffffffffffffffffffffffffff8216611004576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205467ffffffffffffffff1690565b61103f611652565b6110496000611708565b565b60606003805461083690611f2b565b33600081815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b600b5442111561112d576040517f589ed34b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360601b67ffffffffffffffff8416176000818152600c602052604090205460ff1615611186576040517f96dd8aac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602081018790527fffffffffffffffff00000000000000000000000000000000000000000000000060c087901b16918101919091527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003360601b16604882015246605c82015260009061121790607c0160405160208183030381529060405280519060200120858561176e565b600a5490915073ffffffffffffffffffffffffffffffffffffffff80831691161461126e576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152600c6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610cea3387878787611688565b6112bd848484610a38565b73ffffffffffffffffffffffffffffffffffffffff83163b1561131c576112e6848484846117dd565b61131c576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b6060600061132f83610e9b565b73ffffffffffffffffffffffffffffffffffffffff160361137c576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6008546040517fc87b56dd0000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff9091169063c87b56dd90602401600060405180830381865afa1580156113eb573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526108219190810190611fc0565b611439611652565b600b55565b611446611652565b63389a75e1600c52806000526020600c20805442111561146e57636f5e88186000526004601cfd5b6000905561147b81611708565b50565b611486611652565b8060601b61149c57637448fbae6000526004601cfd5b61147b81611708565b6114ad611652565b600a80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b6114f6611652565b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905561147b610d42565b600081600111158015611552575060005482105b80156108215750506000908152600460205260409020547c0100000000000000000000000000000000000000000000000000000000161590565b600081806001116116205760005481101561162057600081815260046020526040812054907c01000000000000000000000000000000000000000000000000000000008216900361161e575b8060000361161757507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016000818152600460205260409020546115d8565b9392505050565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611049576382b429006000526004601cfd5b60008054905b858110156116fd5744434042878488886040516020016116b49796959493929190612037565b60405160208183030381529060405280519060200120600d600083856116da9190612092565b8152602081019190915260400160002055806116f5816120a5565b91505061168e565b50610cea8686611956565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b600060418218611617576040516040846040377f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0606051116117d35784600052604084013560001a602052602060406080600060015afa5060006060523d6060185191505b6040529392505050565b6040517f150b7a0200000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906118389033908990889088906004016120dd565b6020604051808303816000875af1925050508015611891575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261188e91810190612126565b60015b611908573d8080156118bf576040519150601f19603f3d011682016040523d82523d6000602084013e6118c4565b606091505b508051600003611900576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050949350505050565b6000805490829003611994576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b818114611a5057808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101611a18565b5081600003611a8b576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005550505050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461147b57600080fd5b600060208284031215611ad457600080fd5b813561161781611a94565b60005b83811015611afa578181015183820152602001611ae2565b50506000910152565b60008151808452611b1b816020860160208601611adf565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006116176020830184611b03565b600060208284031215611b7257600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611b9d57600080fd5b919050565b60008060408385031215611bb557600080fd5b611bbe83611b79565b946020939093013593505050565b600080600060608486031215611be157600080fd5b611bea84611b79565b9250611bf860208501611b79565b9150604084013590509250925092565b803567ffffffffffffffff81168114611b9d57600080fd5b60008083601f840112611c3257600080fd5b50813567ffffffffffffffff811115611c4a57600080fd5b602083019150836020828501011115611c6257600080fd5b9250929050565b600080600080600060808688031215611c8157600080fd5b611c8a86611b79565b945060208601359350611c9f60408701611c08565b9250606086013567ffffffffffffffff811115611cbb57600080fd5b611cc788828901611c20565b969995985093965092949392505050565b600060208284031215611cea57600080fd5b61161782611b79565b60008060408385031215611d0657600080fd5b611d0f83611b79565b915060208301358015158114611d2457600080fd5b809150509250929050565b60008060008060608587031215611d4557600080fd5b84359350611d5560208601611c08565b9250604085013567ffffffffffffffff811115611d7157600080fd5b611d7d87828801611c20565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611dff57611dff611d89565b604052919050565b600067ffffffffffffffff821115611e2157611e21611d89565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060008060808587031215611e6357600080fd5b611e6c85611b79565b9350611e7a60208601611b79565b925060408501359150606085013567ffffffffffffffff811115611e9d57600080fd5b8501601f81018713611eae57600080fd5b8035611ec1611ebc82611e07565b611db8565b818152886020838501011115611ed657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060408385031215611f0b57600080fd5b611f1483611b79565b9150611f2260208401611b79565b90509250929050565b600181811c90821680611f3f57607f821691505b602082108103611f78577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561082157610821611f7e565b600060208284031215611fd257600080fd5b815167ffffffffffffffff811115611fe957600080fd5b8201601f81018413611ffa57600080fd5b8051612008611ebc82611e07565b81815285602083850101111561201d57600080fd5b61202e826020830160208601611adf565b95945050505050565b8781528660208201528560408201527fffffffffffffffff0000000000000000000000000000000000000000000000008560c01b16606082015283606882015281836088830137600091016088019081529695505050505050565b8082018082111561082157610821611f7e565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036120d6576120d6611f7e565b5060010190565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261211c6080830184611b03565b9695505050505050565b60006020828403121561213857600080fd5b815161161781611a9456fea264697066735822122047f6574bc8a770a40bb18b31d35007f943aa219803151a7d3b435184c58f08fe64736f6c63430008140033

Deployed Bytecode

0x60806040526004361061024f5760003560e01c80638325c62f11610138578063e7298e6f116100b0578063f04e283e1161007f578063f54d8b5a11610064578063f54d8b5a146106af578063fd4fe8a8146106c4578063fee81cf4146106e457600080fd5b8063f04e283e14610689578063f2fde38b1461069c57600080fd5b8063e7298e6f146105cb578063e985e9c5146105fd578063ea2b4ab214610653578063eb20614e1461066957600080fd5b8063a22cb46511610107578063b88d4fde116100ec578063b88d4fde1461057a578063c87b56dd1461058d578063d7533f02146105ad57600080fd5b8063a22cb4651461053a578063b3754e861461055a57600080fd5b80638325c62f146104975780638da5cb5b146104c457806395564837146104f857806395d89b411461052557600080fd5b806342842e0e116101cb5780636ba253fd1161019a578063703199701161017f578063703199701461044257806370a082311461046f578063715018a61461048f57600080fd5b80636ba253fd146104025780636c19e7831461042257600080fd5b806342842e0e146103a757806354d1f13d146103ba5780636352211e146103c25780636491921b146103e257600080fd5b806318160ddd1161022257806323b872dd1161020757806323b872dd14610377578063256929621461038a578063410066051461039257600080fd5b806318160ddd14610305578063238ac9331461034a57600080fd5b806301ffc9a71461025457806306fdde0314610289578063081812fc146102ab578063095ea7b3146102f0575b600080fd5b34801561026057600080fd5b5061027461026f366004611ac2565b610717565b60405190151581526020015b60405180910390f35b34801561029557600080fd5b5061029e610827565b6040516102809190611b4d565b3480156102b757600080fd5b506102cb6102c6366004611b60565b6108b9565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610280565b6103036102fe366004611ba2565b610923565b005b34801561031157600080fd5b50600154600054037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b604051908152602001610280565b34801561035657600080fd5b50600a546102cb9073ffffffffffffffffffffffffffffffffffffffff1681565b610303610385366004611bcc565b610a38565b610303610cf2565b34801561039e57600080fd5b50610303610d42565b6103036103b5366004611bcc565b610e3f565b610303610e5f565b3480156103ce57600080fd5b506102cb6103dd366004611b60565b610e9b565b3480156103ee57600080fd5b506103036103fd366004611c69565b610ea6565b34801561040e57600080fd5b5061030361041d366004611cd8565b610f17565b34801561042e57600080fd5b5061030361043d366004611cd8565b610f66565b34801561044e57600080fd5b506008546102cb9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561047b57600080fd5b5061033c61048a366004611cd8565b610fb5565b610303611037565b3480156104a357600080fd5b506009546102cb9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104d057600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102cb565b34801561050457600080fd5b5061033c610513366004611b60565b600d6020526000908152604090205481565b34801561053157600080fd5b5061029e61104b565b34801561054657600080fd5b50610303610555366004611cf3565b61105a565b34801561056657600080fd5b50610303610575366004611d2f565b6110f1565b610303610588366004611e4d565b6112b2565b34801561059957600080fd5b5061029e6105a8366004611b60565b611322565b3480156105b957600080fd5b506040516202a3008152602001610280565b3480156105d757600080fd5b50600a546102749074010000000000000000000000000000000000000000900460ff1681565b34801561060957600080fd5b50610274610618366004611ef8565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561065f57600080fd5b5061033c600b5481565b34801561067557600080fd5b50610303610684366004611b60565b611431565b610303610697366004611cd8565b61143e565b6103036106aa366004611cd8565b61147e565b3480156106bb57600080fd5b506103036114a5565b3480156106d057600080fd5b506103036106df366004611cd8565b6114ee565b3480156106f057600080fd5b5061033c6106ff366004611cd8565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a70000000000000000000000000000000000000000000000000000000014806107aa57507fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000145b806107d557507fffffffff000000000000000000000000000000000000000000000000000000008216155b8061082157507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b92915050565b60606002805461083690611f2b565b80601f016020809104026020016040519081016040528092919081815260200182805461086290611f2b565b80156108af5780601f10610884576101008083540402835291602001916108af565b820191906000526020600020905b81548152906001019060200180831161089257829003601f168201915b5050505050905090565b60006108c48261153e565b6108fa576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061092e82610e9b565b90503373ffffffffffffffffffffffffffffffffffffffff8216146109b75773ffffffffffffffffffffffffffffffffffffffff8116600090815260076020908152604080832033845290915290205460ff166109b7576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526006602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610a438261158c565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610aaa576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260066020526040902080543380821473ffffffffffffffffffffffffffffffffffffffff881690911417610b475773ffffffffffffffffffffffffffffffffffffffff8616600090815260076020908152604080832033845290915290205460ff16610b47576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516610b94576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015610b9f57600082555b73ffffffffffffffffffffffffffffffffffffffff86811660009081526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055918716808252919020805460010190554260a01b177c0200000000000000000000000000000000000000000000000000000000176000858152600460205260408120919091557c020000000000000000000000000000000000000000000000000000000084169003610c8e57600184016000818152600460205260408120549003610c8c576000548114610c8c5760008181526004602052604090208490555b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60095473ffffffffffffffffffffffffffffffffffffffff163314801590610db757507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15610dee576040517f0707164200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c600180610e1b60005490565b610e259190611fad565b6040805192835260208301919091520160405180910390a1565b610e5a838383604051806020016040528060008152506112b2565b505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006108218261158c565b610eae611652565b600a5474010000000000000000000000000000000000000000900460ff1615610f03576040517fc87a25ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f108585858585611688565b5050505050565b610f1f611652565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610f6e611652565b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600073ffffffffffffffffffffffffffffffffffffffff8216611004576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205467ffffffffffffffff1690565b61103f611652565b6110496000611708565b565b60606003805461083690611f2b565b33600081815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b600b5442111561112d576040517f589ed34b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360601b67ffffffffffffffff8416176000818152600c602052604090205460ff1615611186576040517f96dd8aac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602081018790527fffffffffffffffff00000000000000000000000000000000000000000000000060c087901b16918101919091527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003360601b16604882015246605c82015260009061121790607c0160405160208183030381529060405280519060200120858561176e565b600a5490915073ffffffffffffffffffffffffffffffffffffffff80831691161461126e576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152600c6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610cea3387878787611688565b6112bd848484610a38565b73ffffffffffffffffffffffffffffffffffffffff83163b1561131c576112e6848484846117dd565b61131c576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b6060600061132f83610e9b565b73ffffffffffffffffffffffffffffffffffffffff160361137c576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6008546040517fc87b56dd0000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff9091169063c87b56dd90602401600060405180830381865afa1580156113eb573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526108219190810190611fc0565b611439611652565b600b55565b611446611652565b63389a75e1600c52806000526020600c20805442111561146e57636f5e88186000526004601cfd5b6000905561147b81611708565b50565b611486611652565b8060601b61149c57637448fbae6000526004601cfd5b61147b81611708565b6114ad611652565b600a80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b6114f6611652565b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905561147b610d42565b600081600111158015611552575060005482105b80156108215750506000908152600460205260409020547c0100000000000000000000000000000000000000000000000000000000161590565b600081806001116116205760005481101561162057600081815260046020526040812054907c01000000000000000000000000000000000000000000000000000000008216900361161e575b8060000361161757507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016000818152600460205260409020546115d8565b9392505050565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611049576382b429006000526004601cfd5b60008054905b858110156116fd5744434042878488886040516020016116b49796959493929190612037565b60405160208183030381529060405280519060200120600d600083856116da9190612092565b8152602081019190915260400160002055806116f5816120a5565b91505061168e565b50610cea8686611956565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b600060418218611617576040516040846040377f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0606051116117d35784600052604084013560001a602052602060406080600060015afa5060006060523d6060185191505b6040529392505050565b6040517f150b7a0200000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906118389033908990889088906004016120dd565b6020604051808303816000875af1925050508015611891575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261188e91810190612126565b60015b611908573d8080156118bf576040519150601f19603f3d011682016040523d82523d6000602084013e6118c4565b606091505b508051600003611900576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050949350505050565b6000805490829003611994576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b818114611a5057808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101611a18565b5081600003611a8b576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005550505050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461147b57600080fd5b600060208284031215611ad457600080fd5b813561161781611a94565b60005b83811015611afa578181015183820152602001611ae2565b50506000910152565b60008151808452611b1b816020860160208601611adf565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006116176020830184611b03565b600060208284031215611b7257600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611b9d57600080fd5b919050565b60008060408385031215611bb557600080fd5b611bbe83611b79565b946020939093013593505050565b600080600060608486031215611be157600080fd5b611bea84611b79565b9250611bf860208501611b79565b9150604084013590509250925092565b803567ffffffffffffffff81168114611b9d57600080fd5b60008083601f840112611c3257600080fd5b50813567ffffffffffffffff811115611c4a57600080fd5b602083019150836020828501011115611c6257600080fd5b9250929050565b600080600080600060808688031215611c8157600080fd5b611c8a86611b79565b945060208601359350611c9f60408701611c08565b9250606086013567ffffffffffffffff811115611cbb57600080fd5b611cc788828901611c20565b969995985093965092949392505050565b600060208284031215611cea57600080fd5b61161782611b79565b60008060408385031215611d0657600080fd5b611d0f83611b79565b915060208301358015158114611d2457600080fd5b809150509250929050565b60008060008060608587031215611d4557600080fd5b84359350611d5560208601611c08565b9250604085013567ffffffffffffffff811115611d7157600080fd5b611d7d87828801611c20565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611dff57611dff611d89565b604052919050565b600067ffffffffffffffff821115611e2157611e21611d89565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060008060808587031215611e6357600080fd5b611e6c85611b79565b9350611e7a60208601611b79565b925060408501359150606085013567ffffffffffffffff811115611e9d57600080fd5b8501601f81018713611eae57600080fd5b8035611ec1611ebc82611e07565b611db8565b818152886020838501011115611ed657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060408385031215611f0b57600080fd5b611f1483611b79565b9150611f2260208401611b79565b90509250929050565b600181811c90821680611f3f57607f821691505b602082108103611f78577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561082157610821611f7e565b600060208284031215611fd257600080fd5b815167ffffffffffffffff811115611fe957600080fd5b8201601f81018413611ffa57600080fd5b8051612008611ebc82611e07565b81815285602083850101111561201d57600080fd5b61202e826020830160208601611adf565b95945050505050565b8781528660208201528560408201527fffffffffffffffff0000000000000000000000000000000000000000000000008560c01b16606082015283606882015281836088830137600091016088019081529695505050505050565b8082018082111561082157610821611f7e565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036120d6576120d6611f7e565b5060010190565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261211c6080830184611b03565b9695505050505050565b60006020828403121561213857600080fd5b815161161781611a9456fea264697066735822122047f6574bc8a770a40bb18b31d35007f943aa219803151a7d3b435184c58f08fe64736f6c63430008140033

Loading...
Loading
Loading...
Loading
[ 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.