ETH Price: $2,179.64 (+2.41%)

Token

pROOK (pROOK)
 

Overview

Max Total Supply

618,127.05248056 pROOK

Holders

147

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
doodee.eth
Balance
9,407.068164389137028206 pROOK

Value
$0.00
0x68492881985afd26b04dcc4963ca5128ccd3dd9d
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:
pROOK

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 13 : prook.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol";
contract pROOK is ERC20, Ownable, ERC20Permit {
constructor() ERC20("pROOK", "pROOK") ERC20Permit("pROOK") {}
function mint(address to, uint256 amount) external onlyOwner {
_mint(to, amount);
}
function burn(uint256 amount) external onlyOwner {
_burn(_msgSender(), amount);
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 2 of 13 : 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
// 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.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 3 of 13 : ERC20.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.8.0) (token/ERC20/ERC20.sol)
pragma solidity ^0.8.0;
import "./IERC20.sol";
import "./extensions/IERC20Metadata.sol";
import "../../utils/Context.sol";
/**
* @dev Implementation of the {IERC20} interface.
*
* This implementation is agnostic to the way tokens are created. This means
* that a supply mechanism has to be added in a derived contract using {_mint}.
* For a generic mechanism see {ERC20PresetMinterPauser}.
*
* TIP: For a detailed writeup see our guide
* https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How
* to implement supply mechanisms].
*
* We have followed general OpenZeppelin Contracts guidelines: functions revert
* instead returning `false` on failure. This behavior is nonetheless
* conventional and does not conflict with the expectations of ERC20
* applications.
*
* Additionally, an {Approval} event is emitted on calls to {transferFrom}.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 4 of 13 : draft-ERC20Permit.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.8.0) (token/ERC20/extensions/draft-ERC20Permit.sol)
pragma solidity ^0.8.0;
import "./draft-IERC20Permit.sol";
import "../ERC20.sol";
import "../../../utils/cryptography/ECDSA.sol";
import "../../../utils/cryptography/EIP712.sol";
import "../../../utils/Counters.sol";
/**
* @dev Implementation of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in
* https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].
*
* Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by
* presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't
* need to send a transaction, and thus is not required to hold Ether at all.
*
* _Available since v3.4._
*/
abstract contract ERC20Permit is ERC20, IERC20Permit, EIP712 {
using Counters for Counters.Counter;
mapping(address => Counters.Counter) private _nonces;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 5 of 13 : draft-IERC20Permit.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/ERC20/extensions/draft-IERC20Permit.sol)
pragma solidity ^0.8.0;
/**
* @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in
* https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].
*
* Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by
* presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't
* need to send a transaction, and thus is not required to hold Ether at all.
*/
interface IERC20Permit {
/**
* @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,
* given ``owner``'s signed approval.
*
* IMPORTANT: The same issues {IERC20-approve} has related to transaction
* ordering also apply here.
*
* Emits an {Approval} event.
*
* Requirements:
*
* - `spender` cannot be the zero address.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 6 of 13 : IERC20Metadata.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/ERC20/extensions/IERC20Metadata.sol)
pragma solidity ^0.8.0;
import "../IERC20.sol";
/**
* @dev Interface for the optional metadata functions from the ERC20 standard.
*
* _Available since v4.1._
*/
interface IERC20Metadata is IERC20 {
/**
* @dev Returns the name of the token.
*/
function name() external view returns (string memory);
/**
* @dev Returns the symbol of the token.
*/
function symbol() external view returns (string memory);
/**
* @dev Returns the decimals places of the token.
*/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 7 of 13 : IERC20.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.6.0) (token/ERC20/IERC20.sol)
pragma solidity ^0.8.0;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
/**
* @dev Returns the amount of tokens in existence.
*/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 8 of 13 : Context.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
// 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;
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 9 of 13 : Counters.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 (utils/Counters.sol)
pragma solidity ^0.8.0;
/**
* @title Counters
* @author Matt Condon (@shrugs)
* @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number
* of elements in a mapping, issuing ERC721 ids, or counting request ids.
*
* Include with `using Counters for Counters.Counter;`
*/
library Counters {
struct Counter {
// This variable should never be directly accessed by users of the library: interactions must be restricted to
// the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add
// this feature: see https://github.com/ethereum/solidity/issues/4637
uint256 _value; // default: 0
}
function current(Counter storage counter) internal view returns (uint256) {
return counter._value;
}
function increment(Counter storage counter) internal {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 10 of 13 : 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
// OpenZeppelin Contracts (last updated v4.8.0) (utils/cryptography/ECDSA.sol)
pragma solidity ^0.8.0;
import "../Strings.sol";
/**
* @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.
*
* These functions can be used to verify that a message was signed by the holder
* of the private keys of a given address.
*/
library ECDSA {
enum RecoverError {
NoError,
InvalidSignature,
InvalidSignatureLength,
InvalidSignatureS,
InvalidSignatureV // Deprecated in v4.8
}
function _throwError(RecoverError error) private pure {
if (error == RecoverError.NoError) {
return; // no error: do nothing
} else if (error == RecoverError.InvalidSignature) {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 11 of 13 : EIP712.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.8.0) (utils/cryptography/EIP712.sol)
pragma solidity ^0.8.0;
import "./ECDSA.sol";
/**
* @dev https://eips.ethereum.org/EIPS/eip-712[EIP 712] is a standard for hashing and signing of typed structured data.
*
* The encoding specified in the EIP is very generic, and such a generic implementation in Solidity is not feasible,
* thus this contract does not implement the encoding itself. Protocols need to implement the type-specific encoding
* they need in their contracts using a combination of `abi.encode` and `keccak256`.
*
* This contract implements the EIP 712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding
* scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA
* ({_hashTypedDataV4}).
*
* The implementation of the domain separator was designed to be as efficient as possible while still properly updating
* the chain id to protect against replay attacks on an eventual fork of the chain.
*
* NOTE: This contract implements the version of the encoding known as "v4", as implemented by the JSON RPC method
* https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask].
*
* _Available since v3.4._
*/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 12 of 13 : Math.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.8.0) (utils/math/Math.sol)
pragma solidity ^0.8.0;
/**
* @dev Standard math utilities missing in the Solidity language.
*/
library Math {
enum Rounding {
Down, // Toward negative infinity
Up, // Toward infinity
Zero // Toward zero
}
/**
* @dev Returns the largest of two numbers.
*/
function max(uint256 a, uint256 b) internal pure returns (uint256) {
return a > b ? a : b;
}
/**
* @dev Returns the smallest of two numbers.
*/
function min(uint256 a, uint256 b) internal pure returns (uint256) {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 13 of 13 : Strings.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.8.0) (utils/Strings.sol)
pragma solidity ^0.8.0;
import "./math/Math.sol";
/**
* @dev String operations.
*/
library Strings {
bytes16 private constant _SYMBOLS = "0123456789abcdef";
uint8 private constant _ADDRESS_LENGTH = 20;
/**
* @dev Converts a `uint256` to its ASCII `string` decimal representation.
*/
function toString(uint256 value) internal pure returns (string memory) {
unchecked {
uint256 length = Math.log10(value) + 1;
string memory buffer = new string(length);
uint256 ptr;
/// @solidity memory-safe-assembly
assembly {
ptr := add(buffer, add(32, length))
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Settings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","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":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6101406040523480156200001257600080fd5b506040518060400160405280600581526020017f70524f4f4b000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f70524f4f4b0000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f70524f4f4b0000000000000000000000000000000000000000000000000000008152508160039081620000fd91906200056f565b5080600490816200010f91906200056f565b5050506200013262000126620001eb60201b60201c565b620001f360201b60201c565b60008280519060200120905060008280519060200120905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f90508260e081815250508161010081815250504660a081815250506200019b818484620002b960201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505080610120818152505050505050505062000724565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008383834630604051602001620002d6959493929190620006c7565b6040516020818303038152906040528051906020012090509392505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200037757607f821691505b6020821081036200038d576200038c6200032f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003f77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003b8565b620004038683620003b8565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004506200044a62000444846200041b565b62000425565b6200041b565b9050919050565b6000819050919050565b6200046c836200042f565b620004846200047b8262000457565b848454620003c5565b825550505050565b600090565b6200049b6200048c565b620004a881848462000461565b505050565b5b81811015620004d057620004c460008262000491565b600181019050620004ae565b5050565b601f8211156200051f57620004e98162000393565b620004f484620003a8565b8101602085101562000504578190505b6200051c6200051385620003a8565b830182620004ad565b50505b505050565b600082821c905092915050565b6000620005446000198460080262000524565b1980831691505092915050565b60006200055f838362000531565b9150826002028217905092915050565b6200057a82620002f5565b67ffffffffffffffff81111562000596576200059562000300565b5b620005a282546200035e565b620005af828285620004d4565b600060209050601f831160018114620005e75760008415620005d2578287015190505b620005de858262000551565b8655506200064e565b601f198416620005f78662000393565b60005b828110156200062157848901518255600182019150602085019450602081019050620005fa565b868310156200064157848901516200063d601f89168262000531565b8355505b6001600288020188555050505b505050505050565b6000819050919050565b6200066b8162000656565b82525050565b6200067c816200041b565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006af8262000682565b9050919050565b620006c181620006a2565b82525050565b600060a082019050620006de600083018862000660565b620006ed602083018762000660565b620006fc604083018662000660565b6200070b606083018562000671565b6200071a6080830184620006b6565b9695505050505050565b60805160a05160c05160e051610100516101205161274a620007746000396000610f1201526000610f5401526000610f3301526000610e6801526000610ebe01526000610ee7015261274a6000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063a457c2d711610071578063a457c2d71461030c578063a9059cbb1461033c578063d505accf1461036c578063dd62ed3e14610388578063f2fde38b146103b857610121565b806370a0823114610266578063715018a6146102965780637ecebe00146102a05780638da5cb5b146102d057806395d89b41146102ee57610121565b8063313ce567116100f4578063313ce567146101c25780633644e515146101e057806339509351146101fe57806340c10f191461022e57806342966c681461024a57610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461017457806323b872dd14610192575b600080fd5b61012e6103d4565b60405161013b91906117fb565b60405180910390f35b61015e600480360381019061015991906118b6565b610466565b60405161016b9190611911565b60405180910390f35b61017c610489565b604051610189919061193b565b60405180910390f35b6101ac60048036038101906101a79190611956565b610493565b6040516101b99190611911565b60405180910390f35b6101ca6104c2565b6040516101d791906119c5565b60405180910390f35b6101e86104cb565b6040516101f591906119f9565b60405180910390f35b610218600480360381019061021391906118b6565b6104da565b6040516102259190611911565b60405180910390f35b610248600480360381019061024391906118b6565b610511565b005b610264600480360381019061025f9190611a14565b610527565b005b610280600480360381019061027b9190611a41565b610543565b60405161028d919061193b565b60405180910390f35b61029e61058b565b005b6102ba60048036038101906102b59190611a41565b61059f565b6040516102c7919061193b565b60405180910390f35b6102d86105ef565b6040516102e59190611a7d565b60405180910390f35b6102f6610619565b60405161030391906117fb565b60405180910390f35b610326600480360381019061032191906118b6565b6106ab565b6040516103339190611911565b60405180910390f35b610356600480360381019061035191906118b6565b610722565b6040516103639190611911565b60405180910390f35b61038660048036038101906103819190611af0565b610745565b005b6103a2600480360381019061039d9190611b92565b610887565b6040516103af919061193b565b60405180910390f35b6103d260048036038101906103cd9190611a41565b61090e565b005b6060600380546103e390611c01565b80601f016020809104026020016040519081016040528092919081815260200182805461040f90611c01565b801561045c5780601f106104315761010080835404028352916020019161045c565b820191906000526020600020905b81548152906001019060200180831161043f57829003601f168201915b5050505050905090565b600080610471610991565b905061047e818585610999565b600191505092915050565b6000600254905090565b60008061049e610991565b90506104ab858285610b62565b6104b6858585610bee565b60019150509392505050565b60006012905090565b60006104d5610e64565b905090565b6000806104e5610991565b90506105068185856104f78589610887565b6105019190611c61565b610999565b600191505092915050565b610519610f7e565b6105238282610ffc565b5050565b61052f610f7e565b61054061053a610991565b82611152565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610593610f7e565b61059d600061131f565b565b60006105e8600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206113e5565b9050919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461062890611c01565b80601f016020809104026020016040519081016040528092919081815260200182805461065490611c01565b80156106a15780601f10610676576101008083540402835291602001916106a1565b820191906000526020600020905b81548152906001019060200180831161068457829003601f168201915b5050505050905090565b6000806106b6610991565b905060006106c48286610887565b905083811015610709576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070090611d07565b60405180910390fd5b6107168286868403610999565b60019250505092915050565b60008061072d610991565b905061073a818585610bee565b600191505092915050565b83421115610788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077f90611d73565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886107b78c6113f3565b896040516020016107cd96959493929190611d93565b60405160208183030381529060405280519060200120905060006107f082611451565b905060006108008287878761146b565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610870576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086790611e40565b60405180910390fd5b61087b8a8a8a610999565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610916610f7e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097c90611ed2565b60405180910390fd5b61098e8161131f565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ff90611f64565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6e90611ff6565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610b55919061193b565b60405180910390a3505050565b6000610b6e8484610887565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610be85781811015610bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd190612062565b60405180910390fd5b610be78484848403610999565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c54906120f4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ccc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc390612186565b60405180910390fd5b610cd7838383611496565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5490612218565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e4b919061193b565b60405180910390a3610e5e84848461149b565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610ee057507f000000000000000000000000000000000000000000000000000000000000000046145b15610f0d577f00000000000000000000000000000000000000000000000000000000000000009050610f7b565b610f787f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006114a0565b90505b90565b610f86610991565b73ffffffffffffffffffffffffffffffffffffffff16610fa46105ef565b73ffffffffffffffffffffffffffffffffffffffff1614610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff190612284565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361106b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611062906122f0565b60405180910390fd5b61107760008383611496565b80600260008282546110899190611c61565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161113a919061193b565b60405180910390a361114e6000838361149b565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b890612382565b60405180910390fd5b6111cd82600083611496565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124a90612414565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611306919061193b565b60405180910390a361131a8360008461149b565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b600080600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050611440816113e5565b915061144b816114da565b50919050565b600061146461145e610e64565b836114f0565b9050919050565b600080600061147c87878787611523565b9150915061148981611605565b8192505050949350505050565b505050565b505050565b600083838346306040516020016114bb959493929190612434565b6040516020818303038152906040528051906020012090509392505050565b6001816000016000828254019250508190555050565b600082826040516020016115059291906124ff565b60405160208183030381529060405280519060200120905092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c111561155e5760006003915091506115fc565b6000600187878787604051600081526020016040526040516115839493929190612536565b6020604051602081039080840390855afa1580156115a5573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115f3576000600192509250506115fc565b80600092509250505b94509492505050565b600060048111156116195761161861257b565b5b81600481111561162c5761162b61257b565b5b031561176857600160048111156116465761164561257b565b5b8160048111156116595761165861257b565b5b03611699576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611690906125f6565b60405180910390fd5b600260048111156116ad576116ac61257b565b5b8160048111156116c0576116bf61257b565b5b03611700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f790612662565b60405180910390fd5b600360048111156117145761171361257b565b5b8160048111156117275761172661257b565b5b03611767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175e906126f4565b60405180910390fd5b5b50565b600081519050919050565b600082825260208201905092915050565b60005b838110156117a557808201518184015260208101905061178a565b60008484015250505050565b6000601f19601f8301169050919050565b60006117cd8261176b565b6117d78185611776565b93506117e7818560208601611787565b6117f0816117b1565b840191505092915050565b6000602082019050818103600083015261181581846117c2565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061184d82611822565b9050919050565b61185d81611842565b811461186857600080fd5b50565b60008135905061187a81611854565b92915050565b6000819050919050565b61189381611880565b811461189e57600080fd5b50565b6000813590506118b08161188a565b92915050565b600080604083850312156118cd576118cc61181d565b5b60006118db8582860161186b565b92505060206118ec858286016118a1565b9150509250929050565b60008115159050919050565b61190b816118f6565b82525050565b60006020820190506119266000830184611902565b92915050565b61193581611880565b82525050565b6000602082019050611950600083018461192c565b92915050565b60008060006060848603121561196f5761196e61181d565b5b600061197d8682870161186b565b935050602061198e8682870161186b565b925050604061199f868287016118a1565b9150509250925092565b600060ff82169050919050565b6119bf816119a9565b82525050565b60006020820190506119da60008301846119b6565b92915050565b6000819050919050565b6119f3816119e0565b82525050565b6000602082019050611a0e60008301846119ea565b92915050565b600060208284031215611a2a57611a2961181d565b5b6000611a38848285016118a1565b91505092915050565b600060208284031215611a5757611a5661181d565b5b6000611a658482850161186b565b91505092915050565b611a7781611842565b82525050565b6000602082019050611a926000830184611a6e565b92915050565b611aa1816119a9565b8114611aac57600080fd5b50565b600081359050611abe81611a98565b92915050565b611acd816119e0565b8114611ad857600080fd5b50565b600081359050611aea81611ac4565b92915050565b600080600080600080600060e0888a031215611b0f57611b0e61181d565b5b6000611b1d8a828b0161186b565b9750506020611b2e8a828b0161186b565b9650506040611b3f8a828b016118a1565b9550506060611b508a828b016118a1565b9450506080611b618a828b01611aaf565b93505060a0611b728a828b01611adb565b92505060c0611b838a828b01611adb565b91505092959891949750929550565b60008060408385031215611ba957611ba861181d565b5b6000611bb78582860161186b565b9250506020611bc88582860161186b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c1957607f821691505b602082108103611c2c57611c2b611bd2565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c6c82611880565b9150611c7783611880565b9250828201905080821115611c8f57611c8e611c32565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611cf1602583611776565b9150611cfc82611c95565b604082019050919050565b60006020820190508181036000830152611d2081611ce4565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b6000611d5d601d83611776565b9150611d6882611d27565b602082019050919050565b60006020820190508181036000830152611d8c81611d50565b9050919050565b600060c082019050611da860008301896119ea565b611db56020830188611a6e565b611dc26040830187611a6e565b611dcf606083018661192c565b611ddc608083018561192c565b611de960a083018461192c565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000611e2a601e83611776565b9150611e3582611df4565b602082019050919050565b60006020820190508181036000830152611e5981611e1d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611ebc602683611776565b9150611ec782611e60565b604082019050919050565b60006020820190508181036000830152611eeb81611eaf565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611f4e602483611776565b9150611f5982611ef2565b604082019050919050565b60006020820190508181036000830152611f7d81611f41565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611fe0602283611776565b9150611feb82611f84565b604082019050919050565b6000602082019050818103600083015261200f81611fd3565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061204c601d83611776565b915061205782612016565b602082019050919050565b6000602082019050818103600083015261207b8161203f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006120de602583611776565b91506120e982612082565b604082019050919050565b6000602082019050818103600083015261210d816120d1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612170602383611776565b915061217b82612114565b604082019050919050565b6000602082019050818103600083015261219f81612163565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612202602683611776565b915061220d826121a6565b604082019050919050565b60006020820190508181036000830152612231816121f5565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061226e602083611776565b915061227982612238565b602082019050919050565b6000602082019050818103600083015261229d81612261565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006122da601f83611776565b91506122e5826122a4565b602082019050919050565b60006020820190508181036000830152612309816122cd565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061236c602183611776565b915061237782612310565b604082019050919050565b6000602082019050818103600083015261239b8161235f565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006123fe602283611776565b9150612409826123a2565b604082019050919050565b6000602082019050818103600083015261242d816123f1565b9050919050565b600060a08201905061244960008301886119ea565b61245660208301876119ea565b61246360408301866119ea565b612470606083018561192c565b61247d6080830184611a6e565b9695505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006124c8600283612487565b91506124d382612492565b600282019050919050565b6000819050919050565b6124f96124f4826119e0565b6124de565b82525050565b600061250a826124bb565b915061251682856124e8565b60208201915061252682846124e8565b6020820191508190509392505050565b600060808201905061254b60008301876119ea565b61255860208301866119b6565b61256560408301856119ea565b61257260608301846119ea565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006125e0601883611776565b91506125eb826125aa565b602082019050919050565b6000602082019050818103600083015261260f816125d3565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b600061264c601f83611776565b915061265782612616565b602082019050919050565b6000602082019050818103600083015261267b8161263f565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006126de602283611776565b91506126e982612682565b604082019050919050565b6000602082019050818103600083015261270d816126d1565b905091905056fea264697066735822122025479bf0b33e27fdced03568933f96ba493055cb36046275761d6f9524f7072a64736f6c63430008130033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063a457c2d711610071578063a457c2d71461030c578063a9059cbb1461033c578063d505accf1461036c578063dd62ed3e14610388578063f2fde38b146103b857610121565b806370a0823114610266578063715018a6146102965780637ecebe00146102a05780638da5cb5b146102d057806395d89b41146102ee57610121565b8063313ce567116100f4578063313ce567146101c25780633644e515146101e057806339509351146101fe57806340c10f191461022e57806342966c681461024a57610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461017457806323b872dd14610192575b600080fd5b61012e6103d4565b60405161013b91906117fb565b60405180910390f35b61015e600480360381019061015991906118b6565b610466565b60405161016b9190611911565b60405180910390f35b61017c610489565b604051610189919061193b565b60405180910390f35b6101ac60048036038101906101a79190611956565b610493565b6040516101b99190611911565b60405180910390f35b6101ca6104c2565b6040516101d791906119c5565b60405180910390f35b6101e86104cb565b6040516101f591906119f9565b60405180910390f35b610218600480360381019061021391906118b6565b6104da565b6040516102259190611911565b60405180910390f35b610248600480360381019061024391906118b6565b610511565b005b610264600480360381019061025f9190611a14565b610527565b005b610280600480360381019061027b9190611a41565b610543565b60405161028d919061193b565b60405180910390f35b61029e61058b565b005b6102ba60048036038101906102b59190611a41565b61059f565b6040516102c7919061193b565b60405180910390f35b6102d86105ef565b6040516102e59190611a7d565b60405180910390f35b6102f6610619565b60405161030391906117fb565b60405180910390f35b610326600480360381019061032191906118b6565b6106ab565b6040516103339190611911565b60405180910390f35b610356600480360381019061035191906118b6565b610722565b6040516103639190611911565b60405180910390f35b61038660048036038101906103819190611af0565b610745565b005b6103a2600480360381019061039d9190611b92565b610887565b6040516103af919061193b565b60405180910390f35b6103d260048036038101906103cd9190611a41565b61090e565b005b6060600380546103e390611c01565b80601f016020809104026020016040519081016040528092919081815260200182805461040f90611c01565b801561045c5780601f106104315761010080835404028352916020019161045c565b820191906000526020600020905b81548152906001019060200180831161043f57829003601f168201915b5050505050905090565b600080610471610991565b905061047e818585610999565b600191505092915050565b6000600254905090565b60008061049e610991565b90506104ab858285610b62565b6104b6858585610bee565b60019150509392505050565b60006012905090565b60006104d5610e64565b905090565b6000806104e5610991565b90506105068185856104f78589610887565b6105019190611c61565b610999565b600191505092915050565b610519610f7e565b6105238282610ffc565b5050565b61052f610f7e565b61054061053a610991565b82611152565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610593610f7e565b61059d600061131f565b565b60006105e8600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206113e5565b9050919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461062890611c01565b80601f016020809104026020016040519081016040528092919081815260200182805461065490611c01565b80156106a15780601f10610676576101008083540402835291602001916106a1565b820191906000526020600020905b81548152906001019060200180831161068457829003601f168201915b5050505050905090565b6000806106b6610991565b905060006106c48286610887565b905083811015610709576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070090611d07565b60405180910390fd5b6107168286868403610999565b60019250505092915050565b60008061072d610991565b905061073a818585610bee565b600191505092915050565b83421115610788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077f90611d73565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886107b78c6113f3565b896040516020016107cd96959493929190611d93565b60405160208183030381529060405280519060200120905060006107f082611451565b905060006108008287878761146b565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610870576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086790611e40565b60405180910390fd5b61087b8a8a8a610999565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610916610f7e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097c90611ed2565b60405180910390fd5b61098e8161131f565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ff90611f64565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6e90611ff6565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610b55919061193b565b60405180910390a3505050565b6000610b6e8484610887565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610be85781811015610bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd190612062565b60405180910390fd5b610be78484848403610999565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c54906120f4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ccc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc390612186565b60405180910390fd5b610cd7838383611496565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5490612218565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e4b919061193b565b60405180910390a3610e5e84848461149b565b50505050565b60007f000000000000000000000000e29c0d68633f3972b78cf69f3733421369ede8ff73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610ee057507f000000000000000000000000000000000000000000000000000000000000000146145b15610f0d577f04f106abc1cc3dfb88eef8db86245dc13471aca9a1a6d86c1526d59f54b35db39050610f7b565b610f787f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f5c3fa38bc1bbf28ec287064e5960b0bd59b735ffec43280872a9f5169c5ef3c97fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66114a0565b90505b90565b610f86610991565b73ffffffffffffffffffffffffffffffffffffffff16610fa46105ef565b73ffffffffffffffffffffffffffffffffffffffff1614610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff190612284565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361106b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611062906122f0565b60405180910390fd5b61107760008383611496565b80600260008282546110899190611c61565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161113a919061193b565b60405180910390a361114e6000838361149b565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b890612382565b60405180910390fd5b6111cd82600083611496565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124a90612414565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611306919061193b565b60405180910390a361131a8360008461149b565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b600080600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050611440816113e5565b915061144b816114da565b50919050565b600061146461145e610e64565b836114f0565b9050919050565b600080600061147c87878787611523565b9150915061148981611605565b8192505050949350505050565b505050565b505050565b600083838346306040516020016114bb959493929190612434565b6040516020818303038152906040528051906020012090509392505050565b6001816000016000828254019250508190555050565b600082826040516020016115059291906124ff565b60405160208183030381529060405280519060200120905092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c111561155e5760006003915091506115fc565b6000600187878787604051600081526020016040526040516115839493929190612536565b6020604051602081039080840390855afa1580156115a5573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115f3576000600192509250506115fc565b80600092509250505b94509492505050565b600060048111156116195761161861257b565b5b81600481111561162c5761162b61257b565b5b031561176857600160048111156116465761164561257b565b5b8160048111156116595761165861257b565b5b03611699576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611690906125f6565b60405180910390fd5b600260048111156116ad576116ac61257b565b5b8160048111156116c0576116bf61257b565b5b03611700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f790612662565b60405180910390fd5b600360048111156117145761171361257b565b5b8160048111156117275761172661257b565b5b03611767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175e906126f4565b60405180910390fd5b5b50565b600081519050919050565b600082825260208201905092915050565b60005b838110156117a557808201518184015260208101905061178a565b60008484015250505050565b6000601f19601f8301169050919050565b60006117cd8261176b565b6117d78185611776565b93506117e7818560208601611787565b6117f0816117b1565b840191505092915050565b6000602082019050818103600083015261181581846117c2565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061184d82611822565b9050919050565b61185d81611842565b811461186857600080fd5b50565b60008135905061187a81611854565b92915050565b6000819050919050565b61189381611880565b811461189e57600080fd5b50565b6000813590506118b08161188a565b92915050565b600080604083850312156118cd576118cc61181d565b5b60006118db8582860161186b565b92505060206118ec858286016118a1565b9150509250929050565b60008115159050919050565b61190b816118f6565b82525050565b60006020820190506119266000830184611902565b92915050565b61193581611880565b82525050565b6000602082019050611950600083018461192c565b92915050565b60008060006060848603121561196f5761196e61181d565b5b600061197d8682870161186b565b935050602061198e8682870161186b565b925050604061199f868287016118a1565b9150509250925092565b600060ff82169050919050565b6119bf816119a9565b82525050565b60006020820190506119da60008301846119b6565b92915050565b6000819050919050565b6119f3816119e0565b82525050565b6000602082019050611a0e60008301846119ea565b92915050565b600060208284031215611a2a57611a2961181d565b5b6000611a38848285016118a1565b91505092915050565b600060208284031215611a5757611a5661181d565b5b6000611a658482850161186b565b91505092915050565b611a7781611842565b82525050565b6000602082019050611a926000830184611a6e565b92915050565b611aa1816119a9565b8114611aac57600080fd5b50565b600081359050611abe81611a98565b92915050565b611acd816119e0565b8114611ad857600080fd5b50565b600081359050611aea81611ac4565b92915050565b600080600080600080600060e0888a031215611b0f57611b0e61181d565b5b6000611b1d8a828b0161186b565b9750506020611b2e8a828b0161186b565b9650506040611b3f8a828b016118a1565b9550506060611b508a828b016118a1565b9450506080611b618a828b01611aaf565b93505060a0611b728a828b01611adb565b92505060c0611b838a828b01611adb565b91505092959891949750929550565b60008060408385031215611ba957611ba861181d565b5b6000611bb78582860161186b565b9250506020611bc88582860161186b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c1957607f821691505b602082108103611c2c57611c2b611bd2565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c6c82611880565b9150611c7783611880565b9250828201905080821115611c8f57611c8e611c32565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611cf1602583611776565b9150611cfc82611c95565b604082019050919050565b60006020820190508181036000830152611d2081611ce4565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b6000611d5d601d83611776565b9150611d6882611d27565b602082019050919050565b60006020820190508181036000830152611d8c81611d50565b9050919050565b600060c082019050611da860008301896119ea565b611db56020830188611a6e565b611dc26040830187611a6e565b611dcf606083018661192c565b611ddc608083018561192c565b611de960a083018461192c565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000611e2a601e83611776565b9150611e3582611df4565b602082019050919050565b60006020820190508181036000830152611e5981611e1d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611ebc602683611776565b9150611ec782611e60565b604082019050919050565b60006020820190508181036000830152611eeb81611eaf565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611f4e602483611776565b9150611f5982611ef2565b604082019050919050565b60006020820190508181036000830152611f7d81611f41565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611fe0602283611776565b9150611feb82611f84565b604082019050919050565b6000602082019050818103600083015261200f81611fd3565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061204c601d83611776565b915061205782612016565b602082019050919050565b6000602082019050818103600083015261207b8161203f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006120de602583611776565b91506120e982612082565b604082019050919050565b6000602082019050818103600083015261210d816120d1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612170602383611776565b915061217b82612114565b604082019050919050565b6000602082019050818103600083015261219f81612163565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612202602683611776565b915061220d826121a6565b604082019050919050565b60006020820190508181036000830152612231816121f5565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061226e602083611776565b915061227982612238565b602082019050919050565b6000602082019050818103600083015261229d81612261565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006122da601f83611776565b91506122e5826122a4565b602082019050919050565b60006020820190508181036000830152612309816122cd565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061236c602183611776565b915061237782612310565b604082019050919050565b6000602082019050818103600083015261239b8161235f565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006123fe602283611776565b9150612409826123a2565b604082019050919050565b6000602082019050818103600083015261242d816123f1565b9050919050565b600060a08201905061244960008301886119ea565b61245660208301876119ea565b61246360408301866119ea565b612470606083018561192c565b61247d6080830184611a6e565b9695505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006124c8600283612487565b91506124d382612492565b600282019050919050565b6000819050919050565b6124f96124f4826119e0565b6124de565b82525050565b600061250a826124bb565b915061251682856124e8565b60208201915061252682846124e8565b6020820191508190509392505050565b600060808201905061254b60008301876119ea565b61255860208301866119b6565b61256560408301856119ea565b61257260608301846119ea565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006125e0601883611776565b91506125eb826125aa565b602082019050919050565b6000602082019050818103600083015261260f816125d3565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b600061264c601f83611776565b915061265782612616565b602082019050919050565b6000602082019050818103600083015261267b8161263f565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006126de602283611776565b91506126e982612682565b604082019050919050565b6000602082019050818103600083015261270d816126d1565b905091905056fea264697066735822122025479bf0b33e27fdced03568933f96ba493055cb36046275761d6f9524f7072a64736f6c63430008130033

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.