Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
BTD
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2021-11-02
*/
// SPDX-License-Identifier: MIT
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:
*
* 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);
}
/**
* @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);
}
/*
* @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) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* By default, the owner account will be the one that deploys the contract. This
* can later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor () {
address msgSender = _msgSender();
_owner = msg.sender;
emit OwnershipTransferred(address(0), msgSender);
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions anymore. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby removing any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
/**
* @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 guidelines: functions revert instead
* of 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 BTD is Context, IERC20, IERC20Metadata, Ownable{
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 defaut 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 () {
_name = "BonnetDoge";
_symbol = "BTD ";
_totalSupply;
_mint(owner(), 5000000000000 * 10 ** (decimals()) );
}
/**
* @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");
_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");
_approve(_msgSender(), spender, currentAllowance - subtractedValue);
return true;
}
/**
* @dev Moves tokens `amount` from `sender` to `recipient`.
*
* This is 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), "ERC2020: 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");
_balances[sender] = senderBalance - amount;
_balances[recipient] += amount;
emit Transfer(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:
*
* - `to` 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);
}
/**
* @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");
_balances[account] = accountBalance - amount;
_totalSupply -= amount;
emit Transfer(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 to 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 { }
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b50600062000024620001b560201b60201c565b9050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600a81526020017f426f6e6e6574446f676500000000000000000000000000000000000000000000815250600490805190602001906200010f9291906200035a565b506040518060400160405280600481526020017f4254442000000000000000000000000000000000000000000000000000000000815250600590805190602001906200015d9291906200035a565b50620001af62000172620001bd60201b60201c565b62000182620001e660201b60201c565b600a6200019091906200054a565b65048c27395000620001a3919062000687565b620001ef60201b60201c565b620007c9565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000262576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002599062000442565b60405180910390fd5b62000276600083836200035560201b60201c565b80600360008282546200028a919062000492565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002e2919062000492565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000349919062000464565b60405180910390a35050565b505050565b8280546200036890620006ff565b90600052602060002090601f0160209004810192826200038c5760008555620003d8565b82601f10620003a757805160ff1916838001178555620003d8565b82800160010185558215620003d8579182015b82811115620003d7578251825591602001919060010190620003ba565b5b509050620003e79190620003eb565b5090565b5b8082111562000406576000816000905550600101620003ec565b5090565b600062000419601f8362000481565b91506200042682620007a0565b602082019050919050565b6200043c81620006e8565b82525050565b600060208201905081810360008301526200045d816200040a565b9050919050565b60006020820190506200047b600083018462000431565b92915050565b600082825260208201905092915050565b60006200049f82620006e8565b9150620004ac83620006e8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620004e457620004e362000735565b5b828201905092915050565b6000808291508390505b6001851115620005415780860481111562000519576200051862000735565b5b6001851615620005295780820291505b8081029050620005398562000793565b9450620004f9565b94509492505050565b60006200055782620006e8565b91506200056483620006f2565b9250620005937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200059b565b905092915050565b600082620005ad576001905062000680565b81620005bd576000905062000680565b8160018114620005d65760028114620005e15762000617565b600191505062000680565b60ff841115620005f657620005f562000735565b5b8360020a91508482111562000610576200060f62000735565b5b5062000680565b5060208310610133831016604e8410600b8410161715620006515782820a9050838111156200064b576200064a62000735565b5b62000680565b620006608484846001620004ef565b925090508184048111156200067a576200067962000735565b5b81810290505b9392505050565b60006200069482620006e8565b9150620006a183620006e8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006dd57620006dc62000735565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200071857607f821691505b602082108114156200072f576200072e62000764565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6118a680620007d96000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063715018a61161008c578063a457c2d711610066578063a457c2d71461024f578063a9059cbb1461027f578063dd62ed3e146102af578063f2fde38b146102df576100ea565b8063715018a6146102095780638da5cb5b1461021357806395d89b4114610231576100ea565b806323b872dd116100c857806323b872dd1461015b578063313ce5671461018b57806339509351146101a957806370a08231146101d9576100ea565b806306fdde03146100ef578063095ea7b31461010d57806318160ddd1461013d575b600080fd5b6100f76102fb565b6040516101049190611255565b60405180910390f35b6101276004803603810190610122919061102f565b61038d565b604051610134919061123a565b60405180910390f35b6101456103ab565b6040516101529190611397565b60405180910390f35b61017560048036038101906101709190610fdc565b6103b5565b604051610182919061123a565b60405180910390f35b6101936104b6565b6040516101a091906113b2565b60405180910390f35b6101c360048036038101906101be919061102f565b6104bf565b6040516101d0919061123a565b60405180910390f35b6101f360048036038101906101ee9190610f6f565b61056b565b6040516102009190611397565b60405180910390f35b6102116105b4565b005b61021b6106ee565b604051610228919061121f565b60405180910390f35b610239610717565b6040516102469190611255565b60405180910390f35b6102696004803603810190610264919061102f565b6107a9565b604051610276919061123a565b60405180910390f35b6102996004803603810190610294919061102f565b61089d565b6040516102a6919061123a565b60405180910390f35b6102c960048036038101906102c49190610f9c565b6108bb565b6040516102d69190611397565b60405180910390f35b6102f960048036038101906102f49190610f6f565b610942565b005b60606004805461030a906114fb565b80601f0160208091040260200160405190810160405280929190818152602001828054610336906114fb565b80156103835780601f1061035857610100808354040283529160200191610383565b820191906000526020600020905b81548152906001019060200180831161036657829003601f168201915b5050505050905090565b60006103a161039a610aeb565b8484610af3565b6001905092915050565b6000600354905090565b60006103c2848484610cbe565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061040d610aeb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561048d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048490611317565b60405180910390fd5b6104aa85610499610aeb565b85846104a5919061143f565b610af3565b60019150509392505050565b60006012905090565b60006105616104cc610aeb565b8484600260006104da610aeb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461055c91906113e9565b610af3565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105bc610aeb565b73ffffffffffffffffffffffffffffffffffffffff166105da6106ee565b73ffffffffffffffffffffffffffffffffffffffff1614610630576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062790611337565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610726906114fb565b80601f0160208091040260200160405190810160405280929190818152602001828054610752906114fb565b801561079f5780601f106107745761010080835404028352916020019161079f565b820191906000526020600020905b81548152906001019060200180831161078257829003601f168201915b5050505050905090565b600080600260006107b8610aeb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086c90611377565b60405180910390fd5b610892610880610aeb565b85858461088d919061143f565b610af3565b600191505092915050565b60006108b16108aa610aeb565b8484610cbe565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61094a610aeb565b73ffffffffffffffffffffffffffffffffffffffff166109686106ee565b73ffffffffffffffffffffffffffffffffffffffff16146109be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b590611337565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2590611297565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5a90611357565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bca906112b7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cb19190611397565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d25906112f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9590611277565b60405180910390fd5b610da9838383610f40565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e27906112d7565b60405180910390fd5b8181610e3c919061143f565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ece91906113e9565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f329190611397565b60405180910390a350505050565b505050565b600081359050610f5481611842565b92915050565b600081359050610f6981611859565b92915050565b600060208284031215610f8557610f8461158b565b5b6000610f9384828501610f45565b91505092915050565b60008060408385031215610fb357610fb261158b565b5b6000610fc185828601610f45565b9250506020610fd285828601610f45565b9150509250929050565b600080600060608486031215610ff557610ff461158b565b5b600061100386828701610f45565b935050602061101486828701610f45565b925050604061102586828701610f5a565b9150509250925092565b600080604083850312156110465761104561158b565b5b600061105485828601610f45565b925050602061106585828601610f5a565b9150509250929050565b61107881611473565b82525050565b61108781611485565b82525050565b6000611098826113cd565b6110a281856113d8565b93506110b28185602086016114c8565b6110bb81611590565b840191505092915050565b60006110d36023836113d8565b91506110de826115a1565b604082019050919050565b60006110f66026836113d8565b9150611101826115f0565b604082019050919050565b60006111196022836113d8565b91506111248261163f565b604082019050919050565b600061113c6026836113d8565b91506111478261168e565b604082019050919050565b600061115f6027836113d8565b915061116a826116dd565b604082019050919050565b60006111826028836113d8565b915061118d8261172c565b604082019050919050565b60006111a56020836113d8565b91506111b08261177b565b602082019050919050565b60006111c86024836113d8565b91506111d3826117a4565b604082019050919050565b60006111eb6025836113d8565b91506111f6826117f3565b604082019050919050565b61120a816114b1565b82525050565b611219816114bb565b82525050565b6000602082019050611234600083018461106f565b92915050565b600060208201905061124f600083018461107e565b92915050565b6000602082019050818103600083015261126f818461108d565b905092915050565b60006020820190508181036000830152611290816110c6565b9050919050565b600060208201905081810360008301526112b0816110e9565b9050919050565b600060208201905081810360008301526112d08161110c565b9050919050565b600060208201905081810360008301526112f08161112f565b9050919050565b6000602082019050818103600083015261131081611152565b9050919050565b6000602082019050818103600083015261133081611175565b9050919050565b6000602082019050818103600083015261135081611198565b9050919050565b60006020820190508181036000830152611370816111bb565b9050919050565b60006020820190508181036000830152611390816111de565b9050919050565b60006020820190506113ac6000830184611201565b92915050565b60006020820190506113c76000830184611210565b92915050565b600081519050919050565b600082825260208201905092915050565b60006113f4826114b1565b91506113ff836114b1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156114345761143361152d565b5b828201905092915050565b600061144a826114b1565b9150611455836114b1565b9250828210156114685761146761152d565b5b828203905092915050565b600061147e82611491565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156114e65780820151818401526020810190506114cb565b838111156114f5576000848401525b50505050565b6000600282049050600182168061151357607f821691505b602082108114156115275761152661155c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f455243323032303a207472616e736665722066726f6d20746865207a65726f2060008201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61184b81611473565b811461185657600080fd5b50565b611862816114b1565b811461186d57600080fd5b5056fea264697066735822122039cb8ee85c66d0abd396ed1f17c590a2a1ba7c3b7ea52f49df183fb8db49f54a64736f6c63430008070033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063715018a61161008c578063a457c2d711610066578063a457c2d71461024f578063a9059cbb1461027f578063dd62ed3e146102af578063f2fde38b146102df576100ea565b8063715018a6146102095780638da5cb5b1461021357806395d89b4114610231576100ea565b806323b872dd116100c857806323b872dd1461015b578063313ce5671461018b57806339509351146101a957806370a08231146101d9576100ea565b806306fdde03146100ef578063095ea7b31461010d57806318160ddd1461013d575b600080fd5b6100f76102fb565b6040516101049190611255565b60405180910390f35b6101276004803603810190610122919061102f565b61038d565b604051610134919061123a565b60405180910390f35b6101456103ab565b6040516101529190611397565b60405180910390f35b61017560048036038101906101709190610fdc565b6103b5565b604051610182919061123a565b60405180910390f35b6101936104b6565b6040516101a091906113b2565b60405180910390f35b6101c360048036038101906101be919061102f565b6104bf565b6040516101d0919061123a565b60405180910390f35b6101f360048036038101906101ee9190610f6f565b61056b565b6040516102009190611397565b60405180910390f35b6102116105b4565b005b61021b6106ee565b604051610228919061121f565b60405180910390f35b610239610717565b6040516102469190611255565b60405180910390f35b6102696004803603810190610264919061102f565b6107a9565b604051610276919061123a565b60405180910390f35b6102996004803603810190610294919061102f565b61089d565b6040516102a6919061123a565b60405180910390f35b6102c960048036038101906102c49190610f9c565b6108bb565b6040516102d69190611397565b60405180910390f35b6102f960048036038101906102f49190610f6f565b610942565b005b60606004805461030a906114fb565b80601f0160208091040260200160405190810160405280929190818152602001828054610336906114fb565b80156103835780601f1061035857610100808354040283529160200191610383565b820191906000526020600020905b81548152906001019060200180831161036657829003601f168201915b5050505050905090565b60006103a161039a610aeb565b8484610af3565b6001905092915050565b6000600354905090565b60006103c2848484610cbe565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061040d610aeb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561048d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048490611317565b60405180910390fd5b6104aa85610499610aeb565b85846104a5919061143f565b610af3565b60019150509392505050565b60006012905090565b60006105616104cc610aeb565b8484600260006104da610aeb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461055c91906113e9565b610af3565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105bc610aeb565b73ffffffffffffffffffffffffffffffffffffffff166105da6106ee565b73ffffffffffffffffffffffffffffffffffffffff1614610630576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062790611337565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610726906114fb565b80601f0160208091040260200160405190810160405280929190818152602001828054610752906114fb565b801561079f5780601f106107745761010080835404028352916020019161079f565b820191906000526020600020905b81548152906001019060200180831161078257829003601f168201915b5050505050905090565b600080600260006107b8610aeb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086c90611377565b60405180910390fd5b610892610880610aeb565b85858461088d919061143f565b610af3565b600191505092915050565b60006108b16108aa610aeb565b8484610cbe565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61094a610aeb565b73ffffffffffffffffffffffffffffffffffffffff166109686106ee565b73ffffffffffffffffffffffffffffffffffffffff16146109be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b590611337565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2590611297565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5a90611357565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bca906112b7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cb19190611397565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d25906112f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9590611277565b60405180910390fd5b610da9838383610f40565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e27906112d7565b60405180910390fd5b8181610e3c919061143f565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ece91906113e9565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f329190611397565b60405180910390a350505050565b505050565b600081359050610f5481611842565b92915050565b600081359050610f6981611859565b92915050565b600060208284031215610f8557610f8461158b565b5b6000610f9384828501610f45565b91505092915050565b60008060408385031215610fb357610fb261158b565b5b6000610fc185828601610f45565b9250506020610fd285828601610f45565b9150509250929050565b600080600060608486031215610ff557610ff461158b565b5b600061100386828701610f45565b935050602061101486828701610f45565b925050604061102586828701610f5a565b9150509250925092565b600080604083850312156110465761104561158b565b5b600061105485828601610f45565b925050602061106585828601610f5a565b9150509250929050565b61107881611473565b82525050565b61108781611485565b82525050565b6000611098826113cd565b6110a281856113d8565b93506110b28185602086016114c8565b6110bb81611590565b840191505092915050565b60006110d36023836113d8565b91506110de826115a1565b604082019050919050565b60006110f66026836113d8565b9150611101826115f0565b604082019050919050565b60006111196022836113d8565b91506111248261163f565b604082019050919050565b600061113c6026836113d8565b91506111478261168e565b604082019050919050565b600061115f6027836113d8565b915061116a826116dd565b604082019050919050565b60006111826028836113d8565b915061118d8261172c565b604082019050919050565b60006111a56020836113d8565b91506111b08261177b565b602082019050919050565b60006111c86024836113d8565b91506111d3826117a4565b604082019050919050565b60006111eb6025836113d8565b91506111f6826117f3565b604082019050919050565b61120a816114b1565b82525050565b611219816114bb565b82525050565b6000602082019050611234600083018461106f565b92915050565b600060208201905061124f600083018461107e565b92915050565b6000602082019050818103600083015261126f818461108d565b905092915050565b60006020820190508181036000830152611290816110c6565b9050919050565b600060208201905081810360008301526112b0816110e9565b9050919050565b600060208201905081810360008301526112d08161110c565b9050919050565b600060208201905081810360008301526112f08161112f565b9050919050565b6000602082019050818103600083015261131081611152565b9050919050565b6000602082019050818103600083015261133081611175565b9050919050565b6000602082019050818103600083015261135081611198565b9050919050565b60006020820190508181036000830152611370816111bb565b9050919050565b60006020820190508181036000830152611390816111de565b9050919050565b60006020820190506113ac6000830184611201565b92915050565b60006020820190506113c76000830184611210565b92915050565b600081519050919050565b600082825260208201905092915050565b60006113f4826114b1565b91506113ff836114b1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156114345761143361152d565b5b828201905092915050565b600061144a826114b1565b9150611455836114b1565b9250828210156114685761146761152d565b5b828203905092915050565b600061147e82611491565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156114e65780820151818401526020810190506114cb565b838111156114f5576000848401525b50505050565b6000600282049050600182168061151357607f821691505b602082108114156115275761152661155c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f455243323032303a207472616e736665722066726f6d20746865207a65726f2060008201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61184b81611473565b811461185657600080fd5b50565b611862816114b1565b811461186d57600080fd5b5056fea264697066735822122039cb8ee85c66d0abd396ed1f17c590a2a1ba7c3b7ea52f49df183fb8db49f54a64736f6c63430008070033
Deployed Bytecode Sourcemap
7529:9617:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8371:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10538:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9491:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11189:422;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9333:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12020:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9662:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5788:148;;;:::i;:::-;;5137:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8590:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12738:377;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10002:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10240:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6091:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8371:100;8425:13;8458:5;8451:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8371:100;:::o;10538:169::-;10621:4;10638:39;10647:12;:10;:12::i;:::-;10661:7;10670:6;10638:8;:39::i;:::-;10695:4;10688:11;;10538:169;;;;:::o;9491:108::-;9552:7;9579:12;;9572:19;;9491:108;:::o;11189:422::-;11295:4;11312:36;11322:6;11330:9;11341:6;11312:9;:36::i;:::-;11361:24;11388:11;:19;11400:6;11388:19;;;;;;;;;;;;;;;:33;11408:12;:10;:12::i;:::-;11388:33;;;;;;;;;;;;;;;;11361:60;;11460:6;11440:16;:26;;11432:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11522:57;11531:6;11539:12;:10;:12::i;:::-;11572:6;11553:16;:25;;;;:::i;:::-;11522:8;:57::i;:::-;11599:4;11592:11;;;11189:422;;;;;:::o;9333:93::-;9391:5;9416:2;9409:9;;9333:93;:::o;12020:215::-;12108:4;12125:80;12134:12;:10;:12::i;:::-;12148:7;12194:10;12157:11;:25;12169:12;:10;:12::i;:::-;12157:25;;;;;;;;;;;;;;;:34;12183:7;12157:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12125:8;:80::i;:::-;12223:4;12216:11;;12020:215;;;;:::o;9662:127::-;9736:7;9763:9;:18;9773:7;9763:18;;;;;;;;;;;;;;;;9756:25;;9662:127;;;:::o;5788:148::-;5368:12;:10;:12::i;:::-;5357:23;;:7;:5;:7::i;:::-;:23;;;5349:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5895:1:::1;5858:40;;5879:6;::::0;::::1;;;;;;;;5858:40;;;;;;;;;;;;5926:1;5909:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5788:148::o:0;5137:87::-;5183:7;5210:6;;;;;;;;;;;5203:13;;5137:87;:::o;8590:104::-;8646:13;8679:7;8672:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8590:104;:::o;12738:377::-;12831:4;12848:24;12875:11;:25;12887:12;:10;:12::i;:::-;12875:25;;;;;;;;;;;;;;;:34;12901:7;12875:34;;;;;;;;;;;;;;;;12848:61;;12948:15;12928:16;:35;;12920:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13016:67;13025:12;:10;:12::i;:::-;13039:7;13067:15;13048:16;:34;;;;:::i;:::-;13016:8;:67::i;:::-;13103:4;13096:11;;;12738:377;;;;:::o;10002:175::-;10088:4;10105:42;10115:12;:10;:12::i;:::-;10129:9;10140:6;10105:9;:42::i;:::-;10165:4;10158:11;;10002:175;;;;:::o;10240:151::-;10329:7;10356:11;:18;10368:5;10356:18;;;;;;;;;;;;;;;:27;10375:7;10356:27;;;;;;;;;;;;;;;;10349:34;;10240:151;;;;:::o;6091:244::-;5368:12;:10;:12::i;:::-;5357:23;;:7;:5;:7::i;:::-;:23;;;5349:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6200:1:::1;6180:22;;:8;:22;;;;6172:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6290:8;6261:38;;6282:6;::::0;::::1;;;;;;;;6261:38;;;;;;;;;;;;6319:8;6310:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;6091:244:::0;:::o;3782:98::-;3835:7;3862:10;3855:17;;3782:98;:::o;16102:346::-;16221:1;16204:19;;:5;:19;;;;16196:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16302:1;16283:21;;:7;:21;;;;16275:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16386:6;16356:11;:18;16368:5;16356:18;;;;;;;;;;;;;;;:27;16375:7;16356:27;;;;;;;;;;;;;;;:36;;;;16424:7;16408:32;;16417:5;16408:32;;;16433:6;16408:32;;;;;;:::i;:::-;;;;;;;;16102:346;;;:::o;13605:606::-;13729:1;13711:20;;:6;:20;;;;13703:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;13815:1;13794:23;;:9;:23;;;;13786:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13870:47;13891:6;13899:9;13910:6;13870:20;:47::i;:::-;13930:21;13954:9;:17;13964:6;13954:17;;;;;;;;;;;;;;;;13930:41;;14007:6;13990:13;:23;;13982:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14103:6;14087:13;:22;;;;:::i;:::-;14067:9;:17;14077:6;14067:17;;;;;;;;;;;;;;;:42;;;;14144:6;14120:9;:20;14130:9;14120:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;14185:9;14168:35;;14177:6;14168:35;;;14196:6;14168:35;;;;;;:::i;:::-;;;;;;;;13692:519;13605:606;;;:::o;17051:92::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;152:139;;;;:::o;297:329::-;356:6;405:2;393:9;384:7;380:23;376:32;373:119;;;411:79;;:::i;:::-;373:119;531:1;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;502:117;297:329;;;;:::o;632:474::-;700:6;708;757:2;745:9;736:7;732:23;728:32;725:119;;;763:79;;:::i;:::-;725:119;883:1;908:53;953:7;944:6;933:9;929:22;908:53;:::i;:::-;898:63;;854:117;1010:2;1036:53;1081:7;1072:6;1061:9;1057:22;1036:53;:::i;:::-;1026:63;;981:118;632:474;;;;;:::o;1112:619::-;1189:6;1197;1205;1254:2;1242:9;1233:7;1229:23;1225:32;1222:119;;;1260:79;;:::i;:::-;1222:119;1380:1;1405:53;1450:7;1441:6;1430:9;1426:22;1405:53;:::i;:::-;1395:63;;1351:117;1507:2;1533:53;1578:7;1569:6;1558:9;1554:22;1533:53;:::i;:::-;1523:63;;1478:118;1635:2;1661:53;1706:7;1697:6;1686:9;1682:22;1661:53;:::i;:::-;1651:63;;1606:118;1112:619;;;;;:::o;1737:474::-;1805:6;1813;1862:2;1850:9;1841:7;1837:23;1833:32;1830:119;;;1868:79;;:::i;:::-;1830:119;1988:1;2013:53;2058:7;2049:6;2038:9;2034:22;2013:53;:::i;:::-;2003:63;;1959:117;2115:2;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2086:118;1737:474;;;;;:::o;2217:118::-;2304:24;2322:5;2304:24;:::i;:::-;2299:3;2292:37;2217:118;;:::o;2341:109::-;2422:21;2437:5;2422:21;:::i;:::-;2417:3;2410:34;2341:109;;:::o;2456:364::-;2544:3;2572:39;2605:5;2572:39;:::i;:::-;2627:71;2691:6;2686:3;2627:71;:::i;:::-;2620:78;;2707:52;2752:6;2747:3;2740:4;2733:5;2729:16;2707:52;:::i;:::-;2784:29;2806:6;2784:29;:::i;:::-;2779:3;2775:39;2768:46;;2548:272;2456:364;;;;:::o;2826:366::-;2968:3;2989:67;3053:2;3048:3;2989:67;:::i;:::-;2982:74;;3065:93;3154:3;3065:93;:::i;:::-;3183:2;3178:3;3174:12;3167:19;;2826:366;;;:::o;3198:::-;3340:3;3361:67;3425:2;3420:3;3361:67;:::i;:::-;3354:74;;3437:93;3526:3;3437:93;:::i;:::-;3555:2;3550:3;3546:12;3539:19;;3198:366;;;:::o;3570:::-;3712:3;3733:67;3797:2;3792:3;3733:67;:::i;:::-;3726:74;;3809:93;3898:3;3809:93;:::i;:::-;3927:2;3922:3;3918:12;3911:19;;3570:366;;;:::o;3942:::-;4084:3;4105:67;4169:2;4164:3;4105:67;:::i;:::-;4098:74;;4181:93;4270:3;4181:93;:::i;:::-;4299:2;4294:3;4290:12;4283:19;;3942:366;;;:::o;4314:::-;4456:3;4477:67;4541:2;4536:3;4477:67;:::i;:::-;4470:74;;4553:93;4642:3;4553:93;:::i;:::-;4671:2;4666:3;4662:12;4655:19;;4314:366;;;:::o;4686:::-;4828:3;4849:67;4913:2;4908:3;4849:67;:::i;:::-;4842:74;;4925:93;5014:3;4925:93;:::i;:::-;5043:2;5038:3;5034:12;5027:19;;4686:366;;;:::o;5058:::-;5200:3;5221:67;5285:2;5280:3;5221:67;:::i;:::-;5214:74;;5297:93;5386:3;5297:93;:::i;:::-;5415:2;5410:3;5406:12;5399:19;;5058:366;;;:::o;5430:::-;5572:3;5593:67;5657:2;5652:3;5593:67;:::i;:::-;5586:74;;5669:93;5758:3;5669:93;:::i;:::-;5787:2;5782:3;5778:12;5771:19;;5430:366;;;:::o;5802:::-;5944:3;5965:67;6029:2;6024:3;5965:67;:::i;:::-;5958:74;;6041:93;6130:3;6041:93;:::i;:::-;6159:2;6154:3;6150:12;6143:19;;5802:366;;;:::o;6174:118::-;6261:24;6279:5;6261:24;:::i;:::-;6256:3;6249:37;6174:118;;:::o;6298:112::-;6381:22;6397:5;6381:22;:::i;:::-;6376:3;6369:35;6298:112;;:::o;6416:222::-;6509:4;6547:2;6536:9;6532:18;6524:26;;6560:71;6628:1;6617:9;6613:17;6604:6;6560:71;:::i;:::-;6416:222;;;;:::o;6644:210::-;6731:4;6769:2;6758:9;6754:18;6746:26;;6782:65;6844:1;6833:9;6829:17;6820:6;6782:65;:::i;:::-;6644:210;;;;:::o;6860:313::-;6973:4;7011:2;7000:9;6996:18;6988:26;;7060:9;7054:4;7050:20;7046:1;7035:9;7031:17;7024:47;7088:78;7161:4;7152:6;7088:78;:::i;:::-;7080:86;;6860:313;;;;:::o;7179:419::-;7345:4;7383:2;7372:9;7368:18;7360:26;;7432:9;7426:4;7422:20;7418:1;7407:9;7403:17;7396:47;7460:131;7586:4;7460:131;:::i;:::-;7452:139;;7179:419;;;:::o;7604:::-;7770:4;7808:2;7797:9;7793:18;7785:26;;7857:9;7851:4;7847:20;7843:1;7832:9;7828:17;7821:47;7885:131;8011:4;7885:131;:::i;:::-;7877:139;;7604:419;;;:::o;8029:::-;8195:4;8233:2;8222:9;8218:18;8210:26;;8282:9;8276:4;8272:20;8268:1;8257:9;8253:17;8246:47;8310:131;8436:4;8310:131;:::i;:::-;8302:139;;8029:419;;;:::o;8454:::-;8620:4;8658:2;8647:9;8643:18;8635:26;;8707:9;8701:4;8697:20;8693:1;8682:9;8678:17;8671:47;8735:131;8861:4;8735:131;:::i;:::-;8727:139;;8454:419;;;:::o;8879:::-;9045:4;9083:2;9072:9;9068:18;9060:26;;9132:9;9126:4;9122:20;9118:1;9107:9;9103:17;9096:47;9160:131;9286:4;9160:131;:::i;:::-;9152:139;;8879:419;;;:::o;9304:::-;9470:4;9508:2;9497:9;9493:18;9485:26;;9557:9;9551:4;9547:20;9543:1;9532:9;9528:17;9521:47;9585:131;9711:4;9585:131;:::i;:::-;9577:139;;9304:419;;;:::o;9729:::-;9895:4;9933:2;9922:9;9918:18;9910:26;;9982:9;9976:4;9972:20;9968:1;9957:9;9953:17;9946:47;10010:131;10136:4;10010:131;:::i;:::-;10002:139;;9729:419;;;:::o;10154:::-;10320:4;10358:2;10347:9;10343:18;10335:26;;10407:9;10401:4;10397:20;10393:1;10382:9;10378:17;10371:47;10435:131;10561:4;10435:131;:::i;:::-;10427:139;;10154:419;;;:::o;10579:::-;10745:4;10783:2;10772:9;10768:18;10760:26;;10832:9;10826:4;10822:20;10818:1;10807:9;10803:17;10796:47;10860:131;10986:4;10860:131;:::i;:::-;10852:139;;10579:419;;;:::o;11004:222::-;11097:4;11135:2;11124:9;11120:18;11112:26;;11148:71;11216:1;11205:9;11201:17;11192:6;11148:71;:::i;:::-;11004:222;;;;:::o;11232:214::-;11321:4;11359:2;11348:9;11344:18;11336:26;;11372:67;11436:1;11425:9;11421:17;11412:6;11372:67;:::i;:::-;11232:214;;;;:::o;11533:99::-;11585:6;11619:5;11613:12;11603:22;;11533:99;;;:::o;11638:169::-;11722:11;11756:6;11751:3;11744:19;11796:4;11791:3;11787:14;11772:29;;11638:169;;;;:::o;11813:305::-;11853:3;11872:20;11890:1;11872:20;:::i;:::-;11867:25;;11906:20;11924:1;11906:20;:::i;:::-;11901:25;;12060:1;11992:66;11988:74;11985:1;11982:81;11979:107;;;12066:18;;:::i;:::-;11979:107;12110:1;12107;12103:9;12096:16;;11813:305;;;;:::o;12124:191::-;12164:4;12184:20;12202:1;12184:20;:::i;:::-;12179:25;;12218:20;12236:1;12218:20;:::i;:::-;12213:25;;12257:1;12254;12251:8;12248:34;;;12262:18;;:::i;:::-;12248:34;12307:1;12304;12300:9;12292:17;;12124:191;;;;:::o;12321:96::-;12358:7;12387:24;12405:5;12387:24;:::i;:::-;12376:35;;12321:96;;;:::o;12423:90::-;12457:7;12500:5;12493:13;12486:21;12475:32;;12423:90;;;:::o;12519:126::-;12556:7;12596:42;12589:5;12585:54;12574:65;;12519:126;;;:::o;12651:77::-;12688:7;12717:5;12706:16;;12651:77;;;:::o;12734:86::-;12769:7;12809:4;12802:5;12798:16;12787:27;;12734:86;;;:::o;12826:307::-;12894:1;12904:113;12918:6;12915:1;12912:13;12904:113;;;13003:1;12998:3;12994:11;12988:18;12984:1;12979:3;12975:11;12968:39;12940:2;12937:1;12933:10;12928:15;;12904:113;;;13035:6;13032:1;13029:13;13026:101;;;13115:1;13106:6;13101:3;13097:16;13090:27;13026:101;12875:258;12826:307;;;:::o;13139:320::-;13183:6;13220:1;13214:4;13210:12;13200:22;;13267:1;13261:4;13257:12;13288:18;13278:81;;13344:4;13336:6;13332:17;13322:27;;13278:81;13406:2;13398:6;13395:14;13375:18;13372:38;13369:84;;;13425:18;;:::i;:::-;13369:84;13190:269;13139:320;;;:::o;13465:180::-;13513:77;13510:1;13503:88;13610:4;13607:1;13600:15;13634:4;13631:1;13624:15;13651:180;13699:77;13696:1;13689:88;13796:4;13793:1;13786:15;13820:4;13817:1;13810:15;13960:117;14069:1;14066;14059:12;14083:102;14124:6;14175:2;14171:7;14166:2;14159:5;14155:14;14151:28;14141:38;;14083:102;;;:::o;14191:222::-;14331:34;14327:1;14319:6;14315:14;14308:58;14400:5;14395:2;14387:6;14383:15;14376:30;14191:222;:::o;14419:225::-;14559:34;14555:1;14547:6;14543:14;14536:58;14628:8;14623:2;14615:6;14611:15;14604:33;14419:225;:::o;14650:221::-;14790:34;14786:1;14778:6;14774:14;14767:58;14859:4;14854:2;14846:6;14842:15;14835:29;14650:221;:::o;14877:225::-;15017:34;15013:1;15005:6;15001:14;14994:58;15086:8;15081:2;15073:6;15069:15;15062:33;14877:225;:::o;15108:226::-;15248:34;15244:1;15236:6;15232:14;15225:58;15317:9;15312:2;15304:6;15300:15;15293:34;15108:226;:::o;15340:227::-;15480:34;15476:1;15468:6;15464:14;15457:58;15549:10;15544:2;15536:6;15532:15;15525:35;15340:227;:::o;15573:182::-;15713:34;15709:1;15701:6;15697:14;15690:58;15573:182;:::o;15761:223::-;15901:34;15897:1;15889:6;15885:14;15878:58;15970:6;15965:2;15957:6;15953:15;15946:31;15761:223;:::o;15990:224::-;16130:34;16126:1;16118:6;16114:14;16107:58;16199:7;16194:2;16186:6;16182:15;16175:32;15990:224;:::o;16220:122::-;16293:24;16311:5;16293:24;:::i;:::-;16286:5;16283:35;16273:63;;16332:1;16329;16322:12;16273:63;16220:122;:::o;16348:::-;16421:24;16439:5;16421:24;:::i;:::-;16414:5;16411:35;16401:63;;16460:1;16457;16450:12;16401:63;16348:122;:::o
Swarm Source
ipfs://39cb8ee85c66d0abd396ed1f17c590a2a1ba7c3b7ea52f49df183fb8db49f54a
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
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.