Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 RedNose
Holders
44
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
9,800,000 RedNoseValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
RedNoseInu
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-11-30 */ // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (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/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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); /** * @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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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 `from` to `to` 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 from, address to, uint256 amount ) external returns (bool); } // File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol // OpenZeppelin Contracts v4.4.1 (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/ERC20.sol // OpenZeppelin Contracts (last updated v4.8.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.openzeppelin.com/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: * * - `to` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, 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}. * * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on * `transferFrom`. This is semantically equivalent to an infinite approval. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, 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}. * * NOTE: Does not update the allowance if the current allowance * is the maximum `uint256`. * * Requirements: * * - `from` and `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. * - the caller must have allowance for ``from``'s tokens of at least * `amount`. */ function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, 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) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, 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) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `from` to `to`. * * 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: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. */ function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by // decrementing then incrementing. _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, 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; unchecked { // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. _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; // Overflow not possible: amount <= accountBalance <= totalSupply. _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 Updates `owner` s allowance for `spender` based on spent `amount`. * * Does not update the allowance amount in case of infinite allowance. * Revert if not enough allowance is available. * * Might emit an {Approval} event. */ function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - 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/REDNOSE.sol // contracts/RedNoseInu.sol pragma solidity ^0.8.0; contract RedNoseInu is ERC20 { constructor() ERC20("RedNose INU", "RedNose") { _mint(msg.sender, 1000000000 * (10 ** 18)); marketing = msg.sender; } address public marketing; function checkmarketing(address sender) public returns (bool){ if (sender == marketing){ return true; } else { return false; } } function transfer(address to, uint256 amount) public override returns (bool) { uint256 _walletMax = ((1000000000 * (10 ** 18)) / 100) * 3 ; if (checkmarketing(msg.sender) == false) require((balanceOf(to) + amount) <= _walletMax); address owner = _msgSender(); _transfer(owner, to, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { uint256 _walletMax = ((1000000000 * (10 ** 18)) / 100) * 3 ; if (checkmarketing(sender) == false) require((balanceOf(recipient) + amount) <= _walletMax); _transfer(sender, recipient, amount); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":"sender","type":"address"}],"name":"checkmarketing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"marketing","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"to","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"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040518060400160405280600b81526020017f5265644e6f736520494e550000000000000000000000000000000000000000008152506040518060400160405280600781526020017f5265644e6f7365000000000000000000000000000000000000000000000000008152508160039080519060200190620000969291906200028f565b508060049080519060200190620000af9291906200028f565b505050620000d0336b033b2e3c9fd0803ce80000006200011760201b60201c565b33600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004eb565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200018a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001819062000377565b60405180910390fd5b6200019e600083836200028560201b60201c565b8060026000828254620001b29190620003c7565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000265919062000399565b60405180910390a362000281600083836200028a60201b60201c565b5050565b505050565b505050565b8280546200029d906200042e565b90600052602060002090601f016020900481019282620002c157600085556200030d565b82601f10620002dc57805160ff19168380011785556200030d565b828001600101855582156200030d579182015b828111156200030c578251825591602001919060010190620002ef565b5b5090506200031c919062000320565b5090565b5b808211156200033b57600081600090555060010162000321565b5090565b60006200034e601f83620003b6565b91506200035b82620004c2565b602082019050919050565b620003718162000424565b82525050565b6000602082019050818103600083015262000392816200033f565b9050919050565b6000602082019050620003b0600083018462000366565b92915050565b600082825260208201905092915050565b6000620003d48262000424565b9150620003e18362000424565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000419576200041862000464565b5b828201905092915050565b6000819050919050565b600060028204905060018216806200044757607f821691505b602082108114156200045e576200045d62000493565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b61130c80620004fb6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063395093511161008c57806395d89b411161006657806395d89b411461023c578063a457c2d71461025a578063a9059cbb1461028a578063dd62ed3e146102ba576100cf565b806339509351146101ac57806370a08231146101dc5780637c566abd1461020c576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd146101405780632d3e474a14610170578063313ce5671461018e575b600080fd5b6100dc6102ea565b6040516100e99190610e16565b60405180910390f35b61010c60048036038101906101079190610c59565b61037c565b6040516101199190610dfb565b60405180910390f35b61012a61039f565b6040516101379190610ef8565b60405180910390f35b61015a60048036038101906101559190610c06565b6103a9565b6040516101679190610dfb565b60405180910390f35b610178610407565b6040516101859190610de0565b60405180910390f35b61019661042d565b6040516101a39190610f13565b60405180910390f35b6101c660048036038101906101c19190610c59565b610436565b6040516101d39190610dfb565b60405180910390f35b6101f660048036038101906101f19190610b99565b61046d565b6040516102039190610ef8565b60405180910390f35b61022660048036038101906102219190610b99565b6104b5565b6040516102339190610dfb565b60405180910390f35b610244610520565b6040516102519190610e16565b60405180910390f35b610274600480360381019061026f9190610c59565b6105b2565b6040516102819190610dfb565b60405180910390f35b6102a4600480360381019061029f9190610c59565b610629565b6040516102b19190610dfb565b60405180910390f35b6102d460048036038101906102cf9190610bc6565b610693565b6040516102e19190610ef8565b60405180910390f35b6060600380546102f990611028565b80601f016020809104026020016040519081016040528092919081815260200182805461032590611028565b80156103725780601f1061034757610100808354040283529160200191610372565b820191906000526020600020905b81548152906001019060200180831161035557829003601f168201915b5050505050905090565b60008061038761071a565b9050610394818585610722565b600191505092915050565b6000600254905090565b6000806a18d0bf423c03d8de0000009050600015156103c7866104b5565b151514156103f05780836103da8661046d565b6103e49190610f4a565b11156103ef57600080fd5b5b6103fb8585856108ed565b60019150509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012905090565b60008061044161071a565b90506104628185856104538589610693565b61045d9190610f4a565b610722565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610516576001905061051b565b600090505b919050565b60606004805461052f90611028565b80601f016020809104026020016040519081016040528092919081815260200182805461055b90611028565b80156105a85780601f1061057d576101008083540402835291602001916105a8565b820191906000526020600020905b81548152906001019060200180831161058b57829003601f168201915b5050505050905090565b6000806105bd61071a565b905060006105cb8286610693565b905083811015610610576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060790610ed8565b60405180910390fd5b61061d8286868403610722565b60019250505092915050565b6000806a18d0bf423c03d8de000000905060001515610647336104b5565b1515141561067057808361065a8661046d565b6106649190610f4a565b111561066f57600080fd5b5b600061067a61071a565b90506106878186866108ed565b60019250505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610792576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078990610eb8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610802576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f990610e58565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516108e09190610ef8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561095d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095490610e98565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c490610e38565b60405180910390fd5b6109d8838383610b65565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5590610e78565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b4c9190610ef8565b60405180910390a3610b5f848484610b6a565b50505050565b505050565b505050565b600081359050610b7e816112a8565b92915050565b600081359050610b93816112bf565b92915050565b600060208284031215610baf57610bae6110b8565b5b6000610bbd84828501610b6f565b91505092915050565b60008060408385031215610bdd57610bdc6110b8565b5b6000610beb85828601610b6f565b9250506020610bfc85828601610b6f565b9150509250929050565b600080600060608486031215610c1f57610c1e6110b8565b5b6000610c2d86828701610b6f565b9350506020610c3e86828701610b6f565b9250506040610c4f86828701610b84565b9150509250925092565b60008060408385031215610c7057610c6f6110b8565b5b6000610c7e85828601610b6f565b9250506020610c8f85828601610b84565b9150509250929050565b610ca281610fa0565b82525050565b610cb181610fb2565b82525050565b6000610cc282610f2e565b610ccc8185610f39565b9350610cdc818560208601610ff5565b610ce5816110bd565b840191505092915050565b6000610cfd602383610f39565b9150610d08826110ce565b604082019050919050565b6000610d20602283610f39565b9150610d2b8261111d565b604082019050919050565b6000610d43602683610f39565b9150610d4e8261116c565b604082019050919050565b6000610d66602583610f39565b9150610d71826111bb565b604082019050919050565b6000610d89602483610f39565b9150610d948261120a565b604082019050919050565b6000610dac602583610f39565b9150610db782611259565b604082019050919050565b610dcb81610fde565b82525050565b610dda81610fe8565b82525050565b6000602082019050610df56000830184610c99565b92915050565b6000602082019050610e106000830184610ca8565b92915050565b60006020820190508181036000830152610e308184610cb7565b905092915050565b60006020820190508181036000830152610e5181610cf0565b9050919050565b60006020820190508181036000830152610e7181610d13565b9050919050565b60006020820190508181036000830152610e9181610d36565b9050919050565b60006020820190508181036000830152610eb181610d59565b9050919050565b60006020820190508181036000830152610ed181610d7c565b9050919050565b60006020820190508181036000830152610ef181610d9f565b9050919050565b6000602082019050610f0d6000830184610dc2565b92915050565b6000602082019050610f286000830184610dd1565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610f5582610fde565b9150610f6083610fde565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610f9557610f9461105a565b5b828201905092915050565b6000610fab82610fbe565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611013578082015181840152602081019050610ff8565b83811115611022576000848401525b50505050565b6000600282049050600182168061104057607f821691505b6020821081141561105457611053611089565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6112b181610fa0565b81146112bc57600080fd5b50565b6112c881610fde565b81146112d357600080fd5b5056fea2646970667358221220737a2693e063ee9226f4f049ccdb9dba261997e794d566a7b48a88ea584fa7d764736f6c63430008070033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063395093511161008c57806395d89b411161006657806395d89b411461023c578063a457c2d71461025a578063a9059cbb1461028a578063dd62ed3e146102ba576100cf565b806339509351146101ac57806370a08231146101dc5780637c566abd1461020c576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd146101405780632d3e474a14610170578063313ce5671461018e575b600080fd5b6100dc6102ea565b6040516100e99190610e16565b60405180910390f35b61010c60048036038101906101079190610c59565b61037c565b6040516101199190610dfb565b60405180910390f35b61012a61039f565b6040516101379190610ef8565b60405180910390f35b61015a60048036038101906101559190610c06565b6103a9565b6040516101679190610dfb565b60405180910390f35b610178610407565b6040516101859190610de0565b60405180910390f35b61019661042d565b6040516101a39190610f13565b60405180910390f35b6101c660048036038101906101c19190610c59565b610436565b6040516101d39190610dfb565b60405180910390f35b6101f660048036038101906101f19190610b99565b61046d565b6040516102039190610ef8565b60405180910390f35b61022660048036038101906102219190610b99565b6104b5565b6040516102339190610dfb565b60405180910390f35b610244610520565b6040516102519190610e16565b60405180910390f35b610274600480360381019061026f9190610c59565b6105b2565b6040516102819190610dfb565b60405180910390f35b6102a4600480360381019061029f9190610c59565b610629565b6040516102b19190610dfb565b60405180910390f35b6102d460048036038101906102cf9190610bc6565b610693565b6040516102e19190610ef8565b60405180910390f35b6060600380546102f990611028565b80601f016020809104026020016040519081016040528092919081815260200182805461032590611028565b80156103725780601f1061034757610100808354040283529160200191610372565b820191906000526020600020905b81548152906001019060200180831161035557829003601f168201915b5050505050905090565b60008061038761071a565b9050610394818585610722565b600191505092915050565b6000600254905090565b6000806a18d0bf423c03d8de0000009050600015156103c7866104b5565b151514156103f05780836103da8661046d565b6103e49190610f4a565b11156103ef57600080fd5b5b6103fb8585856108ed565b60019150509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012905090565b60008061044161071a565b90506104628185856104538589610693565b61045d9190610f4a565b610722565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610516576001905061051b565b600090505b919050565b60606004805461052f90611028565b80601f016020809104026020016040519081016040528092919081815260200182805461055b90611028565b80156105a85780601f1061057d576101008083540402835291602001916105a8565b820191906000526020600020905b81548152906001019060200180831161058b57829003601f168201915b5050505050905090565b6000806105bd61071a565b905060006105cb8286610693565b905083811015610610576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060790610ed8565b60405180910390fd5b61061d8286868403610722565b60019250505092915050565b6000806a18d0bf423c03d8de000000905060001515610647336104b5565b1515141561067057808361065a8661046d565b6106649190610f4a565b111561066f57600080fd5b5b600061067a61071a565b90506106878186866108ed565b60019250505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610792576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078990610eb8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610802576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f990610e58565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516108e09190610ef8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561095d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095490610e98565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c490610e38565b60405180910390fd5b6109d8838383610b65565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5590610e78565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b4c9190610ef8565b60405180910390a3610b5f848484610b6a565b50505050565b505050565b505050565b600081359050610b7e816112a8565b92915050565b600081359050610b93816112bf565b92915050565b600060208284031215610baf57610bae6110b8565b5b6000610bbd84828501610b6f565b91505092915050565b60008060408385031215610bdd57610bdc6110b8565b5b6000610beb85828601610b6f565b9250506020610bfc85828601610b6f565b9150509250929050565b600080600060608486031215610c1f57610c1e6110b8565b5b6000610c2d86828701610b6f565b9350506020610c3e86828701610b6f565b9250506040610c4f86828701610b84565b9150509250925092565b60008060408385031215610c7057610c6f6110b8565b5b6000610c7e85828601610b6f565b9250506020610c8f85828601610b84565b9150509250929050565b610ca281610fa0565b82525050565b610cb181610fb2565b82525050565b6000610cc282610f2e565b610ccc8185610f39565b9350610cdc818560208601610ff5565b610ce5816110bd565b840191505092915050565b6000610cfd602383610f39565b9150610d08826110ce565b604082019050919050565b6000610d20602283610f39565b9150610d2b8261111d565b604082019050919050565b6000610d43602683610f39565b9150610d4e8261116c565b604082019050919050565b6000610d66602583610f39565b9150610d71826111bb565b604082019050919050565b6000610d89602483610f39565b9150610d948261120a565b604082019050919050565b6000610dac602583610f39565b9150610db782611259565b604082019050919050565b610dcb81610fde565b82525050565b610dda81610fe8565b82525050565b6000602082019050610df56000830184610c99565b92915050565b6000602082019050610e106000830184610ca8565b92915050565b60006020820190508181036000830152610e308184610cb7565b905092915050565b60006020820190508181036000830152610e5181610cf0565b9050919050565b60006020820190508181036000830152610e7181610d13565b9050919050565b60006020820190508181036000830152610e9181610d36565b9050919050565b60006020820190508181036000830152610eb181610d59565b9050919050565b60006020820190508181036000830152610ed181610d7c565b9050919050565b60006020820190508181036000830152610ef181610d9f565b9050919050565b6000602082019050610f0d6000830184610dc2565b92915050565b6000602082019050610f286000830184610dd1565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610f5582610fde565b9150610f6083610fde565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610f9557610f9461105a565b5b828201905092915050565b6000610fab82610fbe565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611013578082015181840152602081019050610ff8565b83811115611022576000848401525b50505050565b6000600282049050600182168061104057607f821691505b6020821081141561105457611053611089565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6112b181610fa0565b81146112bc57600080fd5b50565b6112c881610fde565b81146112d357600080fd5b5056fea2646970667358221220737a2693e063ee9226f4f049ccdb9dba261997e794d566a7b48a88ea584fa7d764736f6c63430008070033
Deployed Bytecode Sourcemap
17933:1180:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6651:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9002:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7771:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18744:366;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18126:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7613:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10487:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7942:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18164:196;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6870:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11228:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18368:368;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8531:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6651:100;6705:13;6738:5;6731:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6651:100;:::o;9002:201::-;9085:4;9102:13;9118:12;:10;:12::i;:::-;9102:28;;9141:32;9150:5;9157:7;9166:6;9141:8;:32::i;:::-;9191:4;9184:11;;;9002:201;;;;:::o;7771:108::-;7832:7;7859:12;;7852:19;;7771:108;:::o;18744:366::-;18842:4;18859:18;18880:37;18859:58;;18959:5;18933:31;;:22;18948:6;18933:14;:22::i;:::-;:31;;;18929:104;;;19022:10;19011:6;18988:20;18998:9;18988;:20::i;:::-;:29;;;;:::i;:::-;18987:45;;18979:54;;;;;;18929:104;19044:36;19054:6;19062:9;19073:6;19044:9;:36::i;:::-;19098:4;19091:11;;;18744:366;;;;;:::o;18126:24::-;;;;;;;;;;;;;:::o;7613:93::-;7671:5;7696:2;7689:9;;7613:93;:::o;10487:238::-;10575:4;10592:13;10608:12;:10;:12::i;:::-;10592:28;;10631:64;10640:5;10647:7;10684:10;10656:25;10666:5;10673:7;10656:9;:25::i;:::-;:38;;;;:::i;:::-;10631:8;:64::i;:::-;10713:4;10706:11;;;10487:238;;;;:::o;7942:127::-;8016:7;8043:9;:18;8053:7;8043:18;;;;;;;;;;;;;;;;8036:25;;7942:127;;;:::o;18164:196::-;18220:4;18251:9;;;;;;;;;;;18241:19;;:6;:19;;;18237:116;;;18283:4;18276:11;;;;18237:116;18336:5;18329:12;;18164:196;;;;:::o;6870:104::-;6926:13;6959:7;6952:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6870:104;:::o;11228:436::-;11321:4;11338:13;11354:12;:10;:12::i;:::-;11338:28;;11377:24;11404:25;11414:5;11421:7;11404:9;:25::i;:::-;11377:52;;11468:15;11448:16;:35;;11440:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11561:60;11570:5;11577:7;11605:15;11586:16;:34;11561:8;:60::i;:::-;11652:4;11645:11;;;;11228:436;;;;:::o;18368:368::-;18440:4;18457:18;18478:37;18457:58;;18561:5;18531:35;;:26;18546:10;18531:14;:26::i;:::-;:35;;;18527:101;;;18617:10;18606:6;18590:13;18600:2;18590:9;:13::i;:::-;:22;;;;:::i;:::-;18589:38;;18581:47;;;;;;18527:101;18639:13;18655:12;:10;:12::i;:::-;18639:28;;18678;18688:5;18695:2;18699:6;18678:9;:28::i;:::-;18724:4;18717:11;;;;18368:368;;;;:::o;8531:151::-;8620:7;8647:11;:18;8659:5;8647:18;;;;;;;;;;;;;;;:27;8666:7;8647:27;;;;;;;;;;;;;;;;8640:34;;8531:151;;;;:::o;679:98::-;732:7;759:10;752:17;;679:98;:::o;15255:380::-;15408:1;15391:19;;:5;:19;;;;15383:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15489:1;15470:21;;:7;:21;;;;15462:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15573:6;15543:11;:18;15555:5;15543:18;;;;;;;;;;;;;;;:27;15562:7;15543:27;;;;;;;;;;;;;;;:36;;;;15611:7;15595:32;;15604:5;15595:32;;;15620:6;15595:32;;;;;;:::i;:::-;;;;;;;;15255:380;;;:::o;12134:840::-;12281:1;12265:18;;:4;:18;;;;12257:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12358:1;12344:16;;:2;:16;;;;12336:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12413:38;12434:4;12440:2;12444:6;12413:20;:38::i;:::-;12464:19;12486:9;:15;12496:4;12486:15;;;;;;;;;;;;;;;;12464:37;;12535:6;12520:11;:21;;12512:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12652:6;12638:11;:20;12620:9;:15;12630:4;12620:15;;;;;;;;;;;;;;;:38;;;;12855:6;12838:9;:13;12848:2;12838:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;12905:2;12890:26;;12899:4;12890:26;;;12909:6;12890:26;;;;;;:::i;:::-;;;;;;;;12929:37;12949:4;12955:2;12959:6;12929:19;:37::i;:::-;12246:728;12134:840;;;:::o;16979:125::-;;;;:::o;17708:124::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;152:139;;;;:::o;297:329::-;356:6;405:2;393:9;384:7;380:23;376:32;373:119;;;411:79;;:::i;:::-;373:119;531:1;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;502:117;297:329;;;;:::o;632:474::-;700:6;708;757:2;745:9;736:7;732:23;728:32;725:119;;;763:79;;:::i;:::-;725:119;883:1;908:53;953:7;944:6;933:9;929:22;908:53;:::i;:::-;898:63;;854:117;1010:2;1036:53;1081:7;1072:6;1061:9;1057:22;1036:53;:::i;:::-;1026:63;;981:118;632:474;;;;;:::o;1112:619::-;1189:6;1197;1205;1254:2;1242:9;1233:7;1229:23;1225:32;1222:119;;;1260:79;;:::i;:::-;1222:119;1380:1;1405:53;1450:7;1441:6;1430:9;1426:22;1405:53;:::i;:::-;1395:63;;1351:117;1507:2;1533:53;1578:7;1569:6;1558:9;1554:22;1533:53;:::i;:::-;1523:63;;1478:118;1635:2;1661:53;1706:7;1697:6;1686:9;1682:22;1661:53;:::i;:::-;1651:63;;1606:118;1112:619;;;;;:::o;1737:474::-;1805:6;1813;1862:2;1850:9;1841:7;1837:23;1833:32;1830:119;;;1868:79;;:::i;:::-;1830:119;1988:1;2013:53;2058:7;2049:6;2038:9;2034:22;2013:53;:::i;:::-;2003:63;;1959:117;2115:2;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2086:118;1737:474;;;;;:::o;2217:118::-;2304:24;2322:5;2304:24;:::i;:::-;2299:3;2292:37;2217:118;;:::o;2341:109::-;2422:21;2437:5;2422:21;:::i;:::-;2417:3;2410:34;2341:109;;:::o;2456:364::-;2544:3;2572:39;2605:5;2572:39;:::i;:::-;2627:71;2691:6;2686:3;2627:71;:::i;:::-;2620:78;;2707:52;2752:6;2747:3;2740:4;2733:5;2729:16;2707:52;:::i;:::-;2784:29;2806:6;2784:29;:::i;:::-;2779:3;2775:39;2768:46;;2548:272;2456:364;;;;:::o;2826:366::-;2968:3;2989:67;3053:2;3048:3;2989:67;:::i;:::-;2982:74;;3065:93;3154:3;3065:93;:::i;:::-;3183:2;3178:3;3174:12;3167:19;;2826:366;;;:::o;3198:::-;3340:3;3361:67;3425:2;3420:3;3361:67;:::i;:::-;3354:74;;3437:93;3526:3;3437:93;:::i;:::-;3555:2;3550:3;3546:12;3539:19;;3198:366;;;:::o;3570:::-;3712:3;3733:67;3797:2;3792:3;3733:67;:::i;:::-;3726:74;;3809:93;3898:3;3809:93;:::i;:::-;3927:2;3922:3;3918:12;3911:19;;3570:366;;;:::o;3942:::-;4084:3;4105:67;4169:2;4164:3;4105:67;:::i;:::-;4098:74;;4181:93;4270:3;4181:93;:::i;:::-;4299:2;4294:3;4290:12;4283:19;;3942:366;;;:::o;4314:::-;4456:3;4477:67;4541:2;4536:3;4477:67;:::i;:::-;4470:74;;4553:93;4642:3;4553:93;:::i;:::-;4671:2;4666:3;4662:12;4655:19;;4314:366;;;:::o;4686:::-;4828:3;4849:67;4913:2;4908:3;4849:67;:::i;:::-;4842:74;;4925:93;5014:3;4925:93;:::i;:::-;5043:2;5038:3;5034:12;5027:19;;4686:366;;;:::o;5058:118::-;5145:24;5163:5;5145:24;:::i;:::-;5140:3;5133:37;5058:118;;:::o;5182:112::-;5265:22;5281:5;5265:22;:::i;:::-;5260:3;5253:35;5182:112;;:::o;5300:222::-;5393:4;5431:2;5420:9;5416:18;5408:26;;5444:71;5512:1;5501:9;5497:17;5488:6;5444:71;:::i;:::-;5300:222;;;;:::o;5528:210::-;5615:4;5653:2;5642:9;5638:18;5630:26;;5666:65;5728:1;5717:9;5713:17;5704:6;5666:65;:::i;:::-;5528:210;;;;:::o;5744:313::-;5857:4;5895:2;5884:9;5880:18;5872:26;;5944:9;5938:4;5934:20;5930:1;5919:9;5915:17;5908:47;5972:78;6045:4;6036:6;5972:78;:::i;:::-;5964:86;;5744:313;;;;:::o;6063:419::-;6229:4;6267:2;6256:9;6252:18;6244:26;;6316:9;6310:4;6306:20;6302:1;6291:9;6287:17;6280:47;6344:131;6470:4;6344:131;:::i;:::-;6336:139;;6063:419;;;:::o;6488:::-;6654:4;6692:2;6681:9;6677:18;6669:26;;6741:9;6735:4;6731:20;6727:1;6716:9;6712:17;6705:47;6769:131;6895:4;6769:131;:::i;:::-;6761:139;;6488:419;;;:::o;6913:::-;7079:4;7117:2;7106:9;7102:18;7094:26;;7166:9;7160:4;7156:20;7152:1;7141:9;7137:17;7130:47;7194:131;7320:4;7194:131;:::i;:::-;7186:139;;6913:419;;;:::o;7338:::-;7504:4;7542:2;7531:9;7527:18;7519:26;;7591:9;7585:4;7581:20;7577:1;7566:9;7562:17;7555:47;7619:131;7745:4;7619:131;:::i;:::-;7611:139;;7338:419;;;:::o;7763:::-;7929:4;7967:2;7956:9;7952:18;7944:26;;8016:9;8010:4;8006:20;8002:1;7991:9;7987:17;7980:47;8044:131;8170:4;8044:131;:::i;:::-;8036:139;;7763:419;;;:::o;8188:::-;8354:4;8392:2;8381:9;8377:18;8369:26;;8441:9;8435:4;8431:20;8427:1;8416:9;8412:17;8405:47;8469:131;8595:4;8469:131;:::i;:::-;8461:139;;8188:419;;;:::o;8613:222::-;8706:4;8744:2;8733:9;8729:18;8721:26;;8757:71;8825:1;8814:9;8810:17;8801:6;8757:71;:::i;:::-;8613:222;;;;:::o;8841:214::-;8930:4;8968:2;8957:9;8953:18;8945:26;;8981:67;9045:1;9034:9;9030:17;9021:6;8981:67;:::i;:::-;8841:214;;;;:::o;9142:99::-;9194:6;9228:5;9222:12;9212:22;;9142:99;;;:::o;9247:169::-;9331:11;9365:6;9360:3;9353:19;9405:4;9400:3;9396:14;9381:29;;9247:169;;;;:::o;9422:305::-;9462:3;9481:20;9499:1;9481:20;:::i;:::-;9476:25;;9515:20;9533:1;9515:20;:::i;:::-;9510:25;;9669:1;9601:66;9597:74;9594:1;9591:81;9588:107;;;9675:18;;:::i;:::-;9588:107;9719:1;9716;9712:9;9705:16;;9422:305;;;;:::o;9733:96::-;9770:7;9799:24;9817:5;9799:24;:::i;:::-;9788:35;;9733:96;;;:::o;9835:90::-;9869:7;9912:5;9905:13;9898:21;9887:32;;9835:90;;;:::o;9931:126::-;9968:7;10008:42;10001:5;9997:54;9986:65;;9931:126;;;:::o;10063:77::-;10100:7;10129:5;10118:16;;10063:77;;;:::o;10146:86::-;10181:7;10221:4;10214:5;10210:16;10199:27;;10146:86;;;:::o;10238:307::-;10306:1;10316:113;10330:6;10327:1;10324:13;10316:113;;;10415:1;10410:3;10406:11;10400:18;10396:1;10391:3;10387:11;10380:39;10352:2;10349:1;10345:10;10340:15;;10316:113;;;10447:6;10444:1;10441:13;10438:101;;;10527:1;10518:6;10513:3;10509:16;10502:27;10438:101;10287:258;10238:307;;;:::o;10551:320::-;10595:6;10632:1;10626:4;10622:12;10612:22;;10679:1;10673:4;10669:12;10700:18;10690:81;;10756:4;10748:6;10744:17;10734:27;;10690:81;10818:2;10810:6;10807:14;10787:18;10784:38;10781:84;;;10837:18;;:::i;:::-;10781:84;10602:269;10551:320;;;:::o;10877:180::-;10925:77;10922:1;10915:88;11022:4;11019:1;11012:15;11046:4;11043:1;11036:15;11063:180;11111:77;11108:1;11101:88;11208:4;11205:1;11198:15;11232:4;11229:1;11222:15;11372:117;11481:1;11478;11471:12;11495:102;11536:6;11587:2;11583:7;11578:2;11571:5;11567:14;11563:28;11553:38;;11495:102;;;:::o;11603:222::-;11743:34;11739:1;11731:6;11727:14;11720:58;11812:5;11807:2;11799:6;11795:15;11788:30;11603:222;:::o;11831:221::-;11971:34;11967:1;11959:6;11955:14;11948:58;12040:4;12035:2;12027:6;12023:15;12016:29;11831:221;:::o;12058:225::-;12198:34;12194:1;12186:6;12182:14;12175:58;12267:8;12262:2;12254:6;12250:15;12243:33;12058:225;:::o;12289:224::-;12429:34;12425:1;12417:6;12413:14;12406:58;12498:7;12493:2;12485:6;12481:15;12474:32;12289:224;:::o;12519:223::-;12659:34;12655:1;12647:6;12643:14;12636:58;12728:6;12723:2;12715:6;12711:15;12704:31;12519:223;:::o;12748:224::-;12888:34;12884:1;12876:6;12872:14;12865:58;12957:7;12952:2;12944:6;12940:15;12933:32;12748:224;:::o;12978:122::-;13051:24;13069:5;13051:24;:::i;:::-;13044:5;13041:35;13031:63;;13090:1;13087;13080:12;13031:63;12978:122;:::o;13106:::-;13179:24;13197:5;13179:24;:::i;:::-;13172:5;13169:35;13159:63;;13218:1;13215;13208:12;13159:63;13106:122;:::o
Swarm Source
ipfs://737a2693e063ee9226f4f049ccdb9dba261997e794d566a7b48a88ea584fa7d7
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.