@kamino-finance/klend-sdk 5.11.18 → 5.12.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/classes/action.d.ts +9 -1
- package/dist/classes/action.d.ts.map +1 -1
- package/dist/classes/action.js +15 -1
- package/dist/classes/action.js.map +1 -1
- package/dist/classes/fraction.d.ts +6 -5
- package/dist/classes/fraction.d.ts.map +1 -1
- package/dist/classes/fraction.js +13 -8
- package/dist/classes/fraction.js.map +1 -1
- package/dist/classes/manager.d.ts +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/obligation.d.ts +54 -1
- package/dist/classes/obligation.d.ts.map +1 -1
- package/dist/classes/obligation.js +47 -1
- package/dist/classes/obligation.js.map +1 -1
- package/dist/classes/obligationOrder.d.ts +206 -0
- package/dist/classes/obligationOrder.d.ts.map +1 -0
- package/dist/classes/obligationOrder.js +359 -0
- package/dist/classes/obligationOrder.js.map +1 -0
- package/dist/classes/reserve.d.ts +5 -5
- package/dist/classes/reserve.d.ts.map +1 -1
- package/dist/classes/reserve.js +80 -264
- package/dist/classes/reserve.js.map +1 -1
- package/dist/classes/types.d.ts +14 -1
- package/dist/classes/types.d.ts.map +1 -1
- package/dist/classes/utils.d.ts +9 -0
- package/dist/classes/utils.d.ts.map +1 -1
- package/dist/classes/utils.js +21 -0
- package/dist/classes/utils.js.map +1 -1
- package/dist/client_kamino_manager.js +6 -6
- package/dist/client_kamino_manager.js.map +1 -1
- package/dist/idl.json +244 -23
- package/dist/idl_codegen/accounts/LendingMarket.d.ts +12 -6
- package/dist/idl_codegen/accounts/LendingMarket.d.ts.map +1 -1
- package/dist/idl_codegen/accounts/LendingMarket.js +15 -3
- package/dist/idl_codegen/accounts/LendingMarket.js.map +1 -1
- package/dist/idl_codegen/accounts/Obligation.d.ts +27 -6
- package/dist/idl_codegen/accounts/Obligation.d.ts.map +1 -1
- package/dist/idl_codegen/accounts/Obligation.js +26 -9
- package/dist/idl_codegen/accounts/Obligation.js.map +1 -1
- package/dist/idl_codegen/errors/custom.d.ts +36 -4
- package/dist/idl_codegen/errors/custom.d.ts.map +1 -1
- package/dist/idl_codegen/errors/custom.js +64 -8
- package/dist/idl_codegen/errors/custom.js.map +1 -1
- package/dist/idl_codegen/instructions/index.d.ts +2 -0
- package/dist/idl_codegen/instructions/index.d.ts.map +1 -1
- package/dist/idl_codegen/instructions/index.js +3 -1
- package/dist/idl_codegen/instructions/index.js.map +1 -1
- package/dist/idl_codegen/instructions/setObligationOrder.d.ts +14 -0
- package/dist/idl_codegen/instructions/setObligationOrder.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/setObligationOrder.js +62 -0
- package/dist/idl_codegen/instructions/setObligationOrder.js.map +1 -0
- package/dist/idl_codegen/types/ObligationOrder.d.ts +284 -0
- package/dist/idl_codegen/types/ObligationOrder.d.ts.map +1 -0
- package/dist/idl_codegen/types/ObligationOrder.js +205 -0
- package/dist/idl_codegen/types/ObligationOrder.js.map +1 -0
- package/dist/idl_codegen/types/ReserveConfig.d.ts +26 -11
- package/dist/idl_codegen/types/ReserveConfig.d.ts.map +1 -1
- package/dist/idl_codegen/types/ReserveConfig.js +15 -10
- package/dist/idl_codegen/types/ReserveConfig.js.map +1 -1
- package/dist/idl_codegen/types/UpdateConfigMode.d.ts +34 -21
- package/dist/idl_codegen/types/UpdateConfigMode.d.ts.map +1 -1
- package/dist/idl_codegen/types/UpdateConfigMode.js +58 -34
- package/dist/idl_codegen/types/UpdateConfigMode.js.map +1 -1
- package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts +13 -0
- package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts.map +1 -1
- package/dist/idl_codegen/types/UpdateLendingMarketMode.js +25 -1
- package/dist/idl_codegen/types/UpdateLendingMarketMode.js.map +1 -1
- package/dist/idl_codegen/types/index.d.ts +6 -4
- package/dist/idl_codegen/types/index.d.ts.map +1 -1
- package/dist/idl_codegen/types/index.js +3 -1
- package/dist/idl_codegen/types/index.js.map +1 -1
- package/dist/idl_codegen/zero_padding/ObligationZP.d.ts +13 -6
- package/dist/idl_codegen/zero_padding/ObligationZP.d.ts.map +1 -1
- package/dist/idl_codegen/zero_padding/ObligationZP.js +25 -11
- package/dist/idl_codegen/zero_padding/ObligationZP.js.map +1 -1
- package/dist/utils/instruction.d.ts +1 -1
- package/dist/utils/instruction.d.ts.map +1 -1
- package/dist/utils/instruction.js +5 -1
- package/dist/utils/instruction.js.map +1 -1
- package/dist/utils/managerTypes.js +2 -2
- package/dist/utils/managerTypes.js.map +1 -1
- package/package.json +1 -1
- package/src/classes/action.ts +26 -1
- package/src/classes/fraction.ts +16 -12
- package/src/classes/manager.ts +13 -0
- package/src/classes/obligation.ts +77 -1
- package/src/classes/obligationOrder.ts +514 -0
- package/src/classes/reserve.ts +257 -336
- package/src/classes/types.ts +15 -1
- package/src/classes/utils.ts +21 -0
- package/src/client_kamino_manager.ts +6 -6
- package/src/idl.json +244 -23
- package/src/idl_codegen/accounts/LendingMarket.ts +23 -7
- package/src/idl_codegen/accounts/Obligation.ts +50 -13
- package/src/idl_codegen/errors/custom.ts +68 -6
- package/src/idl_codegen/instructions/index.ts +5 -0
- package/src/idl_codegen/instructions/setObligationOrder.ts +45 -0
- package/src/idl_codegen/types/ObligationOrder.ts +347 -0
- package/src/idl_codegen/types/ReserveConfig.ts +31 -16
- package/src/idl_codegen/types/UpdateConfigMode.ts +69 -39
- package/src/idl_codegen/types/UpdateLendingMarketMode.ts +30 -0
- package/src/idl_codegen/types/index.ts +15 -6
- package/src/idl_codegen/zero_padding/ObligationZP.ts +37 -15
- package/src/utils/instruction.ts +5 -1
- package/src/utils/managerTypes.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managerTypes.js","sourceRoot":"","sources":["../../src/utils/managerTypes.ts"],"names":[],"mappings":";;;;;;AAkWA,0DA2CC;AAWD,0CAEC;AAzZD,gDAY8B;AAC9B,4DAAiC;AACjC,kDAA8D;AAC9D,kDAAuB;AACvB,wCAAqD;AACrD,qCAAuC;AACvC,yDAAgE;AAqChE,MAAa,kBAAkB;IACpB,IAAI,CAAY;IAChB,SAAS,CAAS;IAClB,YAAY,CAAS;IACrB,gBAAgB,CAAY;IACrC,wBAAwB,CAA2B;IAEnD,YAAY,MAWX;QACC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAEhD,+CAA+C;QAC/C,IAAI,CAAC,wBAAwB,GAAG,2BAAmB,CAAC;QACpD,IAAI,CAAC,wBAAwB,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAC3D,IAAI,CAAC,wBAAwB,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QACrE,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC;QACvF,IAAI,CAAC,wBAAwB,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QACvE,IAAI,CAAC,wBAAwB,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACjE,IAAI,CAAC,wBAAwB,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACjE,CAAC;IAED,oBAAoB,CAAC,wBAAkD;QACrE,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IAC3D,CAAC;IAED,gBAAgB;QACd,OAAO,kBAAkB,CAAC;YACxB,YAAY,EAAE,IAAI,CAAC,wBAAwB;YAC3C,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;CACF;AA7CD,gDA6CC;AAED,MAAa,qBAAqB;IACvB,IAAI,CAAY;IAChB,SAAS,CAAS;IAClB,YAAY,CAAS;IACrB,gBAAgB,CAAY;IAC7B,aAAa,CAA4B;IACjD,wBAAwB,CAA2B;IAEnD,YAAY,IAAe,EAAE,gBAA2B,EAAE,aAA4B;QACpF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,wBAAwB,GAAG,2BAAmB,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED,oBAAoB,CAAC,wBAAkD;QACrE,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IAC3D,CAAC;IAED,gBAAgB,CAAC,aAA4B;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa;YACvB,CAAC,CAAC,IAAI,CAAC,aAAa;YACpB,CAAC,CAAC,kBAAkB,CAAC;gBACjB,YAAY,EAAE,IAAI,CAAC,wBAAwB;gBAC3C,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;IACT,CAAC;CACF;AAlCD,sDAkCC;AAED,MAAa,gBAAgB;IAClB,IAAI,CAAY;IAChB,SAAS,CAAS;IAClB,YAAY,CAAS;IACrB,gBAAgB,CAAY;IACrC,wBAAwB,CAA2B;IAEnD,YAAY,MAQX;QACC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAEhD,+CAA+C;QAC/C,IAAI,CAAC,wBAAwB,GAAG,2BAAmB,CAAC;QACpD,IAAI,CAAC,wBAAwB,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAC3D,IAAI,CAAC,wBAAwB,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QACrE,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC;QACvF,IAAI,CAAC,wBAAwB,CAAC,WAAW,GAAG,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,oBAAoB,CAAC,wBAAkD;QACrE,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IAC3D,CAAC;IAED,gBAAgB;QACd,OAAO,kBAAkB,CAAC;YACxB,YAAY,EAAE,IAAI,CAAC,wBAAwB;YAC3C,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;CACF;AAxCD,4CAwCC;AAED,MAAa,UAAU;IACZ,IAAI,CAAY;IAChB,SAAS,CAAS;IAClB,YAAY,CAAS;IACrB,gBAAgB,CAAY;IACrC,wBAAwB,CAA2B;IAEnD,YAAY,MAOX;QACC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAEhD,+CAA+C;QAC/C,IAAI,CAAC,wBAAwB,GAAG,2BAAmB,CAAC;QACpD,IAAI,CAAC,wBAAwB,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAC3D,IAAI,CAAC,wBAAwB,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;IACzE,CAAC;IAED,oBAAoB,CAAC,wBAAkD;QACrE,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IAC3D,CAAC;IAED,gBAAgB;QACd,OAAO,kBAAkB,CAAC;YACxB,YAAY,EAAE,IAAI,CAAC,wBAAwB;YAC3C,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;CACF;AArCD,gCAqCC;AA6BY,QAAA,mBAAmB,GAA6B;IAC3D,cAAc,EAAE,EAAE;IAClB,sBAAsB,EAAE,GAAG;IAC3B,sBAAsB,EAAE,GAAG;IAC3B,0BAA0B,EAAE,EAAE;IAC9B,uBAAuB,EAAE,EAAE;IAC3B,WAAW,EAAE,wBAAa;IAC1B,cAAc,EAAE,wBAAa;IAC7B,gBAAgB,EAAE,CAAC;IACnB,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChC,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI,oBAAO,CAAC,MAAM,CAAC;IAChC,YAAY,EAAE,IAAI,oBAAO,CAAC,MAAM,CAAC;IACjC,eAAe,EAAE,IAAI,uBAAe,CAAC;QACnC,MAAM,EAAE;YACN,IAAI,kBAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;YAC9D,IAAI,kBAAU,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;YAClE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,kBAAU,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;SACrF;KACuB,CAAC;IAC3B,kBAAkB,EAAE,GAAG;IACvB,iBAAiB,EAAE,GAAG;CACvB,CAAC;AAEK,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAY,EAAE;IAC7D,MAAM,MAAM,GAAW,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAExC,MAAM,gBAAgB,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAe,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1D,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC;AAVW,QAAA,eAAe,mBAU1B;AAEF,SAAS,kBAAkB,CAAC,MAI3B;IACC,MAAM,mBAAmB,GAAwB;QAC/C,MAAM,EAAE,CAAC;QACT,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,cAAc;QAClD,uBAAuB,EAAE,MAAM,CAAC,YAAY,CAAC,uBAAuB;QACpE,sBAAsB,EAAE,MAAM,CAAC,YAAY,CAAC,sBAAsB;QAClE,yBAAyB,EAAE,CAAC;QAC5B,mBAAmB,EAAE,MAAM,CAAC,YAAY,CAAC,gBAAgB;QACzD,SAAS,EAAE,CAAC;QACZ,sBAAsB,EAAE,MAAM,CAAC,YAAY,CAAC,sBAAsB;QAClE,0BAA0B,EAAE,MAAM,CAAC,YAAY,CAAC,0BAA0B;QAC1E,IAAI,EAAE;YACJ,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE;YACvD,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC7D,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SAC1B;QACD,YAAY,EAAE,IAAI,eAAE,CAClB,IAAA,iCAAuB,EAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAClG;QACD,WAAW,EAAE,IAAI,eAAE,CACjB,IAAA,iCAAuB,EAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CACjG;QACD,SAAS,EAAE;YACT,IAAI,EAAE,IAAA,uBAAe,EAAC,MAAM,CAAC,SAAS,CAAC;YACvC,SAAS,EAAE,IAAI,sBAAc,CAAC;gBAC5B,KAAK,EAAE,IAAI,eAAE,CAAC,CAAC,CAAC;gBAChB,KAAK,EAAE,IAAI,eAAE,CAAC,CAAC,CAAC;gBAChB,GAAG,EAAE,IAAI,eAAE,CAAC,CAAC,CAAC;aACf,CAAC;YACF,oBAAoB,EAAE,IAAI,eAAE,CAAC,CAAC,CAAC;YAC/B,kBAAkB,EAAE,IAAI,eAAE,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC;YAClE,iBAAiB,EAAE,IAAI,eAAE,CAAC,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC;YAChE,GAAG,uBAAuB,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC;YACzD,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,eAAE,CAAC,CAAC,CAAC,CAAC;SACtB;QACd,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,eAAe;QACpD,oBAAoB,EAAE,IAAI,sBAAc,CAAC;YACvC,cAAc,EAAE,IAAI,eAAE,CAAC,CAAC,CAAC;YACzB,YAAY,EAAE,IAAI,eAAE,CAAC,CAAC,CAAC;YACvB,0BAA0B,EAAE,IAAI,eAAE,CAAC,CAAC,CAAC;YACrC,2BAA2B,EAAE,IAAI,eAAE,CAAC,CAAC,CAAC;SACvC,CAAC;QACF,iBAAiB,EAAE,IAAI,sBAAc,CAAC;YACpC,cAAc,EAAE,IAAI,eAAE,CAAC,CAAC,CAAC;YACzB,YAAY,EAAE,IAAI,eAAE,CAAC,CAAC,CAAC;YACvB,0BAA0B,EAAE,IAAI,eAAE,CAAC,CAAC,CAAC;YACrC,2BAA2B,EAAE,IAAI,eAAE,CAAC,CAAC,CAAC;SACvC,CAAC;QACF,gCAAgC,EAAE,IAAI,eAAE,CAAC,CAAC,CAAC;QAC3C,eAAe,EAAE,IAAI,eAAE,CAAC,GAAG,CAAC;QAC5B,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,eAAe;QACpD,sCAAsC,EAAE,IAAI,eAAE,CAAC,EAAE,CAAC;QAClD,8BAA8B,EAAE,CAAC;QACjC,sCAAsC,EAAE,CAAC;QACzC,wBAAwB,EAAE,CAAC;QAC3B,qBAAqB,EAAE,CAAC;QACxB,gCAAgC,EAAE,IAAI,eAAE,CAAC,CAAC,CAAC;QAC3C,gDAAgD,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,eAAE,CAAC,CAAC,CAAC,CAAC;QAC3E,kCAAkC,EAAE,IAAI,eAAE,CAAC,GAAG,CAAC;QAC/C,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3B,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"managerTypes.js","sourceRoot":"","sources":["../../src/utils/managerTypes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/classes/action.ts
CHANGED
|
@@ -48,6 +48,7 @@ import {
|
|
|
48
48
|
requestElevationGroup,
|
|
49
49
|
RequestElevationGroupAccounts,
|
|
50
50
|
RequestElevationGroupArgs,
|
|
51
|
+
setObligationOrder,
|
|
51
52
|
withdrawObligationCollateralAndRedeemReserveCollateral,
|
|
52
53
|
withdrawObligationCollateralAndRedeemReserveCollateralV2,
|
|
53
54
|
withdrawReferrerFees,
|
|
@@ -77,6 +78,7 @@ import { Reserve } from '../idl_codegen/accounts';
|
|
|
77
78
|
import { VanillaObligation } from '../utils/ObligationType';
|
|
78
79
|
import { PROGRAM_ID } from '../lib';
|
|
79
80
|
import { Scope } from '@kamino-finance/scope-sdk';
|
|
81
|
+
import { KaminoObligationOrder } from './obligationOrder';
|
|
80
82
|
|
|
81
83
|
export type ActionType =
|
|
82
84
|
| 'deposit'
|
|
@@ -1072,7 +1074,7 @@ export class KaminoAction {
|
|
|
1072
1074
|
obligationOwner: PublicKey,
|
|
1073
1075
|
obligation: KaminoObligation | ObligationType,
|
|
1074
1076
|
useV2Ixs: boolean,
|
|
1075
|
-
scopeRefreshConfig: ScopePriceRefreshConfig | undefined,
|
|
1077
|
+
scopeRefreshConfig: ScopePriceRefreshConfig | undefined = undefined,
|
|
1076
1078
|
extraComputeBudget: number = 1_000_000, // if > 0 then adds the ixn
|
|
1077
1079
|
includeAtaIxns: boolean = true, // if true it includes create and close wsol and token atas, and creates all other token atas if they don't exist
|
|
1078
1080
|
requestElevationGroup: boolean = false,
|
|
@@ -1154,6 +1156,29 @@ export class KaminoAction {
|
|
|
1154
1156
|
return axn;
|
|
1155
1157
|
}
|
|
1156
1158
|
|
|
1159
|
+
/**
|
|
1160
|
+
* Builds an instruction for setting the new state of one of the given obligation's orders.
|
|
1161
|
+
*
|
|
1162
|
+
* In other words: it will overwrite the given slot in the {@link Obligation.orders} array. This possibly includes
|
|
1163
|
+
* setting the `null` state (i.e. cancelling the order).
|
|
1164
|
+
*/
|
|
1165
|
+
static buildSetObligationOrderIxn(
|
|
1166
|
+
kaminoMarket: KaminoMarket,
|
|
1167
|
+
obligation: KaminoObligation,
|
|
1168
|
+
index: number,
|
|
1169
|
+
order: KaminoObligationOrder | null
|
|
1170
|
+
): TransactionInstruction {
|
|
1171
|
+
return setObligationOrder(
|
|
1172
|
+
{ index, order: order !== null ? order.toState() : KaminoObligationOrder.NULL_STATE },
|
|
1173
|
+
{
|
|
1174
|
+
lendingMarket: kaminoMarket.getAddress(),
|
|
1175
|
+
obligation: obligation.obligationAddress,
|
|
1176
|
+
owner: obligation.state.owner,
|
|
1177
|
+
},
|
|
1178
|
+
kaminoMarket.programId
|
|
1179
|
+
);
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1157
1182
|
async getTransactions() {
|
|
1158
1183
|
let txns: Transaction;
|
|
1159
1184
|
|
package/src/classes/fraction.ts
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import BN from 'bn.js';
|
|
2
2
|
import Decimal from 'decimal.js';
|
|
3
|
+
import { roundNearest } from './utils';
|
|
3
4
|
|
|
4
5
|
export class Fraction {
|
|
5
6
|
static MAX_SIZE_F = 128;
|
|
6
7
|
static MAX_SIZE_BF = 256;
|
|
7
8
|
static FRACTIONS = 60;
|
|
8
|
-
static
|
|
9
|
+
static MULTIPLIER = new Decimal(2).pow(Fraction.FRACTIONS);
|
|
9
10
|
|
|
10
|
-
static
|
|
11
|
+
static MAX_F_BN = new BN(2).pow(new BN(Fraction.MAX_SIZE_F)).sub(new BN(1));
|
|
12
|
+
static MAX_BF_BN = new BN(2).pow(new BN(Fraction.MAX_SIZE_BF)).sub(new BN(1));
|
|
11
13
|
static MIN_BN = new BN(0);
|
|
12
14
|
|
|
13
15
|
valueSf: BN;
|
|
14
16
|
|
|
15
17
|
constructor(valueSf: BN) {
|
|
16
|
-
if (valueSf.lt(Fraction.MIN_BN) || valueSf.gt(Fraction.
|
|
18
|
+
if (valueSf.lt(Fraction.MIN_BN) || valueSf.gt(Fraction.MAX_BF_BN)) {
|
|
17
19
|
throw new Error('Number out of range');
|
|
18
20
|
}
|
|
19
21
|
|
|
@@ -21,23 +23,25 @@ export class Fraction {
|
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
toDecimal(): Decimal {
|
|
24
|
-
return new Decimal(this.valueSf.toString()).div(Fraction.
|
|
26
|
+
return new Decimal(this.valueSf.toString()).div(Fraction.MULTIPLIER);
|
|
25
27
|
}
|
|
26
28
|
|
|
27
|
-
static fromDecimal(n: Decimal): Fraction {
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
static fromDecimal(n: Decimal | number): Fraction {
|
|
30
|
+
const scaledDecimal = new Decimal(n).mul(Fraction.MULTIPLIER);
|
|
31
|
+
const roundedScaledDecimal = roundNearest(scaledDecimal);
|
|
32
|
+
// Note: the `Decimal.toString()` can return exponential notation (e.g. "1e9") for large numbers. This notation is
|
|
33
|
+
// not accepted by `BN` constructor (i.e. invalid character "e"). Hence, we use `Decimal.toFixed()` (which is
|
|
34
|
+
// different than `number.toFixed()` - it will not do any rounding, just render a normal notation).
|
|
35
|
+
const scaledValue = new BN(roundedScaledDecimal.toFixed());
|
|
32
36
|
return new Fraction(scaledValue);
|
|
33
37
|
}
|
|
34
38
|
|
|
35
|
-
static fromBps(n: Decimal): Fraction {
|
|
36
|
-
const decimal = n.div(10000);
|
|
39
|
+
static fromBps(n: Decimal | number): Fraction {
|
|
40
|
+
const decimal = new Decimal(n).div(10000);
|
|
37
41
|
return Fraction.fromDecimal(decimal);
|
|
38
42
|
}
|
|
39
43
|
|
|
40
|
-
static fromPercent(n: number): Fraction {
|
|
44
|
+
static fromPercent(n: Decimal | number): Fraction {
|
|
41
45
|
const decimal = new Decimal(n).div(100);
|
|
42
46
|
return Fraction.fromDecimal(decimal);
|
|
43
47
|
}
|
package/src/classes/manager.ts
CHANGED
|
@@ -1070,6 +1070,7 @@ const EXCLUDED_LENDING_MARKET_KEYS = [
|
|
|
1070
1070
|
'reserved0',
|
|
1071
1071
|
'reserved1',
|
|
1072
1072
|
'padding1',
|
|
1073
|
+
'padding2',
|
|
1073
1074
|
'elevationGroupPadding',
|
|
1074
1075
|
'quoteCurrency',
|
|
1075
1076
|
] as const;
|
|
@@ -1323,6 +1324,17 @@ const updateLendingMarketConfig = (
|
|
|
1323
1324
|
});
|
|
1324
1325
|
}
|
|
1325
1326
|
break;
|
|
1327
|
+
case 'obligationOrdersEnabled':
|
|
1328
|
+
if (market.obligationOrdersEnabled !== newMarket.obligationOrdersEnabled) {
|
|
1329
|
+
updateLendingMarketIxnsArgs.push({
|
|
1330
|
+
mode: UpdateLendingMarketMode.UpdateObligationOrdersEnabled.discriminator,
|
|
1331
|
+
value: updateMarketConfigEncodedValue(
|
|
1332
|
+
UpdateLendingMarketMode.UpdateObligationOrdersEnabled.discriminator,
|
|
1333
|
+
newMarket.autodeleverageEnabled
|
|
1334
|
+
),
|
|
1335
|
+
});
|
|
1336
|
+
}
|
|
1337
|
+
break;
|
|
1326
1338
|
default:
|
|
1327
1339
|
assertNever(key);
|
|
1328
1340
|
}
|
|
@@ -1375,6 +1387,7 @@ function updateMarketConfigEncodedValue(
|
|
|
1375
1387
|
case UpdateLendingMarketMode.UpdateInsolvencyRiskLtv.discriminator:
|
|
1376
1388
|
case UpdateLendingMarketMode.UpdatePriceRefreshTriggerToMaxAgePct.discriminator:
|
|
1377
1389
|
case UpdateLendingMarketMode.UpdateAutodeleverageEnabled.discriminator:
|
|
1390
|
+
case UpdateLendingMarketMode.UpdateObligationOrdersEnabled.discriminator:
|
|
1378
1391
|
case UpdateLendingMarketMode.UpdateBorrowingDisabled.discriminator:
|
|
1379
1392
|
buffer.writeUIntLE(value as number, 0, 1);
|
|
1380
1393
|
break;
|
|
@@ -23,10 +23,12 @@ import {
|
|
|
23
23
|
U64_MAX,
|
|
24
24
|
} from '../utils';
|
|
25
25
|
import { ActionType } from './action';
|
|
26
|
+
import { KaminoObligationOrder } from './obligationOrder';
|
|
26
27
|
|
|
27
28
|
export type Position = {
|
|
28
29
|
reserveAddress: PublicKey;
|
|
29
30
|
mintAddress: PublicKey;
|
|
31
|
+
mintFactor: Decimal;
|
|
30
32
|
/**
|
|
31
33
|
* Amount of tokens in lamports, including decimal places for interest accrued (no borrow factor weighting)
|
|
32
34
|
*/
|
|
@@ -47,8 +49,33 @@ export type ObligationStats = {
|
|
|
47
49
|
borrowLiquidationLimit: Decimal;
|
|
48
50
|
borrowUtilization: Decimal;
|
|
49
51
|
netAccountValue: Decimal;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* The obligation's current LTV, *suitable for UI display*.
|
|
55
|
+
*
|
|
56
|
+
* Technically, this is a ratio:
|
|
57
|
+
* - of a sum of all borrows' values multiplied by reserves' borrowFactor (i.e. `userTotalBorrowBorrowFactorAdjusted`)
|
|
58
|
+
* - to a sum of values of all deposits having reserve's loanToValue > 0 (i.e. `userTotalCollateralDeposit`)
|
|
59
|
+
*
|
|
60
|
+
* Please note that this is different from the smart contract's definition of LTV (which divides by a sum of values
|
|
61
|
+
* of strictly all deposits, i.e. `userTotalDeposit`). Some parts of the SDK (e.g. obligation orders) need to use the
|
|
62
|
+
* smart contract's LTV definition.
|
|
63
|
+
*/
|
|
50
64
|
loanToValue: Decimal;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* The LTV at which the obligation becomes subject to liquidation, *suitable for UI display*.
|
|
68
|
+
*
|
|
69
|
+
* Technically, this is a ratio:
|
|
70
|
+
* - of a sum of all borrows' values multiplied by reserves' borrowFactor (i.e. `userTotalBorrowBorrowFactorAdjusted`)
|
|
71
|
+
* - to a sum of values of all deposits having reserve's liquidationLtv > 0 (i.e. `userTotalLiquidatableDeposit`)
|
|
72
|
+
*
|
|
73
|
+
* Please note that this is different from the smart contract's definition of liquidation LTV (which divides by a sum
|
|
74
|
+
* of values of strictly all deposits, i.e. `userTotalDeposit`). Some parts of the SDK (e.g. obligation orders) need
|
|
75
|
+
* to use the smart contract's LTV definition.
|
|
76
|
+
*/
|
|
51
77
|
liquidationLtv: Decimal;
|
|
78
|
+
|
|
52
79
|
leverage: Decimal;
|
|
53
80
|
potentialElevationGroupUpdate: number;
|
|
54
81
|
};
|
|
@@ -243,6 +270,20 @@ export class KaminoObligation {
|
|
|
243
270
|
return [...this.deposits.values()];
|
|
244
271
|
}
|
|
245
272
|
|
|
273
|
+
/**
|
|
274
|
+
* Returns obligation orders (including the null ones, i.e. non-active order slots).
|
|
275
|
+
*/
|
|
276
|
+
getOrders(): Array<KaminoObligationOrder | null> {
|
|
277
|
+
return this.state.orders.map((order) => KaminoObligationOrder.fromState(order));
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* Returns active obligation orders (i.e. ones that *may* have their condition met).
|
|
282
|
+
*/
|
|
283
|
+
getActiveOrders(): Array<KaminoObligationOrder> {
|
|
284
|
+
return this.getOrders().filter((order) => order !== null);
|
|
285
|
+
}
|
|
286
|
+
|
|
246
287
|
/**
|
|
247
288
|
* @returns the total deposited value of the obligation (sum of all deposits)
|
|
248
289
|
*/
|
|
@@ -340,7 +381,13 @@ export class KaminoObligation {
|
|
|
340
381
|
}
|
|
341
382
|
|
|
342
383
|
/**
|
|
343
|
-
*
|
|
384
|
+
* Calculates the current ratio of borrowed value to deposited value (taking *all* deposits into account).
|
|
385
|
+
*
|
|
386
|
+
* Please note that the denominator here is different from the one found in `refreshedStats`:
|
|
387
|
+
* - the {@link ObligationStats#loanToValue} contains a value appropriate for display on the UI (i.e. taking into
|
|
388
|
+
* account *only* the deposits having `reserve.loanToValue > 0`).
|
|
389
|
+
* - the computation below follows the logic used by the KLend smart contract, and is appropriate e.g. for evaluating
|
|
390
|
+
* LTV-based obligation orders.
|
|
344
391
|
*/
|
|
345
392
|
loanToValue(): Decimal {
|
|
346
393
|
if (this.refreshedStats.userTotalDeposit.eq(0)) {
|
|
@@ -349,6 +396,33 @@ export class KaminoObligation {
|
|
|
349
396
|
return this.refreshedStats.userTotalBorrowBorrowFactorAdjusted.div(this.refreshedStats.userTotalDeposit);
|
|
350
397
|
}
|
|
351
398
|
|
|
399
|
+
/**
|
|
400
|
+
* Calculates the ratio of borrowed value to deposited value (taking *all* deposits into account) at which the
|
|
401
|
+
* obligation is subject to liquidation.
|
|
402
|
+
*
|
|
403
|
+
* Please note that the denominator here is different from the one found in `refreshedStats`:
|
|
404
|
+
* - the {@link ObligationStats#liquidationLtv} contains a value appropriate for display on the UI (i.e. taking into
|
|
405
|
+
* account *only* the deposits having `reserve.liquidationLtv > 0`).
|
|
406
|
+
* - the computation below follows the logic used by the KLend smart contract, and is appropriate e.g. for evaluating
|
|
407
|
+
* LTV-based obligation orders.
|
|
408
|
+
*/
|
|
409
|
+
liquidationLtv(): Decimal {
|
|
410
|
+
if (this.refreshedStats.userTotalDeposit.eq(0)) {
|
|
411
|
+
return new Decimal(0);
|
|
412
|
+
}
|
|
413
|
+
return this.refreshedStats.borrowLiquidationLimit.div(this.refreshedStats.userTotalDeposit);
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
/**
|
|
417
|
+
* Calculate the current ratio of borrowed value to deposited value, disregarding the borrow factor.
|
|
418
|
+
*/
|
|
419
|
+
noBfLoanToValue(): Decimal {
|
|
420
|
+
if (this.refreshedStats.userTotalDeposit.eq(0)) {
|
|
421
|
+
return new Decimal(0);
|
|
422
|
+
}
|
|
423
|
+
return this.refreshedStats.userTotalBorrow.div(this.refreshedStats.userTotalDeposit);
|
|
424
|
+
}
|
|
425
|
+
|
|
352
426
|
/**
|
|
353
427
|
* @returns the total number of positions (deposits + borrows)
|
|
354
428
|
*/
|
|
@@ -904,6 +978,7 @@ export class KaminoObligation {
|
|
|
904
978
|
const position: Position = {
|
|
905
979
|
reserveAddress: reserve.address,
|
|
906
980
|
mintAddress: reserve.getLiquidityMint(),
|
|
981
|
+
mintFactor: reserve.getMintFactor(),
|
|
907
982
|
amount: supplyAmount,
|
|
908
983
|
marketValueRefreshed: depositValueUsd,
|
|
909
984
|
};
|
|
@@ -976,6 +1051,7 @@ export class KaminoObligation {
|
|
|
976
1051
|
const position: Position = {
|
|
977
1052
|
reserveAddress: reserve.address,
|
|
978
1053
|
mintAddress: reserve.getLiquidityMint(),
|
|
1054
|
+
mintFactor: reserve.getMintFactor(),
|
|
979
1055
|
amount: borrowAmount,
|
|
980
1056
|
marketValueRefreshed: borrowValueUsd,
|
|
981
1057
|
};
|