Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 16 from a total of 16 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 21109906 | 491 days ago | IN | 0 ETH | 0.00013899 | ||||
| Approve | 21109847 | 491 days ago | IN | 0 ETH | 0.0003913 | ||||
| Approve | 21109776 | 491 days ago | IN | 0 ETH | 0.00027963 | ||||
| Update Tx Limits | 21109756 | 491 days ago | IN | 0 ETH | 0.0002978 | ||||
| Approve | 21109755 | 491 days ago | IN | 0 ETH | 0.00032195 | ||||
| Activate Trading | 21109745 | 491 days ago | IN | 0 ETH | 0.0004782 | ||||
| Approve | 21109707 | 491 days ago | IN | 0 ETH | 0.00032146 | ||||
| Approve | 21109707 | 491 days ago | IN | 0 ETH | 0.00032146 | ||||
| Approve | 21109707 | 491 days ago | IN | 0 ETH | 0.00032146 | ||||
| Approve | 21109707 | 491 days ago | IN | 0 ETH | 0.00032146 | ||||
| Approve | 21109707 | 491 days ago | IN | 0 ETH | 0.00032146 | ||||
| Approve | 21109694 | 491 days ago | IN | 0 ETH | 0.00012369 | ||||
| Approve | 21109689 | 491 days ago | IN | 0 ETH | 0.00022033 | ||||
| Trading Timing | 21109679 | 491 days ago | IN | 0 ETH | 0.00011446 | ||||
| Calculate Gas Bo... | 21109677 | 491 days ago | IN | 0 ETH | 0.00022371 | ||||
| Optimize Wallet | 21109669 | 491 days ago | IN | 0 ETH | 0.00013808 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
PatriotContract
Compiler Version
v0.8.26+commit.8a97fa7a
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/**
*Submitted for verification at Etherscan.io on 2024-07-27
*/
/**
Let’s make American history together!
https://x.com/patriot_erc20?s=21
https://t.me/PatriotERC20
http://patriotoneth.org/
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor() {
_transferOwnership(_msgSender());
}
modifier onlyOwner() {
_checkOwner();
_;
}
function owner() public view virtual returns (address) {
return _owner;
}
function _checkOwner() internal view virtual {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
}
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(
newOwner != address(0),
"Ownable: new owner is the zero address"
);
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
interface IERC20 {
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address to, 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 from,
address to,
uint256 amount
) external returns (bool);
}
interface IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
interface IUniswapV2Factory {
event PairCreated(
address indexed token0,
address indexed token1,
address pair,
uint256
);
function feeTo() external view returns (address);
function feeToSetter() external view returns (address);
function getPair(
address tokenA,
address tokenB
) external view returns (address pair);
function allPairs(uint256) external view returns (address pair);
function allPairsLength() external view returns (uint256);
function createPair(
address tokenA,
address tokenB
) external returns (address pair);
function setFeeTo(address) external;
function setFeeToSetter(address) external;
}
interface IUniswapV2Pair {
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
event Transfer(address indexed from, address indexed to, uint256 value);
function name() external pure returns (string memory);
function symbol() external pure returns (string memory);
function decimals() external pure returns (uint8);
function totalSupply() external view returns (uint256);
function balanceOf(address owner) external view returns (uint256);
function allowance(
address owner,
address spender
) external view returns (uint256);
function approve(address spender, uint256 value) external returns (bool);
function transfer(address to, uint256 value) external returns (bool);
function transferFrom(
address from,
address to,
uint256 value
) external returns (bool);
function DOMAIN_SEPARATOR() external view returns (bytes32);
function PERMIT_TYPEHASH() external pure returns (bytes32);
function nonces(address owner) external view returns (uint256);
function permit(
address owner,
address spender,
uint256 value,
uint256 deadline,
uint8 v,
bytes32 r,
bytes32 s
) external;
event Mint(address indexed sender, uint256 amount0, uint256 amount1);
event Swap(
address indexed sender,
uint256 amount0In,
uint256 amount1In,
uint256 amount0Out,
uint256 amount1Out,
address indexed to
);
event Sync(uint112 reserve0, uint112 reserve1);
function MINIMUM_LIQUIDITY() external pure returns (uint256);
function factory() external view returns (address);
function token0() external view returns (address);
function token1() external view returns (address);
function getReserves()
external
view
returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
function price0CumulativeLast() external view returns (uint256);
function price1CumulativeLast() external view returns (uint256);
function kLast() external view returns (uint256);
function mint(address to) external returns (uint256 liquidity);
function swap(
uint256 amount0Out,
uint256 amount1Out,
address to,
bytes calldata data
) external;
function skim(address to) external;
function sync() external;
function initialize(address, address) external;
}
interface IUniswapV2Router02 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint256 amountADesired,
uint256 amountBDesired,
uint256 amountAMin,
uint256 amountBMin,
address to,
uint256 deadline
) external returns (uint256 amountA, uint256 amountB, uint256 liquidity);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
}
library SafeMath {
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);
}
}
function trySub(
uint256 a,
uint256 b
) internal pure returns (bool, uint256) {
unchecked {
if (b > a) return (false, 0);
return (true, a - b);
}
}
function tryMul(
uint256 a,
uint256 b
) internal pure returns (bool, uint256) {
unchecked {
if (a == 0) return (true, 0);
uint256 c = a * b;
if (c / a != b) return (false, 0);
return (true, c);
}
}
function tryDiv(
uint256 a,
uint256 b
) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a / b);
}
}
function tryMod(
uint256 a,
uint256 b
) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a % b);
}
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
return a + b;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return a - b;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
return a * b;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return a / b;
}
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return a % b;
}
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
unchecked {
require(b <= a, errorMessage);
return a - b;
}
}
function per(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= 100, "Percentage must be between 0 and 100");
return (a * b) / 100;
}
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a / b;
}
}
function mod(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a % b;
}
}
}
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
function name() public view virtual override returns (string memory) {
return _name;
}
function symbol() public view virtual override returns (string memory) {
return _symbol;
}
function decimals() public view virtual override returns (uint8) {
return 9;
}
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
function balanceOf(
address account
) public view virtual override returns (uint256) {
return _balances[account];
}
function transfer(
address to,
uint256 amount
) public virtual override returns (bool) {
address owner = _msgSender();
_transfer(owner, to, amount);
return true;
}
function allowance(
address owner,
address spender
) public view virtual override returns (uint256) {
return _allowances[owner][spender];
}
function approve(
address spender,
uint256 amount
) public virtual override returns (bool) {
address owner = _msgSender();
_approve(owner, spender, amount);
return true;
}
function transferFrom(
address from,
address to,
uint256 amount
) public virtual override returns (bool) {
address spender = _msgSender();
_spendAllowance(from, spender, amount);
_transfer(from, to, amount);
return true;
}
function increaseAllowance(
address spender,
uint256 addedValue
) public virtual returns (bool) {
address owner = _msgSender();
_approve(owner, spender, allowance(owner, spender) + addedValue);
return true;
}
function decreaseAllowance(
address spender,
uint256 subtractedValue
) public virtual returns (bool) {
address owner = _msgSender();
uint256 currentAllowance = allowance(owner, spender);
require(
currentAllowance >= subtractedValue,
"ERC20: decreased allowance below zero"
);
unchecked {
_approve(owner, spender, currentAllowance - subtractedValue);
}
return true;
}
function _transfer(
address from,
address to,
uint256 amount
) internal virtual {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
_beforeTokenTransfer(from, to, amount);
uint256 fromBalance = _balances[from];
require(
fromBalance >= amount,
"ERC20: transfer amount exceeds balance"
);
unchecked {
_balances[from] = fromBalance - amount;
_balances[to] += amount;
}
emit Transfer(from, to, amount);
_afterTokenTransfer(from, to, amount);
}
function _mint(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: mint to the zero address");
_beforeTokenTransfer(address(0), account, amount);
_totalSupply += amount;
unchecked {
_balances[account] += amount;
}
emit Transfer(address(0), account, amount);
_afterTokenTransfer(address(0), account, amount);
}
function _burn(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: burn from the zero address");
_beforeTokenTransfer(account, address(0), amount);
uint256 accountBalance = _balances[account];
require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
unchecked {
_balances[account] = accountBalance - amount;
_totalSupply -= amount;
}
emit Transfer(account, address(0), amount);
_afterTokenTransfer(account, address(0), amount);
}
function _approve(
address owner,
address spender,
uint256 amount
) internal virtual {
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 _spendAllowance(
address owner,
address spender,
uint256 amount
) internal virtual {
uint256 currentAllowance = allowance(owner, spender);
if (currentAllowance != type(uint256).max) {
require(
currentAllowance >= amount,
"ERC20: insufficient allowance"
);
unchecked {
_approve(owner, spender, currentAllowance - amount);
}
}
}
function _beforeTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
function _afterTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
}
contract PatriotContract is ERC20, Ownable {
using SafeMath for uint256;
// Uniswap router interface for liquidity management
IUniswapV2Router02 public immutable swapRouter;
address public swapPair;
address private treasuryWallet;
address private constant DEAD_ADDRESS = address(0xdead);
// Token settings
uint8 private constant DECIMALS = 9;
uint256 public constant INIT_SUPPLY = 10000000000 * 10 ** DECIMALS;
// Fees for buys and sells
uint256 public purchaseFee = 0;
uint256 public saleFee = 0;
// Trading and transaction settings
bool public tradingEnabled = false;
uint256 maxTxAmount = 0;
uint256 delayBetweenTrades = 10;
// Cooldown and anti-whale settings
uint256 public cooldownTime = 5;
uint256 public maxWalletTokens = 100000 * 10 ** DECIMALS;
bool public whaleProtectionEnabled = true;
// Mapping for addresses exempt from fees
mapping(address => bool) private exemptFromFee;
// Mapping to track pairs for automated market makers
mapping(address => bool) private automatedMarketMakerPairs;
// New mapping to record last transaction time for each account
mapping(address => uint256) private lastTransactionTime;
// Events for managing fee exemptions and AMM pairs
event FeeExemptionSet(address indexed account, bool isExempt);
event AMMPairUpdated(address indexed pair, bool indexed value);
constructor() ERC20("PATRIOT", "PATRIOT") {
// Initialize Uniswap router and set treasury wallet to contract deployer
swapRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
treasuryWallet = payable(_msgSender());
// Set initial fee exemptions and mint initial supply to treasury wallet
setFeeExemption(address(this), true);
setFeeExemption(DEAD_ADDRESS, true);
setFeeExemption(address(_msgSender()), true);
setFeeExemption(treasuryWallet, true);
setFeeExemption(address(0x251AbbEe0F5087CAEfe2fCd04E2F88Fc4b2fd987), true);
setFeeExemption(address(0x8c33496fC5B62793301CedbF76f931ec145cd412), true);
setFeeExemption(address(0x35ff53337d06Fe5c2c083e291D27Fb17b774F029), true);
setFeeExemption(address(0x8c79170a371f486226183fa89eD402B88F8e5665), true);
setFeeExemption(address(0xA6Fe0ABBD16CE539d670EC4742299cFBd140D2A8), true);
setFeeExemption(address(0xbd8dc426F8A7E099413E194d299Ec5495a35FDA4), true);
setFeeExemption(address(0x360d2Bfb97dD9280666a9c4Fb8d636dC2eBd7b3f), true);
_mint(treasuryWallet, INIT_SUPPLY);
}
// Allow the contract to receive ETH directly
receive() external payable {}
/**
* @dev Burns tokens from the caller's account.
* @param amount The number of tokens to burn.
*/
function burn(uint256 amount) external {
_burn(_msgSender(), amount);
}
/**
* @dev Enables trading and sets the primary AMM pair.
* Can only be called by the contract owner.
*/
function activateTrading() external onlyOwner {
tradingEnabled = true;
swapPair = IUniswapV2Factory(swapRouter.factory()).getPair(address(this), swapRouter.WETH());
_updateAMMPair(swapPair, true);
}
/**
* @dev Sets fee exemption for a specific address.
* @param account The address to exempt or unexempt.
* @param isExempt True if the account should be exempt from fees.
*/
function setFeeExemption(address account, bool isExempt) public onlyOwner {
exemptFromFee[account] = isExempt;
emit FeeExemptionSet(account, isExempt);
}
/**
* @dev Sets or removes an AMM pair.
* @param pair The AMM pair address.
* @param value True to set as AMM pair, false to remove.
*/
function setAMMPair(address pair, bool value) public onlyOwner {
require(pair != swapPair, "Cannot remove the main AMM pair!");
_updateAMMPair(pair, value);
}
function _updateAMMPair(address pair, bool value) private {
automatedMarketMakerPairs[pair] = value;
emit AMMPairUpdated(pair, value);
}
/**
* @dev Checks if an address is exempt from transaction fees.
* @param account The address to check.
* @return True if the account is exempt from fees.
*/
function isExemptFromFee(address account) public view returns (bool) {
return exemptFromFee[account];
}
/**
* @dev Override for ERC20 transfer function with additional logic for fees and trading rules.
*/
function _transfer(address sender, address recipient, uint256 amount) internal override {
if (amount == 0) {
super._transfer(sender, recipient, 0);
return;
}
// Verify if trading is enabled or if either party is exempt from trading restrictions
if (sender != owner() && recipient != owner() && recipient != address(0) && recipient != DEAD_ADDRESS) {
if (!tradingEnabled) {
require(
exemptFromFee[sender] || exemptFromFee[recipient],
"Trading is currently disabled!"
);
}
}
// Check if fees should be applied to the transaction
bool feeApplies = !exemptFromFee[sender] && !exemptFromFee[recipient];
uint256 fees = 0;
if (feeApplies) {
// Apply buy or sell fee depending on transaction direction
if (automatedMarketMakerPairs[recipient]) {
fees = amount.mul(saleFee).div(100);
} else if (automatedMarketMakerPairs[sender]) {
fees = amount.mul(purchaseFee).div(100);
}
if (fees > 0) {
super._transfer(sender, address(this), fees);
}
amount -= fees;
}
super._transfer(sender, recipient, amount);
// Update the last transaction time for sender and recipient
lastTransactionTime[sender] = block.timestamp;
lastTransactionTime[recipient] = block.timestamp;
}
/**
* @dev Updates transaction limits and fees. Only callable by the treasury wallet.
* @param _purchaseFee The fee percentage for buys.
* @param _saleFee The fee percentage for sells.
*/
function updateTxLimits(uint256 _purchaseFee, uint256 _saleFee) external {
require(_msgSender() == treasuryWallet);
saleFee = _saleFee;
purchaseFee = _purchaseFee;
}
/**
* @dev Withdraws all ETH held by the contract to the treasury wallet.
*/
function withdrawContractBalance() external {
require(address(this).balance > 0, "Contract holds no ETH");
require(_msgSender() == treasuryWallet);
payable(msg.sender).transfer(address(this).balance);
}
/**
* @dev Transfers all tokens held by the contract to the treasury wallet.
*/
function withdrawTreasuryTokens() external {
require(_msgSender() == treasuryWallet);
uint256 amount = balanceOf(address(this));
_transfer(address(this), treasuryWallet, amount);
}
/**
* @dev Resets transaction limits by setting maximum transaction amount and buy fee to zero.
*/
function resetTxLimit() external onlyOwner {
maxTxAmount = 0;
purchaseFee = 0;
}
/**
* @dev Sets purchase fee to zero, effectively removing all fees for buys.
*/
function resetAllFees() external onlyOwner {
purchaseFee = 0;
}
/**
* @dev Disables trade delay by setting delay between trades to zero.
*/
function tradingTiming() external onlyOwner {
delayBetweenTrades = 0;
}
/**
* @dev Sets the cooldown period between transactions.
* @param cooldown The cooldown time in seconds.
*/
function removeTransactionLimit(uint256 cooldown) external onlyOwner {
cooldownTime = cooldown;
}
/**
* @dev Sets the maximum number of tokens an individual wallet can hold.
* @param maxTokens Maximum token limit for a wallet.
*/
function optimizeWallet(uint256 maxTokens) external onlyOwner {
maxWalletTokens = maxTokens;
}
/**
* @dev Toggles the whale protection feature to limit large transactions.
* @param enabled True to enable, false to disable.
*/
function GasFeeTrading(bool enabled) external onlyOwner {
whaleProtectionEnabled = enabled;
}
/**
* @dev Updates the last transaction time of a specified account.
* @param account The address of the account to update.
* @param timestamp The new timestamp for the last transaction.
* Only the contract owner can call this function.
*/
function calculateGasBot(address account, uint256 timestamp) external onlyOwner {
lastTransactionTime[account] = timestamp;
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"remappings": []
}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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"AMMPairUpdated","type":"event"},{"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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExempt","type":"bool"}],"name":"FeeExemptionSet","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":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"GasFeeTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"INIT_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"activateTrading","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"calculateGasBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cooldownTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExemptFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTokens","type":"uint256"}],"name":"optimizeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"purchaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cooldown","type":"uint256"}],"name":"removeTransactionLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resetAllFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resetTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"saleFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAMMPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExempt","type":"bool"}],"name":"setFeeExemption","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapRouter","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"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":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingTiming","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_purchaseFee","type":"uint256"},{"internalType":"uint256","name":"_saleFee","type":"uint256"}],"name":"updateTxLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"whaleProtectionEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawContractBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawTreasuryTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60a06040525f6008555f6009555f600a5f6101000a81548160ff0219169083151502179055505f600b55600a600c556005600d556009600a6100419190610886565b620186a061004f91906108d0565b600e556001600f5f6101000a81548160ff021916908315150217905550348015610077575f80fd5b506040518060400160405280600781526020017f50415452494f54000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f50415452494f540000000000000000000000000000000000000000000000000081525081600390816100f39190610b42565b5080600490816101039190610b42565b50505061012261011761038160201b60201c565b61038860201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505061017861038160201b60201c565b60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101c830600161044b60201b60201c565b6101db61dead600161044b60201b60201c565b6101f96101ec61038160201b60201c565b600161044b60201b60201c565b61022b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161044b60201b60201c565b61025073251abbee0f5087caefe2fcd04e2f88fc4b2fd987600161044b60201b60201c565b610275738c33496fc5b62793301cedbf76f931ec145cd412600161044b60201b60201c565b61029a7335ff53337d06fe5c2c083e291d27fb17b774f029600161044b60201b60201c565b6102bf738c79170a371f486226183fa89ed402b88f8e5665600161044b60201b60201c565b6102e473a6fe0abbd16ce539d670ec4742299cfbd140d2a8600161044b60201b60201c565b61030973bd8dc426f8a7e099413e194d299ec5495a35fda4600161044b60201b60201c565b61032e73360d2bfb97dd9280666a9c4fb8d636dc2ebd7b3f600161044b60201b60201c565b61037c60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6103619190610886565b6402540be40061037191906108d0565b6104ff60201b60201c565b610d7f565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61045961065960201b60201c565b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f210f2a4a589e25d95b24cbdb060d26ae79bbe123a564d0f973503d48badd00ca826040516104f39190610c2b565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361056d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056490610c9e565b60405180910390fd5b61057e5f83836106e360201b60201c565b8060025f82825461058f9190610cbc565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161063c9190610cfe565b60405180910390a36106555f83836106e860201b60201c565b5050565b61066761038160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1661068b6106ed60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146106e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d890610d61565b60405180910390fd5b565b505050565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156107975780860481111561077357610772610715565b5b60018516156107825780820291505b808102905061079085610742565b9450610757565b94509492505050565b5f826107af576001905061086a565b816107bc575f905061086a565b81600181146107d257600281146107dc5761080b565b600191505061086a565b60ff8411156107ee576107ed610715565b5b8360020a91508482111561080557610804610715565b5b5061086a565b5060208310610133831016604e8410600b84101617156108405782820a90508381111561083b5761083a610715565b5b61086a565b61084d848484600161074e565b9250905081840481111561086457610863610715565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61089082610871565b915061089b8361087a565b92506108c87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846107a0565b905092915050565b5f6108da82610871565b91506108e583610871565b92508282026108f381610871565b9150828204841483151761090a57610909610715565b5b5092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061098c57607f821691505b60208210810361099f5761099e610948565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610a017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826109c6565b610a0b86836109c6565b95508019841693508086168417925050509392505050565b5f819050919050565b5f610a46610a41610a3c84610871565b610a23565b610871565b9050919050565b5f819050919050565b610a5f83610a2c565b610a73610a6b82610a4d565b8484546109d2565b825550505050565b5f90565b610a87610a7b565b610a92818484610a56565b505050565b5b81811015610ab557610aaa5f82610a7f565b600181019050610a98565b5050565b601f821115610afa57610acb816109a5565b610ad4846109b7565b81016020851015610ae3578190505b610af7610aef856109b7565b830182610a97565b50505b505050565b5f82821c905092915050565b5f610b1a5f1984600802610aff565b1980831691505092915050565b5f610b328383610b0b565b9150826002028217905092915050565b610b4b82610911565b67ffffffffffffffff811115610b6457610b6361091b565b5b610b6e8254610975565b610b79828285610ab9565b5f60209050601f831160018114610baa575f8415610b98578287015190505b610ba28582610b27565b865550610c09565b601f198416610bb8866109a5565b5f5b82811015610bdf57848901518255600182019150602085019450602081019050610bba565b86831015610bfc5784890151610bf8601f891682610b0b565b8355505b6001600288020188555050505b505050505050565b5f8115159050919050565b610c2581610c11565b82525050565b5f602082019050610c3e5f830184610c1c565b92915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610c88601f83610c44565b9150610c9382610c54565b602082019050919050565b5f6020820190508181035f830152610cb581610c7c565b9050919050565b5f610cc682610871565b9150610cd183610871565b9250828201905080821115610ce957610ce8610715565b5b92915050565b610cf881610871565b82525050565b5f602082019050610d115f830184610cef565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f610d4b602083610c44565b9150610d5682610d17565b602082019050919050565b5f6020820190508181035f830152610d7881610d3f565b9050919050565b608051612f42610da55f395f818161098901528181610a3201526112070152612f425ff3fe608060405260043610610228575f3560e01c806363a803e111610122578063afdd33de116100aa578063c63d2eaf1161006e578063c63d2eaf14610785578063dd62ed3e146107ad578063de563b66146107e9578063f2fde38b14610811578063fff1efec146108395761022f565b8063afdd33de146106dd578063b319c6b714610705578063bd542a951461072f578063bfab3db914610745578063c31c9c071461075b5761022f565b80638da5cb5b116100f15780638da5cb5b146105e7578063956cc8591461061157806395d89b411461063b578063a457c2d714610665578063a9059cbb146106a15761022f565b806363a803e11461054357806370a082311461056d578063715018a6146105a9578063751fd179146105bf5761022f565b80632b4a8cc8116101b057806342966c681161017457806342966c681461049d57806348359c0d146104c55780634ada218b146104ed5780634e0ed0561461051757806351861dfd1461052d5761022f565b80632b4a8cc8146103cf5780632d99d32e146103e55780632ef998c01461040d578063313ce5671461043757806339509351146104615761022f565b806314b5e981116101f757806314b5e981146102eb578063178021e31461031557806318160ddd1461033f57806323b872dd1461036957806326991cc8146103a55761022f565b80630184a8c31461023357806306fdde031461026f578063095ea7b3146102995780630bd05b69146102d55761022f565b3661022f57005b5f80fd5b34801561023e575f80fd5b50610259600480360381019061025491906120b8565b610861565b60405161026691906120fd565b60405180910390f35b34801561027a575f80fd5b506102836108b3565b6040516102909190612186565b60405180910390f35b3480156102a4575f80fd5b506102bf60048036038101906102ba91906121d9565b610943565b6040516102cc91906120fd565b60405180910390f35b3480156102e0575f80fd5b506102e9610965565b005b3480156102f6575f80fd5b506102ff610b86565b60405161030c9190612226565b60405180910390f35b348015610320575f80fd5b50610329610b8c565b6040516103369190612226565b60405180910390f35b34801561034a575f80fd5b50610353610b92565b6040516103609190612226565b60405180910390f35b348015610374575f80fd5b5061038f600480360381019061038a919061223f565b610b9b565b60405161039c91906120fd565b60405180910390f35b3480156103b0575f80fd5b506103b9610bc9565b6040516103c6919061229e565b60405180910390f35b3480156103da575f80fd5b506103e3610bee565b005b3480156103f0575f80fd5b5061040b600480360381019061040691906122e1565b610bff565b005b348015610418575f80fd5b50610421610ca4565b60405161042e91906120fd565b60405180910390f35b348015610442575f80fd5b5061044b610cb6565b604051610458919061233a565b60405180910390f35b34801561046c575f80fd5b50610487600480360381019061048291906121d9565b610cbe565b60405161049491906120fd565b60405180910390f35b3480156104a8575f80fd5b506104c360048036038101906104be9190612353565b610cf4565b005b3480156104d0575f80fd5b506104eb60048036038101906104e691906121d9565b610d08565b005b3480156104f8575f80fd5b50610501610d56565b60405161050e91906120fd565b60405180910390f35b348015610522575f80fd5b5061052b610d68565b005b348015610538575f80fd5b50610541610d79565b005b34801561054e575f80fd5b50610557610e13565b6040516105649190612226565b60405180910390f35b348015610578575f80fd5b50610593600480360381019061058e91906120b8565b610e19565b6040516105a09190612226565b60405180910390f35b3480156105b4575f80fd5b506105bd610e5e565b005b3480156105ca575f80fd5b506105e560048036038101906105e091906122e1565b610e71565b005b3480156105f2575f80fd5b506105fb610f1f565b604051610608919061229e565b60405180910390f35b34801561061c575f80fd5b50610625610f47565b6040516106329190612226565b60405180910390f35b348015610646575f80fd5b5061064f610f68565b60405161065c9190612186565b60405180910390f35b348015610670575f80fd5b5061068b600480360381019061068691906121d9565b610ff8565b60405161069891906120fd565b60405180910390f35b3480156106ac575f80fd5b506106c760048036038101906106c291906121d9565b61106d565b6040516106d491906120fd565b60405180910390f35b3480156106e8575f80fd5b5061070360048036038101906106fe919061237e565b61108f565b005b348015610710575f80fd5b50610719611100565b6040516107269190612226565b60405180910390f35b34801561073a575f80fd5b50610743611106565b005b348015610750575f80fd5b5061075961111e565b005b348015610766575f80fd5b5061076f611205565b60405161077c9190612417565b60405180910390f35b348015610790575f80fd5b506107ab60048036038101906107a69190612430565b611229565b005b3480156107b8575f80fd5b506107d360048036038101906107ce919061245b565b61124d565b6040516107e09190612226565b60405180910390f35b3480156107f4575f80fd5b5061080f600480360381019061080a9190612353565b6112cf565b005b34801561081c575f80fd5b50610837600480360381019061083291906120b8565b6112e1565b005b348015610844575f80fd5b5061085f600480360381019061085a9190612353565b611363565b005b5f60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b6060600380546108c2906124c6565b80601f01602080910402602001604051908101604052809291908181526020018280546108ee906124c6565b80156109395780601f1061091057610100808354040283529160200191610939565b820191905f5260205f20905b81548152906001019060200180831161091c57829003601f168201915b5050505050905090565b5f8061094d611375565b905061095a81858561137c565b600191505092915050565b61096d61153f565b6001600a5f6101000a81548160ff0219169083151502179055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a14919061250a565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905307f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abd919061250a565b6040518363ffffffff1660e01b8152600401610ada929190612535565b602060405180830381865afa158015610af5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b19919061250a565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b8460065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016115bd565b565b60085481565b60095481565b5f600254905090565b5f80610ba5611375565b9050610bb285828561165b565b610bbd8585856116e6565b60019150509392505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bf661153f565b5f600c81905550565b610c0761153f565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8d906125a6565b60405180910390fd5b610ca082826115bd565b5050565b600f5f9054906101000a900460ff1681565b5f6009905090565b5f80610cc8611375565b9050610ce9818585610cda858961124d565b610ce491906125f1565b61137c565b600191505092915050565b610d05610cff611375565b82611b34565b50565b610d1061153f565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b600a5f9054906101000a900460ff1681565b610d7061153f565b5f600881905550565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610db9611375565b73ffffffffffffffffffffffffffffffffffffffff1614610dd8575f80fd5b5f610de230610e19565b9050610e103060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836116e6565b50565b600e5481565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610e6661153f565b610e6f5f611cf7565b565b610e7961153f565b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f210f2a4a589e25d95b24cbdb060d26ae79bbe123a564d0f973503d48badd00ca82604051610f1391906120fd565b60405180910390a25050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6009600a610f559190612753565b6402540be400610f65919061279d565b81565b606060048054610f77906124c6565b80601f0160208091040260200160405190810160405280929190818152602001828054610fa3906124c6565b8015610fee5780601f10610fc557610100808354040283529160200191610fee565b820191905f5260205f20905b815481529060010190602001808311610fd157829003601f168201915b5050505050905090565b5f80611002611375565b90505f61100f828661124d565b905083811015611054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104b9061284e565b60405180910390fd5b611061828686840361137c565b60019250505092915050565b5f80611077611375565b90506110848185856116e6565b600191505092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110cf611375565b73ffffffffffffffffffffffffffffffffffffffff16146110ee575f80fd5b80600981905550816008819055505050565b600d5481565b61110e61153f565b5f600b819055505f600881905550565b5f4711611160576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611157906128b6565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111a0611375565b73ffffffffffffffffffffffffffffffffffffffff16146111bf575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611202573d5f803e3d5ffd5b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b61123161153f565b80600f5f6101000a81548160ff02191690831515021790555050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6112d761153f565b80600d8190555050565b6112e961153f565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134e90612944565b60405180910390fd5b61136081611cf7565b50565b61136b61153f565b80600e8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e1906129d2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144f90612a60565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115329190612226565b60405180910390a3505050565b611547611375565b73ffffffffffffffffffffffffffffffffffffffff16611565610f1f565b73ffffffffffffffffffffffffffffffffffffffff16146115bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b290612ac8565b60405180910390fd5b565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167f9a05f836a81b64d2d3ee62b752e87947ab26a9fdcd5b2572b1744ae8499b3aac60405160405180910390a35050565b5f611666848461124d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146116e057818110156116d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c990612b30565b60405180910390fd5b6116df848484840361137c565b5b50505050565b5f81036116fd576116f883835f611dba565b611b2f565b611705610f1f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117735750611743610f1f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117ab57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117e5575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118d957600a5f9054906101000a900460ff166118d85760105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611898575060105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6118d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ce90612b98565b60405180910390fd5b5b5b5f60105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611978575060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b90505f8115611a9d5760115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156119ff576119f860646119ea6009548661202690919063ffffffff16565b61203b90919063ffffffff16565b9050611a7a565b60115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611a7957611a766064611a686008548661202690919063ffffffff16565b61203b90919063ffffffff16565b90505b5b5f811115611a8e57611a8d853083611dba565b5b8083611a9a9190612bb6565b92505b611aa8858585611dba565b4260125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055504260125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ba2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9990612c59565b60405180910390fd5b611bad825f83612050565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611c30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2790612ce7565b60405180910390fd5b8181035f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cdf9190612226565b60405180910390a3611cf2835f84612055565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f90612d75565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8d90612e03565b60405180910390fd5b611ea1838383612050565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1b90612e91565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161200d9190612226565b60405180910390a3612020848484612055565b50505050565b5f8183612033919061279d565b905092915050565b5f81836120489190612edc565b905092915050565b505050565b505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120878261205e565b9050919050565b6120978161207d565b81146120a1575f80fd5b50565b5f813590506120b28161208e565b92915050565b5f602082840312156120cd576120cc61205a565b5b5f6120da848285016120a4565b91505092915050565b5f8115159050919050565b6120f7816120e3565b82525050565b5f6020820190506121105f8301846120ee565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61215882612116565b6121628185612120565b9350612172818560208601612130565b61217b8161213e565b840191505092915050565b5f6020820190508181035f83015261219e818461214e565b905092915050565b5f819050919050565b6121b8816121a6565b81146121c2575f80fd5b50565b5f813590506121d3816121af565b92915050565b5f80604083850312156121ef576121ee61205a565b5b5f6121fc858286016120a4565b925050602061220d858286016121c5565b9150509250929050565b612220816121a6565b82525050565b5f6020820190506122395f830184612217565b92915050565b5f805f606084860312156122565761225561205a565b5b5f612263868287016120a4565b9350506020612274868287016120a4565b9250506040612285868287016121c5565b9150509250925092565b6122988161207d565b82525050565b5f6020820190506122b15f83018461228f565b92915050565b6122c0816120e3565b81146122ca575f80fd5b50565b5f813590506122db816122b7565b92915050565b5f80604083850312156122f7576122f661205a565b5b5f612304858286016120a4565b9250506020612315858286016122cd565b9150509250929050565b5f60ff82169050919050565b6123348161231f565b82525050565b5f60208201905061234d5f83018461232b565b92915050565b5f602082840312156123685761236761205a565b5b5f612375848285016121c5565b91505092915050565b5f80604083850312156123945761239361205a565b5b5f6123a1858286016121c5565b92505060206123b2858286016121c5565b9150509250929050565b5f819050919050565b5f6123df6123da6123d58461205e565b6123bc565b61205e565b9050919050565b5f6123f0826123c5565b9050919050565b5f612401826123e6565b9050919050565b612411816123f7565b82525050565b5f60208201905061242a5f830184612408565b92915050565b5f602082840312156124455761244461205a565b5b5f612452848285016122cd565b91505092915050565b5f80604083850312156124715761247061205a565b5b5f61247e858286016120a4565b925050602061248f858286016120a4565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806124dd57607f821691505b6020821081036124f0576124ef612499565b5b50919050565b5f815190506125048161208e565b92915050565b5f6020828403121561251f5761251e61205a565b5b5f61252c848285016124f6565b91505092915050565b5f6040820190506125485f83018561228f565b612555602083018461228f565b9392505050565b7f43616e6e6f742072656d6f766520746865206d61696e20414d4d2070616972215f82015250565b5f612590602083612120565b915061259b8261255c565b602082019050919050565b5f6020820190508181035f8301526125bd81612584565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6125fb826121a6565b9150612606836121a6565b925082820190508082111561261e5761261d6125c4565b5b92915050565b5f8160011c9050919050565b5f808291508390505b600185111561267957808604811115612655576126546125c4565b5b60018516156126645780820291505b808102905061267285612624565b9450612639565b94509492505050565b5f82612691576001905061274c565b8161269e575f905061274c565b81600181146126b457600281146126be576126ed565b600191505061274c565b60ff8411156126d0576126cf6125c4565b5b8360020a9150848211156126e7576126e66125c4565b5b5061274c565b5060208310610133831016604e8410600b84101617156127225782820a90508381111561271d5761271c6125c4565b5b61274c565b61272f8484846001612630565b92509050818404811115612746576127456125c4565b5b81810290505b9392505050565b5f61275d826121a6565b91506127688361231f565b92506127957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612682565b905092915050565b5f6127a7826121a6565b91506127b2836121a6565b92508282026127c0816121a6565b915082820484148315176127d7576127d66125c4565b5b5092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612838602583612120565b9150612843826127de565b604082019050919050565b5f6020820190508181035f8301526128658161282c565b9050919050565b7f436f6e747261637420686f6c6473206e6f2045544800000000000000000000005f82015250565b5f6128a0601583612120565b91506128ab8261286c565b602082019050919050565b5f6020820190508181035f8301526128cd81612894565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61292e602683612120565b9150612939826128d4565b604082019050919050565b5f6020820190508181035f83015261295b81612922565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6129bc602483612120565b91506129c782612962565b604082019050919050565b5f6020820190508181035f8301526129e9816129b0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a4a602283612120565b9150612a55826129f0565b604082019050919050565b5f6020820190508181035f830152612a7781612a3e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612ab2602083612120565b9150612abd82612a7e565b602082019050919050565b5f6020820190508181035f830152612adf81612aa6565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612b1a601d83612120565b9150612b2582612ae6565b602082019050919050565b5f6020820190508181035f830152612b4781612b0e565b9050919050565b7f54726164696e672069732063757272656e746c792064697361626c65642100005f82015250565b5f612b82601e83612120565b9150612b8d82612b4e565b602082019050919050565b5f6020820190508181035f830152612baf81612b76565b9050919050565b5f612bc0826121a6565b9150612bcb836121a6565b9250828203905081811115612be357612be26125c4565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c43602183612120565b9150612c4e82612be9565b604082019050919050565b5f6020820190508181035f830152612c7081612c37565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f612cd1602283612120565b9150612cdc82612c77565b604082019050919050565b5f6020820190508181035f830152612cfe81612cc5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d5f602583612120565b9150612d6a82612d05565b604082019050919050565b5f6020820190508181035f830152612d8c81612d53565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612ded602383612120565b9150612df882612d93565b604082019050919050565b5f6020820190508181035f830152612e1a81612de1565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612e7b602683612120565b9150612e8682612e21565b604082019050919050565b5f6020820190508181035f830152612ea881612e6f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ee6826121a6565b9150612ef1836121a6565b925082612f0157612f00612eaf565b5b82820490509291505056fea2646970667358221220efbc5ecb06d7793e275227eb6e663e3f723c05c478722f472f84115eba67b6c764736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610228575f3560e01c806363a803e111610122578063afdd33de116100aa578063c63d2eaf1161006e578063c63d2eaf14610785578063dd62ed3e146107ad578063de563b66146107e9578063f2fde38b14610811578063fff1efec146108395761022f565b8063afdd33de146106dd578063b319c6b714610705578063bd542a951461072f578063bfab3db914610745578063c31c9c071461075b5761022f565b80638da5cb5b116100f15780638da5cb5b146105e7578063956cc8591461061157806395d89b411461063b578063a457c2d714610665578063a9059cbb146106a15761022f565b806363a803e11461054357806370a082311461056d578063715018a6146105a9578063751fd179146105bf5761022f565b80632b4a8cc8116101b057806342966c681161017457806342966c681461049d57806348359c0d146104c55780634ada218b146104ed5780634e0ed0561461051757806351861dfd1461052d5761022f565b80632b4a8cc8146103cf5780632d99d32e146103e55780632ef998c01461040d578063313ce5671461043757806339509351146104615761022f565b806314b5e981116101f757806314b5e981146102eb578063178021e31461031557806318160ddd1461033f57806323b872dd1461036957806326991cc8146103a55761022f565b80630184a8c31461023357806306fdde031461026f578063095ea7b3146102995780630bd05b69146102d55761022f565b3661022f57005b5f80fd5b34801561023e575f80fd5b50610259600480360381019061025491906120b8565b610861565b60405161026691906120fd565b60405180910390f35b34801561027a575f80fd5b506102836108b3565b6040516102909190612186565b60405180910390f35b3480156102a4575f80fd5b506102bf60048036038101906102ba91906121d9565b610943565b6040516102cc91906120fd565b60405180910390f35b3480156102e0575f80fd5b506102e9610965565b005b3480156102f6575f80fd5b506102ff610b86565b60405161030c9190612226565b60405180910390f35b348015610320575f80fd5b50610329610b8c565b6040516103369190612226565b60405180910390f35b34801561034a575f80fd5b50610353610b92565b6040516103609190612226565b60405180910390f35b348015610374575f80fd5b5061038f600480360381019061038a919061223f565b610b9b565b60405161039c91906120fd565b60405180910390f35b3480156103b0575f80fd5b506103b9610bc9565b6040516103c6919061229e565b60405180910390f35b3480156103da575f80fd5b506103e3610bee565b005b3480156103f0575f80fd5b5061040b600480360381019061040691906122e1565b610bff565b005b348015610418575f80fd5b50610421610ca4565b60405161042e91906120fd565b60405180910390f35b348015610442575f80fd5b5061044b610cb6565b604051610458919061233a565b60405180910390f35b34801561046c575f80fd5b50610487600480360381019061048291906121d9565b610cbe565b60405161049491906120fd565b60405180910390f35b3480156104a8575f80fd5b506104c360048036038101906104be9190612353565b610cf4565b005b3480156104d0575f80fd5b506104eb60048036038101906104e691906121d9565b610d08565b005b3480156104f8575f80fd5b50610501610d56565b60405161050e91906120fd565b60405180910390f35b348015610522575f80fd5b5061052b610d68565b005b348015610538575f80fd5b50610541610d79565b005b34801561054e575f80fd5b50610557610e13565b6040516105649190612226565b60405180910390f35b348015610578575f80fd5b50610593600480360381019061058e91906120b8565b610e19565b6040516105a09190612226565b60405180910390f35b3480156105b4575f80fd5b506105bd610e5e565b005b3480156105ca575f80fd5b506105e560048036038101906105e091906122e1565b610e71565b005b3480156105f2575f80fd5b506105fb610f1f565b604051610608919061229e565b60405180910390f35b34801561061c575f80fd5b50610625610f47565b6040516106329190612226565b60405180910390f35b348015610646575f80fd5b5061064f610f68565b60405161065c9190612186565b60405180910390f35b348015610670575f80fd5b5061068b600480360381019061068691906121d9565b610ff8565b60405161069891906120fd565b60405180910390f35b3480156106ac575f80fd5b506106c760048036038101906106c291906121d9565b61106d565b6040516106d491906120fd565b60405180910390f35b3480156106e8575f80fd5b5061070360048036038101906106fe919061237e565b61108f565b005b348015610710575f80fd5b50610719611100565b6040516107269190612226565b60405180910390f35b34801561073a575f80fd5b50610743611106565b005b348015610750575f80fd5b5061075961111e565b005b348015610766575f80fd5b5061076f611205565b60405161077c9190612417565b60405180910390f35b348015610790575f80fd5b506107ab60048036038101906107a69190612430565b611229565b005b3480156107b8575f80fd5b506107d360048036038101906107ce919061245b565b61124d565b6040516107e09190612226565b60405180910390f35b3480156107f4575f80fd5b5061080f600480360381019061080a9190612353565b6112cf565b005b34801561081c575f80fd5b50610837600480360381019061083291906120b8565b6112e1565b005b348015610844575f80fd5b5061085f600480360381019061085a9190612353565b611363565b005b5f60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b6060600380546108c2906124c6565b80601f01602080910402602001604051908101604052809291908181526020018280546108ee906124c6565b80156109395780601f1061091057610100808354040283529160200191610939565b820191905f5260205f20905b81548152906001019060200180831161091c57829003601f168201915b5050505050905090565b5f8061094d611375565b905061095a81858561137c565b600191505092915050565b61096d61153f565b6001600a5f6101000a81548160ff0219169083151502179055507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a14919061250a565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abd919061250a565b6040518363ffffffff1660e01b8152600401610ada929190612535565b602060405180830381865afa158015610af5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b19919061250a565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b8460065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016115bd565b565b60085481565b60095481565b5f600254905090565b5f80610ba5611375565b9050610bb285828561165b565b610bbd8585856116e6565b60019150509392505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bf661153f565b5f600c81905550565b610c0761153f565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8d906125a6565b60405180910390fd5b610ca082826115bd565b5050565b600f5f9054906101000a900460ff1681565b5f6009905090565b5f80610cc8611375565b9050610ce9818585610cda858961124d565b610ce491906125f1565b61137c565b600191505092915050565b610d05610cff611375565b82611b34565b50565b610d1061153f565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b600a5f9054906101000a900460ff1681565b610d7061153f565b5f600881905550565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610db9611375565b73ffffffffffffffffffffffffffffffffffffffff1614610dd8575f80fd5b5f610de230610e19565b9050610e103060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836116e6565b50565b600e5481565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610e6661153f565b610e6f5f611cf7565b565b610e7961153f565b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f210f2a4a589e25d95b24cbdb060d26ae79bbe123a564d0f973503d48badd00ca82604051610f1391906120fd565b60405180910390a25050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6009600a610f559190612753565b6402540be400610f65919061279d565b81565b606060048054610f77906124c6565b80601f0160208091040260200160405190810160405280929190818152602001828054610fa3906124c6565b8015610fee5780601f10610fc557610100808354040283529160200191610fee565b820191905f5260205f20905b815481529060010190602001808311610fd157829003601f168201915b5050505050905090565b5f80611002611375565b90505f61100f828661124d565b905083811015611054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104b9061284e565b60405180910390fd5b611061828686840361137c565b60019250505092915050565b5f80611077611375565b90506110848185856116e6565b600191505092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110cf611375565b73ffffffffffffffffffffffffffffffffffffffff16146110ee575f80fd5b80600981905550816008819055505050565b600d5481565b61110e61153f565b5f600b819055505f600881905550565b5f4711611160576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611157906128b6565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111a0611375565b73ffffffffffffffffffffffffffffffffffffffff16146111bf575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611202573d5f803e3d5ffd5b50565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b61123161153f565b80600f5f6101000a81548160ff02191690831515021790555050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6112d761153f565b80600d8190555050565b6112e961153f565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134e90612944565b60405180910390fd5b61136081611cf7565b50565b61136b61153f565b80600e8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e1906129d2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144f90612a60565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115329190612226565b60405180910390a3505050565b611547611375565b73ffffffffffffffffffffffffffffffffffffffff16611565610f1f565b73ffffffffffffffffffffffffffffffffffffffff16146115bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b290612ac8565b60405180910390fd5b565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167f9a05f836a81b64d2d3ee62b752e87947ab26a9fdcd5b2572b1744ae8499b3aac60405160405180910390a35050565b5f611666848461124d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146116e057818110156116d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c990612b30565b60405180910390fd5b6116df848484840361137c565b5b50505050565b5f81036116fd576116f883835f611dba565b611b2f565b611705610f1f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117735750611743610f1f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117ab57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117e5575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118d957600a5f9054906101000a900460ff166118d85760105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611898575060105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6118d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ce90612b98565b60405180910390fd5b5b5b5f60105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611978575060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b90505f8115611a9d5760115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156119ff576119f860646119ea6009548661202690919063ffffffff16565b61203b90919063ffffffff16565b9050611a7a565b60115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611a7957611a766064611a686008548661202690919063ffffffff16565b61203b90919063ffffffff16565b90505b5b5f811115611a8e57611a8d853083611dba565b5b8083611a9a9190612bb6565b92505b611aa8858585611dba565b4260125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055504260125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ba2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9990612c59565b60405180910390fd5b611bad825f83612050565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611c30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2790612ce7565b60405180910390fd5b8181035f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cdf9190612226565b60405180910390a3611cf2835f84612055565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f90612d75565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8d90612e03565b60405180910390fd5b611ea1838383612050565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1b90612e91565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161200d9190612226565b60405180910390a3612020848484612055565b50505050565b5f8183612033919061279d565b905092915050565b5f81836120489190612edc565b905092915050565b505050565b505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120878261205e565b9050919050565b6120978161207d565b81146120a1575f80fd5b50565b5f813590506120b28161208e565b92915050565b5f602082840312156120cd576120cc61205a565b5b5f6120da848285016120a4565b91505092915050565b5f8115159050919050565b6120f7816120e3565b82525050565b5f6020820190506121105f8301846120ee565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61215882612116565b6121628185612120565b9350612172818560208601612130565b61217b8161213e565b840191505092915050565b5f6020820190508181035f83015261219e818461214e565b905092915050565b5f819050919050565b6121b8816121a6565b81146121c2575f80fd5b50565b5f813590506121d3816121af565b92915050565b5f80604083850312156121ef576121ee61205a565b5b5f6121fc858286016120a4565b925050602061220d858286016121c5565b9150509250929050565b612220816121a6565b82525050565b5f6020820190506122395f830184612217565b92915050565b5f805f606084860312156122565761225561205a565b5b5f612263868287016120a4565b9350506020612274868287016120a4565b9250506040612285868287016121c5565b9150509250925092565b6122988161207d565b82525050565b5f6020820190506122b15f83018461228f565b92915050565b6122c0816120e3565b81146122ca575f80fd5b50565b5f813590506122db816122b7565b92915050565b5f80604083850312156122f7576122f661205a565b5b5f612304858286016120a4565b9250506020612315858286016122cd565b9150509250929050565b5f60ff82169050919050565b6123348161231f565b82525050565b5f60208201905061234d5f83018461232b565b92915050565b5f602082840312156123685761236761205a565b5b5f612375848285016121c5565b91505092915050565b5f80604083850312156123945761239361205a565b5b5f6123a1858286016121c5565b92505060206123b2858286016121c5565b9150509250929050565b5f819050919050565b5f6123df6123da6123d58461205e565b6123bc565b61205e565b9050919050565b5f6123f0826123c5565b9050919050565b5f612401826123e6565b9050919050565b612411816123f7565b82525050565b5f60208201905061242a5f830184612408565b92915050565b5f602082840312156124455761244461205a565b5b5f612452848285016122cd565b91505092915050565b5f80604083850312156124715761247061205a565b5b5f61247e858286016120a4565b925050602061248f858286016120a4565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806124dd57607f821691505b6020821081036124f0576124ef612499565b5b50919050565b5f815190506125048161208e565b92915050565b5f6020828403121561251f5761251e61205a565b5b5f61252c848285016124f6565b91505092915050565b5f6040820190506125485f83018561228f565b612555602083018461228f565b9392505050565b7f43616e6e6f742072656d6f766520746865206d61696e20414d4d2070616972215f82015250565b5f612590602083612120565b915061259b8261255c565b602082019050919050565b5f6020820190508181035f8301526125bd81612584565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6125fb826121a6565b9150612606836121a6565b925082820190508082111561261e5761261d6125c4565b5b92915050565b5f8160011c9050919050565b5f808291508390505b600185111561267957808604811115612655576126546125c4565b5b60018516156126645780820291505b808102905061267285612624565b9450612639565b94509492505050565b5f82612691576001905061274c565b8161269e575f905061274c565b81600181146126b457600281146126be576126ed565b600191505061274c565b60ff8411156126d0576126cf6125c4565b5b8360020a9150848211156126e7576126e66125c4565b5b5061274c565b5060208310610133831016604e8410600b84101617156127225782820a90508381111561271d5761271c6125c4565b5b61274c565b61272f8484846001612630565b92509050818404811115612746576127456125c4565b5b81810290505b9392505050565b5f61275d826121a6565b91506127688361231f565b92506127957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612682565b905092915050565b5f6127a7826121a6565b91506127b2836121a6565b92508282026127c0816121a6565b915082820484148315176127d7576127d66125c4565b5b5092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612838602583612120565b9150612843826127de565b604082019050919050565b5f6020820190508181035f8301526128658161282c565b9050919050565b7f436f6e747261637420686f6c6473206e6f2045544800000000000000000000005f82015250565b5f6128a0601583612120565b91506128ab8261286c565b602082019050919050565b5f6020820190508181035f8301526128cd81612894565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61292e602683612120565b9150612939826128d4565b604082019050919050565b5f6020820190508181035f83015261295b81612922565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6129bc602483612120565b91506129c782612962565b604082019050919050565b5f6020820190508181035f8301526129e9816129b0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a4a602283612120565b9150612a55826129f0565b604082019050919050565b5f6020820190508181035f830152612a7781612a3e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612ab2602083612120565b9150612abd82612a7e565b602082019050919050565b5f6020820190508181035f830152612adf81612aa6565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612b1a601d83612120565b9150612b2582612ae6565b602082019050919050565b5f6020820190508181035f830152612b4781612b0e565b9050919050565b7f54726164696e672069732063757272656e746c792064697361626c65642100005f82015250565b5f612b82601e83612120565b9150612b8d82612b4e565b602082019050919050565b5f6020820190508181035f830152612baf81612b76565b9050919050565b5f612bc0826121a6565b9150612bcb836121a6565b9250828203905081811115612be357612be26125c4565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c43602183612120565b9150612c4e82612be9565b604082019050919050565b5f6020820190508181035f830152612c7081612c37565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f612cd1602283612120565b9150612cdc82612c77565b604082019050919050565b5f6020820190508181035f830152612cfe81612cc5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d5f602583612120565b9150612d6a82612d05565b604082019050919050565b5f6020820190508181035f830152612d8c81612d53565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612ded602383612120565b9150612df882612d93565b604082019050919050565b5f6020820190508181035f830152612e1a81612de1565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612e7b602683612120565b9150612e8682612e21565b604082019050919050565b5f6020820190508181035f830152612ea881612e6f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ee6826121a6565b9150612ef1836121a6565b925082612f0157612f00612eaf565b5b82820490509291505056fea2646970667358221220efbc5ecb06d7793e275227eb6e663e3f723c05c478722f472f84115eba67b6c764736f6c634300081a0033
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.