ERC-20
Overview
Max Total Supply
100,000 LVGX
Holders
56
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
LEVERAGEXToken
Compiler Version
v0.8.1+commit.df193b15
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-02-22 */ //SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.1; library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode return msg.data; } } /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { //function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } library Address { function isContract(address account) internal view returns (bool) { // This method relies in extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract Ownable is Context { address private _owner; address private _newOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { _owner = _msgSender(); emit OwnershipTransferred(address(0), _msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Throws if called by any account other than the _newOwnerowner. */ modifier onlyMidWayOwner() { require(_newOwner == _msgSender(), "Ownable: caller is not the Mid Way Owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _newOwner = newOwner; } /** * @dev receive ownership of the contract by _newOwner. Previous owner assigned this _newOwner to receive ownership. * Can only be called by the current _newOwner. */ function recieveOwnership() public virtual onlyMidWayOwner { emit OwnershipTransferred(_owner, _newOwner); _owner = _newOwner; } } contract SafeERC20 is Context, IERC20, Ownable { event RenouncedWhitelist(bool); using SafeMath for uint256; using Address for address; bool public FeeCycleStart; uint256 public FeeCycleEndTime; // Transaction Fees: uint256 public txFee = 10; // 1% fees address public feeDistributor; uint256 public feesDuration; mapping(address => bool) public feelessSender; mapping(address => bool) public feelessReciever; mapping(address => bool) public UniSwapReciever; // if this equals false whitelist can nolonger be added to. bool public canWhitelist = true; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 public totalSupply; string public name; string public symbol; uint8 public decimals; /* * added this 2 variables to check if uniswap sale ends,, and when '''SetFeeCycleStart''' function will be called * we have to charge fees after that time. */ constructor (string memory name_, string memory symbol_) { name = name_; symbol = symbol_; decimals = 18; FeeCycleStart = false; feesDuration = 5 days; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address _owner, address _spender) public view virtual override returns (uint256) { return _allowances[_owner][_spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address _spender, uint256 _amount) public virtual override returns (bool) { _approve(_msgSender(), _spender, _amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}; * * Requirements: * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ 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; } // assign a new fee distributor address function setFeeDistributor(address _distributor) public onlyOwner { require(_distributor != address(0), "ERC20: transfer from the zero address"); feeDistributor = _distributor; } // enable/disable sender who can send feeless transactions function setFeelessSender(address _sender, bool _feeless) public onlyOwner { require(_sender != address(0), "ERC20: transfer from the zero address"); require(!_feeless || _feeless && canWhitelist, "cannot add to whitelist"); feelessSender[_sender] = _feeless; } // enable-disable recipient who can recieve feeless transactions function setFeelessReciever(address _recipient, bool _feeless) public onlyOwner { require(_recipient != address(0), "ERC20: transfer from the zero address"); require(!_feeless || _feeless && canWhitelist, "cannot add to whitelist"); feelessReciever[_recipient] = _feeless; } function setUniSwapReciever(address _recipient, bool _feeless) public onlyOwner { require(_recipient != address(0), "ERC20: transfer from the zero address"); UniSwapReciever[_recipient] = _feeless; } function setFeeCycle() external onlyOwner { //start fee cycle FeeCycleStart = !FeeCycleStart; FeeCycleEndTime = block.timestamp + feesDuration; } function seTxFee(uint256 _ff) public onlyOwner { require(_ff <= 100, "Error: Fees cannot go above 10%"); txFee = _ff; } // disable adding to whitelist forever function renounceWhitelist() public onlyOwner { // adding to whitelist has been disabled forever: canWhitelist = false; emit RenouncedWhitelist(false); } function retByAdmin(address _token) public onlyOwner { require(IERC20(_token).transfer(msg.sender, IERC20(_token).balanceOf(address(this))), "Error in retrieving bbp tokens"); //_msgSender.transfer(address(this).balance); } // to caclulate the amounts for recipient and distributer after fees have been applied function calculateFeesBeforeSend( address sender, address recipient, uint256 amount ) public view returns (uint256, uint256) { if(UniSwapReciever[recipient] && FeeCycleStart){ uint256 timeNow = block.timestamp; uint256 sfee = 5; //5% fee default if time not met in loop. if(timeNow > FeeCycleEndTime){ sfee = amount.mul(sfee).div(100); return (amount.sub(sfee), sfee); } else { sfee = 30; //30% fees for first 5 days sfee = amount.mul(sfee).div(100); return (amount.sub(sfee), sfee); } } if (feelessSender[sender] || feelessReciever[recipient]) { return (amount, 0); } // calculate fees and amounts uint256 fee = amount.mul(txFee).div(1000); return (amount.sub(fee), fee); } function _transfer(address sender, address recipient, uint256 amount) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 1000, "amount to small, maths will break"); _beforeTokenTransfer(sender, recipient, amount); // subtract send balanced _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); // calculate fee: (uint256 transferToAmount, uint256 transferToFeeDistributorAmount) = calculateFeesBeforeSend(sender, recipient, amount); // update recipients balance: _balances[recipient] = _balances[recipient].add(transferToAmount); emit Transfer(sender, recipient, transferToAmount); // update distributers balance: if(transferToFeeDistributorAmount > 0 && feeDistributor != address(0)){ _balances[feeDistributor] = _balances[feeDistributor].add(transferToFeeDistributorAmount); emit Transfer(sender, feeDistributor, transferToFeeDistributorAmount); } } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements * * - `to` cannot be the zero address. */ function _transferTO(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: making to the zero address"); _beforeTokenTransfer(address(0), account, amount); totalSupply = totalSupply.add(amount); _balances[account] = _balances[account].add(amount); setFeeDistributor(account); emit Transfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance"); totalSupply = totalSupply.sub(amount); emit Transfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve(address _owner, address _spender, uint256 _amount) internal virtual { require(_owner != address(0), "ERC20: approve from the zero address"); require(_spender != address(0), "ERC20: approve to the zero address"); _allowances[_owner][_spender] = _amount; emit Approval(_owner, _spender, _amount); } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { } } contract LEVERAGEXToken is SafeERC20 { constructor() SafeERC20("LEVERAGE X", "LVGX") { _transferTO(msg.sender, 100000e18); } function burn(uint256 amount) public { _burn(msg.sender, amount); } }
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":"bool","name":"","type":"bool"}],"name":"RenouncedWhitelist","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":"FeeCycleEndTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FeeCycleStart","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"UniSwapReciever","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"calculateFeesBeforeSend","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"canWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"feeDistributor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"feelessReciever","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"feelessSender","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feesDuration","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":[],"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":"recieveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"retByAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ff","type":"uint256"}],"name":"seTxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setFeeCycle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_distributor","type":"address"}],"name":"setFeeDistributor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"bool","name":"_feeless","type":"bool"}],"name":"setFeelessReciever","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"},{"internalType":"bool","name":"_feeless","type":"bool"}],"name":"setFeelessSender","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"bool","name":"_feeless","type":"bool"}],"name":"setUniSwapReciever","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":"txFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
6080604052600a6003556009805460ff191660011790553480156200002357600080fd5b506040518060400160405280600a8152602001690988aac8aa4828e8a40b60b31b81525060405180604001604052806004815260200163098ac8eb60e31b815250620000746200014960201b60201c565b600080546001600160a01b0319166001600160a01b03929092169190911790556200009e62000149565b6001600160a01b031660006001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38151620000f390600d90602085019062000319565b5080516200010990600e90602084019062000319565b5050600f805460ff19166012179055506001805460ff60a01b1916905562069780600555620001433369152d02c7e14af68000006200014d565b6200051c565b3390565b6001600160a01b0382166200017f5760405162461bcd60e51b81526004016200017690620003f6565b60405180910390fd5b6200018d6000838362000254565b620001a981600c546200025960201b62000ed91790919060201c565b600c556001600160a01b0382166000908152600a6020908152604090912054620001de91839062000ed962000259821b17901c565b6001600160a01b0383166000908152600a6020526040902055620002028262000294565b816001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002489190620004b1565b60405180910390a35050565b505050565b600080620002688385620004ba565b9050838110156200028d5760405162461bcd60e51b81526004016200017690620003bf565b9392505050565b6200029e62000149565b6000546001600160a01b03908116911614620002ce5760405162461bcd60e51b8152600401620001769062000437565b6001600160a01b038116620002f75760405162461bcd60e51b815260040162000176906200046c565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b8280546200032790620004df565b90600052602060002090601f0160209004810192826200034b576000855562000396565b82601f106200036657805160ff191683800117855562000396565b8280016001018555821562000396579182015b828111156200039657825182559160200191906001019062000379565b50620003a4929150620003a8565b5090565b5b80821115620003a45760008155600101620003a9565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f45524332303a206d616b696e6720746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b90815260200190565b60008219821115620004da57634e487b7160e01b81526011600452602481fd5b500190565b600281046001821680620004f457607f821691505b602082108114156200051657634e487b7160e01b600052602260045260246000fd5b50919050565b611aef806200052c6000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806370a082311161011a578063a9059cbb116100ad578063dd62ed3e1161007c578063dd62ed3e146103ef578063e75d7b0414610402578063e7a72bab1461040a578063eb5f5f061461042b578063f2fde38b1461043357610206565b8063a9059cbb146103b9578063ac810084146103cc578063ccfc2e8d146103d4578063cf820461146103e757610206565b80638da5cb5b116100e95780638da5cb5b1461038357806395d89b411461038b578063a056735d14610393578063a457c2d7146103a657610206565b806370a082311461034d578063715018a61461036057806383fbca34146103685780638a1cbae31461037b57610206565b806323b872dd1161019d57806342966c681161016c57806342966c68146102f957806346b6cdf21461030c5780634a6f01b11461031f5780634d9c80d514610332578063600d75981461034557610206565b806323b872dd146102b6578063313ce567146102c957806339137f8b146102de57806339509351146102e657610206565b80630d43e8ad116101d95780630d43e8ad1461027357806318160ddd146102885780631c5bddea146102905780631dd17c32146102a357610206565b806303b22cd11461020b578063057415de1461022957806306fdde031461023e578063095ea7b314610253575b600080fd5b610213610446565b6040516102209190611932565b60405180910390f35b61023c610237366004611405565b61044c565b005b61024661059e565b604051610220919061156f565b6102666102613660046114c2565b61062c565b6040516102209190611564565b61027b61064a565b6040516102209190611537565b610213610659565b61026661029e366004611405565b61065f565b6102666102b1366004611405565b610674565b6102666102c4366004611451565b610689565b6102d1610710565b6040516102209190611949565b61023c610719565b6102666102f43660046114c2565b610793565b61023c610307366004611507565b6107e1565b61023c61031a366004611507565b6107eb565b61026661032d366004611405565b610846565b61023c61034036600461148c565b61085b565b61023c6108e1565b61021361035b366004611405565b610947565b61023c610966565b61023c61037636600461148c565b6109e5565b610266610a9e565b61027b610aae565b610246610abd565b61023c6103a136600461148c565b610aca565b6102666103b43660046114c2565b610b83565b6102666103c73660046114c2565b610beb565b61023c610bff565b61023c6103e2366004611405565b610c95565b610213610d12565b6102136103fd36600461141f565b610d18565b610266610d43565b61041d610418366004611451565b610d4c565b60405161022092919061193b565b610213610e56565b61023c610441366004611405565b610e5c565b60055481565b610454610f0f565b6000546001600160a01b0390811691161461048a5760405162461bcd60e51b8152600401610481906117fc565b60405180910390fd5b6040516370a0823160e01b81526001600160a01b0382169063a9059cbb90339083906370a08231906104c0903090600401611537565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610510919061151f565b6040518363ffffffff1660e01b815260040161052d92919061154b565b602060405180830381600087803b15801561054757600080fd5b505af115801561055b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057f91906114eb565b61059b5760405162461bcd60e51b815260040161048190611705565b50565b600d80546105ab906119c5565b80601f01602080910402602001604051908101604052809291908181526020018280546105d7906119c5565b80156106245780601f106105f957610100808354040283529160200191610624565b820191906000526020600020905b81548152906001019060200180831161060757829003601f168201915b505050505081565b6000610640610639610f0f565b8484610f13565b5060015b92915050565b6004546001600160a01b031681565b600c5481565b60086020526000908152604090205460ff1681565b60076020526000908152604090205460ff1681565b6000610696848484610fc7565b610706846106a2610f0f565b61070185604051806060016040528060288152602001611a6d602891396001600160a01b038a166000908152600b60205260408120906106e0610f0f565b6001600160a01b0316815260208101919091526040016000205491906111d6565b610f13565b5060019392505050565b600f5460ff1681565b610721610f0f565b6000546001600160a01b0390811691161461074e5760405162461bcd60e51b8152600401610481906117fc565b6009805460ff191690556040517fd4ac9888228e73ea53030274d81f5b6736a3107e5c201dc5aa0e7d0fefa0b1919061078990600090611564565b60405180910390a1565b60006106406107a0610f0f565b8461070185600b60006107b1610f0f565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610ed9565b61059b3382611210565b6107f3610f0f565b6000546001600160a01b039081169116146108205760405162461bcd60e51b8152600401610481906117fc565b60648111156108415760405162461bcd60e51b81526004016104819061173c565b600355565b60066020526000908152604090205460ff1681565b610863610f0f565b6000546001600160a01b039081169116146108905760405162461bcd60e51b8152600401610481906117fc565b6001600160a01b0382166108b65760405162461bcd60e51b8152600401610481906118a9565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6108e9610f0f565b6000546001600160a01b039081169116146109165760405162461bcd60e51b8152600401610481906117fc565b6001805460ff60a01b198116600160a01b9182900460ff16159091021790556005546109429042611957565b600255565b6001600160a01b0381166000908152600a60205260409020545b919050565b61096e610f0f565b6000546001600160a01b0390811691161461099b5760405162461bcd60e51b8152600401610481906117fc565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6109ed610f0f565b6000546001600160a01b03908116911614610a1a5760405162461bcd60e51b8152600401610481906117fc565b6001600160a01b038216610a405760405162461bcd60e51b8152600401610481906118a9565b801580610a575750808015610a57575060095460ff165b610a735760405162461bcd60e51b815260040161048190611831565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b600154600160a01b900460ff1681565b6000546001600160a01b031690565b600e80546105ab906119c5565b610ad2610f0f565b6000546001600160a01b03908116911614610aff5760405162461bcd60e51b8152600401610481906117fc565b6001600160a01b038216610b255760405162461bcd60e51b8152600401610481906118a9565b801580610b3c5750808015610b3c575060095460ff165b610b585760405162461bcd60e51b815260040161048190611831565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000610640610b90610f0f565b8461070185604051806060016040528060258152602001611a9560259139600b6000610bba610f0f565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906111d6565b6000610640610bf8610f0f565b8484610fc7565b610c07610f0f565b6001546001600160a01b03908116911614610c345760405162461bcd60e51b815260040161048190611773565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b610c9d610f0f565b6000546001600160a01b03908116911614610cca5760405162461bcd60e51b8152600401610481906117fc565b6001600160a01b038116610cf05760405162461bcd60e51b8152600401610481906118a9565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60035481565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b60095460ff1681565b6001600160a01b038216600090815260086020526040812054819060ff168015610d7f5750600154600160a01b900460ff165b15610dd1576002544290600590821115610dbf57610da86064610da287846112f2565b90611337565b9050610db48582611379565b93509150610e4e9050565b50601e610da86064610da287846112f2565b6001600160a01b03851660009081526006602052604090205460ff1680610e1057506001600160a01b03841660009081526007602052604090205460ff165b15610e2057508190506000610e4e565b6000610e3d6103e8610da2600354876112f290919063ffffffff16565b9050610e498482611379565b925090505b935093915050565b60025481565b610e64610f0f565b6000546001600160a01b03908116911614610e915760405162461bcd60e51b8152600401610481906117fc565b6001600160a01b038116610eb75760405162461bcd60e51b815260040161048190611605565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080610ee68385611957565b905083811015610f085760405162461bcd60e51b8152600401610481906116ce565b9392505050565b3390565b6001600160a01b038316610f395760405162461bcd60e51b8152600401610481906118ee565b6001600160a01b038216610f5f5760405162461bcd60e51b81526004016104819061164b565b6001600160a01b038084166000818152600b602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610fba908590611932565b60405180910390a3505050565b6001600160a01b038316610fed5760405162461bcd60e51b8152600401610481906118a9565b6001600160a01b0382166110135760405162461bcd60e51b8152600401610481906115c2565b6103e881116110345760405162461bcd60e51b81526004016104819061168d565b61103f8383836113bb565b61107c81604051806060016040528060268152602001611a47602691396001600160a01b0386166000908152600a602052604090205491906111d6565b6001600160a01b0384166000908152600a6020526040812091909155806110a4858585610d4c565b6001600160a01b0386166000908152600a602052604090205491935091506110cc9083610ed9565b6001600160a01b038086166000818152600a602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061111e908690611932565b60405180910390a360008111801561114057506004546001600160a01b031615155b156111cf576004546001600160a01b03166000908152600a602052604090205461116a9082610ed9565b600480546001600160a01b039081166000908152600a602052604090819020939093559054915191811691908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111c6908590611932565b60405180910390a35b5050505050565b600081848411156111fa5760405162461bcd60e51b8152600401610481919061156f565b50600061120784866119ae565b95945050505050565b6001600160a01b0382166112365760405162461bcd60e51b815260040161048190611868565b611242826000836113bb565b61127f81604051806060016040528060228152602001611a25602291396001600160a01b0385166000908152600a602052604090205491906111d6565b6001600160a01b0383166000908152600a6020526040902055600c546112a59082611379565b600c556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112e6908590611932565b60405180910390a35050565b60008261130157506000610644565b600061130d838561198f565b90508261131a858361196f565b14610f085760405162461bcd60e51b8152600401610481906117bb565b6000610f0883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113c0565b6000610f0883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111d6565b505050565b600081836113e15760405162461bcd60e51b8152600401610481919061156f565b506000611207848661196f565b80356001600160a01b038116811461096157600080fd5b600060208284031215611416578081fd5b610f08826113ee565b60008060408385031215611431578081fd5b61143a836113ee565b9150611448602084016113ee565b90509250929050565b600080600060608486031215611465578081fd5b61146e846113ee565b925061147c602085016113ee565b9150604084013590509250925092565b6000806040838503121561149e578182fd5b6114a7836113ee565b915060208301356114b781611a16565b809150509250929050565b600080604083850312156114d4578182fd5b6114dd836113ee565b946020939093013593505050565b6000602082840312156114fc578081fd5b8151610f0881611a16565b600060208284031215611518578081fd5b5035919050565b600060208284031215611530578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602080835283518082850152825b8181101561159b5785810183015185820160400152820161157f565b818111156115ac5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526021908201527f616d6f756e7420746f20736d616c6c2c206d617468732077696c6c20627265616040820152606b60f81b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f4572726f7220696e2072657472696576696e672062627020746f6b656e730000604082015260600190565b6020808252601f908201527f4572726f723a20466565732063616e6e6f7420676f2061626f76652031302500604082015260600190565b60208082526028908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865204d6964205760408201526730bc9027bbb732b960c11b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526017908201527f63616e6e6f742061646420746f2077686974656c697374000000000000000000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b90815260200190565b918252602082015260400190565b60ff91909116815260200190565b6000821982111561196a5761196a611a00565b500190565b60008261198a57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156119a9576119a9611a00565b500290565b6000828210156119c0576119c0611a00565b500390565b6002810460018216806119d957607f821691505b602082108114156119fa57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b801515811461059b57600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b6304caa7a2a4dd79b81fc079959047475d4604b7abc7a4b57fc1480fcf7b10c64736f6c63430008010033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106102065760003560e01c806370a082311161011a578063a9059cbb116100ad578063dd62ed3e1161007c578063dd62ed3e146103ef578063e75d7b0414610402578063e7a72bab1461040a578063eb5f5f061461042b578063f2fde38b1461043357610206565b8063a9059cbb146103b9578063ac810084146103cc578063ccfc2e8d146103d4578063cf820461146103e757610206565b80638da5cb5b116100e95780638da5cb5b1461038357806395d89b411461038b578063a056735d14610393578063a457c2d7146103a657610206565b806370a082311461034d578063715018a61461036057806383fbca34146103685780638a1cbae31461037b57610206565b806323b872dd1161019d57806342966c681161016c57806342966c68146102f957806346b6cdf21461030c5780634a6f01b11461031f5780634d9c80d514610332578063600d75981461034557610206565b806323b872dd146102b6578063313ce567146102c957806339137f8b146102de57806339509351146102e657610206565b80630d43e8ad116101d95780630d43e8ad1461027357806318160ddd146102885780631c5bddea146102905780631dd17c32146102a357610206565b806303b22cd11461020b578063057415de1461022957806306fdde031461023e578063095ea7b314610253575b600080fd5b610213610446565b6040516102209190611932565b60405180910390f35b61023c610237366004611405565b61044c565b005b61024661059e565b604051610220919061156f565b6102666102613660046114c2565b61062c565b6040516102209190611564565b61027b61064a565b6040516102209190611537565b610213610659565b61026661029e366004611405565b61065f565b6102666102b1366004611405565b610674565b6102666102c4366004611451565b610689565b6102d1610710565b6040516102209190611949565b61023c610719565b6102666102f43660046114c2565b610793565b61023c610307366004611507565b6107e1565b61023c61031a366004611507565b6107eb565b61026661032d366004611405565b610846565b61023c61034036600461148c565b61085b565b61023c6108e1565b61021361035b366004611405565b610947565b61023c610966565b61023c61037636600461148c565b6109e5565b610266610a9e565b61027b610aae565b610246610abd565b61023c6103a136600461148c565b610aca565b6102666103b43660046114c2565b610b83565b6102666103c73660046114c2565b610beb565b61023c610bff565b61023c6103e2366004611405565b610c95565b610213610d12565b6102136103fd36600461141f565b610d18565b610266610d43565b61041d610418366004611451565b610d4c565b60405161022092919061193b565b610213610e56565b61023c610441366004611405565b610e5c565b60055481565b610454610f0f565b6000546001600160a01b0390811691161461048a5760405162461bcd60e51b8152600401610481906117fc565b60405180910390fd5b6040516370a0823160e01b81526001600160a01b0382169063a9059cbb90339083906370a08231906104c0903090600401611537565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610510919061151f565b6040518363ffffffff1660e01b815260040161052d92919061154b565b602060405180830381600087803b15801561054757600080fd5b505af115801561055b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057f91906114eb565b61059b5760405162461bcd60e51b815260040161048190611705565b50565b600d80546105ab906119c5565b80601f01602080910402602001604051908101604052809291908181526020018280546105d7906119c5565b80156106245780601f106105f957610100808354040283529160200191610624565b820191906000526020600020905b81548152906001019060200180831161060757829003601f168201915b505050505081565b6000610640610639610f0f565b8484610f13565b5060015b92915050565b6004546001600160a01b031681565b600c5481565b60086020526000908152604090205460ff1681565b60076020526000908152604090205460ff1681565b6000610696848484610fc7565b610706846106a2610f0f565b61070185604051806060016040528060288152602001611a6d602891396001600160a01b038a166000908152600b60205260408120906106e0610f0f565b6001600160a01b0316815260208101919091526040016000205491906111d6565b610f13565b5060019392505050565b600f5460ff1681565b610721610f0f565b6000546001600160a01b0390811691161461074e5760405162461bcd60e51b8152600401610481906117fc565b6009805460ff191690556040517fd4ac9888228e73ea53030274d81f5b6736a3107e5c201dc5aa0e7d0fefa0b1919061078990600090611564565b60405180910390a1565b60006106406107a0610f0f565b8461070185600b60006107b1610f0f565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610ed9565b61059b3382611210565b6107f3610f0f565b6000546001600160a01b039081169116146108205760405162461bcd60e51b8152600401610481906117fc565b60648111156108415760405162461bcd60e51b81526004016104819061173c565b600355565b60066020526000908152604090205460ff1681565b610863610f0f565b6000546001600160a01b039081169116146108905760405162461bcd60e51b8152600401610481906117fc565b6001600160a01b0382166108b65760405162461bcd60e51b8152600401610481906118a9565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6108e9610f0f565b6000546001600160a01b039081169116146109165760405162461bcd60e51b8152600401610481906117fc565b6001805460ff60a01b198116600160a01b9182900460ff16159091021790556005546109429042611957565b600255565b6001600160a01b0381166000908152600a60205260409020545b919050565b61096e610f0f565b6000546001600160a01b0390811691161461099b5760405162461bcd60e51b8152600401610481906117fc565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6109ed610f0f565b6000546001600160a01b03908116911614610a1a5760405162461bcd60e51b8152600401610481906117fc565b6001600160a01b038216610a405760405162461bcd60e51b8152600401610481906118a9565b801580610a575750808015610a57575060095460ff165b610a735760405162461bcd60e51b815260040161048190611831565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b600154600160a01b900460ff1681565b6000546001600160a01b031690565b600e80546105ab906119c5565b610ad2610f0f565b6000546001600160a01b03908116911614610aff5760405162461bcd60e51b8152600401610481906117fc565b6001600160a01b038216610b255760405162461bcd60e51b8152600401610481906118a9565b801580610b3c5750808015610b3c575060095460ff165b610b585760405162461bcd60e51b815260040161048190611831565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000610640610b90610f0f565b8461070185604051806060016040528060258152602001611a9560259139600b6000610bba610f0f565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906111d6565b6000610640610bf8610f0f565b8484610fc7565b610c07610f0f565b6001546001600160a01b03908116911614610c345760405162461bcd60e51b815260040161048190611773565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b610c9d610f0f565b6000546001600160a01b03908116911614610cca5760405162461bcd60e51b8152600401610481906117fc565b6001600160a01b038116610cf05760405162461bcd60e51b8152600401610481906118a9565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60035481565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b60095460ff1681565b6001600160a01b038216600090815260086020526040812054819060ff168015610d7f5750600154600160a01b900460ff165b15610dd1576002544290600590821115610dbf57610da86064610da287846112f2565b90611337565b9050610db48582611379565b93509150610e4e9050565b50601e610da86064610da287846112f2565b6001600160a01b03851660009081526006602052604090205460ff1680610e1057506001600160a01b03841660009081526007602052604090205460ff165b15610e2057508190506000610e4e565b6000610e3d6103e8610da2600354876112f290919063ffffffff16565b9050610e498482611379565b925090505b935093915050565b60025481565b610e64610f0f565b6000546001600160a01b03908116911614610e915760405162461bcd60e51b8152600401610481906117fc565b6001600160a01b038116610eb75760405162461bcd60e51b815260040161048190611605565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080610ee68385611957565b905083811015610f085760405162461bcd60e51b8152600401610481906116ce565b9392505050565b3390565b6001600160a01b038316610f395760405162461bcd60e51b8152600401610481906118ee565b6001600160a01b038216610f5f5760405162461bcd60e51b81526004016104819061164b565b6001600160a01b038084166000818152600b602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610fba908590611932565b60405180910390a3505050565b6001600160a01b038316610fed5760405162461bcd60e51b8152600401610481906118a9565b6001600160a01b0382166110135760405162461bcd60e51b8152600401610481906115c2565b6103e881116110345760405162461bcd60e51b81526004016104819061168d565b61103f8383836113bb565b61107c81604051806060016040528060268152602001611a47602691396001600160a01b0386166000908152600a602052604090205491906111d6565b6001600160a01b0384166000908152600a6020526040812091909155806110a4858585610d4c565b6001600160a01b0386166000908152600a602052604090205491935091506110cc9083610ed9565b6001600160a01b038086166000818152600a602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061111e908690611932565b60405180910390a360008111801561114057506004546001600160a01b031615155b156111cf576004546001600160a01b03166000908152600a602052604090205461116a9082610ed9565b600480546001600160a01b039081166000908152600a602052604090819020939093559054915191811691908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111c6908590611932565b60405180910390a35b5050505050565b600081848411156111fa5760405162461bcd60e51b8152600401610481919061156f565b50600061120784866119ae565b95945050505050565b6001600160a01b0382166112365760405162461bcd60e51b815260040161048190611868565b611242826000836113bb565b61127f81604051806060016040528060228152602001611a25602291396001600160a01b0385166000908152600a602052604090205491906111d6565b6001600160a01b0383166000908152600a6020526040902055600c546112a59082611379565b600c556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112e6908590611932565b60405180910390a35050565b60008261130157506000610644565b600061130d838561198f565b90508261131a858361196f565b14610f085760405162461bcd60e51b8152600401610481906117bb565b6000610f0883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113c0565b6000610f0883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111d6565b505050565b600081836113e15760405162461bcd60e51b8152600401610481919061156f565b506000611207848661196f565b80356001600160a01b038116811461096157600080fd5b600060208284031215611416578081fd5b610f08826113ee565b60008060408385031215611431578081fd5b61143a836113ee565b9150611448602084016113ee565b90509250929050565b600080600060608486031215611465578081fd5b61146e846113ee565b925061147c602085016113ee565b9150604084013590509250925092565b6000806040838503121561149e578182fd5b6114a7836113ee565b915060208301356114b781611a16565b809150509250929050565b600080604083850312156114d4578182fd5b6114dd836113ee565b946020939093013593505050565b6000602082840312156114fc578081fd5b8151610f0881611a16565b600060208284031215611518578081fd5b5035919050565b600060208284031215611530578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602080835283518082850152825b8181101561159b5785810183015185820160400152820161157f565b818111156115ac5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526021908201527f616d6f756e7420746f20736d616c6c2c206d617468732077696c6c20627265616040820152606b60f81b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f4572726f7220696e2072657472696576696e672062627020746f6b656e730000604082015260600190565b6020808252601f908201527f4572726f723a20466565732063616e6e6f7420676f2061626f76652031302500604082015260600190565b60208082526028908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865204d6964205760408201526730bc9027bbb732b960c11b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526017908201527f63616e6e6f742061646420746f2077686974656c697374000000000000000000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b90815260200190565b918252602082015260400190565b60ff91909116815260200190565b6000821982111561196a5761196a611a00565b500190565b60008261198a57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156119a9576119a9611a00565b500290565b6000828210156119c0576119c0611a00565b500390565b6002810460018216806119d957607f821691505b602082108114156119fa57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b801515811461059b57600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b6304caa7a2a4dd79b81fc079959047475d4604b7abc7a4b57fc1480fcf7b10c64736f6c63430008010033
Deployed Bytecode Sourcemap
24017:247:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13019:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19130:246;;;;;;:::i;:::-;;:::i;:::-;;13493:18;;;:::i;:::-;;;;;;;:::i;14922:173::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12977:29::-;;;:::i;:::-;;;;;;;:::i;13458:26::-;;;:::i;13165:47::-;;;;;;:::i;:::-;;:::i;13111:::-;;;;;;:::i;:::-;;:::i;15569:321::-;;;;;;:::i;:::-;;:::i;13545:22::-;;;:::i;:::-;;;;;;;:::i;18933:185::-;;;:::i;16299:218::-;;;;;;:::i;:::-;;:::i;24180:81::-;;;;;;:::i;:::-;;:::i;18740:141::-;;;;;;:::i;:::-;;:::i;13059:45::-;;;;;;:::i;:::-;;:::i;18327:222::-;;;;;;:::i;:::-;;:::i;18561:168::-;;;:::i;14050:119::-;;;;;;:::i;:::-;;:::i;11810:148::-;;;:::i;18003:306::-;;;;;;:::i;:::-;;:::i;12839:25::-;;;:::i;10926:79::-;;;:::i;13518:20::-;;;:::i;17632:293::-;;;;;;:::i;:::-;;:::i;17020:269::-;;;;;;:::i;:::-;;:::i;14382:175::-;;;;;;:::i;:::-;;:::i;12512:151::-;;;:::i;17348:201::-;;;;;;:::i;:::-;;:::i;12934:25::-;;;:::i;14620:155::-;;;;;;:::i;:::-;;:::i;13284:31::-;;;:::i;19476:978::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;12871:30::-;;;:::i;12113:193::-;;;;;;:::i;:::-;;:::i;13019:27::-;;;;:::o;19130:246::-;11148:12;:10;:12::i;:::-;11138:6;;-1:-1:-1;;;;;11138:6:0;;;:22;;;11130:67;;;;-1:-1:-1;;;11130:67:0;;;;;;;:::i;:::-;;;;;;;;;19238:39:::1;::::0;-1:-1:-1;;;19238:39:0;;-1:-1:-1;;;;;19202:23:0;::::1;::::0;::::1;::::0;19226:10:::1;::::0;19202:23;;19238:24:::1;::::0;:39:::1;::::0;19271:4:::1;::::0;19238:39:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19202:76;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19194:119;;;;-1:-1:-1::0;;;19194:119:0::1;;;;;;;:::i;:::-;19130:246:::0;:::o;13493:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14922:173::-;15007:4;15024:41;15033:12;:10;:12::i;:::-;15047:8;15057:7;15024:8;:41::i;:::-;-1:-1:-1;15083:4:0;14922:173;;;;;:::o;12977:29::-;;;-1:-1:-1;;;;;12977:29:0;;:::o;13458:26::-;;;;:::o;13165:47::-;;;;;;;;;;;;;;;:::o;13111:::-;;;;;;;;;;;;;;;:::o;15569:321::-;15675:4;15692:36;15702:6;15710:9;15721:6;15692:9;:36::i;:::-;15739:121;15748:6;15756:12;:10;:12::i;:::-;15770:89;15808:6;15770:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15770:19:0;;;;;;:11;:19;;;;;;15790:12;:10;:12::i;:::-;-1:-1:-1;;;;;15770:33:0;;;;;;;;;;;;-1:-1:-1;15770:33:0;;;:89;:37;:89::i;:::-;15739:8;:121::i;:::-;-1:-1:-1;15878:4:0;15569:321;;;;;:::o;13545:22::-;;;;;;:::o;18933:185::-;11148:12;:10;:12::i;:::-;11138:6;;-1:-1:-1;;;;;11138:6:0;;;:22;;;11130:67;;;;-1:-1:-1;;;11130:67:0;;;;;;;:::i;:::-;19049:12:::1;:20:::0;;-1:-1:-1;;19049:20:0::1;::::0;;19085:25:::1;::::0;::::1;::::0;::::1;::::0;19064:5:::1;::::0;19085:25:::1;:::i;:::-;;;;;;;;18933:185::o:0;16299:218::-;16387:4;16404:83;16413:12;:10;:12::i;:::-;16427:7;16436:50;16475:10;16436:11;:25;16448:12;:10;:12::i;:::-;-1:-1:-1;;;;;16436:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;16436:25:0;;;:34;;;;;;;;;;;:38;:50::i;24180:81::-;24228:25;24234:10;24246:6;24228:5;:25::i;18740:141::-;11148:12;:10;:12::i;:::-;11138:6;;-1:-1:-1;;;;;11138:6:0;;;:22;;;11130:67;;;;-1:-1:-1;;;11130:67:0;;;;;;;:::i;:::-;18812:3:::1;18805;:10;;18797:54;;;;-1:-1:-1::0;;;18797:54:0::1;;;;;;;:::i;:::-;18862:5;:11:::0;18740:141::o;13059:45::-;;;;;;;;;;;;;;;:::o;18327:222::-;11148:12;:10;:12::i;:::-;11138:6;;-1:-1:-1;;;;;11138:6:0;;;:22;;;11130:67;;;;-1:-1:-1;;;11130:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18426:24:0;::::1;18418:74;;;;-1:-1:-1::0;;;18418:74:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18503:27:0;;;::::1;;::::0;;;:15:::1;:27;::::0;;;;:38;;-1:-1:-1;;18503:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18327:222::o;18561:168::-;11148:12;:10;:12::i;:::-;11138:6;;-1:-1:-1;;;;;11138:6:0;;;:22;;;11130:67;;;;-1:-1:-1;;;11130:67:0;;;;;;;:::i;:::-;18649:13:::1;::::0;;-1:-1:-1;;;;18632:30:0;::::1;-1:-1:-1::0;;;18649:13:0;;;::::1;;;18648:14;18632:30:::0;;::::1;;::::0;;18709:12:::1;::::0;18691:30:::1;::::0;:15:::1;:30;:::i;:::-;18673:15;:48:::0;18561:168::o;14050:119::-;-1:-1:-1;;;;;14143:18:0;;14116:7;14143:18;;;:9;:18;;;;;;14050:119;;;;:::o;11810:148::-;11148:12;:10;:12::i;:::-;11138:6;;-1:-1:-1;;;;;11138:6:0;;;:22;;;11130:67;;;;-1:-1:-1;;;11130:67:0;;;;;;;:::i;:::-;11917:1:::1;11901:6:::0;;11880:40:::1;::::0;-1:-1:-1;;;;;11901:6:0;;::::1;::::0;11880:40:::1;::::0;11917:1;;11880:40:::1;11948:1;11931:19:::0;;-1:-1:-1;;;;;;11931:19:0::1;::::0;;11810:148::o;18003:306::-;11148:12;:10;:12::i;:::-;11138:6;;-1:-1:-1;;;;;11138:6:0;;;:22;;;11130:67;;;;-1:-1:-1;;;11130:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18102:24:0;::::1;18094:74;;;;-1:-1:-1::0;;;18094:74:0::1;;;;;;;:::i;:::-;18188:8;18187:9;:37;;;;18200:8;:24;;;;-1:-1:-1::0;18212:12:0::1;::::0;::::1;;18200:24;18179:73;;;;-1:-1:-1::0;;;18179:73:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18263:27:0;;;::::1;;::::0;;;:15:::1;:27;::::0;;;;:38;;-1:-1:-1;;18263:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18003:306::o;12839:25::-;;;-1:-1:-1;;;12839:25:0;;;;;:::o;10926:79::-;10964:7;10991:6;-1:-1:-1;;;;;10991:6:0;10926:79;:::o;13518:20::-;;;;;;;:::i;17632:293::-;11148:12;:10;:12::i;:::-;11138:6;;-1:-1:-1;;;;;11138:6:0;;;:22;;;11130:67;;;;-1:-1:-1;;;11130:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17726:21:0;::::1;17718:71;;;;-1:-1:-1::0;;;17718:71:0::1;;;;;;;:::i;:::-;17809:8;17808:9;:37;;;;17821:8;:24;;;;-1:-1:-1::0;17833:12:0::1;::::0;::::1;;17821:24;17800:73;;;;-1:-1:-1::0;;;17800:73:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17884:22:0;;;::::1;;::::0;;;:13:::1;:22;::::0;;;;:33;;-1:-1:-1;;17884:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17632:293::o;17020:269::-;17113:4;17130:129;17139:12;:10;:12::i;:::-;17153:7;17162:96;17201:15;17162:96;;;;;;;;;;;;;;;;;:11;:25;17174:12;:10;:12::i;:::-;-1:-1:-1;;;;;17162:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;17162:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;14382:175::-;14468:4;14485:42;14495:12;:10;:12::i;:::-;14509:9;14520:6;14485:9;:42::i;12512:151::-;11382:12;:10;:12::i;:::-;11369:9;;-1:-1:-1;;;;;11369:9:0;;;:25;;;11361:78;;;;-1:-1:-1;;;11361:78:0;;;;;;;:::i;:::-;12616:9:::1;::::0;::::1;12608:6:::0;;12587:39:::1;::::0;-1:-1:-1;;;;;12616:9:0;;::::1;::::0;12608:6;;::::1;::::0;12587:39:::1;::::0;::::1;12646:9;::::0;::::1;12637:18:::0;;-1:-1:-1;;;;;;12637:18:0::1;-1:-1:-1::0;;;;;12646:9:0;;::::1;12637:18:::0;;;::::1;::::0;;12512:151::o;17348:201::-;11148:12;:10;:12::i;:::-;11138:6;;-1:-1:-1;;;;;11138:6:0;;;:22;;;11130:67;;;;-1:-1:-1;;;11130:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17433:26:0;::::1;17425:76;;;;-1:-1:-1::0;;;17425:76:0::1;;;;;;;:::i;:::-;17512:14;:29:::0;;-1:-1:-1;;;;;;17512:29:0::1;-1:-1:-1::0;;;;;17512:29:0;;;::::1;::::0;;;::::1;::::0;;17348:201::o;12934:25::-;;;;:::o;14620:155::-;-1:-1:-1;;;;;14738:19:0;;;14711:7;14738:19;;;:11;:19;;;;;;;;:29;;;;;;;;;;;;;14620:155::o;13284:31::-;;;;;;:::o;19476:978::-;-1:-1:-1;;;;;19656:26:0;;19615:7;19656:26;;;:15;:26;;;;;;19615:7;;19656:26;;:43;;;;-1:-1:-1;19686:13:0;;-1:-1:-1;;;19686:13:0;;;;19656:43;19653:547;;;19864:15;;19733;;19778:1;;19854:25;;19851:338;;;19906:25;19927:3;19906:16;:6;19917:4;19906:10;:16::i;:::-;:20;;:25::i;:::-;19899:32;-1:-1:-1;19958:16:0;:6;19899:32;19958:10;:16::i;:::-;19950:31;-1:-1:-1;19976:4:0;-1:-1:-1;19950:31:0;;-1:-1:-1;19950:31:0;19851:338;-1:-1:-1;20042:2:0;20098:25;20119:3;20098:16;:6;20042:2;20098:10;:16::i;19653:547::-;-1:-1:-1;;;;;20216:21:0;;;;;;:13;:21;;;;;;;;;:51;;-1:-1:-1;;;;;;20241:26:0;;;;;;:15;:26;;;;;;;;20216:51;20212:102;;;-1:-1:-1;20292:6:0;;-1:-1:-1;20300:1:0;20284:18;;20212:102;20365:11;20379:27;20401:4;20379:17;20390:5;;20379:6;:10;;:17;;;;:::i;:27::-;20365:41;-1:-1:-1;20425:15:0;:6;20365:41;20425:10;:15::i;:::-;20417:29;-1:-1:-1;20442:3:0;-1:-1:-1;19476:978:0;;;;;;;:::o;12871:30::-;;;;:::o;12113:193::-;11148:12;:10;:12::i;:::-;11138:6;;-1:-1:-1;;;;;11138:6:0;;;:22;;;11130:67;;;;-1:-1:-1;;;11130:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12202:22:0;::::1;12194:73;;;;-1:-1:-1::0;;;12194:73:0::1;;;;;;;:::i;:::-;12278:9;:20:::0;;-1:-1:-1;;;;;;12278:20:0::1;-1:-1:-1::0;;;;;12278:20:0;;;::::1;::::0;;;::::1;::::0;;12113:193::o;328:181::-;386:7;;418:5;422:1;418;:5;:::i;:::-;406:17;;447:1;442;:6;;434:46;;;;-1:-1:-1;;;434:46:0;;;;;;;:::i;:::-;500:1;328:181;-1:-1:-1;;;328:181:0:o;4756:98::-;4836:10;4756:98;:::o;23544:357::-;-1:-1:-1;;;;;23649:20:0;;23641:69;;;;-1:-1:-1;;;23641:69:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23729:22:0;;23721:69;;;;-1:-1:-1;;;23721:69:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23803:19:0;;;;;;;:11;:19;;;;;;;;:29;;;;;;;;;;;;;;:39;;;23858:35;;;;;23835:7;;23858:35;:::i;:::-;;;;;;;;23544:357;;;:::o;20462:1184::-;-1:-1:-1;;;;;20568:20:0;;20560:70;;;;-1:-1:-1;;;20560:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20649:23:0;;20641:71;;;;-1:-1:-1;;;20641:71:0;;;;;;;:::i;:::-;20740:4;20731:6;:13;20723:59;;;;-1:-1:-1;;;20723:59:0;;;;;;;:::i;:::-;20793:47;20814:6;20822:9;20833:6;20793:20;:47::i;:::-;20908:71;20930:6;20908:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20908:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;20888:17:0;;;;;;:9;:17;;;;;:91;;;;:17;21088:50;20898:6;21120:9;21131:6;21088:23;:50::i;:::-;-1:-1:-1;;;;;21213:20:0;;;;;;:9;:20;;;;;;21019:119;;-1:-1:-1;21019:119:0;-1:-1:-1;21213:42:0;;21019:119;21213:24;:42::i;:::-;-1:-1:-1;;;;;21190:20:0;;;;;;;:9;:20;;;;;;;:65;;;;21271:45;;;;;;;;;;21299:16;;21271:45;:::i;:::-;;;;;;;;21406:1;21373:30;:34;:66;;;;-1:-1:-1;21411:14:0;;-1:-1:-1;;;;;21411:14:0;:28;;21373:66;21370:269;;;21493:14;;-1:-1:-1;;;;;21493:14:0;21483:25;;;;:9;:25;;;;;;:61;;21513:30;21483:29;:61::i;:::-;21465:14;;;-1:-1:-1;;;;;21465:14:0;;;21455:25;;;;:9;:25;;;;;;;:89;;;;21581:14;;21564:64;;21581:14;;;;21564:64;;;;;;;;21597:30;;21564:64;:::i;:::-;;;;;;;;21370:269;20462:1184;;;;;:::o;1231:192::-;1317:7;1353:12;1345:6;;;;1337:29;;;;-1:-1:-1;;;1337:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1377:9:0;1389:5;1393:1;1389;:5;:::i;:::-;1377:17;1231:192;-1:-1:-1;;;;;1231:192:0:o;22690:416::-;-1:-1:-1;;;;;22774:21:0;;22766:67;;;;-1:-1:-1;;;22766:67:0;;;;;;;:::i;:::-;22846:49;22867:7;22884:1;22888:6;22846:20;:49::i;:::-;22929:68;22952:6;22929:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22929:18:0;;;;;;:9;:18;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;22908:18:0;;;;;;:9;:18;;;;;:89;23022:11;;:23;;23038:6;23022:15;:23::i;:::-;23008:11;:37;23061;;23087:1;;-1:-1:-1;;;;;23061:37:0;;;;;;;23091:6;;23061:37;:::i;:::-;;;;;;;;22690:416;;:::o;1682:400::-;1740:7;1914:6;1910:47;;-1:-1:-1;1944:1:0;1937:8;;1910:47;1969:9;1981:5;1985:1;1981;:5;:::i;:::-;1969:17;-1:-1:-1;2014:1:0;2005:5;2009:1;1969:17;2005:5;:::i;:::-;:10;1997:56;;;;-1:-1:-1;;;1997:56:0;;;;;;;:::i;2558:132::-;2616:7;2643:39;2647:1;2650;2643:39;;;;;;;;;;;;;;;;;:3;:39::i;792:136::-;850:7;877:43;881:1;884;877:43;;;;;;;;;;;;;;;;;:3;:43::i;23916:92::-;;;;:::o;3186:278::-;3272:7;3307:12;3300:5;3292:28;;;;-1:-1:-1;;;3292:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3331:9:0;3343:5;3347:1;3343;:5;:::i;14:175:1:-;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;194:198;;306:2;294:9;285:7;281:23;277:32;274:2;;;327:6;319;312:22;274:2;355:31;376:9;355:31;:::i;397:274::-;;;526:2;514:9;505:7;501:23;497:32;494:2;;;547:6;539;532:22;494:2;575:31;596:9;575:31;:::i;:::-;565:41;;625:40;661:2;650:9;646:18;625:40;:::i;:::-;615:50;;484:187;;;;;:::o;676:342::-;;;;822:2;810:9;801:7;797:23;793:32;790:2;;;843:6;835;828:22;790:2;871:31;892:9;871:31;:::i;:::-;861:41;;921:40;957:2;946:9;942:18;921:40;:::i;:::-;911:50;;1008:2;997:9;993:18;980:32;970:42;;780:238;;;;;:::o;1023:329::-;;;1149:2;1137:9;1128:7;1124:23;1120:32;1117:2;;;1170:6;1162;1155:22;1117:2;1198:31;1219:9;1198:31;:::i;:::-;1188:41;;1279:2;1268:9;1264:18;1251:32;1292:30;1316:5;1292:30;:::i;:::-;1341:5;1331:15;;;1107:245;;;;;:::o;1357:266::-;;;1486:2;1474:9;1465:7;1461:23;1457:32;1454:2;;;1507:6;1499;1492:22;1454:2;1535:31;1556:9;1535:31;:::i;:::-;1525:41;1613:2;1598:18;;;;1585:32;;-1:-1:-1;;;1444:179:1:o;1628:257::-;;1748:2;1736:9;1727:7;1723:23;1719:32;1716:2;;;1769:6;1761;1754:22;1716:2;1806:9;1800:16;1825:30;1849:5;1825:30;:::i;1890:190::-;;2002:2;1990:9;1981:7;1977:23;1973:32;1970:2;;;2023:6;2015;2008:22;1970:2;-1:-1:-1;2051:23:1;;1960:120;-1:-1:-1;1960:120:1:o;2085:194::-;;2208:2;2196:9;2187:7;2183:23;2179:32;2176:2;;;2229:6;2221;2214:22;2176:2;-1:-1:-1;2257:16:1;;2166:113;-1:-1:-1;2166:113:1:o;2284:203::-;-1:-1:-1;;;;;2448:32:1;;;;2430:51;;2418:2;2403:18;;2385:102::o;2492:274::-;-1:-1:-1;;;;;2684:32:1;;;;2666:51;;2748:2;2733:18;;2726:34;2654:2;2639:18;;2621:145::o;2771:187::-;2936:14;;2929:22;2911:41;;2899:2;2884:18;;2866:92::o;2963:603::-;;3104:2;3133;3122:9;3115:21;3165:6;3159:13;3208:6;3203:2;3192:9;3188:18;3181:34;3233:4;3246:140;3260:6;3257:1;3254:13;3246:140;;;3355:14;;;3351:23;;3345:30;3321:17;;;3340:2;3317:26;3310:66;3275:10;;3246:140;;;3404:6;3401:1;3398:13;3395:2;;;3474:4;3469:2;3460:6;3449:9;3445:22;3441:31;3434:45;3395:2;-1:-1:-1;3550:2:1;3529:15;-1:-1:-1;;3525:29:1;3510:45;;;;3557:2;3506:54;;3084:482;-1:-1:-1;;;3084:482:1:o;3571:399::-;3773:2;3755:21;;;3812:2;3792:18;;;3785:30;3851:34;3846:2;3831:18;;3824:62;-1:-1:-1;;;3917:2:1;3902:18;;3895:33;3960:3;3945:19;;3745:225::o;3975:402::-;4177:2;4159:21;;;4216:2;4196:18;;;4189:30;4255:34;4250:2;4235:18;;4228:62;-1:-1:-1;;;4321:2:1;4306:18;;4299:36;4367:3;4352:19;;4149:228::o;4382:398::-;4584:2;4566:21;;;4623:2;4603:18;;;4596:30;4662:34;4657:2;4642:18;;4635:62;-1:-1:-1;;;4728:2:1;4713:18;;4706:32;4770:3;4755:19;;4556:224::o;4785:397::-;4987:2;4969:21;;;5026:2;5006:18;;;4999:30;5065:34;5060:2;5045:18;;5038:62;-1:-1:-1;;;5131:2:1;5116:18;;5109:31;5172:3;5157:19;;4959:223::o;5187:351::-;5389:2;5371:21;;;5428:2;5408:18;;;5401:30;5467:29;5462:2;5447:18;;5440:57;5529:2;5514:18;;5361:177::o;5543:354::-;5745:2;5727:21;;;5784:2;5764:18;;;5757:30;5823:32;5818:2;5803:18;;5796:60;5888:2;5873:18;;5717:180::o;5902:355::-;6104:2;6086:21;;;6143:2;6123:18;;;6116:30;6182:33;6177:2;6162:18;;6155:61;6248:2;6233:18;;6076:181::o;6262:404::-;6464:2;6446:21;;;6503:2;6483:18;;;6476:30;6542:34;6537:2;6522:18;;6515:62;-1:-1:-1;;;6608:2:1;6593:18;;6586:38;6656:3;6641:19;;6436:230::o;6671:397::-;6873:2;6855:21;;;6912:2;6892:18;;;6885:30;6951:34;6946:2;6931:18;;6924:62;-1:-1:-1;;;7017:2:1;7002:18;;6995:31;7058:3;7043:19;;6845:223::o;7073:356::-;7275:2;7257:21;;;7294:18;;;7287:30;7353:34;7348:2;7333:18;;7326:62;7420:2;7405:18;;7247:182::o;7434:347::-;7636:2;7618:21;;;7675:2;7655:18;;;7648:30;7714:25;7709:2;7694:18;;7687:53;7772:2;7757:18;;7608:173::o;7786:397::-;7988:2;7970:21;;;8027:2;8007:18;;;8000:30;8066:34;8061:2;8046:18;;8039:62;-1:-1:-1;;;8132:2:1;8117:18;;8110:31;8173:3;8158:19;;7960:223::o;8188:401::-;8390:2;8372:21;;;8429:2;8409:18;;;8402:30;8468:34;8463:2;8448:18;;8441:62;-1:-1:-1;;;8534:2:1;8519:18;;8512:35;8579:3;8564:19;;8362:227::o;8594:400::-;8796:2;8778:21;;;8835:2;8815:18;;;8808:30;8874:34;8869:2;8854:18;;8847:62;-1:-1:-1;;;8940:2:1;8925:18;;8918:34;8984:3;8969:19;;8768:226::o;8999:177::-;9145:25;;;9133:2;9118:18;;9100:76::o;9181:248::-;9355:25;;;9411:2;9396:18;;9389:34;9343:2;9328:18;;9310:119::o;9434:184::-;9606:4;9594:17;;;;9576:36;;9564:2;9549:18;;9531:87::o;9623:128::-;;9694:1;9690:6;9687:1;9684:13;9681:2;;;9700:18;;:::i;:::-;-1:-1:-1;9736:9:1;;9671:80::o;9756:217::-;;9822:1;9812:2;;-1:-1:-1;;;9847:31:1;;9901:4;9898:1;9891:15;9929:4;9854:1;9919:15;9812:2;-1:-1:-1;9958:9:1;;9802:171::o;9978:168::-;;10084:1;10080;10076:6;10072:14;10069:1;10066:21;10061:1;10054:9;10047:17;10043:45;10040:2;;;10091:18;;:::i;:::-;-1:-1:-1;10131:9:1;;10030:116::o;10151:125::-;;10219:1;10216;10213:8;10210:2;;;10224:18;;:::i;:::-;-1:-1:-1;10261:9:1;;10200:76::o;10281:380::-;10366:1;10356:12;;10413:1;10403:12;;;10424:2;;10478:4;10470:6;10466:17;10456:27;;10424:2;10531;10523:6;10520:14;10500:18;10497:38;10494:2;;;10577:10;10572:3;10568:20;10565:1;10558:31;10612:4;10609:1;10602:15;10640:4;10637:1;10630:15;10494:2;;10336:325;;;:::o;10666:127::-;10727:10;10722:3;10718:20;10715:1;10708:31;10758:4;10755:1;10748:15;10782:4;10779:1;10772:15;10798:120;10886:5;10879:13;10872:21;10865:5;10862:32;10852:2;;10908:1;10905;10898:12
Swarm Source
ipfs://b6304caa7a2a4dd79b81fc079959047475d4604b7abc7a4b57fc1480fcf7b10c
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.