Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
MEME
Overview
Max Total Supply
1,000,000,000 FRINK
Holders
285 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,127,000.019627665452732677 FRINKValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
FrinkToken
Compiler Version
v0.8.12+commit.f00d7308
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
import "hardhat/console.sol"; //SPDX-License-Identifier: MIT pragma solidity ^0.8.7; 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; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } 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) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } } /** * BEP20 standard interface. */ interface IBEP20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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 ); } /** * Allows for contract ownership along with multi-address authorization */ abstract contract Auth { address internal owner; mapping(address => bool) internal authorizations; constructor(address _owner) { owner = _owner; authorizations[_owner] = true; } /** * Function modifier to require caller to be contract owner */ modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } /** * Function modifier to require caller to be authorized */ modifier authorized() { require(isAuthorized(msg.sender), "!AUTHORIZED"); _; } /** * Authorize address. Owner only */ function authorize(address adr) public onlyOwner { authorizations[adr] = true; } /** * Remove address' authorization. Owner only */ function unauthorize(address adr) public onlyOwner { authorizations[adr] = false; } /** * Check if address is owner */ function isOwner(address account) public view returns (bool) { return account == owner; } /** * Return address' authorization status */ function isAuthorized(address adr) public view returns (bool) { return authorizations[adr]; } /** * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized */ function transferOwnership(address payable adr) public onlyOwner { owner = adr; authorizations[adr] = true; emit OwnershipTransferred(adr); } event OwnershipTransferred(address owner); } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { 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 swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract FrinkToken is IBEP20, Auth { using SafeMath for uint256; address USDT; address WETH; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; string constant _name = "FrinkCoin"; string constant _symbol = "FRINK"; uint8 constant _decimals = 18; uint256 _totalSupply = 1000000000 * (10**_decimals); uint256 public _maxTxAmount = _totalSupply / 200; mapping(address => uint256) _balances; mapping(address => mapping(address => uint256)) _allowances; uint256 public maxWalletLimit = _totalSupply/50; uint16 public AUTOMATION_FEE=10; address AutomateWallet = 0xF1BC72cC7b8c9B711b46d2D1A2cE131c5F167772; address public LotteryWalletDaily = payable(address(this)); address public LotteryWalletWeekly = payable(address(this)); address[] public WeeklyList; address[] public DailyList; uint256 public day = 1 days; uint256 public week = 7 days; mapping(address => bool) public inDailyList; mapping(address => bool) public inWeeklyList; mapping(address => uint256) public tokenHoldTime; mapping(address => bool) isFeeExempt; mapping(address => bool) isTxLimitExempt; uint256 liquidityFee = 200; uint256 totalFee = 200; uint256 feeDenominator = 10000; IDEXRouter public router; address public pair; uint256 public launchedAt; uint96 public TOKEN_THRESHOLD; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply / 200000; // 0.005% bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor(address usdtAddress, address routerA) Auth(msg.sender) { router = IDEXRouter(routerA); WETH = router.WETH(); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); _allowances[address(this)][address(router)] = uint256( 2500000000 * 10**_decimals ); USDT = usdtAddress; isFeeExempt[msg.sender] = true; isTxLimitExempt[msg.sender] = true; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable {} function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function changeLotteryAddress(address _LotteryWalletDaily, address _LotteryWalletWeekly)public onlyOwner{ LotteryWalletWeekly = _LotteryWalletWeekly; LotteryWalletDaily = _LotteryWalletDaily; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, uint256(2500000000 * 10**_decimals)); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom( address sender, address recipient, uint256 amount ) external override returns (bool) { if ( _allowances[sender][msg.sender] != uint256(2500000000 * 10**_decimals) ) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender] .sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function getDailyList() public view returns (address[] memory) { return DailyList; } function getWeeklyList() public view returns (address[] memory) { return WeeklyList; } function isWeeklyReady(address addr) internal view returns (bool) { return ((block.timestamp - tokenHoldTime[addr]) >= week && balanceOf(addr) >= 10 * 10**_decimals); } function isDailyReady(address addr) internal view returns (bool) { return ((block.timestamp - tokenHoldTime[addr]) >= day && balanceOf(addr) >= TOKEN_THRESHOLD * 10**_decimals); } function filterDailyList() external { for (uint256 index = 0; index < DailyList.length; index++) { if ( inDailyList[DailyList[index]] && !isDailyReady(DailyList[index]) ) { if (index >= DailyList.length) return; for (uint256 i = index; i < DailyList.length - 1; i++) { DailyList[i] = DailyList[i + 1]; } DailyList.pop(); inDailyList[DailyList[index]] = false; } if (!isDailyReady(DailyList[index])) { for (uint256 i = index; i < DailyList.length - 1; i++) { DailyList[i] = DailyList[i + 1]; } DailyList.pop(); } } } function updateMaxWalletlimit(uint256 amount) external onlyOwner{ maxWalletLimit = amount * 10**_decimals; } function filterWeeklyList() external { for (uint256 index = 0; index < WeeklyList.length; index++) { if ( inWeeklyList[WeeklyList[index]] && !(isWeeklyReady(WeeklyList[index])) ) { if (index >= WeeklyList.length) return; inWeeklyList[WeeklyList[index]] = false; for (uint256 i = index; i < WeeklyList.length - 1; i++) { WeeklyList[i] = WeeklyList[i + 1]; } WeeklyList.pop(); } if (!isWeeklyReady(WeeklyList[index])) { for (uint256 i = index; i < WeeklyList.length - 1; i++) { WeeklyList[i] = WeeklyList[i + 1]; } WeeklyList.pop(); } } } function _transferFrom( address sender, address recipient, uint256 amount ) internal returns (bool) { if (inDailyList[sender]) { if (balanceOf(sender) - amount <= TOKEN_THRESHOLD * 10**_decimals) { inDailyList[sender] = false; tokenHoldTime[sender] = 0; } } if (inWeeklyList[sender]) { if (balanceOf(sender) - amount <= TOKEN_THRESHOLD * 10**_decimals) { inWeeklyList[sender] = false; tokenHoldTime[sender] = 0; } } if ( !inDailyList[sender] && tokenHoldTime[sender] != 0 && isDailyReady(sender) ) { inDailyList[sender] = true; DailyList.push(sender); } if ( !inDailyList[recipient] && tokenHoldTime[recipient] != 0 && isDailyReady(recipient) ) { inDailyList[recipient] = true; DailyList.push(recipient); } if ( !inWeeklyList[sender] && tokenHoldTime[sender] != 0 && isWeeklyReady(sender) ) { inWeeklyList[sender] = true; WeeklyList.push(sender); } if ( !inWeeklyList[recipient] && tokenHoldTime[recipient] != 0 && isWeeklyReady(recipient) ) { inWeeklyList[recipient] = true; WeeklyList.push(recipient); } if ( balanceOf(recipient) + amount >= 10 * 10**_decimals && tokenHoldTime[recipient] == 0 ) { WeeklyList.push(recipient); DailyList.push(recipient); tokenHoldTime[recipient] = block.timestamp; } if(inSwap){ return _basicTransfer(sender, recipient, amount); } checkTxLimit(sender, amount); if(shouldSwapBack()){ swapBack(); // swapTokensForUSDC(balanceOf(address(this))); } if(recipient != pair){ require(balanceOf(recipient) + amount <= maxWalletLimit, "You are exceeding max wallet limit."); } if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer( address sender, address recipient, uint256 amount ) internal returns (bool) { _balances[sender] = _balances[sender].sub( amount, "Insufficient Balance" ); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function checkTxLimit(address sender, uint256 amount) internal view { require( amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded" ); } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function getTotalFee() public view returns (uint256) { return totalFee; } function takeFee( address sender, uint256 amount ) internal returns (uint256) { uint256 feeAmount = amount.mul(getTotalFee()).div( feeDenominator ); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function swapBack() internal swapping { address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; router.swapExactTokensForETHSupportingFeeOnTransferTokens( balanceOf(address(this)) , 0, path, address(this), block.timestamp ); // address[] memory path = new address[](2); uint256 amountETH = address(this).balance.sub(address(this).balance * AUTOMATION_FEE/100); path[0] = WETH; path[1] = USDT; router.swapExactETHForTokensSupportingFeeOnTransferTokens{ value: amountETH }(0, path, address(this), block.timestamp); console.log("USDT:",IBEP20(USDT).balanceOf(address(this))); console.log("ETH:",address(this).balance); IBEP20(USDT).transfer(LotteryWalletWeekly,IBEP20(USDT).balanceOf(address(this)) /2); IBEP20(USDT).transfer(LotteryWalletDaily,IBEP20(USDT).balanceOf(address(this))); payable(AutomateWallet).transfer(address(this).balance); } function buyTokens(uint256 amount, address to) internal swapping { address[] memory path = new address[](2); path[0] = WETH; path[1] = address(this); router.swapExactETHForTokensSupportingFeeOnTransferTokens{ value: amount }(0, path, to, block.timestamp); } function launched() internal view returns (bool) { return launchedAt != 0; } function launch() internal { launchedAt = block.number; } function setTxLimit(uint256 amount) external authorized { require(amount >= _totalSupply / 1000); _maxTxAmount = amount; } function setIsFeeExempt(address holder, bool exempt) external authorized { isFeeExempt[holder] = exempt; } function setIsTxLimitExempt(address holder, bool exempt) external authorized { isTxLimitExempt[holder] = exempt; } function setFees( uint256 _liquidityFee, uint16 _AUTOMATION_FEE, uint256 _feeDenominator ) external authorized { liquidityFee = _liquidityFee; AUTOMATION_FEE = _AUTOMATION_FEE; totalFee = _liquidityFee; feeDenominator = _feeDenominator; require(totalFee < feeDenominator / 4); } function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized { swapEnabled = _enabled; swapThreshold = _amount; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function getLiquidityBacking(uint256 accuracy) public view returns (uint256) { return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply()); } event AutoLiquify(uint256 amountBNB, uint256 amountBOG); event BuybackMultiplierActive(uint256 duration); }
// SPDX-License-Identifier: MIT pragma solidity >= 0.4.22 <0.9.0; library console { address constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67); function _sendLogPayload(bytes memory payload) private view { uint256 payloadLength = payload.length; address consoleAddress = CONSOLE_ADDRESS; assembly { let payloadStart := add(payload, 32) let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0) } } function log() internal view { _sendLogPayload(abi.encodeWithSignature("log()")); } function logInt(int256 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(int256)", p0)); } function logUint(uint256 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256)", p0)); } function logString(string memory p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(string)", p0)); } function logBool(bool p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool)", p0)); } function logAddress(address p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(address)", p0)); } function logBytes(bytes memory p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes)", p0)); } function logBytes1(bytes1 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes1)", p0)); } function logBytes2(bytes2 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes2)", p0)); } function logBytes3(bytes3 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes3)", p0)); } function logBytes4(bytes4 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes4)", p0)); } function logBytes5(bytes5 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes5)", p0)); } function logBytes6(bytes6 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes6)", p0)); } function logBytes7(bytes7 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes7)", p0)); } function logBytes8(bytes8 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes8)", p0)); } function logBytes9(bytes9 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes9)", p0)); } function logBytes10(bytes10 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes10)", p0)); } function logBytes11(bytes11 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes11)", p0)); } function logBytes12(bytes12 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes12)", p0)); } function logBytes13(bytes13 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes13)", p0)); } function logBytes14(bytes14 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes14)", p0)); } function logBytes15(bytes15 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes15)", p0)); } function logBytes16(bytes16 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes16)", p0)); } function logBytes17(bytes17 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes17)", p0)); } function logBytes18(bytes18 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes18)", p0)); } function logBytes19(bytes19 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes19)", p0)); } function logBytes20(bytes20 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes20)", p0)); } function logBytes21(bytes21 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes21)", p0)); } function logBytes22(bytes22 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes22)", p0)); } function logBytes23(bytes23 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes23)", p0)); } function logBytes24(bytes24 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes24)", p0)); } function logBytes25(bytes25 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes25)", p0)); } function logBytes26(bytes26 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes26)", p0)); } function logBytes27(bytes27 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes27)", p0)); } function logBytes28(bytes28 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes28)", p0)); } function logBytes29(bytes29 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes29)", p0)); } function logBytes30(bytes30 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes30)", p0)); } function logBytes31(bytes31 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes31)", p0)); } function logBytes32(bytes32 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes32)", p0)); } function log(uint256 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256)", p0)); } function log(string memory p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(string)", p0)); } function log(bool p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool)", p0)); } function log(address p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(address)", p0)); } function log(uint256 p0, uint256 p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256)", p0, p1)); } function log(uint256 p0, string memory p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string)", p0, p1)); } function log(uint256 p0, bool p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool)", p0, p1)); } function log(uint256 p0, address p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address)", p0, p1)); } function log(string memory p0, uint256 p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256)", p0, p1)); } function log(string memory p0, string memory p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string)", p0, p1)); } function log(string memory p0, bool p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool)", p0, p1)); } function log(string memory p0, address p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address)", p0, p1)); } function log(bool p0, uint256 p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256)", p0, p1)); } function log(bool p0, string memory p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string)", p0, p1)); } function log(bool p0, bool p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool)", p0, p1)); } function log(bool p0, address p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address)", p0, p1)); } function log(address p0, uint256 p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256)", p0, p1)); } function log(address p0, string memory p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string)", p0, p1)); } function log(address p0, bool p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool)", p0, p1)); } function log(address p0, address p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address)", p0, p1)); } function log(uint256 p0, uint256 p1, uint256 p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256)", p0, p1, p2)); } function log(uint256 p0, uint256 p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string)", p0, p1, p2)); } function log(uint256 p0, uint256 p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool)", p0, p1, p2)); } function log(uint256 p0, uint256 p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address)", p0, p1, p2)); } function log(uint256 p0, string memory p1, uint256 p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256)", p0, p1, p2)); } function log(uint256 p0, string memory p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,string)", p0, p1, p2)); } function log(uint256 p0, string memory p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool)", p0, p1, p2)); } function log(uint256 p0, string memory p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,address)", p0, p1, p2)); } function log(uint256 p0, bool p1, uint256 p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256)", p0, p1, p2)); } function log(uint256 p0, bool p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string)", p0, p1, p2)); } function log(uint256 p0, bool p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool)", p0, p1, p2)); } function log(uint256 p0, bool p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address)", p0, p1, p2)); } function log(uint256 p0, address p1, uint256 p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256)", p0, p1, p2)); } function log(uint256 p0, address p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,string)", p0, p1, p2)); } function log(uint256 p0, address p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool)", p0, p1, p2)); } function log(uint256 p0, address p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,address)", p0, p1, p2)); } function log(string memory p0, uint256 p1, uint256 p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256)", p0, p1, p2)); } function log(string memory p0, uint256 p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,string)", p0, p1, p2)); } function log(string memory p0, uint256 p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool)", p0, p1, p2)); } function log(string memory p0, uint256 p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,address)", p0, p1, p2)); } function log(string memory p0, string memory p1, uint256 p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,uint256)", p0, p1, p2)); } function log(string memory p0, string memory p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,string)", p0, p1, p2)); } function log(string memory p0, string memory p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,bool)", p0, p1, p2)); } function log(string memory p0, string memory p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,address)", p0, p1, p2)); } function log(string memory p0, bool p1, uint256 p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256)", p0, p1, p2)); } function log(string memory p0, bool p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,string)", p0, p1, p2)); } function log(string memory p0, bool p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool)", p0, p1, p2)); } function log(string memory p0, bool p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,address)", p0, p1, p2)); } function log(string memory p0, address p1, uint256 p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,uint256)", p0, p1, p2)); } function log(string memory p0, address p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,string)", p0, p1, p2)); } function log(string memory p0, address p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,bool)", p0, p1, p2)); } function log(string memory p0, address p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,address)", p0, p1, p2)); } function log(bool p0, uint256 p1, uint256 p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256)", p0, p1, p2)); } function log(bool p0, uint256 p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string)", p0, p1, p2)); } function log(bool p0, uint256 p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool)", p0, p1, p2)); } function log(bool p0, uint256 p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address)", p0, p1, p2)); } function log(bool p0, string memory p1, uint256 p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256)", p0, p1, p2)); } function log(bool p0, string memory p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,string)", p0, p1, p2)); } function log(bool p0, string memory p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool)", p0, p1, p2)); } function log(bool p0, string memory p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,address)", p0, p1, p2)); } function log(bool p0, bool p1, uint256 p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256)", p0, p1, p2)); } function log(bool p0, bool p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string)", p0, p1, p2)); } function log(bool p0, bool p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool)", p0, p1, p2)); } function log(bool p0, bool p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address)", p0, p1, p2)); } function log(bool p0, address p1, uint256 p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256)", p0, p1, p2)); } function log(bool p0, address p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,string)", p0, p1, p2)); } function log(bool p0, address p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool)", p0, p1, p2)); } function log(bool p0, address p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,address)", p0, p1, p2)); } function log(address p0, uint256 p1, uint256 p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256)", p0, p1, p2)); } function log(address p0, uint256 p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,string)", p0, p1, p2)); } function log(address p0, uint256 p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool)", p0, p1, p2)); } function log(address p0, uint256 p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,address)", p0, p1, p2)); } function log(address p0, string memory p1, uint256 p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,uint256)", p0, p1, p2)); } function log(address p0, string memory p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,string)", p0, p1, p2)); } function log(address p0, string memory p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,bool)", p0, p1, p2)); } function log(address p0, string memory p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,address)", p0, p1, p2)); } function log(address p0, bool p1, uint256 p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256)", p0, p1, p2)); } function log(address p0, bool p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,string)", p0, p1, p2)); } function log(address p0, bool p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool)", p0, p1, p2)); } function log(address p0, bool p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,address)", p0, p1, p2)); } function log(address p0, address p1, uint256 p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,uint256)", p0, p1, p2)); } function log(address p0, address p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,string)", p0, p1, p2)); } function log(address p0, address p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,bool)", p0, p1, p2)); } function log(address p0, address p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,address)", p0, p1, p2)); } function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,uint256)", p0, p1, p2, p3)); } function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,string)", p0, p1, p2, p3)); } function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,bool)", p0, p1, p2, p3)); } function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,address)", p0, p1, p2, p3)); } function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,uint256)", p0, p1, p2, p3)); } function log(uint256 p0, uint256 p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,string)", p0, p1, p2, p3)); } function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,bool)", p0, p1, p2, p3)); } function log(uint256 p0, uint256 p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,address)", p0, p1, p2, p3)); } function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,uint256)", p0, p1, p2, p3)); } function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,string)", p0, p1, p2, p3)); } function log(uint256 p0, uint256 p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,bool)", p0, p1, p2, p3)); } function log(uint256 p0, uint256 p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,address)", p0, p1, p2, p3)); } function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,uint256)", p0, p1, p2, p3)); } function log(uint256 p0, uint256 p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,string)", p0, p1, p2, p3)); } function log(uint256 p0, uint256 p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,bool)", p0, p1, p2, p3)); } function log(uint256 p0, uint256 p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,address)", p0, p1, p2, p3)); } function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,uint256)", p0, p1, p2, p3)); } function log(uint256 p0, string memory p1, uint256 p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,string)", p0, p1, p2, p3)); } function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,bool)", p0, p1, p2, p3)); } function log(uint256 p0, string memory p1, uint256 p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,address)", p0, p1, p2, p3)); } function log(uint256 p0, string memory p1, string memory p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,uint256)", p0, p1, p2, p3)); } function log(uint256 p0, string memory p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,string)", p0, p1, p2, p3)); } function log(uint256 p0, string memory p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,bool)", p0, p1, p2, p3)); } function log(uint256 p0, string memory p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,address)", p0, p1, p2, p3)); } function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,uint256)", p0, p1, p2, p3)); } function log(uint256 p0, string memory p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,string)", p0, p1, p2, p3)); } function log(uint256 p0, string memory p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,bool)", p0, p1, p2, p3)); } function log(uint256 p0, string memory p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,address)", p0, p1, p2, p3)); } function log(uint256 p0, string memory p1, address p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,uint256)", p0, p1, p2, p3)); } function log(uint256 p0, string memory p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,string)", p0, p1, p2, p3)); } function log(uint256 p0, string memory p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,bool)", p0, p1, p2, p3)); } function log(uint256 p0, string memory p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,address)", p0, p1, p2, p3)); } function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,uint256)", p0, p1, p2, p3)); } function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,string)", p0, p1, p2, p3)); } function log(uint256 p0, bool p1, uint256 p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,bool)", p0, p1, p2, p3)); } function log(uint256 p0, bool p1, uint256 p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,address)", p0, p1, p2, p3)); } function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,uint256)", p0, p1, p2, p3)); } function log(uint256 p0, bool p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,string)", p0, p1, p2, p3)); } function log(uint256 p0, bool p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,bool)", p0, p1, p2, p3)); } function log(uint256 p0, bool p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,address)", p0, p1, p2, p3)); } function log(uint256 p0, bool p1, bool p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,uint256)", p0, p1, p2, p3)); } function log(uint256 p0, bool p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,string)", p0, p1, p2, p3)); } function log(uint256 p0, bool p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,bool)", p0, p1, p2, p3)); } function log(uint256 p0, bool p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,address)", p0, p1, p2, p3)); } function log(uint256 p0, bool p1, address p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,uint256)", p0, p1, p2, p3)); } function log(uint256 p0, bool p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,string)", p0, p1, p2, p3)); } function log(uint256 p0, bool p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,bool)", p0, p1, p2, p3)); } function log(uint256 p0, bool p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,address)", p0, p1, p2, p3)); } function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,uint256)", p0, p1, p2, p3)); } function log(uint256 p0, address p1, uint256 p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,string)", p0, p1, p2, p3)); } function log(uint256 p0, address p1, uint256 p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,bool)", p0, p1, p2, p3)); } function log(uint256 p0, address p1, uint256 p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,address)", p0, p1, p2, p3)); } function log(uint256 p0, address p1, string memory p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,uint256)", p0, p1, p2, p3)); } function log(uint256 p0, address p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,string)", p0, p1, p2, p3)); } function log(uint256 p0, address p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,bool)", p0, p1, p2, p3)); } function log(uint256 p0, address p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,address)", p0, p1, p2, p3)); } function log(uint256 p0, address p1, bool p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,uint256)", p0, p1, p2, p3)); } function log(uint256 p0, address p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,string)", p0, p1, p2, p3)); } function log(uint256 p0, address p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,bool)", p0, p1, p2, p3)); } function log(uint256 p0, address p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,address)", p0, p1, p2, p3)); } function log(uint256 p0, address p1, address p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,uint256)", p0, p1, p2, p3)); } function log(uint256 p0, address p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,string)", p0, p1, p2, p3)); } function log(uint256 p0, address p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,bool)", p0, p1, p2, p3)); } function log(uint256 p0, address p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,address)", p0, p1, p2, p3)); } function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,uint256)", p0, p1, p2, p3)); } function log(string memory p0, uint256 p1, uint256 p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,string)", p0, p1, p2, p3)); } function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,bool)", p0, p1, p2, p3)); } function log(string memory p0, uint256 p1, uint256 p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,address)", p0, p1, p2, p3)); } function log(string memory p0, uint256 p1, string memory p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,uint256)", p0, p1, p2, p3)); } function log(string memory p0, uint256 p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,string)", p0, p1, p2, p3)); } function log(string memory p0, uint256 p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,bool)", p0, p1, p2, p3)); } function log(string memory p0, uint256 p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,address)", p0, p1, p2, p3)); } function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,uint256)", p0, p1, p2, p3)); } function log(string memory p0, uint256 p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,string)", p0, p1, p2, p3)); } function log(string memory p0, uint256 p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,bool)", p0, p1, p2, p3)); } function log(string memory p0, uint256 p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,address)", p0, p1, p2, p3)); } function log(string memory p0, uint256 p1, address p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,uint256)", p0, p1, p2, p3)); } function log(string memory p0, uint256 p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,string)", p0, p1, p2, p3)); } function log(string memory p0, uint256 p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,bool)", p0, p1, p2, p3)); } function log(string memory p0, uint256 p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,address)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, uint256 p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,uint256)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, uint256 p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,string)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, uint256 p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,bool)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, uint256 p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,address)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, string memory p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,string,uint256)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,string,string)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,string,bool)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,string,address)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, bool p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,bool,uint256)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,bool,string)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,bool,bool)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,bool,address)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, address p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,address,uint256)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,address,string)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,address,bool)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,address,address)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,uint256)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, uint256 p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,string)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, uint256 p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,bool)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, uint256 p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,address)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, string memory p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,string,uint256)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,string,string)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,string,bool)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,string,address)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, bool p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,uint256)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,string)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,bool)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,address)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, address p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,address,uint256)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,address,string)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,address,bool)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,address,address)", p0, p1, p2, p3)); } function log(string memory p0, address p1, uint256 p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,uint256)", p0, p1, p2, p3)); } function log(string memory p0, address p1, uint256 p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,string)", p0, p1, p2, p3)); } function log(string memory p0, address p1, uint256 p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,bool)", p0, p1, p2, p3)); } function log(string memory p0, address p1, uint256 p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,address)", p0, p1, p2, p3)); } function log(string memory p0, address p1, string memory p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,string,uint256)", p0, p1, p2, p3)); } function log(string memory p0, address p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,string,string)", p0, p1, p2, p3)); } function log(string memory p0, address p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,string,bool)", p0, p1, p2, p3)); } function log(string memory p0, address p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,string,address)", p0, p1, p2, p3)); } function log(string memory p0, address p1, bool p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,bool,uint256)", p0, p1, p2, p3)); } function log(string memory p0, address p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,bool,string)", p0, p1, p2, p3)); } function log(string memory p0, address p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,bool,bool)", p0, p1, p2, p3)); } function log(string memory p0, address p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,bool,address)", p0, p1, p2, p3)); } function log(string memory p0, address p1, address p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,address,uint256)", p0, p1, p2, p3)); } function log(string memory p0, address p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,address,string)", p0, p1, p2, p3)); } function log(string memory p0, address p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,address,bool)", p0, p1, p2, p3)); } function log(string memory p0, address p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,address,address)", p0, p1, p2, p3)); } function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,uint256)", p0, p1, p2, p3)); } function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,string)", p0, p1, p2, p3)); } function log(bool p0, uint256 p1, uint256 p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,bool)", p0, p1, p2, p3)); } function log(bool p0, uint256 p1, uint256 p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,address)", p0, p1, p2, p3)); } function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,uint256)", p0, p1, p2, p3)); } function log(bool p0, uint256 p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,string)", p0, p1, p2, p3)); } function log(bool p0, uint256 p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,bool)", p0, p1, p2, p3)); } function log(bool p0, uint256 p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,address)", p0, p1, p2, p3)); } function log(bool p0, uint256 p1, bool p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,uint256)", p0, p1, p2, p3)); } function log(bool p0, uint256 p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,string)", p0, p1, p2, p3)); } function log(bool p0, uint256 p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,bool)", p0, p1, p2, p3)); } function log(bool p0, uint256 p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,address)", p0, p1, p2, p3)); } function log(bool p0, uint256 p1, address p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,uint256)", p0, p1, p2, p3)); } function log(bool p0, uint256 p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,string)", p0, p1, p2, p3)); } function log(bool p0, uint256 p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,bool)", p0, p1, p2, p3)); } function log(bool p0, uint256 p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,address)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,uint256)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, uint256 p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,string)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, uint256 p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,bool)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, uint256 p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,address)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, string memory p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,string,uint256)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,string,string)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,string,bool)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,string,address)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, bool p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,uint256)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,string)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,bool)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,address)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, address p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,address,uint256)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,address,string)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,address,bool)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,address,address)", p0, p1, p2, p3)); } function log(bool p0, bool p1, uint256 p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,uint256)", p0, p1, p2, p3)); } function log(bool p0, bool p1, uint256 p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,string)", p0, p1, p2, p3)); } function log(bool p0, bool p1, uint256 p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,bool)", p0, p1, p2, p3)); } function log(bool p0, bool p1, uint256 p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,address)", p0, p1, p2, p3)); } function log(bool p0, bool p1, string memory p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,uint256)", p0, p1, p2, p3)); } function log(bool p0, bool p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,string)", p0, p1, p2, p3)); } function log(bool p0, bool p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,bool)", p0, p1, p2, p3)); } function log(bool p0, bool p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,address)", p0, p1, p2, p3)); } function log(bool p0, bool p1, bool p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,uint256)", p0, p1, p2, p3)); } function log(bool p0, bool p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,string)", p0, p1, p2, p3)); } function log(bool p0, bool p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,bool)", p0, p1, p2, p3)); } function log(bool p0, bool p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,address)", p0, p1, p2, p3)); } function log(bool p0, bool p1, address p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,uint256)", p0, p1, p2, p3)); } function log(bool p0, bool p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,string)", p0, p1, p2, p3)); } function log(bool p0, bool p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,bool)", p0, p1, p2, p3)); } function log(bool p0, bool p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,address)", p0, p1, p2, p3)); } function log(bool p0, address p1, uint256 p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,uint256)", p0, p1, p2, p3)); } function log(bool p0, address p1, uint256 p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,string)", p0, p1, p2, p3)); } function log(bool p0, address p1, uint256 p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,bool)", p0, p1, p2, p3)); } function log(bool p0, address p1, uint256 p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,address)", p0, p1, p2, p3)); } function log(bool p0, address p1, string memory p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,string,uint256)", p0, p1, p2, p3)); } function log(bool p0, address p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,string,string)", p0, p1, p2, p3)); } function log(bool p0, address p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,string,bool)", p0, p1, p2, p3)); } function log(bool p0, address p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,string,address)", p0, p1, p2, p3)); } function log(bool p0, address p1, bool p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,uint256)", p0, p1, p2, p3)); } function log(bool p0, address p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,string)", p0, p1, p2, p3)); } function log(bool p0, address p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,bool)", p0, p1, p2, p3)); } function log(bool p0, address p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,address)", p0, p1, p2, p3)); } function log(bool p0, address p1, address p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,address,uint256)", p0, p1, p2, p3)); } function log(bool p0, address p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,address,string)", p0, p1, p2, p3)); } function log(bool p0, address p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,address,bool)", p0, p1, p2, p3)); } function log(bool p0, address p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,address,address)", p0, p1, p2, p3)); } function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,uint256)", p0, p1, p2, p3)); } function log(address p0, uint256 p1, uint256 p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,string)", p0, p1, p2, p3)); } function log(address p0, uint256 p1, uint256 p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,bool)", p0, p1, p2, p3)); } function log(address p0, uint256 p1, uint256 p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,address)", p0, p1, p2, p3)); } function log(address p0, uint256 p1, string memory p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,uint256)", p0, p1, p2, p3)); } function log(address p0, uint256 p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,string)", p0, p1, p2, p3)); } function log(address p0, uint256 p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,bool)", p0, p1, p2, p3)); } function log(address p0, uint256 p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,address)", p0, p1, p2, p3)); } function log(address p0, uint256 p1, bool p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,uint256)", p0, p1, p2, p3)); } function log(address p0, uint256 p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,string)", p0, p1, p2, p3)); } function log(address p0, uint256 p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,bool)", p0, p1, p2, p3)); } function log(address p0, uint256 p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,address)", p0, p1, p2, p3)); } function log(address p0, uint256 p1, address p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,uint256)", p0, p1, p2, p3)); } function log(address p0, uint256 p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,string)", p0, p1, p2, p3)); } function log(address p0, uint256 p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,bool)", p0, p1, p2, p3)); } function log(address p0, uint256 p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,address)", p0, p1, p2, p3)); } function log(address p0, string memory p1, uint256 p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,uint256)", p0, p1, p2, p3)); } function log(address p0, string memory p1, uint256 p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,string)", p0, p1, p2, p3)); } function log(address p0, string memory p1, uint256 p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,bool)", p0, p1, p2, p3)); } function log(address p0, string memory p1, uint256 p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,address)", p0, p1, p2, p3)); } function log(address p0, string memory p1, string memory p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,string,uint256)", p0, p1, p2, p3)); } function log(address p0, string memory p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,string,string)", p0, p1, p2, p3)); } function log(address p0, string memory p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,string,bool)", p0, p1, p2, p3)); } function log(address p0, string memory p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,string,address)", p0, p1, p2, p3)); } function log(address p0, string memory p1, bool p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,bool,uint256)", p0, p1, p2, p3)); } function log(address p0, string memory p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,bool,string)", p0, p1, p2, p3)); } function log(address p0, string memory p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,bool,bool)", p0, p1, p2, p3)); } function log(address p0, string memory p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,bool,address)", p0, p1, p2, p3)); } function log(address p0, string memory p1, address p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,address,uint256)", p0, p1, p2, p3)); } function log(address p0, string memory p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,address,string)", p0, p1, p2, p3)); } function log(address p0, string memory p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,address,bool)", p0, p1, p2, p3)); } function log(address p0, string memory p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,address,address)", p0, p1, p2, p3)); } function log(address p0, bool p1, uint256 p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,uint256)", p0, p1, p2, p3)); } function log(address p0, bool p1, uint256 p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,string)", p0, p1, p2, p3)); } function log(address p0, bool p1, uint256 p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,bool)", p0, p1, p2, p3)); } function log(address p0, bool p1, uint256 p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,address)", p0, p1, p2, p3)); } function log(address p0, bool p1, string memory p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,string,uint256)", p0, p1, p2, p3)); } function log(address p0, bool p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,string,string)", p0, p1, p2, p3)); } function log(address p0, bool p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,string,bool)", p0, p1, p2, p3)); } function log(address p0, bool p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,string,address)", p0, p1, p2, p3)); } function log(address p0, bool p1, bool p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,uint256)", p0, p1, p2, p3)); } function log(address p0, bool p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,string)", p0, p1, p2, p3)); } function log(address p0, bool p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,bool)", p0, p1, p2, p3)); } function log(address p0, bool p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,address)", p0, p1, p2, p3)); } function log(address p0, bool p1, address p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,address,uint256)", p0, p1, p2, p3)); } function log(address p0, bool p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,address,string)", p0, p1, p2, p3)); } function log(address p0, bool p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,address,bool)", p0, p1, p2, p3)); } function log(address p0, bool p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,address,address)", p0, p1, p2, p3)); } function log(address p0, address p1, uint256 p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,uint256)", p0, p1, p2, p3)); } function log(address p0, address p1, uint256 p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,string)", p0, p1, p2, p3)); } function log(address p0, address p1, uint256 p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,bool)", p0, p1, p2, p3)); } function log(address p0, address p1, uint256 p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,address)", p0, p1, p2, p3)); } function log(address p0, address p1, string memory p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,string,uint256)", p0, p1, p2, p3)); } function log(address p0, address p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,string,string)", p0, p1, p2, p3)); } function log(address p0, address p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,string,bool)", p0, p1, p2, p3)); } function log(address p0, address p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,string,address)", p0, p1, p2, p3)); } function log(address p0, address p1, bool p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,bool,uint256)", p0, p1, p2, p3)); } function log(address p0, address p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,bool,string)", p0, p1, p2, p3)); } function log(address p0, address p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,bool,bool)", p0, p1, p2, p3)); } function log(address p0, address p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,bool,address)", p0, p1, p2, p3)); } function log(address p0, address p1, address p2, uint256 p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,address,uint256)", p0, p1, p2, p3)); } function log(address p0, address p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,address,string)", p0, p1, p2, p3)); } function log(address p0, address p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,address,bool)", p0, p1, p2, p3)); } function log(address p0, address p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,address,address)", p0, p1, p2, p3)); } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"usdtAddress","type":"address"},{"internalType":"address","name":"routerA","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":false,"internalType":"uint256","name":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"}],"name":"BuybackMultiplierActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"AUTOMATION_FEE","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"DailyList","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LotteryWalletDaily","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LotteryWalletWeekly","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN_THRESHOLD","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"WeeklyList","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_LotteryWalletDaily","type":"address"},{"internalType":"address","name":"_LotteryWalletWeekly","type":"address"}],"name":"changeLotteryAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"day","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"filterDailyList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"filterWeeklyList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDailyList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWeeklyList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"inDailyList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"inWeeklyList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint16","name":"_AUTOMATION_FEE","type":"uint16"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokenHoldTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateMaxWalletlimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"week","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600480546001600160a01b031990811661dead17909155600580549091169055620000326012600a620004e1565b6200004290633b9aca00620004f9565b60065560c86006546200005691906200051b565b60075560326006546200006a91906200051b565b600a55600b80546001600160b01b03191675f1bc72cc7b8c9b711b46d2d1a2ce131c5f167772000a179055600c8054306001600160a01b03199182168117909255600d805490911690911790556201518060105562093a8060115560c86017819055601855612710601955601d80546c0100000000000000000000000060ff60601b19909116179055600654620001069062030d40906200051b565b601e553480156200011657600080fd5b50604051620031163803806200311683398101604081905262000139916200055b565b600080546001600160a01b0319908116339081178355825260016020818152604093849020805460ff1916909217909155601a80546001600160a01b03861693168317905582516315ab88c960e31b81529251919263ad5c464892600480830193928290030181865afa158015620001b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001db919062000593565b600380546001600160a01b0319166001600160a01b03928316179055601a546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200023a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000260919062000593565b6003546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620002b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d8919062000593565b601b80546001600160a01b0319166001600160a01b0392909216919091179055620003066012600a620004e1565b6200031690639502f900620004f9565b306000908152600960209081526040808320601a546001600160a01b03908116855290835281842094909455600280546001600160a01b031916948716949094179093553380835260158252838320805460ff1990811660019081179092556016845285852080549091169091179055600654600883528484208190559351938452927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620005b1565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000423578160001904821115620004075762000407620003cc565b808516156200041557918102915b93841c9390800290620003e7565b509250929050565b6000826200043c57506001620004db565b816200044b57506000620004db565b81600181146200046457600281146200046f576200048f565b6001915050620004db565b60ff841115620004835762000483620003cc565b50506001821b620004db565b5060208310610133831016604e8410600b8410161715620004b4575081810a620004db565b620004c08383620003e2565b8060001904821115620004d757620004d7620003cc565b0290505b92915050565b6000620004f260ff8416836200042b565b9392505050565b6000816000190483118215151615620005165762000516620003cc565b500290565b6000826200053957634e487b7160e01b600052601260045260246000fd5b500490565b80516001600160a01b03811681146200055657600080fd5b919050565b600080604083850312156200056f57600080fd5b6200057a836200053e565b91506200058a602084016200053e565b90509250929050565b600060208284031215620005a657600080fd5b620004f2826200053e565b612b5580620005c16000396000f3fe6080604052600436106102975760003560e01c80637b76ac911161015a578063d51ed1c8116100c1578063f61ab8c71161007a578063f61ab8c714610832578063f84ba65d14610862578063f887ea4014610882578063fa08d292146108a2578063fe9fbb80146108c2578063ff6385f1146108e257600080fd5b8063d51ed1c81461074c578063d8672e511461076c578063dd62ed3e1461078c578063df20fd49146107d2578063f0b37c04146107f2578063f2fde38b1461081257600080fd5b8063a71d2f7611610113578063a71d2f76146106a1578063a8aa1b31146106b6578063a9059cbb146106d6578063b6a5d7de146106f6578063bc2ca21914610716578063bf56b3711461073657600080fd5b80637b76ac91146105f45780637d1db4a51461060a578063893d20e8146106205780638ca1eaf61461063e57806395d89b411461065e578063965afe9b1461068c57600080fd5b8063313ce567116101fe578063658d4b7f116101b7578063658d4b7f1461053857806366a88d9614610558578063699d73b11461056e5780636ddd17131461059e57806370a08231146105bf5780637ae316d0146105df57600080fd5b8063313ce567146104865780634995b458146104a257806356382dc2146104b8578063571ac8b0146104d85780635c85974f146104f8578063629691bf1461051857600080fd5b80631b3c03fe116102505780631b3c03fe146103a657806323b872dd146103bd57806328654a13146103dd5780632b112e491461040a5780632f3a5d281461041f5780632f54bf6e1461045757600080fd5b80630322517a146102a35780630445b667146102e057806306fdde0314610304578063095ea7b31461033f57806318160ddd1461036f5780631a91e6591461038457600080fd5b3661029e57005b600080fd5b3480156102af57600080fd5b50600c546102c3906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102ec57600080fd5b506102f6601e5481565b6040519081526020016102d7565b34801561031057600080fd5b50604080518082019091526009815268233934b735a1b7b4b760b91b60208201525b6040516102d7919061266e565b34801561034b57600080fd5b5061035f61035a366004612696565b610910565b60405190151581526020016102d7565b34801561037b57600080fd5b506006546102f6565b34801561039057600080fd5b5061039961097d565b6040516102d79190612706565b3480156103b257600080fd5b506103bb6109df565b005b3480156103c957600080fd5b5061035f6103d8366004612719565b610c93565b3480156103e957600080fd5b506102f66103f836600461275a565b60146020526000908152604090205481565b34801561041657600080fd5b506102f6610d6e565b34801561042b57600080fd5b50601d5461043f906001600160601b031681565b6040516001600160601b0390911681526020016102d7565b34801561046357600080fd5b5061035f61047236600461275a565b6000546001600160a01b0391821691161490565b34801561049257600080fd5b50604051601281526020016102d7565b3480156104ae57600080fd5b506102f660115481565b3480156104c457600080fd5b506103bb6104d3366004612777565b610db7565b3480156104e457600080fd5b5061035f6104f336600461275a565b610e1b565b34801561050457600080fd5b506103bb6105133660046127b0565b610e3b565b34801561052457600080fd5b506103bb6105333660046127c9565b610e81565b34801561054457600080fd5b506103bb610553366004612805565b610ee3565b34801561056457600080fd5b506102f6600a5481565b34801561057a57600080fd5b5061035f61058936600461275a565b60126020526000908152604090205460ff1681565b3480156105aa57600080fd5b50601d5461035f90600160601b900460ff1681565b3480156105cb57600080fd5b506102f66105da36600461275a565b610f33565b3480156105eb57600080fd5b506018546102f6565b34801561060057600080fd5b506102f660105481565b34801561061657600080fd5b506102f660075481565b34801561062c57600080fd5b506000546001600160a01b03166102c3565b34801561064a57600080fd5b506102c36106593660046127b0565b610f4e565b34801561066a57600080fd5b506040805180820190915260058152644652494e4b60d81b6020820152610332565b34801561069857600080fd5b50610399610f78565b3480156106ad57600080fd5b506103bb610fd8565b3480156106c257600080fd5b50601b546102c3906001600160a01b031681565b3480156106e257600080fd5b5061035f6106f1366004612696565b61128f565b34801561070257600080fd5b506103bb61071136600461275a565b61129c565b34801561072257600080fd5b506102c36107313660046127b0565b6112ed565b34801561074257600080fd5b506102f6601c5481565b34801561075857600080fd5b506102f66107673660046127b0565b6112fd565b34801561077857600080fd5b506103bb6107873660046127b0565b61133d565b34801561079857600080fd5b506102f66107a7366004612777565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156107de57600080fd5b506103bb6107ed366004612833565b611383565b3480156107fe57600080fd5b506103bb61080d36600461275a565b6113ca565b34801561081e57600080fd5b506103bb61082d36600461275a565b611415565b34801561083e57600080fd5b5061035f61084d36600461275a565b60136020526000908152604090205460ff1681565b34801561086e57600080fd5b506103bb61087d366004612805565b6114ab565b34801561088e57600080fd5b50601a546102c3906001600160a01b031681565b3480156108ae57600080fd5b50600d546102c3906001600160a01b031681565b3480156108ce57600080fd5b5061035f6108dd36600461275a565b6114fb565b3480156108ee57600080fd5b50600b546108fd9061ffff1681565b60405161ffff90911681526020016102d7565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061096b9086815260200190565b60405180910390a35060015b92915050565b6060600e8054806020026020016040519081016040528092919081815260200182805480156109d557602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116109b7575b5050505050905090565b60005b600e54811015610c905760136000600e8381548110610a0357610a03612851565b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff168015610a645750610a62600e8281548110610a4857610a48612851565b6000918252602090912001546001600160a01b0316611519565b155b15610b9357600e548110610a755750565b600060136000600e8481548110610a8e57610a8e612851565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055805b600e54610ad39060019061287d565b811015610b5e57600e610ae7826001612894565b81548110610af757610af7612851565b600091825260209091200154600e80546001600160a01b039092169183908110610b2357610b23612851565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580610b56816128ac565b915050610ac4565b50600e805480610b7057610b706128c7565b600082815260209020810160001990810180546001600160a01b03191690550190555b610ba9600e8281548110610a4857610a48612851565b610c7e57805b600e54610bbe9060019061287d565b811015610c4957600e610bd2826001612894565b81548110610be257610be2612851565b600091825260209091200154600e80546001600160a01b039092169183908110610c0e57610c0e612851565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580610c41816128ac565b915050610baf565b50600e805480610c5b57610c5b6128c7565b600082815260209020810160001990810180546001600160a01b03191690550190555b80610c88816128ac565b9150506109e2565b50565b6000610ca16012600a6129c1565b610caf90639502f9006129d0565b6001600160a01b038516600090815260096020908152604080832033845290915290205414610d59576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610d34918490611573565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610d648484846115ad565b90505b9392505050565b600554600090610db290610d8a906001600160a01b0316610f33565b600454610dac90610da3906001600160a01b0316610f33565b60065490611cbe565b90611cbe565b905090565b6000546001600160a01b03163314610dea5760405162461bcd60e51b8152600401610de1906129ef565b60405180910390fd5b600d80546001600160a01b039283166001600160a01b031991821617909155600c8054939092169216919091179055565b600061097782610e2d6012600a6129c1565b61035a90639502f9006129d0565b610e44336114fb565b610e605760405162461bcd60e51b8152600401610de190612a0f565b6103e8600654610e709190612a34565b811015610e7c57600080fd5b600755565b610e8a336114fb565b610ea65760405162461bcd60e51b8152600401610de190612a0f565b6017839055600b805461ffff191661ffff841617905560188390556019819055610ed1600482612a34565b60185410610ede57600080fd5b505050565b610eec336114fb565b610f085760405162461bcd60e51b8152600401610de190612a0f565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526008602052604090205490565b600f8181548110610f5e57600080fd5b6000918252602090912001546001600160a01b0316905081565b6060600f8054806020026020016040519081016040528092919081815260200182805480156109d5576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116109b7575050505050905090565b60005b600f54811015610c905760126000600f8381548110610ffc57610ffc612851565b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff16801561105d575061105b600f828154811061104157611041612851565b6000918252602090912001546001600160a01b0316611d00565b155b1561119257600f54811061106e5750565b805b600f5461107f9060019061287d565b81101561110a57600f611093826001612894565b815481106110a3576110a3612851565b600091825260209091200154600f80546001600160a01b0390921691839081106110cf576110cf612851565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580611102816128ac565b915050611070565b50600f80548061111c5761111c6128c7565b6001900381819060005260206000200160006101000a8154906001600160a01b0302191690559055600060126000600f848154811061115d5761115d612851565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff19169115159190911790555b6111a8600f828154811061104157611041612851565b61127d57805b600f546111bd9060019061287d565b81101561124857600f6111d1826001612894565b815481106111e1576111e1612851565b600091825260209091200154600f80546001600160a01b03909216918390811061120d5761120d612851565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580611240816128ac565b9150506111ae565b50600f80548061125a5761125a6128c7565b600082815260209020810160001990810180546001600160a01b03191690550190555b80611287816128ac565b915050610fdb565b6000610d673384846115ad565b6000546001600160a01b031633146112c65760405162461bcd60e51b8152600401610de1906129ef565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b600e8181548110610f5e57600080fd5b600061097761130a610d6e565b601b54611337906113309060029061132a906001600160a01b0316610f33565b90611d54565b8590611d54565b90611dd3565b6000546001600160a01b031633146113675760405162461bcd60e51b8152600401610de1906129ef565b6113736012600a6129c1565b61137d90826129d0565b600a5550565b61138c336114fb565b6113a85760405162461bcd60e51b8152600401610de190612a0f565b601d8054921515600160601b0260ff60601b1990931692909217909155601e55565b6000546001600160a01b031633146113f45760405162461bcd60e51b8152600401610de1906129ef565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b0316331461143f5760405162461bcd60e51b8152600401610de1906129ef565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b6114b4336114fb565b6114d05760405162461bcd60e51b8152600401610de190612a0f565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6011546001600160a01b038216600090815260146020526040812054909190611542904261287d565b1015801561097757506115576012600a6129c1565b61156290600a6129d0565b61156b83610f33565b101592915050565b600081848411156115975760405162461bcd60e51b8152600401610de1919061266e565b5060006115a4848661287d565b95945050505050565b6001600160a01b03831660009081526012602052604081205460ff1615611635576115da6012600a6129c1565b601d546115f091906001600160601b03166129d0565b826115fa86610f33565b611604919061287d565b11611635576001600160a01b0384166000908152601260209081526040808320805460ff1916905560149091528120555b6001600160a01b03841660009081526013602052604090205460ff16156116bd576116626012600a6129c1565b601d5461167891906001600160601b03166129d0565b8261168286610f33565b61168c919061287d565b116116bd576001600160a01b0384166000908152601360209081526040808320805460ff1916905560149091528120555b6001600160a01b03841660009081526012602052604090205460ff161580156116fd57506001600160a01b03841660009081526014602052604090205415155b801561170d575061170d84611d00565b15611778576001600160a01b0384166000818152601260205260408120805460ff19166001908117909155600f805491820181559091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020180546001600160a01b03191690911790555b6001600160a01b03831660009081526012602052604090205460ff161580156117b857506001600160a01b03831660009081526014602052604090205415155b80156117c857506117c883611d00565b15611833576001600160a01b0383166000818152601260205260408120805460ff19166001908117909155600f805491820181559091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020180546001600160a01b03191690911790555b6001600160a01b03841660009081526013602052604090205460ff1615801561187357506001600160a01b03841660009081526014602052604090205415155b8015611883575061188384611519565b156118ee576001600160a01b0384166000818152601360205260408120805460ff19166001908117909155600e805491820181559091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b03191690911790555b6001600160a01b03831660009081526013602052604090205460ff1615801561192e57506001600160a01b03831660009081526014602052604090205415155b801561193e575061193e83611519565b156119a9576001600160a01b0383166000818152601360205260408120805460ff19166001908117909155600e805491820181559091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b03191690911790555b6119b56012600a6129c1565b6119c090600a6129d0565b826119ca85610f33565b6119d49190612894565b101580156119f857506001600160a01b038316600090815260146020526040902054155b15611a9157600e805460018181019092557fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b0386166001600160a01b03199182168117909255600f805493840190557f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8029092018054909216811790915560009081526014602052604090204290555b601f5460ff1615611aae57611aa7848484611e15565b9050610d67565b611ab88483611efb565b611ac0611f68565b15611acd57611acd611fbe565b601b546001600160a01b03848116911614611b5357600a5482611aef85610f33565b611af99190612894565b1115611b535760405162461bcd60e51b815260206004820152602360248201527f596f752061726520657863656564696e67206d61782077616c6c6574206c696d60448201526234ba1760e91b6064820152608401610de1565b601c54158015611b705750601b546001600160a01b038481169116145b15611ba0576001600160a01b038416600090815260086020526040902054611b9757600080fd5b611ba043601c55565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611bf2918490611573565b6001600160a01b038516600090815260086020908152604080832093909355601590529081205460ff1615611c275782611c31565b611c31858461248f565b6001600160a01b038516600090815260086020526040902054909150611c579082612533565b6001600160a01b0380861660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611cab9085815260200190565b60405180910390a3506001949350505050565b6000610d6783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611573565b6010546001600160a01b038216600090815260146020526040812054909190611d29904261287d565b101580156109775750611d3e6012600a6129c1565b601d5461156291906001600160601b03166129d0565b600082611d6357506000610977565b6000611d6f83856129d0565b905082611d7c8583612a34565b14610d675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610de1565b6000610d6783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612592565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611e66918490611573565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611e959083612533565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ee99086815260200190565b60405180910390a35060019392505050565b60075481111580611f2457506001600160a01b03821660009081526016602052604090205460ff165b611f645760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610de1565b5050565b601b546000906001600160a01b03163314801590611f895750601f5460ff16155b8015611f9e5750601d54600160601b900460ff165b8015610db2575050601e5430600090815260086020526040902054101590565b601f805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061200057612000612851565b6001600160a01b03928316602091820292909201015260035482519116908290600190811061203157612031612851565b6001600160a01b039283166020918202929092010152601a541663791ac94761205930610f33565b60008430426040518663ffffffff1660e01b815260040161207e959493929190612a56565b600060405180830381600087803b15801561209857600080fd5b505af11580156120ac573d6000803e3d6000fd5b5050600b54600092506120dc91506064906120cb9061ffff16476129d0565b6120d59190612a34565b4790611cbe565b60035483519192506001600160a01b03169083906000906120ff576120ff612851565b6001600160a01b03928316602091820292909201015260025483519116908390600190811061213057612130612851565b6001600160a01b039283166020918202929092010152601a5460405163b6f9de9560e01b815291169063b6f9de9590839061217690600090879030904290600401612a92565b6000604051808303818588803b15801561218f57600080fd5b505af11580156121a3573d6000803e3d6000fd5b505060408051808201825260058152642aa9a22a1d60d91b602082015260025491516370a0823160e01b815230600482015261223995509093506001600160a01b0390911691506370a0823190602401602060405180830381865afa158015612210573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122349190612ac7565b6125c0565b61225f6040518060400160405280600481526020016322aa241d60e11b815250476125c0565b60028054600d546040516370a0823160e01b81523060048201526001600160a01b039283169363a9059cbb93909216919084906370a0823190602401602060405180830381865afa1580156122b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122dc9190612ac7565b6122e69190612a34565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015612331573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123559190612ae0565b50600254600c546040516370a0823160e01b81523060048201526001600160a01b039283169263a9059cbb92169083906370a0823190602401602060405180830381865afa1580156123ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123cf9190612ac7565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561241a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061243e9190612ae0565b50600b546040516001600160a01b036201000090920491909116904780156108fc02916000818181858888f19350505050158015612480573d6000803e3d6000fd5b5050601f805460ff1916905550565b6000806124ab6019546113376124a460185490565b8690611d54565b306000908152600860205260409020549091506124c89082612533565b30600081815260086020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906125199085815260200190565b60405180910390a361252b8382611cbe565b949350505050565b6000806125408385612894565b905083811015610d675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610de1565b600081836125b35760405162461bcd60e51b8152600401610de1919061266e565b5060006115a48486612a34565b611f6482826040516024016125d6929190612afd565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b17905280516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000815180845260005b818110156126475760208185018101518683018201520161262b565b81811115612659576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610d676020830184612621565b6001600160a01b0381168114610c9057600080fd5b600080604083850312156126a957600080fd5b82356126b481612681565b946020939093013593505050565b600081518084526020808501945080840160005b838110156126fb5781516001600160a01b0316875295820195908201906001016126d6565b509495945050505050565b602081526000610d6760208301846126c2565b60008060006060848603121561272e57600080fd5b833561273981612681565b9250602084013561274981612681565b929592945050506040919091013590565b60006020828403121561276c57600080fd5b8135610d6781612681565b6000806040838503121561278a57600080fd5b823561279581612681565b915060208301356127a581612681565b809150509250929050565b6000602082840312156127c257600080fd5b5035919050565b6000806000606084860312156127de57600080fd5b83359250602084013561ffff8116811461274957600080fd5b8015158114610c9057600080fd5b6000806040838503121561281857600080fd5b823561282381612681565b915060208301356127a5816127f7565b6000806040838503121561284657600080fd5b82356126b4816127f7565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008282101561288f5761288f612867565b500390565b600082198211156128a7576128a7612867565b500190565b60006000198214156128c0576128c0612867565b5060010190565b634e487b7160e01b600052603160045260246000fd5b600181815b808511156129185781600019048211156128fe576128fe612867565b8085161561290b57918102915b93841c93908002906128e2565b509250929050565b60008261292f57506001610977565b8161293c57506000610977565b8160018114612952576002811461295c57612978565b6001915050610977565b60ff84111561296d5761296d612867565b50506001821b610977565b5060208310610133831016604e8410600b841016171561299b575081810a610977565b6129a583836128dd565b80600019048211156129b9576129b9612867565b029392505050565b6000610d6760ff841683612920565b60008160001904831182151516156129ea576129ea612867565b500290565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b600082612a5157634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a060408201526000612a7560a08301866126c2565b6001600160a01b0394909416606083015250608001529392505050565b848152608060208201526000612aab60808301866126c2565b6001600160a01b03949094166040830152506060015292915050565b600060208284031215612ad957600080fd5b5051919050565b600060208284031215612af257600080fd5b8151610d67816127f7565b604081526000612b106040830185612621565b9050826020830152939250505056fea264697066735822122030c78d351a62702cf5a321be919160900c560f001f9646b2732c1241e8b8111764736f6c634300080c0033000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Deployed Bytecode
0x6080604052600436106102975760003560e01c80637b76ac911161015a578063d51ed1c8116100c1578063f61ab8c71161007a578063f61ab8c714610832578063f84ba65d14610862578063f887ea4014610882578063fa08d292146108a2578063fe9fbb80146108c2578063ff6385f1146108e257600080fd5b8063d51ed1c81461074c578063d8672e511461076c578063dd62ed3e1461078c578063df20fd49146107d2578063f0b37c04146107f2578063f2fde38b1461081257600080fd5b8063a71d2f7611610113578063a71d2f76146106a1578063a8aa1b31146106b6578063a9059cbb146106d6578063b6a5d7de146106f6578063bc2ca21914610716578063bf56b3711461073657600080fd5b80637b76ac91146105f45780637d1db4a51461060a578063893d20e8146106205780638ca1eaf61461063e57806395d89b411461065e578063965afe9b1461068c57600080fd5b8063313ce567116101fe578063658d4b7f116101b7578063658d4b7f1461053857806366a88d9614610558578063699d73b11461056e5780636ddd17131461059e57806370a08231146105bf5780637ae316d0146105df57600080fd5b8063313ce567146104865780634995b458146104a257806356382dc2146104b8578063571ac8b0146104d85780635c85974f146104f8578063629691bf1461051857600080fd5b80631b3c03fe116102505780631b3c03fe146103a657806323b872dd146103bd57806328654a13146103dd5780632b112e491461040a5780632f3a5d281461041f5780632f54bf6e1461045757600080fd5b80630322517a146102a35780630445b667146102e057806306fdde0314610304578063095ea7b31461033f57806318160ddd1461036f5780631a91e6591461038457600080fd5b3661029e57005b600080fd5b3480156102af57600080fd5b50600c546102c3906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102ec57600080fd5b506102f6601e5481565b6040519081526020016102d7565b34801561031057600080fd5b50604080518082019091526009815268233934b735a1b7b4b760b91b60208201525b6040516102d7919061266e565b34801561034b57600080fd5b5061035f61035a366004612696565b610910565b60405190151581526020016102d7565b34801561037b57600080fd5b506006546102f6565b34801561039057600080fd5b5061039961097d565b6040516102d79190612706565b3480156103b257600080fd5b506103bb6109df565b005b3480156103c957600080fd5b5061035f6103d8366004612719565b610c93565b3480156103e957600080fd5b506102f66103f836600461275a565b60146020526000908152604090205481565b34801561041657600080fd5b506102f6610d6e565b34801561042b57600080fd5b50601d5461043f906001600160601b031681565b6040516001600160601b0390911681526020016102d7565b34801561046357600080fd5b5061035f61047236600461275a565b6000546001600160a01b0391821691161490565b34801561049257600080fd5b50604051601281526020016102d7565b3480156104ae57600080fd5b506102f660115481565b3480156104c457600080fd5b506103bb6104d3366004612777565b610db7565b3480156104e457600080fd5b5061035f6104f336600461275a565b610e1b565b34801561050457600080fd5b506103bb6105133660046127b0565b610e3b565b34801561052457600080fd5b506103bb6105333660046127c9565b610e81565b34801561054457600080fd5b506103bb610553366004612805565b610ee3565b34801561056457600080fd5b506102f6600a5481565b34801561057a57600080fd5b5061035f61058936600461275a565b60126020526000908152604090205460ff1681565b3480156105aa57600080fd5b50601d5461035f90600160601b900460ff1681565b3480156105cb57600080fd5b506102f66105da36600461275a565b610f33565b3480156105eb57600080fd5b506018546102f6565b34801561060057600080fd5b506102f660105481565b34801561061657600080fd5b506102f660075481565b34801561062c57600080fd5b506000546001600160a01b03166102c3565b34801561064a57600080fd5b506102c36106593660046127b0565b610f4e565b34801561066a57600080fd5b506040805180820190915260058152644652494e4b60d81b6020820152610332565b34801561069857600080fd5b50610399610f78565b3480156106ad57600080fd5b506103bb610fd8565b3480156106c257600080fd5b50601b546102c3906001600160a01b031681565b3480156106e257600080fd5b5061035f6106f1366004612696565b61128f565b34801561070257600080fd5b506103bb61071136600461275a565b61129c565b34801561072257600080fd5b506102c36107313660046127b0565b6112ed565b34801561074257600080fd5b506102f6601c5481565b34801561075857600080fd5b506102f66107673660046127b0565b6112fd565b34801561077857600080fd5b506103bb6107873660046127b0565b61133d565b34801561079857600080fd5b506102f66107a7366004612777565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156107de57600080fd5b506103bb6107ed366004612833565b611383565b3480156107fe57600080fd5b506103bb61080d36600461275a565b6113ca565b34801561081e57600080fd5b506103bb61082d36600461275a565b611415565b34801561083e57600080fd5b5061035f61084d36600461275a565b60136020526000908152604090205460ff1681565b34801561086e57600080fd5b506103bb61087d366004612805565b6114ab565b34801561088e57600080fd5b50601a546102c3906001600160a01b031681565b3480156108ae57600080fd5b50600d546102c3906001600160a01b031681565b3480156108ce57600080fd5b5061035f6108dd36600461275a565b6114fb565b3480156108ee57600080fd5b50600b546108fd9061ffff1681565b60405161ffff90911681526020016102d7565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061096b9086815260200190565b60405180910390a35060015b92915050565b6060600e8054806020026020016040519081016040528092919081815260200182805480156109d557602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116109b7575b5050505050905090565b60005b600e54811015610c905760136000600e8381548110610a0357610a03612851565b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff168015610a645750610a62600e8281548110610a4857610a48612851565b6000918252602090912001546001600160a01b0316611519565b155b15610b9357600e548110610a755750565b600060136000600e8481548110610a8e57610a8e612851565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055805b600e54610ad39060019061287d565b811015610b5e57600e610ae7826001612894565b81548110610af757610af7612851565b600091825260209091200154600e80546001600160a01b039092169183908110610b2357610b23612851565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580610b56816128ac565b915050610ac4565b50600e805480610b7057610b706128c7565b600082815260209020810160001990810180546001600160a01b03191690550190555b610ba9600e8281548110610a4857610a48612851565b610c7e57805b600e54610bbe9060019061287d565b811015610c4957600e610bd2826001612894565b81548110610be257610be2612851565b600091825260209091200154600e80546001600160a01b039092169183908110610c0e57610c0e612851565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580610c41816128ac565b915050610baf565b50600e805480610c5b57610c5b6128c7565b600082815260209020810160001990810180546001600160a01b03191690550190555b80610c88816128ac565b9150506109e2565b50565b6000610ca16012600a6129c1565b610caf90639502f9006129d0565b6001600160a01b038516600090815260096020908152604080832033845290915290205414610d59576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610d34918490611573565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610d648484846115ad565b90505b9392505050565b600554600090610db290610d8a906001600160a01b0316610f33565b600454610dac90610da3906001600160a01b0316610f33565b60065490611cbe565b90611cbe565b905090565b6000546001600160a01b03163314610dea5760405162461bcd60e51b8152600401610de1906129ef565b60405180910390fd5b600d80546001600160a01b039283166001600160a01b031991821617909155600c8054939092169216919091179055565b600061097782610e2d6012600a6129c1565b61035a90639502f9006129d0565b610e44336114fb565b610e605760405162461bcd60e51b8152600401610de190612a0f565b6103e8600654610e709190612a34565b811015610e7c57600080fd5b600755565b610e8a336114fb565b610ea65760405162461bcd60e51b8152600401610de190612a0f565b6017839055600b805461ffff191661ffff841617905560188390556019819055610ed1600482612a34565b60185410610ede57600080fd5b505050565b610eec336114fb565b610f085760405162461bcd60e51b8152600401610de190612a0f565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526008602052604090205490565b600f8181548110610f5e57600080fd5b6000918252602090912001546001600160a01b0316905081565b6060600f8054806020026020016040519081016040528092919081815260200182805480156109d5576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116109b7575050505050905090565b60005b600f54811015610c905760126000600f8381548110610ffc57610ffc612851565b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff16801561105d575061105b600f828154811061104157611041612851565b6000918252602090912001546001600160a01b0316611d00565b155b1561119257600f54811061106e5750565b805b600f5461107f9060019061287d565b81101561110a57600f611093826001612894565b815481106110a3576110a3612851565b600091825260209091200154600f80546001600160a01b0390921691839081106110cf576110cf612851565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580611102816128ac565b915050611070565b50600f80548061111c5761111c6128c7565b6001900381819060005260206000200160006101000a8154906001600160a01b0302191690559055600060126000600f848154811061115d5761115d612851565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff19169115159190911790555b6111a8600f828154811061104157611041612851565b61127d57805b600f546111bd9060019061287d565b81101561124857600f6111d1826001612894565b815481106111e1576111e1612851565b600091825260209091200154600f80546001600160a01b03909216918390811061120d5761120d612851565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580611240816128ac565b9150506111ae565b50600f80548061125a5761125a6128c7565b600082815260209020810160001990810180546001600160a01b03191690550190555b80611287816128ac565b915050610fdb565b6000610d673384846115ad565b6000546001600160a01b031633146112c65760405162461bcd60e51b8152600401610de1906129ef565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b600e8181548110610f5e57600080fd5b600061097761130a610d6e565b601b54611337906113309060029061132a906001600160a01b0316610f33565b90611d54565b8590611d54565b90611dd3565b6000546001600160a01b031633146113675760405162461bcd60e51b8152600401610de1906129ef565b6113736012600a6129c1565b61137d90826129d0565b600a5550565b61138c336114fb565b6113a85760405162461bcd60e51b8152600401610de190612a0f565b601d8054921515600160601b0260ff60601b1990931692909217909155601e55565b6000546001600160a01b031633146113f45760405162461bcd60e51b8152600401610de1906129ef565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b0316331461143f5760405162461bcd60e51b8152600401610de1906129ef565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b6114b4336114fb565b6114d05760405162461bcd60e51b8152600401610de190612a0f565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6011546001600160a01b038216600090815260146020526040812054909190611542904261287d565b1015801561097757506115576012600a6129c1565b61156290600a6129d0565b61156b83610f33565b101592915050565b600081848411156115975760405162461bcd60e51b8152600401610de1919061266e565b5060006115a4848661287d565b95945050505050565b6001600160a01b03831660009081526012602052604081205460ff1615611635576115da6012600a6129c1565b601d546115f091906001600160601b03166129d0565b826115fa86610f33565b611604919061287d565b11611635576001600160a01b0384166000908152601260209081526040808320805460ff1916905560149091528120555b6001600160a01b03841660009081526013602052604090205460ff16156116bd576116626012600a6129c1565b601d5461167891906001600160601b03166129d0565b8261168286610f33565b61168c919061287d565b116116bd576001600160a01b0384166000908152601360209081526040808320805460ff1916905560149091528120555b6001600160a01b03841660009081526012602052604090205460ff161580156116fd57506001600160a01b03841660009081526014602052604090205415155b801561170d575061170d84611d00565b15611778576001600160a01b0384166000818152601260205260408120805460ff19166001908117909155600f805491820181559091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020180546001600160a01b03191690911790555b6001600160a01b03831660009081526012602052604090205460ff161580156117b857506001600160a01b03831660009081526014602052604090205415155b80156117c857506117c883611d00565b15611833576001600160a01b0383166000818152601260205260408120805460ff19166001908117909155600f805491820181559091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020180546001600160a01b03191690911790555b6001600160a01b03841660009081526013602052604090205460ff1615801561187357506001600160a01b03841660009081526014602052604090205415155b8015611883575061188384611519565b156118ee576001600160a01b0384166000818152601360205260408120805460ff19166001908117909155600e805491820181559091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b03191690911790555b6001600160a01b03831660009081526013602052604090205460ff1615801561192e57506001600160a01b03831660009081526014602052604090205415155b801561193e575061193e83611519565b156119a9576001600160a01b0383166000818152601360205260408120805460ff19166001908117909155600e805491820181559091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b03191690911790555b6119b56012600a6129c1565b6119c090600a6129d0565b826119ca85610f33565b6119d49190612894565b101580156119f857506001600160a01b038316600090815260146020526040902054155b15611a9157600e805460018181019092557fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b0386166001600160a01b03199182168117909255600f805493840190557f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8029092018054909216811790915560009081526014602052604090204290555b601f5460ff1615611aae57611aa7848484611e15565b9050610d67565b611ab88483611efb565b611ac0611f68565b15611acd57611acd611fbe565b601b546001600160a01b03848116911614611b5357600a5482611aef85610f33565b611af99190612894565b1115611b535760405162461bcd60e51b815260206004820152602360248201527f596f752061726520657863656564696e67206d61782077616c6c6574206c696d60448201526234ba1760e91b6064820152608401610de1565b601c54158015611b705750601b546001600160a01b038481169116145b15611ba0576001600160a01b038416600090815260086020526040902054611b9757600080fd5b611ba043601c55565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611bf2918490611573565b6001600160a01b038516600090815260086020908152604080832093909355601590529081205460ff1615611c275782611c31565b611c31858461248f565b6001600160a01b038516600090815260086020526040902054909150611c579082612533565b6001600160a01b0380861660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611cab9085815260200190565b60405180910390a3506001949350505050565b6000610d6783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611573565b6010546001600160a01b038216600090815260146020526040812054909190611d29904261287d565b101580156109775750611d3e6012600a6129c1565b601d5461156291906001600160601b03166129d0565b600082611d6357506000610977565b6000611d6f83856129d0565b905082611d7c8583612a34565b14610d675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610de1565b6000610d6783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612592565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611e66918490611573565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611e959083612533565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ee99086815260200190565b60405180910390a35060019392505050565b60075481111580611f2457506001600160a01b03821660009081526016602052604090205460ff165b611f645760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610de1565b5050565b601b546000906001600160a01b03163314801590611f895750601f5460ff16155b8015611f9e5750601d54600160601b900460ff165b8015610db2575050601e5430600090815260086020526040902054101590565b601f805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061200057612000612851565b6001600160a01b03928316602091820292909201015260035482519116908290600190811061203157612031612851565b6001600160a01b039283166020918202929092010152601a541663791ac94761205930610f33565b60008430426040518663ffffffff1660e01b815260040161207e959493929190612a56565b600060405180830381600087803b15801561209857600080fd5b505af11580156120ac573d6000803e3d6000fd5b5050600b54600092506120dc91506064906120cb9061ffff16476129d0565b6120d59190612a34565b4790611cbe565b60035483519192506001600160a01b03169083906000906120ff576120ff612851565b6001600160a01b03928316602091820292909201015260025483519116908390600190811061213057612130612851565b6001600160a01b039283166020918202929092010152601a5460405163b6f9de9560e01b815291169063b6f9de9590839061217690600090879030904290600401612a92565b6000604051808303818588803b15801561218f57600080fd5b505af11580156121a3573d6000803e3d6000fd5b505060408051808201825260058152642aa9a22a1d60d91b602082015260025491516370a0823160e01b815230600482015261223995509093506001600160a01b0390911691506370a0823190602401602060405180830381865afa158015612210573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122349190612ac7565b6125c0565b61225f6040518060400160405280600481526020016322aa241d60e11b815250476125c0565b60028054600d546040516370a0823160e01b81523060048201526001600160a01b039283169363a9059cbb93909216919084906370a0823190602401602060405180830381865afa1580156122b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122dc9190612ac7565b6122e69190612a34565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015612331573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123559190612ae0565b50600254600c546040516370a0823160e01b81523060048201526001600160a01b039283169263a9059cbb92169083906370a0823190602401602060405180830381865afa1580156123ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123cf9190612ac7565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561241a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061243e9190612ae0565b50600b546040516001600160a01b036201000090920491909116904780156108fc02916000818181858888f19350505050158015612480573d6000803e3d6000fd5b5050601f805460ff1916905550565b6000806124ab6019546113376124a460185490565b8690611d54565b306000908152600860205260409020549091506124c89082612533565b30600081815260086020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906125199085815260200190565b60405180910390a361252b8382611cbe565b949350505050565b6000806125408385612894565b905083811015610d675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610de1565b600081836125b35760405162461bcd60e51b8152600401610de1919061266e565b5060006115a48486612a34565b611f6482826040516024016125d6929190612afd565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b17905280516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000815180845260005b818110156126475760208185018101518683018201520161262b565b81811115612659576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610d676020830184612621565b6001600160a01b0381168114610c9057600080fd5b600080604083850312156126a957600080fd5b82356126b481612681565b946020939093013593505050565b600081518084526020808501945080840160005b838110156126fb5781516001600160a01b0316875295820195908201906001016126d6565b509495945050505050565b602081526000610d6760208301846126c2565b60008060006060848603121561272e57600080fd5b833561273981612681565b9250602084013561274981612681565b929592945050506040919091013590565b60006020828403121561276c57600080fd5b8135610d6781612681565b6000806040838503121561278a57600080fd5b823561279581612681565b915060208301356127a581612681565b809150509250929050565b6000602082840312156127c257600080fd5b5035919050565b6000806000606084860312156127de57600080fd5b83359250602084013561ffff8116811461274957600080fd5b8015158114610c9057600080fd5b6000806040838503121561281857600080fd5b823561282381612681565b915060208301356127a5816127f7565b6000806040838503121561284657600080fd5b82356126b4816127f7565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008282101561288f5761288f612867565b500390565b600082198211156128a7576128a7612867565b500190565b60006000198214156128c0576128c0612867565b5060010190565b634e487b7160e01b600052603160045260246000fd5b600181815b808511156129185781600019048211156128fe576128fe612867565b8085161561290b57918102915b93841c93908002906128e2565b509250929050565b60008261292f57506001610977565b8161293c57506000610977565b8160018114612952576002811461295c57612978565b6001915050610977565b60ff84111561296d5761296d612867565b50506001821b610977565b5060208310610133831016604e8410600b841016171561299b575081810a610977565b6129a583836128dd565b80600019048211156129b9576129b9612867565b029392505050565b6000610d6760ff841683612920565b60008160001904831182151516156129ea576129ea612867565b500290565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b600082612a5157634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a060408201526000612a7560a08301866126c2565b6001600160a01b0394909416606083015250608001529392505050565b848152608060208201526000612aab60808301866126c2565b6001600160a01b03949094166040830152506060015292915050565b600060208284031215612ad957600080fd5b5051919050565b600060208284031215612af257600080fd5b8151610d67816127f7565b604081526000612b106040830185612621565b9050826020830152939250505056fea264697066735822122030c78d351a62702cf5a321be919160900c560f001f9646b2732c1241e8b8111764736f6c634300080c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
-----Decoded View---------------
Arg [0] : usdtAddress (address): 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
Arg [1] : routerA (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Arg [1] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
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.