{
  "version": "0.1.23",
  "name": "borrowing",
  "instructions": [
    {
      "name": "initializeBorrowingMarket",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "stablecoinMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "hbbMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "createAdditionalBorrowingMarket",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "additionalBorrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "originalBorrowingMarketState",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "updateMarketLinkage",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stakingPoolState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stabilityPoolState",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "updateMarketOwner",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "newOwner",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "initializeCollateralVaultsNew",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stabilityPoolState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingFeesVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "burningVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinStabilityPoolVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "addNewVault",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "newVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "newMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "mintId",
          "type": "u8"
        },
        {
          "name": "setVaultToPda",
          "type": "bool"
        },
        {
          "name": "vaultIsForLiquidationRewards",
          "type": "bool"
        }
      ]
    },
    {
      "name": "updateGlobalConfig",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "key",
          "type": "u16"
        },
        {
          "name": "value",
          "type": {
            "array": [
              "u8",
              32
            ]
          }
        }
      ]
    },
    {
      "name": "modifySupportedCollaterals",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "action",
          "type": "u8"
        },
        {
          "name": "tokenId",
          "type": "u8"
        }
      ]
    },
    {
      "name": "updateMarketTokenDepositCap",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "collateral",
          "type": "u8"
        },
        {
          "name": "capInLamports",
          "type": "u64"
        }
      ]
    },
    {
      "name": "approveTrove",
      "accounts": [
        {
          "name": "owner",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "userMetadata",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinAta",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "transferLoanOwnership",
      "accounts": [
        {
          "name": "owner",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "newOwner",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "userMetadata",
          "isMut": true,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "depositCollateral",
      "accounts": [
        {
          "name": "owner",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "userMetadata",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "collateralFrom",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "collateralTo",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amountInLamports",
          "type": "u64"
        },
        {
          "name": "collateral",
          "type": "u8"
        }
      ]
    },
    {
      "name": "depositCollateralUnsecured",
      "accounts": [
        {
          "name": "owner",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "userMetadata",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "collateralFrom",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "collateralTo",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amountInLamports",
          "type": "u64"
        },
        {
          "name": "collateral",
          "type": "u8"
        }
      ]
    },
    {
      "name": "borrowStablecoin",
      "accounts": [
        {
          "name": "owner",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stakingPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "userMetadata",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinMintAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stablecoinBorrowingAssociatedAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingFeesVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "treasuryVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "scopePrices",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "depositCollateralAndBorrowStablecoin",
      "accounts": [
        {
          "name": "owner",
          "isMut": true,
          "isSigner": true,
          "docs": [
            "It has to be mut, because we're returning the sol back, after closing the acc"
          ]
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stakingPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "userMetadata",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinMintAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "collateralFrom",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "collateralTo",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinBorrowingAssociatedAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingFeesVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "treasuryVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "scopePrices",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "depositAmount",
          "type": "u64"
        },
        {
          "name": "depositAsset",
          "type": "u8"
        },
        {
          "name": "borrowAmount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "borrowChangeWithdrawalCap",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "maxCapacity",
          "type": "u64"
        },
        {
          "name": "intervalLength",
          "type": "u64"
        },
        {
          "name": "changeCollateralCap",
          "type": "bool"
        },
        {
          "name": "collateralId",
          "type": "u8"
        },
        {
          "name": "accumActionBool",
          "type": "bool"
        }
      ]
    },
    {
      "name": "repayLoan",
      "accounts": [
        {
          "name": "owner",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "userMetadata",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinMintAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stablecoinBorrowingAssociatedAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "burningVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "burningVaultAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "permisionlessRepay",
      "accounts": [
        {
          "name": "owner",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "userMetadata",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinMintAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stablecoinBorrowingAssociatedAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "burningVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "burningVaultAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "withdrawCollateral",
      "accounts": [
        {
          "name": "owner",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "userMetadata",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "collateralFrom",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "collateralVaultsAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "collateralTo",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "scopePrices",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        },
        {
          "name": "collateral",
          "type": "u8"
        }
      ]
    },
    {
      "name": "stabilityInitialize",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stabilityPoolState",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "epochToScaleToSum",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "liquidationsQueue",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "clock",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "stabilityApprove",
      "accounts": [
        {
          "name": "owner",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "stabilityProviderState",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "stabilityPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "stabilityTransferOwnership",
      "accounts": [
        {
          "name": "owner",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "newOwner",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stabilityPoolState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stabilityProviderState",
          "isMut": true,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "stabilityProvide",
      "accounts": [
        {
          "name": "owner",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "stabilityProviderState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stabilityPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "epochToScaleToSum",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinStabilityPoolVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinAta",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "clock",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "stabilityWithdraw",
      "accounts": [
        {
          "name": "owner",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "stabilityProviderState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stabilityPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "epochToScaleToSum",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinStabilityPoolVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinStabilityPoolVaultAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stablecoinAta",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "clock",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "tryLiquidate",
      "accounts": [
        {
          "name": "liquidator",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stabilityPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "userMetadata",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "epochToScaleToSum",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "liquidationsQueue",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinMintAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stablecoinStabilityPoolVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinStabilityPoolVaultAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "scopePrices",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "clock",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "tryLiquidateCashBased",
      "accounts": [
        {
          "name": "liquidator",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "liquidatorUsdhAta",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stabilityPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "userMetadata",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "epochToScaleToSum",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "liquidationsQueue",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinMintAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stablecoinStabilityPoolVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinStabilityPoolVaultAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "scopePrices",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "debtToRepay",
          "type": "u64"
        }
      ]
    },
    {
      "name": "harvestLiquidationGains",
      "accounts": [
        {
          "name": "owner",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "stabilityProviderState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stabilityPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "liquidationsQueue",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "epochToScaleToSum",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "liquidationRewardsVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "liquidationRewardsVaultAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "liquidationRewardsTo",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "hbbMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "hbbMintAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "hbbAta",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "clock",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "token",
          "type": "u8"
        }
      ]
    },
    {
      "name": "clearLiquidationGains",
      "accounts": [
        {
          "name": "clearingAgent",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "clearingAgentAta",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stabilityPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "liquidationsQueue",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "collateralVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "collateralVaultsAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "liquidationRewardsVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "clock",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "token",
          "type": "u8"
        }
      ]
    },
    {
      "name": "stakingInitialize",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stakingPoolState",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "stakingVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "treasuryVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "stakingApprove",
      "accounts": [
        {
          "name": "owner",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "userStakingState",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "stakingPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "stakingTransferOwnership",
      "accounts": [
        {
          "name": "owner",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "newOwner",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stakingPoolState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "userStakingState",
          "isMut": true,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "stakingStakeHbb",
      "accounts": [
        {
          "name": "owner",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "userStakingState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stakingPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stakingVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "userHbbStakingAta",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "withdrawFromTreasury",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "stablecoinMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stakingPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "treasuryVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "treasuryVaultAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "toAccount",
          "isMut": true,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "resetPlaceholders",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stabilityPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stakingPoolState",
          "isMut": true,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "stakingHarvestReward",
      "accounts": [
        {
          "name": "owner",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "userStakingState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stakingPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "userStablecoinRewardsAta",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingFeesVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingFeesVaultAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "unstakeHbb",
      "accounts": [
        {
          "name": "owner",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "userStakingState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stakingPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "userHbbStakingAta",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "userStablecoinRewardsAta",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stakingVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stakingVaultAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "borrowingFeesVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingFeesVaultAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "airdropHbb",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "userHbbAta",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "hbbMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "hbbMintAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "airdropUsdh",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stablecoinAta",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinMintAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "psmInitialize",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "psmReserve",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "otherStablecoinMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "psmVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "bump",
          "type": "u8"
        },
        {
          "name": "maxCapacity",
          "type": "u64"
        },
        {
          "name": "mintFeeBps",
          "type": "u64"
        },
        {
          "name": "burnFeeBps",
          "type": "u64"
        }
      ]
    },
    {
      "name": "psmInitTreasuryVault",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "psmReserve",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "otherStablecoinMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "treasuryVaultOtherStable",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "psmChangeMaxCapacity",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "psmReserve",
          "isMut": true,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "maxCapacity",
          "type": "u64"
        }
      ]
    },
    {
      "name": "psmChangeFees",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "psmReserve",
          "isMut": true,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "mintFeeBps",
          "type": "u64"
        },
        {
          "name": "operationType",
          "type": "u8"
        }
      ]
    },
    {
      "name": "psmChangeWithdrawalCap",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "psmReserve",
          "isMut": true,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "maxCapacity",
          "type": "u64"
        },
        {
          "name": "interval",
          "type": "u64"
        },
        {
          "name": "changeStableCap",
          "type": "bool"
        },
        {
          "name": "resetAccums",
          "type": "bool"
        }
      ]
    },
    {
      "name": "psmMint",
      "accounts": [
        {
          "name": "owner",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "psmReserve",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "psmVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "usdhAta",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "usdhMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "usdhMintAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "treasuryVaultOtherStable",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "otherStablecoinAta",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "otherStablecoinMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "psmBurn",
      "accounts": [
        {
          "name": "owner",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "psmReserve",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "usdhAta",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "usdhMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "otherStablecoinAta",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "otherStablecoinMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "psmVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "psmVaultAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "treasuryVaultOtherStable",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "dripStabilityFees",
      "accounts": [
        {
          "name": "stabilityPoolProvider",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stablecoinMintAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stabilityFeesVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stabilityPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "epochToScaleToSum",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "stakingPoolState",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "treasuryVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingFeesVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "updateMarketConfig",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "clock",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "newValue",
          "type": "u64"
        },
        {
          "name": "updateMode",
          "type": "u8"
        }
      ]
    },
    {
      "name": "redeem",
      "accounts": [
        {
          "name": "redeemer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "redeemerStablecoinAta",
          "isMut": true,
          "isSigner": false,
          "docs": [
            "The account to transfer USDH from"
          ]
        },
        {
          "name": "redeemerCollateralAta",
          "isMut": true,
          "isSigner": false,
          "docs": [
            "The account to receive collateral to"
          ]
        },
        {
          "name": "userMetadata",
          "isMut": true,
          "isSigner": false,
          "docs": [
            "The user metadata to redeem from"
          ]
        },
        {
          "name": "borrowingMarketState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingFeesVault",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "globalConfig",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stakingPoolState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "borrowingVaults",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stablecoinMintAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "collateralVault",
          "isMut": true,
          "isSigner": false,
          "docs": [
            "Where the collateral is withdrawn from"
          ]
        },
        {
          "name": "collateralVaultsAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "stablecoinMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "burningVault",
          "isMut": true,
          "isSigner": false,
          "docs": [
            "Where the debt will be repaid into (and burned)"
          ]
        },
        {
          "name": "burningVaultAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "scopePrices",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "clock",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "swapToken",
          "type": {
            "defined": "CollateralToken"
          }
        },
        {
          "name": "stablecoinProvided",
          "type": "u64"
        },
        {
          "name": "minSwapTokenToReceive",
          "type": "u64"
        }
      ]
    },
    {
      "name": "closeProgramAccount",
      "accounts": [
        {
          "name": "adminAuthority",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "program",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "programData",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "closingAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "signTerms",
      "accounts": [
        {
          "name": "owner",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "ownerSignatureState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "signature",
          "type": {
            "array": [
              "u8",
              64
            ]
          }
        }
      ]
    }
  ],
  "accounts": [
    {
      "name": "GlobalConfig",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "version",
            "type": "u8"
          },
          {
            "name": "placeholder0",
            "type": "publicKey"
          },
          {
            "name": "userBorrowMin",
            "type": "u64"
          },
          {
            "name": "userBorrowMax",
            "type": "u64"
          },
          {
            "name": "userDebtMin",
            "type": "u64"
          },
          {
            "name": "userDebtMax",
            "type": "u64"
          },
          {
            "name": "placeholder1",
            "type": "u64"
          },
          {
            "name": "treasuryFeeRate",
            "type": "u64"
          },
          {
            "name": "protocolEpoch",
            "type": "u64"
          },
          {
            "name": "placeholder2",
            "type": "u64"
          },
          {
            "name": "placeholder3",
            "type": "publicKey"
          },
          {
            "name": "delegateCollateralAllowActiveOnly",
            "type": "bool"
          },
          {
            "name": "blockWithdrawCollateral",
            "type": "bool"
          },
          {
            "name": "blockTryLiquidate",
            "type": "bool"
          },
          {
            "name": "blockBorrow",
            "type": "bool"
          },
          {
            "name": "blockDepositAndBorrow",
            "type": "bool"
          },
          {
            "name": "blockClearLiquidationGains",
            "type": "bool"
          },
          {
            "name": "blockHarvestLiquidationGains",
            "type": "bool"
          },
          {
            "name": "blockWithdrawStability",
            "type": "bool"
          },
          {
            "name": "blockAirdropHbb",
            "type": "bool"
          },
          {
            "name": "blockPsmMint",
            "type": "bool"
          },
          {
            "name": "emergencyMode",
            "type": "bool"
          },
          {
            "name": "placeholder4",
            "type": "u64"
          },
          {
            "name": "placeholder5",
            "type": "u64"
          },
          {
            "name": "issuancePerSecond",
            "type": "u64"
          },
          {
            "name": "blockPsmBurn",
            "type": "bool"
          },
          {
            "name": "blockDepositCollateral",
            "type": "bool"
          },
          {
            "name": "btcLiqMode",
            "type": "bool"
          },
          {
            "name": "blockRedeem",
            "type": "bool"
          },
          {
            "name": "blockUndercollLiq",
            "type": "bool"
          },
          {
            "name": "placeholder6",
            "type": {
              "array": [
                "u8",
                4
              ]
            }
          },
          {
            "name": "scopeProgramId",
            "type": "publicKey"
          },
          {
            "name": "scopePrices",
            "type": "publicKey"
          },
          {
            "name": "padding1",
            "type": {
              "array": [
                "u128",
                27
              ]
            }
          },
          {
            "name": "padding2",
            "type": {
              "array": [
                "u128",
                31
              ]
            }
          },
          {
            "name": "padding3",
            "type": {
              "array": [
                "u8",
                15
              ]
            }
          }
        ]
      }
    },
    {
      "name": "BorrowingMarketState",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "version",
            "type": "u64"
          },
          {
            "name": "adminAuthority",
            "type": "publicKey"
          },
          {
            "name": "initialMarketOwner",
            "type": "publicKey"
          },
          {
            "name": "placeholder1",
            "type": "publicKey"
          },
          {
            "name": "stablecoinMint",
            "type": "publicKey"
          },
          {
            "name": "stablecoinMintAuthority",
            "type": "publicKey"
          },
          {
            "name": "stablecoinMintSeed",
            "type": "u64"
          },
          {
            "name": "hbbMint",
            "type": "publicKey"
          },
          {
            "name": "hbbMintAuthority",
            "type": "publicKey"
          },
          {
            "name": "hbbMintSeed",
            "type": "u64"
          },
          {
            "name": "numUsers",
            "type": "u64"
          },
          {
            "name": "numActiveUsers",
            "type": "u64"
          },
          {
            "name": "stablecoinBorrowed",
            "type": "u64"
          },
          {
            "name": "depositedCollateral",
            "type": {
              "defined": "MarketCollateralAmounts"
            }
          },
          {
            "name": "reserved1",
            "type": {
              "array": [
                "u64",
                407
              ]
            }
          },
          {
            "name": "inactiveCollateral",
            "type": {
              "defined": "MarketCollateralAmounts"
            }
          },
          {
            "name": "reserved2",
            "type": {
              "array": [
                "u64",
                407
              ]
            }
          },
          {
            "name": "mintingFeeBps",
            "type": "u64"
          },
          {
            "name": "placeholder2",
            "type": "u64"
          },
          {
            "name": "placeholder3",
            "type": "u64"
          },
          {
            "name": "totalStake",
            "type": "u64"
          },
          {
            "name": "collateralRewardPerToken",
            "type": {
              "defined": "TokenMap"
            }
          },
          {
            "name": "stablecoinRewardPerToken",
            "type": "u128"
          },
          {
            "name": "totalStakeSnapshot",
            "type": "u64"
          },
          {
            "name": "borrowedStablecoinSnapshot",
            "type": "u64"
          },
          {
            "name": "marketType",
            "type": "u64"
          },
          {
            "name": "marketMcr",
            "type": "u64"
          },
          {
            "name": "totalDebtMax",
            "type": "u64"
          },
          {
            "name": "globalConfig",
            "type": "publicKey"
          },
          {
            "name": "borrowingVaults",
            "type": "publicKey"
          },
          {
            "name": "placeholder4",
            "type": "publicKey"
          },
          {
            "name": "stabilityPoolState",
            "type": "publicKey"
          },
          {
            "name": "stakingPoolState",
            "type": "publicKey"
          },
          {
            "name": "stabilityFeeBps",
            "type": "u64"
          },
          {
            "name": "stabilityFeeLastEventTimestamp",
            "type": "u64"
          },
          {
            "name": "stabilityFeeLastLoss",
            "type": "u128"
          },
          {
            "name": "stabilityFeeAccrued",
            "type": "u64"
          },
          {
            "name": "stabilityFeeTreasuryPct",
            "type": "u16"
          },
          {
            "name": "stabilityFeeStakingPct",
            "type": "u16"
          },
          {
            "name": "stabilityFeeStabilityPct",
            "type": "u16"
          },
          {
            "name": "placeholder5",
            "type": "u16"
          },
          {
            "name": "supportedCollaterals",
            "type": {
              "array": [
                {
                  "defined": "SupportedCollateral"
                },
                32
              ]
            }
          },
          {
            "name": "liquidationPenaltyPoolBased",
            "type": "u64"
          },
          {
            "name": "liquidationPenaltyCashBased",
            "type": "u64"
          },
          {
            "name": "minCashBasedLiquidationRepayment",
            "type": "u64"
          },
          {
            "name": "withdrawalCap",
            "type": {
              "defined": "WithdrawalCaps"
            }
          },
          {
            "name": "withdrawalCapsCollateral",
            "type": {
              "array": [
                {
                  "defined": "CollateralWithdrawalCaps"
                },
                32
              ]
            }
          },
          {
            "name": "reserved",
            "type": {
              "array": [
                "u64",
                764
              ]
            }
          }
        ]
      }
    },
    {
      "name": "PsmReserve",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "version",
            "type": "u64"
          },
          {
            "name": "bump",
            "type": "u8"
          },
          {
            "name": "borrowingMarketState",
            "type": "publicKey"
          },
          {
            "name": "depositedStablecoin",
            "type": "u64"
          },
          {
            "name": "maxCapacity",
            "type": "u64"
          },
          {
            "name": "mintedUsdh",
            "type": "u64"
          },
          {
            "name": "stablecoinMintDecimals",
            "type": "u8"
          },
          {
            "name": "stablecoinMint",
            "type": "publicKey"
          },
          {
            "name": "psmVault",
            "type": "publicKey"
          },
          {
            "name": "psmVaultAuthority",
            "type": "publicKey"
          },
          {
            "name": "psmVaultAuthoritySeed",
            "type": "u64"
          },
          {
            "name": "withdrawalCapUsdh",
            "type": {
              "defined": "WithdrawalCaps"
            }
          },
          {
            "name": "withdrawalCapStable",
            "type": {
              "defined": "WithdrawalCaps"
            }
          },
          {
            "name": "mintFeeBps",
            "type": "u64"
          },
          {
            "name": "burnFeeBps",
            "type": "u64"
          },
          {
            "name": "treasuryVaultOtherStable",
            "type": "publicKey"
          },
          {
            "name": "treasuryVaultOtherStableAuthority",
            "type": "publicKey"
          },
          {
            "name": "padding",
            "type": {
              "array": [
                "u64",
                14
              ]
            }
          }
        ]
      }
    },
    {
      "name": "BorrowingVaultsNew",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "placeholder0",
            "type": "publicKey"
          },
          {
            "name": "stabilityPoolState",
            "type": "publicKey"
          },
          {
            "name": "burningVault",
            "type": "publicKey"
          },
          {
            "name": "burningVaultAuthority",
            "type": "publicKey"
          },
          {
            "name": "burningVaultSeed",
            "type": "u64"
          },
          {
            "name": "borrowingFeesVault",
            "type": "publicKey"
          },
          {
            "name": "borrowingFeesVaultAuthority",
            "type": "publicKey"
          },
          {
            "name": "borrowingFeesVaultSeed",
            "type": "u64"
          },
          {
            "name": "collateralVaults",
            "type": {
              "array": [
                "publicKey",
                500
              ]
            }
          },
          {
            "name": "collateralMints",
            "type": {
              "array": [
                "publicKey",
                500
              ]
            }
          },
          {
            "name": "liquidationRewardsVaults",
            "type": {
              "array": [
                "publicKey",
                32
              ]
            }
          },
          {
            "name": "liquidationRewardsMints",
            "type": {
              "array": [
                "publicKey",
                32
              ]
            }
          },
          {
            "name": "stablecoinStabilityPoolVault",
            "type": "publicKey"
          },
          {
            "name": "stablecoinStabilityPoolVaultAuthority",
            "type": "publicKey"
          },
          {
            "name": "stablecoinStabilityPoolVaultSeed",
            "type": "u64"
          },
          {
            "name": "liquidationRewardsVaultAuthority",
            "type": "publicKey"
          },
          {
            "name": "liquidationRewardsVaultSeed",
            "type": "u64"
          },
          {
            "name": "collateralVaultsAuthority",
            "type": "publicKey"
          },
          {
            "name": "collateralVaultsSeed",
            "type": "u64"
          },
          {
            "name": "placeholder1",
            "type": "publicKey"
          },
          {
            "name": "padding",
            "type": {
              "array": [
                "u64",
                496
              ]
            }
          }
        ]
      }
    },
    {
      "name": "StabilityPoolState",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "placeholder0",
            "type": "publicKey"
          },
          {
            "name": "epochToScaleToSum",
            "type": "publicKey"
          },
          {
            "name": "liquidationsQueue",
            "type": "publicKey"
          },
          {
            "name": "version",
            "type": "u8"
          },
          {
            "name": "numUsers",
            "type": "u64"
          },
          {
            "name": "totalUsersProvidingStability",
            "type": "u64"
          },
          {
            "name": "stablecoinDeposited",
            "type": "u64"
          },
          {
            "name": "placeholder1",
            "type": "u64"
          },
          {
            "name": "cumulativeGainsTotal",
            "type": {
              "defined": "StabilityTokenMap"
            }
          },
          {
            "name": "pendingCollateralGains",
            "type": {
              "defined": "StabilityTokenMap"
            }
          },
          {
            "name": "currentEpoch",
            "type": "u64"
          },
          {
            "name": "currentScale",
            "type": "u64"
          },
          {
            "name": "p",
            "type": "u128"
          },
          {
            "name": "lastStablecoinLossErrorOffset",
            "type": "u64"
          },
          {
            "name": "lastCollLossErrorOffset",
            "type": {
              "defined": "StabilityCollateralAmounts"
            }
          },
          {
            "name": "lastIssuanceTimestamp",
            "type": "u64"
          },
          {
            "name": "padding",
            "type": {
              "array": [
                "u64",
                9
              ]
            }
          }
        ]
      }
    },
    {
      "name": "UserMetadata",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "version",
            "type": "u8"
          },
          {
            "name": "status",
            "type": "u8"
          },
          {
            "name": "userId",
            "type": "u64"
          },
          {
            "name": "metadataPk",
            "type": "publicKey"
          },
          {
            "name": "owner",
            "type": "publicKey"
          },
          {
            "name": "borrowingMarketState",
            "type": "publicKey"
          },
          {
            "name": "padding1",
            "type": {
              "array": [
                "u64",
                4
              ]
            }
          },
          {
            "name": "inactiveCollateral",
            "type": {
              "defined": "UserCollateralAmounts"
            }
          },
          {
            "name": "depositedCollateral",
            "type": {
              "defined": "UserCollateralAmounts"
            }
          },
          {
            "name": "borrowedStablecoin",
            "type": "u64"
          },
          {
            "name": "userStake",
            "type": "u64"
          },
          {
            "name": "userCollateralRewardPerToken",
            "type": {
              "defined": "TokenMap"
            }
          },
          {
            "name": "userStablecoinRewardPerToken",
            "type": "u128"
          },
          {
            "name": "marketType",
            "type": "u64"
          },
          {
            "name": "padding2",
            "type": {
              "array": [
                "u64",
                9
              ]
            }
          }
        ]
      }
    },
    {
      "name": "StakingPoolState",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "placeholder0",
            "type": "publicKey"
          },
          {
            "name": "totalDistributedRewards",
            "type": "u128"
          },
          {
            "name": "rewardsNotYetClaimed",
            "type": "u128"
          },
          {
            "name": "version",
            "type": "u8"
          },
          {
            "name": "numUsers",
            "type": "u64"
          },
          {
            "name": "placeholder1",
            "type": "u64"
          },
          {
            "name": "totalStake",
            "type": "u64"
          },
          {
            "name": "rewardPerToken",
            "type": "u128"
          },
          {
            "name": "prevRewardLoss",
            "type": "u128"
          },
          {
            "name": "stakingVault",
            "type": "publicKey"
          },
          {
            "name": "stakingVaultAuthority",
            "type": "publicKey"
          },
          {
            "name": "stakingVaultSeed",
            "type": "u8"
          },
          {
            "name": "treasuryVault",
            "type": "publicKey"
          },
          {
            "name": "treasuryVaultAuthority",
            "type": "publicKey"
          },
          {
            "name": "treasuryVaultSeed",
            "type": "u8"
          },
          {
            "name": "padding",
            "type": {
              "array": [
                "u64",
                10
              ]
            }
          }
        ]
      }
    },
    {
      "name": "UserStakingState",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "version",
            "type": "u8"
          },
          {
            "name": "userId",
            "type": "u64"
          },
          {
            "name": "stakingPoolState",
            "type": "publicKey"
          },
          {
            "name": "owner",
            "type": "publicKey"
          },
          {
            "name": "userStake",
            "type": "u64"
          },
          {
            "name": "rewardsTally",
            "type": "u128"
          },
          {
            "name": "padding",
            "type": {
              "array": [
                "u64",
                10
              ]
            }
          }
        ]
      }
    },
    {
      "name": "StabilityProviderState",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "version",
            "type": "u8"
          },
          {
            "name": "stabilityPoolState",
            "type": "publicKey"
          },
          {
            "name": "owner",
            "type": "publicKey"
          },
          {
            "name": "userId",
            "type": "u64"
          },
          {
            "name": "depositedStablecoin",
            "type": "u64"
          },
          {
            "name": "userDepositSnapshot",
            "type": {
              "defined": "DepositSnapshot"
            }
          },
          {
            "name": "cumulativeGainsPerUser",
            "type": {
              "defined": "StabilityTokenMap"
            }
          },
          {
            "name": "pendingGainsPerUser",
            "type": {
              "defined": "StabilityCollateralAmounts"
            }
          },
          {
            "name": "padding",
            "type": {
              "array": [
                "u64",
                10
              ]
            }
          }
        ]
      }
    },
    {
      "name": "EpochToScaleToSumAccount",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "data",
            "type": {
              "array": [
                "u128",
                15000
              ]
            }
          }
        ]
      }
    },
    {
      "name": "LiquidationsQueue",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "len",
            "type": "u64"
          },
          {
            "name": "events",
            "type": {
              "array": [
                {
                  "defined": "LiquidationEvent"
                },
                512
              ]
            }
          }
        ]
      }
    },
    {
      "name": "TermsSignature",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "signature",
            "type": {
              "array": [
                "u8",
                64
              ]
            }
          }
        ]
      }
    }
  ],
  "types": [
    {
      "name": "TokenAmount",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "token",
            "type": {
              "defined": "CollateralToken"
            }
          },
          {
            "name": "amount",
            "type": "f64"
          }
        ]
      }
    },
    {
      "name": "Tokens",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "sol",
            "type": {
              "option": "f64"
            }
          },
          {
            "name": "daosol",
            "type": {
              "option": "f64"
            }
          },
          {
            "name": "btc",
            "type": {
              "option": "f64"
            }
          },
          {
            "name": "eth",
            "type": {
              "option": "f64"
            }
          },
          {
            "name": "msol",
            "type": {
              "option": "f64"
            }
          },
          {
            "name": "stsol",
            "type": {
              "option": "f64"
            }
          },
          {
            "name": "ftt",
            "type": {
              "option": "f64"
            }
          }
        ]
      }
    },
    {
      "name": "Borrower",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "id",
            "type": "u64"
          },
          {
            "name": "debt",
            "type": "f64"
          },
          {
            "name": "coll",
            "type": {
              "defined": "Tokens"
            }
          }
        ]
      }
    },
    {
      "name": "StabilityProvider",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "id",
            "type": "u64"
          },
          {
            "name": "amount",
            "type": "f64"
          }
        ]
      }
    },
    {
      "name": "TryLiquidateEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "user",
            "type": "u64"
          },
          {
            "name": "expectedResult",
            "type": {
              "defined": "TryLiquidateResult"
            }
          },
          {
            "name": "expectedCollSurplus",
            "type": {
              "option": {
                "defined": "Tokens"
              }
            }
          }
        ]
      }
    },
    {
      "name": "TryLiquidateEventCash",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "user",
            "type": "u64"
          },
          {
            "name": "amount",
            "type": "f64"
          },
          {
            "name": "expectedResult",
            "type": {
              "defined": "TryLiquidateResult"
            }
          },
          {
            "name": "expectedCollSurplus",
            "type": {
              "option": {
                "defined": "Tokens"
              }
            }
          }
        ]
      }
    },
    {
      "name": "TryLiquidateEventCashWithTimestamp",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "user",
            "type": "u64"
          },
          {
            "name": "amount",
            "type": "f64"
          },
          {
            "name": "expectedResult",
            "type": {
              "defined": "TryLiquidateResult"
            }
          },
          {
            "name": "expectedCollSurplus",
            "type": {
              "option": {
                "defined": "Tokens"
              }
            }
          },
          {
            "name": "timestamp",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "AssertUserBalance",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "id",
            "type": "u64"
          },
          {
            "name": "debt",
            "type": "f64"
          },
          {
            "name": "coll",
            "type": {
              "defined": "Tokens"
            }
          }
        ]
      }
    },
    {
      "name": "ExpectedClearGains",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "expLiquidatorGains",
            "type": {
              "defined": "Tokens"
            }
          },
          {
            "name": "expSpGains",
            "type": {
              "option": {
                "defined": "Tokens"
              }
            }
          }
        ]
      }
    },
    {
      "name": "MarketCollateralAmounts",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "amounts",
            "type": {
              "array": [
                "u64",
                128
              ]
            }
          }
        ]
      }
    },
    {
      "name": "UserCollateralAmounts",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "sol",
            "type": "u64"
          },
          {
            "name": "eth",
            "type": "u64"
          },
          {
            "name": "btc",
            "type": "u64"
          },
          {
            "name": "srm",
            "type": "u64"
          },
          {
            "name": "ray",
            "type": "u64"
          },
          {
            "name": "ftt",
            "type": "u64"
          },
          {
            "name": "msol",
            "type": "u64"
          },
          {
            "name": "extraCollaterals",
            "type": {
              "array": [
                {
                  "defined": "ExtraCollateralAmount"
                },
                8
              ]
            }
          }
        ]
      }
    },
    {
      "name": "SupportedCollateral",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "token",
            "type": "u64"
          },
          {
            "name": "tokenCap",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "WithdrawalCaps",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "configCapacity",
            "type": "i64"
          },
          {
            "name": "currentTotal",
            "type": "i64"
          },
          {
            "name": "lastIntervalStartTimestamp",
            "type": "u64"
          },
          {
            "name": "configIntervalLengthSeconds",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "CollateralWithdrawalCaps",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "token",
            "type": "u64"
          },
          {
            "name": "tokenCap",
            "type": {
              "defined": "WithdrawalCaps"
            }
          }
        ]
      }
    },
    {
      "name": "DepositSnapshot",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "sum",
            "type": {
              "defined": "StabilityTokenMap"
            }
          },
          {
            "name": "product",
            "type": "u128"
          },
          {
            "name": "scale",
            "type": "u64"
          },
          {
            "name": "epoch",
            "type": "u64"
          },
          {
            "name": "enabled",
            "type": "bool"
          }
        ]
      }
    },
    {
      "name": "LiquidationEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "status",
            "type": "u64"
          },
          {
            "name": "userPositions",
            "type": "publicKey"
          },
          {
            "name": "positionIndex",
            "type": "u64"
          },
          {
            "name": "liquidator",
            "type": "publicKey"
          },
          {
            "name": "eventTs",
            "type": "u64"
          },
          {
            "name": "collateralGainToLiquidator",
            "type": {
              "defined": "UserCollateralAmounts"
            }
          },
          {
            "name": "collateralGainToClearer",
            "type": {
              "defined": "UserCollateralAmounts"
            }
          },
          {
            "name": "collateralGainToStabilityPool",
            "type": {
              "defined": "UserCollateralAmounts"
            }
          }
        ]
      }
    },
    {
      "name": "TokenMap",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "sol",
            "type": "u128"
          },
          {
            "name": "eth",
            "type": "u128"
          },
          {
            "name": "btc",
            "type": "u128"
          },
          {
            "name": "srm",
            "type": "u128"
          },
          {
            "name": "ray",
            "type": "u128"
          },
          {
            "name": "ftt",
            "type": "u128"
          },
          {
            "name": "msol",
            "type": "u128"
          },
          {
            "name": "reserved",
            "type": {
              "array": [
                "u8",
                256
              ]
            }
          }
        ]
      }
    },
    {
      "name": "StabilityTokenMap",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "sol",
            "type": "u128"
          },
          {
            "name": "eth",
            "type": "u128"
          },
          {
            "name": "btc",
            "type": "u128"
          },
          {
            "name": "srm",
            "type": "u128"
          },
          {
            "name": "ray",
            "type": "u128"
          },
          {
            "name": "ftt",
            "type": "u128"
          },
          {
            "name": "hbb",
            "type": "u128"
          },
          {
            "name": "msol",
            "type": "u128"
          },
          {
            "name": "usdh",
            "type": "u128"
          },
          {
            "name": "reserved1",
            "type": {
              "array": [
                "u128",
                15
              ]
            }
          }
        ]
      }
    },
    {
      "name": "Price",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "value",
            "type": "u64"
          },
          {
            "name": "exp",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "ExtraCollateralAmount",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "tokenId",
            "type": "u64"
          },
          {
            "name": "amount",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "StabilityCollateralAmounts",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "sol",
            "type": "u64"
          },
          {
            "name": "eth",
            "type": "u64"
          },
          {
            "name": "btc",
            "type": "u64"
          },
          {
            "name": "srm",
            "type": "u64"
          },
          {
            "name": "ray",
            "type": "u64"
          },
          {
            "name": "ftt",
            "type": "u64"
          },
          {
            "name": "msol",
            "type": "u64"
          },
          {
            "name": "hbb",
            "type": "u64"
          },
          {
            "name": "usdh",
            "type": "u64"
          },
          {
            "name": "reserved",
            "type": {
              "array": [
                "u64",
                15
              ]
            }
          }
        ]
      }
    },
    {
      "name": "UpdateBmsConfig",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "UpdateSFValue"
          },
          {
            "name": "UpdateStabilityPct"
          },
          {
            "name": "UpdateStakingPct"
          },
          {
            "name": "UpdateTreasuryPct"
          },
          {
            "name": "UpdateLastEventTimestamp"
          },
          {
            "name": "UpdateMarketType"
          },
          {
            "name": "UpdateMarketMcr"
          },
          {
            "name": "UpdateLiqPenaltyCashBased"
          },
          {
            "name": "UpdateLiqPenaltyPoolBased"
          },
          {
            "name": "UpdateDebtMax"
          },
          {
            "name": "UpdateMinPartialDebtAccepted"
          },
          {
            "name": "UpdateMintingFeeBps"
          }
        ]
      }
    },
    {
      "name": "CollateralStatus",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Inactive"
          },
          {
            "name": "Deposited"
          }
        ]
      }
    },
    {
      "name": "LiquidationType",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "PoolBased"
          },
          {
            "name": "CashBased",
            "fields": [
              {
                "name": "amount",
                "type": "u64"
              }
            ]
          }
        ]
      }
    },
    {
      "name": "LiquidationDecision",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "RedistributeAll"
          },
          {
            "name": "StabilityPoolThenRedistribute"
          }
        ]
      }
    },
    {
      "name": "CashBasedLiquidationDecision",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "PayDebt"
          },
          {
            "name": "PayThenRedistribute"
          }
        ]
      }
    },
    {
      "name": "TryLiquidateResult",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Success"
          },
          {
            "name": "Err",
            "fields": [
              "string"
            ]
          }
        ]
      }
    },
    {
      "name": "WithdrawalCapAccumulatorAction",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "KeepAccumulator"
          },
          {
            "name": "ResetAccumulator"
          }
        ]
      }
    },
    {
      "name": "PsmWithdrawalCapType",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "UsdhWithdrawalCap"
          },
          {
            "name": "OtherStablecoinWithdrawalCap"
          }
        ]
      }
    },
    {
      "name": "PsmOperationType",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Mint"
          },
          {
            "name": "Burn"
          }
        ]
      }
    },
    {
      "name": "EventStatus",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Inactive"
          },
          {
            "name": "PendingCollection"
          }
        ]
      }
    },
    {
      "name": "GlobalConfigOption",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "UserBorrowMin"
          },
          {
            "name": "UserBorrowMax"
          },
          {
            "name": "UserDebtMin"
          },
          {
            "name": "UserDebtMax"
          },
          {
            "name": "DelegateCollateralAllowActiveOnly"
          },
          {
            "name": "TreasuryFeeRate"
          },
          {
            "name": "ProtocolEpoch"
          },
          {
            "name": "BlockWithdrawCollateral"
          },
          {
            "name": "BlockTryLiquidate"
          },
          {
            "name": "BlockBorrow"
          },
          {
            "name": "BlockDepositAndBorrow"
          },
          {
            "name": "BlockClearLiquidationGains"
          },
          {
            "name": "BlockHarvestLiquidationGains"
          },
          {
            "name": "BlockWithdrawStability"
          },
          {
            "name": "BlockAirdropHbb"
          },
          {
            "name": "EmergencyMode"
          },
          {
            "name": "IssuancePerSecond"
          },
          {
            "name": "BlockPsmMint"
          },
          {
            "name": "BlockPsmBurn"
          },
          {
            "name": "BlockDepositCollateral"
          },
          {
            "name": "BtcBasedLiquidations"
          },
          {
            "name": "BlockRedemptions"
          },
          {
            "name": "BlockUndercollLiq"
          },
          {
            "name": "Placeholder0"
          },
          {
            "name": "ScopeProgramId"
          },
          {
            "name": "ScopePrices"
          }
        ]
      }
    },
    {
      "name": "CollateralAmounts",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Market",
            "fields": [
              {
                "name": "amounts",
                "type": {
                  "defined": "MarketCollateralAmounts"
                }
              }
            ]
          },
          {
            "name": "User",
            "fields": [
              {
                "name": "amounts",
                "type": {
                  "defined": "UserCollateralAmounts"
                }
              }
            ]
          }
        ]
      }
    },
    {
      "name": "CollateralTokenActive",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "SOL"
          },
          {
            "name": "ETH"
          },
          {
            "name": "BTC"
          },
          {
            "name": "SRM"
          },
          {
            "name": "RAY"
          },
          {
            "name": "FTT"
          },
          {
            "name": "MSOL"
          }
        ]
      }
    },
    {
      "name": "CollateralToken",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "SOL"
          },
          {
            "name": "ETH"
          },
          {
            "name": "BTC"
          },
          {
            "name": "SRM"
          },
          {
            "name": "RAY"
          },
          {
            "name": "FTT"
          },
          {
            "name": "MSOL"
          },
          {
            "name": "DAOSOL"
          },
          {
            "name": "STSOL"
          },
          {
            "name": "SCNSOL"
          },
          {
            "name": "WSTETH"
          },
          {
            "name": "LDO"
          },
          {
            "name": "CSOL"
          },
          {
            "name": "CETH"
          },
          {
            "name": "CBTC"
          },
          {
            "name": "CMSOL"
          },
          {
            "name": "CUSDC"
          },
          {
            "name": "CSRM"
          },
          {
            "name": "CRAY"
          },
          {
            "name": "CFTT"
          },
          {
            "name": "CSTSOL"
          },
          {
            "name": "CSLND"
          },
          {
            "name": "CORCA"
          },
          {
            "name": "KUSDHUSDCORCA"
          },
          {
            "name": "KUSDCUSDTORCA"
          },
          {
            "name": "KSTSOLSOLORCA"
          },
          {
            "name": "KUSHUSDCORCA"
          },
          {
            "name": "JSOL"
          },
          {
            "name": "KUXDUSDCORCA"
          },
          {
            "name": "JITOSOL"
          },
          {
            "name": "OTHER"
          }
        ]
      }
    },
    {
      "name": "CollateralAction",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Add"
          },
          {
            "name": "Remove"
          }
        ]
      }
    },
    {
      "name": "MarketType",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "ORIGINAL"
          },
          {
            "name": "BASE"
          },
          {
            "name": "UNLIQUIDATABLE"
          }
        ]
      }
    },
    {
      "name": "UserStatus",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Inactive"
          },
          {
            "name": "Active"
          },
          {
            "name": "Liquidated"
          }
        ]
      }
    },
    {
      "name": "StabilityTokenActive",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "SOL"
          },
          {
            "name": "ETH"
          },
          {
            "name": "BTC"
          },
          {
            "name": "SRM"
          },
          {
            "name": "RAY"
          },
          {
            "name": "FTT"
          },
          {
            "name": "HBB"
          },
          {
            "name": "MSOL"
          },
          {
            "name": "USDH"
          }
        ]
      }
    },
    {
      "name": "StabilityToken",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "SOL"
          },
          {
            "name": "ETH"
          },
          {
            "name": "BTC"
          },
          {
            "name": "SRM"
          },
          {
            "name": "RAY"
          },
          {
            "name": "FTT"
          },
          {
            "name": "HBB"
          },
          {
            "name": "MSOL"
          },
          {
            "name": "USDH"
          },
          {
            "name": "OTHER"
          }
        ]
      }
    },
    {
      "name": "StakingToken",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "HBB"
          },
          {
            "name": "USDH"
          }
        ]
      }
    },
    {
      "name": "PDA",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "BorrowingFeesAccount",
            "fields": [
              {
                "name": "owner",
                "type": "publicKey"
              }
            ]
          },
          {
            "name": "StablecoinMint",
            "fields": [
              {
                "name": "owner",
                "type": "publicKey"
              }
            ]
          },
          {
            "name": "StabilityPool",
            "fields": [
              {
                "name": "owner",
                "type": "publicKey"
              }
            ]
          },
          {
            "name": "BurningPotAccount",
            "fields": [
              {
                "name": "owner",
                "type": "publicKey"
              }
            ]
          },
          {
            "name": "TreasuryAccount",
            "fields": [
              {
                "name": "owner",
                "type": "publicKey"
              }
            ]
          },
          {
            "name": "StakingPool",
            "fields": [
              {
                "name": "owner",
                "type": "publicKey"
              }
            ]
          },
          {
            "name": "HbbMint",
            "fields": [
              {
                "name": "owner",
                "type": "publicKey"
              }
            ]
          },
          {
            "name": "CollateralVault",
            "fields": [
              {
                "name": "owner",
                "type": "publicKey"
              }
            ]
          },
          {
            "name": "LiquidationsVault",
            "fields": [
              {
                "name": "owner",
                "type": "publicKey"
              }
            ]
          },
          {
            "name": "PsmVault",
            "fields": [
              {
                "name": "owner",
                "type": "publicKey"
              }
            ]
          },
          {
            "name": "PsmTreasuryOtherStable",
            "fields": [
              {
                "name": "owner",
                "type": "publicKey"
              }
            ]
          }
        ]
      }
    },
    {
      "name": "ScopePriceId",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "SOL"
          },
          {
            "name": "ETH"
          },
          {
            "name": "BTC"
          },
          {
            "name": "SRM"
          },
          {
            "name": "RAY"
          },
          {
            "name": "FTT"
          },
          {
            "name": "MSOL"
          },
          {
            "name": "scnSOL_SOL"
          },
          {
            "name": "BNB"
          },
          {
            "name": "AVAX"
          },
          {
            "name": "DaoSOL_SOL"
          },
          {
            "name": "SaberMSOL_SOL"
          },
          {
            "name": "USDH"
          },
          {
            "name": "StSOL"
          },
          {
            "name": "CSOL_SOL"
          },
          {
            "name": "CETH_ETH"
          },
          {
            "name": "CBTC_BTC"
          },
          {
            "name": "CMSOL_MSOL"
          },
          {
            "name": "wstETH"
          },
          {
            "name": "LDO"
          },
          {
            "name": "USDC"
          },
          {
            "name": "CUSDC_USDC"
          },
          {
            "name": "USDT"
          },
          {
            "name": "ORCA"
          },
          {
            "name": "MNDE"
          },
          {
            "name": "HBB"
          },
          {
            "name": "CSLND_SLND"
          },
          {
            "name": "CORCA_ORCA"
          },
          {
            "name": "CSRM_SRM"
          },
          {
            "name": "CRAY_RAY"
          },
          {
            "name": "CFTT_FTT"
          },
          {
            "name": "CSTSOL_STSOL"
          },
          {
            "name": "SLND"
          },
          {
            "name": "DAI"
          },
          {
            "name": "JSOL_SOL"
          },
          {
            "name": "USH"
          },
          {
            "name": "UXD"
          },
          {
            "name": "USDH_TWAP"
          },
          {
            "name": "USH_TWAP"
          },
          {
            "name": "UXD_TWAP"
          },
          {
            "name": "HDG"
          },
          {
            "name": "DUST"
          },
          {
            "name": "KUSDHUSDCORCA"
          },
          {
            "name": "KSTSOLSOLORCA"
          },
          {
            "name": "KUSDCUSDTORCA"
          },
          {
            "name": "KUSHUSDCORCA"
          },
          {
            "name": "USDR"
          },
          {
            "name": "USDR_TWAP"
          },
          {
            "name": "RATIO"
          },
          {
            "name": "UXP"
          },
          {
            "name": "KUXDUSDCORCA"
          },
          {
            "name": "JITOSOL_SOL"
          },
          {
            "name": "SOL_EMA"
          },
          {
            "name": "ETH_EMA"
          },
          {
            "name": "BTC_EMA"
          },
          {
            "name": "SRM_EMA"
          },
          {
            "name": "RAY_EMA"
          },
          {
            "name": "FTT_EMA"
          },
          {
            "name": "MSOL_TWAP"
          },
          {
            "name": "BNB_EMA"
          },
          {
            "name": "AVAX_EMA"
          },
          {
            "name": "STSOL_TWAP"
          },
          {
            "name": "USDC_EMA"
          },
          {
            "name": "USDT_EMA"
          },
          {
            "name": "SLND_EMA"
          },
          {
            "name": "DAI_EMA"
          },
          {
            "name": "wstETH_TWAP"
          },
          {
            "name": "DUST_TWAP"
          }
        ]
      }
    }
  ],
  "errors": [
    {
      "code": 6000,
      "name": "NotEnoughCollateral",
      "msg": "Insufficient collateral to cover debt"
    },
    {
      "code": 6001,
      "name": "CollateralNotEnabled",
      "msg": "Collateral not yet enabled"
    },
    {
      "code": 6002,
      "name": "CannotDepositZeroAmount",
      "msg": "Cannot deposit zero collateral amount"
    },
    {
      "code": 6003,
      "name": "CannotWithdrawZeroAmount",
      "msg": "Cannot withdraw zero collateral amount"
    },
    {
      "code": 6004,
      "name": "NothingToRepay",
      "msg": "No outstanding debt"
    },
    {
      "code": 6005,
      "name": "CannotUpdateStabilitySum",
      "msg": "Could not update the sum for the provided epoch and scale"
    },
    {
      "code": 6006,
      "name": "NeedToClaimAllRewardsFirst",
      "msg": "Need to claim all rewards first"
    },
    {
      "code": 6007,
      "name": "NeedToHarvestAllRewardsFirst",
      "msg": "Need to harvest all rewards first"
    },
    {
      "code": 6008,
      "name": "StakingZero",
      "msg": "Cannot stake or unstake 0 amount"
    },
    {
      "code": 6009,
      "name": "NothingToUnstake",
      "msg": "Nothing to unstake"
    },
    {
      "code": 6010,
      "name": "NoRewardToWithdraw",
      "msg": "No reward to withdraw"
    },
    {
      "code": 6011,
      "name": "CannotProvideZeroStability",
      "msg": "Cannot provide zero stability"
    },
    {
      "code": 6012,
      "name": "CannotWithdrawZeroStability",
      "msg": "Cannot withdraw zero stability"
    },
    {
      "code": 6013,
      "name": "NothingToWithdraw",
      "msg": "Nothing to withdraw"
    },
    {
      "code": 6014,
      "name": "StabilityPoolIsEmpty",
      "msg": "Stability Pool is empty"
    },
    {
      "code": 6015,
      "name": "NotEnoughStabilityInTheStabilityPool",
      "msg": "Stability pool cannot offset this much debt"
    },
    {
      "code": 6016,
      "name": "MismatchedNextPdaRewardAddress",
      "msg": "Mismatching next PDA reward address"
    },
    {
      "code": 6017,
      "name": "MismatchedNextPdaRewardSeed",
      "msg": "Mismatching next PDA reward seed"
    },
    {
      "code": 6018,
      "name": "MismatchedNextPdaIndex",
      "msg": "Wrong next reward pda index"
    },
    {
      "code": 6019,
      "name": "NextRewardNotReadyYet",
      "msg": "Next reward not ready yet"
    },
    {
      "code": 6020,
      "name": "NothingStaked",
      "msg": "Nothing staked, cannot collect any rewards"
    },
    {
      "code": 6021,
      "name": "NextRewardMismatchForUser",
      "msg": "Reward candidate mismatch from user's next pending reward"
    },
    {
      "code": 6022,
      "name": "UserWellCollateralized",
      "msg": "User is well collateralized, cannot liquidate"
    },
    {
      "code": 6023,
      "name": "LastUser",
      "msg": "Cannot liquidate the last user"
    },
    {
      "code": 6024,
      "name": "IntegerOverflow",
      "msg": "Integer overflow"
    },
    {
      "code": 6025,
      "name": "ConversionFailure",
      "msg": "Conversion failure"
    },
    {
      "code": 6026,
      "name": "CannotHarvestUntilLiquidationGainsCleared",
      "msg": "Cannot harvest until liquidation gains are cleared"
    },
    {
      "code": 6027,
      "name": "RedemptionsQueueIsFull",
      "msg": "Redemptions queue is full, cannot add one more order"
    },
    {
      "code": 6028,
      "name": "RedemptionsQueueIsEmpty",
      "msg": "Redemptions queue is empty, nothing to process"
    },
    {
      "code": 6029,
      "name": "RedemptionsAmountTooSmall",
      "msg": "Redemptions amount too small"
    },
    {
      "code": 6030,
      "name": "CannotRedeemMoreThanMinted",
      "msg": "Redemptions amount too much"
    },
    {
      "code": 6031,
      "name": "NeedToProcessFirstOrderBeforeOthers",
      "msg": "The program needs to finish processing the first outstanding order before moving on to others"
    },
    {
      "code": 6032,
      "name": "RedemptionClearingOrderIsIncorrect",
      "msg": "The bot submitted the clearing users in the wrong order"
    },
    {
      "code": 6033,
      "name": "CannotFillRedemptionOrderWhileInClearingMode",
      "msg": "Current redemption order is in clearing mode, cannot fill it until it's fully cleared"
    },
    {
      "code": 6034,
      "name": "CannotClearRedemptionOrderWhileInFillingMode",
      "msg": "Current redemption order is in filling mode, cannot clear it until it's filled"
    },
    {
      "code": 6035,
      "name": "InvalidRedemptionOrder",
      "msg": "Redemption order is inactive"
    },
    {
      "code": 6036,
      "name": "OrderDoesNotHaveCandidates",
      "msg": "Redemption order is empty of candidates"
    },
    {
      "code": 6037,
      "name": "WrongRedemptionUser",
      "msg": "Redemption user is not among the candidates"
    },
    {
      "code": 6038,
      "name": "RedemptionFillerNotFound",
      "msg": "Redemption user is not among the candidates"
    },
    {
      "code": 6039,
      "name": "InvalidRedeemer",
      "msg": "Redeemer does not match with the order being redeemed"
    },
    {
      "code": 6040,
      "name": "DuplicateAccountInFillOrder",
      "msg": "Duplicate account in fill order"
    },
    {
      "code": 6041,
      "name": "RedemptionUserNotFound",
      "msg": "Redemption user is not among the candidates"
    },
    {
      "code": 6042,
      "name": "MathOverflow",
      "msg": "Mathematical operation with overflow"
    },
    {
      "code": 6043,
      "name": "PriceNotValid",
      "msg": "Price is not valid"
    },
    {
      "code": 6044,
      "name": "LiquidationsQueueFull",
      "msg": "Liquidation queue is full"
    },
    {
      "code": 6045,
      "name": "CannotDeserializeEpochToScaleToSum",
      "msg": "Epoch to scale to sum deserialization failed"
    },
    {
      "code": 6046,
      "name": "BorrowingDisabled",
      "msg": "Borrowing is disabled"
    },
    {
      "code": 6047,
      "name": "CannotBorrowZeroAmount",
      "msg": "Cannot borrow zero amount"
    },
    {
      "code": 6048,
      "name": "CannotRepayZeroAmount",
      "msg": "Cannot repay zero amount"
    },
    {
      "code": 6049,
      "name": "CannotRedeemDuringBootstrapPeriod",
      "msg": "Cannot redeem during bootstrap period"
    },
    {
      "code": 6050,
      "name": "CannotBorrowLessThanMinimum",
      "msg": "Cannot borrow less than minimum"
    },
    {
      "code": 6051,
      "name": "CannotBorrowMoreThanMaximum",
      "msg": "Cannot borrow more than maximum"
    },
    {
      "code": 6052,
      "name": "UserDebtTooLow",
      "msg": "User debt is lower than the minimum"
    },
    {
      "code": 6053,
      "name": "UserDebtTooHigh",
      "msg": "User debt is higher than the maximum"
    },
    {
      "code": 6054,
      "name": "TotalDebtTooHigh",
      "msg": "Total debt is more than the maximum"
    },
    {
      "code": 6055,
      "name": "CannotRedeemWhenUndercollateralized",
      "msg": "Cannot redeem while being undercollateralized"
    },
    {
      "code": 6056,
      "name": "ZeroAmountInvalid",
      "msg": "Zero argument not allowed"
    },
    {
      "code": 6057,
      "name": "InvalidDexInputs",
      "msg": "Serum DEX variables inputted wrongly"
    },
    {
      "code": 6058,
      "name": "NoSwapExecuted",
      "msg": "Serum DEX transaction didn't execute the swap function"
    },
    {
      "code": 6059,
      "name": "GlobalConfigKeyError",
      "msg": "Key is not present in global config"
    },
    {
      "code": 6060,
      "name": "MarinadeDepositError",
      "msg": "Marinade deposit didn't go through"
    },
    {
      "code": 6061,
      "name": "CannotDelegateInactive",
      "msg": "Cannot delegate inactive collateral"
    },
    {
      "code": 6062,
      "name": "StatusMismatch",
      "msg": "User is either deposited or inactive, can't be both"
    },
    {
      "code": 6063,
      "name": "UnexpectedAccount",
      "msg": "Unexpected account in instruction"
    },
    {
      "code": 6064,
      "name": "OperationBringsPositionBelowMCR",
      "msg": "User is either deposited or inactive, can't be both"
    },
    {
      "code": 6065,
      "name": "OperationForbidden",
      "msg": "Operation forbidden"
    },
    {
      "code": 6066,
      "name": "SystemInEmergencyMode",
      "msg": "System is in emergency mode"
    },
    {
      "code": 6067,
      "name": "BorrowBlocked",
      "msg": "Borrow is currently blocked"
    },
    {
      "code": 6068,
      "name": "ClearLiquidationGainsBlocked",
      "msg": "Clear_liquidation_gains is currently blocked"
    },
    {
      "code": 6069,
      "name": "AirdropHBBBlocked",
      "msg": "Airdrop_HBB is currently blocked"
    },
    {
      "code": 6070,
      "name": "WithdrawCollateralBlocked",
      "msg": "Withdraw_collateral is currently blocked"
    },
    {
      "code": 6071,
      "name": "TryLiquidateBlocked",
      "msg": "Try_liquidate is currently blocked"
    },
    {
      "code": 6072,
      "name": "DepositAndBorrowBlocked",
      "msg": "deposit_and_borrow is currently blocked"
    },
    {
      "code": 6073,
      "name": "HarvestLiquidationGainsBlocked",
      "msg": "harvest_liquidation_gains is currently blocked"
    },
    {
      "code": 6074,
      "name": "WithdrawStabilityBlocked",
      "msg": "withdraw_stability is currently blocked"
    },
    {
      "code": 6075,
      "name": "ClearRedemptionOrderBlocked",
      "msg": "clear_redemption_order is currently blocked"
    },
    {
      "code": 6076,
      "name": "UserDepositTooHigh",
      "msg": "User deposit is too high"
    },
    {
      "code": 6077,
      "name": "TotalDepositTooHigh",
      "msg": "Total deposit is too high"
    },
    {
      "code": 6078,
      "name": "OutOfRangeIntegralConversion",
      "msg": "Out of range integral conversion attempted"
    },
    {
      "code": 6079,
      "name": "PSMModuleReachedCapacity",
      "msg": "PSM Module reached capacity"
    },
    {
      "code": 6080,
      "name": "PSMModuleOutOfOtherStable",
      "msg": "PSM Module out of other stable"
    },
    {
      "code": 6081,
      "name": "TokenEnumConversionFailed",
      "msg": "Conversion between tokens types failed"
    },
    {
      "code": 6082,
      "name": "ParseScopePriceAccountFailed",
      "msg": "Failed to parse Scope price account"
    },
    {
      "code": 6083,
      "name": "SupportedCollateralsListFull",
      "msg": "Supported Collaterals list is full"
    },
    {
      "code": 6084,
      "name": "CollateralShouldNotBeUsed",
      "msg": "Collateral should not be used"
    },
    {
      "code": 6085,
      "name": "CollateralDepositExceedsCap",
      "msg": "Deposited amount exceeds the global deposit cap for this token"
    },
    {
      "code": 6086,
      "name": "TokenMapExtraTokensNotEmpty",
      "msg": "extra_tokens in TokenMap are still non-zero. Extra tokens have to converted to base tokens or USDH before proceeding"
    },
    {
      "code": 6087,
      "name": "UserExtraCollateralOutOfCapacity",
      "msg": "User extra collaterals list is out of capacity"
    },
    {
      "code": 6088,
      "name": "CannotLiquidateNonzeroSecondary",
      "msg": "Cannot liquidate via stability pool with non original collaterals"
    },
    {
      "code": 6089,
      "name": "UserStatusNotActive",
      "msg": "User status must be active to liquidate"
    },
    {
      "code": 6090,
      "name": "UserIsLiquidated",
      "msg": "User is in process of liquidation"
    },
    {
      "code": 6091,
      "name": "PsmMintBlocked",
      "msg": "Psm_mint is currently blocked"
    },
    {
      "code": 6092,
      "name": "PsmBurnBlocked",
      "msg": "Psm_burn is currently blocked"
    },
    {
      "code": 6093,
      "name": "DepositCollateralBlocked",
      "msg": "deposit_collateral is currently blocked"
    },
    {
      "code": 6094,
      "name": "PSMCannotMintZeroAmount",
      "msg": "PSM Cannot Mint Zero Amount"
    },
    {
      "code": 6095,
      "name": "PSMCannotBurnZeroAmount",
      "msg": "PSM Cannot Burn Zero Amount"
    },
    {
      "code": 6096,
      "name": "CannotLiquidateCashBasedIfNoSecondary",
      "msg": "Cannot liquidate cash based if the position has no secondary tokens"
    },
    {
      "code": 6097,
      "name": "PledgedLiquidationAmountLessThanMinimum",
      "msg": "Cannot liquidate cash based partially if pledged amount less than minimum"
    },
    {
      "code": 6098,
      "name": "WithdrawalCapReached",
      "msg": "Withdrawal Capacity exceeded"
    },
    {
      "code": 6099,
      "name": "TimestampDecrease",
      "msg": "Current Timestamp smaller than Last Recorded"
    },
    {
      "code": 6100,
      "name": "MarketUnliquidatable",
      "msg": "Market cannot be liquidated"
    },
    {
      "code": 6101,
      "name": "EmergencyLiquidationBlocked",
      "msg": "Emergency liquidations are blocked"
    },
    {
      "code": 6102,
      "name": "CannotRedeemToken",
      "msg": "Token cannot be redeemed"
    },
    {
      "code": 6103,
      "name": "CannotRedeemZeroAmount",
      "msg": "No collateral to be redeemed"
    },
    {
      "code": 6104,
      "name": "CannotRedeemZeroValue",
      "msg": "Token gains to be redeemed have 0 USDH value"
    },
    {
      "code": 6105,
      "name": "CannotRedeemLessThanMinimumValue",
      "msg": "Token gains to be redeemed have less than 1 USDH value"
    },
    {
      "code": 6106,
      "name": "CannotRedeemMoreThanAvailable",
      "msg": "Cannot request to receive a minimum amount > collateral available"
    },
    {
      "code": 6107,
      "name": "CannotRedeemMinimumAmount",
      "msg": "Cannot swap - redeemer will receive less than the minimum amount"
    },
    {
      "code": 6108,
      "name": "UndercollLiquidationBlocked",
      "msg": "Undercollateralized liquidations are blocked"
    },
    {
      "code": 6109,
      "name": "PriceTooDivergentFromTwap",
      "msg": "Price too divergent from twap"
    }
  ]
}
