ETH Price: $2,687.39 (-1.72%)

Token

Trump Hamster (TRUMPH)
 

Overview

Max Total Supply

1,000,000,000 TRUMPH

Holders

211

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000000000061818896 TRUMPH

Value
$0.00
0x6f88c4D6603Daf626b97739cFa886ddD3F20F83c
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
TrumpHamster

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-06
*/

// SPDX-License-Identifier: MIT

/*
 * x: https://x.com/trumphamsterERC
 * web: https://hamstertrump.vip
 * tg: https://t.me/trumphamster
 */
pragma solidity ^0.8.20;


interface Callable {
	function tokenCallback(address _from, uint256 _tokens, bytes calldata _data) external returns (bool);
}

interface Router {
	function factory() external view returns (address);
	function positionManager() external view returns (address);
	function WETH9() external view returns (address);
}

interface Factory {
	function createPool(address _tokenA, address _tokenB, uint24 _fee) external returns (address);
}

interface Pool {
	function initialize(uint160 _sqrtPriceX96) external;
	function token0() external view returns (address);
	function token1() external view returns (address);
	function fee() external view returns (uint24);
	function collect(
		address recipient,
		int24 tickLower,
		int24 tickUpper,
		uint128 amount0Requested,
		uint128 amount1Requested
	) external returns (uint128 amount0, uint128 amount1);
}

interface IWETH9 {
	function name() external view returns (string memory);
	function symbol() external view returns (string memory);
	function decimals() external view returns (uint8);
	function balanceOf(address account) external view returns (uint);
	function allowance(address owner, address spender) external view returns (uint);

	function deposit() external payable;
	function withdraw(uint wad) external;
	function totalSupply() external view returns (uint);
	function approve(address guy, uint wad) external returns (bool);
	function transfer(address dst, uint wad) external returns (bool);
	function transferFrom(address src, address dst, uint wad) external returns (bool);

	event Approval(address indexed src, address indexed guy, uint wad);
	event Transfer(address indexed src, address indexed dst, uint wad);
	event Deposit(address indexed dst, uint wad);
	event Withdrawal(address indexed src, uint wad);
}

interface PositionManager {
	struct MintParams {
		address token0;
		address token1;
		uint24 fee;
		int24 tickLower;
		int24 tickUpper;
		uint256 amount0Desired;
		uint256 amount1Desired;
		uint256 amount0Min;
		uint256 amount1Min;
		address recipient;
		uint256 deadline;
	}
	struct CollectParams {
		uint256 tokenId;
		address recipient;
		uint128 amount0Max;
		uint128 amount1Max;
	}
	function mint(MintParams calldata) external payable returns (uint256 tokenId, uint128 liquidity, uint256 amount0, uint256 amount1);
	function collect(CollectParams calldata) external payable returns (uint256 amount0, uint256 amount1);
}


contract TrumpHamster {

	uint256 constant private FLOAT_SCALAR = 2**64;
	uint256 constant private UINT_MAX = type(uint256).max;
	uint128 constant private UINT128_MAX = type(uint128).max;
	uint256 constant private INITIAL_SUPPLY = 1e27; // 1 billion
	Router constant private ROUTER = Router(0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45);
	uint256 constant private INITIAL_ETH_LIQ = 5 ether; // 5 ETH initial market cap price
	
	string constant public name = "Trump Hamster";
	string constant public symbol = "TRUMPH";
	uint8 constant public decimals = 18;

	struct User {
		uint256 balance;
		mapping(address => uint256) allowance;
	}

	struct Info {
		address owner;
		address pool;
		uint256 totalSupply;
		mapping(address => User) users;
		uint256 positionId;
		int24 tickLower;
		int24 tickUpper;
		
	}
	Info private info;


	event Transfer(address indexed from, address indexed to, uint256 tokens);
	event Approval(address indexed owner, address indexed spender, uint256 tokens);


	constructor() {
		address _this = address(this);
		address _weth = ROUTER.WETH9();
		(uint256 amount0, uint256 amount1) = _weth > _this ? (INITIAL_SUPPLY, INITIAL_ETH_LIQ) : (INITIAL_ETH_LIQ, INITIAL_SUPPLY);
		uint160 _initialSqrtPrice = encodeSqrtRatioX96(amount1, amount0);
		info.pool = Factory(ROUTER.factory()).createPool(_this, _weth, 10000);
		Pool(pool()).initialize(_initialSqrtPrice);
		info.owner = tx.origin;
		info.tickLower = -887200;
		info.tickUpper = 887200;
	}
	
	function initialize() payable external {
		require(totalSupply() == 0);
		require(msg.value >= INITIAL_ETH_LIQ, "not enough liq");
		address _this = address(this);
		address _weth = ROUTER.WETH9();
		IWETH9 _weth_contract = IWETH9(_weth);

		_weth_contract.deposit{value: INITIAL_ETH_LIQ}();
		_weth_contract.approve(ROUTER.positionManager(), UINT_MAX);
		require(_weth_contract.balanceOf(_this) == INITIAL_ETH_LIQ, "INSUFFICIENT WETH WRAP");
		Pool _pool = Pool(info.pool);
		PositionManager _pm = PositionManager(ROUTER.positionManager());
		info.totalSupply = INITIAL_SUPPLY;
		info.users[_this].balance = INITIAL_SUPPLY;
		emit Transfer(address(0x0), _this, INITIAL_SUPPLY);
		_approve(_this, address(_pm), INITIAL_SUPPLY);
		(info.positionId, , , ) = _pm.mint(PositionManager.MintParams({
			token0: _pool.token0(),
			token1: _pool.token1(),
			fee: _pool.fee(),
			tickLower: info.tickLower,
			tickUpper: info.tickUpper,
			amount0Desired: _pool.token0() == _this ? INITIAL_SUPPLY : INITIAL_ETH_LIQ,
			amount1Desired: _pool.token1() == _this ? INITIAL_SUPPLY : INITIAL_ETH_LIQ,
			amount0Min: 0,
			amount1Min: 0,
			recipient: _this,
			deadline: block.timestamp
		}));

		payable(info.owner).transfer(_this.balance);
		
	}

	function collectTradingFees() external {
		PositionManager _pm = PositionManager(ROUTER.positionManager());
		_pm.collect(PositionManager.CollectParams({
			tokenId: info.positionId,
			recipient: address(this),
			amount0Max: UINT128_MAX,
			amount1Max: UINT128_MAX
		}));
		
	}

	function transfer(address _to, uint256 _tokens) external returns (bool) {
		return _transfer(msg.sender, _to, _tokens);
	}

	function approve(address _spender, uint256 _tokens) external returns (bool) {
		return _approve(msg.sender, _spender, _tokens);
	}

	function transferFrom(address _from, address _to, uint256 _tokens) external returns (bool) {
		uint256 _allowance = allowance(_from, msg.sender);
		require(_allowance >= _tokens);
		if (_allowance != UINT_MAX) {
			info.users[_from].allowance[msg.sender] -= _tokens;
		}
		return _transfer(_from, _to, _tokens);
	}

	function transferAndCall(address _to, uint256 _tokens, bytes calldata _data) external returns (bool) {
		_transfer(msg.sender, _to, _tokens);
		uint32 _size;
		assembly {
			_size := extcodesize(_to)
		}
		if (_size > 0) {
			require(Callable(_to).tokenCallback(msg.sender, _tokens, _data));
		}
		return true;
	}
	

	function pool() public view returns (address) {
		return info.pool;
	}

	function totalSupply() public view returns (uint256) {
		return info.totalSupply;
	}

	function balanceOf(address _user) public view returns (uint256) {
		return info.users[_user].balance;
	}

	function allowance(address _user, address _spender) public view returns (uint256) {
		return info.users[_user].allowance[_spender];
	}

	function positions() external view returns (uint256 position) {
		return (info.positionId);
	}


	function _approve(address _owner, address _spender, uint256 _tokens) internal returns (bool) {
		info.users[_owner].allowance[_spender] = _tokens;
		emit Approval(_owner, _spender, _tokens);
		return true;
	}
	
	function _transfer(address _from, address _to, uint256 _tokens) internal returns (bool) {
		unchecked {
			require(balanceOf(_from) >= _tokens);
			info.users[_from].balance -= _tokens;
			info.users[_to].balance += _tokens;
			emit Transfer(_from, _to, _tokens);
			return true;
		}
	}

	

	function _sqrt(uint256 y) internal pure returns (uint256 z) {
		unchecked {
			if (y == 0) return 0;
			if (y <= 3) return 1;
			z = y;
			uint256 x = y / 2 + 1;
			while (x < z) {
				z = x;
				x = (y / x + x) / 2;
			}
		}
	}

	function encodeSqrtRatioX96(uint256 amount1, uint256 amount0) internal pure returns (uint160) {
		require(amount0 > 0, "Amount0 must be greater than zero");
		uint256 numerator = amount1 << 192;
		uint256 ratioX192 = numerator / amount0;
		return uint160(_sqrt(ratioX192));
	}

	
}

Contract Security Audit

Contract ABI

[{"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":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_user","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":"_tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"collectTradingFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"positions","outputs":[{"internalType":"uint256","name":"position","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"transferAndCall","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":"_tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

608060405234801562000010575f80fd5b505f3090505f7368b3465833fb72a70ecdf485e0e4c7bd8665fc456001600160a01b0316634aa4a4fc6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000067573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200008d91906200038a565b90505f80836001600160a01b0316836001600160a01b031611620000c757674563918244f400006b033b2e3c9fd0803ce8000000620000de565b6b033b2e3c9fd0803ce8000000674563918244f400005b90925090505f620000f0828462000296565b90507368b3465833fb72a70ecdf485e0e4c7bd8665fc456001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000143573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200016991906200038a565b60405163a167129560e01b81526001600160a01b03878116600483015286811660248301526127106044830152919091169063a1671295906064016020604051808303815f875af1158015620001c1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001e791906200038a565b600180546001600160a01b0319166001600160a01b0392909216918217905560405163f637731d60e01b81526001600160a01b038381166004830152919091169063f637731d906024015f604051808303815f87803b15801562000249575f80fd5b505af11580156200025c573d5f803e3d5ffd5b50505f80546001600160a01b03191632179055505060058054650d89a0f2766065ffffffffffff1990911617905550620003ed9350505050565b5f808211620002f55760405162461bcd60e51b815260206004820152602160248201527f416d6f756e7430206d7573742062652067726561746572207468616e207a65726044820152606f60f81b606482015260840160405180910390fd5b60c083901b5f620003078483620003cd565b905062000314816200031d565b95945050505050565b5f815f036200032d57505f919050565b600382116200033e57506001919050565b5080600160028204015b818110156200038457809150600281828581620003695762000369620003b9565b0401816200037b576200037b620003b9565b04905062000348565b50919050565b5f602082840312156200039b575f80fd5b81516001600160a01b0381168114620003b2575f80fd5b9392505050565b634e487b7160e01b5f52601260045260245ffd5b5f82620003e857634e487b7160e01b5f52601260045260245ffd5b500490565b6111a880620003fb5f395ff3fe6080604052600436106100d9575f3560e01c806353f8b3031161007c57806395d89b411161005757806395d89b4114610255578063a9059cbb14610286578063ba5b7982146102a5578063dd62ed3e146102b9575f80fd5b806353f8b3031461020357806370a08231146102195780638129fc1c1461024d575f80fd5b806318160ddd116100b757806318160ddd1461018157806323b872dd1461019f578063313ce567146101be5780634000aea0146101e4575f80fd5b806306fdde03146100dd578063095ea7b31461012b57806316f0115b1461015a575b5f80fd5b3480156100e8575f80fd5b506101156040518060400160405280600d81526020016c2a393ab6b8102430b6b9ba32b960991b81525081565b6040516101229190610dc8565b60405180910390f35b348015610136575f80fd5b5061014a610145366004610e2a565b610301565b6040519015158152602001610122565b348015610165575f80fd5b506001546040516001600160a01b039091168152602001610122565b34801561018c575f80fd5b506002545b604051908152602001610122565b3480156101aa575f80fd5b5061014a6101b9366004610e54565b610316565b3480156101c9575f80fd5b506101d2601281565b60405160ff9091168152602001610122565b3480156101ef575f80fd5b5061014a6101fe366004610e92565b61039f565b34801561020e575f80fd5b50610217610440565b005b348015610224575f80fd5b50610191610233366004610f14565b6001600160a01b03165f9081526003602052604090205490565b61021761056f565b348015610260575f80fd5b50610115604051806040016040528060068152602001650a8a4aa9aa0960d31b81525081565b348015610291575f80fd5b5061014a6102a0366004610e2a565b610ccc565b3480156102b0575f80fd5b50600454610191565b3480156102c4575f80fd5b506101916102d3366004610f36565b6001600160a01b039182165f9081526003602090815260408083209390941682526001909201909152205490565b5f61030d338484610cd8565b90505b92915050565b6001600160a01b0383165f90815260036020908152604080832033845260010190915281205482811015610348575f80fd5b5f19811461038b576001600160a01b0385165f90815260036020908152604080832033845260010190915281208054859290610385908490610f6d565b90915550505b610396858585610d44565b95945050505050565b5f6103ab338686610d44565b50843b63ffffffff81161561043457604051636be32e7360e01b81526001600160a01b03871690636be32e73906103ec903390899089908990600401610f8c565b6020604051808303815f875af1158015610408573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061042c9190610fd3565b610434575f80fd5b50600195945050505050565b5f7368b3465833fb72a70ecdf485e0e4c7bd8665fc456001600160a01b031663791b98bc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610491573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104b59190610ff2565b6040805160808101825260048054825230602083019081526001600160801b0383850181815260608501828152955163fc6f786560e01b815294519385019390935290516001600160a01b0390811660248501529151811660448401529251909216606482015291925082169063fc6f78659060840160408051808303815f875af1158015610546573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061056a919061100d565b505050565b6002541561057b575f80fd5b674563918244f400003410156105c95760405162461bcd60e51b815260206004820152600e60248201526d6e6f7420656e6f756768206c697160901b60448201526064015b60405180910390fd5b5f3090505f7368b3465833fb72a70ecdf485e0e4c7bd8665fc456001600160a01b0316634aa4a4fc6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106429190610ff2565b90505f819050806001600160a01b031663d0e30db0674563918244f400006040518263ffffffff1660e01b81526004015f604051808303818588803b158015610689575f80fd5b505af115801561069b573d5f803e3d5ffd5b5050505050806001600160a01b031663095ea7b37368b3465833fb72a70ecdf485e0e4c7bd8665fc456001600160a01b031663791b98bc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107239190610ff2565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201525f1960248201526044016020604051808303815f875af115801561076d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107919190610fd3565b506040516370a0823160e01b81526001600160a01b038481166004830152674563918244f4000091908316906370a0823190602401602060405180830381865afa1580156107e1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610805919061102f565b1461084b5760405162461bcd60e51b81526020600482015260166024820152750494e53554646494349454e54205745544820575241560541b60448201526064016105c0565b60015460408051631e46e62f60e21b815290516001600160a01b03909216915f917368b3465833fb72a70ecdf485e0e4c7bd8665fc459163791b98bc916004808201926020929091908290030181865afa1580156108ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108cf9190610ff2565b6b033b2e3c9fd0803ce800000060028190556001600160a01b0387165f8181526003602052604080822084905551939450909290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9161093291815260200190565b60405180910390a361095185826b033b2e3c9fd0803ce8000000610cd8565b50806001600160a01b03166388316456604051806101600160405280856001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109cd9190610ff2565b6001600160a01b03168152602001856001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3b9190610ff2565b6001600160a01b03168152602001856001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a85573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa99190611046565b62ffffff168152600554600281810b6020808501919091526301000000909204900b6040808401919091528051630dfe168160e01b815290516060909301926001600160a01b03808d1693908a1692630dfe168192600480830193928290030181865afa158015610b1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b409190610ff2565b6001600160a01b031614610b5c57674563918244f40000610b6a565b6b033b2e3c9fd0803ce80000005b8152602001886001600160a01b0316866001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd99190610ff2565b6001600160a01b031614610bf557674563918244f40000610c03565b6b033b2e3c9fd0803ce80000005b81526020015f81526020015f8152602001886001600160a01b03168152602001428152506040518263ffffffff1660e01b8152600401610c439190611068565b6080604051808303815f875af1158015610c5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c83919061112c565b5050506004555f80546040516001600160a01b03918216929188163180156108fc0292909190818181858888f19350505050158015610cc4573d5f803e3d5ffd5b505050505050565b5f61030d338484610d44565b6001600160a01b038381165f8181526003602090815260408083209487168084526001909501825280832086905551858152919392917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060019392505050565b6001600160a01b0383165f90815260036020526040812054821115610d67575f80fd5b6001600160a01b038085165f81815260036020526040808220805487900390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d329086815260200190565b5f6020808352835180828501525f5b81811015610df357858101830151858201604001528201610dd7565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e27575f80fd5b50565b5f8060408385031215610e3b575f80fd5b8235610e4681610e13565b946020939093013593505050565b5f805f60608486031215610e66575f80fd5b8335610e7181610e13565b92506020840135610e8181610e13565b929592945050506040919091013590565b5f805f8060608587031215610ea5575f80fd5b8435610eb081610e13565b935060208501359250604085013567ffffffffffffffff80821115610ed3575f80fd5b818701915087601f830112610ee6575f80fd5b813581811115610ef4575f80fd5b886020828501011115610f05575f80fd5b95989497505060200194505050565b5f60208284031215610f24575f80fd5b8135610f2f81610e13565b9392505050565b5f8060408385031215610f47575f80fd5b8235610f5281610e13565b91506020830135610f6281610e13565b809150509250929050565b8181038181111561031057634e487b7160e01b5f52601160045260245ffd5b6001600160a01b0385168152602081018490526060604082018190528101829052818360808301375f818301608090810191909152601f909201601f191601019392505050565b5f60208284031215610fe3575f80fd5b81518015158114610f2f575f80fd5b5f60208284031215611002575f80fd5b8151610f2f81610e13565b5f806040838503121561101e575f80fd5b505080516020909101519092909150565b5f6020828403121561103f575f80fd5b5051919050565b5f60208284031215611056575f80fd5b815162ffffff81168114610f2f575f80fd5b81516001600160a01b031681526101608101602083015161109460208401826001600160a01b03169052565b5060408301516110ab604084018262ffffff169052565b5060608301516110c0606084018260020b9052565b5060808301516110d5608084018260020b9052565b5060a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015161111b828501826001600160a01b03169052565b505061014092830151919092015290565b5f805f806080858703121561113f575f80fd5b8451935060208501516001600160801b038116811461115c575f80fd5b604086015160609096015194979096509250505056fea2646970667358221220491904f4e359d91527971506460adcd1dcdd5d160ade28402ea2d5ecc11aeec064736f6c63430008140033

Deployed Bytecode

0x6080604052600436106100d9575f3560e01c806353f8b3031161007c57806395d89b411161005757806395d89b4114610255578063a9059cbb14610286578063ba5b7982146102a5578063dd62ed3e146102b9575f80fd5b806353f8b3031461020357806370a08231146102195780638129fc1c1461024d575f80fd5b806318160ddd116100b757806318160ddd1461018157806323b872dd1461019f578063313ce567146101be5780634000aea0146101e4575f80fd5b806306fdde03146100dd578063095ea7b31461012b57806316f0115b1461015a575b5f80fd5b3480156100e8575f80fd5b506101156040518060400160405280600d81526020016c2a393ab6b8102430b6b9ba32b960991b81525081565b6040516101229190610dc8565b60405180910390f35b348015610136575f80fd5b5061014a610145366004610e2a565b610301565b6040519015158152602001610122565b348015610165575f80fd5b506001546040516001600160a01b039091168152602001610122565b34801561018c575f80fd5b506002545b604051908152602001610122565b3480156101aa575f80fd5b5061014a6101b9366004610e54565b610316565b3480156101c9575f80fd5b506101d2601281565b60405160ff9091168152602001610122565b3480156101ef575f80fd5b5061014a6101fe366004610e92565b61039f565b34801561020e575f80fd5b50610217610440565b005b348015610224575f80fd5b50610191610233366004610f14565b6001600160a01b03165f9081526003602052604090205490565b61021761056f565b348015610260575f80fd5b50610115604051806040016040528060068152602001650a8a4aa9aa0960d31b81525081565b348015610291575f80fd5b5061014a6102a0366004610e2a565b610ccc565b3480156102b0575f80fd5b50600454610191565b3480156102c4575f80fd5b506101916102d3366004610f36565b6001600160a01b039182165f9081526003602090815260408083209390941682526001909201909152205490565b5f61030d338484610cd8565b90505b92915050565b6001600160a01b0383165f90815260036020908152604080832033845260010190915281205482811015610348575f80fd5b5f19811461038b576001600160a01b0385165f90815260036020908152604080832033845260010190915281208054859290610385908490610f6d565b90915550505b610396858585610d44565b95945050505050565b5f6103ab338686610d44565b50843b63ffffffff81161561043457604051636be32e7360e01b81526001600160a01b03871690636be32e73906103ec903390899089908990600401610f8c565b6020604051808303815f875af1158015610408573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061042c9190610fd3565b610434575f80fd5b50600195945050505050565b5f7368b3465833fb72a70ecdf485e0e4c7bd8665fc456001600160a01b031663791b98bc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610491573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104b59190610ff2565b6040805160808101825260048054825230602083019081526001600160801b0383850181815260608501828152955163fc6f786560e01b815294519385019390935290516001600160a01b0390811660248501529151811660448401529251909216606482015291925082169063fc6f78659060840160408051808303815f875af1158015610546573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061056a919061100d565b505050565b6002541561057b575f80fd5b674563918244f400003410156105c95760405162461bcd60e51b815260206004820152600e60248201526d6e6f7420656e6f756768206c697160901b60448201526064015b60405180910390fd5b5f3090505f7368b3465833fb72a70ecdf485e0e4c7bd8665fc456001600160a01b0316634aa4a4fc6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106429190610ff2565b90505f819050806001600160a01b031663d0e30db0674563918244f400006040518263ffffffff1660e01b81526004015f604051808303818588803b158015610689575f80fd5b505af115801561069b573d5f803e3d5ffd5b5050505050806001600160a01b031663095ea7b37368b3465833fb72a70ecdf485e0e4c7bd8665fc456001600160a01b031663791b98bc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107239190610ff2565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201525f1960248201526044016020604051808303815f875af115801561076d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107919190610fd3565b506040516370a0823160e01b81526001600160a01b038481166004830152674563918244f4000091908316906370a0823190602401602060405180830381865afa1580156107e1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610805919061102f565b1461084b5760405162461bcd60e51b81526020600482015260166024820152750494e53554646494349454e54205745544820575241560541b60448201526064016105c0565b60015460408051631e46e62f60e21b815290516001600160a01b03909216915f917368b3465833fb72a70ecdf485e0e4c7bd8665fc459163791b98bc916004808201926020929091908290030181865afa1580156108ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108cf9190610ff2565b6b033b2e3c9fd0803ce800000060028190556001600160a01b0387165f8181526003602052604080822084905551939450909290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9161093291815260200190565b60405180910390a361095185826b033b2e3c9fd0803ce8000000610cd8565b50806001600160a01b03166388316456604051806101600160405280856001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109cd9190610ff2565b6001600160a01b03168152602001856001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3b9190610ff2565b6001600160a01b03168152602001856001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a85573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa99190611046565b62ffffff168152600554600281810b6020808501919091526301000000909204900b6040808401919091528051630dfe168160e01b815290516060909301926001600160a01b03808d1693908a1692630dfe168192600480830193928290030181865afa158015610b1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b409190610ff2565b6001600160a01b031614610b5c57674563918244f40000610b6a565b6b033b2e3c9fd0803ce80000005b8152602001886001600160a01b0316866001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd99190610ff2565b6001600160a01b031614610bf557674563918244f40000610c03565b6b033b2e3c9fd0803ce80000005b81526020015f81526020015f8152602001886001600160a01b03168152602001428152506040518263ffffffff1660e01b8152600401610c439190611068565b6080604051808303815f875af1158015610c5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c83919061112c565b5050506004555f80546040516001600160a01b03918216929188163180156108fc0292909190818181858888f19350505050158015610cc4573d5f803e3d5ffd5b505050505050565b5f61030d338484610d44565b6001600160a01b038381165f8181526003602090815260408083209487168084526001909501825280832086905551858152919392917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060019392505050565b6001600160a01b0383165f90815260036020526040812054821115610d67575f80fd5b6001600160a01b038085165f81815260036020526040808220805487900390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d329086815260200190565b5f6020808352835180828501525f5b81811015610df357858101830151858201604001528201610dd7565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e27575f80fd5b50565b5f8060408385031215610e3b575f80fd5b8235610e4681610e13565b946020939093013593505050565b5f805f60608486031215610e66575f80fd5b8335610e7181610e13565b92506020840135610e8181610e13565b929592945050506040919091013590565b5f805f8060608587031215610ea5575f80fd5b8435610eb081610e13565b935060208501359250604085013567ffffffffffffffff80821115610ed3575f80fd5b818701915087601f830112610ee6575f80fd5b813581811115610ef4575f80fd5b886020828501011115610f05575f80fd5b95989497505060200194505050565b5f60208284031215610f24575f80fd5b8135610f2f81610e13565b9392505050565b5f8060408385031215610f47575f80fd5b8235610f5281610e13565b91506020830135610f6281610e13565b809150509250929050565b8181038181111561031057634e487b7160e01b5f52601160045260245ffd5b6001600160a01b0385168152602081018490526060604082018190528101829052818360808301375f818301608090810191909152601f909201601f191601019392505050565b5f60208284031215610fe3575f80fd5b81518015158114610f2f575f80fd5b5f60208284031215611002575f80fd5b8151610f2f81610e13565b5f806040838503121561101e575f80fd5b505080516020909101519092909150565b5f6020828403121561103f575f80fd5b5051919050565b5f60208284031215611056575f80fd5b815162ffffff81168114610f2f575f80fd5b81516001600160a01b031681526101608101602083015161109460208401826001600160a01b03169052565b5060408301516110ab604084018262ffffff169052565b5060608301516110c0606084018260020b9052565b5060808301516110d5608084018260020b9052565b5060a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015161111b828501826001600160a01b03169052565b505061014092830151919092015290565b5f805f806080858703121561113f575f80fd5b8451935060208501516001600160801b038116811461115c575f80fd5b604086015160609096015194979096509250505056fea2646970667358221220491904f4e359d91527971506460adcd1dcdd5d160ade28402ea2d5ecc11aeec064736f6c63430008140033

Deployed Bytecode Sourcemap

2650:5580:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3085:45;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3085:45:0;;;;;;;;;;;;:::i;:::-;;;;;;;;5858:132;;;;;;;;;;-1:-1:-1;5858:132:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5858:132:0;1023:187:1;6652:72:0;;;;;;;;;;-1:-1:-1;6710:9:0;;6652:72;;-1:-1:-1;;;;;6710:9:0;;;1470:51:1;;1458:2;1443:18;6652:72:0;1324:203:1;6729:86:0;;;;;;;;;;-1:-1:-1;6794:16:0;;6729:86;;;1678:25:1;;;1666:2;1651:18;6729:86:0;1532:177:1;5995:321:0;;;;;;;;;;-1:-1:-1;5995:321:0;;;;;:::i;:::-;;:::i;3178:35::-;;;;;;;;;;;;3211:2;3178:35;;;;;2347:4:1;2335:17;;;2317:36;;2305:2;2290:18;3178:35:0;2175:184:1;6321:323:0;;;;;;;;;;-1:-1:-1;6321:323:0;;;;;:::i;:::-;;:::i;5436:288::-;;;;;;;;;;;;;:::i;:::-;;6820:106;;;;;;;;;;-1:-1:-1;6820:106:0;;;;;:::i;:::-;-1:-1:-1;;;;;6896:17:0;6875:7;6896:17;;;:10;:17;;;;;:25;;6820:106;4166:1265;;;:::i;3134:40::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3134:40:0;;;;;5729:124;;;;;;;;;;-1:-1:-1;5729:124:0;;;;;:::i;:::-;;:::i;7072:96::-;;;;;;;;;;-1:-1:-1;7147:15:0;;7072:96;;6931:136;;;;;;;;;;-1:-1:-1;6931:136:0;;;;;:::i;:::-;-1:-1:-1;;;;;7025:17:0;;;7004:7;7025:17;;;:10;:17;;;;;;;;:37;;;;;;:27;;;;:37;;;;;;6931:136;5858:132;5928:4;5946:39;5955:10;5967:8;5977:7;5946:8;:39::i;:::-;5939:46;;5858:132;;;;;:::o;5995:321::-;-1:-1:-1;;;;;7025:17:0;;6080:4;7025:17;;;:10;:17;;;;;;;;6129:10;7025:37;;:27;;:37;;;;;;6167:7;6153:10;:21;;6145:30;;;;;;-1:-1:-1;;6184:10:0;:22;6180:90;;-1:-1:-1;;;;;6214:17:0;;:4;:17;;;:10;:17;;;;;;;;6242:10;6214:39;;:27;;:39;;;;;:50;;6257:7;;6214:4;:50;;6257:7;;6214:50;:::i;:::-;;;;-1:-1:-1;;6180:90:0;6281:30;6291:5;6298:3;6303:7;6281:9;:30::i;:::-;6274:37;5995:321;-1:-1:-1;;;;;5995:321:0:o;6321:323::-;6416:4;6427:35;6437:10;6449:3;6454:7;6427:9;:35::i;:::-;-1:-1:-1;6508:16:0;;6537:9;;;;6533:91;;6562:55;;-1:-1:-1;;;6562:55:0;;-1:-1:-1;;;;;6562:27:0;;;;;:55;;6590:10;;6602:7;;6611:5;;;;6562:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6554:64;;;;;;-1:-1:-1;6635:4:0;;6321:323;-1:-1:-1;;;;;6321:323:0:o;5436:288::-;5480:19;2947:42;-1:-1:-1;;;;;5518:22:0;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5560:154;;;;;;;;5605:15;;;5560:154;;5645:4;5560:154;;;;;;-1:-1:-1;;;;;5560:154:0;;;;;;;;;;;;5548:167;;-1:-1:-1;;;5548:167:0;;5365:13:1;;5548:167:0;;;5347:32:1;;;;5421:24;;-1:-1:-1;;;;;5417:50:1;;;5395:20;;;5388:80;5497:24;;5612:21;;5590:20;;;5583:51;5676:24;;5672:33;;;5650:20;;;5643:63;5480::0;;-1:-1:-1;5548:11:0;;;;;5319:19:1;;5548:167:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;5475:249;5436:288::o;4166:1265::-;6794:16;;4218:18;4210:27;;;;;;3037:7;4250:9;:28;;4242:55;;;;-1:-1:-1;;;4242:55:0;;6169:2:1;4242:55:0;;;6151:21:1;6208:2;6188:18;;;6181:30;-1:-1:-1;;;6227:18:1;;;6220:44;6281:18;;4242:55:0;;;;;;;;;4302:13;4326:4;4302:29;;4336:13;2947:42;-1:-1:-1;;;;;4352:12:0;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4336:30;;4371:21;4402:5;4371:37;;4415:14;-1:-1:-1;;;;;4415:22:0;;3037:7;4415:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4468:14;-1:-1:-1;;;;;4468:22:0;;2947:42;-1:-1:-1;;;;;4491:22:0;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4468:58;;-1:-1:-1;;;;;;4468:58:0;;;;;;;-1:-1:-1;;;;;6502:32:1;;;4468:58:0;;;6484:51:1;-1:-1:-1;;6551:18:1;;;6544:34;6457:18;;4468:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4539:31:0;;-1:-1:-1;;;4539:31:0;;-1:-1:-1;;;;;1488:32:1;;;4539:31:0;;;1470:51:1;3037:7:0;;4539:24;;;;;;1443:18:1;;4539:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:50;4531:85;;;;-1:-1:-1;;;4531:85:0;;6980:2:1;4531:85:0;;;6962:21:1;7019:2;6999:18;;;6992:30;-1:-1:-1;;;7038:18:1;;;7031:52;7100:18;;4531:85:0;6778:346:1;4531:85:0;4639:9;;4692:24;;;-1:-1:-1;;;4692:24:0;;;;-1:-1:-1;;;;;4639:9:0;;;;4621:10;;2947:42;;4692:22;;:24;;;;;;;;;;;;;;;2947:42;4692:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2886:4;4722:16;:33;;;-1:-1:-1;;;;;4760:17:0;;4722:4;4760:17;;;:10;:17;;;;;;:42;;;4812:45;4654:63;;-1:-1:-1;4760:17:0;;4722:4;;4812:45;;;;1678:25:1;;1666:2;1651:18;;1532:177;4812:45:0;;;;;;;;4862;4871:5;4886:3;2886:4;4862:8;:45::i;:::-;;4938:3;-1:-1:-1;;;;;4938:8:0;;4947:424;;;;;;;;4988:5;-1:-1:-1;;;;;4988:12:0;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4947:424:0;;;;;5016:5;-1:-1:-1;;;;;5016:12:0;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4947:424:0;;;;;5041:5;-1:-1:-1;;;;;5041:9:0;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4947:424;;;;5069:14;;;;;;4947:424;;;;;;;;5100:14;;;;;;4947:424;;;;;;;;5136:14;;-1:-1:-1;;;5136:14:0;;;;4947:424;;;;;-1:-1:-1;;;;;5136:23:0;;;;:12;;;;;;:14;;;;;4947:424;5136:14;;;;;:12;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5136:23:0;;:58;;3037:7;5136:58;;;2886:4;5136:58;4947:424;;;;5234:5;-1:-1:-1;;;;;5216:23:0;:5;-1:-1:-1;;;;;5216:12:0;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5216:23:0;;:58;;3037:7;5216:58;;;2886:4;5216:58;4947:424;;;;5292:1;4947:424;;;;5311:1;4947:424;;;;5329:5;-1:-1:-1;;;;;4947:424:0;;;;;5350:15;4947:424;;;4938:434;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;4913:15:0;4912:460;4913:4;5387:10;;5379:43;;-1:-1:-1;;;;;5387:10:0;;;;5408:13;;;;5379:43;;;;;5408:13;;5379:43;;4913:4;5379:43;5408:13;5387:10;5379:43;;;;;;;;;;;;;;;;;;;;;4205:1226;;;;;4166:1265::o;5729:124::-;5795:4;5813:35;5823:10;5835:3;5840:7;5813:9;:35::i;7175:212::-;-1:-1:-1;;;;;7273:18:0;;;7262:4;7273:18;;;:10;:18;;;;;;;;:38;;;;;;:28;;;;:38;;;;;:48;;;7331:35;1678:25:1;;;7262:4:0;;7273:38;:18;7331:35;;1651:18:1;7331:35:0;;;;;;;;-1:-1:-1;7378:4:0;7175:212;;;;;:::o;7393:294::-;-1:-1:-1;;;;;6896:17:0;;7475:4;6896:17;;;:10;:17;;;;;:25;7530:7;-1:-1:-1;7510:27:0;7502:36;;;;;;-1:-1:-1;;;;;7544:17:0;;;:4;:17;;;:10;:17;;;;;;:36;;;;;;;7586:15;;;;;;;;;;:34;;;;;;7631:29;;;;;;7573:7;1678:25:1;;1666:2;1651:18;;1532:177;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1714:456::-;1791:6;1799;1807;1860:2;1848:9;1839:7;1835:23;1831:32;1828:52;;;1876:1;1873;1866:12;1828:52;1915:9;1902:23;1934:31;1959:5;1934:31;:::i;:::-;1984:5;-1:-1:-1;2041:2:1;2026:18;;2013:32;2054:33;2013:32;2054:33;:::i;:::-;1714:456;;2106:7;;-1:-1:-1;;;2160:2:1;2145:18;;;;2132:32;;1714:456::o;2364:794::-;2452:6;2460;2468;2476;2529:2;2517:9;2508:7;2504:23;2500:32;2497:52;;;2545:1;2542;2535:12;2497:52;2584:9;2571:23;2603:31;2628:5;2603:31;:::i;:::-;2653:5;-1:-1:-1;2705:2:1;2690:18;;2677:32;;-1:-1:-1;2760:2:1;2745:18;;2732:32;2783:18;2813:14;;;2810:34;;;2840:1;2837;2830:12;2810:34;2878:6;2867:9;2863:22;2853:32;;2923:7;2916:4;2912:2;2908:13;2904:27;2894:55;;2945:1;2942;2935:12;2894:55;2985:2;2972:16;3011:2;3003:6;3000:14;2997:34;;;3027:1;3024;3017:12;2997:34;3072:7;3067:2;3058:6;3054:2;3050:15;3046:24;3043:37;3040:57;;;3093:1;3090;3083:12;3040:57;2364:794;;;;-1:-1:-1;;3124:2:1;3116:11;;-1:-1:-1;;;2364:794:1:o;3163:247::-;3222:6;3275:2;3263:9;3254:7;3250:23;3246:32;3243:52;;;3291:1;3288;3281:12;3243:52;3330:9;3317:23;3349:31;3374:5;3349:31;:::i;:::-;3399:5;3163:247;-1:-1:-1;;;3163:247:1:o;3415:388::-;3483:6;3491;3544:2;3532:9;3523:7;3519:23;3515:32;3512:52;;;3560:1;3557;3550:12;3512:52;3599:9;3586:23;3618:31;3643:5;3618:31;:::i;:::-;3668:5;-1:-1:-1;3725:2:1;3710:18;;3697:32;3738:33;3697:32;3738:33;:::i;:::-;3790:7;3780:17;;;3415:388;;;;;:::o;3808:225::-;3875:9;;;3896:11;;;3893:134;;;3949:10;3944:3;3940:20;3937:1;3930:31;3984:4;3981:1;3974:15;4012:4;4009:1;4002:15;4038:559;-1:-1:-1;;;;;4251:32:1;;4233:51;;4315:2;4300:18;;4293:34;;;4363:2;4358;4343:18;;4336:30;;;4382:18;;4375:34;;;4402:6;4452;4446:3;4431:19;;4418:49;4517:1;4487:22;;;4511:3;4483:32;;;4476:43;;;;4580:2;4559:15;;;-1:-1:-1;;4555:29:1;4540:45;4536:55;;4038:559;-1:-1:-1;;;4038:559:1:o;4602:277::-;4669:6;4722:2;4710:9;4701:7;4697:23;4693:32;4690:52;;;4738:1;4735;4728:12;4690:52;4770:9;4764:16;4823:5;4816:13;4809:21;4802:5;4799:32;4789:60;;4845:1;4842;4835:12;4884:251;4954:6;5007:2;4995:9;4986:7;4982:23;4978:32;4975:52;;;5023:1;5020;5013:12;4975:52;5055:9;5049:16;5074:31;5099:5;5074:31;:::i;5717:245::-;5796:6;5804;5857:2;5845:9;5836:7;5832:23;5828:32;5825:52;;;5873:1;5870;5863:12;5825:52;-1:-1:-1;;5896:16:1;;5952:2;5937:18;;;5931:25;5896:16;;5931:25;;-1:-1:-1;5717:245:1:o;6589:184::-;6659:6;6712:2;6700:9;6691:7;6687:23;6683:32;6680:52;;;6728:1;6725;6718:12;6680:52;-1:-1:-1;6751:16:1;;6589:184;-1:-1:-1;6589:184:1:o;7129:278::-;7198:6;7251:2;7239:9;7230:7;7226:23;7222:32;7219:52;;;7267:1;7264;7257:12;7219:52;7299:9;7293:16;7349:8;7342:5;7338:20;7331:5;7328:31;7318:59;;7373:1;7370;7363:12;7605:1220;7825:13;;-1:-1:-1;;;;;1281:31:1;1269:44;;7793:3;7778:19;;7897:4;7889:6;7885:17;7879:24;7912:54;7960:4;7949:9;7945:20;7931:12;-1:-1:-1;;;;;1281:31:1;1269:44;;1215:104;7912:54;;8015:4;8007:6;8003:17;7997:24;8030:55;8079:4;8068:9;8064:20;8048:14;7488:8;7477:20;7465:33;;7412:92;8030:55;;8134:4;8126:6;8122:17;8116:24;8149:54;8197:4;8186:9;8182:20;8166:14;7584:1;7573:20;7561:33;;7509:91;8149:54;;8252:4;8244:6;8240:17;8234:24;8267:54;8315:4;8304:9;8300:20;8284:14;7584:1;7573:20;7561:33;;7509:91;8267:54;;8377:4;8369:6;8365:17;8359:24;8352:4;8341:9;8337:20;8330:54;8440:4;8432:6;8428:17;8422:24;8415:4;8404:9;8400:20;8393:54;8503:4;8495:6;8491:17;8485:24;8478:4;8467:9;8463:20;8456:54;8529:6;8589:2;8581:6;8577:15;8571:22;8566:2;8555:9;8551:18;8544:50;;8613:6;8668:2;8660:6;8656:15;8650:22;8681:54;8731:2;8720:9;8716:18;8700:14;-1:-1:-1;;;;;1281:31:1;1269:44;;1215:104;8681:54;-1:-1:-1;;8754:6:1;8802:15;;;8796:22;8776:18;;;;8769:50;7605:1220;:::o;8830:489::-;8927:6;8935;8943;8951;9004:3;8992:9;8983:7;8979:23;8975:33;8972:53;;;9021:1;9018;9011:12;8972:53;9050:9;9044:16;9034:26;;9103:2;9092:9;9088:18;9082:25;-1:-1:-1;;;;;9140:5:1;9136:46;9129:5;9126:57;9116:85;;9197:1;9194;9187:12;9116:85;9265:2;9250:18;;9244:25;9309:2;9294:18;;;9288:25;8830:489;;9220:5;;-1:-1:-1;8830:489:1;-1:-1:-1;;;8830:489:1:o

Swarm Source

ipfs://491904f4e359d91527971506460adcd1dcdd5d160ade28402ea2d5ecc11aeec0
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.