{
  "abi": [
    {
      "type": "function",
      "name": "addCollateral",
      "inputs": [
        {
          "name": "tokenIds_",
          "type": "uint256[]",
          "internalType": "uint256[]"
        },
        {
          "name": "index_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "expiry_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "bucketLP_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "addQuoteToken",
      "inputs": [
        {
          "name": "amount_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "index_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "expiry_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "bucketLP_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "addedAmount_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "approveLPTransferors",
      "inputs": [
        {
          "name": "transferors_",
          "type": "address[]",
          "internalType": "address[]"
        }
      ],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "approvedTransferors",
      "inputs": [
        {
          "name": "",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "",
          "type": "address",
          "internalType": "address"
        }
      ],
      "outputs": [
        {
          "name": "",
          "type": "bool",
          "internalType": "bool"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "auctionInfo",
      "inputs": [
        {
          "name": "borrower_",
          "type": "address",
          "internalType": "address"
        }
      ],
      "outputs": [
        {
          "name": "kicker_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "bondFactor_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "bondSize_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "kickTime_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "referencePrice_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "neutralPrice_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "debtToCollateral_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "head_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "next_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "prev_",
          "type": "address",
          "internalType": "address"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "borrowerInfo",
      "inputs": [
        {
          "name": "borrower_",
          "type": "address",
          "internalType": "address"
        }
      ],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "borrowerTokenIds",
      "inputs": [
        {
          "name": "",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "bucketExchangeRate",
      "inputs": [
        {
          "name": "index_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "exchangeRate_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "bucketInfo",
      "inputs": [
        {
          "name": "index_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "bucketTake",
      "inputs": [
        {
          "name": "borrowerAddress_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "depositTake_",
          "type": "bool",
          "internalType": "bool"
        },
        {
          "name": "index_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "bucketTokenIds",
      "inputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "burnInfo",
      "inputs": [
        {
          "name": "burnEventEpoch_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "collateralAddress",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "address",
          "internalType": "address"
        }
      ],
      "stateMutability": "pure"
    },
    {
      "type": "function",
      "name": "currentBurnEpoch",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "debtInfo",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "decreaseLPAllowance",
      "inputs": [
        {
          "name": "spender_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "indexes_",
          "type": "uint256[]",
          "internalType": "uint256[]"
        },
        {
          "name": "amounts_",
          "type": "uint256[]",
          "internalType": "uint256[]"
        }
      ],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "depositIndex",
      "inputs": [
        {
          "name": "debt_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "depositScale",
      "inputs": [
        {
          "name": "index_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "depositSize",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "depositUpToIndex",
      "inputs": [
        {
          "name": "index_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "depositUtilization",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "drawDebt",
      "inputs": [
        {
          "name": "borrowerAddress_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "amountToBorrow_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "limitIndex_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "tokenIdsToPledge_",
          "type": "uint256[]",
          "internalType": "uint256[]"
        }
      ],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "emasInfo",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "flashFee",
      "inputs": [
        {
          "name": "token_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "flashLoan",
      "inputs": [
        {
          "name": "receiver_",
          "type": "address",
          "internalType": "contract IERC3156FlashBorrower"
        },
        {
          "name": "token_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "amount_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "data_",
          "type": "bytes",
          "internalType": "bytes"
        }
      ],
      "outputs": [
        {
          "name": "",
          "type": "bool",
          "internalType": "bool"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "getBorrowerTokenIds",
      "inputs": [
        {
          "name": "borrower_",
          "type": "address",
          "internalType": "address"
        }
      ],
      "outputs": [
        {
          "name": "",
          "type": "uint256[]",
          "internalType": "uint256[]"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "getBucketTokenIds",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "uint256[]",
          "internalType": "uint256[]"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "increaseLPAllowance",
      "inputs": [
        {
          "name": "spender_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "indexes_",
          "type": "uint256[]",
          "internalType": "uint256[]"
        },
        {
          "name": "amounts_",
          "type": "uint256[]",
          "internalType": "uint256[]"
        }
      ],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "inflatorInfo",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "initialize",
      "inputs": [
        {
          "name": "tokenIds_",
          "type": "uint256[]",
          "internalType": "uint256[]"
        },
        {
          "name": "rate_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "interestRateInfo",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "isSubset",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "bool",
          "internalType": "bool"
        }
      ],
      "stateMutability": "pure"
    },
    {
      "type": "function",
      "name": "kick",
      "inputs": [
        {
          "name": "borrower_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "npLimitIndex_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "kickReserveAuction",
      "inputs": [],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "kickerInfo",
      "inputs": [
        {
          "name": "kicker_",
          "type": "address",
          "internalType": "address"
        }
      ],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "lenderInfo",
      "inputs": [
        {
          "name": "index_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "lender_",
          "type": "address",
          "internalType": "address"
        }
      ],
      "outputs": [
        {
          "name": "lpBalance_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "depositTime_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "lenderKick",
      "inputs": [
        {
          "name": "index_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "npLimitIndex_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "loanInfo",
      "inputs": [
        {
          "name": "loanId_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "loansInfo",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "lpAllowance",
      "inputs": [
        {
          "name": "index_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "spender_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "owner_",
          "type": "address",
          "internalType": "address"
        }
      ],
      "outputs": [
        {
          "name": "allowance_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "maxFlashLoan",
      "inputs": [
        {
          "name": "token_",
          "type": "address",
          "internalType": "address"
        }
      ],
      "outputs": [
        {
          "name": "maxLoan_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "mergeOrRemoveCollateral",
      "inputs": [
        {
          "name": "removalIndexes_",
          "type": "uint256[]",
          "internalType": "uint256[]"
        },
        {
          "name": "noOfNFTsToRemove_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "toIndex_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "collateralMerged_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "bucketLP_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "moveQuoteToken",
      "inputs": [
        {
          "name": "maxAmount_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "fromIndex_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "toIndex_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "expiry_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "fromBucketLP_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "toBucketLP_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "movedAmount_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "multicall",
      "inputs": [
        {
          "name": "data",
          "type": "bytes[]",
          "internalType": "bytes[]"
        }
      ],
      "outputs": [
        {
          "name": "results",
          "type": "bytes[]",
          "internalType": "bytes[]"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "pledgedCollateral",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "poolType",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "uint8",
          "internalType": "uint8"
        }
      ],
      "stateMutability": "pure"
    },
    {
      "type": "function",
      "name": "quoteTokenAddress",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "address",
          "internalType": "address"
        }
      ],
      "stateMutability": "pure"
    },
    {
      "type": "function",
      "name": "quoteTokenScale",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "pure"
    },
    {
      "type": "function",
      "name": "removeCollateral",
      "inputs": [
        {
          "name": "noOfNFTsToRemove_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "index_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "removedAmount_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "redeemedLP_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "removeQuoteToken",
      "inputs": [
        {
          "name": "maxAmount_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "index_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "removedAmount_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "redeemedLP_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "repayDebt",
      "inputs": [
        {
          "name": "borrowerAddress_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "maxQuoteTokenAmountToRepay_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "noOfNFTsToPull_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "collateralReceiver_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "limitIndex_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "amountRepaid_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "reservesInfo",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "revokeLPAllowance",
      "inputs": [
        {
          "name": "spender_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "indexes_",
          "type": "uint256[]",
          "internalType": "uint256[]"
        }
      ],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "revokeLPTransferors",
      "inputs": [
        {
          "name": "transferors_",
          "type": "address[]",
          "internalType": "address[]"
        }
      ],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "settle",
      "inputs": [
        {
          "name": "borrowerAddress_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "maxDepth_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "collateralSettled_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "isBorrowerSettled_",
          "type": "bool",
          "internalType": "bool"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "stampLoan",
      "inputs": [],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "take",
      "inputs": [
        {
          "name": "borrowerAddress_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "collateral_",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "callee_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "data_",
          "type": "bytes",
          "internalType": "bytes"
        }
      ],
      "outputs": [
        {
          "name": "collateralTaken_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "takeReserves",
      "inputs": [
        {
          "name": "maxAmount_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "amount_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "tokenIdsAllowed",
      "inputs": [
        {
          "name": "tokenId_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "",
          "type": "bool",
          "internalType": "bool"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "totalAuctionsInPool",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "totalT0Debt",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "totalT0DebtInAuction",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "transferLP",
      "inputs": [
        {
          "name": "owner_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "newOwner_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "indexes_",
          "type": "uint256[]",
          "internalType": "uint256[]"
        }
      ],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "updateInterest",
      "inputs": [],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "withdrawBonds",
      "inputs": [
        {
          "name": "recipient_",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "maxAmount_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "withdrawnAmount_",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "event",
      "name": "AddCollateralNFT",
      "inputs": [
        {
          "name": "actor",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "index",
          "type": "uint256",
          "indexed": true,
          "internalType": "uint256"
        },
        {
          "name": "tokenIds",
          "type": "uint256[]",
          "indexed": false,
          "internalType": "uint256[]"
        },
        {
          "name": "lpAwarded",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "AddQuoteToken",
      "inputs": [
        {
          "name": "lender",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "index",
          "type": "uint256",
          "indexed": true,
          "internalType": "uint256"
        },
        {
          "name": "amount",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "lpAwarded",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "lup",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "ApproveLPTransferors",
      "inputs": [
        {
          "name": "lender",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "transferors",
          "type": "address[]",
          "indexed": false,
          "internalType": "address[]"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "AuctionNFTSettle",
      "inputs": [
        {
          "name": "borrower",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "collateral",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "lp",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "index",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "AuctionSettle",
      "inputs": [
        {
          "name": "borrower",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "collateral",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "BondWithdrawn",
      "inputs": [
        {
          "name": "kicker",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "reciever",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "amount",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "BucketBankruptcy",
      "inputs": [
        {
          "name": "index",
          "type": "uint256",
          "indexed": true,
          "internalType": "uint256"
        },
        {
          "name": "lpForfeited",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "BucketTake",
      "inputs": [
        {
          "name": "borrower",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "index",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "amount",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "collateral",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "bondChange",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "isReward",
          "type": "bool",
          "indexed": false,
          "internalType": "bool"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "BucketTakeLPAwarded",
      "inputs": [
        {
          "name": "taker",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "kicker",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "lpAwardedTaker",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "lpAwardedKicker",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "DecreaseLPAllowance",
      "inputs": [
        {
          "name": "owner",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "spender",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "indexes",
          "type": "uint256[]",
          "indexed": false,
          "internalType": "uint256[]"
        },
        {
          "name": "amounts",
          "type": "uint256[]",
          "indexed": false,
          "internalType": "uint256[]"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "DrawDebtNFT",
      "inputs": [
        {
          "name": "borrower",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "amountBorrowed",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "tokenIdsPledged",
          "type": "uint256[]",
          "indexed": false,
          "internalType": "uint256[]"
        },
        {
          "name": "lup",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "Flashloan",
      "inputs": [
        {
          "name": "receiver",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "token",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "amount",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "IncreaseLPAllowance",
      "inputs": [
        {
          "name": "owner",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "spender",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "indexes",
          "type": "uint256[]",
          "indexed": false,
          "internalType": "uint256[]"
        },
        {
          "name": "amounts",
          "type": "uint256[]",
          "indexed": false,
          "internalType": "uint256[]"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "InterestUpdateFailure",
      "inputs": [],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "Kick",
      "inputs": [
        {
          "name": "borrower",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "debt",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "collateral",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "bond",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "KickReserveAuction",
      "inputs": [
        {
          "name": "claimableReservesRemaining",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "auctionPrice",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "currentBurnEpoch",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "LoanStamped",
      "inputs": [
        {
          "name": "borrower",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "MergeOrRemoveCollateralNFT",
      "inputs": [
        {
          "name": "actor",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "collateralMerged",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "toIndexLps",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "MoveQuoteToken",
      "inputs": [
        {
          "name": "lender",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "from",
          "type": "uint256",
          "indexed": true,
          "internalType": "uint256"
        },
        {
          "name": "to",
          "type": "uint256",
          "indexed": true,
          "internalType": "uint256"
        },
        {
          "name": "amount",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "lpRedeemedFrom",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "lpAwardedTo",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "lup",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "RemoveCollateral",
      "inputs": [
        {
          "name": "claimer",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "index",
          "type": "uint256",
          "indexed": true,
          "internalType": "uint256"
        },
        {
          "name": "amount",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "lpRedeemed",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "RemoveQuoteToken",
      "inputs": [
        {
          "name": "lender",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "index",
          "type": "uint256",
          "indexed": true,
          "internalType": "uint256"
        },
        {
          "name": "amount",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "lpRedeemed",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "lup",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "RepayDebt",
      "inputs": [
        {
          "name": "borrower",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "quoteRepaid",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "collateralPulled",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "lup",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "ReserveAuction",
      "inputs": [
        {
          "name": "claimableReservesRemaining",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "auctionPrice",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "currentBurnEpoch",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "ResetInterestRate",
      "inputs": [
        {
          "name": "oldRate",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "newRate",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "RevokeLPAllowance",
      "inputs": [
        {
          "name": "owner",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "spender",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "indexes",
          "type": "uint256[]",
          "indexed": false,
          "internalType": "uint256[]"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "RevokeLPTransferors",
      "inputs": [
        {
          "name": "lender",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "transferors",
          "type": "address[]",
          "indexed": false,
          "internalType": "address[]"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "Settle",
      "inputs": [
        {
          "name": "borrower",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "settledDebt",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "Take",
      "inputs": [
        {
          "name": "borrower",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "amount",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "collateral",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "bondChange",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "isReward",
          "type": "bool",
          "indexed": false,
          "internalType": "bool"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "TransferLP",
      "inputs": [
        {
          "name": "owner",
          "type": "address",
          "indexed": false,
          "internalType": "address"
        },
        {
          "name": "newOwner",
          "type": "address",
          "indexed": false,
          "internalType": "address"
        },
        {
          "name": "indexes",
          "type": "uint256[]",
          "indexed": false,
          "internalType": "uint256[]"
        },
        {
          "name": "lp",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "UpdateInterestRate",
      "inputs": [
        {
          "name": "oldRate",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "newRate",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    },
    {
      "type": "error",
      "name": "AddAboveAuctionPrice",
      "inputs": []
    },
    {
      "type": "error",
      "name": "AddAboveAuctionPrice",
      "inputs": []
    },
    {
      "type": "error",
      "name": "AlreadyInitialized",
      "inputs": []
    },
    {
      "type": "error",
      "name": "AmountLTMinDebt",
      "inputs": []
    },
    {
      "type": "error",
      "name": "AuctionActive",
      "inputs": []
    },
    {
      "type": "error",
      "name": "AuctionActive",
      "inputs": []
    },
    {
      "type": "error",
      "name": "AuctionNotClearable",
      "inputs": []
    },
    {
      "type": "error",
      "name": "AuctionNotCleared",
      "inputs": []
    },
    {
      "type": "error",
      "name": "AuctionNotCleared",
      "inputs": []
    },
    {
      "type": "error",
      "name": "AuctionNotTakeable",
      "inputs": []
    },
    {
      "type": "error",
      "name": "AuctionPriceGtBucketPrice",
      "inputs": []
    },
    {
      "type": "error",
      "name": "BorrowerNotSender",
      "inputs": []
    },
    {
      "type": "error",
      "name": "BorrowerOk",
      "inputs": []
    },
    {
      "type": "error",
      "name": "BorrowerUnderCollateralized",
      "inputs": []
    },
    {
      "type": "error",
      "name": "BucketBankruptcyBlock",
      "inputs": []
    },
    {
      "type": "error",
      "name": "BucketIndexOutOfBounds",
      "inputs": []
    },
    {
      "type": "error",
      "name": "CannotMergeToHigherPrice",
      "inputs": []
    },
    {
      "type": "error",
      "name": "DustAmountNotExceeded",
      "inputs": []
    },
    {
      "type": "error",
      "name": "FlashloanCallbackFailed",
      "inputs": []
    },
    {
      "type": "error",
      "name": "FlashloanIncorrectBalance",
      "inputs": []
    },
    {
      "type": "error",
      "name": "FlashloanUnavailableForToken",
      "inputs": []
    },
    {
      "type": "error",
      "name": "InsufficientCollateral",
      "inputs": []
    },
    {
      "type": "error",
      "name": "InsufficientLP",
      "inputs": []
    },
    {
      "type": "error",
      "name": "InsufficientLiquidity",
      "inputs": []
    },
    {
      "type": "error",
      "name": "InvalidAllowancesInput",
      "inputs": []
    },
    {
      "type": "error",
      "name": "InvalidAmount",
      "inputs": []
    },
    {
      "type": "error",
      "name": "InvalidIndex",
      "inputs": []
    },
    {
      "type": "error",
      "name": "LUPBelowHTP",
      "inputs": []
    },
    {
      "type": "error",
      "name": "LimitIndexExceeded",
      "inputs": []
    },
    {
      "type": "error",
      "name": "MoveToSameIndex",
      "inputs": []
    },
    {
      "type": "error",
      "name": "NoAllowance",
      "inputs": []
    },
    {
      "type": "error",
      "name": "NoAuction",
      "inputs": []
    },
    {
      "type": "error",
      "name": "NoClaim",
      "inputs": []
    },
    {
      "type": "error",
      "name": "NoDebt",
      "inputs": []
    },
    {
      "type": "error",
      "name": "NoReserves",
      "inputs": []
    },
    {
      "type": "error",
      "name": "NoReservesAuction",
      "inputs": []
    },
    {
      "type": "error",
      "name": "OnlySubset",
      "inputs": []
    },
    {
      "type": "error",
      "name": "PRBMathSD59x18__Exp2InputTooBig",
      "inputs": [
        {
          "name": "x",
          "type": "int256",
          "internalType": "int256"
        }
      ]
    },
    {
      "type": "error",
      "name": "PRBMathSD59x18__FromIntOverflow",
      "inputs": [
        {
          "name": "x",
          "type": "int256",
          "internalType": "int256"
        }
      ]
    },
    {
      "type": "error",
      "name": "PRBMathSD59x18__FromIntUnderflow",
      "inputs": [
        {
          "name": "x",
          "type": "int256",
          "internalType": "int256"
        }
      ]
    },
    {
      "type": "error",
      "name": "PRBMathSD59x18__LogInputTooSmall",
      "inputs": [
        {
          "name": "x",
          "type": "int256",
          "internalType": "int256"
        }
      ]
    },
    {
      "type": "error",
      "name": "PRBMathSD59x18__MulInputTooSmall",
      "inputs": []
    },
    {
      "type": "error",
      "name": "PRBMathSD59x18__MulOverflow",
      "inputs": [
        {
          "name": "rAbs",
          "type": "uint256",
          "internalType": "uint256"
        }
      ]
    },
    {
      "type": "error",
      "name": "PRBMath__MulDivFixedPointOverflow",
      "inputs": [
        {
          "name": "prod1",
          "type": "uint256",
          "internalType": "uint256"
        }
      ]
    },
    {
      "type": "error",
      "name": "PriceBelowLUP",
      "inputs": []
    },
    {
      "type": "error",
      "name": "RemoveDepositLockedByAuctionDebt",
      "inputs": []
    },
    {
      "type": "error",
      "name": "RemoveDepositLockedByAuctionDebt",
      "inputs": []
    },
    {
      "type": "error",
      "name": "ReserveAuctionTooSoon",
      "inputs": []
    },
    {
      "type": "error",
      "name": "TransactionExpired",
      "inputs": []
    },
    {
      "type": "error",
      "name": "TransactionExpired",
      "inputs": []
    },
    {
      "type": "error",
      "name": "TransferToSameOwner",
      "inputs": []
    },
    {
      "type": "error",
      "name": "TransferorNotApproved",
      "inputs": []
    },
    {
      "type": "error",
      "name": "ZeroDebtToCollateral",
      "inputs": []
    }
  ]
}