@kamino-finance/klend-sdk 7.1.2 → 7.1.4-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@codegen/klend/accounts/LendingMarket.d.ts +144 -3
- package/dist/@codegen/klend/accounts/LendingMarket.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/LendingMarket.js +105 -3
- package/dist/@codegen/klend/accounts/LendingMarket.js.map +1 -1
- package/dist/@codegen/klend/accounts/Obligation.d.ts +30 -15
- package/dist/@codegen/klend/accounts/Obligation.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/Obligation.js +31 -21
- package/dist/@codegen/klend/accounts/Obligation.js.map +1 -1
- package/dist/@codegen/klend/accounts/PoolState.d.ts +53 -0
- package/dist/@codegen/klend/accounts/PoolState.d.ts.map +1 -0
- package/dist/@codegen/klend/accounts/PoolState.js +167 -0
- package/dist/@codegen/klend/accounts/PoolState.js.map +1 -0
- package/dist/@codegen/klend/accounts/Reserve.d.ts +6 -0
- package/dist/@codegen/klend/accounts/Reserve.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/Reserve.js +9 -2
- package/dist/@codegen/klend/accounts/Reserve.js.map +1 -1
- package/dist/@codegen/klend/accounts/UnstakeTicket.d.ts +41 -0
- package/dist/@codegen/klend/accounts/UnstakeTicket.d.ts.map +1 -0
- package/dist/@codegen/klend/accounts/UnstakeTicket.js +143 -0
- package/dist/@codegen/klend/accounts/UnstakeTicket.js.map +1 -0
- package/dist/@codegen/klend/accounts/UserState.d.ts +0 -75
- package/dist/@codegen/klend/accounts/UserState.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/UserState.js +0 -25
- package/dist/@codegen/klend/accounts/UserState.js.map +1 -1
- package/dist/@codegen/klend/accounts/WithdrawTicket.d.ts +132 -0
- package/dist/@codegen/klend/accounts/WithdrawTicket.d.ts.map +1 -0
- package/dist/@codegen/klend/accounts/WithdrawTicket.js +191 -0
- package/dist/@codegen/klend/accounts/WithdrawTicket.js.map +1 -0
- package/dist/@codegen/klend/accounts/index.d.ts +6 -0
- package/dist/@codegen/klend/accounts/index.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/index.js +7 -1
- package/dist/@codegen/klend/accounts/index.js.map +1 -1
- package/dist/@codegen/klend/errors/custom.d.ts +226 -2
- package/dist/@codegen/klend/errors/custom.d.ts.map +1 -1
- package/dist/@codegen/klend/errors/custom.js +396 -3
- package/dist/@codegen/klend/errors/custom.js.map +1 -1
- package/dist/@codegen/klend/instructions/enqueueToWithdraw.d.ts +39 -0
- package/dist/@codegen/klend/instructions/enqueueToWithdraw.d.ts.map +1 -0
- package/dist/@codegen/klend/instructions/enqueueToWithdraw.js +67 -0
- package/dist/@codegen/klend/instructions/enqueueToWithdraw.js.map +1 -0
- package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts +36 -0
- package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts.map +1 -0
- package/dist/@codegen/klend/instructions/fillBorrowOrder.js +49 -0
- package/dist/@codegen/klend/instructions/fillBorrowOrder.js.map +1 -0
- package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts +1 -2
- package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts.map +1 -1
- package/dist/@codegen/klend/instructions/idlMissingTypes.js +6 -2
- package/dist/@codegen/klend/instructions/idlMissingTypes.js.map +1 -1
- package/dist/@codegen/klend/instructions/index.d.ts +16 -0
- package/dist/@codegen/klend/instructions/index.d.ts.map +1 -1
- package/dist/@codegen/klend/instructions/index.js +18 -1
- package/dist/@codegen/klend/instructions/index.js.map +1 -1
- package/dist/@codegen/klend/instructions/initReserve.d.ts +1 -1
- package/dist/@codegen/klend/instructions/initReserve.d.ts.map +1 -1
- package/dist/@codegen/klend/instructions/initReserve.js +1 -5
- package/dist/@codegen/klend/instructions/initReserve.js.map +1 -1
- package/dist/@codegen/klend/instructions/liquidateObligationAndRedeemReserveCollateral.js +1 -1
- package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.d.ts +47 -0
- package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.d.ts.map +1 -0
- package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.js +66 -0
- package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.js.map +1 -0
- package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts +31 -0
- package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts.map +1 -0
- package/dist/@codegen/klend/instructions/setBorrowOrder.js +64 -0
- package/dist/@codegen/klend/instructions/setBorrowOrder.js.map +1 -0
- package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.d.ts +53 -0
- package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.d.ts.map +1 -0
- package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.js +190 -0
- package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.js.map +1 -0
- package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.d.ts +70 -0
- package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.d.ts.map +1 -0
- package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.js +261 -0
- package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.js.map +1 -0
- package/dist/@codegen/klend/instructions/updateGlobalConfig.d.ts +1 -1
- package/dist/@codegen/klend/instructions/updateGlobalConfig.d.ts.map +1 -1
- package/dist/@codegen/klend/instructions/updateGlobalConfig.js +1 -0
- package/dist/@codegen/klend/instructions/updateGlobalConfig.js.map +1 -1
- package/dist/@codegen/klend/instructions/updateReserveConfig.d.ts +1 -1
- package/dist/@codegen/klend/instructions/updateReserveConfig.d.ts.map +1 -1
- package/dist/@codegen/klend/instructions/updateReserveConfig.js +1 -0
- package/dist/@codegen/klend/instructions/updateReserveConfig.js.map +1 -1
- package/dist/@codegen/klend/instructions/withdrawObligationCollateral.js +1 -1
- package/dist/@codegen/klend/instructions/withdrawObligationCollateralV2.js +1 -1
- package/dist/@codegen/klend/instructions/withdrawObligationUsol.d.ts +41 -0
- package/dist/@codegen/klend/instructions/withdrawObligationUsol.d.ts.map +1 -0
- package/dist/@codegen/klend/instructions/withdrawObligationUsol.js +135 -0
- package/dist/@codegen/klend/instructions/withdrawObligationUsol.js.map +1 -0
- package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.d.ts +51 -0
- package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.d.ts.map +1 -0
- package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.js +28 -0
- package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.js.map +1 -0
- package/dist/@codegen/klend/types/BorrowOrder.d.ts +192 -0
- package/dist/@codegen/klend/types/BorrowOrder.d.ts.map +1 -0
- package/dist/@codegen/klend/types/BorrowOrder.js +194 -0
- package/dist/@codegen/klend/types/BorrowOrder.js.map +1 -0
- package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts +39 -0
- package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts.map +1 -0
- package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js +100 -0
- package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js.map +1 -0
- package/dist/@codegen/klend/types/ObligationLiquidity.d.ts +35 -5
- package/dist/@codegen/klend/types/ObligationLiquidity.d.ts.map +1 -1
- package/dist/@codegen/klend/types/ObligationLiquidity.js +17 -7
- package/dist/@codegen/klend/types/ObligationLiquidity.js.map +1 -1
- package/dist/@codegen/klend/types/ObligationOrder.d.ts +4 -4
- package/dist/@codegen/klend/types/ObligationOrder.js +2 -2
- package/dist/@codegen/klend/types/ReserveConfig.d.ts +141 -29
- package/dist/@codegen/klend/types/ReserveConfig.d.ts.map +1 -1
- package/dist/@codegen/klend/types/ReserveConfig.js +89 -25
- package/dist/@codegen/klend/types/ReserveConfig.js.map +1 -1
- package/dist/@codegen/klend/types/ReserveFees.d.ts +8 -8
- package/dist/@codegen/klend/types/ReserveFees.d.ts.map +1 -1
- package/dist/@codegen/klend/types/ReserveFees.js +8 -8
- package/dist/@codegen/klend/types/ReserveFees.js.map +1 -1
- package/dist/@codegen/klend/types/ReserveLiquidity.d.ts +26 -8
- package/dist/@codegen/klend/types/ReserveLiquidity.d.ts.map +1 -1
- package/dist/@codegen/klend/types/ReserveLiquidity.js +14 -8
- package/dist/@codegen/klend/types/ReserveLiquidity.js.map +1 -1
- package/dist/@codegen/klend/types/UpdateConfigMode.d.ts +92 -14
- package/dist/@codegen/klend/types/UpdateConfigMode.d.ts.map +1 -1
- package/dist/@codegen/klend/types/UpdateConfigMode.js +168 -23
- package/dist/@codegen/klend/types/UpdateConfigMode.js.map +1 -1
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts +130 -0
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts.map +1 -1
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.js +241 -1
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.js.map +1 -1
- package/dist/@codegen/klend/types/WithdrawQueue.d.ts +64 -0
- package/dist/@codegen/klend/types/WithdrawQueue.d.ts.map +1 -0
- package/dist/@codegen/klend/types/WithdrawQueue.js +104 -0
- package/dist/@codegen/klend/types/WithdrawQueue.js.map +1 -0
- package/dist/@codegen/klend/types/index.d.ts +10 -8
- package/dist/@codegen/klend/types/index.d.ts.map +1 -1
- package/dist/@codegen/klend/types/index.js +7 -3
- package/dist/@codegen/klend/types/index.js.map +1 -1
- package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts +9 -4
- package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts.map +1 -1
- package/dist/@codegen/klend/zero_padding/ObligationZP.js +22 -13
- package/dist/@codegen/klend/zero_padding/ObligationZP.js.map +1 -1
- package/dist/classes/action.d.ts +30 -3
- package/dist/classes/action.d.ts.map +1 -1
- package/dist/classes/action.js +364 -10
- package/dist/classes/action.js.map +1 -1
- package/dist/classes/manager.d.ts.map +1 -1
- package/dist/classes/manager.js +10 -0
- package/dist/classes/manager.js.map +1 -1
- package/dist/classes/market.d.ts +6 -2
- package/dist/classes/market.d.ts.map +1 -1
- package/dist/classes/market.js +26 -6
- package/dist/classes/market.js.map +1 -1
- package/dist/classes/obligation.js +1 -1
- package/dist/classes/obligation.js.map +1 -1
- package/dist/classes/reserve.d.ts.map +1 -1
- package/dist/classes/reserve.js +13 -7
- package/dist/classes/reserve.js.map +1 -1
- package/dist/classes/unstakingPool.d.ts +20 -3
- package/dist/classes/unstakingPool.d.ts.map +1 -1
- package/dist/classes/unstakingPool.js +62 -8
- package/dist/classes/unstakingPool.js.map +1 -1
- package/dist/idl/klend.json +2125 -232
- package/dist/lending_operations/index.d.ts +1 -0
- package/dist/lending_operations/index.d.ts.map +1 -1
- package/dist/lending_operations/index.js +1 -0
- package/dist/lending_operations/index.js.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.js +0 -2
- package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
- package/dist/lending_operations/swap_collateral_operations.js +0 -1
- package/dist/lending_operations/swap_collateral_operations.js.map +1 -1
- package/dist/lending_operations/unstake_lst_collateral.d.ts +12 -0
- package/dist/lending_operations/unstake_lst_collateral.d.ts.map +1 -0
- package/dist/lending_operations/unstake_lst_collateral.js +104 -0
- package/dist/lending_operations/unstake_lst_collateral.js.map +1 -0
- package/dist/leverage/calcs.d.ts +2 -27
- package/dist/leverage/calcs.d.ts.map +1 -1
- package/dist/leverage/calcs.js +6 -136
- package/dist/leverage/calcs.js.map +1 -1
- package/dist/leverage/operations.d.ts +8 -9
- package/dist/leverage/operations.d.ts.map +1 -1
- package/dist/leverage/operations.js +72 -228
- package/dist/leverage/operations.js.map +1 -1
- package/dist/leverage/types.d.ts +0 -19
- package/dist/leverage/types.d.ts.map +1 -1
- package/dist/leverage/utils.d.ts +2 -19
- package/dist/leverage/utils.d.ts.map +1 -1
- package/dist/leverage/utils.js +0 -164
- package/dist/leverage/utils.js.map +1 -1
- package/dist/manager/client_kamino_manager.js +11 -8
- package/dist/manager/client_kamino_manager.js.map +1 -1
- package/dist/utils/managerTypes.d.ts.map +1 -1
- package/dist/utils/managerTypes.js +9 -4
- package/dist/utils/managerTypes.js.map +1 -1
- package/dist/utils/seeds.d.ts +10 -14
- package/dist/utils/seeds.d.ts.map +1 -1
- package/dist/utils/seeds.js +25 -22
- package/dist/utils/seeds.js.map +1 -1
- package/package.json +2 -2
- package/src/@codegen/klend/accounts/LendingMarket.ts +210 -5
- package/src/@codegen/klend/accounts/Obligation.ts +53 -31
- package/src/@codegen/klend/accounts/PoolState.ts +192 -0
- package/src/@codegen/klend/accounts/Reserve.ts +13 -2
- package/src/@codegen/klend/accounts/UnstakeTicket.ts +160 -0
- package/src/@codegen/klend/accounts/UserState.ts +0 -75
- package/src/@codegen/klend/accounts/WithdrawTicket.ts +256 -0
- package/src/@codegen/klend/accounts/index.ts +6 -0
- package/src/@codegen/klend/errors/custom.ts +427 -2
- package/src/@codegen/klend/instructions/enqueueToWithdraw.ts +89 -0
- package/src/@codegen/klend/instructions/fillBorrowOrder.ts +96 -0
- package/src/@codegen/klend/instructions/idlMissingTypes.ts +7 -4
- package/src/@codegen/klend/instructions/index.ts +34 -0
- package/src/@codegen/klend/instructions/initReserve.ts +2 -6
- package/src/@codegen/klend/instructions/liquidateObligationAndRedeemReserveCollateral.ts +1 -1
- package/src/@codegen/klend/instructions/recoverInvalidTicketCollateral.ts +96 -0
- package/src/@codegen/klend/instructions/setBorrowOrder.ts +77 -0
- package/src/@codegen/klend/instructions/unstakeLstCollateralEnd.ts +251 -0
- package/src/@codegen/klend/instructions/unstakeLstCollateralStart.ts +353 -0
- package/src/@codegen/klend/instructions/updateGlobalConfig.ts +2 -1
- package/src/@codegen/klend/instructions/updateReserveConfig.ts +2 -1
- package/src/@codegen/klend/instructions/withdrawObligationCollateral.ts +1 -1
- package/src/@codegen/klend/instructions/withdrawObligationCollateralV2.ts +1 -1
- package/src/@codegen/klend/instructions/withdrawObligationUsol.ts +168 -0
- package/src/@codegen/klend/instructions/withdrawQueuedLiquidity.ts +92 -0
- package/src/@codegen/klend/types/BorrowOrder.ts +267 -0
- package/src/@codegen/klend/types/BorrowOrderConfigArgs.ts +87 -0
- package/src/@codegen/klend/types/ObligationLiquidity.ts +39 -9
- package/src/@codegen/klend/types/ObligationOrder.ts +4 -4
- package/src/@codegen/klend/types/ReserveConfig.ts +171 -39
- package/src/@codegen/klend/types/ReserveFees.ts +12 -12
- package/src/@codegen/klend/types/ReserveLiquidity.ts +30 -12
- package/src/@codegen/klend/types/UpdateConfigMode.ts +206 -26
- package/src/@codegen/klend/types/UpdateLendingMarketMode.ts +300 -0
- package/src/@codegen/klend/types/WithdrawQueue.ts +117 -0
- package/src/@codegen/klend/types/index.ts +45 -16
- package/src/@codegen/klend/zero_padding/ObligationZP.ts +22 -13
- package/src/classes/action.ts +577 -8
- package/src/classes/manager.ts +11 -0
- package/src/classes/market.ts +36 -5
- package/src/classes/obligation.ts +1 -1
- package/src/classes/reserve.ts +13 -8
- package/src/classes/unstakingPool.ts +83 -6
- package/src/idl/klend.json +2126 -233
- package/src/lending_operations/index.ts +1 -0
- package/src/lending_operations/repay_with_collateral_operations.ts +0 -2
- package/src/lending_operations/swap_collateral_operations.ts +0 -1
- package/src/lending_operations/unstake_lst_collateral.ts +174 -0
- package/src/leverage/calcs.ts +2 -201
- package/src/leverage/operations.ts +45 -377
- package/src/leverage/types.ts +0 -20
- package/src/leverage/utils.ts +3 -320
- package/src/manager/client_kamino_manager.ts +11 -8
- package/src/utils/managerTypes.ts +9 -4
- package/src/utils/seeds.ts +28 -26
- package/dist/@codegen/klend/types/AssetTier.d.ts +0 -45
- package/dist/@codegen/klend/types/AssetTier.d.ts.map +0 -1
- package/dist/@codegen/klend/types/AssetTier.js +0 -132
- package/dist/@codegen/klend/types/AssetTier.js.map +0 -1
- package/src/@codegen/klend/types/AssetTier.ts +0 -119
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lending_operations/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lending_operations/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC"}
|
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./repay_with_collateral_operations"), exports);
|
|
18
18
|
__exportStar(require("./swap_collateral_operations"), exports);
|
|
19
19
|
__exportStar(require("./repay_with_collateral_calcs"), exports);
|
|
20
|
+
__exportStar(require("./unstake_lst_collateral"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lending_operations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAmD;AACnD,+DAA6C;AAC7C,gEAA8C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lending_operations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAmD;AACnD,+DAA6C;AAC7C,gEAA8C;AAC9C,2DAAyC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repay_with_collateral_operations.d.ts","sourceRoot":"","sources":["../../src/lending_operations/repay_with_collateral_operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAEL,UAAU,EACV,SAAS,EAET,eAAe,EACf,iBAAiB,EAGjB,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAIL,uBAAuB,EAGxB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAQ,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,OAAO,MAAM,YAAY,CAAC;AAGjC,MAAM,MAAM,wBAAwB,CAAC,aAAa,IAAI;IACpD,GAAG,EAAE,WAAW,EAAE,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC5C,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,0BAA0B,CAAC,aAAa,CAAC,CAAC;IACzD,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,aAAa,IAAI;IACtD,uBAAuB,EAAE,OAAO,CAAC;IACjC,wBAAwB,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,6BAA6B,EAAE,OAAO,CAAC;IACvC;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;IACpC,WAAW,EAAE,IAAI,CAAC;IAClB,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CAC/B,CAAC;AAEF,UAAU,4BAA4B,CAAC,aAAa;IAClD,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,iBAAiB,CAAC;IACzB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1B,WAAW,EAAE,IAAI,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,uBAAuB,CAAC,EAAE,WAAW,EAAE,CAAC;IACxC,kBAAkB,CAAC,EAAE,uBAAuB,CAAC;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;CAC1C;AAED,oBAAY,mBAAmB;IAC7B,OAAO,IAAA;IACP,qBAAqB,IAAA;CACtB;AAED,wBAAsB,0BAA0B,CAAC,aAAa,EAAE,EAC9D,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,KAAK,EACL,UAAU,EACV,MAAM,EACN,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,QAAQ,GACT,EAAE,4BAA4B,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;IACvD,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,0BAA0B,CAAC,aAAa,CAAC,CAAC;CAC1D,CAAC,
|
|
1
|
+
{"version":3,"file":"repay_with_collateral_operations.d.ts","sourceRoot":"","sources":["../../src/lending_operations/repay_with_collateral_operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,7 +47,6 @@ async function getRepayWithCollSwapInputs({ collTokenMint, currentSlot, debtToke
|
|
|
47
47
|
inputAmountLamports,
|
|
48
48
|
inputMint: collTokenMint,
|
|
49
49
|
outputMint: debtTokenMint,
|
|
50
|
-
amountDebtAtaBalance: undefined, // only used for kTokens
|
|
51
50
|
};
|
|
52
51
|
const swapQuote = await quoter(swapQuoteInputs, uniqueKlendAccounts);
|
|
53
52
|
const swapQuotePxDebtToColl = swapQuote.priceAInB;
|
|
@@ -62,7 +61,6 @@ async function getRepayWithCollSwapInputs({ collTokenMint, currentSlot, debtToke
|
|
|
62
61
|
minOutAmountLamports: flashRepayAmountLamports,
|
|
63
62
|
inputMint: collTokenMint,
|
|
64
63
|
outputMint: debtTokenMint,
|
|
65
|
-
amountDebtAtaBalance: undefined, // only used for kTokens
|
|
66
64
|
},
|
|
67
65
|
flashLoanInfo: klendIxs.flashLoanInfo,
|
|
68
66
|
initialInputs: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repay_with_collateral_operations.js","sourceRoot":"","sources":["../../src/lending_operations/repay_with_collateral_operations.ts"],"names":[],"mappings":";;;;;;AAsEA,
|
|
1
|
+
{"version":3,"file":"repay_with_collateral_operations.js","sourceRoot":"","sources":["../../src/lending_operations/repay_with_collateral_operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -241,7 +241,6 @@ async function getExternalSwapIxs(args, klendAccounts, context) {
|
|
|
241
241
|
inputAmountLamports: args.sourceCollSwapAmount.mul(context.sourceCollReserve.getMintFactor()),
|
|
242
242
|
inputMint: context.sourceCollReserve.getLiquidityMint(),
|
|
243
243
|
outputMint: context.targetCollReserve.getLiquidityMint(),
|
|
244
|
-
amountDebtAtaBalance: undefined, // only used for kTokens
|
|
245
244
|
};
|
|
246
245
|
const externalSwapQuote = await context.quoter(externalSwapInputs, klendAccounts);
|
|
247
246
|
const externalSwapIxsAndLuts = await context.swapper(externalSwapInputs, klendAccounts, externalSwapQuote);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap_collateral_operations.js","sourceRoot":"","sources":["../../src/lending_operations/swap_collateral_operations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"swap_collateral_operations.js","sourceRoot":"","sources":["../../src/lending_operations/swap_collateral_operations.ts"],"names":[],"mappings":";;;;;AAoJA,wCA8DC;AAlND,wCAOoB;AACpB,0CAMqB;AACrB,oCASkB;AAClB,qCAA2G;AAC3G,4DAAiC;AACjC,iDAA8D;AAE9D,2DAAwE;AAoHxE;;GAEG;AACI,KAAK,UAAU,cAAc,CAClC,MAAwC;IAExC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAEtD,wDAAwD;IACxD,0CAA0C;IAC1C,qEAAqE;IACrE,8DAA8D;IAC9D,wEAAwE;IACxE,kFAAkF;IAClF,mDAAmD;IACnD,yCAAyC;IACzC,qHAAqH;IACrH,cAAc;IACd,iGAAiG;IAEjG,8FAA8F;IAE9F,MAAM,cAAc,GAAG,MAAM,IAAA,4BAAiB,EAC5C,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,iBAAiB,EACzB,OAAO,CAAC,iBAAiB,EACzB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,kBAAkB,CAC3B,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,gCAAgC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACxG,MAAM,aAAa,GAAG,IAAA,oCAA4B,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAE1E,0EAA0E;IAC1E,MAAM,oBAAoB,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAEpF,OAAO,OAAO,CAAC,GAAG,CAChB,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE;QACjD,iHAAiH;QACjH,OAAO,CAAC,MAAM,CACZ,oBAAoB,IAAI,CAAC,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,oBAAoB,eAAe,CAAC,aAAa,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,aAAa,CACpL,CAAC;QACF,6BAA6B,CAAC,IAAI,EAAE,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAE5E,gEAAgE;QAChE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAEjG,OAAO;YACL,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC;YAC3C,YAAY,EAAE,eAAe,CAAC,IAAI;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,iBAAiB,EAAE;gBACjB,SAAS,EAAE;oBACT,6BAA6B,EAAE,QAAQ,CAAC,iBAAiB,CAAC,6BAA6B;oBACvF,2BAA2B,EAAE,eAAe,CAAC,aAAa;iBAC3D;gBACD,YAAY,EAAE;oBACZ,sBAAsB,EAAE,IAAI,CAAC,oBAAoB,EAAE,4DAA4D;oBAC/G,uBAAuB,EAAE,eAAe,CAAC,aAAa,EAAE,wEAAwE;oBAChI,aAAa,EAAE,eAAe,CAAC,iBAAiB,CAAC,aAAa;iBAC/D;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAwBD,SAAS,qBAAqB,CAC5B,MAAwC;IAExC,IAAI,MAAM,CAAC,mBAAmB,KAAK,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO;QACL;YACE,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;SACxG;QACD;YACE,uBAAuB,EACrB,MAAM,CAAC,uBAAuB,IAAI,IAAA,yCAAiC,EAAC,iCAAyB,CAAC;YAChG,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;YAC3G,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;YAC1G,MAAM,EAAE,OAAO,CAAC,GAAG;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B;KACF,CAAC;AACJ,CAAC;AAED,MAAM,gCAAgC,GAAG,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC,CAAC,kDAAkD;AAe3G,KAAK,UAAU,WAAW,CACxB,IAAkB,EAClB,uBAAgC,EAChC,OAA6B,EAC7B,cAA6B;IAE7B,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,uBAAuB,EAAE,GAAG,cAAc,CAAC,CAAC;IAEzE,IAAI,cAAc,EAAE,CAAC;QACnB,QAAQ,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,6BAA6B,GAAG,sCAAsC,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAC/G,MAAM,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,GAAG,MAAM,yBAAyB,CACzF,6BAA6B,EAC7B,QAAQ,CAAC,MAAM,EACf,aAAa,EACb,OAAO,CACR,CAAC;IAEF,MAAM,oBAAoB,GAAG,MAAM,uBAAuB,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;IACnG,MAAM,qBAAqB,GAAG,MAAM,wBAAwB,CAC1D,IAAI,EACJ,oBAAoB,CAAC,qBAAqB,EAC1C,OAAO,CACR,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO;QACL,QAAQ;QACR,aAAa,EAAE;YACb,kBAAkB,EAAE,OAAO,CAAC,iBAAiB,CAAC,OAAO;YACrD,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC,eAAe,EAAE;SAC1D;QACD,uBAAuB;QACvB,oBAAoB,EAAE,oBAAoB,CAAC,GAAG;QAC9C,qBAAqB;QACrB,sBAAsB;QACtB,UAAU;QACV,iBAAiB,EAAE;YACjB,6BAA6B;SAC9B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sCAAsC,CAC7C,2BAAoC,EACpC,OAA6B;IAE7B,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAC5E,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,EAC1E,OAAO,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAC3C,wBAAc,CAAC,SAAS,EAAE,gFAAgF;IAC1G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EACnC,IAAA,YAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CACzB,CAAC;IACF,MAAM,sBAAsB,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC;IAC7G,OAAO,2BAA2B,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACjE,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAA6B;IAC5D,MAAM,qBAAqB,GAAG,MAAM,IAAA,4BAAoB,EAAC,OAAO,CAAC,KAAK,EAAE;QACtE;YACE,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;YAClD,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC,wBAAwB,EAAE;SACnE;QACD;YACE,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;YAClD,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC,wBAAwB,EAAE;SACnE;KACF,CAAC,CAAC;IACH,OAAO;QACL,cAAc,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;QACvE,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAAG;KAC5C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAA6B;IACzD,MAAM,WAAW,GAAkB,EAAE,CAAC;IACtC,IACE,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,KAAK,wBAAgB;QACjE,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,KAAK,wBAAgB,EACjE,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,IAAA,iCAAyB,EAAC,wBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACjF,WAAW,CAAC,IAAI,CACd,IAAA,uCAA0B,EACxB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,EACvD,EAAE,cAAc,EAAE,6BAAqB,EAAE,CAC1C,CACF,CAAC;IACJ,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,gBAAyB,EACzB,kBAA0B,EAC1B,cAAuB,EACvB,OAA6B;IAE7B,MAAM,EAAE,aAAa,EAAE,uBAAuB,EAAE,YAAY,EAAE,sBAAsB,EAAE,GAAG,IAAA,mCAAwB,EAAC;QAChH,aAAa,EAAE,kBAAkB;QACjC,qBAAqB,EAAE,OAAO,CAAC,KAAK;QACpC,sBAAsB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,yBAAyB,EAAE;QACxE,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE;QACjD,OAAO,EAAE,OAAO,CAAC,iBAAiB;QAClC,cAAc,EAAE,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAC/E,cAAc;QACd,kGAAkG;QAClG,eAAe,EAAE,IAAA,UAAI,GAAE;QACvB,kBAAkB,EAAE,IAAA,UAAI,GAAE;QAC1B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;KACpC,CAAC,CAAC;IACH,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;AAC7D,CAAC;AAOD,KAAK,UAAU,uBAAuB,CACpC,gBAAyB,EACzB,OAA6B;IAE7B,MAAM,qBAAqB,GAAG,qCAAqC,CAAC,OAAO,CAAC,CAAC;IAC7E,MAAM,iBAAiB,GAAG,MAAM,sBAAY,CAAC,gBAAgB,CAC3D,OAAO,CAAC,MAAM,EACd,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,cAAc;IAC1F,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,EAC5C,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,QAAQ,EAChB,SAAS,EAAE,yDAAyD;IACpE,CAAC,EAAE,0BAA0B;IAC7B,KAAK,EAAE,sEAAsE;IAC7E,qBAAqB,EAAE,6HAA6H;IACpJ,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,8EAA8E;IACnI,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,WAAW,EACnB,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,0CAA0C;KACjF,CAAC;IACF,OAAO;QACL,GAAG,EAAE,sBAAY,CAAC,WAAW,CAAC,iBAAiB,CAAC;QAChD,qBAAqB;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,qCAAqC,CAAC,OAA6B;IAC1E,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,OAAO,KAAK,CAAC,CAAC,mHAAmH;IACnI,CAAC;IACD,MAAM,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC;IACxE,IAAI,uBAAuB,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC,CAAC,2BAA2B;IAC3C,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC9F,OAAO,IAAI,CAAC,CAAC,yFAAyF;IACxG,CAAC;IACD,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;IACxF,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,qBAAqB,CAAC,uBAAuB,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC,CAAC,kGAAkG;IACjH,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,oFAAoF;AACpG,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,IAAkB,EAClB,4BAAqC,EACrC,OAA6B;IAE7B,MAAM,2BAA2B,GAAG,IAAI,CAAC,mBAAmB;QAC1D,CAAC,CAAC,eAAO;QACT,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACxF,MAAM,uBAAuB,GAAG,sCAAsC,CAAC,IAAI,EAAE,4BAA4B,EAAE,OAAO,CAAC,CAAC;IACpH,MAAM,kBAAkB,GAAG,MAAM,sBAAY,CAAC,iBAAiB,CAC7D,OAAO,CAAC,MAAM,EACd,2BAA2B,EAC3B,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,EAC5C,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,QAAQ,EAChB,SAAS,EAAE,yDAAyD;IACpE,CAAC,EAAE,0BAA0B;IAC7B,KAAK,EAAE,sEAAsE;IAC7E,uBAAuB,KAAK,SAAS,EAAE,6EAA6E;IACpH,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,8EAA8E;IACnI,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,WAAW,EACnB,uBAAuB,EACvB,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,mDAAmD;QACpH,CAAC,CAAC,SAAS,CAAC,4DAA4D;QACxE,CAAC,CAAC;YACE,oBAAoB,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,sGAAsG;SAClK,CACN,CAAC;IACF,OAAO,sBAAY,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,sCAAsC,CAC7C,IAAkB,EAClB,4BAAqC,EACrC,OAA6B;IAE7B,MAAM,+BAA+B,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC;IAChF,MAAM,yBAAyB,GAAG,IAAI,CAAC,iBAAiB,EAAE,cAAc,IAAI,CAAC,CAAC;IAC9E,IAAI,yBAAyB,KAAK,CAAC,EAAE,CAAC;QACpC,oDAAoD;QACpD,IAAI,+BAA+B,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO,SAAS,CAAC,CAAC,wCAAwC;QAC5D,CAAC;QACD,IAAI,4BAA4B,EAAE,CAAC;YACjC,OAAO,SAAS,CAAC,CAAC,yDAAyD;QAC7E,CAAC;QACD,OAAO,CAAC,CAAC,CAAC,iHAAiH;IAC7H,CAAC;SAAM,CAAC;QACN,8CAA8C;QAC9C,IAAI,4BAA4B,EAAE,CAAC;YACjC,OAAO,yBAAyB,CAAC,CAAC,wFAAwF;QAC5H,CAAC;QACD,IAAI,+BAA+B,KAAK,yBAAyB,EAAE,CAAC;YAClE,OAAO,SAAS,CAAC,CAAC,iDAAiD;QACrE,CAAC;QACD,OAAO,yBAAyB,CAAC,CAAC,+DAA+D;IACnG,CAAC;AACH,CAAC;AAWD,KAAK,UAAU,kBAAkB,CAC/B,IAAkB,EAClB,aAAwB,EACxB,OAAuC;IAEvC,MAAM,kBAAkB,GAAG;QACzB,mBAAmB,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAC7F,SAAS,EAAE,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;QACvD,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;KACzD,CAAC;IACF,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;IAClF,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAE3G,0GAA0G;IAC1G,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC,sBAAsB,EAAE,EAAE;QAC3D,MAAM,aAAa,GAAG,sBAAsB,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5F,OAAO;YACL,aAAa;YACb,GAAG,EAAE,sBAAsB,CAAC,OAAO;YACnC,IAAI,EAAE,sBAAsB,CAAC,YAAY;YACzC,iBAAiB,EAAE;gBACjB,aAAa,EAAE,sBAAsB,CAAC,KAAK,CAAC,aAAa;aAC1D;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,6BAA6B,CACpC,IAAkB,EAClB,gBAAyB,EACzB,OAA6B;IAE7B,0EAA0E;IAC1E,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;QACpC,mHAAmH;QACnH,wFAAwF;QAExF,qFAAqF;QACrF,MAAM,oBAAoB,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACpE,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,uBAAuB,oBAAoB,CAAC,MAAM,mDAAmD,CACtG,CAAC;QACJ,CAAC;QACD,IAAI,oBAAoB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,KAAK,kBAAkB,EAAE,CAAC;gBAC9D,MAAM,IAAI,KAAK,CACb,oCAAoC,kBAAkB,mCAAmC,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CACjI,CAAC;YACJ,CAAC;QACH,CAAC;QAED,wFAAwF;QACxF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAU;YAC5C,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE;YACrC,OAAO,CAAC,iBAAiB,CAAC,OAAO;SAClC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,oBAAoB,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CACb,uBAAuB,oBAAoB,CAAC,IAAI,uDAAuD,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAC/I,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,kBAAkB,IAAI,CAAC,GAAG,oBAAoB,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACvE,MAAM,IAAI,KAAK,CACb,0CAA0C,kBAAkB,mCAAmC,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CACvI,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,MAAM,uBAAuB,GAAG,IAAI,CAAC,mBAAmB;QACtD,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,iBAAiB,CAAC;QACzE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAC9B,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,8BAA8B,CAAC;QACvE,sBAAsB,EAAE,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAC9F,sBAAsB,EAAE,OAAO,CAAC,iBAAiB,CAAC,OAAO;QACzD,qBAAqB,EAAE,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QACtF,qBAAqB,EAAE,OAAO,CAAC,iBAAiB,CAAC,OAAO;QACxD,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,cAAc,IAAI,CAAC;QAC9D,IAAI,EAAE,OAAO,CAAC,WAAW;KAC1B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;IACzF,IAAI,cAAc,CAAC,WAAW,GAAG,MAAM,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,uBAAuB,uBAAuB,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,SAAS,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,yCAAyC,cAAc,CAAC,WAAW,0BAA0B,MAAM,EAAE,CACrP,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,QAA0B,EAAE,eAA+B;IAC1E,OAAO;QACL,GAAG,QAAQ,CAAC,QAAQ;QACpB,QAAQ,CAAC,uBAAuB;QAChC,GAAG,QAAQ,CAAC,oBAAoB;QAChC,GAAG,QAAQ,CAAC,qBAAqB;QACjC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;QAC1B,QAAQ,CAAC,sBAAsB;QAC/B,GAAG,QAAQ,CAAC,UAAU;KACvB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { KaminoMarket, KaminoObligation, KaminoReserve } from '../classes';
|
|
2
|
+
import { ScopePriceRefreshConfig } from '../utils';
|
|
3
|
+
import Decimal from 'decimal.js';
|
|
4
|
+
import { Address, IInstruction, Option, Slot, TransactionSigner } from '@solana/kit';
|
|
5
|
+
export declare function buildUnstakeLstCollateralStartIxs(market: KaminoMarket, obligation: KaminoObligation, owner: TransactionSigner, lstMint: Address, referrer: Option<Address>, currentSlot: Slot, budgetAndPriorityFeeIxs: IInstruction[] | undefined, scopeRefreshConfig: ScopePriceRefreshConfig | undefined): Promise<{
|
|
6
|
+
instructions: IInstruction[];
|
|
7
|
+
remainingSigners: TransactionSigner[];
|
|
8
|
+
}>;
|
|
9
|
+
export declare function getUnstakeLstCollateralApproximateInputs(market: KaminoMarket, debtReserve: KaminoReserve, lstReserve: KaminoReserve, obligation: KaminoObligation, currentSlot: Slot): {
|
|
10
|
+
lstToConvert: Decimal;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=unstake_lst_collateral.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unstake_lst_collateral.d.ts","sourceRoot":"","sources":["../../src/lending_operations/unstake_lst_collateral.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EAEd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAGL,uBAAuB,EAExB,MAAM,UAAU,CAAC;AAClB,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAQ,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAK3F,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,EACzB,WAAW,EAAE,IAAI,EACjB,uBAAuB,EAAE,YAAY,EAAE,GAAG,SAAS,EACnD,kBAAkB,EAAE,uBAAuB,GAAG,SAAS,GACtD,OAAO,CAAC;IAAE,YAAY,EAAE,YAAY,EAAE,CAAC;IAAC,gBAAgB,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC,CA0FlF;AAED,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,aAAa,EAC1B,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,IAAI,GAChB;IACD,YAAY,EAAE,OAAO,CAAC;CACvB,CAyCA"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.buildUnstakeLstCollateralStartIxs = buildUnstakeLstCollateralStartIxs;
|
|
7
|
+
exports.getUnstakeLstCollateralApproximateInputs = getUnstakeLstCollateralApproximateInputs;
|
|
8
|
+
const classes_1 = require("../classes");
|
|
9
|
+
const leverage_1 = require("../leverage");
|
|
10
|
+
const utils_1 = require("../utils");
|
|
11
|
+
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
12
|
+
const bn_js_1 = __importDefault(require("bn.js"));
|
|
13
|
+
const kit_1 = require("@solana/kit");
|
|
14
|
+
const LST_CONVERSION_MARGIN_BPS = new decimal_js_1.default(100);
|
|
15
|
+
const FULL_BPS = new decimal_js_1.default(10_000);
|
|
16
|
+
async function buildUnstakeLstCollateralStartIxs(market, obligation, owner, lstMint, referrer, currentSlot, budgetAndPriorityFeeIxs, scopeRefreshConfig) {
|
|
17
|
+
// Get reserves based on obligation
|
|
18
|
+
const usolMint = await market.getUsolPoolMint();
|
|
19
|
+
const usolReserve = market.getReserveByMint(usolMint);
|
|
20
|
+
const lstReserve = market.getReserveByMint(lstMint);
|
|
21
|
+
const debtReserve = market.reserves.get(obligation.state.borrows[0].borrowReserve);
|
|
22
|
+
if (!usolReserve) {
|
|
23
|
+
throw new Error(`Cannot fetch usol reserve for mint ${usolMint}`);
|
|
24
|
+
}
|
|
25
|
+
if (!lstReserve) {
|
|
26
|
+
throw new Error(`Cannot fetch lst reserve for mint ${obligation.state.deposits[0].depositReserve}`);
|
|
27
|
+
}
|
|
28
|
+
if (!debtReserve) {
|
|
29
|
+
throw new Error(`Cannot fetch debt reserve for mint ${obligation.state.borrows[0].borrowReserve}`);
|
|
30
|
+
}
|
|
31
|
+
// 0. Compute sol to repay + lst to flash borrow + additional accounts
|
|
32
|
+
const stakePool = await (0, classes_1.maybeGetStakedPoolByMint)(market.getRpc(), lstReserve.getLiquidityMint());
|
|
33
|
+
if (!stakePool) {
|
|
34
|
+
throw new Error(`Cannot fetch stake pool for mint ${lstReserve.getLiquidityMint()}`);
|
|
35
|
+
}
|
|
36
|
+
const { lstToConvert } = getUnstakeLstCollateralApproximateInputs(market, debtReserve, lstReserve, obligation, currentSlot);
|
|
37
|
+
const [depositStakedSolRemainingAccounts, remainingSigners] = await (0, classes_1.getStandardPoolMintRemainingAccounts)(market.getRpc(), stakePool[0], stakePool[1], new bn_js_1.default(lstToConvert.toString()));
|
|
38
|
+
// 1. Create atas & budget txns
|
|
39
|
+
const budgetIxs = budgetAndPriorityFeeIxs || (0, utils_1.getComputeBudgetAndPriorityFeeIxs)(1_400_000);
|
|
40
|
+
const atas = [
|
|
41
|
+
{ mint: usolReserve.getLiquidityMint(), tokenProgram: usolReserve.getLiquidityTokenProgram() },
|
|
42
|
+
{ mint: lstReserve.getLiquidityMint(), tokenProgram: lstReserve.getLiquidityTokenProgram() },
|
|
43
|
+
];
|
|
44
|
+
const atasAndIxs = await (0, utils_1.createAtasIdempotent)(owner, atas);
|
|
45
|
+
const [, { ata: lstAta }] = atasAndIxs;
|
|
46
|
+
const scopeRefreshIx = await (0, leverage_1.getScopeRefreshIx)(market, lstReserve, debtReserve, obligation, scopeRefreshConfig);
|
|
47
|
+
// 2. Flash borrow & repay the debt to repay amount needed
|
|
48
|
+
const { flashBorrowIx, flashRepayIx } = (0, leverage_1.getFlashLoanInstructions)({
|
|
49
|
+
borrowIxIndex: budgetIxs.length + atasAndIxs.length + (scopeRefreshIx.length > 0 ? 1 : 0),
|
|
50
|
+
userTransferAuthority: owner,
|
|
51
|
+
lendingMarketAuthority: await market.getLendingMarketAuthority(),
|
|
52
|
+
lendingMarketAddress: market.getAddress(),
|
|
53
|
+
reserve: lstReserve,
|
|
54
|
+
amountLamports: lstToConvert,
|
|
55
|
+
destinationAta: lstAta,
|
|
56
|
+
// TODO(referrals): once we support referrals, we will have to replace the placeholder args below:
|
|
57
|
+
referrerAccount: (0, kit_1.none)(),
|
|
58
|
+
referrerTokenState: (0, kit_1.none)(),
|
|
59
|
+
programId: market.programId,
|
|
60
|
+
});
|
|
61
|
+
// 3. Repay using the flash borrowed funds & withdraw collateral to swap and pay the flash loan
|
|
62
|
+
const unstakeLstCollateralStartAction = await classes_1.KaminoAction.buildUnstakeLstCollateralStartTxns(market, lstToConvert.toString(), usolReserve.getLiquidityMint(), lstReserve.getLiquidityMint(), owner, currentSlot, obligation, depositStakedSolRemainingAccounts, undefined, 0, false, undefined, referrer);
|
|
63
|
+
const instructions = [
|
|
64
|
+
...scopeRefreshIx,
|
|
65
|
+
...budgetIxs,
|
|
66
|
+
...atasAndIxs.map((x) => x.createAtaIx),
|
|
67
|
+
flashBorrowIx,
|
|
68
|
+
...classes_1.KaminoAction.actionToIxs(unstakeLstCollateralStartAction),
|
|
69
|
+
flashRepayIx,
|
|
70
|
+
];
|
|
71
|
+
return {
|
|
72
|
+
instructions,
|
|
73
|
+
remainingSigners,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function getUnstakeLstCollateralApproximateInputs(market, debtReserve, lstReserve, obligation, currentSlot) {
|
|
77
|
+
// Compute the interest rate / curve after 4 days (~2 epochs)
|
|
78
|
+
const laterSlot = currentSlot + BigInt(utils_1.SLOTS_PER_DAY * 4);
|
|
79
|
+
const borrow = obligation.state.borrows.find((borrow) => borrow.borrowReserve.toString() === debtReserve.address.toString());
|
|
80
|
+
const lstDeposit = obligation.state.deposits.find((deposit) => deposit.depositReserve.toString() === lstReserve.address.toString());
|
|
81
|
+
if (!borrow) {
|
|
82
|
+
throw new Error(`Could not find borrow ${debtReserve.address.toString()} in obligation ${obligation.obligationAddress.toString()}`);
|
|
83
|
+
}
|
|
84
|
+
if (!lstDeposit) {
|
|
85
|
+
throw new Error(`Could not find deposit ${lstReserve.address.toString()} in obligation ${obligation.obligationAddress.toString()}`);
|
|
86
|
+
}
|
|
87
|
+
const newInterestRate = obligation.estimateObligationInterestRate(market, debtReserve, borrow, laterSlot);
|
|
88
|
+
const debtToRepay = new classes_1.Fraction(borrow.borrowedAmountSf).toDecimal().mul(newInterestRate);
|
|
89
|
+
// To compute the staked sol to convert we convert the sol to repay
|
|
90
|
+
// using the pool ratio, but we cap it at the total amount of deposited
|
|
91
|
+
// staked sol in the obligation (converted from collateral -> liquidity)
|
|
92
|
+
const lstPrice = lstReserve.getOracleMarketPrice();
|
|
93
|
+
const debtPrice = debtReserve.getOracleMarketPrice();
|
|
94
|
+
const equivalentLst = debtToRepay.mul(debtPrice).div(lstPrice);
|
|
95
|
+
const equivalentLstWithMargin = equivalentLst.mul(FULL_BPS.add(LST_CONVERSION_MARGIN_BPS)).div(FULL_BPS);
|
|
96
|
+
const newCollateralExchangeRate = debtReserve.getEstimatedCollateralExchangeRate(laterSlot, market.state.referralFeeBps);
|
|
97
|
+
const lstCollateralAmount = new decimal_js_1.default(equivalentLstWithMargin.toString()).mul(newCollateralExchangeRate);
|
|
98
|
+
const lstCollateralToConvert = decimal_js_1.default.min(new decimal_js_1.default(lstDeposit.depositedAmount.toString()), lstCollateralAmount);
|
|
99
|
+
const lstToConvert = lstCollateralToConvert.div(newCollateralExchangeRate).ceil();
|
|
100
|
+
return {
|
|
101
|
+
lstToConvert,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=unstake_lst_collateral.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unstake_lst_collateral.js","sourceRoot":"","sources":["../../src/lending_operations/unstake_lst_collateral.ts"],"names":[],"mappings":"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"}
|
package/dist/leverage/calcs.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Address, Slot } from '@solana/kit';
|
|
2
2
|
import Decimal from 'decimal.js';
|
|
3
|
-
import { Kamino, StrategyWithAddress, TokenAmounts } from '@kamino-finance/kliquidity-sdk';
|
|
4
3
|
import { KaminoMarket, KaminoObligation, KaminoReserve } from '../classes';
|
|
5
|
-
import { AdjustLeverageCalcsResult, DepositLeverageCalcsResult,
|
|
4
|
+
import { AdjustLeverageCalcsResult, DepositLeverageCalcsResult, WithdrawLeverageCalcsResult } from './types';
|
|
6
5
|
export declare enum LeverageOption {
|
|
7
6
|
deposit = "Deposit",
|
|
8
7
|
withdraw = "Withdraw",
|
|
@@ -119,16 +118,6 @@ export declare const estimateDepositMode: ({ priceCollToDebt, priceDebtToColl, a
|
|
|
119
118
|
adjustDepositPosition: number;
|
|
120
119
|
adjustBorrowPosition: number;
|
|
121
120
|
};
|
|
122
|
-
/**
|
|
123
|
-
* Given an amount of ktokens, returns the estimated amount of token A and token B that need to be deposited
|
|
124
|
-
* The amount of A and B may result in less ktokens being minted, the actual amount of ktokens minted is returned as well
|
|
125
|
-
* @param kamino
|
|
126
|
-
* @param strategy
|
|
127
|
-
* @param mintAmount - desired amount of ktokens to mint
|
|
128
|
-
* @param strategyHoldings - optional strategy holdings, if not provided will be fetched from the blockchain
|
|
129
|
-
* @returns [tokenA, tokenB, actualMintAmount]
|
|
130
|
-
*/
|
|
131
|
-
export declare function simulateMintKToken(kamino: Kamino, strategy: StrategyWithAddress, mintAmount: Decimal, strategyHoldings?: TokenAmounts): Promise<[Decimal, Decimal, Decimal]>;
|
|
132
121
|
export declare const depositLeverageCalcs: (props: {
|
|
133
122
|
depositAmount: Decimal;
|
|
134
123
|
depositTokenIsCollToken: boolean;
|
|
@@ -138,22 +127,8 @@ export declare const depositLeverageCalcs: (props: {
|
|
|
138
127
|
slippagePct: Decimal;
|
|
139
128
|
flashLoanFee: Decimal;
|
|
140
129
|
}) => DepositLeverageCalcsResult;
|
|
141
|
-
export declare const depositLeverageKtokenCalcs: (props: {
|
|
142
|
-
kamino: Kamino;
|
|
143
|
-
strategy: StrategyWithAddress;
|
|
144
|
-
debtTokenMint: Address;
|
|
145
|
-
depositAmount: Decimal;
|
|
146
|
-
depositTokenIsCollToken: boolean;
|
|
147
|
-
depositTokenIsSol: boolean;
|
|
148
|
-
priceDebtToColl: Decimal;
|
|
149
|
-
targetLeverage: Decimal;
|
|
150
|
-
slippagePct: Decimal;
|
|
151
|
-
flashLoanFee: Decimal;
|
|
152
|
-
priceAinB: PriceAinBProvider;
|
|
153
|
-
strategyHoldings?: TokenAmounts;
|
|
154
|
-
}) => Promise<DepositLeverageCalcsResult>;
|
|
155
130
|
export declare function withdrawLeverageCalcs(market: KaminoMarket, collReserve: KaminoReserve, debtReserve: KaminoReserve, priceCollToDebt: Decimal, withdrawAmount: Decimal, deposited: Decimal, borrowed: Decimal, currentSlot: Slot, isClosingPosition: boolean, selectedTokenIsCollToken: boolean, selectedTokenMint: Address, obligation: KaminoObligation, flashLoanFee: Decimal, slippagePct: Decimal): WithdrawLeverageCalcsResult;
|
|
156
|
-
export declare function adjustDepositLeverageCalcs(
|
|
131
|
+
export declare function adjustDepositLeverageCalcs(debtReserve: KaminoReserve, adjustDepositPosition: Decimal, adjustBorrowPosition: Decimal, priceDebtToColl: Decimal, flashLoanFee: Decimal, slippagePct: Decimal): Promise<AdjustLeverageCalcsResult>;
|
|
157
132
|
export declare function adjustWithdrawLeverageCalcs(adjustDepositPosition: Decimal, adjustBorrowPosition: Decimal, flashLoanFee: Decimal, slippagePct: Decimal): AdjustLeverageCalcsResult;
|
|
158
133
|
export {};
|
|
159
134
|
//# sourceMappingURL=calcs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calcs.d.ts","sourceRoot":"","sources":["../../src/leverage/calcs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"calcs.d.ts","sourceRoot":"","sources":["../../src/leverage/calcs.ts"],"names":[],"mappings":"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"}
|
package/dist/leverage/calcs.js
CHANGED
|
@@ -3,19 +3,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.depositLeverageCalcs = exports.estimateDepositMode = exports.estimateAdjustMode = exports.estimateWithdrawMode = exports.calcBorrowAmount = exports.LeverageOption = void 0;
|
|
7
7
|
exports.calculateMultiplyEffects = calculateMultiplyEffects;
|
|
8
8
|
exports.calcWithdrawAmounts = calcWithdrawAmounts;
|
|
9
9
|
exports.calcAdjustAmounts = calcAdjustAmounts;
|
|
10
|
-
exports.simulateMintKToken = simulateMintKToken;
|
|
11
10
|
exports.withdrawLeverageCalcs = withdrawLeverageCalcs;
|
|
12
11
|
exports.adjustDepositLeverageCalcs = adjustDepositLeverageCalcs;
|
|
13
12
|
exports.adjustWithdrawLeverageCalcs = adjustWithdrawLeverageCalcs;
|
|
14
13
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
15
|
-
const kliquidity_sdk_1 = require("@kamino-finance/kliquidity-sdk");
|
|
16
14
|
const classes_1 = require("../classes");
|
|
17
|
-
const utils_1 = require("
|
|
18
|
-
const utils_2 = require("../utils");
|
|
15
|
+
const utils_1 = require("../utils");
|
|
19
16
|
const closingPositionDiffTolerance = 0.0001;
|
|
20
17
|
var LeverageOption;
|
|
21
18
|
(function (LeverageOption) {
|
|
@@ -78,9 +75,9 @@ async function calculateMultiplyEffects(getPriceByTokenMintDecimal, { depositAmo
|
|
|
78
75
|
isClosingPosition =
|
|
79
76
|
(withdrawModeEstimatedDepositTokenWithdrawn.gte(new decimal_js_1.default(deposited)) ||
|
|
80
77
|
withdrawModeEstimatedBorrowTokenWithdrawn.gte(new decimal_js_1.default(borrowed)) ||
|
|
81
|
-
(0,
|
|
82
|
-
(0,
|
|
83
|
-
!(0,
|
|
78
|
+
(0, utils_1.fuzzyEqual)(withdrawModeEstimatedDepositTokenWithdrawn, new decimal_js_1.default(deposited), closingPositionDiffTolerance) ||
|
|
79
|
+
(0, utils_1.fuzzyEqual)(withdrawModeEstimatedBorrowTokenWithdrawn, new decimal_js_1.default(borrowed), closingPositionDiffTolerance)) &&
|
|
80
|
+
!(0, utils_1.fuzzyEqual)(withdrawModeEstimatedDepositTokenWithdrawn, new decimal_js_1.default(0), closingPositionDiffTolerance);
|
|
84
81
|
totalDeposited = isClosingPosition ? new decimal_js_1.default(0) : deposited.sub(withdrawModeEstimatedDepositTokenWithdrawn);
|
|
85
82
|
totalBorrowed = isClosingPosition ? new decimal_js_1.default(0) : borrowed.sub(withdrawModeEstimatedBorrowTokenWithdrawn);
|
|
86
83
|
break;
|
|
@@ -227,53 +224,6 @@ const estimateDepositMode = ({ priceCollToDebt, priceDebtToColl, amount, targetL
|
|
|
227
224
|
};
|
|
228
225
|
};
|
|
229
226
|
exports.estimateDepositMode = estimateDepositMode;
|
|
230
|
-
/**
|
|
231
|
-
* Given an amount of ktokens, returns the estimated amount of token A and token B that need to be deposited
|
|
232
|
-
* The amount of A and B may result in less ktokens being minted, the actual amount of ktokens minted is returned as well
|
|
233
|
-
* @param kamino
|
|
234
|
-
* @param strategy
|
|
235
|
-
* @param mintAmount - desired amount of ktokens to mint
|
|
236
|
-
* @param strategyHoldings - optional strategy holdings, if not provided will be fetched from the blockchain
|
|
237
|
-
* @returns [tokenA, tokenB, actualMintAmount]
|
|
238
|
-
*/
|
|
239
|
-
async function simulateMintKToken(kamino, strategy, mintAmount, strategyHoldings) {
|
|
240
|
-
let holdings = strategyHoldings;
|
|
241
|
-
if (!holdings) {
|
|
242
|
-
holdings = await kamino.getStrategyTokensHoldings(strategy, 'DEPOSIT');
|
|
243
|
-
}
|
|
244
|
-
const sharesIssuedDecimal = new decimal_js_1.default(strategy.strategy.sharesIssued.toString()).div(10 ** strategy.strategy.sharesMintDecimals.toNumber());
|
|
245
|
-
// Add 1 because the sdk doesn't round up where the SC will
|
|
246
|
-
const strategyA = holdings.a.div(10 ** strategy.strategy.tokenAMintDecimals.toNumber());
|
|
247
|
-
const strategyB = holdings.b.div(10 ** strategy.strategy.tokenBMintDecimals.toNumber());
|
|
248
|
-
const aPerShare = strategyA.div(sharesIssuedDecimal);
|
|
249
|
-
const bPerShare = strategyB.div(sharesIssuedDecimal);
|
|
250
|
-
const requiredA = aPerShare.mul(mintAmount);
|
|
251
|
-
const requiredB = bPerShare.mul(mintAmount);
|
|
252
|
-
const pxAInB = strategyB.div(strategyA);
|
|
253
|
-
console.info(`Estimating kToken mint of ${mintAmount} ktokens on strategy ${strategy.address.toString()} requires: estimated A: ${requiredA}, estimated B: ${requiredB}. Current pool state:\n${(0, classes_1.toJson)({ ...holdings, sharesIssued: sharesIssuedDecimal, poolPxAInB: pxAInB })}`);
|
|
254
|
-
// If we deposited with this exact ratio - how many ktokens do we actually get from the program?
|
|
255
|
-
const RustDecimal = decimal_js_1.default.clone({ precision: 18, rounding: decimal_js_1.default.ROUND_FLOOR });
|
|
256
|
-
const usA = new RustDecimal(holdings.a);
|
|
257
|
-
const usB = new RustDecimal(holdings.b);
|
|
258
|
-
const uA = new RustDecimal(requiredA.mul(10 ** strategy.strategy.tokenAMintDecimals.toNumber()).ceil());
|
|
259
|
-
const uB = new RustDecimal(requiredB.mul(10 ** strategy.strategy.tokenBMintDecimals.toNumber()).ceil());
|
|
260
|
-
const ratio = usA.div(usB);
|
|
261
|
-
const depositableB = uA.div(ratio).floor();
|
|
262
|
-
let actualA, actualB;
|
|
263
|
-
if (depositableB.lte(uB)) {
|
|
264
|
-
actualA = depositableB.mul(ratio).floor();
|
|
265
|
-
actualB = uB;
|
|
266
|
-
}
|
|
267
|
-
else {
|
|
268
|
-
actualA = uB.mul(ratio).floor();
|
|
269
|
-
actualB = actualA.div(ratio).floor();
|
|
270
|
-
}
|
|
271
|
-
const actualMintFromA = actualA.mul(strategy.strategy.sharesIssued.toString()).div(holdings.a).floor();
|
|
272
|
-
const actualMintFromB = actualB.mul(strategy.strategy.sharesIssued.toString()).div(holdings.b).floor();
|
|
273
|
-
const actualMint = decimal_js_1.default.min(actualMintFromA, actualMintFromB).div(10 ** strategy.strategy.sharesMintDecimals.toNumber());
|
|
274
|
-
console.log(`Actual deposit amounts: A: ${actualA}, B: ${actualB}, kTokens to mint: ${actualMint}`);
|
|
275
|
-
return [requiredA, requiredB, actualMint];
|
|
276
|
-
}
|
|
277
227
|
const depositLeverageCalcs = (props) => {
|
|
278
228
|
// Initialize local variables from the props object
|
|
279
229
|
const { depositAmount, depositTokenIsCollToken, depositTokenIsSol, priceDebtToColl, targetLeverage, slippagePct, flashLoanFee, } = props;
|
|
@@ -293,9 +243,6 @@ const depositLeverageCalcs = (props) => {
|
|
|
293
243
|
collTokenToDeposit: finalColl,
|
|
294
244
|
swapDebtTokenIn: debt,
|
|
295
245
|
swapCollTokenExpectedOut: finalColl.sub(depositAmount),
|
|
296
|
-
flashBorrowInDebtTokenKtokenOnly: new decimal_js_1.default(0),
|
|
297
|
-
singleSidedDepositKtokenOnly: new decimal_js_1.default(0),
|
|
298
|
-
requiredCollateralKtokenOnly: new decimal_js_1.default(0),
|
|
299
246
|
};
|
|
300
247
|
}
|
|
301
248
|
else {
|
|
@@ -311,82 +258,10 @@ const depositLeverageCalcs = (props) => {
|
|
|
311
258
|
collTokenToDeposit: finalColl,
|
|
312
259
|
swapDebtTokenIn: debt.add(depositAmount),
|
|
313
260
|
swapCollTokenExpectedOut: finalColl,
|
|
314
|
-
flashBorrowInDebtTokenKtokenOnly: new decimal_js_1.default(0),
|
|
315
|
-
singleSidedDepositKtokenOnly: new decimal_js_1.default(0),
|
|
316
|
-
requiredCollateralKtokenOnly: new decimal_js_1.default(0),
|
|
317
261
|
};
|
|
318
262
|
}
|
|
319
263
|
};
|
|
320
264
|
exports.depositLeverageCalcs = depositLeverageCalcs;
|
|
321
|
-
const depositLeverageKtokenCalcs = async (props) => {
|
|
322
|
-
const { kamino, strategy, debtTokenMint, depositAmount, depositTokenIsCollToken, depositTokenIsSol, priceDebtToColl, targetLeverage, slippagePct, flashLoanFee, priceAinB, strategyHoldings, } = props;
|
|
323
|
-
const initDepositInSol = depositTokenIsSol ? depositAmount : new decimal_js_1.default(0);
|
|
324
|
-
const slippage = slippagePct.div('100');
|
|
325
|
-
let flashBorrowInDebtToken;
|
|
326
|
-
let collTokenToDeposit;
|
|
327
|
-
let debtTokenToBorrow;
|
|
328
|
-
if (depositTokenIsCollToken) {
|
|
329
|
-
const x = slippage.add('1').div(priceDebtToColl);
|
|
330
|
-
const y = flashLoanFee.add('1').mul(priceDebtToColl);
|
|
331
|
-
const z = targetLeverage.mul(y).div(targetLeverage.sub(1));
|
|
332
|
-
flashBorrowInDebtToken = depositAmount.div(z.minus(new decimal_js_1.default(1).div(x)));
|
|
333
|
-
collTokenToDeposit = depositAmount.add(flashBorrowInDebtToken.div(x));
|
|
334
|
-
debtTokenToBorrow = flashBorrowInDebtToken.mul(new decimal_js_1.default(1).add(flashLoanFee));
|
|
335
|
-
return {
|
|
336
|
-
flashBorrowInCollToken: new decimal_js_1.default(0),
|
|
337
|
-
initDepositInSol,
|
|
338
|
-
collTokenToDeposit,
|
|
339
|
-
debtTokenToBorrow,
|
|
340
|
-
swapDebtTokenIn: new decimal_js_1.default(0),
|
|
341
|
-
swapCollTokenExpectedOut: new decimal_js_1.default(0),
|
|
342
|
-
flashBorrowInDebtTokenKtokenOnly: flashBorrowInDebtToken,
|
|
343
|
-
requiredCollateralKtokenOnly: collTokenToDeposit.sub(depositAmount), // Assuming netValue is requiredCollateral, adjust as needed
|
|
344
|
-
singleSidedDepositKtokenOnly: flashBorrowInDebtToken,
|
|
345
|
-
};
|
|
346
|
-
}
|
|
347
|
-
else {
|
|
348
|
-
const y = targetLeverage.mul(priceDebtToColl);
|
|
349
|
-
// although we will only swap ~half of the debt token, we account for the slippage on the entire amount as we are working backwards from the minimum collateral and do not know the exact swap proportion in advance
|
|
350
|
-
// This also allows for some variation in the pool ratios between calculation + submitting the tx
|
|
351
|
-
const x = flashLoanFee.add('1').mul(slippage.add('1')).div(priceDebtToColl);
|
|
352
|
-
// Calculate the amount of collateral tokens we will deposit in order to achieve the desired leverage after swapping a portion of the debt token and flash loan fees
|
|
353
|
-
const finalColl = depositAmount.div(x.sub(targetLeverage.sub('1').div(y)));
|
|
354
|
-
// Calculate how many A and B tokens we will need to actually mint the desired amount of ktoken collateral
|
|
355
|
-
// The actual amount of ktokens received may be less than the finalColl due to smart proportional contract logic
|
|
356
|
-
// So we use the actualColl as the amount we will deposit
|
|
357
|
-
const [estimatedA, estimatedB, actualColl] = await simulateMintKToken(kamino, strategy, finalColl, strategyHoldings);
|
|
358
|
-
const { tokenAMint, tokenBMint } = strategy.strategy;
|
|
359
|
-
const pxAinB = await priceAinB(tokenAMint, tokenBMint);
|
|
360
|
-
const isTokenADeposit = tokenAMint === debtTokenMint;
|
|
361
|
-
// Calculate the amount we need to flash borrow by combining value of A and B into the debt token
|
|
362
|
-
const singleSidedDepositAmount = isTokenADeposit
|
|
363
|
-
? estimatedA.add(estimatedB.div(pxAinB))
|
|
364
|
-
: estimatedB.add(estimatedA.mul(pxAinB));
|
|
365
|
-
// Add slippage to the entire amount, add flash loan fee to part we will flash borrow
|
|
366
|
-
flashBorrowInDebtToken = singleSidedDepositAmount
|
|
367
|
-
.div(new decimal_js_1.default('1').sub(slippage))
|
|
368
|
-
.sub(depositAmount)
|
|
369
|
-
.div(new decimal_js_1.default('1').sub(flashLoanFee));
|
|
370
|
-
// Deposit the min ktoken amount we calculated at the beginning
|
|
371
|
-
// Any slippage will be left in the user's wallet as ktokens
|
|
372
|
-
collTokenToDeposit = actualColl;
|
|
373
|
-
debtTokenToBorrow = flashBorrowInDebtToken.div(new decimal_js_1.default('1').sub(flashLoanFee));
|
|
374
|
-
// Add slippage to ensure we try to swap/deposit as much as possible after flash loan fees
|
|
375
|
-
const singleSidedDeposit = singleSidedDepositAmount.div(new decimal_js_1.default('1').sub(slippage));
|
|
376
|
-
return {
|
|
377
|
-
flashBorrowInCollToken: new decimal_js_1.default(0),
|
|
378
|
-
initDepositInSol,
|
|
379
|
-
collTokenToDeposit,
|
|
380
|
-
debtTokenToBorrow,
|
|
381
|
-
swapDebtTokenIn: new decimal_js_1.default(0),
|
|
382
|
-
swapCollTokenExpectedOut: new decimal_js_1.default(0),
|
|
383
|
-
flashBorrowInDebtTokenKtokenOnly: flashBorrowInDebtToken,
|
|
384
|
-
singleSidedDepositKtokenOnly: singleSidedDeposit,
|
|
385
|
-
requiredCollateralKtokenOnly: collTokenToDeposit, // Assuming collTokenToDeposit is requiredCollateral, adjust as needed
|
|
386
|
-
};
|
|
387
|
-
}
|
|
388
|
-
};
|
|
389
|
-
exports.depositLeverageKtokenCalcs = depositLeverageKtokenCalcs;
|
|
390
265
|
function withdrawLeverageCalcs(market, collReserve, debtReserve, priceCollToDebt, withdrawAmount, deposited, borrowed, currentSlot, isClosingPosition, selectedTokenIsCollToken, selectedTokenMint, obligation, flashLoanFee, slippagePct) {
|
|
391
266
|
// 1. Calculate coll_amount and debt_amount to repay such that we maintain leverage and we withdraw to
|
|
392
267
|
// the wallet `amountInDepositTokenToWithdrawToWallet` amount of collateral token
|
|
@@ -435,8 +310,7 @@ function withdrawLeverageCalcs(market, collReserve, debtReserve, priceCollToDebt
|
|
|
435
310
|
depositTokenWithdrawAmount,
|
|
436
311
|
};
|
|
437
312
|
}
|
|
438
|
-
async function adjustDepositLeverageCalcs(
|
|
439
|
-
// used if coll is Ktoken and we borrow debt token instead
|
|
313
|
+
async function adjustDepositLeverageCalcs(debtReserve, adjustDepositPosition, adjustBorrowPosition, priceDebtToColl, flashLoanFee, slippagePct) {
|
|
440
314
|
const amountToFlashBorrowDebt = adjustDepositPosition
|
|
441
315
|
.div(priceDebtToColl)
|
|
442
316
|
.mul(new decimal_js_1.default(new decimal_js_1.default(1).add(slippagePct.div(100))))
|
|
@@ -445,18 +319,15 @@ async function adjustDepositLeverageCalcs(market, owner, debtReserve, adjustDepo
|
|
|
445
319
|
.mul(new decimal_js_1.default(1).plus(flashLoanFee))
|
|
446
320
|
.mul(new decimal_js_1.default(new decimal_js_1.default(1).add(slippagePct.div(100))))
|
|
447
321
|
.div(priceDebtToColl);
|
|
448
|
-
const expectedDebtTokenAtaBalance = await (0, utils_1.getExpectedTokenBalanceAfterBorrow)(market.getRpc(), debtReserve.getLiquidityMint(), owner, (0, kliquidity_sdk_1.collToLamportsDecimal)(!collIsKtoken ? borrowAmount : amountToFlashBorrowDebt, debtReserve.stats.decimals).floor(), debtReserve.state.liquidity.mintDecimals.toNumber());
|
|
449
322
|
return {
|
|
450
323
|
adjustDepositPosition,
|
|
451
324
|
adjustBorrowPosition,
|
|
452
325
|
amountToFlashBorrowDebt,
|
|
453
326
|
borrowAmount,
|
|
454
|
-
expectedDebtTokenAtaBalance,
|
|
455
327
|
withdrawAmountWithSlippageAndFlashLoanFee: new decimal_js_1.default(0),
|
|
456
328
|
};
|
|
457
329
|
}
|
|
458
330
|
function adjustWithdrawLeverageCalcs(adjustDepositPosition, adjustBorrowPosition, flashLoanFee, slippagePct) {
|
|
459
|
-
// used if coll is Ktoken and we borrow debt token instead
|
|
460
331
|
const withdrawAmountWithSlippageAndFlashLoanFee = decimal_js_1.default.abs(adjustDepositPosition)
|
|
461
332
|
.mul(new decimal_js_1.default(1).plus(flashLoanFee))
|
|
462
333
|
.mul(new decimal_js_1.default(1).add(slippagePct.div(100)));
|
|
@@ -465,7 +336,6 @@ function adjustWithdrawLeverageCalcs(adjustDepositPosition, adjustBorrowPosition
|
|
|
465
336
|
adjustBorrowPosition,
|
|
466
337
|
amountToFlashBorrowDebt: new decimal_js_1.default(0),
|
|
467
338
|
borrowAmount: new decimal_js_1.default(0),
|
|
468
|
-
expectedDebtTokenAtaBalance: new decimal_js_1.default(0),
|
|
469
339
|
withdrawAmountWithSlippageAndFlashLoanFee,
|
|
470
340
|
};
|
|
471
341
|
}
|