@helium/spl-utils 0.6.1 → 0.6.2-next.34

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.
Files changed (38) hide show
  1. package/lib/cjs/constants.js +3 -1
  2. package/lib/cjs/constants.js.map +1 -1
  3. package/lib/cjs/draft.js +26 -0
  4. package/lib/cjs/draft.js.map +1 -0
  5. package/lib/cjs/index.js +6 -1
  6. package/lib/cjs/index.js.map +1 -1
  7. package/lib/cjs/mplAssetAPI.js +44 -8
  8. package/lib/cjs/mplAssetAPI.js.map +1 -1
  9. package/lib/cjs/priorityFees.js +133 -0
  10. package/lib/cjs/priorityFees.js.map +1 -0
  11. package/lib/cjs/transaction.js +246 -101
  12. package/lib/cjs/transaction.js.map +1 -1
  13. package/lib/esm/src/constants.js +2 -0
  14. package/lib/esm/src/constants.js.map +1 -1
  15. package/lib/esm/src/draft.js +11 -0
  16. package/lib/esm/src/draft.js.map +1 -0
  17. package/lib/esm/src/index.js +11 -9
  18. package/lib/esm/src/index.js.map +1 -1
  19. package/lib/esm/src/mplAssetAPI.js +45 -8
  20. package/lib/esm/src/mplAssetAPI.js.map +1 -1
  21. package/lib/esm/src/priorityFees.js +104 -0
  22. package/lib/esm/src/priorityFees.js.map +1 -0
  23. package/lib/esm/src/transaction.js +232 -101
  24. package/lib/esm/src/transaction.js.map +1 -1
  25. package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
  26. package/lib/types/src/constants.d.ts +2 -0
  27. package/lib/types/src/constants.d.ts.map +1 -1
  28. package/lib/types/src/draft.d.ts +11 -0
  29. package/lib/types/src/draft.d.ts.map +1 -0
  30. package/lib/types/src/index.d.ts +13 -11
  31. package/lib/types/src/index.d.ts.map +1 -1
  32. package/lib/types/src/mplAssetAPI.d.ts +11 -2
  33. package/lib/types/src/mplAssetAPI.d.ts.map +1 -1
  34. package/lib/types/src/priorityFees.d.ts +19 -0
  35. package/lib/types/src/priorityFees.d.ts.map +1 -0
  36. package/lib/types/src/transaction.d.ts +51 -5
  37. package/lib/types/src/transaction.d.ts.map +1 -1
  38. package/package.json +5 -5
@@ -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,CAClC,6CAA6C,CAC9C,CAAC;AAEW,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
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.proofArgsAndAccounts = exports.getAssetProofBatch = exports.getAssetBatch = exports.searchAssets = exports.getAssetsByOwner = exports.getAssetProof = exports.getAssets = exports.getAsset = void 0;
17
+ exports.proofArgsAndAccounts = exports.withPriorityFees = exports.estimatePrioritizationFee = exports.searchAssetsWithPageInfo = exports.getAssetProofBatch = exports.getAssetBatch = exports.searchAssets = exports.getAssetsByOwner = exports.getAssetProof = exports.getAssets = exports.getAsset = void 0;
18
18
  __exportStar(require("./extendBorsh"), exports);
19
19
  __exportStar(require("./transaction"), exports);
20
20
  __exportStar(require("./anchorError"), exports);
@@ -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; } });
@@ -30,6 +31,10 @@ Object.defineProperty(exports, "getAssetsByOwner", { enumerable: true, get: func
30
31
  Object.defineProperty(exports, "searchAssets", { enumerable: true, get: function () { return mplAssetAPI_1.searchAssets; } });
31
32
  Object.defineProperty(exports, "getAssetBatch", { enumerable: true, get: function () { return mplAssetAPI_1.getAssetBatch; } });
32
33
  Object.defineProperty(exports, "getAssetProofBatch", { enumerable: true, get: function () { return mplAssetAPI_1.getAssetProofBatch; } });
34
+ Object.defineProperty(exports, "searchAssetsWithPageInfo", { enumerable: true, get: function () { return mplAssetAPI_1.searchAssetsWithPageInfo; } });
35
+ var priorityFees_1 = require("./priorityFees");
36
+ Object.defineProperty(exports, "estimatePrioritizationFee", { enumerable: true, get: function () { return priorityFees_1.estimatePrioritizationFee; } });
37
+ Object.defineProperty(exports, "withPriorityFees", { enumerable: true, get: function () { return priorityFees_1.withPriorityFees; } });
33
38
  var proofArgsAndAccounts_1 = require("./proofArgsAndAccounts");
34
39
  Object.defineProperty(exports, "proofArgsAndAccounts", { enumerable: true, get: function () { return proofArgsAndAccounts_1.proofArgsAndAccounts; } });
35
40
  //# sourceMappingURL=index.js.map
@@ -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,6CAQuB;AAPrB,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;AAGpB,+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"}
@@ -23,7 +23,7 @@ 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.searchAssets = exports.getAssetsByOwner = exports.getAssetProofBatch = exports.getAssetProof = exports.getAssets = exports.getAssetBatch = exports.getAsset = void 0;
26
+ exports.searchAssetsWithPageInfo = exports.searchAssets = exports.getAssetsByOwner = exports.getAssetProofBatch = exports.getAssetProof = exports.getAssets = exports.getAssetBatch = exports.getAsset = void 0;
27
27
  const web3_js_1 = require("@solana/web3.js");
28
28
  const axios_1 = __importDefault(require("axios"));
29
29
  // @ts-ignore
@@ -42,6 +42,9 @@ function getAsset(url, assetId) {
42
42
  Expires: "0",
43
43
  },
44
44
  });
45
+ if (response.data && response.data.error) {
46
+ throw new Error(response.data.error.message);
47
+ }
45
48
  const result = response.data.result;
46
49
  if (result) {
47
50
  return toAsset(result);
@@ -68,6 +71,9 @@ function getAssetBatch(url, assetIds) {
68
71
  Expires: "0",
69
72
  },
70
73
  });
74
+ if (response.data && response.data.error) {
75
+ throw new Error(response.data.error.message);
76
+ }
71
77
  const result = response.data.result;
72
78
  if (result) {
73
79
  return result.map(toAsset);
@@ -105,6 +111,9 @@ function getAssets(url, assetIds) {
105
111
  },
106
112
  data: JSON.stringify(batch),
107
113
  });
114
+ if (response.data && response.data.error) {
115
+ throw new Error(response.data.error.message);
116
+ }
108
117
  const result = response.data
109
118
  ? response.data.map((res) => (res === null || res === void 0 ? void 0 : res.result) || undefined)
110
119
  : [];
@@ -146,6 +155,9 @@ function getAssetProof(url, assetId) {
146
155
  Expires: "0",
147
156
  },
148
157
  });
158
+ if (response.data && response.data.error) {
159
+ throw new Error(response.data.error.message);
160
+ }
149
161
  const result = response.data.result;
150
162
  if (result) {
151
163
  return {
@@ -178,6 +190,9 @@ function getAssetProofBatch(url, assetIds) {
178
190
  Expires: "0",
179
191
  },
180
192
  });
193
+ if (response.data && response.data.error) {
194
+ throw new Error(response.data.error.message);
195
+ }
181
196
  const result = response.data.result;
182
197
  if (result) {
183
198
  return Object.entries(result).reduce((acc, [k, r]) => {
@@ -214,6 +229,9 @@ function getAssetsByOwner(url, wallet, { sortBy = { sortBy: "created", sortDirec
214
229
  Expires: "0",
215
230
  },
216
231
  });
232
+ if (response.data && response.data.error) {
233
+ throw new Error(response.data.error.message);
234
+ }
217
235
  return (_a = response.data.result) === null || _a === void 0 ? void 0 : _a.items.map(toAsset);
218
236
  }
219
237
  catch (error) {
@@ -223,25 +241,43 @@ function getAssetsByOwner(url, wallet, { sortBy = { sortBy: "created", sortDirec
223
241
  });
224
242
  }
225
243
  exports.getAssetsByOwner = getAssetsByOwner;
226
- function searchAssets(url, _a) {
244
+ function searchAssets(url, opts) {
245
+ return __awaiter(this, void 0, void 0, function* () {
246
+ return (yield searchAssetsWithPageInfo(url, opts)).items;
247
+ });
248
+ }
249
+ exports.searchAssets = searchAssets;
250
+ function searchAssetsWithPageInfo(url, _a) {
227
251
  var _b;
228
- var { creatorVerified = true, sortBy = { sortBy: "created", sortDirection: "asc" }, page = 1 } = _a, rest = __rest(_a, ["creatorVerified", "sortBy", "page"]);
252
+ var { creatorVerified = true, sortBy = { sortBy: "created", sortDirection: "asc" }, page = 1, limit = 1000, collection, tokenType } = _a, rest = __rest(_a, ["creatorVerified", "sortBy", "page", "limit", "collection", "tokenType"]);
229
253
  return __awaiter(this, void 0, void 0, function* () {
254
+ const params = Object.assign(Object.assign({ page,
255
+ limit, sortBy: tokenType && ["all", "fungible"].includes(tokenType) ? null : sortBy, creatorVerified: tokenType && ["all", "fungible"].includes(tokenType)
256
+ ? null
257
+ : creatorVerified, tokenType }, (collection ? { grouping: ["collection", collection] } : {})), rest);
230
258
  try {
231
259
  const response = yield axios_1.default.post(url, {
232
260
  jsonrpc: "2.0",
233
261
  method: "searchAssets",
234
262
  id: "get-assets-op-1",
235
- params: Object.assign({ page,
236
- creatorVerified,
237
- sortBy }, rest),
263
+ params,
238
264
  headers: {
239
265
  "Cache-Control": "no-cache",
240
266
  Pragma: "no-cache",
241
267
  Expires: "0",
242
268
  },
243
269
  });
244
- return (_b = response.data.result) === null || _b === void 0 ? void 0 : _b.items.map(toAsset);
270
+ if (response.data && response.data.error) {
271
+ throw new Error(response.data.error.message);
272
+ }
273
+ const ret = response.data.result;
274
+ return {
275
+ items: (_b = ret.items) === null || _b === void 0 ? void 0 : _b.map(toAsset),
276
+ limit: ret.limit,
277
+ total: ret.total,
278
+ page: ret.page,
279
+ grandTotal: ret.grand_total,
280
+ };
245
281
  }
246
282
  catch (error) {
247
283
  console.error(error);
@@ -249,5 +285,5 @@ function searchAssets(url, _a) {
249
285
  }
250
286
  });
251
287
  }
252
- exports.searchAssets = searchAssets;
288
+ exports.searchAssetsWithPageInfo = searchAssetsWithPageInfo;
253
289
  //# sourceMappingURL=mplAssetAPI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mplAssetAPI.js","sourceRoot":"","sources":["../../src/mplAssetAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mplAssetAPI.js","sourceRoot":"","sources":["../../src/mplAssetAPI.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,133 @@
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
+ 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
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.withPriorityFees = exports.estimateComputeUnits = exports.estimatePrioritizationFee = void 0;
24
+ const web3_js_1 = require("@solana/web3.js");
25
+ const draft_1 = require("./draft");
26
+ const transaction_1 = require("./transaction");
27
+ const MAX_RECENT_PRIORITY_FEE_ACCOUNTS = 128;
28
+ // Borrowed with love from https://github.com/blockworks-foundation/mango-v4/blob/57a9835aa8f636b6d231ba2c4008bfe89cbf08ba/ts/client/src/client.ts#L4552
29
+ /**
30
+ * Returns an estimate of a prioritization fee for a set of instructions.
31
+ *
32
+ * The estimate is based on the median fees of writable accounts that will be involved in the transaction.
33
+ *
34
+ * @param ixs - the instructions that make up the transaction
35
+ * @returns prioritizationFeeEstimate -- in microLamports
36
+ */
37
+ function estimatePrioritizationFee(connection, ixs, basePriorityFee) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ const accounts = ixs.map((x) => x.keys.map((k) => k.pubkey)).flat();
40
+ const uniqueAccounts = [...new Set(accounts.map((x) => x.toBase58()))]
41
+ .map((a) => new web3_js_1.PublicKey(a))
42
+ .slice(0, MAX_RECENT_PRIORITY_FEE_ACCOUNTS);
43
+ try {
44
+ // @ts-ignore
45
+ const { result: { priorityFeeEstimate } } = yield connection._rpcRequest("getPriorityFeeEstimate", connection._buildArgs([
46
+ {
47
+ accountKeys: uniqueAccounts.map((a) => a.toBase58()),
48
+ },
49
+ ]));
50
+ return Math.max(basePriorityFee || 1, Math.ceil(priorityFeeEstimate));
51
+ }
52
+ catch (e) {
53
+ console.error("Failed to use getPriorityFeeEstimate, falling back to getRecentPrioritizationFees", e);
54
+ const priorityFees = yield connection.getRecentPrioritizationFees({
55
+ lockedWritableAccounts: uniqueAccounts,
56
+ });
57
+ if (priorityFees.length < 1) {
58
+ return Math.max(basePriorityFee || 0, 1);
59
+ }
60
+ // get max priority fee per slot (and sort by slot from old to new)
61
+ const groupedBySlot = priorityFees.reduce((acc, fee) => {
62
+ const key = fee.slot;
63
+ if (!acc[key]) {
64
+ acc[key] = [];
65
+ }
66
+ acc[key].push(fee);
67
+ return acc;
68
+ }, {});
69
+ const maxFeeBySlot = Object.keys(groupedBySlot).reduce((acc, slot) => {
70
+ acc[slot] = groupedBySlot[slot].reduce((max, fee) => {
71
+ return fee.prioritizationFee > max.prioritizationFee ? fee : max;
72
+ });
73
+ return acc;
74
+ }, {});
75
+ const maximumFees = Object.values(maxFeeBySlot).sort((a, b) => a.slot - b.slot);
76
+ // get median of last 20 fees
77
+ const recentFees = maximumFees.slice(Math.max(maximumFees.length - 20, 0));
78
+ const mid = Math.floor(recentFees.length / 2);
79
+ const medianFee = recentFees.length % 2 !== 0
80
+ ? recentFees[mid].prioritizationFee
81
+ : (recentFees[mid - 1].prioritizationFee +
82
+ recentFees[mid].prioritizationFee) /
83
+ 2;
84
+ return Math.max(basePriorityFee || 1, Math.ceil(medianFee));
85
+ }
86
+ });
87
+ }
88
+ exports.estimatePrioritizationFee = estimatePrioritizationFee;
89
+ const estimateComputeUnits = (connection, tx, retries = 5) => __awaiter(void 0, void 0, void 0, function* () {
90
+ const sim = (yield connection.simulateTransaction(tx)).value;
91
+ if (sim.err && sim.err.toString().includes("BlockhashNotFound") && retries > 0) {
92
+ yield sleep(500);
93
+ return (0, exports.estimateComputeUnits)(connection, tx, retries - 1);
94
+ }
95
+ return sim.unitsConsumed;
96
+ });
97
+ exports.estimateComputeUnits = estimateComputeUnits;
98
+ function sleep(ms) {
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ return new Promise((resolve) => setTimeout(resolve, ms));
101
+ });
102
+ }
103
+ function withPriorityFees(_a) {
104
+ var { connection, computeUnits, instructions = [], basePriorityFee, computeScaleUp } = _a, rest = __rest(_a, ["connection", "computeUnits", "instructions", "basePriorityFee", "computeScaleUp"]);
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ if (!computeUnits && !rest.feePayer) {
107
+ throw new Error("Must provide feePayer if estimating compute units");
108
+ }
109
+ const estimate = yield estimatePrioritizationFee(connection, instructions, basePriorityFee);
110
+ if (!computeUnits) {
111
+ const temp = Object.assign({ instructions, feePayer: rest.feePayer }, rest);
112
+ const tx = yield (0, draft_1.populateMissingDraftInfo)(connection, temp);
113
+ const estimatedFee = yield (0, exports.estimateComputeUnits)(connection, (0, transaction_1.toVersionedTx)(tx));
114
+ if (estimatedFee) {
115
+ computeUnits = Math.ceil(estimatedFee * (computeScaleUp || 1.1));
116
+ }
117
+ else {
118
+ computeUnits = 200000;
119
+ }
120
+ }
121
+ return [
122
+ web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({
123
+ units: computeUnits,
124
+ }),
125
+ web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
126
+ microLamports: estimate,
127
+ }),
128
+ ...instructions,
129
+ ];
130
+ });
131
+ }
132
+ exports.withPriorityFees = withPriorityFees;
133
+ //# sourceMappingURL=priorityFees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"priorityFees.js","sourceRoot":"","sources":["../../src/priorityFees.ts"],"names":[],"mappings":"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"}