{
    "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"
        }
    ]
}
