@carrot-protocol/clend-rpc 0.0.1-mrgn-fork1-dev-bc97fd7 → 0.0.3-mrgn-fork1-dev-e66607b

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.
@@ -52,12 +52,12 @@ class JupiterUtils {
52
52
  const { swapTxs, lookupTables } = await swapTxFromQuote(payer, scaledQuoteResponse, {
53
53
  slippageBps: quote.quoteResponse.slippageBps,
54
54
  wrapAndUnwrapSol: false,
55
- onlyDirectRoutes: false,
55
+ onlyDirectRoutes: true,
56
56
  swapMode: quote.quoteResponse.swapMode,
57
57
  });
58
58
  return {
59
59
  preActionIxs: [],
60
- swapIxs: [...swapTxs.setupIxs, ...swapTxs.swapIxs, ...swapTxs.cleanupIxs],
60
+ swapIxs: [...swapTxs.swapIxs],
61
61
  lookupTables,
62
62
  };
63
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jupiterUtils.js","sourceRoot":"","sources":["../../src/jupiterUtils.ts"],"names":[],"mappings":";;;;;;AAwKA,sBA4BC;AAED,0CAgDC;AAED,sDAmBC;AAED,oDAIC;AAED,kDAYC;AA/RD,8CAA6C;AAC7C,4DAAiC;AACjC,qCASqB;AACrB,kDAA0B;AAE1B,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AACxD,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;AAiD9D,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YACS,KAAoB,EACpB,IAAe;QAEtB,KAAK,CAAC,yBAAyB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QAH3D,UAAK,GAAL,KAAK,CAAe;QACpB,SAAI,GAAJ,IAAI,CAAW;IAGxB,CAAC;CACF;AAPD,oDAOC;AAuBD,yCAAyC;AACzC,MAAa,YAAY;IACvB,KAAK,CAAC,eAAe,CAAC,IAA6B;QACjD,MAAM,MAAM,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;SACrB,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,SAAyB,EACzB,UAA0B,EAC1B,iBAAyB,EACzB,kBAA0B,EAC1B,mBAA4B,EAC5B,WAAmB,EACnB,WAAqB,SAAS;QAE9B,MAAM,aAAa,GAAG,MAAM,KAAK,CAC/B,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB;YACE,WAAW,EAAE,WAAW;YACxB,gBAAgB,EAAE,KAAK;YACvB,gBAAgB,EAAE,IAAI;YACtB,QAAQ;SACT,CACF,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,oBAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,GAAG,CACtD,IAAI,oBAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CACvC,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,oBAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,GAAG,CACtE,IAAI,oBAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CACxC,CAAC;QACF,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEnD,OAAO;YACL,SAAS,EAAE,eAAe;YAC1B,aAAa;SACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,KAAqB,EACrB,MAAkB,EAClB,KAA+B;QAE/B,MAAM,mBAAmB,GAAG,qBAAqB,CAC/C,KAAK,CAAC,aAAc,EACpB,IAAI,oBAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CACxC,CAAC;QACF,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,eAAe,CACrD,KAAK,EACL,mBAAmB,EACnB;YACE,WAAW,EAAE,KAAK,CAAC,aAAc,CAAC,WAAW;YAC7C,gBAAgB,EAAE,KAAK;YACvB,gBAAgB,EAAE,KAAK;YACvB,QAAQ,EAAE,KAAK,CAAC,aAAc,CAAC,QAAQ;SACxC,CACF,CAAC;QACF,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YACzE,YAAY;SACb,CAAC;IACJ,CAAC;CACF;AAtED,oCAsEC;AAED,mBAAmB;AACZ,KAAK,UAAU,KAAK,CACzB,SAAyB,EACzB,UAA0B,EAC1B,MAAe,EACf,UAAsB;IAEtB,MAAM,QAAQ,GAAG,IAAA,4BAAsB,EAAC;QACtC,QAAQ,EAAE,uBAAuB;KAClC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAoB;QACpC,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;QAC/B,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;QAC3C,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;KAC9C,CAAC;IAEF,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,mBAAa,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAc,CAAC;YACpD,MAAM,IAAI,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,KAAqB,EACrB,KAAoB,EACpB,UAAsB;IAEtB,MAAM,QAAQ,GAAG,IAAA,4BAAsB,EAAC;QACtC,QAAQ,EAAE,uBAAuB;KAClC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,cAAc,GAAgC;YAClD,WAAW,EAAE;gBACX,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE;gBAC/B,aAAa,EAAE,KAAK;gBACpB,6BAA6B,EAAE,CAAC;gBAChC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,IAAI,KAAK;gBACvD,uBAAuB,EAAE,SAAS;gBAClC,iBAAiB,EAAE,KAAK;gBACxB,UAAU,EAAE,SAAS;gBACrB,wBAAwB,EAAE,IAAI;aAC/B;SACF,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAEjE,MAAM,OAAO,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QAC5D,OAAO;YACL,OAAO,EAAE;gBACP,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBACtD,OAAO;gBACP,UAAU,EAAE,oBAAoB,CAC9B,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CACzD;aACF;YACD,YAAY,EAAE,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAChD,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,aAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAC7B;YACD,YAAY,EAAE;gBACZ,oBAAoB,EAAE,IAAI,oBAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACjD,qBAAqB,EAAE,IAAI,oBAAO,CAAC,KAAK,CAAC,SAAS,CAAC;gBACnD,wBAAwB,EAAE,IAAI,oBAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC;aAClE;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,mBAAa,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAc,CAAC;YACpD,MAAM,IAAI,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CACnC,aAA4B,EAC5B,SAAkB;IAElB,MAAM,SAAS,GAAG,IAAI,oBAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE7C,MAAM,gBAAgB,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;IAC9C,gBAAgB,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;IACjD,sEAAsE;IACtE,MAAM,YAAY,GAAG,IAAI,oBAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC1D,gBAAgB,CAAC,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtE,gBAAgB,CAAC,oBAAoB,GAAG,IAAI,oBAAO,CACjD,aAAa,CAAC,oBAAoB,CACnC;SACE,GAAG,CAAC,WAAW,CAAC;SAChB,QAAQ,EAAE,CAAC;IAEd,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAgB,oBAAoB,CAClC,YAA2B;IAE3B,OAAO,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,mBAAmB,CACjC,WAAwB;IAExB,OAAO,IAAI,aAAI,CAAC,sBAAsB,CAAC;QACrC,SAAS,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC;QACpD,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC3C,MAAM,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;QACH,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC;KAC9C,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"jupiterUtils.js","sourceRoot":"","sources":["../../src/jupiterUtils.ts"],"names":[],"mappings":";;;;;;AAwKA,sBA4BC;AAED,0CAgDC;AAED,sDAmBC;AAED,oDAIC;AAED,kDAYC;AA/RD,8CAA6C;AAC7C,4DAAiC;AACjC,qCASqB;AACrB,kDAA0B;AAE1B,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AACxD,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;AAiD9D,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YACS,KAAoB,EACpB,IAAe;QAEtB,KAAK,CAAC,yBAAyB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QAH3D,UAAK,GAAL,KAAK,CAAe;QACpB,SAAI,GAAJ,IAAI,CAAW;IAGxB,CAAC;CACF;AAPD,oDAOC;AAuBD,yCAAyC;AACzC,MAAa,YAAY;IACvB,KAAK,CAAC,eAAe,CAAC,IAA6B;QACjD,MAAM,MAAM,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;SACrB,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,SAAyB,EACzB,UAA0B,EAC1B,iBAAyB,EACzB,kBAA0B,EAC1B,mBAA4B,EAC5B,WAAmB,EACnB,WAAqB,SAAS;QAE9B,MAAM,aAAa,GAAG,MAAM,KAAK,CAC/B,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB;YACE,WAAW,EAAE,WAAW;YACxB,gBAAgB,EAAE,KAAK;YACvB,gBAAgB,EAAE,IAAI;YACtB,QAAQ;SACT,CACF,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,oBAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,GAAG,CACtD,IAAI,oBAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CACvC,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,oBAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,GAAG,CACtE,IAAI,oBAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CACxC,CAAC;QACF,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEnD,OAAO;YACL,SAAS,EAAE,eAAe;YAC1B,aAAa;SACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,KAAqB,EACrB,MAAkB,EAClB,KAA+B;QAE/B,MAAM,mBAAmB,GAAG,qBAAqB,CAC/C,KAAK,CAAC,aAAc,EACpB,IAAI,oBAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CACxC,CAAC;QACF,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,eAAe,CACrD,KAAK,EACL,mBAAmB,EACnB;YACE,WAAW,EAAE,KAAK,CAAC,aAAc,CAAC,WAAW;YAC7C,gBAAgB,EAAE,KAAK;YACvB,gBAAgB,EAAE,IAAI;YACtB,QAAQ,EAAE,KAAK,CAAC,aAAc,CAAC,QAAQ;SACxC,CACF,CAAC;QACF,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;YAC7B,YAAY;SACb,CAAC;IACJ,CAAC;CACF;AAtED,oCAsEC;AAED,mBAAmB;AACZ,KAAK,UAAU,KAAK,CACzB,SAAyB,EACzB,UAA0B,EAC1B,MAAe,EACf,UAAsB;IAEtB,MAAM,QAAQ,GAAG,IAAA,4BAAsB,EAAC;QACtC,QAAQ,EAAE,uBAAuB;KAClC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAoB;QACpC,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;QAC/B,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;QAC3C,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;KAC9C,CAAC;IAEF,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,mBAAa,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAc,CAAC;YACpD,MAAM,IAAI,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,KAAqB,EACrB,KAAoB,EACpB,UAAsB;IAEtB,MAAM,QAAQ,GAAG,IAAA,4BAAsB,EAAC;QACtC,QAAQ,EAAE,uBAAuB;KAClC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,cAAc,GAAgC;YAClD,WAAW,EAAE;gBACX,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE;gBAC/B,aAAa,EAAE,KAAK;gBACpB,6BAA6B,EAAE,CAAC;gBAChC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,IAAI,KAAK;gBACvD,uBAAuB,EAAE,SAAS;gBAClC,iBAAiB,EAAE,KAAK;gBACxB,UAAU,EAAE,SAAS;gBACrB,wBAAwB,EAAE,IAAI;aAC/B;SACF,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAEjE,MAAM,OAAO,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QAC5D,OAAO;YACL,OAAO,EAAE;gBACP,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBACtD,OAAO;gBACP,UAAU,EAAE,oBAAoB,CAC9B,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CACzD;aACF;YACD,YAAY,EAAE,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAChD,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,aAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAC7B;YACD,YAAY,EAAE;gBACZ,oBAAoB,EAAE,IAAI,oBAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACjD,qBAAqB,EAAE,IAAI,oBAAO,CAAC,KAAK,CAAC,SAAS,CAAC;gBACnD,wBAAwB,EAAE,IAAI,oBAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC;aAClE;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,mBAAa,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAc,CAAC;YACpD,MAAM,IAAI,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CACnC,aAA4B,EAC5B,SAAkB;IAElB,MAAM,SAAS,GAAG,IAAI,oBAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE7C,MAAM,gBAAgB,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;IAC9C,gBAAgB,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;IACjD,sEAAsE;IACtE,MAAM,YAAY,GAAG,IAAI,oBAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC1D,gBAAgB,CAAC,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtE,gBAAgB,CAAC,oBAAoB,GAAG,IAAI,oBAAO,CACjD,aAAa,CAAC,oBAAoB,CACnC;SACE,GAAG,CAAC,WAAW,CAAC;SAChB,QAAQ,EAAE,CAAC;IAEd,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAgB,oBAAoB,CAClC,YAA2B;IAE3B,OAAO,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,mBAAmB,CACjC,WAAwB;IAExB,OAAO,IAAI,aAAI,CAAC,sBAAsB,CAAC;QACrC,SAAS,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC;QACpD,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC3C,MAAM,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;QACH,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC;KAC9C,CAAC,CAAC;AACL,CAAC"}
@@ -204,13 +204,20 @@ export declare function computeWithdrawLeverageAmounts(currentCollateral: number
204
204
  newLeverage: number;
205
205
  };
206
206
  /**
207
- * Calculates the health factor of a Marginfi account.
208
- * Health Factor = Total Weighted Liabilities (Maintenance) / Total Weighted Assets (Maintenance)
209
- * A health factor < 0 indicates insolvency. Liquidation occurs when it approaches 0.
207
+ * Calculates the health factor and leverage of a Marginfi account using weighted maintenance values.
210
208
  *
211
- * @param assets - An array of the user's deposited assets with their values and maintenance weights.
212
- * @param liabilities - An array of the user's borrowed liabilities with their values and maintenance weights.
213
- * @returns The health factor. Returns 1 if there are no liabilities.
209
+ * Standard Health Factor = Total Weighted Assets (Maintenance) / Total Weighted Liabilities (Maintenance)
210
+ * Interpretation:
211
+ * - HF > 1: Position is overcollateralized (safe).
212
+ * - HF = 1: Position is at the liquidation threshold.
213
+ * - HF < 1: Position is undercollateralized and liquidatable.
214
+ * - HF = Infinity: Position has no debt (healthiest).
215
+ *
216
+ * Leverage = Total Weighted Assets (Maintenance) / (Total Weighted Assets (Maintenance) - Total Weighted Liabilities (Maintenance))
217
+ *
218
+ * @param weightedAssetValues - An array of the user's weighted asset values (maintenance).
219
+ * @param weightedLiabilityValues - An array of the user's weighted liability values (maintenance).
220
+ * @returns An object containing the healthFactor and leverage.
214
221
  */
215
222
  export declare function calculateHealthFactorAndLeverage(weightedAssetValues: number[], weightedLiabilityValues: number[]): {
216
223
  healthFactor: number;
@@ -232,3 +239,25 @@ export declare function calculateHealthFactorAndLeverage(weightedAssetValues: nu
232
239
  * - protocolFeesAccrued: Protocol fees accrued (in token units)
233
240
  */
234
241
  export declare function calculateAccruedInterest(lastUpdate: BN, assetAmountUi: number, liabilityAmountUi: number, utilizationRate: number, interestRateConfig: InterestRateConfig, currentTimestamp: number): BankAccruedInterest;
242
+ /**
243
+ * Adjusts the ideal borrow amount downwards to compensate for immediate costs
244
+ * (primarily origination fee + estimated short-term interest accrual).
245
+ *
246
+ * @param idealBorrowAmount - The ideally calculated borrow amount (native units, BN).
247
+ * @param originationFeeRate - The protocol origination fee rate (e.g., 0.01 for 1%).
248
+ * @param borrowApy - The current estimated borrow APY of the debt asset (e.g., 0.025 for 2.5%).
249
+ * @param debtDecimals - Decimals of the debt asset.
250
+ * @param estimatedTimeSec - Estimated seconds for immediate interest accrual effect (default: 1.5s).
251
+ * @returns Adjusted borrow amount (native units, BN), slightly less than ideal. Returns ideal amount if rates are zero.
252
+ */
253
+ export declare function adjustBorrowForImmediateCosts(idealBorrowAmount: BN, originationFeeRate: number, borrowApy: number, estimatedTimeSec?: number): BN;
254
+ /**
255
+ * Adjusts a borrow amount upwards to compensate for potential swap slippage,
256
+ * assuming worst-case based on slippageBps.
257
+ *
258
+ * @param amountToAdjust - The borrow amount to adjust (native units, BN), typically after cost adjustments.
259
+ * @param slippageBps - The maximum slippage tolerance in basis points (e.g., 100 for 1%).
260
+ * @param debtDecimals - Decimals of the debt asset.
261
+ * @returns Adjusted borrow amount (native units, BN), slightly more than the input amount. Returns input amount if slippageBps is zero or invalid.
262
+ */
263
+ export declare function adjustBorrowForSlippage(amountToAdjust: BN, slippageBps: number, debtDecimals: number): BN;
package/dist/src/math.js CHANGED
@@ -20,7 +20,10 @@ exports.calculateWeightedLeverage = calculateWeightedLeverage;
20
20
  exports.computeWithdrawLeverageAmounts = computeWithdrawLeverageAmounts;
21
21
  exports.calculateHealthFactorAndLeverage = calculateHealthFactorAndLeverage;
22
22
  exports.calculateAccruedInterest = calculateAccruedInterest;
23
+ exports.adjustBorrowForImmediateCosts = adjustBorrowForImmediateCosts;
24
+ exports.adjustBorrowForSlippage = adjustBorrowForSlippage;
23
25
  const anchor_1 = require("@coral-xyz/anchor");
26
+ const decimal_js_1 = require("decimal.js");
24
27
  /**
25
28
  * Convert a UI number to a token amount BN
26
29
  * @param uiAmount Amount in UI format (e.g., 1.5 USDC)
@@ -403,13 +406,20 @@ function computeWithdrawLeverageAmounts(currentCollateral, currentDebt, withdraw
403
406
  };
404
407
  }
405
408
  /**
406
- * Calculates the health factor of a Marginfi account.
407
- * Health Factor = Total Weighted Liabilities (Maintenance) / Total Weighted Assets (Maintenance)
408
- * A health factor < 0 indicates insolvency. Liquidation occurs when it approaches 0.
409
+ * Calculates the health factor and leverage of a Marginfi account using weighted maintenance values.
409
410
  *
410
- * @param assets - An array of the user's deposited assets with their values and maintenance weights.
411
- * @param liabilities - An array of the user's borrowed liabilities with their values and maintenance weights.
412
- * @returns The health factor. Returns 1 if there are no liabilities.
411
+ * Standard Health Factor = Total Weighted Assets (Maintenance) / Total Weighted Liabilities (Maintenance)
412
+ * Interpretation:
413
+ * - HF > 1: Position is overcollateralized (safe).
414
+ * - HF = 1: Position is at the liquidation threshold.
415
+ * - HF < 1: Position is undercollateralized and liquidatable.
416
+ * - HF = Infinity: Position has no debt (healthiest).
417
+ *
418
+ * Leverage = Total Weighted Assets (Maintenance) / (Total Weighted Assets (Maintenance) - Total Weighted Liabilities (Maintenance))
419
+ *
420
+ * @param weightedAssetValues - An array of the user's weighted asset values (maintenance).
421
+ * @param weightedLiabilityValues - An array of the user's weighted liability values (maintenance).
422
+ * @returns An object containing the healthFactor and leverage.
413
423
  */
414
424
  function calculateHealthFactorAndLeverage(weightedAssetValues, weightedLiabilityValues) {
415
425
  let totalWeightedAssets = 0;
@@ -420,17 +430,31 @@ function calculateHealthFactorAndLeverage(weightedAssetValues, weightedLiability
420
430
  for (const weightedLiabilityValue of weightedLiabilityValues) {
421
431
  totalWeightedLiabilities += weightedLiabilityValue;
422
432
  }
423
- // Calculate health factor
424
- let healthFactor = 1;
425
- if (totalWeightedLiabilities > 0) {
426
- healthFactor = totalWeightedLiabilities / totalWeightedAssets;
433
+ // Calculate health factor using standard convention (Assets / Liabilities)
434
+ let healthFactor;
435
+ if (totalWeightedLiabilities === 0) {
436
+ // Handle division by zero: No liabilities means infinite health
437
+ healthFactor = Infinity;
438
+ }
439
+ else if (totalWeightedAssets === 0) {
440
+ // Handle edge case where assets are zero but liabilities are not (should imply HF=0)
441
+ healthFactor = 0;
442
+ }
443
+ else {
444
+ // Standard calculation
445
+ healthFactor = totalWeightedAssets / totalWeightedLiabilities;
427
446
  }
428
- // Calculate leverage
429
- let leverage = 1;
447
+ // Calculate leverage (same formula as before, using weighted values)
448
+ let leverage = 0; // Default to 0 if equity is zero or negative
430
449
  const equity = totalWeightedAssets - totalWeightedLiabilities;
431
- if (equity > 0) {
450
+ if (equity > 0 && totalWeightedAssets > 0) {
451
+ // Ensure equity is positive and avoid division by zero if assets are zero
432
452
  leverage = totalWeightedAssets / equity;
433
453
  }
454
+ else if (totalWeightedAssets > 0 && totalWeightedLiabilities === 0) {
455
+ // If only assets exist, leverage is 1x
456
+ leverage = 1;
457
+ }
434
458
  return { healthFactor, leverage };
435
459
  }
436
460
  /**
@@ -506,4 +530,79 @@ function calculateAccruedInterest(lastUpdate, assetAmountUi, liabilityAmountUi,
506
530
  protocolFeesAccrued,
507
531
  };
508
532
  }
533
+ const SECONDS_PER_YEAR = new decimal_js_1.Decimal(365.25 * 24 * 60 * 60);
534
+ /**
535
+ * Adjusts the ideal borrow amount downwards to compensate for immediate costs
536
+ * (primarily origination fee + estimated short-term interest accrual).
537
+ *
538
+ * @param idealBorrowAmount - The ideally calculated borrow amount (native units, BN).
539
+ * @param originationFeeRate - The protocol origination fee rate (e.g., 0.01 for 1%).
540
+ * @param borrowApy - The current estimated borrow APY of the debt asset (e.g., 0.025 for 2.5%).
541
+ * @param debtDecimals - Decimals of the debt asset.
542
+ * @param estimatedTimeSec - Estimated seconds for immediate interest accrual effect (default: 1.5s).
543
+ * @returns Adjusted borrow amount (native units, BN), slightly less than ideal. Returns ideal amount if rates are zero.
544
+ */
545
+ function adjustBorrowForImmediateCosts(idealBorrowAmount, originationFeeRate, borrowApy, estimatedTimeSec = 1.5) {
546
+ const costRate = new decimal_js_1.Decimal(originationFeeRate);
547
+ const interestRatePerSecond = new decimal_js_1.Decimal(borrowApy).div(SECONDS_PER_YEAR);
548
+ const estimatedInterestRate = interestRatePerSecond.mul(estimatedTimeSec);
549
+ // Combine origination fee rate and estimated interest rate for the period
550
+ const totalEffectiveCostRate = costRate.add(estimatedInterestRate);
551
+ if (totalEffectiveCostRate.isZero() || totalEffectiveCostRate.isNegative()) {
552
+ return idealBorrowAmount; // No adjustment if no cost
553
+ }
554
+ // Formula: B_actual ≈ B_ideal / (1 + totalEffectiveCostRate)
555
+ // We borrow slightly less to account for the cost being added to liability
556
+ const denominator = new decimal_js_1.Decimal(1).add(totalEffectiveCostRate);
557
+ // Should not happen with valid inputs, but safety check
558
+ if (denominator.isZero() ||
559
+ denominator.isNaN() ||
560
+ !denominator.isFinite() ||
561
+ denominator.isNegative()) {
562
+ console.warn("Invalid denominator in cost adjustment, returning ideal amount");
563
+ return idealBorrowAmount;
564
+ }
565
+ const idealBorrowDecimal = new decimal_js_1.Decimal(idealBorrowAmount.toString());
566
+ const adjustedBorrowDecimal = idealBorrowDecimal.div(denominator);
567
+ // Round down when reducing amount due to costs
568
+ const adjustedBorrowAmount = new anchor_1.BN(adjustedBorrowDecimal.floor().toFixed());
569
+ // Ensure we don't adjust below zero
570
+ return anchor_1.BN.max(adjustedBorrowAmount, new anchor_1.BN(0));
571
+ }
572
+ /**
573
+ * Adjusts a borrow amount upwards to compensate for potential swap slippage,
574
+ * assuming worst-case based on slippageBps.
575
+ *
576
+ * @param amountToAdjust - The borrow amount to adjust (native units, BN), typically after cost adjustments.
577
+ * @param slippageBps - The maximum slippage tolerance in basis points (e.g., 100 for 1%).
578
+ * @param debtDecimals - Decimals of the debt asset.
579
+ * @returns Adjusted borrow amount (native units, BN), slightly more than the input amount. Returns input amount if slippageBps is zero or invalid.
580
+ */
581
+ function adjustBorrowForSlippage(amountToAdjust, slippageBps, debtDecimals) {
582
+ if (slippageBps <= 0) {
583
+ return amountToAdjust; // No adjustment if no slippage tolerance
584
+ }
585
+ const S = new decimal_js_1.Decimal(slippageBps).div(10000); // Slippage factor S as decimal
586
+ // Ensure S is less than 1 (100% slippage)
587
+ if (S.gte(1)) {
588
+ console.warn(`Slippage factor ${S.toString()} is >= 100%, returning original amount.`);
589
+ return amountToAdjust;
590
+ }
591
+ // Formula: B_actual ≈ B_ideal / (1 - S)
592
+ // We borrow slightly more, anticipating the swap output will be worth less by factor S.
593
+ const denominator = new decimal_js_1.Decimal(1).sub(S);
594
+ // Should not happen with S < 1, but safety check
595
+ if (denominator.isZero() ||
596
+ denominator.isNaN() ||
597
+ !denominator.isFinite() ||
598
+ denominator.isNegative()) {
599
+ console.warn("Invalid denominator in slippage adjustment, returning input amount");
600
+ return amountToAdjust;
601
+ }
602
+ const amountToAdjustDecimal = new decimal_js_1.Decimal(amountToAdjust.toString());
603
+ const adjustedBorrowDecimal = amountToAdjustDecimal.div(denominator);
604
+ // Round up when increasing amount due to needing more input for slippage
605
+ const adjustedBorrowAmount = new anchor_1.BN(adjustedBorrowDecimal.ceil().toFixed());
606
+ return adjustedBorrowAmount;
607
+ }
509
608
  //# sourceMappingURL=math.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/math.ts"],"names":[],"mappings":"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"}
package/dist/src/rpc.d.ts CHANGED
@@ -51,7 +51,39 @@ export declare class ClendClient {
51
51
  editGlobalFeeState(clendGroup: web3.PublicKey, newGlobalFeeWallet: web3.PublicKey | null, newBankInitFlatSolFee: number | null, newProgramFeeFixed: number | null, newProgramFeeRate: number | null): Promise<string>;
52
52
  configureBankInterestRate(clendGroup: web3.PublicKey, bank: web3.PublicKey, interestRateConfig: InterestRateConfigOpt): Promise<string>;
53
53
  depositLeverage(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey | null, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, depositAmount: BN, targetLeverage: number, slippageBps: number): Promise<string>;
54
+ getDepositLeverageIxns(clendGroup: web3.PublicKey, user: web3.PublicKey, clendAccount: web3.PublicKey | null, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, debtMintDecimals: number, collateralMintDecimals: number, borrowAmount: BN, depositAmount: BN, slippageBps: number, additionalIxnCount: number): Promise<{
55
+ ixns: web3.TransactionInstruction[];
56
+ luts: web3.PublicKey[];
57
+ }>;
58
+ getDepositLeverageParams(clendGroup: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, depositAmount: BN, targetLeverage: number): Promise<{
59
+ borrowAmount: BN;
60
+ totalDepositAmountUi: BN;
61
+ debtBankData: Bank;
62
+ collateralBankData: Bank;
63
+ }>;
54
64
  withdrawLeverage(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, withdrawAmount: BN, withdrawAll: boolean, slippageBps: number): Promise<string>;
65
+ getWithdrawLeverageIxns(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, collateralDecimals: number, debtDecimals: number, withdrawAll: boolean, debtToRepay: BN, collateralToWithdraw: BN, slippageBps: number, additionalIxnCount: number): Promise<{
66
+ ixns: web3.TransactionInstruction[];
67
+ luts: web3.PublicKey[];
68
+ }>;
69
+ getWithdrawLeverageParams(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, withdrawAmount: BN, withdrawAll: boolean): Promise<{
70
+ debtToRepay: BN;
71
+ collateralToWithdraw: BN;
72
+ collateralBankData: Bank;
73
+ debtBankData: Bank;
74
+ }>;
55
75
  adjustLeverage(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, targetLeverage: number, slippageBps: number): Promise<string>;
76
+ getAdjustLeverageParams(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, targetLeverage: number): Promise<{
77
+ collateralDeltaUi: number;
78
+ debtDeltaUi: number;
79
+ isIncrease: boolean;
80
+ collateralBankData: Bank;
81
+ debtBankData: Bank;
82
+ }>;
83
+ getAdjustLeverageIxns(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, user: web3.PublicKey, debtBankData: Bank, collateralBankData: Bank, isIncrease: boolean, debtDeltaUi: number, slippageBps: number, additionalIxnCount: number): Promise<{
84
+ ixns: web3.TransactionInstruction[];
85
+ luts: web3.PublicKey[];
86
+ }>;
56
87
  getEvents(txSigs: string[]): Promise<any[]>;
88
+ getAccountsForAuthority(group: web3.PublicKey, authority: web3.PublicKey): Promise<web3.PublicKey[]>;
57
89
  }
package/dist/src/rpc.js CHANGED
@@ -199,9 +199,9 @@ class ClendClient {
199
199
  emissionsRemaining: (0, utils_1.wrappedI80F48toBigNumber)(data.emissionsRemaining),
200
200
  emissionsMint: new anchor_1.web3.PublicKey(data.emissionsMint),
201
201
  collectedProgramFeesOutstanding: Number((0, utils_1.wrappedI80F48toBigNumber)(data.collectedProgramFeesOutstanding)),
202
- assetAmount,
202
+ assetAmount: new anchor_1.BN(assetAmount.toFixed(0)),
203
203
  assetAmountUi,
204
- liabilityAmount,
204
+ liabilityAmount: new anchor_1.BN(liabilityAmount.toFixed(0)),
205
205
  liabilityAmountUi,
206
206
  utilizationRate,
207
207
  baseInterestRate,
@@ -400,43 +400,19 @@ class ClendClient {
400
400
  return this.send([ix]);
401
401
  }
402
402
  async depositLeverage(clendGroup, clendAccount, collateralMint, debtMint, depositAmount, targetLeverage, slippageBps) {
403
+ const params = await this.getDepositLeverageParams(clendGroup, collateralMint, debtMint, depositAmount, targetLeverage);
404
+ const { ixns, luts } = await this.getDepositLeverageIxns(clendGroup, this.address(), clendAccount, collateralMint, debtMint, params.debtBankData.mintDecimals, params.collateralBankData.mintDecimals, params.borrowAmount, depositAmount, slippageBps, 0);
405
+ return this.send(ixns, [], luts);
406
+ }
407
+ async getDepositLeverageIxns(clendGroup, user, clendAccount, collateralMint, debtMint, debtMintDecimals, collateralMintDecimals, borrowAmount, depositAmount, slippageBps, additionalIxnCount) {
403
408
  // Get token programs
404
409
  const collateralTokenProgram = (0, utils_1.getTokenProgramForMint)(collateralMint);
405
410
  const debtTokenProgram = (0, utils_1.getTokenProgramForMint)(debtMint);
406
- // Get decimals
407
- const collateralDecimals = (0, utils_1.getTokenDecimalsForMint)(collateralMint);
408
- const debtDecimals = (0, utils_1.getTokenDecimalsForMint)(debtMint);
409
- // Get bank addrs
410
- const collateralBank = (0, addresses_1.getBankPda)(clendGroup, collateralMint);
411
411
  const debtBank = (0, addresses_1.getBankPda)(clendGroup, debtMint);
412
- // Get bank data
413
- const collateralBankData = await this.getBank(collateralBank);
414
- const debtBankData = await this.getBank(debtBank);
415
- // Derive token accounts
416
- const userCollateralAta = (0, spl_token_1.getAssociatedTokenAddressSync)(collateralMint, this.address(), true, collateralTokenProgram);
417
- const userDebtAta = (0, spl_token_1.getAssociatedTokenAddressSync)(debtMint, this.address(), true, debtTokenProgram);
418
- // Calculate borrow amount based on target leverage
419
- const depositAmountUI = (0, math_1.amountToUi)(depositAmount, collateralDecimals);
420
- // Get current prices from Jupiter
421
- const collateralPrice = await this.getJupiterPrice(collateralMint);
422
- const debtPrice = await this.getJupiterPrice(debtMint);
423
- // Calculate collateral value in debt token terms
424
- const { borrowAmountUi } = (0, math_1.computeLoopingAmounts)(depositAmountUI, targetLeverage, collateralPrice, debtPrice, collateralBankData.config.assetWeightMaint, debtBankData.config.liabilityWeightMaint);
425
- const borrowAmount = (0, math_1.uiToAmount)(borrowAmountUi, debtDecimals);
426
- utils_1.logger.info("depositLeverage params calculated", {
427
- borrowAmount: borrowAmount.toString(),
428
- borrowAmountUi,
429
- depositAmount: depositAmount.toString(),
430
- depositAmountUI,
431
- collateralPrice,
432
- debtPrice,
433
- collateralDecimals,
434
- debtDecimals,
435
- targetLeverage,
436
- });
412
+ const collateralBank = (0, addresses_1.getBankPda)(clendGroup, collateralMint);
437
413
  // Get Jupiter quote for swapping debt token to collateral token
438
414
  const swapMode = api_1.SwapMode.ExactIn;
439
- const swapQuote = await this.getJupiterQuote(debtMint, collateralMint, debtDecimals, collateralDecimals, new decimal_js_1.default(borrowAmount.toString()), slippageBps, swapMode);
415
+ const swapQuote = await this.getJupiterQuote(debtMint, collateralMint, debtMintDecimals, collateralMintDecimals, new decimal_js_1.default(borrowAmount.toString()), slippageBps, swapMode);
440
416
  utils_1.logger.debug("depositLeverage swapQuote", {
441
417
  inAmount: swapQuote.quoteResponse.inAmount,
442
418
  outAmount: swapQuote.quoteResponse.outAmount,
@@ -449,7 +425,7 @@ class ClendClient {
449
425
  utils_1.logger.info("Creating init clend account ix");
450
426
  // create clend account
451
427
  const clendAccountKp = anchor_1.web3.Keypair.generate();
452
- const ix = await this.instructions.initializeClendAccount(clendGroup, this.address(), clendAccountKp);
428
+ const ix = await this.instructions.initializeClendAccount(clendGroup, user, clendAccountKp);
453
429
  initClendAccountIx = ix;
454
430
  additionalSigners.push(clendAccountKp);
455
431
  clendAccount = clendAccountKp.publicKey;
@@ -484,13 +460,15 @@ class ClendClient {
484
460
  inputMint: debtMint,
485
461
  outputMint: collateralMint,
486
462
  };
487
- const swapIxs = await this.getJupiterSwap(this.address(), swapInputs, swapQuote);
463
+ const swapIxs = await this.getJupiterSwap(user, swapInputs, swapQuote);
488
464
  // Calculate additional collateral from swap
489
465
  const additionalCollateralAmount = new anchor_1.BN(swapQuote.quoteResponse.outAmount);
490
466
  const totalCollateralAmount = depositAmount.add(additionalCollateralAmount);
467
+ const userDebtAta = (0, spl_token_1.getAssociatedTokenAddressSync)(debtMint, user, true, debtTokenProgram);
468
+ const userCollateralAta = (0, spl_token_1.getAssociatedTokenAddressSync)(collateralMint, user, true, collateralTokenProgram);
491
469
  // Create transaction instructions in correct order
492
- const borrowIx = await this.instructions.borrow(clendGroup, clendAccount, this.address(), debtBank, userDebtAta, debtTokenProgram, borrowAmount, remainingAccounts);
493
- const depositIx = await this.instructions.deposit(clendGroup, clendAccount, this.address(), collateralBank, userCollateralAta, collateralTokenProgram, totalCollateralAmount, remainingAccounts);
470
+ const borrowIx = await this.instructions.borrow(clendGroup, clendAccount, user, debtBank, userDebtAta, debtTokenProgram, borrowAmount, remainingAccounts);
471
+ const depositIx = await this.instructions.deposit(clendGroup, clendAccount, user, collateralBank, userCollateralAta, collateralTokenProgram, totalCollateralAmount, remainingAccounts);
494
472
  // add lending and swap instructions
495
473
  const ixnsWithoutFlashLoan = [
496
474
  borrowIx,
@@ -509,26 +487,145 @@ class ClendClient {
509
487
  const endIndex = new anchor_1.BN(cuIxns +
510
488
  ixnsWithoutFlashLoan.length +
511
489
  addInitClendAccountIncrement +
512
- startFlashLoanIncrement);
513
- const { beginFlashLoanIx, endFlashLoanIx } = await this.instructions.createFlashLoanInstructions(clendAccount, this.address(), endIndex, remainingAccounts);
490
+ startFlashLoanIncrement +
491
+ additionalIxnCount);
492
+ const { beginFlashLoanIx, endFlashLoanIx } = await this.instructions.createFlashLoanInstructions(clendAccount, user, endIndex, remainingAccounts);
514
493
  const ixns = [
515
494
  ...initClendAccountIxns,
516
495
  beginFlashLoanIx,
517
496
  ...ixnsWithoutFlashLoan,
518
497
  endFlashLoanIx,
519
498
  ];
520
- // Combine all instructions
521
- return this.send(ixns, additionalSigners, swapIxs.lookupTables);
499
+ return { ixns, luts: swapIxs.lookupTables };
500
+ }
501
+ async getDepositLeverageParams(clendGroup, collateralMint, debtMint, depositAmount, targetLeverage) {
502
+ // Get decimals
503
+ const collateralDecimals = (0, utils_1.getTokenDecimalsForMint)(collateralMint);
504
+ const debtDecimals = (0, utils_1.getTokenDecimalsForMint)(debtMint);
505
+ // Get bank addrs
506
+ const debtBank = (0, addresses_1.getBankPda)(clendGroup, debtMint);
507
+ const collateralBank = (0, addresses_1.getBankPda)(clendGroup, collateralMint);
508
+ // Get bank data
509
+ const debtBankData = await this.getBank(debtBank);
510
+ const collateralBankData = await this.getBank(collateralBank);
511
+ // Calculate borrow amount based on target leverage
512
+ const depositAmountUI = (0, math_1.amountToUi)(depositAmount, collateralDecimals);
513
+ // Get current prices from Jupiter
514
+ const collateralPrice = await this.getJupiterPrice(collateralMint);
515
+ const debtPrice = await this.getJupiterPrice(debtMint);
516
+ // Calculate collateral value in debt token terms
517
+ const { borrowAmountUi, totalDepositAmountUi } = (0, math_1.computeLoopingAmounts)(depositAmountUI, targetLeverage, collateralPrice, debtPrice, 1, 1);
518
+ const borrowAmount = (0, math_1.uiToAmount)(borrowAmountUi, debtDecimals);
519
+ // get required borrow data
520
+ const borrowApy = debtBankData.borrowApy;
521
+ const originationFeeRate = debtBankData.config.interestRateConfig.protocolOriginationFee;
522
+ // adjust borrow amount for borrowing costs
523
+ const borrowAmountAfterBorrowingCosts = (0, math_1.adjustBorrowForImmediateCosts)(borrowAmount, originationFeeRate, borrowApy, 0);
524
+ //// 3. Adjust for Slippage (Borrow MORE)
525
+ //// Apply slippage adjustment to the amount already adjusted for costs
526
+ //const finalBorrowAmount = adjustBorrowForSlippage(
527
+ // borrowAmountAfterBorrowingCosts, // Input the cost-adjusted amount
528
+ // slippageBps,
529
+ // debtDecimals,
530
+ //);
531
+ const finalBorrowAmount = borrowAmountAfterBorrowingCosts;
532
+ const finalBorrowAmountUi = (0, math_1.amountToUi)(finalBorrowAmount, debtDecimals);
533
+ utils_1.logger.info("depositLeverage params calculated", {
534
+ borrowAmount: borrowAmount.toString(),
535
+ borrowAmountAfterBorrowingCosts: borrowAmountAfterBorrowingCosts.toString(),
536
+ finalBorrowAmount: finalBorrowAmount.toString(),
537
+ finalBorrowAmountUi,
538
+ borrowAmountUi,
539
+ depositAmount: depositAmount.toString(),
540
+ depositAmountUI,
541
+ collateralPrice,
542
+ debtPrice,
543
+ collateralDecimals,
544
+ debtDecimals,
545
+ targetLeverage,
546
+ expectedTotalDepositAmountUi: totalDepositAmountUi,
547
+ });
548
+ return {
549
+ borrowAmount,
550
+ totalDepositAmountUi,
551
+ debtBankData,
552
+ collateralBankData,
553
+ };
522
554
  }
523
555
  async withdrawLeverage(clendGroup, clendAccount, collateralMint, debtMint, withdrawAmount, withdrawAll, slippageBps) {
556
+ const params = await this.getWithdrawLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, withdrawAmount, withdrawAll);
557
+ const { ixns, luts } = await this.getWithdrawLeverageIxns(clendGroup, clendAccount, collateralMint, debtMint, params.collateralBankData.mintDecimals, params.debtBankData.mintDecimals, withdrawAll, params.debtToRepay, params.collateralToWithdraw, slippageBps, 0);
558
+ // Send transaction
559
+ return this.send(ixns, [], luts);
560
+ }
561
+ async getWithdrawLeverageIxns(clendGroup, clendAccount, collateralMint, debtMint, collateralDecimals, debtDecimals, withdrawAll, debtToRepay, collateralToWithdraw, slippageBps, additionalIxnCount) {
562
+ const debtBank = (0, addresses_1.getBankPda)(clendGroup, debtMint);
563
+ const collateralBank = (0, addresses_1.getBankPda)(clendGroup, collateralMint);
564
+ // Get remaining accounts for flash loan
565
+ const clendAccountData = await this.getClendAccount(clendAccount);
566
+ if (!clendAccountData) {
567
+ throw new Error(`Clend account not found: ${clendAccount.toString()}`);
568
+ }
569
+ let activeBanks = (0, utils_1.getClendAccountActiveBanks)(clendAccountData);
570
+ // If withdrawAll is true, remove both banks from activeBanks
571
+ if (withdrawAll) {
572
+ activeBanks = activeBanks.filter((b) => !b.equals(collateralBank) && !b.equals(debtBank));
573
+ }
574
+ const activeBankData = [];
575
+ for (const bank of activeBanks) {
576
+ const bankData = await this.getBank(bank);
577
+ activeBankData.push(bankData);
578
+ }
579
+ const remainingAccounts = (0, utils_1.getClendAccountRemainingAccounts)(activeBankData);
580
+ // Get Jupiter quote for swapping collateral to debt token (ExactOut mode)
581
+ const swapMode = api_1.SwapMode.ExactOut;
582
+ const swapQuote = await this.getJupiterQuote(collateralMint, debtMint, collateralDecimals, debtDecimals, new decimal_js_1.default(debtToRepay.toString()), slippageBps, swapMode);
583
+ utils_1.logger.debug("withdrawLeverage swapQuote", {
584
+ swapQuote,
585
+ });
586
+ // Calculate how much collateral we need to swap for debt repayment
587
+ const collateralToSwap = new anchor_1.BN(swapQuote.quoteResponse.inAmount);
588
+ utils_1.logger.debug("withdrawLeverage collateralToSwap", {
589
+ collateralToSwap: collateralToSwap.toString(),
590
+ });
591
+ // Get swap instructions
592
+ const swapInputs = {
593
+ inputAmountLamports: new decimal_js_1.default(collateralToSwap.toString()),
594
+ inputMint: collateralMint,
595
+ outputMint: debtMint,
596
+ };
597
+ const swapIxs = await this.getJupiterSwap(clendAccountData.authority, swapInputs, swapQuote);
598
+ const collateralTokenProgram = (0, utils_1.getTokenProgramForMint)(collateralMint);
599
+ const debtTokenProgram = (0, utils_1.getTokenProgramForMint)(debtMint);
600
+ const userCollateralAta = (0, spl_token_1.getAssociatedTokenAddressSync)(collateralMint, clendAccountData.authority, true, collateralTokenProgram);
601
+ const userDebtAta = (0, spl_token_1.getAssociatedTokenAddressSync)(debtMint, clendAccountData.authority, true, debtTokenProgram);
602
+ // Create withdraw instruction
603
+ const withdrawIx = await this.instructions.withdraw(clendGroup, clendAccount, clendAccountData.authority, collateralBank, userCollateralAta, collateralTokenProgram, collateralToWithdraw, withdrawAll, remainingAccounts);
604
+ // Create repay instruction
605
+ const repayIx = await this.instructions.repay(clendGroup, clendAccount, clendAccountData.authority, debtBank, userDebtAta, debtTokenProgram, debtToRepay, withdrawAll, remainingAccounts);
606
+ // Assemble all instructions without flash loan
607
+ const ixnsWithoutFlashLoan = [
608
+ withdrawIx,
609
+ ...swapIxs.swapIxs,
610
+ repayIx,
611
+ ];
612
+ // Create flash loan instructions
613
+ const cuIxns = 2;
614
+ const endIndex = new anchor_1.BN(cuIxns + ixnsWithoutFlashLoan.length + 1 + additionalIxnCount);
615
+ const { beginFlashLoanIx, endFlashLoanIx } = await this.instructions.createFlashLoanInstructions(clendAccount, clendAccountData.authority, endIndex, remainingAccounts);
616
+ // Assemble all instructions in the correct order
617
+ const instructions = [
618
+ beginFlashLoanIx,
619
+ ...ixnsWithoutFlashLoan,
620
+ endFlashLoanIx,
621
+ ];
622
+ return { ixns: instructions, luts: swapIxs.lookupTables };
623
+ }
624
+ async getWithdrawLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, withdrawAmount, withdrawAll) {
524
625
  utils_1.logger.info("withdrawLeverage params", {
525
626
  withdrawAmount: withdrawAmount.toString(),
526
627
  withdrawAll,
527
- slippageBps,
528
628
  });
529
- // Get token programs
530
- const collateralTokenProgram = (0, utils_1.getTokenProgramForMint)(collateralMint);
531
- const debtTokenProgram = (0, utils_1.getTokenProgramForMint)(debtMint);
532
629
  // Get bank data
533
630
  const collateralBank = (0, addresses_1.getBankPda)(clendGroup, collateralMint);
534
631
  const debtBank = (0, addresses_1.getBankPda)(clendGroup, debtMint);
@@ -537,9 +634,6 @@ class ClendClient {
537
634
  // Get decimals
538
635
  const collateralDecimals = collateralBankData.mintDecimals;
539
636
  const debtDecimals = debtBankData.mintDecimals;
540
- // Derive token accounts
541
- const userCollateralAta = (0, spl_token_1.getAssociatedTokenAddressSync)(collateralMint, this.address(), true, collateralTokenProgram);
542
- const userDebtAta = (0, spl_token_1.getAssociatedTokenAddressSync)(debtMint, this.address(), true, debtTokenProgram);
543
637
  // Get account data
544
638
  const clendAccountData = await this.getClendAccount(clendAccount);
545
639
  if (!clendAccountData) {
@@ -599,7 +693,10 @@ class ClendClient {
599
693
  debtMaintWeight,
600
694
  });
601
695
  // Calculate leverage-preserving withdrawal
602
- const { debtToRepayUi, newCollateralUi, newDebtUi, currentLeverage, newLeverage, } = (0, math_2.computeWithdrawLeverageAmounts)(collateralAmountUI, debtAmountUI, withdrawAmountUI, collateralPrice, debtPrice, collateralMaintWeight, debtMaintWeight);
696
+ const { debtToRepayUi, newCollateralUi, newDebtUi, currentLeverage, newLeverage, } = (0, math_2.computeWithdrawLeverageAmounts)(collateralAmountUI, debtAmountUI, withdrawAmountUI, collateralPrice, debtPrice,
697
+ //collateralMaintWeight,
698
+ //debtMaintWeight,
699
+ 1, 1);
603
700
  utils_1.logger.debug("withdrawLeverage params calculated", {
604
701
  debtToRepayUi,
605
702
  newCollateralUi,
@@ -617,71 +714,25 @@ class ClendClient {
617
714
  collateralToWithdraw: collateralToWithdraw.toString(),
618
715
  debtToRepay: debtToRepay.toString(),
619
716
  });
620
- // Get remaining accounts for flash loan
621
- let activeBanks = (0, utils_1.getClendAccountActiveBanks)(clendAccountData);
622
- // If withdrawAll is true, remove both banks from activeBanks
623
- if (withdrawAll) {
624
- activeBanks = activeBanks.filter((b) => !b.equals(collateralBank) && !b.equals(debtBank));
625
- }
626
- const activeBankData = [];
627
- for (const bank of activeBanks) {
628
- const bankData = await this.getBank(bank);
629
- activeBankData.push(bankData);
630
- }
631
- const remainingAccounts = (0, utils_1.getClendAccountRemainingAccounts)(activeBankData);
632
- // Get Jupiter quote for swapping collateral to debt token (ExactOut mode)
633
- const swapMode = api_1.SwapMode.ExactOut;
634
- const swapQuote = await this.getJupiterQuote(collateralMint, debtMint, collateralDecimals, debtDecimals, new decimal_js_1.default(debtToRepay.toString()), slippageBps, swapMode);
635
- utils_1.logger.debug("withdrawLeverage swapQuote", {
636
- swapQuote,
637
- });
638
- // Calculate how much collateral we need to swap for debt repayment
639
- const collateralToSwap = new anchor_1.BN(swapQuote.quoteResponse.inAmount);
640
- utils_1.logger.debug("withdrawLeverage collateralToSwap", {
641
- collateralToSwap: collateralToSwap.toString(),
642
- });
643
- // Get swap instructions
644
- const swapInputs = {
645
- inputAmountLamports: new decimal_js_1.default(collateralToSwap.toString()),
646
- inputMint: collateralMint,
647
- outputMint: debtMint,
717
+ return {
718
+ debtToRepay,
719
+ collateralToWithdraw,
720
+ collateralBankData,
721
+ debtBankData,
648
722
  };
649
- const swapIxs = await this.getJupiterSwap(this.address(), swapInputs, swapQuote);
650
- // Create withdraw instruction
651
- const withdrawIx = await this.instructions.withdraw(clendGroup, clendAccount, this.address(), collateralBank, userCollateralAta, collateralTokenProgram, collateralToWithdraw, withdrawAll, remainingAccounts);
652
- // Create repay instruction
653
- const repayIx = await this.instructions.repay(clendGroup, clendAccount, this.address(), debtBank, userDebtAta, debtTokenProgram, debtToRepay, withdrawAll, remainingAccounts);
654
- // Assemble all instructions without flash loan
655
- const ixnsWithoutFlashLoan = [
656
- withdrawIx,
657
- ...swapIxs.swapIxs,
658
- repayIx,
659
- ];
660
- // Create flash loan instructions
661
- const cuIxns = 2;
662
- const endIndex = new anchor_1.BN(cuIxns + ixnsWithoutFlashLoan.length + 1);
663
- const { beginFlashLoanIx, endFlashLoanIx } = await this.instructions.createFlashLoanInstructions(clendAccount, this.address(), endIndex, remainingAccounts);
664
- // Assemble all instructions in the correct order
665
- const instructions = [
666
- beginFlashLoanIx,
667
- ...ixnsWithoutFlashLoan,
668
- endFlashLoanIx,
669
- ];
670
- // Send transaction
671
- return this.send(instructions, [], swapIxs.lookupTables);
672
723
  }
673
724
  async adjustLeverage(clendGroup, clendAccount, collateralMint, debtMint, targetLeverage, slippageBps) {
674
- // Get token programs
675
- const collateralTokenProgram = (0, utils_1.getTokenProgramForMint)(collateralMint);
676
- const debtTokenProgram = (0, utils_1.getTokenProgramForMint)(debtMint);
725
+ const params = await this.getAdjustLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, targetLeverage);
726
+ const { ixns, luts } = await this.getAdjustLeverageIxns(clendGroup, clendAccount, this.address(), params.debtBankData, params.collateralBankData, params.isIncrease, params.debtDeltaUi, slippageBps, 0);
727
+ // Send transaction
728
+ return this.send(ixns, [], luts);
729
+ }
730
+ async getAdjustLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, targetLeverage) {
677
731
  // Get bank data
678
732
  const collateralBank = (0, addresses_1.getBankPda)(clendGroup, collateralMint);
679
733
  const debtBank = (0, addresses_1.getBankPda)(clendGroup, debtMint);
680
734
  const collateralBankData = await this.getBank(collateralBank);
681
735
  const debtBankData = await this.getBank(debtBank);
682
- // Derive token accounts
683
- const userCollateralAta = (0, spl_token_1.getAssociatedTokenAddressSync)(collateralMint, this.address(), true, collateralTokenProgram);
684
- const userDebtAta = (0, spl_token_1.getAssociatedTokenAddressSync)(debtMint, this.address(), true, debtTokenProgram);
685
736
  // Get account data to determine current positions
686
737
  const clendAccountData = await this.getClendAccount(clendAccount);
687
738
  if (!clendAccountData) {
@@ -701,9 +752,6 @@ class ClendClient {
701
752
  if (!debtBalance || !collateralBalance) {
702
753
  throw new Error("Could not find debt or collateral position in account");
703
754
  }
704
- // Calculate current leverage
705
- const collateralDecimals = collateralBankData.mintDecimals;
706
- const debtDecimals = debtBankData.mintDecimals;
707
755
  // Get current prices from Jupiter
708
756
  const collateralPrice = await this.getJupiterPrice(collateralMint);
709
757
  const debtPrice = await this.getJupiterPrice(debtMint);
@@ -713,8 +761,15 @@ class ClendClient {
713
761
  const collateralWeight = collateralBankData.config.assetWeightMaint;
714
762
  const debtWeight = debtBankData.config.liabilityWeightMaint;
715
763
  // Calculate current leverage and values
716
- const currentLeverage = (0, math_1.calculateWeightedLeverage)(collateralAmountUI, collateralPrice, collateralWeight, debtAmountUI, debtPrice, debtWeight);
717
- const { collateralDelta, debtDelta, isIncrease } = (0, math_1.computeAdjustLeverageAmounts)(collateralAmountUI, debtAmountUI, collateralPrice, debtPrice, currentLeverage, targetLeverage, collateralWeight, debtWeight);
764
+ const currentLeverage = (0, math_1.calculateWeightedLeverage)(collateralAmountUI, collateralPrice,
765
+ //collateralWeight,
766
+ 1, debtAmountUI, debtPrice,
767
+ //debtWeight,
768
+ 1);
769
+ const { collateralDelta, debtDelta, isIncrease } = (0, math_1.computeAdjustLeverageAmounts)(collateralAmountUI, debtAmountUI, collateralPrice, debtPrice, currentLeverage, targetLeverage,
770
+ //collateralWeight,
771
+ //debtWeight,
772
+ 1, 1);
718
773
  utils_1.logger.info("adjustLeverage params calculated", {
719
774
  collateralDelta,
720
775
  debtDelta,
@@ -728,14 +783,31 @@ class ClendClient {
728
783
  collateralWeight,
729
784
  debtWeight,
730
785
  });
786
+ return {
787
+ collateralDeltaUi: collateralDelta,
788
+ debtDeltaUi: debtDelta,
789
+ isIncrease,
790
+ collateralBankData,
791
+ debtBankData,
792
+ };
793
+ }
794
+ async getAdjustLeverageIxns(clendGroup, clendAccount, user, debtBankData, collateralBankData, isIncrease, debtDeltaUi, slippageBps, additionalIxnCount) {
795
+ const clendAccountData = await this.getClendAccount(clendAccount);
796
+ if (!clendAccountData) {
797
+ throw new Error(`Clend account not found: ${clendAccount.toString()}`);
798
+ }
799
+ const debtTokenProgram = (0, utils_1.getTokenProgramForMint)(debtBankData.mint);
800
+ const collateralTokenProgram = (0, utils_1.getTokenProgramForMint)(collateralBankData.mint);
801
+ const userDebtAta = (0, spl_token_1.getAssociatedTokenAddressSync)(debtBankData.mint, user, true, debtTokenProgram);
802
+ const userCollateralAta = (0, spl_token_1.getAssociatedTokenAddressSync)(collateralBankData.mint, user, true, collateralTokenProgram);
731
803
  // Get remaining accounts for flash loan
732
804
  let activeBanks = (0, utils_1.getClendAccountActiveBanks)(clendAccountData);
733
805
  // Add both banks to active banks if not already present
734
- if (!activeBanks.some((bank) => bank.equals(debtBank))) {
735
- activeBanks.push(debtBank);
806
+ if (!activeBanks.some((bank) => bank.equals(debtBankData.key))) {
807
+ activeBanks.push(debtBankData.key);
736
808
  }
737
- if (!activeBanks.some((bank) => bank.equals(collateralBank))) {
738
- activeBanks.push(collateralBank);
809
+ if (!activeBanks.some((bank) => bank.equals(collateralBankData.key))) {
810
+ activeBanks.push(collateralBankData.key);
739
811
  }
740
812
  const activeBankData = [];
741
813
  for (const bank of activeBanks) {
@@ -748,16 +820,13 @@ class ClendClient {
748
820
  let swapLookupTables = [];
749
821
  if (isIncrease) {
750
822
  utils_1.logger.info("increasing leverage");
751
- // Calculate amounts for increasing leverage
752
- const additionalDebtAmountUI = debtDelta * debtPrice;
753
- const additionalDebtAmount = (0, math_1.uiToAmount)(additionalDebtAmountUI, debtDecimals);
823
+ const additionalDebtAmount = (0, math_1.uiToAmount)(debtDeltaUi, debtBankData.mintDecimals);
754
824
  utils_1.logger.debug("additionalDebtAmount calculated", {
755
- additionalDebtAmountUI,
756
825
  additionalDebtAmount: additionalDebtAmount.toString(),
757
826
  });
758
827
  // Get Jupiter quote for swapping debt token to collateral token
759
828
  const swapMode = api_1.SwapMode.ExactIn;
760
- const swapQuote = await this.getJupiterQuote(debtMint, collateralMint, debtDecimals, collateralDecimals, new decimal_js_1.default(additionalDebtAmount.toString()), slippageBps, swapMode);
829
+ const swapQuote = await this.getJupiterQuote(debtBankData.mint, collateralBankData.mint, debtBankData.mintDecimals, collateralBankData.mintDecimals, new decimal_js_1.default(additionalDebtAmount.toString()), slippageBps, swapMode);
761
830
  utils_1.logger.debug("swapQuote calculated", {
762
831
  inAmount: swapQuote.quoteResponse.inAmount,
763
832
  outAmount: swapQuote.quoteResponse.outAmount,
@@ -766,29 +835,31 @@ class ClendClient {
766
835
  // Get swap instructions
767
836
  const swapInputs = {
768
837
  inputAmountLamports: new decimal_js_1.default(additionalDebtAmount.toString()),
769
- inputMint: debtMint,
770
- outputMint: collateralMint,
838
+ inputMint: debtBankData.mint,
839
+ outputMint: collateralBankData.mint,
771
840
  };
772
- const swapIxs = await this.getJupiterSwap(this.address(), swapInputs, swapQuote);
841
+ const swapIxs = await this.getJupiterSwap(user, swapInputs, swapQuote);
773
842
  // Borrow more debt
774
- const borrowIx = await this.instructions.borrow(clendGroup, clendAccount, this.address(), debtBank, userDebtAta, debtTokenProgram, additionalDebtAmount, remainingAccounts);
843
+ const borrowIx = await this.instructions.borrow(clendGroup, clendAccount, user, debtBankData.key, userDebtAta, debtTokenProgram, additionalDebtAmount, remainingAccounts);
775
844
  // Calculate additional collateral from swap
776
845
  const additionalCollateralAmount = new anchor_1.BN(swapQuote.quoteResponse.outAmount);
777
846
  utils_1.logger.debug("additionalCollateralAmount calculated", {
778
847
  additionalCollateralAmount: additionalCollateralAmount.toString(),
779
848
  });
780
849
  // Deposit additional collateral
781
- const depositIx = await this.instructions.deposit(clendGroup, clendAccount, this.address(), collateralBank, userCollateralAta, collateralTokenProgram, additionalCollateralAmount, remainingAccounts);
850
+ const depositIx = await this.instructions.deposit(clendGroup, clendAccount, user, collateralBankData.key, userCollateralAta, collateralTokenProgram, additionalCollateralAmount, remainingAccounts);
782
851
  instructions.push(borrowIx, ...swapIxs.swapIxs, depositIx);
783
852
  swapLookupTables = swapIxs.lookupTables;
784
853
  }
785
854
  else {
786
- utils_1.logger.info("decreasing leverage");
787
855
  // Calculate amounts for decreasing leverage
788
- const debtToReduceAmount = (0, math_1.uiToAmount)(debtDelta, debtDecimals);
856
+ const debtToReduceAmount = (0, math_1.uiToAmount)(debtDeltaUi, debtBankData.mintDecimals);
857
+ utils_1.logger.info("decreasing leverage", {
858
+ debtToReduceAmount: debtToReduceAmount.toString(),
859
+ });
789
860
  // Get Jupiter quote for swapping collateral token to debt token with ExactOut
790
861
  const swapMode = api_1.SwapMode.ExactOut;
791
- const swapQuote = await this.getJupiterQuote(collateralMint, debtMint, collateralDecimals, debtDecimals, new decimal_js_1.default(debtToReduceAmount.toString()), slippageBps, swapMode);
862
+ const swapQuote = await this.getJupiterQuote(collateralBankData.mint, debtBankData.mint, collateralBankData.mintDecimals, debtBankData.mintDecimals, new decimal_js_1.default(debtToReduceAmount.toString()), slippageBps, swapMode);
792
863
  utils_1.logger.debug("swapQuote calculated", {
793
864
  inAmount: swapQuote.quoteResponse.inAmount,
794
865
  outAmount: swapQuote.quoteResponse.outAmount,
@@ -803,32 +874,31 @@ class ClendClient {
803
874
  // Get swap instructions
804
875
  const swapInputs = {
805
876
  inputAmountLamports: new decimal_js_1.default(collateralToSwap.toString()),
806
- inputMint: collateralMint,
807
- outputMint: debtMint,
877
+ inputMint: collateralBankData.mint,
878
+ outputMint: debtBankData.mint,
808
879
  };
809
- const swapIxs = await this.getJupiterSwap(this.address(), swapInputs, swapQuote);
880
+ const swapIxs = await this.getJupiterSwap(user, swapInputs, swapQuote);
810
881
  // Withdraw collateral
811
- const withdrawIx = await this.instructions.withdraw(clendGroup, clendAccount, this.address(), collateralBank, userCollateralAta, collateralTokenProgram, collateralToSwap, false, remainingAccounts);
882
+ const withdrawIx = await this.instructions.withdraw(clendGroup, clendAccount, user, collateralBankData.key, userCollateralAta, collateralTokenProgram, collateralToSwap, false, remainingAccounts);
812
883
  // Repay debt
813
- const repayAmount = (0, math_1.uiToAmount)(debtDelta, debtDecimals);
884
+ const repayAmount = (0, math_1.uiToAmount)(debtDeltaUi, debtBankData.mintDecimals);
814
885
  utils_1.logger.debug("repayAmount calculated", {
815
886
  repayAmount: repayAmount.toString(),
816
887
  });
817
- const repayIx = await this.instructions.repay(clendGroup, clendAccount, this.address(), debtBank, userDebtAta, debtTokenProgram, repayAmount, false, remainingAccounts);
888
+ const repayIx = await this.instructions.repay(clendGroup, clendAccount, user, debtBankData.key, userDebtAta, debtTokenProgram, repayAmount, false, remainingAccounts);
818
889
  instructions.push(withdrawIx, ...swapIxs.swapIxs, repayIx);
819
890
  swapLookupTables = swapIxs.lookupTables;
820
891
  }
821
892
  const cuIxns = 2;
822
- const endIndex = new anchor_1.BN(cuIxns + instructions.length + 1);
823
- const { beginFlashLoanIx, endFlashLoanIx } = await this.instructions.createFlashLoanInstructions(clendAccount, this.address(), endIndex, remainingAccounts);
893
+ const endIndex = new anchor_1.BN(cuIxns + instructions.length + 1 + additionalIxnCount);
894
+ const { beginFlashLoanIx, endFlashLoanIx } = await this.instructions.createFlashLoanInstructions(clendAccount, user, endIndex, remainingAccounts);
824
895
  // Create a new array with the flash loan instructions wrapping the existing instructions
825
896
  const finalInstructions = [
826
897
  beginFlashLoanIx,
827
898
  ...instructions,
828
899
  endFlashLoanIx,
829
900
  ];
830
- // Send transaction
831
- return this.send(finalInstructions, [], swapLookupTables);
901
+ return { ixns: finalInstructions, luts: swapLookupTables };
832
902
  }
833
903
  async getEvents(txSigs) {
834
904
  const events = [];
@@ -856,6 +926,24 @@ class ClendClient {
856
926
  }
857
927
  return events;
858
928
  }
929
+ async getAccountsForAuthority(group, authority) {
930
+ const accounts = await this.instructions.program.account.clendAccount.all([
931
+ {
932
+ memcmp: {
933
+ bytes: group.toBase58(),
934
+ offset: 8, // clendGroup is the first field in the account, so only offset is the discriminant
935
+ },
936
+ },
937
+ {
938
+ memcmp: {
939
+ bytes: authority.toBase58(),
940
+ offset: 8 + 32, // authority is the second field in the account after the authority, so offset by the discriminant and a pubkey
941
+ },
942
+ },
943
+ ]);
944
+ const addrs = accounts.map((account) => account.publicKey);
945
+ return addrs;
946
+ }
859
947
  }
860
948
  exports.ClendClient = ClendClient;
861
949
  //# sourceMappingURL=rpc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/rpc.ts"],"names":[],"mappings":"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"}
package/dist/src/state.js CHANGED
@@ -47,28 +47,24 @@ function newInterestRateConfigCompact({ optimalUtilizationRate, plateauInterestR
47
47
  }
48
48
  function newInterestRateConfigOpt({ optimalUtilizationRate, plateauInterestRate, maxInterestRate, insuranceFeeFixedApr, insuranceIrFee, protocolFixedFeeApr, protocolIrFee, protocolOriginationFee, }) {
49
49
  return {
50
- optimalUtilizationRate: optimalUtilizationRate
50
+ optimalUtilizationRate: optimalUtilizationRate !== null
51
51
  ? (0, utils_1.bigNumberToWrappedI80F48)(optimalUtilizationRate)
52
52
  : null,
53
- plateauInterestRate: plateauInterestRate
53
+ plateauInterestRate: plateauInterestRate !== null
54
54
  ? (0, utils_1.bigNumberToWrappedI80F48)(plateauInterestRate)
55
55
  : null,
56
- maxInterestRate: maxInterestRate
56
+ maxInterestRate: maxInterestRate !== null
57
57
  ? (0, utils_1.bigNumberToWrappedI80F48)(maxInterestRate)
58
58
  : null,
59
- insuranceFeeFixedApr: insuranceFeeFixedApr
59
+ insuranceFeeFixedApr: insuranceFeeFixedApr !== null
60
60
  ? (0, utils_1.bigNumberToWrappedI80F48)(insuranceFeeFixedApr)
61
61
  : null,
62
- insuranceIrFee: insuranceIrFee
63
- ? (0, utils_1.bigNumberToWrappedI80F48)(insuranceIrFee)
64
- : null,
65
- protocolFixedFeeApr: protocolFixedFeeApr
62
+ insuranceIrFee: insuranceIrFee !== null ? (0, utils_1.bigNumberToWrappedI80F48)(insuranceIrFee) : null,
63
+ protocolFixedFeeApr: protocolFixedFeeApr !== null
66
64
  ? (0, utils_1.bigNumberToWrappedI80F48)(protocolFixedFeeApr)
67
65
  : null,
68
- protocolIrFee: protocolIrFee
69
- ? (0, utils_1.bigNumberToWrappedI80F48)(protocolIrFee)
70
- : null,
71
- protocolOriginationFee: protocolOriginationFee
66
+ protocolIrFee: protocolIrFee !== null ? (0, utils_1.bigNumberToWrappedI80F48)(protocolIrFee) : null,
67
+ protocolOriginationFee: protocolOriginationFee !== null
72
68
  ? (0, utils_1.bigNumberToWrappedI80F48)(protocolOriginationFee)
73
69
  : null,
74
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carrot-protocol/clend-rpc",
3
- "version": "0.0.1-mrgn-fork1-dev-bc97fd7",
3
+ "version": "0.0.3-mrgn-fork1-dev-e66607b",
4
4
  "description": "rpc client and libs for carrot lend",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",