@haven-fi/solauto-sdk 1.0.548 → 1.0.550
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/transactions/transactionsManager.d.ts +1 -0
- package/dist/transactions/transactionsManager.d.ts.map +1 -1
- package/dist/transactions/transactionsManager.js +7 -4
- package/dist/types/solauto.d.ts +1 -0
- package/dist/types/solauto.d.ts.map +1 -1
- package/dist/utils/solauto/rebalanceUtils.js +1 -1
- package/package.json +1 -1
- package/src/transactions/transactionsManager.ts +8 -4
- package/src/types/solauto.ts +1 -0
- package/src/utils/solauto/rebalanceUtils.ts +1 -1
@@ -11,6 +11,7 @@ export declare class TransactionItem {
|
|
11
11
|
name?: string | undefined;
|
12
12
|
lookupTableAddresses: string[];
|
13
13
|
tx?: TransactionBuilder;
|
14
|
+
orderPrio: number;
|
14
15
|
initialized: boolean;
|
15
16
|
constructor(fetchTx: (attemptNum: number) => Promise<TransactionItemInputs | undefined>, name?: string | undefined);
|
16
17
|
initialize(): Promise<void>;
|
@@ -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;AAMzD,OAAO,EAEL,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;AAa7D,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAK5B;AAqCD,qBAAa,eAAe;
|
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;AAMzD,OAAO,EAEL,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;AAa7D,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAK5B;AAqCD,qBAAa,eAAe;IAOjB,OAAO,EAAE,CACd,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM;IATtB,oBAAoB,EAAG,MAAM,EAAE,CAAC;IAChC,EAAE,CAAC,EAAE,kBAAkB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAI;IACd,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;IAOhC,cAAc,IAAI,MAAM,EAAE;CAY3B;AAqGD,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,qBAAa,mBAAmB;IAU5B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,aAAa,CAAC;IAdxB,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAE3B,kBAAkB,SAAmB;gBAG3B,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,UAAU,GAAE,OAAe,EAC3B,aAAa,CAAC,EAAE,aAAa,YAAA,EACrC,WAAW,CAAC,EAAE,WAAW;YAab,uBAAuB;IA0CrC,OAAO,CAAC,YAAY;YA6CN,aAAa;IAoB3B,OAAO,CAAC,4BAA4B;IAgBpC,OAAO,CAAC,mBAAmB;YAoBb,SAAS;IAiBV,UAAU,CACrB,YAAY,EAAE,eAAe,EAAE,GAC9B,OAAO,CAAC,0BAA0B,CAAC;IA0GzB,IAAI,CACf,KAAK,EAAE,eAAe,EAAE,GACvB,OAAO,CAAC,0BAA0B,CAAC;YAkCxB,6BAA6B;YA4I7B,qBAAqB;YAoDrB,eAAe;YAwDf,eAAe;CA4D9B"}
|
@@ -49,6 +49,7 @@ class TransactionItem {
|
|
49
49
|
constructor(fetchTx, name) {
|
50
50
|
this.fetchTx = fetchTx;
|
51
51
|
this.name = name;
|
52
|
+
this.orderPrio = 0;
|
52
53
|
this.initialized = false;
|
53
54
|
}
|
54
55
|
async initialize() {
|
@@ -59,6 +60,7 @@ class TransactionItem {
|
|
59
60
|
const resp = await this.fetchTx(attemptNum);
|
60
61
|
this.tx = resp?.tx;
|
61
62
|
this.lookupTableAddresses = resp?.lookupTableAddresses ?? [];
|
63
|
+
this.orderPrio = resp?.orderPrio ?? 0;
|
62
64
|
}
|
63
65
|
uniqueAccounts() {
|
64
66
|
return Array.from(new Set(this.tx.getInstructions()
|
@@ -167,8 +169,9 @@ class TransactionsManager {
|
|
167
169
|
async assembleTransactionSets(items) {
|
168
170
|
let transactionSets = [];
|
169
171
|
this.txHandler.log(`Reassembling ${items.length} items`);
|
170
|
-
|
171
|
-
|
172
|
+
const txItems = [...items.sort((a, b) => a.orderPrio - b.orderPrio)];
|
173
|
+
for (let i = txItems.length - 1; i >= 0;) {
|
174
|
+
let item = txItems[i];
|
172
175
|
i--;
|
173
176
|
if (!item.tx) {
|
174
177
|
continue;
|
@@ -182,8 +185,8 @@ class TransactionsManager {
|
|
182
185
|
item,
|
183
186
|
]);
|
184
187
|
for (let j = i; j >= 0; j--) {
|
185
|
-
if (await newSet.fitsWith(
|
186
|
-
newSet.prepend(
|
188
|
+
if (await newSet.fitsWith(txItems[j])) {
|
189
|
+
newSet.prepend(txItems[j]);
|
187
190
|
i--;
|
188
191
|
}
|
189
192
|
else {
|
package/dist/types/solauto.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solauto.d.ts","sourceRoot":"","sources":["../../src/types/solauto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,oBAAY,kBAAkB;IAC5B,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,OAAO,WAAW;IAClB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,wBAAwB,EAAwC,kBAAkB,EAAE,CAAC;AAElG,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,eAAe,GAAG,QAAQ,CAAC;AAEhF,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,kBAAkB,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"solauto.d.ts","sourceRoot":"","sources":["../../src/types/solauto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,oBAAY,kBAAkB;IAC5B,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,OAAO,WAAW;IAClB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,wBAAwB,EAAwC,kBAAkB,EAAE,CAAC;AAElG,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,eAAe,GAAG,QAAQ,CAAC;AAEhF,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,kBAAkB,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
@@ -176,7 +176,7 @@ async function getFlashLoanRequirements(client, values, attemptNum) {
|
|
176
176
|
!sufficientSignerSupplyLiquidity;
|
177
177
|
}
|
178
178
|
else {
|
179
|
-
throw new Error(`
|
179
|
+
throw new Error(`Insufficient liquidity to perform the transaction`);
|
180
180
|
}
|
181
181
|
}
|
182
182
|
(0, generalUtils_2.consoleLog)("Requires flash loan:", requiresFlashLoan);
|
package/package.json
CHANGED
@@ -82,6 +82,7 @@ class LookupTables {
|
|
82
82
|
export class TransactionItem {
|
83
83
|
lookupTableAddresses!: string[];
|
84
84
|
tx?: TransactionBuilder;
|
85
|
+
orderPrio: number= 0;
|
85
86
|
public initialized: boolean = false;
|
86
87
|
|
87
88
|
constructor(
|
@@ -100,6 +101,7 @@ export class TransactionItem {
|
|
100
101
|
const resp = await this.fetchTx(attemptNum);
|
101
102
|
this.tx = resp?.tx;
|
102
103
|
this.lookupTableAddresses = resp?.lookupTableAddresses ?? [];
|
104
|
+
this.orderPrio = resp?.orderPrio ?? 0;
|
103
105
|
}
|
104
106
|
|
105
107
|
uniqueAccounts(): string[] {
|
@@ -273,8 +275,10 @@ export class TransactionsManager {
|
|
273
275
|
let transactionSets: TransactionSet[] = [];
|
274
276
|
this.txHandler.log(`Reassembling ${items.length} items`);
|
275
277
|
|
276
|
-
|
277
|
-
|
278
|
+
const txItems = [...items.sort((a, b) => a.orderPrio - b.orderPrio)];
|
279
|
+
|
280
|
+
for (let i = txItems.length - 1; i >= 0; ) {
|
281
|
+
let item = txItems[i];
|
278
282
|
i--;
|
279
283
|
|
280
284
|
if (!item.tx) {
|
@@ -293,8 +297,8 @@ export class TransactionsManager {
|
|
293
297
|
item,
|
294
298
|
]);
|
295
299
|
for (let j = i; j >= 0; j--) {
|
296
|
-
if (await newSet.fitsWith(
|
297
|
-
newSet.prepend(
|
300
|
+
if (await newSet.fitsWith(txItems[j])) {
|
301
|
+
newSet.prepend(txItems[j]);
|
298
302
|
i--;
|
299
303
|
} else {
|
300
304
|
break;
|
package/src/types/solauto.ts
CHANGED
@@ -377,7 +377,7 @@ export async function getFlashLoanRequirements(
|
|
377
377
|
!sufficientSignerSupplyLiquidity;
|
378
378
|
} else {
|
379
379
|
throw new Error(
|
380
|
-
`
|
380
|
+
`Insufficient liquidity to perform the transaction`
|
381
381
|
);
|
382
382
|
}
|
383
383
|
}
|