ETH Price: $3,781.99 (+5.62%)

Token

ERC-20: Dat Boi (BOI)
 

Overview

Max Total Supply

888,888,888,888,888 BOI

Holders

114

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
329,775,069,810.326282202659650208 BOI

Value
$0.00
0x0df61a67b03767a60bfa537b1d43c313a226cd70
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
DatBoiToken

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 888 runs

Other Settings:
byzantium EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-02
*/

// https://en.wikipedia.org/wiki/Toad_worship

// Sources flattened with hardhat v2.7.0 https://hardhat.org

// File @openzeppelin/contracts/utils/[email protected]

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.0 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
 function _msgSender() internal view virtual returns (address) {
 return msg.sender;
 }

 function _msgData() internal view virtual returns (bytes calldata) {
 return msg.data;
 }
}


// File @openzeppelin/contracts/access/[email protected]


// OpenZeppelin Contracts v4.4.0 (access/Ownable.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract 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() {
 _transferOwnership(_msgSender());
 }

 /**
 * @dev Returns the address of the current owner.
 */
 function owner() public view virtual 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 {
 _transferOwnership(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");
 _transferOwnership(newOwner);
 }

 /**
 * @dev Transfers ownership of the contract to a new account (`newOwner`).
 * Internal function without access restriction.
 */
 function _transferOwnership(address newOwner) internal virtual {
 address oldOwner = _owner;
 _owner = newOwner;
 emit OwnershipTransferred(oldOwner, newOwner);
 }
}


// File @openzeppelin/contracts/token/ERC20/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
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);
}


// File @openzeppelin/contracts/token/ERC20/extensions/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
 /**
 * @dev Returns the name of the token.
 */
 function name() external view returns (string memory);

 /**
 * @dev Returns the symbol of the token.
 */
 function symbol() external view returns (string memory);

 /**
 * @dev Returns the decimals places of the token.
 */
 function decimals() external view returns (uint8);
}


// File @openzeppelin/contracts/token/ERC20/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/ERC20.sol)

pragma solidity ^0.8.0;



/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
 mapping(address => uint256) private _balances;

 mapping(address => mapping(address => uint256)) private _allowances;

 uint256 private _totalSupply;

 string private _name;
 string private _symbol;

 /**
 * @dev Sets the values for {name} and {symbol}.
 *
 * The default value of {decimals} is 18. To select a different value for
 * {decimals} you should overload it.
 *
 * All two of these values are immutable: they can only be set once during
 * construction.
 */
 constructor(string memory name_, string memory symbol_) {
 _name = name_;
 _symbol = symbol_;
 }

 /**
 * @dev Returns the name of the token.
 */
 function name() public view virtual override returns (string memory) {
 return _name;
 }

 /**
 * @dev Returns the symbol of the token, usually a shorter version of the
 * name.
 */
 function symbol() public view virtual override returns (string memory) {
 return _symbol;
 }

 /**
 * @dev Returns the number of decimals used to get its user representation.
 * For example, if `decimals` equals `2`, a balance of `505` tokens should
 * be displayed to a user as `5.05` (`505 / 10 ** 2`).
 *
 * Tokens usually opt for a value of 18, imitating the relationship between
 * Ether and Wei. This is the value {ERC20} uses, unless this function is
 * overridden;
 *
 * NOTE: This information is only used for _display_ purposes: it in
 * no way affects any of the arithmetic of the contract, including
 * {IERC20-balanceOf} and {IERC20-transfer}.
 */
 function decimals() public view virtual override returns (uint8) {
 return 18;
 }

 /**
 * @dev See {IERC20-totalSupply}.
 */
 function totalSupply() public view virtual override returns (uint256) {
 return _totalSupply;
 }

 /**
 * @dev See {IERC20-balanceOf}.
 */
 function balanceOf(address account) public view virtual override returns (uint256) {
 return _balances[account];
 }

 /**
 * @dev See {IERC20-transfer}.
 *
 * Requirements:
 *
 * - `recipient` cannot be the zero address.
 * - the caller must have a balance of at least `amount`.
 */
 function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
 _transfer(_msgSender(), recipient, amount);
 return true;
 }

 /**
 * @dev See {IERC20-allowance}.
 */
 function allowance(address owner, address spender) public view virtual override returns (uint256) {
 return _allowances[owner][spender];
 }

 /**
 * @dev See {IERC20-approve}.
 *
 * Requirements:
 *
 * - `spender` cannot be the zero address.
 */
 function approve(address spender, uint256 amount) public virtual override returns (bool) {
 _approve(_msgSender(), spender, amount);
 return true;
 }

 /**
 * @dev See {IERC20-transferFrom}.
 *
 * Emits an {Approval} event indicating the updated allowance. This is not
 * required by the EIP. See the note at the beginning of {ERC20}.
 *
 * Requirements:
 *
 * - `sender` and `recipient` cannot be the zero address.
 * - `sender` must have a balance of at least `amount`.
 * - the caller must have allowance for ``sender``'s tokens of at least
 * `amount`.
 */
 function transferFrom(
 address sender,
 address recipient,
 uint256 amount
 ) public virtual override returns (bool) {
 _transfer(sender, recipient, amount);

 uint256 currentAllowance = _allowances[sender][_msgSender()];
 require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
 unchecked {
 _approve(sender, _msgSender(), currentAllowance - amount);
 }

 return true;
 }

 /**
 * @dev Atomically increases the allowance granted to `spender` by the caller.
 *
 * This is an alternative to {approve} that can be used as a mitigation for
 * problems described in {IERC20-approve}.
 *
 * Emits an {Approval} event indicating the updated allowance.
 *
 * Requirements:
 *
 * - `spender` cannot be the zero address.
 */
 function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
 _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
 return true;
 }

 /**
 * @dev Atomically decreases the allowance granted to `spender` by the caller.
 *
 * This is an alternative to {approve} that can be used as a mitigation for
 * problems described in {IERC20-approve}.
 *
 * Emits an {Approval} event indicating the updated allowance.
 *
 * Requirements:
 *
 * - `spender` cannot be the zero address.
 * - `spender` must have allowance for the caller of at least
 * `subtractedValue`.
 */
 function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
 uint256 currentAllowance = _allowances[_msgSender()][spender];
 require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
 unchecked {
 _approve(_msgSender(), spender, currentAllowance - subtractedValue);
 }

 return true;
 }

 /**
 * @dev Moves `amount` of tokens from `sender` to `recipient`.
 *
 * This internal function is equivalent to {transfer}, and can be used to
 * e.g. implement automatic token fees, slashing mechanisms, etc.
 *
 * Emits a {Transfer} event.
 *
 * Requirements:
 *
 * - `sender` cannot be the zero address.
 * - `recipient` cannot be the zero address.
 * - `sender` must have a balance of at least `amount`.
 */
 function _transfer(
 address sender,
 address recipient,
 uint256 amount
 ) internal virtual {
 require(sender != address(0), "ERC20: transfer from the zero address");
 require(recipient != address(0), "ERC20: transfer to the zero address");

 _beforeTokenTransfer(sender, recipient, amount);

 uint256 senderBalance = _balances[sender];
 require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
 unchecked {
 _balances[sender] = senderBalance - amount;
 }
 _balances[recipient] += amount;

 emit Transfer(sender, recipient, amount);

 _afterTokenTransfer(sender, recipient, amount);
 }

 /** @dev Creates `amount` tokens and assigns them to `account`, increasing
 * the total supply.
 *
 * Emits a {Transfer} event with `from` set to the zero address.
 *
 * Requirements:
 *
 * - `account` cannot be the zero address.
 */
 function _mint(address account, uint256 amount) internal virtual {
 require(account != address(0), "ERC20: mint to the zero address");

 _beforeTokenTransfer(address(0), account, amount);

 _totalSupply += amount;
 _balances[account] += amount;
 emit Transfer(address(0), account, amount);

 _afterTokenTransfer(address(0), account, amount);
 }

 /**
 * @dev Destroys `amount` tokens from `account`, reducing the
 * total supply.
 *
 * Emits a {Transfer} event with `to` set to the zero address.
 *
 * Requirements:
 *
 * - `account` cannot be the zero address.
 * - `account` must have at least `amount` tokens.
 */
 function _burn(address account, uint256 amount) internal virtual {
 require(account != address(0), "ERC20: burn from the zero address");

 _beforeTokenTransfer(account, address(0), amount);

 uint256 accountBalance = _balances[account];
 require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
 unchecked {
 _balances[account] = accountBalance - amount;
 }
 _totalSupply -= amount;

 emit Transfer(account, address(0), amount);

 _afterTokenTransfer(account, address(0), amount);
 }

 /**
 * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
 *
 * This internal function is equivalent to `approve`, and can be used to
 * e.g. set automatic allowances for certain subsystems, etc.
 *
 * Emits an {Approval} event.
 *
 * Requirements:
 *
 * - `owner` cannot be the zero address.
 * - `spender` cannot be the zero address.
 */
 function _approve(
 address owner,
 address spender,
 uint256 amount
 ) internal virtual {
 require(owner != address(0), "ERC20: approve from the zero address");
 require(spender != address(0), "ERC20: approve to the zero address");

 _allowances[owner][spender] = amount;
 emit Approval(owner, spender, amount);
 }

 /**
 * @dev Hook that is called before any transfer of tokens. This includes
 * minting and burning.
 *
 * Calling conditions:
 *
 * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
 * will be transferred to `to`.
 * - when `from` is zero, `amount` tokens will be minted for `to`.
 * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
 * - `from` and `to` are never both zero.
 *
 * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
 */
 function _beforeTokenTransfer(
 address from,
 address to,
 uint256 amount
 ) internal virtual {}

 /**
 * @dev Hook that is called after any transfer of tokens. This includes
 * minting and burning.
 *
 * Calling conditions:
 *
 * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
 * has been transferred to `to`.
 * - when `from` is zero, `amount` tokens have been minted for `to`.
 * - when `to` is zero, `amount` of ``from``'s tokens have been burned.
 * - `from` and `to` are never both zero.
 *
 * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
 */
 function _afterTokenTransfer(
 address from,
 address to,
 uint256 amount
 ) internal virtual {}
}


// File contracts/DatBoiToken.sol



pragma solidity ^0.8.0;


contract DatBoiToken is Ownable, ERC20 {
 bool public limited;
 uint256 public maxHoldingAmount;
 uint256 public minHoldingAmount;
 address public uniswapV2Pair;
 mapping(address => bool) public blacklists;

 constructor(uint256 _totalSupply) ERC20("Dat Boi", "BOI") {
 _mint(msg.sender, _totalSupply);
 }

 function blacklist(address _address, bool _isBlacklisting) external onlyOwner {
 blacklists[_address] = _isBlacklisting;
 }

 function setRule(bool _limited, address _uniswapV2Pair, uint256 _maxHoldingAmount, uint256 _minHoldingAmount) external onlyOwner {
 limited = _limited;
 uniswapV2Pair = _uniswapV2Pair;
 maxHoldingAmount = _maxHoldingAmount;
 minHoldingAmount = _minHoldingAmount;
 }

 function _beforeTokenTransfer(
 address from,
 address to,
 uint256 amount
 ) override internal virtual {
 require(!blacklists[to] && !blacklists[from], "Blacklisted");

 if (uniswapV2Pair == address(0)) {
 require(from == owner() || to == owner(), "trading is not started");
 return;
 }

 if (limited && from == uniswapV2Pair) {
 require(super.balanceOf(to) + amount <= maxHoldingAmount && super.balanceOf(to) + amount >= minHoldingAmount, "Forbid");
 }
 }

 function burn(uint256 value) external {
 _burn(msg.sender, value);
 }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"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":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isBlacklisting","type":"bool"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","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":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_limited","type":"bool"},{"internalType":"address","name":"_uniswapV2Pair","type":"address"},{"internalType":"uint256","name":"_maxHoldingAmount","type":"uint256"},{"internalType":"uint256","name":"_minHoldingAmount","type":"uint256"}],"name":"setRule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b5060405162001a4c38038062001a4c833981016040819052620000349162000529565b6040518060400160405280600781526020017f44617420426f69000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f424f490000000000000000000000000000000000000000000000000000000000815250620000cc620000bd6200010e640100000000026401000000009004565b64010000000062000112810204565b6004620000da838262000619565b506005620000e9828262000619565b50505062000107338262000162640100000000026401000000009004565b506200072d565b3390565b60008054600160a060020a03838116600160a060020a0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600160a060020a038216620001d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b620001ef6000838364010000000062000293810204565b8060036000828254620002039190620006ec565b9091555050600160a060020a0382166000908152600160205260408120805483929062000232908490620006ec565b9091555050604051818152600160a060020a038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36200028f600083836401000000006200040d810204565b5050565b600160a060020a0382166000908152600a602052604090205460ff16158015620002d65750600160a060020a0383166000908152600a602052604090205460ff16155b6200033e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f426c61636b6c69737465640000000000000000000000000000000000000000006044820152606401620001cf565b600954600160a060020a0316620004125762000362640100000000620004ff810204565b600160a060020a031683600160a060020a03161480620003a5575062000390640100000000620004ff810204565b600160a060020a031682600160a060020a0316145b6200040d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f74726164696e67206973206e6f742073746172746564000000000000000000006044820152606401620001cf565b505050565b60065460ff168015620004325750600954600160a060020a038481169116145b156200040d57600754816200045584640100000000620002cc6200050e82021704565b620004619190620006ec565b11158015620004975750600854816200048884640100000000620002cc6200050e82021704565b620004949190620006ec565b10155b6200040d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f466f7262696400000000000000000000000000000000000000000000000000006044820152606401620001cf565b600054600160a060020a031690565b600160a060020a031660009081526001602052604090205490565b6000602082840312156200053c57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6002810460018216806200058757607f821691505b602082108103620005c1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156200040d576000818152602081206020601f86010481016020861015620005f05750805b6020601f860104820191505b818110156200061157828155600101620005fc565b505050505050565b815167ffffffffffffffff81111562000636576200063662000543565b6200064e8162000647845462000572565b84620005c7565b602080601f8311600181146200068a57600084156200066d5750858301515b60028086026008870290910a600019041982161786555062000611565b600085815260208120601f198616915b82811015620006bb578886015182559484019460019091019084016200069a565b5085821015620006dc57878501516008601f88160260020a60001904191681555b5050505050600202600101905550565b8082018082111562000727577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b61130f806200073d6000396000f3fe608060405234801561001057600080fd5b506004361061019f576000357c01000000000000000000000000000000000000000000000000000000009004806349bd5a5e116100f55780638da5cb5b116100a9578063a9059cbb11610083578063a9059cbb14610331578063dd62ed3e14610344578063f2fde38b1461037d57600080fd5b80638da5cb5b1461030557806395d89b4114610316578063a457c2d71461031e57600080fd5b8063715018a6116100da578063715018a6146102e7578063860a32ec146102ef57806389f9a1d3146102fc57600080fd5b806349bd5a5e1461029357806370a08231146102be57600080fd5b806323b872dd116101575780633aa633aa116101315780633aa633aa14610258578063404e51291461026d57806342966c681461028057600080fd5b806323b872dd14610223578063313ce56714610236578063395093511461024557600080fd5b806316c021291161018857806316c02129146101e557806318160ddd146102085780631ab99e121461021a57600080fd5b806306fdde03146101a4578063095ea7b3146101c2575b600080fd5b6101ac610390565b6040516101b99190611057565b60405180910390f35b6101d56101d03660046110c1565b610422565b60405190151581526020016101b9565b6101d56101f33660046110eb565b600a6020526000908152604090205460ff1681565b6003545b6040519081526020016101b9565b61020c60085481565b6101d561023136600461110d565b610439565b604051601281526020016101b9565b6101d56102533660046110c1565b610505565b61026b610266366004611159565b610541565b005b61026b61027b36600461119b565b6105eb565b61026b61028e3660046111ce565b610678565b6009546102a690600160a060020a031681565b604051600160a060020a0390911681526020016101b9565b61020c6102cc3660046110eb565b600160a060020a031660009081526001602052604090205490565b61026b610685565b6006546101d59060ff1681565b61020c60075481565b600054600160a060020a03166102a6565b6101ac6106f3565b6101d561032c3660046110c1565b610702565b6101d561033f3660046110c1565b6107bb565b61020c6103523660046111e7565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b61026b61038b3660046110eb565b6107c8565b60606004805461039f90611211565b80601f01602080910402602001604051908101604052809291908181526020018280546103cb90611211565b80156104185780601f106103ed57610100808354040283529160200191610418565b820191906000526020600020905b8154815290600101906020018083116103fb57829003601f168201915b5050505050905090565b600061042f3384846108b7565b5060015b92915050565b6000610446848484610a20565b600160a060020a0384166000908152600260209081526040808320338452909152902054828110156104ed576040516000805160206112ba833981519152815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104fa85338584036108b7565b506001949350505050565b336000818152600260209081526040808320600160a060020a0387168452909152812054909161042f91859061053c908690611293565b6108b7565b600054600160a060020a031633146105a3576040516000805160206112ba833981519152815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e4565b6006805460ff1916941515949094179093556009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039390931692909217909155600755600855565b600054600160a060020a0316331461064d576040516000805160206112ba833981519152815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e4565b600160a060020a03919091166000908152600a60205260409020805460ff1916911515919091179055565b6106823382610c5b565b50565b600054600160a060020a031633146106e7576040516000805160206112ba833981519152815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e4565b6106f16000610df9565b565b60606005805461039f90611211565b336000908152600260209081526040808320600160a060020a0386168452909152812054828110156107a4576040516000805160206112ba833981519152815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016104e4565b6107b133858584036108b7565b5060019392505050565b600061042f338484610a20565b600054600160a060020a0316331461082a576040516000805160206112ba833981519152815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e4565b600160a060020a0381166108ae576040516000805160206112ba833981519152815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104e4565b61068281610df9565b600160a060020a03831661093a576040516000805160206112ba8339815191528152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104e4565b600160a060020a0382166109be576040516000805160206112ba833981519152815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016104e4565b600160a060020a0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600160a060020a038316610aa4576040516000805160206112ba833981519152815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104e4565b600160a060020a038216610b28576040516000805160206112ba833981519152815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016104e4565b610b33838383610e56565b600160a060020a03831660009081526001602052604090205481811015610bca576040516000805160206112ba833981519152815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016104e4565b600160a060020a03808516600090815260016020526040808220858503905591851681529081208054849290610c01908490611293565b9250508190555082600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c4d91815260200190565b60405180910390a350505050565b600160a060020a038216610cdf576040516000805160206112ba833981519152815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016104e4565b610ceb82600083610e56565b600160a060020a03821660009081526001602052604090205481811015610d82576040516000805160206112ba833981519152815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016104e4565b600160a060020a0383166000908152600160205260408120838303905560038054849290610db19084906112a6565b9091555050604051828152600090600160a060020a038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610a13565b505050565b60008054600160a060020a0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600160a060020a0382166000908152600a602052604090205460ff16158015610e985750600160a060020a0383166000908152600a602052604090205460ff16155b610eec576040516000805160206112ba833981519152815260206004820152600b60248201527f426c61636b6c697374656400000000000000000000000000000000000000000060448201526064016104e4565b600954600160a060020a0316610f7957600054600160a060020a0384811691161480610f255750600054600160a060020a038381169116145b610df4576040516000805160206112ba833981519152815260206004820152601660248201527f74726164696e67206973206e6f7420737461727465640000000000000000000060448201526064016104e4565b60065460ff168015610f985750600954600160a060020a038481169116145b15610df45760075481610fc084600160a060020a031660009081526001602052604090205490565b610fca9190611293565b11158015611003575060085481610ff684600160a060020a031660009081526001602052604090205490565b6110009190611293565b10155b610df4576040516000805160206112ba833981519152815260206004820152600660248201527f466f72626964000000000000000000000000000000000000000000000000000060448201526064016104e4565b600060208083528351808285015260005b8181101561108457858101830151858201604001528201611068565b506000604082860101526040601f19601f8301168501019250505092915050565b8035600160a060020a03811681146110bc57600080fd5b919050565b600080604083850312156110d457600080fd5b6110dd836110a5565b946020939093013593505050565b6000602082840312156110fd57600080fd5b611106826110a5565b9392505050565b60008060006060848603121561112257600080fd5b61112b846110a5565b9250611139602085016110a5565b9150604084013590509250925092565b803580151581146110bc57600080fd5b6000806000806080858703121561116f57600080fd5b61117885611149565b9350611186602086016110a5565b93969395505050506040820135916060013590565b600080604083850312156111ae57600080fd5b6111b7836110a5565b91506111c560208401611149565b90509250929050565b6000602082840312156111e057600080fd5b5035919050565b600080604083850312156111fa57600080fd5b611203836110a5565b91506111c5602084016110a5565b60028104600182168061122557607f821691505b60208210810361125e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561043357610433611264565b818103818111156104335761043361126456fe08c379a000000000000000000000000000000000000000000000000000000000a2646970667358221220a7790158344b03b18f4e405424831ff2acb5c3690839b28c16458f518e5a622764736f6c634300081200330000000000000000000000000000000000002bd35ae79a49ed3975a215e00000

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061019f576000357c01000000000000000000000000000000000000000000000000000000009004806349bd5a5e116100f55780638da5cb5b116100a9578063a9059cbb11610083578063a9059cbb14610331578063dd62ed3e14610344578063f2fde38b1461037d57600080fd5b80638da5cb5b1461030557806395d89b4114610316578063a457c2d71461031e57600080fd5b8063715018a6116100da578063715018a6146102e7578063860a32ec146102ef57806389f9a1d3146102fc57600080fd5b806349bd5a5e1461029357806370a08231146102be57600080fd5b806323b872dd116101575780633aa633aa116101315780633aa633aa14610258578063404e51291461026d57806342966c681461028057600080fd5b806323b872dd14610223578063313ce56714610236578063395093511461024557600080fd5b806316c021291161018857806316c02129146101e557806318160ddd146102085780631ab99e121461021a57600080fd5b806306fdde03146101a4578063095ea7b3146101c2575b600080fd5b6101ac610390565b6040516101b99190611057565b60405180910390f35b6101d56101d03660046110c1565b610422565b60405190151581526020016101b9565b6101d56101f33660046110eb565b600a6020526000908152604090205460ff1681565b6003545b6040519081526020016101b9565b61020c60085481565b6101d561023136600461110d565b610439565b604051601281526020016101b9565b6101d56102533660046110c1565b610505565b61026b610266366004611159565b610541565b005b61026b61027b36600461119b565b6105eb565b61026b61028e3660046111ce565b610678565b6009546102a690600160a060020a031681565b604051600160a060020a0390911681526020016101b9565b61020c6102cc3660046110eb565b600160a060020a031660009081526001602052604090205490565b61026b610685565b6006546101d59060ff1681565b61020c60075481565b600054600160a060020a03166102a6565b6101ac6106f3565b6101d561032c3660046110c1565b610702565b6101d561033f3660046110c1565b6107bb565b61020c6103523660046111e7565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b61026b61038b3660046110eb565b6107c8565b60606004805461039f90611211565b80601f01602080910402602001604051908101604052809291908181526020018280546103cb90611211565b80156104185780601f106103ed57610100808354040283529160200191610418565b820191906000526020600020905b8154815290600101906020018083116103fb57829003601f168201915b5050505050905090565b600061042f3384846108b7565b5060015b92915050565b6000610446848484610a20565b600160a060020a0384166000908152600260209081526040808320338452909152902054828110156104ed576040516000805160206112ba833981519152815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104fa85338584036108b7565b506001949350505050565b336000818152600260209081526040808320600160a060020a0387168452909152812054909161042f91859061053c908690611293565b6108b7565b600054600160a060020a031633146105a3576040516000805160206112ba833981519152815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e4565b6006805460ff1916941515949094179093556009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039390931692909217909155600755600855565b600054600160a060020a0316331461064d576040516000805160206112ba833981519152815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e4565b600160a060020a03919091166000908152600a60205260409020805460ff1916911515919091179055565b6106823382610c5b565b50565b600054600160a060020a031633146106e7576040516000805160206112ba833981519152815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e4565b6106f16000610df9565b565b60606005805461039f90611211565b336000908152600260209081526040808320600160a060020a0386168452909152812054828110156107a4576040516000805160206112ba833981519152815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016104e4565b6107b133858584036108b7565b5060019392505050565b600061042f338484610a20565b600054600160a060020a0316331461082a576040516000805160206112ba833981519152815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e4565b600160a060020a0381166108ae576040516000805160206112ba833981519152815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104e4565b61068281610df9565b600160a060020a03831661093a576040516000805160206112ba8339815191528152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104e4565b600160a060020a0382166109be576040516000805160206112ba833981519152815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016104e4565b600160a060020a0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600160a060020a038316610aa4576040516000805160206112ba833981519152815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104e4565b600160a060020a038216610b28576040516000805160206112ba833981519152815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016104e4565b610b33838383610e56565b600160a060020a03831660009081526001602052604090205481811015610bca576040516000805160206112ba833981519152815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016104e4565b600160a060020a03808516600090815260016020526040808220858503905591851681529081208054849290610c01908490611293565b9250508190555082600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c4d91815260200190565b60405180910390a350505050565b600160a060020a038216610cdf576040516000805160206112ba833981519152815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016104e4565b610ceb82600083610e56565b600160a060020a03821660009081526001602052604090205481811015610d82576040516000805160206112ba833981519152815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016104e4565b600160a060020a0383166000908152600160205260408120838303905560038054849290610db19084906112a6565b9091555050604051828152600090600160a060020a038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610a13565b505050565b60008054600160a060020a0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600160a060020a0382166000908152600a602052604090205460ff16158015610e985750600160a060020a0383166000908152600a602052604090205460ff16155b610eec576040516000805160206112ba833981519152815260206004820152600b60248201527f426c61636b6c697374656400000000000000000000000000000000000000000060448201526064016104e4565b600954600160a060020a0316610f7957600054600160a060020a0384811691161480610f255750600054600160a060020a038381169116145b610df4576040516000805160206112ba833981519152815260206004820152601660248201527f74726164696e67206973206e6f7420737461727465640000000000000000000060448201526064016104e4565b60065460ff168015610f985750600954600160a060020a038481169116145b15610df45760075481610fc084600160a060020a031660009081526001602052604090205490565b610fca9190611293565b11158015611003575060085481610ff684600160a060020a031660009081526001602052604090205490565b6110009190611293565b10155b610df4576040516000805160206112ba833981519152815260206004820152600660248201527f466f72626964000000000000000000000000000000000000000000000000000060448201526064016104e4565b600060208083528351808285015260005b8181101561108457858101830151858201604001528201611068565b506000604082860101526040601f19601f8301168501019250505092915050565b8035600160a060020a03811681146110bc57600080fd5b919050565b600080604083850312156110d457600080fd5b6110dd836110a5565b946020939093013593505050565b6000602082840312156110fd57600080fd5b611106826110a5565b9392505050565b60008060006060848603121561112257600080fd5b61112b846110a5565b9250611139602085016110a5565b9150604084013590509250925092565b803580151581146110bc57600080fd5b6000806000806080858703121561116f57600080fd5b61117885611149565b9350611186602086016110a5565b93969395505050506040820135916060013590565b600080604083850312156111ae57600080fd5b6111b7836110a5565b91506111c560208401611149565b90509250929050565b6000602082840312156111e057600080fd5b5035919050565b600080604083850312156111fa57600080fd5b611203836110a5565b91506111c5602084016110a5565b60028104600182168061122557607f821691505b60208210810361125e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561043357610433611264565b818103818111156104335761043361126456fe08c379a000000000000000000000000000000000000000000000000000000000a2646970667358221220a7790158344b03b18f4e405424831ff2acb5c3690839b28c16458f518e5a622764736f6c63430008120033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000000000000000002bd35ae79a49ed3975a215e00000

-----Decoded View---------------
Arg [0] : _totalSupply (uint256): 888888888888888000000000000000000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000002bd35ae79a49ed3975a215e00000


Deployed Bytecode Sourcemap

17563:1275:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8755:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10667:152;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:1;;1185:22;1167:41;;1155:2;1140:18;10667:152:0;1027:187:1;17731:42:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;9759:98;9840:12;;9759:98;;;1556:25:1;;;1544:2;1529:18;9759:98:0;1410:177:1;17664:31:0;;;;;;11247:412;;;;;;:::i;:::-;;:::i;9625:83::-;;;9701:2;2067:36:1;;2055:2;2040:18;9625:83:0;1925:184:1;12018:198:0;;;;;;:::i;:::-;;:::i;18012:270::-;;;;;;:::i;:::-;;:::i;:::-;;17882:125;;;;;;:::i;:::-;;:::i;18764:71::-;;;;;;:::i;:::-;;:::i;17699:28::-;;;;;-1:-1:-1;;;;;17699:28:0;;;;;;-1:-1:-1;;;;;3283:55:1;;;3265:74;;3253:2;3238:18;17699:28:0;3119:226:1;9906:117:0;;;;;;:::i;:::-;-1:-1:-1;;;;;10000:18:0;9980:7;10000:18;;;:9;:18;;;;;;;9906:117;2621:93;;;:::i;17606:19::-;;;;;;;;;17629:31;;;;;;2041:77;2087:7;2107:6;-1:-1:-1;;;;;2107:6:0;2041:77;;8946:94;;;:::i;12661:364::-;;;;;;:::i;:::-;;:::i;10202:158::-;;;;;;:::i;:::-;;:::i;10409:141::-;;;;;;:::i;:::-;-1:-1:-1;;;;;10518:18:0;;;10498:7;10518:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10409:141;2851:184;;;;;;:::i;:::-;;:::i;8755:90::-;8809:13;8835:5;8828:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8755:90;:::o;10667:152::-;10750:4;10760:39;899:10;10783:7;10792:6;10760:8;:39::i;:::-;-1:-1:-1;10810:4:0;10667:152;;;;;:::o;11247:412::-;11363:4;11373:36;11383:6;11391:9;11402:6;11373:9;:36::i;:::-;-1:-1:-1;;;;;11442:19:0;;11415:24;11442:19;;;:11;:19;;;;;;;;899:10;11442:33;;;;;;;;11487:26;;;;11479:79;;;;-1:-1:-1;;;;;;;;;;;11479:79:0;;4259:2:1;11479:79:0;;;4241:21:1;4298:2;4278:18;;;4271:30;4337:34;4317:18;;;4310:62;4408:10;4388:18;;;4381:38;4436:19;;11479:79:0;;;;;;;;;11576:57;11585:6;899:10;11626:6;11607:16;:25;11576:8;:57::i;:::-;-1:-1:-1;11650:4:0;;11247:412;-1:-1:-1;;;;11247:412:0:o;12018:198::-;899:10;12106:4;12148:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12148:34:0;;;;;;;;;;12106:4;;12116:80;;12139:7;;12148:47;;12185:10;;12148:47;:::i;:::-;12116:8;:80::i;18012:270::-;2087:7;2107:6;-1:-1:-1;;;;;2107:6:0;899:10;2230:23;2222:68;;;;-1:-1:-1;;;;;;;;;;;2222:68:0;;4987:2:1;2222:68:0;;;4969:21:1;;;5006:18;;;4999:30;5065:34;5045:18;;;5038:62;5117:18;;2222:68:0;4785:356:1;2222:68:0;18145:7:::1;:18:::0;;-1:-1:-1;;18145:18:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;18167:13:::1;:30:::0;;-1:-1:-1;;18167:30:0::1;-1:-1:-1::0;;;;;18167:30:0;;;::::1;::::0;;;::::1;::::0;;;18201:16:::1;:36:::0;18241:16:::1;:36:::0;18012:270::o;17882:125::-;2087:7;2107:6;-1:-1:-1;;;;;2107:6:0;899:10;2230:23;2222:68;;;;-1:-1:-1;;;;;;;;;;;2222:68:0;;4987:2:1;2222:68:0;;;4969:21:1;;;5006:18;;;4999:30;5065:34;5045:18;;;5038:62;5117:18;;2222:68:0;4785:356:1;2222:68:0;-1:-1:-1;;;;;17964:20:0;;;::::1;;::::0;;;:10:::1;:20;::::0;;;;:38;;-1:-1:-1;;17964:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17882:125::o;18764:71::-;18806:24;18812:10;18824:5;18806;:24::i;:::-;18764:71;:::o;2621:93::-;2087:7;2107:6;-1:-1:-1;;;;;2107:6:0;899:10;2230:23;2222:68;;;;-1:-1:-1;;;;;;;;;;;2222:68:0;;4987:2:1;2222:68:0;;;4969:21:1;;;5006:18;;;4999:30;5065:34;5045:18;;;5038:62;5117:18;;2222:68:0;4785:356:1;2222:68:0;2679:30:::1;2706:1;2679:18;:30::i;:::-;2621:93::o:0;8946:94::-;9002:13;9028:7;9021:14;;;;;:::i;12661:364::-;899:10;12754:4;12791:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12791:34:0;;;;;;;;;;12837:35;;;;12829:85;;;;-1:-1:-1;;;;;;;;;;;12829:85:0;;5348:2:1;12829:85:0;;;5330:21:1;5387:2;5367:18;;;5360:30;5426:34;5406:18;;;5399:62;5497:7;5477:18;;;5470:35;5522:19;;12829:85:0;5146:401:1;12829:85:0;12932:67;899:10;12955:7;12983:15;12964:16;:34;12932:8;:67::i;:::-;-1:-1:-1;13016:4:0;;12661:364;-1:-1:-1;;;12661:364:0:o;10202:158::-;10288:4;10298:42;899:10;10322:9;10333:6;10298:9;:42::i;2851:184::-;2087:7;2107:6;-1:-1:-1;;;;;2107:6:0;899:10;2230:23;2222:68;;;;-1:-1:-1;;;;;;;;;;;2222:68:0;;4987:2:1;2222:68:0;;;4969:21:1;;;5006:18;;;4999:30;5065:34;5045:18;;;5038:62;5117:18;;2222:68:0;4785:356:1;2222:68:0;-1:-1:-1;;;;;2933:22:0;::::1;2925:73;;;::::0;-1:-1:-1;;;;;;;;;;;2925:73:0;;5754:2:1;2925:73:0::1;::::0;::::1;5736:21:1::0;5793:2;5773:18;;;5766:30;5832:34;5812:18;;;5805:62;5903:8;5883:18;;;5876:36;5929:19;;2925:73:0::1;5552:402:1::0;2925:73:0::1;3002:28;3021:8;3002:18;:28::i;15870:325::-:0;-1:-1:-1;;;;;15975:19:0;;15967:68;;;;-1:-1:-1;;;;;;;;;;;15967:68:0;;6161:2:1;15967:68:0;;;6143:21:1;6200:2;6180:18;;;6173:30;6239:34;6219:18;;;6212:62;6310:6;6290:18;;;6283:34;6334:19;;15967:68:0;5959:400:1;15967:68:0;-1:-1:-1;;;;;16047:21:0;;16039:68;;;;-1:-1:-1;;;;;;;;;;;16039:68:0;;6566:2:1;16039:68:0;;;6548:21:1;6605:2;6585:18;;;6578:30;6644:34;6624:18;;;6617:62;6715:4;6695:18;;;6688:32;6737:19;;16039:68:0;6364:398:1;16039:68:0;-1:-1:-1;;;;;16113:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16158:32;;1556:25:1;;;16158:32:0;;1529:18:1;16158:32:0;;;;;;;;15870:325;;;:::o;13457:625::-;-1:-1:-1;;;;;13566:20:0;;13558:70;;;;-1:-1:-1;;;;;;;;;;;13558:70:0;;6969:2:1;13558:70:0;;;6951:21:1;7008:2;6988:18;;;6981:30;7047:34;7027:18;;;7020:62;7118:7;7098:18;;;7091:35;7143:19;;13558:70:0;6767:401:1;13558:70:0;-1:-1:-1;;;;;13640:23:0;;13632:71;;;;-1:-1:-1;;;;;;;;;;;13632:71:0;;7375:2:1;13632:71:0;;;7357:21:1;7414:2;7394:18;;;7387:30;7453:34;7433:18;;;7426:62;7524:5;7504:18;;;7497:33;7547:19;;13632:71:0;7173:399:1;13632:71:0;13709:47;13730:6;13738:9;13749:6;13709:20;:47::i;:::-;-1:-1:-1;;;;;13786:17:0;;13762:21;13786:17;;;:9;:17;;;;;;13815:23;;;;13807:74;;;;-1:-1:-1;;;;;;;;;;;13807:74:0;;7779:2:1;13807:74:0;;;7761:21:1;7818:2;7798:18;;;7791:30;7857:34;7837:18;;;7830:62;7928:8;7908:18;;;7901:36;7954:19;;13807:74:0;7577:402:1;13807:74:0;-1:-1:-1;;;;;13899:17:0;;;;;;;:9;:17;;;;;;13919:22;;;13899:42;;13949:20;;;;;;;;:30;;13935:6;;13899:17;13949:30;;13935:6;;13949:30;:::i;:::-;;;;;;;;14007:9;-1:-1:-1;;;;;13990:35:0;13999:6;-1:-1:-1;;;;;13990:35:0;;14018:6;13990:35;;;;1556:25:1;;1544:2;1529:18;;1410:177;13990:35:0;;;;;;;;13554:528;13457:625;;;:::o;14972:514::-;-1:-1:-1;;;;;15049:21:0;;15041:67;;;;-1:-1:-1;;;;;;;;;;;15041:67:0;;8186:2:1;15041:67:0;;;8168:21:1;8225:2;8205:18;;;8198:30;8264:34;8244:18;;;8237:62;8335:3;8315:18;;;8308:31;8356:19;;15041:67:0;7984:397:1;15041:67:0;15114:49;15135:7;15152:1;15156:6;15114:20;:49::i;:::-;-1:-1:-1;;;;;15194:18:0;;15169:22;15194:18;;;:9;:18;;;;;;15224:24;;;;15216:71;;;;-1:-1:-1;;;;;;;;;;;15216:71:0;;8588:2:1;15216:71:0;;;8570:21:1;8627:2;8607:18;;;8600:30;8666:34;8646:18;;;8639:62;8737:4;8717:18;;;8710:32;8759:19;;15216:71:0;8386:398:1;15216:71:0;-1:-1:-1;;;;;15305:18:0;;;;;;:9;:18;;;;;15326:23;;;15305:44;;15357:12;:22;;15343:6;;15305:18;15357:22;;15343:6;;15357:22;:::i;:::-;;;;-1:-1:-1;;15390:37:0;;1556:25:1;;;15416:1:0;;-1:-1:-1;;;;;15390:37:0;;;;;1544:2:1;1529:18;15390:37:0;1410:177:1;15433:48:0;15037:449;14972:514;;:::o;3177:167::-;3244:16;3263:6;;-1:-1:-1;;;;;3273:17:0;;;-1:-1:-1;;3273:17:0;;;;;;3299:40;;3263:6;;;;;;;3299:40;;3244:16;3299:40;3240:104;3177:167;:::o;18287:472::-;-1:-1:-1;;;;;18408:14:0;;;;;;:10;:14;;;;;;;;18407:15;:36;;;;-1:-1:-1;;;;;;18427:16:0;;;;;;:10;:16;;;;;;;;18426:17;18407:36;18399:60;;;;-1:-1:-1;;;;;;;;;;;18399:60:0;;9124:2:1;18399:60:0;;;9106:21:1;9163:2;9143:18;;;9136:30;9202:13;9182:18;;;9175:41;9233:18;;18399:60:0;8922:335:1;18399:60:0;18469:13;;-1:-1:-1;;;;;18469:13:0;18465:119;;2087:7;2107:6;-1:-1:-1;;;;;18510:15:0;;;2107:6;;18510:15;;:32;;-1:-1:-1;2087:7:0;2107:6;-1:-1:-1;;;;;18529:13:0;;;2107:6;;18529:13;18510:32;18502:67;;;;-1:-1:-1;;;;;;;;;;;18502:67:0;;9464:2:1;18502:67:0;;;9446:21:1;9503:2;9483:18;;;9476:30;9542:24;9522:18;;;9515:52;9584:18;;18502:67:0;9262:346:1;18465:119:0;18593:7;;;;:32;;;;-1:-1:-1;18612:13:0;;-1:-1:-1;;;;;18604:21:0;;;18612:13;;18604:21;18593:32;18589:166;;;18671:16;;18661:6;18639:19;18655:2;-1:-1:-1;;;;;10000:18:0;9980:7;10000:18;;;:9;:18;;;;;;;9906:117;18639:19;:28;;;;:::i;:::-;:48;;:100;;;;;18723:16;;18713:6;18691:19;18707:2;-1:-1:-1;;;;;10000:18:0;9980:7;10000:18;;;:9;:18;;;;;;;9906:117;18691:19;:28;;;;:::i;:::-;:48;;18639:100;18631:119;;;;-1:-1:-1;;;;;;;;;;;18631:119:0;;9815:2:1;18631:119:0;;;9797:21:1;9854:1;9834:18;;;9827:29;9892:8;9872:18;;;9865:36;9918:18;;18631:119:0;9613:329:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:196::-;635:20;;-1:-1:-1;;;;;684:54:1;;674:65;;664:93;;753:1;750;743:12;664:93;567:196;;;:::o;768:254::-;836:6;844;897:2;885:9;876:7;872:23;868:32;865:52;;;913:1;910;903:12;865:52;936:29;955:9;936:29;:::i;:::-;926:39;1012:2;997:18;;;;984:32;;-1:-1:-1;;;768:254:1:o;1219:186::-;1278:6;1331:2;1319:9;1310:7;1306:23;1302:32;1299:52;;;1347:1;1344;1337:12;1299:52;1370:29;1389:9;1370:29;:::i;:::-;1360:39;1219:186;-1:-1:-1;;;1219:186:1:o;1592:328::-;1669:6;1677;1685;1738:2;1726:9;1717:7;1713:23;1709:32;1706:52;;;1754:1;1751;1744:12;1706:52;1777:29;1796:9;1777:29;:::i;:::-;1767:39;;1825:38;1859:2;1848:9;1844:18;1825:38;:::i;:::-;1815:48;;1910:2;1899:9;1895:18;1882:32;1872:42;;1592:328;;;;;:::o;2114:160::-;2179:20;;2235:13;;2228:21;2218:32;;2208:60;;2264:1;2261;2254:12;2279:391;2362:6;2370;2378;2386;2439:3;2427:9;2418:7;2414:23;2410:33;2407:53;;;2456:1;2453;2446:12;2407:53;2479:26;2495:9;2479:26;:::i;:::-;2469:36;;2524:38;2558:2;2547:9;2543:18;2524:38;:::i;:::-;2279:391;;2514:48;;-1:-1:-1;;;;2609:2:1;2594:18;;2581:32;;2660:2;2645:18;2632:32;;2279:391::o;2675:254::-;2740:6;2748;2801:2;2789:9;2780:7;2776:23;2772:32;2769:52;;;2817:1;2814;2807:12;2769:52;2840:29;2859:9;2840:29;:::i;:::-;2830:39;;2888:35;2919:2;2908:9;2904:18;2888:35;:::i;:::-;2878:45;;2675:254;;;;;:::o;2934:180::-;2993:6;3046:2;3034:9;3025:7;3021:23;3017:32;3014:52;;;3062:1;3059;3052:12;3014:52;-1:-1:-1;3085:23:1;;2934:180;-1:-1:-1;2934:180:1:o;3350:260::-;3418:6;3426;3479:2;3467:9;3458:7;3454:23;3450:32;3447:52;;;3495:1;3492;3485:12;3447:52;3518:29;3537:9;3518:29;:::i;:::-;3508:39;;3566:38;3600:2;3589:9;3585:18;3566:38;:::i;3615:437::-;3700:1;3690:12;;3747:1;3737:12;;;3758:61;;3812:4;3804:6;3800:17;3790:27;;3758:61;3865:2;3857:6;3854:14;3834:18;3831:38;3828:218;;3902:77;3899:1;3892:88;4003:4;4000:1;3993:15;4031:4;4028:1;4021:15;3828:218;;3615:437;;;:::o;4466:184::-;4518:77;4515:1;4508:88;4615:4;4612:1;4605:15;4639:4;4636:1;4629:15;4655:125;4720:9;;;4741:10;;;4738:36;;;4754:18;;:::i;8789:128::-;8856:9;;;8877:11;;;8874:37;;;8891:18;;:::i

Swarm Source

ipfs://a7790158344b03b18f4e405424831ff2acb5c3690839b28c16458f518e5a6227
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.