@kamino-finance/klend-sdk 7.3.10-beta.0 → 7.3.10-beta.1
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/classes/action.d.ts +21 -91
- package/dist/classes/action.d.ts.map +1 -1
- package/dist/classes/action.js +152 -139
- package/dist/classes/action.js.map +1 -1
- package/dist/classes/actionTypes.d.ts +310 -0
- package/dist/classes/actionTypes.d.ts.map +1 -0
- package/dist/classes/actionTypes.js +3 -0
- package/dist/classes/actionTypes.js.map +1 -0
- package/dist/classes/configItems.d.ts +1 -6
- package/dist/classes/configItems.d.ts.map +1 -1
- package/dist/classes/configItems.js +1 -93
- package/dist/classes/configItems.js.map +1 -1
- package/dist/classes/farm_utils.d.ts +1 -1
- package/dist/classes/farm_utils.d.ts.map +1 -1
- package/dist/classes/farm_utils.js +3 -1
- package/dist/classes/farm_utils.js.map +1 -1
- package/dist/classes/market.d.ts +15 -10
- package/dist/classes/market.d.ts.map +1 -1
- package/dist/classes/market.js +49 -26
- package/dist/classes/market.js.map +1 -1
- package/dist/classes/obligation.d.ts +9 -9
- package/dist/classes/obligation.d.ts.map +1 -1
- package/dist/classes/obligation.js +48 -50
- package/dist/classes/obligation.js.map +1 -1
- package/dist/classes/obligationOrder.d.ts.map +1 -1
- package/dist/classes/obligationOrder.js +6 -3
- package/dist/classes/obligationOrder.js.map +1 -1
- package/dist/classes/reserve.d.ts +7 -3
- package/dist/classes/reserve.d.ts.map +1 -1
- package/dist/classes/reserve.js +31 -43
- package/dist/classes/reserve.js.map +1 -1
- package/dist/classes/shared.d.ts +3 -2
- package/dist/classes/shared.d.ts.map +1 -1
- package/dist/classes/vault.d.ts +28 -1
- package/dist/classes/vault.d.ts.map +1 -1
- package/dist/classes/vault.js +103 -6
- package/dist/classes/vault.js.map +1 -1
- package/dist/classes/vault_types.d.ts +2 -1
- package/dist/classes/vault_types.d.ts.map +1 -1
- package/dist/client/commands/borrow.d.ts +1 -1
- package/dist/client/commands/borrow.d.ts.map +1 -1
- package/dist/client/commands/borrow.js +11 -2
- package/dist/client/commands/borrow.js.map +1 -1
- package/dist/client/commands/deposit.d.ts +1 -1
- package/dist/client/commands/deposit.d.ts.map +1 -1
- package/dist/client/commands/deposit.js +11 -2
- package/dist/client/commands/deposit.js.map +1 -1
- package/dist/client/commands/printReserve.d.ts +1 -1
- package/dist/client/commands/printReserve.d.ts.map +1 -1
- package/dist/client/commands/printReserve.js +2 -4
- package/dist/client/commands/printReserve.js.map +1 -1
- package/dist/client/commands/repay.d.ts +1 -1
- package/dist/client/commands/repay.d.ts.map +1 -1
- package/dist/client/commands/repay.js +12 -2
- package/dist/client/commands/repay.js.map +1 -1
- package/dist/client/commands/withdraw.d.ts +1 -1
- package/dist/client/commands/withdraw.d.ts.map +1 -1
- package/dist/client/commands/withdraw.js +11 -2
- package/dist/client/commands/withdraw.js.map +1 -1
- package/dist/lending_operations/repay_with_collateral_calcs.d.ts +1 -1
- package/dist/lending_operations/repay_with_collateral_calcs.d.ts.map +1 -1
- package/dist/lending_operations/repay_with_collateral_calcs.js +2 -2
- package/dist/lending_operations/repay_with_collateral_calcs.js.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.d.ts +4 -4
- package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.js +43 -10
- package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
- package/dist/lending_operations/swap_collateral_operations.d.ts +4 -4
- package/dist/lending_operations/swap_collateral_operations.d.ts.map +1 -1
- package/dist/lending_operations/swap_collateral_operations.js +40 -21
- package/dist/lending_operations/swap_collateral_operations.js.map +1 -1
- package/dist/leverage/operations.d.ts +6 -6
- package/dist/leverage/operations.d.ts.map +1 -1
- package/dist/leverage/operations.js +167 -52
- package/dist/leverage/operations.js.map +1 -1
- package/dist/leverage/types.d.ts +2 -2
- package/dist/leverage/types.d.ts.map +1 -1
- package/dist/manager/client_kamino_manager.js +0 -2
- package/dist/manager/client_kamino_manager.js.map +1 -1
- package/dist/obligation_orders/price_based.js +5 -3
- package/dist/obligation_orders/price_based.js.map +1 -1
- package/dist/utils/Logger.d.ts +14 -0
- package/dist/utils/Logger.d.ts.map +1 -0
- package/dist/utils/Logger.js +12 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/ObligationType.d.ts +33 -1
- package/dist/utils/ObligationType.d.ts.map +1 -1
- package/dist/utils/ObligationType.js +81 -2
- package/dist/utils/ObligationType.js.map +1 -1
- package/dist/utils/api.d.ts +13 -4
- package/dist/utils/api.d.ts.map +1 -1
- package/dist/utils/api.js +33 -31
- package/dist/utils/api.js.map +1 -1
- package/dist/utils/userMetadata.d.ts +2 -2
- package/dist/utils/userMetadata.d.ts.map +1 -1
- package/dist/utils/userMetadata.js +49 -25
- package/dist/utils/userMetadata.js.map +1 -1
- package/dist/utils/validations.d.ts +1 -0
- package/dist/utils/validations.d.ts.map +1 -1
- package/dist/utils/validations.js +5 -0
- package/dist/utils/validations.js.map +1 -1
- package/package.json +1 -1
- package/src/classes/action.ts +346 -372
- package/src/classes/actionTypes.ts +295 -0
- package/src/classes/configItems.ts +1 -99
- package/src/classes/farm_utils.ts +5 -1
- package/src/classes/market.ts +74 -31
- package/src/classes/obligation.ts +54 -53
- package/src/classes/obligationOrder.ts +6 -3
- package/src/classes/reserve.ts +118 -122
- package/src/classes/shared.ts +4 -2
- package/src/classes/vault.ts +160 -7
- package/src/classes/vault_types.ts +2 -1
- package/src/client/client.ts +17 -18
- package/src/client/commands/borrow.ts +10 -9
- package/src/client/commands/deposit.ts +10 -9
- package/src/client/commands/printReserve.ts +2 -4
- package/src/client/commands/repay.ts +11 -10
- package/src/client/commands/withdraw.ts +15 -9
- package/src/lending_operations/repay_with_collateral_calcs.ts +3 -4
- package/src/lending_operations/repay_with_collateral_operations.ts +40 -38
- package/src/lending_operations/swap_collateral_operations.ts +47 -41
- package/src/leverage/operations.ts +168 -129
- package/src/leverage/types.ts +2 -2
- package/src/manager/client_kamino_manager.ts +0 -2
- package/src/obligation_orders/price_based.ts +7 -5
- package/src/utils/Logger.ts +14 -0
- package/src/utils/ObligationType.ts +92 -1
- package/src/utils/api.ts +56 -33
- package/src/utils/userMetadata.ts +64 -30
- package/src/utils/validations.ts +5 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap_collateral_operations.js","sourceRoot":"","sources":["../../src/lending_operations/swap_collateral_operations.ts"],"names":[],"mappings":";;;;;AA6IA,wCAsDC;AAnMD,wCAOoB;AACpB,0CAA0G;AAC1G,oCAQkB;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,YAAY,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,gCAAgC,EAAE,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/G,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,MAAM,CAAC,cAAc,CAAC,CAAC;QAExG,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,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,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,cAAc,CAAC,CAAC;IAErC,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,CAAC,GAAG,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAE5F,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"}
|
|
1
|
+
{"version":3,"file":"swap_collateral_operations.js","sourceRoot":"","sources":["../../src/lending_operations/swap_collateral_operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,25 +3,25 @@ import { KaminoMarket, KaminoObligation, KaminoReserve } from '../classes';
|
|
|
3
3
|
import { ObligationType, ScopePriceRefreshConfig } from '../utils';
|
|
4
4
|
import { AdjustLeverageInitialInputs, AdjustLeverageIxsResponse, AdjustLeverageProps, AdjustLeverageSwapInputsProps, DepositLeverageInitialInputs, DepositWithLeverageProps, DepositWithLeverageSwapInputsProps, DepositLeverageIxsResponse, SwapInputs, SwapIxs, WithdrawLeverageCalcsResult, WithdrawLeverageInitialInputs, WithdrawLeverageIxsResponse, WithdrawWithLeverageProps, WithdrawWithLeverageSwapInputsProps, LeverageIxsOutput, FlashLoanInfo } from './types';
|
|
5
5
|
export declare const WITHDRAW_SLOT_OFFSET = 150;
|
|
6
|
-
export declare function getDepositWithLeverageSwapInputs<QuoteResponse>({ owner, kaminoMarket,
|
|
6
|
+
export declare function getDepositWithLeverageSwapInputs<QuoteResponse>({ owner, kaminoMarket, debtReserveAddress, collReserveAddress, depositAmount, priceDebtToColl, slippagePct, obligation, referrer, currentSlot, targetLeverage, selectedTokenMint, obligationTypeTagOverride, scopeRefreshIx, budgetAndPriorityFeeIxs, quoteBufferBps, quoter, useV2Ixs, elevationGroupOverride, }: DepositWithLeverageSwapInputsProps<QuoteResponse>): Promise<{
|
|
7
7
|
flashLoanInfo: FlashLoanInfo;
|
|
8
8
|
swapInputs: SwapInputs;
|
|
9
9
|
initialInputs: DepositLeverageInitialInputs<QuoteResponse>;
|
|
10
10
|
}>;
|
|
11
|
-
export declare function getDepositWithLeverageIxs<QuoteResponse>({ owner, kaminoMarket,
|
|
12
|
-
export declare function getWithdrawWithLeverageSwapInputs<QuoteResponse>({ owner, kaminoMarket,
|
|
11
|
+
export declare function getDepositWithLeverageIxs<QuoteResponse>({ owner, kaminoMarket, debtReserveAddress, collReserveAddress, depositAmount, priceDebtToColl, slippagePct, obligation, referrer, currentSlot, targetLeverage, selectedTokenMint, obligationTypeTagOverride, scopeRefreshIx, budgetAndPriorityFeeIxs, quoteBufferBps, quoter, swapper, elevationGroupOverride, useV2Ixs, }: DepositWithLeverageProps<QuoteResponse>): Promise<Array<DepositLeverageIxsResponse<QuoteResponse>>>;
|
|
12
|
+
export declare function getWithdrawWithLeverageSwapInputs<QuoteResponse>({ owner, kaminoMarket, debtReserveAddress, collReserveAddress, deposited, borrowed, obligation, referrer, currentSlot, withdrawAmount, priceCollToDebt, slippagePct, isClosingPosition, selectedTokenMint, budgetAndPriorityFeeIxs, scopeRefreshIx, quoteBufferBps, quoter, useV2Ixs, userSolBalanceLamports, }: WithdrawWithLeverageSwapInputsProps<QuoteResponse>): Promise<{
|
|
13
13
|
swapInputs: SwapInputs;
|
|
14
14
|
flashLoanInfo: FlashLoanInfo;
|
|
15
15
|
initialInputs: WithdrawLeverageInitialInputs<QuoteResponse>;
|
|
16
16
|
}>;
|
|
17
|
-
export declare function getWithdrawWithLeverageIxs<QuoteResponse>({ owner, kaminoMarket,
|
|
17
|
+
export declare function getWithdrawWithLeverageIxs<QuoteResponse>({ owner, kaminoMarket, debtReserveAddress, collReserveAddress, obligation, deposited, borrowed, referrer, currentSlot, withdrawAmount, priceCollToDebt, slippagePct, isClosingPosition, selectedTokenMint, budgetAndPriorityFeeIxs, scopeRefreshIx, quoteBufferBps, quoter, swapper, useV2Ixs, userSolBalanceLamports, }: WithdrawWithLeverageProps<QuoteResponse>): Promise<Array<WithdrawLeverageIxsResponse<QuoteResponse>>>;
|
|
18
18
|
export declare function buildWithdrawWithLeverageIxs<QuoteResponse>(market: KaminoMarket, debtReserve: KaminoReserve, collReserve: KaminoReserve, owner: TransactionSigner, obligation: KaminoObligation, referrer: Option<Address>, currentSlot: Slot, isClosingPosition: boolean, depositTokenIsSol: boolean, scopeRefreshIx: Instruction[], calcs: WithdrawLeverageCalcsResult, budgetAndPriorityFeeIxs: Instruction[] | undefined, swapQuoteIxsArray: SwapIxs<QuoteResponse>[], useV2Ixs: boolean, userSolBalanceLamports: number): Promise<LeverageIxsOutput[]>;
|
|
19
|
-
export declare function getAdjustLeverageSwapInputs<QuoteResponse>({ owner, kaminoMarket,
|
|
19
|
+
export declare function getAdjustLeverageSwapInputs<QuoteResponse>({ owner, kaminoMarket, debtReserveAddress, collReserveAddress, obligation, depositedLamports, borrowedLamports, referrer, currentSlot, targetLeverage, priceCollToDebt, priceDebtToColl, slippagePct, budgetAndPriorityFeeIxs, scopeRefreshIx, quoteBufferBps, quoter, useV2Ixs, withdrawSlotOffset, userSolBalanceLamports, }: AdjustLeverageSwapInputsProps<QuoteResponse>): Promise<{
|
|
20
20
|
swapInputs: SwapInputs;
|
|
21
21
|
flashLoanInfo: FlashLoanInfo;
|
|
22
22
|
initialInputs: AdjustLeverageInitialInputs<QuoteResponse>;
|
|
23
23
|
}>;
|
|
24
|
-
export declare function getAdjustLeverageIxs<QuoteResponse>({ owner, kaminoMarket,
|
|
24
|
+
export declare function getAdjustLeverageIxs<QuoteResponse>({ owner, kaminoMarket, debtReserveAddress, collReserveAddress, obligation, depositedLamports, borrowedLamports, referrer, currentSlot, targetLeverage, priceCollToDebt, priceDebtToColl, slippagePct, budgetAndPriorityFeeIxs, scopeRefreshIx, quoteBufferBps, quoter, swapper, useV2Ixs, withdrawSlotOffset, userSolBalanceLamports, }: AdjustLeverageProps<QuoteResponse>): Promise<Array<AdjustLeverageIxsResponse<QuoteResponse>>>;
|
|
25
25
|
export declare const getSetupIxs: (owner: TransactionSigner, collTokenMint: Address, collReserve: KaminoReserve, debtTokenMint: Address, debtReserve: KaminoReserve, budgetAndPriorityFeeIxs: Instruction[] | undefined) => Promise<{
|
|
26
26
|
budgetIxs: Instruction<string, readonly (import("@solana/kit").AccountMeta<string> | import("@solana/kit").AccountLookupMeta<string, string>)[]>[];
|
|
27
27
|
createAtasIxs: Instruction<string, readonly (import("@solana/kit").AccountMeta<string> | import("@solana/kit").AccountLookupMeta<string, string>)[]>[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/leverage/operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAQ,iBAAiB,EAAY,MAAM,aAAa,CAAC;AAEpG,OAAO,EAEL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EAKd,MAAM,YAAY,CAAC;AAIpB,OAAO,EAGL,cAAc,EAGd,uBAAuB,
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/leverage/operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,12 +23,18 @@ const token_1 = require("@solana-program/token");
|
|
|
23
23
|
const token_2022_1 = require("@solana-program/token-2022");
|
|
24
24
|
const consts_1 = require("../utils/consts");
|
|
25
25
|
exports.WITHDRAW_SLOT_OFFSET = 150; // Offset for the withdraw slot to underestimate the exchange rate
|
|
26
|
-
async function getDepositWithLeverageSwapInputs({ owner, kaminoMarket,
|
|
27
|
-
const collReserve = kaminoMarket.
|
|
28
|
-
const debtReserve = kaminoMarket.
|
|
29
|
-
const
|
|
26
|
+
async function getDepositWithLeverageSwapInputs({ owner, kaminoMarket, debtReserveAddress, collReserveAddress, depositAmount, priceDebtToColl, slippagePct, obligation, referrer, currentSlot, targetLeverage, selectedTokenMint, obligationTypeTagOverride, scopeRefreshIx, budgetAndPriorityFeeIxs, quoteBufferBps, quoter, useV2Ixs, elevationGroupOverride, }) {
|
|
27
|
+
const collReserve = kaminoMarket.getExistingReserveByAddress(collReserveAddress);
|
|
28
|
+
const debtReserve = kaminoMarket.getExistingReserveByAddress(debtReserveAddress);
|
|
29
|
+
const collTokenMint = collReserve.getLiquidityMint();
|
|
30
|
+
const debtTokenMint = debtReserve.getLiquidityMint();
|
|
31
|
+
const solTokenReserve = collReserve.getLiquidityMint() === utils_1.WRAPPED_SOL_MINT
|
|
32
|
+
? collReserve
|
|
33
|
+
: debtReserve.getLiquidityMint() === utils_1.WRAPPED_SOL_MINT
|
|
34
|
+
? debtReserve
|
|
35
|
+
: undefined;
|
|
30
36
|
const flashLoanFee = collReserve.getFlashLoanFee() || new decimal_js_1.default(0);
|
|
31
|
-
const selectedTokenIsCollToken = selectedTokenMint ===
|
|
37
|
+
const selectedTokenIsCollToken = selectedTokenMint === collReserve.getLiquidityMint();
|
|
32
38
|
const depositTokenIsSol = !solTokenReserve ? false : selectedTokenMint === solTokenReserve.getLiquidityMint();
|
|
33
39
|
const calcs = (0, calcs_1.depositLeverageCalcs)({
|
|
34
40
|
depositAmount: depositAmount,
|
|
@@ -40,7 +46,7 @@ async function getDepositWithLeverageSwapInputs({ owner, kaminoMarket, debtToken
|
|
|
40
46
|
flashLoanFee,
|
|
41
47
|
});
|
|
42
48
|
console.log('Ops Calcs', (0, classes_1.toJson)(calcs));
|
|
43
|
-
const obligationType = checkObligationType(obligationTypeTagOverride,
|
|
49
|
+
const obligationType = checkObligationType(obligationTypeTagOverride, collReserve.address, debtReserve.address, kaminoMarket);
|
|
44
50
|
// Build the repay & withdraw collateral tx to get the number of accounts
|
|
45
51
|
const klendIxs = (await buildDepositWithLeverageIxs(kaminoMarket, debtReserve, collReserve, owner, obligation ? obligation : obligationType, referrer, currentSlot, depositTokenIsSol, scopeRefreshIx, calcs, budgetAndPriorityFeeIxs, [
|
|
46
52
|
{
|
|
@@ -88,12 +94,12 @@ async function getDepositWithLeverageSwapInputs({ owner, kaminoMarket, debtToken
|
|
|
88
94
|
},
|
|
89
95
|
};
|
|
90
96
|
}
|
|
91
|
-
async function getDepositWithLeverageIxs({ owner, kaminoMarket,
|
|
97
|
+
async function getDepositWithLeverageIxs({ owner, kaminoMarket, debtReserveAddress, collReserveAddress, depositAmount, priceDebtToColl, slippagePct, obligation, referrer, currentSlot, targetLeverage, selectedTokenMint, obligationTypeTagOverride, scopeRefreshIx, budgetAndPriorityFeeIxs, quoteBufferBps, quoter, swapper, elevationGroupOverride, useV2Ixs, }) {
|
|
92
98
|
const { swapInputs, initialInputs } = await getDepositWithLeverageSwapInputs({
|
|
93
99
|
owner,
|
|
94
100
|
kaminoMarket,
|
|
95
|
-
|
|
96
|
-
|
|
101
|
+
debtReserveAddress,
|
|
102
|
+
collReserveAddress,
|
|
97
103
|
depositAmount,
|
|
98
104
|
priceDebtToColl,
|
|
99
105
|
slippagePct,
|
|
@@ -112,9 +118,13 @@ async function getDepositWithLeverageIxs({ owner, kaminoMarket, debtTokenMint, c
|
|
|
112
118
|
const depositSwapper = swapper;
|
|
113
119
|
const swapsArray = await depositSwapper(swapInputs, initialInputs.klendAccounts, initialInputs.swapQuote);
|
|
114
120
|
// Strategy lookup table logic removed
|
|
115
|
-
const collReserve = kaminoMarket.
|
|
116
|
-
const debtReserve = kaminoMarket.
|
|
117
|
-
const solTokenReserve =
|
|
121
|
+
const collReserve = kaminoMarket.getExistingReserveByAddress(collReserveAddress);
|
|
122
|
+
const debtReserve = kaminoMarket.getExistingReserveByAddress(debtReserveAddress);
|
|
123
|
+
const solTokenReserve = collReserve.getLiquidityMint() === utils_1.WRAPPED_SOL_MINT
|
|
124
|
+
? collReserve
|
|
125
|
+
: debtReserve.getLiquidityMint() === utils_1.WRAPPED_SOL_MINT
|
|
126
|
+
? debtReserve
|
|
127
|
+
: undefined;
|
|
118
128
|
const depositTokenIsSol = !solTokenReserve ? false : selectedTokenMint === solTokenReserve.getLiquidityMint();
|
|
119
129
|
const depositWithLeverageIxs = await buildDepositWithLeverageIxs(kaminoMarket, debtReserve, collReserve, owner, initialInputs.obligation, referrer, currentSlot, depositTokenIsSol, scopeRefreshIx, initialInputs.calcs, budgetAndPriorityFeeIxs, swapsArray.map((swap) => {
|
|
120
130
|
return {
|
|
@@ -167,9 +177,23 @@ async function buildDepositWithLeverageIxs(market, debtReserve, collReserve, own
|
|
|
167
177
|
programId: market.programId,
|
|
168
178
|
});
|
|
169
179
|
// 3. Deposit initial tokens + borrowed tokens into reserve
|
|
170
|
-
const kaminoDepositAndBorrowAction = await classes_1.KaminoAction.buildDepositAndBorrowTxns(
|
|
171
|
-
|
|
172
|
-
|
|
180
|
+
const kaminoDepositAndBorrowAction = await classes_1.KaminoAction.buildDepositAndBorrowTxns({
|
|
181
|
+
kaminoMarket: market,
|
|
182
|
+
depositAmount: (0, classes_2.numberToLamportsDecimal)(calcs.collTokenToDeposit, collReserve.stats.decimals).floor().toString(),
|
|
183
|
+
depositReserveAddress: collReserve.address,
|
|
184
|
+
borrowAmount: (0, classes_2.numberToLamportsDecimal)(calcs.debtTokenToBorrow, debtReserve.stats.decimals).ceil().toString(),
|
|
185
|
+
borrowReserveAddress: debtReserve.address,
|
|
186
|
+
owner,
|
|
187
|
+
obligation: obligation,
|
|
188
|
+
useV2Ixs,
|
|
189
|
+
scopeRefreshConfig: undefined,
|
|
190
|
+
extraComputeBudget: 0,
|
|
191
|
+
includeAtaIxs: false,
|
|
192
|
+
requestElevationGroup: elevationGroupOverride === 0 ? false : true, // emode
|
|
193
|
+
initUserMetadata: { skipInitialization: true, skipLutCreation: true }, // to be checked and created in a setup tx in the UI
|
|
194
|
+
referrer,
|
|
195
|
+
currentSlot,
|
|
196
|
+
});
|
|
173
197
|
return swapQuoteIxsArray.map((swapQuoteIxs) => {
|
|
174
198
|
// 4. Swap
|
|
175
199
|
const { swapIxs } = swapQuoteIxs;
|
|
@@ -194,11 +218,13 @@ async function buildDepositWithLeverageIxs(market, debtReserve, collReserve, own
|
|
|
194
218
|
};
|
|
195
219
|
});
|
|
196
220
|
}
|
|
197
|
-
async function getWithdrawWithLeverageSwapInputs({ owner, kaminoMarket,
|
|
198
|
-
const collReserve = kaminoMarket.
|
|
199
|
-
const debtReserve = kaminoMarket.
|
|
221
|
+
async function getWithdrawWithLeverageSwapInputs({ owner, kaminoMarket, debtReserveAddress, collReserveAddress, deposited, borrowed, obligation, referrer, currentSlot, withdrawAmount, priceCollToDebt, slippagePct, isClosingPosition, selectedTokenMint, budgetAndPriorityFeeIxs, scopeRefreshIx, quoteBufferBps, quoter, useV2Ixs, userSolBalanceLamports, }) {
|
|
222
|
+
const collReserve = kaminoMarket.getExistingReserveByAddress(collReserveAddress);
|
|
223
|
+
const debtReserve = kaminoMarket.getExistingReserveByAddress(debtReserveAddress);
|
|
224
|
+
const collTokenMint = collReserve.getLiquidityMint();
|
|
225
|
+
const debtTokenMint = debtReserve.getLiquidityMint();
|
|
200
226
|
const flashLoanFee = debtReserve.getFlashLoanFee() || new decimal_js_1.default(0);
|
|
201
|
-
const selectedTokenIsCollToken = selectedTokenMint ===
|
|
227
|
+
const selectedTokenIsCollToken = selectedTokenMint === collReserve.getLiquidityMint();
|
|
202
228
|
const inputTokenIsSol = selectedTokenMint === utils_1.WRAPPED_SOL_MINT;
|
|
203
229
|
const calcs = (0, calcs_1.withdrawLeverageCalcs)(kaminoMarket, collReserve, debtReserve, priceCollToDebt, withdrawAmount, deposited, borrowed, currentSlot, isClosingPosition, selectedTokenIsCollToken, selectedTokenMint, obligation, flashLoanFee, slippagePct);
|
|
204
230
|
const klendIxs = (await buildWithdrawWithLeverageIxs(kaminoMarket, debtReserve, collReserve, owner, obligation, referrer, currentSlot, isClosingPosition, inputTokenIsSol, scopeRefreshIx, calcs, budgetAndPriorityFeeIxs, [
|
|
@@ -239,15 +265,15 @@ async function getWithdrawWithLeverageSwapInputs({ owner, kaminoMarket, debtToke
|
|
|
239
265
|
},
|
|
240
266
|
};
|
|
241
267
|
}
|
|
242
|
-
async function getWithdrawWithLeverageIxs({ owner, kaminoMarket,
|
|
243
|
-
const collReserve = kaminoMarket.
|
|
244
|
-
const debtReserve = kaminoMarket.
|
|
268
|
+
async function getWithdrawWithLeverageIxs({ owner, kaminoMarket, debtReserveAddress, collReserveAddress, obligation, deposited, borrowed, referrer, currentSlot, withdrawAmount, priceCollToDebt, slippagePct, isClosingPosition, selectedTokenMint, budgetAndPriorityFeeIxs, scopeRefreshIx, quoteBufferBps, quoter, swapper, useV2Ixs, userSolBalanceLamports, }) {
|
|
269
|
+
const collReserve = kaminoMarket.getExistingReserveByAddress(collReserveAddress);
|
|
270
|
+
const debtReserve = kaminoMarket.getExistingReserveByAddress(debtReserveAddress);
|
|
245
271
|
const inputTokenIsSol = selectedTokenMint === utils_1.WRAPPED_SOL_MINT;
|
|
246
272
|
const { swapInputs, initialInputs } = await getWithdrawWithLeverageSwapInputs({
|
|
247
273
|
owner,
|
|
248
274
|
kaminoMarket,
|
|
249
|
-
|
|
250
|
-
|
|
275
|
+
debtReserveAddress,
|
|
276
|
+
collReserveAddress,
|
|
251
277
|
deposited,
|
|
252
278
|
borrowed,
|
|
253
279
|
obligation,
|
|
@@ -327,10 +353,27 @@ async function buildWithdrawWithLeverageIxs(market, debtReserve, collReserve, ow
|
|
|
327
353
|
programId: market.programId,
|
|
328
354
|
});
|
|
329
355
|
// 3. Repay borrowed tokens and Withdraw tokens from reserve that will be swapped to repay flash loan
|
|
330
|
-
const repayAndWithdrawAction = await classes_1.KaminoAction.buildRepayAndWithdrawTxns(
|
|
331
|
-
|
|
332
|
-
:
|
|
333
|
-
|
|
356
|
+
const repayAndWithdrawAction = await classes_1.KaminoAction.buildRepayAndWithdrawTxns({
|
|
357
|
+
kaminoMarket: market,
|
|
358
|
+
repayAmount: isClosingPosition
|
|
359
|
+
? utils_1.U64_MAX
|
|
360
|
+
: (0, classes_2.numberToLamportsDecimal)(calcs.repayAmount, debtReserve.stats.decimals).floor().toString(),
|
|
361
|
+
repayReserveAddress: debtReserve.address,
|
|
362
|
+
withdrawAmount: isClosingPosition
|
|
363
|
+
? utils_1.U64_MAX
|
|
364
|
+
: (0, classes_2.numberToLamportsDecimal)(calcs.depositTokenWithdrawAmount, collReserve.stats.decimals).ceil().toString(),
|
|
365
|
+
withdrawReserveAddress: collReserve.address,
|
|
366
|
+
payer: owner,
|
|
367
|
+
currentSlot,
|
|
368
|
+
obligation,
|
|
369
|
+
useV2Ixs,
|
|
370
|
+
scopeRefreshConfig: undefined,
|
|
371
|
+
extraComputeBudget: 0,
|
|
372
|
+
includeAtaIxs: false,
|
|
373
|
+
requestElevationGroup: false,
|
|
374
|
+
initUserMetadata: { skipInitialization: true, skipLutCreation: true }, // to be checked and created in a setup tx in the UI (won't be the case for withdraw anyway as this would be created in deposit)
|
|
375
|
+
referrer,
|
|
376
|
+
});
|
|
334
377
|
return swapQuoteIxsArray.map((swapQuoteIxs) => {
|
|
335
378
|
const swapInstructions = (0, utils_1.removeBudgetIxs)(swapQuoteIxs.swapIxs);
|
|
336
379
|
return {
|
|
@@ -352,9 +395,11 @@ async function buildWithdrawWithLeverageIxs(market, debtReserve, collReserve, ow
|
|
|
352
395
|
};
|
|
353
396
|
});
|
|
354
397
|
}
|
|
355
|
-
async function getAdjustLeverageSwapInputs({ owner, kaminoMarket,
|
|
356
|
-
const collReserve = kaminoMarket.
|
|
357
|
-
const debtReserve = kaminoMarket.
|
|
398
|
+
async function getAdjustLeverageSwapInputs({ owner, kaminoMarket, debtReserveAddress, collReserveAddress, obligation, depositedLamports, borrowedLamports, referrer, currentSlot, targetLeverage, priceCollToDebt, priceDebtToColl, slippagePct, budgetAndPriorityFeeIxs, scopeRefreshIx, quoteBufferBps, quoter, useV2Ixs, withdrawSlotOffset, userSolBalanceLamports, }) {
|
|
399
|
+
const collReserve = kaminoMarket.getExistingReserveByAddress(collReserveAddress);
|
|
400
|
+
const debtReserve = kaminoMarket.getExistingReserveByAddress(debtReserveAddress);
|
|
401
|
+
const collTokenMint = collReserve.getLiquidityMint();
|
|
402
|
+
const debtTokenMint = debtReserve.getLiquidityMint();
|
|
358
403
|
const deposited = (0, classes_1.lamportsToNumberDecimal)(depositedLamports, collReserve.stats.decimals);
|
|
359
404
|
const borrowed = (0, classes_1.lamportsToNumberDecimal)(borrowedLamports, debtReserve.stats.decimals);
|
|
360
405
|
// Getting current flash loan fee
|
|
@@ -381,7 +426,7 @@ async function getAdjustLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint,
|
|
|
381
426
|
if (isDeposit) {
|
|
382
427
|
const calcs = (0, calcs_1.adjustDepositLeverageCalcs)(debtReserve, adjustDepositPosition, adjustBorrowPosition, priceDebtToColl, flashLoanFee, slippagePct);
|
|
383
428
|
// Build the repay & withdraw collateral tx to get the number of accounts
|
|
384
|
-
const klendIxs = (await buildIncreaseLeverageIxs(owner, kaminoMarket,
|
|
429
|
+
const klendIxs = (await buildIncreaseLeverageIxs(owner, kaminoMarket, collReserveAddress, debtReserveAddress, obligation, referrer, currentSlot, calcs, scopeRefreshIx, [
|
|
385
430
|
{
|
|
386
431
|
preActionIxs: [],
|
|
387
432
|
swapIxs: [],
|
|
@@ -429,7 +474,7 @@ async function getAdjustLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint,
|
|
|
429
474
|
}
|
|
430
475
|
else {
|
|
431
476
|
const calcs = (0, calcs_1.adjustWithdrawLeverageCalcs)(adjustDepositPosition, adjustBorrowPosition, flashLoanFee, slippagePct);
|
|
432
|
-
const klendIxs = (await buildDecreaseLeverageIxs(owner, kaminoMarket,
|
|
477
|
+
const klendIxs = (await buildDecreaseLeverageIxs(owner, kaminoMarket, collReserveAddress, debtReserveAddress, obligation, referrer, currentSlot, calcs, scopeRefreshIx, [
|
|
433
478
|
{
|
|
434
479
|
preActionIxs: [],
|
|
435
480
|
swapIxs: [],
|
|
@@ -476,12 +521,12 @@ async function getAdjustLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint,
|
|
|
476
521
|
};
|
|
477
522
|
}
|
|
478
523
|
}
|
|
479
|
-
async function getAdjustLeverageIxs({ owner, kaminoMarket,
|
|
524
|
+
async function getAdjustLeverageIxs({ owner, kaminoMarket, debtReserveAddress, collReserveAddress, obligation, depositedLamports, borrowedLamports, referrer, currentSlot, targetLeverage, priceCollToDebt, priceDebtToColl, slippagePct, budgetAndPriorityFeeIxs, scopeRefreshIx, quoteBufferBps, quoter, swapper, useV2Ixs, withdrawSlotOffset, userSolBalanceLamports, }) {
|
|
480
525
|
const { swapInputs, initialInputs } = await getAdjustLeverageSwapInputs({
|
|
481
526
|
owner,
|
|
482
527
|
kaminoMarket,
|
|
483
|
-
|
|
484
|
-
|
|
528
|
+
debtReserveAddress,
|
|
529
|
+
collReserveAddress,
|
|
485
530
|
obligation,
|
|
486
531
|
depositedLamports,
|
|
487
532
|
borrowedLamports,
|
|
@@ -502,7 +547,7 @@ async function getAdjustLeverageIxs({ owner, kaminoMarket, debtTokenMint, collTo
|
|
|
502
547
|
if (initialInputs.isDeposit) {
|
|
503
548
|
const depositSwapper = swapper;
|
|
504
549
|
const swapsArray = await depositSwapper(swapInputs, initialInputs.klendAccounts, initialInputs.swapQuote);
|
|
505
|
-
const increaseLeverageIxs = await buildIncreaseLeverageIxs(owner, kaminoMarket,
|
|
550
|
+
const increaseLeverageIxs = await buildIncreaseLeverageIxs(owner, kaminoMarket, collReserveAddress, debtReserveAddress, obligation, referrer, currentSlot, initialInputs.calcs, scopeRefreshIx, swapsArray.map((swap) => {
|
|
506
551
|
return {
|
|
507
552
|
preActionIxs: [],
|
|
508
553
|
swapIxs: swap.swapIxs,
|
|
@@ -526,7 +571,7 @@ async function getAdjustLeverageIxs({ owner, kaminoMarket, debtTokenMint, collTo
|
|
|
526
571
|
const withdrawSwapper = swapper;
|
|
527
572
|
// 5. Get swap ixs
|
|
528
573
|
const swapsArray = await withdrawSwapper(swapInputs, initialInputs.klendAccounts, initialInputs.swapQuote);
|
|
529
|
-
const decreaseLeverageIxs = await buildDecreaseLeverageIxs(owner, kaminoMarket,
|
|
574
|
+
const decreaseLeverageIxs = await buildDecreaseLeverageIxs(owner, kaminoMarket, collReserveAddress, debtReserveAddress, obligation, referrer, currentSlot, initialInputs.calcs, scopeRefreshIx, swapsArray.map((swap) => {
|
|
530
575
|
return {
|
|
531
576
|
preActionIxs: [],
|
|
532
577
|
swapIxs: swap.swapIxs,
|
|
@@ -549,9 +594,11 @@ async function getAdjustLeverageIxs({ owner, kaminoMarket, debtTokenMint, collTo
|
|
|
549
594
|
/**
|
|
550
595
|
* Deposit and borrow tokens if leverage increased
|
|
551
596
|
*/
|
|
552
|
-
async function buildIncreaseLeverageIxs(owner, kaminoMarket,
|
|
553
|
-
const collReserve = kaminoMarket.
|
|
554
|
-
const
|
|
597
|
+
async function buildIncreaseLeverageIxs(owner, kaminoMarket, collReserveAddress, debtReserveAddress, obligation, referrer, currentSlot, calcs, scopeRefreshIx, swapQuoteIxsArray, budgetAndPriorityFeeIxs, useV2Ixs) {
|
|
598
|
+
const collReserve = kaminoMarket.getExistingReserveByAddress(collReserveAddress);
|
|
599
|
+
const collTokenMint = collReserve.getLiquidityMint();
|
|
600
|
+
const debtReserve = kaminoMarket.getExistingReserveByAddress(debtReserveAddress);
|
|
601
|
+
const debtTokenMint = debtReserve.getLiquidityMint();
|
|
555
602
|
const collTokenAta = await (0, utils_1.getAssociatedTokenAddress)(collTokenMint, owner.address, collReserve.getLiquidityTokenProgram());
|
|
556
603
|
// 1. Create atas & budget txns
|
|
557
604
|
const { budgetIxs, createAtasIxs } = await (0, exports.getSetupIxs)(owner, collTokenMint, collReserve, debtTokenMint, debtReserve, budgetAndPriorityFeeIxs);
|
|
@@ -569,10 +616,37 @@ async function buildIncreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
|
|
|
569
616
|
referrerTokenState: (0, kit_1.none)(),
|
|
570
617
|
programId: kaminoMarket.programId,
|
|
571
618
|
});
|
|
572
|
-
const depositAction = await classes_1.KaminoAction.buildDepositTxns(
|
|
619
|
+
const depositAction = await classes_1.KaminoAction.buildDepositTxns({
|
|
620
|
+
kaminoMarket,
|
|
621
|
+
amount: (0, classes_2.numberToLamportsDecimal)(calcs.adjustDepositPosition, collReserve.stats.decimals).floor().toString(),
|
|
622
|
+
reserveAddress: collReserve.address,
|
|
623
|
+
owner,
|
|
624
|
+
obligation,
|
|
625
|
+
useV2Ixs,
|
|
626
|
+
scopeRefreshConfig: undefined,
|
|
627
|
+
extraComputeBudget: 0,
|
|
628
|
+
includeAtaIxs: false,
|
|
629
|
+
requestElevationGroup: false,
|
|
630
|
+
initUserMetadata: { skipInitialization: true, skipLutCreation: true },
|
|
631
|
+
referrer,
|
|
632
|
+
currentSlot,
|
|
633
|
+
});
|
|
573
634
|
// 4. Borrow tokens in borrow token reserve that will be swapped to repay flash loan
|
|
574
|
-
const borrowAction = await classes_1.KaminoAction.buildBorrowTxns(
|
|
575
|
-
|
|
635
|
+
const borrowAction = await classes_1.KaminoAction.buildBorrowTxns({
|
|
636
|
+
kaminoMarket,
|
|
637
|
+
amount: (0, classes_2.numberToLamportsDecimal)(calcs.borrowAmount, debtReserve.stats.decimals).ceil().toString(),
|
|
638
|
+
reserveAddress: debtReserve.address,
|
|
639
|
+
owner,
|
|
640
|
+
obligation,
|
|
641
|
+
useV2Ixs,
|
|
642
|
+
scopeRefreshConfig: undefined,
|
|
643
|
+
extraComputeBudget: 0,
|
|
644
|
+
includeAtaIxs: false,
|
|
645
|
+
requestElevationGroup: false,
|
|
646
|
+
initUserMetadata: { skipInitialization: true, skipLutCreation: true }, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
|
|
647
|
+
referrer,
|
|
648
|
+
currentSlot,
|
|
649
|
+
});
|
|
576
650
|
return swapQuoteIxsArray.map((swapQuoteIxs) => {
|
|
577
651
|
const swapInstructions = (0, utils_1.removeBudgetIxs)(swapQuoteIxs.swapIxs);
|
|
578
652
|
const ixs = [
|
|
@@ -599,9 +673,11 @@ async function buildIncreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
|
|
|
599
673
|
/**
|
|
600
674
|
* Withdraw and repay tokens if leverage decreased
|
|
601
675
|
*/
|
|
602
|
-
async function buildDecreaseLeverageIxs(owner, kaminoMarket,
|
|
603
|
-
const collReserve = kaminoMarket.
|
|
604
|
-
const debtReserve = kaminoMarket.
|
|
676
|
+
async function buildDecreaseLeverageIxs(owner, kaminoMarket, collReserveAddress, debtReserveAddress, obligation, referrer, currentSlot, calcs, scopeRefreshIx, swapQuoteIxsArray, budgetAndPriorityFeeIxs, useV2Ixs, withdrawSlotOffset = exports.WITHDRAW_SLOT_OFFSET, userSolBalanceLamports) {
|
|
677
|
+
const collReserve = kaminoMarket.getExistingReserveByAddress(collReserveAddress);
|
|
678
|
+
const debtReserve = kaminoMarket.getExistingReserveByAddress(debtReserveAddress);
|
|
679
|
+
const collTokenMint = collReserve.getLiquidityMint();
|
|
680
|
+
const debtTokenMint = debtReserve.getLiquidityMint();
|
|
605
681
|
const [debtTokenAta] = await (0, token_2022_1.findAssociatedTokenPda)({
|
|
606
682
|
owner: owner.address,
|
|
607
683
|
mint: debtTokenMint,
|
|
@@ -639,12 +715,39 @@ async function buildDecreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
|
|
|
639
715
|
programId: kaminoMarket.programId,
|
|
640
716
|
});
|
|
641
717
|
// 4. Actually do the repay of the flash borrowed amounts
|
|
642
|
-
const repayAction = await classes_1.KaminoAction.buildRepayTxns(
|
|
643
|
-
|
|
718
|
+
const repayAction = await classes_1.KaminoAction.buildRepayTxns({
|
|
719
|
+
kaminoMarket,
|
|
720
|
+
amount: (0, classes_2.numberToLamportsDecimal)(decimal_js_1.default.abs(calcs.adjustBorrowPosition), debtReserve.stats.decimals).floor().toString(),
|
|
721
|
+
reserveAddress: debtReserve.address,
|
|
722
|
+
owner,
|
|
723
|
+
obligation,
|
|
724
|
+
useV2Ixs,
|
|
725
|
+
scopeRefreshConfig: undefined,
|
|
726
|
+
currentSlot,
|
|
727
|
+
payer: undefined,
|
|
728
|
+
extraComputeBudget: 0,
|
|
729
|
+
includeAtaIxs: false,
|
|
730
|
+
requestElevationGroup: false,
|
|
731
|
+
initUserMetadata: { skipInitialization: true, skipLutCreation: true }, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
|
|
732
|
+
referrer,
|
|
733
|
+
});
|
|
644
734
|
const withdrawSlot = currentSlot - BigInt(withdrawSlotOffset);
|
|
645
735
|
// 6. Withdraw collateral (a little bit more to be able to pay for the slippage on swap)
|
|
646
|
-
const withdrawAction = await classes_1.KaminoAction.buildWithdrawTxns(
|
|
647
|
-
|
|
736
|
+
const withdrawAction = await classes_1.KaminoAction.buildWithdrawTxns({
|
|
737
|
+
kaminoMarket,
|
|
738
|
+
amount: (0, classes_2.numberToLamportsDecimal)(calcs.withdrawAmountWithSlippageAndFlashLoanFee, collReserve.stats.decimals).ceil().toString(),
|
|
739
|
+
reserveAddress: collReserve.address,
|
|
740
|
+
owner,
|
|
741
|
+
obligation,
|
|
742
|
+
useV2Ixs,
|
|
743
|
+
scopeRefreshConfig: undefined,
|
|
744
|
+
extraComputeBudget: 0,
|
|
745
|
+
includeAtaIxs: false,
|
|
746
|
+
requestElevationGroup: false,
|
|
747
|
+
initUserMetadata: { skipInitialization: true, skipLutCreation: true }, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
|
|
748
|
+
referrer,
|
|
749
|
+
currentSlot: withdrawSlot,
|
|
750
|
+
});
|
|
648
751
|
return swapQuoteIxsArray.map((swapQuoteIxs) => {
|
|
649
752
|
const swapInstructions = (0, utils_1.removeBudgetIxs)(swapQuoteIxs.swapIxs);
|
|
650
753
|
const ixs = [
|
|
@@ -706,7 +809,11 @@ const getScopeRefreshIxForObligationAndReserves = async (market, collReserve, de
|
|
|
706
809
|
return scopeRefreshIxs;
|
|
707
810
|
};
|
|
708
811
|
exports.getScopeRefreshIxForObligationAndReserves = getScopeRefreshIxForObligationAndReserves;
|
|
709
|
-
const checkObligationType = (obligationTypeTag,
|
|
812
|
+
const checkObligationType = (obligationTypeTag, collReserveAddress, debtReserveAddress, kaminoMarket) => {
|
|
813
|
+
const collReserve = kaminoMarket.getExistingReserveByAddress(collReserveAddress);
|
|
814
|
+
const debtReserve = kaminoMarket.getExistingReserveByAddress(debtReserveAddress);
|
|
815
|
+
const collTokenMint = collReserve.getLiquidityMint();
|
|
816
|
+
const debtTokenMint = debtReserve.getLiquidityMint();
|
|
710
817
|
let obligationType;
|
|
711
818
|
if (obligationTypeTag === utils_1.ObligationTypeTag.Multiply) {
|
|
712
819
|
// multiply
|
|
@@ -716,6 +823,14 @@ const checkObligationType = (obligationTypeTag, collTokenMint, debtTokenMint, ka
|
|
|
716
823
|
// leverage
|
|
717
824
|
obligationType = new utils_1.LeverageObligation(collTokenMint, debtTokenMint, kaminoMarket.programId);
|
|
718
825
|
}
|
|
826
|
+
else if (obligationTypeTag === utils_1.ObligationTypeTag.MultiplyFixedRate) {
|
|
827
|
+
// multiply fixed rate
|
|
828
|
+
obligationType = new utils_1.MultiplyObligationFixedRate(collReserveAddress, debtReserveAddress, kaminoMarket.programId);
|
|
829
|
+
}
|
|
830
|
+
else if (obligationTypeTag === utils_1.ObligationTypeTag.LeverageFixedRate) {
|
|
831
|
+
// leverage fixed rate
|
|
832
|
+
obligationType = new utils_1.LeverageObligationFixedRate(collReserveAddress, debtReserveAddress, kaminoMarket.programId);
|
|
833
|
+
}
|
|
719
834
|
else {
|
|
720
835
|
throw Error('Obligation type tag not supported for leverage, please use 1 - multiply or 3 - leverage');
|
|
721
836
|
}
|