@helium/spl-utils 0.10.0 → 0.10.2

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.
@@ -13,7 +13,9 @@ export const MAX_PRIO_FEE = 2500000;
13
13
  * @returns prioritizationFeeEstimate -- in microLamports
14
14
  */
15
15
  export async function estimatePrioritizationFee(connection, ixs, basePriorityFee, maxPriorityFee = MAX_PRIO_FEE, priorityFeeOptions = {}) {
16
- const accounts = ixs.map((x) => x.keys.filter(k => k.isWritable).map((k) => k.pubkey)).flat();
16
+ const accounts = ixs
17
+ .map((x) => x.keys.filter((k) => k.isWritable).map((k) => k.pubkey))
18
+ .flat();
17
19
  const uniqueAccounts = [...new Set(accounts.map((x) => x.toBase58()))]
18
20
  .map((a) => new PublicKey(a))
19
21
  .slice(0, MAX_RECENT_PRIORITY_FEE_ACCOUNTS);
@@ -69,13 +71,15 @@ export async function estimatePrioritizationFee(connection, ixs, basePriorityFee
69
71
  }
70
72
  export const estimateComputeUnits = async (connection, tx, retries = 5) => {
71
73
  const sim = (await connection.simulateTransaction(tx)).value;
72
- if (sim.err && sim.err.toString().includes("BlockhashNotFound") && retries > 0) {
74
+ if (sim.err &&
75
+ sim.err.toString().includes("BlockhashNotFound") &&
76
+ retries > 0) {
73
77
  await sleep(500);
74
78
  return estimateComputeUnits(connection, tx, retries - 1);
75
79
  }
76
80
  // Default to 1m compute if it failed
77
81
  if (sim.err) {
78
- return Math.max(sim.unitsConsumed || 0, 1000000);
82
+ return Math.max(sim.unitsConsumed || 0, 1400000);
79
83
  }
80
84
  return sim.unitsConsumed;
81
85
  };
@@ -98,7 +102,7 @@ export async function withPriorityFees({ connection, computeUnits, instructions
98
102
  if (!tx.instructions.some((ix) => ix.programId.equals(ComputeBudgetProgram.programId))) {
99
103
  ixWithComputeUnits = [
100
104
  ComputeBudgetProgram.setComputeUnitLimit({
101
- units: 1000000,
105
+ units: 1400000,
102
106
  }),
103
107
  ComputeBudgetProgram.setComputeUnitPrice({
104
108
  microLamports: 1,
@@ -108,7 +112,7 @@ export async function withPriorityFees({ connection, computeUnits, instructions
108
112
  }
109
113
  const estimatedFee = await estimateComputeUnits(connection, toVersionedTx({ ...tx, instructions: ixWithComputeUnits }));
110
114
  if (estimatedFee) {
111
- computeUnits = Math.ceil(estimatedFee * (computeScaleUp || 1.1));
115
+ computeUnits = Math.min(1400000, Math.ceil(estimatedFee * (computeScaleUp || 1.1)));
112
116
  }
113
117
  else {
114
118
  computeUnits = 200000;
@@ -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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"}