Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 9 from a total of 9 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 12453090 | 1768 days ago | IN | 0 ETH | 0.00355946 | ||||
| Approve | 12452564 | 1768 days ago | IN | 0 ETH | 0.00317327 | ||||
| Approve | 12452523 | 1768 days ago | IN | 0 ETH | 0.00429927 | ||||
| Approve | 12452351 | 1768 days ago | IN | 0 ETH | 0.00162436 | ||||
| Approve | 12452350 | 1768 days ago | IN | 0 ETH | 0.00165099 | ||||
| Approve | 12452330 | 1768 days ago | IN | 0 ETH | 0.00335008 | ||||
| Approve | 12452232 | 1768 days ago | IN | 0 ETH | 0.00604877 | ||||
| Approve | 12452111 | 1768 days ago | IN | 0 ETH | 0.00237297 | ||||
| Transfer | 12452104 | 1768 days ago | IN | 0 ETH | 0.00486205 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
MuttleyInu
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2021-05-17
*/
// SPDX-License-Identifier: Unlicensed
/**
* Muttley Inu Token
*/
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.
*
* 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 MuttleyInu 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 = 1000000000 * 10**6 * 10**9;
uint256 private _rTotal = (MAX - (MAX % _tTotal));
uint256 private _tFeeTotal;
string private _name = 'Muttley Inu';
string private _symbol = 'MUTTLEY';
uint8 private _decimals = 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 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 (_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
Contract ABI
API[{"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":[{"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":[],"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
69085afffa6ff50bffffff1960065560c0604052600b60808190526a4d7574746c657920496e7560a81b60a09081526200003d916008919062000174565b50604080518082019091526007808252664d5554544c455960c81b60209092019182526200006e9160099162000174565b50600a805460ff191660091790553480156200008957600080fd5b5060006200009662000170565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060065460016000620000f162000170565b6001600160a01b031681526020810191909152604001600020556200011562000170565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69d3c21bcecceda10000006040518082815260200191505060405180910390a362000210565b3390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001b757805160ff1916838001178555620001e7565b82800160010185558215620001e7579182015b82811115620001e7578251825591602001919060010190620001ca565b50620001f5929150620001f9565b5090565b5b80821115620001f55760008155600101620001fa565b611a9a80620002206000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b8578063a9059cbb1161007c578063a9059cbb14610382578063cba0e996146103ae578063dd62ed3e146103d4578063f2cc0c1814610402578063f2fde38b14610428578063f84354f11461044e57610137565b806370a08231146102fc578063715018a6146103225780638da5cb5b1461032a57806395d89b411461034e578063a457c2d71461035657610137565b806323b872dd116100ff57806323b872dd1461023a5780632d83811914610270578063313ce5671461028d57806339509351146102ab5780634549b039146102d757610137565b8063053ab1821461013c57806306fdde031461015b578063095ea7b3146101d857806313114a9d1461021857806318160ddd14610232575b600080fd5b6101596004803603602081101561015257600080fd5b5035610474565b005b61016361054c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019d578181015183820152602001610185565b50505050905090810190601f1680156101ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610204600480360360408110156101ee57600080fd5b506001600160a01b0381351690602001356105e2565b604080519115158252519081900360200190f35b610220610600565b60408051918252519081900360200190f35b610220610606565b6102046004803603606081101561025057600080fd5b506001600160a01b03813581169160208101359091169060400135610614565b6102206004803603602081101561028657600080fd5b503561069b565b6102956106fd565b6040805160ff9092168252519081900360200190f35b610204600480360360408110156102c157600080fd5b506001600160a01b038135169060200135610706565b610220600480360360408110156102ed57600080fd5b50803590602001351515610754565b6102206004803603602081101561031257600080fd5b50356001600160a01b03166107ec565b61015961084e565b6103326108f0565b604080516001600160a01b039092168252519081900360200190f35b6101636108ff565b6102046004803603604081101561036c57600080fd5b506001600160a01b038135169060200135610960565b6102046004803603604081101561039857600080fd5b506001600160a01b0381351690602001356109c8565b610204600480360360208110156103c457600080fd5b50356001600160a01b03166109dc565b610220600480360360408110156103ea57600080fd5b506001600160a01b03813581169160200135166109fa565b6101596004803603602081101561041857600080fd5b50356001600160a01b0316610a25565b6101596004803603602081101561043e57600080fd5b50356001600160a01b0316610bab565b6101596004803603602081101561046457600080fd5b50356001600160a01b0316610ca3565b600061047e610e64565b6001600160a01b03811660009081526004602052604090205490915060ff16156104d95760405162461bcd60e51b815260040180806020018281038252602c815260200180611a14602c913960400191505060405180910390fd5b60006104e483610e68565b505050506001600160a01b03831660009081526001602052604090205490915061050e9082610eb4565b6001600160a01b0383166000908152600160205260409020556006546105349082610eb4565b6006556007546105449084610efd565b600755505050565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105d85780601f106105ad576101008083540402835291602001916105d8565b820191906000526020600020905b8154815290600101906020018083116105bb57829003601f168201915b5050505050905090565b60006105f66105ef610e64565b8484610f57565b5060015b92915050565b60075490565b69d3c21bcecceda100000090565b6000610621848484611043565b6106918461062d610e64565b61068c8560405180606001604052806028815260200161195a602891396001600160a01b038a1660009081526003602052604081209061066b610e64565b6001600160a01b031681526020810191909152604001600020549190611265565b610f57565b5060019392505050565b60006006548211156106de5760405162461bcd60e51b815260040180806020018281038252602a8152602001806118c7602a913960400191505060405180910390fd5b60006106e86112fc565b90506106f4838261131f565b9150505b919050565b600a5460ff1690565b60006105f6610713610e64565b8461068c8560036000610724610e64565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610efd565b600069d3c21bcecceda10000008311156107b5576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b816107d35760006107c584610e68565b509294506105fa9350505050565b60006107de84610e68565b509194506105fa9350505050565b6001600160a01b03811660009081526004602052604081205460ff161561082c57506001600160a01b0381166000908152600260205260409020546106f8565b6001600160a01b0382166000908152600160205260409020546105fa9061069b565b610856610e64565b6000546001600160a01b039081169116146108a6576040805162461bcd60e51b81526020600482018190526024820152600080516020611982833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105d85780601f106105ad576101008083540402835291602001916105d8565b60006105f661096d610e64565b8461068c85604051806060016040528060258152602001611a406025913960036000610997610e64565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611265565b60006105f66109d5610e64565b8484611043565b6001600160a01b031660009081526004602052604090205460ff1690565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b610a2d610e64565b6000546001600160a01b03908116911614610a7d576040805162461bcd60e51b81526020600482018190526024820152600080516020611982833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff1615610aeb576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526001602052604090205415610b45576001600160a01b038116600090815260016020526040902054610b2b9061069b565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600460205260408120805460ff191660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319169091179055565b610bb3610e64565b6000546001600160a01b03908116911614610c03576040805162461bcd60e51b81526020600482018190526024820152600080516020611982833981519152604482015290519081900360640190fd5b6001600160a01b038116610c485760405162461bcd60e51b81526004018080602001828103825260268152602001806118f16026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610cab610e64565b6000546001600160a01b03908116911614610cfb576040805162461bcd60e51b81526020600482018190526024820152600080516020611982833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff16610d68576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b60005b600554811015610e6057816001600160a01b031660058281548110610d8c57fe5b6000918252602090912001546001600160a01b03161415610e5857600580546000198101908110610db957fe5b600091825260209091200154600580546001600160a01b039092169183908110610ddf57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600490925220805460ff191690556005805480610e3157fe5b600082815260209020810160001990810180546001600160a01b0319169055019055610e60565b600101610d6b565b5050565b3390565b6000806000806000806000610e7c88611361565b915091506000610e8a6112fc565b90506000806000610e9c8c8686611394565b919e909d50909b509599509397509395505050505050565b6000610ef683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611265565b9392505050565b600082820183811015610ef6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038316610f9c5760405162461bcd60e51b81526004018080602001828103825260248152602001806119f06024913960400191505060405180910390fd5b6001600160a01b038216610fe15760405162461bcd60e51b81526004018080602001828103825260228152602001806119176022913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166110885760405162461bcd60e51b81526004018080602001828103825260258152602001806119cb6025913960400191505060405180910390fd5b6001600160a01b0382166110cd5760405162461bcd60e51b81526004018080602001828103825260238152602001806118a46023913960400191505060405180910390fd5b6000811161110c5760405162461bcd60e51b81526004018080602001828103825260298152602001806119a26029913960400191505060405180910390fd5b6001600160a01b03831660009081526004602052604090205460ff16801561114d57506001600160a01b03821660009081526004602052604090205460ff16155b156111625761115d8383836113d0565b611260565b6001600160a01b03831660009081526004602052604090205460ff161580156111a357506001600160a01b03821660009081526004602052604090205460ff165b156111b35761115d8383836114e7565b6001600160a01b03831660009081526004602052604090205460ff161580156111f557506001600160a01b03821660009081526004602052604090205460ff16155b156112055761115d83838361158d565b6001600160a01b03831660009081526004602052604090205460ff16801561124557506001600160a01b03821660009081526004602052604090205460ff165b156112555761115d8383836115ce565b61126083838361158d565b505050565b600081848411156112f45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156112b95781810151838201526020016112a1565b50505050905090810190601f1680156112e65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600080600061130961163e565b9092509050611318828261131f565b9250505090565b6000610ef683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117c1565b6000808061137b600261137586606461131f565b90611826565b905060006113898583610eb4565b935090915050915091565b60008080806113a38786611826565b905060006113b18787611826565b905060006113bf8383610eb4565b929992985090965090945050505050565b60008060008060006113e186610e68565b6001600160a01b038d16600090815260026020526040902054949950929750909550935091506114119087610eb4565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546114409086610eb4565b6001600160a01b03808a16600090815260016020526040808220939093559089168152205461146f9085610efd565b6001600160a01b038816600090815260016020526040902055611492838261187f565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060008060006114f886610e68565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506115289086610eb4565b6001600160a01b03808a16600090815260016020908152604080832094909455918a1681526002909152205461155e9083610efd565b6001600160a01b03881660009081526002602090815260408083209390935560019052205461146f9085610efd565b600080600080600061159e86610e68565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506114409086610eb4565b60008060008060006115df86610e68565b6001600160a01b038d166000908152600260205260409020549499509297509095509350915061160f9087610eb4565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546115289086610eb4565b600654600090819069d3c21bcecceda1000000825b60055481101561177f5782600160006005848154811061166f57fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806116d457508160026000600584815481106116ad57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156116f35760065469d3c21bcecceda1000000945094505050506117bd565b611733600160006005848154811061170757fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490610eb4565b9250611775600260006005848154811061174957fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390610eb4565b9150600101611653565b506006546117979069d3c21bcecceda100000061131f565b8210156117b75760065469d3c21bcecceda10000009350935050506117bd565b90925090505b9091565b600081836118105760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156112b95781810151838201526020016112a1565b50600083858161181c57fe5b0495945050505050565b600082611835575060006105fa565b8282028284828161184257fe5b0414610ef65760405162461bcd60e51b81526004018080602001828103825260218152602001806119396021913960400191505060405180910390fd5b60065461188c9083610eb4565b60065560075461189c9082610efd565b600755505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f77fafcafc0a7f51a659d07f4d7e6995e49764e50466a1bc79d9057bb84b394264736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b8578063a9059cbb1161007c578063a9059cbb14610382578063cba0e996146103ae578063dd62ed3e146103d4578063f2cc0c1814610402578063f2fde38b14610428578063f84354f11461044e57610137565b806370a08231146102fc578063715018a6146103225780638da5cb5b1461032a57806395d89b411461034e578063a457c2d71461035657610137565b806323b872dd116100ff57806323b872dd1461023a5780632d83811914610270578063313ce5671461028d57806339509351146102ab5780634549b039146102d757610137565b8063053ab1821461013c57806306fdde031461015b578063095ea7b3146101d857806313114a9d1461021857806318160ddd14610232575b600080fd5b6101596004803603602081101561015257600080fd5b5035610474565b005b61016361054c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019d578181015183820152602001610185565b50505050905090810190601f1680156101ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610204600480360360408110156101ee57600080fd5b506001600160a01b0381351690602001356105e2565b604080519115158252519081900360200190f35b610220610600565b60408051918252519081900360200190f35b610220610606565b6102046004803603606081101561025057600080fd5b506001600160a01b03813581169160208101359091169060400135610614565b6102206004803603602081101561028657600080fd5b503561069b565b6102956106fd565b6040805160ff9092168252519081900360200190f35b610204600480360360408110156102c157600080fd5b506001600160a01b038135169060200135610706565b610220600480360360408110156102ed57600080fd5b50803590602001351515610754565b6102206004803603602081101561031257600080fd5b50356001600160a01b03166107ec565b61015961084e565b6103326108f0565b604080516001600160a01b039092168252519081900360200190f35b6101636108ff565b6102046004803603604081101561036c57600080fd5b506001600160a01b038135169060200135610960565b6102046004803603604081101561039857600080fd5b506001600160a01b0381351690602001356109c8565b610204600480360360208110156103c457600080fd5b50356001600160a01b03166109dc565b610220600480360360408110156103ea57600080fd5b506001600160a01b03813581169160200135166109fa565b6101596004803603602081101561041857600080fd5b50356001600160a01b0316610a25565b6101596004803603602081101561043e57600080fd5b50356001600160a01b0316610bab565b6101596004803603602081101561046457600080fd5b50356001600160a01b0316610ca3565b600061047e610e64565b6001600160a01b03811660009081526004602052604090205490915060ff16156104d95760405162461bcd60e51b815260040180806020018281038252602c815260200180611a14602c913960400191505060405180910390fd5b60006104e483610e68565b505050506001600160a01b03831660009081526001602052604090205490915061050e9082610eb4565b6001600160a01b0383166000908152600160205260409020556006546105349082610eb4565b6006556007546105449084610efd565b600755505050565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105d85780601f106105ad576101008083540402835291602001916105d8565b820191906000526020600020905b8154815290600101906020018083116105bb57829003601f168201915b5050505050905090565b60006105f66105ef610e64565b8484610f57565b5060015b92915050565b60075490565b69d3c21bcecceda100000090565b6000610621848484611043565b6106918461062d610e64565b61068c8560405180606001604052806028815260200161195a602891396001600160a01b038a1660009081526003602052604081209061066b610e64565b6001600160a01b031681526020810191909152604001600020549190611265565b610f57565b5060019392505050565b60006006548211156106de5760405162461bcd60e51b815260040180806020018281038252602a8152602001806118c7602a913960400191505060405180910390fd5b60006106e86112fc565b90506106f4838261131f565b9150505b919050565b600a5460ff1690565b60006105f6610713610e64565b8461068c8560036000610724610e64565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610efd565b600069d3c21bcecceda10000008311156107b5576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b816107d35760006107c584610e68565b509294506105fa9350505050565b60006107de84610e68565b509194506105fa9350505050565b6001600160a01b03811660009081526004602052604081205460ff161561082c57506001600160a01b0381166000908152600260205260409020546106f8565b6001600160a01b0382166000908152600160205260409020546105fa9061069b565b610856610e64565b6000546001600160a01b039081169116146108a6576040805162461bcd60e51b81526020600482018190526024820152600080516020611982833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105d85780601f106105ad576101008083540402835291602001916105d8565b60006105f661096d610e64565b8461068c85604051806060016040528060258152602001611a406025913960036000610997610e64565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611265565b60006105f66109d5610e64565b8484611043565b6001600160a01b031660009081526004602052604090205460ff1690565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b610a2d610e64565b6000546001600160a01b03908116911614610a7d576040805162461bcd60e51b81526020600482018190526024820152600080516020611982833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff1615610aeb576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526001602052604090205415610b45576001600160a01b038116600090815260016020526040902054610b2b9061069b565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600460205260408120805460ff191660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319169091179055565b610bb3610e64565b6000546001600160a01b03908116911614610c03576040805162461bcd60e51b81526020600482018190526024820152600080516020611982833981519152604482015290519081900360640190fd5b6001600160a01b038116610c485760405162461bcd60e51b81526004018080602001828103825260268152602001806118f16026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610cab610e64565b6000546001600160a01b03908116911614610cfb576040805162461bcd60e51b81526020600482018190526024820152600080516020611982833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff16610d68576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b60005b600554811015610e6057816001600160a01b031660058281548110610d8c57fe5b6000918252602090912001546001600160a01b03161415610e5857600580546000198101908110610db957fe5b600091825260209091200154600580546001600160a01b039092169183908110610ddf57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600490925220805460ff191690556005805480610e3157fe5b600082815260209020810160001990810180546001600160a01b0319169055019055610e60565b600101610d6b565b5050565b3390565b6000806000806000806000610e7c88611361565b915091506000610e8a6112fc565b90506000806000610e9c8c8686611394565b919e909d50909b509599509397509395505050505050565b6000610ef683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611265565b9392505050565b600082820183811015610ef6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038316610f9c5760405162461bcd60e51b81526004018080602001828103825260248152602001806119f06024913960400191505060405180910390fd5b6001600160a01b038216610fe15760405162461bcd60e51b81526004018080602001828103825260228152602001806119176022913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166110885760405162461bcd60e51b81526004018080602001828103825260258152602001806119cb6025913960400191505060405180910390fd5b6001600160a01b0382166110cd5760405162461bcd60e51b81526004018080602001828103825260238152602001806118a46023913960400191505060405180910390fd5b6000811161110c5760405162461bcd60e51b81526004018080602001828103825260298152602001806119a26029913960400191505060405180910390fd5b6001600160a01b03831660009081526004602052604090205460ff16801561114d57506001600160a01b03821660009081526004602052604090205460ff16155b156111625761115d8383836113d0565b611260565b6001600160a01b03831660009081526004602052604090205460ff161580156111a357506001600160a01b03821660009081526004602052604090205460ff165b156111b35761115d8383836114e7565b6001600160a01b03831660009081526004602052604090205460ff161580156111f557506001600160a01b03821660009081526004602052604090205460ff16155b156112055761115d83838361158d565b6001600160a01b03831660009081526004602052604090205460ff16801561124557506001600160a01b03821660009081526004602052604090205460ff165b156112555761115d8383836115ce565b61126083838361158d565b505050565b600081848411156112f45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156112b95781810151838201526020016112a1565b50505050905090810190601f1680156112e65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600080600061130961163e565b9092509050611318828261131f565b9250505090565b6000610ef683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117c1565b6000808061137b600261137586606461131f565b90611826565b905060006113898583610eb4565b935090915050915091565b60008080806113a38786611826565b905060006113b18787611826565b905060006113bf8383610eb4565b929992985090965090945050505050565b60008060008060006113e186610e68565b6001600160a01b038d16600090815260026020526040902054949950929750909550935091506114119087610eb4565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546114409086610eb4565b6001600160a01b03808a16600090815260016020526040808220939093559089168152205461146f9085610efd565b6001600160a01b038816600090815260016020526040902055611492838261187f565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060008060006114f886610e68565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506115289086610eb4565b6001600160a01b03808a16600090815260016020908152604080832094909455918a1681526002909152205461155e9083610efd565b6001600160a01b03881660009081526002602090815260408083209390935560019052205461146f9085610efd565b600080600080600061159e86610e68565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506114409086610eb4565b60008060008060006115df86610e68565b6001600160a01b038d166000908152600260205260409020549499509297509095509350915061160f9087610eb4565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546115289086610eb4565b600654600090819069d3c21bcecceda1000000825b60055481101561177f5782600160006005848154811061166f57fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806116d457508160026000600584815481106116ad57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156116f35760065469d3c21bcecceda1000000945094505050506117bd565b611733600160006005848154811061170757fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490610eb4565b9250611775600260006005848154811061174957fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390610eb4565b9150600101611653565b506006546117979069d3c21bcecceda100000061131f565b8210156117b75760065469d3c21bcecceda10000009350935050506117bd565b90925090505b9091565b600081836118105760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156112b95781810151838201526020016112a1565b50600083858161181c57fe5b0495945050505050565b600082611835575060006105fa565b8282028284828161184257fe5b0414610ef65760405162461bcd60e51b81526004018080602001828103825260218152602001806119396021913960400191505060405180910390fd5b60065461188c9083610eb4565b60065560075461189c9082610efd565b600755505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f77fafcafc0a7f51a659d07f4d7e6995e49764e50466a1bc79d9057bb84b394264736f6c634300060c0033
Deployed Bytecode Sourcemap
15640:10171:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18618:376;;;;;;;;;;;;;;;;-1:-1:-1;18618:376:0;;:::i;:::-;;16500:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17412:161;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17412:161:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;18523:87;;;:::i;:::-;;;;;;;;;;;;;;;;16777:95;;;:::i;17581:313::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17581:313:0;;;;;;;;;;;;;;;;;:::i;19444:253::-;;;;;;;;;;;;;;;;-1:-1:-1;19444:253:0;;:::i;16686:83::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17902:218;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17902:218:0;;;;;;;;:::i;19002:434::-;;;;;;;;;;;;;;;;-1:-1:-1;19002:434:0;;;;;;;;;:::i;16880:198::-;;;;;;;;;;;;;;;;-1:-1:-1;16880:198:0;-1:-1:-1;;;;;16880:198:0;;:::i;15082:148::-;;;:::i;14440:79::-;;;:::i;:::-;;;;-1:-1:-1;;;;;14440:79:0;;;;;;;;;;;;;;16591:87;;;:::i;18128:269::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18128:269:0;;;;;;;;:::i;17086:167::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17086:167:0;;;;;;;;:::i;18405:110::-;;;;;;;;;;;;;;;;-1:-1:-1;18405:110:0;-1:-1:-1;;;;;18405:110:0;;:::i;17261:143::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17261:143:0;;;;;;;;;;:::i;19705:332::-;;;;;;;;;;;;;;;;-1:-1:-1;19705:332:0;-1:-1:-1;;;;;19705:332:0;;:::i;15385:244::-;;;;;;;;;;;;;;;;-1:-1:-1;15385:244:0;-1:-1:-1;;;;;15385:244:0;;:::i;20045:478::-;;;;;;;;;;;;;;;;-1:-1:-1;20045:478:0;-1:-1:-1;;;;;20045:478:0;;:::i;18618:376::-;18670:14;18687:12;:10;:12::i;:::-;-1:-1:-1;;;;;18719:19:0;;;;;;:11;:19;;;;;;18670:29;;-1:-1:-1;18719:19:0;;18718:20;18710:77;;;;-1:-1:-1;;;18710:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18799:15;18822:19;18833:7;18822:10;:19::i;:::-;-1:-1:-1;;;;;;;;;18870:15:0;;;;;;:7;:15;;;;;;18798:43;;-1:-1:-1;18870:28:0;;18798:43;18870:19;:28::i;:::-;-1:-1:-1;;;;;18852:15:0;;;;;;:7;:15;;;;;:46;18919:7;;:20;;18931:7;18919:11;:20::i;:::-;18909:7;:30;18963:10;;:23;;18978:7;18963:14;:23::i;:::-;18950:10;:36;-1:-1:-1;;;18618:376:0:o;16500:83::-;16570:5;16563:12;;;;;;;;-1:-1:-1;;16563:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16537:13;;16563:12;;16570:5;;16563:12;;16570:5;16563:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16500:83;:::o;17412:161::-;17487:4;17504:39;17513:12;:10;:12::i;:::-;17527:7;17536:6;17504:8;:39::i;:::-;-1:-1:-1;17561:4:0;17412:161;;;;;:::o;18523:87::-;18592:10;;18523:87;:::o;16777:95::-;16117:26;16777:95;:::o;17581:313::-;17679:4;17696:36;17706:6;17714:9;17725:6;17696:9;:36::i;:::-;17743:121;17752:6;17760:12;:10;:12::i;:::-;17774:89;17812:6;17774:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17774:19:0;;;;;;:11;:19;;;;;;17794:12;:10;:12::i;:::-;-1:-1:-1;;;;;17774:33:0;;;;;;;;;;;;-1:-1:-1;17774:33:0;;;:89;:37;:89::i;:::-;17743:8;:121::i;:::-;-1:-1:-1;17882:4:0;17581:313;;;;;:::o;19444:253::-;19510:7;19549;;19538;:18;;19530:73;;;;-1:-1:-1;;;19530:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19614:19;19637:10;:8;:10::i;:::-;19614:33;-1:-1:-1;19665:24:0;:7;19614:33;19665:11;:24::i;:::-;19658:31;;;19444:253;;;;:::o;16686:83::-;16752:9;;;;16686:83;:::o;17902:218::-;17990:4;18007:83;18016:12;:10;:12::i;:::-;18030:7;18039:50;18078:10;18039:11;:25;18051:12;:10;:12::i;:::-;-1:-1:-1;;;;;18039:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;18039:25:0;;;:34;;;;;;;;;;;:38;:50::i;19002:434::-;19092:7;16117:26;19120:7;:18;;19112:62;;;;;-1:-1:-1;;;19112:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19190:17;19185:244;;19225:15;19248:19;19259:7;19248:10;:19::i;:::-;-1:-1:-1;19224:43:0;;-1:-1:-1;19282:14:0;;-1:-1:-1;;;;19282:14:0;19185:244;19331:23;19361:19;19372:7;19361:10;:19::i;:::-;-1:-1:-1;19329:51:0;;-1:-1:-1;19395:22:0;;-1:-1:-1;;;;19395:22:0;16880:198;-1:-1:-1;;;;;16970:20:0;;16946:7;16970:20;;;:11;:20;;;;;;;;16966:49;;;-1:-1:-1;;;;;;16999:16:0;;;;;;:7;:16;;;;;;16992:23;;16966:49;-1:-1:-1;;;;;17053:16:0;;;;;;:7;:16;;;;;;17033:37;;:19;:37::i;15082:148::-;14662:12;:10;:12::i;:::-;14652:6;;-1:-1:-1;;;;;14652:6:0;;;:22;;;14644:67;;;;;-1:-1:-1;;;14644:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14644:67:0;;;;;;;;;;;;;;;15189:1:::1;15173:6:::0;;15152:40:::1;::::0;-1:-1:-1;;;;;15173:6:0;;::::1;::::0;15152:40:::1;::::0;15189:1;;15152:40:::1;15220:1;15203:19:::0;;-1:-1:-1;;;;;;15203:19:0::1;::::0;;15082:148::o;14440:79::-;14478:7;14505:6;-1:-1:-1;;;;;14505:6:0;14440:79;:::o;16591:87::-;16663:7;16656:14;;;;;;;;-1:-1:-1;;16656:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16630:13;;16656:14;;16663:7;;16656:14;;16663:7;16656:14;;;;;;;;;;;;;;;;;;;;;;;;18128:269;18221:4;18238:129;18247:12;:10;:12::i;:::-;18261:7;18270:96;18309:15;18270:96;;;;;;;;;;;;;;;;;:11;:25;18282:12;:10;:12::i;:::-;-1:-1:-1;;;;;18270:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;18270:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;17086:167::-;17164:4;17181:42;17191:12;:10;:12::i;:::-;17205:9;17216:6;17181:9;:42::i;18405:110::-;-1:-1:-1;;;;;18487:20:0;18463:4;18487:20;;;:11;:20;;;;;;;;;18405:110::o;17261:143::-;-1:-1:-1;;;;;17369:18:0;;;17342:7;17369:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17261:143::o;19705:332::-;14662:12;:10;:12::i;:::-;14652:6;;-1:-1:-1;;;;;14652:6:0;;;:22;;;14644:67;;;;;-1:-1:-1;;;14644:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14644:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;19787:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;19786:21;19778:61;;;::::0;;-1:-1:-1;;;19778:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;19853:16:0;::::1;19872:1;19853:16:::0;;;:7:::1;:16;::::0;;;;;:20;19850:108:::1;;-1:-1:-1::0;;;;;19929:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;19909:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;19890:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;19850:108:::1;-1:-1:-1::0;;;;;19968:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;19968:27:0::1;19991:4;19968:27:::0;;::::1;::::0;;;20006:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;20006:23:0::1;::::0;;::::1;::::0;;19705:332::o;15385:244::-;14662:12;:10;:12::i;:::-;14652:6;;-1:-1:-1;;;;;14652:6:0;;;:22;;;14644:67;;;;;-1:-1:-1;;;14644:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14644:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;15474:22:0;::::1;15466:73;;;;-1:-1:-1::0;;;15466:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15576:6;::::0;;15555:38:::1;::::0;-1:-1:-1;;;;;15555:38:0;;::::1;::::0;15576:6;::::1;::::0;15555:38:::1;::::0;::::1;15604:6;:17:::0;;-1:-1:-1;;;;;;15604:17:0::1;-1:-1:-1::0;;;;;15604:17:0;;;::::1;::::0;;;::::1;::::0;;15385:244::o;20045:478::-;14662:12;:10;:12::i;:::-;14652:6;;-1:-1:-1;;;;;14652:6:0;;;:22;;;14644:67;;;;;-1:-1:-1;;;14644:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14644:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;20126:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;20118:60;;;::::0;;-1:-1:-1;;;20118:60:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;20194:9;20189:327;20213:9;:16:::0;20209:20;::::1;20189:327;;;20271:7;-1:-1:-1::0;;;;;20255:23:0::1;:9;20265:1;20255:12;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;20255:12:0::1;:23;20251:254;;;20314:9;20324:16:::0;;-1:-1:-1;;20324:20:0;;;20314:31;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;20299:9:::1;:12:::0;;-1:-1:-1;;;;;20314:31:0;;::::1;::::0;20309:1;;20299:12;::::1;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;20299:46:0::1;-1:-1:-1::0;;;;;20299:46:0;;::::1;;::::0;;20364:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;20403:11:::1;:20:::0;;;;:28;;-1:-1:-1;;20403:28:0::1;::::0;;20450:9:::1;:15:::0;;;::::1;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;20450:15:0;;;;;-1:-1:-1;;;;;;20450:15:0::1;::::0;;;;;20484:5:::1;;20251:254;20231:3;;20189:327;;;;20045:478:::0;:::o;135:106::-;223:10;135:106;:::o;24077:411::-;24136:7;24145;24154;24163;24172;24193:23;24218:12;24234:20;24246:7;24234:11;:20::i;:::-;24192:62;;;;24265:19;24288:10;:8;:10::i;:::-;24265:33;;24310:15;24327:23;24352:12;24368:39;24380:7;24389:4;24395:11;24368;:39::i;:::-;24309:98;;;;-1:-1:-1;24309:98:0;;-1:-1:-1;24458:15:0;;-1:-1:-1;24475:4:0;;-1:-1:-1;24077:411:0;;-1:-1:-1;;;;;;24077:411:0:o;3855:136::-;3913:7;3940:43;3944:1;3947;3940:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3933:50;3855:136;-1:-1:-1;;;3855:136:0:o;3391:181::-;3449:7;3481:5;;;3505:6;;;;3497:46;;;;;-1:-1:-1;;;3497:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20531:337;-1:-1:-1;;;;;20624:19:0;;20616:68;;;;-1:-1:-1;;;20616:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20703:21:0;;20695:68;;;;-1:-1:-1;;;20695:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20776:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;20828:32;;;;;;;;;;;;;;;;;20531:337;;;:::o;20876:931::-;-1:-1:-1;;;;;20973:20:0;;20965:70;;;;-1:-1:-1;;;20965:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21054:23:0;;21046:71;;;;-1:-1:-1;;;21046:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21145:1;21136:6;:10;21128:64;;;;-1:-1:-1;;;21128:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21207:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;21231:22:0;;;;;;:11;:22;;;;;;;;21230:23;21207:46;21203:597;;;21270:48;21292:6;21300:9;21311:6;21270:21;:48::i;:::-;21203:597;;;-1:-1:-1;;;;;21341:19:0;;;;;;:11;:19;;;;;;;;21340:20;:46;;;;-1:-1:-1;;;;;;21364:22:0;;;;;;:11;:22;;;;;;;;21340:46;21336:464;;;21403:46;21423:6;21431:9;21442:6;21403:19;:46::i;21336:464::-;-1:-1:-1;;;;;21472:19:0;;;;;;:11;:19;;;;;;;;21471:20;:47;;;;-1:-1:-1;;;;;;21496:22:0;;;;;;:11;:22;;;;;;;;21495:23;21471:47;21467:333;;;21535:44;21553:6;21561:9;21572:6;21535:17;:44::i;21467:333::-;-1:-1:-1;;;;;21601:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;21624:22:0;;;;;;:11;:22;;;;;;;;21601:45;21597:203;;;21663:48;21685:6;21693:9;21704:6;21663:21;:48::i;21597:203::-;21744:44;21762:6;21770:9;21781:6;21744:17;:44::i;:::-;20876:931;;;:::o;4294:192::-;4380:7;4416:12;4408:6;;;;4400:29;;;;-1:-1:-1;;;4400:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4452:5:0;;;4294:192::o;25076:163::-;25117:7;25138:15;25155;25174:19;:17;:19::i;:::-;25137:56;;-1:-1:-1;25137:56:0;-1:-1:-1;25211:20:0;25137:56;;25211:11;:20::i;:::-;25204:27;;;;25076:163;:::o;5692:132::-;5750:7;5777:39;5781:1;5784;5777:39;;;;;;;;;;;;;;;;;:3;:39::i;24496:230::-;24556:7;;;24600:23;24621:1;24600:16;:7;24612:3;24600:11;:16::i;:::-;:20;;:23::i;:::-;24585:38;-1:-1:-1;24634:23:0;24660:17;:7;24585:38;24660:11;:17::i;:::-;24634:43;-1:-1:-1;24713:4:0;;-1:-1:-1;;24496:230:0;;;:::o;24734:334::-;24829:7;;;;24885:24;:7;24897:11;24885;:24::i;:::-;24867:42;-1:-1:-1;24920:12:0;24935:21;:4;24944:11;24935:8;:21::i;:::-;24920:36;-1:-1:-1;24967:23:0;24993:17;:7;24920:36;24993:11;:17::i;:::-;25029:7;;;;-1:-1:-1;25055:4:0;;-1:-1:-1;24734:334:0;;-1:-1:-1;;;;;24734:334:0:o;22812:509::-;22915:15;22932:23;22957:12;22971:23;22996:12;23012:19;23023:7;23012:10;:19::i;:::-;-1:-1:-1;;;;;23060:15:0;;;;;;:7;:15;;;;;;22914:117;;-1:-1:-1;22914:117:0;;-1:-1:-1;22914:117:0;;-1:-1:-1;22914:117:0;-1:-1:-1;22914:117:0;-1:-1:-1;23060:28:0;;23080:7;23060:19;:28::i;:::-;-1:-1:-1;;;;;23042:15:0;;;;;;:7;:15;;;;;;;;:46;;;;23117:7;:15;;;;:28;;23137:7;23117:19;:28::i;:::-;-1:-1:-1;;;;;23099:15:0;;;;;;;:7;:15;;;;;;:46;;;;23177:18;;;;;;;:39;;23200:15;23177:22;:39::i;:::-;-1:-1:-1;;;;;23156:18:0;;;;;;:7;:18;;;;;:60;23230:23;23242:4;23248;23230:11;:23::i;:::-;23286:9;-1:-1:-1;;;;;23269:44:0;23278:6;-1:-1:-1;;;;;23269:44:0;;23297:15;23269:44;;;;;;;;;;;;;;;;;;22812:509;;;;;;;;:::o;22275:529::-;22376:15;22393:23;22418:12;22432:23;22457:12;22473:19;22484:7;22473:10;:19::i;:::-;-1:-1:-1;;;;;22521:15:0;;;;;;:7;:15;;;;;;22375:117;;-1:-1:-1;22375:117:0;;-1:-1:-1;22375:117:0;;-1:-1:-1;22375:117:0;-1:-1:-1;22375:117:0;-1:-1:-1;22521:28:0;;22375:117;22521:19;:28::i;:::-;-1:-1:-1;;;;;22503:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;22581:18;;;;;:7;:18;;;;;:39;;22604:15;22581:22;:39::i;:::-;-1:-1:-1;;;;;22560:18:0;;;;;;:7;:18;;;;;;;;:60;;;;22652:7;:18;;;;:39;;22675:15;22652:22;:39::i;21815:452::-;21914:15;21931:23;21956:12;21970:23;21995:12;22011:19;22022:7;22011:10;:19::i;:::-;-1:-1:-1;;;;;22059:15:0;;;;;;:7;:15;;;;;;21913:117;;-1:-1:-1;21913:117:0;;-1:-1:-1;21913:117:0;;-1:-1:-1;21913:117:0;-1:-1:-1;21913:117:0;-1:-1:-1;22059:28:0;;21913:117;22059:19;:28::i;23329:585::-;23432:15;23449:23;23474:12;23488:23;23513:12;23529:19;23540:7;23529:10;:19::i;:::-;-1:-1:-1;;;;;23577:15:0;;;;;;:7;:15;;;;;;23431:117;;-1:-1:-1;23431:117:0;;-1:-1:-1;23431:117:0;;-1:-1:-1;23431:117:0;-1:-1:-1;23431:117:0;-1:-1:-1;23577:28:0;;23597:7;23577:19;:28::i;:::-;-1:-1:-1;;;;;23559:15:0;;;;;;:7;:15;;;;;;;;:46;;;;23634:7;:15;;;;:28;;23654:7;23634:19;:28::i;25247:561::-;25344:7;;25297;;;;16117:26;25297:7;25404:289;25428:9;:16;25424:20;;25404:289;;;25494:7;25470;:21;25478:9;25488:1;25478:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25478:12:0;25470:21;;;;;;;;;;;;;:31;;:66;;;25529:7;25505;:21;25513:9;25523:1;25513:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25513:12:0;25505:21;;;;;;;;;;;;;:31;25470:66;25466:97;;;25546:7;;16117:26;25538:25;;;;;;;;;25466:97;25588:34;25600:7;:21;25608:9;25618:1;25608:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25608:12:0;25600:21;;;;;;;;;;;;;25588:7;;:11;:34::i;:::-;25578:44;;25647:34;25659:7;:21;25667:9;25677:1;25667:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25667:12:0;25659:21;;;;;;;;;;;;;25647:7;;:11;:34::i;:::-;25637:44;-1:-1:-1;25446:3:0;;25404:289;;;-1:-1:-1;25717:7:0;;:20;;16117:26;25717:11;:20::i;:::-;25707:7;:30;25703:61;;;25747:7;;16117:26;25739:25;;;;;;;;25703:61;25783:7;;-1:-1:-1;25792:7:0;-1:-1:-1;25247:561:0;;;:::o;6320:278::-;6406:7;6441:12;6434:5;6426:28;;;;-1:-1:-1;;;6426:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6465:9;6481:1;6477;:5;;;;;;;6320:278;-1:-1:-1;;;;;6320:278:0:o;4745:471::-;4803:7;5048:6;5044:47;;-1:-1:-1;5078:1:0;5071:8;;5044:47;5115:5;;;5119:1;5115;:5;:1;5139:5;;;;;:10;5131:56;;;;-1:-1:-1;;;5131:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23922:147;24000:7;;:17;;24012:4;24000:11;:17::i;:::-;23990:7;:27;24041:10;;:20;;24056:4;24041:14;:20::i;:::-;24028:10;:33;-1:-1:-1;;23922:147:0:o
Swarm Source
ipfs://f77fafcafc0a7f51a659d07f4d7e6995e49764e50466a1bc79d9057bb84b3942
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.