[
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "_borrower",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "_ARTHFee",
                "type": "uint256"
            }
        ],
        "name": "ARTHBorrowingFeePaid",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "_arthTokenAddress",
                "type": "address"
            }
        ],
        "name": "ARTHTokenAddressChanged",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "_activePoolAddress",
                "type": "address"
            }
        ],
        "name": "ActivePoolAddressChanged",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "_collSurplusPoolAddress",
                "type": "address"
            }
        ],
        "name": "CollSurplusPoolAddressChanged",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "_defaultPoolAddress",
                "type": "address"
            }
        ],
        "name": "DefaultPoolAddressChanged",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "_frontend",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "timestamp",
                "type": "uint256"
            }
        ],
        "name": "FrontEndRegistered",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "_gasPoolAddress",
                "type": "address"
            }
        ],
        "name": "GasPoolAddressChanged",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "_newGovernanceAddress",
                "type": "address"
            }
        ],
        "name": "GovernanceAddressChanged",
        "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": true,
                "internalType": "address",
                "name": "_ecosystemFund",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "_ARTHFee",
                "type": "uint256"
            }
        ],
        "name": "PaidARTHBorrowingFeeToEcosystemFund",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "_frontEndTag",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "_ARTHFee",
                "type": "uint256"
            }
        ],
        "name": "PaidARTHBorrowingFeeToFrontEnd",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "_sortedTrovesAddress",
                "type": "address"
            }
        ],
        "name": "SortedTrovesAddressChanged",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "_stabilityPoolAddress",
                "type": "address"
            }
        ],
        "name": "StabilityPoolAddressChanged",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "_borrower",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "arrayIndex",
                "type": "uint256"
            }
        ],
        "name": "TroveCreated",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "_newTroveManagerAddress",
                "type": "address"
            }
        ],
        "name": "TroveManagerAddressChanged",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "_borrower",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "_debt",
                "type": "uint256"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "_coll",
                "type": "uint256"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "stake",
                "type": "uint256"
            },
            {
                "indexed": false,
                "internalType": "enum IBorrowerOperations.BorrowerOperation",
                "name": "operation",
                "type": "uint8"
            }
        ],
        "name": "TroveUpdated",
        "type": "event"
    },
    {
        "inputs": [],
        "name": "ARTH_GAS_COMPENSATION",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "BORROWING_FEE_FLOOR",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "CCR",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "DECIMAL_PRECISION",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "MCR",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "MIN_NET_DEBT",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "NAME",
        "outputs": [
            {
                "internalType": "string",
                "name": "",
                "type": "string"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "PERCENT_DIVISOR",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "_100pct",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "activePool",
        "outputs": [
            {
                "internalType": "contract IActivePool",
                "name": "",
                "type": "address"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "_upperHint",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_lowerHint",
                "type": "address"
            }
        ],
        "name": "addColl",
        "outputs": [],
        "stateMutability": "payable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "_maxFeePercentage",
                "type": "uint256"
            },
            {
                "internalType": "uint256",
                "name": "_collWithdrawal",
                "type": "uint256"
            },
            {
                "internalType": "uint256",
                "name": "_ARTHChange",
                "type": "uint256"
            },
            {
                "internalType": "bool",
                "name": "_isDebtIncrease",
                "type": "bool"
            },
            {
                "internalType": "address",
                "name": "_upperHint",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_lowerHint",
                "type": "address"
            }
        ],
        "name": "adjustTrove",
        "outputs": [],
        "stateMutability": "payable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "arthToken",
        "outputs": [
            {
                "internalType": "contract IARTHValuecoin",
                "name": "",
                "type": "address"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "claimCollateral",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "closeTrove",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "defaultPool",
        "outputs": [
            {
                "internalType": "contract IDefaultPool",
                "name": "",
                "type": "address"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "fetchPriceFeedPrice",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "",
                "type": "address"
            }
        ],
        "name": "frontEnds",
        "outputs": [
            {
                "internalType": "bool",
                "name": "",
                "type": "bool"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "getBorrowingFeeFloor",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "_debt",
                "type": "uint256"
            }
        ],
        "name": "getCompositeDebt",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "getEntireSystemColl",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "entireSystemColl",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "getEntireSystemDebt",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "entireSystemDebt",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "getMaxBorrowingFee",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "getPriceFeed",
        "outputs": [
            {
                "internalType": "contract IPriceFeed",
                "name": "",
                "type": "address"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "getRedemptionFeeFloor",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "governance",
        "outputs": [
            {
                "internalType": "contract IGovernance",
                "name": "",
                "type": "address"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "isOwner",
        "outputs": [
            {
                "internalType": "bool",
                "name": "",
                "type": "bool"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "_borrower",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_upperHint",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_lowerHint",
                "type": "address"
            }
        ],
        "name": "moveETHGainToTrove",
        "outputs": [],
        "stateMutability": "payable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "_maxFeePercentage",
                "type": "uint256"
            },
            {
                "internalType": "uint256",
                "name": "_ARTHAmount",
                "type": "uint256"
            },
            {
                "internalType": "address",
                "name": "_upperHint",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_lowerHint",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_frontEndTag",
                "type": "address"
            }
        ],
        "name": "openTrove",
        "outputs": [],
        "stateMutability": "payable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "_who",
                "type": "address"
            },
            {
                "internalType": "uint256",
                "name": "_maxFeePercentage",
                "type": "uint256"
            },
            {
                "internalType": "uint256",
                "name": "_ARTHAmount",
                "type": "uint256"
            },
            {
                "internalType": "address",
                "name": "_upperHint",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_lowerHint",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_frontEndTag",
                "type": "address"
            }
        ],
        "name": "openTroveFor",
        "outputs": [],
        "stateMutability": "payable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "owner",
        "outputs": [
            {
                "internalType": "address",
                "name": "",
                "type": "address"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "registerFrontEnd",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "_ARTHAmount",
                "type": "uint256"
            },
            {
                "internalType": "address",
                "name": "_upperHint",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_lowerHint",
                "type": "address"
            }
        ],
        "name": "repayARTH",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "_troveManagerAddress",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_activePoolAddress",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_defaultPoolAddress",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_stabilityPoolAddress",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_gasPoolAddress",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_collSurplusPoolAddress",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_governanceAddress",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_sortedTrovesAddress",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_arthTokenAddress",
                "type": "address"
            }
        ],
        "name": "setAddresses",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "sortedTroves",
        "outputs": [
            {
                "internalType": "contract ISortedTroves",
                "name": "",
                "type": "address"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "newOwner",
                "type": "address"
            }
        ],
        "name": "transferOwnership",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "troveManager",
        "outputs": [
            {
                "internalType": "contract ITroveManager",
                "name": "",
                "type": "address"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "_maxFeePercentage",
                "type": "uint256"
            },
            {
                "internalType": "uint256",
                "name": "_ARTHAmount",
                "type": "uint256"
            },
            {
                "internalType": "address",
                "name": "_upperHint",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_lowerHint",
                "type": "address"
            }
        ],
        "name": "withdrawARTH",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "_collWithdrawal",
                "type": "uint256"
            },
            {
                "internalType": "address",
                "name": "_upperHint",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_lowerHint",
                "type": "address"
            }
        ],
        "name": "withdrawColl",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    }
]
