ERC-20
Overview
Max Total Supply
1,000,000 RIVRSAITAMA
Holders
99
Market
Price
$0.00 @ 0.000000 MOVR
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
10,000 RIVRSAITAMAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
RivrSaitama
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at moonriver.moonscan.io on 2021-11-24 */ //SPDX-License-Identifier: MIT pragma solidity ^0.8.9; /** * ERC20 standard interface */ interface ERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * Basic access control mechanism */ abstract contract Ownable { address internal owner; address private _previousOwner; uint256 private _lockTime; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } function getUnlockTime() public view returns (uint256) { return _lockTime; } function Ownershiplock(uint256 time) public virtual onlyOwner { _previousOwner = owner; owner = address(0); _lockTime = block.timestamp + time; emit OwnershipTransferred(owner, address(0)); } function Ownershipunlock() public virtual { require(_previousOwner == msg.sender, "You don't have permission to unlock"); require(block.timestamp > _lockTime , "Contract is locked until 7 days"); emit OwnershipTransferred(owner, _previousOwner); owner = _previousOwner; } } /** * Router Interfaces */ interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { 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 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 Code */ contract RivrSaitama is ERC20, Ownable { // Events event SetMaxWallet(uint256 maxWalletToken); event SetFees(uint256 DevFee); event SetSwapBackSettings(bool enabled, uint256 swapThreshold); event SetIsFeeExempt(address holder, bool enabled); event SetIsTxLimitExempt(address holder, bool enabled); event SetFeeReceiver(address DevFeeReceiver); event StuckBalanceSent(uint256 amountETH, address recipient); // Mappings mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; // Basic Contract Info string constant _name = "RivrSaitama"; string constant _symbol = "RIVRSAITAMA"; uint8 constant _decimals = 18; uint256 _totalSupply = 1000000 * (10 ** _decimals); // Max wallet uint256 public _maxWalletSize = (_totalSupply * 3) / 100; // 5% MaxWallet - 50,000,000 Tokens // Fee receiver uint256 DevFee = 8; // Fee receiver & Dead Wallet address private DevFeeReceiver = 0x33Fc1605441A3542048F7d396daa94B25f4139b3; address constant private DEAD = 0x000000000000000000000000000000000000dEaD; // Router IDEXRouter public router; address public pair; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply / 10000 * 3; // 0.3% bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () Ownable(msg.sender) { router = IDEXRouter(0xAA30eF758139ae4a7f798112902Bf6d65612045f); // UniSwap: 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D - - - - PancakeSwap: 0x10ED43C718714eb63d5aA57B78B54704E256024E pair = IDEXFactory(router.factory()).createPair(address(this), router.WETH()); _allowances[address(this)][address(router)] = type(uint256).max; address _owner = owner; isFeeExempt[_owner] = true; isTxLimitExempt[_owner] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } receive() external payable { } // Basic Internal Functions function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - (amount); } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } // Checks max transaction limit if (sender != owner && recipient != owner && recipient != DEAD && recipient != pair) { require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletSize, "Transfer amount exceeds the MaxWallet size."); } //Exchange tokens if(shouldSwapBack()){ swapBack(); } _balances[sender] = _balances[sender] - amount; //Check if should Take Fee uint256 amountReceived = (!shouldTakeFee(sender) || !shouldTakeFee(recipient)) ? amount : takeFee(sender, amount); _balances[recipient] = _balances[recipient] + (amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender] - amount; _balances[recipient] = _balances[recipient] + amount; emit Transfer(sender, recipient, amount); return true; } // Internal Functions function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function takeFee(address sender, uint256 amount) internal returns (uint256) { uint256 feeAmount = amount / 100 * (DevFee); _balances[address(this)] = _balances[address(this)] + (feeAmount); emit Transfer(sender, address(this), feeAmount); return amount - (feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function swapBack() internal swapping { uint256 contractTokenBalance = balanceOf(address(this)); uint256 amountToSwap = contractTokenBalance; address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance; (bool success, /* bytes memory data */) = payable(DevFeeReceiver).call{value: amountETH, gas: 30000}(""); require(success, "receiver rejected ETH transfer"); } // External Functions function setMaxWallet(uint256 percentageBase100) external onlyOwner { require(percentageBase100 >= _totalSupply / 100, "Can't set MaxWallet below 1%" ); _maxWalletSize = percentageBase100; emit SetMaxWallet(_maxWalletSize); } function setIsFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; emit SetIsFeeExempt(holder, exempt); } function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner { isTxLimitExempt[holder] = exempt; emit SetIsTxLimitExempt(holder, exempt); } function setFees(uint256 _DevFee) external onlyOwner { require(_DevFee <= 33, "Total fees must be equal or below 33%"); DevFee = _DevFee; emit SetFees(_DevFee); } function setFeeReceiver(address _DevFeeReceiver) external onlyOwner { DevFeeReceiver = _DevFeeReceiver; emit SetFeeReceiver(DevFeeReceiver); } function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner { require(_amount >= 1, "Can't set SwapThreshold to ZERO"); swapEnabled = _enabled; swapThreshold = _amount; emit SetSwapBackSettings(swapEnabled, swapThreshold); } // Stuck Balance Function function ClearStuckBalance() external onlyOwner { uint256 contractETHBalance = address(this).balance; payable(DevFeeReceiver).transfer(contractETHBalance); emit StuckBalanceSent(contractETHBalance, DevFeeReceiver); } }
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":"DevFeeReceiver","type":"address"}],"name":"SetFeeReceiver","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"DevFee","type":"uint256"}],"name":"SetFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SetIsFeeExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SetIsTxLimitExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWalletToken","type":"uint256"}],"name":"SetMaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"},{"indexed":false,"internalType":"uint256","name":"swapThreshold","type":"uint256"}],"name":"SetSwapBackSettings","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"address","name":"recipient","type":"address"}],"name":"StuckBalanceSent","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":"ClearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"Ownershiplock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Ownershipunlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_DevFeeReceiver","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_DevFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentageBase100","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126012600a62000443565b6200002190620f42406200045b565b600755606460075460036200003791906200045b565b6200004391906200047d565b6008908155600955600a80546001600160a01b0319167333fc1605441a3542048f7d396daa94b25f4139b3179055600c805460ff60a01b1916600160a01b1790556007546200009690612710906200047d565b620000a39060036200045b565b600d55348015620000b357600080fd5b5060008054336001600160a01b031991821617909155600b805473aa30ef758139ae4a7f798112902bf6d65612045f9216821790556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200011f57600080fd5b505afa15801562000134573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015a9190620004a0565b6001600160a01b031663c9c6539630600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001b857600080fd5b505afa158015620001cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f39190620004a0565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200023c57600080fd5b505af115801562000251573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002779190620004a0565b600c80546001600160a01b0319166001600160a01b03928316179055306000908152600460209081526040808320600b548516845282528083206000199055825490931680835260058252838320805460ff1990811660019081179092556006845285852080549091169091179055600754600383528484208190559351938452928392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620004cb565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003855781600019048211156200036957620003696200032e565b808516156200037757918102915b93841c939080029062000349565b509250929050565b6000826200039e575060016200043d565b81620003ad575060006200043d565b8160018114620003c65760028114620003d157620003f1565b60019150506200043d565b60ff841115620003e557620003e56200032e565b50506001821b6200043d565b5060208310610133831016604e8410600b841016171562000416575081810a6200043d565b62000422838362000344565b80600019048211156200043957620004396200032e565b0290505b92915050565b60006200045460ff8416836200038d565b9392505050565b60008160001904831182151516156200047857620004786200032e565b500290565b6000826200049b57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004b357600080fd5b81516001600160a01b03811681146200045457600080fd5b61177f80620004db6000396000f3fe6080604052600436106101bb5760003560e01c806370a08231116100ec578063dd62ed3e1161008a578063f2fde38b11610064578063f2fde38b14610542578063f7baf3c514610562578063f84ba65d14610577578063f887ea401461059757600080fd5b8063dd62ed3e146104bc578063df20fd4914610502578063efdcd9741461052257600080fd5b806395d89b41116100c657806395d89b4114610428578063a4e130711461045c578063a8aa1b311461047c578063a9059cbb1461049c57600080fd5b806370a08231146103aa578063893d20e8146103e05780638f9a55c01461041257600080fd5b8063313ce567116101595780635d0044ca116101335780635d0044ca14610334578063602bc62b14610354578063658d4b7f146103695780636ddd17131461038957600080fd5b8063313ce567146102d85780633d18678e146102f4578063571ac8b01461031457600080fd5b806318160ddd1161019557806318160ddd1461025d57806323b872dd1461027257806325348b05146102925780632f54bf6e146102a957600080fd5b80630445b667146101c757806306fdde03146101f0578063095ea7b31461022d57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dd600d5481565b6040519081526020015b60405180910390f35b3480156101fc57600080fd5b5060408051808201909152600b81526a5269767253616974616d6160a81b60208201525b6040516101e79190611450565b34801561023957600080fd5b5061024d6102483660046114bd565b6105b7565b60405190151581526020016101e7565b34801561026957600080fd5b506007546101dd565b34801561027e57600080fd5b5061024d61028d3660046114e9565b610623565b34801561029e57600080fd5b506102a76106b8565b005b3480156102b557600080fd5b5061024d6102c436600461152a565b6000546001600160a01b0391821691161490565b3480156102e457600080fd5b50604051601281526020016101e7565b34801561030057600080fd5b506102a761030f366004611547565b61076f565b34801561032057600080fd5b5061024d61032f36600461152a565b61082d565b34801561034057600080fd5b506102a761034f366004611547565b610841565b34801561036057600080fd5b506002546101dd565b34801561037557600080fd5b506102a7610384366004611575565b6108fe565b34801561039557600080fd5b50600c5461024d90600160a01b900460ff1681565b3480156103b657600080fd5b506101dd6103c536600461152a565b6001600160a01b031660009081526003602052604090205490565b3480156103ec57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101e7565b34801561041e57600080fd5b506101dd60085481565b34801561043457600080fd5b5060408051808201909152600b81526a5249565253414954414d4160a81b6020820152610220565b34801561046857600080fd5b506102a7610477366004611547565b61098c565b34801561048857600080fd5b50600c546103fa906001600160a01b031681565b3480156104a857600080fd5b5061024d6104b73660046114bd565b610a23565b3480156104c857600080fd5b506101dd6104d73660046115aa565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561050e57600080fd5b506102a761051d3660046115e3565b610a30565b34801561052e57600080fd5b506102a761053d36600461152a565b610b0e565b34801561054e57600080fd5b506102a761055d36600461152a565b610b86565b34801561056e57600080fd5b506102a7610c70565b34801561058357600080fd5b506102a7610592366004611575565b610d88565b3480156105a357600080fd5b50600b546103fa906001600160a01b031681565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106129086815260200190565b60405180910390a350600192915050565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146106a3576001600160a01b038416600090815260046020908152604080832033845290915290205461067e908390611615565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6106ae848484610e0e565b90505b9392505050565b6000546001600160a01b031633146106eb5760405162461bcd60e51b81526004016106e29061162c565b60405180910390fd5b600a5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610725573d6000803e3d6000fd5b50600a54604080518381526001600160a01b0390921660208301527f98be19c3f4396a31e2a152c079eecc8fe940dcc3538dfe8fdc516e83567e976791015b60405180910390a150565b6000546001600160a01b031633146107995760405162461bcd60e51b81526004016106e29061162c565b60218111156107f85760405162461bcd60e51b815260206004820152602560248201527f546f74616c2066656573206d75737420626520657175616c206f722062656c6f604482015264772033332560d81b60648201526084016106e2565b60098190556040518181527fa142c987774756b13db02cb5b530db2fa8a680ce74f42d87f33148e3f7098ebb90602001610764565b600061083b826000196105b7565b92915050565b6000546001600160a01b0316331461086b5760405162461bcd60e51b81526004016106e29061162c565b606460075461087a919061164c565b8110156108c95760405162461bcd60e51b815260206004820152601c60248201527f43616e277420736574204d617857616c6c65742062656c6f772031250000000060448201526064016106e2565b60088190556040518181527fa2c87c3e7a3048198ae94e814f6a27e12a4e2a7476e33a0db4d97ffeaf63618690602001610764565b6000546001600160a01b031633146109285760405162461bcd60e51b81526004016106e29061162c565b6001600160a01b038216600081815260056020908152604091829020805460ff19168515159081179091558251938452908301527f1b92447bfc74f86a82293c184341926a5888220bc498dde33efabf7c3d796d6991015b60405180910390a15050565b6000546001600160a01b031633146109b65760405162461bcd60e51b81526004016106e29061162c565b60008054600180546001600160a01b03199081166001600160a01b038416179091551690556109e5814261166e565b600255600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b60006106b1338484610e0e565b6000546001600160a01b03163314610a5a5760405162461bcd60e51b81526004016106e29061162c565b6001811015610aab5760405162461bcd60e51b815260206004820152601f60248201527f43616e27742073657420537761705468726573686f6c6420746f205a45524f0060448201526064016106e2565b600c805460ff60a01b1916600160a01b84151581029190911791829055600d8390556040805160ff929093049190911615158252602082018390527f87648e954f6c9d5f5f7ddeb39f95ca8f7d2c14cbb2f190d5250f9b6eb04dd9349101610980565b6000546001600160a01b03163314610b385760405162461bcd60e51b81526004016106e29061162c565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527fffb40bfdfd246e95f543d08d9713c339f1d90fa9265e39b4f562f9011d7c919f90602001610764565b6000546001600160a01b03163314610bb05760405162461bcd60e51b81526004016106e29061162c565b6001600160a01b038116610c155760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106e2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314610cd65760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b60648201526084016106e2565b6002544211610d275760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c203720646179730060448201526064016106e2565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000546001600160a01b03163314610db25760405162461bcd60e51b81526004016106e29061162c565b6001600160a01b038216600081815260066020908152604091829020805460ff19168515159081179091558251938452908301527f6824b1d87573c276dab7cd55e81d1a9dda557f5deb51bad3c38832e5d1333fba9101610980565b600e5460009060ff1615610e2e57610e27848484611069565b90506106b1565b6000546001600160a01b03858116911614801590610e5a57506000546001600160a01b03848116911614155b8015610e7157506001600160a01b03831661dead14155b8015610e8b5750600c546001600160a01b03848116911614155b15610f3c576001600160a01b03831660009081526006602052604090205460ff1680610edc57506008546001600160a01b038416600090815260036020526040902054610ed990849061166e565b11155b610f3c5760405162461bcd60e51b815260206004820152602b60248201527f5472616e7366657220616d6f756e74206578636565647320746865204d61785760448201526a30b63632ba1039b4bd329760a91b60648201526084016106e2565b610f44611123565b15610f5157610f5161117b565b6001600160a01b038416600090815260036020526040902054610f75908390611615565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff16151580610fc657506001600160a01b03841660009081526005602052604090205460ff1615155b610fd957610fd485846113aa565b610fdb565b825b6001600160a01b03851660009081526003602052604090205490915061100290829061166e565b6001600160a01b0380861660008181526003602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110569085815260200190565b60405180910390a3506001949350505050565b6001600160a01b03831660009081526003602052604081205461108d908390611615565b6001600160a01b0380861660009081526003602052604080822093909355908516815220546110bd90839061166e565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111119086815260200190565b60405180910390a35060019392505050565b600c546000906001600160a01b031633148015906111445750600e5460ff16155b80156111595750600c54600160a01b900460ff165b80156111765750600d543060009081526003602052604090205410155b905090565b600e805460ff191660011790553060009081526003602052604081205460408051600280825260608201909252919250829160009181602001602082028036833701905050905030816000815181106111d6576111d6611686565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561122a57600080fd5b505afa15801561123e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611262919061169c565b8160018151811061127557611275611686565b6001600160a01b039283166020918202929092010152600b5460405163791ac94760e01b815291169063791ac947906112bb9085906000908690309042906004016116b9565b600060405180830381600087803b1580156112d557600080fd5b505af11580156112e9573d6000803e3d6000fd5b5050600a54604051479350600092506001600160a01b039091169061753090849084818181858888f193505050503d8060008114611343576040519150601f19603f3d011682016040523d82523d6000602084013e611348565b606091505b50509050806113995760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016106e2565b5050600e805460ff19169055505050565b6000806009546064846113bd919061164c565b6113c7919061172a565b306000908152600360205260409020549091506113e590829061166e565b30600081815260036020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114369085815260200190565b60405180910390a36114488184611615565b949350505050565b600060208083528351808285015260005b8181101561147d57858101830151858201604001528201611461565b8181111561148f576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146114ba57600080fd5b50565b600080604083850312156114d057600080fd5b82356114db816114a5565b946020939093013593505050565b6000806000606084860312156114fe57600080fd5b8335611509816114a5565b92506020840135611519816114a5565b929592945050506040919091013590565b60006020828403121561153c57600080fd5b81356106b1816114a5565b60006020828403121561155957600080fd5b5035919050565b8035801515811461157057600080fd5b919050565b6000806040838503121561158857600080fd5b8235611593816114a5565b91506115a160208401611560565b90509250929050565b600080604083850312156115bd57600080fd5b82356115c8816114a5565b915060208301356115d8816114a5565b809150509250929050565b600080604083850312156115f657600080fd5b6114db83611560565b634e487b7160e01b600052601160045260246000fd5b600082821015611627576116276115ff565b500390565b60208082526006908201526510a7aba722a960d11b604082015260600190565b60008261166957634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611681576116816115ff565b500190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156116ae57600080fd5b81516106b1816114a5565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117095784516001600160a01b0316835293830193918301916001016116e4565b50506001600160a01b03969096166060850152505050608001529392505050565b6000816000190483118215151615611744576117446115ff565b50029056fea2646970667358221220fcdbb899d7f0cbe26ae0ccedd6d97598a050b1a78b0c7e351eb24b5597ec381d64736f6c63430008090033
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c806370a08231116100ec578063dd62ed3e1161008a578063f2fde38b11610064578063f2fde38b14610542578063f7baf3c514610562578063f84ba65d14610577578063f887ea401461059757600080fd5b8063dd62ed3e146104bc578063df20fd4914610502578063efdcd9741461052257600080fd5b806395d89b41116100c657806395d89b4114610428578063a4e130711461045c578063a8aa1b311461047c578063a9059cbb1461049c57600080fd5b806370a08231146103aa578063893d20e8146103e05780638f9a55c01461041257600080fd5b8063313ce567116101595780635d0044ca116101335780635d0044ca14610334578063602bc62b14610354578063658d4b7f146103695780636ddd17131461038957600080fd5b8063313ce567146102d85780633d18678e146102f4578063571ac8b01461031457600080fd5b806318160ddd1161019557806318160ddd1461025d57806323b872dd1461027257806325348b05146102925780632f54bf6e146102a957600080fd5b80630445b667146101c757806306fdde03146101f0578063095ea7b31461022d57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dd600d5481565b6040519081526020015b60405180910390f35b3480156101fc57600080fd5b5060408051808201909152600b81526a5269767253616974616d6160a81b60208201525b6040516101e79190611450565b34801561023957600080fd5b5061024d6102483660046114bd565b6105b7565b60405190151581526020016101e7565b34801561026957600080fd5b506007546101dd565b34801561027e57600080fd5b5061024d61028d3660046114e9565b610623565b34801561029e57600080fd5b506102a76106b8565b005b3480156102b557600080fd5b5061024d6102c436600461152a565b6000546001600160a01b0391821691161490565b3480156102e457600080fd5b50604051601281526020016101e7565b34801561030057600080fd5b506102a761030f366004611547565b61076f565b34801561032057600080fd5b5061024d61032f36600461152a565b61082d565b34801561034057600080fd5b506102a761034f366004611547565b610841565b34801561036057600080fd5b506002546101dd565b34801561037557600080fd5b506102a7610384366004611575565b6108fe565b34801561039557600080fd5b50600c5461024d90600160a01b900460ff1681565b3480156103b657600080fd5b506101dd6103c536600461152a565b6001600160a01b031660009081526003602052604090205490565b3480156103ec57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101e7565b34801561041e57600080fd5b506101dd60085481565b34801561043457600080fd5b5060408051808201909152600b81526a5249565253414954414d4160a81b6020820152610220565b34801561046857600080fd5b506102a7610477366004611547565b61098c565b34801561048857600080fd5b50600c546103fa906001600160a01b031681565b3480156104a857600080fd5b5061024d6104b73660046114bd565b610a23565b3480156104c857600080fd5b506101dd6104d73660046115aa565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561050e57600080fd5b506102a761051d3660046115e3565b610a30565b34801561052e57600080fd5b506102a761053d36600461152a565b610b0e565b34801561054e57600080fd5b506102a761055d36600461152a565b610b86565b34801561056e57600080fd5b506102a7610c70565b34801561058357600080fd5b506102a7610592366004611575565b610d88565b3480156105a357600080fd5b50600b546103fa906001600160a01b031681565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106129086815260200190565b60405180910390a350600192915050565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146106a3576001600160a01b038416600090815260046020908152604080832033845290915290205461067e908390611615565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6106ae848484610e0e565b90505b9392505050565b6000546001600160a01b031633146106eb5760405162461bcd60e51b81526004016106e29061162c565b60405180910390fd5b600a5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610725573d6000803e3d6000fd5b50600a54604080518381526001600160a01b0390921660208301527f98be19c3f4396a31e2a152c079eecc8fe940dcc3538dfe8fdc516e83567e976791015b60405180910390a150565b6000546001600160a01b031633146107995760405162461bcd60e51b81526004016106e29061162c565b60218111156107f85760405162461bcd60e51b815260206004820152602560248201527f546f74616c2066656573206d75737420626520657175616c206f722062656c6f604482015264772033332560d81b60648201526084016106e2565b60098190556040518181527fa142c987774756b13db02cb5b530db2fa8a680ce74f42d87f33148e3f7098ebb90602001610764565b600061083b826000196105b7565b92915050565b6000546001600160a01b0316331461086b5760405162461bcd60e51b81526004016106e29061162c565b606460075461087a919061164c565b8110156108c95760405162461bcd60e51b815260206004820152601c60248201527f43616e277420736574204d617857616c6c65742062656c6f772031250000000060448201526064016106e2565b60088190556040518181527fa2c87c3e7a3048198ae94e814f6a27e12a4e2a7476e33a0db4d97ffeaf63618690602001610764565b6000546001600160a01b031633146109285760405162461bcd60e51b81526004016106e29061162c565b6001600160a01b038216600081815260056020908152604091829020805460ff19168515159081179091558251938452908301527f1b92447bfc74f86a82293c184341926a5888220bc498dde33efabf7c3d796d6991015b60405180910390a15050565b6000546001600160a01b031633146109b65760405162461bcd60e51b81526004016106e29061162c565b60008054600180546001600160a01b03199081166001600160a01b038416179091551690556109e5814261166e565b600255600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b60006106b1338484610e0e565b6000546001600160a01b03163314610a5a5760405162461bcd60e51b81526004016106e29061162c565b6001811015610aab5760405162461bcd60e51b815260206004820152601f60248201527f43616e27742073657420537761705468726573686f6c6420746f205a45524f0060448201526064016106e2565b600c805460ff60a01b1916600160a01b84151581029190911791829055600d8390556040805160ff929093049190911615158252602082018390527f87648e954f6c9d5f5f7ddeb39f95ca8f7d2c14cbb2f190d5250f9b6eb04dd9349101610980565b6000546001600160a01b03163314610b385760405162461bcd60e51b81526004016106e29061162c565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527fffb40bfdfd246e95f543d08d9713c339f1d90fa9265e39b4f562f9011d7c919f90602001610764565b6000546001600160a01b03163314610bb05760405162461bcd60e51b81526004016106e29061162c565b6001600160a01b038116610c155760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106e2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314610cd65760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b60648201526084016106e2565b6002544211610d275760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c203720646179730060448201526064016106e2565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000546001600160a01b03163314610db25760405162461bcd60e51b81526004016106e29061162c565b6001600160a01b038216600081815260066020908152604091829020805460ff19168515159081179091558251938452908301527f6824b1d87573c276dab7cd55e81d1a9dda557f5deb51bad3c38832e5d1333fba9101610980565b600e5460009060ff1615610e2e57610e27848484611069565b90506106b1565b6000546001600160a01b03858116911614801590610e5a57506000546001600160a01b03848116911614155b8015610e7157506001600160a01b03831661dead14155b8015610e8b5750600c546001600160a01b03848116911614155b15610f3c576001600160a01b03831660009081526006602052604090205460ff1680610edc57506008546001600160a01b038416600090815260036020526040902054610ed990849061166e565b11155b610f3c5760405162461bcd60e51b815260206004820152602b60248201527f5472616e7366657220616d6f756e74206578636565647320746865204d61785760448201526a30b63632ba1039b4bd329760a91b60648201526084016106e2565b610f44611123565b15610f5157610f5161117b565b6001600160a01b038416600090815260036020526040902054610f75908390611615565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff16151580610fc657506001600160a01b03841660009081526005602052604090205460ff1615155b610fd957610fd485846113aa565b610fdb565b825b6001600160a01b03851660009081526003602052604090205490915061100290829061166e565b6001600160a01b0380861660008181526003602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110569085815260200190565b60405180910390a3506001949350505050565b6001600160a01b03831660009081526003602052604081205461108d908390611615565b6001600160a01b0380861660009081526003602052604080822093909355908516815220546110bd90839061166e565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111119086815260200190565b60405180910390a35060019392505050565b600c546000906001600160a01b031633148015906111445750600e5460ff16155b80156111595750600c54600160a01b900460ff165b80156111765750600d543060009081526003602052604090205410155b905090565b600e805460ff191660011790553060009081526003602052604081205460408051600280825260608201909252919250829160009181602001602082028036833701905050905030816000815181106111d6576111d6611686565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561122a57600080fd5b505afa15801561123e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611262919061169c565b8160018151811061127557611275611686565b6001600160a01b039283166020918202929092010152600b5460405163791ac94760e01b815291169063791ac947906112bb9085906000908690309042906004016116b9565b600060405180830381600087803b1580156112d557600080fd5b505af11580156112e9573d6000803e3d6000fd5b5050600a54604051479350600092506001600160a01b039091169061753090849084818181858888f193505050503d8060008114611343576040519150601f19603f3d011682016040523d82523d6000602084013e611348565b606091505b50509050806113995760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016106e2565b5050600e805460ff19169055505050565b6000806009546064846113bd919061164c565b6113c7919061172a565b306000908152600360205260409020549091506113e590829061166e565b30600081815260036020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114369085815260200190565b60405180910390a36114488184611615565b949350505050565b600060208083528351808285015260005b8181101561147d57858101830151858201604001528201611461565b8181111561148f576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146114ba57600080fd5b50565b600080604083850312156114d057600080fd5b82356114db816114a5565b946020939093013593505050565b6000806000606084860312156114fe57600080fd5b8335611509816114a5565b92506020840135611519816114a5565b929592945050506040919091013590565b60006020828403121561153c57600080fd5b81356106b1816114a5565b60006020828403121561155957600080fd5b5035919050565b8035801515811461157057600080fd5b919050565b6000806040838503121561158857600080fd5b8235611593816114a5565b91506115a160208401611560565b90509250929050565b600080604083850312156115bd57600080fd5b82356115c8816114a5565b915060208301356115d8816114a5565b809150509250929050565b600080604083850312156115f657600080fd5b6114db83611560565b634e487b7160e01b600052601160045260246000fd5b600082821015611627576116276115ff565b500390565b60208082526006908201526510a7aba722a960d11b604082015260600190565b60008261166957634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611681576116816115ff565b500190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156116ae57600080fd5b81516106b1816114a5565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117095784516001600160a01b0316835293830193918301916001016116e4565b50506001600160a01b03969096166060850152505050608001529392505050565b6000816000190483118215151615611744576117446115ff565b50029056fea2646970667358221220fcdbb899d7f0cbe26ae0ccedd6d97598a050b1a78b0c7e351eb24b5597ec381d64736f6c63430008090033
Deployed Bytecode Sourcemap
4002:8121:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5385:55;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5385:55:0;;;;;;;;6511:80;;;;;;;;;;-1:-1:-1;6583:5:0;;;;;;;;;;;;-1:-1:-1;;;6583:5:0;;;;6511:80;;;;;;;:::i;6933:216::-;;;;;;;;;;-1:-1:-1;6933:216:0;;;;;:::i;:::-;;:::i;:::-;;;1419:14:1;;1412:22;1394:41;;1382:2;1367:18;6933:216:0;1254:187:1;6241:88:0;;;;;;;;;;-1:-1:-1;6314:12:0;;6241:88;;7451:343;;;;;;;;;;-1:-1:-1;7451:343:0;;;;;:::i;:::-;;:::i;11872:248::-;;;;;;;;;;;;;:::i;:::-;;1445:103;;;;;;;;;;-1:-1:-1;1445:103:0;;;;;:::i;:::-;1500:4;1535:5;-1:-1:-1;;;;;1524:16:0;;;1535:5;;1524:16;;1445:103;6335:80;;;;;;;;;;-1:-1:-1;6335:80:0;;4828:2;2301:36:1;;2289:2;2274:18;6335:80:0;2159:184:1;11175:194:0;;;;;;;;;;-1:-1:-1;11175:194:0;;;;;:::i;:::-;;:::i;7157:122::-;;;;;;;;;;-1:-1:-1;7157:122:0;;;;;:::i;:::-;;:::i;10548:257::-;;;;;;;;;;-1:-1:-1;10548:257:0;;;;;:::i;:::-;;:::i;1806:90::-;;;;;;;;;;-1:-1:-1;1879:9:0;;1806:90;;10817:165;;;;;;;;;;-1:-1:-1;10817:165:0;;;;;:::i;:::-;;:::i;5348:30::-;;;;;;;;;;-1:-1:-1;5348:30:0;;;;-1:-1:-1;;;5348:30:0;;;;;;6681:105;;;;;;;;;;-1:-1:-1;6681:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6765:18:0;6747:7;6765:18;;;:9;:18;;;;;;;6681:105;6597:78;;;;;;;;;;-1:-1:-1;6649:7:0;6667:5;-1:-1:-1;;;;;6667:5:0;6597:78;;;-1:-1:-1;;;;;3182:32:1;;;3164:51;;3152:2;3137:18;6597:78:0;3018:203:1;4920:56:0;;;;;;;;;;;;;;;;6421:84;;;;;;;;;;-1:-1:-1;6495:7:0;;;;;;;;;;;;-1:-1:-1;;;6495:7:0;;;;6421:84;;1904:232;;;;;;;;;;-1:-1:-1;1904:232:0;;;;;:::i;:::-;;:::i;5320:19::-;;;;;;;;;;-1:-1:-1;5320:19:0;;;;-1:-1:-1;;;;;5320:19:0;;;7287:156;;;;;;;;;;-1:-1:-1;7287:156:0;;;;;:::i;:::-;;:::i;6792:133::-;;;;;;;;;;-1:-1:-1;6792:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6894:19:0;;;6876:7;6894:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6792:133;11550:285;;;;;;;;;;-1:-1:-1;11550:285:0;;;;;:::i;:::-;;:::i;11377:165::-;;;;;;;;;;-1:-1:-1;11377:165:0;;;;;:::i;:::-;;:::i;1556:242::-;;;;;;;;;;-1:-1:-1;1556:242:0;;;;;:::i;:::-;;:::i;2144:312::-;;;;;;;;;;;;;:::i;10990:177::-;;;;;;;;;;-1:-1:-1;10990:177:0;;;;;:::i;:::-;;:::i;5289:24::-;;;;;;;;;;-1:-1:-1;5289:24:0;;;;-1:-1:-1;;;;;5289:24:0;;;6933:216;7037:10;7008:4;7025:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7025:32:0;;;;;;;;;;:41;;;7082:37;7008:4;;7025:32;;7082:37;;;;7060:6;160:25:1;;148:2;133:18;;14:177;7082:37:0;;;;;;;;-1:-1:-1;7137:4:0;6933:216;;;;:::o;7451:343::-;-1:-1:-1;;;;;7571:19:0;;7551:4;7571:19;;;:11;:19;;;;;;;;7591:10;7571:31;;;;;;;;-1:-1:-1;;7571:52:0;7568:159;;-1:-1:-1;;;;;7673:19:0;;;;;;:11;:19;;;;;;;;7693:10;7673:31;;;;;;;;:42;;7708:6;;7673:42;:::i;:::-;-1:-1:-1;;;;;7639:19:0;;;;;;:11;:19;;;;;;;;7659:10;7639:31;;;;;;;:76;7568:159;7746:40;7760:6;7768:9;7779:6;7746:13;:40::i;:::-;7739:47;;7451:343;;;;;;:::o;11872:248::-;1500:4;1535:5;-1:-1:-1;;;;;1535:5:0;1404:10;1524:16;1388:38;;;;-1:-1:-1;;;1388:38:0;;;;;;;:::i;:::-;;;;;;;;;12000:14:::1;::::0;11992:52:::1;::::0;11960:21:::1;::::0;-1:-1:-1;;;;;12000:14:0::1;::::0;11992:52;::::1;;;::::0;11960:21;;11931:26:::1;11992:52:::0;11931:26;11992:52;11960:21;12000:14;11992:52;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;12097:14:0::1;::::0;12060:52:::1;::::0;;4868:25:1;;;-1:-1:-1;;;;;12097:14:0;;::::1;4924:2:1::0;4909:18;;4902:60;12060:52:0::1;::::0;4841:18:1;12060:52:0::1;;;;;;;;11920:200;11872:248::o:0;11175:194::-;1500:4;1535:5;-1:-1:-1;;;;;1535:5:0;1404:10;1524:16;1388:38;;;;-1:-1:-1;;;1388:38:0;;;;;;;:::i;:::-;11258:2:::1;11247:7;:13;;11239:63;;;::::0;-1:-1:-1;;;11239:63:0;;5175:2:1;11239:63:0::1;::::0;::::1;5157:21:1::0;5214:2;5194:18;;;5187:30;5253:34;5233:18;;;5226:62;-1:-1:-1;;;5304:18:1;;;5297:35;5349:19;;11239:63:0::1;4973:401:1::0;11239:63:0::1;11313:6;:16:::0;;;11345::::1;::::0;160:25:1;;;11345:16:0::1;::::0;148:2:1;133:18;11345:16:0::1;14:177:1::0;7157:122:0;7212:4;7236:35;7244:7;-1:-1:-1;;7236:7:0;:35::i;:::-;7229:42;7157:122;-1:-1:-1;;7157:122:0:o;10548:257::-;1500:4;1535:5;-1:-1:-1;;;;;1535:5:0;1404:10;1524:16;1388:38;;;;-1:-1:-1;;;1388:38:0;;;;;;;:::i;:::-;10671:3:::1;10656:12;;:18;;;;:::i;:::-;10635:17;:39;;10627:81;;;::::0;-1:-1:-1;;;10627:81:0;;5803:2:1;10627:81:0::1;::::0;::::1;5785:21:1::0;5842:2;5822:18;;;5815:30;5881;5861:18;;;5854:58;5929:18;;10627:81:0::1;5601:352:1::0;10627:81:0::1;10719:14;:34:::0;;;10769:28:::1;::::0;160:25:1;;;10769:28:0::1;::::0;148:2:1;133:18;10769:28:0::1;14:177:1::0;10817:165:0;1500:4;1535:5;-1:-1:-1;;;;;1535:5:0;1404:10;1524:16;1388:38;;;;-1:-1:-1;;;1388:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10900:19:0;::::1;;::::0;;;:11:::1;:19;::::0;;;;;;;;:28;;-1:-1:-1;;10900:28:0::1;::::0;::::1;;::::0;;::::1;::::0;;;10944:30;;6126:51:1;;;6193:18;;;6186:50;10944:30:0::1;::::0;6099:18:1;10944:30:0::1;;;;;;;;10817:165:::0;;:::o;1904:232::-;1500:4;1535:5;-1:-1:-1;;;;;1535:5:0;1404:10;1524:16;1388:38;;;;-1:-1:-1;;;1388:38:0;;;;;;;:::i;:::-;1994:5:::1;::::0;;;1977:22;;-1:-1:-1;;;;;;1977:22:0;;::::1;-1:-1:-1::0;;;;;1994:5:0;::::1;1977:22;::::0;;;2010:18:::1;::::0;;2051:22:::1;2069:4:::0;2051:15:::1;:22;:::i;:::-;2039:9;:34:::0;2125:1:::1;2110:5:::0;;2089:39:::1;::::0;-1:-1:-1;;;;;2110:5:0;;::::1;::::0;2089:39:::1;::::0;2125:1;;2089:39:::1;1904:232:::0;:::o;7287:156::-;7367:4;7391:44;7405:10;7417:9;7428:6;7391:13;:44::i;11550:285::-;1500:4;1535:5;-1:-1:-1;;;;;1535:5:0;1404:10;1524:16;1388:38;;;;-1:-1:-1;;;1388:38:0;;;;;;;:::i;:::-;11660:1:::1;11649:7;:12;;11641:56;;;::::0;-1:-1:-1;;;11641:56:0;;6582:2:1;11641:56:0::1;::::0;::::1;6564:21:1::0;6621:2;6601:18;;;6594:30;6660:33;6640:18;;;6633:61;6711:18;;11641:56:0::1;6380:355:1::0;11641:56:0::1;11708:11;:22:::0;;-1:-1:-1;;;;11708:22:0::1;-1:-1:-1::0;;;11708:22:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;11741:13:::1;:23:::0;;;11780:47:::1;::::0;;11708:22:::1;11800:11:::0;;;::::1;::::0;;;::::1;6933:14:1::0;6926:22;6908:41;;6980:2;6965:18;;6958:34;;;11780:47:0::1;::::0;6881:18:1;11780:47:0::1;6740:258:1::0;11377:165:0;1500:4;1535:5;-1:-1:-1;;;;;1535:5:0;1404:10;1524:16;1388:38;;;;-1:-1:-1;;;1388:38:0;;;;;;;:::i;:::-;11456:14:::1;:32:::0;;-1:-1:-1;;;;;;11456:32:0::1;-1:-1:-1::0;;;;;11456:32:0;::::1;::::0;;::::1;::::0;;;11504:30:::1;::::0;3164:51:1;;;11504:30:0::1;::::0;3152:2:1;3137:18;11504:30:0::1;3018:203:1::0;1556:242:0;1500:4;1535:5;-1:-1:-1;;;;;1535:5:0;1404:10;1524:16;1388:38;;;;-1:-1:-1;;;1388:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1645:22:0;::::1;1637:73;;;::::0;-1:-1:-1;;;1637:73:0;;7205:2:1;1637:73:0::1;::::0;::::1;7187:21:1::0;7244:2;7224:18;;;7217:30;7283:34;7263:18;;;7256:62;-1:-1:-1;;;7334:18:1;;;7327:36;7380:19;;1637:73:0::1;7003:402:1::0;1637:73:0::1;1747:5;::::0;;1726:37:::1;::::0;-1:-1:-1;;;;;1726:37:0;;::::1;::::0;1747:5;::::1;::::0;1726:37:::1;::::0;::::1;1774:5;:16:::0;;-1:-1:-1;;;;;;1774:16:0::1;-1:-1:-1::0;;;;;1774:16:0;;;::::1;::::0;;;::::1;::::0;;1556:242::o;2144:312::-;2205:14;;-1:-1:-1;;;;;2205:14:0;2223:10;2205:28;2197:76;;;;-1:-1:-1;;;2197:76:0;;7612:2:1;2197:76:0;;;7594:21:1;7651:2;7631:18;;;7624:30;7690:34;7670:18;;;7663:62;-1:-1:-1;;;7741:18:1;;;7734:33;7784:19;;2197:76:0;7410:399:1;2197:76:0;2310:9;;2292:15;:27;2284:72;;;;-1:-1:-1;;;2284:72:0;;8016:2:1;2284:72:0;;;7998:21:1;8055:2;8035:18;;;8028:30;8094:33;8074:18;;;8067:61;8145:18;;2284:72:0;7814:355:1;2284:72:0;2400:14;;;2393:5;;2372:43;;-1:-1:-1;;;;;2400:14:0;;;;2393:5;;;;2372:43;;;2434:14;;;2426:22;;-1:-1:-1;;;;;;2426:22:0;-1:-1:-1;;;;;2434:14:0;;;2426:22;;;;;;2144:312::o;10990:177::-;1500:4;1535:5;-1:-1:-1;;;;;1535:5:0;1404:10;1524:16;1388:38;;;;-1:-1:-1;;;1388:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11077:23:0;::::1;;::::0;;;:15:::1;:23;::::0;;;;;;;;:32;;-1:-1:-1;;11077:32:0::1;::::0;::::1;;::::0;;::::1;::::0;;;11125:34;;6126:51:1;;;6193:18;;;6186:50;11125:34:0::1;::::0;6099:18:1;11125:34:0::1;5958:284:1::0;7802:997:0;7914:6;;7894:4;;7914:6;;7911:63;;;7930:41;7945:6;7953:9;7964:6;7930:14;:41::i;:::-;7923:48;;;;7911:63;8049:5;;-1:-1:-1;;;;;8039:15:0;;;8049:5;;8039:15;;;;:50;;-1:-1:-1;8084:5:0;;-1:-1:-1;;;;;8071:18:0;;;8084:5;;8071:18;;8039:50;:84;;;;-1:-1:-1;;;;;;8106:17:0;;5223:42;8106:17;;8039:84;:118;;;;-1:-1:-1;8153:4:0;;-1:-1:-1;;;;;8140:17:0;;;8153:4;;8140:17;;8039:118;8035:298;;;-1:-1:-1;;;;;8196:26:0;;;;;;:15;:26;;;;;;;;;:77;;-1:-1:-1;8259:14:0;;-1:-1:-1;;;;;8226:20:0;;;;;;:9;:20;;;;;;:29;;8249:6;;8226:29;:::i;:::-;:47;;8196:77;8188:133;;;;-1:-1:-1;;;8188:133:0;;8376:2:1;8188:133:0;;;8358:21:1;8415:2;8395:18;;;8388:30;8454:34;8434:18;;;8427:62;-1:-1:-1;;;8505:18:1;;;8498:41;8556:19;;8188:133:0;8174:407:1;8188:133:0;8383:16;:14;:16::i;:::-;8380:35;;;8402:10;:8;:10::i;:::-;-1:-1:-1;;;;;8447:17:0;;;;;;:9;:17;;;;;;:26;;8467:6;;8447:26;:::i;:::-;-1:-1:-1;;;;;8427:17:0;;;;;;:9;:17;;;;;;;;:46;;;;9231:11;:19;;;;;;;;9230:20;8548:22;:51;;;-1:-1:-1;;;;;;9231:19:0;;9206:4;9231:19;;;:11;:19;;;;;;;;9230:20;8574:25;8548:51;8547:88;;8612:23;8620:6;8628;8612:7;:23::i;:::-;8547:88;;;8603:6;8547:88;-1:-1:-1;;;;;8669:20:0;;;;;;:9;:20;;;;;;8522:113;;-1:-1:-1;8669:39:0;;8522:113;;8669:39;:::i;:::-;-1:-1:-1;;;;;8646:20:0;;;;;;;:9;:20;;;;;;;:62;;;;8726:43;;;;;;;;;;8754:14;160:25:1;;148:2;133:18;;14:177;8726:43:0;;;;;;;;-1:-1:-1;8787:4:0;;7802:997;-1:-1:-1;;;;7802:997:0:o;8811:300::-;-1:-1:-1;;;;;8941:17:0;;8904:4;8941:17;;;:9;:17;;;;;;:26;;8961:6;;8941:26;:::i;:::-;-1:-1:-1;;;;;8921:17:0;;;;;;;:9;:17;;;;;;:46;;;;9001:20;;;;;;;:29;;9024:6;;9001:29;:::i;:::-;-1:-1:-1;;;;;8978:20:0;;;;;;;:9;:20;;;;;;;:52;;;;9046:35;;;;;;;;;;9074:6;160:25:1;;148:2;133:18;;14:177;9046:35:0;;;;;;;;-1:-1:-1;9099:4:0;8811:300;;;;;:::o;9593:197::-;9680:4;;9642;;-1:-1:-1;;;;;9680:4:0;9666:10;:18;;;;:38;;-1:-1:-1;9698:6:0;;;;9697:7;9666:38;:62;;;;-1:-1:-1;9717:11:0;;-1:-1:-1;;;9717:11:0;;;;9666:62;:116;;;;-1:-1:-1;9769:13:0;;9759:4;9741:24;;;;:9;:24;;;;;;:41;;9666:116;9659:123;;9593:197;:::o;9798:718::-;5498:6;:13;;-1:-1:-1;;5498:13:0;5507:4;5498:13;;;9896:4:::1;-1:-1:-1::0;6765:18:0;;;:9;:18;;;;;;9993:16:::1;::::0;;10007:1:::1;9993:16:::0;;;;;::::1;::::0;;;9847:55;;-1:-1:-1;9847:55:0;;9913:20:::1;::::0;9993:16:::1;;;;;;;;;;;::::0;-1:-1:-1;9993:16:0::1;9969:40;;10038:4;10020;10025:1;10020:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10020:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10064:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;10064:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;10020:7;;10064:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10054:4;10059:1;10054:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10054:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;10090:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;10090:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;10162:12;;10090:6:::1;::::0;10205:4;;10232::::1;::::0;10252:15:::1;::::0;10090:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10393:14:0::1;::::0;10385:62:::1;::::0;10309:21:::1;::::0;-1:-1:-1;10289:17:0::1;::::0;-1:-1:-1;;;;;;10393:14:0;;::::1;::::0;10437:5:::1;::::0;10309:21;;10289:17;10385:62;10289:17;10385:62;10309:21;10393:14;10437:5;10385:62:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10343:104;;;10466:7;10458:50;;;::::0;-1:-1:-1;;;10458:50:0;;10503:2:1;10458:50:0::1;::::0;::::1;10485:21:1::0;10542:2;10522:18;;;10515:30;10581:32;10561:18;;;10554:60;10631:18;;10458:50:0::1;10301:354:1::0;10458:50:0::1;-1:-1:-1::0;;5516:6:0;:14;;-1:-1:-1;;5516:14:0;;;-1:-1:-1;;;9798:718:0:o;9266:319::-;9333:7;9358:17;9394:6;;9387:3;9378:6;:12;;;;:::i;:::-;:23;;;;:::i;:::-;9459:4;9441:24;;;;:9;:24;;;;;;9358:43;;-1:-1:-1;9441:38:0;;9358:43;;9441:38;:::i;:::-;9432:4;9414:24;;;;:9;:24;;;;;;;:65;;;;9495:42;;-1:-1:-1;;;;;9495:42:0;;;;;;;9527:9;160:25:1;;148:2;133:18;;14:177;9495:42:0;;;;;;;;9557:20;9567:9;9557:6;:20;:::i;:::-;9550:27;9266:319;-1:-1:-1;;;;9266:319:0:o;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;853:70;798:131;:::o;934:315::-;1002:6;1010;1063:2;1051:9;1042:7;1038:23;1034:32;1031:52;;;1079:1;1076;1069:12;1031:52;1118:9;1105:23;1137:31;1162:5;1137:31;:::i;:::-;1187:5;1239:2;1224:18;;;;1211:32;;-1:-1:-1;;;934:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;1907:247::-;1966:6;2019:2;2007:9;1998:7;1994:23;1990:32;1987:52;;;2035:1;2032;2025:12;1987:52;2074:9;2061:23;2093:31;2118:5;2093:31;:::i;2348:180::-;2407:6;2460:2;2448:9;2439:7;2435:23;2431:32;2428:52;;;2476:1;2473;2466:12;2428:52;-1:-1:-1;2499:23:1;;2348:180;-1:-1:-1;2348:180:1:o;2533:160::-;2598:20;;2654:13;;2647:21;2637:32;;2627:60;;2683:1;2680;2673:12;2627:60;2533:160;;;:::o;2698:315::-;2763:6;2771;2824:2;2812:9;2803:7;2799:23;2795:32;2792:52;;;2840:1;2837;2830:12;2792:52;2879:9;2866:23;2898:31;2923:5;2898:31;:::i;:::-;2948:5;-1:-1:-1;2972:35:1;3003:2;2988:18;;2972:35;:::i;:::-;2962:45;;2698:315;;;;;:::o;3226:388::-;3294:6;3302;3355:2;3343:9;3334:7;3330:23;3326:32;3323:52;;;3371:1;3368;3361:12;3323:52;3410:9;3397:23;3429:31;3454:5;3429:31;:::i;:::-;3479:5;-1:-1:-1;3536:2:1;3521:18;;3508:32;3549:33;3508:32;3549:33;:::i;:::-;3601:7;3591:17;;;3226:388;;;;;:::o;3619:248::-;3684:6;3692;3745:2;3733:9;3724:7;3720:23;3716:32;3713:52;;;3761:1;3758;3751:12;3713:52;3784:26;3800:9;3784:26;:::i;4098:127::-;4159:10;4154:3;4150:20;4147:1;4140:31;4190:4;4187:1;4180:15;4214:4;4211:1;4204:15;4230:125;4270:4;4298:1;4295;4292:8;4289:34;;;4303:18;;:::i;:::-;-1:-1:-1;4340:9:1;;4230:125::o;4360:329::-;4562:2;4544:21;;;4601:1;4581:18;;;4574:29;-1:-1:-1;;;4634:2:1;4619:18;;4612:36;4680:2;4665:18;;4360:329::o;5379:217::-;5419:1;5445;5435:132;;5489:10;5484:3;5480:20;5477:1;5470:31;5524:4;5521:1;5514:15;5552:4;5549:1;5542:15;5435:132;-1:-1:-1;5581:9:1;;5379:217::o;6247:128::-;6287:3;6318:1;6314:6;6311:1;6308:13;6305:39;;;6324:18;;:::i;:::-;-1:-1:-1;6360:9:1;;6247:128::o;8718:127::-;8779:10;8774:3;8770:20;8767:1;8760:31;8810:4;8807:1;8800:15;8834:4;8831:1;8824:15;8850:251;8920:6;8973:2;8961:9;8952:7;8948:23;8944:32;8941:52;;;8989:1;8986;8979:12;8941:52;9021:9;9015:16;9040:31;9065:5;9040:31;:::i;9106:980::-;9368:4;9416:3;9405:9;9401:19;9447:6;9436:9;9429:25;9473:2;9511:6;9506:2;9495:9;9491:18;9484:34;9554:3;9549:2;9538:9;9534:18;9527:31;9578:6;9613;9607:13;9644:6;9636;9629:22;9682:3;9671:9;9667:19;9660:26;;9721:2;9713:6;9709:15;9695:29;;9742:1;9752:195;9766:6;9763:1;9760:13;9752:195;;;9831:13;;-1:-1:-1;;;;;9827:39:1;9815:52;;9922:15;;;;9887:12;;;;9863:1;9781:9;9752:195;;;-1:-1:-1;;;;;;;10003:32:1;;;;9998:2;9983:18;;9976:60;-1:-1:-1;;;10067:3:1;10052:19;10045:35;9964:3;9106:980;-1:-1:-1;;;9106:980:1:o;10660:168::-;10700:7;10766:1;10762;10758:6;10754:14;10751:1;10748:21;10743:1;10736:9;10729:17;10725:45;10722:71;;;10773:18;;:::i;:::-;-1:-1:-1;10813:9:1;;10660:168::o
Swarm Source
ipfs://fcdbb899d7f0cbe26ae0ccedd6d97598a050b1a78b0c7e351eb24b5597ec381d
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.