@haven-fi/solauto-sdk 1.0.256 → 1.0.258

Sign up to get free protection for your applications and to get access to all the features.
@@ -41,6 +41,7 @@ export declare class TransactionsManager {
41
41
  private retries;
42
42
  private retryDelay;
43
43
  private statuses;
44
+ private statusesStartIdx;
44
45
  private lookupTables;
45
46
  constructor(txHandler: SolautoClient | ReferralStateManager, statusCallback?: ((statuses: TransactionManagerStatuses) => void) | undefined, txType?: TransactionRunType | undefined, priorityFeeSetting?: PriorityFeeSetting, errorsToThrow?: ErrorsToThrow | undefined, retries?: number, retryDelay?: number);
46
47
  private assembleTransactionSets;
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsManager.d.ts","sourceRoot":"","sources":["../../src/transactions/transactionsManager.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKzD,OAAO,EACL,aAAa,EAEd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,kBAAkB,EAElB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAa,MAAM,YAAY,CAAC;AAK7D,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAK5B;AAqCD,qBAAa,eAAe;IAMjB,OAAO,EAAE,CACd,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM;IARtB,oBAAoB,EAAG,MAAM,EAAE,CAAC;IAChC,EAAE,CAAC,EAAE,kBAAkB,CAAC;IACjB,WAAW,EAAE,OAAO,CAAS;gBAG3B,OAAO,EAAE,CACd,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,EACxC,IAAI,CAAC,EAAE,MAAM,YAAA;IAGhB,UAAU;IAKV,OAAO,CAAC,UAAU,EAAE,MAAM;IAMhC,cAAc,IAAI,MAAM,EAAE;CAY3B;AAgFD,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EAAE,CAAC;AAEJ,qBAAa,mBAAmB;IAK5B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;IAVpB,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,YAAY,CAAe;gBAGzB,SAAS,EAAE,aAAa,GAAG,oBAAoB,EAC/C,cAAc,CAAC,GAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,aAAA,EAC/D,MAAM,CAAC,EAAE,kBAAkB,YAAA,EAC3B,kBAAkB,GAAE,kBAA2C,EAC/D,aAAa,CAAC,EAAE,aAAa,YAAA,EAC7B,OAAO,GAAE,MAAU,EACnB,UAAU,GAAE,MAAY;YAQpB,uBAAuB;IAwCrC,OAAO,CAAC,YAAY;YA8CN,aAAa;IAoB3B,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,mBAAmB;YAMb,SAAS;IAgBV,UAAU,CACrB,YAAY,EAAE,eAAe,EAAE,GAC9B,OAAO,CAAC,0BAA0B,CAAC;IAyDzB,IAAI,CACf,KAAK,EAAE,eAAe,EAAE,GACvB,OAAO,CAAC,0BAA0B,CAAC;YA+BxB,qBAAqB;YAiDrB,cAAc;YAyBd,eAAe;CAkD9B"}
1
+ {"version":3,"file":"transactionsManager.d.ts","sourceRoot":"","sources":["../../src/transactions/transactionsManager.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKzD,OAAO,EACL,aAAa,EAEd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,kBAAkB,EAElB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAa,MAAM,YAAY,CAAC;AAO7D,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAK5B;AAqCD,qBAAa,eAAe;IAMjB,OAAO,EAAE,CACd,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM;IARtB,oBAAoB,EAAG,MAAM,EAAE,CAAC;IAChC,EAAE,CAAC,EAAE,kBAAkB,CAAC;IACjB,WAAW,EAAE,OAAO,CAAS;gBAG3B,OAAO,EAAE,CACd,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,EACxC,IAAI,CAAC,EAAE,MAAM,YAAA;IAGhB,UAAU;IAKV,OAAO,CAAC,UAAU,EAAE,MAAM;IAMhC,cAAc,IAAI,MAAM,EAAE;CAY3B;AAmFD,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EAAE,CAAC;AAEJ,qBAAa,mBAAmB;IAM5B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;IAXpB,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,YAAY,CAAe;gBAGzB,SAAS,EAAE,aAAa,GAAG,oBAAoB,EAC/C,cAAc,CAAC,GAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,aAAA,EAC/D,MAAM,CAAC,EAAE,kBAAkB,YAAA,EAC3B,kBAAkB,GAAE,kBAA2C,EAC/D,aAAa,CAAC,EAAE,aAAa,YAAA,EAC7B,OAAO,GAAE,MAAU,EACnB,UAAU,GAAE,MAAY;YAQpB,uBAAuB;IAwCrC,OAAO,CAAC,YAAY;YA8CN,aAAa;IAoB3B,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,mBAAmB;YAMb,SAAS;IAgBV,UAAU,CACrB,YAAY,EAAE,eAAe,EAAE,GAC9B,OAAO,CAAC,0BAA0B,CAAC;IA+DzB,IAAI,CACf,KAAK,EAAE,eAAe,EAAE,GACvB,OAAO,CAAC,0BAA0B,CAAC;YAgCxB,qBAAqB;YAiDrB,cAAc;YAkCd,eAAe;CAkD9B"}
@@ -12,6 +12,7 @@ const transactionUtils_1 = require("./transactionUtils");
12
12
  const types_1 = require("../types");
13
13
  const web3_js_1 = require("@solana/web3.js");
14
14
  // import { sendJitoBundledTransactions } from "../utils/jitoUtils";
15
+ const CHORES_TX_NAME = "account chores";
15
16
  class TransactionTooLargeError extends Error {
16
17
  constructor(message) {
17
18
  super(message);
@@ -111,9 +112,12 @@ class TransactionSet {
111
112
  return Array.from(new Set(this.items.map((x) => x.lookupTableAddresses).flat()));
112
113
  }
113
114
  name() {
114
- const names = this.items
115
+ let names = this.items
115
116
  .filter((x) => x.tx && x.name !== undefined)
116
117
  .map((x) => x.name.toLowerCase());
118
+ if (names.length > 1) {
119
+ names = names.filter((x) => x !== CHORES_TX_NAME);
120
+ }
117
121
  if (names.length >= 3) {
118
122
  return [names.slice(0, -1).join(", "), names[names.length - 1]].join(", and ");
119
123
  }
@@ -140,6 +144,7 @@ class TransactionsManager {
140
144
  this.retries = retries;
141
145
  this.retryDelay = retryDelay;
142
146
  this.statuses = [];
147
+ this.statusesStartIdx = 0;
143
148
  this.lookupTables = new LookupTables(this.txHandler.defaultLookupTables(), this.txHandler.umi);
144
149
  }
145
150
  async assembleTransactionSets(items) {
@@ -260,13 +265,13 @@ class TransactionsManager {
260
265
  choresBefore.prepend(updateLookupTable.tx);
261
266
  }
262
267
  if (choresBefore.getInstructions().length > 0) {
263
- const chore = new TransactionItem(async () => ({ tx: choresBefore }), "account chores");
268
+ const chore = new TransactionItem(async () => ({ tx: choresBefore }), CHORES_TX_NAME);
264
269
  await chore.initialize();
265
270
  items.unshift(chore);
266
271
  this.txHandler.log("Chores before: ", choresBefore.getInstructions().length);
267
272
  }
268
273
  if (choresAfter.getInstructions().length > 0) {
269
- const chore = new TransactionItem(async () => ({ tx: choresAfter }));
274
+ const chore = new TransactionItem(async () => ({ tx: choresAfter }), CHORES_TX_NAME);
270
275
  await chore.initialize();
271
276
  items.push(chore);
272
277
  this.txHandler.log("Chores after: ", choresAfter.getInstructions().length);
@@ -290,6 +295,7 @@ class TransactionsManager {
290
295
  }
291
296
  this.txHandler.log("Transaction items:", items.length);
292
297
  const itemSets = await this.assembleTransactionSets(items);
298
+ this.statusesStartIdx = this.statuses.length;
293
299
  this.updateStatusForSets(itemSets);
294
300
  this.txHandler.log("Initial item sets:", itemSets.length);
295
301
  if (this.txType === "only-simulate" && itemSets.length > 1) {
@@ -334,6 +340,11 @@ class TransactionsManager {
334
340
  ...itemSets.slice(currentIndex + 1).flatMap((set) => set.items),
335
341
  ]);
336
342
  if (newItemSets.length > 1) {
343
+ this.statuses.splice(this.statusesStartIdx + 1, itemSets.length - 1, ...newItemSets.map((x, i) => ({
344
+ name: x.name(),
345
+ status: TransactionStatus.Queued,
346
+ attemptNum: i === 0 ? attemptNum : 0,
347
+ })));
337
348
  itemSets.splice(currentIndex + 1, itemSets.length - currentIndex - 1, ...newItemSets.slice(1));
338
349
  this.updateStatusForSets(newItemSets.slice(1));
339
350
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.256",
3
+ "version": "1.0.258",
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",
@@ -26,6 +26,8 @@ import { TransactionExpiredBlockheightExceededError } from "@solana/web3.js";
26
26
  import { toWeb3JsPublicKey } from "@metaplex-foundation/umi-web3js-adapters";
27
27
  // import { sendJitoBundledTransactions } from "../utils/jitoUtils";
28
28
 
29
+ const CHORES_TX_NAME = "account chores";
30
+
29
31
  export class TransactionTooLargeError extends Error {
30
32
  constructor(message: string) {
31
33
  super(message);
@@ -171,9 +173,12 @@ class TransactionSet {
171
173
  }
172
174
 
173
175
  name(): string {
174
- const names = this.items
176
+ let names = this.items
175
177
  .filter((x) => x.tx && x.name !== undefined)
176
178
  .map((x) => x.name!.toLowerCase());
179
+ if (names.length > 1) {
180
+ names = names.filter((x) => x !== CHORES_TX_NAME);
181
+ }
177
182
  if (names.length >= 3) {
178
183
  return [names.slice(0, -1).join(", "), names[names.length - 1]].join(
179
184
  ", and "
@@ -203,6 +208,7 @@ export type TransactionManagerStatuses = {
203
208
 
204
209
  export class TransactionsManager {
205
210
  private statuses: TransactionManagerStatuses = [];
211
+ private statusesStartIdx: number = 0;
206
212
  private lookupTables: LookupTables;
207
213
 
208
214
  constructor(
@@ -387,7 +393,10 @@ export class TransactionsManager {
387
393
  choresBefore.prepend(updateLookupTable.tx);
388
394
  }
389
395
  if (choresBefore.getInstructions().length > 0) {
390
- const chore = new TransactionItem(async () => ({ tx: choresBefore }), "account chores");
396
+ const chore = new TransactionItem(
397
+ async () => ({ tx: choresBefore }),
398
+ CHORES_TX_NAME
399
+ );
391
400
  await chore.initialize();
392
401
  items.unshift(chore);
393
402
  this.txHandler.log(
@@ -396,7 +405,10 @@ export class TransactionsManager {
396
405
  );
397
406
  }
398
407
  if (choresAfter.getInstructions().length > 0) {
399
- const chore = new TransactionItem(async () => ({ tx: choresAfter }));
408
+ const chore = new TransactionItem(
409
+ async () => ({ tx: choresAfter }),
410
+ CHORES_TX_NAME
411
+ );
400
412
  await chore.initialize();
401
413
  items.push(chore);
402
414
  this.txHandler.log(
@@ -431,6 +443,7 @@ export class TransactionsManager {
431
443
 
432
444
  this.txHandler.log("Transaction items:", items.length);
433
445
  const itemSets = await this.assembleTransactionSets(items);
446
+ this.statusesStartIdx = this.statuses.length;
434
447
  this.updateStatusForSets(itemSets);
435
448
  this.txHandler.log("Initial item sets:", itemSets.length);
436
449
 
@@ -513,6 +526,15 @@ export class TransactionsManager {
513
526
  ]);
514
527
 
515
528
  if (newItemSets.length > 1) {
529
+ this.statuses.splice(
530
+ this.statusesStartIdx + 1,
531
+ itemSets.length - 1,
532
+ ...newItemSets.map((x, i) => ({
533
+ name: x.name(),
534
+ status: TransactionStatus.Queued,
535
+ attemptNum: i === 0 ? attemptNum : 0,
536
+ }))
537
+ );
516
538
  itemSets.splice(
517
539
  currentIndex + 1,
518
540
  itemSets.length - currentIndex - 1,