fema-pf-calc 1.0.0 → 1.0.1

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/README.md CHANGED
@@ -24,7 +24,7 @@ FEMA solves this by scanning recent blocks, building a real fee distribution, an
24
24
  4. If you specify a protocol or pass your transaction, it filters the data to only transactions that used the same programs as yours
25
25
  5. It returns the fee at the percentile matching your chosen speed and strategy
26
26
 
27
- Results are cached for 5–10 seconds to avoid hammering the RPC on every call.
27
+ Results are cached for 30 seconds to avoid hammering the RPC on every call.
28
28
 
29
29
  ---
30
30
 
@@ -65,12 +65,12 @@ That is all a developer needs to do. No RPC calls, no math, no guessing.
65
65
 
66
66
  ```ts
67
67
  const result = await estimateFee({
68
- speed: "slow" | "medium" | "fast", // how urgently you need it to land
69
- strategy: "cheap" | "balanced" | "aggressive", // how competitive to be
70
- protocol: "jupiter" | "raydium" | "orca" | "nft" | "pumpfun" | "openbook" | "system" | "token",
71
- transaction: myTransaction, // pass your actual tx for automatic protocol detection
72
- maxFee: 500_000, // optional cap in microLamports
73
- includeStats: true, // include full distribution in response
68
+ speed: "fast", // "slow" | "medium" | "fast"
69
+ strategy: "balanced", // "cheap" | "balanced" | "aggressive"
70
+ protocol: "jupiter", // see supported protocols below
71
+ transaction: myTransaction, // pass your actual tx for automatic protocol detection
72
+ maxFee: 500_000, // optional cap in microLamports
73
+ includeStats: true, // include full distribution in response
74
74
  });
75
75
  ```
76
76
 
@@ -185,52 +185,19 @@ Or configure via `.env`:
185
185
  # Network: mainnet-beta (default) or devnet
186
186
  SOLANA_CLUSTER=mainnet-beta
187
187
 
188
- # Optional: override the RPC URL for the selected cluster
188
+ # Helius API key get one free at https://helius.dev
189
+ # The base URL is set in code; only your key goes here
190
+ HELIUS_API_KEY=your-api-key-here
191
+
192
+ # Optional: use a different RPC provider entirely (overrides HELIUS_API_KEY)
189
193
  # SOLANA_RPC_URL=https://your-custom-rpc.com
190
194
 
191
195
  # How long to cache fee data in milliseconds (default: 7000)
192
196
  CACHE_DURATION_MS=7000
193
-
194
- # Express server port (default: 3000)
195
- PORT=3000
196
197
  ```
197
198
 
198
199
  ---
199
200
 
200
- ## Test Script
201
-
202
- Run a live fee report from the terminal:
203
-
204
- ```bash
205
- # Mainnet (default)
206
- ts-node test-fees.ts
207
-
208
- # Devnet
209
- ts-node test-fees.ts --network devnet
210
- ts-node test-fees.ts --network=devnet
211
-
212
- # Via env var
213
- SOLANA_CLUSTER=devnet ts-node test-fees.ts
214
- ```
215
-
216
- ---
217
-
218
- ## Optional HTTP Server
219
-
220
- FEMA includes an Express server for teams who want to expose fee estimation over HTTP instead of importing the package directly.
221
-
222
- ```bash
223
- npm run server
224
- ```
225
-
226
- | Endpoint | Description |
227
- |----------|-------------|
228
- | `GET /health` | Check server status and active RPC URL |
229
- | `GET /estimate-fee?speed=fast&strategy=balanced` | Get a fee recommendation |
230
- | `GET /stats` | Get fee with full distribution stats |
231
-
232
- ---
233
-
234
201
  ## RPC Recommendations
235
202
 
236
203
  The public Solana RPC endpoints rate-limit aggressively. For reliable results use a private RPC:
@@ -246,7 +213,6 @@ The public Solana RPC endpoints rate-limit aggressively. For reliable results us
246
213
  ```
247
214
  src/
248
215
  ├── index.ts # SDK entry point — estimateFee() and init()
249
- ├── server.ts # Optional Express HTTP server
250
216
  ├── types.ts # TypeScript types and interfaces
251
217
  ├── config.ts # Configuration and cluster RPC resolution
252
218
  ├── protocols.ts # Known protocol registry (Jupiter, Raydium, etc.)
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpD,QAAA,MAAM,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAG9C,CAAC;AAsBF,wBAAgB,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAIzD;AAED,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,wBAAgB,SAAS,IAAI,UAAU,CAEtC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpD,QAAA,MAAM,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAG9C,CAAC;AA0BF,wBAAgB,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAIzD;AAED,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,wBAAgB,SAAS,IAAI,UAAU,CAEtC"}
package/dist/config.js CHANGED
@@ -15,8 +15,13 @@ function resolveCluster() {
15
15
  return "devnet";
16
16
  return "mainnet-beta";
17
17
  }
18
+ const HELIUS_RPC = "https://mainnet.helius-rpc.com/?api-key=";
18
19
  function resolveRpc(cluster) {
19
- return process.env.SOLANA_RPC_URL ?? CLUSTER_RPC[cluster];
20
+ if (process.env.SOLANA_RPC_URL)
21
+ return process.env.SOLANA_RPC_URL;
22
+ if (process.env.HELIUS_API_KEY)
23
+ return `${HELIUS_RPC}${process.env.HELIUS_API_KEY}`;
24
+ return CLUSTER_RPC[cluster];
20
25
  }
21
26
  const defaultCluster = resolveCluster();
22
27
  let _config = {
@@ -26,7 +31,7 @@ let _config = {
26
31
  };
27
32
  function init(overrides) {
28
33
  const cluster = overrides.cluster ?? _config.cluster;
29
- const rpcUrl = overrides.rpcUrl ?? CLUSTER_RPC[cluster];
34
+ const rpcUrl = overrides.rpcUrl ?? resolveRpc(cluster);
30
35
  _config = { ..._config, ...overrides, cluster, rpcUrl };
31
36
  }
32
37
  function getConfig() {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AA2BA,oBAIC;AAID,8BAEC;AAnCD,MAAM,WAAW,GAAkC;IACjD,cAAc,EAAE,qCAAqC;IACrD,QAAQ,EAAE,+BAA+B;CAC1C,CAAC;AA4BO,kCAAW;AA1BpB,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,SAAS,cAAc;IACrB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,cAAc,CAAC;IACzD,IAAI,GAAG,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACtC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,OAAsB;IACxC,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,cAAc,GAAG,cAAc,EAAE,CAAC;AAExC,IAAI,OAAO,GAAe;IACxB,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,gBAAgB,CAAC;CAC3E,CAAC;AAEF,SAAgB,IAAI,CAAC,SAA8B;IACjD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IACrD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IACxD,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC1D,CAAC;AAID,SAAgB,SAAS;IACvB,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AA+BA,oBAIC;AAID,8BAEC;AAvCD,MAAM,WAAW,GAAkC;IACjD,cAAc,EAAE,qCAAqC;IACrD,QAAQ,EAAE,+BAA+B;CAC1C,CAAC;AAgCO,kCAAW;AA9BpB,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,SAAS,cAAc;IACrB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,cAAc,CAAC;IACzD,IAAI,GAAG,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACtC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,GAAG,0CAA0C,CAAC;AAE9D,SAAS,UAAU,CAAC,OAAsB;IACxC,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IACpF,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,cAAc,GAAG,cAAc,EAAE,CAAC;AAExC,IAAI,OAAO,GAAe;IACxB,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,gBAAgB,CAAC;CAC3E,CAAC;AAEF,SAAgB,IAAI,CAAC,SAA8B;IACjD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IACrD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IACvD,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC1D,CAAC;AAID,SAAgB,SAAS;IACvB,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAA6B,MAAM,SAAS,CAAC;AAiBvG,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,eAAe,EACf,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,wBAAgB,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAQtD;AAID,wBAAsB,WAAW,CAC/B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAsE5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAA6B,MAAM,SAAS,CAAC;AAiBvG,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,eAAe,EACf,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAkBxC,wBAAgB,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAiBtD;AAID,wBAAsB,WAAW,CAC/B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAsE5B"}
package/dist/index.js CHANGED
@@ -13,11 +13,30 @@ var protocols_2 = require("./protocols");
13
13
  Object.defineProperty(exports, "PROTOCOLS", { enumerable: true, get: function () { return protocols_2.PROTOCOLS; } });
14
14
  // ─── SDK initialisation ───────────────────────────────────────────────────────
15
15
  let _started = false;
16
+ // Deduplicate concurrent fetches — if a block scan is already in flight,
17
+ // all callers share the same promise instead of each firing their own RPC requests.
18
+ let _pendingFetch = null;
19
+ async function fetchEntries(needsProgramData) {
20
+ if (_pendingFetch)
21
+ return _pendingFetch;
22
+ _pendingFetch = (0, solana_1.fetchRecentPriorityFees)(30, needsProgramData).finally(() => {
23
+ _pendingFetch = null;
24
+ });
25
+ return _pendingFetch;
26
+ }
16
27
  function init(config) {
17
28
  (0, config_1.init)(config);
18
29
  (0, solana_1.resetConnection)();
19
30
  if (!_started) {
20
- (0, database_1.startPersistedInterval)(() => (0, database_1.getLatestSnapshotSync)(), 15000);
31
+ // Pre-warm the cache so the first estimateFee call is instant
32
+ fetchEntries(true).then((entries) => {
33
+ if (entries.length > 0) {
34
+ const { snapshot } = (0, feeCalculator_1.calculateFee)(entries.map(e => e.fee).sort((a, b) => a - b), "medium", "balanced");
35
+ (0, cache_1.setCache)(snapshot, entries);
36
+ (0, database_1.setLatestSnapshot)(snapshot);
37
+ }
38
+ }).catch(() => { });
39
+ (0, database_1.startPersistedInterval)(() => (0, database_1.getLatestSnapshotSync)(), 30000);
21
40
  _started = true;
22
41
  }
23
42
  }
@@ -53,7 +72,7 @@ async function estimateFee(options = {}) {
53
72
  let entries = [];
54
73
  let fromFallback = false;
55
74
  try {
56
- entries = await (0, solana_1.fetchRecentPriorityFees)(30, needsProgramData);
75
+ entries = await fetchEntries(needsProgramData);
57
76
  if (entries.length === 0)
58
77
  throw new Error("No fee data returned from RPC");
59
78
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAgDA,oBAiBC;AAID,kCAwEC;AA5ID,qCAA+C;AAC/C,4CAAuD;AACvD,8CAK2B;AAC3B,2CAA+E;AAC/E,kDAI6B;AAC7B,0DAAoF;AAepF,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB,iFAAiF;AAEjF,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,yEAAyE;AACzE,oFAAoF;AACpF,IAAI,aAAa,GAA+B,IAAI,CAAC;AAErD,KAAK,UAAU,YAAY,CAAC,gBAAyB;IACnD,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IACxC,aAAa,GAAG,IAAA,gCAAuB,EAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QACzE,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAgB,IAAI,CAAC,MAA2B;IAC9C,IAAA,aAAW,EAAC,MAAM,CAAC,CAAC;IACpB,IAAA,wBAAe,GAAE,CAAC;IAElB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,8DAA8D;QAC9D,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,4BAAY,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACvG,IAAA,gBAAQ,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC5B,IAAA,4BAAiB,EAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAwD,CAAC,CAAC,CAAC;QAEzE,IAAA,iCAAsB,EAAC,GAAG,EAAE,CAAC,IAAA,gCAAqB,GAAE,EAAE,KAAM,CAAC,CAAC;QAC9D,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;AACH,CAAC;AAED,iFAAiF;AAE1E,KAAK,UAAU,WAAW,CAC/B,UAA8B,EAAE;IAEhC,MAAM,EACJ,KAAK,GAAG,QAAQ,EAChB,QAAQ,GAAG,UAAU,EACrB,YAAY,GAAG,KAAK,EACpB,MAAM,EACN,WAAW,EACX,QAAQ,GACT,GAAG,OAAO,CAAC;IAEZ,oEAAoE;IACpE,IAAI,UAAU,GAAa,EAAE,CAAC;IAC9B,IAAI,QAAQ,EAAE,CAAC;QACb,UAAU,GAAG,IAAA,iCAAqB,EAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,WAAW,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,IAAA,0BAAiB,EAAC,WAAW,CAAC,CAAC;QAClD,UAAU,GAAG,UAAU,CAAC;QACxB,qEAAqE;QACrE,MAAM,QAAQ,GAAG,IAAA,0BAAc,EAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACb,2DAA2D;YAC3D,UAAU,GAAG,IAAA,iCAAqB,EAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,IAAA,6BAAoB,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjF,+EAA+E;IAC/E,MAAM,MAAM,GAAG,IAAA,iBAAS,GAAE,CAAC;IAC3B,MAAM,mBAAmB,GAAG,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC;IAExF,IAAI,MAAM,IAAI,CAAC,CAAC,gBAAgB,IAAI,mBAAmB,CAAC,EAAE,CAAC;QACzD,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,IAAA,gCAAgB,EAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/E,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAA,4BAAY,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC7G,OAAO,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IAC5F,CAAC;IAED,sCAAsC;IACtC,IAAI,OAAO,GAAe,EAAE,CAAC;IAC7B,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QACjF,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,8CAA8C;IAC9C,IAAI,YAAY,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,IAAA,gCAAqB,GAAE,CAAC;QACvC,MAAM,YAAY,GAAG,MAAM;YACzB,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACjE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACX,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,2EAA2E;IAC3E,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,IAAA,gCAAgB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAExE,eAAe;IACf,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAA,4BAAY,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAE7G,8CAA8C;IAC9C,IAAA,gBAAQ,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5B,IAAA,4BAAiB,EAAC,QAAQ,CAAC,CAAC;IAE5B,OAAO,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;AAC5F,CAAC;AAED,iFAAiF;AAEjF,SAAS,WAAW,CAClB,GAAW,EACX,QAAqD,EACrD,cAAsB,EACtB,OAAiB,EACjB,YAAqB,EACrB,eAAwB;IAExB,MAAM,MAAM,GAAsB;QAChC,GAAG;QACH,UAAU,EAAE,QAAQ,CAAC,eAAe;QACpC,cAAc;QACd,UAAU,EAAE,OAAO,CAAC,MAAM;QAC1B,eAAe;KAChB,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,KAAK,GAAG;YACb,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,YAAY,EAAE,iBAAiB,CAAC,OAAO,CAAC;SACzC,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAoB;IAC7C,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,0BAAU,EAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAChG,CAAC;AAED,SAAS,eAAe,CAAC,GAAW,EAAE,MAAc,EAAE,GAAW;IAC/D,OAAO;QACL,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QACrB,GAAG;QACH,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM;QACN,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,GAAG;QACH,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;KACtB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/services/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,oBAAoB,EAGrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAWpC,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,GAAE,MAAW,EACvB,gBAAgB,GAAE,OAAe,GAChC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAqBrB;AAsGD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,WAAW,GAAG,oBAAoB,GACrC,MAAM,EAAE,CAmBV;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,WAAW,GAAG,oBAAoB,GACrC,MAAM,CAgCR"}
1
+ {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/services/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,oBAAoB,EAGrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAWpC,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,GAAE,MAAW,EACvB,gBAAgB,GAAE,OAAe,GAChC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAqBrB;AAoGD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,WAAW,GAAG,oBAAoB,GACrC,MAAM,EAAE,CAmBV;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,WAAW,GAAG,oBAAoB,GACrC,MAAM,CAgCR"}
@@ -79,7 +79,6 @@ async function scanBlocks(connection, blockCount) {
79
79
  const microLamportsPerCU = Math.round((priorityFeeLamports * 1000000) / cuConsumed);
80
80
  if (microLamportsPerCU <= 0)
81
81
  continue;
82
- // Extract program IDs from the transaction's instructions
83
82
  const programs = extractProgramIdsFromBlock(tx.transaction);
84
83
  entries.push({ fee: microLamportsPerCU, programs });
85
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../src/services/solana.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../src/services/solana.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fema-pf-calc",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Intelligent Solana priority fee estimation engine",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,8 +21,6 @@
21
21
  "build": "tsc",
22
22
  "prepublishOnly": "npm run build",
23
23
  "dev": "ts-node test-fees.ts",
24
- "server": "ts-node src/server.ts",
25
- "start": "node dist/server.js",
26
24
  "lint": "eslint src/**/*.ts"
27
25
  },
28
26
  "keywords": [
@@ -37,7 +35,6 @@
37
35
  },
38
36
  "devDependencies": {
39
37
  "@solana/web3.js": "^1.98.0",
40
- "@types/express": "^5.0.1",
41
38
  "@types/node": "^22.15.2",
42
39
  "dotenv": "^16.5.0",
43
40
  "express": "^4.21.2",