@haven-fi/solauto-sdk 1.0.711 → 1.0.712

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.
@@ -55,6 +55,7 @@ export declare class TransactionsManager<T extends TxHandler> {
55
55
  protected getUpdatedPriorityFeeSetting(prevError: Error | undefined, attemptNum: number): PriorityFeeSetting;
56
56
  private updateStatusForSets;
57
57
  send(items: TransactionItem[]): Promise<TransactionManagerStatuses>;
58
+ private shouldProceedToSend;
58
59
  private processTransactionsAtomically;
59
60
  private processTransactionSet;
60
61
  private refreshItemSets;
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsManager.d.ts","sourceRoot":"","sources":["../../../../src/services/transactions/manager/transactionsManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAElB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,aAAa,EAId,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAkB,MAAM,UAAU,CAAC;AAEzE,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAK5B;AAED,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,UAAU,WAAW;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,SAAS;IAC1D,SAAS,EAAE,CAAC,CAAC;IACb,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAChE,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,qBAAa,mBAAmB,CAAC,CAAC,SAAS,SAAS;IAClD,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;IACvB,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAC1E,SAAS,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IACzC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACjD,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACxC,SAAS,CAAC,QAAQ,EAAE,0BAA0B,CAAM;IACpD,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAE7B,kBAAkB,SAAmB;gBAEzB,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC;YAmB9B,uBAAuB;IA0CrC,OAAO,CAAC,YAAY;YA6CN,aAAa;IAoB3B,SAAS,CAAC,4BAA4B,CACpC,SAAS,EAAE,KAAK,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM;IAcpB,OAAO,CAAC,mBAAmB;IAoBd,IAAI,CACf,KAAK,EAAE,eAAe,EAAE,GACvB,OAAO,CAAC,0BAA0B,CAAC;YA8BxB,6BAA6B;YAiJ7B,qBAAqB;YAiDrB,eAAe;cA2Db,eAAe,CAC7B,EAAE,EAAE,kBAAkB,EACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,SAAS,CAAC,EAAE,kBAAkB;CAyDjC"}
1
+ {"version":3,"file":"transactionsManager.d.ts","sourceRoot":"","sources":["../../../../src/services/transactions/manager/transactionsManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAElB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,aAAa,EAId,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAkB,MAAM,UAAU,CAAC;AAEzE,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAK5B;AAED,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,UAAU,WAAW;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,SAAS;IAC1D,SAAS,EAAE,CAAC,CAAC;IACb,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAChE,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,qBAAa,mBAAmB,CAAC,CAAC,SAAS,SAAS;IAClD,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;IACvB,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAC1E,SAAS,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IACzC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACjD,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACxC,SAAS,CAAC,QAAQ,EAAE,0BAA0B,CAAM;IACpD,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAE7B,kBAAkB,SAAmB;gBAEzB,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC;YAmB9B,uBAAuB;IA0CrC,OAAO,CAAC,YAAY;YA6CN,aAAa;IAoB3B,SAAS,CAAC,4BAA4B,CACpC,SAAS,EAAE,KAAK,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM;IAcpB,OAAO,CAAC,mBAAmB;IAoBd,IAAI,CACf,KAAK,EAAE,eAAe,EAAE,GACvB,OAAO,CAAC,0BAA0B,CAAC;IA8BtC,OAAO,CAAC,mBAAmB;YAoBb,6BAA6B;YAwJ7B,qBAAqB;YAmDrB,eAAe;cAkDb,eAAe,CAC7B,EAAE,EAAE,kBAAkB,EACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,SAAS,CAAC,EAAE,kBAAkB;CAyDjC"}
@@ -165,6 +165,19 @@ class TransactionsManager {
165
165
  }
166
166
  return this.statuses;
167
167
  }
168
+ shouldProceedToSend(itemSets, attemptNum) {
169
+ if (!itemSets) {
170
+ return false;
171
+ }
172
+ const newItemSetNames = itemSets.flatMap((x) => x.items.map((y) => y.name ?? ""));
173
+ if (newItemSetNames.length === 1 &&
174
+ newItemSetNames[0] === this.updateOracleTxName) {
175
+ (0, utils_1.consoleLog)("Skipping unnecessary oracle update");
176
+ this.updateStatusForSets(itemSets, TransactionStatus.Skipped, attemptNum);
177
+ return false;
178
+ }
179
+ return true;
180
+ }
168
181
  async processTransactionsAtomically(itemSets) {
169
182
  let num = 0;
170
183
  let priorityFeeSetting;
@@ -186,6 +199,9 @@ class TransactionsManager {
186
199
  itemSets = refreshedSets;
187
200
  }
188
201
  }
202
+ if (!this.shouldProceedToSend(itemSets, attemptNum)) {
203
+ return;
204
+ }
189
205
  transactions = [];
190
206
  for (const set of itemSets) {
191
207
  transactions.push(await set.getSingleTransaction());
@@ -242,8 +258,9 @@ class TransactionsManager {
242
258
  const refreshedSets = await this.refreshItemSets(itemSets, attemptNum, prevError, currentIndex);
243
259
  itemSet = refreshedSets ? refreshedSets[0] : undefined;
244
260
  }
245
- if (!itemSet)
261
+ if (!itemSet || !this.shouldProceedToSend([itemSet], attemptNum)) {
246
262
  return;
263
+ }
247
264
  const tx = await itemSet.getSingleTransaction();
248
265
  if (tx.getInstructions().length === 0) {
249
266
  this.updateStatus(itemSet.name(), TransactionStatus.Skipped, attemptNum);
@@ -272,12 +289,6 @@ class TransactionsManager {
272
289
  ...itemSets.slice(currentIndex + 1).flatMap((set) => set.items),
273
290
  ]
274
291
  : itemSets.flatMap((set) => set.items));
275
- const newItemSetNames = newItemSets.map((x) => x.name());
276
- if (newItemSetNames.length === 1 &&
277
- newItemSetNames[0] === this.updateOracleTxName) {
278
- (0, utils_1.consoleLog)("Skipping unnecessary oracle update");
279
- return undefined;
280
- }
281
292
  if (currentIndex !== undefined && newItemSets.length > 1) {
282
293
  itemSets.splice(currentIndex, itemSets.length - currentIndex, ...newItemSets);
283
294
  const startOfQueuedStatuses = this.statuses.findIndex((x) => x.status === TransactionStatus.Queued);
@@ -47,8 +47,8 @@ export async function main() {
47
47
  });
48
48
 
49
49
  await client.initializeExistingSolautoPosition({
50
- positionId: 2,
51
- authority: new PublicKey("EBhRj7jbF2EVE21i19JSuCX1BAbnZFYhoKW64HnaZ3kf"),
50
+ positionId: 1,
51
+ authority: new PublicKey("96929DasYJ2nbfdsFmUNzns2BQ9wKVfXbNoUDbc9zFUS"),
52
52
  // lpUserAccount: new PublicKey(
53
53
  // "GEokw9jqbh6d1xUNA3qaeYFFetbSR5Y1nt7C3chwwgSz"
54
54
  // ),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.711",
3
+ "version": "1.0.712",
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",
@@ -267,6 +267,26 @@ export class TransactionsManager<T extends TxHandler> {
267
267
  return this.statuses;
268
268
  }
269
269
 
270
+ private shouldProceedToSend(itemSets: TransactionSet[], attemptNum: number) {
271
+ if (!itemSets) {
272
+ return false;
273
+ }
274
+
275
+ const newItemSetNames = itemSets.flatMap((x) =>
276
+ x.items.map((y) => y.name ?? "")
277
+ );
278
+ if (
279
+ newItemSetNames.length === 1 &&
280
+ newItemSetNames[0] === this.updateOracleTxName
281
+ ) {
282
+ consoleLog("Skipping unnecessary oracle update");
283
+ this.updateStatusForSets(itemSets, TransactionStatus.Skipped, attemptNum);
284
+ return false;
285
+ }
286
+
287
+ return true;
288
+ }
289
+
270
290
  private async processTransactionsAtomically(itemSets: TransactionSet[]) {
271
291
  let num = 0;
272
292
  let priorityFeeSetting: PriorityFeeSetting;
@@ -283,7 +303,10 @@ export class TransactionsManager<T extends TxHandler> {
283
303
  }
284
304
 
285
305
  num = attemptNum;
286
- priorityFeeSetting = this.getUpdatedPriorityFeeSetting(prevError, attemptNum);
306
+ priorityFeeSetting = this.getUpdatedPriorityFeeSetting(
307
+ prevError,
308
+ attemptNum
309
+ );
287
310
 
288
311
  if (attemptNum > 0) {
289
312
  const refreshedSets = await this.refreshItemSets(
@@ -298,6 +321,10 @@ export class TransactionsManager<T extends TxHandler> {
298
321
  }
299
322
  }
300
323
 
324
+ if (!this.shouldProceedToSend(itemSets, attemptNum)) {
325
+ return;
326
+ }
327
+
301
328
  transactions = [];
302
329
  for (const set of itemSets) {
303
330
  transactions.push(await set.getSingleTransaction());
@@ -436,7 +463,9 @@ export class TransactionsManager<T extends TxHandler> {
436
463
  );
437
464
  itemSet = refreshedSets ? refreshedSets[0] : undefined;
438
465
  }
439
- if (!itemSet) return;
466
+ if (!itemSet || !this.shouldProceedToSend([itemSet], attemptNum)) {
467
+ return;
468
+ }
440
469
 
441
470
  const tx = await itemSet.getSingleTransaction();
442
471
  if (tx.getInstructions().length === 0) {
@@ -487,15 +516,6 @@ export class TransactionsManager<T extends TxHandler> {
487
516
  : itemSets.flatMap((set) => set.items)
488
517
  );
489
518
 
490
- const newItemSetNames = newItemSets.map((x) => x.name());
491
- if (
492
- newItemSetNames.length === 1 &&
493
- newItemSetNames[0] === this.updateOracleTxName
494
- ) {
495
- consoleLog("Skipping unnecessary oracle update");
496
- return undefined;
497
- }
498
-
499
519
  if (currentIndex !== undefined && newItemSets.length > 1) {
500
520
  itemSets.splice(
501
521
  currentIndex,