Polygon Sponsored slots available. Book your slot here!
Latest 25 from a total of 10,408 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 66949660 | 5 hrs ago | IN | 0 POL | 0.00547186 | ||||
Approve | 66912502 | 29 hrs ago | IN | 0 POL | 0.00869562 | ||||
Transfer | 66611386 | 8 days ago | IN | 0 POL | 0.00288738 | ||||
Approve | 66595745 | 9 days ago | IN | 0 POL | 0.00139809 | ||||
Approve | 66490795 | 11 days ago | IN | 0 POL | 0.00553673 | ||||
Approve | 66490766 | 11 days ago | IN | 0 POL | 0.00588979 | ||||
Approve | 66398284 | 14 days ago | IN | 0 POL | 0.00079533 | ||||
Approve | 66366698 | 14 days ago | IN | 0 POL | 0.00080266 | ||||
Approve | 66349303 | 15 days ago | IN | 0 POL | 0.00139809 | ||||
Approve | 66337725 | 15 days ago | IN | 0 POL | 0.00153782 | ||||
Approve | 66150290 | 20 days ago | IN | 0 POL | 0.0027229 | ||||
Approve | 65952246 | 25 days ago | IN | 0 POL | 0.01035003 | ||||
Transfer | 65942989 | 25 days ago | IN | 0 POL | 0.01134791 | ||||
Transfer | 65941298 | 25 days ago | IN | 0 POL | 0.02407839 | ||||
Transfer | 65870558 | 27 days ago | IN | 0 POL | 0.03652481 | ||||
Approve | 65766417 | 30 days ago | IN | 0 POL | 0.00103817 | ||||
Approve | 65754117 | 30 days ago | IN | 0 POL | 0.01011149 | ||||
Approve | 65744199 | 31 days ago | IN | 0 POL | 0.00366809 | ||||
Approve | 65744180 | 31 days ago | IN | 0 POL | 0.00267591 | ||||
Approve | 65743706 | 31 days ago | IN | 0 POL | 0.00307536 | ||||
Approve | 65705658 | 31 days ago | IN | 0 POL | 0.01543041 | ||||
Approve | 65705612 | 31 days ago | IN | 0 POL | 0.00862822 | ||||
Transfer | 65683208 | 32 days ago | IN | 0 POL | 0.02292048 | ||||
Approve | 65678361 | 32 days ago | IN | 0 POL | 0.0118721 | ||||
Approve | 65626344 | 33 days ago | IN | 0 POL | 0.00121809 |
Loading...
Loading
Contract Name:
LQTYToken
Compiler Version
v0.6.11+commit.5ef660b1
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2021-06-27 */ // File: contracts/Dependencies/CheckContract.sol // SPDX-License-Identifier: MIT pragma solidity 0.6.11; pragma experimental ABIEncoderV2; contract CheckContract { /** * Check that the account is an already deployed non-destroyed contract. * See: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Address.sol#L12 */ function checkContract(address _account) internal view { require(_account != address(0), "Account cannot be zero address"); uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(_account) } require(size > 0, "Account code size cannot be zero"); } } // File: contracts/Dependencies/SafeMath.sol /** * Based on OpenZeppelin's SafeMath: * https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/SafeMath.sol * * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. * * _Available since v2.4.0._ */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. * * _Available since v2.4.0._ */ 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; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. * * _Available since v2.4.0._ */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } // File: contracts/Dependencies/Ownable.sol /** * Based on OpenZeppelin's Ownable contract: * https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol * * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { _owner = msg.sender; emit OwnershipTransferred(address(0), msg.sender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns (bool) { return msg.sender == _owner; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. * * NOTE: This function is not safe, as it doesn’t check owner is calling it. * Make sure you check it before calling it. */ function _renounceOwnership() internal { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } // File: contracts/Dependencies/IERC20.sol /** * Based on the OpenZeppelin IER20 interface: * https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol * * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); function increaseAllowance(address spender, uint256 addedValue) external returns (bool); function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File: contracts/Dependencies/IERC2612.sol /** * @dev Interface of the ERC2612 standard as defined in the EIP. * * Adds the {permit} method, which can be used to change one's * {IERC20-allowance} without having to send a transaction, by signing a * message. This allows users to spend tokens without having to hold Ether. * * See https://eips.ethereum.org/EIPS/eip-2612. * * Code adapted from https://github.com/OpenZeppelin/openzeppelin-contracts/pull/2237/ */ interface IERC2612 { /** * @dev Sets `amount` as the allowance of `spender` over `owner`'s tokens, * given `owner`'s signed approval. * * IMPORTANT: The same issues {IERC20-approve} has related to transaction * ordering also apply here. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. * - `deadline` must be a timestamp in the future. * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` * over the EIP712-formatted function arguments. * - the signature must use ``owner``'s current nonce (see {nonces}). * * For more information on the signature format, see the * https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP * section]. */ function permit(address owner, address spender, uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external; /** * @dev Returns the current ERC2612 nonce for `owner`. This value must be * included whenever a signature is generated for {permit}. * * Every successful call to {permit} increases `owner`'s nonce by one. This * prevents a signature from being used multiple times. * * `owner` can limit the time a Permit is valid for by setting `deadline` to * a value in the near future. The deadline argument can be set to uint(-1) to * create Permits that effectively never expire. */ function nonces(address owner) external view returns (uint256); function version() external view returns (string memory); function permitTypeHash() external view returns (bytes32); function domainSeparator() external view returns (bytes32); } // File: contracts/Interfaces/ILQTYToken.sol interface ILQTYToken is IERC20, IERC2612 { // --- Events --- event CommunityIssuanceAddressSet(address _communityIssuanceAddress); event LQTYStakingAddressSet(address _lqtyStakingAddress); event LockupContractFactoryAddressSet(address _lockupContractFactoryAddress); event SwapAndLiquify(uint256 amountSwapped, uint256 ftmReceived, uint256 amountIntoLiqudity); // --- Functions --- function sendToLQTYStaking(address _sender, uint256 _amount) external; function getDeploymentStartTime() external view returns (uint256); } // File: contracts/Interfaces/ILQTYStaking.sol interface ILQTYStaking { // --- Events -- event LQTYTokenAddressSet(address _lqtyTokenAddress); event LUSDTokenAddressSet(address _lusdTokenAddress); event TroveManagerAddressSet(address _troveManager); event BorrowerOperationsAddressSet(address _borrowerOperationsAddress); event ActivePoolAddressSet(address _activePoolAddress); event StakeChanged(address indexed staker, uint newStake); event StakingGainsWithdrawn(address indexed staker, uint LUSDGain, uint ETHGain, uint LQTYGain); event F_ETHUpdated(uint _F_ETH); event F_LUSDUpdated(uint _F_LUSD); event F_LQTYUpdated(uint _F_LQTY); event TotalLQTYStakedUpdated(uint _totalLQTYStaked); event EtherSent(address _account, uint _amount); event StakerSnapshotsUpdated(address _staker, uint _F_ETH, uint _F_LUSD, uint _F_LQTY); // --- Functions --- function setAddresses ( address _lqtyTokenAddress, address _lusdTokenAddress, address _troveManagerAddress, address _borrowerOperationsAddress, address _activePoolAddress ) external; function stake(uint _LQTYamount) external; function unstake(uint _LQTYamount) external; function increaseF_ETH(uint _ETHFee) external; function increaseF_LUSD(uint _LUSDFee) external; function increaseF_LQTY(uint _LQTYFee) external; function getPendingETHGain(address _user) external view returns (uint); function getPendingLUSDGain(address _user) external view returns (uint); function getPendingLQTYGain(address _user) external view returns (uint); } // File: contracts/Interfaces/ILockupContractFactory.sol interface ILockupContractFactory { // --- Events --- event LQTYTokenAddressSet(address _lqtyTokenAddress); event LockupContractDeployedThroughFactory(address _lockupContractAddress, address _beneficiary, uint _unlockTime, address _deployer); // --- Functions --- function setLQTYTokenAddress(address _lqtyTokenAddress) external; function deployLockupContract(address _beneficiary, uint _unlockTime) external; function isRegisteredLockup(address _addr) external view returns (bool); } // File: contracts/Dependencies/console.sol // Buidler's helper contract for console logging library console { address constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67); function log() internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log()")); ignored; } function logInt(int p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(int)", p0)); ignored; } function logUint(uint p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint)", p0)); ignored; } function logString(string memory p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string)", p0)); ignored; } function logBool(bool p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool)", p0)); ignored; } function logAddress(address p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address)", p0)); ignored; } function logBytes(bytes memory p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes)", p0)); ignored; } function logByte(byte p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(byte)", p0)); ignored; } function logBytes1(bytes1 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes1)", p0)); ignored; } function logBytes2(bytes2 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes2)", p0)); ignored; } function logBytes3(bytes3 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes3)", p0)); ignored; } function logBytes4(bytes4 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes4)", p0)); ignored; } function logBytes5(bytes5 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes5)", p0)); ignored; } function logBytes6(bytes6 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes6)", p0)); ignored; } function logBytes7(bytes7 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes7)", p0)); ignored; } function logBytes8(bytes8 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes8)", p0)); ignored; } function logBytes9(bytes9 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes9)", p0)); ignored; } function logBytes10(bytes10 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes10)", p0)); ignored; } function logBytes11(bytes11 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes11)", p0)); ignored; } function logBytes12(bytes12 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes12)", p0)); ignored; } function logBytes13(bytes13 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes13)", p0)); ignored; } function logBytes14(bytes14 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes14)", p0)); ignored; } function logBytes15(bytes15 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes15)", p0)); ignored; } function logBytes16(bytes16 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes16)", p0)); ignored; } function logBytes17(bytes17 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes17)", p0)); ignored; } function logBytes18(bytes18 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes18)", p0)); ignored; } function logBytes19(bytes19 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes19)", p0)); ignored; } function logBytes20(bytes20 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes20)", p0)); ignored; } function logBytes21(bytes21 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes21)", p0)); ignored; } function logBytes22(bytes22 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes22)", p0)); ignored; } function logBytes23(bytes23 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes23)", p0)); ignored; } function logBytes24(bytes24 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes24)", p0)); ignored; } function logBytes25(bytes25 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes25)", p0)); ignored; } function logBytes26(bytes26 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes26)", p0)); ignored; } function logBytes27(bytes27 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes27)", p0)); ignored; } function logBytes28(bytes28 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes28)", p0)); ignored; } function logBytes29(bytes29 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes29)", p0)); ignored; } function logBytes30(bytes30 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes30)", p0)); ignored; } function logBytes31(bytes31 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes31)", p0)); ignored; } function logBytes32(bytes32 p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bytes32)", p0)); ignored; } function log(uint p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint)", p0)); ignored; } function log(string memory p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string)", p0)); ignored; } function log(bool p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool)", p0)); ignored; } function log(address p0) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address)", p0)); ignored; } function log(uint p0, uint p1) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint)", p0, p1)); ignored; } function log(uint p0, string memory p1) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string)", p0, p1)); ignored; } function log(uint p0, bool p1) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool)", p0, p1)); ignored; } function log(uint p0, address p1) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address)", p0, p1)); ignored; } function log(string memory p0, uint p1) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint)", p0, p1)); ignored; } function log(string memory p0, string memory p1) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string)", p0, p1)); ignored; } function log(string memory p0, bool p1) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool)", p0, p1)); ignored; } function log(string memory p0, address p1) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address)", p0, p1)); ignored; } function log(bool p0, uint p1) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint)", p0, p1)); ignored; } function log(bool p0, string memory p1) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string)", p0, p1)); ignored; } function log(bool p0, bool p1) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool)", p0, p1)); ignored; } function log(bool p0, address p1) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address)", p0, p1)); ignored; } function log(address p0, uint p1) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint)", p0, p1)); ignored; } function log(address p0, string memory p1) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string)", p0, p1)); ignored; } function log(address p0, bool p1) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool)", p0, p1)); ignored; } function log(address p0, address p1) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address)", p0, p1)); ignored; } function log(uint p0, uint p1, uint p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,uint)", p0, p1, p2)); ignored; } function log(uint p0, uint p1, string memory p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,string)", p0, p1, p2)); ignored; } function log(uint p0, uint p1, bool p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,bool)", p0, p1, p2)); ignored; } function log(uint p0, uint p1, address p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,address)", p0, p1, p2)); ignored; } function log(uint p0, string memory p1, uint p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,uint)", p0, p1, p2)); ignored; } function log(uint p0, string memory p1, string memory p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,string)", p0, p1, p2)); ignored; } function log(uint p0, string memory p1, bool p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,bool)", p0, p1, p2)); ignored; } function log(uint p0, string memory p1, address p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,address)", p0, p1, p2)); ignored; } function log(uint p0, bool p1, uint p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,uint)", p0, p1, p2)); ignored; } function log(uint p0, bool p1, string memory p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,string)", p0, p1, p2)); ignored; } function log(uint p0, bool p1, bool p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,bool)", p0, p1, p2)); ignored; } function log(uint p0, bool p1, address p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,address)", p0, p1, p2)); ignored; } function log(uint p0, address p1, uint p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,uint)", p0, p1, p2)); ignored; } function log(uint p0, address p1, string memory p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,string)", p0, p1, p2)); ignored; } function log(uint p0, address p1, bool p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,bool)", p0, p1, p2)); ignored; } function log(uint p0, address p1, address p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,address)", p0, p1, p2)); ignored; } function log(string memory p0, uint p1, uint p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,uint)", p0, p1, p2)); ignored; } function log(string memory p0, uint p1, string memory p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,string)", p0, p1, p2)); ignored; } function log(string memory p0, uint p1, bool p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,bool)", p0, p1, p2)); ignored; } function log(string memory p0, uint p1, address p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,address)", p0, p1, p2)); ignored; } function log(string memory p0, string memory p1, uint p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,uint)", p0, p1, p2)); ignored; } function log(string memory p0, string memory p1, string memory p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,string)", p0, p1, p2)); ignored; } function log(string memory p0, string memory p1, bool p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,bool)", p0, p1, p2)); ignored; } function log(string memory p0, string memory p1, address p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,address)", p0, p1, p2)); ignored; } function log(string memory p0, bool p1, uint p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,uint)", p0, p1, p2)); ignored; } function log(string memory p0, bool p1, string memory p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,string)", p0, p1, p2)); ignored; } function log(string memory p0, bool p1, bool p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,bool)", p0, p1, p2)); ignored; } function log(string memory p0, bool p1, address p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,address)", p0, p1, p2)); ignored; } function log(string memory p0, address p1, uint p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,uint)", p0, p1, p2)); ignored; } function log(string memory p0, address p1, string memory p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,string)", p0, p1, p2)); ignored; } function log(string memory p0, address p1, bool p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,bool)", p0, p1, p2)); ignored; } function log(string memory p0, address p1, address p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,address)", p0, p1, p2)); ignored; } function log(bool p0, uint p1, uint p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,uint)", p0, p1, p2)); ignored; } function log(bool p0, uint p1, string memory p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,string)", p0, p1, p2)); ignored; } function log(bool p0, uint p1, bool p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,bool)", p0, p1, p2)); ignored; } function log(bool p0, uint p1, address p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,address)", p0, p1, p2)); ignored; } function log(bool p0, string memory p1, uint p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,uint)", p0, p1, p2)); ignored; } function log(bool p0, string memory p1, string memory p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,string)", p0, p1, p2)); ignored; } function log(bool p0, string memory p1, bool p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,bool)", p0, p1, p2)); ignored; } function log(bool p0, string memory p1, address p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,address)", p0, p1, p2)); ignored; } function log(bool p0, bool p1, uint p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,uint)", p0, p1, p2)); ignored; } function log(bool p0, bool p1, string memory p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,string)", p0, p1, p2)); ignored; } function log(bool p0, bool p1, bool p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,bool)", p0, p1, p2)); ignored; } function log(bool p0, bool p1, address p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,address)", p0, p1, p2)); ignored; } function log(bool p0, address p1, uint p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,uint)", p0, p1, p2)); ignored; } function log(bool p0, address p1, string memory p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,string)", p0, p1, p2)); ignored; } function log(bool p0, address p1, bool p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,bool)", p0, p1, p2)); ignored; } function log(bool p0, address p1, address p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,address)", p0, p1, p2)); ignored; } function log(address p0, uint p1, uint p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,uint)", p0, p1, p2)); ignored; } function log(address p0, uint p1, string memory p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,string)", p0, p1, p2)); ignored; } function log(address p0, uint p1, bool p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,bool)", p0, p1, p2)); ignored; } function log(address p0, uint p1, address p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,address)", p0, p1, p2)); ignored; } function log(address p0, string memory p1, uint p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,uint)", p0, p1, p2)); ignored; } function log(address p0, string memory p1, string memory p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,string)", p0, p1, p2)); ignored; } function log(address p0, string memory p1, bool p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,bool)", p0, p1, p2)); ignored; } function log(address p0, string memory p1, address p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,address)", p0, p1, p2)); ignored; } function log(address p0, bool p1, uint p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,uint)", p0, p1, p2)); ignored; } function log(address p0, bool p1, string memory p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,string)", p0, p1, p2)); ignored; } function log(address p0, bool p1, bool p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,bool)", p0, p1, p2)); ignored; } function log(address p0, bool p1, address p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,address)", p0, p1, p2)); ignored; } function log(address p0, address p1, uint p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,uint)", p0, p1, p2)); ignored; } function log(address p0, address p1, string memory p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,string)", p0, p1, p2)); ignored; } function log(address p0, address p1, bool p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,bool)", p0, p1, p2)); ignored; } function log(address p0, address p1, address p2) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,address)", p0, p1, p2)); ignored; } function log(uint p0, uint p1, uint p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,uint,uint)", p0, p1, p2, p3)); ignored; } function log(uint p0, uint p1, uint p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,uint,string)", p0, p1, p2, p3)); ignored; } function log(uint p0, uint p1, uint p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,uint,bool)", p0, p1, p2, p3)); ignored; } function log(uint p0, uint p1, uint p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,uint,address)", p0, p1, p2, p3)); ignored; } function log(uint p0, uint p1, string memory p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,string,uint)", p0, p1, p2, p3)); ignored; } function log(uint p0, uint p1, string memory p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,string,string)", p0, p1, p2, p3)); ignored; } function log(uint p0, uint p1, string memory p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,string,bool)", p0, p1, p2, p3)); ignored; } function log(uint p0, uint p1, string memory p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,string,address)", p0, p1, p2, p3)); ignored; } function log(uint p0, uint p1, bool p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,bool,uint)", p0, p1, p2, p3)); ignored; } function log(uint p0, uint p1, bool p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,bool,string)", p0, p1, p2, p3)); ignored; } function log(uint p0, uint p1, bool p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,bool,bool)", p0, p1, p2, p3)); ignored; } function log(uint p0, uint p1, bool p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,bool,address)", p0, p1, p2, p3)); ignored; } function log(uint p0, uint p1, address p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,address,uint)", p0, p1, p2, p3)); ignored; } function log(uint p0, uint p1, address p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,address,string)", p0, p1, p2, p3)); ignored; } function log(uint p0, uint p1, address p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,address,bool)", p0, p1, p2, p3)); ignored; } function log(uint p0, uint p1, address p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,uint,address,address)", p0, p1, p2, p3)); ignored; } function log(uint p0, string memory p1, uint p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,uint,uint)", p0, p1, p2, p3)); ignored; } function log(uint p0, string memory p1, uint p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,uint,string)", p0, p1, p2, p3)); ignored; } function log(uint p0, string memory p1, uint p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,uint,bool)", p0, p1, p2, p3)); ignored; } function log(uint p0, string memory p1, uint p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,uint,address)", p0, p1, p2, p3)); ignored; } function log(uint p0, string memory p1, string memory p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,string,uint)", p0, p1, p2, p3)); ignored; } function log(uint p0, string memory p1, string memory p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,string,string)", p0, p1, p2, p3)); ignored; } function log(uint p0, string memory p1, string memory p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,string,bool)", p0, p1, p2, p3)); ignored; } function log(uint p0, string memory p1, string memory p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,string,address)", p0, p1, p2, p3)); ignored; } function log(uint p0, string memory p1, bool p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,bool,uint)", p0, p1, p2, p3)); ignored; } function log(uint p0, string memory p1, bool p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,bool,string)", p0, p1, p2, p3)); ignored; } function log(uint p0, string memory p1, bool p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,bool,bool)", p0, p1, p2, p3)); ignored; } function log(uint p0, string memory p1, bool p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,bool,address)", p0, p1, p2, p3)); ignored; } function log(uint p0, string memory p1, address p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,address,uint)", p0, p1, p2, p3)); ignored; } function log(uint p0, string memory p1, address p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,address,string)", p0, p1, p2, p3)); ignored; } function log(uint p0, string memory p1, address p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,address,bool)", p0, p1, p2, p3)); ignored; } function log(uint p0, string memory p1, address p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,string,address,address)", p0, p1, p2, p3)); ignored; } function log(uint p0, bool p1, uint p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,uint,uint)", p0, p1, p2, p3)); ignored; } function log(uint p0, bool p1, uint p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,uint,string)", p0, p1, p2, p3)); ignored; } function log(uint p0, bool p1, uint p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,uint,bool)", p0, p1, p2, p3)); ignored; } function log(uint p0, bool p1, uint p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,uint,address)", p0, p1, p2, p3)); ignored; } function log(uint p0, bool p1, string memory p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,string,uint)", p0, p1, p2, p3)); ignored; } function log(uint p0, bool p1, string memory p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,string,string)", p0, p1, p2, p3)); ignored; } function log(uint p0, bool p1, string memory p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,string,bool)", p0, p1, p2, p3)); ignored; } function log(uint p0, bool p1, string memory p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,string,address)", p0, p1, p2, p3)); ignored; } function log(uint p0, bool p1, bool p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,bool,uint)", p0, p1, p2, p3)); ignored; } function log(uint p0, bool p1, bool p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,bool,string)", p0, p1, p2, p3)); ignored; } function log(uint p0, bool p1, bool p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,bool,bool)", p0, p1, p2, p3)); ignored; } function log(uint p0, bool p1, bool p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,bool,address)", p0, p1, p2, p3)); ignored; } function log(uint p0, bool p1, address p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,address,uint)", p0, p1, p2, p3)); ignored; } function log(uint p0, bool p1, address p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,address,string)", p0, p1, p2, p3)); ignored; } function log(uint p0, bool p1, address p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,address,bool)", p0, p1, p2, p3)); ignored; } function log(uint p0, bool p1, address p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,bool,address,address)", p0, p1, p2, p3)); ignored; } function log(uint p0, address p1, uint p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,uint,uint)", p0, p1, p2, p3)); ignored; } function log(uint p0, address p1, uint p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,uint,string)", p0, p1, p2, p3)); ignored; } function log(uint p0, address p1, uint p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,uint,bool)", p0, p1, p2, p3)); ignored; } function log(uint p0, address p1, uint p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,uint,address)", p0, p1, p2, p3)); ignored; } function log(uint p0, address p1, string memory p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,string,uint)", p0, p1, p2, p3)); ignored; } function log(uint p0, address p1, string memory p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,string,string)", p0, p1, p2, p3)); ignored; } function log(uint p0, address p1, string memory p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,string,bool)", p0, p1, p2, p3)); ignored; } function log(uint p0, address p1, string memory p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,string,address)", p0, p1, p2, p3)); ignored; } function log(uint p0, address p1, bool p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,bool,uint)", p0, p1, p2, p3)); ignored; } function log(uint p0, address p1, bool p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,bool,string)", p0, p1, p2, p3)); ignored; } function log(uint p0, address p1, bool p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,bool,bool)", p0, p1, p2, p3)); ignored; } function log(uint p0, address p1, bool p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,bool,address)", p0, p1, p2, p3)); ignored; } function log(uint p0, address p1, address p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,address,uint)", p0, p1, p2, p3)); ignored; } function log(uint p0, address p1, address p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,address,string)", p0, p1, p2, p3)); ignored; } function log(uint p0, address p1, address p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,address,bool)", p0, p1, p2, p3)); ignored; } function log(uint p0, address p1, address p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(uint,address,address,address)", p0, p1, p2, p3)); ignored; } function log(string memory p0, uint p1, uint p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,uint,uint)", p0, p1, p2, p3)); ignored; } function log(string memory p0, uint p1, uint p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,uint,string)", p0, p1, p2, p3)); ignored; } function log(string memory p0, uint p1, uint p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,uint,bool)", p0, p1, p2, p3)); ignored; } function log(string memory p0, uint p1, uint p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,uint,address)", p0, p1, p2, p3)); ignored; } function log(string memory p0, uint p1, string memory p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,string,uint)", p0, p1, p2, p3)); ignored; } function log(string memory p0, uint p1, string memory p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,string,string)", p0, p1, p2, p3)); ignored; } function log(string memory p0, uint p1, string memory p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,string,bool)", p0, p1, p2, p3)); ignored; } function log(string memory p0, uint p1, string memory p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,string,address)", p0, p1, p2, p3)); ignored; } function log(string memory p0, uint p1, bool p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,bool,uint)", p0, p1, p2, p3)); ignored; } function log(string memory p0, uint p1, bool p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,bool,string)", p0, p1, p2, p3)); ignored; } function log(string memory p0, uint p1, bool p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,bool,bool)", p0, p1, p2, p3)); ignored; } function log(string memory p0, uint p1, bool p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,bool,address)", p0, p1, p2, p3)); ignored; } function log(string memory p0, uint p1, address p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,address,uint)", p0, p1, p2, p3)); ignored; } function log(string memory p0, uint p1, address p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,address,string)", p0, p1, p2, p3)); ignored; } function log(string memory p0, uint p1, address p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,address,bool)", p0, p1, p2, p3)); ignored; } function log(string memory p0, uint p1, address p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,uint,address,address)", p0, p1, p2, p3)); ignored; } function log(string memory p0, string memory p1, uint p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,uint,uint)", p0, p1, p2, p3)); ignored; } function log(string memory p0, string memory p1, uint p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,uint,string)", p0, p1, p2, p3)); ignored; } function log(string memory p0, string memory p1, uint p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,uint,bool)", p0, p1, p2, p3)); ignored; } function log(string memory p0, string memory p1, uint p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,uint,address)", p0, p1, p2, p3)); ignored; } function log(string memory p0, string memory p1, string memory p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,string,uint)", p0, p1, p2, p3)); ignored; } function log(string memory p0, string memory p1, string memory p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,string,string)", p0, p1, p2, p3)); ignored; } function log(string memory p0, string memory p1, string memory p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,string,bool)", p0, p1, p2, p3)); ignored; } function log(string memory p0, string memory p1, string memory p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,string,address)", p0, p1, p2, p3)); ignored; } function log(string memory p0, string memory p1, bool p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,bool,uint)", p0, p1, p2, p3)); ignored; } function log(string memory p0, string memory p1, bool p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,bool,string)", p0, p1, p2, p3)); ignored; } function log(string memory p0, string memory p1, bool p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,bool,bool)", p0, p1, p2, p3)); ignored; } function log(string memory p0, string memory p1, bool p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,bool,address)", p0, p1, p2, p3)); ignored; } function log(string memory p0, string memory p1, address p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,address,uint)", p0, p1, p2, p3)); ignored; } function log(string memory p0, string memory p1, address p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,address,string)", p0, p1, p2, p3)); ignored; } function log(string memory p0, string memory p1, address p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,address,bool)", p0, p1, p2, p3)); ignored; } function log(string memory p0, string memory p1, address p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,string,address,address)", p0, p1, p2, p3)); ignored; } function log(string memory p0, bool p1, uint p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,uint,uint)", p0, p1, p2, p3)); ignored; } function log(string memory p0, bool p1, uint p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,uint,string)", p0, p1, p2, p3)); ignored; } function log(string memory p0, bool p1, uint p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,uint,bool)", p0, p1, p2, p3)); ignored; } function log(string memory p0, bool p1, uint p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,uint,address)", p0, p1, p2, p3)); ignored; } function log(string memory p0, bool p1, string memory p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,string,uint)", p0, p1, p2, p3)); ignored; } function log(string memory p0, bool p1, string memory p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,string,string)", p0, p1, p2, p3)); ignored; } function log(string memory p0, bool p1, string memory p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,string,bool)", p0, p1, p2, p3)); ignored; } function log(string memory p0, bool p1, string memory p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,string,address)", p0, p1, p2, p3)); ignored; } function log(string memory p0, bool p1, bool p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,bool,uint)", p0, p1, p2, p3)); ignored; } function log(string memory p0, bool p1, bool p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,bool,string)", p0, p1, p2, p3)); ignored; } function log(string memory p0, bool p1, bool p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,bool,bool)", p0, p1, p2, p3)); ignored; } function log(string memory p0, bool p1, bool p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,bool,address)", p0, p1, p2, p3)); ignored; } function log(string memory p0, bool p1, address p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,address,uint)", p0, p1, p2, p3)); ignored; } function log(string memory p0, bool p1, address p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,address,string)", p0, p1, p2, p3)); ignored; } function log(string memory p0, bool p1, address p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,address,bool)", p0, p1, p2, p3)); ignored; } function log(string memory p0, bool p1, address p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,bool,address,address)", p0, p1, p2, p3)); ignored; } function log(string memory p0, address p1, uint p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,uint,uint)", p0, p1, p2, p3)); ignored; } function log(string memory p0, address p1, uint p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,uint,string)", p0, p1, p2, p3)); ignored; } function log(string memory p0, address p1, uint p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,uint,bool)", p0, p1, p2, p3)); ignored; } function log(string memory p0, address p1, uint p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,uint,address)", p0, p1, p2, p3)); ignored; } function log(string memory p0, address p1, string memory p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,string,uint)", p0, p1, p2, p3)); ignored; } function log(string memory p0, address p1, string memory p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,string,string)", p0, p1, p2, p3)); ignored; } function log(string memory p0, address p1, string memory p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,string,bool)", p0, p1, p2, p3)); ignored; } function log(string memory p0, address p1, string memory p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,string,address)", p0, p1, p2, p3)); ignored; } function log(string memory p0, address p1, bool p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,bool,uint)", p0, p1, p2, p3)); ignored; } function log(string memory p0, address p1, bool p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,bool,string)", p0, p1, p2, p3)); ignored; } function log(string memory p0, address p1, bool p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,bool,bool)", p0, p1, p2, p3)); ignored; } function log(string memory p0, address p1, bool p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,bool,address)", p0, p1, p2, p3)); ignored; } function log(string memory p0, address p1, address p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,address,uint)", p0, p1, p2, p3)); ignored; } function log(string memory p0, address p1, address p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,address,string)", p0, p1, p2, p3)); ignored; } function log(string memory p0, address p1, address p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,address,bool)", p0, p1, p2, p3)); ignored; } function log(string memory p0, address p1, address p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(string,address,address,address)", p0, p1, p2, p3)); ignored; } function log(bool p0, uint p1, uint p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,uint,uint)", p0, p1, p2, p3)); ignored; } function log(bool p0, uint p1, uint p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,uint,string)", p0, p1, p2, p3)); ignored; } function log(bool p0, uint p1, uint p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,uint,bool)", p0, p1, p2, p3)); ignored; } function log(bool p0, uint p1, uint p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,uint,address)", p0, p1, p2, p3)); ignored; } function log(bool p0, uint p1, string memory p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,string,uint)", p0, p1, p2, p3)); ignored; } function log(bool p0, uint p1, string memory p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,string,string)", p0, p1, p2, p3)); ignored; } function log(bool p0, uint p1, string memory p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,string,bool)", p0, p1, p2, p3)); ignored; } function log(bool p0, uint p1, string memory p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,string,address)", p0, p1, p2, p3)); ignored; } function log(bool p0, uint p1, bool p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,bool,uint)", p0, p1, p2, p3)); ignored; } function log(bool p0, uint p1, bool p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,bool,string)", p0, p1, p2, p3)); ignored; } function log(bool p0, uint p1, bool p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,bool,bool)", p0, p1, p2, p3)); ignored; } function log(bool p0, uint p1, bool p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,bool,address)", p0, p1, p2, p3)); ignored; } function log(bool p0, uint p1, address p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,address,uint)", p0, p1, p2, p3)); ignored; } function log(bool p0, uint p1, address p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,address,string)", p0, p1, p2, p3)); ignored; } function log(bool p0, uint p1, address p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,address,bool)", p0, p1, p2, p3)); ignored; } function log(bool p0, uint p1, address p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,uint,address,address)", p0, p1, p2, p3)); ignored; } function log(bool p0, string memory p1, uint p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,uint,uint)", p0, p1, p2, p3)); ignored; } function log(bool p0, string memory p1, uint p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,uint,string)", p0, p1, p2, p3)); ignored; } function log(bool p0, string memory p1, uint p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,uint,bool)", p0, p1, p2, p3)); ignored; } function log(bool p0, string memory p1, uint p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,uint,address)", p0, p1, p2, p3)); ignored; } function log(bool p0, string memory p1, string memory p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,string,uint)", p0, p1, p2, p3)); ignored; } function log(bool p0, string memory p1, string memory p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,string,string)", p0, p1, p2, p3)); ignored; } function log(bool p0, string memory p1, string memory p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,string,bool)", p0, p1, p2, p3)); ignored; } function log(bool p0, string memory p1, string memory p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,string,address)", p0, p1, p2, p3)); ignored; } function log(bool p0, string memory p1, bool p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,bool,uint)", p0, p1, p2, p3)); ignored; } function log(bool p0, string memory p1, bool p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,bool,string)", p0, p1, p2, p3)); ignored; } function log(bool p0, string memory p1, bool p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,bool,bool)", p0, p1, p2, p3)); ignored; } function log(bool p0, string memory p1, bool p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,bool,address)", p0, p1, p2, p3)); ignored; } function log(bool p0, string memory p1, address p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,address,uint)", p0, p1, p2, p3)); ignored; } function log(bool p0, string memory p1, address p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,address,string)", p0, p1, p2, p3)); ignored; } function log(bool p0, string memory p1, address p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,address,bool)", p0, p1, p2, p3)); ignored; } function log(bool p0, string memory p1, address p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,string,address,address)", p0, p1, p2, p3)); ignored; } function log(bool p0, bool p1, uint p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,uint,uint)", p0, p1, p2, p3)); ignored; } function log(bool p0, bool p1, uint p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,uint,string)", p0, p1, p2, p3)); ignored; } function log(bool p0, bool p1, uint p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,uint,bool)", p0, p1, p2, p3)); ignored; } function log(bool p0, bool p1, uint p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,uint,address)", p0, p1, p2, p3)); ignored; } function log(bool p0, bool p1, string memory p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,string,uint)", p0, p1, p2, p3)); ignored; } function log(bool p0, bool p1, string memory p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,string,string)", p0, p1, p2, p3)); ignored; } function log(bool p0, bool p1, string memory p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,string,bool)", p0, p1, p2, p3)); ignored; } function log(bool p0, bool p1, string memory p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,string,address)", p0, p1, p2, p3)); ignored; } function log(bool p0, bool p1, bool p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,bool,uint)", p0, p1, p2, p3)); ignored; } function log(bool p0, bool p1, bool p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,bool,string)", p0, p1, p2, p3)); ignored; } function log(bool p0, bool p1, bool p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,bool,bool)", p0, p1, p2, p3)); ignored; } function log(bool p0, bool p1, bool p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,bool,address)", p0, p1, p2, p3)); ignored; } function log(bool p0, bool p1, address p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,address,uint)", p0, p1, p2, p3)); ignored; } function log(bool p0, bool p1, address p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,address,string)", p0, p1, p2, p3)); ignored; } function log(bool p0, bool p1, address p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,address,bool)", p0, p1, p2, p3)); ignored; } function log(bool p0, bool p1, address p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,bool,address,address)", p0, p1, p2, p3)); ignored; } function log(bool p0, address p1, uint p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,uint,uint)", p0, p1, p2, p3)); ignored; } function log(bool p0, address p1, uint p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,uint,string)", p0, p1, p2, p3)); ignored; } function log(bool p0, address p1, uint p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,uint,bool)", p0, p1, p2, p3)); ignored; } function log(bool p0, address p1, uint p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,uint,address)", p0, p1, p2, p3)); ignored; } function log(bool p0, address p1, string memory p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,string,uint)", p0, p1, p2, p3)); ignored; } function log(bool p0, address p1, string memory p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,string,string)", p0, p1, p2, p3)); ignored; } function log(bool p0, address p1, string memory p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,string,bool)", p0, p1, p2, p3)); ignored; } function log(bool p0, address p1, string memory p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,string,address)", p0, p1, p2, p3)); ignored; } function log(bool p0, address p1, bool p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,bool,uint)", p0, p1, p2, p3)); ignored; } function log(bool p0, address p1, bool p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,bool,string)", p0, p1, p2, p3)); ignored; } function log(bool p0, address p1, bool p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,bool,bool)", p0, p1, p2, p3)); ignored; } function log(bool p0, address p1, bool p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,bool,address)", p0, p1, p2, p3)); ignored; } function log(bool p0, address p1, address p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,address,uint)", p0, p1, p2, p3)); ignored; } function log(bool p0, address p1, address p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,address,string)", p0, p1, p2, p3)); ignored; } function log(bool p0, address p1, address p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,address,bool)", p0, p1, p2, p3)); ignored; } function log(bool p0, address p1, address p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(bool,address,address,address)", p0, p1, p2, p3)); ignored; } function log(address p0, uint p1, uint p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,uint,uint)", p0, p1, p2, p3)); ignored; } function log(address p0, uint p1, uint p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,uint,string)", p0, p1, p2, p3)); ignored; } function log(address p0, uint p1, uint p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,uint,bool)", p0, p1, p2, p3)); ignored; } function log(address p0, uint p1, uint p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,uint,address)", p0, p1, p2, p3)); ignored; } function log(address p0, uint p1, string memory p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,string,uint)", p0, p1, p2, p3)); ignored; } function log(address p0, uint p1, string memory p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,string,string)", p0, p1, p2, p3)); ignored; } function log(address p0, uint p1, string memory p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,string,bool)", p0, p1, p2, p3)); ignored; } function log(address p0, uint p1, string memory p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,string,address)", p0, p1, p2, p3)); ignored; } function log(address p0, uint p1, bool p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,bool,uint)", p0, p1, p2, p3)); ignored; } function log(address p0, uint p1, bool p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,bool,string)", p0, p1, p2, p3)); ignored; } function log(address p0, uint p1, bool p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,bool,bool)", p0, p1, p2, p3)); ignored; } function log(address p0, uint p1, bool p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,bool,address)", p0, p1, p2, p3)); ignored; } function log(address p0, uint p1, address p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,address,uint)", p0, p1, p2, p3)); ignored; } function log(address p0, uint p1, address p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,address,string)", p0, p1, p2, p3)); ignored; } function log(address p0, uint p1, address p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,address,bool)", p0, p1, p2, p3)); ignored; } function log(address p0, uint p1, address p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,uint,address,address)", p0, p1, p2, p3)); ignored; } function log(address p0, string memory p1, uint p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,uint,uint)", p0, p1, p2, p3)); ignored; } function log(address p0, string memory p1, uint p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,uint,string)", p0, p1, p2, p3)); ignored; } function log(address p0, string memory p1, uint p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,uint,bool)", p0, p1, p2, p3)); ignored; } function log(address p0, string memory p1, uint p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,uint,address)", p0, p1, p2, p3)); ignored; } function log(address p0, string memory p1, string memory p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,string,uint)", p0, p1, p2, p3)); ignored; } function log(address p0, string memory p1, string memory p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,string,string)", p0, p1, p2, p3)); ignored; } function log(address p0, string memory p1, string memory p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,string,bool)", p0, p1, p2, p3)); ignored; } function log(address p0, string memory p1, string memory p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,string,address)", p0, p1, p2, p3)); ignored; } function log(address p0, string memory p1, bool p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,bool,uint)", p0, p1, p2, p3)); ignored; } function log(address p0, string memory p1, bool p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,bool,string)", p0, p1, p2, p3)); ignored; } function log(address p0, string memory p1, bool p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,bool,bool)", p0, p1, p2, p3)); ignored; } function log(address p0, string memory p1, bool p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,bool,address)", p0, p1, p2, p3)); ignored; } function log(address p0, string memory p1, address p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,address,uint)", p0, p1, p2, p3)); ignored; } function log(address p0, string memory p1, address p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,address,string)", p0, p1, p2, p3)); ignored; } function log(address p0, string memory p1, address p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,address,bool)", p0, p1, p2, p3)); ignored; } function log(address p0, string memory p1, address p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,string,address,address)", p0, p1, p2, p3)); ignored; } function log(address p0, bool p1, uint p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,uint,uint)", p0, p1, p2, p3)); ignored; } function log(address p0, bool p1, uint p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,uint,string)", p0, p1, p2, p3)); ignored; } function log(address p0, bool p1, uint p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,uint,bool)", p0, p1, p2, p3)); ignored; } function log(address p0, bool p1, uint p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,uint,address)", p0, p1, p2, p3)); ignored; } function log(address p0, bool p1, string memory p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,string,uint)", p0, p1, p2, p3)); ignored; } function log(address p0, bool p1, string memory p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,string,string)", p0, p1, p2, p3)); ignored; } function log(address p0, bool p1, string memory p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,string,bool)", p0, p1, p2, p3)); ignored; } function log(address p0, bool p1, string memory p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,string,address)", p0, p1, p2, p3)); ignored; } function log(address p0, bool p1, bool p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,bool,uint)", p0, p1, p2, p3)); ignored; } function log(address p0, bool p1, bool p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,bool,string)", p0, p1, p2, p3)); ignored; } function log(address p0, bool p1, bool p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,bool,bool)", p0, p1, p2, p3)); ignored; } function log(address p0, bool p1, bool p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,bool,address)", p0, p1, p2, p3)); ignored; } function log(address p0, bool p1, address p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,address,uint)", p0, p1, p2, p3)); ignored; } function log(address p0, bool p1, address p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,address,string)", p0, p1, p2, p3)); ignored; } function log(address p0, bool p1, address p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,address,bool)", p0, p1, p2, p3)); ignored; } function log(address p0, bool p1, address p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,bool,address,address)", p0, p1, p2, p3)); ignored; } function log(address p0, address p1, uint p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,uint,uint)", p0, p1, p2, p3)); ignored; } function log(address p0, address p1, uint p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,uint,string)", p0, p1, p2, p3)); ignored; } function log(address p0, address p1, uint p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,uint,bool)", p0, p1, p2, p3)); ignored; } function log(address p0, address p1, uint p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,uint,address)", p0, p1, p2, p3)); ignored; } function log(address p0, address p1, string memory p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,string,uint)", p0, p1, p2, p3)); ignored; } function log(address p0, address p1, string memory p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,string,string)", p0, p1, p2, p3)); ignored; } function log(address p0, address p1, string memory p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,string,bool)", p0, p1, p2, p3)); ignored; } function log(address p0, address p1, string memory p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,string,address)", p0, p1, p2, p3)); ignored; } function log(address p0, address p1, bool p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,bool,uint)", p0, p1, p2, p3)); ignored; } function log(address p0, address p1, bool p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,bool,string)", p0, p1, p2, p3)); ignored; } function log(address p0, address p1, bool p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,bool,bool)", p0, p1, p2, p3)); ignored; } function log(address p0, address p1, bool p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,bool,address)", p0, p1, p2, p3)); ignored; } function log(address p0, address p1, address p2, uint p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,address,uint)", p0, p1, p2, p3)); ignored; } function log(address p0, address p1, address p2, string memory p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,address,string)", p0, p1, p2, p3)); ignored; } function log(address p0, address p1, address p2, bool p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,address,bool)", p0, p1, p2, p3)); ignored; } function log(address p0, address p1, address p2, address p3) internal view { (bool ignored, ) = CONSOLE_ADDRESS.staticcall(abi.encodeWithSignature("log(address,address,address,address)", p0, p1, p2, p3)); ignored; } } // File: contracts/Dependencies/IUniswapV2Router.sol interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } // File: contracts/Interfaces/IUniswapFactory.sol interface IUniswapFactory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } // File: contracts/LQTY/LQTYToken.sol /* * Based upon OpenZeppelin's ERC20 contract: * https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol * * and their EIP2612 (ERC20Permit / ERC712) functionality: * https://github.com/OpenZeppelin/openzeppelin-contracts/blob/53516bc555a454862470e7860a9b5254db4d00f5/contracts/token/ERC20/ERC20Permit.sol * * * --- Functionality added specific to the LQTYToken --- * * 1) Transfer protection: blacklist of addresses that are invalid recipients (i.e. core Liquity contracts) in external * transfer() and transferFrom() calls. The purpose is to protect users from losing tokens by mistakenly sending LQTY directly to a Liquity * core contract, when they should rather call the right function. * * 2) sendToLQTYStaking(): callable only by Liquity core contracts, which move LQTY tokens from user -> LQTYStaking contract. * * 3) Supply hard-capped at 100 million * * 4) CommunityIssuance and LockupContractFactory addresses are set at deployment * * 5) The bug bounties / hackathons allocation of 2 million tokens is minted at deployment to an EOA * 6) 32 million tokens are minted at deployment to the CommunityIssuance contract * * 7) The LP rewards allocation of (1 + 1/3) million tokens is minted at deployent to a Staking contract * * 8) (64 + 2/3) million tokens are minted at deployment to the Liquity multisig * * 9) Until one year from deployment: * -Liquity multisig may only transfer() tokens to LockupContracts that have been deployed via & registered in the * LockupContractFactory * -approve(), increaseAllowance(), decreaseAllowance() revert when called by the multisig * -transferFrom() reverts when the multisig is the sender * -sendToLQTYStaking() reverts when the multisig is the sender, blocking the multisig from staking its LQTY. * * After one year has passed since deployment of the LQTYToken, the restrictions on multisig operations are lifted * and the multisig has the same rights as any other address. */ contract LQTYToken is CheckContract, ILQTYToken, Ownable { using SafeMath for uint256; struct TransferFee { uint256 threshold; uint256 stakingFee; uint256 deflationFee; } struct InitialAllocation { address communityIssuanceAddress; address LQTYlpRewardsAddress; address LUSDlpRewardsAddress; address multisigAddressForPUSDReward; address multisigAddressForTopDeFi; address multisigAddressForLiquidity; address lockInHalflifeAddress; } // --- ERC20 Data --- string constant internal _NAME = "PYQ"; string constant internal _SYMBOL = "PYQ"; string constant internal _VERSION = "1"; uint8 constant internal _DECIMALS = 18; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint private _totalSupply; // --- EIP 2612 Data --- // keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"); bytes32 private constant _PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9; // keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"); bytes32 private constant _TYPE_HASH = 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f; // Cache the domain separator as an immutable value, but also store the chain id that it corresponds to, in order to // invalidate the cached domain separator if the chain id changes. bytes32 private immutable _CACHED_DOMAIN_SEPARATOR; uint256 private immutable _CACHED_CHAIN_ID; bytes32 private immutable _HASHED_NAME; bytes32 private immutable _HASHED_VERSION; mapping(address => uint256) private _nonces; // --- LQTYToken specific data --- // uint for use with SafeMath uint internal _10_MILLION = 10 * 1e24; uint internal immutable deploymentStartTime; address public immutable communityIssuanceAddress; address public immutable lqtyStakingAddress; address public immutable uniswapV2RouterAddress; address public immutable uniswapV2PairAddress; // address public immutable multisigAddressForStableCoinDex; // address public immutable multisigAddressForLQTYHolders; // address public immutable multisigAddressForPartners; InitialAllocation public initialAllocationAddresses; // transfer fee TransferFee private transferFeeStage1 = TransferFee(997 * 1e24, 10, 15); TransferFee private transferFeeStage2 = TransferFee(700 * 1e24, 4, 1); TransferFee private transferFeeStage3 = TransferFee(0, 1, 0); uint private constant transferFeeDenominator = 100; mapping(address => bool) public _isExcludedFromFee; // --- Events --- event CommunityIssuanceAddressSet(address _communityIssuanceAddress); event LQTYStakingAddressSet(address _lqtyStakingAddress); event MultiSigAddressSet(address _multisigAddressForPUSDReward, address _multisigAddressForTopDeFi, address _multisigAddressForLiquidity); // --- Functions --- constructor ( address _lqtyStakingAddress, address _uniswapV2RouterAddress, address _liquidityTokenAddress, InitialAllocation memory _initialAllocationAddresses ) public { // --- Set Address --- checkContract(_lqtyStakingAddress); checkContract(_uniswapV2RouterAddress); checkContract(_liquidityTokenAddress); checkContract(_initialAllocationAddresses.communityIssuanceAddress); checkContract(_initialAllocationAddresses.LQTYlpRewardsAddress); checkContract(_initialAllocationAddresses.LUSDlpRewardsAddress); checkContract(_initialAllocationAddresses.lockInHalflifeAddress); checkContract(_initialAllocationAddresses.multisigAddressForPUSDReward); checkContract(_initialAllocationAddresses.multisigAddressForTopDeFi); checkContract(_initialAllocationAddresses.multisigAddressForLiquidity); deploymentStartTime = block.timestamp; initialAllocationAddresses = _initialAllocationAddresses; lqtyStakingAddress = _lqtyStakingAddress; communityIssuanceAddress = _initialAllocationAddresses.communityIssuanceAddress; uniswapV2RouterAddress = _uniswapV2RouterAddress; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(_uniswapV2RouterAddress); uniswapV2PairAddress = IUniswapFactory(_uniswapV2Router.factory()).createPair(address(this), _liquidityTokenAddress); emit CommunityIssuanceAddressSet(_initialAllocationAddresses.communityIssuanceAddress); emit LQTYStakingAddressSet(_lqtyStakingAddress); emit MultiSigAddressSet( _initialAllocationAddresses.multisigAddressForPUSDReward, _initialAllocationAddresses.multisigAddressForTopDeFi, _initialAllocationAddresses.multisigAddressForLiquidity ); // --- Set EIP 2612 Info --- bytes32 hashedName = keccak256(bytes(_NAME)); bytes32 hashedVersion = keccak256(bytes(_VERSION)); _HASHED_NAME = hashedName; _HASHED_VERSION = hashedVersion; _CACHED_CHAIN_ID = _chainID(); _CACHED_DOMAIN_SEPARATOR = _buildDomainSeparator(_TYPE_HASH, hashedName, hashedVersion); // --- Initial LQTY allocations --- uint depositorsAndFrontEndsEntitlement = _10_MILLION.mul(12); _mint(_initialAllocationAddresses.communityIssuanceAddress, depositorsAndFrontEndsEntitlement); uint LQTYlpRewardsEntitlement = _10_MILLION.mul(12); _mint(_initialAllocationAddresses.LQTYlpRewardsAddress, LQTYlpRewardsEntitlement); uint LUSDlpRewardsEntitlement = _10_MILLION.mul(2).div(10); _mint(_initialAllocationAddresses.LUSDlpRewardsAddress, LUSDlpRewardsEntitlement); uint teamAndDevelopers = _10_MILLION.mul(25); _mint(_initialAllocationAddresses.lockInHalflifeAddress, teamAndDevelopers); uint PUSDRewardEntitlement = _10_MILLION.mul(41); _mint(_initialAllocationAddresses.multisigAddressForPUSDReward, PUSDRewardEntitlement); uint topDeFiEntitlement = _10_MILLION.mul(9); _mint(_initialAllocationAddresses.multisigAddressForTopDeFi, topDeFiEntitlement); uint liquidityEntitlement = _10_MILLION.mul(8).div(10); _mint(_initialAllocationAddresses.multisigAddressForLiquidity, liquidityEntitlement); } function initWhiteList( address _halflifeAddress, address _addInitialLiquityAddress, address[] memory _otherLPRerwardsAddressList ) external onlyOwner { checkContract(_halflifeAddress); _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[communityIssuanceAddress] = true; _isExcludedFromFee[lqtyStakingAddress] = true; _isExcludedFromFee[uniswapV2RouterAddress] = true; _isExcludedFromFee[initialAllocationAddresses.multisigAddressForPUSDReward] = true; _isExcludedFromFee[initialAllocationAddresses.multisigAddressForTopDeFi] = true; _isExcludedFromFee[initialAllocationAddresses.multisigAddressForLiquidity] = true; _isExcludedFromFee[initialAllocationAddresses.LQTYlpRewardsAddress] = true; _isExcludedFromFee[initialAllocationAddresses.LUSDlpRewardsAddress] = true; _isExcludedFromFee[_halflifeAddress] = true; _isExcludedFromFee[_addInitialLiquityAddress] = true; for(uint i = 0; i < _otherLPRerwardsAddressList.length; i++) { address lpRewardsAddress = _otherLPRerwardsAddressList[i]; checkContract(lpRewardsAddress); _isExcludedFromFee[lpRewardsAddress] = true; } _renounceOwnership(); } // --- External functions --- function totalSupply() external view override returns (uint256) { return _totalSupply; } function balanceOf(address account) external view override returns (uint256) { return _balances[account]; } function getDeploymentStartTime() external view override returns (uint256) { return deploymentStartTime; } function transfer(address recipient, uint256 amount) external override returns (bool) { _requireValidRecipient(recipient); // Otherwise, standard transfer functionality _transfer(msg.sender, recipient, amount); return true; } function allowance(address owner, address spender) external view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) external override returns (bool) { _approve(msg.sender, spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { _requireValidRecipient(recipient); _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) external override returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) external override returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function sendToLQTYStaking(address _sender, uint256 _amount) external override { _requireCallerIsLQTYStaking(); _transfer(_sender, lqtyStakingAddress, _amount); } // --- EIP 2612 functionality --- function domainSeparator() public view override returns (bytes32) { if (_chainID() == _CACHED_CHAIN_ID) { return _CACHED_DOMAIN_SEPARATOR; } else { return _buildDomainSeparator(_TYPE_HASH, _HASHED_NAME, _HASHED_VERSION); } } function permit ( address owner, address spender, uint amount, uint deadline, uint8 v, bytes32 r, bytes32 s ) external override { require(deadline >= now, 'LQTY: expired deadline'); bytes32 digest = keccak256(abi.encodePacked('\x19\x01', domainSeparator(), keccak256(abi.encode( _PERMIT_TYPEHASH, owner, spender, amount, _nonces[owner]++, deadline)))); address recoveredAddress = ecrecover(digest, v, r, s); require(recoveredAddress == owner, 'LQTY: invalid signature'); _approve(owner, spender, amount); } function nonces(address owner) external view override returns (uint256) {// FOR EIP 2612 return _nonces[owner]; } // --- Internal operations --- function _chainID() private pure returns (uint256 chainID) { assembly { chainID := chainid() } } function _buildDomainSeparator(bytes32 typeHash, bytes32 name, bytes32 version) private view returns (bytes32) { return keccak256(abi.encode(typeHash, name, version, _chainID(), address(this))); } function _transfer(address sender, address recipient, uint256 amount) internal { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); bool isExcludedFromFee = (sender == uniswapV2PairAddress || _isExcludedFromFee[sender] || _isExcludedFromFee[recipient]); _tokenTransfer(sender, recipient, amount, isExcludedFromFee); } function _tokenTransfer(address sender, address recipient, uint256 amount, bool isExcludedFromFee) internal { if (!isExcludedFromFee) { (uint256 stakingFee, uint256 deflationFee) = _calculateFees(amount); if (deflationFee > 0) { _burn(sender, deflationFee); } if (stakingFee > 0) { _transferToLqtyStaking(sender, stakingFee); } amount = amount.sub(stakingFee).sub(deflationFee); } _transferStandard(sender, recipient, amount); } function _transferToLqtyStaking(address sender, uint256 amount) internal { _transferStandard(sender, lqtyStakingAddress, amount); ILQTYStaking(lqtyStakingAddress).increaseF_LQTY(amount); } function _calculateFees(uint256 amount) internal view returns (uint256, uint256){ TransferFee memory transferFee; if (_totalSupply > transferFeeStage1.threshold) { transferFee = transferFeeStage1; } else if (_totalSupply > transferFeeStage2.threshold) { transferFee = transferFeeStage2; } else { transferFee = transferFeeStage3; } uint256 stakingFee = amount.mul(transferFee.stakingFee).div(transferFeeDenominator); uint256 deflationFee = amount.mul(transferFee.deflationFee).div(transferFeeDenominator); return (stakingFee, deflationFee); } function _transferStandard(address sender, address recipient, uint256 amount) internal { _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal { require(account != address(0), "ERC20: mint to the zero address"); _totalSupply = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal { require(account != address(0), "ERC20: burn from the zero address"); _totalSupply = _totalSupply.sub(amount); _balances[account] = _balances[account].sub(amount); emit Transfer(account, address(0), amount); } function _approve(address owner, address spender, uint256 amount) internal { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } // --- 'require' functions --- function _requireValidRecipient(address _recipient) internal view { require( _recipient != address(0) && _recipient != address(this), "LQTY: Cannot transfer tokens directly to the LQTY token contract or the zero address" ); require( _recipient != communityIssuanceAddress && _recipient != lqtyStakingAddress, "LQTY: Cannot transfer tokens directly to the community issuance or staking contract" ); } function _requireCallerIsLQTYStaking() internal view { require(msg.sender == lqtyStakingAddress, "LQTYToken: caller must be the LQTYStaking contract"); } // --- Optional functions --- function name() external view override returns (string memory) { return _NAME; } function symbol() external view override returns (string memory) { return _SYMBOL; } function decimals() external view override returns (uint8) { return _DECIMALS; } function version() external view override returns (string memory) { return _VERSION; } function permitTypeHash() external view override returns (bytes32) { return _PERMIT_TYPEHASH; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_lqtyStakingAddress","type":"address"},{"internalType":"address","name":"_uniswapV2RouterAddress","type":"address"},{"internalType":"address","name":"_liquidityTokenAddress","type":"address"},{"components":[{"internalType":"address","name":"communityIssuanceAddress","type":"address"},{"internalType":"address","name":"LQTYlpRewardsAddress","type":"address"},{"internalType":"address","name":"LUSDlpRewardsAddress","type":"address"},{"internalType":"address","name":"multisigAddressForPUSDReward","type":"address"},{"internalType":"address","name":"multisigAddressForTopDeFi","type":"address"},{"internalType":"address","name":"multisigAddressForLiquidity","type":"address"},{"internalType":"address","name":"lockInHalflifeAddress","type":"address"}],"internalType":"struct LQTYToken.InitialAllocation","name":"_initialAllocationAddresses","type":"tuple"}],"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":"address","name":"_communityIssuanceAddress","type":"address"}],"name":"CommunityIssuanceAddressSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_lqtyStakingAddress","type":"address"}],"name":"LQTYStakingAddressSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_lockupContractFactoryAddress","type":"address"}],"name":"LockupContractFactoryAddressSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_multisigAddressForPUSDReward","type":"address"},{"indexed":false,"internalType":"address","name":"_multisigAddressForTopDeFi","type":"address"},{"indexed":false,"internalType":"address","name":"_multisigAddressForLiquidity","type":"address"}],"name":"MultiSigAddressSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ftmReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","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":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"communityIssuanceAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"domainSeparator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDeploymentStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_halflifeAddress","type":"address"},{"internalType":"address","name":"_addInitialLiquityAddress","type":"address"},{"internalType":"address[]","name":"_otherLPRerwardsAddressList","type":"address[]"}],"name":"initWhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialAllocationAddresses","outputs":[{"internalType":"address","name":"communityIssuanceAddress","type":"address"},{"internalType":"address","name":"LQTYlpRewardsAddress","type":"address"},{"internalType":"address","name":"LUSDlpRewardsAddress","type":"address"},{"internalType":"address","name":"multisigAddressForPUSDReward","type":"address"},{"internalType":"address","name":"multisigAddressForTopDeFi","type":"address"},{"internalType":"address","name":"multisigAddressForLiquidity","type":"address"},{"internalType":"address","name":"lockInHalflifeAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lqtyStakingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"permitTypeHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"sendToLQTYStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2PairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2RouterAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6a084595161401484a0000006005556b0338b2f64c641974050000006101a0819052600a6101c0819052600f6101e0819052600d92909255600e5580556b024306c4097859c43c0000006102008190526004610220819052600161024081905260109290925560115560128190556102c060405260006102608190526102808290526102a08190526013819055601491909155601555348015620000a257600080fd5b5060405162002ba238038062002ba2833981016040819052620000c591620009a8565b600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a362000118846001600160e01b03620006fb16565b6200012c836001600160e01b03620006fb16565b62000140826001600160e01b03620006fb16565b805162000156906001600160e01b03620006fb16565b60208101516200016f906001600160e01b03620006fb16565b604081015162000188906001600160e01b03620006fb16565b60c0810151620001a1906001600160e01b03620006fb16565b6060810151620001ba906001600160e01b03620006fb16565b6080810151620001d3906001600160e01b03620006fb16565b60a0810151620001ec906001600160e01b03620006fb16565b42610100528051600680546001600160a01b03199081166001600160a01b03938416179091556020808401516007805484169185169190911790556040808501516008805485169186169190911790556060808601516009805486169187169190911790556080860151600a8054861691871691909117905560a0860151600b8054861691871691909117905560c0860151600c80549095169086161790935587831b6001600160601b0319908116610140528551841b8116610120529287901b90921661016052815163c45a015560e01b81529151869384169263c45a0155926004808301939192829003018186803b158015620002ea57600080fd5b505afa158015620002ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032591906200098a565b6001600160a01b031663c9c6539630856040518363ffffffff1660e01b81526004016200035492919062000acf565b602060405180830381600087803b1580156200036f57600080fd5b505af115801562000384573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003aa91906200098a565b60601b6001600160601b0319166101805281516040517f3d2d65171cd82be2a82a4c8559f66bc443ecd480dffeacc3cf52caf9963e9a6f91620003ed9162000abb565b60405180910390a17fc03bd56bd5702c36b067ffe5fbcb0a58301813a6be63b16b7944b8181539de458560405162000426919062000abb565b60405180910390a17fa95a0581483c6c78f2568d6e45466fe8e47bb91f5033ed85a8dd5e4978293463826060015183608001518460a001516040516200046f9392919062000ae9565b60405180910390a1604080518082018252600381526250595160e81b602091820152815180830190925260018252603160f81b9101527f952aafc821983cfc01bac239446d5e6a74bd9c1a9490fea27b8c585f6371b2e860c08190527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660e0819052620005046001600160e01b036200075316565b60a0526200053d7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83836001600160e01b036200075716565b60808181525050600062000563600c600554620007a560201b62000c431790919060201c565b85519091506200057d90826001600160e01b03620007ee16565b60006200059c600c600554620007a560201b62000c431790919060201c565b9050620005b4866020015182620007ee60201b60201c565b6000620005ed600a620005d96002600554620007a560201b62000c431790919060201c565b620008c560201b62000c841790919060201c565b905062000605876040015182620007ee60201b60201c565b6000620006246019600554620007a560201b62000c431790919060201c565b90506200063c8860c0015182620007ee60201b60201c565b60006200065b6029600554620007a560201b62000c431790919060201c565b905062000673896060015182620007ee60201b60201c565b6000620006926009600554620007a560201b62000c431790919060201c565b9050620006aa8a6080015182620007ee60201b60201c565b6000620006cf600a620005d96008600554620007a560201b62000c431790919060201c565b9050620006e78b60a0015182620007ee60201b60201c565b505050505050505050505050505062000cb2565b6001600160a01b0381166200072d5760405162461bcd60e51b8152600401620007249062000bc5565b60405180910390fd5b803b806200074f5760405162461bcd60e51b8152600401620007249062000c3d565b5050565b4690565b60008383836200076f6001600160e01b036200075316565b306040516020016200078695949392919062000b0c565b6040516020818303038152906040528051906020012090509392505050565b600082620007b657506000620007e8565b82820282848281620007c457fe5b0414620007e55760405162461bcd60e51b8152600401620007249062000bfc565b90505b92915050565b6001600160a01b038216620008175760405162461bcd60e51b8152600401620007249062000c72565b62000833816003546200090f60201b62000cc61790919060201c565b6003556001600160a01b0382166000908152600160209081526040909120546200086891839062000cc66200090f821b17901c565b6001600160a01b0383166000818152600160205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620008b990859062000ca9565b60405180910390a35050565b6000620007e583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200093760201b60201c565b600082820183811015620007e55760405162461bcd60e51b8152600401620007249062000b8e565b600081836200095b5760405162461bcd60e51b815260040162000724919062000b38565b5060008385816200096857fe5b0495945050505050565b80516001600160a01b0381168114620007e857600080fd5b6000602082840312156200099c578081fd5b620007e5838362000972565b600080600080848603610140811215620009c0578384fd5b620009cc878762000972565b9450620009dd876020880162000972565b9350620009ee876040880162000972565b925060e0605f198201121562000a02578182fd5b5060405160e081016001600160401b038111828210171562000a22578283fd5b60405262000a34876060880162000972565b815262000a45876080880162000972565b602082015262000a598760a0880162000972565b604082015262000a6d8760c0880162000972565b606082015262000a818760e0880162000972565b608082015262000a9687610100880162000972565b60a082015262000aab87610120880162000972565b60c0820152939692955090935050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b6000602080835283518082850152825b8181101562000b665785810183015185820160400152820162000b48565b8181111562000b785783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b60805160a05160c05160e051610100516101205160601c6101405160601c6101605160601c6101805160601c611e4a62000d58600039806105b45280610ebf52508061063d528061080c5250806106ec52806107dc5280610b505280610e1b528061102a52806112f9528061134e5250806107ac5280610af55280610dde525080610619525080610c18525080610bf7525080610b7d525080610bad5250611e4a6000f3fe6080604052600436106101b05760003560e01c8063761ab22c116100ec578063a457c2d71161008a578063d874ea7411610064578063d874ea7414610457578063dd62ed3e1461046c578063f3a2568b1461048c578063f698da25146104ac576101b7565b8063a457c2d7146103f7578063a9059cbb14610417578063d505accf14610437576101b7565b80638da5cb5b116100c65780638da5cb5b146103ab5780638e6ce4b4146103c05780638f32d59b146103e257806395d89b41146101bc576101b7565b8063761ab22c14610356578063768dc7101461036b5780637ecebe001461038b576101b7565b8063313ce567116101595780634a377e1d116101335780634a377e1d146102e457806354fd4d50146102f9578063625403481461030e57806370a0823114610336576101b7565b8063313ce5671461028d57806339509351146102af5780633c84b7c2146102cf576101b7565b806318160ddd1161018a57806318160ddd1461023657806323b872dd1461024b5780632b653d441461026b576101b7565b806306fdde03146101bc578063095ea7b3146101e757806310ce43bd14610214576101b7565b366101b757005b600080fd5b3480156101c857600080fd5b506101d16104c1565b6040516101de919061180d565b60405180910390f35b3480156101f357600080fd5b506102076102023660046116c6565b6104f9565b6040516101de919061177b565b34801561022057600080fd5b50610229610510565b6040516101de9190611786565b34801561024257600080fd5b50610229610534565b34801561025757600080fd5b50610207610266366004611613565b61053a565b34801561027757600080fd5b506102806105b2565b6040516101de9190611726565b34801561029957600080fd5b506102a26105d6565b6040516101de9190611d37565b3480156102bb57600080fd5b506102076102ca3660046116c6565b6105db565b3480156102db57600080fd5b50610229610617565b3480156102f057600080fd5b5061028061063b565b34801561030557600080fd5b506101d161065f565b34801561031a57600080fd5b50610323610696565b6040516101de979695949392919061173a565b34801561034257600080fd5b506102296103513660046114fd565b6106cf565b34801561036257600080fd5b506102806106ea565b34801561037757600080fd5b506102076103863660046114fd565b61070e565b34801561039757600080fd5b506102296103a63660046114fd565b610723565b3480156103b757600080fd5b5061028061073e565b3480156103cc57600080fd5b506103e06103db36600461154c565b61074d565b005b3480156103ee57600080fd5b50610207610917565b34801561040357600080fd5b506102076104123660046116c6565b610928565b34801561042357600080fd5b506102076104323660046116c6565b61097d565b34801561044357600080fd5b506103e0610452366004611653565b610993565b34801561046357600080fd5b50610280610af3565b34801561047857600080fd5b50610229610487366004611518565b610b17565b34801561049857600080fd5b506103e06104a73660046116c6565b610b42565b3480156104b857600080fd5b50610229610b79565b60408051808201909152600381527f505951000000000000000000000000000000000000000000000000000000000060208201525b90565b6000610506338484610ceb565b5060015b92915050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60035490565b600061054583610d9f565b610550848484610e6f565b6105a884336105a385604051806060016040528060288152602001611dc8602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919063ffffffff610f4c16565b610ceb565b5060019392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b601290565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916105069185906105a3908663ffffffff610cc616565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60408051808201909152600181527f3100000000000000000000000000000000000000000000000000000000000000602082015290565b600654600754600854600954600a54600b54600c546001600160a01b039687169695861695948516949384169392831692918216911687565b6001600160a01b031660009081526001602052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b60166020526000908152604090205460ff1681565b6001600160a01b031660009081526004602052604090205490565b6000546001600160a01b031690565b610755610917565b61077a5760405162461bcd60e51b815260040161077190611a1c565b60405180910390fd5b61078383610f78565b306000908152601660205260408082208054600160ff1991821681179092556001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116855283852080548316841790557f00000000000000000000000000000000000000000000000000000000000000008116855283852080548316841790557f0000000000000000000000000000000000000000000000000000000000000000811685528385208054831684179055600954811685528385208054831684179055600a54811685528385208054831684179055600b54811685528385208054831684179055600754811685528385208054831684179055600854811685528385208054831684179055878116855283852080548316841790558616845291832080549092161790555b81518110156109095760008282815181106108cb57fe5b602002602001015190506108de81610f78565b6001600160a01b03166000908152601660205260409020805460ff19166001908117909155016108b4565b50610912610fbd565b505050565b6000546001600160a01b0316331490565b600061050633846105a385604051806060016040528060258152602001611df0602591393360009081526002602090815260408083206001600160a01b038d168452909152902054919063ffffffff610f4c16565b600061098883610d9f565b610506338484610e6f565b428410156109b35760405162461bcd60e51b815260040161077190611c48565b60006109bd610b79565b6001600160a01b0389166000908152600460209081526040918290208054600181019091559151610a1a927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290918d910161178f565b60405160208183030381529060405280519060200120604051602001610a419291906116f0565b604051602081830303815290604052805190602001209050600060018286868660405160008152602001604052604051610a7e94939291906117ef565b6020604051602081039080840390855afa158015610aa0573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610add5760405162461bcd60e51b815260040161077190611951565b610ae8898989610ceb565b505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b610b4a61101f565b610b75827f000000000000000000000000000000000000000000000000000000000000000083610e6f565b5050565b60007f0000000000000000000000000000000000000000000000000000000000000000610ba4611069565b1415610bd157507f00000000000000000000000000000000000000000000000000000000000000006104f6565b610c3c7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061106d565b90506104f6565b600082610c525750600061050a565b82820282848281610c5f57fe5b0414610c7d5760405162461bcd60e51b8152600401610771906119bf565b9392505050565b6000610c7d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110ae565b600082820183811015610c7d5760405162461bcd60e51b81526004016107719061191a565b6001600160a01b038316610d115760405162461bcd60e51b815260040161077190611b0b565b6001600160a01b038216610d375760405162461bcd60e51b8152600401610771906118bd565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610d92908590611786565b60405180910390a3505050565b6001600160a01b03811615801590610dc057506001600160a01b0381163014155b610ddc5760405162461bcd60e51b815260040161077190611bc5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614158015610e5057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b610e6c5760405162461bcd60e51b815260040161077190611c7f565b50565b6001600160a01b038316610e955760405162461bcd60e51b815260040161077190611aae565b6001600160a01b038216610ebb5760405162461bcd60e51b815260040161077190611860565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b03161480610f1557506001600160a01b03841660009081526016602052604090205460ff165b80610f3857506001600160a01b03831660009081526016602052604090205460ff165b9050610f46848484846110e5565b50505050565b60008184841115610f705760405162461bcd60e51b8152600401610771919061180d565b505050900390565b6001600160a01b038116610f9e5760405162461bcd60e51b815260040161077190611988565b803b80610b755760405162461bcd60e51b815260040161077190611d02565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110675760405162461bcd60e51b815260040161077190611b68565b565b4690565b600083838361107a611069565b3060405160200161108f9594939291906117c3565b6040516020818303038152906040528051906020012090509392505050565b600081836110cf5760405162461bcd60e51b8152600401610771919061180d565b5060008385816110db57fe5b0495945050505050565b80611140576000806110f68461114b565b9092509050801561110b5761110b8682611236565b811561111b5761111b86836112f3565b61113b8161112f868563ffffffff6113b916565b9063ffffffff6113b916565b935050505b610f468484846113fb565b6000806111566114c5565b600d546003541115611189575060408051606081018252600d548152600e546020820152600f54918101919091526111df565b60105460035411156111bc57506040805160608101825260105481526011546020820152601254918101919091526111df565b506040805160608101825260135481526014546020820152601554918101919091525b600061120960646111fd846020015188610c4390919063ffffffff16565b9063ffffffff610c8416565b9050600061122960646111fd856040015189610c4390919063ffffffff16565b9194509092505050915091565b6001600160a01b03821661125c5760405162461bcd60e51b815260040161077190611a51565b60035461126f908263ffffffff6113b916565b6003556001600160a01b03821660009081526001602052604090205461129b908263ffffffff6113b916565b6001600160a01b0383166000818152600160205260408082209390935591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112e7908590611786565b60405180910390a35050565b61131e827f0000000000000000000000000000000000000000000000000000000000000000836113fb565b6040517fdb45ba080000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063db45ba0890611383908490600401611786565b600060405180830381600087803b15801561139d57600080fd5b505af11580156113b1573d6000803e3d6000fd5b505050505050565b6000610c7d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f4c565b61143e81604051806060016040528060268152602001611da2602691396001600160a01b038616600090815260016020526040902054919063ffffffff610f4c16565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611473908263ffffffff610cc616565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d92908590611786565b60405180606001604052806000815260200160008152602001600081525090565b80356001600160a01b038116811461050a57600080fd5b60006020828403121561150e578081fd5b610c7d83836114e6565b6000806040838503121561152a578081fd5b61153484846114e6565b915061154384602085016114e6565b90509250929050565b600080600060608486031215611560578081fd5b833561156b81611d8c565b925060208481013561157c81611d8c565b9250604085013567ffffffffffffffff811115611597578283fd5b80860187601f8201126115a8578384fd5b803591506115bd6115b883611d6c565b611d45565b82815283810190828501858502840186018b10156115d9578687fd5b8693505b84841015611603576115ef8b826114e6565b8352600193909301929185019185016115dd565b5080955050505050509250925092565b600080600060608486031215611627578283fd5b833561163281611d8c565b9250602084013561164281611d8c565b929592945050506040919091013590565b600080600080600080600060e0888a03121561166d578283fd5b61167789896114e6565b96506116868960208a016114e6565b95506040880135945060608801359350608088013560ff811681146116a9578384fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156116d8578182fd5b6116e284846114e6565b946020939093013593505050565b7f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03978816815295871660208701529386166040860152918516606085015284166080840152831660a083015290911660c082015260e00190565b901515815260200190565b90815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b6000602080835283518082850152825b818110156118395785810183015185820160400152820161181d565b8181111561184a5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f4c5154593a20696e76616c6964207369676e6174757265000000000000000000604082015260600190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60408201527f7700000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360408201527f7300000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526032908201527f4c515459546f6b656e3a2063616c6c6572206d75737420626520746865204c5160408201527f54595374616b696e6720636f6e74726163740000000000000000000000000000606082015260800190565b60208082526054908201527f4c5154593a2043616e6e6f74207472616e7366657220746f6b656e732064697260408201527f6563746c7920746f20746865204c51545920746f6b656e20636f6e747261637460608201527f206f7220746865207a65726f2061646472657373000000000000000000000000608082015260a00190565b60208082526016908201527f4c5154593a206578706972656420646561646c696e6500000000000000000000604082015260600190565b60208082526053908201527f4c5154593a2043616e6e6f74207472616e7366657220746f6b656e732064697260408201527f6563746c7920746f2074686520636f6d6d756e6974792069737375616e63652060608201527f6f72207374616b696e6720636f6e747261637400000000000000000000000000608082015260a00190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60ff91909116815260200190565b60405181810167ffffffffffffffff81118282101715611d6457600080fd5b604052919050565b600067ffffffffffffffff821115611d82578081fd5b5060209081020190565b6001600160a01b0381168114610e6c57600080fdfe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204b35a10bde8b653df88fcfb26e308b84f52c1cbc6598109177eb11f0c2e3a07d64736f6c634300060b0033000000000000000000000000f2f4326e96ccc834216a7f95b96bd512398800480000000000000000000000001b02da8cb0d097eb8d57a175b88c7d8b479975060000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa84174000000000000000000000000a979d0bdabeab79e21f28cdb679ff175fab421120000000000000000000000002b8e5367628df1481be945b685adf0968f1965e7000000000000000000000000cb881b62a97cb733d01c59eb8326b239e283e6a40000000000000000000000008d63b25e0728e5b9c1d90b6a5f924f5771517947000000000000000000000000e431f5b1fabacf2558f27395c47e30467c780bd2000000000000000000000000f89e6a4dccd475729988728f57668da1b18eff94000000000000000000000000e55943b7ef657fff2f684d4ce90ed26cd765f198
Deployed Bytecode
0x6080604052600436106101b05760003560e01c8063761ab22c116100ec578063a457c2d71161008a578063d874ea7411610064578063d874ea7414610457578063dd62ed3e1461046c578063f3a2568b1461048c578063f698da25146104ac576101b7565b8063a457c2d7146103f7578063a9059cbb14610417578063d505accf14610437576101b7565b80638da5cb5b116100c65780638da5cb5b146103ab5780638e6ce4b4146103c05780638f32d59b146103e257806395d89b41146101bc576101b7565b8063761ab22c14610356578063768dc7101461036b5780637ecebe001461038b576101b7565b8063313ce567116101595780634a377e1d116101335780634a377e1d146102e457806354fd4d50146102f9578063625403481461030e57806370a0823114610336576101b7565b8063313ce5671461028d57806339509351146102af5780633c84b7c2146102cf576101b7565b806318160ddd1161018a57806318160ddd1461023657806323b872dd1461024b5780632b653d441461026b576101b7565b806306fdde03146101bc578063095ea7b3146101e757806310ce43bd14610214576101b7565b366101b757005b600080fd5b3480156101c857600080fd5b506101d16104c1565b6040516101de919061180d565b60405180910390f35b3480156101f357600080fd5b506102076102023660046116c6565b6104f9565b6040516101de919061177b565b34801561022057600080fd5b50610229610510565b6040516101de9190611786565b34801561024257600080fd5b50610229610534565b34801561025757600080fd5b50610207610266366004611613565b61053a565b34801561027757600080fd5b506102806105b2565b6040516101de9190611726565b34801561029957600080fd5b506102a26105d6565b6040516101de9190611d37565b3480156102bb57600080fd5b506102076102ca3660046116c6565b6105db565b3480156102db57600080fd5b50610229610617565b3480156102f057600080fd5b5061028061063b565b34801561030557600080fd5b506101d161065f565b34801561031a57600080fd5b50610323610696565b6040516101de979695949392919061173a565b34801561034257600080fd5b506102296103513660046114fd565b6106cf565b34801561036257600080fd5b506102806106ea565b34801561037757600080fd5b506102076103863660046114fd565b61070e565b34801561039757600080fd5b506102296103a63660046114fd565b610723565b3480156103b757600080fd5b5061028061073e565b3480156103cc57600080fd5b506103e06103db36600461154c565b61074d565b005b3480156103ee57600080fd5b50610207610917565b34801561040357600080fd5b506102076104123660046116c6565b610928565b34801561042357600080fd5b506102076104323660046116c6565b61097d565b34801561044357600080fd5b506103e0610452366004611653565b610993565b34801561046357600080fd5b50610280610af3565b34801561047857600080fd5b50610229610487366004611518565b610b17565b34801561049857600080fd5b506103e06104a73660046116c6565b610b42565b3480156104b857600080fd5b50610229610b79565b60408051808201909152600381527f505951000000000000000000000000000000000000000000000000000000000060208201525b90565b6000610506338484610ceb565b5060015b92915050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60035490565b600061054583610d9f565b610550848484610e6f565b6105a884336105a385604051806060016040528060288152602001611dc8602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919063ffffffff610f4c16565b610ceb565b5060019392505050565b7f000000000000000000000000d3924ad8f881514eff89503be9027b877e9e2bd081565b601290565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916105069185906105a3908663ffffffff610cc616565b7f0000000000000000000000000000000000000000000000000000000060d8791690565b7f0000000000000000000000001b02da8cb0d097eb8d57a175b88c7d8b4799750681565b60408051808201909152600181527f3100000000000000000000000000000000000000000000000000000000000000602082015290565b600654600754600854600954600a54600b54600c546001600160a01b039687169695861695948516949384169392831692918216911687565b6001600160a01b031660009081526001602052604090205490565b7f000000000000000000000000f2f4326e96ccc834216a7f95b96bd5123988004881565b60166020526000908152604090205460ff1681565b6001600160a01b031660009081526004602052604090205490565b6000546001600160a01b031690565b610755610917565b61077a5760405162461bcd60e51b815260040161077190611a1c565b60405180910390fd5b61078383610f78565b306000908152601660205260408082208054600160ff1991821681179092556001600160a01b037f000000000000000000000000a979d0bdabeab79e21f28cdb679ff175fab421128116855283852080548316841790557f000000000000000000000000f2f4326e96ccc834216a7f95b96bd512398800488116855283852080548316841790557f0000000000000000000000001b02da8cb0d097eb8d57a175b88c7d8b47997506811685528385208054831684179055600954811685528385208054831684179055600a54811685528385208054831684179055600b54811685528385208054831684179055600754811685528385208054831684179055600854811685528385208054831684179055878116855283852080548316841790558616845291832080549092161790555b81518110156109095760008282815181106108cb57fe5b602002602001015190506108de81610f78565b6001600160a01b03166000908152601660205260409020805460ff19166001908117909155016108b4565b50610912610fbd565b505050565b6000546001600160a01b0316331490565b600061050633846105a385604051806060016040528060258152602001611df0602591393360009081526002602090815260408083206001600160a01b038d168452909152902054919063ffffffff610f4c16565b600061098883610d9f565b610506338484610e6f565b428410156109b35760405162461bcd60e51b815260040161077190611c48565b60006109bd610b79565b6001600160a01b0389166000908152600460209081526040918290208054600181019091559151610a1a927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290918d910161178f565b60405160208183030381529060405280519060200120604051602001610a419291906116f0565b604051602081830303815290604052805190602001209050600060018286868660405160008152602001604052604051610a7e94939291906117ef565b6020604051602081039080840390855afa158015610aa0573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610add5760405162461bcd60e51b815260040161077190611951565b610ae8898989610ceb565b505050505050505050565b7f000000000000000000000000a979d0bdabeab79e21f28cdb679ff175fab4211281565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b610b4a61101f565b610b75827f000000000000000000000000f2f4326e96ccc834216a7f95b96bd5123988004883610e6f565b5050565b60007f0000000000000000000000000000000000000000000000000000000000000089610ba4611069565b1415610bd157507f27faad8aba0e0bb065977f28a801590e4161ca26bc648214489275c46392fbe56104f6565b610c3c7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f952aafc821983cfc01bac239446d5e6a74bd9c1a9490fea27b8c585f6371b2e87fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc661106d565b90506104f6565b600082610c525750600061050a565b82820282848281610c5f57fe5b0414610c7d5760405162461bcd60e51b8152600401610771906119bf565b9392505050565b6000610c7d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110ae565b600082820183811015610c7d5760405162461bcd60e51b81526004016107719061191a565b6001600160a01b038316610d115760405162461bcd60e51b815260040161077190611b0b565b6001600160a01b038216610d375760405162461bcd60e51b8152600401610771906118bd565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610d92908590611786565b60405180910390a3505050565b6001600160a01b03811615801590610dc057506001600160a01b0381163014155b610ddc5760405162461bcd60e51b815260040161077190611bc5565b7f000000000000000000000000a979d0bdabeab79e21f28cdb679ff175fab421126001600160a01b0316816001600160a01b031614158015610e5057507f000000000000000000000000f2f4326e96ccc834216a7f95b96bd512398800486001600160a01b0316816001600160a01b031614155b610e6c5760405162461bcd60e51b815260040161077190611c7f565b50565b6001600160a01b038316610e955760405162461bcd60e51b815260040161077190611aae565b6001600160a01b038216610ebb5760405162461bcd60e51b815260040161077190611860565b60007f000000000000000000000000d3924ad8f881514eff89503be9027b877e9e2bd06001600160a01b0316846001600160a01b03161480610f1557506001600160a01b03841660009081526016602052604090205460ff165b80610f3857506001600160a01b03831660009081526016602052604090205460ff165b9050610f46848484846110e5565b50505050565b60008184841115610f705760405162461bcd60e51b8152600401610771919061180d565b505050900390565b6001600160a01b038116610f9e5760405162461bcd60e51b815260040161077190611988565b803b80610b755760405162461bcd60e51b815260040161077190611d02565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b336001600160a01b037f000000000000000000000000f2f4326e96ccc834216a7f95b96bd5123988004816146110675760405162461bcd60e51b815260040161077190611b68565b565b4690565b600083838361107a611069565b3060405160200161108f9594939291906117c3565b6040516020818303038152906040528051906020012090509392505050565b600081836110cf5760405162461bcd60e51b8152600401610771919061180d565b5060008385816110db57fe5b0495945050505050565b80611140576000806110f68461114b565b9092509050801561110b5761110b8682611236565b811561111b5761111b86836112f3565b61113b8161112f868563ffffffff6113b916565b9063ffffffff6113b916565b935050505b610f468484846113fb565b6000806111566114c5565b600d546003541115611189575060408051606081018252600d548152600e546020820152600f54918101919091526111df565b60105460035411156111bc57506040805160608101825260105481526011546020820152601254918101919091526111df565b506040805160608101825260135481526014546020820152601554918101919091525b600061120960646111fd846020015188610c4390919063ffffffff16565b9063ffffffff610c8416565b9050600061122960646111fd856040015189610c4390919063ffffffff16565b9194509092505050915091565b6001600160a01b03821661125c5760405162461bcd60e51b815260040161077190611a51565b60035461126f908263ffffffff6113b916565b6003556001600160a01b03821660009081526001602052604090205461129b908263ffffffff6113b916565b6001600160a01b0383166000818152600160205260408082209390935591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112e7908590611786565b60405180910390a35050565b61131e827f000000000000000000000000f2f4326e96ccc834216a7f95b96bd51239880048836113fb565b6040517fdb45ba080000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000f2f4326e96ccc834216a7f95b96bd51239880048169063db45ba0890611383908490600401611786565b600060405180830381600087803b15801561139d57600080fd5b505af11580156113b1573d6000803e3d6000fd5b505050505050565b6000610c7d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f4c565b61143e81604051806060016040528060268152602001611da2602691396001600160a01b038616600090815260016020526040902054919063ffffffff610f4c16565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611473908263ffffffff610cc616565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d92908590611786565b60405180606001604052806000815260200160008152602001600081525090565b80356001600160a01b038116811461050a57600080fd5b60006020828403121561150e578081fd5b610c7d83836114e6565b6000806040838503121561152a578081fd5b61153484846114e6565b915061154384602085016114e6565b90509250929050565b600080600060608486031215611560578081fd5b833561156b81611d8c565b925060208481013561157c81611d8c565b9250604085013567ffffffffffffffff811115611597578283fd5b80860187601f8201126115a8578384fd5b803591506115bd6115b883611d6c565b611d45565b82815283810190828501858502840186018b10156115d9578687fd5b8693505b84841015611603576115ef8b826114e6565b8352600193909301929185019185016115dd565b5080955050505050509250925092565b600080600060608486031215611627578283fd5b833561163281611d8c565b9250602084013561164281611d8c565b929592945050506040919091013590565b600080600080600080600060e0888a03121561166d578283fd5b61167789896114e6565b96506116868960208a016114e6565b95506040880135945060608801359350608088013560ff811681146116a9578384fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156116d8578182fd5b6116e284846114e6565b946020939093013593505050565b7f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03978816815295871660208701529386166040860152918516606085015284166080840152831660a083015290911660c082015260e00190565b901515815260200190565b90815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b6000602080835283518082850152825b818110156118395785810183015185820160400152820161181d565b8181111561184a5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f4c5154593a20696e76616c6964207369676e6174757265000000000000000000604082015260600190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60408201527f7700000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360408201527f7300000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526032908201527f4c515459546f6b656e3a2063616c6c6572206d75737420626520746865204c5160408201527f54595374616b696e6720636f6e74726163740000000000000000000000000000606082015260800190565b60208082526054908201527f4c5154593a2043616e6e6f74207472616e7366657220746f6b656e732064697260408201527f6563746c7920746f20746865204c51545920746f6b656e20636f6e747261637460608201527f206f7220746865207a65726f2061646472657373000000000000000000000000608082015260a00190565b60208082526016908201527f4c5154593a206578706972656420646561646c696e6500000000000000000000604082015260600190565b60208082526053908201527f4c5154593a2043616e6e6f74207472616e7366657220746f6b656e732064697260408201527f6563746c7920746f2074686520636f6d6d756e6974792069737375616e63652060608201527f6f72207374616b696e6720636f6e747261637400000000000000000000000000608082015260a00190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60ff91909116815260200190565b60405181810167ffffffffffffffff81118282101715611d6457600080fd5b604052919050565b600067ffffffffffffffff821115611d82578081fd5b5060209081020190565b6001600160a01b0381168114610e6c57600080fdfe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204b35a10bde8b653df88fcfb26e308b84f52c1cbc6598109177eb11f0c2e3a07d64736f6c634300060b0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f2f4326e96ccc834216a7f95b96bd512398800480000000000000000000000001b02da8cb0d097eb8d57a175b88c7d8b479975060000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa84174000000000000000000000000a979d0bdabeab79e21f28cdb679ff175fab421120000000000000000000000002b8e5367628df1481be945b685adf0968f1965e7000000000000000000000000cb881b62a97cb733d01c59eb8326b239e283e6a40000000000000000000000008d63b25e0728e5b9c1d90b6a5f924f5771517947000000000000000000000000e431f5b1fabacf2558f27395c47e30467c780bd2000000000000000000000000f89e6a4dccd475729988728f57668da1b18eff94000000000000000000000000e55943b7ef657fff2f684d4ce90ed26cd765f198
-----Decoded View---------------
Arg [0] : _lqtyStakingAddress (address): 0xf2F4326E96cCC834216A7F95b96BD51239880048
Arg [1] : _uniswapV2RouterAddress (address): 0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506
Arg [2] : _liquidityTokenAddress (address): 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174
Arg [3] : _initialAllocationAddresses (tuple): System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput]
-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 000000000000000000000000f2f4326e96ccc834216a7f95b96bd51239880048
Arg [1] : 0000000000000000000000001b02da8cb0d097eb8d57a175b88c7d8b47997506
Arg [2] : 0000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa84174
Arg [3] : 000000000000000000000000a979d0bdabeab79e21f28cdb679ff175fab42112
Arg [4] : 0000000000000000000000002b8e5367628df1481be945b685adf0968f1965e7
Arg [5] : 000000000000000000000000cb881b62a97cb733d01c59eb8326b239e283e6a4
Arg [6] : 0000000000000000000000008d63b25e0728e5b9c1d90b6a5f924f5771517947
Arg [7] : 000000000000000000000000e431f5b1fabacf2558f27395c47e30467c780bd2
Arg [8] : 000000000000000000000000f89e6a4dccd475729988728f57668da1b18eff94
Arg [9] : 000000000000000000000000e55943b7ef657fff2f684d4ce90ed26cd765f198
Deployed Bytecode Sourcemap
103562:16303:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;119298:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;112429:161;;;;;;;;;;-1:-1:-1;112429:161:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;119716:109::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;111631:102::-;;;;;;;;;;;;;:::i;112598:357::-;;;;;;;;;;-1:-1:-1;112598:357:0;;;;;:::i;:::-;;:::i;105770:45::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;119506:94::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;112963:217::-;;;;;;;;;;-1:-1:-1;112963:217:0;;;;;:::i;:::-;;:::i;111870:120::-;;;;;;;;;;;;;:::i;105716:47::-;;;;;;;;;;;;;:::i;119608:100::-;;;;;;;;;;;;;:::i;106025:51::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;111741:121::-;;;;;;;;;;-1:-1:-1;111741:121:0;;;;;:::i;:::-;;:::i;105666:43::-;;;;;;;;;;;;;:::i;106391:50::-;;;;;;;;;;-1:-1:-1;106391:50:0;;;;;:::i;:::-;;:::i;114687:127::-;;;;;;;;;;-1:-1:-1;114687:127:0;;;;;:::i;:::-;;:::i;7366:79::-;;;;;;;;;;;;;:::i;110252:1334::-;;;;;;;;;;-1:-1:-1;110252:1334:0;;;;;:::i;:::-;;:::i;:::-;;7732:92;;;;;;;;;;;;;:::i;113188:268::-;;;;;;;;;;-1:-1:-1;113188:268:0;;;;;:::i;:::-;;:::i;111998:270::-;;;;;;;;;;-1:-1:-1;111998:270:0;;;;;:::i;:::-;;:::i;113988:691::-;;;;;;;;;;-1:-1:-1;113988:691:0;;;;;:::i;:::-;;:::i;105610:49::-;;;;;;;;;;;;;:::i;112276:145::-;;;;;;;;;;-1:-1:-1;112276:145:0;;;;;:::i;:::-;;:::i;113464:185::-;;;;;;;;;;-1:-1:-1;113464:185:0;;;;;:::i;:::-;;:::i;113698:282::-;;;;;;;;;;;;;:::i;119298:94::-;119379:5;;;;;;;;;;;;;;;;;119298:94;;:::o;112429:161::-;112506:4;112523:37;112532:10;112544:7;112553:6;112523:8;:37::i;:::-;-1:-1:-1;112578:4:0;112429:161;;;;;:::o;119716:109::-;104697:66;119716:109;:::o;111631:102::-;111713:12;;111631:102;:::o;112598:357::-;112698:4;112715:33;112738:9;112715:22;:33::i;:::-;112761:36;112771:6;112779:9;112790:6;112761:9;:36::i;:::-;112808:117;112817:6;112825:10;112837:87;112873:6;112837:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;112837:19:0;;;;;;:11;:19;;;;;;;;112857:10;112837:31;;;;;;;;;:87;;:35;:87;:::i;:::-;112808:8;:117::i;:::-;-1:-1:-1;112943:4:0;112598:357;;;;;:::o;105770:45::-;;;:::o;119506:94::-;104345:2;119506:94;:::o;112963:217::-;113080:10;113054:4;113101:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;113101:32:0;;;;;;;;;;113054:4;;113071:79;;113092:7;;113101:48;;113138:10;113101:48;:36;:48;:::i;111870:120::-;111963:19;111870:120;:::o;105716:47::-;;;:::o;119608:100::-;119692:8;;;;;;;;;;;;;;;;;119608:100;:::o;106025:51::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;106025:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;111741:121::-;-1:-1:-1;;;;;111836:18:0;111809:7;111836:18;;;:9;:18;;;;;;;111741:121::o;105666:43::-;;;:::o;106391:50::-;;;;;;;;;;;;;;;:::o;114687:127::-;-1:-1:-1;;;;;114792:14:0;114750:7;114792:14;;;:7;:14;;;;;;;114687:127::o;7366:79::-;7404:7;7431:6;-1:-1:-1;;;;;7431:6:0;7366:79;:::o;110252:1334::-;7578:9;:7;:9::i;:::-;7570:54;;;;-1:-1:-1;;;7570:54:0;;;;;;;:::i;:::-;;;;;;;;;110446:31:::1;110460:16;110446:13;:31::i;:::-;110517:4;110490:33;::::0;;;:18:::1;:33;::::0;;;;;:40;;110526:4:::1;-1:-1:-1::0;;110490:40:0;;::::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;110562:24:0::1;110543:44:::0;::::1;::::0;;;;;:51;;;::::1;::::0;::::1;::::0;;110624:18:::1;110605:38:::0;::::1;::::0;;;;;:45;;;::::1;::::0;::::1;::::0;;110680:22:::1;110661:42:::0;::::1;::::0;;;;;:49;;;::::1;::::0;::::1;::::0;;110750:55;;;::::1;110731:75:::0;;;;;:82;;;::::1;::::0;::::1;::::0;;110843:52;;;::::1;110824:72:::0;;;;;:79;;;::::1;::::0;::::1;::::0;;110933:54;;;::::1;110914:74:::0;;;;;:81;;;::::1;::::0;::::1;::::0;;111025:47;;;::::1;111006:67:::0;;;;;:74;;;::::1;::::0;::::1;::::0;;111110:47;;;::::1;111091:67:::0;;;;;:74;;;::::1;::::0;::::1;::::0;;111178:36;;::::1;::::0;;;;;:43;;;::::1;::::0;::::1;::::0;;111232:45;::::1;::::0;;;;;:52;;;;::::1;;::::0;;111297:249:::1;111317:27;:34;111313:1;:38;111297:249;;;111373:24;111400:27;111428:1;111400:30;;;;;;;;;;;;;;111373:57;;111445:31;111459:16;111445:13;:31::i;:::-;-1:-1:-1::0;;;;;111491:36:0::1;;::::0;;;:18:::1;:36;::::0;;;;:43;;-1:-1:-1;;111491:43:0::1;111530:4;111491:43:::0;;::::1;::::0;;;111353:3:::1;111297:249;;;;111558:20;:18;:20::i;:::-;110252:1334:::0;;;:::o;7732:92::-;7772:4;7810:6;-1:-1:-1;;;;;7810:6:0;7796:10;:20;;7732:92::o;113188:268::-;113284:4;113301:125;113310:10;113322:7;113331:94;113368:15;113331:94;;;;;;;;;;;;;;;;;113343:10;113331:23;;;;:11;:23;;;;;;;;-1:-1:-1;;;;;113331:32:0;;;;;;;;;;;:94;;:36;:94;:::i;111998:270::-;112078:4;112097:33;112120:9;112097:22;:33::i;:::-;112198:40;112208:10;112220:9;112231:6;112198:9;:40::i;113988:691::-;114235:3;114223:8;:15;;114215:50;;;;-1:-1:-1;;;114215:50:0;;;;;;;:::i;:::-;114276:14;114345:17;:15;:17::i;:::-;-1:-1:-1;;;;;114462:14:0;;114403:16;114462:14;;;:7;:14;;;;;;;;;:16;;;;;;;;114374:115;;;;104697:66;;114421:5;;114428:7;;114437:6;;114462:16;;114480:8;;114374:115;;:::i;:::-;;;;;;;;;;;;;114364:126;;;;;;114303:188;;;;;;;;;:::i;:::-;;;;;;;;;;;;;114293:199;;;;;;114276:216;;114503:24;114530:26;114540:6;114548:1;114551;114554;114530:26;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;114503:53;;114595:5;-1:-1:-1;;;;;114575:25:0;:16;-1:-1:-1;;;;;114575:25:0;;114567:61;;;;-1:-1:-1;;;114567:61:0;;;;;;;:::i;:::-;114639:32;114648:5;114655:7;114664:6;114639:8;:32::i;:::-;113988:691;;;;;;;;;:::o;105610:49::-;;;:::o;112276:145::-;-1:-1:-1;;;;;112386:18:0;;;112359:7;112386:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;112276:145::o;113464:185::-;113554:29;:27;:29::i;:::-;113594:47;113604:7;113613:18;113633:7;113594:9;:47::i;:::-;113464:185;;:::o;113698:282::-;113755:7;113793:16;113779:10;:8;:10::i;:::-;:30;113775:198;;;-1:-1:-1;113833:24:0;113826:31;;113775:198;113897:64;104913:66;113931:12;113945:15;113897:21;:64::i;:::-;113890:71;;;;3125:471;3183:7;3428:6;3424:47;;-1:-1:-1;3458:1:0;3451:8;;3424:47;3495:5;;;3499:1;3495;:5;:1;3519:5;;;;;:10;3511:56;;;;-1:-1:-1;;;3511:56:0;;;;;;;:::i;:::-;3587:1;3125:471;-1:-1:-1;;;3125:471:0:o;4064:132::-;4122:7;4149:39;4153:1;4156;4149:39;;;;;;;;;;;;;;;;;:3;:39::i;1753:181::-;1811:7;1843:5;;;1867:6;;;;1859:46;;;;-1:-1:-1;;;1859:46:0;;;;;;;:::i;118174:338::-;-1:-1:-1;;;;;118268:19:0;;118260:68;;;;-1:-1:-1;;;118260:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;118347:21:0;;118339:68;;;;-1:-1:-1;;;118339:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;118420:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;118472:32;;;;;118450:6;;118472:32;:::i;:::-;;;;;;;;118174:338;;;:::o;118560:518::-;-1:-1:-1;;;;;118659:24:0;;;;;;:68;;-1:-1:-1;;;;;;118700:27:0;;118722:4;118700:27;;118659:68;118637:202;;;;-1:-1:-1;;;118637:202:0;;;;;;;:::i;:::-;118886:24;-1:-1:-1;;;;;118872:38:0;:10;-1:-1:-1;;;;;118872:38:0;;;:87;;;;;118941:18;-1:-1:-1;;;;;118927:32:0;:10;-1:-1:-1;;;;;118927:32:0;;;118872:87;118850:220;;;;-1:-1:-1;;;118850:220:0;;;;;;;:::i;:::-;118560:518;:::o;115218:454::-;-1:-1:-1;;;;;115316:20:0;;115308:70;;;;-1:-1:-1;;;115308:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;115397:23:0;;115389:71;;;;-1:-1:-1;;;115389:71:0;;;;;;;:::i;:::-;115473:22;115509:20;-1:-1:-1;;;;;115499:30:0;:6;-1:-1:-1;;;;;115499:30:0;;:60;;;-1:-1:-1;;;;;;115533:26:0;;;;;;:18;:26;;;;;;;;115499:60;:93;;;-1:-1:-1;;;;;;115563:29:0;;;;;;:18;:29;;;;;;;;115499:93;115473:120;;115604:60;115619:6;115627:9;115638:6;115646:17;115604:14;:60::i;:::-;115218:454;;;;:::o;2682:192::-;2768:7;2804:12;2796:6;;;;2788:29;;;;-1:-1:-1;;;2788:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2840:5:0;;;2682:192::o;388:337::-;-1:-1:-1;;;;;462:22:0;;454:65;;;;-1:-1:-1;;;454:65:0;;;;;;;:::i;:::-;631:21;;672:8;664:53;;;;-1:-1:-1;;;664:53:0;;;;;;;:::i;8276:133::-;8368:1;8352:6;;8331:40;;-1:-1:-1;;;;;8352:6:0;;;;8331:40;;8368:1;;8331:40;8399:1;8382:19;;;;;;8276:133::o;119086:167::-;119158:10;-1:-1:-1;;;;;119172:18:0;119158:32;;119150:95;;;;-1:-1:-1;;;119150:95:0;;;;;;;:::i;:::-;119086:167::o;114860:132::-;114965:9;;114939:46::o;115000:210::-;115102:7;115150:8;115160:4;115166:7;115175:10;:8;:10::i;:::-;115195:4;115139:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;115129:73;;;;;;115122:80;;115000:210;;;;;:::o;4726:345::-;4812:7;4914:12;4907:5;4899:28;;;;-1:-1:-1;;;4899:28:0;;;;;;;;:::i;:::-;;4938:9;4954:1;4950;:5;;;;;;;4726:345;-1:-1:-1;;;;;4726:345:0:o;115680:616::-;115804:17;115799:433;;115839:18;115859:20;115883:22;115898:6;115883:14;:22::i;:::-;115838:67;;-1:-1:-1;115838:67:0;-1:-1:-1;115938:16:0;;115934:84;;115975:27;115981:6;115989:12;115975:5;:27::i;:::-;116050:14;;116046:97;;116085:42;116108:6;116116:10;116085:22;:42::i;:::-;116180:40;116207:12;116180:22;:6;116191:10;116180:22;:10;:22;:::i;:::-;:26;:40;:26;:40;:::i;:::-;116171:49;;115799:433;;;116244:44;116262:6;116270:9;116281:6;116244:17;:44::i;116523:687::-;116586:7;116595;116624:30;;:::i;:::-;116694:17;:27;116679:12;;:42;116675:282;;;-1:-1:-1;116738:31:0;;;;;;;;116752:17;116738:31;;;;;;;;;;;;;;;;;;116675:282;;;116806:17;:27;116791:12;;:42;116787:170;;;-1:-1:-1;116850:31:0;;;;;;;;116864:17;116850:31;;;;;;;;;;;;;;;;;;116787:170;;;-1:-1:-1;116914:31:0;;;;;;;;116928:17;116914:31;;;;;;;;;;;;;;;;;;116787:170;116977:18;116998:62;106379:3;116998:34;117009:11;:22;;;116998:6;:10;;:34;;;;:::i;:::-;:38;:62;:38;:62;:::i;:::-;116977:83;;117071:20;117094:64;106379:3;117094:36;117105:11;:24;;;117094:6;:10;;:36;;;;:::i;:64::-;117177:10;;-1:-1:-1;117071:87:0;;-1:-1:-1;;;116523:687:0;;;:::o;117856:310::-;-1:-1:-1;;;;;117932:21:0;;117924:67;;;;-1:-1:-1;;;117924:67:0;;;;;;;:::i;:::-;118019:12;;:24;;118036:6;118019:24;:16;:24;:::i;:::-;118004:12;:39;-1:-1:-1;;;;;118075:18:0;;;;;;:9;:18;;;;;;:30;;118098:6;118075:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;118054:18:0;;;;;;:9;:18;;;;;;:51;;;;118121:37;;;;;;118151:6;;118121:37;:::i;:::-;;;;;;;;117856:310;;:::o;116304:211::-;116388:53;116406:6;116414:18;116434:6;116388:17;:53::i;:::-;116452:55;;;;;-1:-1:-1;;;;;116465:18:0;116452:47;;;;:55;;116500:6;;116452:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;116304:211;;:::o;2209:136::-;2267:7;2294:43;2298:1;2301;2294:43;;;;;;;;;;;;;;;;;:3;:43::i;117218:314::-;117336:71;117358:6;117336:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;117336:17:0;;;;;;:9;:17;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;117316:17:0;;;;;;;:9;:17;;;;;;:91;;;;117441:20;;;;;;;:32;;117466:6;117441:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;117418:20:0;;;;;;;:9;:20;;;;;;;:55;;;;117489:35;;;;;;;;;;117517:6;;117489:35;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;-1:-1;;;;;24555:54;;25310:35;;25300:2;;25359:1;;25349:12;1282:241;;1386:2;1374:9;1365:7;1361:23;1357:32;1354:2;;;-1:-1;;1392:12;1354:2;1454:53;1499:7;1475:22;1454:53;:::i;1530:366::-;;;1651:2;1639:9;1630:7;1626:23;1622:32;1619:2;;;-1:-1;;1657:12;1619:2;1719:53;1764:7;1740:22;1719:53;:::i;:::-;1709:63;;1827:53;1872:7;1809:2;1852:9;1848:22;1827:53;:::i;:::-;1817:63;;1613:283;;;;;:::o;1903:627::-;;;;2066:2;2054:9;2045:7;2041:23;2037:32;2034:2;;;-1:-1;;2072:12;2034:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;2124:63;-1:-1;2224:2;2263:22;;;72:20;97:33;72:20;97:33;:::i;:::-;2232:63;-1:-1;2360:2;2345:18;;2332:32;2384:18;2373:30;;2370:2;;;-1:-1;;2406:12;2370:2;2497:6;2486:9;2482:22;277:3;270:4;262:6;258:17;254:27;244:2;;-1:-1;;285:12;244:2;332:6;319:20;305:34;;354:80;369:64;426:6;369:64;:::i;:::-;354:80;:::i;:::-;462:21;;;519:14;;;;494:17;;;608;;;599:27;;;;596:36;-1:-1;593:2;;;-1:-1;;635:12;593:2;-1:-1;661:10;;655:206;680:6;677:1;674:13;655:206;;;760:37;793:3;781:10;760:37;:::i;:::-;748:50;;702:1;695:9;;;;;812:14;;;;840;;655:206;;;659:14;2426:88;;;;;;;;2028:502;;;;;:::o;2537:491::-;;;;2675:2;2663:9;2654:7;2650:23;2646:32;2643:2;;;-1:-1;;2681:12;2643:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;2733:63;-1:-1;2833:2;2872:22;;72:20;97:33;72:20;97:33;:::i;:::-;2637:391;;2841:63;;-1:-1;;;2941:2;2980:22;;;;1079:20;;2637:391::o;3035:991::-;;;;;;;;3239:3;3227:9;3218:7;3214:23;3210:33;3207:2;;;-1:-1;;3246:12;3207:2;3308:53;3353:7;3329:22;3308:53;:::i;:::-;3298:63;;3416:53;3461:7;3398:2;3441:9;3437:22;3416:53;:::i;:::-;3406:63;;3506:2;3549:9;3545:22;1079:20;3514:63;;3614:2;3657:9;3653:22;1079:20;3622:63;;3722:3;3764:9;3760:22;1214:20;24771:4;25706:5;24760:16;25683:5;25680:33;25670:2;;-1:-1;;25717:12;25670:2;3201:825;;;;-1:-1;3201:825;;;;3731:61;3829:3;3869:22;;942:20;;-1:-1;3938:3;3978:22;;;942:20;;3201:825;-1:-1;;3201:825::o;4033:366::-;;;4154:2;4142:9;4133:7;4129:23;4125:32;4122:2;;;-1:-1;;4160:12;4122:2;4222:53;4267:7;4243:22;4222:53;:::i;:::-;4212:63;4312:2;4351:22;;;;1079:20;;-1:-1;;;4116:283::o;11688:659::-;6471:66;6451:87;;6436:1;6557:11;;4852:37;;;;12199:12;;;4852:37;12310:12;;;11933:414::o;12354:222::-;-1:-1;;;;;24555:54;;;;4493:45;;12481:2;12466:18;;12452:124::o;12583:892::-;-1:-1;;;;;24555:54;;;4493:45;;24555:54;;;13043:2;13028:18;;4493:45;24555:54;;;13126:2;13111:18;;4493:45;24555:54;;;13209:2;13194:18;;4493:45;24555:54;;13292:3;13277:19;;4493:45;24555:54;;13376:3;13361:19;;4493:45;24555:54;;;13460:3;13445:19;;4493:45;12878:3;12863:19;;12849:626::o;13482:210::-;24388:13;;24381:21;4735:34;;13603:2;13588:18;;13574:118::o;13699:222::-;4852:37;;;13826:2;13811:18;;13797:124::o;13928:780::-;4852:37;;;-1:-1;;;;;24555:54;;;14360:2;14345:18;;4493:45;24555:54;;;;14443:2;14428:18;;4493:45;14526:2;14511:18;;4852:37;14609:3;14594:19;;4852:37;;;;14693:3;14678:19;;4852:37;14195:3;14180:19;;14166:542::o;14715:700::-;4852:37;;;15135:2;15120:18;;4852:37;;;;15218:2;15203:18;;4852:37;;;;15301:2;15286:18;;4852:37;-1:-1;;;;;24555:54;15400:3;15385:19;;4493:45;14970:3;14955:19;;14941:474::o;15422:548::-;4852:37;;;24771:4;24760:16;;;;15790:2;15775:18;;11641:35;15873:2;15858:18;;4852:37;15956:2;15941:18;;4852:37;15629:3;15614:19;;15600:370::o;15977:310::-;;16124:2;;16145:17;16138:47;5205:5;23751:12;23908:6;16124:2;16113:9;16109:18;23896:19;-1:-1;24861:101;24875:6;24872:1;24869:13;24861:101;;;24942:11;;;;;24936:18;24923:11;;;23936:14;24923:11;24916:39;24890:10;;24861:101;;;24977:6;24974:1;24971:13;24968:2;;;-1:-1;23936:14;25033:6;16113:9;25024:16;;25017:27;24968:2;-1:-1;25230:7;25214:14;-1:-1;;25210:28;5363:39;;;;23936:14;5363:39;;16095:192;-1:-1;;;16095:192::o;16294:416::-;16494:2;16508:47;;;5639:2;16479:18;;;23896:19;5675:34;23936:14;;;5655:55;5744:5;5730:12;;;5723:27;5769:12;;;16465:245::o;16717:416::-;16917:2;16931:47;;;6020:2;16902:18;;;23896:19;6056:34;23936:14;;;6036:55;6125:4;6111:12;;;6104:26;6149:12;;;16888:245::o;17140:416::-;17340:2;17354:47;;;6807:2;17325:18;;;23896:19;6843:29;23936:14;;;6823:50;6892:12;;;17311:245::o;17563:416::-;17763:2;17777:47;;;7143:2;17748:18;;;23896:19;7179:25;23936:14;;;7159:46;7224:12;;;17734:245::o;17986:416::-;18186:2;18200:47;;;7475:2;18171:18;;;23896:19;7511:32;23936:14;;;7491:53;7563:12;;;18157:245::o;18409:416::-;18609:2;18623:47;;;7814:2;18594:18;;;23896:19;7850:34;23936:14;;;7830:55;7919:3;7905:12;;;7898:25;7942:12;;;18580:245::o;18832:416::-;19032:2;19046:47;;;19017:18;;;23896:19;8229:34;23936:14;;;8209:55;8283:12;;;19003:245::o;19255:416::-;19455:2;19469:47;;;8534:2;19440:18;;;23896:19;8570:34;23936:14;;;8550:55;8639:3;8625:12;;;8618:25;8662:12;;;19426:245::o;19678:416::-;19878:2;19892:47;;;8913:2;19863:18;;;23896:19;8949:34;23936:14;;;8929:55;9018:7;9004:12;;;8997:29;9045:12;;;19849:245::o;20101:416::-;20301:2;20315:47;;;9296:2;20286:18;;;23896:19;9332:34;23936:14;;;9312:55;9401:6;9387:12;;;9380:28;9427:12;;;20272:245::o;20524:416::-;20724:2;20738:47;;;9678:2;20709:18;;;23896:19;9714:34;23936:14;;;9694:55;9783:20;9769:12;;;9762:42;9823:12;;;20695:245::o;20947:416::-;21147:2;21161:47;;;10074:2;21132:18;;;23896:19;10110:34;23936:14;;;10090:55;10179:34;10165:12;;;10158:56;10248:22;10234:12;;;10227:44;10290:12;;;21118:245::o;21370:416::-;21570:2;21584:47;;;10541:2;21555:18;;;23896:19;10577:24;23936:14;;;10557:45;10621:12;;;21541:245::o;21793:416::-;21993:2;22007:47;;;10872:2;21978:18;;;23896:19;10908:34;23936:14;;;10888:55;10977:34;10963:12;;;10956:56;11046:21;11032:12;;;11025:43;11087:12;;;21964:245::o;22216:416::-;22416:2;22430:47;;;22401:18;;;23896:19;11374:34;23936:14;;;11354:55;11428:12;;;22387:245::o;22868:214::-;24771:4;24760:16;;;;11641:35;;22991:2;22976:18;;22962:120::o;23089:256::-;23151:2;23145:9;23177:17;;;23252:18;23237:34;;23273:22;;;23234:62;23231:2;;;23309:1;;23299:12;23231:2;23151;23318:22;23129:216;;-1:-1;23129:216::o;23352:304::-;;23511:18;23503:6;23500:30;23497:2;;;-1:-1;;23533:12;23497:2;-1:-1;23578:4;23566:17;;;23631:15;;23434:222::o;25251:117::-;-1:-1;;;;;25338:5;24555:54;25313:5;25310:35;25300:2;;25359:1;;25349:12
Swarm Source
ipfs://4b35a10bde8b653df88fcfb26e308b84f52c1cbc6598109177eb11f0c2e3a07d
Loading...
Loading
OVERVIEW
PolyQuity is a decentralized borrowing protocol that allows users to draw interest-free loans against Matic used as collateral.Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.