ponder 0.17.12 → 0.18.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.
Files changed (153) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/esm/bin/commands/codegen.js +3 -3
  3. package/dist/esm/bin/commands/codegen.js.map +1 -1
  4. package/dist/esm/bin/commands/dev.js +3 -3
  5. package/dist/esm/bin/commands/dev.js.map +1 -1
  6. package/dist/esm/bin/commands/serve.js +3 -3
  7. package/dist/esm/bin/commands/serve.js.map +1 -1
  8. package/dist/esm/bin/commands/start.js +3 -3
  9. package/dist/esm/bin/commands/start.js.map +1 -1
  10. package/dist/esm/build/config.js +19 -20
  11. package/dist/esm/build/config.js.map +1 -1
  12. package/dist/esm/build/index.js +79 -65
  13. package/dist/esm/build/index.js.map +1 -1
  14. package/dist/esm/build/plugin.js +9 -0
  15. package/dist/esm/build/plugin.js.map +1 -1
  16. package/dist/esm/build/stacktrace.js +25 -68
  17. package/dist/esm/build/stacktrace.js.map +1 -1
  18. package/dist/esm/database/index.js +83 -67
  19. package/dist/esm/database/index.js.map +1 -1
  20. package/dist/esm/index.js +1 -0
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/esm/indexing/client.js +35 -23
  23. package/dist/esm/indexing/client.js.map +1 -1
  24. package/dist/esm/indexing/index.js +3 -1
  25. package/dist/esm/indexing/index.js.map +1 -1
  26. package/dist/esm/rpc/actions.js +143 -67
  27. package/dist/esm/rpc/actions.js.map +1 -1
  28. package/dist/esm/runtime/events.js +33 -19
  29. package/dist/esm/runtime/events.js.map +1 -1
  30. package/dist/esm/runtime/filter.js +10 -9
  31. package/dist/esm/runtime/filter.js.map +1 -1
  32. package/dist/esm/runtime/fragments.js +50 -24
  33. package/dist/esm/runtime/fragments.js.map +1 -1
  34. package/dist/esm/runtime/historical.js +212 -68
  35. package/dist/esm/runtime/historical.js.map +1 -1
  36. package/dist/esm/runtime/index.js +11 -15
  37. package/dist/esm/runtime/index.js.map +1 -1
  38. package/dist/esm/runtime/isolated.js +1 -0
  39. package/dist/esm/runtime/isolated.js.map +1 -1
  40. package/dist/esm/runtime/multichain.js +1 -0
  41. package/dist/esm/runtime/multichain.js.map +1 -1
  42. package/dist/esm/runtime/omnichain.js +1 -0
  43. package/dist/esm/runtime/omnichain.js.map +1 -1
  44. package/dist/esm/runtime/realtime.js +17 -16
  45. package/dist/esm/runtime/realtime.js.map +1 -1
  46. package/dist/esm/server/index.js +8 -6
  47. package/dist/esm/server/index.js.map +1 -1
  48. package/dist/esm/sync-historical/in-memory.js +539 -0
  49. package/dist/esm/sync-historical/in-memory.js.map +1 -0
  50. package/dist/esm/sync-historical/index.js +46 -63
  51. package/dist/esm/sync-historical/index.js.map +1 -1
  52. package/dist/esm/sync-realtime/index.js +56 -83
  53. package/dist/esm/sync-realtime/index.js.map +1 -1
  54. package/dist/esm/sync-store/encode.js +1 -6
  55. package/dist/esm/sync-store/encode.js.map +1 -1
  56. package/dist/esm/sync-store/index.js +58 -62
  57. package/dist/esm/sync-store/index.js.map +1 -1
  58. package/dist/esm/sync-store/schema.js +23 -15
  59. package/dist/esm/sync-store/schema.js.map +1 -1
  60. package/dist/esm/sync-store/sql/ponder_rpc_cache_1/copy.sql +23 -0
  61. package/dist/esm/sync-store/sql/ponder_rpc_cache_1/create.sql +130 -0
  62. package/dist/esm/utils/finality.js +41 -32
  63. package/dist/esm/utils/finality.js.map +1 -1
  64. package/dist/esm/utils/pglite.js +0 -65
  65. package/dist/esm/utils/pglite.js.map +1 -1
  66. package/dist/types/bin/commands/codegen.d.ts.map +1 -1
  67. package/dist/types/bin/commands/dev.d.ts.map +1 -1
  68. package/dist/types/bin/commands/serve.d.ts.map +1 -1
  69. package/dist/types/bin/commands/start.d.ts.map +1 -1
  70. package/dist/types/build/config.d.ts.map +1 -1
  71. package/dist/types/build/index.d.ts.map +1 -1
  72. package/dist/types/build/plugin.d.ts.map +1 -1
  73. package/dist/types/build/stacktrace.d.ts +1 -12
  74. package/dist/types/build/stacktrace.d.ts.map +1 -1
  75. package/dist/types/config/index.d.ts +12 -2
  76. package/dist/types/config/index.d.ts.map +1 -1
  77. package/dist/types/database/index.d.ts.map +1 -1
  78. package/dist/types/index.d.ts +1 -0
  79. package/dist/types/index.d.ts.map +1 -1
  80. package/dist/types/indexing/client.d.ts.map +1 -1
  81. package/dist/types/internal/types.d.ts +8 -13
  82. package/dist/types/internal/types.d.ts.map +1 -1
  83. package/dist/types/rpc/actions.d.ts +30 -0
  84. package/dist/types/rpc/actions.d.ts.map +1 -1
  85. package/dist/types/runtime/events.d.ts.map +1 -1
  86. package/dist/types/runtime/filter.d.ts.map +1 -1
  87. package/dist/types/runtime/fragments.d.ts +9 -1
  88. package/dist/types/runtime/fragments.d.ts.map +1 -1
  89. package/dist/types/runtime/historical.d.ts +18 -1
  90. package/dist/types/runtime/historical.d.ts.map +1 -1
  91. package/dist/types/runtime/index.d.ts +1 -0
  92. package/dist/types/runtime/index.d.ts.map +1 -1
  93. package/dist/types/runtime/isolated.d.ts.map +1 -1
  94. package/dist/types/runtime/multichain.d.ts.map +1 -1
  95. package/dist/types/runtime/omnichain.d.ts.map +1 -1
  96. package/dist/types/runtime/realtime.d.ts.map +1 -1
  97. package/dist/types/server/index.d.ts.map +1 -1
  98. package/dist/types/sync-historical/in-memory.d.ts +24 -0
  99. package/dist/types/sync-historical/in-memory.d.ts.map +1 -0
  100. package/dist/types/sync-historical/index.d.ts.map +1 -1
  101. package/dist/types/sync-realtime/index.d.ts +3 -2
  102. package/dist/types/sync-realtime/index.d.ts.map +1 -1
  103. package/dist/types/sync-store/encode.d.ts.map +1 -1
  104. package/dist/types/sync-store/index.d.ts +3 -3
  105. package/dist/types/sync-store/index.d.ts.map +1 -1
  106. package/dist/types/sync-store/schema.d.ts +63 -98
  107. package/dist/types/sync-store/schema.d.ts.map +1 -1
  108. package/dist/types/types/eth.d.ts +2 -8
  109. package/dist/types/types/eth.d.ts.map +1 -1
  110. package/dist/types/utils/finality.d.ts +12 -9
  111. package/dist/types/utils/finality.d.ts.map +1 -1
  112. package/dist/types/utils/pglite.d.ts +0 -18
  113. package/dist/types/utils/pglite.d.ts.map +1 -1
  114. package/package.json +5 -11
  115. package/src/bin/commands/codegen.ts +3 -3
  116. package/src/bin/commands/dev.ts +3 -3
  117. package/src/bin/commands/serve.ts +3 -3
  118. package/src/bin/commands/start.ts +3 -3
  119. package/src/build/config.ts +29 -28
  120. package/src/build/index.ts +88 -71
  121. package/src/build/plugin.ts +6 -0
  122. package/src/build/stacktrace.ts +38 -65
  123. package/src/config/index.ts +12 -2
  124. package/src/database/index.ts +132 -89
  125. package/src/index.ts +5 -0
  126. package/src/indexing/client.ts +56 -40
  127. package/src/indexing/index.ts +4 -1
  128. package/src/internal/types.ts +10 -13
  129. package/src/rpc/actions.ts +211 -77
  130. package/src/runtime/events.ts +40 -19
  131. package/src/runtime/filter.ts +11 -11
  132. package/src/runtime/fragments.ts +70 -26
  133. package/src/runtime/historical.ts +314 -97
  134. package/src/runtime/index.ts +27 -14
  135. package/src/runtime/isolated.ts +1 -0
  136. package/src/runtime/multichain.ts +1 -0
  137. package/src/runtime/omnichain.ts +1 -0
  138. package/src/runtime/realtime.ts +24 -25
  139. package/src/server/index.ts +14 -7
  140. package/src/sync-historical/in-memory.ts +834 -0
  141. package/src/sync-historical/index.ts +76 -120
  142. package/src/sync-realtime/index.ts +73 -133
  143. package/src/sync-store/encode.ts +1 -6
  144. package/src/sync-store/index.ts +90 -95
  145. package/src/sync-store/schema.ts +24 -27
  146. package/src/types/eth.ts +2 -8
  147. package/src/utils/finality.ts +67 -34
  148. package/src/utils/pglite.ts +0 -79
  149. package/dist/esm/sync-store/migrations.js +0 -1595
  150. package/dist/esm/sync-store/migrations.js.map +0 -1
  151. package/dist/types/sync-store/migrations.d.ts +0 -8
  152. package/dist/types/sync-store/migrations.d.ts.map +0 -1
  153. package/src/sync-store/migrations.ts +0 -1801
@@ -81,7 +81,14 @@ export const buildEvents = ({ eventCallbacks, blocks, logs, transactions, transa
81
81
  transactionIndex))) {
82
82
  transactionReceiptsIndex++;
83
83
  }
84
- const transactionReceipt = transactionReceipts[transactionReceiptsIndex];
84
+ let transactionReceipt;
85
+ if (transactionReceiptsIndex < transactionReceipts.length &&
86
+ transactionReceipts[transactionReceiptsIndex].blockNumber ===
87
+ blockNumber &&
88
+ transactionReceipts[transactionReceiptsIndex].transactionIndex ===
89
+ transactionIndex) {
90
+ transactionReceipt = transactionReceipts[transactionReceiptsIndex];
91
+ }
85
92
  for (const transactionEventCallbackIndex of transactionEventCallbackIndexes) {
86
93
  const filter = eventCallbacks[transactionEventCallbackIndex]
87
94
  .filter;
@@ -99,13 +106,14 @@ export const buildEvents = ({ eventCallbacks, blocks, logs, transactions, transa
99
106
  blockNumber,
100
107
  childAddresses: childAddresses.get(filter.toAddress.id),
101
108
  })
102
- : true) &&
103
- (filter.includeReverted
104
- ? true
105
- : transactionReceipt.status === "success")) {
109
+ : true)) {
106
110
  if (filter.hasTransactionReceipt && transactionReceipt === undefined) {
107
111
  throw new Error(`Failed to build events from block data. Missing transaction receipt for block ${blockNumber} and transaction index ${transactionIndex} for chain ID ${chainId}`);
108
112
  }
113
+ // Note: Unlike reverted traces, reverted transactions are stored in the
114
+ // sync store because the receipt is required to detect the revert.
115
+ if (transactionReceipt.status !== "success")
116
+ continue;
109
117
  events.push({
110
118
  chainId: filter.chainId,
111
119
  eventCallbackIndex: transactionEventCallbackIndex,
@@ -128,10 +136,19 @@ export const buildEvents = ({ eventCallbacks, blocks, logs, transactions, transa
128
136
  }
129
137
  blocksIndex = 0;
130
138
  transactionReceiptsIndex = 0;
139
+ let traceIndex = 0;
140
+ let traceBlockNumber;
141
+ let traceTransactionIndex;
131
142
  for (const trace of traces) {
132
143
  const blockNumber = trace.blockNumber;
133
144
  const transactionIndex = trace.transactionIndex;
134
- const traceIndex = trace.traceIndex;
145
+ if (blockNumber !== traceBlockNumber ||
146
+ transactionIndex !== traceTransactionIndex) {
147
+ traceIndex = 0;
148
+ traceBlockNumber = blockNumber;
149
+ traceTransactionIndex = transactionIndex;
150
+ }
151
+ const eventCount = events.length;
135
152
  while (blocksIndex < blocks.length &&
136
153
  Number(blocks[blocksIndex].number) < blockNumber) {
137
154
  blocksIndex++;
@@ -189,11 +206,7 @@ export const buildEvents = ({ eventCallbacks, blocks, logs, transactions, transa
189
206
  blockNumber,
190
207
  childAddresses: childAddresses.get(filter.toAddress.id),
191
208
  })
192
- : true) &&
193
- (filter.callType === undefined
194
- ? true
195
- : filter.callType === trace.type) &&
196
- (filter.includeReverted ? true : trace.error === undefined)) {
209
+ : true)) {
197
210
  if (filter.hasTransactionReceipt && transactionReceipt === undefined) {
198
211
  throw new Error(`Failed to build events from block data. Missing transaction receipt for block ${blockNumber} and transaction index ${transactionIndex} for chain ID ${chainId}`);
199
212
  }
@@ -235,8 +248,7 @@ export const buildEvents = ({ eventCallbacks, blocks, logs, transactions, transa
235
248
  blockNumber,
236
249
  childAddresses: childAddresses.get(filter.toAddress.id),
237
250
  })
238
- : true) &&
239
- (filter.includeReverted ? true : trace.error === undefined)) {
251
+ : true)) {
240
252
  if (filter.hasTransactionReceipt && transactionReceipt === undefined) {
241
253
  throw new Error(`Failed to build events from block data. Missing transaction receipt for block ${blockNumber} and transaction index ${transactionIndex} for chain ID ${chainId}`);
242
254
  }
@@ -249,7 +261,7 @@ export const buildEvents = ({ eventCallbacks, blocks, logs, transactions, transa
249
261
  blockNumber,
250
262
  transactionIndex,
251
263
  eventType: EVENT_TYPES.traces,
252
- eventIndex: trace.traceIndex,
264
+ eventIndex: traceIndex,
253
265
  }),
254
266
  log: undefined,
255
267
  trace,
@@ -261,6 +273,9 @@ export const buildEvents = ({ eventCallbacks, blocks, logs, transactions, transa
261
273
  });
262
274
  }
263
275
  }
276
+ // Note: Increment `traceIndex` only if the trace matched at least one filter
277
+ if (events.length > eventCount)
278
+ traceIndex++;
264
279
  }
265
280
  blocksIndex = 0;
266
281
  transactionsIndex = 0;
@@ -447,7 +462,9 @@ export const decodeEvents = (common, chain, eventCallbacks, rawEvents) => {
447
462
  function: eventCallback.name,
448
463
  block_number: event?.block?.number ?? "unknown",
449
464
  transaction_index: event.transaction?.transactionIndex,
450
- trace_index: event.trace?.traceIndex,
465
+ trace_address: event.trace === undefined
466
+ ? undefined
467
+ : JSON.stringify(event.trace.traceAddress),
451
468
  input: event.trace?.input,
452
469
  output: event.trace?.output,
453
470
  });
@@ -645,7 +662,7 @@ export const syncTransactionReceiptToInternal = ({ transactionReceipt, }) => ({
645
662
  });
646
663
  export const syncTraceToInternal = ({ trace, block, transaction, }) => ({
647
664
  blockNumber: hexToNumber(block.number),
648
- traceIndex: trace.trace.index,
665
+ traceAddress: trace.trace.traceAddress,
649
666
  transactionIndex: hexToNumber(transaction.transactionIndex),
650
667
  type: trace.trace.type,
651
668
  from: toLowerCase(trace.trace.from),
@@ -654,9 +671,6 @@ export const syncTraceToInternal = ({ trace, block, transaction, }) => ({
654
671
  gasUsed: hexToBigInt(trace.trace.gasUsed),
655
672
  input: trace.trace.input,
656
673
  output: trace.trace.output,
657
- error: trace.trace.error,
658
- revertReason: trace.trace.revertReason,
659
674
  value: trace.trace.value ? hexToBigInt(trace.trace.value) : null,
660
- subcalls: trace.trace.subcalls,
661
675
  });
662
676
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/runtime/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/runtime/events.ts"],"names":[],"mappings":"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"}
@@ -242,7 +242,6 @@ export const isTransactionFilterMatched = ({ filter, transaction, }) => {
242
242
  isValueMatched(filter.toAddress, transaction.to ?? undefined) === false) {
243
243
  return false;
244
244
  }
245
- // NOTE: `filter.includeReverted` is intentionally ignored
246
245
  return true;
247
246
  };
248
247
  /**
@@ -265,7 +264,9 @@ export const isTraceFilterMatched = ({ filter, trace, block, }) => {
265
264
  if (isValueMatched(filter.functionSelector, trace.input.slice(0, 10)) === false) {
266
265
  return false;
267
266
  }
268
- // NOTE: `filter.callType` and `filter.includeReverted` is intentionally ignored
267
+ if (filter.callType !== undefined && filter.callType !== trace.type) {
268
+ return false;
269
+ }
269
270
  return true;
270
271
  };
271
272
  /**
@@ -282,6 +283,11 @@ export const isTransferFilterMatched = ({ filter, trace, block, }) => {
282
283
  BigInt(trace.value) === 0n) {
283
284
  return false;
284
285
  }
286
+ // Note: `DELEGATECALL` frames report the parent call's value, and `CALLCODE`
287
+ // frames send value to the caller itself. Neither moves value.
288
+ if (trace.type === "DELEGATECALL" || trace.type === "CALLCODE") {
289
+ return false;
290
+ }
285
291
  if (isAddressFactory(filter.fromAddress) === false &&
286
292
  isValueMatched(filter.fromAddress, trace.from) === false) {
287
293
  return false;
@@ -290,7 +296,6 @@ export const isTransferFilterMatched = ({ filter, trace, block, }) => {
290
296
  isValueMatched(filter.toAddress, trace.to ?? undefined) === false) {
291
297
  return false;
292
298
  }
293
- // NOTE: `filter.includeReverted` is intentionally ignored
294
299
  return true;
295
300
  };
296
301
  /**
@@ -439,7 +444,7 @@ export const defaultTransactionReceiptInclude = [
439
444
  ];
440
445
  export const requiredTransactionReceiptInclude = ["status", "from", "to"];
441
446
  export const defaultTraceInclude = [
442
- "traceIndex",
447
+ "traceAddress",
443
448
  "type",
444
449
  "from",
445
450
  "to",
@@ -447,19 +452,15 @@ export const defaultTraceInclude = [
447
452
  "gasUsed",
448
453
  "input",
449
454
  "output",
450
- "error",
451
- "revertReason",
452
455
  "value",
453
- "subcalls",
454
456
  ];
455
457
  export const requiredTraceInclude = [
456
- "traceIndex",
458
+ "traceAddress",
457
459
  "type",
458
460
  "from",
459
461
  "to",
460
462
  "input",
461
463
  "output",
462
- "error",
463
464
  "value",
464
465
  ];
465
466
  export const defaultLogInclude = [
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/runtime/filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/runtime/filter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { dedupe } from '../utils/dedupe.js';
2
+ import { toLowerCase } from '../utils/lowercase.js';
2
3
  import { isAddressFactory } from "./filter.js";
3
4
  export const isFragmentAddressFactory = (fragmentAddress) => {
4
5
  if (fragmentAddress === null)
@@ -39,6 +40,20 @@ export const getFactoryFragments = (factory) => {
39
40
  }
40
41
  return fragments;
41
42
  };
43
+ /** Returns the IDs of the `factory_log` fragments of `factory`, one per parent address. */
44
+ export const getFactoryFragmentIds = (factory) => getFactoryFragments(factory).map(encodeFragment);
45
+ /**
46
+ * Returns the ID of the `factory_log` fragment for the parent that emitted `log`.
47
+ */
48
+ export const getFactoryFragmentId = (factory, parentAddress) => encodeFragment({
49
+ type: "factory_log",
50
+ chainId: factory.chainId,
51
+ address: factory.address === undefined ? null : toLowerCase(parentAddress),
52
+ eventSelector: factory.eventSelector,
53
+ childAddressLocation: factory.childAddressLocation,
54
+ fromBlock: factory.fromBlock ?? null,
55
+ toBlock: factory.toBlock ?? null,
56
+ });
42
57
  export const getAddressFragments = (address) => {
43
58
  const fragments = [];
44
59
  if (isAddressFactory(address)) {
@@ -49,12 +64,12 @@ export const getAddressFragments = (address) => {
49
64
  address: fragmentAddress ?? null,
50
65
  eventSelector: address.eventSelector,
51
66
  childAddressLocation: address.childAddressLocation,
67
+ fromBlock: address.fromBlock ?? null,
68
+ toBlock: address.toBlock ?? null,
52
69
  };
53
70
  fragments.push({
54
71
  fragment,
55
- adjacentIds: [
56
- `${fragmentAddress ?? null}_${address.eventSelector}_${address.childAddressLocation}`,
57
- ],
72
+ adjacentIds: [fragmentAddressToId(fragment)],
58
73
  });
59
74
  }
60
75
  }
@@ -217,7 +232,7 @@ export const fragmentAddressToId = (fragmentAddress) => {
217
232
  return null;
218
233
  if (typeof fragmentAddress === "string")
219
234
  return fragmentAddress;
220
- return `${fragmentAddress.address}_${fragmentAddress.eventSelector}_${fragmentAddress.childAddressLocation}`;
235
+ return `${fragmentAddress.address}_${fragmentAddress.eventSelector}_${fragmentAddress.childAddressLocation}_${fragmentAddress.fromBlock}_${fragmentAddress.toBlock}`;
221
236
  };
222
237
  export const encodeFragment = (fragment) => {
223
238
  switch (fragment.type) {
@@ -239,21 +254,24 @@ export const decodeFragment = (fragmentId) => {
239
254
  const [type, chainId] = fragmentId.split("_");
240
255
  const decodeFragmentAddress = (offset) => {
241
256
  const fragmentAddressId = fragmentId.split("_").slice(offset);
242
- if (fragmentAddressId[0] === "null") {
243
- return null;
244
- }
245
- if (fragmentAddressId.length === 1) {
246
- return fragmentAddressId[0];
247
- }
257
+ // Note: A factory without an address starts with "null", so it must be
258
+ // detected before the null address.
248
259
  if (fragmentAddressId.length >= 3 &&
249
260
  (fragmentAddressId[2].startsWith("topic") ||
250
261
  fragmentAddressId[2].startsWith("offset"))) {
251
262
  return {
252
- address: fragmentAddressId[0],
263
+ address: fragmentAddressId[0] === "null"
264
+ ? null
265
+ : fragmentAddressId[0],
253
266
  eventSelector: fragmentAddressId[1],
254
267
  childAddressLocation: fragmentAddressId[2],
268
+ fromBlock: fragmentAddressId[3] === "null" ? null : Number(fragmentAddressId[3]),
269
+ toBlock: fragmentAddressId[4] === "null" ? null : Number(fragmentAddressId[4]),
255
270
  };
256
271
  }
272
+ if (fragmentAddressId[0] === "null") {
273
+ return null;
274
+ }
257
275
  return fragmentAddressId[0];
258
276
  };
259
277
  switch (type) {
@@ -269,7 +287,7 @@ export const decodeFragment = (fragmentId) => {
269
287
  case "transaction": {
270
288
  const fragmentFromAddress = decodeFragmentAddress(2);
271
289
  if (isFragmentAddressFactory(fragmentFromAddress)) {
272
- const fragmentToAddress = decodeFragmentAddress(5);
290
+ const fragmentToAddress = decodeFragmentAddress(7);
273
291
  return {
274
292
  type: "transaction",
275
293
  chainId: Number(chainId),
@@ -288,9 +306,9 @@ export const decodeFragment = (fragmentId) => {
288
306
  case "trace": {
289
307
  const fragmentFromAddress = decodeFragmentAddress(2);
290
308
  if (isFragmentAddressFactory(fragmentFromAddress)) {
291
- const fragmentToAddress = decodeFragmentAddress(5);
309
+ const fragmentToAddress = decodeFragmentAddress(7);
292
310
  if (isFragmentAddressFactory(fragmentToAddress)) {
293
- const [, , , , , , , , functionSelector, includeTxr] = fragmentId.split("_");
311
+ const [, , , , , , , , , , , , functionSelector, includeTxr] = fragmentId.split("_");
294
312
  return {
295
313
  type: "trace",
296
314
  chainId: Number(chainId),
@@ -300,7 +318,7 @@ export const decodeFragment = (fragmentId) => {
300
318
  includeTransactionReceipts: includeTxr === "1",
301
319
  };
302
320
  }
303
- const [, , , , , , functionSelector, includeTxr] = fragmentId.split("_");
321
+ const [, , , , , , , , functionSelector, includeTxr] = fragmentId.split("_");
304
322
  return {
305
323
  type: "trace",
306
324
  chainId: Number(chainId),
@@ -312,7 +330,7 @@ export const decodeFragment = (fragmentId) => {
312
330
  }
313
331
  const fragmentToAddress = decodeFragmentAddress(3);
314
332
  if (isFragmentAddressFactory(fragmentToAddress)) {
315
- const [, , , , , , functionSelector, includeTxr] = fragmentId.split("_");
333
+ const [, , , , , , , , functionSelector, includeTxr] = fragmentId.split("_");
316
334
  return {
317
335
  type: "trace",
318
336
  chainId: Number(chainId),
@@ -335,7 +353,7 @@ export const decodeFragment = (fragmentId) => {
335
353
  case "log": {
336
354
  const fragmentAddress = decodeFragmentAddress(2);
337
355
  if (isFragmentAddressFactory(fragmentAddress)) {
338
- const [, , , , , topic0, topic1, topic2, topic3, includeTxr] = fragmentId.split("_");
356
+ const [, , , , , , , topic0, topic1, topic2, topic3, includeTxr] = fragmentId.split("_");
339
357
  return {
340
358
  type: "log",
341
359
  chainId: Number(chainId),
@@ -362,9 +380,9 @@ export const decodeFragment = (fragmentId) => {
362
380
  case "transfer": {
363
381
  const fragmentFromAddress = decodeFragmentAddress(2);
364
382
  if (isFragmentAddressFactory(fragmentFromAddress)) {
365
- const fragmentToAddress = decodeFragmentAddress(5);
383
+ const fragmentToAddress = decodeFragmentAddress(7);
366
384
  if (isFragmentAddressFactory(fragmentToAddress)) {
367
- const [, , , , , , , , includeTxr] = fragmentId.split("_");
385
+ const [, , , , , , , , , , , , includeTxr] = fragmentId.split("_");
368
386
  return {
369
387
  type: "transfer",
370
388
  chainId: Number(chainId),
@@ -373,7 +391,7 @@ export const decodeFragment = (fragmentId) => {
373
391
  includeTransactionReceipts: includeTxr === "1",
374
392
  };
375
393
  }
376
- const [, , , , , , includeTxr] = fragmentId.split("_");
394
+ const [, , , , , , , , includeTxr] = fragmentId.split("_");
377
395
  return {
378
396
  type: "transfer",
379
397
  chainId: Number(chainId),
@@ -384,7 +402,7 @@ export const decodeFragment = (fragmentId) => {
384
402
  }
385
403
  const fragmentToAddress = decodeFragmentAddress(3);
386
404
  if (isFragmentAddressFactory(fragmentToAddress)) {
387
- const [, , , , , , includeTxr] = fragmentId.split("_");
405
+ const [, , , , , , , , includeTxr] = fragmentId.split("_");
388
406
  return {
389
407
  type: "transfer",
390
408
  chainId: Number(chainId),
@@ -424,9 +442,8 @@ const recoverAddress = (baseAddress, fragmentAddresses) => {
424
442
  if (Array.isArray(baseAddress)) {
425
443
  return dedupe(fragmentAddresses);
426
444
  }
427
- // Note: At this point, `baseAddress` is a factory. We explicitly don't try to recover the factory
428
- // address from the fragments because we want a `insertChildAddresses` and `getChildAddresses` to
429
- // use the factory as a stable key.
445
+ // Note: At this point, `baseAddress` is a factory. The factory address is not recovered from the
446
+ // fragments because child addresses are matched with the union of all parents of the factory.
430
447
  return baseAddress;
431
448
  };
432
449
  const recoverTopic = (base, fragments) => {
@@ -436,6 +453,15 @@ const recoverTopic = (base, fragments) => {
436
453
  return base;
437
454
  return dedupe(fragments);
438
455
  };
456
+ /** Returns `baseFactory` with only the parent addresses of `fragments`. */
457
+ export const recoverFactory = (baseFactory, fragments) => {
458
+ if (Array.isArray(baseFactory.address) === false)
459
+ return baseFactory;
460
+ return {
461
+ ...baseFactory,
462
+ address: dedupe(fragments.map((fragment) => fragment.address)),
463
+ };
464
+ };
439
465
  export const recoverFilter = (baseFilter, fragments) => {
440
466
  switch (baseFilter.type) {
441
467
  case "block": {