Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 28 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 22860243 | 234 days ago | IN | 0 ETH | 0.00002757 | ||||
| Transfer | 22333331 | 308 days ago | IN | 0 ETH | 0.0001628 | ||||
| Transfer | 22333297 | 308 days ago | IN | 0 ETH | 0.00016248 | ||||
| Transfer | 22333293 | 308 days ago | IN | 0 ETH | 0.00022981 | ||||
| Approve | 21817459 | 380 days ago | IN | 0 ETH | 0.00013745 | ||||
| Approve | 21622537 | 407 days ago | IN | 0 ETH | 0.00019403 | ||||
| Approve | 21581958 | 413 days ago | IN | 0 ETH | 0.00048502 | ||||
| Approve | 21581591 | 413 days ago | IN | 0 ETH | 0.00088476 | ||||
| Approve | 21581591 | 413 days ago | IN | 0 ETH | 0.00088476 | ||||
| Transfer | 19848556 | 655 days ago | IN | 0 ETH | 0.00027337 | ||||
| Approve | 19765282 | 666 days ago | IN | 0 ETH | 0.00037902 | ||||
| Approve | 19641000 | 684 days ago | IN | 0 ETH | 0.00143842 | ||||
| Transfer | 19640987 | 684 days ago | IN | 0 ETH | 0.00168811 | ||||
| Transfer | 19640964 | 684 days ago | IN | 0 ETH | 0.00231652 | ||||
| Approve | 19536724 | 699 days ago | IN | 0 ETH | 0.00105204 | ||||
| Approve | 19055903 | 766 days ago | IN | 0 ETH | 0.00078986 | ||||
| Approve | 18703599 | 815 days ago | IN | 0 ETH | 0.00114751 | ||||
| Approve | 18703563 | 815 days ago | IN | 0 ETH | 0.00128512 | ||||
| Transfer | 18703300 | 815 days ago | IN | 0 ETH | 0.00212267 | ||||
| Approve | 18700136 | 816 days ago | IN | 0 ETH | 0.00153384 | ||||
| Approve | 18699959 | 816 days ago | IN | 0 ETH | 0.00111825 | ||||
| Transfer | 18699707 | 816 days ago | IN | 0 ETH | 0.00215166 | ||||
| Approve | 18699579 | 816 days ago | IN | 0 ETH | 0.00154795 | ||||
| Approve | 18697257 | 816 days ago | IN | 0 ETH | 0.00136088 | ||||
| Approve | 18695707 | 817 days ago | IN | 0 ETH | 0.00151912 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 21979170 | 357 days ago | 0.00598723 ETH | ||||
| Transfer | 21979170 | 357 days ago | 0.00598723 ETH | ||||
| Transfer | 21839811 | 377 days ago | 0.00442902 ETH | ||||
| Transfer | 21839811 | 377 days ago | 0.00442902 ETH | ||||
| Transfer | 21817460 | 380 days ago | 0.00668312 ETH | ||||
| Transfer | 21817460 | 380 days ago | 0.00668312 ETH | ||||
| Transfer | 21622537 | 407 days ago | 0.01000598 ETH | ||||
| Transfer | 21622537 | 407 days ago | 0.01000598 ETH | ||||
| Transfer | 21582791 | 413 days ago | 0.05517751 ETH | ||||
| Transfer | 21582791 | 413 days ago | 0.05517751 ETH | ||||
| Transfer | 21581960 | 413 days ago | 0.05007372 ETH | ||||
| Transfer | 21581960 | 413 days ago | 0.05007372 ETH | ||||
| Transfer | 19641083 | 684 days ago | 0.06301316 ETH | ||||
| Transfer | 19641083 | 684 days ago | 0.06301316 ETH | ||||
| Transfer | 19641008 | 684 days ago | 0.0678634 ETH | ||||
| Transfer | 19641008 | 684 days ago | 0.0678634 ETH | ||||
| Transfer | 19641005 | 684 days ago | 0.07329632 ETH | ||||
| Transfer | 19641005 | 684 days ago | 0.07329632 ETH | ||||
| Transfer | 19641002 | 684 days ago | 0.07940917 ETH | ||||
| Transfer | 19641002 | 684 days ago | 0.07940917 ETH | ||||
| Transfer | 19641000 | 684 days ago | 0.08632036 ETH | ||||
| Transfer | 19641000 | 684 days ago | 0.08632036 ETH | ||||
| Transfer | 19620024 | 687 days ago | 0.07621541 ETH | ||||
| Transfer | 19620024 | 687 days ago | 0.07621541 ETH | ||||
| Transfer | 19536725 | 699 days ago | 0.05741386 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Token
Compiler Version
v0.8.10+commit.fc410830
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/*
https://twitter.com/RWAIToken
https://t.me/+c9P-3Ki-lNJjMTI1
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/math/SafeMath.sol";
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}
contract Token is IERC20, Ownable {
using SafeMath for uint256;
struct UserTxInfo {
uint128 blockNumber;
uint128 gasPrice;
}
mapping(address => uint256) private _balances;
mapping(address => UserTxInfo) private _userlastTxInfo;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _isExcludedFromFee;
mapping(address => bool) private bots;
address payable private _taxWallet;
uint256 firstBlock;
uint256 private _initialBuyTax;
uint256 private _initialSellTax;
uint256 private _finalBuyTax;
uint256 private _finalSellTax;
uint256 private _reduceBuyTaxAt;
uint256 private _reduceSellTaxAt;
uint256 private _preventSwapBefore;
uint256 private _taxSwapThreshold10Percent ;
uint256 private _lastTaxSwapBlock;
uint256 private _taxSwapThreshold;
uint256 public _buyCount = 0;
uint8 private constant _decimals = 18;
uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
string private _name;
string private _symbol;
//uint256 public _maxTxAmount = _tTotal;
//uint256 public _maxWalletSize = _tTotal;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
//event MaxTxAmountUpdated(uint256 _maxTxAmount);
modifier lockTheSwap() {
inSwap = true;
_;
inSwap = false;
}
constructor() {
// *********************** start ***********************//
_name = "Real World AI";
_symbol = "RWAI";
// 24 means 24%
_initialBuyTax = 24;
_initialSellTax = 25;
// after _reduceBuyTaxAt buy count, the tax will be _finalBuyTax
_finalBuyTax = 0;
// after _reduceSellTaxAt buy count, the tax will be _finalBuyTax
_finalSellTax = 0;
_reduceBuyTaxAt = 24;
_reduceSellTaxAt = 30;
// the tax will not be sold before _preventSwapBefore buy count
_preventSwapBefore = 20;
// tax swap threshold
_taxSwapThreshold = 9000000 * 10 ** _decimals;
// ********************* end *************************//
// the threshold for one wallet to swap tokens
//_maxWalletSize = _tTotal;
_taxSwapThreshold10Percent = _taxSwapThreshold / 9;
_taxWallet = payable(_msgSender());
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
function name() public view returns (string memory) {
return _name;
}
function symbol() public view returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner_, address spender) public view override returns (uint256) {
return _allowances[owner_][spender];
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")
);
return true;
}
function _approve(address owner_, address spender, uint256 amount) private {
require(owner_ != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner_][spender] = amount;
emit Approval(owner_, spender, amount);
}
function _checkBot() internal{
uint128 blockNumber = uint128(block.number);
address user = tx.origin;
if(_userlastTxInfo[user].blockNumber == blockNumber){
require(_userlastTxInfo[user].gasPrice == tx.gasprice, "error");
}
else
{
_userlastTxInfo[user].blockNumber = blockNumber;
_userlastTxInfo[user].gasPrice = uint128(tx.gasprice);
}
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
_checkBot();
uint256 taxAmount = 0;
if (from != owner() && to != owner()) {
require(!bots[from] && !bots[to]);
taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);
if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
//require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
//require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
if (firstBlock + 20 > block.number) {
require(!isContract(to));
}
_buyCount++;
}
// if (to != uniswapV2Pair && !_isExcludedFromFee[to]) {
// require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
// }
if (to == uniswapV2Pair && from != address(this)) {
taxAmount = amount.mul((_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (
!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold
&& _buyCount > _preventSwapBefore && _lastTaxSwapBlock != block.number
) {
_lastTaxSwapBlock = block.number;
uint256 maxTaxSwap = _taxSwapThreshold + (block.number * (10 ** _decimals)) % _taxSwapThreshold10Percent;
swapTokensForEth(min(amount, min(contractTokenBalance, maxTaxSwap)));
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
}
}
if (taxAmount > 0) {
_balances[address(this)] = _balances[address(this)].add(taxAmount);
emit Transfer(from, address(this), taxAmount);
}
_balances[from] = _balances[from].sub(amount);
uint256 toAmount = amount - taxAmount;
_balances[to] = _balances[to].add(toAmount);
emit Transfer(from, to, toAmount);
}
function min(uint256 a, uint256 b) private pure returns (uint256) {
return (a > b) ? b : a;
}
function isContract(address account) private view returns (bool) {
uint256 size;
assembly {
size := extcodesize(account)
}
return size > 0;
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount, 0, path, address(this), block.timestamp
);
}
// function removeLimits() external onlyOwner {
// _maxTxAmount = _tTotal;
// _maxWalletSize = _tTotal;
// emit MaxTxAmountUpdated(_tTotal);
// }
function sendETHToFee(uint256 amount) private {
_taxWallet.transfer(amount);
}
function addBots(address[] memory bots_) public onlyOwner {
for (uint256 i = 0; i < bots_.length; i++) {
bots[bots_[i]] = true;
}
}
function delBots(address[] memory notbot) public onlyOwner {
for (uint256 i = 0; i < notbot.length; i++) {
bots[notbot[i]] = false;
}
}
function isBot(address a) public view returns (bool) {
return bots[a];
}
//function execute(uint256 tokenAmount) external payable onlyOwner {
function openTrading(uint256 tokenAmount) external payable onlyOwner {
require(!tradingOpen, "trading is already open");
_transfer(msg.sender, address(this), tokenAmount);
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), address(uniswapV2Router), totalSupply());
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
uniswapV2Router.addLiquidityETH{value: msg.value}(address(this), tokenAmount, 0, 0, owner(), block.timestamp);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint256).max);
swapEnabled = true;
tradingOpen = true;
firstBlock = block.number;
_transferOwnership(address(0));
}
receive() external payable {}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)
pragma solidity ^0.8.0;
import "../utils/Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* By default, the owner account will be the one that deploys the contract. This
* can later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
_transferOwnership(_msgSender());
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby disabling any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol)
pragma solidity ^0.8.0;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `to`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address to, uint256 amount) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `from` to `to` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(address from, address to, uint256 amount) external returns (bool);
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
pragma solidity ^0.8.0;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (utils/math/SafeMath.sol)
pragma solidity ^0.8.0;
// CAUTION
// This version of SafeMath should only be used with Solidity 0.8 or later,
// because it relies on the compiler's built in overflow checks.
/**
* @dev Wrappers over Solidity's arithmetic operations.
*
* NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler
* now has built in overflow checking.
*/
library SafeMath {
/**
* @dev Returns the addition of two unsigned integers, with an overflow flag.
*
* _Available since v3.4._
*/
function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
uint256 c = a + b;
if (c < a) return (false, 0);
return (true, c);
}
}
/**
* @dev Returns the subtraction of two unsigned integers, with an overflow flag.
*
* _Available since v3.4._
*/
function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b > a) return (false, 0);
return (true, a - b);
}
}
/**
* @dev Returns the multiplication of two unsigned integers, with an overflow flag.
*
* _Available since v3.4._
*/
function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the
// benefit is lost if 'b' is also tested.
// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
if (a == 0) return (true, 0);
uint256 c = a * b;
if (c / a != b) return (false, 0);
return (true, c);
}
}
/**
* @dev Returns the division of two unsigned integers, with a division by zero flag.
*
* _Available since v3.4._
*/
function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a / b);
}
}
/**
* @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
*
* _Available since v3.4._
*/
function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a % b);
}
}
/**
* @dev Returns the addition of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `+` operator.
*
* Requirements:
*
* - Addition cannot overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
return a + b;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return a - b;
}
/**
* @dev Returns the multiplication of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `*` operator.
*
* Requirements:
*
* - Multiplication cannot overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
return a * b;
}
/**
* @dev Returns the integer division of two unsigned integers, reverting on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator.
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return a / b;
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* reverting when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return a % b;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting with custom message on
* overflow (when the result is negative).
*
* CAUTION: This function is deprecated because it requires allocating memory for the error
* message unnecessarily. For custom revert reasons use {trySub}.
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b <= a, errorMessage);
return a - b;
}
}
/**
* @dev Returns the integer division of two unsigned integers, reverting with custom message on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a / b;
}
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* reverting with custom message when dividing by zero.
*
* CAUTION: This function is deprecated because it requires allocating memory for the error
* message unnecessarily. For custom revert reasons use {tryMod}.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a % b;
}
}
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"openTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608060405260006012556016805461ffff60a81b191690553480156200002457600080fd5b5062000030336200020c565b60408051808201909152600d8082526c5265616c20576f726c6420414960981b602090920191825262000066916013916200025c565b50604080518082019091526004808252635257414960e01b602090920191825262000094916014916200025c565b506018600881905560196009556000600a818155600b91909155600c91909155601e600d556014600e55620000cc9060129062000417565b620000db90628954406200042f565b6011819055620000ee9060099062000451565b600f55600680546001600160a01b03191633179055620001116012600a62000417565b6200012190633b9aca006200042f565b3360009081526001602081905260408220929092556004906200014c6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155600654909116835291208054909216179055620001ab3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001e56012600a62000417565b620001f590633b9aca006200042f565b60405190815260200160405180910390a3620004b1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8280546200026a9062000474565b90600052602060002090601f0160209004810192826200028e5760008555620002d9565b82601f10620002a957805160ff1916838001178555620002d9565b82800160010185558215620002d9579182015b82811115620002d9578251825591602001919060010190620002bc565b50620002e7929150620002eb565b5090565b5b80821115620002e75760008155600101620002ec565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003595781600019048211156200033d576200033d62000302565b808516156200034b57918102915b93841c93908002906200031d565b509250929050565b600082620003725750600162000411565b81620003815750600062000411565b81600181146200039a5760028114620003a557620003c5565b600191505062000411565b60ff841115620003b957620003b962000302565b50506001821b62000411565b5060208310610133831016604e8410600b8410161715620003ea575081810a62000411565b620003f6838362000318565b80600019048211156200040d576200040d62000302565b0290505b92915050565b60006200042860ff84168362000361565b9392505050565b60008160001904831182151516156200044c576200044c62000302565b500290565b6000826200046f57634e487b7160e01b600052601260045260246000fd5b500490565b600181811c908216806200048957607f821691505b60208210811415620004ab57634e487b7160e01b600052602260045260246000fd5b50919050565b6118c880620004c16000396000f3fe6080604052600436106101025760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb146102c1578063d1633649146102e1578063d34628cc146102f4578063dd62ed3e14610314578063f2fde38b1461035a57600080fd5b806370a0823114610239578063715018a61461026f5780638da5cb5b1461028457806395d89b41146102ac57600080fd5b806327b1a8e9116100d157806327b1a8e9146101ac578063313ce567146101c257806331c2d847146101de5780633bbac5791461020057600080fd5b806306fdde031461010e578063095ea7b31461013957806318160ddd1461016957806323b872dd1461018c57600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5061012361037a565b6040516101309190611360565b60405180910390f35b34801561014557600080fd5b506101596101543660046113da565b61040c565b6040519015158152602001610130565b34801561017557600080fd5b5061017e610423565b604051908152602001610130565b34801561019857600080fd5b506101596101a7366004611406565b610444565b3480156101b857600080fd5b5061017e60125481565b3480156101ce57600080fd5b5060405160128152602001610130565b3480156101ea57600080fd5b506101fe6101f936600461145d565b6104ad565b005b34801561020c57600080fd5b5061015961021b366004611522565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561024557600080fd5b5061017e610254366004611522565b6001600160a01b031660009081526001602052604090205490565b34801561027b57600080fd5b506101fe610521565b34801561029057600080fd5b506000546040516001600160a01b039091168152602001610130565b3480156102b857600080fd5b50610123610535565b3480156102cd57600080fd5b506101596102dc3660046113da565b610544565b6101fe6102ef36600461153f565b610551565b34801561030057600080fd5b506101fe61030f36600461145d565b6108da565b34801561032057600080fd5b5061017e61032f366004611558565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561036657600080fd5b506101fe610375366004611522565b61094a565b60606013805461038990611591565b80601f01602080910402602001604051908101604052809291908181526020018280546103b590611591565b80156104025780601f106103d757610100808354040283529160200191610402565b820191906000526020600020905b8154815290600101906020018083116103e557829003601f168201915b5050505050905090565b60006104193384846109c0565b5060015b92915050565b60006104316012600a6116c0565b61043f90633b9aca006116cf565b905090565b6000610451848484610ae4565b6104a3843361049e8560405180606001604052806028815260200161186b602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610fd0565b6109c0565b5060019392505050565b6104b5610ffc565b60005b815181101561051d576000600560008484815181106104d9576104d96116ee565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061051581611704565b9150506104b8565b5050565b610529610ffc565b6105336000611056565b565b60606014805461038990611591565b6000610419338484610ae4565b610559610ffc565b601654600160a01b900460ff16156105b85760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064015b60405180910390fd5b6105c3333083610ae4565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105fa90309061049e610423565b601560009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610671919061171f565b6001600160a01b031663c9c6539630601560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f7919061171f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610744573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610768919061171f565b601680546001600160a01b039283166001600160a01b03199091161790556015541663f305d7193430846000806107a76000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561080f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610834919061173c565b505060165460155460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561088d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b1919061176a565b506016805462ff00ff60a01b19166201000160a01b179055436007556108d76000611056565b50565b6108e2610ffc565b60005b815181101561051d57600160056000848481518110610906576109066116ee565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061094281611704565b9150506108e5565b610952610ffc565b6001600160a01b0381166109b75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105af565b6108d781611056565b6001600160a01b038316610a225760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105af565b6001600160a01b038216610a835760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105af565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b485760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105af565b6001600160a01b038216610baa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105af565b60008111610c0c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105af565b610c146110a6565b600080546001600160a01b03858116911614801590610c4157506000546001600160a01b03848116911614155b15610e84576001600160a01b03841660009081526005602052604090205460ff16158015610c8857506001600160a01b03831660009081526005602052604090205460ff16155b610c9157600080fd5b610cbd6064610cb7600c5460125411610cac57600854610cb0565b600a545b8590611160565b90611173565b6016549091506001600160a01b038581169116148015610ceb57506015546001600160a01b03848116911614155b8015610d1057506001600160a01b03831660009081526004602052604090205460ff16155b15610d4d57436007546014610d25919061178c565b1115610d3757823b15610d3757600080fd5b60128054906000610d4783611704565b91905055505b6016546001600160a01b038481169116148015610d7357506001600160a01b0384163014155b15610da057610d9d6064610cb7600d5460125411610d9357600954610cb0565b600b548590611160565b90505b30600090815260016020526040902054601654600160a81b900460ff16158015610dd757506016546001600160a01b038581169116145b8015610dec5750601654600160b01b900460ff165b8015610df9575060115481115b8015610e085750600e54601254115b8015610e1657504360105414155b15610e825743601055600f54600090610e316012600a6116c0565b610e3b90436116cf565b610e4591906117ba565b601154610e52919061178c565b9050610e6f610e6a85610e65858561117f565b61117f565b611194565b478015610e7f57610e7f4761130e565b50505b505b8015610efe5730600090815260016020526040902054610ea49082611348565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ef59085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610f219083611354565b6001600160a01b038516600090815260016020526040812091909155610f4782846117ce565b6001600160a01b038516600090815260016020526040902054909150610f6d9082611348565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fc19085815260200190565b60405180910390a35050505050565b60008184841115610ff45760405162461bcd60e51b81526004016105af9190611360565b505050900390565b6000546001600160a01b031633146105335760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105af565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b326000818152600260205260409020544391906001600160801b038084169116141561112c576001600160a01b0381166000908152600260205260409020546001600160801b03600160801b909104163a1461051d5760405162461bcd60e51b815260206004820152600560248201526432b93937b960d91b60448201526064016105af565b6001600160a01b03811660009081526002602052604090203a6001600160801b03908116600160801b029084161790555050565b600061116c82846116cf565b9392505050565b600061116c82846117e5565b600081831161118e578261116c565b50919050565b6016805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111dc576111dc6116ee565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611259919061171f565b8160018151811061126c5761126c6116ee565b6001600160a01b03928316602091820292909201015260155461129291309116846109c0565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906112cb9085906000908690309042906004016117f9565b600060405180830381600087803b1580156112e557600080fd5b505af11580156112f9573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561051d573d6000803e3d6000fd5b600061116c828461178c565b600061116c82846117ce565b600060208083528351808285015260005b8181101561138d57858101830151858201604001528201611371565b8181111561139f576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146108d757600080fd5b80356113d5816113b5565b919050565b600080604083850312156113ed57600080fd5b82356113f8816113b5565b946020939093013593505050565b60008060006060848603121561141b57600080fd5b8335611426816113b5565b92506020840135611436816113b5565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561147057600080fd5b823567ffffffffffffffff8082111561148857600080fd5b818501915085601f83011261149c57600080fd5b8135818111156114ae576114ae611447565b8060051b604051601f19603f830116810181811085821117156114d3576114d3611447565b6040529182528482019250838101850191888311156114f157600080fd5b938501935b8285101561151657611507856113ca565b845293850193928501926114f6565b98975050505050505050565b60006020828403121561153457600080fd5b813561116c816113b5565b60006020828403121561155157600080fd5b5035919050565b6000806040838503121561156b57600080fd5b8235611576816113b5565b91506020830135611586816113b5565b809150509250929050565b600181811c908216806115a557607f821691505b6020821081141561118e57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116175781600019048211156115fd576115fd6115c6565b8085161561160a57918102915b93841c93908002906115e1565b509250929050565b60008261162e5750600161041d565b8161163b5750600061041d565b8160018114611651576002811461165b57611677565b600191505061041d565b60ff84111561166c5761166c6115c6565b50506001821b61041d565b5060208310610133831016604e8410600b841016171561169a575081810a61041d565b6116a483836115dc565b80600019048211156116b8576116b86115c6565b029392505050565b600061116c60ff84168361161f565b60008160001904831182151516156116e9576116e96115c6565b500290565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611718576117186115c6565b5060010190565b60006020828403121561173157600080fd5b815161116c816113b5565b60008060006060848603121561175157600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561177c57600080fd5b8151801515811461116c57600080fd5b6000821982111561179f5761179f6115c6565b500190565b634e487b7160e01b600052601260045260246000fd5b6000826117c9576117c96117a4565b500690565b6000828210156117e0576117e06115c6565b500390565b6000826117f4576117f46117a4565b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118495784516001600160a01b031683529383019391830191600101611824565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c1b7103a52fcd881fe3479a8cd77a53aea3781688a1de1a07338b1442a1ee09e64736f6c634300080a0033
Deployed Bytecode
0x6080604052600436106101025760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb146102c1578063d1633649146102e1578063d34628cc146102f4578063dd62ed3e14610314578063f2fde38b1461035a57600080fd5b806370a0823114610239578063715018a61461026f5780638da5cb5b1461028457806395d89b41146102ac57600080fd5b806327b1a8e9116100d157806327b1a8e9146101ac578063313ce567146101c257806331c2d847146101de5780633bbac5791461020057600080fd5b806306fdde031461010e578063095ea7b31461013957806318160ddd1461016957806323b872dd1461018c57600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5061012361037a565b6040516101309190611360565b60405180910390f35b34801561014557600080fd5b506101596101543660046113da565b61040c565b6040519015158152602001610130565b34801561017557600080fd5b5061017e610423565b604051908152602001610130565b34801561019857600080fd5b506101596101a7366004611406565b610444565b3480156101b857600080fd5b5061017e60125481565b3480156101ce57600080fd5b5060405160128152602001610130565b3480156101ea57600080fd5b506101fe6101f936600461145d565b6104ad565b005b34801561020c57600080fd5b5061015961021b366004611522565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561024557600080fd5b5061017e610254366004611522565b6001600160a01b031660009081526001602052604090205490565b34801561027b57600080fd5b506101fe610521565b34801561029057600080fd5b506000546040516001600160a01b039091168152602001610130565b3480156102b857600080fd5b50610123610535565b3480156102cd57600080fd5b506101596102dc3660046113da565b610544565b6101fe6102ef36600461153f565b610551565b34801561030057600080fd5b506101fe61030f36600461145d565b6108da565b34801561032057600080fd5b5061017e61032f366004611558565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561036657600080fd5b506101fe610375366004611522565b61094a565b60606013805461038990611591565b80601f01602080910402602001604051908101604052809291908181526020018280546103b590611591565b80156104025780601f106103d757610100808354040283529160200191610402565b820191906000526020600020905b8154815290600101906020018083116103e557829003601f168201915b5050505050905090565b60006104193384846109c0565b5060015b92915050565b60006104316012600a6116c0565b61043f90633b9aca006116cf565b905090565b6000610451848484610ae4565b6104a3843361049e8560405180606001604052806028815260200161186b602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610fd0565b6109c0565b5060019392505050565b6104b5610ffc565b60005b815181101561051d576000600560008484815181106104d9576104d96116ee565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061051581611704565b9150506104b8565b5050565b610529610ffc565b6105336000611056565b565b60606014805461038990611591565b6000610419338484610ae4565b610559610ffc565b601654600160a01b900460ff16156105b85760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064015b60405180910390fd5b6105c3333083610ae4565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105fa90309061049e610423565b601560009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610671919061171f565b6001600160a01b031663c9c6539630601560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f7919061171f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610744573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610768919061171f565b601680546001600160a01b039283166001600160a01b03199091161790556015541663f305d7193430846000806107a76000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561080f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610834919061173c565b505060165460155460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561088d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b1919061176a565b506016805462ff00ff60a01b19166201000160a01b179055436007556108d76000611056565b50565b6108e2610ffc565b60005b815181101561051d57600160056000848481518110610906576109066116ee565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061094281611704565b9150506108e5565b610952610ffc565b6001600160a01b0381166109b75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105af565b6108d781611056565b6001600160a01b038316610a225760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105af565b6001600160a01b038216610a835760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105af565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b485760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105af565b6001600160a01b038216610baa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105af565b60008111610c0c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105af565b610c146110a6565b600080546001600160a01b03858116911614801590610c4157506000546001600160a01b03848116911614155b15610e84576001600160a01b03841660009081526005602052604090205460ff16158015610c8857506001600160a01b03831660009081526005602052604090205460ff16155b610c9157600080fd5b610cbd6064610cb7600c5460125411610cac57600854610cb0565b600a545b8590611160565b90611173565b6016549091506001600160a01b038581169116148015610ceb57506015546001600160a01b03848116911614155b8015610d1057506001600160a01b03831660009081526004602052604090205460ff16155b15610d4d57436007546014610d25919061178c565b1115610d3757823b15610d3757600080fd5b60128054906000610d4783611704565b91905055505b6016546001600160a01b038481169116148015610d7357506001600160a01b0384163014155b15610da057610d9d6064610cb7600d5460125411610d9357600954610cb0565b600b548590611160565b90505b30600090815260016020526040902054601654600160a81b900460ff16158015610dd757506016546001600160a01b038581169116145b8015610dec5750601654600160b01b900460ff165b8015610df9575060115481115b8015610e085750600e54601254115b8015610e1657504360105414155b15610e825743601055600f54600090610e316012600a6116c0565b610e3b90436116cf565b610e4591906117ba565b601154610e52919061178c565b9050610e6f610e6a85610e65858561117f565b61117f565b611194565b478015610e7f57610e7f4761130e565b50505b505b8015610efe5730600090815260016020526040902054610ea49082611348565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ef59085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610f219083611354565b6001600160a01b038516600090815260016020526040812091909155610f4782846117ce565b6001600160a01b038516600090815260016020526040902054909150610f6d9082611348565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fc19085815260200190565b60405180910390a35050505050565b60008184841115610ff45760405162461bcd60e51b81526004016105af9190611360565b505050900390565b6000546001600160a01b031633146105335760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105af565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b326000818152600260205260409020544391906001600160801b038084169116141561112c576001600160a01b0381166000908152600260205260409020546001600160801b03600160801b909104163a1461051d5760405162461bcd60e51b815260206004820152600560248201526432b93937b960d91b60448201526064016105af565b6001600160a01b03811660009081526002602052604090203a6001600160801b03908116600160801b029084161790555050565b600061116c82846116cf565b9392505050565b600061116c82846117e5565b600081831161118e578261116c565b50919050565b6016805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111dc576111dc6116ee565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611259919061171f565b8160018151811061126c5761126c6116ee565b6001600160a01b03928316602091820292909201015260155461129291309116846109c0565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906112cb9085906000908690309042906004016117f9565b600060405180830381600087803b1580156112e557600080fd5b505af11580156112f9573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561051d573d6000803e3d6000fd5b600061116c828461178c565b600061116c82846117ce565b600060208083528351808285015260005b8181101561138d57858101830151858201604001528201611371565b8181111561139f576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146108d757600080fd5b80356113d5816113b5565b919050565b600080604083850312156113ed57600080fd5b82356113f8816113b5565b946020939093013593505050565b60008060006060848603121561141b57600080fd5b8335611426816113b5565b92506020840135611436816113b5565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561147057600080fd5b823567ffffffffffffffff8082111561148857600080fd5b818501915085601f83011261149c57600080fd5b8135818111156114ae576114ae611447565b8060051b604051601f19603f830116810181811085821117156114d3576114d3611447565b6040529182528482019250838101850191888311156114f157600080fd5b938501935b8285101561151657611507856113ca565b845293850193928501926114f6565b98975050505050505050565b60006020828403121561153457600080fd5b813561116c816113b5565b60006020828403121561155157600080fd5b5035919050565b6000806040838503121561156b57600080fd5b8235611576816113b5565b91506020830135611586816113b5565b809150509250929050565b600181811c908216806115a557607f821691505b6020821081141561118e57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116175781600019048211156115fd576115fd6115c6565b8085161561160a57918102915b93841c93908002906115e1565b509250929050565b60008261162e5750600161041d565b8161163b5750600061041d565b8160018114611651576002811461165b57611677565b600191505061041d565b60ff84111561166c5761166c6115c6565b50506001821b61041d565b5060208310610133831016604e8410600b841016171561169a575081810a61041d565b6116a483836115dc565b80600019048211156116b8576116b86115c6565b029392505050565b600061116c60ff84168361161f565b60008160001904831182151516156116e9576116e96115c6565b500290565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611718576117186115c6565b5060010190565b60006020828403121561173157600080fd5b815161116c816113b5565b60008060006060848603121561175157600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561177c57600080fd5b8151801515811461116c57600080fd5b6000821982111561179f5761179f6115c6565b500190565b634e487b7160e01b600052601260045260246000fd5b6000826117c9576117c96117a4565b500690565b6000828210156117e0576117e06115c6565b500390565b6000826117f4576117f46117a4565b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118495784516001600160a01b031683529383019391830191600101611824565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c1b7103a52fcd881fe3479a8cd77a53aea3781688a1de1a07338b1442a1ee09e64736f6c634300080a0033
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.