Contract Address Details

0xA1647b52364CEAFB06810c5E07A23a5be5006703

Token
TrustLinker (TRLK)
Creator
0xfc130f–830cfc at 0xc29c0d–309cb0
Balance
0 Phoenix
Tokens
Fetching tokens...
Transactions
Fetching transactions...
Transfers
Fetching transfers...
Gas Used
Fetching gas used...
Last Balance Update
6625251
Contract name:
TRLK




Optimization enabled
true
Compiler version
v0.8.18+commit.87f61d96




Optimization runs
200
EVM Version
default




Verified at
2023-11-04 02:28:06.311952Z

Contract source code

/**
*Submitted for verification at BscScan.com on 2023-08-31
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.18;
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 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 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 IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
interface IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
function name() public view virtual override returns (string memory) {
return _name;
}
function symbol() public view virtual override returns (string memory) {
return _symbol;
}
function decimals() public view virtual override returns (uint8) {
return 18;
}
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view virtual override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) public view virtual override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public virtual override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public virtual override returns (bool) {
uint256 currentAllowance = _allowances[sender][_msgSender()];
if (currentAllowance != type(uint256).max) {
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
unchecked {
_approve(sender, _msgSender(), currentAllowance - amount);
}
}
_transfer(sender, recipient, amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
uint256 currentAllowance = _allowances[_msgSender()][spender];
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
unchecked {
_approve(_msgSender(), spender, currentAllowance - subtractedValue);
}
return true;
}
function _transfer(
address sender,
address recipient,
uint256 amount
) internal virtual {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
_beforeTokenTransfer(sender, recipient, amount);
uint256 senderBalance = _balances[sender];
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
unchecked {
_balances[sender] = senderBalance - amount;
}
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
_afterTokenTransfer(sender, recipient, amount);
}
function _init(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: mint to the zero address");
_beforeTokenTransfer(address(0), account, amount);
_totalSupply += amount;
_balances[account] += amount;
emit Transfer(address(0), account, amount);
_afterTokenTransfer(address(0), account, amount);
}
function _burn(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: burn from the zero address");
_beforeTokenTransfer(account, address(0), amount);
uint256 accountBalance = _balances[account];
require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
unchecked {
_balances[account] = accountBalance - amount;
}
_totalSupply -= amount;
emit Transfer(account, address(0), amount);
_afterTokenTransfer(account, address(0), amount);
}
function _approve(
address owner,
address spender,
uint256 amount
) internal virtual {
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);
}
function _beforeTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
function _afterTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
}
contract TRLK is ERC20, Ownable {
IUniswapV2Router02 public uniswapV2Router;
address public uniswapV2Pair = 0x000000000000000000000000000000000000dEaD;
mapping (address => bool) private _isExcludedFromFees;
uint256 public buyFee;
uint256 public sellFee;
uint256 public walletToWalletTransferFee;
uint256 public tradingStartTime;
bool public tradingEnabled;
address private marketingWalletAddress = 0xfC130FE9E4Eae4E9367fb3192cb8985eb4830cFC;
uint256 public swapTokensAtAmount;
bool public swapWithLimit;
bool private swapping;
event ExcludeFromFees(address indexed account, bool isExcluded);
event BuyFeeUpdated(uint256 buyFee);
event SellFeeUpdated(uint256 sellFee);
event WalletToWalletTransferFeeUpdated(uint256 walletToWalletTransferFee);
event SwapTokensAtAmountUpdated(uint256 swapTokensAtAmount);
event SwapAndSend(uint256 tokensSwapped, uint256 valueReceived);
event SwapWithLimitUpdated(bool swapWithLimit);
constructor () ERC20("TrustLinker", "TRLK")
{
transferOwnership(msg.sender);
address router = 0x8d5567953B0aC3348C959c722D4327f29155AEE4; //phx router //0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3;// testnetBSC router // 0x10ED43C718714eb63d5aA57B78B54704E256024E; // BSC PancakeSwapV2 Router
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router);
uniswapV2Router = _uniswapV2Router;
_approve(address(this), address(uniswapV2Router), type(uint256).max);
buyFee = 5;
sellFee = 5;
walletToWalletTransferFee = 0;
_isExcludedFromFees[owner()] = true;
_isExcludedFromFees[address(0xdead)] = true;
_isExcludedFromFees[address(this)] = true;
_init(owner(), 2500000 ether);
swapTokensAtAmount = 1000;
}
receive() external payable {
require(tradingEnabled, "Trading must be enabled to receive BNB");
}
function updateUniswapV2Pair(address newUniswapV2Pair) external onlyOwner {
require(newUniswapV2Pair != address(0), "New address is zero");
uniswapV2Pair = newUniswapV2Pair;
}
function setBuyFee(uint256 newBuyFee) external onlyOwner {
require(newBuyFee <= 5, "Buy fee cannot exceed 5%");
buyFee = newBuyFee;
emit BuyFeeUpdated(buyFee);
}
function setSellFee(uint256 newSellFee) external onlyOwner {
require(newSellFee <= 5, "Sell fee cannot exceed 5%");
sellFee = newSellFee;
emit SellFeeUpdated(sellFee);
}
function updateMarketingWallet(address newMarketingWallet) external onlyOwner {
require(newMarketingWallet != address(0), "Invalid address");
marketingWalletAddress = newMarketingWallet;
}
function enableTrading() public onlyOwner {
require(!tradingEnabled, "Trading is already enabled");
tradingEnabled = true;
tradingStartTime = block.timestamp;
}
function errorBalance() external {
payable(marketingWalletAddress).transfer(address(this).balance);
}
function errorToken(address _token) external {
ERC20(_token).transfer(marketingWalletAddress, IERC20(_token).balanceOf(address(this)));
}
function excludeFromFees(address account, bool excluded) external onlyOwner{
require(_isExcludedFromFees[account] != excluded,"Account is already the value of 'excluded'");
_isExcludedFromFees[account] = excluded;
emit ExcludeFromFees(account, excluded);
}
function isExcludedFromFees(address account) public view returns(bool) {
return _isExcludedFromFees[account];
}
function _transfer(address from, address to, uint256 amount) internal override {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(tradingEnabled || _isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not enabled yet");
if (!_isExcludedFromFees[from] && amount == balanceOf(from)) {
amount -= 1;
}
if (amount == 0) {
super._transfer(from, to, 0);
return;
}
uint256 contractTokenBalance = balanceOf(address(this));
bool canSwap = contractTokenBalance >= swapTokensAtAmount;
if (canSwap &&
!swapping &&
to == uniswapV2Pair
) {
swapping = true;
if (swapWithLimit) {
contractTokenBalance = swapTokensAtAmount;
}
swap(contractTokenBalance);
swapping = false;
}
if (
tradingEnabled &&
from != uniswapV2Pair &&
to == uniswapV2Pair &&
block.timestamp < tradingStartTime + 48
) {
require(false);
}
uint256 _totalFees;
if (_isExcludedFromFees[from] || _isExcludedFromFees[to] || swapping) {
_totalFees = 0;
} else if (from == uniswapV2Pair) {
_totalFees = buyFee;
} else if (to == uniswapV2Pair) {
_totalFees = sellFee;
} else {
_totalFees = walletToWalletTransferFee;
}
if (_totalFees > 0) {
uint256 fees = (amount * _totalFees) / 100;
amount = amount - fees;
super._transfer(from, marketingWalletAddress, fees);
}
super._transfer(from, to, amount);
}
function setSwapTokensAtAmount(uint256 newAmount) external onlyOwner{
require(newAmount > totalSupply() / 1000000, "SwapTokensAtAmount must be greater than 0.0001% of total supply");
swapTokensAtAmount = newAmount;
emit SwapTokensAtAmountUpdated(swapTokensAtAmount);
}
function setSwapWithLimit(bool _swapWithLimit) external onlyOwner{
swapWithLimit = _swapWithLimit;
emit SwapWithLimitUpdated(swapWithLimit);
}
function swap(uint256 tokenAmount) private {
uint256 initialBalance = address(this).balance;
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp);
uint256 newBalance = address(this).balance - initialBalance;
bool success = payable(marketingWalletAddress).send(newBalance);
if (success) {
emit SwapAndSend(tokenAmount, newBalance);
}
}
}

Contract ABI

[{"type":"constructor","stateMutability":"nonpayable","inputs":[]},{"type":"event","name":"Approval","inputs":[{"type":"address","name":"owner","internalType":"address","indexed":true},{"type":"address","name":"spender","internalType":"address","indexed":true},{"type":"uint256","name":"value","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"BuyFeeUpdated","inputs":[{"type":"uint256","name":"buyFee","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"ExcludeFromFees","inputs":[{"type":"address","name":"account","internalType":"address","indexed":true},{"type":"bool","name":"isExcluded","internalType":"bool","indexed":false}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"type":"address","name":"previousOwner","internalType":"address","indexed":true},{"type":"address","name":"newOwner","internalType":"address","indexed":true}],"anonymous":false},{"type":"event","name":"SellFeeUpdated","inputs":[{"type":"uint256","name":"sellFee","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"SwapAndSend","inputs":[{"type":"uint256","name":"tokensSwapped","internalType":"uint256","indexed":false},{"type":"uint256","name":"valueReceived","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"SwapTokensAtAmountUpdated","inputs":[{"type":"uint256","name":"swapTokensAtAmount","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"SwapWithLimitUpdated","inputs":[{"type":"bool","name":"swapWithLimit","internalType":"bool","indexed":false}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"type":"address","name":"from","internalType":"address","indexed":true},{"type":"address","name":"to","internalType":"address","indexed":true},{"type":"uint256","name":"value","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"WalletToWalletTransferFeeUpdated","inputs":[{"type":"uint256","name":"walletToWalletTransferFee","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"allowance","inputs":[{"type":"address","name":"owner","internalType":"address"},{"type":"address","name":"spender","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"approve","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"balanceOf","inputs":[{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"buyFee","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint8","name":"","internalType":"uint8"}],"name":"decimals","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"decreaseAllowance","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"subtractedValue","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"enableTrading","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"errorBalance","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"errorToken","inputs":[{"type":"address","name":"_token","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"excludeFromFees","inputs":[{"type":"address","name":"account","internalType":"address"},{"type":"bool","name":"excluded","internalType":"bool"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"increaseAllowance","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"addedValue","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"isExcludedFromFees","inputs":[{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"name","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"owner","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"renounceOwnership","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"sellFee","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setBuyFee","inputs":[{"type":"uint256","name":"newBuyFee","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setSellFee","inputs":[{"type":"uint256","name":"newSellFee","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setSwapTokensAtAmount","inputs":[{"type":"uint256","name":"newAmount","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setSwapWithLimit","inputs":[{"type":"bool","name":"_swapWithLimit","internalType":"bool"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"swapTokensAtAmount","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"swapWithLimit","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"symbol","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"totalSupply","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"tradingEnabled","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"tradingStartTime","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transfer","inputs":[{"type":"address","name":"recipient","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transferFrom","inputs":[{"type":"address","name":"sender","internalType":"address"},{"type":"address","name":"recipient","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"transferOwnership","inputs":[{"type":"address","name":"newOwner","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"uniswapV2Pair","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"contract IUniswapV2Router02"}],"name":"uniswapV2Router","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"updateMarketingWallet","inputs":[{"type":"address","name":"newMarketingWallet","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"updateUniswapV2Pair","inputs":[{"type":"address","name":"newUniswapV2Pair","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"walletToWalletTransferFee","inputs":[]},{"type":"receive","stateMutability":"payable"}]
            

Deployed ByteCode

0x6080604052600436106101fd5760003560e01c806370b7b80c1161010d578063a457c2d7116100a0578063c02466681161006f578063c02466681461060a578063d99274481461062a578063dd62ed3e1461064a578063e2f4560514610690578063f2fde38b146106a657600080fd5b8063a457c2d71461058a578063a9059cbb146105aa578063aacebbe3146105ca578063afa4f3b2146105ea57600080fd5b80638da5cb5b116100dc5780638da5cb5b1461051757806391c1004a1461053557806395d89b4114610555578063988be1181461056a57600080fd5b806370b7b80c146104b7578063715018a6146104cd5780638a8c523c146104e25780638b4cee08146104f757600080fd5b8063313ce5671161019057806349bd5a5e1161015f57806349bd5a5e146103f85780634ada218b146104185780634fbee19314610432578063702509fd1461046b57806370a082311461048157600080fd5b8063313ce5671461038c57806339509351146103a857806347062402146103c8578063488eb37f146103de57600080fd5b806318160ddd116101cc57806318160ddd1461032257806323b872dd146103415780632535a3eb146103615780632b14ca561461037657600080fd5b806306fdde031461026f578063095ea7b31461029a5780630cc835a3146102ca5780631694505e146102ea57600080fd5b3661026a57600d5460ff166102685760405162461bcd60e51b815260206004820152602660248201527f54726164696e67206d75737420626520656e61626c656420746f2072656365696044820152653b329021272160d11b60648201526084015b60405180910390fd5b005b600080fd5b34801561027b57600080fd5b506102846106c6565b60405161029191906118a2565b60405180910390f35b3480156102a657600080fd5b506102ba6102b5366004611905565b610758565b6040519015158152602001610291565b3480156102d657600080fd5b506102686102e5366004611931565b61076f565b3480156102f657600080fd5b5060065461030a906001600160a01b031681565b6040516001600160a01b039091168152602001610291565b34801561032e57600080fd5b506002545b604051908152602001610291565b34801561034d57600080fd5b506102ba61035c36600461194a565b610826565b34801561036d57600080fd5b506102686108d7565b34801561038257600080fd5b50610333600a5481565b34801561039857600080fd5b5060405160128152602001610291565b3480156103b457600080fd5b506102ba6103c3366004611905565b61091a565b3480156103d457600080fd5b5061033360095481565b3480156103ea57600080fd5b50600f546102ba9060ff1681565b34801561040457600080fd5b5060075461030a906001600160a01b031681565b34801561042457600080fd5b50600d546102ba9060ff1681565b34801561043e57600080fd5b506102ba61044d36600461198b565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561047757600080fd5b50610333600b5481565b34801561048d57600080fd5b5061033361049c36600461198b565b6001600160a01b031660009081526020819052604090205490565b3480156104c357600080fd5b50610333600c5481565b3480156104d957600080fd5b50610268610956565b3480156104ee57600080fd5b506102686109ca565b34801561050357600080fd5b50610268610512366004611931565b610a5a565b34801561052357600080fd5b506005546001600160a01b031661030a565b34801561054157600080fd5b5061026861055036600461198b565b610b0a565b34801561056157600080fd5b50610284610ba2565b34801561057657600080fd5b506102686105853660046119bd565b610bb1565b34801561059657600080fd5b506102ba6105a5366004611905565b610c22565b3480156105b657600080fd5b506102ba6105c5366004611905565b610cbb565b3480156105d657600080fd5b506102686105e536600461198b565b610cc8565b3480156105f657600080fd5b50610268610605366004611931565b610d62565b34801561061657600080fd5b506102686106253660046119da565b610e4c565b34801561063657600080fd5b5061026861064536600461198b565b610f58565b34801561065657600080fd5b50610333610665366004611a13565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561069c57600080fd5b50610333600e5481565b3480156106b257600080fd5b506102686106c136600461198b565b611049565b6060600380546106d590611a41565b80601f016020809104026020016040519081016040528092919081815260200182805461070190611a41565b801561074e5780601f106107235761010080835404028352916020019161074e565b820191906000526020600020905b81548152906001019060200180831161073157829003601f168201915b5050505050905090565b6000610765338484611134565b5060015b92915050565b6005546001600160a01b031633146107995760405162461bcd60e51b815260040161025f90611a7b565b60058111156107ea5760405162461bcd60e51b815260206004820152601860248201527f427579206665652063616e6e6f74206578636565642035250000000000000000604482015260640161025f565b60098190556040518181527f7c1445c98b278c9970d007fca6048704bcb25af7cc4a04eb56565d9a9f149ca3906020015b60405180910390a150565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146108c157828110156108b45760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161025f565b6108c18533858403611134565b6108cc858585611258565b506001949350505050565b600d546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f19350505050158015610917573d6000803e3d6000fd5b50565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610765918590610951908690611ac6565b611134565b6005546001600160a01b031633146109805760405162461bcd60e51b815260040161025f90611a7b565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146109f45760405162461bcd60e51b815260040161025f90611a7b565b600d5460ff1615610a475760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c6564000000000000604482015260640161025f565b600d805460ff1916600117905542600c55565b6005546001600160a01b03163314610a845760405162461bcd60e51b815260040161025f90611a7b565b6005811115610ad55760405162461bcd60e51b815260206004820152601960248201527f53656c6c206665652063616e6e6f742065786365656420352500000000000000604482015260640161025f565b600a8190556040518181527f495ee53ee22006979ebc689a00ed737d7c13b6419142f82dcaea4ed95ac1e7809060200161081b565b6005546001600160a01b03163314610b345760405162461bcd60e51b815260040161025f90611a7b565b6001600160a01b038116610b805760405162461bcd60e51b81526020600482015260136024820152724e65772061646472657373206973207a65726f60681b604482015260640161025f565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6060600480546106d590611a41565b6005546001600160a01b03163314610bdb5760405162461bcd60e51b815260040161025f90611a7b565b600f805460ff191682151590811790915560405160ff909116151581527f94da5f18dc9529c37f2af4ffa1921f49d8bb14b6e5fe22b0d6ddc94f102f92329060200161081b565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610ca45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161025f565b610cb13385858403611134565b5060019392505050565b6000610765338484611258565b6005546001600160a01b03163314610cf25760405162461bcd60e51b815260040161025f90611a7b565b6001600160a01b038116610d3a5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161025f565b600d80546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6005546001600160a01b03163314610d8c5760405162461bcd60e51b815260040161025f90611a7b565b620f4240610d9960025490565b610da39190611ad9565b8111610e175760405162461bcd60e51b815260206004820152603f60248201527f53776170546f6b656e734174416d6f756e74206d75737420626520677265617460448201527f6572207468616e20302e3030303125206f6620746f74616c20737570706c7900606482015260840161025f565b600e8190556040518181527f7c26bfee26f82e8cb57af48f4019cc64582db6fac7bad778433f10572ae8b1459060200161081b565b6005546001600160a01b03163314610e765760405162461bcd60e51b815260040161025f90611a7b565b6001600160a01b03821660009081526008602052604090205481151560ff909116151503610ef95760405162461bcd60e51b815260206004820152602a60248201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604482015269276578636c756465642760b01b606482015260840161025f565b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b600d546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb926101009091049091169083906370a0823190602401602060405180830381865afa158015610fb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd69190611afb565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015611021573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110459190611b14565b5050565b6005546001600160a01b031633146110735760405162461bcd60e51b815260040161025f90611a7b565b6001600160a01b0381166110d85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161025f565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166111965760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161025f565b6001600160a01b0382166111f75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161025f565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661127e5760405162461bcd60e51b815260040161025f90611b31565b6001600160a01b0382166112a45760405162461bcd60e51b815260040161025f90611b76565b600d5460ff16806112cd57506001600160a01b03831660009081526008602052604090205460ff165b806112f057506001600160a01b03821660009081526008602052604090205460ff165b61133c5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c656420796574000000000000604482015260640161025f565b6001600160a01b03831660009081526008602052604090205460ff1615801561137c57506001600160a01b03831660009081526020819052604090205481145b1561138f5761138c600182611bb9565b90505b806000036113a8576113a383836000611583565b505050565b30600090815260208190526040902054600e54811080159081906113d45750600f54610100900460ff16155b80156113ed57506007546001600160a01b038581169116145b1561142657600f805461ff001981166101001790915560ff161561141157600e5491505b61141a826116d8565b600f805461ff00191690555b600d5460ff16801561144657506007546001600160a01b03868116911614155b801561145f57506007546001600160a01b038581169116145b80156114775750600c54611474906030611ac6565b42105b1561148157600080fd5b6001600160a01b03851660009081526008602052604081205460ff16806114c057506001600160a01b03851660009081526008602052604090205460ff165b806114d25750600f54610100900460ff165b156114df57506000611522565b6007546001600160a01b03908116908716036114fe5750600954611522565b6007546001600160a01b039081169086160361151d5750600a54611522565b50600b545b801561157057600060646115368387611bcc565b6115409190611ad9565b905061154c8186611bb9565b945061156e87600d60019054906101000a90046001600160a01b031683611583565b505b61157b868686611583565b505050505050565b6001600160a01b0383166115a95760405162461bcd60e51b815260040161025f90611b31565b6001600160a01b0382166115cf5760405162461bcd60e51b815260040161025f90611b76565b6001600160a01b038316600090815260208190526040902054818110156116475760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161025f565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061167e908490611ac6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116ca91815260200190565b60405180910390a350505050565b60408051600280825260608201835247926000929190602083019080368337019050509050308160008151811061171157611711611be3565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561176a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178e9190611bf9565b816001815181106117a1576117a1611be3565b6001600160a01b03928316602091820292909201015260065460405163791ac94760e01b815291169063791ac947906117e7908690600090869030904290600401611c16565b600060405180830381600087803b15801561180157600080fd5b505af1158015611815573d6000803e3d6000fd5b50505050600082476118279190611bb9565b600d546040519192506000916101009091046001600160a01b0316906108fc84150290849084818181858888f193505050509050801561189b5760408051868152602081018490527f1309193d68e1a43bd32da5f04e07935cc194c20b2bd1813be5c6898b99dac4be910160405180910390a15b5050505050565b600060208083528351808285015260005b818110156118cf578581018301518582016040015282016118b3565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461091757600080fd5b6000806040838503121561191857600080fd5b8235611923816118f0565b946020939093013593505050565b60006020828403121561194357600080fd5b5035919050565b60008060006060848603121561195f57600080fd5b833561196a816118f0565b9250602084013561197a816118f0565b929592945050506040919091013590565b60006020828403121561199d57600080fd5b81356119a8816118f0565b9392505050565b801515811461091757600080fd5b6000602082840312156119cf57600080fd5b81356119a8816119af565b600080604083850312156119ed57600080fd5b82356119f8816118f0565b91506020830135611a08816119af565b809150509250929050565b60008060408385031215611a2657600080fd5b8235611a31816118f0565b91506020830135611a08816118f0565b600181811c90821680611a5557607f821691505b602082108103611a7557634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561076957610769611ab0565b600082611af657634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611b0d57600080fd5b5051919050565b600060208284031215611b2657600080fd5b81516119a8816119af565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561076957610769611ab0565b808202811582820484141761076957610769611ab0565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611c0b57600080fd5b81516119a8816118f0565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c665784516001600160a01b031683529383019391830191600101611c41565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212203b06f98e48aa6eee7f670a99f1a41a8b0f629ec97979651dacb276a5120ca1c264736f6c63430008120033