UNPKG

banx-token-lending-sdk

Version:

Banx Token Lending sdk

2,644 lines 86.2 kB
/**
 * Program IDL in camelCase format in order to be used in JS/TS.
 *
 * Note that this is only a type helper and is not the actual IDL. The original
 * IDL can be found at `target/idl/banx_token_lending.json`.
 */
export type BanxTokenLending = {
    "address": "Banxj7HgkaM1Uwy5kYAAXypMubWMRtJ7Wyf6kqHaFgCq";
    "metadata": {
        "name": "banxTokenLending";
        "version": "0.1.0";
        "spec": "0.1.0";
        "description": "Created with Anchor";
    };
    "instructions": [
        {
            "name": "borrowPerpetualLoan";
            "discriminator": [
                66,
                13,
                79,
                110,
                9,
                99,
                18,
                194
            ];
            "accounts": [
                {
                    "name": "bondOffer";
                    "writable": true;
                },
                {
                    "name": "lenderVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    117,
                                    115,
                                    101,
                                    114,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "bondOffer";
                            },
                            {
                                "kind": "account";
                                "path": "lendingTokenMint";
                            }
                        ];
                    };
                },
                {
                    "name": "bondLoan";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    108,
                                    111,
                                    97,
                                    110
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "user";
                            },
                            {
                                "kind": "arg";
                                "path": "seed";
                            }
                        ];
                    };
                },
                {
                    "name": "user";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "rentVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    114,
                                    101,
                                    110,
                                    116,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116,
                                    95,
                                    112,
                                    114,
                                    101,
                                    102,
                                    105,
                                    120
                                ];
                            }
                        ];
                    };
                },
                {
                    "name": "market";
                    "writable": true;
                },
                {
                    "name": "marketCollateralVaultTokenAccount";
                    "writable": true;
                },
                {
                    "name": "userCollateralTokenAccount";
                    "writable": true;
                },
                {
                    "name": "userLendingTokenAccount";
                    "writable": true;
                },
                {
                    "name": "lenderVaultLendingTokenAccount";
                    "writable": true;
                },
                {
                    "name": "collateralMint";
                    "writable": true;
                },
                {
                    "name": "lendingTokenMint";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                    "address": "11111111111111111111111111111111";
                },
                {
                    "name": "rent";
                    "address": "SysvarRent111111111111111111111111111111111";
                },
                {
                    "name": "protocolFeeReceiver";
                    "writable": true;
                    "address": "revJ8QJgQ3xCcZ6CMykjsmGMYdg8Pj9WnqgJZBHBwSK";
                },
                {
                    "name": "protocolFeeReceiverLendingTokenAccount";
                },
                {
                    "name": "oracle";
                    "writable": true;
                },
                {
                    "name": "tokenProgram";
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
                },
                {
                    "name": "associatedTokenProgram";
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
                }
            ];
            "args": [
                {
                    "name": "seed";
                    "type": "u64";
                },
                {
                    "name": "amountToGetFromOffer";
                    "type": "u64";
                },
                {
                    "name": "collateralToSend";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "borrowerRefinance";
            "discriminator": [
                245,
                133,
                59,
                90,
                202,
                63,
                202,
                202
            ];
            "accounts": [
                {
                    "name": "newBondOffer";
                    "writable": true;
                },
                {
                    "name": "oldBondOffer";
                    "writable": true;
                },
                {
                    "name": "oldBondLoan";
                    "writable": true;
                },
                {
                    "name": "newBondLoan";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    108,
                                    111,
                                    97,
                                    110
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "oldBondLoan";
                            }
                        ];
                    };
                },
                {
                    "name": "newLenderVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    117,
                                    115,
                                    101,
                                    114,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "newBondOffer";
                            },
                            {
                                "kind": "account";
                                "path": "lendingTokenMint";
                            }
                        ];
                    };
                },
                {
                    "name": "oldLenderVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    117,
                                    115,
                                    101,
                                    114,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "oldBondOffer";
                            },
                            {
                                "kind": "account";
                                "path": "lendingTokenMint";
                            }
                        ];
                    };
                },
                {
                    "name": "user";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "rentVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    114,
                                    101,
                                    110,
                                    116,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116,
                                    95,
                                    112,
                                    114,
                                    101,
                                    102,
                                    105,
                                    120
                                ];
                            }
                        ];
                    };
                },
                {
                    "name": "market";
                    "writable": true;
                },
                {
                    "name": "userLendingTokenAccount";
                    "writable": true;
                },
                {
                    "name": "oldLenderVaultLendingTokenAccount";
                    "writable": true;
                },
                {
                    "name": "newLenderVaultLendingTokenAccount";
                    "writable": true;
                },
                {
                    "name": "lendingTokenMint";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                    "address": "11111111111111111111111111111111";
                },
                {
                    "name": "rent";
                    "address": "SysvarRent111111111111111111111111111111111";
                },
                {
                    "name": "protocolFeeReceiver";
                    "writable": true;
                    "address": "revJ8QJgQ3xCcZ6CMykjsmGMYdg8Pj9WnqgJZBHBwSK";
                },
                {
                    "name": "protocolFeeReceiverLendingTokenAccount";
                },
                {
                    "name": "oracle";
                    "writable": true;
                },
                {
                    "name": "tokenProgram";
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
                },
                {
                    "name": "associatedTokenProgram";
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
                }
            ];
            "args": [
                {
                    "name": "solToRefinance";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "createBondOffer";
            "discriminator": [
                3,
                25,
                221,
                101,
                91,
                193,
                47,
                69
            ];
            "accounts": [
                {
                    "name": "bondOffer";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    98,
                                    111,
                                    110,
                                    100,
                                    95,
                                    111,
                                    102,
                                    102,
                                    101,
                                    114
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "user";
                            },
                            {
                                "kind": "arg";
                                "path": "seed";
                            }
                        ];
                    };
                },
                {
                    "name": "user";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "rentVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    114,
                                    101,
                                    110,
                                    116,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116,
                                    95,
                                    112,
                                    114,
                                    101,
                                    102,
                                    105,
                                    120
                                ];
                            }
                        ];
                    };
                },
                {
                    "name": "market";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                    "address": "11111111111111111111111111111111";
                },
                {
                    "name": "rent";
                    "address": "SysvarRent111111111111111111111111111111111";
                }
            ];
            "args": [
                {
                    "name": "seed";
                    "type": "u64";
                },
                {
                    "name": "offerSize";
                    "type": "u128";
                },
                {
                    "name": "loanLiquidationLtv";
                    "type": "u32";
                },
                {
                    "name": "lenderApr";
                    "type": "u32";
                }
            ];
        },
        {
            "name": "initializeOrUpdateMarket";
            "discriminator": [
                52,
                145,
                73,
                185,
                91,
                251,
                214,
                188
            ];
            "accounts": [
                {
                    "name": "market";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    98,
                                    97,
                                    110,
                                    120,
                                    95,
                                    109,
                                    97,
                                    114,
                                    107,
                                    101,
                                    116
                                ];
                            },
                            {
                                "kind": "arg";
                                "path": "market_params.lending_token_mint";
                            },
                            {
                                "kind": "account";
                                "path": "collateralMint";
                            }
                        ];
                    };
                },
                {
                    "name": "rentVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    114,
                                    101,
                                    110,
                                    116,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116,
                                    95,
                                    112,
                                    114,
                                    101,
                                    102,
                                    105,
                                    120
                                ];
                            }
                        ];
                    };
                },
                {
                    "name": "collateralMint";
                    "writable": true;
                },
                {
                    "name": "user";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "collateralVaultTokenAccount";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                    "address": "11111111111111111111111111111111";
                },
                {
                    "name": "tokenProgram";
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
                },
                {
                    "name": "associatedTokenProgram";
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
                },
                {
                    "name": "rent";
                    "address": "SysvarRent111111111111111111111111111111111";
                }
            ];
            "args": [
                {
                    "name": "marketParams";
                    "type": {
                        "defined": {
                            "name": "initializeOrUpdateMarketParams";
                        };
                    };
                }
            ];
        },
        {
            "name": "lenderInstantRefinance";
            "discriminator": [
                40,
                37,
                57,
                109,
                57,
                78,
                88,
                41
            ];
            "accounts": [
                {
                    "name": "newBondOffer";
                    "writable": true;
                },
                {
                    "name": "oldBondOffer";
                    "writable": true;
                },
                {
                    "name": "oldBondLoan";
                    "writable": true;
                },
                {
                    "name": "newBondLoan";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    108,
                                    111,
                                    97,
                                    110
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "oldBondLoan";
                            }
                        ];
                    };
                },
                {
                    "name": "newLenderVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    117,
                                    115,
                                    101,
                                    114,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "newBondOffer";
                            },
                            {
                                "kind": "account";
                                "path": "lendingTokenMint";
                            }
                        ];
                    };
                },
                {
                    "name": "oldLenderVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    117,
                                    115,
                                    101,
                                    114,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "oldBondOffer";
                            },
                            {
                                "kind": "account";
                                "path": "lendingTokenMint";
                            }
                        ];
                    };
                },
                {
                    "name": "user";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "rentVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    114,
                                    101,
                                    110,
                                    116,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116,
                                    95,
                                    112,
                                    114,
                                    101,
                                    102,
                                    105,
                                    120
                                ];
                            }
                        ];
                    };
                },
                {
                    "name": "market";
                    "writable": true;
                },
                {
                    "name": "userLendingTokenAccount";
                    "writable": true;
                },
                {
                    "name": "oldLenderVaultLendingTokenAccount";
                    "writable": true;
                },
                {
                    "name": "newLenderVaultLendingTokenAccount";
                    "writable": true;
                },
                {
                    "name": "lendingTokenMint";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                    "address": "11111111111111111111111111111111";
                },
                {
                    "name": "rent";
                    "address": "SysvarRent111111111111111111111111111111111";
                },
                {
                    "name": "protocolFeeReceiver";
                    "writable": true;
                    "address": "revJ8QJgQ3xCcZ6CMykjsmGMYdg8Pj9WnqgJZBHBwSK";
                },
                {
                    "name": "protocolFeeReceiverLendingTokenAccount";
                },
                {
                    "name": "oracle";
                    "writable": true;
                },
                {
                    "name": "tokenProgram";
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
                },
                {
                    "name": "associatedTokenProgram";
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
                }
            ];
            "args": [];
        },
        {
            "name": "liquidatePerpetualLoan";
            "discriminator": [
                122,
                98,
                116,
                58,
                216,
                45,
                255,
                235
            ];
            "accounts": [
                {
                    "name": "bondOffer";
                    "writable": true;
                },
                {
                    "name": "bondLoan";
                    "writable": true;
                },
                {
                    "name": "market";
                    "writable": true;
                },
                {
                    "name": "user";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "systemProgram";
                    "address": "11111111111111111111111111111111";
                },
                {
                    "name": "rent";
                    "address": "SysvarRent111111111111111111111111111111111";
                },
                {
                    "name": "oracle";
                    "writable": true;
                }
            ];
            "args": [];
        },
        {
            "name": "refinancePerpetualLoan";
            "discriminator": [
                158,
                239,
                154,
                119,
                143,
                198,
                43,
                213
            ];
            "accounts": [
                {
                    "name": "newBondOffer";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    98,
                                    111,
                                    110,
                                    100,
                                    95,
                                    111,
                                    102,
                                    102,
                                    101,
                                    114
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "user";
                            },
                            {
                                "kind": "arg";
                                "path": "seed";
                            }
                        ];
                    };
                },
                {
                    "name": "oldBondOffer";
                    "writable": true;
                },
                {
                    "name": "oldBondLoan";
                    "writable": true;
                },
                {
                    "name": "newBondLoan";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    108,
                                    111,
                                    97,
                                    110
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "oldBondLoan";
                            }
                        ];
                    };
                },
                {
                    "name": "newLenderVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    117,
                                    115,
                                    101,
                                    114,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "user";
                            },
                            {
                                "kind": "account";
                                "path": "lendingTokenMint";
                            }
                        ];
                    };
                },
                {
                    "name": "oldLenderVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    117,
                                    115,
                                    101,
                                    114,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "oldBondOffer";
                            },
                            {
                                "kind": "account";
                                "path": "lendingTokenMint";
                            }
                        ];
                    };
                },
                {
                    "name": "user";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "rentVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    114,
                                    101,
                                    110,
                                    116,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116,
                                    95,
                                    112,
                                    114,
                                    101,
                                    102,
                                    105,
                                    120
                                ];
                            }
                        ];
                    };
                },
                {
                    "name": "market";
                    "writable": true;
                },
                {
                    "name": "userLendingTokenAccount";
                    "writable": true;
                },
                {
                    "name": "oldLenderVaultLendingTokenAccount";
                    "writable": true;
                },
                {
                    "name": "lendingTokenMint";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                    "address": "11111111111111111111111111111111";
                },
                {
                    "name": "rent";
                    "address": "SysvarRent111111111111111111111111111111111";
                },
                {
                    "name": "protocolFeeReceiver";
                    "writable": true;
                    "address": "revJ8QJgQ3xCcZ6CMykjsmGMYdg8Pj9WnqgJZBHBwSK";
                },
                {
                    "name": "protocolFeeReceiverLendingTokenAccount";
                },
                {
                    "name": "tokenProgram";
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
                },
                {
                    "name": "associatedTokenProgram";
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
                }
            ];
            "args": [];
        },
        {
            "name": "refinancePerpetualLoanFromOffer";
            "discriminator": [
                101,
                94,
                158,
                163,
                216,
                57,
                52,
                130
            ];
            "accounts": [
                {
                    "name": "newBondOffer";
                    "writable": true;
                },
                {
                    "name": "oldBondOffer";
                    "writable": true;
                },
                {
                    "name": "oldBondLoan";
                    "writable": true;
                },
                {
                    "name": "newBondLoan";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    108,
                                    111,
                                    97,
                                    110
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "oldBondLoan";
                            }
                        ];
                    };
                },
                {
                    "name": "newLenderVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    117,
                                    115,
                                    101,
                                    114,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "user";
                            },
                            {
                                "kind": "account";
                                "path": "lendingTokenMint";
                            }
                        ];
                    };
                },
                {
                    "name": "oldLenderVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    117,
                                    115,
                                    101,
                                    114,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "oldBondOffer";
                            },
                            {
                                "kind": "account";
                                "path": "lendingTokenMint";
                            }
                        ];
                    };
                },
                {
                    "name": "user";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "rentVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    114,
                                    101,
                                    110,
                                    116,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116,
                                    95,
                                    112,
                                    114,
                                    101,
                                    102,
                                    105,
                                    120
                                ];
                            }
                        ];
                    };
                },
                {
                    "name": "market";
                    "writable": true;
                },
                {
                    "name": "userLendingTokenAccount";
                    "writable": true;
                },
                {
                    "name": "oldLenderVaultLendingTokenAccount";
                    "writable": true;
                },
                {
                    "name": "lendingTokenMint";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                    "address": "11111111111111111111111111111111";
                },
                {
                    "name": "rent";
                    "address": "SysvarRent111111111111111111111111111111111";
                },
                {
                    "name": "protocolFeeReceiver";
                    "writable": true;
                    "address": "revJ8QJgQ3xCcZ6CMykjsmGMYdg8Pj9WnqgJZBHBwSK";
                },
                {
                    "name": "protocolFeeReceiverLendingTokenAccount";
                },
                {
                    "name": "tokenProgram";
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
                },
                {
                    "name": "associatedTokenProgram";
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
                },
                {
                    "name": "oracle";
                    "writable": true;
                }
            ];
            "args": [];
        },
        {
            "name": "removeBondOffer";
            "discriminator": [
                4,
                87,
                235,
                36,
                77,
                82,
                172,
                46
            ];
            "accounts": [
                {
                    "name": "bondOffer";
                    "writable": true;
                },
                {
                    "name": "user";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "rentVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    114,
                                    101,
                                    110,
                                    116,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116,
                                    95,
                                    112,
                                    114,
                                    101,
                                    102,
                                    105,
                                    120
                                ];
                            }
                        ];
                    };
                },
                {
                    "name": "systemProgram";
                    "address": "11111111111111111111111111111111";
                },
                {
                    "name": "rent";
                    "address": "SysvarRent111111111111111111111111111111111";
                }
            ];
            "args": [];
        },
        {
            "name": "repayPartialPerpetualLoan";
            "discriminator": [
                138,
                68,
                239,
                156,
                169,
                145,
                218,
                97
            ];
            "accounts": [
                {
                    "name": "bondOffer";
                    "writable": true;
                },
                {
                    "name": "bondLoan";
                    "writable": true;
                },
                {
                    "name": "newBondLoan";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    108,
                                    111,
                                    97,
                                    110
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "bondLoan";
                            }
                        ];
                    };
                },
                {
                    "name": "market";
                    "writable": true;
                },
                {
                    "name": "lenderVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    117,
                                    115,
                                    101,
                                    114,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "bondOffer";
                            },
                            {
                                "kind": "account";
                                "path": "lendingTokenMint";
                            }
                        ];
                    };
                },
                {
                    "name": "userLendingTokenAccount";
                    "writable": true;
                },
                {
                    "name": "lenderVaultLendingTokenAccount";
                    "writable": true;
                },
                {
                    "name": "protocolFeeReceiver";
                    "writable": true;
                    "address": "revJ8QJgQ3xCcZ6CMykjsmGMYdg8Pj9WnqgJZBHBwSK";
                },
                {
                    "name": "lendingTokenMint";
                    "writable": true;
                },
                {
                    "name": "user";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "systemProgram";
                    "address": "11111111111111111111111111111111";
                },
                {
                    "name": "rent";
                    "address": "SysvarRent111111111111111111111111111111111";
                },
                {
                    "name": "oracle";
                    "writable": true;
                },
                {
                    "name": "protocolFeeReceiverLendingTokenAccount";
                },
                {
                    "name": "rentVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    114,
                                    101,
                                    110,
                                    116,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116,
                                    95,
                                    112,
                                    114,
                                    101,
                                    102,
                                    105,
                                    120
                                ];
                            }
                        ];
                    };
                },
                {
                    "name": "tokenProgram";
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
                },
                {
                    "name": "associatedTokenProgram";
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
                }
            ];
            "args": [
                {
                    "name": "amountToRepay";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "repayPerpetualLoan";
            "discriminator": [
                40,
                56,
                164,
                63,
                64,
                14,
                111,
                95
            ];
            "accounts": [
                {
                    "name": "bondOffer";
                    "writable": true;
                },
                {
                    "name": "bondLoan";
                    "writable": true;
                },
                {
                    "name": "market";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    98,
                                    97,
                                    110,
                                    120,
                                    95,
                                    109,
                                    97,
                                    114,
                                    107,
                                    101,
                                    116
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "lendingTokenMint";
                            },
                            {
                                "kind": "account";
                                "path": "collateralMint";
                            }
                        ];
                    };
                },
                {
                    "name": "lenderVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    117,
                                    115,
                                    101,
                                    114,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "bondOffer";
                            },
                            {
                                "kind": "account";
                                "path": "lendingTokenMint";
                            }
                        ];
                    };
                },
                {
                    "name": "marketCollateralVaultTokenAccount";
                    "writable": true;
                },
                {
                    "name": "userCollateralTokenAccount";
                    "writable": true;
                },
                {
                    "name": "userLendingTokenAccount";
                    "writable": true;
                },
                {
                    "name": "lenderVaultLendingTokenAccount";
                    "writable": true;
                },
                {
                    "name": "protocolFeeReceiver";
                    "writable": true;
                    "address": "revJ8QJgQ3xCcZ6CMykjsmGMYdg8Pj9WnqgJZBHBwSK";
                },
                {
                    "name": "collateralMint";
                    "writable": true;
                },
                {
                    "name": "lendingTokenMint";
                    "writable": true;
                },
                {
                    "name": "user";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "systemProgram";
                    "address": "11111111111111111111111111111111";
                },
                {
                    "name": "rent";
                    "address": "SysvarRent111111111111111111111111111111111";
                },
                {
                    "name": "oracle";
                    "writable": true;
                },
                {
                    "name": "protocolFeeReceiverLendingTokenAccount";
                },
                {
                    "name": "rentVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    114,
                                    101,
                                    110,
                                    116,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116,
                                    95,
                                    112,
                                    114,
                                    101,
                                    102,
                                    105,
                                    120
                                ];
                            }
                        ];
                    };
                },
                {
                    "name": "tokenProgram";
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
                },
                {
                    "name": "associatedTokenProgram";
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
                }
            ];
            "args": [];
        },
        {
            "name": "revertTerminatePerpetualLoan";
            "discriminator": [
                41,
                184,
                161,
                47,
                161,
                211,
                103,
                52
            ];
            "accounts": [
                {
                    "name": "bondOffer";
                    "writable": true;
                },
                {
                    "name": "bondLoan";
                    "writable": true;
                },
                {
                    "name": "market";
                    "writable": true;
                },
                {
                    "name": "user";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "systemProgram";
                    "address": "11111111111111111111111111111111";
                },
                {
                    "name": "rent";
                    "address": "SysvarRent111111111111111111111111111111111";
                }
            ];
            "args": [];
        },
        {
            "name": "terminatePerpetualLoan";
            "discriminator": [
                50,
                99,
                124,
                192,
                16,
                106,
                78,
                113
            ];
            "accounts": [
                {
                    "name": "bondOffer";
                    "writable": true;
                },
                {
                    "name": "bondLoan";
                    "writable": true;
                },
                {
                    "name": "market";
                    "writable": true;
                },
                {
                    "name": "user";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "systemProgram";
                    "address": "11111111111111111111111111111111";
                },
                {
                    "name": "rent";
                    "address": "SysvarRent111111111111111111111111111111111";
                },
                {
                    "name": "oracle";
                    "writable": true;
                }
            ];
            "args": [];
        },
        {
            "name": "updateBondOffer";
            "discriminator": [
                163,
                8,
                59,
                41,
                141,
                241,
                247,
                80
            ];
            "accounts": [
                {
                    "name": "bondOffer";
                    "writable": true;
                },
                {
                    "name": "user";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "market";
                    "writable": true;
                },
                {
                    "name": "systemProgram";
                    "address": "11111111111111111111111111111111";
                },
                {
                    "name": "rent";
                    "address": "SysvarRent111111111111111111111111111111111";
                }
            ];
            "args": [
                {
                    "name": "offerSize";
                    "type": "u64";
                },
                {
                    "name": "loanLiquidationLtv";
                    "type": "u32";
                },
                {
                    "name": "lenderApr";
                    "type": "u32";
                }
            ];
        },
        {
            "name": "updateRentVault";
            "discriminator": [
                130,
                27,
                191,
                117,
                35,
                2,
                79,
                139
            ];
            "accounts": [
                {
                    "name": "rentVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    114,
                                    101,
                                    110,
                                    116,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116,
                                    95,
                                    112,
                                    114,
                                    101,
                                    102,
                                    105,
                                    120
                                ];
                            }
                        ];
                    };
                },
                {
                    "name": "user";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "systemProgram";
                    "address": "11111111111111111111111111111111";
                },
                {
                    "name": "rent";
                    "address": "SysvarRent111111111111111111111111111111111";
                }
            ];
            "args": [
                {
                    "name": "amountToAdd";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "updateUserVault";
            "discriminator": [
                67,
                191,
                35,
                49,
                146,
                148,
                83,
                238
            ];
            "accounts": [
                {
                    "name": "userVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    117,
                                    115,
                                    101,
                                    114,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116
                                ];
                            },
                            {
                                "kind": "account";
                                "path": "user";
                            },
                            {
                                "kind": "account";
                                "path": "lendingTokenMint";
                            }
                        ];
                    };
                },
                {
                    "name": "rentVault";
                    "writable": true;
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const";
                                "value": [
                                    114,
                                    101,
                                    110,
                                    116,
                                    95,
                                    118,
                                    97,
                                    117,
                                    108,
                                    116,
                                    95,
                                    112,
                                    114,
                                    101,
                                    102,
                                    105,
                                    120
                                ];
                            }
                        ];
                    };
                },
                {
                    "name": "user";
                    "writable": true;
                    "signer": true;
                },
                {
                    "name": "systemProgram";
                    "address": "11111111111111111111111111111111";
                },
                {
                    "name": "rent";
                    "address": "SysvarRent111111111111111111111111111111111";
                },
                {
                    "name": "userSplTokenAccountUninitialized";
                    "writable": true;
                },
                {
                    "name": "vaultSplTokenAccountUninitialized";
                    "writable": true;
                },
                {
                    "name": "lendingTokenMint";
                    "writable": true;
                },
                {
                    "name": "tokenProgram";
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
                },
                {
                    "name": "associatedTokenProgram";
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
                }
            ];
            "args": [
                {
                    "name": "amount";
                    "type": "u128";
                },
                {
                    "name": "add";
                    "type": "bool";
                }
            ];
        }
    ];
    "accounts": [
        {
            "name": "banxMarket";
            "discriminator": [
                208,
                67,
                34,
                245,
                192,
                71,
                218,
                77
            ];
        },
        {
            "name": "bondLoan";
            "discriminator": [
                29,
                12,
                202,
                120,
                154,
                196,
                83,
                225
            ];
        },
        {
            "name": "bondOffer";
            "discriminator": [
                35,
                250,
                97,
                241,
                107,
                159,
                185,
                150
            ];
        },
        {
            "name": "userVault";
            "discriminator": [
                23,
                76,
                96,
                159,
                210,
                10,
                5,
                22
            ];
        }
    ];
    "errors": [
        {
            "code": 6000;
            "name": "userDoesntHaveAuthority";
            "msg": "userDoesntHaveAuthority";
        },
        {
            "code": 6001;
            "name": "wrongSenderTokenAccount";
            "msg": "Wtong sender token account";
        },
        {
            "code": 6002;
            "name": "marketNotActive";
            "msg": "marketNotActive";
        },
        {
            "code": 6003;
            "name": "bondLoanNotActive";
            "msg": "bondLoanNotActive";
        },
        {
            "code": 6004;
            "name": "offerNotActive";
            "msg": "offerNotActive";
        },
        {
            "code": 6005;
            "name": "invalidRentVaultAccount";
            "msg": "invalidRentVaultAccount";
        },
        {
            "code": 6006;
            "name": "invalidCollateralMint";
            "msg": "invalidCollateralMint";
        },
        {
            "code": 6007;
            "name": "invalidLendingTokenMint";
            "msg": "invalidLendingTokenMint";
        },
        {
            "code": 6008;
            "name": "offerLtvExceedLimit";
            "msg": "offerLtvExceedLimit";
        },
        {
            "code": 6009;
            "name": "offerLiqLtvExcedLimit";
            "msg": "offerLiqLtvExceedLimit";
        },
        {
            "code": 6010;
            "name": "wrongOracleId";
            "msg": "wrongOracleId";
        },
        {
            "code": 6011;
            "name": "incorrectOfferForLoan";
            "msg": "Incorrect offer for loan";
        },
        {
            "code": 6012;
            "name": "oldOracle";
            "msg": "Oracle too old";
        },
        {
            "code": 6013;
            "name": "incorrectLoanStatus";
            "msg": "incorrectLoanStatus";
        },
        {
            "code": 6014;
            "name": "terminationFreezeNotReached";
            "msg": "Termination freeze not reached";
        },
        {
            "code": 6015;
            "name": "incorrectTerminationStatus";
            "msg": "Incorrect termination status";
        },
        {
            "code": 6016;
            "name": "cantAutoTerminateLoan";
            "msg": "Can't auto terminate loan";
        },
        {
            "code": 6017;
            "name": "cantLiquidateLoanBefore30Days";
            "msg": "Can't liquidate loan before 30 day termination";
        },
        {
            "code": 6018;
            "name": "invalidCollateralTokenAccount";
            "msg": "Invalid collateral token account";
        },
        {
            "code": 6019;
            "name": "invalidRedeemResult";
            "msg": "invalidRedeemResult";
        },
        {
            "code": 6020;
            "name": "collateralTransferAccountsNotFound";
            "msg": "collateralTransferAccountsNotFound";
        },
        {
            "code": 6021;
            "name": "offerDoesntMatchMarket";
            "msg": "offerDoesntMatchMarket";
        },
        {
            "code": 6022;
            "name": "repayCompensationAccountsNotFound";
            "msg": "repayCompensationAccountsNotFound";
        }
    ];
    "types": [
        {
            "name": "banxMarket";
            "serialization": "bytemuck";
            "repr": {
                "kind": "c";
            };
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "marketAuthority";
                        "type": "pubkey";
                    },
                    {
                        "name": "collateralTokenMint";
                        "type": "pubkey";
                    },
                    {
                        "name": "lendingTokenMint";
                        "type": "pubkey";
                    },
                    {
                        "name": "oraclePriceFeed";
                        "type": {
                            "array": [
                                "u8",
                                32
                            ];
                        };
                    },
                    {
                        "name": "upfrontFeeBp";
                        "type": "u32";
                    },
                    {
                        "name": "interestFeeBp";
                        "type": "u32";
                    },
                    {
                        "name": "oracleDuration";
                        "type": "u64";
                    },
                    {
                        "name": "marketState";
                        "type": "u8";
                    },
                    {
                        "name": "collateralDigits";
                        "type": "u8";
                    },
                    {
                        "name": "oracleFeedType";
                        "type": "u8";
                    },
                    {
                        "name": "lendingTokenDigits";
                        "type": "u8";
                    },
                    {
                        "name": "marginOfSafety";
                        "type": "u8";
                    },
                    {
                        "name": "lookupTable";
                        "type": "pubkey";
                    },
                    {
                        "name": "placeholder1";
                        "type": "pubkey";
                    },
                    {
                        "name": "placeholder2";
                        "type": "pubkey";
                    },
                    {
                        "name": "padding";
                        "type": {
                            "array": [
                                "u8",
                                3
                            ];
                        };
                    }
                ];
            };
        },
        {
            "name": "bondLoan";
            "serialization": "bytemuck";
            "repr": {
                "kind": "c";
            };
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "bondOffer";
                        "type": "pubkey";
                    },
                    {
                        "name": "lender";
                        "type": "pubkey";
                    },
                    {
                        "name": "borrower";
                        "type": "pubkey";
                    },
                    {
                        "name": "collateralTokenAccount";
                        "type": "pubkey";
                    },
                    {
                        "name": "compoundedProtocolInterest";
                        "type": "u64";
                    },
                    {
                        "name": "loanAmount";
                        "type": "u64";
                    },
                    {
                        "name": "feeAmount";
                        "type": "u64";
                    },
                    {
                        "name": "soldAt";
                        "type": "u64";
                    },
                    {
                        "name": "redeemedAt";
                        "type": "u64";
                    },
                    {
                        "name": "currentRemainingLent";
                        "type": "u64";
                    },
                    {
                        "name": "interestSnapshot";
                        "type": "u64";
                    },
                    {
                        "name": "partialRepaySnapshot";
                        "type": "u64";
                    },
                    {
                        "name": "terminationStartedAt";
                        "type": "u64";
                    },
                    {
                        "name": "lenderOriginalLent";
                        "type": "u64";
                    },
                    {
                        "name": "lenderFullRepaidAmount";
                        "type": "u64";
                    },
                    {
                        "name": "borrowerOriginalLent";
                        "type": "u64";
                    },
                    {
                        "name": "borrowerFullRepaidAmount";
                        "type": "u64";
                    },
                    {
                        "name": "repaymentCallAmount";
                        "type": "u64";
                    },
                    {
                        "name": "collateralAmount";
                        "type": "u64";
                    },
                    {
                        "name": "protocolApr";
                        "type": "u32";
                    },
                    {
                        "name": "lenderApr";
                        "type": "u32";
                    },
                    {
                        "name": "terminationFreeze";
                        "type": "u32";
                    },
                    {
                        "name": "terminationDuration";
                        "type": "u32";
                    },
                    {
                        "name": "liquidationLtv";
                        "type": "u32";
                    },
                    {
                        "name": "leverageAmountBp";
                        "type": "u32";
                    },
                    {
                        "name": "bondLoanState";
                        "type": "u8";
                    },
                    {
                        "name": "bondLoanType";
                        "type": "u8";
                    },
                    {
                        "name": "liquidationType";
                        "type": "u8";
                    },
                    {
                        "name": "redeemResult";
                        "type": "u8";
                    },
                    {
                        "name": "redeemResultNext";
                        "type": "u8";
                    },
                    {
                        "name": "placeholder2";
                        "type": "pubkey";
                    },
                    {
                        "name": "padding";
                        "type": {
                            "array": [
                                "u8",
                                3
                            ];
                        };
                    }
                ];
            };
        },
        {
            "name": "bondOffer";
            "serialization": "bytemuck";
            "repr": {
                "kind": "c";
            };
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "interestClaimedAmount";
                        "type": "u64";
                    },
                    {
                        "name": "offerCapacity";
                        "type": "u64";
                    },
                    {
                        "name": "amountInLoans";
                        "type": "u64";
                    },
                    {
                        "name": "activeLoansAmount";
                        "type": "u64";
                    },
                    {
                        "name": "lastTransactedAt";
                        "type": "u64";
                    },
                    {
                        "name": "liquidationLtvBp";
                        "type": "u32";
                    },
                    {
                        "name": "loanAprBp";
                        "type": "u32";
                    },
                    {
                        "name": "offerState";
                        "type": "u8";
                    },
                    {
                        "name": "assetReceiver";
                        "type": "pubkey";
                    },
                    {
                        "name": "market";
                        "type": "pubkey";
                    },
                    {
                        "name": "placeholder";
                        "type": "pubkey";
                    },
                    {
                        "name": "padding";
                        "type": {
                            "array": [
                                "u8",
                                7
                            ];
                        };
                    }
                ];
            };
        },
        {
            "name": "initializeOrUpdateMarketParams";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "upfrontFee";
                        "type": "u32";
                    },
                    {
                        "name": "interestFee";
                        "type": "u32";
                    },
                    {
                        "name": "marginOfSafety";
                        "type": "u64";
                    },
                    {
                        "name": "marketState";
                        "type": {
                            "defined": {
                                "name": "marketState";
                            };
                        };
                    },
                    {
                        "name": "lendingTokenMint";
                        "type": "pubkey";
                    },
                    {
                        "name": "oraclePriceFeed";
                        "type": {
                            "array": [
                                "u8",
                                32
                            ];
                        };
                    },
                    {
                        "name": "collateralDigits";
                        "type": "u8";
                    },
                    {
                        "name": "oracleFeedType";
                        "type": {
                            "defined": {
                                "name": "oraclePriceFeedType";
                            };
                        };
                    },
                    {
                        "name": "lendingTokenDigits";
                        "type": "u8";
                    },
                    {
                        "name": "lookupTable";
                        "type": "pubkey";
                    },
                    {
                        "name": "marketAuthority";
                        "type": "pubkey";
                    },
                    {
                        "name": "oracleDuration";
                        "type": "u64";
                    }
                ];
            };
        },
        {
            "name": "marketState";
            "repr": {
                "kind": "rust";
            };
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "none";
                    },
                    {
                        "name": "initializing";
                    },
                    {
                        "name": "available";
                    },
                    {
                        "name": "closed";
                    }
                ];
            };
        },
        {
            "name": "oraclePriceFeedType";
            "repr": {
                "kind": "rust";
            };
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "none";
                    },
                    {
                        "name": "pyth";
                    },
                    {
                        "name": "switchboard";
                    }
                ];
            };
        },
        {
            "name": "userVault";
            "serialization": "bytemuck";
            "repr": {
                "kind": "c";
            };
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "user";
                        "type": "pubkey";
                    },
                    {
                        "name": "lendingTokenMint";
                        "type": "pubkey";
                    },
                    {
                        "name": "reservesAmount";
                        "type": "u128";
                    },
                    {
                        "name": "liquidityInLoansAmount";
                        "type": "u128";
                    },
                    {
                        "name": "interestRewardsAmount";
                        "type": "u128";
                    },
                    {
                        "name": "rentRewards";
                        "type": "u64";
                    },
                    {
                        "name": "fundsInCurrentEpoch";
                        "type": "u64";
                    },
                    {
                        "name": "fundsInNextEpoch";
                        "type": "u64";
                    },
                    {
                        "name": "lastCalculatedSlot";
                        "type": "u64";
                    },
                    {
                        "name": "lastCalculatedTimestamp";
                        "type": "u64";
                    },
                    {
                        "name": "rewardsToHarvest";
                        "type": "u64";
                    },
                    {
                        "name": "rewardsHarvested";
                        "type": "u64";
                    },
                    {
                        "name": "lastTransactedAt";
                        "type": "u64";
                    },
                    {
                        "name": "stakingType";
                        "type": "u8";
                    },
                    {
                        "name": "userVaultState";
                        "type": "u8";
                    },
                    {
                        "name": "padding";
                        "type": {
                            "array": [
                                "u8",
                                14
                            ];
                        };
                    }
                ];
            };
        }
    ];
};