ETH Price: $2,272.44 (-3.13%)

Token

Rekt (REKT)
 

Overview

Max Total Supply

420,690,000,000,000 REKT

Holders

15,246 ( -0.026%)
Created with Highcharts 10.2.1

Market

Price

$0.00 @ 0.000000 ETH (-3.15%)

Onchain Market Cap

$25,479,510.54

Circulating Supply Market Cap

$25,486,686.00

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
broleon.eth
Balance
1,000,000 REKT

Value
$0.06 ( ~2.64033775487371E-05 Eth) [0.0000%]
0x8c42a956f99a621277cb36ea6facb4b9586ef842
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

The REKT project is a meme-based, community-driven ecosystem that integrates art, culture, and consumer products like Rekt Drinks, targeting digitally-savvy, culturally engaged crypto enthusiasts and collectors.

# Exchange Pair Price  24H Volume % Volume
1
Gate.io
REKTCOIN-USDT$0.00
0.0000000 Eth
$599,240.00
9,628,423,733,958.000 REKTCOIN
46.0144%
2
KuCoin
REKT-USDT$0.00
0.0000000 Eth
$369,255.00
6,080,421,668,826.000 REKT
29.0584%
3
MEXC
REKTCOIN-USDT$0.00
0.0000000 Eth
$193,587.00
3,193,570,323,678.000 REKTCOIN
15.2621%
4
Ourbit
REKTCOIN-USDT$0.00
0.0000000 Eth
$103,706.00
1,666,231,756,223.000 REKTCOIN
7.9630%
5
Bilaxy
REKT3-ETH$0.00
0.0000000 Eth
$38,890.00
681,111,554,781.000 REKT3
3.2550%
6
Uniswap V3 (Ethereum)
0XDD3B11EF34CD511A2DA159034A05FCB94D806686-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2$0.00
0.0000000 Eth
$14,721.24
243,747,818,116.659 0XDD3B11EF34CD511A2DA159034A05FCB94D806686
1.1649%
7
Aerodrome (Base)
0XB3E3C89B8D9C88B1FE96856E382959EE6291EBBA-0X4200000000000000000000000000000000000006$0.00
0.0000000 Eth
$3,929.83
65,328,239,241.305 0XB3E3C89B8D9C88B1FE96856E382959EE6291EBBA
0.3122%
8
Uniswap V2 (Base)
0XB3E3C89B8D9C88B1FE96856E382959EE6291EBBA-0X0B3E328455C4059EEB9E3F84B5543F74E24E7E1B$0.00
0.0000000 Eth
$2,012.74
34,554,162,162.938 0XB3E3C89B8D9C88B1FE96856E382959EE6291EBBA
0.1651%
9
Uniswap V3 (Base)
0XB3E3C89B8D9C88B1FE96856E382959EE6291EBBA-0X4200000000000000000000000000000000000006$0.00
0.0000000 Eth
$776.74
12,520,025,237.964 0XB3E3C89B8D9C88B1FE96856E382959EE6291EBBA
0.0598%

Contract Source Code Verified (Exact Match)

Contract Name:
Rekt

Compiler Version
v0.8.27+commit.40a35a09

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
File 1 of 24 : Rekt.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.20;
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";
contract Rekt is Ownable, ERC20, ERC20Burnable, ERC20Pausable, ERC20Permit {
constructor(
string memory name_,
string memory symbol_
) Ownable(msg.sender) ERC20(name_, symbol_) ERC20Permit(name_) {
_mint(
0x424De83E135d0BE9a4b6b1268b04BCD4D92F7C98,
420_690_000_000_000 ether
);
}
function pause() public onlyOwner {
_pause();
}
function unpause() public onlyOwner {
_unpause();
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 2 of 24 : 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 3 of 24 : 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.1.0) (interfaces/draft-IERC6093.sol)
pragma solidity ^0.8.20;
/**
* @dev Standard ERC-20 Errors
* Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 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 4 of 24 : IERC5267.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/IERC5267.sol)
pragma solidity ^0.8.20;
interface IERC5267 {
/**
* @dev MAY be emitted to signal that the domain could have changed.
*/
event EIP712DomainChanged();
/**
* @dev returns the fields and values that describe the domain separator used by this contract for EIP-712
* signature.
*/
function eip712Domain()
external
view
returns (
bytes1 fields,
string memory name,
string memory version,
uint256 chainId,
address verifyingContract,
bytes32 salt,
uint256[] memory extensions
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 5 of 24 : 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.1.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 ERC-20
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 6 of 24 : ERC20Burnable.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/ERC20Burnable.sol)
pragma solidity ^0.8.20;
import {ERC20} from "../ERC20.sol";
import {Context} from "../../../utils/Context.sol";
/**
* @dev Extension of {ERC20} that allows token holders to destroy both their own
* tokens and those that they have an allowance for, in a way that can be
* recognized off-chain (via event analysis).
*/
abstract contract ERC20Burnable is Context, ERC20 {
/**
* @dev Destroys a `value` amount of tokens from the caller.
*
* See {ERC20-_burn}.
*/
function burn(uint256 value) public virtual {
_burn(_msgSender(), value);
}
/**
* @dev Destroys a `value` amount of tokens from `account`, deducting from
* the caller's allowance.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 7 of 24 : ERC20Pausable.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/extensions/ERC20Pausable.sol)
pragma solidity ^0.8.20;
import {ERC20} from "../ERC20.sol";
import {Pausable} from "../../../utils/Pausable.sol";
/**
* @dev ERC-20 token with pausable token transfers, minting and burning.
*
* Useful for scenarios such as preventing trades until the end of an evaluation
* period, or having an emergency switch for freezing all token transfers in the
* event of a large bug.
*
* IMPORTANT: This contract does not include public pause and unpause functions. In
* addition to inheriting this contract, you must define both functions, invoking the
* {Pausable-_pause} and {Pausable-_unpause} internal functions, with appropriate
* access control, e.g. using {AccessControl} or {Ownable}. Not doing so will
* make the contract pause mechanism of the contract unreachable, and thus unusable.
*/
abstract contract ERC20Pausable is ERC20, Pausable {
/**
* @dev See {ERC20-_update}.
*
* Requirements:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 8 of 24 : 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 v5.1.0) (token/ERC20/extensions/ERC20Permit.sol)
pragma solidity ^0.8.20;
import {IERC20Permit} from "./IERC20Permit.sol";
import {ERC20} from "../ERC20.sol";
import {ECDSA} from "../../../utils/cryptography/ECDSA.sol";
import {EIP712} from "../../../utils/cryptography/EIP712.sol";
import {Nonces} from "../../../utils/Nonces.sol";
/**
* @dev Implementation of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in
* https://eips.ethereum.org/EIPS/eip-2612[ERC-2612].
*
* Adds the {permit} method, which can be used to change an account's ERC-20 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.
*/
abstract contract ERC20Permit is ERC20, IERC20Permit, EIP712, Nonces {
bytes32 private constant PERMIT_TYPEHASH =
keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
/**
* @dev Permit deadline has expired.
*/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 9 of 24 : 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.1.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 ERC-20 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 10 of 24 : 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 (last updated v5.1.0) (token/ERC20/extensions/IERC20Permit.sol)
pragma solidity ^0.8.20;
/**
* @dev Interface of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in
* https://eips.ethereum.org/EIPS/eip-2612[ERC-2612].
*
* Adds the {permit} method, which can be used to change an account's ERC-20 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.
*
* ==== Security Considerations
*
* There are two important considerations concerning the use of `permit`. The first is that a valid permit signature
* expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be
* considered as an intention to spend the allowance in any specific way. The second is that because permits have
* built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should
* take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be
* generally recommended is:
*
* ```solidity
* function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public {
* try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {}
* doThing(..., value);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 11 of 24 : 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.1.0) (token/ERC20/IERC20.sol)
pragma solidity ^0.8.20;
/**
* @dev Interface of the ERC-20 standard as defined in the ERC.
*/
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 12 of 24 : 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 13 of 24 : 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 v5.1.0) (utils/cryptography/ECDSA.sol)
pragma solidity ^0.8.20;
/**
* @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
}
/**
* @dev The signature derives the `address(0)`.
*/
error ECDSAInvalidSignature();
/**
* @dev The signature has an invalid length.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 14 of 24 : 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 v5.1.0) (utils/cryptography/EIP712.sol)
pragma solidity ^0.8.20;
import {MessageHashUtils} from "./MessageHashUtils.sol";
import {ShortStrings, ShortString} from "../ShortStrings.sol";
import {IERC5267} from "../../interfaces/IERC5267.sol";
/**
* @dev https://eips.ethereum.org/EIPS/eip-712[EIP-712] is a standard for hashing and signing of typed structured data.
*
* The encoding scheme specified in the EIP requires a domain separator and a hash of the typed structured data, whose
* encoding is very generic and therefore its 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 order to
* produce the hash of their typed data 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].
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 15 of 24 : MessageHashUtils.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/cryptography/MessageHashUtils.sol)
pragma solidity ^0.8.20;
import {Strings} from "../Strings.sol";
/**
* @dev Signature message hash utilities for producing digests to be consumed by {ECDSA} recovery or signing.
*
* The library provides methods for generating a hash of a message that conforms to the
* https://eips.ethereum.org/EIPS/eip-191[ERC-191] and https://eips.ethereum.org/EIPS/eip-712[EIP 712]
* specifications.
*/
library MessageHashUtils {
/**
* @dev Returns the keccak256 digest of an ERC-191 signed data with version
* `0x45` (`personal_sign` messages).
*
* The digest is calculated by prefixing a bytes32 `messageHash` with
* `"\x19Ethereum Signed Message:\n32"` and hashing the result. It corresponds with the
* hash signed when using the https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] JSON-RPC method.
*
* NOTE: The `messageHash` parameter is intended to be the result of hashing a raw message with
* keccak256, although any bytes32 value can be safely used because the final digest will
* be re-hashed.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 16 of 24 : 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 v5.1.0) (utils/math/Math.sol)
pragma solidity ^0.8.20;
import {Panic} from "../Panic.sol";
import {SafeCast} from "./SafeCast.sol";
/**
* @dev Standard math utilities missing in the Solidity language.
*/
library Math {
enum Rounding {
Floor, // Toward negative infinity
Ceil, // Toward positive infinity
Trunc, // Toward zero
Expand // Away from zero
}
/**
* @dev Returns the addition of two unsigned integers, with an success flag (no overflow).
*/
function tryAdd(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {
unchecked {
uint256 c = a + b;
if (c < a) return (false, 0);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 17 of 24 : SafeCast.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/math/SafeCast.sol)
// This file was procedurally generated from scripts/generate/templates/SafeCast.js.
pragma solidity ^0.8.20;
/**
* @dev Wrappers over Solidity's uintXX/intXX/bool casting operators with added overflow
* checks.
*
* Downcasting from uint256/int256 in Solidity does not revert on overflow. This can
* easily result in undesired exploitation or bugs, since developers usually
* assume that overflows raise errors. `SafeCast` restores this intuition by
* reverting the transaction when such an operation overflows.
*
* Using this library instead of the unchecked operations eliminates an entire
* class of bugs, so it's recommended to use it always.
*/
library SafeCast {
/**
* @dev Value doesn't fit in an uint of `bits` size.
*/
error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value);
/**
* @dev An int value doesn't fit in an uint of `bits` size.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 18 of 24 : SignedMath.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/math/SignedMath.sol)
pragma solidity ^0.8.20;
import {SafeCast} from "./SafeCast.sol";
/**
* @dev Standard signed math utilities missing in the Solidity language.
*/
library SignedMath {
/**
* @dev Branchless ternary evaluation for `a ? b : c`. Gas costs are constant.
*
* IMPORTANT: This function may reduce bytecode size and consume less gas when used standalone.
* However, the compiler may optimize Solidity ternary operations (i.e. `a ? b : c`) to only compute
* one branch when needed, making this function more expensive.
*/
function ternary(bool condition, int256 a, int256 b) internal pure returns (int256) {
unchecked {
// branchless ternary works because:
// b ^ (a ^ b) == a
// b ^ 0 == b
return b ^ ((a ^ b) * int256(SafeCast.toUint(condition)));
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 19 of 24 : Nonces.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) (utils/Nonces.sol)
pragma solidity ^0.8.20;
/**
* @dev Provides tracking nonces for addresses. Nonces will only increment.
*/
abstract contract Nonces {
/**
* @dev The nonce used for an `account` is not the expected current nonce.
*/
error InvalidAccountNonce(address account, uint256 currentNonce);
mapping(address account => uint256) private _nonces;
/**
* @dev Returns the next unused nonce for an address.
*/
function nonces(address owner) public view virtual returns (uint256) {
return _nonces[owner];
}
/**
* @dev Consumes a nonce.
*
* Returns the current value and increments nonce.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 20 of 24 : Panic.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/Panic.sol)
pragma solidity ^0.8.20;
/**
* @dev Helper library for emitting standardized panic codes.
*
* ```solidity
* contract Example {
* using Panic for uint256;
*
* // Use any of the declared internal constants
* function foo() { Panic.GENERIC.panic(); }
*
* // Alternatively
* function foo() { Panic.panic(Panic.GENERIC); }
* }
* ```
*
* Follows the list from https://github.com/ethereum/solidity/blob/v0.8.24/libsolutil/ErrorCodes.h[libsolutil].
*
* _Available since v5.1._
*/
// slither-disable-next-line unused-state
library Panic {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 21 of 24 : Pausable.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) (utils/Pausable.sol)
pragma solidity ^0.8.20;
import {Context} from "../utils/Context.sol";
/**
* @dev Contract module which allows children to implement an emergency stop
* mechanism that can be triggered by an authorized account.
*
* This module is used through inheritance. It will make available the
* modifiers `whenNotPaused` and `whenPaused`, which can be applied to
* the functions of your contract. Note that they will not be pausable by
* simply including this module, only once the modifiers are put in place.
*/
abstract contract Pausable is Context {
bool private _paused;
/**
* @dev Emitted when the pause is triggered by `account`.
*/
event Paused(address account);
/**
* @dev Emitted when the pause is lifted by `account`.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 22 of 24 : ShortStrings.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/ShortStrings.sol)
pragma solidity ^0.8.20;
import {StorageSlot} from "./StorageSlot.sol";
// | string | 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA |
// | length | 0x BB |
type ShortString is bytes32;
/**
* @dev This library provides functions to convert short memory strings
* into a `ShortString` type that can be used as an immutable variable.
*
* Strings of arbitrary length can be optimized using this library if
* they are short enough (up to 31 bytes) by packing them with their
* length (1 byte) in a single EVM word (32 bytes). Additionally, a
* fallback mechanism can be used for every other case.
*
* Usage example:
*
* ```solidity
* contract Named {
* using ShortStrings for *;
*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 23 of 24 : StorageSlot.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/StorageSlot.sol)
// This file was procedurally generated from scripts/generate/templates/StorageSlot.js.
pragma solidity ^0.8.20;
/**
* @dev Library for reading and writing primitive types to specific storage slots.
*
* Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.
* This library helps with reading and writing to such slots without the need for inline assembly.
*
* The functions in this library return Slot structs that contain a `value` member that can be used to read or write.
*
* Example usage to set ERC-1967 implementation slot:
* ```solidity
* contract ERC1967 {
* // Define the slot. Alternatively, use the SlotDerivation library to derive the slot.
* bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
*
* function _getImplementation() internal view returns (address) {
* return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;
* }
*
* function _setImplementation(address newImplementation) internal {
* require(newImplementation.code.length > 0);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 24 of 24 : 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 v5.1.0) (utils/Strings.sol)
pragma solidity ^0.8.20;
import {Math} from "./math/Math.sol";
import {SignedMath} from "./math/SignedMath.sol";
/**
* @dev String operations.
*/
library Strings {
bytes16 private constant HEX_DIGITS = "0123456789abcdef";
uint8 private constant ADDRESS_LENGTH = 20;
/**
* @dev The `value` string doesn't fit in the specified `length`.
*/
error StringsInsufficientHexLength(uint256 value, uint256 length);
/**
* @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;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"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":"uint256","name":"deadline","type":"uint256"}],"name":"ERC2612ExpiredSignature","type":"error"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC2612InvalidSigner","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"name":"InvalidAccountNonce","type":"error"},{"inputs":[],"name":"InvalidShortString","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":"string","name":"str","type":"string"}],"name":"StringTooLong","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":[],"name":"EIP712DomainChanged","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":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","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":"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":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}],"stateMutability":"view","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":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"value","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":"value","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":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]

61016060405234801561001157600080fd5b5060405161196a38038061196a833981016040819052610030916104ba565b6040805180820190915260018152603160f81b6020820152829081908184338061007557604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61007e81610189565b50600461008b83826105ab565b50600561009882826105ab565b50506006805460ff19169055506100b08260076101d9565b610120526100bf8160086101d9565b61014052815160208084019190912060e052815190820120610100524660a05261014c60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0525061018273424de83e135d0be9a4b6b1268b04bcd4d92f7c986d14bddab3e51a57cff87a5000000061020c565b50506106e1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020835110156101f5576101ee83610246565b9050610206565b8161020084826105ab565b5060ff90505b92915050565b6001600160a01b0382166102365760405163ec442f0560e01b81526000600482015260240161006c565b61024260008383610284565b5050565b600080829050601f81511115610271578260405163305a27a960e01b815260040161006c9190610669565b805161027c8261069c565b179392505050565b61028f838383610294565b505050565b61029c6102a7565b61028f8383836102cd565b60065460ff16156102cb5760405163d93c066560e01b815260040160405180910390fd5b565b6001600160a01b0383166102f85780600360008282546102ed91906106c0565b9091555061036a9050565b6001600160a01b0383166000908152600160205260409020548181101561034b5760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161006c565b6001600160a01b03841660009081526001602052604090209082900390555b6001600160a01b038216610386576003805482900390556103a5565b6001600160a01b03821660009081526001602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516103ea91815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015610428578181015183820152602001610410565b50506000910152565b600082601f83011261044257600080fd5b81516001600160401b0381111561045b5761045b6103f7565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610489576104896103f7565b6040528181528382016020018510156104a157600080fd5b6104b282602083016020870161040d565b949350505050565b600080604083850312156104cd57600080fd5b82516001600160401b038111156104e357600080fd5b6104ef85828601610431565b602085015190935090506001600160401b0381111561050d57600080fd5b61051985828601610431565b9150509250929050565b600181811c9082168061053757607f821691505b60208210810361055757634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561028f57806000526020600020601f840160051c810160208510156105845750805b601f840160051c820191505b818110156105a45760008155600101610590565b5050505050565b81516001600160401b038111156105c4576105c46103f7565b6105d8816105d28454610523565b8461055d565b6020601f82116001811461060c57600083156105f45750848201515b600019600385901b1c1916600184901b1784556105a4565b600084815260208120601f198516915b8281101561063c578785015182556020948501946001909201910161061c565b508482101561065a5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b602081526000825180602084015261068881604085016020870161040d565b601f01601f19169190910160400192915050565b805160208083015191908110156105575760001960209190910360031b1b16919050565b8082018082111561020657634e487b7160e01b600052601160045260246000fd5b60805160a05160c05160e05161010051610120516101405161122f61073b60003960006109b401526000610987015260006107ed015260006107c5015260006107200152600061074a01526000610774015261122f6000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b85780638da5cb5b1161007c5780638da5cb5b1461025b57806395d89b4114610276578063a9059cbb1461027e578063d505accf14610291578063dd62ed3e146102a4578063f2fde38b146102dd57600080fd5b8063715018a61461020a57806379cc6790146102125780637ecebe00146102255780638456cb591461023857806384b0196e1461024057600080fd5b80633644e515116100ff5780633644e515146101b15780633f4ba83a146101b957806342966c68146101c35780635c975abb146101d657806370a08231146101e157600080fd5b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461017d57806323b872dd1461018f578063313ce567146101a2575b600080fd5b6101446102f0565b6040516101519190610f79565b60405180910390f35b61016d610168366004610faf565b610382565b6040519015158152602001610151565b6003545b604051908152602001610151565b61016d61019d366004610fd9565b61039c565b60405160128152602001610151565b6101816103c0565b6101c16103cf565b005b6101c16101d1366004611016565b6103e1565b60065460ff1661016d565b6101816101ef36600461102f565b6001600160a01b031660009081526001602052604090205490565b6101c16103ee565b6101c1610220366004610faf565b610400565b61018161023336600461102f565b610419565b6101c1610437565b610248610447565b604051610151979695949392919061104a565b6000546040516001600160a01b039091168152602001610151565b61014461048d565b61016d61028c366004610faf565b61049c565b6101c161029f3660046110e2565b6104aa565b6101816102b2366004611155565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6101c16102eb36600461102f565b6105e9565b6060600480546102ff90611188565b80601f016020809104026020016040519081016040528092919081815260200182805461032b90611188565b80156103785780601f1061034d57610100808354040283529160200191610378565b820191906000526020600020905b81548152906001019060200180831161035b57829003601f168201915b5050505050905090565b600033610390818585610624565b60019150505b92915050565b6000336103aa858285610636565b6103b58585856106b4565b506001949350505050565b60006103ca610713565b905090565b6103d761083e565b6103df61086b565b565b6103eb33826108bd565b50565b6103f661083e565b6103df60006108f3565b61040b823383610636565b61041582826108bd565b5050565b6001600160a01b038116600090815260096020526040812054610396565b61043f61083e565b6103df610943565b60006060806000806000606061045b610980565b6104636109ad565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600580546102ff90611188565b6000336103908185856106b4565b834211156104d35760405163313c898160e11b8152600481018590526024015b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886105208c6001600160a01b0316600090815260096020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061057b826109da565b9050600061058b82878787610a07565b9050896001600160a01b0316816001600160a01b0316146105d2576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016104ca565b6105dd8a8a8a610624565b50505050505050505050565b6105f161083e565b6001600160a01b03811661061b57604051631e4fbdf760e01b8152600060048201526024016104ca565b6103eb816108f3565b6106318383836001610a35565b505050565b6001600160a01b0383811660009081526002602090815260408083209386168352929052205460001981146106ae578181101561069f57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016104ca565b6106ae84848484036000610a35565b50505050565b6001600160a01b0383166106de57604051634b637e8f60e11b8152600060048201526024016104ca565b6001600160a01b0382166107085760405163ec442f0560e01b8152600060048201526024016104ca565b610631838383610b0a565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561076c57507f000000000000000000000000000000000000000000000000000000000000000046145b1561079657507f000000000000000000000000000000000000000000000000000000000000000090565b6103ca604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b6000546001600160a01b031633146103df5760405163118cdaa760e01b81523360048201526024016104ca565b610873610b15565b6006805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0382166108e757604051634b637e8f60e11b8152600060048201526024016104ca565b61041582600083610b0a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61094b610b38565b6006805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586108a03390565b60606103ca7f00000000000000000000000000000000000000000000000000000000000000006007610b5c565b60606103ca7f00000000000000000000000000000000000000000000000000000000000000006008610b5c565b60006103966109e7610713565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600080610a1988888888610c07565b925092509250610a298282610cd6565b50909695505050505050565b6001600160a01b038416610a5f5760405163e602df0560e01b8152600060048201526024016104ca565b6001600160a01b038316610a8957604051634a1406b160e11b8152600060048201526024016104ca565b6001600160a01b03808516600090815260026020908152604080832093871683529290522082905580156106ae57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610afc91815260200190565b60405180910390a350505050565b610631838383610d8f565b60065460ff166103df57604051638dfc202b60e01b815260040160405180910390fd5b60065460ff16156103df5760405163d93c066560e01b815260040160405180910390fd5b606060ff8314610b7657610b6f83610da2565b9050610396565b818054610b8290611188565b80601f0160208091040260200160405190810160405280929190818152602001828054610bae90611188565b8015610bfb5780601f10610bd057610100808354040283529160200191610bfb565b820191906000526020600020905b815481529060010190602001808311610bde57829003601f168201915b50505050509050610396565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610c425750600091506003905082610ccc565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610c96573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610cc257506000925060019150829050610ccc565b9250600091508190505b9450945094915050565b6000826003811115610cea57610cea6111c2565b03610cf3575050565b6001826003811115610d0757610d076111c2565b03610d255760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610d3957610d396111c2565b03610d5a5760405163fce698f760e01b8152600481018290526024016104ca565b6003826003811115610d6e57610d6e6111c2565b03610415576040516335e2f38360e21b8152600481018290526024016104ca565b610d97610b38565b610631838383610de1565b60606000610daf83610f0b565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b038316610e0c578060036000828254610e0191906111d8565b90915550610e7e9050565b6001600160a01b03831660009081526001602052604090205481811015610e5f5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104ca565b6001600160a01b03841660009081526001602052604090209082900390555b6001600160a01b038216610e9a57600380548290039055610eb9565b6001600160a01b03821660009081526001602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610efe91815260200190565b60405180910390a3505050565b600060ff8216601f81111561039657604051632cd44ac360e21b815260040160405180910390fd5b6000815180845260005b81811015610f5957602081850181015186830182015201610f3d565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610f8c6020830184610f33565b9392505050565b80356001600160a01b0381168114610faa57600080fd5b919050565b60008060408385031215610fc257600080fd5b610fcb83610f93565b946020939093013593505050565b600080600060608486031215610fee57600080fd5b610ff784610f93565b925061100560208501610f93565b929592945050506040919091013590565b60006020828403121561102857600080fd5b5035919050565b60006020828403121561104157600080fd5b610f8c82610f93565b60ff60f81b8816815260e06020820152600061106960e0830189610f33565b828103604084015261107b8189610f33565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501528451808252602080870193509091019060005b818110156110d15783518352602093840193909201916001016110b3565b50909b9a5050505050505050505050565b600080600080600080600060e0888a0312156110fd57600080fd5b61110688610f93565b965061111460208901610f93565b95506040880135945060608801359350608088013560ff8116811461113857600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561116857600080fd5b61117183610f93565b915061117f60208401610f93565b90509250929050565b600181811c9082168061119c57607f821691505b6020821081036111bc57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052602160045260246000fd5b8082018082111561039657634e487b7160e01b600052601160045260246000fdfea2646970667358221220b40c196a16ed7a9010a4c49e719053937529b773fec817d3d91856a41a97a18864736f6c634300081b003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000452656b7400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000452454b5400000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b85780638da5cb5b1161007c5780638da5cb5b1461025b57806395d89b4114610276578063a9059cbb1461027e578063d505accf14610291578063dd62ed3e146102a4578063f2fde38b146102dd57600080fd5b8063715018a61461020a57806379cc6790146102125780637ecebe00146102255780638456cb591461023857806384b0196e1461024057600080fd5b80633644e515116100ff5780633644e515146101b15780633f4ba83a146101b957806342966c68146101c35780635c975abb146101d657806370a08231146101e157600080fd5b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461017d57806323b872dd1461018f578063313ce567146101a2575b600080fd5b6101446102f0565b6040516101519190610f79565b60405180910390f35b61016d610168366004610faf565b610382565b6040519015158152602001610151565b6003545b604051908152602001610151565b61016d61019d366004610fd9565b61039c565b60405160128152602001610151565b6101816103c0565b6101c16103cf565b005b6101c16101d1366004611016565b6103e1565b60065460ff1661016d565b6101816101ef36600461102f565b6001600160a01b031660009081526001602052604090205490565b6101c16103ee565b6101c1610220366004610faf565b610400565b61018161023336600461102f565b610419565b6101c1610437565b610248610447565b604051610151979695949392919061104a565b6000546040516001600160a01b039091168152602001610151565b61014461048d565b61016d61028c366004610faf565b61049c565b6101c161029f3660046110e2565b6104aa565b6101816102b2366004611155565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6101c16102eb36600461102f565b6105e9565b6060600480546102ff90611188565b80601f016020809104026020016040519081016040528092919081815260200182805461032b90611188565b80156103785780601f1061034d57610100808354040283529160200191610378565b820191906000526020600020905b81548152906001019060200180831161035b57829003601f168201915b5050505050905090565b600033610390818585610624565b60019150505b92915050565b6000336103aa858285610636565b6103b58585856106b4565b506001949350505050565b60006103ca610713565b905090565b6103d761083e565b6103df61086b565b565b6103eb33826108bd565b50565b6103f661083e565b6103df60006108f3565b61040b823383610636565b61041582826108bd565b5050565b6001600160a01b038116600090815260096020526040812054610396565b61043f61083e565b6103df610943565b60006060806000806000606061045b610980565b6104636109ad565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600580546102ff90611188565b6000336103908185856106b4565b834211156104d35760405163313c898160e11b8152600481018590526024015b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886105208c6001600160a01b0316600090815260096020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061057b826109da565b9050600061058b82878787610a07565b9050896001600160a01b0316816001600160a01b0316146105d2576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016104ca565b6105dd8a8a8a610624565b50505050505050505050565b6105f161083e565b6001600160a01b03811661061b57604051631e4fbdf760e01b8152600060048201526024016104ca565b6103eb816108f3565b6106318383836001610a35565b505050565b6001600160a01b0383811660009081526002602090815260408083209386168352929052205460001981146106ae578181101561069f57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016104ca565b6106ae84848484036000610a35565b50505050565b6001600160a01b0383166106de57604051634b637e8f60e11b8152600060048201526024016104ca565b6001600160a01b0382166107085760405163ec442f0560e01b8152600060048201526024016104ca565b610631838383610b0a565b6000306001600160a01b037f000000000000000000000000dd3b11ef34cd511a2da159034a05fcb94d8066861614801561076c57507f000000000000000000000000000000000000000000000000000000000000000146145b1561079657507feacb002c7b89de94aadc3909f62f875ee07fa74b1012377dee601dcda677402690565b6103ca604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527fc2138eb4015a920b8ffd46aa5be83d77f8d9552b950f78e68dbad1b00950c285918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b6000546001600160a01b031633146103df5760405163118cdaa760e01b81523360048201526024016104ca565b610873610b15565b6006805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0382166108e757604051634b637e8f60e11b8152600060048201526024016104ca565b61041582600083610b0a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61094b610b38565b6006805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586108a03390565b60606103ca7f52656b74000000000000000000000000000000000000000000000000000000046007610b5c565b60606103ca7f31000000000000000000000000000000000000000000000000000000000000016008610b5c565b60006103966109e7610713565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600080610a1988888888610c07565b925092509250610a298282610cd6565b50909695505050505050565b6001600160a01b038416610a5f5760405163e602df0560e01b8152600060048201526024016104ca565b6001600160a01b038316610a8957604051634a1406b160e11b8152600060048201526024016104ca565b6001600160a01b03808516600090815260026020908152604080832093871683529290522082905580156106ae57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610afc91815260200190565b60405180910390a350505050565b610631838383610d8f565b60065460ff166103df57604051638dfc202b60e01b815260040160405180910390fd5b60065460ff16156103df5760405163d93c066560e01b815260040160405180910390fd5b606060ff8314610b7657610b6f83610da2565b9050610396565b818054610b8290611188565b80601f0160208091040260200160405190810160405280929190818152602001828054610bae90611188565b8015610bfb5780601f10610bd057610100808354040283529160200191610bfb565b820191906000526020600020905b815481529060010190602001808311610bde57829003601f168201915b50505050509050610396565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610c425750600091506003905082610ccc565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610c96573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610cc257506000925060019150829050610ccc565b9250600091508190505b9450945094915050565b6000826003811115610cea57610cea6111c2565b03610cf3575050565b6001826003811115610d0757610d076111c2565b03610d255760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610d3957610d396111c2565b03610d5a5760405163fce698f760e01b8152600481018290526024016104ca565b6003826003811115610d6e57610d6e6111c2565b03610415576040516335e2f38360e21b8152600481018290526024016104ca565b610d97610b38565b610631838383610de1565b60606000610daf83610f0b565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b038316610e0c578060036000828254610e0191906111d8565b90915550610e7e9050565b6001600160a01b03831660009081526001602052604090205481811015610e5f5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104ca565b6001600160a01b03841660009081526001602052604090209082900390555b6001600160a01b038216610e9a57600380548290039055610eb9565b6001600160a01b03821660009081526001602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610efe91815260200190565b60405180910390a3505050565b600060ff8216601f81111561039657604051632cd44ac360e21b815260040160405180910390fd5b6000815180845260005b81811015610f5957602081850181015186830182015201610f3d565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610f8c6020830184610f33565b9392505050565b80356001600160a01b0381168114610faa57600080fd5b919050565b60008060408385031215610fc257600080fd5b610fcb83610f93565b946020939093013593505050565b600080600060608486031215610fee57600080fd5b610ff784610f93565b925061100560208501610f93565b929592945050506040919091013590565b60006020828403121561102857600080fd5b5035919050565b60006020828403121561104157600080fd5b610f8c82610f93565b60ff60f81b8816815260e06020820152600061106960e0830189610f33565b828103604084015261107b8189610f33565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501528451808252602080870193509091019060005b818110156110d15783518352602093840193909201916001016110b3565b50909b9a5050505050505050505050565b600080600080600080600060e0888a0312156110fd57600080fd5b61110688610f93565b965061111460208901610f93565b95506040880135945060608801359350608088013560ff8116811461113857600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561116857600080fd5b61117183610f93565b915061117f60208401610f93565b90509250929050565b600181811c9082168061119c57607f821691505b6020821081036111bc57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052602160045260246000fd5b8082018082111561039657634e487b7160e01b600052601160045260246000fdfea2646970667358221220b40c196a16ed7a9010a4c49e719053937529b773fec817d3d91856a41a97a18864736f6c634300081b0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000452656b7400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000452454b5400000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): Rekt
Arg [1] : symbol_ (string): REKT

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [3] : 52656b7400000000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [5] : 52454b5400000000000000000000000000000000000000000000000000000000


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.