Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 156 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 16108113 | 1203 days ago | IN | 0 ETH | 0.00051602 | ||||
| Approve | 15975472 | 1222 days ago | IN | 0 ETH | 0.00068289 | ||||
| Approve | 15906640 | 1231 days ago | IN | 0 ETH | 0.000335 | ||||
| Approve | 15906639 | 1231 days ago | IN | 0 ETH | 0.00058626 | ||||
| Approve | 15903901 | 1232 days ago | IN | 0 ETH | 0.00067117 | ||||
| Approve | 15903892 | 1232 days ago | IN | 0 ETH | 0.00072365 | ||||
| Approve | 15902394 | 1232 days ago | IN | 0 ETH | 0.00055126 | ||||
| Transfer | 15901718 | 1232 days ago | IN | 0 ETH | 0.00087248 | ||||
| Approve | 15901519 | 1232 days ago | IN | 0 ETH | 0.00088503 | ||||
| Approve | 15901479 | 1232 days ago | IN | 0 ETH | 0.00071015 | ||||
| Approve | 15900898 | 1232 days ago | IN | 0 ETH | 0.00088503 | ||||
| Approve | 15900679 | 1232 days ago | IN | 0 ETH | 0.00067656 | ||||
| Approve | 15900599 | 1232 days ago | IN | 0 ETH | 0.00060461 | ||||
| Approve | 15900526 | 1232 days ago | IN | 0 ETH | 0.00059637 | ||||
| Approve | 15900450 | 1232 days ago | IN | 0 ETH | 0.00079445 | ||||
| Approve | 15900430 | 1232 days ago | IN | 0 ETH | 0.00067762 | ||||
| Approve | 15900329 | 1232 days ago | IN | 0 ETH | 0.00076722 | ||||
| Approve | 15900320 | 1232 days ago | IN | 0 ETH | 0.0007668 | ||||
| Approve | 15900311 | 1232 days ago | IN | 0 ETH | 0.00077541 | ||||
| Approve | 15900279 | 1232 days ago | IN | 0 ETH | 0.00062987 | ||||
| Approve | 15900275 | 1232 days ago | IN | 0 ETH | 0.00069157 | ||||
| Approve | 15900270 | 1232 days ago | IN | 0 ETH | 0.00085727 | ||||
| Transfer | 15900226 | 1232 days ago | IN | 0 ETH | 0.00136065 | ||||
| Approve | 15900197 | 1232 days ago | IN | 0 ETH | 0.00110462 | ||||
| Approve | 15900191 | 1232 days ago | IN | 0 ETH | 0.00076956 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 16028885 | 1214 days ago | 0.00148716 ETH | ||||
| Transfer | 16028885 | 1214 days ago | 0.00147223 ETH | ||||
| Transfer | 16028885 | 1214 days ago | 0.00000021 ETH | ||||
| Add Liquidity ET... | 16028885 | 1214 days ago | 0.00073611 ETH | ||||
| Transfer | 16028885 | 1214 days ago | 0.0036953 ETH | ||||
| Transfer | 15908638 | 1231 days ago | 0.00195845 ETH | ||||
| Transfer | 15908638 | 1231 days ago | 0.00193842 ETH | ||||
| Transfer | 15908638 | 1231 days ago | 0.00000064 ETH | ||||
| Add Liquidity ET... | 15908638 | 1231 days ago | 0.00096921 ETH | ||||
| Transfer | 15908638 | 1231 days ago | 0.00486545 ETH | ||||
| Transfer | 15901873 | 1232 days ago | 0.00270257 ETH | ||||
| Transfer | 15901873 | 1232 days ago | 0.00267408 ETH | ||||
| Transfer | 15901873 | 1232 days ago | 0.00000175 ETH | ||||
| Add Liquidity ET... | 15901873 | 1232 days ago | 0.00133704 ETH | ||||
| Transfer | 15901873 | 1232 days ago | 0.00671195 ETH | ||||
| Transfer | 15901523 | 1232 days ago | 0.00351668 ETH | ||||
| Transfer | 15901523 | 1232 days ago | 0.00347855 ETH | ||||
| Transfer | 15901523 | 1232 days ago | 0.00000334 ETH | ||||
| Add Liquidity ET... | 15901523 | 1232 days ago | 0.00173927 ETH | ||||
| Transfer | 15901523 | 1232 days ago | 0.00873118 ETH | ||||
| Transfer | 15900988 | 1232 days ago | 0.00431015 ETH | ||||
| Transfer | 15900988 | 1232 days ago | 0.0042623 ETH | ||||
| Transfer | 15900988 | 1232 days ago | 0.00000523 ETH | ||||
| Add Liquidity ET... | 15900988 | 1232 days ago | 0.00213115 ETH | ||||
| Transfer | 15900988 | 1232 days ago | 0.01069838 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
EndGameProtocol
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-11-04
*/
/**
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
Hype Meme play off Vitaliks latest tweet!
https://t.me/TheEndgameProtocol
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.16;
library SafeMath {
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 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 sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked{require(b <= a, errorMessage); return a - b;}}
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;}}}
interface IERC20 {
function totalSupply() external view returns (uint256);
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
function getOwner() external view returns (address);
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);}
abstract contract Ownable {
address internal owner;
constructor(address _owner) {owner = _owner;}
modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
function isOwner(address account) public view returns (bool) {return account == owner;}
function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);}
event OwnershipTransferred(address owner);
}
interface IFactory{
function createPair(address tokenA, address tokenB) external returns (address pair);
function getPair(address tokenA, address tokenB) external view returns (address pair);
}
interface IRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function removeLiquidityWithPermit(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountA, uint amountB);
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external payable;
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline) external;
}
contract EndGameProtocol is IERC20, Ownable {
using SafeMath for uint256;
string private constant _name = 'EndGame Protocol';
string private constant _symbol = 'EGP';
uint8 private constant _decimals = 9;
uint256 private _totalSupply = 1 * 10**9 * (10 ** _decimals);
uint256 private _maxTxAmountPercent = 100; // 10000;
uint256 private _maxTransferPercent = 100;
uint256 private _maxWalletPercent = 200;
mapping (address => uint256) _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) public isFeeExempt;
mapping (address => bool) private isBot;
IRouter router;
address public pair;
bool private tradingAllowed = false;
uint256 private liquidityFee = 100;
uint256 private marketingFee = 300;
uint256 private developmentFee = 100;
uint256 private burnFee = 0;
uint256 private totalFee = 500;
uint256 private sellFee = 500;
uint256 private transferFee = 500;
uint256 private denominator = 10000;
bool private swapEnabled = true;
uint256 private swapTimes;
bool private swapping;
uint256 private swapThreshold = ( _totalSupply * 350 ) / 100000;
uint256 private _minTokenAmount = ( _totalSupply * 10 ) / 100000;
modifier lockTheSwap {swapping = true; _; swapping = false;}
address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
address internal constant development_receiver = 0x1c4405820F2b816e5C42C187eB9f38b07Fe1bf14;
address internal constant marketing_receiver = 0xe7604FB09626E78056f177e2c23707A4169bBDF4;
address internal constant liquidity_receiver = 0x1c4405820F2b816e5C42C187eB9f38b07Fe1bf14;
constructor() Ownable(msg.sender) {
IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
router = _router;
pair = _pair;
isFeeExempt[address(this)] = true;
isFeeExempt[liquidity_receiver] = true;
isFeeExempt[marketing_receiver] = true;
isFeeExempt[msg.sender] = true;
_balances[msg.sender] = _totalSupply;
emit Transfer(address(0), msg.sender, _totalSupply);
}
receive() external payable {}
function name() public pure returns (string memory) {return _name;}
function symbol() public pure returns (string memory) {return _symbol;}
function decimals() public pure returns (uint8) {return _decimals;}
function startTrading() external onlyOwner {tradingAllowed = true;}
function getOwner() external view override returns (address) { return owner; }
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 isCont(address addr) internal view returns (bool) {uint size; assembly { size := extcodesize(addr) } return size > 0; }
function setisBot(address _address, bool _enabled) external onlyOwner {isBot[_address] = _enabled;}
function setisExempt(address _address, bool _enabled) external onlyOwner {isFeeExempt[_address] = _enabled;}
function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}
function _maxWalletToken() public view returns (uint256) {return totalSupply() * _maxWalletPercent / denominator;}
function _maxTxAmount() public view returns (uint256) {return totalSupply() * _maxTxAmountPercent / denominator;}
function _maxTransferAmount() public view returns (uint256) {return totalSupply() * _maxTransferPercent / denominator;}
function preTxCheck(address sender, address recipient, uint256 amount) internal view {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
require(amount > uint256(0), "Transfer amount must be greater than zero");
require(amount <= balanceOf(sender),"You are trying to transfer more than your balance");
}
function _transfer(address sender, address recipient, uint256 amount) private {
preTxCheck(sender, recipient, amount);
checkTradingAllowed(sender, recipient);
checkMaxWallet(sender, recipient, amount);
swapbackCounters(sender, recipient);
checkTxLimit(sender, recipient, amount);
swapBack(sender, recipient, amount);
_balances[sender] = _balances[sender].sub(amount);
uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
_balances[recipient] = _balances[recipient].add(amountReceived);
emit Transfer(sender, recipient, amountReceived);
}
function setStructure(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _sell, uint256 _trans) external onlyOwner {
liquidityFee = _liquidity;
marketingFee = _marketing;
burnFee = _burn;
developmentFee - _development;
sellFee = _sell;
transferFee = _trans;
totalFee = _liquidity.add(_marketing).add(_burn).add(_development);
require(totalFee <= denominator.div(5) && sellFee <= denominator.div(5), "totalFee and sellFee cannot be more than 20%");
}
function setParameters(uint256 _buy, uint256 _trans, uint256 _wallet) external onlyOwner {
uint256 newTx = (totalSupply() * _buy) / 10000;
uint256 newTransfer = (totalSupply() * _trans) / 10000;
uint256 newWallet = (totalSupply() * _wallet) / 10000;
_maxTxAmountPercent = _buy;
_maxTransferPercent = _trans;
_maxWalletPercent = _wallet;
uint256 limit = totalSupply().mul(5).div(1000);
require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%");
}
function checkTradingAllowed(address sender, address recipient) internal view {
if(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingAllowed, "tradingAllowed");}
}
function checkMaxWallet(address sender, address recipient, uint256 amount) internal view {
if(!isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(pair) && recipient != address(DEAD)){
require((_balances[recipient].add(amount)) <= _maxWalletToken(), "Exceeds maximum wallet amount.");}
}
function swapbackCounters(address sender, address recipient) internal {
if(recipient == pair && !isFeeExempt[sender]){swapTimes += uint256(1);}
}
function checkTxLimit(address sender, address recipient, uint256 amount) internal view {
if(sender != pair){require(amount <= _maxTransferAmount() || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");}
require(amount <= _maxTxAmount() || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");
}
function swapAndLiquify(uint256 tokens) private lockTheSwap {
uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2);
uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator);
uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
uint256 initialBalance = address(this).balance;
swapTokensForETH(toSwap);
uint256 deltaBalance = address(this).balance.sub(initialBalance);
uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee));
uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);}
uint256 remainingBalance = address(this).balance;
if(remainingBalance > uint256(0)){payable(development_receiver).transfer(remainingBalance);}
}
function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
_approve(address(this), address(router), tokenAmount);
router.addLiquidityETH{value: ETHAmount}(
address(this),
tokenAmount,
0,
0,
liquidity_receiver,
block.timestamp);
}
function swapTokensForETH(uint256 tokenAmount) private {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = router.WETH();
_approve(address(this), address(router), tokenAmount);
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp);
}
function shouldSwapBack(address sender, address recipient, uint256 amount) internal view returns (bool) {
bool aboveMin = amount >= _minTokenAmount;
bool aboveThreshold = balanceOf(address(this)) >= swapThreshold;
return !swapping && swapEnabled && tradingAllowed && aboveMin && !isFeeExempt[sender] && recipient == pair && swapTimes >= uint256(2) && aboveThreshold;
}
function swapBack(address sender, address recipient, uint256 amount) internal {
if(shouldSwapBack(sender, recipient, amount)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);}
}
function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
return !isFeeExempt[sender] && !isFeeExempt[recipient];
}
function getTotalFee(address sender, address recipient) internal view returns (uint256) {
if(isBot[sender] || isBot[recipient]){return denominator.sub(uint256(100));}
if(recipient == pair){return sellFee;}
if(sender == pair){return totalFee;}
return transferFee;
}
function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
if(getTotalFee(sender, recipient) > 0){
uint256 feeAmount = amount.div(denominator).mul(getTotalFee(sender, recipient));
_balances[address(this)] = _balances[address(this)].add(feeAmount);
emit Transfer(sender, address(this), feeAmount);
if(burnFee > uint256(0)){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));}
return amount.sub(feeAmount);} return amount;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance"));
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
}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":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052620000126009600a62000455565b6200002290633b9aca006200046d565b600181815560646002819055600381905560c8600455600a805460ff60a01b19169055600b81905561012c600c55600d556000600e556101f4600f81905560108190556011556127106012556013805460ff19169091179055620186a0906200008e9061015e6200046d565b6200009a91906200048f565b601655620186a0600154600a620000b291906200046d565b620000be91906200048f565b601755348015620000ce57600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa15801562000136573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015c9190620004b2565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d09190620004b2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200021e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002449190620004b2565b600980546001600160a01b038581166001600160a01b031992831617909255600a805492841692909116919091179055306000908152600760209081526040808320805460ff1990811660019081179092557fd1300be185993c6de148c7cb790b61c19fb2c81b3b6237e8102ef241344414e580548216831790557fa8d9fd9296fef1c9fe7bdc68a41c7947d7dc738eb0cae34bac9eee8b6bb503f28054821683179055338086528386208054909216831790915590546005845282852081905591519182529394507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620004dd565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003975781600019048211156200037b576200037b62000340565b808516156200038957918102915b93841c93908002906200035b565b509250929050565b600082620003b0575060016200044f565b81620003bf575060006200044f565b8160018114620003d85760028114620003e35762000403565b60019150506200044f565b60ff841115620003f757620003f762000340565b50506001821b6200044f565b5060208310610133831016604e8410600b841016171562000428575081810a6200044f565b62000434838362000356565b80600019048211156200044b576200044b62000340565b0290505b92915050565b60006200046660ff8416836200039f565b9392505050565b60008160001904831182151516156200048a576200048a62000340565b500290565b600082620004ad57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004c557600080fd5b81516001600160a01b03811681146200046657600080fd5b611adb80620004ed6000396000f3fe6080604052600436106101395760003560e01c806370a08231116100ab5780638c41180e1161006f5780638c41180e1461039c57806395d89b41146103bc578063a8aa1b31146103e8578063a9059cbb14610408578063dd62ed3e14610428578063f2fde38b1461046e57600080fd5b806370a08231146102ea57806378109e54146103205780637d1db4a514610335578063848367781461034a578063893d20e81461036a57600080fd5b8063293230b8116100fd578063293230b8146102185780632f54bf6e1461022f578063313ce5671461025e57806334c5d2ce1461027a5780633f4218e01461029a57806348ff2b8b146102ca57600080fd5b806306fdde0314610145578063095ea7b31461019057806318160ddd146101c05780631f976b7e146101e357806323b872dd146101f857600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152601081526f115b9911d85b5948141c9bdd1bd8dbdb60821b60208201525b6040516101879190611743565b60405180910390f35b34801561019c57600080fd5b506101b06101ab3660046117a9565b61048e565b6040519015158152602001610187565b3480156101cc57600080fd5b506101d56104a5565b604051908152602001610187565b3480156101ef57600080fd5b506101d5610516565b34801561020457600080fd5b506101b06102133660046117d5565b61053a565b34801561022457600080fd5b5061022d6105a4565b005b34801561023b57600080fd5b506101b061024a366004611816565b6000546001600160a01b0391821691161490565b34801561026a57600080fd5b5060405160098152602001610187565b34801561028657600080fd5b5061022d610295366004611833565b6105ec565b3480156102a657600080fd5b506101b06102b5366004611816565b60076020526000908152604090205460ff1681565b3480156102d657600080fd5b5061022d6102e536600461185f565b61073c565b3480156102f657600080fd5b506101d5610305366004611816565b6001600160a01b031660009081526005602052604090205490565b34801561032c57600080fd5b506101d5610791565b34801561034157600080fd5b506101d56107a1565b34801561035657600080fd5b5061022d61036536600461189d565b6107b1565b34801561037657600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610187565b3480156103a857600080fd5b5061022d6103b736600461185f565b6108b3565b3480156103c857600080fd5b5060408051808201909152600381526204547560ec1b602082015261017a565b3480156103f457600080fd5b50600a54610384906001600160a01b031681565b34801561041457600080fd5b506101b06104233660046117a9565b610908565b34801561043457600080fd5b506101d56104433660046118e0565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561047a57600080fd5b5061022d610489366004611816565b610915565b600061049b338484610993565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54600154919261051192909161050b9190610ab7565b90610ab7565b905090565b60006012546003546105266104a5565b6105309190611924565b6105119190611943565b6000610547848484610ac3565b610599843361059485604051806060016040528060288152602001611a7e602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610be9565b610993565b5060015b9392505050565b6000546001600160a01b031633146105d75760405162461bcd60e51b81526004016105ce90611965565b60405180910390fd5b600a805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146106165760405162461bcd60e51b81526004016105ce90611965565b6000612710846106246104a5565b61062e9190611924565b6106389190611943565b90506000612710846106486104a5565b6106529190611924565b61065c9190611943565b905060006127108461066c6104a5565b6106769190611924565b6106809190611943565b600287905560038690556004859055905060006106b26103e86106ac60056106a66104a5565b90610c15565b90610c21565b90508084101580156106c45750808310155b80156106d05750808210155b6107335760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016105ce565b50505050505050565b6000546001600160a01b031633146107665760405162461bcd60e51b81526004016105ce90611965565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60006012546004546105266104a5565b60006012546002546105266104a5565b6000546001600160a01b031633146107db5760405162461bcd60e51b81526004016105ce90611965565b600b869055600c859055600e849055600d546107f8908490611985565b50601082905560118190556108198361081386818a8a610c2d565b90610c2d565b600f5560125461082a906005610c21565b600f541115801561084a5750601254610844906005610c21565b60105411155b6108ab5760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016105ce565b505050505050565b6000546001600160a01b031633146108dd5760405162461bcd60e51b81526004016105ce90611965565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b600061049b338484610ac3565b6000546001600160a01b0316331461093f5760405162461bcd60e51b81526004016105ce90611965565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166109f55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105ce565b6001600160a01b038216610a565760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105ce565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061059d8284611985565b610ace838383610c39565b610ad88383610de8565b610ae3838383610e7d565b610aed8383610f6e565b610af8838383610fc5565b610b038383836110fc565b6001600160a01b038316600090815260056020526040902054610b269082610ab7565b6001600160a01b038416600090815260056020526040812091909155610b4c8484611121565b610b565781610b61565b610b61848484611167565b6001600160a01b038416600090815260056020526040902054909150610b879082610c2d565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bdb9085815260200190565b60405180910390a350505050565b60008184841115610c0d5760405162461bcd60e51b81526004016105ce9190611743565b505050900390565b600061059d8284611924565b600061059d8284611943565b600061059d8284611998565b6001600160a01b038316610c9d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105ce565b6001600160a01b038216610cff5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105ce565b60008111610d615760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105ce565b6001600160a01b038316600090815260056020526040902054811115610de35760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016105ce565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610e2a57506001600160a01b03811660009081526007602052604090205460ff16155b15610e7957600a54600160a01b900460ff16610e795760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016105ce565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610ebf57506001600160a01b03821660009081526007602052604090205460ff16155b8015610ed95750600a546001600160a01b03838116911614155b8015610ef057506001600160a01b03821661dead14155b15610de357610efd610791565b6001600160a01b038316600090815260056020526040902054610f209083610c2d565b1115610de35760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016105ce565b600a546001600160a01b038281169116148015610fa457506001600160a01b03821660009081526007602052604090205460ff16155b15610e7957600160146000828254610fbc9190611998565b90915550505050565b600a546001600160a01b0384811691161461106b57610fe2610516565b8111158061100857506001600160a01b03831660009081526007602052604090205460ff165b8061102b57506001600160a01b03821660009081526007602052604090205460ff165b61106b5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105ce565b6110736107a1565b8111158061109957506001600160a01b03831660009081526007602052604090205460ff165b806110bc57506001600160a01b03821660009081526007602052604090205460ff165b610de35760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105ce565b611107838383611255565b15610de357611117601654611307565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff1615801561059d5750506001600160a01b031660009081526007602052604090205460ff1615919050565b600080611174858561148c565b111561124e576000611197611189868661148c565b6012546106a6908690610c21565b306000908152600560205260409020549091506111b49082610c2d565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112059085815260200190565b60405180910390a3600e541561123c5761123c3061dead611237600e546106a660125489610c2190919063ffffffff16565b610ac3565b6112468382610ab7565b91505061059d565b5092915050565b6017546016543060009081526005602052604081205460155491938510159211159060ff16158015611289575060135460ff165b801561129e5750600a54600160a01b900460ff165b80156112a75750815b80156112cc57506001600160a01b03861660009081526007602052604090205460ff16155b80156112e55750600a546001600160a01b038681169116145b80156112f45750600260145410155b80156112fd5750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b5460009361133b936002936106a6939192610813928391610c2d565b90506000611358826106ac600b5486610c1590919063ffffffff16565b905060006113668483610ab7565b9050476113728261152d565b600061137e4783610ab7565b905060006113a161139a600b5488610ab790919063ffffffff16565b8390610c21565b905060006113ba600b5483610c1590919063ffffffff16565b905080156113cc576113cc868261167f565b600c546000906113e1906106a6856002610c15565b9050801561142c5760405173e7604fb09626e78056f177e2c23707a4169bbdf49082156108fc029083906000818181858888f1935050505015801561142a573d6000803e3d6000fd5b505b47801561147657604051731c4405820f2b816e5c42c187eb9f38b07fe1bf149082156108fc029083906000818181858888f19350505050158015611474573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff16806114cb57506001600160a01b03821660009081526008602052604090205460ff165b156114e5576012546114de906064610ab7565b905061049f565b600a546001600160a01b0390811690831603611504575060105461049f565b600a546001600160a01b03908116908416036115235750600f5461049f565b5060115492915050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611562576115626119ab565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115df91906119c1565b816001815181106115f2576115f26119ab565b6001600160a01b0392831660209182029290920101526009546116189130911684610993565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906116519085906000908690309042906004016119de565b600060405180830381600087803b15801561166b57600080fd5b505af11580156108ab573d6000803e3d6000fd5b6009546116979030906001600160a01b031684610993565b60095460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820152731c4405820f2b816e5c42c187eb9f38b07fe1bf1460848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611717573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061173c9190611a4f565b5050505050565b600060208083528351808285015260005b8181101561177057858101830151858201604001528201611754565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117a657600080fd5b50565b600080604083850312156117bc57600080fd5b82356117c781611791565b946020939093013593505050565b6000806000606084860312156117ea57600080fd5b83356117f581611791565b9250602084013561180581611791565b929592945050506040919091013590565b60006020828403121561182857600080fd5b813561059d81611791565b60008060006060848603121561184857600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561187257600080fd5b823561187d81611791565b91506020830135801515811461189257600080fd5b809150509250929050565b60008060008060008060c087890312156118b657600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080604083850312156118f357600080fd5b82356118fe81611791565b9150602083013561189281611791565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561193e5761193e61190e565b500290565b60008261196057634e487b7160e01b600052601260045260246000fd5b500490565b60208082526006908201526510a7aba722a960d11b604082015260600190565b8181038181111561049f5761049f61190e565b8082018082111561049f5761049f61190e565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119d357600080fd5b815161059d81611791565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a2e5784516001600160a01b031683529383019391830191600101611a09565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a6457600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201c9ee1d35671c55f22c5bdba0ac5217489ff2b22fc61efd028855e452f54765964736f6c63430008100033
Deployed Bytecode
0x6080604052600436106101395760003560e01c806370a08231116100ab5780638c41180e1161006f5780638c41180e1461039c57806395d89b41146103bc578063a8aa1b31146103e8578063a9059cbb14610408578063dd62ed3e14610428578063f2fde38b1461046e57600080fd5b806370a08231146102ea57806378109e54146103205780637d1db4a514610335578063848367781461034a578063893d20e81461036a57600080fd5b8063293230b8116100fd578063293230b8146102185780632f54bf6e1461022f578063313ce5671461025e57806334c5d2ce1461027a5780633f4218e01461029a57806348ff2b8b146102ca57600080fd5b806306fdde0314610145578063095ea7b31461019057806318160ddd146101c05780631f976b7e146101e357806323b872dd146101f857600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152601081526f115b9911d85b5948141c9bdd1bd8dbdb60821b60208201525b6040516101879190611743565b60405180910390f35b34801561019c57600080fd5b506101b06101ab3660046117a9565b61048e565b6040519015158152602001610187565b3480156101cc57600080fd5b506101d56104a5565b604051908152602001610187565b3480156101ef57600080fd5b506101d5610516565b34801561020457600080fd5b506101b06102133660046117d5565b61053a565b34801561022457600080fd5b5061022d6105a4565b005b34801561023b57600080fd5b506101b061024a366004611816565b6000546001600160a01b0391821691161490565b34801561026a57600080fd5b5060405160098152602001610187565b34801561028657600080fd5b5061022d610295366004611833565b6105ec565b3480156102a657600080fd5b506101b06102b5366004611816565b60076020526000908152604090205460ff1681565b3480156102d657600080fd5b5061022d6102e536600461185f565b61073c565b3480156102f657600080fd5b506101d5610305366004611816565b6001600160a01b031660009081526005602052604090205490565b34801561032c57600080fd5b506101d5610791565b34801561034157600080fd5b506101d56107a1565b34801561035657600080fd5b5061022d61036536600461189d565b6107b1565b34801561037657600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610187565b3480156103a857600080fd5b5061022d6103b736600461185f565b6108b3565b3480156103c857600080fd5b5060408051808201909152600381526204547560ec1b602082015261017a565b3480156103f457600080fd5b50600a54610384906001600160a01b031681565b34801561041457600080fd5b506101b06104233660046117a9565b610908565b34801561043457600080fd5b506101d56104433660046118e0565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561047a57600080fd5b5061022d610489366004611816565b610915565b600061049b338484610993565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54600154919261051192909161050b9190610ab7565b90610ab7565b905090565b60006012546003546105266104a5565b6105309190611924565b6105119190611943565b6000610547848484610ac3565b610599843361059485604051806060016040528060288152602001611a7e602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610be9565b610993565b5060015b9392505050565b6000546001600160a01b031633146105d75760405162461bcd60e51b81526004016105ce90611965565b60405180910390fd5b600a805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146106165760405162461bcd60e51b81526004016105ce90611965565b6000612710846106246104a5565b61062e9190611924565b6106389190611943565b90506000612710846106486104a5565b6106529190611924565b61065c9190611943565b905060006127108461066c6104a5565b6106769190611924565b6106809190611943565b600287905560038690556004859055905060006106b26103e86106ac60056106a66104a5565b90610c15565b90610c21565b90508084101580156106c45750808310155b80156106d05750808210155b6107335760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016105ce565b50505050505050565b6000546001600160a01b031633146107665760405162461bcd60e51b81526004016105ce90611965565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60006012546004546105266104a5565b60006012546002546105266104a5565b6000546001600160a01b031633146107db5760405162461bcd60e51b81526004016105ce90611965565b600b869055600c859055600e849055600d546107f8908490611985565b50601082905560118190556108198361081386818a8a610c2d565b90610c2d565b600f5560125461082a906005610c21565b600f541115801561084a5750601254610844906005610c21565b60105411155b6108ab5760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016105ce565b505050505050565b6000546001600160a01b031633146108dd5760405162461bcd60e51b81526004016105ce90611965565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b600061049b338484610ac3565b6000546001600160a01b0316331461093f5760405162461bcd60e51b81526004016105ce90611965565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166109f55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105ce565b6001600160a01b038216610a565760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105ce565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061059d8284611985565b610ace838383610c39565b610ad88383610de8565b610ae3838383610e7d565b610aed8383610f6e565b610af8838383610fc5565b610b038383836110fc565b6001600160a01b038316600090815260056020526040902054610b269082610ab7565b6001600160a01b038416600090815260056020526040812091909155610b4c8484611121565b610b565781610b61565b610b61848484611167565b6001600160a01b038416600090815260056020526040902054909150610b879082610c2d565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bdb9085815260200190565b60405180910390a350505050565b60008184841115610c0d5760405162461bcd60e51b81526004016105ce9190611743565b505050900390565b600061059d8284611924565b600061059d8284611943565b600061059d8284611998565b6001600160a01b038316610c9d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105ce565b6001600160a01b038216610cff5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105ce565b60008111610d615760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105ce565b6001600160a01b038316600090815260056020526040902054811115610de35760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016105ce565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610e2a57506001600160a01b03811660009081526007602052604090205460ff16155b15610e7957600a54600160a01b900460ff16610e795760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016105ce565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610ebf57506001600160a01b03821660009081526007602052604090205460ff16155b8015610ed95750600a546001600160a01b03838116911614155b8015610ef057506001600160a01b03821661dead14155b15610de357610efd610791565b6001600160a01b038316600090815260056020526040902054610f209083610c2d565b1115610de35760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016105ce565b600a546001600160a01b038281169116148015610fa457506001600160a01b03821660009081526007602052604090205460ff16155b15610e7957600160146000828254610fbc9190611998565b90915550505050565b600a546001600160a01b0384811691161461106b57610fe2610516565b8111158061100857506001600160a01b03831660009081526007602052604090205460ff165b8061102b57506001600160a01b03821660009081526007602052604090205460ff165b61106b5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105ce565b6110736107a1565b8111158061109957506001600160a01b03831660009081526007602052604090205460ff165b806110bc57506001600160a01b03821660009081526007602052604090205460ff165b610de35760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105ce565b611107838383611255565b15610de357611117601654611307565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff1615801561059d5750506001600160a01b031660009081526007602052604090205460ff1615919050565b600080611174858561148c565b111561124e576000611197611189868661148c565b6012546106a6908690610c21565b306000908152600560205260409020549091506111b49082610c2d565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112059085815260200190565b60405180910390a3600e541561123c5761123c3061dead611237600e546106a660125489610c2190919063ffffffff16565b610ac3565b6112468382610ab7565b91505061059d565b5092915050565b6017546016543060009081526005602052604081205460155491938510159211159060ff16158015611289575060135460ff165b801561129e5750600a54600160a01b900460ff165b80156112a75750815b80156112cc57506001600160a01b03861660009081526007602052604090205460ff16155b80156112e55750600a546001600160a01b038681169116145b80156112f45750600260145410155b80156112fd5750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b5460009361133b936002936106a6939192610813928391610c2d565b90506000611358826106ac600b5486610c1590919063ffffffff16565b905060006113668483610ab7565b9050476113728261152d565b600061137e4783610ab7565b905060006113a161139a600b5488610ab790919063ffffffff16565b8390610c21565b905060006113ba600b5483610c1590919063ffffffff16565b905080156113cc576113cc868261167f565b600c546000906113e1906106a6856002610c15565b9050801561142c5760405173e7604fb09626e78056f177e2c23707a4169bbdf49082156108fc029083906000818181858888f1935050505015801561142a573d6000803e3d6000fd5b505b47801561147657604051731c4405820f2b816e5c42c187eb9f38b07fe1bf149082156108fc029083906000818181858888f19350505050158015611474573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff16806114cb57506001600160a01b03821660009081526008602052604090205460ff165b156114e5576012546114de906064610ab7565b905061049f565b600a546001600160a01b0390811690831603611504575060105461049f565b600a546001600160a01b03908116908416036115235750600f5461049f565b5060115492915050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611562576115626119ab565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115df91906119c1565b816001815181106115f2576115f26119ab565b6001600160a01b0392831660209182029290920101526009546116189130911684610993565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906116519085906000908690309042906004016119de565b600060405180830381600087803b15801561166b57600080fd5b505af11580156108ab573d6000803e3d6000fd5b6009546116979030906001600160a01b031684610993565b60095460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820152731c4405820f2b816e5c42c187eb9f38b07fe1bf1460848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611717573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061173c9190611a4f565b5050505050565b600060208083528351808285015260005b8181101561177057858101830151858201604001528201611754565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117a657600080fd5b50565b600080604083850312156117bc57600080fd5b82356117c781611791565b946020939093013593505050565b6000806000606084860312156117ea57600080fd5b83356117f581611791565b9250602084013561180581611791565b929592945050506040919091013590565b60006020828403121561182857600080fd5b813561059d81611791565b60008060006060848603121561184857600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561187257600080fd5b823561187d81611791565b91506020830135801515811461189257600080fd5b809150509250929050565b60008060008060008060c087890312156118b657600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080604083850312156118f357600080fd5b82356118fe81611791565b9150602083013561189281611791565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561193e5761193e61190e565b500290565b60008261196057634e487b7160e01b600052601260045260246000fd5b500490565b60208082526006908201526510a7aba722a960d11b604082015260600190565b8181038181111561049f5761049f61190e565b8082018082111561049f5761049f61190e565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119d357600080fd5b815161059d81611791565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a2e5784516001600160a01b031683529383019391830191600101611a09565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a6457600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201c9ee1d35671c55f22c5bdba0ac5217489ff2b22fc61efd028855e452f54765964736f6c63430008100033
Deployed Bytecode Sourcemap
4896:11660:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7252:67;;;;;;;;;;-1:-1:-1;7312:5:0;;;;;;;;;;;;-1:-1:-1;;;7312:5:0;;;;7252:67;;;;;;;:::i;:::-;;;;;;;;8372:133;;;;;;;;;;-1:-1:-1;8372:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8372:133:0;1023:187:1;8511:132:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;8511:132:0;1215:177:1;8888:119:0;;;;;;;;;;;;;:::i;15899:309::-;;;;;;;;;;-1:-1:-1;15899:309:0;;;;;:::i;:::-;;:::i;7475:67::-;;;;;;;;;;;;;:::i;:::-;;3276:87;;;;;;;;;;-1:-1:-1;3276:87:0;;;;;:::i;:::-;3331:4;3356:5;-1:-1:-1;;;;;3345:16:0;;;3356:5;;3345:16;;3276:87;7402:67;;;;;;;;;;-1:-1:-1;7402:67:0;;5118:1;2252:36:1;;2240:2;2225:18;7402:67:0;2110:184:1;10724:584:0;;;;;;;;;;-1:-1:-1;10724:584:0;;;;;:::i;:::-;;:::i;5466:44::-;;;;;;;;;;-1:-1:-1;5466:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8258:108;;;;;;;;;;-1:-1:-1;8258:108:0;;;;;:::i;:::-;;:::i;7632:103::-;;;;;;;;;;-1:-1:-1;7632:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7715:18:0;7698:7;7715:18;;;:9;:18;;;;;;;7632:103;8649:114;;;;;;;;;;;;;:::i;8769:113::-;;;;;;;;;;;;;:::i;10156:560::-;;;;;;;;;;-1:-1:-1;10156:560:0;;;;;:::i;:::-;;:::i;7548:78::-;;;;;;;;;;-1:-1:-1;7600:7:0;7618:5;-1:-1:-1;;;;;7618:5:0;7548:78;;;-1:-1:-1;;;;;3733:32:1;;;3715:51;;3703:2;3688:18;7548:78:0;3569:203:1;8153:99:0;;;;;;;;;;-1:-1:-1;8153:99:0;;;;;:::i;:::-;;:::i;7325:71::-;;;;;;;;;;-1:-1:-1;7387:7:0;;;;;;;;;;;;-1:-1:-1;;;7387:7:0;;;;7325:71;;5584:19;;;;;;;;;;-1:-1:-1;5584:19:0;;;;-1:-1:-1;;;;;5584:19:0;;;7741:139;;;;;;;;;;-1:-1:-1;7741:139:0;;;;;:::i;:::-;;:::i;7886:127::-;;;;;;;;;;-1:-1:-1;7886:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7984:18:0;;;7967:7;7984:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7886:127;3369:111;;;;;;;;;;-1:-1:-1;3369:111:0;;;;;:::i;:::-;;:::i;8372:133::-;8447:4;8454:37;8463:10;8475:7;8484:6;8454:8;:37::i;:::-;-1:-1:-1;8499:4:0;8372:133;;;;;:::o;8511:132::-;7715:9;:18;;;;6307:42;8564:7;7715:18;;;;;8581:12;;8564:7;;8581:60;;7715:18;;8581:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8574:67;;8511:132;:::o;8888:119::-;8939:7;8994:11;;8972:19;;8956:13;:11;:13::i;:::-;:35;;;;:::i;:::-;:49;;;;:::i;15899:309::-;15997:4;16014:36;16024:6;16032:9;16043:6;16014:9;:36::i;:::-;16061:117;16070:6;16078:10;16090:87;16126:6;16090:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16090:19:0;;;;;;:11;:19;;;;;;;;16110:10;16090:31;;;;;;;;;:87;:35;:87::i;:::-;16061:8;:117::i;:::-;-1:-1:-1;16196:4:0;15899:309;;;;;;:::o;7475:67::-;3331:4;3356:5;-1:-1:-1;;;;;3356:5:0;3243:10;3345:16;3227:38;;;;-1:-1:-1;;;3227:38:0;;;;;;;:::i;:::-;;;;;;;;;7519:14:::1;:21:::0;;-1:-1:-1;;;;7519:21:0::1;-1:-1:-1::0;;;7519:21:0::1;::::0;;7475:67::o;10724:584::-;3331:4;3356:5;-1:-1:-1;;;;;3356:5:0;3243:10;3345:16;3227:38;;;;-1:-1:-1;;;3227:38:0;;;;;;;:::i;:::-;10824:13:::1;10865:5;10857:4;10841:13;:11;:13::i;:::-;:20;;;;:::i;:::-;10840:30;;;;:::i;:::-;10824:46;;10881:19;10930:5;10920:6;10904:13;:11;:13::i;:::-;:22;;;;:::i;:::-;10903:32;;;;:::i;:::-;10881:54;;10946:17;10994:5;10983:7;10967:13;:11;:13::i;:::-;:23;;;;:::i;:::-;10966:33;;;;:::i;:::-;11010:19;:26:::0;;;11047:19:::1;:28:::0;;;11086:17:::1;:27:::0;;;10946:53;-1:-1:-1;;11140:30:0::1;11165:4;11140:20;11158:1;11140:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:::-;:24:::0;::::1;:30::i;:::-;11124:46;;11198:5;11189;:14;;:38;;;;;11222:5;11207:11;:20;;11189:38;:60;;;;;11244:5;11231:9;:18;;11189:60;11181:119;;;::::0;-1:-1:-1;;;11181:119:0;;5493:2:1;11181:119:0::1;::::0;::::1;5475:21:1::0;5532:2;5512:18;;;5505:30;5571:34;5551:18;;;5544:62;-1:-1:-1;;;5622:18:1;;;5615:44;5676:19;;11181:119:0::1;5291:410:1::0;11181:119:0::1;10813:495;;;;10724:584:::0;;;:::o;8258:108::-;3331:4;3356:5;-1:-1:-1;;;;;3356:5:0;3243:10;3345:16;3227:38;;;;-1:-1:-1;;;3227:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8332:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8332:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8258:108::o;8649:114::-;8697:7;8750:11;;8730:17;;8714:13;:11;:13::i;8769:113::-;8814:7;8869:11;;8847:19;;8831:13;:11;:13::i;10156:560::-;3331:4;3356:5;-1:-1:-1;;;;;3356:5:0;3243:10;3345:16;3227:38;;;;-1:-1:-1;;;3227:38:0;;;;;;;:::i;:::-;10316:12:::1;:25:::0;;;10352:12:::1;:25:::0;;;10388:7:::1;:15:::0;;;10414:14:::1;::::0;:29:::1;::::0;10431:12;;10414:29:::1;:::i;:::-;-1:-1:-1::0;10454:7:0::1;:15:::0;;;10480:11:::1;:20:::0;;;10522:55:::1;10564:12:::0;10522:37:::1;10553:5:::0;10522:37;:10;10537;10522:14:::1;:26::i;:::-;:30:::0;::::1;:37::i;:55::-;10511:8;:66:::0;10608:11:::1;::::0;:18:::1;::::0;10624:1:::1;10608:15;:18::i;:::-;10596:8;;:30;;:63;;;;-1:-1:-1::0;10641:11:0::1;::::0;:18:::1;::::0;10657:1:::1;10641:15;:18::i;:::-;10630:7;;:29;;10596:63;10588:120;;;::::0;-1:-1:-1;;;10588:120:0;;6041:2:1;10588:120:0::1;::::0;::::1;6023:21:1::0;6080:2;6060:18;;;6053:30;6119:34;6099:18;;;6092:62;-1:-1:-1;;;6170:18:1;;;6163:42;6222:19;;10588:120:0::1;5839:408:1::0;10588:120:0::1;10156:560:::0;;;;;;:::o;8153:99::-;3331:4;3356:5;-1:-1:-1;;;;;3356:5:0;3243:10;3345:16;3227:38;;;;-1:-1:-1;;;3227:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8224:15:0;;;::::1;;::::0;;;:5:::1;:15;::::0;;;;:26;;-1:-1:-1;;8224:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8153:99::o;7741:139::-;7819:4;7826:40;7836:10;7848:9;7859:6;7826:9;:40::i;3369:111::-;3331:4;3356:5;-1:-1:-1;;;;;3356:5:0;3243:10;3345:16;3227:38;;;;-1:-1:-1;;;3227:38:0;;;;;;;:::i;:::-;3435:5:::1;:11:::0;;-1:-1:-1;;;;;;3435:11:0::1;-1:-1:-1::0;;;;;3435:11:0;::::1;::::0;;::::1;::::0;;;3453:25:::1;::::0;3715:51:1;;;3453:25:0::1;::::0;3703:2:1;3688:18;3453:25:0::1;;;;;;;3369:111:::0;:::o;16216:335::-;-1:-1:-1;;;;;16309:19:0;;16301:68;;;;-1:-1:-1;;;16301:68:0;;6670:2:1;16301:68:0;;;6652:21:1;6709:2;6689:18;;;6682:30;6748:34;6728:18;;;6721:62;-1:-1:-1;;;6799:18:1;;;6792:34;6843:19;;16301:68:0;6468:400:1;16301:68:0;-1:-1:-1;;;;;16388:21:0;;16380:68;;;;-1:-1:-1;;;16380:68:0;;7075:2:1;16380:68:0;;;7057:21:1;7114:2;7094:18;;;7087:30;7153:34;7133:18;;;7126:62;-1:-1:-1;;;7204:18:1;;;7197:32;7246:19;;16380:68:0;6873:398:1;16380:68:0;-1:-1:-1;;;;;16459:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16511:32;;1361:25:1;;;16511:32:0;;1334:18:1;16511:32:0;;;;;;;16216:335;;;:::o;462:82::-;520:7;537:5;541:1;537;:5;:::i;9462:686::-;9551:37;9562:6;9570:9;9581:6;9551:10;:37::i;:::-;9599:38;9619:6;9627:9;9599:19;:38::i;:::-;9648:41;9663:6;9671:9;9682:6;9648:14;:41::i;:::-;9701:35;9718:6;9726:9;9701:16;:35::i;:::-;9747:39;9760:6;9768:9;9779:6;9747:12;:39::i;:::-;9798:35;9807:6;9815:9;9826:6;9798:8;:35::i;:::-;-1:-1:-1;;;;;9864:17:0;;;;;;:9;:17;;;;;;:29;;9886:6;9864:21;:29::i;:::-;-1:-1:-1;;;;;9844:17:0;;;;;;:9;:17;;;;;:49;;;;9929:32;9854:6;9951:9;9929:13;:32::i;:::-;:78;;10001:6;9929:78;;;9964:34;9972:6;9980:9;9991:6;9964:7;:34::i;:::-;-1:-1:-1;;;;;10041:20:0;;;;;;:9;:20;;;;;;9904:103;;-1:-1:-1;10041:40:0;;9904:103;10041:24;:40::i;:::-;-1:-1:-1;;;;;10018:20:0;;;;;;;:9;:20;;;;;;;:63;;;;10097:43;;;;;;;;;;10125:14;1361:25:1;;1349:2;1334:18;;1215:177;10097:43:0;;;;;;;;9540:608;9462:686;;;:::o;1675:162::-;1761:7;1807:12;1799:6;;;;1791:29;;;;-1:-1:-1;;;1791:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1829:5:0;;;1675:162::o;550:82::-;608:7;625:5;629:1;625;:5;:::i;638:82::-;696:7;713:5;717:1;713;:5;:::i;374:82::-;432:7;449:5;453:1;449;:5;:::i;9015:439::-;-1:-1:-1;;;;;9119:20:0;;9111:70;;;;-1:-1:-1;;;9111:70:0;;7608:2:1;9111:70:0;;;7590:21:1;7647:2;7627:18;;;7620:30;7686:34;7666:18;;;7659:62;-1:-1:-1;;;7737:18:1;;;7730:35;7782:19;;9111:70:0;7406:401:1;9111:70:0;-1:-1:-1;;;;;9200:23:0;;9192:71;;;;-1:-1:-1;;;9192:71:0;;8014:2:1;9192:71:0;;;7996:21:1;8053:2;8033:18;;;8026:30;8092:34;8072:18;;;8065:62;-1:-1:-1;;;8143:18:1;;;8136:33;8186:19;;9192:71:0;7812:399:1;9192:71:0;9299:1;9282:6;:19;9274:73;;;;-1:-1:-1;;;9274:73:0;;8418:2:1;9274:73:0;;;8400:21:1;8457:2;8437:18;;;8430:30;8496:34;8476:18;;;8469:62;-1:-1:-1;;;8547:18:1;;;8540:39;8596:19;;9274:73:0;8216:405:1;9274:73:0;-1:-1:-1;;;;;7715:18:0;;7698:7;7715:18;;;:9;:18;;;;;;9366:6;:27;;9358:88;;;;-1:-1:-1;;;9358:88:0;;8828:2:1;9358:88:0;;;8810:21:1;8867:2;8847:18;;;8840:30;8906:34;8886:18;;;8879:62;-1:-1:-1;;;8957:18:1;;;8950:47;9014:19;;9358:88:0;8626:413:1;9358:88:0;9015:439;;;:::o;11316:191::-;-1:-1:-1;;;;;11409:19:0;;;;;;:11;:19;;;;;;;;11408:20;:47;;;;-1:-1:-1;;;;;;11433:22:0;;;;;;:11;:22;;;;;;;;11432:23;11408:47;11405:95;;;11465:14;;-1:-1:-1;;;11465:14:0;;;;11457:41;;;;-1:-1:-1;;;11457:41:0;;9246:2:1;11457:41:0;;;9228:21:1;9285:2;9265:18;;;9258:30;-1:-1:-1;;;9304:18:1;;;9297:44;9358:18;;11457:41:0;9044:338:1;11457:41:0;11316:191;;:::o;11519:333::-;-1:-1:-1;;;;;11623:19:0;;;;;;:11;:19;;;;;;;;11622:20;:47;;;;-1:-1:-1;;;;;;11647:22:0;;;;;;:11;:22;;;;;;;;11646:23;11622:47;:77;;;;-1:-1:-1;11694:4:0;;-1:-1:-1;;;;;11673:26:0;;;11694:4;;11673:26;;11622:77;:107;;;;-1:-1:-1;;;;;;11703:26:0;;6307:42;11703:26;;11622:107;11619:226;;;11791:17;:15;:17::i;:::-;-1:-1:-1;;;;;11754:20:0;;;;;;:9;:20;;;;;;:32;;11779:6;11754:24;:32::i;:::-;11753:55;;11745:98;;;;-1:-1:-1;;;11745:98:0;;9589:2:1;11745:98:0;;;9571:21:1;9628:2;9608:18;;;9601:30;9667:32;9647:18;;;9640:60;9717:18;;11745:98:0;9387:354:1;11860:159:0;11957:4;;-1:-1:-1;;;;;11944:17:0;;;11957:4;;11944:17;:41;;;;-1:-1:-1;;;;;;11966:19:0;;;;;;:11;:19;;;;;;;;11965:20;11944:41;11941:71;;;12008:1;11987:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;11860:159:0;;:::o;12027:349::-;12138:4;;-1:-1:-1;;;;;12128:14:0;;;12138:4;;12128:14;12125:130;;12162:20;:18;:20::i;:::-;12152:6;:30;;:53;;;-1:-1:-1;;;;;;12186:19:0;;;;;;:11;:19;;;;;;;;12152:53;:79;;;-1:-1:-1;;;;;;12209:22:0;;;;;;:11;:22;;;;;;;;12152:79;12144:109;;;;-1:-1:-1;;;12144:109:0;;9948:2:1;12144:109:0;;;9930:21:1;9987:2;9967:18;;;9960:30;-1:-1:-1;;;10006:18:1;;;9999:47;10063:18;;12144:109:0;9746:341:1;12144:109:0;12283:14;:12;:14::i;:::-;12273:6;:24;;:47;;;-1:-1:-1;;;;;;12301:19:0;;;;;;:11;:19;;;;;;;;12273:47;:73;;;-1:-1:-1;;;;;;12324:22:0;;;;;;:11;:22;;;;;;;;12273:73;12265:103;;;;-1:-1:-1;;;12265:103:0;;9948:2:1;12265:103:0;;;9930:21:1;9987:2;9967:18;;;9960:30;-1:-1:-1;;;10006:18:1;;;9999:47;10063:18;;12265:103:0;9746:341:1;14659:197:0;14751:41;14766:6;14774:9;14785:6;14751:14;:41::i;:::-;14748:101;;;14794:29;14809:13;;14794:14;:29::i;:::-;14845:1;14825:9;:22;14659:197;;;:::o;14864:160::-;-1:-1:-1;;;;;14970:19:0;;14945:4;14970:19;;;:11;:19;;;;;;;;14969:20;:47;;;;-1:-1:-1;;;;;;;14994:22:0;;;;;:11;:22;;;;;;;;14993:23;;14864:160;-1:-1:-1;14864:160:0:o;15345:546::-;15431:7;15487:1;15454:30;15466:6;15474:9;15454:11;:30::i;:::-;:34;15451:418;;;15500:17;15520:59;15548:30;15560:6;15568:9;15548:11;:30::i;:::-;15531:11;;15520:23;;:6;;:10;:23::i;:59::-;15635:4;15617:24;;;;:9;:24;;;;;;15500:79;;-1:-1:-1;15617:39:0;;15500:79;15617:28;:39::i;:::-;15608:4;15590:24;;;;:9;:24;;;;;;;:66;;;;15672:42;;-1:-1:-1;;;;;15672:42:0;;;;;;;15704:9;1361:25:1;;1349:2;1334:18;;1215:177;15672:42:0;;;;;;;;15728:7;;:20;15725:104;;15750:77;15768:4;6307:42;15790:36;15818:7;;15790:23;15801:11;;15790:6;:10;;:23;;;;:::i;:36::-;15750:9;:77::i;:::-;15846:21;:6;15857:9;15846:10;:21::i;:::-;15839:28;;;;;15451:418;-1:-1:-1;15877:6:0;15345:546;-1:-1:-1;;15345:546:0:o;14251:400::-;14392:15;;14468:13;;14458:4;14349;7715:18;;;:9;:18;;;;;;14500:8;;14349:4;;14382:25;;;;-1:-1:-1;14440:41:0;;14500:8;;14499:9;:24;;;;-1:-1:-1;14512:11:0;;;;14499:24;:42;;;;-1:-1:-1;14527:14:0;;-1:-1:-1;;;14527:14:0;;;;14499:42;:54;;;;;14545:8;14499:54;:78;;;;-1:-1:-1;;;;;;14558:19:0;;;;;;:11;:19;;;;;;;;14557:20;14499:78;:99;;;;-1:-1:-1;14594:4:0;;-1:-1:-1;;;;;14581:17:0;;;14594:4;;14581:17;14499:99;:126;;;;;14623:1;14602:9;;:23;;14499:126;:144;;;;;14629:14;14499:144;14492:151;14251:400;-1:-1:-1;;;;;;14251:400:0:o;12384:1066::-;6228:8;:15;;-1:-1:-1;;6228:15:0;6239:4;6228:15;;;;;;12521:14:::1;::::0;12503:12:::1;::::0;12479::::1;::::0;6228:8;;12478:66:::1;::::0;12542:1:::1;::::0;12479:57:::1;::::0;12521:14;;12479:37:::1;::::0;;;:16:::1;:19::i;12478:66::-;12455:89;;12555:32;12590:42;12619:12;12590:24;12601:12;;12590:6;:10;;:24;;;;:::i;:42::-;12555:77:::0;-1:-1:-1;12643:14:0::1;12660:36;:6:::0;12555:77;12660:10:::1;:36::i;:::-;12643:53:::0;-1:-1:-1;12732:21:0::1;12764:24;12643:53:::0;12764:16:::1;:24::i;:::-;12799:20;12822:41;:21;12848:14:::0;12822:25:::1;:41::i;:::-;12799:64;;12874:19;12895:48;12912:30;12929:12;;12912;:16;;:30;;;;:::i;:::-;12895:12:::0;;:16:::1;:48::i;:::-;12874:69;;12954:29;12986;13002:12;;12986:11;:15;;:29;;;;:::i;:::-;12954:61:::0;-1:-1:-1;13029:34:0;;13026:103:::1;;13065:61;13078:24;13104:21;13065:12;:61::i;:::-;13185:12;::::0;13139:20:::1;::::0;13162:36:::1;::::0;:18:::1;:11:::0;13178:1:::1;13162:15;:18::i;:36::-;13139:59:::0;-1:-1:-1;13212:16:0;;13209:73:::1;;13230:50;::::0;6502:42:::1;::::0;13230:50;::::1;;;::::0;13267:12;;13230:50:::1;::::0;;;13267:12;6502:42;13230:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13209:73;13319:21;13354:29:::0;;13351:92:::1;;13385:56;::::0;6405:42:::1;::::0;13385:56;::::1;;;::::0;13424:16;;13385:56:::1;::::0;;;13424:16;6405:42;13385:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13351:92;-1:-1:-1::0;;6248:8:0;:16;;-1:-1:-1;;6248:16:0;;;-1:-1:-1;;;;;;;;12384:1066:0:o;15032:305::-;-1:-1:-1;;;;;15134:13:0;;15111:7;15134:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;15151:16:0;;;;;;:5;:16;;;;;;;;15134:33;15131:76;;;15176:11;;:29;;15200:3;15176:15;:29::i;:::-;15169:36;;;;15131:76;15233:4;;-1:-1:-1;;;;;15233:4:0;;;15220:17;;;;15217:38;;-1:-1:-1;15246:7:0;;15239:14;;15217:38;15278:4;;-1:-1:-1;;;;;15278:4:0;;;15268:14;;;;15265:36;;-1:-1:-1;15291:8:0;;15284:15;;15265:36;-1:-1:-1;15318:11:0;;15032:305;;;;:::o;13809:434::-;13899:16;;;13913:1;13899:16;;;;;;;;13875:21;;13899:16;;;;;;;;;;-1:-1:-1;13899:16:0;13875:40;;13944:4;13926;13931:1;13926:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13926:23:0;;;:7;;;;;;;;;;:23;;;;13970:6;;:13;;;-1:-1:-1;;;13970:13:0;;;;:6;;;;;:11;;:13;;;;;13926:7;;13970:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13960:4;13965:1;13960:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13960:23:0;;;:7;;;;;;;;;:23;14026:6;;13994:53;;14011:4;;14026:6;14035:11;13994:8;:53::i;:::-;14058:6;;:177;;-1:-1:-1;;;14058:177:0;;-1:-1:-1;;;;;14058:6:0;;;;:57;;:177;;14130:11;;14058:6;;14172:4;;14199;;14219:15;;14058:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13458:343;13571:6;;13539:53;;13556:4;;-1:-1:-1;;;;;13571:6:0;13580:11;13539:8;:53::i;:::-;13603:6;;:190;;-1:-1:-1;;;13603:190:0;;13666:4;13603:190;;;11938:34:1;11988:18;;;11981:34;;;13603:6:0;12031:18:1;;;12024:34;;;12074:18;;;12067:34;6598:42:0;12117:19:1;;;12110:44;13777:15:0;12170:19:1;;;12163:35;-1:-1:-1;;;;;13603:6:0;;;;:22;;13633:9;;11872:19:1;;13603:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13458:343;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2299:316::-;2376:6;2384;2392;2445:2;2433:9;2424:7;2420:23;2416:32;2413:52;;;2461:1;2458;2451:12;2413:52;-1:-1:-1;;2484:23:1;;;2554:2;2539:18;;2526:32;;-1:-1:-1;2605:2:1;2590:18;;;2577:32;;2299:316;-1:-1:-1;2299:316:1:o;2620:416::-;2685:6;2693;2746:2;2734:9;2725:7;2721:23;2717:32;2714:52;;;2762:1;2759;2752:12;2714:52;2801:9;2788:23;2820:31;2845:5;2820:31;:::i;:::-;2870:5;-1:-1:-1;2927:2:1;2912:18;;2899:32;2969:15;;2962:23;2950:36;;2940:64;;3000:1;2997;2990:12;2940:64;3023:7;3013:17;;;2620:416;;;;;:::o;3041:523::-;3145:6;3153;3161;3169;3177;3185;3238:3;3226:9;3217:7;3213:23;3209:33;3206:53;;;3255:1;3252;3245:12;3206:53;-1:-1:-1;;3278:23:1;;;3348:2;3333:18;;3320:32;;-1:-1:-1;3399:2:1;3384:18;;3371:32;;3450:2;3435:18;;3422:32;;-1:-1:-1;3501:3:1;3486:19;;3473:33;;-1:-1:-1;3553:3:1;3538:19;3525:33;;-1:-1:-1;3041:523:1;-1:-1:-1;3041:523:1:o;3777:388::-;3845:6;3853;3906:2;3894:9;3885:7;3881:23;3877:32;3874:52;;;3922:1;3919;3912:12;3874:52;3961:9;3948:23;3980:31;4005:5;3980:31;:::i;:::-;4030:5;-1:-1:-1;4087:2:1;4072:18;;4059:32;4100:33;4059:32;4100:33;:::i;4430:127::-;4491:10;4486:3;4482:20;4479:1;4472:31;4522:4;4519:1;4512:15;4546:4;4543:1;4536:15;4562:168;4602:7;4668:1;4664;4660:6;4656:14;4653:1;4650:21;4645:1;4638:9;4631:17;4627:45;4624:71;;;4675:18;;:::i;:::-;-1:-1:-1;4715:9:1;;4562:168::o;4735:217::-;4775:1;4801;4791:132;;4845:10;4840:3;4836:20;4833:1;4826:31;4880:4;4877:1;4870:15;4908:4;4905:1;4898:15;4791:132;-1:-1:-1;4937:9:1;;4735:217::o;4957:329::-;5159:2;5141:21;;;5198:1;5178:18;;;5171:29;-1:-1:-1;;;5231:2:1;5216:18;;5209:36;5277:2;5262:18;;4957:329::o;5706:128::-;5773:9;;;5794:11;;;5791:37;;;5808:18;;:::i;7276:125::-;7341:9;;;7362:10;;;7359:36;;;7375:18;;:::i;10224:127::-;10285:10;10280:3;10276:20;10273:1;10266:31;10316:4;10313:1;10306:15;10340:4;10337:1;10330:15;10356:251;10426:6;10479:2;10467:9;10458:7;10454:23;10450:32;10447:52;;;10495:1;10492;10485:12;10447:52;10527:9;10521:16;10546:31;10571:5;10546:31;:::i;10612:980::-;10874:4;10922:3;10911:9;10907:19;10953:6;10942:9;10935:25;10979:2;11017:6;11012:2;11001:9;10997:18;10990:34;11060:3;11055:2;11044:9;11040:18;11033:31;11084:6;11119;11113:13;11150:6;11142;11135:22;11188:3;11177:9;11173:19;11166:26;;11227:2;11219:6;11215:15;11201:29;;11248:1;11258:195;11272:6;11269:1;11266:13;11258:195;;;11337:13;;-1:-1:-1;;;;;11333:39:1;11321:52;;11428:15;;;;11393:12;;;;11369:1;11287:9;11258:195;;;-1:-1:-1;;;;;;;11509:32:1;;;;11504:2;11489:18;;11482:60;-1:-1:-1;;;11573:3:1;11558:19;11551:35;11470:3;10612:980;-1:-1:-1;;;10612:980:1:o;12209:306::-;12297:6;12305;12313;12366:2;12354:9;12345:7;12341:23;12337:32;12334:52;;;12382:1;12379;12372:12;12334:52;12411:9;12405:16;12395:26;;12461:2;12450:9;12446:18;12440:25;12430:35;;12505:2;12494:9;12490:18;12484:25;12474:35;;12209:306;;;;;:::o
Swarm Source
ipfs://1c9ee1d35671c55f22c5bdba0ac5217489ff2b22fc61efd028855e452f547659
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 ]
[ 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.