Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 8 from a total of 8 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 16161248 | 1189 days ago | IN | 0 ETH | 0.00065295 | ||||
| Transfer | 16161221 | 1189 days ago | IN | 0 ETH | 0.00070856 | ||||
| Approve | 16161174 | 1189 days ago | IN | 0 ETH | 0.00067915 | ||||
| Transfer | 16161023 | 1189 days ago | IN | 0 ETH | 0.00073544 | ||||
| Transfer | 16082212 | 1200 days ago | IN | 0 ETH | 0.00059416 | ||||
| Transfer | 16082209 | 1200 days ago | IN | 0 ETH | 0.00064412 | ||||
| Transfer | 16081822 | 1200 days ago | IN | 0 ETH | 0.00058933 | ||||
| Transfer Owner S... | 16081683 | 1200 days ago | IN | 0 ETH | 0.00031965 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
IDChats
Compiler Version
v0.8.1+commit.df193b15
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-11-30
*/
/**
*Submitted for verification at Etherscan.io on 2022-11-30
*/
/**
*Submitted for verification at Etherscan.io on 2022-06-06
*/
// SPDX-License-Identifier: MIT
/**
*Submitted for verification at BscScan.com on 2022-04-06
*/
// File: @openzeppelin/contracts/utils/Context.sol
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
pragma solidity ^0.8.1;
/**
* @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.5.0) (token/ERC20/IERC20.sol)
/**
* @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 `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);
/**
* @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/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.5.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:
*
* - `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, _allowances[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 = _allowances[owner][spender];
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
unchecked {
_approve(owner, 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:
*
* - `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;
}
_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;
_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 Spend `amount` form the allowance of `owner` toward `spender`.
*
* 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 {}
}
pragma solidity ^0.8.0;
contract IDChats is ERC20 {
constructor(uint256 initialSupply) ERC20("IDChats", "IDC") {
_mint(msg.sender, initialSupply);
i_owner = msg.sender;
}
address public i_owner;
modifier onlyOwner {
require (msg.sender == i_owner,"not owner");
_;
}
function withdrawETH() external onlyOwner {
(bool callSuccess, ) = payable(msg.sender).call{value: address(this).balance}("");
require(callSuccess, "Call failed");
}
function transferOwnerShip(address newOwner) external onlyOwner{
require(newOwner != address(0), "new owner is the zero address");
i_owner = newOwner;
}
receive() external payable {
}
fallback() external payable {
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"uint256","name":"initialSupply","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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"i_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"from","type":"address"},{"internalType":"address","name":"to","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":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040523480156200001157600080fd5b5060405162001e4938038062001e4983398181016040528101906200003791906200037b565b6040518060400160405280600781526020017f49444368617473000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f49444300000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000bb929190620002b4565b508060049080519060200190620000d4929190620002b4565b505050620000e933826200013160201b60201c565b33600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200056d565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620001a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200019b90620003df565b60405180910390fd5b620001b860008383620002aa60201b60201c565b8060026000828254620001cc91906200042f565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200022391906200042f565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200028a919062000401565b60405180910390a3620002a660008383620002af60201b60201c565b5050565b505050565b505050565b828054620002c29062000496565b90600052602060002090601f016020900481019282620002e6576000855562000332565b82601f106200030157805160ff191683800117855562000332565b8280016001018555821562000332579182015b828111156200033157825182559160200191906001019062000314565b5b50905062000341919062000345565b5090565b5b808211156200036057600081600090555060010162000346565b5090565b600081519050620003758162000553565b92915050565b6000602082840312156200038e57600080fd5b60006200039e8482850162000364565b91505092915050565b6000620003b6601f836200041e565b9150620003c3826200052a565b602082019050919050565b620003d9816200048c565b82525050565b60006020820190508181036000830152620003fa81620003a7565b9050919050565b6000602082019050620004186000830184620003ce565b92915050565b600082825260208201905092915050565b60006200043c826200048c565b915062000449836200048c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620004815762000480620004cc565b5b828201905092915050565b6000819050919050565b60006002820490506001821680620004af57607f821691505b60208210811415620004c657620004c5620004fb565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6200055e816200048c565b81146200056a57600080fd5b50565b6118cc806200057d6000396000f3fe6080604052600436106100e15760003560e01c80638863dd1a1161007f578063a9059cbb11610059578063a9059cbb146102f0578063dba6335f1461032d578063dd62ed3e14610358578063e086e5ec14610395576100e8565b80638863dd1a1461025f57806395d89b4114610288578063a457c2d7146102b3576100e8565b806323b872dd116100bb57806323b872dd1461017d578063313ce567146101ba57806339509351146101e557806370a0823114610222576100e8565b806306fdde03146100ea578063095ea7b31461011557806318160ddd14610152576100e8565b366100e857005b005b3480156100f657600080fd5b506100ff6103ac565b60405161010c91906112a9565b60405180910390f35b34801561012157600080fd5b5061013c6004803603810190610137919061102c565b61043e565b604051610149919061128e565b60405180910390f35b34801561015e57600080fd5b50610167610461565b604051610174919061140b565b60405180910390f35b34801561018957600080fd5b506101a4600480360381019061019f9190610fdd565b61046b565b6040516101b1919061128e565b60405180910390f35b3480156101c657600080fd5b506101cf61049a565b6040516101dc9190611426565b60405180910390f35b3480156101f157600080fd5b5061020c6004803603810190610207919061102c565b6104a3565b604051610219919061128e565b60405180910390f35b34801561022e57600080fd5b5061024960048036038101906102449190610f78565b61054d565b604051610256919061140b565b60405180910390f35b34801561026b57600080fd5b5061028660048036038101906102819190610f78565b610595565b005b34801561029457600080fd5b5061029d6106d9565b6040516102aa91906112a9565b60405180910390f35b3480156102bf57600080fd5b506102da60048036038101906102d5919061102c565b61076b565b6040516102e7919061128e565b60405180910390f35b3480156102fc57600080fd5b506103176004803603810190610312919061102c565b610855565b604051610324919061128e565b60405180910390f35b34801561033957600080fd5b50610342610878565b60405161034f9190611273565b60405180910390f35b34801561036457600080fd5b5061037f600480360381019061037a9190610fa1565b61089e565b60405161038c919061140b565b60405180910390f35b3480156103a157600080fd5b506103aa610925565b005b6060600380546103bb90611546565b80601f01602080910402602001604051908101604052809291908181526020018280546103e790611546565b80156104345780601f1061040957610100808354040283529160200191610434565b820191906000526020600020905b81548152906001019060200180831161041757829003601f168201915b5050505050905090565b600080610449610a64565b9050610456818585610a6c565b600191505092915050565b6000600254905090565b600080610476610a64565b9050610483858285610c37565b61048e858585610cc3565b60019150509392505050565b60006012905090565b6000806104ae610a64565b9050610542818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461053d9190611468565b610a6c565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061c906113cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068c9061132b565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6060600480546106e890611546565b80601f016020809104026020016040519081016040528092919081815260200182805461071490611546565b80156107615780601f1061073657610100808354040283529160200191610761565b820191906000526020600020905b81548152906001019060200180831161074457829003601f168201915b5050505050905090565b600080610776610a64565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508381101561083c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610833906113eb565b60405180910390fd5b6108498286868403610a6c565b60019250505092915050565b600080610860610a64565b905061086d818585610cc3565b600191505092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ac906113cb565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff16476040516109db9061125e565b60006040518083038185875af1925050503d8060008114610a18576040519150601f19603f3d011682016040523d82523d6000602084013e610a1d565b606091505b5050905080610a61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a58906112eb565b60405180910390fd5b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610adc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad3906113ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b439061130b565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c2a919061140b565b60405180910390a3505050565b6000610c43848461089e565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610cbd5781811015610caf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca69061134b565b60405180910390fd5b610cbc8484848403610a6c565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2a9061138b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610da3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9a906112cb565b60405180910390fd5b610dae838383610f44565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2b9061136b565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ec79190611468565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f2b919061140b565b60405180910390a3610f3e848484610f49565b50505050565b505050565b505050565b600081359050610f5d81611868565b92915050565b600081359050610f728161187f565b92915050565b600060208284031215610f8a57600080fd5b6000610f9884828501610f4e565b91505092915050565b60008060408385031215610fb457600080fd5b6000610fc285828601610f4e565b9250506020610fd385828601610f4e565b9150509250929050565b600080600060608486031215610ff257600080fd5b600061100086828701610f4e565b935050602061101186828701610f4e565b925050604061102286828701610f63565b9150509250925092565b6000806040838503121561103f57600080fd5b600061104d85828601610f4e565b925050602061105e85828601610f63565b9150509250929050565b611071816114be565b82525050565b611080816114d0565b82525050565b600061109182611441565b61109b8185611457565b93506110ab818560208601611513565b6110b4816115d6565b840191505092915050565b60006110cc602383611457565b91506110d7826115e7565b604082019050919050565b60006110ef600b83611457565b91506110fa82611636565b602082019050919050565b6000611112602283611457565b915061111d8261165f565b604082019050919050565b6000611135601d83611457565b9150611140826116ae565b602082019050919050565b6000611158601d83611457565b9150611163826116d7565b602082019050919050565b600061117b602683611457565b915061118682611700565b604082019050919050565b600061119e602583611457565b91506111a98261174f565b604082019050919050565b60006111c160008361144c565b91506111cc8261179e565b600082019050919050565b60006111e4602483611457565b91506111ef826117a1565b604082019050919050565b6000611207600983611457565b9150611212826117f0565b602082019050919050565b600061122a602583611457565b915061123582611819565b604082019050919050565b611249816114fc565b82525050565b61125881611506565b82525050565b6000611269826111b4565b9150819050919050565b60006020820190506112886000830184611068565b92915050565b60006020820190506112a36000830184611077565b92915050565b600060208201905081810360008301526112c38184611086565b905092915050565b600060208201905081810360008301526112e4816110bf565b9050919050565b60006020820190508181036000830152611304816110e2565b9050919050565b6000602082019050818103600083015261132481611105565b9050919050565b6000602082019050818103600083015261134481611128565b9050919050565b600060208201905081810360008301526113648161114b565b9050919050565b600060208201905081810360008301526113848161116e565b9050919050565b600060208201905081810360008301526113a481611191565b9050919050565b600060208201905081810360008301526113c4816111d7565b9050919050565b600060208201905081810360008301526113e4816111fa565b9050919050565b600060208201905081810360008301526114048161121d565b9050919050565b60006020820190506114206000830184611240565b92915050565b600060208201905061143b600083018461124f565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000611473826114fc565b915061147e836114fc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156114b3576114b2611578565b5b828201905092915050565b60006114c9826114dc565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611531578082015181840152602081019050611516565b83811115611540576000848401525b50505050565b6000600282049050600182168061155e57607f821691505b60208210811415611572576115716115a7565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c206661696c6564000000000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f6e6577206f776e657220697320746865207a65726f2061646472657373000000600082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f6e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b611871816114be565b811461187c57600080fd5b50565b611888816114fc565b811461189357600080fd5b5056fea26469706673582212209bd3956fbd12e228053431fa5245966683318eb62c0b8f1d9cd2c0eeb200131064736f6c63430008010033000000000000000000000000000000000000000000f8277896582678ac000000
Deployed Bytecode
0x6080604052600436106100e15760003560e01c80638863dd1a1161007f578063a9059cbb11610059578063a9059cbb146102f0578063dba6335f1461032d578063dd62ed3e14610358578063e086e5ec14610395576100e8565b80638863dd1a1461025f57806395d89b4114610288578063a457c2d7146102b3576100e8565b806323b872dd116100bb57806323b872dd1461017d578063313ce567146101ba57806339509351146101e557806370a0823114610222576100e8565b806306fdde03146100ea578063095ea7b31461011557806318160ddd14610152576100e8565b366100e857005b005b3480156100f657600080fd5b506100ff6103ac565b60405161010c91906112a9565b60405180910390f35b34801561012157600080fd5b5061013c6004803603810190610137919061102c565b61043e565b604051610149919061128e565b60405180910390f35b34801561015e57600080fd5b50610167610461565b604051610174919061140b565b60405180910390f35b34801561018957600080fd5b506101a4600480360381019061019f9190610fdd565b61046b565b6040516101b1919061128e565b60405180910390f35b3480156101c657600080fd5b506101cf61049a565b6040516101dc9190611426565b60405180910390f35b3480156101f157600080fd5b5061020c6004803603810190610207919061102c565b6104a3565b604051610219919061128e565b60405180910390f35b34801561022e57600080fd5b5061024960048036038101906102449190610f78565b61054d565b604051610256919061140b565b60405180910390f35b34801561026b57600080fd5b5061028660048036038101906102819190610f78565b610595565b005b34801561029457600080fd5b5061029d6106d9565b6040516102aa91906112a9565b60405180910390f35b3480156102bf57600080fd5b506102da60048036038101906102d5919061102c565b61076b565b6040516102e7919061128e565b60405180910390f35b3480156102fc57600080fd5b506103176004803603810190610312919061102c565b610855565b604051610324919061128e565b60405180910390f35b34801561033957600080fd5b50610342610878565b60405161034f9190611273565b60405180910390f35b34801561036457600080fd5b5061037f600480360381019061037a9190610fa1565b61089e565b60405161038c919061140b565b60405180910390f35b3480156103a157600080fd5b506103aa610925565b005b6060600380546103bb90611546565b80601f01602080910402602001604051908101604052809291908181526020018280546103e790611546565b80156104345780601f1061040957610100808354040283529160200191610434565b820191906000526020600020905b81548152906001019060200180831161041757829003601f168201915b5050505050905090565b600080610449610a64565b9050610456818585610a6c565b600191505092915050565b6000600254905090565b600080610476610a64565b9050610483858285610c37565b61048e858585610cc3565b60019150509392505050565b60006012905090565b6000806104ae610a64565b9050610542818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461053d9190611468565b610a6c565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061c906113cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068c9061132b565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6060600480546106e890611546565b80601f016020809104026020016040519081016040528092919081815260200182805461071490611546565b80156107615780601f1061073657610100808354040283529160200191610761565b820191906000526020600020905b81548152906001019060200180831161074457829003601f168201915b5050505050905090565b600080610776610a64565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508381101561083c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610833906113eb565b60405180910390fd5b6108498286868403610a6c565b60019250505092915050565b600080610860610a64565b905061086d818585610cc3565b600191505092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ac906113cb565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff16476040516109db9061125e565b60006040518083038185875af1925050503d8060008114610a18576040519150601f19603f3d011682016040523d82523d6000602084013e610a1d565b606091505b5050905080610a61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a58906112eb565b60405180910390fd5b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610adc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad3906113ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b439061130b565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c2a919061140b565b60405180910390a3505050565b6000610c43848461089e565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610cbd5781811015610caf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca69061134b565b60405180910390fd5b610cbc8484848403610a6c565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2a9061138b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610da3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9a906112cb565b60405180910390fd5b610dae838383610f44565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2b9061136b565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ec79190611468565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f2b919061140b565b60405180910390a3610f3e848484610f49565b50505050565b505050565b505050565b600081359050610f5d81611868565b92915050565b600081359050610f728161187f565b92915050565b600060208284031215610f8a57600080fd5b6000610f9884828501610f4e565b91505092915050565b60008060408385031215610fb457600080fd5b6000610fc285828601610f4e565b9250506020610fd385828601610f4e565b9150509250929050565b600080600060608486031215610ff257600080fd5b600061100086828701610f4e565b935050602061101186828701610f4e565b925050604061102286828701610f63565b9150509250925092565b6000806040838503121561103f57600080fd5b600061104d85828601610f4e565b925050602061105e85828601610f63565b9150509250929050565b611071816114be565b82525050565b611080816114d0565b82525050565b600061109182611441565b61109b8185611457565b93506110ab818560208601611513565b6110b4816115d6565b840191505092915050565b60006110cc602383611457565b91506110d7826115e7565b604082019050919050565b60006110ef600b83611457565b91506110fa82611636565b602082019050919050565b6000611112602283611457565b915061111d8261165f565b604082019050919050565b6000611135601d83611457565b9150611140826116ae565b602082019050919050565b6000611158601d83611457565b9150611163826116d7565b602082019050919050565b600061117b602683611457565b915061118682611700565b604082019050919050565b600061119e602583611457565b91506111a98261174f565b604082019050919050565b60006111c160008361144c565b91506111cc8261179e565b600082019050919050565b60006111e4602483611457565b91506111ef826117a1565b604082019050919050565b6000611207600983611457565b9150611212826117f0565b602082019050919050565b600061122a602583611457565b915061123582611819565b604082019050919050565b611249816114fc565b82525050565b61125881611506565b82525050565b6000611269826111b4565b9150819050919050565b60006020820190506112886000830184611068565b92915050565b60006020820190506112a36000830184611077565b92915050565b600060208201905081810360008301526112c38184611086565b905092915050565b600060208201905081810360008301526112e4816110bf565b9050919050565b60006020820190508181036000830152611304816110e2565b9050919050565b6000602082019050818103600083015261132481611105565b9050919050565b6000602082019050818103600083015261134481611128565b9050919050565b600060208201905081810360008301526113648161114b565b9050919050565b600060208201905081810360008301526113848161116e565b9050919050565b600060208201905081810360008301526113a481611191565b9050919050565b600060208201905081810360008301526113c4816111d7565b9050919050565b600060208201905081810360008301526113e4816111fa565b9050919050565b600060208201905081810360008301526114048161121d565b9050919050565b60006020820190506114206000830184611240565b92915050565b600060208201905061143b600083018461124f565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000611473826114fc565b915061147e836114fc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156114b3576114b2611578565b5b828201905092915050565b60006114c9826114dc565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611531578082015181840152602081019050611516565b83811115611540576000848401525b50505050565b6000600282049050600182168061155e57607f821691505b60208210811415611572576115716115a7565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c206661696c6564000000000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f6e6577206f776e657220697320746865207a65726f2061646472657373000000600082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f6e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b611871816114be565b811461187c57600080fd5b50565b611888816114fc565b811461189357600080fd5b5056fea26469706673582212209bd3956fbd12e228053431fa5245966683318eb62c0b8f1d9cd2c0eeb200131064736f6c63430008010033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000f8277896582678ac000000
-----Decoded View---------------
Arg [0] : initialSupply (uint256): 300000000000000000000000000
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000f8277896582678ac000000
Deployed Bytecode Sourcemap
17651:778:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6877:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9228:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7997:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10009:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7839:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10713:240;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8168:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18157:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7096:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11456:426;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8501:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17831:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8757:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17961:188;;;;;;;;;;;;;:::i;:::-;;6877:100;6931:13;6964:5;6957:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6877:100;:::o;9228:201::-;9311:4;9328:13;9344:12;:10;:12::i;:::-;9328:28;;9367:32;9376:5;9383:7;9392:6;9367:8;:32::i;:::-;9417:4;9410:11;;;9228:201;;;;:::o;7997:108::-;8058:7;8085:12;;8078:19;;7997:108;:::o;10009:295::-;10140:4;10157:15;10175:12;:10;:12::i;:::-;10157:30;;10198:38;10214:4;10220:7;10229:6;10198:15;:38::i;:::-;10247:27;10257:4;10263:2;10267:6;10247:9;:27::i;:::-;10292:4;10285:11;;;10009:295;;;;;:::o;7839:93::-;7897:5;7922:2;7915:9;;7839:93;:::o;10713:240::-;10801:4;10818:13;10834:12;:10;:12::i;:::-;10818:28;;10857:66;10866:5;10873:7;10912:10;10882:11;:18;10894:5;10882:18;;;;;;;;;;;;;;;:27;10901:7;10882:27;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;10857:8;:66::i;:::-;10941:4;10934:11;;;10713:240;;;;:::o;8168:127::-;8242:7;8269:9;:18;8279:7;8269:18;;;;;;;;;;;;;;;;8262:25;;8168:127;;;:::o;18157:176::-;17913:7;;;;;;;;;;;17899:21;;:10;:21;;;17890:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;18259:1:::1;18239:22;;:8;:22;;;;18231:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;18317:8;18306:7;;:19;;;;;;;;;;;;;;;;;;18157:176:::0;:::o;7096:104::-;7152:13;7185:7;7178:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7096:104;:::o;11456:426::-;11549:4;11566:13;11582:12;:10;:12::i;:::-;11566:28;;11605:24;11632:11;:18;11644:5;11632:18;;;;;;;;;;;;;;;:27;11651:7;11632:27;;;;;;;;;;;;;;;;11605:54;;11698:15;11678:16;:35;;11670:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11783:60;11792:5;11799:7;11827:15;11808:16;:34;11783:8;:60::i;:::-;11870:4;11863:11;;;;11456:426;;;;:::o;8501:193::-;8580:4;8597:13;8613:12;:10;:12::i;:::-;8597:28;;8636;8646:5;8653:2;8657:6;8636:9;:28::i;:::-;8682:4;8675:11;;;8501:193;;;;:::o;17831:22::-;;;;;;;;;;;;;:::o;8757:151::-;8846:7;8873:11;:18;8885:5;8873:18;;;;;;;;;;;;;;;:27;8892:7;8873:27;;;;;;;;;;;;;;;;8866:34;;8757:151;;;;:::o;17961:188::-;17913:7;;;;;;;;;;;17899:21;;:10;:21;;;17890:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;18015:16:::1;18045:10;18037:24;;18069:21;18037:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18014:81;;;18114:11;18106:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;17944:1;17961:188::o:0;926:98::-;979:7;1006:10;999:17;;926:98;:::o;15056:380::-;15209:1;15192:19;;:5;:19;;;;15184:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15290:1;15271:21;;:7;:21;;;;15263:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15374:6;15344:11;:18;15356:5;15344:18;;;;;;;;;;;;;;;:27;15363:7;15344:27;;;;;;;;;;;;;;;:36;;;;15412:7;15396:32;;15405:5;15396:32;;;15421:6;15396:32;;;;;;:::i;:::-;;;;;;;;15056:380;;;:::o;15723:441::-;15858:24;15885:25;15895:5;15902:7;15885:9;:25::i;:::-;15858:52;;15945:17;15925:16;:37;15921:236;;16007:6;15987:16;:26;;15979:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16083:51;16092:5;16099:7;16127:6;16108:16;:25;16083:8;:51::i;:::-;15921:236;15723:441;;;;:::o;12361:659::-;12508:1;12492:18;;:4;:18;;;;12484:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12585:1;12571:16;;:2;:16;;;;12563:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12640:38;12661:4;12667:2;12671:6;12640:20;:38::i;:::-;12691:19;12713:9;:15;12723:4;12713:15;;;;;;;;;;;;;;;;12691:37;;12762:6;12747:11;:21;;12739:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12871:6;12857:11;:20;12839:9;:15;12849:4;12839:15;;;;;;;;;;;;;;;:38;;;;12912:6;12895:9;:13;12905:2;12895:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;12951:2;12936:26;;12945:4;12936:26;;;12955:6;12936:26;;;;;;:::i;:::-;;;;;;;;12975:37;12995:4;13001:2;13005:6;12975:19;:37::i;:::-;12361:659;;;;:::o;16764:125::-;;;;:::o;17493:124::-;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;;;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;;;;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;;;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:118::-;2036:24;2054:5;2036:24;:::i;:::-;2031:3;2024:37;2014:53;;:::o;2073:109::-;2154:21;2169:5;2154:21;:::i;:::-;2149:3;2142:34;2132:50;;:::o;2188:364::-;;2304:39;2337:5;2304:39;:::i;:::-;2359:71;2423:6;2418:3;2359:71;:::i;:::-;2352:78;;2439:52;2484:6;2479:3;2472:4;2465:5;2461:16;2439:52;:::i;:::-;2516:29;2538:6;2516:29;:::i;:::-;2511:3;2507:39;2500:46;;2280:272;;;;;:::o;2558:366::-;;2721:67;2785:2;2780:3;2721:67;:::i;:::-;2714:74;;2797:93;2886:3;2797:93;:::i;:::-;2915:2;2910:3;2906:12;2899:19;;2704:220;;;:::o;2930:366::-;;3093:67;3157:2;3152:3;3093:67;:::i;:::-;3086:74;;3169:93;3258:3;3169:93;:::i;:::-;3287:2;3282:3;3278:12;3271:19;;3076:220;;;:::o;3302:366::-;;3465:67;3529:2;3524:3;3465:67;:::i;:::-;3458:74;;3541:93;3630:3;3541:93;:::i;:::-;3659:2;3654:3;3650:12;3643:19;;3448:220;;;:::o;3674:366::-;;3837:67;3901:2;3896:3;3837:67;:::i;:::-;3830:74;;3913:93;4002:3;3913:93;:::i;:::-;4031:2;4026:3;4022:12;4015:19;;3820:220;;;:::o;4046:366::-;;4209:67;4273:2;4268:3;4209:67;:::i;:::-;4202:74;;4285:93;4374:3;4285:93;:::i;:::-;4403:2;4398:3;4394:12;4387:19;;4192:220;;;:::o;4418:366::-;;4581:67;4645:2;4640:3;4581:67;:::i;:::-;4574:74;;4657:93;4746:3;4657:93;:::i;:::-;4775:2;4770:3;4766:12;4759:19;;4564:220;;;:::o;4790:366::-;;4953:67;5017:2;5012:3;4953:67;:::i;:::-;4946:74;;5029:93;5118:3;5029:93;:::i;:::-;5147:2;5142:3;5138:12;5131:19;;4936:220;;;:::o;5162:398::-;;5342:83;5423:1;5418:3;5342:83;:::i;:::-;5335:90;;5434:93;5523:3;5434:93;:::i;:::-;5552:1;5547:3;5543:11;5536:18;;5325:235;;;:::o;5566:366::-;;5729:67;5793:2;5788:3;5729:67;:::i;:::-;5722:74;;5805:93;5894:3;5805:93;:::i;:::-;5923:2;5918:3;5914:12;5907:19;;5712:220;;;:::o;5938:365::-;;6101:66;6165:1;6160:3;6101:66;:::i;:::-;6094:73;;6176:93;6265:3;6176:93;:::i;:::-;6294:2;6289:3;6285:12;6278:19;;6084:219;;;:::o;6309:366::-;;6472:67;6536:2;6531:3;6472:67;:::i;:::-;6465:74;;6548:93;6637:3;6548:93;:::i;:::-;6666:2;6661:3;6657:12;6650:19;;6455:220;;;:::o;6681:118::-;6768:24;6786:5;6768:24;:::i;:::-;6763:3;6756:37;6746:53;;:::o;6805:112::-;6888:22;6904:5;6888:22;:::i;:::-;6883:3;6876:35;6866:51;;:::o;6923:379::-;;7129:147;7272:3;7129:147;:::i;:::-;7122:154;;7293:3;7286:10;;7111:191;;;:::o;7308:222::-;;7439:2;7428:9;7424:18;7416:26;;7452:71;7520:1;7509:9;7505:17;7496:6;7452:71;:::i;:::-;7406:124;;;;:::o;7536:210::-;;7661:2;7650:9;7646:18;7638:26;;7674:65;7736:1;7725:9;7721:17;7712:6;7674:65;:::i;:::-;7628:118;;;;:::o;7752:313::-;;7903:2;7892:9;7888:18;7880:26;;7952:9;7946:4;7942:20;7938:1;7927:9;7923:17;7916:47;7980:78;8053:4;8044:6;7980:78;:::i;:::-;7972:86;;7870:195;;;;:::o;8071:419::-;;8275:2;8264:9;8260:18;8252:26;;8324:9;8318:4;8314:20;8310:1;8299:9;8295:17;8288:47;8352:131;8478:4;8352:131;:::i;:::-;8344:139;;8242:248;;;:::o;8496:419::-;;8700:2;8689:9;8685:18;8677:26;;8749:9;8743:4;8739:20;8735:1;8724:9;8720:17;8713:47;8777:131;8903:4;8777:131;:::i;:::-;8769:139;;8667:248;;;:::o;8921:419::-;;9125:2;9114:9;9110:18;9102:26;;9174:9;9168:4;9164:20;9160:1;9149:9;9145:17;9138:47;9202:131;9328:4;9202:131;:::i;:::-;9194:139;;9092:248;;;:::o;9346:419::-;;9550:2;9539:9;9535:18;9527:26;;9599:9;9593:4;9589:20;9585:1;9574:9;9570:17;9563:47;9627:131;9753:4;9627:131;:::i;:::-;9619:139;;9517:248;;;:::o;9771:419::-;;9975:2;9964:9;9960:18;9952:26;;10024:9;10018:4;10014:20;10010:1;9999:9;9995:17;9988:47;10052:131;10178:4;10052:131;:::i;:::-;10044:139;;9942:248;;;:::o;10196:419::-;;10400:2;10389:9;10385:18;10377:26;;10449:9;10443:4;10439:20;10435:1;10424:9;10420:17;10413:47;10477:131;10603:4;10477:131;:::i;:::-;10469:139;;10367:248;;;:::o;10621:419::-;;10825:2;10814:9;10810:18;10802:26;;10874:9;10868:4;10864:20;10860:1;10849:9;10845:17;10838:47;10902:131;11028:4;10902:131;:::i;:::-;10894:139;;10792:248;;;:::o;11046:419::-;;11250:2;11239:9;11235:18;11227:26;;11299:9;11293:4;11289:20;11285:1;11274:9;11270:17;11263:47;11327:131;11453:4;11327:131;:::i;:::-;11319:139;;11217:248;;;:::o;11471:419::-;;11675:2;11664:9;11660:18;11652:26;;11724:9;11718:4;11714:20;11710:1;11699:9;11695:17;11688:47;11752:131;11878:4;11752:131;:::i;:::-;11744:139;;11642:248;;;:::o;11896:419::-;;12100:2;12089:9;12085:18;12077:26;;12149:9;12143:4;12139:20;12135:1;12124:9;12120:17;12113:47;12177:131;12303:4;12177:131;:::i;:::-;12169:139;;12067:248;;;:::o;12321:222::-;;12452:2;12441:9;12437:18;12429:26;;12465:71;12533:1;12522:9;12518:17;12509:6;12465:71;:::i;:::-;12419:124;;;;:::o;12549:214::-;;12676:2;12665:9;12661:18;12653:26;;12689:67;12753:1;12742:9;12738:17;12729:6;12689:67;:::i;:::-;12643:120;;;;:::o;12769:99::-;;12855:5;12849:12;12839:22;;12828:40;;;:::o;12874:147::-;;13012:3;12997:18;;12987:34;;;;:::o;13027:169::-;;13145:6;13140:3;13133:19;13185:4;13180:3;13176:14;13161:29;;13123:73;;;;:::o;13202:305::-;;13261:20;13279:1;13261:20;:::i;:::-;13256:25;;13295:20;13313:1;13295:20;:::i;:::-;13290:25;;13449:1;13381:66;13377:74;13374:1;13371:81;13368:2;;;13455:18;;:::i;:::-;13368:2;13499:1;13496;13492:9;13485:16;;13246:261;;;;:::o;13513:96::-;;13579:24;13597:5;13579:24;:::i;:::-;13568:35;;13558:51;;;:::o;13615:90::-;;13692:5;13685:13;13678:21;13667:32;;13657:48;;;:::o;13711:126::-;;13788:42;13781:5;13777:54;13766:65;;13756:81;;;:::o;13843:77::-;;13909:5;13898:16;;13888:32;;;:::o;13926:86::-;;14001:4;13994:5;13990:16;13979:27;;13969:43;;;:::o;14018:307::-;14086:1;14096:113;14110:6;14107:1;14104:13;14096:113;;;14195:1;14190:3;14186:11;14180:18;14176:1;14171:3;14167:11;14160:39;14132:2;14129:1;14125:10;14120:15;;14096:113;;;14227:6;14224:1;14221:13;14218:2;;;14307:1;14298:6;14293:3;14289:16;14282:27;14218:2;14067:258;;;;:::o;14331:320::-;;14412:1;14406:4;14402:12;14392:22;;14459:1;14453:4;14449:12;14480:18;14470:2;;14536:4;14528:6;14524:17;14514:27;;14470:2;14598;14590:6;14587:14;14567:18;14564:38;14561:2;;;14617:18;;:::i;:::-;14561:2;14382:269;;;;:::o;14657:180::-;14705:77;14702:1;14695:88;14802:4;14799:1;14792:15;14826:4;14823:1;14816:15;14843:180;14891:77;14888:1;14881:88;14988:4;14985:1;14978:15;15012:4;15009:1;15002:15;15029:102;;15121:2;15117:7;15112:2;15105:5;15101:14;15097:28;15087:38;;15077:54;;;:::o;15137:222::-;15277:34;15273:1;15265:6;15261:14;15254:58;15346:5;15341:2;15333:6;15329:15;15322:30;15243:116;:::o;15365:161::-;15505:13;15501:1;15493:6;15489:14;15482:37;15471:55;:::o;15532:221::-;15672:34;15668:1;15660:6;15656:14;15649:58;15741:4;15736:2;15728:6;15724:15;15717:29;15638:115;:::o;15759:179::-;15899:31;15895:1;15887:6;15883:14;15876:55;15865:73;:::o;15944:179::-;16084:31;16080:1;16072:6;16068:14;16061:55;16050:73;:::o;16129:225::-;16269:34;16265:1;16257:6;16253:14;16246:58;16338:8;16333:2;16325:6;16321:15;16314:33;16235:119;:::o;16360:224::-;16500:34;16496:1;16488:6;16484:14;16477:58;16569:7;16564:2;16556:6;16552:15;16545:32;16466:118;:::o;16590:114::-;16696:8;:::o;16710:223::-;16850:34;16846:1;16838:6;16834:14;16827:58;16919:6;16914:2;16906:6;16902:15;16895:31;16816:117;:::o;16939:159::-;17079:11;17075:1;17067:6;17063:14;17056:35;17045:53;:::o;17104:224::-;17244:34;17240:1;17232:6;17228:14;17221:58;17313:7;17308:2;17300:6;17296:15;17289:32;17210:118;:::o;17334:122::-;17407:24;17425:5;17407:24;:::i;:::-;17400:5;17397:35;17387:2;;17446:1;17443;17436:12;17387:2;17377:79;:::o;17462:122::-;17535:24;17553:5;17535:24;:::i;:::-;17528:5;17525:35;17515:2;;17574:1;17571;17564:12;17515:2;17505:79;:::o
Swarm Source
ipfs://9bd3956fbd12e228053431fa5245966683318eb62c0b8f1d9cd2c0eeb2001310
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.