@gvnrdao/dh-lit-actions 0.0.81 → 0.0.112

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 (74) hide show
  1. package/package.json +7 -2
  2. package/pkg-dist/pkg-src/constants/chunks/lit-actions-registry.d.ts +1 -9
  3. package/pkg-dist/pkg-src/constants/chunks/lit-actions-registry.d.ts.map +1 -1
  4. package/pkg-dist/pkg-src/constants/chunks/lit-actions-registry.js +139 -151
  5. package/pkg-dist/pkg-src/constants/chunks/lit-actions-registry.js.map +1 -1
  6. package/pkg-dist/pkg-src/constants/chunks/package-registry.d.ts.map +1 -1
  7. package/pkg-dist/pkg-src/constants/chunks/package-registry.js +0 -2
  8. package/pkg-dist/pkg-src/constants/chunks/package-registry.js.map +1 -1
  9. package/pkg-dist/pkg-src/interfaces/chunks/diamond-hands-lit-actions.i.d.ts +12 -0
  10. package/pkg-dist/pkg-src/interfaces/chunks/diamond-hands-lit-actions.i.d.ts.map +1 -1
  11. package/pkg-dist/pkg-src/interfaces/chunks/lit-action-registry.i.d.ts +0 -2
  12. package/pkg-dist/pkg-src/interfaces/chunks/lit-action-registry.i.d.ts.map +1 -1
  13. package/pkg-dist/pkg-src/utils/chunks/cid-utils.d.ts.map +1 -1
  14. package/pkg-dist/pkg-src/utils/chunks/cid-utils.js +5 -0
  15. package/pkg-dist/pkg-src/utils/chunks/cid-utils.js.map +1 -1
  16. package/pkg-dist/pkg-src/utils/chunks/lit-action-helpers.d.ts.map +1 -1
  17. package/pkg-dist/pkg-src/utils/chunks/lit-action-helpers.js +18 -4
  18. package/pkg-dist/pkg-src/utils/chunks/lit-action-helpers.js.map +1 -1
  19. package/pkg-dist/pkg-src/utils/chunks/pkp-setup.d.ts.map +1 -1
  20. package/pkg-dist/pkg-src/utils/chunks/pkp-setup.js +6 -2
  21. package/pkg-dist/pkg-src/utils/chunks/pkp-setup.js.map +1 -1
  22. package/pkg-dist/src/constants/chunks/bitcoin-network-config.js +4 -4
  23. package/pkg-dist/src/constants/chunks/bitcoin-network-config.js.map +1 -1
  24. package/pkg-dist/src/constants/chunks/quantum-time.d.ts +7 -7
  25. package/pkg-dist/src/constants/chunks/quantum-time.js +7 -7
  26. package/pkg-dist/src/interfaces/chunks/bitcoin-data-provider.i.d.ts +6 -0
  27. package/pkg-dist/src/interfaces/chunks/bitcoin-data-provider.i.d.ts.map +1 -1
  28. package/pkg-dist/src/interfaces/chunks/owner-authorization.d.ts +18 -0
  29. package/pkg-dist/src/interfaces/chunks/owner-authorization.d.ts.map +1 -1
  30. package/pkg-dist/src/interfaces/chunks/vault-balance-module.i.d.ts +2 -1
  31. package/pkg-dist/src/interfaces/chunks/vault-balance-module.i.d.ts.map +1 -1
  32. package/pkg-dist/src/interfaces/chunks/vault-balance.i.d.ts +2 -0
  33. package/pkg-dist/src/interfaces/chunks/vault-balance.i.d.ts.map +1 -1
  34. package/pkg-dist/src/interfaces/chunks/vault-snapshot.i.d.ts +2 -0
  35. package/pkg-dist/src/interfaces/chunks/vault-snapshot.i.d.ts.map +1 -1
  36. package/pkg-dist/src/modules/authorization.module.d.ts +86 -0
  37. package/pkg-dist/src/modules/authorization.module.d.ts.map +1 -1
  38. package/pkg-dist/src/modules/authorization.module.js +175 -0
  39. package/pkg-dist/src/modules/authorization.module.js.map +1 -1
  40. package/pkg-dist/src/modules/bitcoin/address.d.ts +40 -0
  41. package/pkg-dist/src/modules/bitcoin/address.d.ts.map +1 -0
  42. package/pkg-dist/src/modules/bitcoin/address.js +323 -0
  43. package/pkg-dist/src/modules/bitcoin/address.js.map +1 -0
  44. package/pkg-dist/src/modules/bitcoin/provider.d.ts +55 -0
  45. package/pkg-dist/src/modules/bitcoin/provider.d.ts.map +1 -0
  46. package/pkg-dist/src/modules/bitcoin/provider.js +67 -0
  47. package/pkg-dist/src/modules/bitcoin/provider.js.map +1 -0
  48. package/pkg-dist/src/modules/bitcoin/signature.d.ts +24 -0
  49. package/pkg-dist/src/modules/bitcoin/signature.d.ts.map +1 -0
  50. package/pkg-dist/src/modules/bitcoin/signature.js +64 -0
  51. package/pkg-dist/src/modules/bitcoin/signature.js.map +1 -0
  52. package/pkg-dist/src/modules/bitcoin/transaction.d.ts +63 -0
  53. package/pkg-dist/src/modules/bitcoin/transaction.d.ts.map +1 -0
  54. package/pkg-dist/src/modules/bitcoin/transaction.js +187 -0
  55. package/pkg-dist/src/modules/bitcoin/transaction.js.map +1 -0
  56. package/pkg-dist/src/modules/bitcoin-data-provider.module.d.ts +19 -0
  57. package/pkg-dist/src/modules/bitcoin-data-provider.module.d.ts.map +1 -1
  58. package/pkg-dist/src/modules/bitcoin-data-provider.module.js +162 -18
  59. package/pkg-dist/src/modules/bitcoin-data-provider.module.js.map +1 -1
  60. package/pkg-dist/src/modules/price-oracle.module.d.ts.map +1 -1
  61. package/pkg-dist/src/modules/price-oracle.module.js +65 -67
  62. package/pkg-dist/src/modules/price-oracle.module.js.map +1 -1
  63. package/pkg-dist/src/modules/quantum-time.module.d.ts +1 -1
  64. package/pkg-dist/src/modules/quantum-time.module.d.ts.map +1 -1
  65. package/pkg-dist/src/modules/quantum-time.module.js +9 -6
  66. package/pkg-dist/src/modules/quantum-time.module.js.map +1 -1
  67. package/pkg-dist/src/modules/vault-balance.module.d.ts +3 -1
  68. package/pkg-dist/src/modules/vault-balance.module.d.ts.map +1 -1
  69. package/pkg-dist/src/modules/vault-balance.module.js +59 -2
  70. package/pkg-dist/src/modules/vault-balance.module.js.map +1 -1
  71. package/pkg-dist/src/modules/vault-snapshot.d.ts +11 -1
  72. package/pkg-dist/src/modules/vault-snapshot.d.ts.map +1 -1
  73. package/pkg-dist/src/modules/vault-snapshot.js +123 -33
  74. package/pkg-dist/src/modules/vault-snapshot.js.map +1 -1
@@ -21,7 +21,71 @@ exports.createBitcoinDataProvider = createBitcoinDataProvider;
21
21
  class BitcoinDataProvider {
22
22
  constructor(config) {
23
23
  this.config = config;
24
- this.timeout = config.timeout || 10000; // Default 10 seconds
24
+ // Reduced to 15 seconds to leave time for other operations in LIT action (30s total limit)
25
+ // Can be overridden via config.timeout
26
+ this.timeout = config.timeout || 15000;
27
+ }
28
+ /**
29
+ * Get current Bitcoin block height from provider
30
+ *
31
+ * Returns null if block height cannot be fetched (e.g., provider doesn't support it).
32
+ * This allows graceful degradation for providers that don't implement the Esplora API fully.
33
+ */
34
+ async getCurrentBlockHeight() {
35
+ const getBlockHeightStartTime = Date.now();
36
+ // If RPC helper is provided, use it
37
+ if (this.config.rpcHelper) {
38
+ const blockCount = await this.config.rpcHelper.getBlockCount();
39
+ const duration = Date.now() - getBlockHeightStartTime;
40
+ console.log(`[Bitcoin Data] [Timing] getCurrentBlockHeight (RPC helper): ${duration}ms`);
41
+ return blockCount;
42
+ }
43
+ // Fetch from Esplora API
44
+ const controller = new AbortController();
45
+ const timeoutId = setTimeout(() => controller.abort(), this.timeout);
46
+ try {
47
+ const response = await fetch(`${this.config.providerUrl}/blocks/tip/height`, {
48
+ signal: controller.signal,
49
+ headers: {
50
+ // LIT runtime rejects custom User-Agent headers (gRPC invalid_argument)
51
+ // Match CryptoCompare working pattern - minimal headers only
52
+ Accept: "text/plain",
53
+ },
54
+ });
55
+ clearTimeout(timeoutId);
56
+ if (!response.ok) {
57
+ // For regtest/testnet, it's acceptable if block height endpoint doesn't exist
58
+ // We'll use a fallback strategy in parseBlockstreamUTXOs
59
+ console.warn(`[Bitcoin Data] Block height endpoint not available (${response.status}), will use fallback confirmation calculation`);
60
+ const duration = Date.now() - getBlockHeightStartTime;
61
+ console.log(`[Bitcoin Data] [Timing] getCurrentBlockHeight (failed): ${duration}ms`);
62
+ return null;
63
+ }
64
+ const heightText = await response.text();
65
+ const height = parseInt(heightText.trim(), 10);
66
+ if (isNaN(height)) {
67
+ console.warn(`[Bitcoin Data] Invalid block height response: ${heightText}, will use fallback`);
68
+ const duration = Date.now() - getBlockHeightStartTime;
69
+ console.log(`[Bitcoin Data] [Timing] getCurrentBlockHeight (invalid): ${duration}ms`);
70
+ return null;
71
+ }
72
+ const duration = Date.now() - getBlockHeightStartTime;
73
+ console.log(`[Bitcoin Data] [Timing] getCurrentBlockHeight: ${duration}ms`);
74
+ return height;
75
+ }
76
+ catch (error) {
77
+ clearTimeout(timeoutId);
78
+ const duration = Date.now() - getBlockHeightStartTime;
79
+ console.log(`[Bitcoin Data] [Timing] getCurrentBlockHeight (error): ${duration}ms`);
80
+ if (error.name === "AbortError") {
81
+ console.warn(`[Bitcoin Data] Block height request timeout, will use fallback`);
82
+ return null;
83
+ }
84
+ // For network errors or 404s, return null instead of throwing
85
+ // This allows graceful degradation for providers that don't support block height
86
+ console.warn(`[Bitcoin Data] Could not fetch block height: ${error.message}, will use fallback`);
87
+ return null;
88
+ }
25
89
  }
26
90
  /**
27
91
  * Fetch all UTXOs for a Bitcoin address
@@ -100,9 +164,10 @@ class BitcoinDataProvider {
100
164
  * - Blockstream format: {txid, vout, value, confirmations}
101
165
  *
102
166
  * @param data Raw response from provider API
167
+ * @param currentBlockHeight Current block height (for calculating confirmations from block_height), or null if unavailable
103
168
  * @returns Array of normalized UTXOs
104
169
  */
105
- parseBlockstreamUTXOs(data) {
170
+ parseBlockstreamUTXOs(data, currentBlockHeight) {
106
171
  if (!Array.isArray(data)) {
107
172
  throw new Error("Invalid Blockstream response format: expected an array");
108
173
  }
@@ -113,15 +178,19 @@ class BitcoinDataProvider {
113
178
  // Check for Esplora format (status.confirmed and status.block_height)
114
179
  if (utxo.status && typeof utxo.status === 'object') {
115
180
  if (utxo.status.confirmed) {
116
- // For Esplora format: if confirmed, use block_height if available
117
- // For regtest, if block_height is 0 or undefined but confirmed=true,
118
- // treat as at least 1 confirmation (regtest blocks are mined instantly)
119
- if (utxo.status.block_height !== undefined && utxo.status.block_height > 0) {
120
- confirmations = utxo.status.block_height;
181
+ // For Esplora format: calculate confirmations from block heights
182
+ // confirmations = current_height - tx_block_height + 1
183
+ if (utxo.status.block_height !== undefined && utxo.status.block_height > 0 && currentBlockHeight !== null) {
184
+ // We have both block heights, calculate confirmations
185
+ confirmations = currentBlockHeight - utxo.status.block_height + 1;
186
+ // Ensure confirmations is at least 1 for confirmed transactions
187
+ if (confirmations < 1)
188
+ confirmations = 1;
121
189
  }
122
190
  else {
123
- // Confirmed but no block_height (or block_height is 0) - treat as 1 confirmation
124
- // This handles regtest where blocks are mined instantly
191
+ // Confirmed but no block_height or currentBlockHeight unavailable
192
+ // For regtest/testnet, assume at least 1 confirmation for confirmed transactions
193
+ // This is safe because confirmed=true means the transaction is in a block
125
194
  confirmations = 1;
126
195
  }
127
196
  }
@@ -148,20 +217,23 @@ class BitcoinDataProvider {
148
217
  * - providerUrl must include full base path (e.g., "http://localhost:3002/api/esplora")
149
218
  */
150
219
  async fetchUTXOsFromProvider(providerUrl, address) {
220
+ const fetchUTXOsStartTime = Date.now();
151
221
  // Standard Esplora API format only
152
222
  // providerUrl must include full base path (e.g., "http://localhost:3002/api/esplora")
153
223
  const endpoint = `${providerUrl}/address/${address}/utxos`;
154
- console.log(`Fetching UTXOs from ${endpoint}`);
224
+ console.log(`Fetching UTXOs from ${endpoint} (timeout: ${this.timeout}ms)`);
225
+ // Get current block height for confirmation calculation (with shorter timeout)
226
+ const currentBlockHeight = await this.getCurrentBlockHeight();
227
+ console.log(`[Bitcoin Data] Current block height: ${currentBlockHeight}`);
155
228
  const controller = new AbortController();
156
229
  const timeoutId = setTimeout(() => controller.abort(), this.timeout);
157
230
  try {
158
231
  const response = await fetch(endpoint, {
159
232
  signal: controller.signal,
160
233
  headers: {
234
+ // LIT runtime rejects custom User-Agent headers (gRPC invalid_argument)
235
+ // Match CryptoCompare working pattern - minimal headers only
161
236
  Accept: "application/json",
162
- "Content-Type": "application/json",
163
- "User-Agent": "Mozilla/5.0 (compatible; DiamondHandsValidator/1.0)",
164
- "ngrok-skip-browser-warning": "true", // Skip ngrok browser warning page
165
237
  },
166
238
  });
167
239
  clearTimeout(timeoutId);
@@ -169,13 +241,19 @@ class BitcoinDataProvider {
169
241
  throw new Error(`Bitcoin provider error: ${response.status} ${response.statusText}`);
170
242
  }
171
243
  const data = await response.json();
172
- // Log the parsed data
173
- console.log(`[Bitcoin Data] Raw API Response:`, JSON.stringify(data, null, 2));
174
- // Parse standard Esplora/Blockstream format
175
- return this.parseBlockstreamUTXOs(data);
244
+ // Log summary only (not full data to avoid timeout from large transaction lists)
245
+ const utxoCount = Array.isArray(data) ? data.length : 0;
246
+ console.log(`[Bitcoin Data] Fetched ${utxoCount} UTXOs from provider`);
247
+ // Parse standard Esplora/Blockstream format with current block height
248
+ const utxos = this.parseBlockstreamUTXOs(data, currentBlockHeight);
249
+ const duration = Date.now() - fetchUTXOsStartTime;
250
+ console.log(`[Bitcoin Data] [Timing] fetchUTXOsFromProvider: ${duration}ms`);
251
+ return utxos;
176
252
  }
177
253
  catch (error) {
178
254
  clearTimeout(timeoutId);
255
+ const duration = Date.now() - fetchUTXOsStartTime;
256
+ console.log(`[Bitcoin Data] [Timing] fetchUTXOsFromProvider (failed): ${duration}ms`);
179
257
  if (error.name === "AbortError") {
180
258
  throw new Error(`Request timeout after ${this.timeout}ms`);
181
259
  }
@@ -207,6 +285,72 @@ class BitcoinDataProvider {
207
285
  unconfirmedBalance,
208
286
  };
209
287
  }
288
+ /**
289
+ * Get balance for a Bitcoin address (fast, no UTXO details)
290
+ *
291
+ * This method uses the standard Esplora /address/:address endpoint
292
+ * to get confirmed balance from chain_stats.
293
+ *
294
+ * @param address - Bitcoin address
295
+ * @returns Balance in satoshis (confirmed balance only)
296
+ * @throws Error if the request fails or response is invalid
297
+ */
298
+ async getBalance(address) {
299
+ const providerUrl = this.config.providerUrl;
300
+ const endpoint = `${providerUrl}/address/${address}`;
301
+ console.log(`Fetching balance from ${endpoint} (timeout: ${this.timeout}ms)`);
302
+ // Use simple fetchJson helper pattern (matching CryptoCompare in price-oracle.module.ts)
303
+ const fetchJson = async (url) => {
304
+ const controller = new AbortController();
305
+ const timeoutId = setTimeout(() => controller.abort(), this.timeout);
306
+ try {
307
+ const res = await fetch(url, {
308
+ signal: controller.signal,
309
+ headers: {
310
+ // LIT runtime rejects custom User-Agent headers (gRPC invalid_argument)
311
+ Accept: "application/json",
312
+ },
313
+ });
314
+ clearTimeout(timeoutId);
315
+ if (!res.ok) {
316
+ throw new Error(`HTTP ${res.status} ${res.statusText}`);
317
+ }
318
+ return await res.json();
319
+ }
320
+ catch (error) {
321
+ clearTimeout(timeoutId);
322
+ if (error.name === "AbortError") {
323
+ throw new Error(`Request timeout after ${this.timeout}ms`);
324
+ }
325
+ throw error;
326
+ }
327
+ };
328
+ try {
329
+ const data = await fetchJson(endpoint);
330
+ // Validate response structure
331
+ if (!data.chain_stats) {
332
+ throw new Error("Invalid response: missing chain_stats");
333
+ }
334
+ const fundedTxoSum = data.chain_stats.funded_txo_sum;
335
+ const spentTxoSum = data.chain_stats.spent_txo_sum;
336
+ if (fundedTxoSum === undefined || spentTxoSum === undefined) {
337
+ throw new Error(`Invalid response: missing required fields. funded_txo_sum: ${fundedTxoSum}, spent_txo_sum: ${spentTxoSum}`);
338
+ }
339
+ // Calculate confirmed balance: funded - spent
340
+ const confirmedBalance = fundedTxoSum - spentTxoSum;
341
+ const balance = BigInt(confirmedBalance);
342
+ console.log(`[Bitcoin Data] Fetched balance: ${balance.toString()} sats (confirmed)`);
343
+ console.log(` - Funded: ${fundedTxoSum} sats`);
344
+ console.log(` - Spent: ${spentTxoSum} sats`);
345
+ return balance;
346
+ }
347
+ catch (error) {
348
+ // Throw error instead of returning 0n
349
+ const errorMessage = error.message || "Unknown error";
350
+ console.log(`[Bitcoin Data] Balance fetch failed: ${errorMessage}`);
351
+ throw new Error(`Failed to fetch Bitcoin balance for address ${address}: ${errorMessage}`);
352
+ }
353
+ }
210
354
  /**
211
355
  * Get transaction with confirmation count
212
356
  *
@@ -240,7 +384,7 @@ class BitcoinDataProvider {
240
384
  const controller = new AbortController();
241
385
  const timeoutId = setTimeout(() => controller.abort(), this.timeout);
242
386
  try {
243
- const response = await fetch(`${this.config.providerUrl}/api/tx/${txid}`, {
387
+ const response = await fetch(`${this.config.providerUrl}/tx/${txid}`, {
244
388
  signal: controller.signal,
245
389
  });
246
390
  clearTimeout(timeoutId);
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-data-provider.module.js","sourceRoot":"","sources":["../../../src/modules/bitcoin-data-provider.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitcoin-data-provider.module.js","sourceRoot":"","sources":["../../../src/modules/bitcoin-data-provider.module.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"price-oracle.module.d.ts","sourceRoot":"","sources":["../../../src/modules/price-oracle.module.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,iBAAiB,EAClB,MAAM,qCAAqC,CAAC;AAM7C,qBAAa,iBAAkB,YAAW,YAAY;IACpD,OAAO,CAAC,OAAO,CAAsB;gBAGnC,sBAAsB,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,GAAG,EACvE,aAAa,CAAC,EAAE,iBAAiB,EAAE;IAerC;;OAEG;IACH,OAAO,CAAC,YAAY;IAsBpB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAuDjC,OAAO,CAAC,iBAAiB;IAqGzB;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAyCpC;;;;;;;;;;;;;;;OAeG;IACG,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;CA+G9C"}
1
+ {"version":3,"file":"price-oracle.module.d.ts","sourceRoot":"","sources":["../../../src/modules/price-oracle.module.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,iBAAiB,EAClB,MAAM,qCAAqC,CAAC;AAM7C,qBAAa,iBAAkB,YAAW,YAAY;IACpD,OAAO,CAAC,OAAO,CAAsB;gBAGnC,sBAAsB,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,GAAG,EACvE,aAAa,CAAC,EAAE,iBAAiB,EAAE;IAerC;;OAEG;IACH,OAAO,CAAC,YAAY;IAsBpB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAyDjC,OAAO,CAAC,iBAAiB;IAmFzB;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IA+CpC;;;;;;;;;;;;;;;OAeG;IACG,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;CAqH9C"}
@@ -41,79 +41,85 @@ class PriceOracleModule {
41
41
  * Create CryptoCompare price source
42
42
  */
43
43
  createCryptoCompareSource(apiKey) {
44
- const DEFAULT_HEADERS = {
45
- // LIT runtime rejects custom User-Agent headers (gRPC invalid_argument)
46
- Accept: "application/json",
47
- };
48
44
  const fetchJson = async (url) => {
49
45
  const controller = new AbortController();
50
46
  const timeoutMs = 5000;
51
- const id = setTimeout(() => controller.abort(), timeoutMs);
47
+ const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
52
48
  try {
53
49
  const res = await fetch(url, {
54
- headers: DEFAULT_HEADERS,
55
50
  signal: controller.signal,
51
+ headers: {
52
+ // LIT runtime rejects custom User-Agent headers (gRPC invalid_argument)
53
+ Accept: "application/json",
54
+ },
56
55
  });
56
+ clearTimeout(timeoutId);
57
57
  if (!res.ok) {
58
58
  throw new Error(`HTTP ${res.status} ${res.statusText}`);
59
59
  }
60
60
  return await res.json();
61
61
  }
62
- finally {
63
- clearTimeout(id);
62
+ catch (error) {
63
+ clearTimeout(timeoutId);
64
+ if (error.name === "AbortError") {
65
+ throw new Error(`Request timeout after ${timeoutMs}ms`);
66
+ }
67
+ throw error;
64
68
  }
65
69
  };
66
70
  return {
67
71
  name: "CryptoCompare",
68
72
  fetchPrice: async () => {
69
73
  // Each node fetches the price
70
- const url = new URL("https://min-api.cryptocompare.com/data/price");
71
- url.searchParams.set("fsym", "BTC");
72
- url.searchParams.set("tsyms", "USDT");
73
- url.searchParams.set("api_key", apiKey);
74
- const data = await fetchJson(url.toString());
74
+ // Use template string instead of URL object to match working pattern
75
+ const url = `https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=USDT&api_key=${apiKey}`;
76
+ console.log(`[Price Oracle] CryptoCompare: Fetching from ${url.substring(0, 60)}...`);
77
+ let data;
78
+ try {
79
+ data = await fetchJson(url);
80
+ console.log(`[Price Oracle] CryptoCompare: Fetch successful, data:`, JSON.stringify(data));
81
+ }
82
+ catch (error) {
83
+ console.error(`[Price Oracle] CryptoCompare: Fetch failed:`, error.message);
84
+ throw error;
85
+ }
75
86
  // Response format: {"USDT":86800.42}
76
87
  // Treat USDT as USD (1:1 for price oracle purposes)
77
88
  const price = Number(data?.USDT);
78
89
  if (!Number.isFinite(price) || price <= 0) {
79
90
  throw new Error("Invalid CryptoCompare price payload");
80
91
  }
81
- // Master's wisdom: Use broadcastAndCollect to ensure consensus across all LIT nodes
82
- // Each node broadcasts its fetched price, then all receive all prices
83
- const allPrices = await Lit.Actions.broadcastAndCollect({
84
- name: "cryptoComparePrice",
85
- value: price.toString(),
86
- });
87
- const prices = allPrices.map((p) => parseFloat(p));
88
- prices.sort((a, b) => a - b);
89
- return prices[Math.floor(prices.length / 2)];
92
+ console.log(`[Price Oracle] CryptoCompare: Using fetched price: ${price}`);
93
+ return price;
90
94
  },
91
95
  priority: 1,
92
96
  };
93
97
  }
94
98
  getDefaultSources() {
95
- const DEFAULT_HEADERS = {
96
- // LIT runtime rejects custom User-Agent headers (gRPC invalid_argument)
97
- Accept: "application/json",
98
- };
99
99
  const fetchJson = async (url) => {
100
100
  const controller = new AbortController();
101
- // Reduced from 8000ms to 5000ms to fail faster and avoid LIT Protocol 30s timeout
102
- // When CoinGecko fails, we need to quickly try Binance to stay under 30s limit
103
- const timeoutMs = 5000;
104
- const id = setTimeout(() => controller.abort(), timeoutMs);
101
+ const timeoutMs = 8000;
102
+ const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
105
103
  try {
106
104
  const res = await fetch(url, {
107
- headers: DEFAULT_HEADERS,
108
105
  signal: controller.signal,
106
+ headers: {
107
+ "User-Agent": "Mozilla/5.0 (compatible; DiamondHandsValidator/1.0)",
108
+ Accept: "application/json",
109
+ },
109
110
  });
111
+ clearTimeout(timeoutId);
110
112
  if (!res.ok) {
111
113
  throw new Error(`HTTP ${res.status} ${res.statusText}`);
112
114
  }
113
115
  return await res.json();
114
116
  }
115
- finally {
116
- clearTimeout(id);
117
+ catch (error) {
118
+ clearTimeout(timeoutId);
119
+ if (error.name === "AbortError") {
120
+ throw new Error(`Request timeout after ${timeoutMs}ms`);
121
+ }
122
+ throw error;
117
123
  }
118
124
  };
119
125
  return [
@@ -121,45 +127,31 @@ class PriceOracleModule {
121
127
  name: "CoinGecko",
122
128
  fetchPrice: async () => {
123
129
  // Each node fetches the price
124
- const url = new URL("https://api.coingecko.com/api/v3/simple/price");
125
- url.searchParams.set("ids", "bitcoin");
126
- url.searchParams.set("vs_currencies", "usd");
127
- const data = await fetchJson(url.toString());
130
+ // Use template string instead of URL object to match working pattern
131
+ const url = "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd";
132
+ const data = await fetchJson(url);
128
133
  const price = Number(data?.bitcoin?.usd);
129
134
  if (!Number.isFinite(price) || price <= 0) {
130
135
  throw new Error("Invalid CoinGecko price payload");
131
136
  }
132
- // Master's wisdom: Use broadcastAndCollect to ensure consensus across all LIT nodes
133
- // Each node broadcasts its fetched price, then all receive all prices
134
- const allPrices = await Lit.Actions.broadcastAndCollect({
135
- name: "coinGeckoPrice",
136
- value: price.toString(),
137
- });
138
- const prices = allPrices.map((p) => parseFloat(p));
139
- prices.sort((a, b) => a - b);
140
- return prices[Math.floor(prices.length / 2)];
137
+ console.log(`[Price Oracle] CoinGecko: Using fetched price: ${price}`);
138
+ return price;
141
139
  },
142
- priority: 3,
140
+ priority: 1,
143
141
  },
144
142
  {
145
143
  name: "Binance",
146
144
  fetchPrice: async () => {
147
145
  // Each node fetches the price
148
- const url = new URL("https://api.binance.com/api/v3/ticker/price");
149
- url.searchParams.set("symbol", "BTCUSDT");
150
- const data = await fetchJson(url.toString());
146
+ // Use template string instead of URL object to match working pattern
147
+ const url = "https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT";
148
+ const data = await fetchJson(url);
151
149
  const price = Number(data?.price);
152
150
  if (!Number.isFinite(price) || price <= 0) {
153
151
  throw new Error("Invalid Binance price payload");
154
152
  }
155
- // Master's wisdom: Use broadcastAndCollect to ensure consensus across all LIT nodes
156
- const allPrices = await Lit.Actions.broadcastAndCollect({
157
- name: "binancePrice",
158
- value: price.toString(),
159
- });
160
- const prices = allPrices.map((p) => parseFloat(p));
161
- prices.sort((a, b) => a - b);
162
- return prices[Math.floor(prices.length / 2)];
153
+ console.log(`[Price Oracle] Binance: Using fetched price: ${price}`);
154
+ return price;
163
155
  },
164
156
  priority: 2,
165
157
  },
@@ -172,16 +164,10 @@ class PriceOracleModule {
172
164
  if (!Number.isFinite(price) || price <= 0) {
173
165
  throw new Error("Invalid Coinbase price payload");
174
166
  }
175
- // Master's wisdom: Use broadcastAndCollect to ensure consensus across all LIT nodes
176
- const allPrices = await Lit.Actions.broadcastAndCollect({
177
- name: "coinbasePrice",
178
- value: price.toString(),
179
- });
180
- const prices = allPrices.map((p) => parseFloat(p));
181
- prices.sort((a, b) => a - b);
182
- return prices[Math.floor(prices.length / 2)];
167
+ console.log(`[Price Oracle] Coinbase: Using fetched price: ${price}`);
168
+ return price;
183
169
  },
184
- priority: 4,
170
+ priority: 3,
185
171
  },
186
172
  ];
187
173
  }
@@ -190,12 +176,16 @@ class PriceOracleModule {
190
176
  * Fetches from real price sources in priority order
191
177
  */
192
178
  async getBTCPrice() {
179
+ const priceOracleStartTime = Date.now();
193
180
  console.log(`[Price Oracle] Fetching BTC price from external sources...`);
194
181
  // Try sources in priority order
195
182
  for (const source of this.sources) {
196
183
  try {
184
+ const sourceStartTime = Date.now();
197
185
  console.log(`[Price Oracle] Trying ${source.name}...`);
198
186
  const priceUSD = await source.fetchPrice();
187
+ const sourceDuration = Date.now() - sourceStartTime;
188
+ console.log(`[Price Oracle] [Timing] ${source.name} fetch: ${sourceDuration}ms`);
199
189
  console.log(`[Price Oracle] ✅ ${source.name}: $${priceUSD.toLocaleString()}`);
200
190
  // Convert to 8 decimals as bigint - DETERMINISTIC METHOD
201
191
  // CRITICAL: Avoid floating-point multiplication which is non-deterministic
@@ -209,6 +199,8 @@ class PriceOracleModule {
209
199
  const priceCents = Math.round(priceUSD * 100); // Convert to cents (integer)
210
200
  const priceWith8Decimals = BigInt(priceCents) * 1000000n; // Scale to 8 decimals using BigInt
211
201
  console.log(`[Price Oracle] Price with 8 decimals: ${priceWith8Decimals}`);
202
+ const totalDuration = Date.now() - priceOracleStartTime;
203
+ console.log(`[Price Oracle] [Timing] Total price oracle execution: ${totalDuration}ms`);
212
204
  return priceWith8Decimals;
213
205
  }
214
206
  catch (error) {
@@ -235,12 +227,16 @@ class PriceOracleModule {
235
227
  * 6. Return final median or throw appropriate error
236
228
  */
237
229
  async getBTCPriceConsensus() {
230
+ const consensusStartTime = Date.now();
238
231
  console.log(`[Price Oracle] Fetching BTC price with consensus...`);
239
232
  // Use configured tolerances
240
233
  const OUTLIER_DEVIATION = constants_1.PRICE_ORACLE_OUTLIER_DEVIATION_THRESHOLD; // 2%
241
234
  const DISPERSION_THRESHOLD = constants_1.PRICE_ORACLE_DISPERSION_THRESHOLD; // 5%
242
235
  const results = await Promise.allSettled(this.sources.map(async (source) => {
236
+ const sourceStartTime = Date.now();
243
237
  const price = await source.fetchPrice();
238
+ const sourceDuration = Date.now() - sourceStartTime;
239
+ console.log(`[Price Oracle] [Timing] ${source.name} fetch: ${sourceDuration}ms`);
244
240
  return { source: source.name, price };
245
241
  }));
246
242
  const successful = results
@@ -300,6 +296,8 @@ class PriceOracleModule {
300
296
  console.log(`[Price Oracle] ✅ Consensus price (median): $${initialMedian.toLocaleString()}`);
301
297
  // Convert to 8 decimals as bigint - DETERMINISTIC METHOD
302
298
  const priceCents = Math.round(initialMedian * 100);
299
+ const totalDuration = Date.now() - consensusStartTime;
300
+ console.log(`[Price Oracle] [Timing] Total consensus execution: ${totalDuration}ms`);
303
301
  return BigInt(priceCents) * 1000000n;
304
302
  }
305
303
  }
@@ -1 +1 @@
1
- {"version":3,"file":"price-oracle.module.js","sourceRoot":"","sources":["../../../src/modules/price-oracle.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"price-oracle.module.js","sourceRoot":"","sources":["../../../src/modules/price-oracle.module.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ export declare function getCurrentQuantumTimestamp(): number;
48
48
  /**
49
49
  * Check if currently in dead zone (last 8s before boundary + first 8s after boundary)
50
50
  *
51
- * Dead zone = seconds 92-99 OR 0-7 of each quantum
51
+ * Dead zone = seconds 292-299 OR 0-7 of each quantum (with 300s window)
52
52
  *
53
53
  * @param now - Current Unix timestamp (defaults to Date.now()/1000)
54
54
  * @returns True if in dead zone
@@ -1 +1 @@
1
- {"version":3,"file":"quantum-time.module.d.ts","sourceRoot":"","sources":["../../../src/modules/quantum-time.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAOH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAGnD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAKlD;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAIjE;AACD;;;;;;;;;;;GAWG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CA4B9D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACtC,oBAAoB,EAAE,MAAM,EAC5B,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CAWN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,kBAAkB,EAAE,MAAM,EAC1B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAgBT;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAI5D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAcA;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAMD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAgBtD"}
1
+ {"version":3,"file":"quantum-time.module.d.ts","sourceRoot":"","sources":["../../../src/modules/quantum-time.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAOH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAGnD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAMlD;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAIjE;AACD;;;;;;;;;;;GAWG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8B9D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACtC,oBAAoB,EAAE,MAAM,EAC5B,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CAWN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,kBAAkB,EAAE,MAAM,EAC1B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAgBT;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAI5D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAcA;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAMD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAgBtD"}