@helium/spl-utils 0.6.41 → 0.7.0

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HNT_PYTH_PRICE_FEED = exports.IOT_MINT = exports.MOBILE_MINT = exports.HNT_MINT = exports.DC_MINT = void 0;
3
+ exports.HELIUM_COMMON_LUT = exports.HELIUM_COMMON_LUT_DEVNET = exports.HNT_PYTH_PRICE_FEED = exports.IOT_MINT = exports.MOBILE_MINT = exports.HNT_MINT = exports.DC_MINT = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  exports.DC_MINT = new web3_js_1.PublicKey("dcuc8Amr83Wz27ZkQ2K9NS6r8zRpf1J6cvArEBDZDmm");
6
6
  exports.HNT_MINT = new web3_js_1.PublicKey("hntyVP6YFm1Hg25TN9WGLqM12b8TQmcknKrdu1oxWux");
@@ -8,4 +8,6 @@ exports.MOBILE_MINT = new web3_js_1.PublicKey("mb1eu7TzEc71KxDpsmsKoucSSuuoGLv1d
8
8
  exports.IOT_MINT = new web3_js_1.PublicKey("iotEVVZLEywoTn1QdwNPddxPWszn3zFhEot3MfL9fns");
9
9
  // TODO: Replace with actual HNT feed
10
10
  exports.HNT_PYTH_PRICE_FEED = new web3_js_1.PublicKey("6Eg8YdfFJQF2HHonzPUBSCCmyUEhrStg9VBLK957sBe6");
11
+ exports.HELIUM_COMMON_LUT_DEVNET = new web3_js_1.PublicKey("FnqYkQ6ZKnVKdkvYCGsEeiP5qgGqVbcFUkGduy2ta4gA");
12
+ exports.HELIUM_COMMON_LUT = new web3_js_1.PublicKey("43eY9L2spbM2b1MPDFFBStUiFGt29ziZ1nc1xbpzsfVt");
11
13
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,OAAO,GAAG,IAAI,mBAAS,CAAC,6CAA6C,CAAC,CAAC;AAEvE,QAAA,QAAQ,GAAG,IAAI,mBAAS,CAAC,6CAA6C,CAAC,CAAC;AAExE,QAAA,WAAW,GAAG,IAAI,mBAAS,CACtC,6CAA6C,CAC9C,CAAC;AAEW,QAAA,QAAQ,GAAG,IAAI,mBAAS,CAAC,6CAA6C,CAAC,CAAC;AAErF,qCAAqC;AACxB,QAAA,mBAAmB,GAAG,IAAI,mBAAS,CAC9C,8CAA8C,CAC/C,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,OAAO,GAAG,IAAI,mBAAS,CAAC,6CAA6C,CAAC,CAAC;AAEvE,QAAA,QAAQ,GAAG,IAAI,mBAAS,CAAC,6CAA6C,CAAC,CAAC;AAExE,QAAA,WAAW,GAAG,IAAI,mBAAS,CACtC,6CAA6C,CAC9C,CAAC;AAEW,QAAA,QAAQ,GAAG,IAAI,mBAAS,CAAC,6CAA6C,CAAC,CAAC;AAErF,qCAAqC;AACxB,QAAA,mBAAmB,GAAG,IAAI,mBAAS,CAC9C,8CAA8C,CAC/C,CAAC;AAEW,QAAA,wBAAwB,GAAG,IAAI,mBAAS,CACnD,8CAA8C,CAC/C,CAAC;AAEW,QAAA,iBAAiB,GAAG,IAAI,mBAAS,CAC5C,8CAA8C,CAC/C,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.populateMissingDraftInfo = void 0;
13
+ const transaction_1 = require("./transaction");
14
+ function populateMissingDraftInfo(connection, tx) {
15
+ return __awaiter(this, void 0, void 0, function* () {
16
+ if (!tx.addressLookupTables) {
17
+ tx.addressLookupTables = yield (0, transaction_1.getAddressLookupTableAccounts)(connection, tx.addressLookupTableAddresses || []);
18
+ }
19
+ if (!tx.recentBlockhash) {
20
+ tx.recentBlockhash = (yield connection.getLatestBlockhash()).blockhash;
21
+ }
22
+ return tx;
23
+ });
24
+ }
25
+ exports.populateMissingDraftInfo = populateMissingDraftInfo;
26
+ //# sourceMappingURL=draft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft.js","sourceRoot":"","sources":["../../src/draft.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+CAA8D;AAY9D,SAAsB,wBAAwB,CAC5C,UAAsB,EACtB,EAAoB;;QAEpB,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE;YAC3B,EAAE,CAAC,mBAAmB,GAAG,MAAM,IAAA,2CAA6B,EAC1D,UAAU,EACV,EAAE,CAAC,2BAA2B,IAAI,EAAE,CACrC,CAAC;SACH;QAED,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE;YACvB,EAAE,CAAC,eAAe,GAAG,CAAC,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC;SACxE;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CAAA;AAhBD,4DAgBC"}
package/lib/cjs/index.js CHANGED
@@ -22,6 +22,7 @@ __exportStar(require("./executeRemoteTxn"), exports);
22
22
  __exportStar(require("./utils"), exports);
23
23
  __exportStar(require("./token"), exports);
24
24
  __exportStar(require("./constants"), exports);
25
+ __exportStar(require("./draft"), exports);
25
26
  var mplAssetAPI_1 = require("./mplAssetAPI");
26
27
  Object.defineProperty(exports, "getAsset", { enumerable: true, get: function () { return mplAssetAPI_1.getAsset; } });
27
28
  Object.defineProperty(exports, "getAssets", { enumerable: true, get: function () { return mplAssetAPI_1.getAssets; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,gDAA8B;AAC9B,qDAAmC;AACnC,0CAAwB;AACxB,0CAAwB;AACxB,8CAA4B;AAQ5B,6CASuB;AARrB,uGAAA,QAAQ,OAAA;AACR,wGAAA,SAAS,OAAA;AACT,4GAAA,aAAa,OAAA;AACb,+GAAA,gBAAgB,OAAA;AAChB,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AACb,iHAAA,kBAAkB,OAAA;AAClB,uHAAA,wBAAwB,OAAA;AAE1B,+CAA6E;AAApE,yHAAA,yBAAyB,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAEpD,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,gDAA8B;AAC9B,qDAAmC;AACnC,0CAAwB;AACxB,0CAAwB;AACxB,8CAA4B;AAC5B,0CAAwB;AAQxB,6CASuB;AARrB,uGAAA,QAAQ,OAAA;AACR,wGAAA,SAAS,OAAA;AACT,4GAAA,aAAa,OAAA;AACb,+GAAA,gBAAgB,OAAA;AAChB,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AACb,iHAAA,kBAAkB,OAAA;AAClB,uHAAA,wBAAwB,OAAA;AAE1B,+CAA6E;AAApE,yHAAA,yBAAyB,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAEpD,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA"}
@@ -8,9 +8,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
11
22
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.withPriorityFees = exports.estimatePrioritizationFee = void 0;
23
+ exports.withPriorityFees = exports.estimateComputeUnits = exports.estimatePrioritizationFee = void 0;
13
24
  const web3_js_1 = require("@solana/web3.js");
25
+ const draft_1 = require("./draft");
26
+ const transaction_1 = require("./transaction");
14
27
  const MAX_RECENT_PRIORITY_FEE_ACCOUNTS = 128;
15
28
  // Borrowed with love from https://github.com/blockworks-foundation/mango-v4/blob/57a9835aa8f636b6d231ba2c4008bfe89cbf08ba/ts/client/src/client.ts#L4552
16
29
  /**
@@ -73,9 +86,28 @@ function estimatePrioritizationFee(connection, ixs, basePriorityFee) {
73
86
  });
74
87
  }
75
88
  exports.estimatePrioritizationFee = estimatePrioritizationFee;
76
- function withPriorityFees({ connection, computeUnits, instructions, basePriorityFee }) {
89
+ const estimateComputeUnits = (connection, tx) => __awaiter(void 0, void 0, void 0, function* () {
90
+ return (yield connection.simulateTransaction(tx)).value.unitsConsumed;
91
+ });
92
+ exports.estimateComputeUnits = estimateComputeUnits;
93
+ function withPriorityFees(_a) {
94
+ var { connection, computeUnits, instructions = [], basePriorityFee, computeScaleUp } = _a, rest = __rest(_a, ["connection", "computeUnits", "instructions", "basePriorityFee", "computeScaleUp"]);
77
95
  return __awaiter(this, void 0, void 0, function* () {
96
+ if (!computeUnits && !rest.feePayer) {
97
+ throw new Error("Must provide feePayer if estimatingg compute units");
98
+ }
78
99
  const estimate = yield estimatePrioritizationFee(connection, instructions, basePriorityFee);
100
+ if (!computeUnits) {
101
+ const temp = Object.assign({ instructions, feePayer: rest.feePayer }, rest);
102
+ const tx = yield (0, draft_1.populateMissingDraftInfo)(connection, temp);
103
+ const estimatedFee = yield (0, exports.estimateComputeUnits)(connection, (0, transaction_1.toVersionedTx)(tx));
104
+ if (estimatedFee) {
105
+ computeUnits = Math.ceil(estimatedFee * (computeScaleUp || 1.1));
106
+ }
107
+ else {
108
+ computeUnits = 200000;
109
+ }
110
+ }
79
111
  return [
80
112
  web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({
81
113
  units: computeUnits,
@@ -1 +1 @@
1
- {"version":3,"file":"priorityFees.js","sourceRoot":"","sources":["../../src/priorityFees.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"priorityFees.js","sourceRoot":"","sources":["../../src/priorityFees.ts"],"names":[],"mappings":"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"}
@@ -23,11 +23,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.batchParallelInstructionsWithPriorityFee = exports.batchInstructionsToTxsWithPriorityFee = exports.batchParallelInstructions = exports.bulkSendRawTransactions = exports.bulkSendTransactions = exports.bufferToTransaction = exports.stringToTransaction = exports.sendAndConfirmWithRetry = exports.awaitTransactionSignatureConfirmation = exports.executeBig = exports.execute = exports.sendMultipleInstructions = exports.sendInstructions = exports.sendInstructionsWithPriorityFee = exports.chunks = void 0;
26
+ exports.batchParallelInstructionsWithPriorityFee = exports.batchInstructionsToTxsWithPriorityFee = exports.batchParallelInstructions = exports.bulkSendRawTransactions = exports.bulkSendTransactions = exports.bufferToTransaction = exports.stringToTransaction = exports.sendAndConfirmWithRetry = exports.awaitTransactionSignatureConfirmation = exports.executeBig = exports.execute = exports.sendMultipleInstructions = exports.sendInstructions = exports.sendInstructionsWithPriorityFee = exports.toVersionedTx = exports.getAddressLookupTableAccounts = exports.chunks = void 0;
27
27
  const web3_js_1 = require("@solana/web3.js");
28
28
  const bs58_1 = __importDefault(require("bs58"));
29
29
  const anchorError_1 = require("./anchorError");
30
30
  const priorityFees_1 = require("./priorityFees");
31
+ const draft_1 = require("./draft");
31
32
  const chunks = (array, size) => Array.apply(0, new Array(Math.ceil(array.length / size))).map((_, index) => array.slice(index * size, (index + 1) * size));
32
33
  exports.chunks = chunks;
33
34
  function sleep(ms) {
@@ -44,6 +45,33 @@ function promiseAllInOrder(it) {
44
45
  return ret;
45
46
  });
46
47
  }
48
+ const getAddressLookupTableAccounts = (connection, keys) => __awaiter(void 0, void 0, void 0, function* () {
49
+ if (keys.length == 0) {
50
+ return [];
51
+ }
52
+ const addressLookupTableAccountInfos = yield connection.getMultipleAccountsInfo(keys.map((key) => new web3_js_1.PublicKey(key)));
53
+ return addressLookupTableAccountInfos.reduce((acc, accountInfo, index) => {
54
+ const addressLookupTableAddress = keys[index];
55
+ if (accountInfo) {
56
+ const addressLookupTableAccount = new web3_js_1.AddressLookupTableAccount({
57
+ key: addressLookupTableAddress,
58
+ state: web3_js_1.AddressLookupTableAccount.deserialize(accountInfo.data),
59
+ });
60
+ acc.push(addressLookupTableAccount);
61
+ }
62
+ return acc;
63
+ }, new Array());
64
+ });
65
+ exports.getAddressLookupTableAccounts = getAddressLookupTableAccounts;
66
+ function toVersionedTx(tx) {
67
+ const messageV0 = new web3_js_1.TransactionMessage({
68
+ payerKey: tx.feePayer,
69
+ recentBlockhash: tx.recentBlockhash,
70
+ instructions: tx.instructions,
71
+ }).compileToV0Message(tx.addressLookupTables);
72
+ return new web3_js_1.VersionedTransaction(messageV0);
73
+ }
74
+ exports.toVersionedTx = toVersionedTx;
47
75
  function sendInstructionsWithPriorityFee(provider, instructions, { signers = [], payer = provider.wallet.publicKey, commitment = "confirmed", idlErrors = new Map(), computeUnitLimit = 200000, basePriorityFee = 1, } = {}) {
48
76
  return __awaiter(this, void 0, void 0, function* () {
49
77
  return yield sendInstructions(provider, [
@@ -385,13 +413,20 @@ extraSigners = [], maxSignatureBatch = TX_BATCH_SIZE) {
385
413
  while (true) {
386
414
  const recentBlockhash = yield withRetries(5, () => provider.connection.getLatestBlockhash("confirmed"));
387
415
  const blockhashedTxs = yield Promise.all(chunk.map((tx) => __awaiter(this, void 0, void 0, function* () {
388
- tx.recentBlockhash = recentBlockhash.blockhash;
389
- return tx;
416
+ yield (0, draft_1.populateMissingDraftInfo)(provider.connection, tx);
417
+ return toVersionedTx({
418
+ instructions: tx.instructions,
419
+ recentBlockhash: recentBlockhash.blockhash,
420
+ addressLookupTableAddresses: tx.addressLookupTableAddresses,
421
+ addressLookupTables: tx.addressLookupTables,
422
+ feePayer: tx.feePayer,
423
+ });
390
424
  })));
391
- const signedTxs = (yield provider.wallet.signAllTransactions(blockhashedTxs)).map((tx) => {
425
+ const signedTxs = (yield provider.wallet.signAllTransactions(blockhashedTxs)).map((tx, i) => {
392
426
  extraSigners.forEach((signer) => {
393
- if (tx.signatures.some((sig) => sig.publicKey.equals(signer.publicKey))) {
394
- tx.partialSign(signer);
427
+ var _a;
428
+ if ((_a = chunk[i].signers) === null || _a === void 0 ? void 0 : _a.some((sig) => sig.publicKey.equals(signer.publicKey))) {
429
+ tx.sign([signer]);
395
430
  }
396
431
  }, tx);
397
432
  return tx;
@@ -399,10 +434,10 @@ extraSigners = [], maxSignatureBatch = TX_BATCH_SIZE) {
399
434
  const txsWithSigs = signedTxs.map((tx, index) => {
400
435
  return {
401
436
  transaction: chunk[index],
402
- sig: bs58_1.default.encode(tx.signatures[0].signature),
437
+ sig: bs58_1.default.encode(tx.signatures[0]),
403
438
  };
404
439
  });
405
- const confirmedTxs = yield bulkSendRawTransactions(provider.connection, signedTxs.map((s) => s.serialize()), (_a) => {
440
+ const confirmedTxs = yield bulkSendRawTransactions(provider.connection, signedTxs.map((s) => Buffer.from(s.serialize())), (_a) => {
406
441
  var { totalProgress } = _a, rest = __rest(_a, ["totalProgress"]);
407
442
  return onProgress &&
408
443
  onProgress(Object.assign(Object.assign({}, rest), { totalTxs: txs.length, totalProgress: totalProgress + ret.length + thisRet.length }));
@@ -504,38 +539,36 @@ function getAllTxns(connection, txids) {
504
539
  });
505
540
  }
506
541
  // Batch instructions parallel into as many txs as it takes
507
- function batchParallelInstructions(provider, instructions, onProgress, triesRemaining = 10, // Number of blockhashes to try resending txs with before giving up
508
- extraSigners = [], maxSignatureBatch = TX_BATCH_SIZE) {
542
+ function batchParallelInstructions({ provider, instructions, onProgress, triesRemaining = 10, extraSigners = [], maxSignatureBatch = TX_BATCH_SIZE, addressLookupTableAddresses = [], }) {
509
543
  return __awaiter(this, void 0, void 0, function* () {
510
544
  let currentTxInstructions = [];
511
545
  const blockhash = (yield provider.connection.getLatestBlockhash()).blockhash;
512
546
  const transactions = [];
547
+ const addressLookupTables = yield (0, exports.getAddressLookupTableAccounts)(provider.connection, addressLookupTableAddresses);
513
548
  for (const instruction of instructions) {
514
549
  currentTxInstructions.push(instruction);
515
- const tx = new web3_js_1.Transaction({
550
+ const tx = yield toVersionedTx({
516
551
  feePayer: provider.wallet.publicKey,
517
552
  recentBlockhash: blockhash,
553
+ instructions: currentTxInstructions,
554
+ addressLookupTableAddresses,
555
+ signers: extraSigners,
556
+ addressLookupTables,
518
557
  });
519
- tx.add(...currentTxInstructions);
520
558
  try {
521
- if (tx.serialize({
522
- requireAllSignatures: false,
523
- verifySignatures: false,
524
- }).length >=
525
- 1232 - (64 + 32) * tx.signatures.length) {
526
- // yes it's ugly to throw and catch, but .serialize can _also_ throw this error
527
- throw new Error("Transaction too large");
528
- }
559
+ tx.serialize();
529
560
  }
530
561
  catch (e) {
531
- if (e.toString().includes("Transaction too large")) {
562
+ if (e.toString().includes("encoding overruns Uint8Array")) {
532
563
  currentTxInstructions.pop();
533
- const tx = new web3_js_1.Transaction({
564
+ transactions.push({
534
565
  feePayer: provider.wallet.publicKey,
535
566
  recentBlockhash: blockhash,
567
+ instructions: currentTxInstructions,
568
+ addressLookupTableAddresses,
569
+ signers: extraSigners,
570
+ addressLookupTables,
536
571
  });
537
- tx.add(...currentTxInstructions);
538
- transactions.push(tx);
539
572
  currentTxInstructions = [instruction];
540
573
  }
541
574
  else {
@@ -544,54 +577,72 @@ extraSigners = [], maxSignatureBatch = TX_BATCH_SIZE) {
544
577
  }
545
578
  }
546
579
  if (currentTxInstructions.length > 0) {
547
- const tx = new web3_js_1.Transaction({
580
+ transactions.push({
548
581
  feePayer: provider.wallet.publicKey,
549
582
  recentBlockhash: blockhash,
583
+ instructions: currentTxInstructions,
584
+ addressLookupTableAddresses,
585
+ signers: extraSigners,
586
+ addressLookupTables,
550
587
  });
551
- tx.add(...currentTxInstructions);
552
- transactions.push(tx);
553
588
  }
554
589
  yield bulkSendTransactions(provider, transactions, onProgress, triesRemaining, extraSigners, maxSignatureBatch);
555
590
  });
556
591
  }
557
592
  exports.batchParallelInstructions = batchParallelInstructions;
558
- function batchInstructionsToTxsWithPriorityFee(provider, instructions, { computeUnitLimit = 1000000, basePriorityFee, } = {}) {
593
+ function batchInstructionsToTxsWithPriorityFee(provider,
594
+ // If passing an array of arrays, that indicates the instructions need to be run in the same tx,
595
+ // optionally with the ones around it.
596
+ instructions, { computeUnitLimit, basePriorityFee, addressLookupTableAddresses, computeScaleUp, } = {}) {
559
597
  return __awaiter(this, void 0, void 0, function* () {
560
598
  let currentTxInstructions = [];
561
599
  const blockhash = (yield provider.connection.getLatestBlockhash()).blockhash;
562
600
  const transactions = [];
601
+ const addressLookupTables = yield (0, exports.getAddressLookupTableAccounts)(provider.connection, addressLookupTableAddresses || []);
563
602
  for (const instruction of instructions) {
564
- currentTxInstructions.push(instruction);
565
- const tx = new web3_js_1.Transaction({
603
+ const instrArr = Array.isArray(instruction) ? instruction : [instruction];
604
+ const prevLen = currentTxInstructions.length;
605
+ currentTxInstructions.push(...instrArr);
606
+ const tx = yield toVersionedTx({
607
+ instructions: [
608
+ web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({
609
+ units: computeUnitLimit || 100000,
610
+ }),
611
+ web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
612
+ // Placeholder, will be replaced with actual value
613
+ microLamports: 1,
614
+ }),
615
+ ...currentTxInstructions,
616
+ ],
617
+ addressLookupTableAddresses: addressLookupTableAddresses || [],
566
618
  feePayer: provider.wallet.publicKey,
567
619
  recentBlockhash: blockhash,
620
+ addressLookupTables,
568
621
  });
569
- tx.add(...currentTxInstructions);
570
622
  try {
571
- if (tx.serialize({
572
- requireAllSignatures: false,
573
- verifySignatures: false,
574
- }).length >=
575
- 1232 - (64 + 32) * tx.signatures.length - 60 // 60 to leave room for compute budget stuff
576
- ) {
577
- // yes it's ugly to throw and catch, but .serialize can _also_ throw this error
578
- throw new Error("Transaction too large");
579
- }
623
+ tx.serialize();
580
624
  }
581
625
  catch (e) {
582
- if (e.toString().includes("Transaction too large")) {
583
- currentTxInstructions.pop();
584
- const tx = new web3_js_1.Transaction({
585
- feePayer: provider.wallet.publicKey,
586
- recentBlockhash: blockhash,
587
- });
588
- tx.add(web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({
589
- units: computeUnitLimit,
590
- }), web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
591
- microLamports: yield (0, priorityFees_1.estimatePrioritizationFee)(provider.connection, currentTxInstructions, basePriorityFee),
592
- }), ...currentTxInstructions);
593
- transactions.push(tx);
594
- currentTxInstructions = [instruction];
626
+ if (e.toString().includes("encoding overruns Uint8Array")) {
627
+ currentTxInstructions = currentTxInstructions.slice(0, prevLen);
628
+ if (currentTxInstructions.length > 2) {
629
+ transactions.push({
630
+ instructions: yield (0, priorityFees_1.withPriorityFees)({
631
+ connection: provider.connection,
632
+ instructions: currentTxInstructions,
633
+ computeUnits: computeUnitLimit,
634
+ computeScaleUp,
635
+ basePriorityFee,
636
+ addressLookupTables,
637
+ feePayer: provider.wallet.publicKey,
638
+ }),
639
+ addressLookupTableAddresses: addressLookupTableAddresses || [],
640
+ feePayer: provider.wallet.publicKey,
641
+ recentBlockhash: blockhash,
642
+ addressLookupTables,
643
+ });
644
+ }
645
+ currentTxInstructions = instrArr;
595
646
  }
596
647
  else {
597
648
  throw e;
@@ -599,26 +650,34 @@ function batchInstructionsToTxsWithPriorityFee(provider, instructions, { compute
599
650
  }
600
651
  }
601
652
  if (currentTxInstructions.length > 0) {
602
- const tx = new web3_js_1.Transaction({
653
+ transactions.push({
654
+ instructions: yield (0, priorityFees_1.withPriorityFees)({
655
+ connection: provider.connection,
656
+ instructions: currentTxInstructions,
657
+ computeUnits: computeUnitLimit,
658
+ computeScaleUp,
659
+ basePriorityFee,
660
+ feePayer: provider.wallet.publicKey,
661
+ }),
662
+ addressLookupTableAddresses: addressLookupTableAddresses || [],
603
663
  feePayer: provider.wallet.publicKey,
604
664
  recentBlockhash: blockhash,
665
+ addressLookupTables,
605
666
  });
606
- tx.add(web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({
607
- units: computeUnitLimit,
608
- }), web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
609
- microLamports: yield (0, priorityFees_1.estimatePrioritizationFee)(provider.connection, currentTxInstructions, basePriorityFee),
610
- }), ...currentTxInstructions);
611
- transactions.push(tx);
612
667
  }
613
668
  return transactions;
614
669
  });
615
670
  }
616
671
  exports.batchInstructionsToTxsWithPriorityFee = batchInstructionsToTxsWithPriorityFee;
617
- function batchParallelInstructionsWithPriorityFee(provider, instructions, { onProgress, triesRemaining = 10, computeUnitLimit = 1000000, basePriorityFee, extraSigners, maxSignatureBatch = TX_BATCH_SIZE, } = {}) {
672
+ function batchParallelInstructionsWithPriorityFee(provider,
673
+ // If passing an array of arrays, that indicates the instructions need to be run in the same tx,
674
+ // optionally with the ones around it.
675
+ instructions, { onProgress, triesRemaining = 10, computeUnitLimit, computeScaleUp, basePriorityFee, extraSigners, maxSignatureBatch = TX_BATCH_SIZE, } = {}) {
618
676
  return __awaiter(this, void 0, void 0, function* () {
619
677
  const transactions = yield batchInstructionsToTxsWithPriorityFee(provider, instructions, {
620
678
  computeUnitLimit,
621
679
  basePriorityFee,
680
+ computeScaleUp,
622
681
  });
623
682
  yield bulkSendTransactions(provider, transactions, onProgress, triesRemaining, extraSigners, maxSignatureBatch);
624
683
  });
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/transaction.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,6 @@ export const MOBILE_MINT = new PublicKey("mb1eu7TzEc71KxDpsmsKoucSSuuoGLv1drys1o
5
5
  export const IOT_MINT = new PublicKey("iotEVVZLEywoTn1QdwNPddxPWszn3zFhEot3MfL9fns");
6
6
  // TODO: Replace with actual HNT feed
7
7
  export const HNT_PYTH_PRICE_FEED = new PublicKey("6Eg8YdfFJQF2HHonzPUBSCCmyUEhrStg9VBLK957sBe6");
8
+ export const HELIUM_COMMON_LUT_DEVNET = new PublicKey("FnqYkQ6ZKnVKdkvYCGsEeiP5qgGqVbcFUkGduy2ta4gA");
9
+ export const HELIUM_COMMON_LUT = new PublicKey("43eY9L2spbM2b1MPDFFBStUiFGt29ziZ1nc1xbpzsfVt");
8
10
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAEpF,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,SAAS,CACtC,6CAA6C,CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAErF,qCAAqC;AACrC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,SAAS,CAC9C,8CAA8C,CAC/C,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAEpF,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,SAAS,CACtC,6CAA6C,CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAErF,qCAAqC;AACrC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,SAAS,CAC9C,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,SAAS,CACnD,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,SAAS,CAC5C,8CAA8C,CAC/C,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { getAddressLookupTableAccounts } from "./transaction";
2
+ export async function populateMissingDraftInfo(connection, tx) {
3
+ if (!tx.addressLookupTables) {
4
+ tx.addressLookupTables = await getAddressLookupTableAccounts(connection, tx.addressLookupTableAddresses || []);
5
+ }
6
+ if (!tx.recentBlockhash) {
7
+ tx.recentBlockhash = (await connection.getLatestBlockhash()).blockhash;
8
+ }
9
+ return tx;
10
+ }
11
+ //# sourceMappingURL=draft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft.js","sourceRoot":"","sources":["../../../src/draft.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAY9D,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,UAAsB,EACtB,EAAoB;IAEpB,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE;QAC3B,EAAE,CAAC,mBAAmB,GAAG,MAAM,6BAA6B,CAC1D,UAAU,EACV,EAAE,CAAC,2BAA2B,IAAI,EAAE,CACrC,CAAC;KACH;IAED,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE;QACvB,EAAE,CAAC,eAAe,GAAG,CAAC,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC;KACxE;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -5,6 +5,7 @@ export * from './executeRemoteTxn';
5
5
  export * from './utils';
6
6
  export * from './token';
7
7
  export * from './constants';
8
+ export * from "./draft";
8
9
  export { getAsset, getAssets, getAssetProof, getAssetsByOwner, searchAssets, getAssetBatch, getAssetProofBatch, searchAssetsWithPageInfo, } from "./mplAssetAPI";
9
10
  export { estimatePrioritizationFee, withPriorityFees } from "./priorityFees";
10
11
  export { proofArgsAndAccounts } from './proofArgsAndAccounts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAQ5B,OAAO,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAQxB,OAAO,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import { ComputeBudgetProgram, PublicKey, } from "@solana/web3.js";
2
+ import { populateMissingDraftInfo } from "./draft";
3
+ import { toVersionedTx } from "./transaction";
2
4
  const MAX_RECENT_PRIORITY_FEE_ACCOUNTS = 128;
3
5
  // Borrowed with love from https://github.com/blockworks-foundation/mango-v4/blob/57a9835aa8f636b6d231ba2c4008bfe89cbf08ba/ts/client/src/client.ts#L4552
4
6
  /**
@@ -58,8 +60,29 @@ export async function estimatePrioritizationFee(connection, ixs, basePriorityFee
58
60
  return Math.max(basePriorityFee || 1, Math.ceil(medianFee));
59
61
  }
60
62
  }
61
- export async function withPriorityFees({ connection, computeUnits, instructions, basePriorityFee }) {
63
+ export const estimateComputeUnits = async (connection, tx) => {
64
+ return (await connection.simulateTransaction(tx)).value.unitsConsumed;
65
+ };
66
+ export async function withPriorityFees({ connection, computeUnits, instructions = [], basePriorityFee, computeScaleUp, ...rest }) {
67
+ if (!computeUnits && !rest.feePayer) {
68
+ throw new Error("Must provide feePayer if estimatingg compute units");
69
+ }
62
70
  const estimate = await estimatePrioritizationFee(connection, instructions, basePriorityFee);
71
+ if (!computeUnits) {
72
+ const temp = {
73
+ instructions,
74
+ feePayer: rest.feePayer,
75
+ ...rest,
76
+ };
77
+ const tx = await populateMissingDraftInfo(connection, temp);
78
+ const estimatedFee = await estimateComputeUnits(connection, toVersionedTx(tx));
79
+ if (estimatedFee) {
80
+ computeUnits = Math.ceil(estimatedFee * (computeScaleUp || 1.1));
81
+ }
82
+ else {
83
+ computeUnits = 200000;
84
+ }
85
+ }
63
86
  return [
64
87
  ComputeBudgetProgram.setComputeUnitLimit({
65
88
  units: computeUnits,