@hawksightco/hawk-sdk 1.1.36 → 1.1.38

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.
@@ -79,5 +79,6 @@ export declare class CreateTxMetadata {
79
79
  * @throws Error if there is an issue in constructing the transaction or during simulation which includes logs of errors.
80
80
  */
81
81
  createTxMetadata(generalUtility: GeneralUtility, connection: web3.Connection, payer: string, data: TransactionMetadataResponse): Promise<TransactionMetadata>;
82
+ createTxMetadata2(generalUtility: GeneralUtility, connection: web3.Connection, payer: string, data: TransactionMetadataResponse): Promise<TransactionMetadata[]>;
82
83
  }
83
84
  //# sourceMappingURL=CreateTxMetadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateTxMetadata.d.ts","sourceRoot":"","sources":["../../../src/classes/CreateTxMetadata.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD;;;GAGG;AACH,qBAAa,gBAAgB;IAE3B,OAAO;IAEP,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU;IAEzC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAmB;IAE3C;;;;OAIG;IACH,MAAM,CAAC,QAAQ,IAAI,gBAAgB;IAOnC,OAAO,CAAC,IAAI,CAaV;IAEF;;OAEG;IACG,IAAI;IAIV;;OAEG;IACG,UAAU;IAUhB;;;;;;;OAOG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC;IAcvG;;;;;OAKG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAIzE;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,yBAAyB;IAI7D;;;;;;OAMG;IACG,WAAW,CACf,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC;IA4B5C;;;;;;;;;;;;;;;OAeG;IACG,gBAAgB,CACpB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,mBAAmB,CAAC;CAyDhC"}
1
+ {"version":3,"file":"CreateTxMetadata.d.ts","sourceRoot":"","sources":["../../../src/classes/CreateTxMetadata.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD;;;GAGG;AACH,qBAAa,gBAAgB;IAE3B,OAAO;IAEP,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU;IAEzC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAmB;IAE3C;;;;OAIG;IACH,MAAM,CAAC,QAAQ,IAAI,gBAAgB;IAOnC,OAAO,CAAC,IAAI,CAaV;IAEF;;OAEG;IACG,IAAI;IAIV;;OAEG;IACG,UAAU;IAUhB;;;;;;;OAOG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC;IAcvG;;;;;OAKG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAIzE;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,yBAAyB;IAI7D;;;;;;OAMG;IACG,WAAW,CACf,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC;IA4B5C;;;;;;;;;;;;;;;OAeG;IACG,gBAAgB,CACpB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,mBAAmB,CAAC;IA0DzB,iBAAiB,CACrB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,mBAAmB,EAAE,CAAC;CAmFlC"}
@@ -36,6 +36,7 @@ exports.CreateTxMetadata = void 0;
36
36
  const web3 = __importStar(require("@solana/web3.js"));
37
37
  const Transaction_1 = require("./Transaction");
38
38
  const Logging_1 = require("./Logging");
39
+ const TransactionBatchExecute2_1 = require("./TransactionBatchExecute2");
39
40
  /**
40
41
  * The CreateTxMetadata class is responsible for creating and managing transaction metadata,
41
42
  * including handling address lookup tables and constructing transactions with the necessary parameters.
@@ -245,5 +246,68 @@ class CreateTxMetadata {
245
246
  };
246
247
  });
247
248
  }
249
+ createTxMetadata2(generalUtility, connection, payer, data) {
250
+ return __awaiter(this, void 0, void 0, function* () {
251
+ // Retrieve address lookup table accounts
252
+ const alts = [];
253
+ (0, Logging_1.Log)(`createTxMetadata2`);
254
+ const mainStartTime = new Date().getTime() / 1000;
255
+ // Find jup alts
256
+ let startTime = mainStartTime;
257
+ const jupAlts = yield generalUtility.findAltWithTxPost({ transaction: data });
258
+ (0, Logging_1.Log)(`createTxMetadata2: Checkpoint: (jupAlts) ${(new Date().getTime() / 1000) - startTime}`);
259
+ startTime = new Date().getTime() / 1000;
260
+ const lookupTableAddresses = data.addressLookupTableAddresses.map(p => new web3.PublicKey(p));
261
+ if (jupAlts.status === 200) {
262
+ lookupTableAddresses.push(...jupAlts.data.map(p => new web3.PublicKey(p)));
263
+ }
264
+ (0, Logging_1.Log)(`createTxMetadata2: Checkpoint: (jupAlts after loop) ${(new Date().getTime() / 1000) - startTime}`);
265
+ // Get the recent blockhash
266
+ startTime = new Date().getTime() / 1000;
267
+ const latestBlockhash = yield connection.getLatestBlockhash();
268
+ (0, Logging_1.Log)(`createTxMetadata2: Checkpoint: (latestBlockhash) ${(new Date().getTime() / 1000) - startTime}`);
269
+ startTime = new Date().getTime() / 1000;
270
+ const batchExecute = new TransactionBatchExecute2_1.TransactionBatchExecute2(lookupTableAddresses, data.mainInstructions.map(ix => {
271
+ const keys = ix.accounts.map(meta => {
272
+ return {
273
+ pubkey: new web3.PublicKey(meta.pubkey),
274
+ isSigner: meta.isSigner,
275
+ isWritable: meta.isWritable,
276
+ };
277
+ });
278
+ return {
279
+ keys,
280
+ programId: new web3.PublicKey(ix.programId),
281
+ data: Buffer.from(ix.data, 'base64'),
282
+ };
283
+ }), connection, this, latestBlockhash, new web3.PublicKey(payer));
284
+ (0, Logging_1.Log)(`createTxMetadata2: Checkpoint: Create 'batchExecute' instance ${(new Date().getTime() / 1000) - startTime}`);
285
+ startTime = new Date().getTime() / 1000;
286
+ const batch = yield batchExecute.buildBatch();
287
+ (0, Logging_1.Log)(`createTxMetadata2: Checkpoint: Create batch of transactions ${(new Date().getTime() / 1000) - startTime}`);
288
+ (0, Logging_1.Log)(`Number of transactions: ${batch.length}`);
289
+ startTime = new Date().getTime() / 1000;
290
+ const txMetadata = [];
291
+ let i = 0;
292
+ for (const tx of batch) {
293
+ let description = data.description;
294
+ if (batch.length > 1) {
295
+ description = `${description} #${i + 1}`;
296
+ }
297
+ const alts = batchExecute.findRequiredAltsForBatch2(tx);
298
+ // Create initial transaction instance
299
+ const transaction = new Transaction_1.Transaction(data, new web3.PublicKey(payer), latestBlockhash, alts, generalUtility, tx);
300
+ txMetadata.push({
301
+ description,
302
+ estimatedFeeInSOL: data.estimatedFeeInSOL,
303
+ transaction,
304
+ });
305
+ }
306
+ (0, Logging_1.Log)(`createTxMetadata2: Checkpoint: Generated multiple transaction metadata ${(new Date().getTime() / 1000) - startTime}`);
307
+ (0, Logging_1.Log)(`createTxMetadata2: Elapsed time: ${(new Date().getTime() / 1000) - mainStartTime}`);
308
+ // Return transaction metadata
309
+ return txMetadata;
310
+ });
311
+ }
248
312
  }
249
313
  exports.CreateTxMetadata = CreateTxMetadata;
@@ -39,7 +39,7 @@ export declare class Transaction {
39
39
  * @param recentBlockhash The blockhash of a recent ledger entry
40
40
  * @param alts Address lookup tables that optimize account address storage
41
41
  */
42
- constructor(txMetadataResponse: TransactionMetadataResponse, payerKey: web3.PublicKey, latestBlockhash: web3.BlockhashWithExpiryBlockHeight, alts: web3.AddressLookupTableAccount[], generalUtility: GeneralUtility);
42
+ constructor(txMetadataResponse: TransactionMetadataResponse, payerKey: web3.PublicKey, latestBlockhash: web3.BlockhashWithExpiryBlockHeight, alts: web3.AddressLookupTableAccount[], generalUtility: GeneralUtility, _mainIxs?: web3.TransactionInstruction[]);
43
43
  /**
44
44
  * Signs the transaction with provided signers.
45
45
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../src/classes/Transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../src/classes/Transaction.ts"],"names":[],"mappings":"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"}
@@ -71,7 +71,7 @@ class Transaction {
71
71
  * @param recentBlockhash The blockhash of a recent ledger entry
72
72
  * @param alts Address lookup tables that optimize account address storage
73
73
  */
74
- constructor(txMetadataResponse, payerKey, latestBlockhash, alts, generalUtility) {
74
+ constructor(txMetadataResponse, payerKey, latestBlockhash, alts, generalUtility, _mainIxs = []) {
75
75
  this.txMetadataResponse = txMetadataResponse;
76
76
  this.payerKey = payerKey;
77
77
  this.latestBlockhash = latestBlockhash;
@@ -79,20 +79,40 @@ class Transaction {
79
79
  this.generalUtility = generalUtility;
80
80
  /** Estimated fee in SOL for priority fee when addPriorityFee() method is called. */
81
81
  this._priorityFeeEstimate = "";
82
- // Construct main instructions
83
- const mainIxs = txMetadataResponse.mainInstructions.map((ix) => {
84
- return new web3.TransactionInstruction({
85
- keys: ix.accounts.map((meta) => {
82
+ let mainIxs;
83
+ if (_mainIxs.length > 0) {
84
+ mainIxs = _mainIxs;
85
+ txMetadataResponse.mainInstructions = mainIxs.map(ix => {
86
+ const accounts = ix.keys.map(meta => {
86
87
  return {
87
- pubkey: new web3.PublicKey(meta.pubkey),
88
+ pubkey: meta.pubkey.toString(),
88
89
  isSigner: meta.isSigner,
89
90
  isWritable: meta.isWritable,
90
91
  };
91
- }),
92
- programId: new web3.PublicKey(ix.programId),
93
- data: Buffer.from(ix.data, "base64"),
92
+ });
93
+ return {
94
+ accounts,
95
+ programId: ix.programId.toString(),
96
+ data: ix.data.toString('base64'),
97
+ };
94
98
  });
95
- });
99
+ }
100
+ else {
101
+ // Construct main instructions
102
+ mainIxs = txMetadataResponse.mainInstructions.map((ix) => {
103
+ return new web3.TransactionInstruction({
104
+ keys: ix.accounts.map((meta) => {
105
+ return {
106
+ pubkey: new web3.PublicKey(meta.pubkey),
107
+ isSigner: meta.isSigner,
108
+ isWritable: meta.isWritable,
109
+ };
110
+ }),
111
+ programId: new web3.PublicKey(ix.programId),
112
+ data: Buffer.from(ix.data, "base64"),
113
+ });
114
+ });
115
+ }
96
116
  this._instructions = [...mainIxs];
97
117
  const [txMessage, versionedTransaction] = this.buildTransaction(latestBlockhash);
98
118
  this._txMessage = txMessage;
@@ -29,12 +29,16 @@ export declare class TransactionBatchExecute {
29
29
  protected payer: web3.Keypair;
30
30
  protected connection: web3.Connection;
31
31
  protected signers: web3.Keypair[];
32
- protected jupiterAlts: JupiterAlts;
32
+ protected jupiterAlts?: JupiterAlts | undefined;
33
33
  protected readonly MAX_SIZE = 1232;
34
34
  /**
35
35
  * Downloaded address lookup table accounts
36
36
  */
37
37
  protected alts: web3.AddressLookupTableAccount[];
38
+ /**
39
+ * Map of public keys to address lookup table
40
+ */
41
+ protected pubkeyToAlt: Record<string, web3.AddressLookupTableAccount>;
38
42
  /**
39
43
  * Creates an instance of TransactionExecute class
40
44
  *
@@ -44,11 +48,29 @@ export declare class TransactionBatchExecute {
44
48
  * @param connection Connection to mainnet
45
49
  * @param signers Required signers to fulfill the transactions
46
50
  */
47
- constructor(lookupTableAddresses: web3.PublicKey[], instructions: web3.TransactionInstruction[], payer: web3.Keypair, connection: web3.Connection, signers: web3.Keypair[], jupiterAlts: JupiterAlts);
51
+ constructor(lookupTableAddresses: web3.PublicKey[], instructions: web3.TransactionInstruction[], payer: web3.Keypair, connection: web3.Connection, signers?: web3.Keypair[], jupiterAlts?: JupiterAlts | undefined);
52
+ /**
53
+ * Download all jupiter alts (overridable)
54
+ */
55
+ protected jupiterDownloadAlts(): Promise<void>;
56
+ /**
57
+ * Find alt by pubkeys (overridable)
58
+ */
59
+ protected jupiterFindAltByPubkeys(pubkeys: web3.PublicKey[]): Promise<web3.PublicKey[]>;
48
60
  /**
49
61
  * Downoad address lookup table from given cluster
50
62
  */
51
- downloadAlts(): Promise<void>;
63
+ protected downloadAlts(): Promise<void>;
64
+ /**
65
+ * Downoad address lookup table from given cluster
66
+ */
67
+ protected downloadAlts2(lookupTableAddresses: web3.PublicKey[]): Promise<void>;
68
+ /**
69
+ * Map public key to alt
70
+ *
71
+ * @param pubkeys
72
+ */
73
+ private mapPubkeyToAlt;
52
74
  /**
53
75
  * Get list of lookup tables to download
54
76
  */
@@ -111,6 +133,13 @@ export declare class TransactionBatchExecute {
111
133
  * @param batch
112
134
  */
113
135
  protected calculateTransactionSize(latestBlockhash: web3.BlockhashWithExpiryBlockHeight, batch: web3.TransactionInstruction[], dummySigners: DummySigners): number;
136
+ /**
137
+ * Find required signers from instructions
138
+ *
139
+ * @param ixs
140
+ * @param dummySigners
141
+ */
142
+ protected findRequiredSignersFromIxs(ixs: web3.TransactionInstruction[]): web3.PublicKey[];
114
143
  /**
115
144
  * Find required signers from batch
116
145
  *
@@ -125,13 +154,6 @@ export declare class TransactionBatchExecute {
125
154
  * @returns
126
155
  */
127
156
  private findSigningKeypairFromIxs;
128
- /**
129
- * Find required signers from instructions
130
- *
131
- * @param ixs
132
- * @param dummySigners
133
- */
134
- private findRequiredSignersFromIxs;
135
157
  /**
136
158
  * Find required address lookup table addresses for given batch of instructions
137
159
  *
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionBatchExecute.d.ts","sourceRoot":"","sources":["../../../src/classes/TransactionBatchExecute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransactionBatchExecute.d.ts","sourceRoot":"","sources":["../../../src/classes/TransactionBatchExecute.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
35
  exports.TransactionBatchExecute = void 0;
36
36
  const web3 = __importStar(require("@solana/web3.js"));
37
+ const Logging_1 = require("./Logging");
37
38
  /**
38
39
  * Executes transactions in batches
39
40
  */
@@ -59,8 +60,38 @@ class TransactionBatchExecute {
59
60
  * Downloaded address lookup table accounts
60
61
  */
61
62
  this.alts = [];
63
+ /**
64
+ * Map of public keys to address lookup table
65
+ */
66
+ this.pubkeyToAlt = {};
62
67
  }
63
68
  ;
69
+ /**
70
+ * Download all jupiter alts (overridable)
71
+ */
72
+ jupiterDownloadAlts() {
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ if (this.jupiterAlts) {
75
+ yield this.jupiterAlts.downloadAlts();
76
+ }
77
+ else {
78
+ throw new Error('Unexpected error: jupiterDownloadAlts not implemented!');
79
+ }
80
+ });
81
+ }
82
+ /**
83
+ * Find alt by pubkeys (overridable)
84
+ */
85
+ jupiterFindAltByPubkeys(pubkeys) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ if (this.jupiterAlts) {
88
+ return this.jupiterAlts.findAltByPubkeys(pubkeys);
89
+ }
90
+ else {
91
+ throw new Error('Unexpected error: jupiterFindAltByPubkeys not implemented!');
92
+ }
93
+ });
94
+ }
64
95
  /**
65
96
  * Downoad address lookup table from given cluster
66
97
  */
@@ -69,9 +100,9 @@ class TransactionBatchExecute {
69
100
  // Public keys across all instructions
70
101
  const pubkeys = this.getPubkeyFromInstruction();
71
102
  // Download jupiter alts first
72
- yield this.jupiterAlts.downloadAlts();
103
+ yield this.jupiterDownloadAlts();
73
104
  // Then find alts from pubkeys
74
- const jupAlts = this.jupiterAlts.findAltByPubkeys(pubkeys);
105
+ const jupAlts = yield this.jupiterFindAltByPubkeys(pubkeys);
75
106
  // Then append jupiter alts in the lookup table address
76
107
  this.lookupTableAddresses.push(...jupAlts);
77
108
  // Then make sure lookup table addresses are unique
@@ -79,6 +110,18 @@ class TransactionBatchExecute {
79
110
  // Get list of lookup tables to download
80
111
  const lookupTableAddresses = this.getListOfAltsToDownload();
81
112
  // Download if address lookup table does not match with downloaded alts
113
+ yield this.downloadAlts2(lookupTableAddresses);
114
+ // Map public key to alt
115
+ const s0 = new Date().getTime() / 1000;
116
+ this.mapPubkeyToAlt(pubkeys);
117
+ (0, Logging_1.Log)(`TransactionBatchExecute::downloadAlts(): this.mapPubkeyToAlt benchmark: ${(new Date().getTime() / 1000) - s0}`);
118
+ });
119
+ }
120
+ /**
121
+ * Downoad address lookup table from given cluster
122
+ */
123
+ downloadAlts2(lookupTableAddresses) {
124
+ return __awaiter(this, void 0, void 0, function* () {
82
125
  for (const lookupTable of lookupTableAddresses) {
83
126
  const alt = yield this.connection.getAddressLookupTable(lookupTable);
84
127
  if (alt.value === null) {
@@ -88,6 +131,33 @@ class TransactionBatchExecute {
88
131
  }
89
132
  });
90
133
  }
134
+ /**
135
+ * Map public key to alt
136
+ *
137
+ * @param pubkeys
138
+ */
139
+ mapPubkeyToAlt(pubkeys) {
140
+ const addressesInAlt = [];
141
+ const map = {};
142
+ for (const alt of this.alts) {
143
+ const addresses = alt.state.addresses.map(p => p.toString());
144
+ addressesInAlt.push(...addresses);
145
+ map[alt.key.toString()] = [alt, addresses];
146
+ }
147
+ for (const pubkey of pubkeys) {
148
+ // If pubkey is not in alt, then skip
149
+ const inAlt = addressesInAlt.includes(pubkey.toString());
150
+ if (!inAlt)
151
+ continue;
152
+ // Find the alt where public key is included
153
+ for (const key in map) {
154
+ if (map[key][1].includes(pubkey.toString())) {
155
+ this.pubkeyToAlt[pubkey.toString()] = map[key][0];
156
+ break;
157
+ }
158
+ }
159
+ }
160
+ }
91
161
  /**
92
162
  * Get list of lookup tables to download
93
163
  */
@@ -287,6 +357,33 @@ class TransactionBatchExecute {
287
357
  const bytes = versionedTx.serialize();
288
358
  return bytes.length;
289
359
  }
360
+ /**
361
+ * Find required signers from instructions
362
+ *
363
+ * @param ixs
364
+ * @param dummySigners
365
+ */
366
+ findRequiredSignersFromIxs(ixs) {
367
+ const signers = [];
368
+ signers.push(this.payer.publicKey);
369
+ for (const instruction of ixs) {
370
+ const _signers = instruction.keys
371
+ .filter(meta => meta.isSigner)
372
+ .map(meta => meta.pubkey);
373
+ if (_signers.length > 0) {
374
+ signers.push(..._signers);
375
+ }
376
+ }
377
+ const uniqueSigners = {};
378
+ for (const signer of signers) {
379
+ uniqueSigners[signer.toBase58()] = signer;
380
+ }
381
+ const result = [];
382
+ for (const id in uniqueSigners) {
383
+ result.push(uniqueSigners[id]);
384
+ }
385
+ return result;
386
+ }
290
387
  /**
291
388
  * Find required signers from batch
292
389
  *
@@ -323,32 +420,6 @@ class TransactionBatchExecute {
323
420
  }
324
421
  return result;
325
422
  }
326
- /**
327
- * Find required signers from instructions
328
- *
329
- * @param ixs
330
- * @param dummySigners
331
- */
332
- findRequiredSignersFromIxs(ixs) {
333
- const signers = [];
334
- for (const instruction of ixs) {
335
- const _signers = instruction.keys
336
- .filter(meta => meta.isSigner)
337
- .map(meta => meta.pubkey);
338
- if (_signers.length > 0) {
339
- signers.push(..._signers);
340
- }
341
- }
342
- const uniqueSigners = {};
343
- for (const signer of signers) {
344
- uniqueSigners[signer.toBase58()] = signer;
345
- }
346
- const result = [];
347
- for (const id in uniqueSigners) {
348
- result.push(uniqueSigners[id]);
349
- }
350
- return result;
351
- }
352
423
  /**
353
424
  * Find required address lookup table addresses for given batch of instructions
354
425
  *
@@ -0,0 +1,82 @@
1
+ /// <reference types="@meteora-ag/dlmm/node_modules/@solana/web3.js" />
2
+ import * as web3 from '@solana/web3.js';
3
+ import { TransactionBatchExecute, DummySigners } from './TransactionBatchExecute';
4
+ import { CreateTxMetadata } from './CreateTxMetadata';
5
+ /**
6
+ * Executes transactions in batches
7
+ */
8
+ export declare class TransactionBatchExecute2 extends TransactionBatchExecute {
9
+ protected lookupTableAddresses: web3.PublicKey[];
10
+ protected instructions: web3.TransactionInstruction[];
11
+ protected connection: web3.Connection;
12
+ protected createTxMetadataInstance: CreateTxMetadata;
13
+ protected latestBlockhash: web3.BlockhashWithExpiryBlockHeight;
14
+ protected payerKey: web3.PublicKey;
15
+ /**
16
+ * Creates an instance of TransactionExecute class
17
+ *
18
+ * @param lookupTableAddresses Address lookup table addresses to be used by batch of transactions
19
+ * @param instructions Array of instructions to be batched into transactions
20
+ * @param payer Payer that will pay for the batch of transactions
21
+ * @param connection Connection to mainnet
22
+ */
23
+ constructor(lookupTableAddresses: web3.PublicKey[], instructions: web3.TransactionInstruction[], connection: web3.Connection, createTxMetadataInstance: CreateTxMetadata, latestBlockhash: web3.BlockhashWithExpiryBlockHeight, payerKey: web3.PublicKey);
24
+ /**
25
+ * Find alt by pubkeys (overridable)
26
+ *
27
+ * @param pubkeys
28
+ */
29
+ static jupiterFindAltByPubkeysFn: (pubkeys: web3.PublicKey[]) => Promise<web3.PublicKey[]>;
30
+ /**
31
+ * Download all jupiter alts (overridable)
32
+ */
33
+ protected jupiterDownloadAlts(): Promise<void>;
34
+ /**
35
+ * Find alt by pubkeys (overridable)
36
+ */
37
+ protected jupiterFindAltByPubkeys(pubkeys: web3.PublicKey[]): Promise<web3.PublicKey[]>;
38
+ /**
39
+ * Downoad address lookup table from given cluster
40
+ */
41
+ protected downloadAlts2(lookupTableAddresses: web3.PublicKey[]): Promise<void>;
42
+ /**
43
+ * Builds a batch of executable transaction instructions
44
+ */
45
+ buildBatch(): Promise<web3.TransactionInstruction[][]>;
46
+ /**
47
+ * Split transactions
48
+ *
49
+ * @param simulationIxs
50
+ * @param dummySigners
51
+ * @returns
52
+ */
53
+ protected splitToTransactions(simulationIxs: web3.TransactionInstruction[], dummySigners: DummySigners): Promise<web3.TransactionInstruction[][]>;
54
+ private getEstimateSize;
55
+ /**
56
+ * Find required signers from instructions
57
+ *
58
+ * @param ixs
59
+ * @param dummySigners
60
+ */
61
+ protected findRequiredSignersFromIxs(ixs: web3.TransactionInstruction[]): web3.PublicKey[];
62
+ /**
63
+ * Calculate transaction size
64
+ *
65
+ * @param batch
66
+ */
67
+ protected calculateTransactionSize(latestBlockhash: web3.BlockhashWithExpiryBlockHeight, batch: web3.TransactionInstruction[], dummySigners: DummySigners): number;
68
+ /**
69
+ * Find required address lookup table addresses for given batch of instructions
70
+ *
71
+ * @param batch
72
+ */
73
+ findRequiredAltsForBatch2(batch: web3.TransactionInstruction[]): web3.AddressLookupTableAccount[];
74
+ /**
75
+ * Find required signers from batch
76
+ *
77
+ * @param ixs
78
+ * @param dummySigners
79
+ */
80
+ private findRequiredSignersFromBatch2;
81
+ }
82
+ //# sourceMappingURL=TransactionBatchExecute2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionBatchExecute2.d.ts","sourceRoot":"","sources":["../../../src/classes/TransactionBatchExecute2.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,uBAAuB;IAWjE,SAAS,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,EAAE;IAChD,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,sBAAsB,EAAE;IACrD,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU;IACrC,SAAS,CAAC,wBAAwB,EAAE,gBAAgB;IACpD,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,8BAA8B;IAC9D,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS;IAdpC;;;;;;;OAOG;gBAES,oBAAoB,EAAE,IAAI,CAAC,SAAS,EAAE,EACtC,YAAY,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAC3C,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,wBAAwB,EAAE,gBAAgB,EAC1C,eAAe,EAAE,IAAI,CAAC,8BAA8B,EACpD,QAAQ,EAAE,IAAI,CAAC,SAAS;IAWpC;;;;OAIG;IACH,MAAM,CAAC,yBAAyB,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAEzF;IAED;;OAEG;cACa,mBAAmB;IAEnC;;OAEG;cACa,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IAI7F;;OAEG;cACa,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,EAAE;IAMpE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;IA4B5D;;;;;;OAMG;cACa,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;IA6CvJ,OAAO,CAAC,eAAe;IAqBvB;;;;;OAKG;IACH,SAAS,CAAC,0BAA0B,CAAC,GAAG,EAAE,IAAI,CAAC,sBAAsB,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;IAsB1F;;;;OAIG;IACH,SAAS,CAAC,wBAAwB,CAAC,eAAe,EAAE,IAAI,CAAC,8BAA8B,EAAE,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAAE,YAAY,EAAE,YAAY,GAAG,MAAM;IAclK;;;;OAIG;IACI,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,GAAG,IAAI,CAAC,yBAAyB,EAAE;IAmBxG;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B;CAStC"}