इस तुलना का शेष भाग लोड हो रहा है।

quanticvsxprotocol

बनाया गया Diff कभी समाप्त नहीं होता
582 हटाए गए
750 लाइनें
713 जोड़े गए
849 लाइनें
/**
/**
*Submitted for verification at BscScan.com on 2022-02-22
*Submitted for verification at BscScan.com on 2022-03-01
*/
*/


// SPDX-License-Identifier: unlicensed


pragma solidity ^0.7.4;
pragma solidity ^0.7.4;


Text moved to lines 72-75
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");

return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;

return c;
}
Text moved to lines 95-97
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}

Text moved to lines 100-103
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");

return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
Text moved with changes to lines 158-161 (91.0% similarity)
return c;
}
}

library SafeMathInt {
library SafeMathInt {
int256 private constant MIN_INT256 = int256(1) << 255;
int256 private constant MIN_INT256 = int256(1) << 255;
int256 private constant MAX_INT256 = ~(int256(1) << 255);
int256 private constant MAX_INT256 = ~(int256(1) << 255);


function mul(int256 a, int256 b) internal pure returns (int256) {
function mul(int256 a, int256 b) internal pure returns (int256) {
int256 c = a * b;
int256 c = a * b;


require(c != MIN_INT256 || (a & MIN_INT256) != (b & MIN_INT256));
require(c != MIN_INT256 || (a & MIN_INT256) != (b & MIN_INT256));
require((b == 0) || (c / b == a));
require((b == 0) || (c / b == a));
return c;
return c;
}
}


function div(int256 a, int256 b) internal pure returns (int256) {
function div(int256 a, int256 b) internal pure returns (int256) {
require(b != -1 || a != MIN_INT256);
require(b != -1 || a != MIN_INT256);


return a / b;
return a / b;
}
}


function sub(int256 a, int256 b) internal pure returns (int256) {
function sub(int256 a, int256 b) internal pure returns (int256) {
int256 c = a - b;
int256 c = a - b;
require((b >= 0 && c <= a) || (b < 0 && c > a));
require((b >= 0 && c <= a) || (b < 0 && c > a));
return c;
return c;
}
}


function add(int256 a, int256 b) internal pure returns (int256) {
function add(int256 a, int256 b) internal pure returns (int256) {
int256 c = a + b;
int256 c = a + b;
require((b >= 0 && c >= a) || (b < 0 && c < a));
require((b >= 0 && c >= a) || (b < 0 && c < a));
return c;
return c;
}
}


function abs(int256 a) internal pure returns (int256) {
function abs(int256 a) internal pure returns (int256) {
require(a != MIN_INT256);
require(a != MIN_INT256);
return a < 0 ? -a : a;
return a < 0 ? -a : a;
}
}
}
}


/**
interface IERC20 {
* BEP20 standard interface.
*/
interface IBEP20 {
function totalSupply() external view returns (uint256);
function totalSupply() external view returns (uint256);
function decimals() external view returns (uint8);

function symbol() external view returns (string memory);
function balanceOf(address who) external view returns (uint256);
function name() external view returns (string memory);

function getOwner() external view returns (address);
function allowance(address owner, address spender)
function balanceOf(address account) external view returns (uint256);
external
function transfer(address recipient, uint256 amount) external returns (bool);
view
function allowance(address _owner, address spender) external view returns (uint256);
returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);

function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
function transfer(address to, uint256 value) external returns (bool);

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

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

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

event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
}


Text moved from lines 10-13
abstract contract Auth {
library SafeMath {
address internal owner;
function add(uint256 a, uint256 b) internal pure returns (uint256) {
mapping (address => bool) internal authorizations;
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");


constructor(address _owner) {
return c;
owner = _owner;
authorizations[_owner] = true;
}
}


modifier onlyOwner() {
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(isOwner(msg.sender), "!OWNER"); _;
return sub(a, b, "SafeMath: subtraction overflow");
}
}


modifier authorized() {
function sub(
require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
uint256 a,
}
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;


function authorize(address adr) public onlyOwner {
return c;
authorizations[adr] = true;
}
}


Text moved from lines 26-28
function unauthorize(address adr) public onlyOwner {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
authorizations[adr] = false;
if (a == 0) {
return 0;
}
}


Text moved from lines 31-34
function isOwner(address account) public view returns (bool) {
uint256 c = a * b;
return account == owner;
require(c / a == b, "SafeMath: multiplication overflow");

return c;
}
}


function isAuthorized(address adr) public view returns (bool) {
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return authorizations[adr];
return div(a, b, "SafeMath: division by zero");
}
}


function transferOwnership(address payable adr) public onlyOwner {
function div(
owner = adr;
uint256 a,
authorizations[adr] = true;
uint256 b,
emit OwnershipTransferred(adr);
string memory errorMessage
) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;

return c;
}
}


event OwnershipTransferred(address owner);
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
require(b != 0);
return a % b;
}
}

interface IDEXFactory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
}


interface InterfaceLP {
interface InterfaceLP {
function sync() external;
function sync() external;
}
}


library Roles {
struct Role {
mapping (address => bool) bearer;
}

/**
* @dev Give an account access to this role.
*/
function add(Role storage role, address account) internal {
require(!has(role, account), "Roles: account already has role");
role.bearer[account] = true;
}

/**
* @dev Remove an account's access to this role.
*/
function remove(Role storage role, address account) internal {
require(has(role, account), "Roles: account does not have role");
role.bearer[account] = false;
}

/**
* @dev Check if an account has this role.
* @return bool
*/
function has(Role storage role, address account) internal view returns (bool) {
require(account != address(0), "Roles: account is the zero address");
Text moved with changes from lines 42-45 (91.0% similarity)
return role.bearer[account];
}
}

contract MinterRole {
using Roles for Roles.Role;

event MinterAdded(address indexed account);
event MinterRemoved(address indexed account);

Roles.Role private _minters;

constructor () {
_addMinter(msg.sender);
}

modifier onlyMinter() {
require(isMinter(msg.sender), "MinterRole: caller does not have the Minter role");
_;
}

function isMinter(address account) public view returns (bool) {
return _minters.has(account);
}

function renounceMinter() public {
_removeMinter(msg.sender);
}

function _addMinter(address account) internal {
_minters.add(account);
emit MinterAdded(account);
}

function _removeMinter(address account) internal {
_minters.remove(account);
emit MinterRemoved(account);
}
}

abstract contract ERC20Detailed is IERC20 {
string private _name;
string private _symbol;
uint8 private _decimals;

constructor(
string memory name,
string memory symbol,
uint8 decimals
) {
_name = name;
_symbol = symbol;
_decimals = decimals;
}

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

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

function decimals() public view returns (uint8) {
return _decimals;
}
}

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

function WETH() external pure returns (address);
function WETH() external pure returns (address);


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


function addLiquidityETH(
function addLiquidityETH(
address token,
address token,
uint amountTokenDesired,
uint256 amountTokenDesired,
uint amountTokenMin,
uint256 amountTokenMin,
uint amountETHMin,
uint256 amountETHMin,
address to,
address to,