ETH Price: $3,119.89 (+2.23%)
 

Overview

Max Total Supply

937,200,000 BAYC

Holders

11,697

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
*私はcnpが大好きです🐐️.eth
Balance
50,000 BAYC

Value
$0.00
0xc0f7a687dfa1e6d7ac9f6b4c97a033f0200ace89
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:
BAYC

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 14 : baby.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.0;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
contract BAYC is ERC20, Ownable {
using SafeERC20 for IERC20;
uint public constant MAX_SUPPLY = 2000000000 * 1 ether;
uint public constant MINT_AMOUNT = 50000 * 1 ether;
uint public constant TAX_RATE = 5; // 5% tax
mapping(address => bool) private hasMinted;
mapping(address => bool) public whitelisted;
constructor() ERC20("BAYC", "BAYC") Ownable(msg.sender) {
}
function mint() external {
require(totalSupply() + MINT_AMOUNT <= MAX_SUPPLY, "Total supply exceeded");
require(!hasMinted[msg.sender], "Address has already minted");
require(msg.sender == tx.origin, "Contracts are not allowed to mint");
hasMinted[msg.sender] = true;
_mint(msg.sender, MINT_AMOUNT);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 2 of 14 : SafeERC20.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 v5.1.0) (token/ERC20/utils/SafeERC20.sol)
pragma solidity ^0.8.20;
import {IERC20} from "../IERC20.sol";
import {IERC1363} from "../../../interfaces/IERC1363.sol";
import {Address} from "../../../utils/Address.sol";
/**
* @title SafeERC20
* @dev Wrappers around ERC-20 operations that throw on failure (when the token
* contract returns false). Tokens that return no value (and instead revert or
* throw on failure) are also supported, non-reverting calls are assumed to be
* successful.
* To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,
* which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
*/
library SafeERC20 {
/**
* @dev An operation with an ERC-20 token failed.
*/
error SafeERC20FailedOperation(address token);
/**
* @dev Indicates a failed `decreaseAllowance` request.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 3 of 14 : 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 v5.0.0) (access/Ownable.sol)
pragma solidity ^0.8.20;
import {Context} from "../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.
*
* The initial owner is set to the address provided by the deployer. 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;
/**
* @dev The caller account is not authorized to perform an operation.
*/
error OwnableUnauthorizedAccount(address account);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 4 of 14 : 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 v5.0.0) (token/ERC20/ERC20.sol)
pragma solidity ^0.8.20;
import {IERC20} from "./IERC20.sol";
import {IERC20Metadata} from "./extensions/IERC20Metadata.sol";
import {Context} from "../../utils/Context.sol";
import {IERC20Errors} from "../../interfaces/draft-IERC6093.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}.
*
* 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].
*
* The default value of {decimals} is 18. To change this, you should override
* this function so it returns a different value.
*
* 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
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 5 of 14 : Address.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 v5.1.0) (utils/Address.sol)
pragma solidity ^0.8.20;
import {Errors} from "./Errors.sol";
/**
* @dev Collection of functions related to the address type
*/
library Address {
/**
* @dev There's no code at `target` (it is not a contract).
*/
error AddressEmptyCode(address target);
/**
* @dev Replacement for Solidity's `transfer`: sends `amount` wei to
* `recipient`, forwarding all available gas and reverting on errors.
*
* https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
* of certain opcodes, possibly making contracts go over the 2300 gas limit
* imposed by `transfer`, making them unable to receive funds via
* `transfer`. {sendValue} removes this limitation.
*
* https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 6 of 14 : IERC1363.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 v5.1.0) (interfaces/IERC1363.sol)
pragma solidity ^0.8.20;
import {IERC20} from "./IERC20.sol";
import {IERC165} from "./IERC165.sol";
/**
* @title IERC1363
* @dev Interface of the ERC-1363 standard as defined in the https://eips.ethereum.org/EIPS/eip-1363[ERC-1363].
*
* Defines an extension interface for ERC-20 tokens that supports executing code on a recipient contract
* after `transfer` or `transferFrom`, or code on a spender contract after `approve`, in a single transaction.
*/
interface IERC1363 is IERC20, IERC165 {
/*
* Note: the ERC-165 identifier for this interface is 0xb0202a11.
* 0xb0202a11 ===
* bytes4(keccak256('transferAndCall(address,uint256)')) ^
* bytes4(keccak256('transferAndCall(address,uint256,bytes)')) ^
* bytes4(keccak256('transferFromAndCall(address,address,uint256)')) ^
* bytes4(keccak256('transferFromAndCall(address,address,uint256,bytes)')) ^
* bytes4(keccak256('approveAndCall(address,uint256)')) ^
* bytes4(keccak256('approveAndCall(address,uint256,bytes)'))
*/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 7 of 14 : 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 v5.0.0) (token/ERC20/IERC20.sol)
pragma solidity ^0.8.20;
/**
* @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 value of tokens in existence.
*/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 8 of 14 : draft-IERC6093.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 v5.0.0) (interfaces/draft-IERC6093.sol)
pragma solidity ^0.8.20;
/**
* @dev Standard ERC20 Errors
* Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC20 tokens.
*/
interface IERC20Errors {
/**
* @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.
* @param sender Address whose tokens are being transferred.
* @param balance Current balance for the interacting account.
* @param needed Minimum amount required to perform a transfer.
*/
error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);
/**
* @dev Indicates a failure with the token `sender`. Used in transfers.
* @param sender Address whose tokens are being transferred.
*/
error ERC20InvalidSender(address sender);
/**
* @dev Indicates a failure with the token `receiver`. Used in transfers.
* @param receiver Address to which tokens are being transferred.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 9 of 14 : 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
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)
pragma solidity ^0.8.20;
/**
* @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;
}
function _contextSuffixLength() internal view virtual returns (uint256) {
return 0;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 10 of 14 : 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 (last updated v5.0.0) (token/ERC20/extensions/IERC20Metadata.sol)
pragma solidity ^0.8.20;
import {IERC20} from "../IERC20.sol";
/**
* @dev Interface for the optional metadata functions from the ERC20 standard.
*/
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.
*/
function decimals() external view returns (uint8);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 11 of 14 : Errors.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 v5.1.0) (utils/Errors.sol)
pragma solidity ^0.8.20;
/**
* @dev Collection of common custom errors used in multiple contracts
*
* IMPORTANT: Backwards compatibility is not guaranteed in future versions of the library.
* It is recommended to avoid relying on the error API for critical functionality.
*
* _Available since v5.1._
*/
library Errors {
/**
* @dev The ETH balance of the account is not enough to perform the operation.
*/
error InsufficientBalance(uint256 balance, uint256 needed);
/**
* @dev A call to an address target failed. The target may have reverted.
*/
error FailedCall();
/**
* @dev The deployment failed.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 12 of 14 : IERC165.sol
1
2
3
4
5
6
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC165.sol)
pragma solidity ^0.8.20;
import {IERC165} from "../utils/introspection/IERC165.sol";
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 13 of 14 : IERC20.sol
1
2
3
4
5
6
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC20.sol)
pragma solidity ^0.8.20;
import {IERC20} from "../token/ERC20/IERC20.sol";
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 14 of 14 : 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 (last updated v5.1.0) (utils/introspection/IERC165.sol)
pragma solidity ^0.8.20;
/**
* @dev Interface of the ERC-165 standard, as defined in the
* https://eips.ethereum.org/EIPS/eip-165[ERC].
*
* 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[ERC 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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"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":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINT_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TAX_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"addToWhitelist","outputs":[],"stateMutability":"nonpayable","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":"value","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"removeFromWhitelist","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","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"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801562000010575f80fd5b506040805180820182526004808252634241594360e01b6020808401829052845180860190955291845290830152339160036200004e838262000191565b5060046200005d828262000191565b5050506001600160a01b0381166200008e57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6200009981620000a0565b5062000259565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200011a57607f821691505b6020821081036200013957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200018c575f81815260208120601f850160051c81016020861015620001675750805b601f850160051c820191505b81811015620001885782815560010162000173565b5050505b505050565b81516001600160401b03811115620001ad57620001ad620000f1565b620001c581620001be845462000105565b846200013f565b602080601f831160018114620001fb575f8415620001e35750858301515b5f19600386901b1c1916600185901b17855562000188565b5f85815260208120601f198616915b828110156200022b578886015182559484019460019091019084016200020a565b50858210156200024957878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b610da280620002675f395ff3fe608060405234801561000f575f80fd5b5060043610610127575f3560e01c8063715018a6116100a9578063a9059cbb1161006e578063a9059cbb1461024f578063d936547e14610262578063dd62ed3e14610284578063e43252d7146102bc578063f2fde38b146102cf575f80fd5b8063715018a61461020957806383f170be146102115780638ab1d681146102195780638da5cb5b1461022c57806395d89b4114610247575f80fd5b806323b872dd116100ef57806323b872dd1461019b578063313ce567146101ae57806332cb6b0c146101bd5780635427789c146101d057806370a08231146101e1575f80fd5b806306b091f91461012b57806306fdde0314610140578063095ea7b31461015e5780631249c58b1461018157806318160ddd14610189575b5f80fd5b61013e610139366004610bb0565b6102e2565b005b6101486103c6565b6040516101559190610bd8565b60405180910390f35b61017161016c366004610bb0565b610456565b6040519015158152602001610155565b61013e61046f565b6002545b604051908152602001610155565b6101716101a9366004610c23565b6105c7565b60405160128152602001610155565b61018d6b06765c793fa10079d000000081565b61018d690a968163f0a57b40000081565b61018d6101ef366004610c5c565b6001600160a01b03165f9081526020819052604090205490565b61013e610634565b61018d600581565b61013e610227366004610c5c565b610645565b6005546040516001600160a01b039091168152602001610155565b61014861066d565b61017161025d366004610bb0565b61067c565b610171610270366004610c5c565b60076020525f908152604090205460ff1681565b61018d610292366004610c7c565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b61013e6102ca366004610c5c565b6106db565b61013e6102dd366004610c5c565b610706565b6102ea610743565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa15801561032e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103529190610cad565b101561039c5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064015b60405180910390fd5b6103c26103b16005546001600160a01b031690565b6001600160a01b0384169083610770565b5050565b6060600380546103d590610cc4565b80601f016020809104026020016040519081016040528092919081815260200182805461040190610cc4565b801561044c5780601f106104235761010080835404028352916020019161044c565b820191905f5260205f20905b81548152906001019060200180831161042f57829003601f168201915b5050505050905090565b5f336104638185856107c7565b60019150505b92915050565b6b06765c793fa10079d0000000690a968163f0a57b40000061049060025490565b61049a9190610d10565b11156104e05760405162461bcd60e51b8152602060048201526015602482015274151bdd185b081cdd5c1c1b1e48195e18d959591959605a1b6044820152606401610393565b335f9081526006602052604090205460ff161561053f5760405162461bcd60e51b815260206004820152601a60248201527f416464726573732068617320616c7265616479206d696e7465640000000000006044820152606401610393565b3332146105985760405162461bcd60e51b815260206004820152602160248201527f436f6e74726163747320617265206e6f7420616c6c6f77656420746f206d696e6044820152601d60fa1b6064820152608401610393565b335f818152600660205260409020805460ff191660011790556105c590690a968163f0a57b4000006107d4565b565b5f80336105d5868286610808565b335f9081526007602052604090205460ff1661060f5760646105f8600586610d23565b6106029190610d3a565b915061060f863084610883565b5f61061a8386610d59565b9050610627878783610883565b5060019695505050505050565b61063c610743565b6105c55f6108e0565b61064d610743565b6001600160a01b03165f908152600760205260409020805460ff19169055565b6060600480546103d590610cc4565b335f90815260076020526040812054819060ff166106b85760646106a1600585610d23565b6106ab9190610d3a565b90506106b8333083610883565b5f6106c38285610d59565b90506106d0338683610883565b506001949350505050565b6106e3610743565b6001600160a01b03165f908152600760205260409020805460ff19166001179055565b61070e610743565b6001600160a01b03811661073757604051631e4fbdf760e01b81525f6004820152602401610393565b610740816108e0565b50565b6005546001600160a01b031633146105c55760405163118cdaa760e01b8152336004820152602401610393565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526107c2908490610931565b505050565b6107c2838383600161099d565b6001600160a01b0382166107fd5760405163ec442f0560e01b81525f6004820152602401610393565b6103c25f8383610a6f565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811461087d578181101561086f57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610393565b61087d84848484035f61099d565b50505050565b6001600160a01b0383166108ac57604051634b637e8f60e11b81525f6004820152602401610393565b6001600160a01b0382166108d55760405163ec442f0560e01b81525f6004820152602401610393565b6107c2838383610a6f565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f8060205f8451602086015f885af180610950576040513d5f823e3d81fd5b50505f513d91508115610967578060011415610974565b6001600160a01b0384163b155b1561087d57604051635274afe760e01b81526001600160a01b0385166004820152602401610393565b6001600160a01b0384166109c65760405163e602df0560e01b81525f6004820152602401610393565b6001600160a01b0383166109ef57604051634a1406b160e11b81525f6004820152602401610393565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561087d57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a6191815260200190565b60405180910390a350505050565b6001600160a01b038316610a99578060025f828254610a8e9190610d10565b90915550610b099050565b6001600160a01b0383165f9081526020819052604090205481811015610aeb5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610393565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216610b2557600280548290039055610b43565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b8891815260200190565b60405180910390a3505050565b80356001600160a01b0381168114610bab575f80fd5b919050565b5f8060408385031215610bc1575f80fd5b610bca83610b95565b946020939093013593505050565b5f6020808352835180828501525f5b81811015610c0357858101830151858201604001528201610be7565b505f604082860101526040601f19601f8301168501019250505092915050565b5f805f60608486031215610c35575f80fd5b610c3e84610b95565b9250610c4c60208501610b95565b9150604084013590509250925092565b5f60208284031215610c6c575f80fd5b610c7582610b95565b9392505050565b5f8060408385031215610c8d575f80fd5b610c9683610b95565b9150610ca460208401610b95565b90509250929050565b5f60208284031215610cbd575f80fd5b5051919050565b600181811c90821680610cd857607f821691505b602082108103610cf657634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561046957610469610cfc565b808202811582820484141761046957610469610cfc565b5f82610d5457634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561046957610469610cfc56fea2646970667358221220974f5b92f9da2e79eb809d6212f16c3c9380613e700b48a6cdc5486470f0aaee64736f6c63430008140033

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610127575f3560e01c8063715018a6116100a9578063a9059cbb1161006e578063a9059cbb1461024f578063d936547e14610262578063dd62ed3e14610284578063e43252d7146102bc578063f2fde38b146102cf575f80fd5b8063715018a61461020957806383f170be146102115780638ab1d681146102195780638da5cb5b1461022c57806395d89b4114610247575f80fd5b806323b872dd116100ef57806323b872dd1461019b578063313ce567146101ae57806332cb6b0c146101bd5780635427789c146101d057806370a08231146101e1575f80fd5b806306b091f91461012b57806306fdde0314610140578063095ea7b31461015e5780631249c58b1461018157806318160ddd14610189575b5f80fd5b61013e610139366004610bb0565b6102e2565b005b6101486103c6565b6040516101559190610bd8565b60405180910390f35b61017161016c366004610bb0565b610456565b6040519015158152602001610155565b61013e61046f565b6002545b604051908152602001610155565b6101716101a9366004610c23565b6105c7565b60405160128152602001610155565b61018d6b06765c793fa10079d000000081565b61018d690a968163f0a57b40000081565b61018d6101ef366004610c5c565b6001600160a01b03165f9081526020819052604090205490565b61013e610634565b61018d600581565b61013e610227366004610c5c565b610645565b6005546040516001600160a01b039091168152602001610155565b61014861066d565b61017161025d366004610bb0565b61067c565b610171610270366004610c5c565b60076020525f908152604090205460ff1681565b61018d610292366004610c7c565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b61013e6102ca366004610c5c565b6106db565b61013e6102dd366004610c5c565b610706565b6102ea610743565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa15801561032e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103529190610cad565b101561039c5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064015b60405180910390fd5b6103c26103b16005546001600160a01b031690565b6001600160a01b0384169083610770565b5050565b6060600380546103d590610cc4565b80601f016020809104026020016040519081016040528092919081815260200182805461040190610cc4565b801561044c5780601f106104235761010080835404028352916020019161044c565b820191905f5260205f20905b81548152906001019060200180831161042f57829003601f168201915b5050505050905090565b5f336104638185856107c7565b60019150505b92915050565b6b06765c793fa10079d0000000690a968163f0a57b40000061049060025490565b61049a9190610d10565b11156104e05760405162461bcd60e51b8152602060048201526015602482015274151bdd185b081cdd5c1c1b1e48195e18d959591959605a1b6044820152606401610393565b335f9081526006602052604090205460ff161561053f5760405162461bcd60e51b815260206004820152601a60248201527f416464726573732068617320616c7265616479206d696e7465640000000000006044820152606401610393565b3332146105985760405162461bcd60e51b815260206004820152602160248201527f436f6e74726163747320617265206e6f7420616c6c6f77656420746f206d696e6044820152601d60fa1b6064820152608401610393565b335f818152600660205260409020805460ff191660011790556105c590690a968163f0a57b4000006107d4565b565b5f80336105d5868286610808565b335f9081526007602052604090205460ff1661060f5760646105f8600586610d23565b6106029190610d3a565b915061060f863084610883565b5f61061a8386610d59565b9050610627878783610883565b5060019695505050505050565b61063c610743565b6105c55f6108e0565b61064d610743565b6001600160a01b03165f908152600760205260409020805460ff19169055565b6060600480546103d590610cc4565b335f90815260076020526040812054819060ff166106b85760646106a1600585610d23565b6106ab9190610d3a565b90506106b8333083610883565b5f6106c38285610d59565b90506106d0338683610883565b506001949350505050565b6106e3610743565b6001600160a01b03165f908152600760205260409020805460ff19166001179055565b61070e610743565b6001600160a01b03811661073757604051631e4fbdf760e01b81525f6004820152602401610393565b610740816108e0565b50565b6005546001600160a01b031633146105c55760405163118cdaa760e01b8152336004820152602401610393565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526107c2908490610931565b505050565b6107c2838383600161099d565b6001600160a01b0382166107fd5760405163ec442f0560e01b81525f6004820152602401610393565b6103c25f8383610a6f565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811461087d578181101561086f57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610393565b61087d84848484035f61099d565b50505050565b6001600160a01b0383166108ac57604051634b637e8f60e11b81525f6004820152602401610393565b6001600160a01b0382166108d55760405163ec442f0560e01b81525f6004820152602401610393565b6107c2838383610a6f565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f8060205f8451602086015f885af180610950576040513d5f823e3d81fd5b50505f513d91508115610967578060011415610974565b6001600160a01b0384163b155b1561087d57604051635274afe760e01b81526001600160a01b0385166004820152602401610393565b6001600160a01b0384166109c65760405163e602df0560e01b81525f6004820152602401610393565b6001600160a01b0383166109ef57604051634a1406b160e11b81525f6004820152602401610393565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561087d57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a6191815260200190565b60405180910390a350505050565b6001600160a01b038316610a99578060025f828254610a8e9190610d10565b90915550610b099050565b6001600160a01b0383165f9081526020819052604090205481811015610aeb5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610393565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216610b2557600280548290039055610b43565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b8891815260200190565b60405180910390a3505050565b80356001600160a01b0381168114610bab575f80fd5b919050565b5f8060408385031215610bc1575f80fd5b610bca83610b95565b946020939093013593505050565b5f6020808352835180828501525f5b81811015610c0357858101830151858201604001528201610be7565b505f604082860101526040601f19601f8301168501019250505092915050565b5f805f60608486031215610c35575f80fd5b610c3e84610b95565b9250610c4c60208501610b95565b9150604084013590509250925092565b5f60208284031215610c6c575f80fd5b610c7582610b95565b9392505050565b5f8060408385031215610c8d575f80fd5b610c9683610b95565b9150610ca460208401610b95565b90509250929050565b5f60208284031215610cbd575f80fd5b5051919050565b600181811c90821680610cd857607f821691505b602082108103610cf657634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561046957610469610cfc565b808202811582820484141761046957610469610cfc565b5f82610d5457634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561046957610469610cfc56fea2646970667358221220974f5b92f9da2e79eb809d6212f16c3c9380613e700b48a6cdc5486470f0aaee64736f6c63430008140033

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.