@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.
- package/dist/services/transactions/manager/transactionsManager.d.ts +1 -0
- package/dist/services/transactions/manager/transactionsManager.d.ts.map +1 -1
- package/dist/services/transactions/manager/transactionsManager.js +18 -7
- package/local/txSandbox.ts +2 -2
- package/package.json +1 -1
- package/src/services/transactions/manager/transactionsManager.ts +31 -11
@@ -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;
|
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);
|
package/local/txSandbox.ts
CHANGED
@@ -47,8 +47,8 @@ export async function main() {
|
|
47
47
|
});
|
48
48
|
|
49
49
|
await client.initializeExistingSolautoPosition({
|
50
|
-
positionId:
|
51
|
-
authority: new PublicKey("
|
50
|
+
positionId: 1,
|
51
|
+
authority: new PublicKey("96929DasYJ2nbfdsFmUNzns2BQ9wKVfXbNoUDbc9zFUS"),
|
52
52
|
// lpUserAccount: new PublicKey(
|
53
53
|
// "GEokw9jqbh6d1xUNA3qaeYFFetbSR5Y1nt7C3chwwgSz"
|
54
54
|
// ),
|
package/package.json
CHANGED
@@ -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(
|
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)
|
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,
|