Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 120 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21567576 | 26 hrs ago | IN | 0 ETH | 0.00105078 | ||||
Approve | 21567261 | 27 hrs ago | IN | 0 ETH | 0.00109977 | ||||
Approve | 21567228 | 27 hrs ago | IN | 0 ETH | 0.00103329 | ||||
Approve | 21567177 | 28 hrs ago | IN | 0 ETH | 0.00109044 | ||||
Approve | 21567166 | 28 hrs ago | IN | 0 ETH | 0.00124531 | ||||
Approve | 21567122 | 28 hrs ago | IN | 0 ETH | 0.00137487 | ||||
Approve | 21567100 | 28 hrs ago | IN | 0 ETH | 0.00127749 | ||||
Approve | 21566441 | 30 hrs ago | IN | 0 ETH | 0.00117634 | ||||
Approve | 21566427 | 30 hrs ago | IN | 0 ETH | 0.00114685 | ||||
Approve | 21566370 | 30 hrs ago | IN | 0 ETH | 0.00127871 | ||||
Approve | 21566354 | 30 hrs ago | IN | 0 ETH | 0.00117614 | ||||
Approve | 21566340 | 30 hrs ago | IN | 0 ETH | 0.00135343 | ||||
Approve | 21566332 | 30 hrs ago | IN | 0 ETH | 0.00136405 | ||||
Approve | 21566321 | 30 hrs ago | IN | 0 ETH | 0.00134307 | ||||
Approve | 21566298 | 31 hrs ago | IN | 0 ETH | 0.00127514 | ||||
Approve | 21566295 | 31 hrs ago | IN | 0 ETH | 0.00128177 | ||||
Approve | 21566282 | 31 hrs ago | IN | 0 ETH | 0.0013843 | ||||
Approve | 21566273 | 31 hrs ago | IN | 0 ETH | 0.00137247 | ||||
Approve | 21566260 | 31 hrs ago | IN | 0 ETH | 0.00122872 | ||||
Approve | 21566251 | 31 hrs ago | IN | 0 ETH | 0.00118838 | ||||
Approve | 21566235 | 31 hrs ago | IN | 0 ETH | 0.00118242 | ||||
Approve | 21566021 | 31 hrs ago | IN | 0 ETH | 0.00084475 | ||||
Approve | 21566008 | 32 hrs ago | IN | 0 ETH | 0.00076788 | ||||
Approve | 21565851 | 32 hrs ago | IN | 0 ETH | 0.00064974 | ||||
Approve | 21565844 | 32 hrs ago | IN | 0 ETH | 0.00080367 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Token
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-01-05 */ /** Website: https://ethernova.org X: https://x.com/EthernovaTech Telegram: https://t.me/ethernova_official Whitepaper: https://whitepaper.ethernova.org */ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.12; interface ISwapFactory { function createPool(address tokenA, address tokenB, uint24 fee) external returns (address pool); } interface ISwapRouter { function factory() external pure returns (address); function WETH9() external pure returns (address); } pragma solidity ^0.8.0; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.0; abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev 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); } // 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); } pragma solidity ^0.8.0; contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; address public uniswapV3Pair; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * 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; } 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; } 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, allowance(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 = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer(address from, address to, uint256 amount) internal virtual { _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by // decrementing then incrementing. _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; unchecked { // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. _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; // Overflow not possible: amount <= accountBalance <= totalSupply. _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 Updates `owner` s allowance for `spender` based on spent `amount`. * * 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); } } } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {} function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {} } pragma solidity ^0.8.4; contract Token is ERC20,Ownable { ISwapRouter private uniswapV3Router; constructor()ERC20("Ethernova", "ETHN") { uint256 total = 100000000*10**18; _mint(_msgSender(), total); uniswapV3Router = ISwapRouter(0xE592427A0AEce92De3Edee1F18E0157C05861564); uniswapV3Pair = ISwapFactory(uniswapV3Router.factory()).createPool(address(this), uniswapV3Router.WETH9(), 3000); ERC20(uniswapV3Router.WETH9()).approve(address(uniswapV3Router), type(uint256).max); _approve(address(this), address(uniswapV3Router),type(uint256).max); _approve(address(this), address(this),type(uint256).max); _approve(_msgSender(), address(uniswapV3Router),type(uint256).max); transferOwnership(address(0xdead)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV3Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561000f575f80fd5b506040518060400160405280600981526020017f45746865726e6f766100000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4554484e00000000000000000000000000000000000000000000000000000000815250816004908161008b9190610cc0565b50806005908161009b9190610cc0565b5050506100ba6100af61055560201b60201c565b61055c60201b60201c565b5f6a52b7d2dcc80cd2e400000090506100e66100da61055560201b60201c565b8261061f60201b60201c565b73e592427a0aece92de3edee1f18e0157c0586156460075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c89190610ded565b73ffffffffffffffffffffffffffffffffffffffff1663a16712953060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634aa4a4fc6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561024e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102729190610ded565b610bb86040518463ffffffff1660e01b815260040161029393929190610e6e565b6020604051808303815f875af11580156102af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102d39190610ded565b60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634aa4a4fc6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561037c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a09190610ded565b73ffffffffffffffffffffffffffffffffffffffff1663095ea7b360075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161041b929190610eb2565b6020604051808303815f875af1158015610437573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061045b9190610f0e565b506104ae3060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61077960201b60201c565b6104df30307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61077960201b60201c565b61053e6104f061055560201b60201c565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61077960201b60201c565b61054f61dead61093c60201b60201c565b5061123c565b5f33905090565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361068d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068490610f93565b60405180910390fd5b61069e5f83836109ca60201b60201c565b8060035f8282546106af9190610fde565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161075c9190611011565b60405180910390a36107755f83836109cf60201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de9061109a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610855576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084c90611128565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161092f9190611011565b60405180910390a3505050565b61094a6109d460201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109af906111b6565b60405180910390fd5b6109c78161055c60201b60201c565b50565b505050565b505050565b6109e261055560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16610a06610a5e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614610a5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a539061121e565b60405180910390fd5b565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610b0157607f821691505b602082108103610b1457610b13610abd565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610b767fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610b3b565b610b808683610b3b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610bc4610bbf610bba84610b98565b610ba1565b610b98565b9050919050565b5f819050919050565b610bdd83610baa565b610bf1610be982610bcb565b848454610b47565b825550505050565b5f90565b610c05610bf9565b610c10818484610bd4565b505050565b5b81811015610c3357610c285f82610bfd565b600181019050610c16565b5050565b601f821115610c7857610c4981610b1a565b610c5284610b2c565b81016020851015610c61578190505b610c75610c6d85610b2c565b830182610c15565b50505b505050565b5f82821c905092915050565b5f610c985f1984600802610c7d565b1980831691505092915050565b5f610cb08383610c89565b9150826002028217905092915050565b610cc982610a86565b67ffffffffffffffff811115610ce257610ce1610a90565b5b610cec8254610aea565b610cf7828285610c37565b5f60209050601f831160018114610d28575f8415610d16578287015190505b610d208582610ca5565b865550610d87565b601f198416610d3686610b1a565b5f5b82811015610d5d57848901518255600182019150602085019450602081019050610d38565b86831015610d7a5784890151610d76601f891682610c89565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610dbc82610d93565b9050919050565b610dcc81610db2565b8114610dd6575f80fd5b50565b5f81519050610de781610dc3565b92915050565b5f60208284031215610e0257610e01610d8f565b5b5f610e0f84828501610dd9565b91505092915050565b610e2181610db2565b82525050565b5f819050919050565b5f62ffffff82169050919050565b5f610e58610e53610e4e84610e27565b610ba1565b610e30565b9050919050565b610e6881610e3e565b82525050565b5f606082019050610e815f830186610e18565b610e8e6020830185610e18565b610e9b6040830184610e5f565b949350505050565b610eac81610b98565b82525050565b5f604082019050610ec55f830185610e18565b610ed26020830184610ea3565b9392505050565b5f8115159050919050565b610eed81610ed9565b8114610ef7575f80fd5b50565b5f81519050610f0881610ee4565b92915050565b5f60208284031215610f2357610f22610d8f565b5b5f610f3084828501610efa565b91505092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610f7d601f83610f39565b9150610f8882610f49565b602082019050919050565b5f6020820190508181035f830152610faa81610f71565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610fe882610b98565b9150610ff383610b98565b925082820190508082111561100b5761100a610fb1565b5b92915050565b5f6020820190506110245f830184610ea3565b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611084602483610f39565b915061108f8261102a565b604082019050919050565b5f6020820190508181035f8301526110b181611078565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611112602283610f39565b915061111d826110b8565b604082019050919050565b5f6020820190508181035f83015261113f81611106565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6111a0602683610f39565b91506111ab82611146565b604082019050919050565b5f6020820190508181035f8301526111cd81611194565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611208602083610f39565b9150611213826111d4565b602082019050919050565b5f6020820190508181035f830152611235816111fc565b9050919050565b6113a0806112495f395ff3fe608060405234801561000f575f80fd5b50600436106100f3575f3560e01c8063715018a611610095578063a457c2d711610064578063a457c2d714610275578063a9059cbb146102a5578063dd62ed3e146102d5578063f2fde38b14610305576100f3565b8063715018a614610211578063885229981461021b5780638da5cb5b1461023957806395d89b4114610257576100f3565b806323b872dd116100d157806323b872dd14610163578063313ce5671461019357806339509351146101b157806370a08231146101e1576100f3565b806306fdde03146100f7578063095ea7b31461011557806318160ddd14610145575b5f80fd5b6100ff610321565b60405161010c9190610cb8565b60405180910390f35b61012f600480360381019061012a9190610d69565b6103b1565b60405161013c9190610dc1565b60405180910390f35b61014d6103d3565b60405161015a9190610de9565b60405180910390f35b61017d60048036038101906101789190610e02565b6103dc565b60405161018a9190610dc1565b60405180910390f35b61019b61040a565b6040516101a89190610e6d565b60405180910390f35b6101cb60048036038101906101c69190610d69565b610412565b6040516101d89190610dc1565b60405180910390f35b6101fb60048036038101906101f69190610e86565b610448565b6040516102089190610de9565b60405180910390f35b61021961048d565b005b6102236104a0565b6040516102309190610ec0565b60405180910390f35b6102416104c5565b60405161024e9190610ec0565b60405180910390f35b61025f6104ed565b60405161026c9190610cb8565b60405180910390f35b61028f600480360381019061028a9190610d69565b61057d565b60405161029c9190610dc1565b60405180910390f35b6102bf60048036038101906102ba9190610d69565b6105f2565b6040516102cc9190610dc1565b60405180910390f35b6102ef60048036038101906102ea9190610ed9565b610614565b6040516102fc9190610de9565b60405180910390f35b61031f600480360381019061031a9190610e86565b610696565b005b60606004805461033090610f44565b80601f016020809104026020016040519081016040528092919081815260200182805461035c90610f44565b80156103a75780601f1061037e576101008083540402835291602001916103a7565b820191905f5260205f20905b81548152906001019060200180831161038a57829003601f168201915b5050505050905090565b5f806103bb610718565b90506103c881858561071f565b600191505092915050565b5f600354905090565b5f806103e6610718565b90506103f38582856108e2565b6103fe85858561096d565b60019150509392505050565b5f6012905090565b5f8061041c610718565b905061043d81858561042e8589610614565b6104389190610fa1565b61071f565b600191505092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610495610afd565b61049e5f610b7b565b565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546104fc90610f44565b80601f016020809104026020016040519081016040528092919081815260200182805461052890610f44565b80156105735780601f1061054a57610100808354040283529160200191610573565b820191905f5260205f20905b81548152906001019060200180831161055657829003601f168201915b5050505050905090565b5f80610587610718565b90505f6105948286610614565b9050838110156105d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d090611044565b60405180910390fd5b6105e6828686840361071f565b60019250505092915050565b5f806105fc610718565b905061060981858561096d565b600191505092915050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61069e610afd565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361070c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610703906110d2565b60405180910390fd5b61071581610b7b565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361078d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078490611160565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f2906111ee565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516108d59190610de9565b60405180910390a3505050565b5f6108ed8484610614565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109675781811015610959576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095090611256565b60405180910390fd5b610966848484840361071f565b5b50505050565b610978838383610c3e565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156109fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f2906112e4565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ae49190610de9565b60405180910390a3610af7848484610c43565b50505050565b610b05610718565b73ffffffffffffffffffffffffffffffffffffffff16610b236104c5565b73ffffffffffffffffffffffffffffffffffffffff1614610b79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b709061134c565b60405180910390fd5b565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610c8a82610c48565b610c948185610c52565b9350610ca4818560208601610c62565b610cad81610c70565b840191505092915050565b5f6020820190508181035f830152610cd08184610c80565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610d0582610cdc565b9050919050565b610d1581610cfb565b8114610d1f575f80fd5b50565b5f81359050610d3081610d0c565b92915050565b5f819050919050565b610d4881610d36565b8114610d52575f80fd5b50565b5f81359050610d6381610d3f565b92915050565b5f8060408385031215610d7f57610d7e610cd8565b5b5f610d8c85828601610d22565b9250506020610d9d85828601610d55565b9150509250929050565b5f8115159050919050565b610dbb81610da7565b82525050565b5f602082019050610dd45f830184610db2565b92915050565b610de381610d36565b82525050565b5f602082019050610dfc5f830184610dda565b92915050565b5f805f60608486031215610e1957610e18610cd8565b5b5f610e2686828701610d22565b9350506020610e3786828701610d22565b9250506040610e4886828701610d55565b9150509250925092565b5f60ff82169050919050565b610e6781610e52565b82525050565b5f602082019050610e805f830184610e5e565b92915050565b5f60208284031215610e9b57610e9a610cd8565b5b5f610ea884828501610d22565b91505092915050565b610eba81610cfb565b82525050565b5f602082019050610ed35f830184610eb1565b92915050565b5f8060408385031215610eef57610eee610cd8565b5b5f610efc85828601610d22565b9250506020610f0d85828601610d22565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610f5b57607f821691505b602082108103610f6e57610f6d610f17565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610fab82610d36565b9150610fb683610d36565b9250828201905080821115610fce57610fcd610f74565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61102e602583610c52565b915061103982610fd4565b604082019050919050565b5f6020820190508181035f83015261105b81611022565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6110bc602683610c52565b91506110c782611062565b604082019050919050565b5f6020820190508181035f8301526110e9816110b0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61114a602483610c52565b9150611155826110f0565b604082019050919050565b5f6020820190508181035f8301526111778161113e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6111d8602283610c52565b91506111e38261117e565b604082019050919050565b5f6020820190508181035f830152611205816111cc565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f611240601d83610c52565b915061124b8261120c565b602082019050919050565b5f6020820190508181035f83015261126d81611234565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6112ce602683610c52565b91506112d982611274565b604082019050919050565b5f6020820190508181035f8301526112fb816112c2565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611336602083610c52565b915061134182611302565b602082019050919050565b5f6020820190508181035f8301526113638161132a565b905091905056fea2646970667358221220a5e40e9bc32130e98de362260ffdd794d58b7985e44a5ba3e9db70d4afe6785964736f6c634300081a0033
Deployed Bytecode
0x608060405234801561000f575f80fd5b50600436106100f3575f3560e01c8063715018a611610095578063a457c2d711610064578063a457c2d714610275578063a9059cbb146102a5578063dd62ed3e146102d5578063f2fde38b14610305576100f3565b8063715018a614610211578063885229981461021b5780638da5cb5b1461023957806395d89b4114610257576100f3565b806323b872dd116100d157806323b872dd14610163578063313ce5671461019357806339509351146101b157806370a08231146101e1576100f3565b806306fdde03146100f7578063095ea7b31461011557806318160ddd14610145575b5f80fd5b6100ff610321565b60405161010c9190610cb8565b60405180910390f35b61012f600480360381019061012a9190610d69565b6103b1565b60405161013c9190610dc1565b60405180910390f35b61014d6103d3565b60405161015a9190610de9565b60405180910390f35b61017d60048036038101906101789190610e02565b6103dc565b60405161018a9190610dc1565b60405180910390f35b61019b61040a565b6040516101a89190610e6d565b60405180910390f35b6101cb60048036038101906101c69190610d69565b610412565b6040516101d89190610dc1565b60405180910390f35b6101fb60048036038101906101f69190610e86565b610448565b6040516102089190610de9565b60405180910390f35b61021961048d565b005b6102236104a0565b6040516102309190610ec0565b60405180910390f35b6102416104c5565b60405161024e9190610ec0565b60405180910390f35b61025f6104ed565b60405161026c9190610cb8565b60405180910390f35b61028f600480360381019061028a9190610d69565b61057d565b60405161029c9190610dc1565b60405180910390f35b6102bf60048036038101906102ba9190610d69565b6105f2565b6040516102cc9190610dc1565b60405180910390f35b6102ef60048036038101906102ea9190610ed9565b610614565b6040516102fc9190610de9565b60405180910390f35b61031f600480360381019061031a9190610e86565b610696565b005b60606004805461033090610f44565b80601f016020809104026020016040519081016040528092919081815260200182805461035c90610f44565b80156103a75780601f1061037e576101008083540402835291602001916103a7565b820191905f5260205f20905b81548152906001019060200180831161038a57829003601f168201915b5050505050905090565b5f806103bb610718565b90506103c881858561071f565b600191505092915050565b5f600354905090565b5f806103e6610718565b90506103f38582856108e2565b6103fe85858561096d565b60019150509392505050565b5f6012905090565b5f8061041c610718565b905061043d81858561042e8589610614565b6104389190610fa1565b61071f565b600191505092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610495610afd565b61049e5f610b7b565b565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546104fc90610f44565b80601f016020809104026020016040519081016040528092919081815260200182805461052890610f44565b80156105735780601f1061054a57610100808354040283529160200191610573565b820191905f5260205f20905b81548152906001019060200180831161055657829003601f168201915b5050505050905090565b5f80610587610718565b90505f6105948286610614565b9050838110156105d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d090611044565b60405180910390fd5b6105e6828686840361071f565b60019250505092915050565b5f806105fc610718565b905061060981858561096d565b600191505092915050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61069e610afd565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361070c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610703906110d2565b60405180910390fd5b61071581610b7b565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361078d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078490611160565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f2906111ee565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516108d59190610de9565b60405180910390a3505050565b5f6108ed8484610614565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109675781811015610959576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095090611256565b60405180910390fd5b610966848484840361071f565b5b50505050565b610978838383610c3e565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156109fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f2906112e4565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ae49190610de9565b60405180910390a3610af7848484610c43565b50505050565b610b05610718565b73ffffffffffffffffffffffffffffffffffffffff16610b236104c5565b73ffffffffffffffffffffffffffffffffffffffff1614610b79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b709061134c565b60405180910390fd5b565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610c8a82610c48565b610c948185610c52565b9350610ca4818560208601610c62565b610cad81610c70565b840191505092915050565b5f6020820190508181035f830152610cd08184610c80565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610d0582610cdc565b9050919050565b610d1581610cfb565b8114610d1f575f80fd5b50565b5f81359050610d3081610d0c565b92915050565b5f819050919050565b610d4881610d36565b8114610d52575f80fd5b50565b5f81359050610d6381610d3f565b92915050565b5f8060408385031215610d7f57610d7e610cd8565b5b5f610d8c85828601610d22565b9250506020610d9d85828601610d55565b9150509250929050565b5f8115159050919050565b610dbb81610da7565b82525050565b5f602082019050610dd45f830184610db2565b92915050565b610de381610d36565b82525050565b5f602082019050610dfc5f830184610dda565b92915050565b5f805f60608486031215610e1957610e18610cd8565b5b5f610e2686828701610d22565b9350506020610e3786828701610d22565b9250506040610e4886828701610d55565b9150509250925092565b5f60ff82169050919050565b610e6781610e52565b82525050565b5f602082019050610e805f830184610e5e565b92915050565b5f60208284031215610e9b57610e9a610cd8565b5b5f610ea884828501610d22565b91505092915050565b610eba81610cfb565b82525050565b5f602082019050610ed35f830184610eb1565b92915050565b5f8060408385031215610eef57610eee610cd8565b5b5f610efc85828601610d22565b9250506020610f0d85828601610d22565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610f5b57607f821691505b602082108103610f6e57610f6d610f17565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610fab82610d36565b9150610fb683610d36565b9250828201905080821115610fce57610fcd610f74565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61102e602583610c52565b915061103982610fd4565b604082019050919050565b5f6020820190508181035f83015261105b81611022565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6110bc602683610c52565b91506110c782611062565b604082019050919050565b5f6020820190508181035f8301526110e9816110b0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61114a602483610c52565b9150611155826110f0565b604082019050919050565b5f6020820190508181035f8301526111778161113e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6111d8602283610c52565b91506111e38261117e565b604082019050919050565b5f6020820190508181035f830152611205816111cc565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f611240601d83610c52565b915061124b8261120c565b602082019050919050565b5f6020820190508181035f83015261126d81611234565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6112ce602683610c52565b91506112d982611274565b604082019050919050565b5f6020820190508181035f8301526112fb816112c2565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611336602083610c52565b915061134182611302565b602082019050919050565b5f6020820190508181035f8301526113638161132a565b905091905056fea2646970667358221220a5e40e9bc32130e98de362260ffdd794d58b7985e44a5ba3e9db70d4afe6785964736f6c634300081a0033
Deployed Bytecode Sourcemap
14491:782:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6575:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8295:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7064:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8504:261;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6906:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9174:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7235:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1765:103;;;:::i;:::-;;6001:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1460:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6794:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9915:424;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7568:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7824:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1876:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6575:100;6629:13;6662:5;6655:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6575:100;:::o;8295:201::-;8378:4;8395:13;8411:12;:10;:12::i;:::-;8395:28;;8434:32;8443:5;8450:7;8459:6;8434:8;:32::i;:::-;8484:4;8477:11;;;8295:201;;;;:::o;7064:108::-;7125:7;7152:12;;7145:19;;7064:108;:::o;8504:261::-;8601:4;8618:15;8636:12;:10;:12::i;:::-;8618:30;;8659:38;8675:4;8681:7;8690:6;8659:15;:38::i;:::-;8708:27;8718:4;8724:2;8728:6;8708:9;:27::i;:::-;8753:4;8746:11;;;8504:261;;;;;:::o;6906:93::-;6964:5;6989:2;6982:9;;6906:93;:::o;9174:238::-;9262:4;9279:13;9295:12;:10;:12::i;:::-;9279:28;;9318:64;9327:5;9334:7;9371:10;9343:25;9353:5;9360:7;9343:9;:25::i;:::-;:38;;;;:::i;:::-;9318:8;:64::i;:::-;9400:4;9393:11;;;9174:238;;;;:::o;7235:127::-;7309:7;7336:9;:18;7346:7;7336:18;;;;;;;;;;;;;;;;7329:25;;7235:127;;;:::o;1765:103::-;1346:13;:11;:13::i;:::-;1830:30:::1;1857:1;1830:18;:30::i;:::-;1765:103::o:0;6001:28::-;;;;;;;;;;;;;:::o;1460:87::-;1506:7;1533:6;;;;;;;;;;;1526:13;;1460:87;:::o;6794:104::-;6850:13;6883:7;6876:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6794:104;:::o;9915:424::-;10008:4;10025:13;10041:12;:10;:12::i;:::-;10025:28;;10064:24;10091:25;10101:5;10108:7;10091:9;:25::i;:::-;10064:52;;10155:15;10135:16;:35;;10127:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;10240:60;10249:5;10256:7;10284:15;10265:16;:34;10240:8;:60::i;:::-;10327:4;10320:11;;;;9915:424;;;;:::o;7568:193::-;7647:4;7664:13;7680:12;:10;:12::i;:::-;7664:28;;7703;7713:5;7720:2;7724:6;7703:9;:28::i;:::-;7749:4;7742:11;;;7568:193;;;;:::o;7824:151::-;7913:7;7940:11;:18;7952:5;7940:18;;;;;;;;;;;;;;;:27;7959:7;7940:27;;;;;;;;;;;;;;;;7933:34;;7824:151;;;;:::o;1876:201::-;1346:13;:11;:13::i;:::-;1985:1:::1;1965:22;;:8;:22;;::::0;1957:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2041:28;2060:8;2041:18;:28::i;:::-;1876:201:::0;:::o;577:98::-;630:7;657:10;650:17;;577:98;:::o;13220:346::-;13339:1;13322:19;;:5;:19;;;13314:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13420:1;13401:21;;:7;:21;;;13393:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13504:6;13474:11;:18;13486:5;13474:18;;;;;;;;;;;;;;;:27;13493:7;13474:27;;;;;;;;;;;;;;;:36;;;;13542:7;13526:32;;13535:5;13526:32;;;13551:6;13526:32;;;;;;:::i;:::-;;;;;;;;13220:346;;;:::o;13857:407::-;13958:24;13985:25;13995:5;14002:7;13985:9;:25::i;:::-;13958:52;;14045:17;14025:16;:37;14021:236;;14107:6;14087:16;:26;;14079:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14183:51;14192:5;14199:7;14227:6;14208:16;:25;14183:8;:51::i;:::-;14021:236;13947:317;13857:407;;;:::o;10347:628::-;10438:38;10459:4;10465:2;10469:6;10438:20;:38::i;:::-;10489:19;10511:9;:15;10521:4;10511:15;;;;;;;;;;;;;;;;10489:37;;10560:6;10545:11;:21;;10537:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10669:6;10655:11;:20;10637:9;:15;10647:4;10637:15;;;;;;;;;;;;;;;:38;;;;10860:6;10843:9;:13;10853:2;10843:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;10906:2;10891:26;;10900:4;10891:26;;;10910:6;10891:26;;;;;;:::i;:::-;;;;;;;;10930:37;10950:4;10956:2;10960:6;10930:19;:37::i;:::-;10425:550;10347:628;;;:::o;1625:132::-;1700:12;:10;:12::i;:::-;1689:23;;:7;:5;:7::i;:::-;:23;;;1681:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1625:132::o;2085:191::-;2159:16;2178:6;;;;;;;;;;;2159:25;;2204:8;2195:6;;:17;;;;;;;;;;;;;;;;;;2259:8;2228:40;;2249:8;2228:40;;;;;;;;;;;;2148:128;2085:191;:::o;14270:91::-;;;;:::o;14367:90::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:118::-;5168:24;5186:5;5168:24;:::i;:::-;5163:3;5156:37;5081:118;;:::o;5205:222::-;5298:4;5336:2;5325:9;5321:18;5313:26;;5349:71;5417:1;5406:9;5402:17;5393:6;5349:71;:::i;:::-;5205:222;;;;:::o;5433:474::-;5501:6;5509;5558:2;5546:9;5537:7;5533:23;5529:32;5526:119;;;5564:79;;:::i;:::-;5526:119;5684:1;5709:53;5754:7;5745:6;5734:9;5730:22;5709:53;:::i;:::-;5699:63;;5655:117;5811:2;5837:53;5882:7;5873:6;5862:9;5858:22;5837:53;:::i;:::-;5827:63;;5782:118;5433:474;;;;;:::o;5913:180::-;5961:77;5958:1;5951:88;6058:4;6055:1;6048:15;6082:4;6079:1;6072:15;6099:320;6143:6;6180:1;6174:4;6170:12;6160:22;;6227:1;6221:4;6217:12;6248:18;6238:81;;6304:4;6296:6;6292:17;6282:27;;6238:81;6366:2;6358:6;6355:14;6335:18;6332:38;6329:84;;6385:18;;:::i;:::-;6329:84;6150:269;6099:320;;;:::o;6425:180::-;6473:77;6470:1;6463:88;6570:4;6567:1;6560:15;6594:4;6591:1;6584:15;6611:191;6651:3;6670:20;6688:1;6670:20;:::i;:::-;6665:25;;6704:20;6722:1;6704:20;:::i;:::-;6699:25;;6747:1;6744;6740:9;6733:16;;6768:3;6765:1;6762:10;6759:36;;;6775:18;;:::i;:::-;6759:36;6611:191;;;;:::o;6808:224::-;6948:34;6944:1;6936:6;6932:14;6925:58;7017:7;7012:2;7004:6;7000:15;6993:32;6808:224;:::o;7038:366::-;7180:3;7201:67;7265:2;7260:3;7201:67;:::i;:::-;7194:74;;7277:93;7366:3;7277:93;:::i;:::-;7395:2;7390:3;7386:12;7379:19;;7038:366;;;:::o;7410:419::-;7576:4;7614:2;7603:9;7599:18;7591:26;;7663:9;7657:4;7653:20;7649:1;7638:9;7634:17;7627:47;7691:131;7817:4;7691:131;:::i;:::-;7683:139;;7410:419;;;:::o;7835:225::-;7975:34;7971:1;7963:6;7959:14;7952:58;8044:8;8039:2;8031:6;8027:15;8020:33;7835:225;:::o;8066:366::-;8208:3;8229:67;8293:2;8288:3;8229:67;:::i;:::-;8222:74;;8305:93;8394:3;8305:93;:::i;:::-;8423:2;8418:3;8414:12;8407:19;;8066:366;;;:::o;8438:419::-;8604:4;8642:2;8631:9;8627:18;8619:26;;8691:9;8685:4;8681:20;8677:1;8666:9;8662:17;8655:47;8719:131;8845:4;8719:131;:::i;:::-;8711:139;;8438:419;;;:::o;8863:223::-;9003:34;8999:1;8991:6;8987:14;8980:58;9072:6;9067:2;9059:6;9055:15;9048:31;8863:223;:::o;9092:366::-;9234:3;9255:67;9319:2;9314:3;9255:67;:::i;:::-;9248:74;;9331:93;9420:3;9331:93;:::i;:::-;9449:2;9444:3;9440:12;9433:19;;9092:366;;;:::o;9464:419::-;9630:4;9668:2;9657:9;9653:18;9645:26;;9717:9;9711:4;9707:20;9703:1;9692:9;9688:17;9681:47;9745:131;9871:4;9745:131;:::i;:::-;9737:139;;9464:419;;;:::o;9889:221::-;10029:34;10025:1;10017:6;10013:14;10006:58;10098:4;10093:2;10085:6;10081:15;10074:29;9889:221;:::o;10116:366::-;10258:3;10279:67;10343:2;10338:3;10279:67;:::i;:::-;10272:74;;10355:93;10444:3;10355:93;:::i;:::-;10473:2;10468:3;10464:12;10457:19;;10116:366;;;:::o;10488:419::-;10654:4;10692:2;10681:9;10677:18;10669:26;;10741:9;10735:4;10731:20;10727:1;10716:9;10712:17;10705:47;10769:131;10895:4;10769:131;:::i;:::-;10761:139;;10488:419;;;:::o;10913:179::-;11053:31;11049:1;11041:6;11037:14;11030:55;10913:179;:::o;11098:366::-;11240:3;11261:67;11325:2;11320:3;11261:67;:::i;:::-;11254:74;;11337:93;11426:3;11337:93;:::i;:::-;11455:2;11450:3;11446:12;11439:19;;11098:366;;;:::o;11470:419::-;11636:4;11674:2;11663:9;11659:18;11651:26;;11723:9;11717:4;11713:20;11709:1;11698:9;11694:17;11687:47;11751:131;11877:4;11751:131;:::i;:::-;11743:139;;11470:419;;;:::o;11895:225::-;12035:34;12031:1;12023:6;12019:14;12012:58;12104:8;12099:2;12091:6;12087:15;12080:33;11895:225;:::o;12126:366::-;12268:3;12289:67;12353:2;12348:3;12289:67;:::i;:::-;12282:74;;12365:93;12454:3;12365:93;:::i;:::-;12483:2;12478:3;12474:12;12467:19;;12126:366;;;:::o;12498:419::-;12664:4;12702:2;12691:9;12687:18;12679:26;;12751:9;12745:4;12741:20;12737:1;12726:9;12722:17;12715:47;12779:131;12905:4;12779:131;:::i;:::-;12771:139;;12498:419;;;:::o;12923:182::-;13063:34;13059:1;13051:6;13047:14;13040:58;12923:182;:::o;13111:366::-;13253:3;13274:67;13338:2;13333:3;13274:67;:::i;:::-;13267:74;;13350:93;13439:3;13350:93;:::i;:::-;13468:2;13463:3;13459:12;13452:19;;13111:366;;;:::o;13483:419::-;13649:4;13687:2;13676:9;13672:18;13664:26;;13736:9;13730:4;13726:20;13722:1;13711:9;13707:17;13700:47;13764:131;13890:4;13764:131;:::i;:::-;13756:139;;13483:419;;;:::o
Swarm Source
ipfs://a5e40e9bc32130e98de362260ffdd794d58b7985e44a5ba3e9db70d4afe67859
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.