[
  "constructor(address v3SystemAddress, address oracleManagerAddress, address treasuryAddress, uint128 v3PoolId, address collateralTokenAddress)",
  "error ImplementationIsSterile(address implementation)",
  "error InsufficientCRatio(uint128 accountId, uint256 currentDebt, uint256 targetDebt)",
  "error InsufficientExcessDebt(int256 neededToRepay, int256 ableToRepay)",
  "error InvalidParameter(string parameter, string reason)",
  "error MarketAlreadyRegistered(uint128 marketId)",
  "error NoChange()",
  "error NotAContract(address contr)",
  "error NotNominated(address addr)",
  "error OutstandingLoan(uint128 accountId, uint256 outstandingLoanAmount)",
  "error OverflowInt256ToUint256()",
  "error OverflowUint256ToInt256()",
  "error OverflowUint256ToUint128()",
  "error OverflowUint256ToUint32()",
  "error Unauthorized(address addr)",
  "error UpgradeSimulationFailed()",
  "error ZeroAddress()",
  "event AccountSaddled(uint128 indexed accountId, uint256 collateralAmount, uint256 debtAssigned)",
  "event AccountUnsaddled(uint128 indexed accountId, uint256 collateralAmount, uint256 debtUnassigned)",
  "event AuxTokenDepositChanged(uint128 indexed accountId, uint256 newAuxTokenDeposit, uint256 oldAuxTokenDeposit)",
  "event DebtDecayUpdated(uint32 power, uint32 duration, uint128 startPenalty, uint128 endPenalty)",
  "event LoanAdjusted(uint128 indexed accountId, uint256 newLoanedAmount, uint256 previousLoanedAmount)",
  "event LoanDurationAdjusted(uint128 indexed accountId, uint32 newLoanDuration, uint32 previousLoanDuration)",
  "event MarketRegistered(address indexed market, uint128 indexed marketId, address indexed sender)",
  "event OwnerChanged(address oldOwner, address newOwner)",
  "event OwnerNominated(address newOwner)",
  "event Rebalanced(int256 previousVaultDebt, int256 newVaultDebt)",
  "event TargetCRatioSet(uint256 newCRatio)",
  "event TreasuryBurned(uint256 amount)",
  "event TreasuryMinted(uint256 amount)",
  "event UpdateAuxTokenRequirement(uint256 timestamp, uint256 requiredRatio)",
  "event Upgraded(address indexed self, address implementation)",
  "function acceptOwnership()",
  "function adjustLoan(uint128 accountId, uint256 amount)",
  "function artificialDebt() view returns (int256)",
  "function auxTokenInfo(uint128) view returns (uint128 amount, uint64 lastUpdated, uint32 timeInsufficient, uint32 epoch)",
  "function availableDepositRewards(address) view returns (uint256)",
  "function burnTreasury(uint256 amount)",
  "function collateralToken() view returns (address)",
  "function getImplementation() view returns (address)",
  "function loanedAmount(uint128 accountId) view returns (uint256)",
  "function loans(uint128) view returns (uint64 startTime, uint32 power, uint32 duration, uint128 loanAmount)",
  "function marketId() view returns (uint128)",
  "function minimumCredit(uint128) view returns (uint256 lockedAmount)",
  "function mintTreasury(uint256 amount)",
  "function name(uint128) pure returns (string)",
  "function nominateNewOwner(address newNominatedOwner)",
  "function nominatedOwner() view returns (address)",
  "function onERC721Received(address, address, uint256, bytes) pure returns (bytes4)",
  "function owner() view returns (address)",
  "function poolId() view returns (uint128)",
  "function rebalance()",
  "function registerMarket() returns (uint128 newMarketId)",
  "function renounceNomination()",
  "function repaymentPenalty(uint128 accountId, uint256 targetLoan) view returns (uint256)",
  "function reportAuxToken(uint128 accountId)",
  "function reportedDebt(uint128 requestedMarketId) view returns (uint256 debt)",
  "function saddle(uint128 accountId)",
  "function saddledCollateral(uint128) view returns (uint256)",
  "function setDebtDecayFunction(uint32 power, uint32 time, uint128 startPenalty, uint128 endPenalty)",
  "function setOverrideLoanDuration(uint128 accountId, uint32 loanDuration)",
  "function setTargetCRatio(uint256 ratio)",
  "function simulateUpgradeTo(address newImplementation)",
  "function supportsInterface(bytes4 interfaceId) view returns (bool)",
  "function targetCratio() view returns (uint256)",
  "function totalSaddledCollateral() view returns (uint256)",
  "function treasury() view returns (address)",
  "function unsaddle(uint128 accountId)",
  "function updateAuxToken(address newAuxTokenRewardsAddress, uint256 requiredRatio, uint256 resetTime) returns (uint256)",
  "function upgradeTo(address to)"
]