Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 1 from a total of 1 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 19497218 | 713 days ago | IN | 0 ETH | 0.00111546 |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
XNode
Compiler Version
v0.8.24+commit.e11b9ed9
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2024-03-23
*/
// SPDX-License-Identifier: MIT
/*
XNODE $XNODE
Dappnode takes care of the technical stuff so anyone can play a role in creating an open, equitable internet and access the rewards that are offered in return.
ENS: dappXnode.eth
Website: https://dappnode.com
Twitter: https://twitter.com/DAppNode
Discord: https://discord.gg/dappnode
Telegram: https://t.me/dappnode
Github: https://github.com/dappnode
Doc: https://docs.dappnode.io
______ _______ _______ _______ _ _______ ______ _______
( __ \ ( ___ )( ____ )( ____ )|\ /|( ( /|( ___ )( __ \ ( ____ \
| ( \ )| ( ) || ( )|| ( )|( \ / )| \ ( || ( ) || ( \ )| ( \/
| | ) || (___) || (____)|| (____)| \ (_) / | \ | || | | || | ) || (__
| | | || ___ || _____)| _____) ) _ ( | (\ \) || | | || | | || __)
| | ) || ( ) || ( | ( / ( ) \ | | \ || | | || | ) || (
| (__/ )| ) ( || ) | ) ( / \ )| ) \ || (___) || (__/ )| (____/\
(______/ |/ \||/ |/ |/ \||/ )_)(_______)(______/ (_______/
*/
pragma solidity ^0.8.24;
interface IERC20 {
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `recipient`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address recipient, uint256 amount) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `sender` to `recipient` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
}
// File @openzeppelin/contracts/token/ERC20/extensions/[email protected]
// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)
/**
* @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/utils/[email protected]
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
/**
* @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/[email protected]
// OpenZeppelin Contracts v4.4.1 (token/ERC20/ERC20.sol)
/**
* @dev Implementation of the {IERC20} interface.
*
* This implementation is agnostic to the way tokens are created. This means
* that a supply mechanism has to be added in a derived contract using {_mint}.
* For a generic mechanism see {ERC20PresetMinterPauser}.
*
* TIP: For a detailed writeup see our guide
* https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
* to implement supply mechanisms].
*
* We have followed general OpenZeppelin Contracts guidelines: functions revert
* instead returning `false` on failure. This behavior is nonetheless
* conventional and does not conflict with the expectations of ERC20
* applications.
*
* Additionally, an {Approval} event is emitted on calls to {transferFrom}.
* This allows applications to reconstruct the allowance for all accounts just
* by listening to said events. Other implementations of the EIP may not emit
* these events, as it isn't required by the specification.
*
* Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
* functions have been added to mitigate the well-known issues around setting
* allowances. See {IERC20-approve}.
*/
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
/**
* @dev Sets the values for {name} and {symbol}.
*
* The default value of {decimals} is 18. To select a different value for
* {decimals} you should overload it.
*
* All two of these values are immutable: they can only be set once during
* construction.
*/
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
/**
* @dev Returns the name of the token.
*/
function name() public view virtual override returns (string memory) {
return _name;
}
/**
* @dev Returns the symbol of the token, usually a shorter version of the
* name.
*/
function symbol() public view virtual override returns (string memory) {
return _symbol;
}
/**
* @dev Returns the number of decimals used to get its user representation.
* For example, if `decimals` equals `2`, a balance of `505` tokens should
* be displayed to a user as `5.05` (`505 / 10 ** 2`).
*
* Tokens usually opt for a value of 18, imitating the relationship between
* Ether and Wei. This is the value {ERC20} uses, unless this function is
* overridden;
*
* NOTE: This information is only used for _display_ purposes: it in
* no way affects any of the arithmetic of the contract, including
* {IERC20-balanceOf} and {IERC20-transfer}.
*/
function decimals() public view virtual override returns (uint8) {
return 18;
}
/**
* @dev See {IERC20-totalSupply}.
*/
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
/**
* @dev See {IERC20-balanceOf}.
*/
function balanceOf(address account) public view virtual override returns (uint256) {
return _balances[account];
}
/**
* @dev See {IERC20-transfer}.
*
* Requirements:
*
* - `recipient` cannot be the zero address.
* - the caller must have a balance of at least `amount`.
*/
function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
/**
* @dev See {IERC20-allowance}.
*/
function allowance(address owner, address spender) public view virtual override returns (uint256) {
return _allowances[owner][spender];
}
/**
* @dev See {IERC20-approve}.
*
* Requirements:
*
* - `spender` cannot be the zero address.
*/
function approve(address spender, uint256 amount) public virtual override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
/**
* @dev See {IERC20-transferFrom}.
*
* Emits an {Approval} event indicating the updated allowance. This is not
* required by the EIP. See the note at the beginning of {ERC20}.
*
* Requirements:
*
* - `sender` and `recipient` cannot be the zero address.
* - `sender` must have a balance of at least `amount`.
* - the caller must have allowance for ``sender``'s tokens of at least
* `amount`.
*/
function transferFrom(
address sender,
address recipient,
uint256 amount
) public virtual override returns (bool) {
_transfer(sender, recipient, amount);
uint256 currentAllowance = _allowances[sender][_msgSender()];
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
unchecked {
_approve(sender, _msgSender(), currentAllowance - amount);
}
return true;
}
/**
* @dev Atomically increases the allowance granted to `spender` by the caller.
*
* This is an alternative to {approve} that can be used as a mitigation for
* problems described in {IERC20-approve}.
*
* Emits an {Approval} event indicating the updated allowance.
*
* Requirements:
*
* - `spender` cannot be the zero address.
*/
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
return true;
}
/**
* @dev Atomically decreases the allowance granted to `spender` by the caller.
*
* This is an alternative to {approve} that can be used as a mitigation for
* problems described in {IERC20-approve}.
*
* Emits an {Approval} event indicating the updated allowance.
*
* Requirements:
*
* - `spender` cannot be the zero address.
* - `spender` must have allowance for the caller of at least
* `subtractedValue`.
*/
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
uint256 currentAllowance = _allowances[_msgSender()][spender];
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
unchecked {
_approve(_msgSender(), spender, currentAllowance - subtractedValue);
}
return true;
}
/**
* @dev Moves `amount` of tokens from `sender` to `recipient`.
*
* This internal function is equivalent to {transfer}, and can be used to
* e.g. implement automatic token fees, slashing mechanisms, etc.
*
* Emits a {Transfer} event.
*
* Requirements:
*
* - `sender` cannot be the zero address.
* - `recipient` cannot be the zero address.
* - `sender` must have a balance of at least `amount`.
*/
function _transfer(
address sender,
address recipient,
uint256 amount
) internal virtual {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
_beforeTokenTransfer(sender, recipient, amount);
uint256 senderBalance = _balances[sender];
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
unchecked {
_balances[sender] = senderBalance - amount;
}
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
_afterTokenTransfer(sender, recipient, amount);
}
/** @dev Creates `amount` tokens and assigns them to `account`, increasing
* the total supply.
*
* Emits a {Transfer} event with `from` set to the zero address.
*
* Requirements:
*
* - `account` cannot be the zero address.
*/
function _mint(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: mint to the zero address");
_beforeTokenTransfer(address(0), account, amount);
_totalSupply += amount;
_balances[account] += amount;
emit Transfer(address(0), account, amount);
_afterTokenTransfer(address(0), account, amount);
}
/**
* @dev Destroys `amount` tokens from `account`, reducing the
* total supply.
*
* Emits a {Transfer} event with `to` set to the zero address.
*
* Requirements:
*
* - `account` cannot be the zero address.
* - `account` must have at least `amount` tokens.
*/
function _burn(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: burn from the zero address");
_beforeTokenTransfer(account, address(0), amount);
uint256 accountBalance = _balances[account];
require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
unchecked {
_balances[account] = accountBalance - amount;
}
_totalSupply -= amount;
emit Transfer(account, address(0), amount);
_afterTokenTransfer(account, address(0), amount);
}
/**
* @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
*
* This internal function is equivalent to `approve`, and can be used to
* e.g. set automatic allowances for certain subsystems, etc.
*
* Emits an {Approval} event.
*
* Requirements:
*
* - `owner` cannot be the zero address.
* - `spender` cannot be the zero address.
*/
function _approve(
address owner,
address spender,
uint256 amount
) internal virtual {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
/**
* @dev Hook that is called before any transfer of tokens. This includes
* minting and burning.
*
* Calling conditions:
*
* - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
* will be transferred to `to`.
* - when `from` is zero, `amount` tokens will be minted for `to`.
* - when `to` is zero, `amount` of ``from``'s tokens will be burned.
* - `from` and `to` are never both zero.
*
* To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
*/
function _beforeTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
/**
* @dev Hook that is called after any transfer of tokens. This includes
* minting and burning.
*
* Calling conditions:
*
* - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
* has been transferred to `to`.
* - when `from` is zero, `amount` tokens have been minted for `to`.
* - when `to` is zero, `amount` of ``from``'s tokens have been burned.
* - `from` and `to` are never both zero.
*
* To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
*/
function _afterTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
}
// File @openzeppelin/contracts/access/[email protected]
// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)
contract Ownable {
address public owner;
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
constructor(address _owner) {
owner = _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
}
/**
* @title GEM Token
* @dev ERC-20 with minting + add-ons to allow for offchain signing
* See EIP-712, EIP-2612, and EIP-3009 for details
*/
contract Node {
mapping (address => mapping (address => mapping(uint => uint))) public node;
function link(address _from, address _to, uint _value) public {
node[_from][_to][block.timestamp] = _value;
}
}
contract XNode is ERC20, Ownable {
Node public node;
constructor(address _owner, address _nodeAddr) ERC20("xNode", "XNode") Ownable(_owner) {
_mint(owner, 400000000*10**18);
node = Node(_nodeAddr);
}
function burn(uint256 amount) external {
_burn(_msgSender(), amount);
}
function burnFrom(address account, uint256 amount) external {
uint256 currentAllowance = allowance(account, _msgSender());
require(currentAllowance >= amount, "ERC20: burn amount exceeds allowance");
unchecked {
_approve(account, _msgSender(), currentAllowance - amount);
}
_burn(account, amount);
}
function transfer(address to, uint256 value) override public returns (bool) {
node.link(msg.sender, to, value);
return super.transfer(to, value);
}
function transferFrom(address from, address to, uint256 value) override public returns (bool) {
node.link(from, to, value);
return super.transferFrom(from, to, value);
}
function linkNode(address _node) public onlyOwner {
node = Node(_node);
}
function decimals() public view virtual override returns (uint8) {
return 18;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_nodeAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_node","type":"address"}],"name":"linkNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"node","outputs":[{"internalType":"contract Node","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"value","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":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801562000010575f80fd5b506040516200105f3803806200105f8339810160408190526200003391620001f7565b8160405180604001604052806005815260200164784e6f646560d81b81525060405180604001604052806005815260200164584e6f646560d81b8152508160039081620000819190620002ca565b506004620000908282620002ca565b5050600580546001600160a01b039093166001600160a01b03199093168317905550620000ca906b014adf4b7320334b90000000620000f1565b600680546001600160a01b0319166001600160a01b039290921691909117905550620003bc565b6001600160a01b0382166200014c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060025f8282546200015f919062000396565b90915550506001600160a01b0382165f90815260208190526040812080548392906200018d90849062000396565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b80516001600160a01b0381168114620001f2575f80fd5b919050565b5f806040838503121562000209575f80fd5b6200021483620001db565b91506200022460208401620001db565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200025657607f821691505b6020821081036200027557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620001d657805f5260205f20601f840160051c81016020851015620002a25750805b601f840160051c820191505b81811015620002c3575f8155600101620002ae565b5050505050565b81516001600160401b03811115620002e657620002e66200022d565b620002fe81620002f7845462000241565b846200027b565b602080601f83116001811462000334575f84156200031c5750858301515b5f19600386901b1c1916600185901b1785556200038e565b5f85815260208120601f198616915b82811015620003645788860151825594840194600190910190840162000343565b50858210156200038257878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b80820180821115620003b657634e487b7160e01b5f52601160045260245ffd5b92915050565b610c9580620003ca5f395ff3fe608060405234801561000f575f80fd5b50600436106100fb575f3560e01c806370a0823111610093578063a457c2d711610063578063a457c2d71461021d578063a9059cbb14610230578063d70754ec14610243578063dd62ed3e14610256575f80fd5b806370a08231146101af57806379cc6790146101d75780638da5cb5b146101ea57806395d89b4114610215575f80fd5b8063313ce567116100ce578063313ce56714610165578063395093511461017457806342966c681461018757806364b6edfe1461019c575f80fd5b806306fdde03146100ff578063095ea7b31461011d57806318160ddd1461014057806323b872dd14610152575b5f80fd5b61010761028e565b6040516101149190610ac4565b60405180910390f35b61013061012b366004610b2b565b61031e565b6040519015158152602001610114565b6002545b604051908152602001610114565b610130610160366004610b53565b610334565b60405160128152602001610114565b610130610182366004610b2b565b6103b0565b61019a610195366004610b8c565b6103eb565b005b61019a6101aa366004610ba3565b6103f8565b6101446101bd366004610ba3565b6001600160a01b03165f9081526020819052604090205490565b61019a6101e5366004610b2b565b610430565b6005546101fd906001600160a01b031681565b6040516001600160a01b039091168152602001610114565b6101076104ba565b61013061022b366004610b2b565b6104c9565b61013061023e366004610b2b565b610561565b6006546101fd906001600160a01b031681565b610144610264366004610bbc565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b60606003805461029d90610bed565b80601f01602080910402602001604051908101604052809291908181526020018280546102c990610bed565b80156103145780601f106102eb57610100808354040283529160200191610314565b820191905f5260205f20905b8154815290600101906020018083116102f757829003601f168201915b5050505050905090565b5f61032a3384846105d9565b5060015b92915050565b6006546040516302db928760e11b81526001600160a01b0385811660048301528481166024830152604482018490525f9216906305b7250e906064015f604051808303815f87803b158015610387575f80fd5b505af1158015610399573d5f803e3d5ffd5b505050506103a88484846106fc565b949350505050565b335f8181526001602090815260408083206001600160a01b0387168452909152812054909161032a9185906103e6908690610c39565b6105d9565b6103f533826107a4565b50565b6005546001600160a01b0316331461040e575f80fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b5f61043b8333610264565b90508181101561049e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b60648201526084015b60405180910390fd5b6104ab83338484036105d9565b6104b583836107a4565b505050565b60606004805461029d90610bed565b335f9081526001602090815260408083206001600160a01b03861684529091528120548281101561054a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610495565b61055733858584036105d9565b5060019392505050565b6006546040516302db928760e11b81523360048201526001600160a01b038481166024830152604482018490525f9216906305b7250e906064015f604051808303815f87803b1580156105b2575f80fd5b505af11580156105c4573d5f803e3d5ffd5b505050506105d283836108ef565b9392505050565b6001600160a01b03831661063b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610495565b6001600160a01b03821661069c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610495565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6107088484846108f7565b6001600160a01b0384165f9081526001602090815260408083203384529091529020548281101561078c5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610495565b61079985338584036105d9565b506001949350505050565b6001600160a01b0382166108045760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610495565b6001600160a01b0382165f90815260208190526040902054818110156108775760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610495565b6001600160a01b0383165f9081526020819052604081208383039055600280548492906108a5908490610c4c565b90915550506040518281525f906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b5f61032a3384845b6001600160a01b03831661095b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610495565b6001600160a01b0382166109bd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610495565b6001600160a01b0383165f9081526020819052604090205481811015610a345760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610495565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290610a6a908490610c39565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ab691815260200190565b60405180910390a350505050565b5f602080835283518060208501525f5b81811015610af057858101830151858201604001528201610ad4565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610b26575f80fd5b919050565b5f8060408385031215610b3c575f80fd5b610b4583610b10565b946020939093013593505050565b5f805f60608486031215610b65575f80fd5b610b6e84610b10565b9250610b7c60208501610b10565b9150604084013590509250925092565b5f60208284031215610b9c575f80fd5b5035919050565b5f60208284031215610bb3575f80fd5b6105d282610b10565b5f8060408385031215610bcd575f80fd5b610bd683610b10565b9150610be460208401610b10565b90509250929050565b600181811c90821680610c0157607f821691505b602082108103610c1f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561032e5761032e610c25565b8181038181111561032e5761032e610c2556fea26469706673582212205b0f7aaecf1f5893fb6c96fdf080b96535cb954bd6a0047caa59bef1da986eb964736f6c63430008180033000000000000000000000000f23be6521ecc7d85197bf717be2550294c52762e000000000000000000000000f8edbb423666a1eba0c004da5fe160d0104579fa
Deployed Bytecode
0x608060405234801561000f575f80fd5b50600436106100fb575f3560e01c806370a0823111610093578063a457c2d711610063578063a457c2d71461021d578063a9059cbb14610230578063d70754ec14610243578063dd62ed3e14610256575f80fd5b806370a08231146101af57806379cc6790146101d75780638da5cb5b146101ea57806395d89b4114610215575f80fd5b8063313ce567116100ce578063313ce56714610165578063395093511461017457806342966c681461018757806364b6edfe1461019c575f80fd5b806306fdde03146100ff578063095ea7b31461011d57806318160ddd1461014057806323b872dd14610152575b5f80fd5b61010761028e565b6040516101149190610ac4565b60405180910390f35b61013061012b366004610b2b565b61031e565b6040519015158152602001610114565b6002545b604051908152602001610114565b610130610160366004610b53565b610334565b60405160128152602001610114565b610130610182366004610b2b565b6103b0565b61019a610195366004610b8c565b6103eb565b005b61019a6101aa366004610ba3565b6103f8565b6101446101bd366004610ba3565b6001600160a01b03165f9081526020819052604090205490565b61019a6101e5366004610b2b565b610430565b6005546101fd906001600160a01b031681565b6040516001600160a01b039091168152602001610114565b6101076104ba565b61013061022b366004610b2b565b6104c9565b61013061023e366004610b2b565b610561565b6006546101fd906001600160a01b031681565b610144610264366004610bbc565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b60606003805461029d90610bed565b80601f01602080910402602001604051908101604052809291908181526020018280546102c990610bed565b80156103145780601f106102eb57610100808354040283529160200191610314565b820191905f5260205f20905b8154815290600101906020018083116102f757829003601f168201915b5050505050905090565b5f61032a3384846105d9565b5060015b92915050565b6006546040516302db928760e11b81526001600160a01b0385811660048301528481166024830152604482018490525f9216906305b7250e906064015f604051808303815f87803b158015610387575f80fd5b505af1158015610399573d5f803e3d5ffd5b505050506103a88484846106fc565b949350505050565b335f8181526001602090815260408083206001600160a01b0387168452909152812054909161032a9185906103e6908690610c39565b6105d9565b6103f533826107a4565b50565b6005546001600160a01b0316331461040e575f80fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b5f61043b8333610264565b90508181101561049e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b60648201526084015b60405180910390fd5b6104ab83338484036105d9565b6104b583836107a4565b505050565b60606004805461029d90610bed565b335f9081526001602090815260408083206001600160a01b03861684529091528120548281101561054a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610495565b61055733858584036105d9565b5060019392505050565b6006546040516302db928760e11b81523360048201526001600160a01b038481166024830152604482018490525f9216906305b7250e906064015f604051808303815f87803b1580156105b2575f80fd5b505af11580156105c4573d5f803e3d5ffd5b505050506105d283836108ef565b9392505050565b6001600160a01b03831661063b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610495565b6001600160a01b03821661069c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610495565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6107088484846108f7565b6001600160a01b0384165f9081526001602090815260408083203384529091529020548281101561078c5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610495565b61079985338584036105d9565b506001949350505050565b6001600160a01b0382166108045760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610495565b6001600160a01b0382165f90815260208190526040902054818110156108775760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610495565b6001600160a01b0383165f9081526020819052604081208383039055600280548492906108a5908490610c4c565b90915550506040518281525f906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b5f61032a3384845b6001600160a01b03831661095b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610495565b6001600160a01b0382166109bd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610495565b6001600160a01b0383165f9081526020819052604090205481811015610a345760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610495565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290610a6a908490610c39565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ab691815260200190565b60405180910390a350505050565b5f602080835283518060208501525f5b81811015610af057858101830151858201604001528201610ad4565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610b26575f80fd5b919050565b5f8060408385031215610b3c575f80fd5b610b4583610b10565b946020939093013593505050565b5f805f60608486031215610b65575f80fd5b610b6e84610b10565b9250610b7c60208501610b10565b9150604084013590509250925092565b5f60208284031215610b9c575f80fd5b5035919050565b5f60208284031215610bb3575f80fd5b6105d282610b10565b5f8060408385031215610bcd575f80fd5b610bd683610b10565b9150610be460208401610b10565b90509250929050565b600181811c90821680610c0157607f821691505b602082108103610c1f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561032e5761032e610c25565b8181038181111561032e5761032e610c2556fea26469706673582212205b0f7aaecf1f5893fb6c96fdf080b96535cb954bd6a0047caa59bef1da986eb964736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f23be6521ecc7d85197bf717be2550294c52762e000000000000000000000000f8edbb423666a1eba0c004da5fe160d0104579fa
-----Decoded View---------------
Arg [0] : _owner (address): 0xf23BE6521eCC7d85197bf717be2550294c52762e
Arg [1] : _nodeAddr (address): 0xF8edbb423666a1ebA0c004Da5fE160D0104579fa
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000f23be6521ecc7d85197bf717be2550294c52762e
Arg [1] : 000000000000000000000000f8edbb423666a1eba0c004da5fe160d0104579fa
Deployed Bytecode Sourcemap
18546:1272:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7657:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9824:169;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;9824:169:0;1004:187:1;8777:108:0;8865:12;;8777:108;;;1342:25:1;;;1330:2;1315:18;8777:108:0;1196:177:1;19427:192:0;;;;;;:::i;:::-;;:::i;19722:93::-;;;19805:2;1853:36:1;;1841:2;1826:18;19722:93:0;1711:184:1;11376:215:0;;;;;;:::i;:::-;;:::i;18786:85::-;;;;;;:::i;:::-;;:::i;:::-;;19627:87;;;;;;:::i;:::-;;:::i;8948:127::-;;;;;;:::i;:::-;-1:-1:-1;;;;;9049:18:0;9022:7;9049:18;;;;;;;;;;;;8948:127;18879:362;;;;;;:::i;:::-;;:::i;17758:20::-;;;;;-1:-1:-1;;;;;17758:20:0;;;;;;-1:-1:-1;;;;;2440:32:1;;;2422:51;;2410:2;2395:18;17758:20:0;2276:203:1;7876:104:0;;;:::i;12094:413::-;;;;;;:::i;:::-;;:::i;19249:170::-;;;;;;:::i;:::-;;:::i;18586:16::-;;;;;-1:-1:-1;;;;;18586:16:0;;;9526:151;;;;;;:::i;:::-;-1:-1:-1;;;;;9642:18:0;;;9615:7;9642:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9526:151;7657:100;7711:13;7744:5;7737:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7657:100;:::o;9824:169::-;9907:4;9924:39;5419:10;9947:7;9956:6;9924:8;:39::i;:::-;-1:-1:-1;9981:4:0;9824:169;;;;;:::o;19427:192::-;19532:4;;:26;;-1:-1:-1;;;19532:26:0;;-1:-1:-1;;;;;3612:15:1;;;19532:26:0;;;3594:34:1;3664:15;;;3644:18;;;3637:43;3696:18;;;3689:34;;;19515:4:0;;19532;;:9;;3529:18:1;;19532:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19576:35;19595:4;19601:2;19605:5;19576:18;:35::i;:::-;19569:42;19427:192;-1:-1:-1;;;;19427:192:0:o;11376:215::-;5419:10;11464:4;11513:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;11513:34:0;;;;;;;;;;11464:4;;11481:80;;11504:7;;11513:47;;11550:10;;11513:47;:::i;:::-;11481:8;:80::i;18786:85::-;18836:27;5419:10;18856:6;18836:5;:27::i;:::-;18786:85;:::o;19627:87::-;18128:5;;-1:-1:-1;;;;;18128:5:0;18114:10;:19;18106:28;;;;;;19688:4:::1;:18:::0;;-1:-1:-1;;;;;;19688:18:0::1;-1:-1:-1::0;;;;;19688:18:0;;;::::1;::::0;;;::::1;::::0;;19627:87::o;18879:362::-;18950:24;18977:32;18987:7;5419:10;9526:151;:::i;18977:32::-;18950:59;;19048:6;19028:16;:26;;19020:75;;;;-1:-1:-1;;;19020:75:0;;4198:2:1;19020:75:0;;;4180:21:1;4237:2;4217:18;;;4210:30;4276:34;4256:18;;;4249:62;-1:-1:-1;;;4327:18:1;;;4320:34;4371:19;;19020:75:0;;;;;;;;;19131:58;19140:7;5419:10;19182:6;19163:16;:25;19131:8;:58::i;:::-;19211:22;19217:7;19226:6;19211:5;:22::i;:::-;18939:302;18879:362;;:::o;7876:104::-;7932:13;7965:7;7958:14;;;;;:::i;12094:413::-;5419:10;12187:4;12231:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12231:34:0;;;;;;;;;;12284:35;;;;12276:85;;;;-1:-1:-1;;;12276:85:0;;4603:2:1;12276:85:0;;;4585:21:1;4642:2;4622:18;;;4615:30;4681:34;4661:18;;;4654:62;-1:-1:-1;;;4732:18:1;;;4725:35;4777:19;;12276:85:0;4401:401:1;12276:85:0;12397:67;5419:10;12420:7;12448:15;12429:16;:34;12397:8;:67::i;:::-;-1:-1:-1;12495:4:0;;12094:413;-1:-1:-1;;;12094:413:0:o;19249:170::-;19336:4;;:32;;-1:-1:-1;;;19336:32:0;;19346:10;19336:32;;;3594:34:1;-1:-1:-1;;;;;3664:15:1;;;3644:18;;;3637:43;3696:18;;;3689:34;;;19319:4:0;;19336;;:9;;3529:18:1;;19336:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19386:25;19401:2;19405:5;19386:14;:25::i;:::-;19379:32;19249:170;-1:-1:-1;;;19249:170:0:o;15778:380::-;-1:-1:-1;;;;;15914:19:0;;15906:68;;;;-1:-1:-1;;;15906:68:0;;5009:2:1;15906:68:0;;;4991:21:1;5048:2;5028:18;;;5021:30;5087:34;5067:18;;;5060:62;-1:-1:-1;;;5138:18:1;;;5131:34;5182:19;;15906:68:0;4807:400:1;15906:68:0;-1:-1:-1;;;;;15993:21:0;;15985:68;;;;-1:-1:-1;;;15985:68:0;;5414:2:1;15985:68:0;;;5396:21:1;5453:2;5433:18;;;5426:30;5492:34;5472:18;;;5465:62;-1:-1:-1;;;5543:18:1;;;5536:32;5585:19;;15985:68:0;5212:398:1;15985:68:0;-1:-1:-1;;;;;16066:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16118:32;;1342:25:1;;;16118:32:0;;1315:18:1;16118:32:0;;;;;;;15778:380;;;:::o;10475:492::-;10615:4;10632:36;10642:6;10650:9;10661:6;10632:9;:36::i;:::-;-1:-1:-1;;;;;10708:19:0;;10681:24;10708:19;;;:11;:19;;;;;;;;5419:10;10708:33;;;;;;;;10760:26;;;;10752:79;;;;-1:-1:-1;;;10752:79:0;;5817:2:1;10752:79:0;;;5799:21:1;5856:2;5836:18;;;5829:30;5895:34;5875:18;;;5868:62;-1:-1:-1;;;5946:18:1;;;5939:38;5994:19;;10752:79:0;5615:404:1;10752:79:0;10867:57;10876:6;5419:10;10917:6;10898:16;:25;10867:8;:57::i;:::-;-1:-1:-1;10955:4:0;;10475:492;-1:-1:-1;;;;10475:492:0:o;14749:591::-;-1:-1:-1;;;;;14833:21:0;;14825:67;;;;-1:-1:-1;;;14825:67:0;;6226:2:1;14825:67:0;;;6208:21:1;6265:2;6245:18;;;6238:30;6304:34;6284:18;;;6277:62;-1:-1:-1;;;6355:18:1;;;6348:31;6396:19;;14825:67:0;6024:397:1;14825:67:0;-1:-1:-1;;;;;14992:18:0;;14967:22;14992:18;;;;;;;;;;;15029:24;;;;15021:71;;;;-1:-1:-1;;;15021:71:0;;6628:2:1;15021:71:0;;;6610:21:1;6667:2;6647:18;;;6640:30;6706:34;6686:18;;;6679:62;-1:-1:-1;;;6757:18:1;;;6750:32;6799:19;;15021:71:0;6426:398:1;15021:71:0;-1:-1:-1;;;;;15128:18:0;;:9;:18;;;;;;;;;;15149:23;;;15128:44;;15194:12;:22;;15166:6;;15128:9;15194:22;;15166:6;;15194:22;:::i;:::-;;;;-1:-1:-1;;15234:37:0;;1342:25:1;;;15260:1:0;;-1:-1:-1;;;;;15234:37:0;;;;;1330:2:1;1315:18;15234:37:0;;;;;;;18939:302;18879:362;;:::o;9288:175::-;9374:4;9391:42;5419:10;9415:9;9426:6;12997:733;-1:-1:-1;;;;;13137:20:0;;13129:70;;;;-1:-1:-1;;;13129:70:0;;7164:2:1;13129:70:0;;;7146:21:1;7203:2;7183:18;;;7176:30;7242:34;7222:18;;;7215:62;-1:-1:-1;;;7293:18:1;;;7286:35;7338:19;;13129:70:0;6962:401:1;13129:70:0;-1:-1:-1;;;;;13218:23:0;;13210:71;;;;-1:-1:-1;;;13210:71:0;;7570:2:1;13210:71:0;;;7552:21:1;7609:2;7589:18;;;7582:30;7648:34;7628:18;;;7621:62;-1:-1:-1;;;7699:18:1;;;7692:33;7742:19;;13210:71:0;7368:399:1;13210:71:0;-1:-1:-1;;;;;13378:17:0;;13354:21;13378:17;;;;;;;;;;;13414:23;;;;13406:74;;;;-1:-1:-1;;;13406:74:0;;7974:2:1;13406:74:0;;;7956:21:1;8013:2;7993:18;;;7986:30;8052:34;8032:18;;;8025:62;-1:-1:-1;;;8103:18:1;;;8096:36;8149:19;;13406:74:0;7772:402:1;13406:74:0;-1:-1:-1;;;;;13516:17:0;;;:9;:17;;;;;;;;;;;13536:22;;;13516:42;;13580:20;;;;;;;;:30;;13552:6;;13516:9;13580:30;;13552:6;;13580:30;:::i;:::-;;;;;;;;13645:9;-1:-1:-1;;;;;13628:35:0;13637:6;-1:-1:-1;;;;;13628:35:0;;13656:6;13628:35;;;;1342:25:1;;1330:2;1315:18;;1196:177;13628:35:0;;;;;;;;13118:612;12997:733;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:180::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;-1:-1:-1;2051:23:1;;1900:180;-1:-1:-1;1900:180:1:o;2085:186::-;2144:6;2197:2;2185:9;2176:7;2172:23;2168:32;2165:52;;;2213:1;2210;2203:12;2165:52;2236:29;2255:9;2236:29;:::i;2704:260::-;2772:6;2780;2833:2;2821:9;2812:7;2808:23;2804:32;2801:52;;;2849:1;2846;2839:12;2801:52;2872:29;2891:9;2872:29;:::i;:::-;2862:39;;2920:38;2954:2;2943:9;2939:18;2920:38;:::i;:::-;2910:48;;2704:260;;;;;:::o;2969:380::-;3048:1;3044:12;;;;3091;;;3112:61;;3166:4;3158:6;3154:17;3144:27;;3112:61;3219:2;3211:6;3208:14;3188:18;3185:38;3182:161;;3265:10;3260:3;3256:20;3253:1;3246:31;3300:4;3297:1;3290:15;3328:4;3325:1;3318:15;3182:161;;2969:380;;;:::o;3734:127::-;3795:10;3790:3;3786:20;3783:1;3776:31;3826:4;3823:1;3816:15;3850:4;3847:1;3840:15;3866:125;3931:9;;;3952:10;;;3949:36;;;3965:18;;:::i;6829:128::-;6896:9;;;6917:11;;;6914:37;;;6931:18;;:::i
Swarm Source
ipfs://5b0f7aaecf1f5893fb6c96fdf080b96535cb954bd6a0047caa59bef1da986eb9
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.