ETH Price: $2,266.70 (-7.51%)

Contract

0x7C1bF459768c0d3405F1A38889Eaf377B1980914

Overview

ETH Balance

Linea Mainnet LogoLinea Mainnet LogoLinea Mainnet Logo0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Set Addresses8617742023-11-15 11:16:18809 days ago1700046978IN
0x7C1bF459...7B1980914
0 ETH0.000149931.96948101

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
162949032025-02-26 13:33:45340 days ago1740576825
0x7C1bF459...7B1980914
0 ETH
162949032025-02-26 13:33:45340 days ago1740576825
0x7C1bF459...7B1980914
0 ETH
162949032025-02-26 13:33:45340 days ago1740576825
0x7C1bF459...7B1980914
0 ETH
162949032025-02-26 13:33:45340 days ago1740576825
0x7C1bF459...7B1980914
0 ETH
134308612024-12-17 15:00:25411 days ago1734447625
0x7C1bF459...7B1980914
0 ETH
134308612024-12-17 15:00:25411 days ago1734447625
0x7C1bF459...7B1980914
0 ETH
134308612024-12-17 15:00:25411 days ago1734447625
0x7C1bF459...7B1980914
0 ETH
134308612024-12-17 15:00:25411 days ago1734447625
0x7C1bF459...7B1980914
0 ETH
134308062024-12-17 14:58:32411 days ago1734447512
0x7C1bF459...7B1980914
0 ETH
134308062024-12-17 14:58:32411 days ago1734447512
0x7C1bF459...7B1980914
0 ETH
134308062024-12-17 14:58:32411 days ago1734447512
0x7C1bF459...7B1980914
0 ETH
134308062024-12-17 14:58:32411 days ago1734447512
0x7C1bF459...7B1980914
0 ETH
134307322024-12-17 14:54:32411 days ago1734447272
0x7C1bF459...7B1980914
0 ETH
134307322024-12-17 14:54:32411 days ago1734447272
0x7C1bF459...7B1980914
0 ETH
134307322024-12-17 14:54:32411 days ago1734447272
0x7C1bF459...7B1980914
0 ETH
134307322024-12-17 14:54:32411 days ago1734447272
0x7C1bF459...7B1980914
0 ETH
128492642024-12-03 12:19:45425 days ago1733228385
0x7C1bF459...7B1980914
0 ETH
128492642024-12-03 12:19:45425 days ago1733228385
0x7C1bF459...7B1980914
0 ETH
128492642024-12-03 12:19:45425 days ago1733228385
0x7C1bF459...7B1980914
0 ETH
128492642024-12-03 12:19:45425 days ago1733228385
0x7C1bF459...7B1980914
0 ETH
128403952024-12-03 7:21:51425 days ago1733210511
0x7C1bF459...7B1980914
0 ETH
128403952024-12-03 7:21:51425 days ago1733210511
0x7C1bF459...7B1980914
0 ETH
128403952024-12-03 7:21:51425 days ago1733210511
0x7C1bF459...7B1980914
0 ETH
128403952024-12-03 7:21:51425 days ago1733210511
0x7C1bF459...7B1980914
0 ETH
128403632024-12-03 7:20:45425 days ago1733210445
0x7C1bF459...7B1980914
0 ETH
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DefaultPool

Compiler Version
v0.6.11+commit.5ef660b1

Optimization Enabled:
Yes with 50 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: MIT

pragma solidity 0.6.11;

import "./Interfaces/IDefaultPool.sol";
import "./Dependencies/SafeMath.sol";
import "./Dependencies/Ownable.sol";
import "./Dependencies/CheckContract.sol";
import "./Dependencies/console.sol";

/*
 * The Default Pool holds the ETH and ZKUSD debt (but not ZKUSD tokens) from liquidations that have been redistributed
 * to active troves but not yet "applied", i.e. not yet recorded on a recipient active trove's struct.
 *
 * When a trove makes an operation that applies its pending ETH and ZKUSD debt, its pending ETH and ZKUSD debt is moved
 * from the Default Pool to the Active Pool.
 */
contract DefaultPool is Ownable, CheckContract, IDefaultPool {
    using SafeMath for uint256;

    string public constant NAME = "DefaultPool";

    address public troveManagerAddress;
    address public activePoolAddress;
    uint256 internal ETH; // deposited ETH tracker
    uint256 internal ZKUSDDebt; // debt

    event TroveManagerAddressChanged(address _newTroveManagerAddress);
    event DefaultPoolZKUSDDebtUpdated(uint _ZKUSDDebt);
    event DefaultPoolETHBalanceUpdated(uint _ETH);

    // --- Dependency setters ---

    function setAddresses(
        address _troveManagerAddress,
        address _activePoolAddress
    ) external onlyOwner {
        checkContract(_troveManagerAddress);
        checkContract(_activePoolAddress);

        troveManagerAddress = _troveManagerAddress;
        activePoolAddress = _activePoolAddress;

        emit TroveManagerAddressChanged(_troveManagerAddress);
        emit ActivePoolAddressChanged(_activePoolAddress);
    }

    // --- Getters for public variables. Required by IPool interface ---

    /*
     * Returns the ETH state variable.
     *
     * Not necessarily equal to the the contract's raw ETH balance - ether can be forcibly sent to contracts.
     */
    function getETH() external view override returns (uint) {
        return ETH;
    }

    function getZKUSDDebt() external view override returns (uint) {
        return ZKUSDDebt;
    }

    // --- Pool functionality ---

    function sendETHToActivePool(uint _amount) external override {
        _requireCallerIsTroveManager();
        address activePool = activePoolAddress; // cache to save an SLOAD
        ETH = ETH.sub(_amount);
        emit DefaultPoolETHBalanceUpdated(ETH);
        emit EtherSent(activePool, _amount);

        (bool success, ) = activePool.call{value: _amount}("");
        require(success, "DefaultPool: sending ETH failed");
    }

    function increaseZKUSDDebt(uint _amount) external override {
        _requireCallerIsTroveManager();
        ZKUSDDebt = ZKUSDDebt.add(_amount);
        emit DefaultPoolZKUSDDebtUpdated(ZKUSDDebt);
    }

    function decreaseZKUSDDebt(uint _amount) external override {
        _requireCallerIsTroveManager();
        ZKUSDDebt = ZKUSDDebt.sub(_amount);
        emit DefaultPoolZKUSDDebtUpdated(ZKUSDDebt);
    }

    // --- 'require' functions ---

    function _requireCallerIsActivePool() internal view {
        require(
            msg.sender == activePoolAddress,
            "DefaultPool: Caller is not the ActivePool"
        );
    }

    function _requireCallerIsTroveManager() internal view {
        require(
            msg.sender == troveManagerAddress,
            "DefaultPool: Caller is not the TroveManager"
        );
    }

    // --- Fallback function ---

    receive() external payable {
        _requireCallerIsActivePool();
        ETH = ETH.add(msg.value);
        emit DefaultPoolETHBalanceUpdated(ETH);
    }
}

// SPDX-License-Identifier: MIT

pragma solidity 0.6.11;

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 3 of 7 : console.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.6.11;

// 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(bytes1 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;
    }
}

// SPDX-License-Identifier: MIT

pragma solidity 0.6.11;

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

// SPDX-License-Identifier: MIT

pragma solidity 0.6.11;

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

// SPDX-License-Identifier: MIT

pragma solidity 0.6.11;

import "./IPool.sol";

interface IDefaultPool is IPool {
    // --- Events ---
    event TroveManagerAddressChanged(address _newTroveManagerAddress);
    event DefaultPoolZKUSDDebtUpdated(uint _ZKUSDDebt);
    event DefaultPoolETHBalanceUpdated(uint _ETH);

    // --- Functions ---
    function sendETHToActivePool(uint _amount) external;
}

// SPDX-License-Identifier: MIT

pragma solidity 0.6.11;

// Common interface for the Pools.
interface IPool {
    // --- Events ---

    event ETHBalanceUpdated(uint _newBalance);
    event ZKUSDBalanceUpdated(uint _newBalance);
    event ActivePoolAddressChanged(address _newActivePoolAddress);
    event DefaultPoolAddressChanged(address _newDefaultPoolAddress);
    event StabilityPoolAddressChanged(address _newStabilityPoolAddress);
    event EtherSent(address _to, uint _amount);

    // --- Functions ---

    function getETH() external view returns (uint);

    function getZKUSDDebt() external view returns (uint);

    function increaseZKUSDDebt(uint _amount) external;

    function decreaseZKUSDDebt(uint _amount) external;
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 50
  },
  "metadata": {
    "bytecodeHash": "none",
    "useLiteralContent": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newActivePoolAddress","type":"address"}],"name":"ActivePoolAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newDefaultPoolAddress","type":"address"}],"name":"DefaultPoolAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_ETH","type":"uint256"}],"name":"DefaultPoolETHBalanceUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_ZKUSDDebt","type":"uint256"}],"name":"DefaultPoolZKUSDDebtUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_newBalance","type":"uint256"}],"name":"ETHBalanceUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"EtherSent","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":"address","name":"_newStabilityPoolAddress","type":"address"}],"name":"StabilityPoolAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newTroveManagerAddress","type":"address"}],"name":"TroveManagerAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_newBalance","type":"uint256"}],"name":"ZKUSDBalanceUpdated","type":"event"},{"inputs":[],"name":"NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"activePoolAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"decreaseZKUSDDebt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getZKUSDDebt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"increaseZKUSDDebt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"sendETHToActivePool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_troveManagerAddress","type":"address"},{"internalType":"address","name":"_activePoolAddress","type":"address"}],"name":"setAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"troveManagerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a361090f8061005f6000396000f3fe6080604052600436106100905760003560e01c806314f6c3be146100ee5780632d7c810814610115578063512a9ebb146101415780635a4d28bb146101565780636b05e977146101875780638da5cb5b146101b15780638f32d59b146101c657806390107afe146101ef578063a3f4df7e1461022a578063b08bc722146102b4578063be41205f146102c9576100e9565b366100e95761009d6102f3565b6003546100b0903463ffffffff61033e16565b600381905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b3480156100fa57600080fd5b5061010361039d565b60408051918252519081900360200190f35b34801561012157600080fd5b5061013f6004803603602081101561013857600080fd5b50356103a3565b005b34801561014d57600080fd5b506101036103f8565b34801561016257600080fd5b5061016b6103fe565b604080516001600160a01b039092168252519081900360200190f35b34801561019357600080fd5b5061013f600480360360208110156101aa57600080fd5b503561040d565b3480156101bd57600080fd5b5061016b610428565b3480156101d257600080fd5b506101db610437565b604080519115158252519081900360200190f35b3480156101fb57600080fd5b5061013f6004803603604081101561021257600080fd5b506001600160a01b0381358116916020013516610448565b34801561023657600080fd5b5061023f610553565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610279578181015183820152602001610261565b50505050905090810190601f1680156102a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102c057600080fd5b5061016b61057a565b3480156102d557600080fd5b5061013f600480360360208110156102ec57600080fd5b5035610589565b6002546001600160a01b0316331461033c5760405162461bcd60e51b81526004018080602001828103825260298152602001806108af6029913960400191505060405180910390fd5b565b600082820183811015610396576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b9392505050565b60035490565b6103ab6106d9565b6004546103be908263ffffffff61072216565b600481905560408051918252517f791bb5400c9344b800b678e0c8945f11cf6a1709491a85febfe82305657d62969181900360200190a150565b60045490565b6001546001600160a01b031681565b6104156106d9565b6004546103be908263ffffffff61033e16565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b610450610437565b6104a1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6104aa82610764565b6104b381610764565b600180546001600160a01b038085166001600160a01b03199283168117909355600280549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a15050565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6002546001600160a01b031681565b6105916106d9565b6002546003546001600160a01b03909116906105b3908363ffffffff61072216565b600381905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d8060008114610679576040519150601f19603f3d011682016040523d82523d6000602084013e61067e565b606091505b50509050806106d4576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b6001546001600160a01b0316331461033c5760405162461bcd60e51b815260040180806020018281038252602b8152602001806108d8602b913960400191505060405180910390fd5b600061039683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610817565b6001600160a01b0381166107bf576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610813576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600081848411156108a65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561086b578181015183820152602001610853565b50505050905090810190601f1680156108985780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c44656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a164736f6c634300060b000a

Deployed Bytecode

0x6080604052600436106100905760003560e01c806314f6c3be146100ee5780632d7c810814610115578063512a9ebb146101415780635a4d28bb146101565780636b05e977146101875780638da5cb5b146101b15780638f32d59b146101c657806390107afe146101ef578063a3f4df7e1461022a578063b08bc722146102b4578063be41205f146102c9576100e9565b366100e95761009d6102f3565b6003546100b0903463ffffffff61033e16565b600381905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b3480156100fa57600080fd5b5061010361039d565b60408051918252519081900360200190f35b34801561012157600080fd5b5061013f6004803603602081101561013857600080fd5b50356103a3565b005b34801561014d57600080fd5b506101036103f8565b34801561016257600080fd5b5061016b6103fe565b604080516001600160a01b039092168252519081900360200190f35b34801561019357600080fd5b5061013f600480360360208110156101aa57600080fd5b503561040d565b3480156101bd57600080fd5b5061016b610428565b3480156101d257600080fd5b506101db610437565b604080519115158252519081900360200190f35b3480156101fb57600080fd5b5061013f6004803603604081101561021257600080fd5b506001600160a01b0381358116916020013516610448565b34801561023657600080fd5b5061023f610553565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610279578181015183820152602001610261565b50505050905090810190601f1680156102a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102c057600080fd5b5061016b61057a565b3480156102d557600080fd5b5061013f600480360360208110156102ec57600080fd5b5035610589565b6002546001600160a01b0316331461033c5760405162461bcd60e51b81526004018080602001828103825260298152602001806108af6029913960400191505060405180910390fd5b565b600082820183811015610396576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b9392505050565b60035490565b6103ab6106d9565b6004546103be908263ffffffff61072216565b600481905560408051918252517f791bb5400c9344b800b678e0c8945f11cf6a1709491a85febfe82305657d62969181900360200190a150565b60045490565b6001546001600160a01b031681565b6104156106d9565b6004546103be908263ffffffff61033e16565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b610450610437565b6104a1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6104aa82610764565b6104b381610764565b600180546001600160a01b038085166001600160a01b03199283168117909355600280549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a15050565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6002546001600160a01b031681565b6105916106d9565b6002546003546001600160a01b03909116906105b3908363ffffffff61072216565b600381905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d8060008114610679576040519150601f19603f3d011682016040523d82523d6000602084013e61067e565b606091505b50509050806106d4576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b6001546001600160a01b0316331461033c5760405162461bcd60e51b815260040180806020018281038252602b8152602001806108d8602b913960400191505060405180910390fd5b600061039683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610817565b6001600160a01b0381166107bf576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610813576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600081848411156108a65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561086b578181015183820152602001610853565b50505050905090810190601f1680156108985780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c44656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a164736f6c634300060b000a

Block Transaction Gas Used Reward
view all blocks sequenced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ 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.