@haven-fi/solauto-sdk 1.0.614 → 1.0.616

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.
@@ -20,5 +20,6 @@ export declare class MarginfiFlProvider extends FlProviderBase {
20
20
  flFeeBps(source: TokenType, signerFlashLoan?: boolean): number;
21
21
  flashBorrow(flashLoan: FlashLoanDetails, destTokenAccount: PublicKey): TransactionBuilder;
22
22
  flashRepay(flashLoan: FlashLoanDetails): TransactionBuilder;
23
+ closeBalance(marginfiAccount: PublicKey, bank: PublicKey, marginfiGroup: PublicKey): TransactionBuilder;
23
24
  }
24
25
  //# sourceMappingURL=marginfiFlProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"marginfiFlProvider.d.ts","sourceRoot":"","sources":["../../../src/services/flashLoans/marginfiFlProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAalC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AAexE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQ/C,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,OAAO,CAAC,wBAAwB,CAAqB;IACrD,OAAO,CAAC,yBAAyB,CAAQ;IACzC,OAAO,CAAC,uBAAuB,CAAQ;IACvC,OAAO,CAAC,iBAAiB,CAAe;IACxC,OAAO,CAAC,eAAe,CAAe;IAEhC,UAAU;YAiBF,iBAAiB;IA2C/B,OAAO,CAAC,sBAAsB;IA0CxB,sBAAsB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAyC3D,gBAAgB,IAAI,SAAS,EAAE;IAY/B,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,WAAW;IAMnB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IAI7C,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM;IAc9D,WAAW,CACT,SAAS,EAAE,gBAAgB,EAC3B,gBAAgB,EAAE,SAAS,GAC1B,kBAAkB;IAoCrB,UAAU,CAAC,SAAS,EAAE,gBAAgB,GAAG,kBAAkB;CAkH5D"}
1
+ {"version":3,"file":"marginfiFlProvider.d.ts","sourceRoot":"","sources":["../../../src/services/flashLoans/marginfiFlProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAalC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AAexE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQ/C,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,OAAO,CAAC,wBAAwB,CAAqB;IACrD,OAAO,CAAC,yBAAyB,CAAQ;IACzC,OAAO,CAAC,uBAAuB,CAAQ;IACvC,OAAO,CAAC,iBAAiB,CAAe;IACxC,OAAO,CAAC,eAAe,CAAe;IAEhC,UAAU;YAiBF,iBAAiB;IA2C/B,OAAO,CAAC,sBAAsB;IA0CxB,sBAAsB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAyC3D,gBAAgB,IAAI,SAAS,EAAE;IAY/B,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,WAAW;IAMnB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IAI7C,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM;IAc9D,WAAW,CACT,SAAS,EAAE,gBAAgB,EAC3B,gBAAgB,EAAE,SAAS,GAC1B,kBAAkB;IAoCrB,UAAU,CAAC,SAAS,EAAE,gBAAgB,GAAG,kBAAkB;IA0G3D,YAAY,CACV,eAAe,EAAE,SAAS,EAC1B,IAAI,EAAE,SAAS,EACf,aAAa,EAAE,SAAS;CAW3B"}
@@ -212,8 +212,12 @@ class MarginfiFlProvider extends flProviderBase_1.FlProviderBase {
212
212
  },
213
213
  ]);
214
214
  }
215
- // const banksRequiringBalanceClose = remainingAccounts
216
- // .filter((_, index) => index % 2 === 0)
215
+ // TODO: add back closing balances?
216
+ // const closeBalances = remainingAccounts
217
+ // .filter(
218
+ // (x, index) =>
219
+ // index % 2 === 0 && x.pubkey.toString() !== bank.publicKey.toString()
220
+ // )
217
221
  // .map((x) => toWeb3JsPublicKey(x.pubkey));
218
222
  return (0, umi_1.transactionBuilder)()
219
223
  .add((0, marginfi_sdk_1.lendingAccountRepay)(this.umi, {
@@ -227,14 +231,24 @@ class MarginfiFlProvider extends flProviderBase_1.FlProviderBase {
227
231
  signerTokenAccount: (0, umi_1.publicKey)((0, utils_1.getTokenAccount)((0, umi_web3js_adapters_1.toWeb3JsPublicKey)(this.signer.publicKey), flashLoan.mint)),
228
232
  }))
229
233
  // .add(
230
- // banksRequiringBalanceClose.map((bank) =>
231
- // this.closeBalance(iMfiAccount.accountPk, bank, marginfiGroup)
232
- // )
234
+ // closeBalances.length
235
+ // ? closeBalances.map((bank) =>
236
+ // this.closeBalance(iMfiAccount.accountPk, bank, marginfiGroup)
237
+ // )
238
+ // : []
233
239
  // )
234
240
  .add((0, marginfi_sdk_1.lendingAccountEndFlashloan)(this.umi, {
235
241
  marginfiAccount: (0, umi_1.publicKey)(iMfiAccount.accountPk),
236
242
  signer: this.signer,
237
243
  }).addRemainingAccounts(remainingAccounts));
238
244
  }
245
+ closeBalance(marginfiAccount, bank, marginfiGroup) {
246
+ return (0, umi_1.transactionBuilder)().add((0, marginfi_sdk_1.lendingAccountCloseBalance)(this.umi, {
247
+ signer: this.signer,
248
+ marginfiAccount: (0, umi_1.publicKey)(marginfiAccount),
249
+ bank: (0, umi_1.publicKey)(bank),
250
+ marginfiGroup: (0, umi_1.publicKey)(marginfiGroup),
251
+ }));
252
+ }
239
253
  }
240
254
  exports.MarginfiFlProvider = MarginfiFlProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"jitoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jitoUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EAIV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,GAAG,EAEH,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAYlC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAKlE,wBAAgB,mBAAmB,IAAI,SAAS,CAG/C;AAkND,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB;;;;IAkB7D;AAED,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EAAE,EACtB,GAAG,EAAE,kBAAkB,EAAE,EACzB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,kBAAkB,GAAE,kBAA2C,EAC/D,cAAc,CAAC,EAAE,MAAM,IAAI,GAC1B,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CA+F/B"}
1
+ {"version":3,"file":"jitoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jitoUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EAIV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,GAAG,EAEH,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAYlC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAKlE,wBAAgB,mBAAmB,IAAI,SAAS,CAG/C;AAmND,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB;;;;IAkB7D;AAED,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EAAE,EACtB,GAAG,EAAE,kBAAkB,EAAE,EACzB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,kBAAkB,GAAE,kBAA2C,EAC/D,cAAc,CAAC,EAAE,MAAM,IAAI,GAC1B,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CA+F/B"}
@@ -121,6 +121,7 @@ async function pollBundleStatus(umi, bundleId, interval = 1000, timeout = 40000)
121
121
  await new Promise((resolve) => setTimeout(resolve, interval));
122
122
  const statuses = await (0, generalUtils_1.retryWithExponentialBackoff)(async () => {
123
123
  const resp = await getBundleStatus(umi, bundleId);
124
+ // TODO: remove me
124
125
  if (resp?.value?.length > 0 && resp.value[0] === null) {
125
126
  throw new Error("No confirmation status");
126
127
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.614",
3
+ "version": "1.0.616",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "description": "Typescript SDK for the Solauto program on the Solana blockchain",
@@ -340,8 +340,12 @@ export class MarginfiFlProvider extends FlProviderBase {
340
340
  );
341
341
  }
342
342
 
343
- // const banksRequiringBalanceClose = remainingAccounts
344
- // .filter((_, index) => index % 2 === 0)
343
+ // TODO: add back closing balances?
344
+ // const closeBalances = remainingAccounts
345
+ // .filter(
346
+ // (x, index) =>
347
+ // index % 2 === 0 && x.pubkey.toString() !== bank.publicKey.toString()
348
+ // )
345
349
  // .map((x) => toWeb3JsPublicKey(x.pubkey));
346
350
 
347
351
  return transactionBuilder()
@@ -363,9 +367,11 @@ export class MarginfiFlProvider extends FlProviderBase {
363
367
  })
364
368
  )
365
369
  // .add(
366
- // banksRequiringBalanceClose.map((bank) =>
367
- // this.closeBalance(iMfiAccount.accountPk, bank, marginfiGroup)
368
- // )
370
+ // closeBalances.length
371
+ // ? closeBalances.map((bank) =>
372
+ // this.closeBalance(iMfiAccount.accountPk, bank, marginfiGroup)
373
+ // )
374
+ // : []
369
375
  // )
370
376
  .add(
371
377
  lendingAccountEndFlashloan(this.umi, {
@@ -375,18 +381,18 @@ export class MarginfiFlProvider extends FlProviderBase {
375
381
  );
376
382
  }
377
383
 
378
- // closeBalance(
379
- // marginfiAccount: PublicKey,
380
- // bank: PublicKey,
381
- // marginfiGroup: PublicKey
382
- // ) {
383
- // return transactionBuilder().add(
384
- // lendingAccountCloseBalance(this.umi, {
385
- // signer: this.signer,
386
- // marginfiAccount: publicKey(marginfiAccount),
387
- // bank: publicKey(bank),
388
- // marginfiGroup: publicKey(marginfiGroup),
389
- // })
390
- // );
391
- // }
384
+ closeBalance(
385
+ marginfiAccount: PublicKey,
386
+ bank: PublicKey,
387
+ marginfiGroup: PublicKey
388
+ ) {
389
+ return transactionBuilder().add(
390
+ lendingAccountCloseBalance(this.umi, {
391
+ signer: this.signer,
392
+ marginfiAccount: publicKey(marginfiAccount),
393
+ bank: publicKey(bank),
394
+ marginfiGroup: publicKey(marginfiGroup),
395
+ })
396
+ );
397
+ }
392
398
  }
@@ -192,6 +192,7 @@ async function pollBundleStatus(
192
192
 
193
193
  const statuses = await retryWithExponentialBackoff(async () => {
194
194
  const resp = await getBundleStatus(umi, bundleId);
195
+ // TODO: remove me
195
196
  if (resp?.value?.length > 0 && resp.value[0] === null) {
196
197
  throw new Error("No confirmation status");
197
198
  }