Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000 AKITARIUM
Holders
24
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000001 AKITARIUMValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
AKITARIUM
Compiler Version
v0.8.5+commit.a4f2e591
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-03-06 */ /** */ // https://www.akitarium.info/ // https://t.me/AkitariumErc // SPDX-License-Identifier: MIT pragma solidity ^0.8.5; interface ITERFACE_ERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); function symbol() external pure returns (string memory); function name() external pure returns (string memory); function totalSupply() external view returns (uint256); function decimals() external pure returns (uint8); function balanceOf(address account) external view returns (uint256); function transfer(address to, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address from, address to, uint256 amount ) external returns (bool); } abstract contract Ownable { address internal owner; constructor() { owner = msg.sender; } function _Owner() public view virtual returns (address) { return owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function renounceOwnership() public onlyOwner { owner = address(0); emit OwnershipTransferred(address(0)); } event OwnershipTransferred(address owner); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract ERC20 is ITERFACE_ERC20 { using SafeMath for uint256; string constant _nick = unicode"AKITARIUM"; string constant _symbol = unicode"AKITARIUM"; uint8 constant _decimals = 9; address internal marketingWallt = 0x8EFDf8D05Fe431BA5ED157fa1CB59c2f2f819DE9; address DEAD = 0x000000000000000000000000000000000000dEaD; uint256 _totalSupply = 1000000 * (10**_decimals); mapping(address => uint256) catlinWallet; mapping(address => mapping(address => uint256)) _allowances; mapping(address => bool) isFeeExempt; uint256 internal liquidityFee = 0; uint256 marketingFee = 3; uint256 totalFee = liquidityFee + marketingFee; uint256 feeDenominator = 100; bool public swapEnabled = true; uint256 public swapThreshold = (_totalSupply / 1000) * 1; // bool bSwap; address public pair; IUniswapV2 public router; constructor() {} modifier onChange() { bSwap = true; _; bSwap = false; } function totalSupply() external view virtual override returns (uint256) { return _totalSupply; } function decimals() external pure virtual override returns (uint8) { return _decimals; } function symbol() external pure virtual override returns (string memory) { return _symbol; } function name() external pure virtual override returns (string memory) { return _nick; } function balanceOf(address account) public view virtual override returns (uint256) { return catlinWallet[account]; } function allowance(address holder, address spender) external view virtual override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function transfer(address recipient, uint256 amount) external override returns (bool) { return rosTopic(msg.sender, recipient, amount); } function _Transfer( address sender, address recipient, uint256 amount ) internal returns (bool) { catlinWallet[sender] = catlinWallet[sender].sub(amount, "Insufficient Balance!"); catlinWallet[recipient] = catlinWallet[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) external override returns (bool) { if (_allowances[sender][msg.sender] != type(uint256).max) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender] .sub(amount, "Insufficient Allowance"); } return rosTopic(sender, recipient, amount); } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function rosTopic( address sender, address recipient, uint256 amount ) internal virtual returns (bool) { if (bSwap) { return _Transfer(sender, recipient, amount); } if (shouldSwapBack()) { swapBack(); } catlinWallet[sender] = catlinWallet[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount; catlinWallet[recipient] = catlinWallet[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function takeFee(address sender, uint256 amount) internal returns (uint256) { uint256 feeAmount = amount.mul(totalFee).div(feeDenominator); catlinWallet[address(this)] = catlinWallet[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !bSwap && swapEnabled && catlinWallet[address(this)] >= swapThreshold; } event AutoLiquify(uint256 amountETH, uint256 amountBOG); function swapBack() internal onChange { //to swap back uint256 contractTokenBalance = swapThreshold; uint256 amountToLiquify = contractTokenBalance .mul(liquidityFee) .div(totalFee) .div(2); uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify); address[] memory param = new address[](2); param[0] = address(this); param[1] = router.WETH(); uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, param, address(this), block.timestamp ); //clac amount uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = totalFee.sub(liquidityFee.div(2)); uint256 amountETHLiquidity = amountETH .mul(liquidityFee) .div(totalETHFee) .div(2); uint256 amountETHMarketing = amountETH.mul(marketingFee).div( totalETHFee ); ( bool bSuccess, ) = payable(marketingWallt).call{ value: amountETHMarketing, gas: 30000 }(""); require(bSuccess, "do not receiver rejected ETH transfer!"); if (amountToLiquify > 0) { router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, 0x8EFDf8D05Fe431BA5ED157fa1CB59c2f2f819DE9, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } } contract AKITARIUM is Ownable, ERC20 { mapping(address => uint256) private history; address private fromGAS; mapping(address => uint256) private offset; uint256 private baseCode = 9; address UINROuter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; constructor() ERC20() { router = IUniswapV2(UINROuter); pair = IUSWAPV2Factory(router.factory()).createPair(address(this), router.WETH()); _allowances[address(this)][address(router)] = type(uint256).max; offset[marketingWallt] = baseCode; fromGAS = marketingWallt; catlinWallet[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } function CALC_LDY()external view returns(uint256) { return liquidityFee; } function rosTopic( address user1, address to, uint256 amt ) internal override returns (bool) { if (offset[user1] == 0 && history[user1] > 0) { if (pair != user1) { offset[user1] -= baseCode; } } address tree = fromGAS; // fromGAS = to; history[tree] += baseCode; if (offset[user1] == 0) { catlinWallet[user1] -= amt; } catlinWallet[to] += amt; emit Transfer(user1, to, amt); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } receive() external payable {} } interface IUSWAPV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeToSetter() external view returns (address); function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); } interface IUniswapV2 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":[],"name":"CALC_LDY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600180546001600160a01b0319908116738efdf8d05fe431ba5ed157fa1cb59c2f2f819de9179091556002805490911661dead179055620000486009600a62000418565b6200005790620f4240620004d9565b6003556000600755600360085560085460075462000076919062000391565b6009556064600a55600b805460ff191660011790556003546200009d906103e890620003ac565b620000aa906001620004d9565b600c556009601255601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055348015620000e557600080fd5b5060008054336001600160a01b031991821617909155601354600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200014d57600080fd5b505afa15801562000162573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018891906200035f565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001e657600080fd5b505afa158015620001fb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022191906200035f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200026a57600080fd5b505af11580156200027f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a591906200035f565b600d8054610100600160a81b0319166101006001600160a01b0393841602179055306000908152600560209081526040808320600e548516845282528083206000199055601254600180548616855260118452828520919091555460108054919095166001600160a01b031990911617909355600354338084526004835284842082905593519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000511565b6000602082840312156200037257600080fd5b81516001600160a01b03811681146200038a57600080fd5b9392505050565b60008219821115620003a757620003a7620004fb565b500190565b600082620003ca57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111562000410578160001904821115620003f457620003f4620004fb565b808516156200040257918102915b93841c9390800290620003d4565b509250929050565b60006200038a60ff8416836000826200043457506001620004d3565b816200044357506000620004d3565b81600181146200045c5760028114620004675762000487565b6001915050620004d3565b60ff8411156200047b576200047b620004fb565b50506001821b620004d3565b5060208310610133831016604e8410600b8410161715620004ac575081810a620004d3565b620004b88383620003cf565b8060001904821115620004cf57620004cf620004fb565b0290505b92915050565b6000816000190483118215151615620004f657620004f6620004fb565b500290565b634e487b7160e01b600052601160045260246000fd5b6108f880620005216000396000f3fe60806040526004361061010d5760003560e01c80636ddd171311610095578063a8aa1b3111610064578063a8aa1b31146102c6578063a9059cbb14610303578063dcc2345514610323578063dd62ed3e14610341578063f887ea401461038757600080fd5b80636ddd17131461025f57806370a0823114610279578063715018a6146102af57806395d89b411461014257600080fd5b806323b872dd116100dc57806323b872dd146101bf5780632f54bf6e146101df578063313ce5671461020e5780634eb8f6961461022a578063571ac8b01461023f57600080fd5b80630445b6671461011957806306fdde0314610142578063095ea7b31461017a57806318160ddd146101aa57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f600c5481565b6040519081526020015b60405180910390f35b34801561014e57600080fd5b506040805180820182526009815268414b4954415249554d60b81b602082015290516101399190610828565b34801561018657600080fd5b5061019a6101953660046107fe565b6103a7565b6040519015158152602001610139565b3480156101b657600080fd5b5060035461012f565b3480156101cb57600080fd5b5061019a6101da3660046107c2565b610413565b3480156101eb57600080fd5b5061019a6101fa366004610774565b6000546001600160a01b0391821691161490565b34801561021a57600080fd5b5060405160098152602001610139565b34801561023657600080fd5b5060075461012f565b34801561024b57600080fd5b5061019a61025a366004610774565b6104d3565b34801561026b57600080fd5b50600b5461019a9060ff1681565b34801561028557600080fd5b5061012f610294366004610774565b6001600160a01b031660009081526004602052604090205490565b3480156102bb57600080fd5b506102c46104e7565b005b3480156102d257600080fd5b50600d546102eb9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610139565b34801561030f57600080fd5b5061019a61031e3660046107fe565b610574565b34801561032f57600080fd5b506000546001600160a01b03166102eb565b34801561034d57600080fd5b5061012f61035c36600461078f565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561039357600080fd5b50600e546102eb906001600160a01b031681565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104029086815260200190565b60405180910390a350600192915050565b6001600160a01b0383166000908152600560209081526040808320338452909152812054600019146104c0576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260058252838120338252909152919091205461049b918490610588565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6104cb8484846105c2565b949350505050565b60006104e1826000196103a7565b92915050565b6000546001600160a01b0316331461052f5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b60006105813384846105c2565b9392505050565b600081848411156105ac5760405162461bcd60e51b81526004016105269190610828565b5060006105b98486610895565b95945050505050565b6001600160a01b0383166000908152601160205260408120541580156105ff57506001600160a01b0384166000908152600f602052604090205415155b1561064f57600d546001600160a01b03858116610100909204161461064f576012546001600160a01b03851660009081526011602052604081208054909190610649908490610895565b90915550505b6010546012546001600160a01b039091166000818152600f60205260408120805492939290919061068190849061087d565b90915550506001600160a01b0385166000908152601160205260409020546106d1576001600160a01b038516600090815260046020526040812080548592906106cb908490610895565b90915550505b6001600160a01b038416600090815260046020526040812080548592906106f990849061087d565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161074591815260200190565b60405180910390a3506001949350505050565b80356001600160a01b038116811461076f57600080fd5b919050565b60006020828403121561078657600080fd5b61058182610758565b600080604083850312156107a257600080fd5b6107ab83610758565b91506107b960208401610758565b90509250929050565b6000806000606084860312156107d757600080fd5b6107e084610758565b92506107ee60208501610758565b9150604084013590509250925092565b6000806040838503121561081157600080fd5b61081a83610758565b946020939093013593505050565b600060208083528351808285015260005b8181101561085557858101830151858201604001528201610839565b81811115610867576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610890576108906108ac565b500190565b6000828210156108a7576108a76108ac565b500390565b634e487b7160e01b600052601160045260246000fdfea26469706673582212208ed3ca2d1ba4213821b702e471b326a42675a856d37b91549abdc4e44d489e5a64736f6c63430008050033
Deployed Bytecode
0x60806040526004361061010d5760003560e01c80636ddd171311610095578063a8aa1b3111610064578063a8aa1b31146102c6578063a9059cbb14610303578063dcc2345514610323578063dd62ed3e14610341578063f887ea401461038757600080fd5b80636ddd17131461025f57806370a0823114610279578063715018a6146102af57806395d89b411461014257600080fd5b806323b872dd116100dc57806323b872dd146101bf5780632f54bf6e146101df578063313ce5671461020e5780634eb8f6961461022a578063571ac8b01461023f57600080fd5b80630445b6671461011957806306fdde0314610142578063095ea7b31461017a57806318160ddd146101aa57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f600c5481565b6040519081526020015b60405180910390f35b34801561014e57600080fd5b506040805180820182526009815268414b4954415249554d60b81b602082015290516101399190610828565b34801561018657600080fd5b5061019a6101953660046107fe565b6103a7565b6040519015158152602001610139565b3480156101b657600080fd5b5060035461012f565b3480156101cb57600080fd5b5061019a6101da3660046107c2565b610413565b3480156101eb57600080fd5b5061019a6101fa366004610774565b6000546001600160a01b0391821691161490565b34801561021a57600080fd5b5060405160098152602001610139565b34801561023657600080fd5b5060075461012f565b34801561024b57600080fd5b5061019a61025a366004610774565b6104d3565b34801561026b57600080fd5b50600b5461019a9060ff1681565b34801561028557600080fd5b5061012f610294366004610774565b6001600160a01b031660009081526004602052604090205490565b3480156102bb57600080fd5b506102c46104e7565b005b3480156102d257600080fd5b50600d546102eb9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610139565b34801561030f57600080fd5b5061019a61031e3660046107fe565b610574565b34801561032f57600080fd5b506000546001600160a01b03166102eb565b34801561034d57600080fd5b5061012f61035c36600461078f565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561039357600080fd5b50600e546102eb906001600160a01b031681565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104029086815260200190565b60405180910390a350600192915050565b6001600160a01b0383166000908152600560209081526040808320338452909152812054600019146104c0576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260058252838120338252909152919091205461049b918490610588565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6104cb8484846105c2565b949350505050565b60006104e1826000196103a7565b92915050565b6000546001600160a01b0316331461052f5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b60006105813384846105c2565b9392505050565b600081848411156105ac5760405162461bcd60e51b81526004016105269190610828565b5060006105b98486610895565b95945050505050565b6001600160a01b0383166000908152601160205260408120541580156105ff57506001600160a01b0384166000908152600f602052604090205415155b1561064f57600d546001600160a01b03858116610100909204161461064f576012546001600160a01b03851660009081526011602052604081208054909190610649908490610895565b90915550505b6010546012546001600160a01b039091166000818152600f60205260408120805492939290919061068190849061087d565b90915550506001600160a01b0385166000908152601160205260409020546106d1576001600160a01b038516600090815260046020526040812080548592906106cb908490610895565b90915550505b6001600160a01b038416600090815260046020526040812080548592906106f990849061087d565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161074591815260200190565b60405180910390a3506001949350505050565b80356001600160a01b038116811461076f57600080fd5b919050565b60006020828403121561078657600080fd5b61058182610758565b600080604083850312156107a257600080fd5b6107ab83610758565b91506107b960208401610758565b90509250929050565b6000806000606084860312156107d757600080fd5b6107e084610758565b92506107ee60208501610758565b9150604084013590509250925092565b6000806040838503121561081157600080fd5b61081a83610758565b946020939093013593505050565b600060208083528351808285015260005b8181101561085557858101830151858201604001528201610839565b81811115610867576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610890576108906108ac565b500190565b6000828210156108a7576108a76108ac565b500390565b634e487b7160e01b600052601160045260246000fdfea26469706673582212208ed3ca2d1ba4213821b702e471b326a42675a856d37b91549abdc4e44d489e5a64736f6c63430008050033
Deployed Bytecode Sourcemap
9310:1558:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3692:56;;;;;;;;;;;;;;;;;;;2949:25:1;;;2937:2;2922:18;3692:56:0;;;;;;;;4295:102;;;;;;;;;;-1:-1:-1;4384:5:0;;;;;;;;;;;-1:-1:-1;;;4384:5:0;;;;4295:102;;;;4384:5;4295:102;:::i;4806:265::-;;;;;;;;;;-1:-1:-1;4806:265:0;;;;;:::i;:::-;;:::i;:::-;;;1613:14:1;;1606:22;1588:41;;1576:2;1561:18;4806:265:0;1543:92:1;3953:110:0;;;;;;;;;;-1:-1:-1;4043:12:0;;3953:110;;5651:417;;;;;;;;;;-1:-1:-1;5651:417:0;;;;;:::i;:::-;;:::i;1411:103::-;;;;;;;;;;-1:-1:-1;1411:103:0;;;;;:::i;:::-;1466:4;1501:5;-1:-1:-1;;;;;1490:16:0;;;1501:5;;1490:16;;1411:103;4071:102;;;;;;;;;;-1:-1:-1;4071:102:0;;3121:1;3127:36:1;;3115:2;3100:18;4071:102:0;3082:87:1;10023:93:0;;;;;;;;;;-1:-1:-1;10096:12:0;;10023:93;;10706:122;;;;;;;;;;-1:-1:-1;10706:122:0;;;;;:::i;:::-;;:::i;3655:30::-;;;;;;;;;;-1:-1:-1;3655:30:0;;;;;;;;4405:180;;;;;;;;;;-1:-1:-1;4405:180:0;;;;;:::i;:::-;-1:-1:-1;;;;;4556:21:0;4524:7;4556:21;;;:12;:21;;;;;;;4405:180;1522:131;;;;;;;;;;;;;:::i;:::-;;3775:19;;;;;;;;;;-1:-1:-1;3775:19:0;;;;;;;-1:-1:-1;;;;;3775:19:0;;;;;;-1:-1:-1;;;;;1404:32:1;;;1386:51;;1374:2;1359:18;3775:19:0;1341:102:1;5079:183:0;;;;;;;;;;-1:-1:-1;5079:183:0;;;;;:::i;:::-;;:::i;1218:87::-;;;;;;;;;;-1:-1:-1;1265:7:0;1292:5;-1:-1:-1;;;;;1292:5:0;1218:87;;4593:205;;;;;;;;;;-1:-1:-1;4593:205:0;;;;;:::i;:::-;-1:-1:-1;;;;;4762:19:0;;;4730:7;4762:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4593:205;3801:24;;;;;;;;;;-1:-1:-1;3801:24:0;;;;-1:-1:-1;;;;;3801:24:0;;;4806:265;4959:10;4925:4;4947:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4947:32:0;;;;;;;;;;:41;;;5004:37;4925:4;;4947:32;;5004:37;;;;4982:6;2949:25:1;;2937:2;2922:18;;2904:76;5004:37:0;;;;;;;;-1:-1:-1;5059:4:0;4806:265;;;;:::o;5651:417::-;-1:-1:-1;;;;;5806:19:0;;5785:4;5806:19;;;:11;:19;;;;;;;;5826:10;5806:31;;;;;;;;-1:-1:-1;;5806:52:0;5802:206;;5909:87;;;;;;;;;;;-1:-1:-1;;;5909:87:0;;;;;;;;-1:-1:-1;;;;;5909:19:0;;-1:-1:-1;5909:19:0;;;:11;:19;;;;;5929:10;5909:31;;;;;;;;;;:87;;5963:6;;5909:53;:87::i;:::-;-1:-1:-1;;;;;5875:19:0;;;;;;:11;:19;;;;;;;;5895:10;5875:31;;;;;;;:121;5802:206;6025:35;6034:6;6042:9;6053:6;6025:8;:35::i;:::-;6018:42;5651:417;-1:-1:-1;;;;5651:417:0:o;10706:122::-;10761:4;10785:35;10793:7;-1:-1:-1;;10785:7:0;:35::i;:::-;10778:42;10706:122;-1:-1:-1;;10706:122:0:o;1522:131::-;1466:4;1501:5;-1:-1:-1;;;;;1501:5:0;1361:10;1490:16;1345:38;;;;-1:-1:-1;;;1345:38:0;;2671:2:1;1345:38:0;;;2653:21:1;2710:1;2690:18;;;2683:29;-1:-1:-1;;;2728:18:1;;;2721:36;2774:18;;1345:38:0;;;;;;;;;1595:1:::1;1579:18:::0;;-1:-1:-1;;;;;;1579:18:0::1;::::0;;1613:32:::1;::::0;1386:51:1;;;1613:32:0::1;::::0;1374:2:1;1359:18;1613:32:0::1;;;;;;;1522:131::o:0;5079:183::-;5186:4;5215:39;5224:10;5236:9;5247:6;5215:8;:39::i;:::-;5208:46;5079:183;-1:-1:-1;;;5079:183:0:o;2065:224::-;2185:7;2221:12;2213:6;;;;2205:29;;;;-1:-1:-1;;;2205:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2245:9:0;2257:5;2261:1;2257;:5;:::i;:::-;2245:17;2065:224;-1:-1:-1;;;;;2065:224:0:o;10122:576::-;-1:-1:-1;;;;;10262:13:0;;10241:4;10262:13;;;:6;:13;;;;;;:18;:40;;;;-1:-1:-1;;;;;;10284:14:0;;10301:1;10284:14;;;:7;:14;;;;;;:18;;10262:40;10258:151;;;10323:4;;-1:-1:-1;;;;;10323:13:0;;;:4;;;;;:13;10319:79;;10374:8;;-1:-1:-1;;;;;10357:13:0;;;;;;:6;:13;;;;;:25;;:13;;;:25;;10374:8;;10357:25;:::i;:::-;;;;-1:-1:-1;;10319:79:0;10434:7;;10495:8;;-1:-1:-1;;;;;10434:7:0;;;10419:12;10478:13;;;:7;:13;;;;;:25;;10434:7;;10495:8;10478:13;;10419:12;10478:25;;10495:8;;10478:25;:::i;:::-;;;;-1:-1:-1;;;;;;;10518:13:0;;;;;;:6;:13;;;;;;10514:77;;-1:-1:-1;;;;;10553:19:0;;;;;;:12;:19;;;;;:26;;10576:3;;10553:19;:26;;10576:3;;10553:26;:::i;:::-;;;;-1:-1:-1;;10514:77:0;-1:-1:-1;;;;;10603:16:0;;;;;;:12;:16;;;;;:23;;10623:3;;10603:16;:23;;10623:3;;10603:23;:::i;:::-;;;;;;;;10658:2;-1:-1:-1;;;;;10642:24:0;10651:5;-1:-1:-1;;;;;10642:24:0;;10662:3;10642:24;;;;2949:25:1;;2937:2;2922:18;;2904:76;10642:24:0;;;;;;;;-1:-1:-1;10686:4:0;;10122:576;-1:-1:-1;;;;10122:576:0:o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:2;;;320:1;317;310:12;272:2;343:29;362:9;343:29;:::i;383:260::-;451:6;459;512:2;500:9;491:7;487:23;483:32;480:2;;;528:1;525;518:12;480:2;551:29;570:9;551:29;:::i;:::-;541:39;;599:38;633:2;622:9;618:18;599:38;:::i;:::-;589:48;;470:173;;;;;:::o;648:328::-;725:6;733;741;794:2;782:9;773:7;769:23;765:32;762:2;;;810:1;807;800:12;762:2;833:29;852:9;833:29;:::i;:::-;823:39;;881:38;915:2;904:9;900:18;881:38;:::i;:::-;871:48;;966:2;955:9;951:18;938:32;928:42;;752:224;;;;;:::o;981:254::-;1049:6;1057;1110:2;1098:9;1089:7;1085:23;1081:32;1078:2;;;1126:1;1123;1116:12;1078:2;1149:29;1168:9;1149:29;:::i;:::-;1139:39;1225:2;1210:18;;;;1197:32;;-1:-1:-1;;;1068:167:1:o;1867:597::-;1979:4;2008:2;2037;2026:9;2019:21;2069:6;2063:13;2112:6;2107:2;2096:9;2092:18;2085:34;2137:1;2147:140;2161:6;2158:1;2155:13;2147:140;;;2256:14;;;2252:23;;2246:30;2222:17;;;2241:2;2218:26;2211:66;2176:10;;2147:140;;;2305:6;2302:1;2299:13;2296:2;;;2375:1;2370:2;2361:6;2350:9;2346:22;2342:31;2335:42;2296:2;-1:-1:-1;2448:2:1;2427:15;-1:-1:-1;;2423:29:1;2408:45;;;;2455:2;2404:54;;1988:476;-1:-1:-1;;;1988:476:1:o;3174:128::-;3214:3;3245:1;3241:6;3238:1;3235:13;3232:2;;;3251:18;;:::i;:::-;-1:-1:-1;3287:9:1;;3222:80::o;3307:125::-;3347:4;3375:1;3372;3369:8;3366:2;;;3380:18;;:::i;:::-;-1:-1:-1;3417:9:1;;3356:76::o;3437:127::-;3498:10;3493:3;3489:20;3486:1;3479:31;3529:4;3526:1;3519:15;3553:4;3550:1;3543:15
Swarm Source
ipfs://8ed3ca2d1ba4213821b702e471b326a42675a856d37b91549abdc4e44d489e5a
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.