@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.
- package/dist/services/flashLoans/marginfiFlProvider.d.ts +1 -0
- package/dist/services/flashLoans/marginfiFlProvider.d.ts.map +1 -1
- package/dist/services/flashLoans/marginfiFlProvider.js +19 -5
- package/dist/utils/jitoUtils.d.ts.map +1 -1
- package/dist/utils/jitoUtils.js +1 -0
- package/package.json +1 -1
- package/src/services/flashLoans/marginfiFlProvider.ts +25 -19
- package/src/utils/jitoUtils.ts +1 -0
@@ -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;
|
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
|
-
//
|
216
|
-
//
|
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
|
-
//
|
231
|
-
//
|
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;
|
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"}
|
package/dist/utils/jitoUtils.js
CHANGED
@@ -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
@@ -340,8 +340,12 @@ export class MarginfiFlProvider extends FlProviderBase {
|
|
340
340
|
);
|
341
341
|
}
|
342
342
|
|
343
|
-
//
|
344
|
-
//
|
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
|
-
//
|
367
|
-
//
|
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
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
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
|
}
|
package/src/utils/jitoUtils.ts
CHANGED
@@ -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
|
}
|