ERC-20
Overview
Max Total Supply
1,000,000,000,000 HODL
Holders
36
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
14,299,786.281477813 HODLValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
HODLinu
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-01 */ //TG: https://t.me/HODLinu //Website: http://hodlinu.com // SPDX-License-Identifier: Unlicensed pragma solidity ^0.6.12; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ 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.s * * 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: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * 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 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. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 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; } } library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ 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"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ 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"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ 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; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { address msgSender = _msgSender(); _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 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"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract HODLinu is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcluded; address[] private _excluded; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; string private _name = 'HODL inu'; string private _symbol = 'HODL'; uint8 private _decimals = 9; uint256 public _maxTxAmount = 133333333333 * 10**9; constructor () public { _rOwned[_msgSender()] = _rTotal; emit Transfer(address(0), _msgSender(), _tTotal); } 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 _tTotal; } function balanceOf(address account) public view override returns (uint256) { if (_isExcluded[account]) return _tOwned[account]; return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function 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 isExcluded(address account) public view returns (bool) { return _isExcluded[account]; } function totalFees() public view returns (uint256) { return _tFeeTotal; } function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() { _maxTxAmount = _tTotal.mul(maxTxPercent).div( 10**2 ); } function reflect(uint256 tAmount) public { address sender = _msgSender(); require(!_isExcluded[sender], "Excluded addresses cannot call this function"); (uint256 rAmount,,,,) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rTotal = _rTotal.sub(rAmount); _tFeeTotal = _tFeeTotal.add(tAmount); } function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) { require(tAmount <= _tTotal, "Amount must be less than supply"); if (!deductTransferFee) { (uint256 rAmount,,,,) = _getValues(tAmount); return rAmount; } else { (,uint256 rTransferAmount,,,) = _getValues(tAmount); return rTransferAmount; } } function tokenFromReflection(uint256 rAmount) public view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function excludeAccount(address account) external onlyOwner() { require(!_isExcluded[account], "Account is already excluded"); if(_rOwned[account] > 0) { _tOwned[account] = tokenFromReflection(_rOwned[account]); } _isExcluded[account] = true; _excluded.push(account); } function includeAccount(address account) external onlyOwner() { require(_isExcluded[account], "Account is already excluded"); for (uint256 i = 0; i < _excluded.length; i++) { if (_excluded[i] == account) { _excluded[i] = _excluded[_excluded.length - 1]; _tOwned[account] = 0; _isExcluded[account] = false; _excluded.pop(); break; } } } 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 _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if(sender != owner() && recipient != owner()) require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); if (_isExcluded[sender] && !_isExcluded[recipient]) { _transferFromExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && _isExcluded[recipient]) { _transferToExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && !_isExcluded[recipient]) { _transferStandard(sender, recipient, amount); } else if (_isExcluded[sender] && _isExcluded[recipient]) { _transferBothExcluded(sender, recipient, amount); } else { _transferStandard(sender, recipient, amount); } } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferToExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee); } function _getTValues(uint256 tAmount) private pure returns (uint256, uint256) { uint256 tFee = tAmount.div(100).mul(2); uint256 tTransferAmount = tAmount.sub(tFee); return (tTransferAmount, tFee); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; for (uint256 i = 0; i < _excluded.length; i++) { if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal); rSupply = rSupply.sub(_rOwned[_excluded[i]]); tSupply = tSupply.sub(_tOwned[_excluded[i]]); } if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
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":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":"_maxTxAmount","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":"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":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","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":"account","type":"address"}],"name":"isExcluded","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":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","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":"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"}]
Contract Creation Code
6818ce40f6d0219fffff1960065560c06040526008608081905267484f444c20696e7560c01b60a09081526200003791908162000177565b50604080518082019091526004808252631213d11360e21b6020909201918252620000659160099162000177565b50600a805460ff1916600917905568073a5f283c70371200600b553480156200008d57600080fd5b5060006200009a62000173565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060065460016000620000f562000173565b6001600160a01b031681526020810191909152604001600020556200011962000173565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040518082815260200191505060405180910390a362000213565b3390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001ba57805160ff1916838001178555620001ea565b82800160010185558215620001ea579182015b82811115620001ea578251825591602001919060010190620001cd565b50620001f8929150620001fc565b5090565b5b80821115620001f85760008155600101620001fd565b611c0180620002236000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063715018a6116100c3578063cba0e9961161007c578063cba0e996146103cc578063d543dbeb146103f2578063dd62ed3e1461040f578063f2cc0c181461043d578063f2fde38b14610463578063f84354f1146104895761014d565b8063715018a6146103385780637d1db4a5146103405780638da5cb5b1461034857806395d89b411461036c578063a457c2d714610374578063a9059cbb146103a05761014d565b806323b872dd1161011557806323b872dd146102505780632d83811914610286578063313ce567146102a357806339509351146102c15780634549b039146102ed57806370a08231146103125761014d565b8063053ab1821461015257806306fdde0314610171578063095ea7b3146101ee57806313114a9d1461022e57806318160ddd14610248575b600080fd5b61016f6004803603602081101561016857600080fd5b50356104af565b005b610179610587565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101b357818101518382015260200161019b565b50505050905090810190601f1680156101e05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61021a6004803603604081101561020457600080fd5b506001600160a01b03813516906020013561061d565b604080519115158252519081900360200190f35b61023661063b565b60408051918252519081900360200190f35b610236610641565b61021a6004803603606081101561026657600080fd5b506001600160a01b0381358116916020810135909116906040013561064e565b6102366004803603602081101561029c57600080fd5b50356106d5565b6102ab610737565b6040805160ff9092168252519081900360200190f35b61021a600480360360408110156102d757600080fd5b506001600160a01b038135169060200135610740565b6102366004803603604081101561030357600080fd5b5080359060200135151561078e565b6102366004803603602081101561032857600080fd5b50356001600160a01b0316610825565b61016f610887565b610236610929565b61035061092f565b604080516001600160a01b039092168252519081900360200190f35b61017961093e565b61021a6004803603604081101561038a57600080fd5b506001600160a01b03813516906020013561099f565b61021a600480360360408110156103b657600080fd5b506001600160a01b038135169060200135610a07565b61021a600480360360208110156103e257600080fd5b50356001600160a01b0316610a1b565b61016f6004803603602081101561040857600080fd5b5035610a39565b6102366004803603604081101561042557600080fd5b506001600160a01b0381358116916020013516610ab5565b61016f6004803603602081101561045357600080fd5b50356001600160a01b0316610ae0565b61016f6004803603602081101561047957600080fd5b50356001600160a01b0316610c66565b61016f6004803603602081101561049f57600080fd5b50356001600160a01b0316610d5e565b60006104b9610f1f565b6001600160a01b03811660009081526004602052604090205490915060ff16156105145760405162461bcd60e51b815260040180806020018281038252602c815260200180611b7b602c913960400191505060405180910390fd5b600061051f83610f23565b505050506001600160a01b0383166000908152600160205260409020549091506105499082610f6f565b6001600160a01b03831660009081526001602052604090205560065461056f9082610f6f565b60065560075461057f9084610fb8565b600755505050565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106135780601f106105e857610100808354040283529160200191610613565b820191906000526020600020905b8154815290600101906020018083116105f657829003601f168201915b5050505050905090565b600061063161062a610f1f565b8484611012565b5060015b92915050565b60075490565b683635c9adc5dea0000090565b600061065b8484846110fe565b6106cb84610667610f1f565b6106c685604051806060016040528060288152602001611ac1602891396001600160a01b038a166000908152600360205260408120906106a5610f1f565b6001600160a01b0316815260208101919091526040016000205491906113a8565b611012565b5060019392505050565b60006006548211156107185760405162461bcd60e51b815260040180806020018281038252602a815260200180611a06602a913960400191505060405180910390fd5b600061072261143f565b905061072e8382611462565b9150505b919050565b600a5460ff1690565b600061063161074d610f1f565b846106c6856003600061075e610f1f565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610fb8565b6000683635c9adc5dea000008311156107ee576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b8161080c5760006107fe84610f23565b509294506106359350505050565b600061081784610f23565b509194506106359350505050565b6001600160a01b03811660009081526004602052604081205460ff161561086557506001600160a01b038116600090815260026020526040902054610732565b6001600160a01b038216600090815260016020526040902054610635906106d5565b61088f610f1f565b6000546001600160a01b039081169116146108df576040805162461bcd60e51b81526020600482018190526024820152600080516020611ae9833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600b5481565b6000546001600160a01b031690565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106135780601f106105e857610100808354040283529160200191610613565b60006106316109ac610f1f565b846106c685604051806060016040528060258152602001611ba760259139600360006109d6610f1f565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906113a8565b6000610631610a14610f1f565b84846110fe565b6001600160a01b031660009081526004602052604090205460ff1690565b610a41610f1f565b6000546001600160a01b03908116911614610a91576040805162461bcd60e51b81526020600482018190526024820152600080516020611ae9833981519152604482015290519081900360640190fd5b610aaf6064610aa9683635c9adc5dea00000846114a4565b90611462565b600b5550565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b610ae8610f1f565b6000546001600160a01b03908116911614610b38576040805162461bcd60e51b81526020600482018190526024820152600080516020611ae9833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff1615610ba6576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526001602052604090205415610c00576001600160a01b038116600090815260016020526040902054610be6906106d5565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600460205260408120805460ff191660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319169091179055565b610c6e610f1f565b6000546001600160a01b03908116911614610cbe576040805162461bcd60e51b81526020600482018190526024820152600080516020611ae9833981519152604482015290519081900360640190fd5b6001600160a01b038116610d035760405162461bcd60e51b8152600401808060200182810382526026815260200180611a306026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610d66610f1f565b6000546001600160a01b03908116911614610db6576040805162461bcd60e51b81526020600482018190526024820152600080516020611ae9833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff16610e23576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b60005b600554811015610f1b57816001600160a01b031660058281548110610e4757fe5b6000918252602090912001546001600160a01b03161415610f1357600580546000198101908110610e7457fe5b600091825260209091200154600580546001600160a01b039092169183908110610e9a57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600490925220805460ff191690556005805480610eec57fe5b600082815260209020810160001990810180546001600160a01b0319169055019055610f1b565b600101610e26565b5050565b3390565b6000806000806000806000610f37886114fd565b915091506000610f4561143f565b90506000806000610f578c8686611530565b919e909d50909b509599509397509395505050505050565b6000610fb183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113a8565b9392505050565b600082820183811015610fb1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b0383166110575760405162461bcd60e51b8152600401808060200182810382526024815260200180611b576024913960400191505060405180910390fd5b6001600160a01b03821661109c5760405162461bcd60e51b8152600401808060200182810382526022815260200180611a566022913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166111435760405162461bcd60e51b8152600401808060200182810382526025815260200180611b326025913960400191505060405180910390fd5b6001600160a01b0382166111885760405162461bcd60e51b81526004018080602001828103825260238152602001806119e36023913960400191505060405180910390fd5b600081116111c75760405162461bcd60e51b8152600401808060200182810382526029815260200180611b096029913960400191505060405180910390fd5b6111cf61092f565b6001600160a01b0316836001600160a01b03161415801561120957506111f361092f565b6001600160a01b0316826001600160a01b031614155b1561124f57600b5481111561124f5760405162461bcd60e51b8152600401808060200182810382526028815260200180611a786028913960400191505060405180910390fd5b6001600160a01b03831660009081526004602052604090205460ff16801561129057506001600160a01b03821660009081526004602052604090205460ff16155b156112a5576112a083838361156c565b6113a3565b6001600160a01b03831660009081526004602052604090205460ff161580156112e657506001600160a01b03821660009081526004602052604090205460ff165b156112f6576112a0838383611683565b6001600160a01b03831660009081526004602052604090205460ff1615801561133857506001600160a01b03821660009081526004602052604090205460ff16155b15611348576112a0838383611729565b6001600160a01b03831660009081526004602052604090205460ff16801561138857506001600160a01b03821660009081526004602052604090205460ff165b15611398576112a083838361176a565b6113a3838383611729565b505050565b600081848411156114375760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113fc5781810151838201526020016113e4565b50505050905090810190601f1680156114295780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600080600061144c6117da565b909250905061145b8282611462565b9250505090565b6000610fb183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611959565b6000826114b357506000610635565b828202828482816114c057fe5b0414610fb15760405162461bcd60e51b8152600401808060200182810382526021815260200180611aa06021913960400191505060405180910390fd5b600080806115176002611511866064611462565b906114a4565b905060006115258583610f6f565b935090915050915091565b600080808061153f87866114a4565b9050600061154d87876114a4565b9050600061155b8383610f6f565b929992985090965090945050505050565b600080600080600061157d86610f23565b6001600160a01b038d16600090815260026020526040902054949950929750909550935091506115ad9087610f6f565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546115dc9086610f6f565b6001600160a01b03808a16600090815260016020526040808220939093559089168152205461160b9085610fb8565b6001600160a01b03881660009081526001602052604090205561162e83826119be565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b600080600080600061169486610f23565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506116c49086610f6f565b6001600160a01b03808a16600090815260016020908152604080832094909455918a168152600290915220546116fa9083610fb8565b6001600160a01b03881660009081526002602090815260408083209390935560019052205461160b9085610fb8565b600080600080600061173a86610f23565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506115dc9086610f6f565b600080600080600061177b86610f23565b6001600160a01b038d16600090815260026020526040902054949950929750909550935091506117ab9087610f6f565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546116c49086610f6f565b6006546000908190683635c9adc5dea00000825b6005548110156119195782600160006005848154811061180a57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061186f575081600260006005848154811061184857fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561188d57600654683635c9adc5dea0000094509450505050611955565b6118cd60016000600584815481106118a157fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490610f6f565b925061190f60026000600584815481106118e357fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390610f6f565b91506001016117ee565b5060065461193090683635c9adc5dea00000611462565b82101561194f57600654683635c9adc5dea00000935093505050611955565b90925090505b9091565b600081836119a85760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156113fc5781810151838201526020016113e4565b5060008385816119b457fe5b0495945050505050565b6006546119cb9083610f6f565b6006556007546119db9082610fb8565b600755505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220bc3d321538ba7d9405b6d346ab73d55adc1599f41f47ba5e51e543b2bb1d8b4764736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061014d5760003560e01c8063715018a6116100c3578063cba0e9961161007c578063cba0e996146103cc578063d543dbeb146103f2578063dd62ed3e1461040f578063f2cc0c181461043d578063f2fde38b14610463578063f84354f1146104895761014d565b8063715018a6146103385780637d1db4a5146103405780638da5cb5b1461034857806395d89b411461036c578063a457c2d714610374578063a9059cbb146103a05761014d565b806323b872dd1161011557806323b872dd146102505780632d83811914610286578063313ce567146102a357806339509351146102c15780634549b039146102ed57806370a08231146103125761014d565b8063053ab1821461015257806306fdde0314610171578063095ea7b3146101ee57806313114a9d1461022e57806318160ddd14610248575b600080fd5b61016f6004803603602081101561016857600080fd5b50356104af565b005b610179610587565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101b357818101518382015260200161019b565b50505050905090810190601f1680156101e05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61021a6004803603604081101561020457600080fd5b506001600160a01b03813516906020013561061d565b604080519115158252519081900360200190f35b61023661063b565b60408051918252519081900360200190f35b610236610641565b61021a6004803603606081101561026657600080fd5b506001600160a01b0381358116916020810135909116906040013561064e565b6102366004803603602081101561029c57600080fd5b50356106d5565b6102ab610737565b6040805160ff9092168252519081900360200190f35b61021a600480360360408110156102d757600080fd5b506001600160a01b038135169060200135610740565b6102366004803603604081101561030357600080fd5b5080359060200135151561078e565b6102366004803603602081101561032857600080fd5b50356001600160a01b0316610825565b61016f610887565b610236610929565b61035061092f565b604080516001600160a01b039092168252519081900360200190f35b61017961093e565b61021a6004803603604081101561038a57600080fd5b506001600160a01b03813516906020013561099f565b61021a600480360360408110156103b657600080fd5b506001600160a01b038135169060200135610a07565b61021a600480360360208110156103e257600080fd5b50356001600160a01b0316610a1b565b61016f6004803603602081101561040857600080fd5b5035610a39565b6102366004803603604081101561042557600080fd5b506001600160a01b0381358116916020013516610ab5565b61016f6004803603602081101561045357600080fd5b50356001600160a01b0316610ae0565b61016f6004803603602081101561047957600080fd5b50356001600160a01b0316610c66565b61016f6004803603602081101561049f57600080fd5b50356001600160a01b0316610d5e565b60006104b9610f1f565b6001600160a01b03811660009081526004602052604090205490915060ff16156105145760405162461bcd60e51b815260040180806020018281038252602c815260200180611b7b602c913960400191505060405180910390fd5b600061051f83610f23565b505050506001600160a01b0383166000908152600160205260409020549091506105499082610f6f565b6001600160a01b03831660009081526001602052604090205560065461056f9082610f6f565b60065560075461057f9084610fb8565b600755505050565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106135780601f106105e857610100808354040283529160200191610613565b820191906000526020600020905b8154815290600101906020018083116105f657829003601f168201915b5050505050905090565b600061063161062a610f1f565b8484611012565b5060015b92915050565b60075490565b683635c9adc5dea0000090565b600061065b8484846110fe565b6106cb84610667610f1f565b6106c685604051806060016040528060288152602001611ac1602891396001600160a01b038a166000908152600360205260408120906106a5610f1f565b6001600160a01b0316815260208101919091526040016000205491906113a8565b611012565b5060019392505050565b60006006548211156107185760405162461bcd60e51b815260040180806020018281038252602a815260200180611a06602a913960400191505060405180910390fd5b600061072261143f565b905061072e8382611462565b9150505b919050565b600a5460ff1690565b600061063161074d610f1f565b846106c6856003600061075e610f1f565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610fb8565b6000683635c9adc5dea000008311156107ee576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b8161080c5760006107fe84610f23565b509294506106359350505050565b600061081784610f23565b509194506106359350505050565b6001600160a01b03811660009081526004602052604081205460ff161561086557506001600160a01b038116600090815260026020526040902054610732565b6001600160a01b038216600090815260016020526040902054610635906106d5565b61088f610f1f565b6000546001600160a01b039081169116146108df576040805162461bcd60e51b81526020600482018190526024820152600080516020611ae9833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600b5481565b6000546001600160a01b031690565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106135780601f106105e857610100808354040283529160200191610613565b60006106316109ac610f1f565b846106c685604051806060016040528060258152602001611ba760259139600360006109d6610f1f565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906113a8565b6000610631610a14610f1f565b84846110fe565b6001600160a01b031660009081526004602052604090205460ff1690565b610a41610f1f565b6000546001600160a01b03908116911614610a91576040805162461bcd60e51b81526020600482018190526024820152600080516020611ae9833981519152604482015290519081900360640190fd5b610aaf6064610aa9683635c9adc5dea00000846114a4565b90611462565b600b5550565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b610ae8610f1f565b6000546001600160a01b03908116911614610b38576040805162461bcd60e51b81526020600482018190526024820152600080516020611ae9833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff1615610ba6576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526001602052604090205415610c00576001600160a01b038116600090815260016020526040902054610be6906106d5565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600460205260408120805460ff191660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319169091179055565b610c6e610f1f565b6000546001600160a01b03908116911614610cbe576040805162461bcd60e51b81526020600482018190526024820152600080516020611ae9833981519152604482015290519081900360640190fd5b6001600160a01b038116610d035760405162461bcd60e51b8152600401808060200182810382526026815260200180611a306026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610d66610f1f565b6000546001600160a01b03908116911614610db6576040805162461bcd60e51b81526020600482018190526024820152600080516020611ae9833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff16610e23576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b60005b600554811015610f1b57816001600160a01b031660058281548110610e4757fe5b6000918252602090912001546001600160a01b03161415610f1357600580546000198101908110610e7457fe5b600091825260209091200154600580546001600160a01b039092169183908110610e9a57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600490925220805460ff191690556005805480610eec57fe5b600082815260209020810160001990810180546001600160a01b0319169055019055610f1b565b600101610e26565b5050565b3390565b6000806000806000806000610f37886114fd565b915091506000610f4561143f565b90506000806000610f578c8686611530565b919e909d50909b509599509397509395505050505050565b6000610fb183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113a8565b9392505050565b600082820183811015610fb1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b0383166110575760405162461bcd60e51b8152600401808060200182810382526024815260200180611b576024913960400191505060405180910390fd5b6001600160a01b03821661109c5760405162461bcd60e51b8152600401808060200182810382526022815260200180611a566022913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166111435760405162461bcd60e51b8152600401808060200182810382526025815260200180611b326025913960400191505060405180910390fd5b6001600160a01b0382166111885760405162461bcd60e51b81526004018080602001828103825260238152602001806119e36023913960400191505060405180910390fd5b600081116111c75760405162461bcd60e51b8152600401808060200182810382526029815260200180611b096029913960400191505060405180910390fd5b6111cf61092f565b6001600160a01b0316836001600160a01b03161415801561120957506111f361092f565b6001600160a01b0316826001600160a01b031614155b1561124f57600b5481111561124f5760405162461bcd60e51b8152600401808060200182810382526028815260200180611a786028913960400191505060405180910390fd5b6001600160a01b03831660009081526004602052604090205460ff16801561129057506001600160a01b03821660009081526004602052604090205460ff16155b156112a5576112a083838361156c565b6113a3565b6001600160a01b03831660009081526004602052604090205460ff161580156112e657506001600160a01b03821660009081526004602052604090205460ff165b156112f6576112a0838383611683565b6001600160a01b03831660009081526004602052604090205460ff1615801561133857506001600160a01b03821660009081526004602052604090205460ff16155b15611348576112a0838383611729565b6001600160a01b03831660009081526004602052604090205460ff16801561138857506001600160a01b03821660009081526004602052604090205460ff165b15611398576112a083838361176a565b6113a3838383611729565b505050565b600081848411156114375760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113fc5781810151838201526020016113e4565b50505050905090810190601f1680156114295780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600080600061144c6117da565b909250905061145b8282611462565b9250505090565b6000610fb183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611959565b6000826114b357506000610635565b828202828482816114c057fe5b0414610fb15760405162461bcd60e51b8152600401808060200182810382526021815260200180611aa06021913960400191505060405180910390fd5b600080806115176002611511866064611462565b906114a4565b905060006115258583610f6f565b935090915050915091565b600080808061153f87866114a4565b9050600061154d87876114a4565b9050600061155b8383610f6f565b929992985090965090945050505050565b600080600080600061157d86610f23565b6001600160a01b038d16600090815260026020526040902054949950929750909550935091506115ad9087610f6f565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546115dc9086610f6f565b6001600160a01b03808a16600090815260016020526040808220939093559089168152205461160b9085610fb8565b6001600160a01b03881660009081526001602052604090205561162e83826119be565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b600080600080600061169486610f23565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506116c49086610f6f565b6001600160a01b03808a16600090815260016020908152604080832094909455918a168152600290915220546116fa9083610fb8565b6001600160a01b03881660009081526002602090815260408083209390935560019052205461160b9085610fb8565b600080600080600061173a86610f23565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506115dc9086610f6f565b600080600080600061177b86610f23565b6001600160a01b038d16600090815260026020526040902054949950929750909550935091506117ab9087610f6f565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546116c49086610f6f565b6006546000908190683635c9adc5dea00000825b6005548110156119195782600160006005848154811061180a57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061186f575081600260006005848154811061184857fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561188d57600654683635c9adc5dea0000094509450505050611955565b6118cd60016000600584815481106118a157fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490610f6f565b925061190f60026000600584815481106118e357fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390610f6f565b91506001016117ee565b5060065461193090683635c9adc5dea00000611462565b82101561194f57600654683635c9adc5dea00000935093505050611955565b90925090505b9091565b600081836119a85760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156113fc5781810151838201526020016113e4565b5060008385816119b457fe5b0495945050505050565b6006546119cb9083610f6f565b6006556007546119db9082610fb8565b600755505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220bc3d321538ba7d9405b6d346ab73d55adc1599f41f47ba5e51e543b2bb1d8b4764736f6c634300060c0033
Deployed Bytecode Sourcemap
15683:10557:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18890:376;;;;;;;;;;;;;;;;-1:-1:-1;18890:376:0;;:::i;:::-;;16592:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17504:161;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17504:161:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;18615:87;;;:::i;:::-;;;;;;;;;;;;;;;;16869:95;;;:::i;17673:313::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17673:313:0;;;;;;;;;;;;;;;;;:::i;19716:253::-;;;;;;;;;;;;;;;;-1:-1:-1;19716:253:0;;:::i;16778:83::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17994:218;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17994:218:0;;;;;;;;:::i;19274:434::-;;;;;;;;;;;;;;;;-1:-1:-1;19274:434:0;;;;;;;;;:::i;16972:198::-;;;;;;;;;;;;;;;;-1:-1:-1;16972:198:0;-1:-1:-1;;;;;16972:198:0;;:::i;15125:148::-;;;:::i;16394:50::-;;;:::i;14483:79::-;;;:::i;:::-;;;;-1:-1:-1;;;;;14483:79:0;;;;;;;;;;;;;;16683:87;;;:::i;18220:269::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18220:269:0;;;;;;;;:::i;17178:167::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17178:167:0;;;;;;;;:::i;18497:110::-;;;;;;;;;;;;;;;;-1:-1:-1;18497:110:0;-1:-1:-1;;;;;18497:110:0;;:::i;18720:162::-;;;;;;;;;;;;;;;;-1:-1:-1;18720:162:0;;:::i;17353:143::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17353:143:0;;;;;;;;;;:::i;19977:332::-;;;;;;;;;;;;;;;;-1:-1:-1;19977:332:0;-1:-1:-1;;;;;19977:332:0;;:::i;15428:244::-;;;;;;;;;;;;;;;;-1:-1:-1;15428:244:0;-1:-1:-1;;;;;15428:244:0;;:::i;20317:478::-;;;;;;;;;;;;;;;;-1:-1:-1;20317:478:0;-1:-1:-1;;;;;20317:478:0;;:::i;18890:376::-;18942:14;18959:12;:10;:12::i;:::-;-1:-1:-1;;;;;18991:19:0;;;;;;:11;:19;;;;;;18942:29;;-1:-1:-1;18991:19:0;;18990:20;18982:77;;;;-1:-1:-1;;;18982:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19071:15;19094:19;19105:7;19094:10;:19::i;:::-;-1:-1:-1;;;;;;;;;19142:15:0;;;;;;:7;:15;;;;;;19070:43;;-1:-1:-1;19142:28:0;;19070:43;19142:19;:28::i;:::-;-1:-1:-1;;;;;19124:15:0;;;;;;:7;:15;;;;;:46;19191:7;;:20;;19203:7;19191:11;:20::i;:::-;19181:7;:30;19235:10;;:23;;19250:7;19235:14;:23::i;:::-;19222:10;:36;-1:-1:-1;;;18890:376:0:o;16592:83::-;16662:5;16655:12;;;;;;;;-1:-1:-1;;16655:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16629:13;;16655:12;;16662:5;;16655:12;;16662:5;16655:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16592:83;:::o;17504:161::-;17579:4;17596:39;17605:12;:10;:12::i;:::-;17619:7;17628:6;17596:8;:39::i;:::-;-1:-1:-1;17653:4:0;17504:161;;;;;:::o;18615:87::-;18684:10;;18615:87;:::o;16869:95::-;16157:21;16869:95;:::o;17673:313::-;17771:4;17788:36;17798:6;17806:9;17817:6;17788:9;:36::i;:::-;17835:121;17844:6;17852:12;:10;:12::i;:::-;17866:89;17904:6;17866:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17866:19:0;;;;;;:11;:19;;;;;;17886:12;:10;:12::i;:::-;-1:-1:-1;;;;;17866:33:0;;;;;;;;;;;;-1:-1:-1;17866:33:0;;;:89;:37;:89::i;:::-;17835:8;:121::i;:::-;-1:-1:-1;17974:4:0;17673:313;;;;;:::o;19716:253::-;19782:7;19821;;19810;:18;;19802:73;;;;-1:-1:-1;;;19802:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19886:19;19909:10;:8;:10::i;:::-;19886:33;-1:-1:-1;19937:24:0;:7;19886:33;19937:11;:24::i;:::-;19930:31;;;19716:253;;;;:::o;16778:83::-;16844:9;;;;16778:83;:::o;17994:218::-;18082:4;18099:83;18108:12;:10;:12::i;:::-;18122:7;18131:50;18170:10;18131:11;:25;18143:12;:10;:12::i;:::-;-1:-1:-1;;;;;18131:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;18131:25:0;;;:34;;;;;;;;;;;:38;:50::i;19274:434::-;19364:7;16157:21;19392:7;:18;;19384:62;;;;;-1:-1:-1;;;19384:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19462:17;19457:244;;19497:15;19520:19;19531:7;19520:10;:19::i;:::-;-1:-1:-1;19496:43:0;;-1:-1:-1;19554:14:0;;-1:-1:-1;;;;19554:14:0;19457:244;19603:23;19633:19;19644:7;19633:10;:19::i;:::-;-1:-1:-1;19601:51:0;;-1:-1:-1;19667:22:0;;-1:-1:-1;;;;19667:22:0;16972:198;-1:-1:-1;;;;;17062:20:0;;17038:7;17062:20;;;:11;:20;;;;;;;;17058:49;;;-1:-1:-1;;;;;;17091:16:0;;;;;;:7;:16;;;;;;17084:23;;17058:49;-1:-1:-1;;;;;17145:16:0;;;;;;:7;:16;;;;;;17125:37;;:19;:37::i;15125:148::-;14705:12;:10;:12::i;:::-;14695:6;;-1:-1:-1;;;;;14695:6:0;;;:22;;;14687:67;;;;;-1:-1:-1;;;14687:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14687:67:0;;;;;;;;;;;;;;;15232:1:::1;15216:6:::0;;15195:40:::1;::::0;-1:-1:-1;;;;;15216:6:0;;::::1;::::0;15195:40:::1;::::0;15232:1;;15195:40:::1;15263:1;15246:19:::0;;-1:-1:-1;;;;;;15246:19:0::1;::::0;;15125:148::o;16394:50::-;;;;:::o;14483:79::-;14521:7;14548:6;-1:-1:-1;;;;;14548:6:0;14483:79;:::o;16683:87::-;16755:7;16748:14;;;;;;;;-1:-1:-1;;16748:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16722:13;;16748:14;;16755:7;;16748:14;;16755:7;16748:14;;;;;;;;;;;;;;;;;;;;;;;;18220:269;18313:4;18330:129;18339:12;:10;:12::i;:::-;18353:7;18362:96;18401:15;18362:96;;;;;;;;;;;;;;;;;:11;:25;18374:12;:10;:12::i;:::-;-1:-1:-1;;;;;18362:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;18362:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;17178:167::-;17256:4;17273:42;17283:12;:10;:12::i;:::-;17297:9;17308:6;17273:9;:42::i;18497:110::-;-1:-1:-1;;;;;18579:20:0;18555:4;18579:20;;;:11;:20;;;;;;;;;18497:110::o;18720:162::-;14705:12;:10;:12::i;:::-;14695:6;;-1:-1:-1;;;;;14695:6:0;;;:22;;;14687:67;;;;;-1:-1:-1;;;14687:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14687:67:0;;;;;;;;;;;;;;;18814:60:::1;18858:5;18814:25;16157:21;18826:12:::0;18814:11:::1;:25::i;:::-;:29:::0;::::1;:60::i;:::-;18799:12;:75:::0;-1:-1:-1;18720:162:0:o;17353:143::-;-1:-1:-1;;;;;17461:18:0;;;17434:7;17461:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17353:143::o;19977:332::-;14705:12;:10;:12::i;:::-;14695:6;;-1:-1:-1;;;;;14695:6:0;;;:22;;;14687:67;;;;;-1:-1:-1;;;14687:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14687:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;20059:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;20058:21;20050:61;;;::::0;;-1:-1:-1;;;20050:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;20125:16:0;::::1;20144:1;20125:16:::0;;;:7:::1;:16;::::0;;;;;:20;20122:108:::1;;-1:-1:-1::0;;;;;20201:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;20181:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;20162:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;20122:108:::1;-1:-1:-1::0;;;;;20240:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;20240:27:0::1;20263:4;20240:27:::0;;::::1;::::0;;;20278:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;20278:23:0::1;::::0;;::::1;::::0;;19977:332::o;15428:244::-;14705:12;:10;:12::i;:::-;14695:6;;-1:-1:-1;;;;;14695:6:0;;;:22;;;14687:67;;;;;-1:-1:-1;;;14687:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14687:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;15517:22:0;::::1;15509:73;;;;-1:-1:-1::0;;;15509:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15619:6;::::0;;15598:38:::1;::::0;-1:-1:-1;;;;;15598:38:0;;::::1;::::0;15619:6;::::1;::::0;15598:38:::1;::::0;::::1;15647:6;:17:::0;;-1:-1:-1;;;;;;15647:17:0::1;-1:-1:-1::0;;;;;15647:17:0;;;::::1;::::0;;;::::1;::::0;;15428:244::o;20317:478::-;14705:12;:10;:12::i;:::-;14695:6;;-1:-1:-1;;;;;14695:6:0;;;:22;;;14687:67;;;;;-1:-1:-1;;;14687:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14687:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;20398:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;20390:60;;;::::0;;-1:-1:-1;;;20390:60:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;20466:9;20461:327;20485:9;:16:::0;20481:20;::::1;20461:327;;;20543:7;-1:-1:-1::0;;;;;20527:23:0::1;:9;20537:1;20527:12;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;20527:12:0::1;:23;20523:254;;;20586:9;20596:16:::0;;-1:-1:-1;;20596:20:0;;;20586:31;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;20571:9:::1;:12:::0;;-1:-1:-1;;;;;20586:31:0;;::::1;::::0;20581:1;;20571:12;::::1;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;20571:46:0::1;-1:-1:-1::0;;;;;20571:46:0;;::::1;;::::0;;20636:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;20675:11:::1;:20:::0;;;;:28;;-1:-1:-1;;20675:28:0::1;::::0;;20722:9:::1;:15:::0;;;::::1;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;20722:15:0;;;;;-1:-1:-1;;;;;;20722:15:0::1;::::0;;;;;20756:5:::1;;20523:254;20503:3;;20461:327;;;;20317:478:::0;:::o;176:106::-;264:10;176:106;:::o;24506:411::-;24565:7;24574;24583;24592;24601;24622:23;24647:12;24663:20;24675:7;24663:11;:20::i;:::-;24621:62;;;;24694:19;24717:10;:8;:10::i;:::-;24694:33;;24739:15;24756:23;24781:12;24797:39;24809:7;24818:4;24824:11;24797;:39::i;:::-;24738:98;;;;-1:-1:-1;24738:98:0;;-1:-1:-1;24887:15:0;;-1:-1:-1;24904:4:0;;-1:-1:-1;24506:411:0;;-1:-1:-1;;;;;;24506:411:0:o;3898:136::-;3956:7;3983:43;3987:1;3990;3983:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3976:50;3898:136;-1:-1:-1;;;3898:136:0:o;3434:181::-;3492:7;3524:5;;;3548:6;;;;3540:46;;;;;-1:-1:-1;;;3540:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20803:337;-1:-1:-1;;;;;20896:19:0;;20888:68;;;;-1:-1:-1;;;20888:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20975:21:0;;20967:68;;;;-1:-1:-1;;;20967:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21048:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;21100:32;;;;;;;;;;;;;;;;;20803:337;;;:::o;21148:1088::-;-1:-1:-1;;;;;21245:20:0;;21237:70;;;;-1:-1:-1;;;21237:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21326:23:0;;21318:71;;;;-1:-1:-1;;;21318:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21417:1;21408:6;:10;21400:64;;;;-1:-1:-1;;;21400:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21488:7;:5;:7::i;:::-;-1:-1:-1;;;;;21478:17:0;:6;-1:-1:-1;;;;;21478:17:0;;;:41;;;;;21512:7;:5;:7::i;:::-;-1:-1:-1;;;;;21499:20:0;:9;-1:-1:-1;;;;;21499:20:0;;;21478:41;21475:132;;;21550:12;;21540:6;:22;;21532:75;;;;-1:-1:-1;;;21532:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21636:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;21660:22:0;;;;;;:11;:22;;;;;;;;21659:23;21636:46;21632:597;;;21699:48;21721:6;21729:9;21740:6;21699:21;:48::i;:::-;21632:597;;;-1:-1:-1;;;;;21770:19:0;;;;;;:11;:19;;;;;;;;21769:20;:46;;;;-1:-1:-1;;;;;;21793:22:0;;;;;;:11;:22;;;;;;;;21769:46;21765:464;;;21832:46;21852:6;21860:9;21871:6;21832:19;:46::i;21765:464::-;-1:-1:-1;;;;;21901:19:0;;;;;;:11;:19;;;;;;;;21900:20;:47;;;;-1:-1:-1;;;;;;21925:22:0;;;;;;:11;:22;;;;;;;;21924:23;21900:47;21896:333;;;21964:44;21982:6;21990:9;22001:6;21964:17;:44::i;21896:333::-;-1:-1:-1;;;;;22030:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;22053:22:0;;;;;;:11;:22;;;;;;;;22030:45;22026:203;;;22092:48;22114:6;22122:9;22133:6;22092:21;:48::i;22026:203::-;22173:44;22191:6;22199:9;22210:6;22173:17;:44::i;:::-;21148:1088;;;:::o;4337:192::-;4423:7;4459:12;4451:6;;;;4443:29;;;;-1:-1:-1;;;4443:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4495:5:0;;;4337:192::o;25505:163::-;25546:7;25567:15;25584;25603:19;:17;:19::i;:::-;25566:56;;-1:-1:-1;25566:56:0;-1:-1:-1;25640:20:0;25566:56;;25640:11;:20::i;:::-;25633:27;;;;25505:163;:::o;5735:132::-;5793:7;5820:39;5824:1;5827;5820:39;;;;;;;;;;;;;;;;;:3;:39::i;4788:471::-;4846:7;5091:6;5087:47;;-1:-1:-1;5121:1:0;5114:8;;5087:47;5158:5;;;5162:1;5158;:5;:1;5182:5;;;;;:10;5174:56;;;;-1:-1:-1;;;5174:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24925:230;24985:7;;;25029:23;25050:1;25029:16;:7;25041:3;25029:11;:16::i;:::-;:20;;:23::i;:::-;25014:38;-1:-1:-1;25063:23:0;25089:17;:7;25014:38;25089:11;:17::i;:::-;25063:43;-1:-1:-1;25142:4:0;;-1:-1:-1;;24925:230:0;;;:::o;25163:334::-;25258:7;;;;25314:24;:7;25326:11;25314;:24::i;:::-;25296:42;-1:-1:-1;25349:12:0;25364:21;:4;25373:11;25364:8;:21::i;:::-;25349:36;-1:-1:-1;25396:23:0;25422:17;:7;25349:36;25422:11;:17::i;:::-;25458:7;;;;-1:-1:-1;25484:4:0;;-1:-1:-1;25163:334:0;;-1:-1:-1;;;;;25163:334:0:o;23241:509::-;23344:15;23361:23;23386:12;23400:23;23425:12;23441:19;23452:7;23441:10;:19::i;:::-;-1:-1:-1;;;;;23489:15:0;;;;;;:7;:15;;;;;;23343:117;;-1:-1:-1;23343:117:0;;-1:-1:-1;23343:117:0;;-1:-1:-1;23343:117:0;-1:-1:-1;23343:117:0;-1:-1:-1;23489:28:0;;23509:7;23489:19;:28::i;:::-;-1:-1:-1;;;;;23471:15:0;;;;;;:7;:15;;;;;;;;:46;;;;23546:7;:15;;;;:28;;23566:7;23546:19;:28::i;:::-;-1:-1:-1;;;;;23528:15:0;;;;;;;:7;:15;;;;;;:46;;;;23606:18;;;;;;;:39;;23629:15;23606:22;:39::i;:::-;-1:-1:-1;;;;;23585:18:0;;;;;;:7;:18;;;;;:60;23659:23;23671:4;23677;23659:11;:23::i;:::-;23715:9;-1:-1:-1;;;;;23698:44:0;23707:6;-1:-1:-1;;;;;23698:44:0;;23726:15;23698:44;;;;;;;;;;;;;;;;;;23241:509;;;;;;;;:::o;22704:529::-;22805:15;22822:23;22847:12;22861:23;22886:12;22902:19;22913:7;22902:10;:19::i;:::-;-1:-1:-1;;;;;22950:15:0;;;;;;:7;:15;;;;;;22804:117;;-1:-1:-1;22804:117:0;;-1:-1:-1;22804:117:0;;-1:-1:-1;22804:117:0;-1:-1:-1;22804:117:0;-1:-1:-1;22950:28:0;;22804:117;22950:19;:28::i;:::-;-1:-1:-1;;;;;22932:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;23010:18;;;;;:7;:18;;;;;:39;;23033:15;23010:22;:39::i;:::-;-1:-1:-1;;;;;22989:18:0;;;;;;:7;:18;;;;;;;;:60;;;;23081:7;:18;;;;:39;;23104:15;23081:22;:39::i;22244:452::-;22343:15;22360:23;22385:12;22399:23;22424:12;22440:19;22451:7;22440:10;:19::i;:::-;-1:-1:-1;;;;;22488:15:0;;;;;;:7;:15;;;;;;22342:117;;-1:-1:-1;22342:117:0;;-1:-1:-1;22342:117:0;;-1:-1:-1;22342:117:0;-1:-1:-1;22342:117:0;-1:-1:-1;22488:28:0;;22342:117;22488:19;:28::i;23758:585::-;23861:15;23878:23;23903:12;23917:23;23942:12;23958:19;23969:7;23958:10;:19::i;:::-;-1:-1:-1;;;;;24006:15:0;;;;;;:7;:15;;;;;;23860:117;;-1:-1:-1;23860:117:0;;-1:-1:-1;23860:117:0;;-1:-1:-1;23860:117:0;-1:-1:-1;23860:117:0;-1:-1:-1;24006:28:0;;24026:7;24006:19;:28::i;:::-;-1:-1:-1;;;;;23988:15:0;;;;;;:7;:15;;;;;;;;:46;;;;24063:7;:15;;;;:28;;24083:7;24063:19;:28::i;25676:561::-;25773:7;;25726;;;;16157:21;25726:7;25833:289;25857:9;:16;25853:20;;25833:289;;;25923:7;25899;:21;25907:9;25917:1;25907:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25907:12:0;25899:21;;;;;;;;;;;;;:31;;:66;;;25958:7;25934;:21;25942:9;25952:1;25942:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25942:12:0;25934:21;;;;;;;;;;;;;:31;25899:66;25895:97;;;25975:7;;16157:21;25967:25;;;;;;;;;25895:97;26017:34;26029:7;:21;26037:9;26047:1;26037:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;26037:12:0;26029:21;;;;;;;;;;;;;26017:7;;:11;:34::i;:::-;26007:44;;26076:34;26088:7;:21;26096:9;26106:1;26096:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;26096:12:0;26088:21;;;;;;;;;;;;;26076:7;;:11;:34::i;:::-;26066:44;-1:-1:-1;25875:3:0;;25833:289;;;-1:-1:-1;26146:7:0;;:20;;16157:21;26146:11;:20::i;:::-;26136:7;:30;26132:61;;;26176:7;;16157:21;26168:25;;;;;;;;26132:61;26212:7;;-1:-1:-1;26221:7:0;-1:-1:-1;25676:561:0;;;:::o;6363:278::-;6449:7;6484:12;6477:5;6469:28;;;;-1:-1:-1;;;6469:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6508:9;6524:1;6520;:5;;;;;;;6363:278;-1:-1:-1;;;;;6363:278:0:o;24351:147::-;24429:7;;:17;;24441:4;24429:11;:17::i;:::-;24419:7;:27;24470:10;;:20;;24485:4;24470:14;:20::i;:::-;24457:10;:33;-1:-1:-1;;24351:147:0:o
Swarm Source
ipfs://bc3d321538ba7d9405b6d346ab73d55adc1599f41f47ba5e51e543b2bb1d8b47
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.