Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 24 from a total of 24 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 18907650 | 787 days ago | IN | 0 ETH | 0.00068376 | ||||
| Approve | 17849264 | 935 days ago | IN | 0 ETH | 0.0007336 | ||||
| Approve | 17791517 | 943 days ago | IN | 0 ETH | 0.00155174 | ||||
| Approve | 17780338 | 945 days ago | IN | 0 ETH | 0.00128326 | ||||
| Approve | 17779632 | 945 days ago | IN | 0 ETH | 0.0010723 | ||||
| Approve | 17779629 | 945 days ago | IN | 0 ETH | 0.00187325 | ||||
| Approve | 17776423 | 945 days ago | IN | 0 ETH | 0.00081694 | ||||
| Approve | 17775263 | 946 days ago | IN | 0 ETH | 0.00069637 | ||||
| Approve | 17774523 | 946 days ago | IN | 0 ETH | 0.00087447 | ||||
| Approve | 17774312 | 946 days ago | IN | 0 ETH | 0.00075956 | ||||
| Approve | 17773687 | 946 days ago | IN | 0 ETH | 0.00091602 | ||||
| Approve | 17773338 | 946 days ago | IN | 0 ETH | 0.00102582 | ||||
| Approve | 17772765 | 946 days ago | IN | 0 ETH | 0.00154067 | ||||
| Approve | 17772765 | 946 days ago | IN | 0 ETH | 0.00239246 | ||||
| Approve | 17772550 | 946 days ago | IN | 0 ETH | 0.00152776 | ||||
| Approve | 17772506 | 946 days ago | IN | 0 ETH | 0.00087858 | ||||
| Approve | 17772494 | 946 days ago | IN | 0 ETH | 0.0014195 | ||||
| Approve | 17772001 | 946 days ago | IN | 0 ETH | 0.00155014 | ||||
| Approve | 17771922 | 946 days ago | IN | 0 ETH | 0.0016297 | ||||
| Approve | 17771334 | 946 days ago | IN | 0 ETH | 0.00198253 | ||||
| Approve | 17771203 | 946 days ago | IN | 0 ETH | 0.00233177 | ||||
| Approve | 17771069 | 946 days ago | IN | 0 ETH | 0.00203437 | ||||
| Increase Allowan... | 17769088 | 946 days ago | IN | 0 ETH | 0.00118826 | ||||
| Transfer | 17769053 | 946 days ago | IN | 0 ETH | 0.00117876 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Suki
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-07-25
*/
// File: @openzeppelin/contracts@4.3.0/utils/Context.sol
pragma solidity ^0.8.0;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
// File: @openzeppelin/contracts@4.3.0/token/ERC20/IERC20.sol
pragma solidity ^0.8.0;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `recipient`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address recipient, uint256 amount) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `sender` to `recipient` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
}
// File: @openzeppelin/contracts@4.3.0/token/ERC20/extensions/IERC20Metadata.sol
pragma solidity ^0.8.0;
/**
* @dev Interface for the optional metadata functions from the ERC20 standard.
*
* _Available since v4.1._
*/
interface IERC20Metadata is IERC20 {
/**
* @dev Returns the name of the token.
*/
function name() external view returns (string memory);
/**
* @dev Returns the symbol of the token.
*/
function symbol() external view returns (string memory);
/**
* @dev Returns the decimals places of the token.
*/
function decimals() external view returns (uint8);
}
// File: @openzeppelin/contracts@4.3.0/token/ERC20/ERC20.sol
pragma solidity ^0.8.0;
/**
* @dev Implementation of the {IERC20} interface.
*
* This implementation is agnostic to the way tokens are created. This means
* that a supply mechanism has to be added in a derived contract using {_mint}.
* For a generic mechanism see {ERC20PresetMinterPauser}.
*
* TIP: For a detailed writeup see our guide
* https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
* to implement supply mechanisms].
*
* We have followed general OpenZeppelin Contracts guidelines: functions revert
* instead returning `false` on failure. This behavior is nonetheless
* conventional and does not conflict with the expectations of ERC20
* applications.
*
* Additionally, an {Approval} event is emitted on calls to {transferFrom}.
* This allows applications to reconstruct the allowance for all accounts just
* by listening to said events. Other implementations of the EIP may not emit
* these events, as it isn't required by the specification.
*
* Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
* functions have been added to mitigate the well-known issues around setting
* allowances. See {IERC20-approve}.
*/
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
/**
* @dev Sets the values for {name} and {symbol}.
*
* The default value of {decimals} is 18. To select a different value for
* {decimals} you should overload it.
*
* All two of these values are immutable: they can only be set once during
* construction.
*/
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
/**
* @dev Returns the name of the token.
*/
function name() public view virtual override returns (string memory) {
return _name;
}
/**
* @dev Returns the symbol of the token, usually a shorter version of the
* name.
*/
function symbol() public view virtual override returns (string memory) {
return _symbol;
}
/**
* @dev Returns the number of decimals used to get its user representation.
* For example, if `decimals` equals `2`, a balance of `505` tokens should
* be displayed to a user as `5.05` (`505 / 10 ** 2`).
*
* Tokens usually opt for a value of 18, imitating the relationship between
* Ether and Wei. This is the value {ERC20} uses, unless this function is
* overridden;
*
* NOTE: This information is only used for _display_ purposes: it in
* no way affects any of the arithmetic of the contract, including
* {IERC20-balanceOf} and {IERC20-transfer}.
*/
function decimals() public view virtual override returns (uint8) {
return 18;
}
/**
* @dev See {IERC20-totalSupply}.
*/
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
/**
* @dev See {IERC20-balanceOf}.
*/
function balanceOf(address account) public view virtual override returns (uint256) {
return _balances[account];
}
/**
* @dev See {IERC20-transfer}.
*
* Requirements:
*
* - `recipient` cannot be the zero address.
* - the caller must have a balance of at least `amount`.
*/
function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
/**
* @dev See {IERC20-allowance}.
*/
function allowance(address owner, address spender) public view virtual override returns (uint256) {
return _allowances[owner][spender];
}
/**
* @dev See {IERC20-approve}.
*
* Requirements:
*
* - `spender` cannot be the zero address.
*/
function approve(address spender, uint256 amount) public virtual override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
/**
* @dev See {IERC20-transferFrom}.
*
* Emits an {Approval} event indicating the updated allowance. This is not
* required by the EIP. See the note at the beginning of {ERC20}.
*
* Requirements:
*
* - `sender` and `recipient` cannot be the zero address.
* - `sender` must have a balance of at least `amount`.
* - the caller must have allowance for ``sender``'s tokens of at least
* `amount`.
*/
function transferFrom(
address sender,
address recipient,
uint256 amount
) public virtual override returns (bool) {
_transfer(sender, recipient, amount);
uint256 currentAllowance = _allowances[sender][_msgSender()];
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
unchecked {
_approve(sender, _msgSender(), currentAllowance - amount);
}
return true;
}
/**
* @dev Atomically increases the allowance granted to `spender` by the caller.
*
* This is an alternative to {approve} that can be used as a mitigation for
* problems described in {IERC20-approve}.
*
* Emits an {Approval} event indicating the updated allowance.
*
* Requirements:
*
* - `spender` cannot be the zero address.
*/
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
return true;
}
/**
* @dev Atomically decreases the allowance granted to `spender` by the caller.
*
* This is an alternative to {approve} that can be used as a mitigation for
* problems described in {IERC20-approve}.
*
* Emits an {Approval} event indicating the updated allowance.
*
* Requirements:
*
* - `spender` cannot be the zero address.
* - `spender` must have allowance for the caller of at least
* `subtractedValue`.
*/
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
uint256 currentAllowance = _allowances[_msgSender()][spender];
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
unchecked {
_approve(_msgSender(), spender, currentAllowance - subtractedValue);
}
return true;
}
/**
* @dev Moves `amount` of tokens from `sender` to `recipient`.
*
* This internal function is equivalent to {transfer}, and can be used to
* e.g. implement automatic token fees, slashing mechanisms, etc.
*
* Emits a {Transfer} event.
*
* Requirements:
*
* - `sender` cannot be the zero address.
* - `recipient` cannot be the zero address.
* - `sender` must have a balance of at least `amount`.
*/
function _transfer(
address sender,
address recipient,
uint256 amount
) internal virtual {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
_beforeTokenTransfer(sender, recipient, amount);
uint256 senderBalance = _balances[sender];
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
unchecked {
_balances[sender] = senderBalance - amount;
}
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
_afterTokenTransfer(sender, recipient, amount);
}
/** @dev Creates `amount` tokens and assigns them to `account`, increasing
* the total supply.
*
* Emits a {Transfer} event with `from` set to the zero address.
*
* Requirements:
*
* - `account` cannot be the zero address.
*/
function _mint(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: mint to the zero address");
_beforeTokenTransfer(address(0), account, amount);
_totalSupply += amount;
_balances[account] += amount;
emit Transfer(address(0), account, amount);
_afterTokenTransfer(address(0), account, amount);
}
/**
* @dev Destroys `amount` tokens from `account`, reducing the
* total supply.
*
* Emits a {Transfer} event with `to` set to the zero address.
*
* Requirements:
*
* - `account` cannot be the zero address.
* - `account` must have at least `amount` tokens.
*/
function _burn(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: burn from the zero address");
_beforeTokenTransfer(account, address(0), amount);
uint256 accountBalance = _balances[account];
require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
unchecked {
_balances[account] = accountBalance - amount;
}
_totalSupply -= amount;
emit Transfer(account, address(0), amount);
_afterTokenTransfer(account, address(0), amount);
}
/**
* @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
*
* This internal function is equivalent to `approve`, and can be used to
* e.g. set automatic allowances for certain subsystems, etc.
*
* Emits an {Approval} event.
*
* Requirements:
*
* - `owner` cannot be the zero address.
* - `spender` cannot be the zero address.
*/
function _approve(
address owner,
address spender,
uint256 amount
) internal virtual {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
/**
* @dev Hook that is called before any transfer of tokens. This includes
* minting and burning.
*
* Calling conditions:
*
* - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
* will be transferred to `to`.
* - when `from` is zero, `amount` tokens will be minted for `to`.
* - when `to` is zero, `amount` of ``from``'s tokens will be burned.
* - `from` and `to` are never both zero.
*
* To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
*/
function _beforeTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
/**
* @dev Hook that is called after any transfer of tokens. This includes
* minting and burning.
*
* Calling conditions:
*
* - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
* has been transferred to `to`.
* - when `from` is zero, `amount` tokens have been minted for `to`.
* - when `to` is zero, `amount` of ``from``'s tokens have been burned.
* - `from` and `to` are never both zero.
*
* To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
*/
function _afterTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
}
// File: @openzeppelin/contracts@4.3.0/token/ERC20/extensions/ERC20Burnable.sol
pragma solidity ^0.8.0;
/**
* @dev Extension of {ERC20} that allows token holders to destroy both their own
* tokens and those that they have an allowance for, in a way that can be
* recognized off-chain (via event analysis).
*/
abstract contract ERC20Burnable is Context, ERC20 {
/**
* @dev Destroys `amount` tokens from the caller.
*
* See {ERC20-_burn}.
*/
function burn(uint256 amount) public virtual {
_burn(_msgSender(), amount);
}
/**
* @dev Destroys `amount` tokens from `account`, deducting from the caller's
* allowance.
*
* See {ERC20-_burn} and {ERC20-allowance}.
*
* Requirements:
*
* - the caller must have allowance for ``accounts``'s tokens of at least
* `amount`.
*/
function burnFrom(address account, uint256 amount) public virtual {
uint256 currentAllowance = allowance(account, _msgSender());
require(currentAllowance >= amount, "ERC20: burn amount exceeds allowance");
unchecked {
_approve(account, _msgSender(), currentAllowance - amount);
}
_burn(account, amount);
}
}
// File: contracts/suki.sol
pragma solidity ^0.8.0;
contract Suki is ERC20, ERC20Burnable {
constructor(uint256 initialSupply) ERC20("Suki","SUKI") {
_mint(msg.sender, initialSupply);
}
}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"},{"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":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b5060405162001fac38038062001fac8339818101604052810190620000379190620002a4565b6040518060400160405280600481526020017f53756b69000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f53554b49000000000000000000000000000000000000000000000000000000008152508160039081620000b4919062000546565b508060049081620000c6919062000546565b505050620000db3382620000e260201b60201c565b5062000748565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200014b906200068e565b60405180910390fd5b62000168600083836200025a60201b60201c565b80600260008282546200017c9190620006df565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001d39190620006df565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200023a91906200072b565b60405180910390a362000256600083836200025f60201b60201c565b5050565b505050565b505050565b600080fd5b6000819050919050565b6200027e8162000269565b81146200028a57600080fd5b50565b6000815190506200029e8162000273565b92915050565b600060208284031215620002bd57620002bc62000264565b5b6000620002cd848285016200028d565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200035857607f821691505b6020821081036200036e576200036d62000310565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003d87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000399565b620003e4868362000399565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000427620004216200041b8462000269565b620003fc565b62000269565b9050919050565b6000819050919050565b620004438362000406565b6200045b62000452826200042e565b848454620003a6565b825550505050565b600090565b6200047262000463565b6200047f81848462000438565b505050565b5b81811015620004a7576200049b60008262000468565b60018101905062000485565b5050565b601f821115620004f657620004c08162000374565b620004cb8462000389565b81016020851015620004db578190505b620004f3620004ea8562000389565b83018262000484565b50505b505050565b600082821c905092915050565b60006200051b60001984600802620004fb565b1980831691505092915050565b600062000536838362000508565b9150826002028217905092915050565b6200055182620002d6565b67ffffffffffffffff8111156200056d576200056c620002e1565b5b6200057982546200033f565b62000586828285620004ab565b600060209050601f831160018114620005be5760008415620005a9578287015190505b620005b5858262000528565b86555062000625565b601f198416620005ce8662000374565b60005b82811015620005f857848901518255600182019150602085019450602081019050620005d1565b8683101562000618578489015162000614601f89168262000508565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000676601f836200062d565b915062000683826200063e565b602082019050919050565b60006020820190508181036000830152620006a98162000667565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620006ec8262000269565b9150620006f98362000269565b9250828201905080821115620007145762000713620006b0565b5b92915050565b620007258162000269565b82525050565b60006020820190506200074260008301846200071a565b92915050565b61185480620007586000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b4114610226578063a457c2d714610244578063a9059cbb14610274578063dd62ed3e146102a4576100cf565b806342966c68146101be57806370a08231146101da57806379cc67901461020a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102d4565b6040516100e99190610ef4565b60405180910390f35b61010c60048036038101906101079190610faf565b610366565b604051610119919061100a565b60405180910390f35b61012a610384565b6040516101379190611034565b60405180910390f35b61015a6004803603810190610155919061104f565b61038e565b604051610167919061100a565b60405180910390f35b610178610486565b60405161018591906110be565b60405180910390f35b6101a860048036038101906101a39190610faf565b61048f565b6040516101b5919061100a565b60405180910390f35b6101d860048036038101906101d391906110d9565b61053b565b005b6101f460048036038101906101ef9190611106565b61054f565b6040516102019190611034565b60405180910390f35b610224600480360381019061021f9190610faf565b610597565b005b61022e610612565b60405161023b9190610ef4565b60405180910390f35b61025e60048036038101906102599190610faf565b6106a4565b60405161026b919061100a565b60405180910390f35b61028e60048036038101906102899190610faf565b61078f565b60405161029b919061100a565b60405180910390f35b6102be60048036038101906102b99190611133565b6107ad565b6040516102cb9190611034565b60405180910390f35b6060600380546102e3906111a2565b80601f016020809104026020016040519081016040528092919081815260200182805461030f906111a2565b801561035c5780601f106103315761010080835404028352916020019161035c565b820191906000526020600020905b81548152906001019060200180831161033f57829003601f168201915b5050505050905090565b600061037a610373610834565b848461083c565b6001905092915050565b6000600254905090565b600061039b848484610a05565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103e6610834565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045d90611245565b60405180910390fd5b61047a85610472610834565b85840361083c565b60019150509392505050565b60006012905090565b600061053161049c610834565b8484600160006104aa610834565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461052c9190611294565b61083c565b6001905092915050565b61054c610546610834565b82610c84565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006105aa836105a5610834565b6107ad565b9050818110156105ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e69061133a565b60405180910390fd5b610603836105fb610834565b84840361083c565b61060d8383610c84565b505050565b606060048054610621906111a2565b80601f016020809104026020016040519081016040528092919081815260200182805461064d906111a2565b801561069a5780601f1061066f5761010080835404028352916020019161069a565b820191906000526020600020905b81548152906001019060200180831161067d57829003601f168201915b5050505050905090565b600080600160006106b3610834565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610770576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610767906113cc565b60405180910390fd5b61078461077b610834565b8585840361083c565b600191505092915050565b60006107a361079c610834565b8484610a05565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a29061145e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361091a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610911906114f0565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516109f89190611034565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6b90611582565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ada90611614565b60405180910390fd5b610aee838383610e5a565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610b74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6b906116a6565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c079190611294565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6b9190611034565b60405180910390a3610c7e848484610e5f565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cea90611738565b60405180910390fd5b610cff82600083610e5a565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7c906117ca565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254610ddc91906117ea565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e419190611034565b60405180910390a3610e5583600084610e5f565b505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e9e578082015181840152602081019050610e83565b60008484015250505050565b6000601f19601f8301169050919050565b6000610ec682610e64565b610ed08185610e6f565b9350610ee0818560208601610e80565b610ee981610eaa565b840191505092915050565b60006020820190508181036000830152610f0e8184610ebb565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f4682610f1b565b9050919050565b610f5681610f3b565b8114610f6157600080fd5b50565b600081359050610f7381610f4d565b92915050565b6000819050919050565b610f8c81610f79565b8114610f9757600080fd5b50565b600081359050610fa981610f83565b92915050565b60008060408385031215610fc657610fc5610f16565b5b6000610fd485828601610f64565b9250506020610fe585828601610f9a565b9150509250929050565b60008115159050919050565b61100481610fef565b82525050565b600060208201905061101f6000830184610ffb565b92915050565b61102e81610f79565b82525050565b60006020820190506110496000830184611025565b92915050565b60008060006060848603121561106857611067610f16565b5b600061107686828701610f64565b935050602061108786828701610f64565b925050604061109886828701610f9a565b9150509250925092565b600060ff82169050919050565b6110b8816110a2565b82525050565b60006020820190506110d360008301846110af565b92915050565b6000602082840312156110ef576110ee610f16565b5b60006110fd84828501610f9a565b91505092915050565b60006020828403121561111c5761111b610f16565b5b600061112a84828501610f64565b91505092915050565b6000806040838503121561114a57611149610f16565b5b600061115885828601610f64565b925050602061116985828601610f64565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806111ba57607f821691505b6020821081036111cd576111cc611173565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061122f602883610e6f565b915061123a826111d3565b604082019050919050565b6000602082019050818103600083015261125e81611222565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061129f82610f79565b91506112aa83610f79565b92508282019050808211156112c2576112c1611265565b5b92915050565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b6000611324602483610e6f565b915061132f826112c8565b604082019050919050565b6000602082019050818103600083015261135381611317565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006113b6602583610e6f565b91506113c18261135a565b604082019050919050565b600060208201905081810360008301526113e5816113a9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611448602483610e6f565b9150611453826113ec565b604082019050919050565b600060208201905081810360008301526114778161143b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006114da602283610e6f565b91506114e58261147e565b604082019050919050565b60006020820190508181036000830152611509816114cd565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061156c602583610e6f565b915061157782611510565b604082019050919050565b6000602082019050818103600083015261159b8161155f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006115fe602383610e6f565b9150611609826115a2565b604082019050919050565b6000602082019050818103600083015261162d816115f1565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611690602683610e6f565b915061169b82611634565b604082019050919050565b600060208201905081810360008301526116bf81611683565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611722602183610e6f565b915061172d826116c6565b604082019050919050565b6000602082019050818103600083015261175181611715565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006117b4602283610e6f565b91506117bf82611758565b604082019050919050565b600060208201905081810360008301526117e3816117a7565b9050919050565b60006117f582610f79565b915061180083610f79565b925082820390508181111561181857611817611265565b5b9291505056fea264697066735822122081c49b628506cc8b3550277ec35adf847221691236840bec6b5a9685689547cb64736f6c6343000812003300000000000000000000000000000000000000000000d3c21bcecceda1000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b4114610226578063a457c2d714610244578063a9059cbb14610274578063dd62ed3e146102a4576100cf565b806342966c68146101be57806370a08231146101da57806379cc67901461020a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102d4565b6040516100e99190610ef4565b60405180910390f35b61010c60048036038101906101079190610faf565b610366565b604051610119919061100a565b60405180910390f35b61012a610384565b6040516101379190611034565b60405180910390f35b61015a6004803603810190610155919061104f565b61038e565b604051610167919061100a565b60405180910390f35b610178610486565b60405161018591906110be565b60405180910390f35b6101a860048036038101906101a39190610faf565b61048f565b6040516101b5919061100a565b60405180910390f35b6101d860048036038101906101d391906110d9565b61053b565b005b6101f460048036038101906101ef9190611106565b61054f565b6040516102019190611034565b60405180910390f35b610224600480360381019061021f9190610faf565b610597565b005b61022e610612565b60405161023b9190610ef4565b60405180910390f35b61025e60048036038101906102599190610faf565b6106a4565b60405161026b919061100a565b60405180910390f35b61028e60048036038101906102899190610faf565b61078f565b60405161029b919061100a565b60405180910390f35b6102be60048036038101906102b99190611133565b6107ad565b6040516102cb9190611034565b60405180910390f35b6060600380546102e3906111a2565b80601f016020809104026020016040519081016040528092919081815260200182805461030f906111a2565b801561035c5780601f106103315761010080835404028352916020019161035c565b820191906000526020600020905b81548152906001019060200180831161033f57829003601f168201915b5050505050905090565b600061037a610373610834565b848461083c565b6001905092915050565b6000600254905090565b600061039b848484610a05565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103e6610834565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045d90611245565b60405180910390fd5b61047a85610472610834565b85840361083c565b60019150509392505050565b60006012905090565b600061053161049c610834565b8484600160006104aa610834565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461052c9190611294565b61083c565b6001905092915050565b61054c610546610834565b82610c84565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006105aa836105a5610834565b6107ad565b9050818110156105ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e69061133a565b60405180910390fd5b610603836105fb610834565b84840361083c565b61060d8383610c84565b505050565b606060048054610621906111a2565b80601f016020809104026020016040519081016040528092919081815260200182805461064d906111a2565b801561069a5780601f1061066f5761010080835404028352916020019161069a565b820191906000526020600020905b81548152906001019060200180831161067d57829003601f168201915b5050505050905090565b600080600160006106b3610834565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610770576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610767906113cc565b60405180910390fd5b61078461077b610834565b8585840361083c565b600191505092915050565b60006107a361079c610834565b8484610a05565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a29061145e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361091a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610911906114f0565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516109f89190611034565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6b90611582565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ada90611614565b60405180910390fd5b610aee838383610e5a565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610b74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6b906116a6565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c079190611294565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6b9190611034565b60405180910390a3610c7e848484610e5f565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cea90611738565b60405180910390fd5b610cff82600083610e5a565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7c906117ca565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254610ddc91906117ea565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e419190611034565b60405180910390a3610e5583600084610e5f565b505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e9e578082015181840152602081019050610e83565b60008484015250505050565b6000601f19601f8301169050919050565b6000610ec682610e64565b610ed08185610e6f565b9350610ee0818560208601610e80565b610ee981610eaa565b840191505092915050565b60006020820190508181036000830152610f0e8184610ebb565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f4682610f1b565b9050919050565b610f5681610f3b565b8114610f6157600080fd5b50565b600081359050610f7381610f4d565b92915050565b6000819050919050565b610f8c81610f79565b8114610f9757600080fd5b50565b600081359050610fa981610f83565b92915050565b60008060408385031215610fc657610fc5610f16565b5b6000610fd485828601610f64565b9250506020610fe585828601610f9a565b9150509250929050565b60008115159050919050565b61100481610fef565b82525050565b600060208201905061101f6000830184610ffb565b92915050565b61102e81610f79565b82525050565b60006020820190506110496000830184611025565b92915050565b60008060006060848603121561106857611067610f16565b5b600061107686828701610f64565b935050602061108786828701610f64565b925050604061109886828701610f9a565b9150509250925092565b600060ff82169050919050565b6110b8816110a2565b82525050565b60006020820190506110d360008301846110af565b92915050565b6000602082840312156110ef576110ee610f16565b5b60006110fd84828501610f9a565b91505092915050565b60006020828403121561111c5761111b610f16565b5b600061112a84828501610f64565b91505092915050565b6000806040838503121561114a57611149610f16565b5b600061115885828601610f64565b925050602061116985828601610f64565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806111ba57607f821691505b6020821081036111cd576111cc611173565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061122f602883610e6f565b915061123a826111d3565b604082019050919050565b6000602082019050818103600083015261125e81611222565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061129f82610f79565b91506112aa83610f79565b92508282019050808211156112c2576112c1611265565b5b92915050565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b6000611324602483610e6f565b915061132f826112c8565b604082019050919050565b6000602082019050818103600083015261135381611317565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006113b6602583610e6f565b91506113c18261135a565b604082019050919050565b600060208201905081810360008301526113e5816113a9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611448602483610e6f565b9150611453826113ec565b604082019050919050565b600060208201905081810360008301526114778161143b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006114da602283610e6f565b91506114e58261147e565b604082019050919050565b60006020820190508181036000830152611509816114cd565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061156c602583610e6f565b915061157782611510565b604082019050919050565b6000602082019050818103600083015261159b8161155f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006115fe602383610e6f565b9150611609826115a2565b604082019050919050565b6000602082019050818103600083015261162d816115f1565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611690602683610e6f565b915061169b82611634565b604082019050919050565b600060208201905081810360008301526116bf81611683565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611722602183610e6f565b915061172d826116c6565b604082019050919050565b6000602082019050818103600083015261175181611715565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006117b4602283610e6f565b91506117bf82611758565b604082019050919050565b600060208201905081810360008301526117e3816117a7565b9050919050565b60006117f582610f79565b915061180083610f79565b925082820390508181111561181857611817611265565b5b9291505056fea264697066735822122081c49b628506cc8b3550277ec35adf847221691236840bec6b5a9685689547cb64736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000d3c21bcecceda1000000
-----Decoded View---------------
Arg [0] : initialSupply (uint256): 1000000000000000000000000
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000d3c21bcecceda1000000
Deployed Bytecode Sourcemap
17735:151:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6430:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8597:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7550:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9248:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7392:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10149:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16888:91;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7721:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17298:368;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6649:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10867:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8061:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8299:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6430:100;6484:13;6517:5;6510:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6430:100;:::o;8597:169::-;8680:4;8697:39;8706:12;:10;:12::i;:::-;8720:7;8729:6;8697:8;:39::i;:::-;8754:4;8747:11;;8597:169;;;;:::o;7550:108::-;7611:7;7638:12;;7631:19;;7550:108;:::o;9248:492::-;9388:4;9405:36;9415:6;9423:9;9434:6;9405:9;:36::i;:::-;9454:24;9481:11;:19;9493:6;9481:19;;;;;;;;;;;;;;;:33;9501:12;:10;:12::i;:::-;9481:33;;;;;;;;;;;;;;;;9454:60;;9553:6;9533:16;:26;;9525:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9640:57;9649:6;9657:12;:10;:12::i;:::-;9690:6;9671:16;:25;9640:8;:57::i;:::-;9728:4;9721:11;;;9248:492;;;;;:::o;7392:93::-;7450:5;7475:2;7468:9;;7392:93;:::o;10149:215::-;10237:4;10254:80;10263:12;:10;:12::i;:::-;10277:7;10323:10;10286:11;:25;10298:12;:10;:12::i;:::-;10286:25;;;;;;;;;;;;;;;:34;10312:7;10286:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;10254:8;:80::i;:::-;10352:4;10345:11;;10149:215;;;;:::o;16888:91::-;16944:27;16950:12;:10;:12::i;:::-;16964:6;16944:5;:27::i;:::-;16888:91;:::o;7721:127::-;7795:7;7822:9;:18;7832:7;7822:18;;;;;;;;;;;;;;;;7815:25;;7721:127;;;:::o;17298:368::-;17375:24;17402:32;17412:7;17421:12;:10;:12::i;:::-;17402:9;:32::i;:::-;17375:59;;17473:6;17453:16;:26;;17445:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;17556:58;17565:7;17574:12;:10;:12::i;:::-;17607:6;17588:16;:25;17556:8;:58::i;:::-;17636:22;17642:7;17651:6;17636:5;:22::i;:::-;17364:302;17298:368;;:::o;6649:104::-;6705:13;6738:7;6731:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6649:104;:::o;10867:413::-;10960:4;10977:24;11004:11;:25;11016:12;:10;:12::i;:::-;11004:25;;;;;;;;;;;;;;;:34;11030:7;11004:34;;;;;;;;;;;;;;;;10977:61;;11077:15;11057:16;:35;;11049:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11170:67;11179:12;:10;:12::i;:::-;11193:7;11221:15;11202:16;:34;11170:8;:67::i;:::-;11268:4;11261:11;;;10867:413;;;;:::o;8061:175::-;8147:4;8164:42;8174:12;:10;:12::i;:::-;8188:9;8199:6;8164:9;:42::i;:::-;8224:4;8217:11;;8061:175;;;;:::o;8299:151::-;8388:7;8415:11;:18;8427:5;8415:18;;;;;;;;;;;;;;;:27;8434:7;8415:27;;;;;;;;;;;;;;;;8408:34;;8299:151;;;;:::o;631:98::-;684:7;711:10;704:17;;631:98;:::o;14551:380::-;14704:1;14687:19;;:5;:19;;;14679:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14785:1;14766:21;;:7;:21;;;14758:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14869:6;14839:11;:18;14851:5;14839:18;;;;;;;;;;;;;;;:27;14858:7;14839:27;;;;;;;;;;;;;;;:36;;;;14907:7;14891:32;;14900:5;14891:32;;;14916:6;14891:32;;;;;;:::i;:::-;;;;;;;;14551:380;;;:::o;11770:733::-;11928:1;11910:20;;:6;:20;;;11902:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12012:1;11991:23;;:9;:23;;;11983:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12067:47;12088:6;12096:9;12107:6;12067:20;:47::i;:::-;12127:21;12151:9;:17;12161:6;12151:17;;;;;;;;;;;;;;;;12127:41;;12204:6;12187:13;:23;;12179:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12325:6;12309:13;:22;12289:9;:17;12299:6;12289:17;;;;;;;;;;;;;;;:42;;;;12377:6;12353:9;:20;12363:9;12353:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;12418:9;12401:35;;12410:6;12401:35;;;12429:6;12401:35;;;;;;:::i;:::-;;;;;;;;12449:46;12469:6;12477:9;12488:6;12449:19;:46::i;:::-;11891:612;11770:733;;;:::o;13522:591::-;13625:1;13606:21;;:7;:21;;;13598:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13678:49;13699:7;13716:1;13720:6;13678:20;:49::i;:::-;13740:22;13765:9;:18;13775:7;13765:18;;;;;;;;;;;;;;;;13740:43;;13820:6;13802:14;:24;;13794:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13939:6;13922:14;:23;13901:9;:18;13911:7;13901:18;;;;;;;;;;;;;;;:44;;;;13983:6;13967:12;;:22;;;;;;;:::i;:::-;;;;;;;;14033:1;14007:37;;14016:7;14007:37;;;14037:6;14007:37;;;;;;:::i;:::-;;;;;;;;14057:48;14077:7;14094:1;14098:6;14057:19;:48::i;:::-;13587:526;13522:591;;:::o;15531:125::-;;;;:::o;16260:124::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:474::-;5591:6;5599;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5901:2;5927:53;5972:7;5963:6;5952:9;5948:22;5927:53;:::i;:::-;5917:63;;5872:118;5523:474;;;;;:::o;6003:180::-;6051:77;6048:1;6041:88;6148:4;6145:1;6138:15;6172:4;6169:1;6162:15;6189:320;6233:6;6270:1;6264:4;6260:12;6250:22;;6317:1;6311:4;6307:12;6338:18;6328:81;;6394:4;6386:6;6382:17;6372:27;;6328:81;6456:2;6448:6;6445:14;6425:18;6422:38;6419:84;;6475:18;;:::i;:::-;6419:84;6240:269;6189:320;;;:::o;6515:227::-;6655:34;6651:1;6643:6;6639:14;6632:58;6724:10;6719:2;6711:6;6707:15;6700:35;6515:227;:::o;6748:366::-;6890:3;6911:67;6975:2;6970:3;6911:67;:::i;:::-;6904:74;;6987:93;7076:3;6987:93;:::i;:::-;7105:2;7100:3;7096:12;7089:19;;6748:366;;;:::o;7120:419::-;7286:4;7324:2;7313:9;7309:18;7301:26;;7373:9;7367:4;7363:20;7359:1;7348:9;7344:17;7337:47;7401:131;7527:4;7401:131;:::i;:::-;7393:139;;7120:419;;;:::o;7545:180::-;7593:77;7590:1;7583:88;7690:4;7687:1;7680:15;7714:4;7711:1;7704:15;7731:191;7771:3;7790:20;7808:1;7790:20;:::i;:::-;7785:25;;7824:20;7842:1;7824:20;:::i;:::-;7819:25;;7867:1;7864;7860:9;7853:16;;7888:3;7885:1;7882:10;7879:36;;;7895:18;;:::i;:::-;7879:36;7731:191;;;;:::o;7928:223::-;8068:34;8064:1;8056:6;8052:14;8045:58;8137:6;8132:2;8124:6;8120:15;8113:31;7928:223;:::o;8157:366::-;8299:3;8320:67;8384:2;8379:3;8320:67;:::i;:::-;8313:74;;8396:93;8485:3;8396:93;:::i;:::-;8514:2;8509:3;8505:12;8498:19;;8157:366;;;:::o;8529:419::-;8695:4;8733:2;8722:9;8718:18;8710:26;;8782:9;8776:4;8772:20;8768:1;8757:9;8753:17;8746:47;8810:131;8936:4;8810:131;:::i;:::-;8802:139;;8529:419;;;:::o;8954:224::-;9094:34;9090:1;9082:6;9078:14;9071:58;9163:7;9158:2;9150:6;9146:15;9139:32;8954:224;:::o;9184:366::-;9326:3;9347:67;9411:2;9406:3;9347:67;:::i;:::-;9340:74;;9423:93;9512:3;9423:93;:::i;:::-;9541:2;9536:3;9532:12;9525:19;;9184:366;;;:::o;9556:419::-;9722:4;9760:2;9749:9;9745:18;9737:26;;9809:9;9803:4;9799:20;9795:1;9784:9;9780:17;9773:47;9837:131;9963:4;9837:131;:::i;:::-;9829:139;;9556:419;;;:::o;9981:223::-;10121:34;10117:1;10109:6;10105:14;10098:58;10190:6;10185:2;10177:6;10173:15;10166:31;9981:223;:::o;10210:366::-;10352:3;10373:67;10437:2;10432:3;10373:67;:::i;:::-;10366:74;;10449:93;10538:3;10449:93;:::i;:::-;10567:2;10562:3;10558:12;10551:19;;10210:366;;;:::o;10582:419::-;10748:4;10786:2;10775:9;10771:18;10763:26;;10835:9;10829:4;10825:20;10821:1;10810:9;10806:17;10799:47;10863:131;10989:4;10863:131;:::i;:::-;10855:139;;10582:419;;;:::o;11007:221::-;11147:34;11143:1;11135:6;11131:14;11124:58;11216:4;11211:2;11203:6;11199:15;11192:29;11007:221;:::o;11234:366::-;11376:3;11397:67;11461:2;11456:3;11397:67;:::i;:::-;11390:74;;11473:93;11562:3;11473:93;:::i;:::-;11591:2;11586:3;11582:12;11575:19;;11234:366;;;:::o;11606:419::-;11772:4;11810:2;11799:9;11795:18;11787:26;;11859:9;11853:4;11849:20;11845:1;11834:9;11830:17;11823:47;11887:131;12013:4;11887:131;:::i;:::-;11879:139;;11606:419;;;:::o;12031:224::-;12171:34;12167:1;12159:6;12155:14;12148:58;12240:7;12235:2;12227:6;12223:15;12216:32;12031:224;:::o;12261:366::-;12403:3;12424:67;12488:2;12483:3;12424:67;:::i;:::-;12417:74;;12500:93;12589:3;12500:93;:::i;:::-;12618:2;12613:3;12609:12;12602:19;;12261:366;;;:::o;12633:419::-;12799:4;12837:2;12826:9;12822:18;12814:26;;12886:9;12880:4;12876:20;12872:1;12861:9;12857:17;12850:47;12914:131;13040:4;12914:131;:::i;:::-;12906:139;;12633:419;;;:::o;13058:222::-;13198:34;13194:1;13186:6;13182:14;13175:58;13267:5;13262:2;13254:6;13250:15;13243:30;13058:222;:::o;13286:366::-;13428:3;13449:67;13513:2;13508:3;13449:67;:::i;:::-;13442:74;;13525:93;13614:3;13525:93;:::i;:::-;13643:2;13638:3;13634:12;13627:19;;13286:366;;;:::o;13658:419::-;13824:4;13862:2;13851:9;13847:18;13839:26;;13911:9;13905:4;13901:20;13897:1;13886:9;13882:17;13875:47;13939:131;14065:4;13939:131;:::i;:::-;13931:139;;13658:419;;;:::o;14083:225::-;14223:34;14219:1;14211:6;14207:14;14200:58;14292:8;14287:2;14279:6;14275:15;14268:33;14083:225;:::o;14314:366::-;14456:3;14477:67;14541:2;14536:3;14477:67;:::i;:::-;14470:74;;14553:93;14642:3;14553:93;:::i;:::-;14671:2;14666:3;14662:12;14655:19;;14314:366;;;:::o;14686:419::-;14852:4;14890:2;14879:9;14875:18;14867:26;;14939:9;14933:4;14929:20;14925:1;14914:9;14910:17;14903:47;14967:131;15093:4;14967:131;:::i;:::-;14959:139;;14686:419;;;:::o;15111:220::-;15251:34;15247:1;15239:6;15235:14;15228:58;15320:3;15315:2;15307:6;15303:15;15296:28;15111:220;:::o;15337:366::-;15479:3;15500:67;15564:2;15559:3;15500:67;:::i;:::-;15493:74;;15576:93;15665:3;15576:93;:::i;:::-;15694:2;15689:3;15685:12;15678:19;;15337:366;;;:::o;15709:419::-;15875:4;15913:2;15902:9;15898:18;15890:26;;15962:9;15956:4;15952:20;15948:1;15937:9;15933:17;15926:47;15990:131;16116:4;15990:131;:::i;:::-;15982:139;;15709:419;;;:::o;16134:221::-;16274:34;16270:1;16262:6;16258:14;16251:58;16343:4;16338:2;16330:6;16326:15;16319:29;16134:221;:::o;16361:366::-;16503:3;16524:67;16588:2;16583:3;16524:67;:::i;:::-;16517:74;;16600:93;16689:3;16600:93;:::i;:::-;16718:2;16713:3;16709:12;16702:19;;16361:366;;;:::o;16733:419::-;16899:4;16937:2;16926:9;16922:18;16914:26;;16986:9;16980:4;16976:20;16972:1;16961:9;16957:17;16950:47;17014:131;17140:4;17014:131;:::i;:::-;17006:139;;16733:419;;;:::o;17158:194::-;17198:4;17218:20;17236:1;17218:20;:::i;:::-;17213:25;;17252:20;17270:1;17252:20;:::i;:::-;17247:25;;17296:1;17293;17289:9;17281:17;;17320:1;17314:4;17311:11;17308:37;;;17325:18;;:::i;:::-;17308:37;17158:194;;;;:::o
Swarm Source
ipfs://81c49b628506cc8b3550277ec35adf847221691236840bec6b5a9685689547cb
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 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.