Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 16 from a total of 16 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 15112604 | 1327 days ago | IN | 0 ETH | 0.0003508 | ||||
| Claim | 14358244 | 1448 days ago | IN | 0 ETH | 0.00142564 | ||||
| Approve | 14333144 | 1452 days ago | IN | 0 ETH | 0.0009194 | ||||
| Claim | 14333101 | 1452 days ago | IN | 0 ETH | 0.0017175 | ||||
| Claim | 14331752 | 1453 days ago | IN | 0 ETH | 0.0007195 | ||||
| Claim | 14331752 | 1453 days ago | IN | 0 ETH | 0.00151642 | ||||
| Claim | 14331691 | 1453 days ago | IN | 0 ETH | 0.0014218 | ||||
| Claim | 14331664 | 1453 days ago | IN | 0 ETH | 0.00097888 | ||||
| Claim | 14331416 | 1453 days ago | IN | 0 ETH | 0.00178018 | ||||
| Claim | 14330885 | 1453 days ago | IN | 0 ETH | 0.00199847 | ||||
| Transfer | 14329029 | 1453 days ago | IN | 0 ETH | 0.00168762 | ||||
| Claim | 14328732 | 1453 days ago | IN | 0 ETH | 0.00262552 | ||||
| Claim | 14328604 | 1453 days ago | IN | 0 ETH | 0.00367938 | ||||
| Claim | 14328424 | 1453 days ago | IN | 0 ETH | 0.00341166 | ||||
| Claim | 14328198 | 1453 days ago | IN | 0 ETH | 0.00377331 | ||||
| Claim | 14327729 | 1453 days ago | IN | 0 ETH | 0.00331546 |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
BYUKR
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-03-05
*/
// SPDX-License-Identifier: MIT
// File: @openzeppelin/contracts/utils/cryptography/MerkleProof.sol
// OpenZeppelin Contracts (last updated v4.5.0) (utils/cryptography/MerkleProof.sol)
pragma solidity ^0.8.0;
/**
* @dev These functions deal with verification of Merkle Trees proofs.
*
* The proofs can be generated using the JavaScript library
* https://github.com/miguelmota/merkletreejs[merkletreejs].
* Note: the hashing algorithm should be keccak256 and pair sorting should be enabled.
*
* See `test/utils/cryptography/MerkleProof.test.js` for some examples.
*/
library MerkleProof {
/**
* @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree
* defined by `root`. For this, a `proof` must be provided, containing
* sibling hashes on the branch from the leaf to the root of the tree. Each
* pair of leaves and each pair of pre-images are assumed to be sorted.
*/
function verify(
bytes32[] memory proof,
bytes32 root,
bytes32 leaf
) internal pure returns (bool) {
return processProof(proof, leaf) == root;
}
/**
* @dev Returns the rebuilt hash obtained by traversing a Merklee tree up
* from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt
* hash matches the root of the tree. When processing the proof, the pairs
* of leafs & pre-images are assumed to be sorted.
*
* _Available since v4.4._
*/
function processProof(bytes32[] memory proof, bytes32 leaf) internal pure returns (bytes32) {
bytes32 computedHash = leaf;
for (uint256 i = 0; i < proof.length; i++) {
bytes32 proofElement = proof[i];
if (computedHash <= proofElement) {
// Hash(current computed hash + current element of the proof)
computedHash = _efficientHash(computedHash, proofElement);
} else {
// Hash(current element of the proof + current computed hash)
computedHash = _efficientHash(proofElement, computedHash);
}
}
return computedHash;
}
function _efficientHash(bytes32 a, bytes32 b) private pure returns (bytes32 value) {
assembly {
mstore(0x00, a)
mstore(0x20, b)
value := keccak256(0x00, 0x40)
}
}
}
// File: @openzeppelin/contracts/utils/Context.sol
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
pragma solidity ^0.8.0;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
// File: @openzeppelin/contracts/token/ERC20/IERC20.sol
// OpenZeppelin Contracts (last updated v4.5.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 `to`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address to, uint256 amount) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `from` to `to` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(
address from,
address to,
uint256 amount
) external returns (bool);
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
}
// File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol
// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)
pragma solidity ^0.8.0;
/**
* @dev Interface for the optional metadata functions from the ERC20 standard.
*
* _Available since v4.1._
*/
interface IERC20Metadata is IERC20 {
/**
* @dev Returns the name of the token.
*/
function name() external view returns (string memory);
/**
* @dev Returns the symbol of the token.
*/
function symbol() external view returns (string memory);
/**
* @dev Returns the decimals places of the token.
*/
function decimals() external view returns (uint8);
}
// File: @openzeppelin/contracts/token/ERC20/ERC20.sol
// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/ERC20.sol)
pragma solidity ^0.8.0;
/**
* @dev Implementation of the {IERC20} interface.
*
* This implementation is agnostic to the way tokens are created. This means
* that a supply mechanism has to be added in a derived contract using {_mint}.
* For a generic mechanism see {ERC20PresetMinterPauser}.
*
* TIP: For a detailed writeup see our guide
* https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
* to implement supply mechanisms].
*
* We have followed general OpenZeppelin Contracts guidelines: functions revert
* instead returning `false` on failure. This behavior is nonetheless
* conventional and does not conflict with the expectations of ERC20
* applications.
*
* Additionally, an {Approval} event is emitted on calls to {transferFrom}.
* This allows applications to reconstruct the allowance for all accounts just
* by listening to said events. Other implementations of the EIP may not emit
* these events, as it isn't required by the specification.
*
* Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
* functions have been added to mitigate the well-known issues around setting
* allowances. See {IERC20-approve}.
*/
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
/**
* @dev Sets the values for {name} and {symbol}.
*
* The default value of {decimals} is 18. To select a different value for
* {decimals} you should overload it.
*
* All two of these values are immutable: they can only be set once during
* construction.
*/
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
/**
* @dev Returns the name of the token.
*/
function name() public view virtual override returns (string memory) {
return _name;
}
/**
* @dev Returns the symbol of the token, usually a shorter version of the
* name.
*/
function symbol() public view virtual override returns (string memory) {
return _symbol;
}
/**
* @dev Returns the number of decimals used to get its user representation.
* For example, if `decimals` equals `2`, a balance of `505` tokens should
* be displayed to a user as `5.05` (`505 / 10 ** 2`).
*
* Tokens usually opt for a value of 18, imitating the relationship between
* Ether and Wei. This is the value {ERC20} uses, unless this function is
* overridden;
*
* NOTE: This information is only used for _display_ purposes: it in
* no way affects any of the arithmetic of the contract, including
* {IERC20-balanceOf} and {IERC20-transfer}.
*/
function decimals() public view virtual override returns (uint8) {
return 18;
}
/**
* @dev See {IERC20-totalSupply}.
*/
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
/**
* @dev See {IERC20-balanceOf}.
*/
function balanceOf(address account) public view virtual override returns (uint256) {
return _balances[account];
}
/**
* @dev See {IERC20-transfer}.
*
* Requirements:
*
* - `to` cannot be the zero address.
* - the caller must have a balance of at least `amount`.
*/
function transfer(address to, uint256 amount) public virtual override returns (bool) {
address owner = _msgSender();
_transfer(owner, to, amount);
return true;
}
/**
* @dev See {IERC20-allowance}.
*/
function allowance(address owner, address spender) public view virtual override returns (uint256) {
return _allowances[owner][spender];
}
/**
* @dev See {IERC20-approve}.
*
* NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
* `transferFrom`. This is semantically equivalent to an infinite approval.
*
* Requirements:
*
* - `spender` cannot be the zero address.
*/
function approve(address spender, uint256 amount) public virtual override returns (bool) {
address owner = _msgSender();
_approve(owner, spender, amount);
return true;
}
/**
* @dev See {IERC20-transferFrom}.
*
* Emits an {Approval} event indicating the updated allowance. This is not
* required by the EIP. See the note at the beginning of {ERC20}.
*
* NOTE: Does not update the allowance if the current allowance
* is the maximum `uint256`.
*
* Requirements:
*
* - `from` and `to` cannot be the zero address.
* - `from` must have a balance of at least `amount`.
* - the caller must have allowance for ``from``'s tokens of at least
* `amount`.
*/
function transferFrom(
address from,
address to,
uint256 amount
) public virtual override returns (bool) {
address spender = _msgSender();
_spendAllowance(from, spender, amount);
_transfer(from, to, amount);
return true;
}
/**
* @dev Atomically increases the allowance granted to `spender` by the caller.
*
* This is an alternative to {approve} that can be used as a mitigation for
* problems described in {IERC20-approve}.
*
* Emits an {Approval} event indicating the updated allowance.
*
* Requirements:
*
* - `spender` cannot be the zero address.
*/
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
address owner = _msgSender();
_approve(owner, spender, _allowances[owner][spender] + addedValue);
return true;
}
/**
* @dev Atomically decreases the allowance granted to `spender` by the caller.
*
* This is an alternative to {approve} that can be used as a mitigation for
* problems described in {IERC20-approve}.
*
* Emits an {Approval} event indicating the updated allowance.
*
* Requirements:
*
* - `spender` cannot be the zero address.
* - `spender` must have allowance for the caller of at least
* `subtractedValue`.
*/
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
address owner = _msgSender();
uint256 currentAllowance = _allowances[owner][spender];
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
unchecked {
_approve(owner, spender, currentAllowance - subtractedValue);
}
return true;
}
/**
* @dev Moves `amount` of tokens from `sender` to `recipient`.
*
* This internal function is equivalent to {transfer}, and can be used to
* e.g. implement automatic token fees, slashing mechanisms, etc.
*
* Emits a {Transfer} event.
*
* Requirements:
*
* - `from` cannot be the zero address.
* - `to` cannot be the zero address.
* - `from` must have a balance of at least `amount`.
*/
function _transfer(
address from,
address to,
uint256 amount
) internal virtual {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
_beforeTokenTransfer(from, to, amount);
uint256 fromBalance = _balances[from];
require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
unchecked {
_balances[from] = fromBalance - amount;
}
_balances[to] += amount;
emit Transfer(from, to, amount);
_afterTokenTransfer(from, to, amount);
}
/** @dev Creates `amount` tokens and assigns them to `account`, increasing
* the total supply.
*
* Emits a {Transfer} event with `from` set to the zero address.
*
* Requirements:
*
* - `account` cannot be the zero address.
*/
function _mint(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: mint to the zero address");
_beforeTokenTransfer(address(0), account, amount);
_totalSupply += amount;
_balances[account] += amount;
emit Transfer(address(0), account, amount);
_afterTokenTransfer(address(0), account, amount);
}
/**
* @dev Destroys `amount` tokens from `account`, reducing the
* total supply.
*
* Emits a {Transfer} event with `to` set to the zero address.
*
* Requirements:
*
* - `account` cannot be the zero address.
* - `account` must have at least `amount` tokens.
*/
function _burn(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: burn from the zero address");
_beforeTokenTransfer(account, address(0), amount);
uint256 accountBalance = _balances[account];
require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
unchecked {
_balances[account] = accountBalance - amount;
}
_totalSupply -= amount;
emit Transfer(account, address(0), amount);
_afterTokenTransfer(account, address(0), amount);
}
/**
* @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
*
* This internal function is equivalent to `approve`, and can be used to
* e.g. set automatic allowances for certain subsystems, etc.
*
* Emits an {Approval} event.
*
* Requirements:
*
* - `owner` cannot be the zero address.
* - `spender` cannot be the zero address.
*/
function _approve(
address owner,
address spender,
uint256 amount
) internal virtual {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
/**
* @dev Spend `amount` form the allowance of `owner` toward `spender`.
*
* Does not update the allowance amount in case of infinite allowance.
* Revert if not enough allowance is available.
*
* Might emit an {Approval} event.
*/
function _spendAllowance(
address owner,
address spender,
uint256 amount
) internal virtual {
uint256 currentAllowance = allowance(owner, spender);
if (currentAllowance != type(uint256).max) {
require(currentAllowance >= amount, "ERC20: insufficient allowance");
unchecked {
_approve(owner, spender, currentAllowance - amount);
}
}
}
/**
* @dev Hook that is called before any transfer of tokens. This includes
* minting and burning.
*
* Calling conditions:
*
* - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
* will be transferred to `to`.
* - when `from` is zero, `amount` tokens will be minted for `to`.
* - when `to` is zero, `amount` of ``from``'s tokens will be burned.
* - `from` and `to` are never both zero.
*
* To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
*/
function _beforeTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
/**
* @dev Hook that is called after any transfer of tokens. This includes
* minting and burning.
*
* Calling conditions:
*
* - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
* has been transferred to `to`.
* - when `from` is zero, `amount` tokens have been minted for `to`.
* - when `to` is zero, `amount` of ``from``'s tokens have been burned.
* - `from` and `to` are never both zero.
*
* To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
*/
function _afterTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
}
// File: BYUKR.sol
pragma solidity ^0.8.7;
contract BYUKR is ERC20 {
bytes32 immutable public MERKLE_ROOT;
uint256 immutable public MAX_SUPPLY;
mapping(address=>bool) private _claimed;
event Claim(address indexed claimant, uint256 amount);
constructor(bytes32 root) ERC20("BYUKR", "BYUKR") {
MERKLE_ROOT = root;
MAX_SUPPLY = 250000000 * 10 ** decimals();
}
function claimed(address account) public view returns (bool) {
return _claimed[account];
}
function claim(uint256 amount, bytes32[] calldata proof) public {
uint256 amount_with_decimals = amount * 10 ** decimals();
uint256 total = totalSupply() + amount_with_decimals;
require(total <= MAX_SUPPLY, "Claim exceeds total supply");
bytes32 leaf = keccak256(abi.encodePacked(msg.sender, amount));
bool valid = MerkleProof.verify(proof, MERKLE_ROOT, leaf);
require(valid, "Address proof invalid");
require(!claimed(msg.sender), "Address claimed already");
_claimed[msg.sender] = true;
emit Claim(msg.sender, amount_with_decimals);
_mint(msg.sender, amount_with_decimals);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"bytes32","name":"root","type":"bytes32"}],"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":"claimant","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claim","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":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MERKLE_ROOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"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"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"claimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60c06040523480156200001157600080fd5b506040516200126538038062001265833981016040819052620000349162000160565b604080518082018252600580825264212caaa5a960d91b6020808401828152855180870190965292855284015281519192916200007491600391620000ba565b5080516200008a906004906020840190620000ba565b5050506080819052620000a06012600a620001c3565b620000b090630ee6b28062000291565b60a0525062000306565b828054620000c890620002b3565b90600052602060002090601f016020900481019282620000ec576000855562000137565b82601f106200010757805160ff191683800117855562000137565b8280016001018555821562000137579182015b82811115620001375782518255916020019190600101906200011a565b506200014592915062000149565b5090565b5b808211156200014557600081556001016200014a565b6000602082840312156200017357600080fd5b5051919050565b600181815b80851115620001bb5781600019048211156200019f576200019f620002f0565b80851615620001ad57918102915b93841c93908002906200017f565b509250929050565b6000620001d460ff841683620001db565b9392505050565b600082620001ec575060016200028b565b81620001fb575060006200028b565b81600181146200021457600281146200021f576200023f565b60019150506200028b565b60ff841115620002335762000233620002f0565b50506001821b6200028b565b5060208310610133831016604e8410600b841016171562000264575081810a6200028b565b6200027083836200017a565b8060001904821115620002875762000287620002f0565b0290505b92915050565b6000816000190483118215151615620002ae57620002ae620002f0565b500290565b600181811c90821680620002c857607f821691505b60208210811415620002ea57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60805160a051610f2b6200033a6000396000818161018901526103a50152600081816101c3015261048f0152610f2b6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80633950935111610097578063a457c2d711610066578063a457c2d714610216578063a9059cbb14610229578063c884ef831461023c578063dd62ed3e1461026857600080fd5b806339509351146101ab57806351e75e8b146101be57806370a08231146101e557806395d89b411461020e57600080fd5b806323b872dd116100d357806323b872dd1461014d5780632f52ebb714610160578063313ce5671461017557806332cb6b0c1461018457600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b6101026102a1565b60405161010f9190610cf9565b60405180910390f35b61012b610126366004610c50565b610333565b604051901515815260200161010f565b6002545b60405190815260200161010f565b61012b61015b366004610c14565b61034d565b61017361016e366004610c7a565b610371565b005b6040516012815260200161010f565b61013f7f000000000000000000000000000000000000000000000000000000000000000081565b61012b6101b9366004610c50565b6105c8565b61013f7f000000000000000000000000000000000000000000000000000000000000000081565b61013f6101f3366004610bbf565b6001600160a01b031660009081526020819052604090205490565b610102610607565b61012b610224366004610c50565b610616565b61012b610237366004610c50565b6106a8565b61012b61024a366004610bbf565b6001600160a01b031660009081526005602052604090205460ff1690565b61013f610276366004610be1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546102b090610e73565b80601f01602080910402602001604051908101604052809291908181526020018280546102dc90610e73565b80156103295780601f106102fe57610100808354040283529160200191610329565b820191906000526020600020905b81548152906001019060200180831161030c57829003601f168201915b5050505050905090565b6000336103418185856106b6565b60019150505b92915050565b60003361035b8582856107da565b61036685858561086c565b506001949350505050565b600061037f6012600a610da9565b6103899085610e54565b905060008161039760025490565b6103a19190610d4e565b90507f00000000000000000000000000000000000000000000000000000000000000008111156104185760405162461bcd60e51b815260206004820152601a60248201527f436c61696d206578636565647320746f74616c20737570706c7900000000000060448201526064015b60405180910390fd5b6040516bffffffffffffffffffffffff193360601b1660208201526034810186905260009060540160405160208183030381529060405280519060200120905060006104ba8686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152507f00000000000000000000000000000000000000000000000000000000000000009250869150610a3a9050565b9050806105015760405162461bcd60e51b81526020600482015260156024820152741059191c995cdcc81c1c9bdbd9881a5b9d985b1a59605a1b604482015260640161040f565b3360009081526005602052604090205460ff16156105615760405162461bcd60e51b815260206004820152601760248201527f4164647265737320636c61696d656420616c7265616479000000000000000000604482015260640161040f565b3360008181526005602052604090819020805460ff19166001179055517f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4906105ad9087815260200190565b60405180910390a26105bf3385610a50565b50505050505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906103419082908690610602908790610d4e565b6106b6565b6060600480546102b090610e73565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091908381101561069b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161040f565b61036682868684036106b6565b60003361034181858561086c565b6001600160a01b0383166107185760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161040f565b6001600160a01b0382166107795760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161040f565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461086657818110156108595760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161040f565b61086684848484036106b6565b50505050565b6001600160a01b0383166108d05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161040f565b6001600160a01b0382166109325760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161040f565b6001600160a01b038316600090815260208190526040902054818110156109aa5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161040f565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906109e1908490610d4e565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a2d91815260200190565b60405180910390a3610866565b600082610a478584610b2f565b14949350505050565b6001600160a01b038216610aa65760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161040f565b8060026000828254610ab89190610d4e565b90915550506001600160a01b03821660009081526020819052604081208054839290610ae5908490610d4e565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600081815b8451811015610b9b576000858281518110610b5157610b51610edf565b60200260200101519050808311610b775760008381526020829052604090209250610b88565b600081815260208490526040902092505b5080610b9381610eae565b915050610b34565b509392505050565b80356001600160a01b0381168114610bba57600080fd5b919050565b600060208284031215610bd157600080fd5b610bda82610ba3565b9392505050565b60008060408385031215610bf457600080fd5b610bfd83610ba3565b9150610c0b60208401610ba3565b90509250929050565b600080600060608486031215610c2957600080fd5b610c3284610ba3565b9250610c4060208501610ba3565b9150604084013590509250925092565b60008060408385031215610c6357600080fd5b610c6c83610ba3565b946020939093013593505050565b600080600060408486031215610c8f57600080fd5b83359250602084013567ffffffffffffffff80821115610cae57600080fd5b818601915086601f830112610cc257600080fd5b813581811115610cd157600080fd5b8760208260051b8501011115610ce657600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b81811015610d2657858101830151858201604001528201610d0a565b81811115610d38576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610d6157610d61610ec9565b500190565b600181815b80851115610da1578160001904821115610d8757610d87610ec9565b80851615610d9457918102915b93841c9390800290610d6b565b509250929050565b6000610bda60ff841683600082610dc257506001610347565b81610dcf57506000610347565b8160018114610de55760028114610def57610e0b565b6001915050610347565b60ff841115610e0057610e00610ec9565b50506001821b610347565b5060208310610133831016604e8410600b8410161715610e2e575081810a610347565b610e388383610d66565b8060001904821115610e4c57610e4c610ec9565b029392505050565b6000816000190483118215151615610e6e57610e6e610ec9565b500290565b600181811c90821680610e8757607f821691505b60208210811415610ea857634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415610ec257610ec2610ec9565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fdfea26469706673582212208b42eba62b4ab02f5120b4e70dd94e9354620817da14bd505eebb93451f2bbe164736f6c63430008070033807fd5f9e5e93710e9bd00b3d5c63032b042164d81b8b65eb81b51fe3733696a
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80633950935111610097578063a457c2d711610066578063a457c2d714610216578063a9059cbb14610229578063c884ef831461023c578063dd62ed3e1461026857600080fd5b806339509351146101ab57806351e75e8b146101be57806370a08231146101e557806395d89b411461020e57600080fd5b806323b872dd116100d357806323b872dd1461014d5780632f52ebb714610160578063313ce5671461017557806332cb6b0c1461018457600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b6101026102a1565b60405161010f9190610cf9565b60405180910390f35b61012b610126366004610c50565b610333565b604051901515815260200161010f565b6002545b60405190815260200161010f565b61012b61015b366004610c14565b61034d565b61017361016e366004610c7a565b610371565b005b6040516012815260200161010f565b61013f7f000000000000000000000000000000000000000000cecb8f27f4200f3a00000081565b61012b6101b9366004610c50565b6105c8565b61013f7f807fd5f9e5e93710e9bd00b3d5c63032b042164d81b8b65eb81b51fe3733696a81565b61013f6101f3366004610bbf565b6001600160a01b031660009081526020819052604090205490565b610102610607565b61012b610224366004610c50565b610616565b61012b610237366004610c50565b6106a8565b61012b61024a366004610bbf565b6001600160a01b031660009081526005602052604090205460ff1690565b61013f610276366004610be1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546102b090610e73565b80601f01602080910402602001604051908101604052809291908181526020018280546102dc90610e73565b80156103295780601f106102fe57610100808354040283529160200191610329565b820191906000526020600020905b81548152906001019060200180831161030c57829003601f168201915b5050505050905090565b6000336103418185856106b6565b60019150505b92915050565b60003361035b8582856107da565b61036685858561086c565b506001949350505050565b600061037f6012600a610da9565b6103899085610e54565b905060008161039760025490565b6103a19190610d4e565b90507f000000000000000000000000000000000000000000cecb8f27f4200f3a0000008111156104185760405162461bcd60e51b815260206004820152601a60248201527f436c61696d206578636565647320746f74616c20737570706c7900000000000060448201526064015b60405180910390fd5b6040516bffffffffffffffffffffffff193360601b1660208201526034810186905260009060540160405160208183030381529060405280519060200120905060006104ba8686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152507f807fd5f9e5e93710e9bd00b3d5c63032b042164d81b8b65eb81b51fe3733696a9250869150610a3a9050565b9050806105015760405162461bcd60e51b81526020600482015260156024820152741059191c995cdcc81c1c9bdbd9881a5b9d985b1a59605a1b604482015260640161040f565b3360009081526005602052604090205460ff16156105615760405162461bcd60e51b815260206004820152601760248201527f4164647265737320636c61696d656420616c7265616479000000000000000000604482015260640161040f565b3360008181526005602052604090819020805460ff19166001179055517f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4906105ad9087815260200190565b60405180910390a26105bf3385610a50565b50505050505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906103419082908690610602908790610d4e565b6106b6565b6060600480546102b090610e73565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091908381101561069b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161040f565b61036682868684036106b6565b60003361034181858561086c565b6001600160a01b0383166107185760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161040f565b6001600160a01b0382166107795760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161040f565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461086657818110156108595760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161040f565b61086684848484036106b6565b50505050565b6001600160a01b0383166108d05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161040f565b6001600160a01b0382166109325760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161040f565b6001600160a01b038316600090815260208190526040902054818110156109aa5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161040f565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906109e1908490610d4e565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a2d91815260200190565b60405180910390a3610866565b600082610a478584610b2f565b14949350505050565b6001600160a01b038216610aa65760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161040f565b8060026000828254610ab89190610d4e565b90915550506001600160a01b03821660009081526020819052604081208054839290610ae5908490610d4e565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600081815b8451811015610b9b576000858281518110610b5157610b51610edf565b60200260200101519050808311610b775760008381526020829052604090209250610b88565b600081815260208490526040902092505b5080610b9381610eae565b915050610b34565b509392505050565b80356001600160a01b0381168114610bba57600080fd5b919050565b600060208284031215610bd157600080fd5b610bda82610ba3565b9392505050565b60008060408385031215610bf457600080fd5b610bfd83610ba3565b9150610c0b60208401610ba3565b90509250929050565b600080600060608486031215610c2957600080fd5b610c3284610ba3565b9250610c4060208501610ba3565b9150604084013590509250925092565b60008060408385031215610c6357600080fd5b610c6c83610ba3565b946020939093013593505050565b600080600060408486031215610c8f57600080fd5b83359250602084013567ffffffffffffffff80821115610cae57600080fd5b818601915086601f830112610cc257600080fd5b813581811115610cd157600080fd5b8760208260051b8501011115610ce657600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b81811015610d2657858101830151858201604001528201610d0a565b81811115610d38576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610d6157610d61610ec9565b500190565b600181815b80851115610da1578160001904821115610d8757610d87610ec9565b80851615610d9457918102915b93841c9390800290610d6b565b509250929050565b6000610bda60ff841683600082610dc257506001610347565b81610dcf57506000610347565b8160018114610de55760028114610def57610e0b565b6001915050610347565b60ff841115610e0057610e00610ec9565b50506001821b610347565b5060208310610133831016604e8410600b8410161715610e2e575081810a610347565b610e388383610d66565b8060001904821115610e4c57610e4c610ec9565b029392505050565b6000816000190483118215151615610e6e57610e6e610ec9565b500290565b600181811c90821680610e8757607f821691505b60208210811415610ea857634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415610ec257610ec2610ec9565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fdfea26469706673582212208b42eba62b4ab02f5120b4e70dd94e9354620817da14bd505eebb93451f2bbe164736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
807fd5f9e5e93710e9bd00b3d5c63032b042164d81b8b65eb81b51fe3733696a
-----Decoded View---------------
Arg [0] : root (bytes32): 0x807fd5f9e5e93710e9bd00b3d5c63032b042164d81b8b65eb81b51fe3733696a
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 807fd5f9e5e93710e9bd00b3d5c63032b042164d81b8b65eb81b51fe3733696a
Deployed Bytecode Sourcemap
19913:1174:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9067:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11418:201;;;;;;:::i;:::-;;:::i;:::-;;;2392:14:1;;2385:22;2367:41;;2355:2;2340:18;11418:201:0;2227:187:1;10187:108:0;10275:12;;10187:108;;;2565:25:1;;;2553:2;2538:18;10187:108:0;2419:177:1;12199:295:0;;;;;;:::i;:::-;;:::i;20400:684::-;;;;;;:::i;:::-;;:::i;:::-;;10029:93;;;10112:2;7733:36:1;;7721:2;7706:18;10029:93:0;7591:184:1;19987:35:0;;;;;12903:240;;;;;;:::i;:::-;;:::i;19944:36::-;;;;;10358:127;;;;;;:::i;:::-;-1:-1:-1;;;;;10459:18:0;10432:7;10459:18;;;;;;;;;;;;10358:127;9286:104;;;:::i;13646:438::-;;;;;;:::i;:::-;;:::i;10691:193::-;;;;;;:::i;:::-;;:::i;20288:104::-;;;;;;:::i;:::-;-1:-1:-1;;;;;20367:17:0;20343:4;20367:17;;;:8;:17;;;;;;;;;20288:104;10947:151;;;;;;:::i;:::-;-1:-1:-1;;;;;11063:18:0;;;11036:7;11063:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10947:151;9067:100;9121:13;9154:5;9147:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9067:100;:::o;11418:201::-;11501:4;3181:10;11557:32;3181:10;11573:7;11582:6;11557:8;:32::i;:::-;11607:4;11600:11;;;11418:201;;;;;:::o;12199:295::-;12330:4;3181:10;12388:38;12404:4;3181:10;12419:6;12388:15;:38::i;:::-;12437:27;12447:4;12453:2;12457:6;12437:9;:27::i;:::-;-1:-1:-1;12482:4:0;;12199:295;-1:-1:-1;;;;12199:295:0:o;20400:684::-;20475:28;20515:16;10112:2;20515;:16;:::i;:::-;20506:25;;:6;:25;:::i;:::-;20475:56;;20542:13;20574:20;20558:13;10275:12;;;10187:108;20558:13;:36;;;;:::i;:::-;20542:52;;20622:10;20613:5;:19;;20605:58;;;;-1:-1:-1;;;20605:58:0;;4212:2:1;20605:58:0;;;4194:21:1;4251:2;4231:18;;;4224:30;4290:28;4270:18;;;4263:56;4336:18;;20605:58:0;;;;;;;;;20701:36;;-1:-1:-1;;20718:10:0;2105:2:1;2101:15;2097:53;20701:36:0;;;2085:66:1;2167:12;;;2160:28;;;20676:12:0;;2204::1;;20701:36:0;;;;;;;;;;;;20691:47;;;;;;20676:62;;20749:10;20762:44;20781:5;;20762:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20788:11:0;;-1:-1:-1;20801:4:0;;-1:-1:-1;20762:18:0;;-1:-1:-1;20762:44:0:i;:::-;20749:57;;20825:5;20817:39;;;;-1:-1:-1;;;20817:39:0;;5332:2:1;20817:39:0;;;5314:21:1;5371:2;5351:18;;;5344:30;-1:-1:-1;;;5390:18:1;;;5383:51;5451:18;;20817:39:0;5130:345:1;20817:39:0;20886:10;20343:4;20367:17;;;:8;:17;;;;;;;;20877:20;20869:56;;;;-1:-1:-1;;;20869:56:0;;6493:2:1;20869:56:0;;;6475:21:1;6532:2;6512:18;;;6505:30;6571:25;6551:18;;;6544:53;6614:18;;20869:56:0;6291:347:1;20869:56:0;20945:10;20936:20;;;;:8;:20;;;;;;;:27;;-1:-1:-1;;20936:27:0;20959:4;20936:27;;;20985:39;;;;;21003:20;2565:25:1;;2553:2;2538:18;;2419:177;20985:39:0;;;;;;;;21037;21043:10;21055:20;21037:5;:39::i;:::-;20464:620;;;;20400:684;;;:::o;12903:240::-;3181:10;12991:4;13072:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;13072:27:0;;;;;;;;;;12991:4;;3181:10;13047:66;;3181:10;;13072:27;;:40;;13102:10;;13072:40;:::i;:::-;13047:8;:66::i;9286:104::-;9342:13;9375:7;9368:14;;;;;:::i;13646:438::-;3181:10;13739:4;13822:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;13822:27:0;;;;;;;;;;13739:4;;3181:10;13868:35;;;;13860:85;;;;-1:-1:-1;;;13860:85:0;;6845:2:1;13860:85:0;;;6827:21:1;6884:2;6864:18;;;6857:30;6923:34;6903:18;;;6896:62;-1:-1:-1;;;6974:18:1;;;6967:35;7019:19;;13860:85:0;6643:401:1;13860:85:0;13981:60;13990:5;13997:7;14025:15;14006:16;:34;13981:8;:60::i;10691:193::-;10770:4;3181:10;10826:28;3181:10;10843:2;10847:6;10826:9;:28::i;17282:380::-;-1:-1:-1;;;;;17418:19:0;;17410:68;;;;-1:-1:-1;;;17410:68:0;;6088:2:1;17410:68:0;;;6070:21:1;6127:2;6107:18;;;6100:30;6166:34;6146:18;;;6139:62;-1:-1:-1;;;6217:18:1;;;6210:34;6261:19;;17410:68:0;5886:400:1;17410:68:0;-1:-1:-1;;;;;17497:21:0;;17489:68;;;;-1:-1:-1;;;17489:68:0;;3809:2:1;17489:68:0;;;3791:21:1;3848:2;3828:18;;;3821:30;3887:34;3867:18;;;3860:62;-1:-1:-1;;;3938:18:1;;;3931:32;3980:19;;17489:68:0;3607:398:1;17489:68:0;-1:-1:-1;;;;;17570:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17622:32;;2565:25:1;;;17622:32:0;;2538:18:1;17622:32:0;;;;;;;17282:380;;;:::o;17949:453::-;-1:-1:-1;;;;;11063:18:0;;;18084:24;11063:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;18151:37:0;;18147:248;;18233:6;18213:16;:26;;18205:68;;;;-1:-1:-1;;;18205:68:0;;4567:2:1;18205:68:0;;;4549:21:1;4606:2;4586:18;;;4579:30;4645:31;4625:18;;;4618:59;4694:18;;18205:68:0;4365:353:1;18205:68:0;18317:51;18326:5;18333:7;18361:6;18342:16;:25;18317:8;:51::i;:::-;18073:329;17949:453;;;:::o;14563:671::-;-1:-1:-1;;;;;14694:18:0;;14686:68;;;;-1:-1:-1;;;14686:68:0;;5682:2:1;14686:68:0;;;5664:21:1;5721:2;5701:18;;;5694:30;5760:34;5740:18;;;5733:62;-1:-1:-1;;;5811:18:1;;;5804:35;5856:19;;14686:68:0;5480:401:1;14686:68:0;-1:-1:-1;;;;;14773:16:0;;14765:64;;;;-1:-1:-1;;;14765:64:0;;3405:2:1;14765:64:0;;;3387:21:1;3444:2;3424:18;;;3417:30;3483:34;3463:18;;;3456:62;-1:-1:-1;;;3534:18:1;;;3527:33;3577:19;;14765:64:0;3203:399:1;14765:64:0;-1:-1:-1;;;;;14915:15:0;;14893:19;14915:15;;;;;;;;;;;14949:21;;;;14941:72;;;;-1:-1:-1;;;14941:72:0;;4925:2:1;14941:72:0;;;4907:21:1;4964:2;4944:18;;;4937:30;5003:34;4983:18;;;4976:62;-1:-1:-1;;;5054:18:1;;;5047:36;5100:19;;14941:72:0;4723:402:1;14941:72:0;-1:-1:-1;;;;;15049:15:0;;;:9;:15;;;;;;;;;;;15067:20;;;15049:38;;15109:13;;;;;;;;:23;;15081:6;;15049:9;15109:23;;15081:6;;15109:23;:::i;:::-;;;;;;;;15165:2;-1:-1:-1;;;;;15150:26:0;15159:4;-1:-1:-1;;;;;15150:26:0;;15169:6;15150:26;;;;2565:25:1;;2553:2;2538:18;;2419:177;15150:26:0;;;;;;;;15189:37;19002:125;956:190;1081:4;1134;1105:25;1118:5;1125:4;1105:12;:25::i;:::-;:33;;956:190;-1:-1:-1;;;;956:190:0:o;15521:399::-;-1:-1:-1;;;;;15605:21:0;;15597:65;;;;-1:-1:-1;;;15597:65:0;;7251:2:1;15597:65:0;;;7233:21:1;7290:2;7270:18;;;7263:30;7329:33;7309:18;;;7302:61;7380:18;;15597:65:0;7049:355:1;15597:65:0;15753:6;15737:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;15770:18:0;;:9;:18;;;;;;;;;;:28;;15792:6;;15770:9;:28;;15792:6;;15770:28;:::i;:::-;;;;-1:-1:-1;;15814:37:0;;2565:25:1;;;-1:-1:-1;;;;;15814:37:0;;;15831:1;;15814:37;;2553:2:1;2538:18;15814:37:0;;;;;;;15521:399;;:::o;1508:675::-;1591:7;1634:4;1591:7;1649:497;1673:5;:12;1669:1;:16;1649:497;;;1707:20;1730:5;1736:1;1730:8;;;;;;;;:::i;:::-;;;;;;;1707:31;;1773:12;1757;:28;1753:382;;2259:13;2309:15;;;2345:4;2338:15;;;2392:4;2376:21;;1885:57;;1753:382;;;2259:13;2309:15;;;2345:4;2338:15;;;2392:4;2376:21;;2062:57;;1753:382;-1:-1:-1;1687:3:0;;;;:::i;:::-;;;;1649:497;;;-1:-1:-1;2163:12:0;1508:675;-1:-1:-1;;;1508:675:0:o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:1:o;383:260::-;451:6;459;512:2;500:9;491:7;487:23;483:32;480:52;;;528:1;525;518:12;480:52;551:29;570:9;551:29;:::i;:::-;541:39;;599:38;633:2;622:9;618:18;599:38;:::i;:::-;589:48;;383:260;;;;;:::o;648:328::-;725:6;733;741;794:2;782:9;773:7;769:23;765:32;762:52;;;810:1;807;800:12;762:52;833:29;852:9;833:29;:::i;:::-;823:39;;881:38;915:2;904:9;900:18;881:38;:::i;:::-;871:48;;966:2;955:9;951:18;938:32;928:42;;648:328;;;;;:::o;981:254::-;1049:6;1057;1110:2;1098:9;1089:7;1085:23;1081:32;1078:52;;;1126:1;1123;1116:12;1078:52;1149:29;1168:9;1149:29;:::i;:::-;1139:39;1225:2;1210:18;;;;1197:32;;-1:-1:-1;;;981:254:1:o;1240:683::-;1335:6;1343;1351;1404:2;1392:9;1383:7;1379:23;1375:32;1372:52;;;1420:1;1417;1410:12;1372:52;1456:9;1443:23;1433:33;;1517:2;1506:9;1502:18;1489:32;1540:18;1581:2;1573:6;1570:14;1567:34;;;1597:1;1594;1587:12;1567:34;1635:6;1624:9;1620:22;1610:32;;1680:7;1673:4;1669:2;1665:13;1661:27;1651:55;;1702:1;1699;1692:12;1651:55;1742:2;1729:16;1768:2;1760:6;1757:14;1754:34;;;1784:1;1781;1774:12;1754:34;1837:7;1832:2;1822:6;1819:1;1815:14;1811:2;1807:23;1803:32;1800:45;1797:65;;;1858:1;1855;1848:12;1797:65;1889:2;1885;1881:11;1871:21;;1911:6;1901:16;;;;;1240:683;;;;;:::o;2601:597::-;2713:4;2742:2;2771;2760:9;2753:21;2803:6;2797:13;2846:6;2841:2;2830:9;2826:18;2819:34;2871:1;2881:140;2895:6;2892:1;2889:13;2881:140;;;2990:14;;;2986:23;;2980:30;2956:17;;;2975:2;2952:26;2945:66;2910:10;;2881:140;;;3039:6;3036:1;3033:13;3030:91;;;3109:1;3104:2;3095:6;3084:9;3080:22;3076:31;3069:42;3030:91;-1:-1:-1;3182:2:1;3161:15;-1:-1:-1;;3157:29:1;3142:45;;;;3189:2;3138:54;;2601:597;-1:-1:-1;;;2601:597:1:o;7780:128::-;7820:3;7851:1;7847:6;7844:1;7841:13;7838:39;;;7857:18;;:::i;:::-;-1:-1:-1;7893:9:1;;7780:128::o;7913:422::-;8002:1;8045:5;8002:1;8059:270;8080:7;8070:8;8067:21;8059:270;;;8139:4;8135:1;8131:6;8127:17;8121:4;8118:27;8115:53;;;8148:18;;:::i;:::-;8198:7;8188:8;8184:22;8181:55;;;8218:16;;;;8181:55;8297:22;;;;8257:15;;;;8059:270;;;8063:3;7913:422;;;;;:::o;8340:140::-;8398:5;8427:47;8468:4;8458:8;8454:19;8448:4;8534:5;8564:8;8554:80;;-1:-1:-1;8605:1:1;8619:5;;8554:80;8653:4;8643:76;;-1:-1:-1;8690:1:1;8704:5;;8643:76;8735:4;8753:1;8748:59;;;;8821:1;8816:130;;;;8728:218;;8748:59;8778:1;8769:10;;8792:5;;;8816:130;8853:3;8843:8;8840:17;8837:43;;;8860:18;;:::i;:::-;-1:-1:-1;;8916:1:1;8902:16;;8931:5;;8728:218;;9030:2;9020:8;9017:16;9011:3;9005:4;9002:13;8998:36;8992:2;8982:8;8979:16;8974:2;8968:4;8965:12;8961:35;8958:77;8955:159;;;-1:-1:-1;9067:19:1;;;9099:5;;8955:159;9146:34;9171:8;9165:4;9146:34;:::i;:::-;9216:6;9212:1;9208:6;9204:19;9195:7;9192:32;9189:58;;;9227:18;;:::i;:::-;9265:20;;8485:806;-1:-1:-1;;;8485:806:1:o;9296:168::-;9336:7;9402:1;9398;9394:6;9390:14;9387:1;9384:21;9379:1;9372:9;9365:17;9361:45;9358:71;;;9409:18;;:::i;:::-;-1:-1:-1;9449:9:1;;9296:168::o;9469:380::-;9548:1;9544:12;;;;9591;;;9612:61;;9666:4;9658:6;9654:17;9644:27;;9612:61;9719:2;9711:6;9708:14;9688:18;9685:38;9682:161;;;9765:10;9760:3;9756:20;9753:1;9746:31;9800:4;9797:1;9790:15;9828:4;9825:1;9818:15;9682:161;;9469:380;;;:::o;9854:135::-;9893:3;-1:-1:-1;;9914:17:1;;9911:43;;;9934:18;;:::i;:::-;-1:-1:-1;9981:1:1;9970:13;;9854:135::o;9994:127::-;10055:10;10050:3;10046:20;10043:1;10036:31;10086:4;10083:1;10076:15;10110:4;10107:1;10100:15;10126:127;10187:10;10182:3;10178:20;10175:1;10168:31;10218:4;10215:1;10208:15;10242:4;10239:1;10232:15
Swarm Source
ipfs://8b42eba62b4ab02f5120b4e70dd94e9354620817da14bd505eebb93451f2bbe1
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.