ponder 0.14.13 → 0.15.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 (237) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/esm/bin/commands/createViews.js +28 -11
  3. package/dist/esm/bin/commands/createViews.js.map +1 -1
  4. package/dist/esm/bin/commands/dev.js +42 -22
  5. package/dist/esm/bin/commands/dev.js.map +1 -1
  6. package/dist/esm/bin/commands/prune.js +3 -0
  7. package/dist/esm/bin/commands/prune.js.map +1 -1
  8. package/dist/esm/bin/commands/serve.js +4 -1
  9. package/dist/esm/bin/commands/serve.js.map +1 -1
  10. package/dist/esm/bin/commands/start.js +18 -6
  11. package/dist/esm/bin/commands/start.js.map +1 -1
  12. package/dist/esm/bin/isolatedController.js +200 -0
  13. package/dist/esm/bin/isolatedController.js.map +1 -0
  14. package/dist/esm/bin/isolatedWorker.js +146 -0
  15. package/dist/esm/bin/isolatedWorker.js.map +1 -0
  16. package/dist/esm/build/config.js +322 -402
  17. package/dist/esm/build/config.js.map +1 -1
  18. package/dist/esm/build/index.js +8 -11
  19. package/dist/esm/build/index.js.map +1 -1
  20. package/dist/esm/build/pre.js +1 -4
  21. package/dist/esm/build/pre.js.map +1 -1
  22. package/dist/esm/build/schema.js +25 -3
  23. package/dist/esm/build/schema.js.map +1 -1
  24. package/dist/esm/client/index.js +306 -42
  25. package/dist/esm/client/index.js.map +1 -1
  26. package/dist/esm/database/actions.js +264 -104
  27. package/dist/esm/database/actions.js.map +1 -1
  28. package/dist/esm/database/index.js +39 -33
  29. package/dist/esm/database/index.js.map +1 -1
  30. package/dist/esm/database/queryBuilder.js +1 -0
  31. package/dist/esm/database/queryBuilder.js.map +1 -1
  32. package/dist/esm/drizzle/index.js +11 -7
  33. package/dist/esm/drizzle/index.js.map +1 -1
  34. package/dist/esm/drizzle/onchain.js +18 -0
  35. package/dist/esm/drizzle/onchain.js.map +1 -1
  36. package/dist/esm/indexing/client.js +32 -25
  37. package/dist/esm/indexing/client.js.map +1 -1
  38. package/dist/esm/indexing/index.js +110 -178
  39. package/dist/esm/indexing/index.js.map +1 -1
  40. package/dist/esm/indexing/profile.js +1 -1
  41. package/dist/esm/indexing/profile.js.map +1 -1
  42. package/dist/esm/indexing-store/cache.js +196 -274
  43. package/dist/esm/indexing-store/cache.js.map +1 -1
  44. package/dist/esm/indexing-store/historical.js +17 -13
  45. package/dist/esm/indexing-store/historical.js.map +1 -1
  46. package/dist/esm/indexing-store/index.js +10 -1
  47. package/dist/esm/indexing-store/index.js.map +1 -1
  48. package/dist/esm/indexing-store/profile.js +3 -3
  49. package/dist/esm/indexing-store/profile.js.map +1 -1
  50. package/dist/esm/indexing-store/realtime.js +27 -2
  51. package/dist/esm/indexing-store/realtime.js.map +1 -1
  52. package/dist/esm/internal/errors.js +28 -0
  53. package/dist/esm/internal/errors.js.map +1 -1
  54. package/dist/esm/internal/metrics.js +279 -82
  55. package/dist/esm/internal/metrics.js.map +1 -1
  56. package/dist/esm/internal/options.js +1 -0
  57. package/dist/esm/internal/options.js.map +1 -1
  58. package/dist/esm/internal/telemetry.js +1 -1
  59. package/dist/esm/internal/telemetry.js.map +1 -1
  60. package/dist/esm/rpc/http.js +130 -0
  61. package/dist/esm/rpc/http.js.map +1 -0
  62. package/dist/esm/rpc/index.js +38 -7
  63. package/dist/esm/rpc/index.js.map +1 -1
  64. package/dist/esm/runtime/events.js +179 -212
  65. package/dist/esm/runtime/events.js.map +1 -1
  66. package/dist/esm/runtime/filter.js +71 -0
  67. package/dist/esm/runtime/filter.js.map +1 -1
  68. package/dist/esm/runtime/fragments.js +78 -73
  69. package/dist/esm/runtime/fragments.js.map +1 -1
  70. package/dist/esm/runtime/historical.js +306 -130
  71. package/dist/esm/runtime/historical.js.map +1 -1
  72. package/dist/esm/runtime/index.js +183 -58
  73. package/dist/esm/runtime/index.js.map +1 -1
  74. package/dist/esm/runtime/isolated.js +462 -0
  75. package/dist/esm/runtime/isolated.js.map +1 -0
  76. package/dist/esm/runtime/multichain.js +80 -73
  77. package/dist/esm/runtime/multichain.js.map +1 -1
  78. package/dist/esm/runtime/omnichain.js +82 -75
  79. package/dist/esm/runtime/omnichain.js.map +1 -1
  80. package/dist/esm/runtime/realtime.js +198 -66
  81. package/dist/esm/runtime/realtime.js.map +1 -1
  82. package/dist/esm/sync-historical/index.js +416 -457
  83. package/dist/esm/sync-historical/index.js.map +1 -1
  84. package/dist/esm/sync-realtime/bloom.js +3 -3
  85. package/dist/esm/sync-realtime/bloom.js.map +1 -1
  86. package/dist/esm/sync-realtime/index.js +27 -46
  87. package/dist/esm/sync-realtime/index.js.map +1 -1
  88. package/dist/esm/sync-store/index.js +112 -63
  89. package/dist/esm/sync-store/index.js.map +1 -1
  90. package/dist/esm/utils/abi.js +20 -32
  91. package/dist/esm/utils/abi.js.map +1 -1
  92. package/dist/esm/utils/chunk.js +8 -0
  93. package/dist/esm/utils/chunk.js.map +1 -0
  94. package/dist/esm/utils/promiseAllSettledWithThrow.js +19 -0
  95. package/dist/esm/utils/promiseAllSettledWithThrow.js.map +1 -0
  96. package/dist/esm/{client/parse.js → utils/sql-parse.js} +94 -80
  97. package/dist/esm/utils/sql-parse.js.map +1 -0
  98. package/dist/types/bin/commands/createViews.d.ts.map +1 -1
  99. package/dist/types/bin/commands/dev.d.ts.map +1 -1
  100. package/dist/types/bin/commands/prune.d.ts.map +1 -1
  101. package/dist/types/bin/commands/serve.d.ts.map +1 -1
  102. package/dist/types/bin/commands/start.d.ts.map +1 -1
  103. package/dist/types/bin/isolatedController.d.ts +13 -0
  104. package/dist/types/bin/isolatedController.d.ts.map +1 -0
  105. package/dist/types/bin/isolatedWorker.d.ts +9 -0
  106. package/dist/types/bin/isolatedWorker.d.ts.map +1 -0
  107. package/dist/types/build/config.d.ts +29 -11
  108. package/dist/types/build/config.d.ts.map +1 -1
  109. package/dist/types/build/index.d.ts +3 -2
  110. package/dist/types/build/index.d.ts.map +1 -1
  111. package/dist/types/build/pre.d.ts +1 -1
  112. package/dist/types/build/pre.d.ts.map +1 -1
  113. package/dist/types/build/schema.d.ts +5 -3
  114. package/dist/types/build/schema.d.ts.map +1 -1
  115. package/dist/types/client/index.d.ts +1 -1
  116. package/dist/types/client/index.d.ts.map +1 -1
  117. package/dist/types/config/index.d.ts +3 -3
  118. package/dist/types/config/index.d.ts.map +1 -1
  119. package/dist/types/database/actions.d.ts +53 -7
  120. package/dist/types/database/actions.d.ts.map +1 -1
  121. package/dist/types/database/index.d.ts +21 -21
  122. package/dist/types/database/index.d.ts.map +1 -1
  123. package/dist/types/database/queryBuilder.d.ts.map +1 -1
  124. package/dist/types/drizzle/index.d.ts +4 -5
  125. package/dist/types/drizzle/index.d.ts.map +1 -1
  126. package/dist/types/drizzle/onchain.d.ts +6 -0
  127. package/dist/types/drizzle/onchain.d.ts.map +1 -1
  128. package/dist/types/indexing/client.d.ts.map +1 -1
  129. package/dist/types/indexing/index.d.ts +2 -5
  130. package/dist/types/indexing/index.d.ts.map +1 -1
  131. package/dist/types/indexing-store/cache.d.ts +3 -2
  132. package/dist/types/indexing-store/cache.d.ts.map +1 -1
  133. package/dist/types/indexing-store/historical.d.ts +2 -1
  134. package/dist/types/indexing-store/historical.d.ts.map +1 -1
  135. package/dist/types/indexing-store/index.d.ts +1 -0
  136. package/dist/types/indexing-store/index.d.ts.map +1 -1
  137. package/dist/types/indexing-store/realtime.d.ts +2 -1
  138. package/dist/types/indexing-store/realtime.d.ts.map +1 -1
  139. package/dist/types/internal/errors.d.ts +5 -0
  140. package/dist/types/internal/errors.d.ts.map +1 -1
  141. package/dist/types/internal/metrics.d.ts +21 -0
  142. package/dist/types/internal/metrics.d.ts.map +1 -1
  143. package/dist/types/internal/options.d.ts +2 -0
  144. package/dist/types/internal/options.d.ts.map +1 -1
  145. package/dist/types/internal/types.d.ts +66 -58
  146. package/dist/types/internal/types.d.ts.map +1 -1
  147. package/dist/types/rpc/http.d.ts +17 -0
  148. package/dist/types/rpc/http.d.ts.map +1 -0
  149. package/dist/types/rpc/index.d.ts.map +1 -1
  150. package/dist/types/runtime/events.d.ts +4 -4
  151. package/dist/types/runtime/events.d.ts.map +1 -1
  152. package/dist/types/runtime/filter.d.ts +5 -1
  153. package/dist/types/runtime/filter.d.ts.map +1 -1
  154. package/dist/types/runtime/fragments.d.ts +4 -3
  155. package/dist/types/runtime/fragments.d.ts.map +1 -1
  156. package/dist/types/runtime/historical.d.ts +29 -13
  157. package/dist/types/runtime/historical.d.ts.map +1 -1
  158. package/dist/types/runtime/index.d.ts +49 -6
  159. package/dist/types/runtime/index.d.ts.map +1 -1
  160. package/dist/types/runtime/init.d.ts +5 -5
  161. package/dist/types/runtime/init.d.ts.map +1 -1
  162. package/dist/types/runtime/isolated.d.ts +14 -0
  163. package/dist/types/runtime/isolated.d.ts.map +1 -0
  164. package/dist/types/runtime/multichain.d.ts.map +1 -1
  165. package/dist/types/runtime/omnichain.d.ts.map +1 -1
  166. package/dist/types/runtime/realtime.d.ts +21 -10
  167. package/dist/types/runtime/realtime.d.ts.map +1 -1
  168. package/dist/types/sync-historical/index.d.ts +18 -8
  169. package/dist/types/sync-historical/index.d.ts.map +1 -1
  170. package/dist/types/sync-realtime/bloom.d.ts.map +1 -1
  171. package/dist/types/sync-realtime/index.d.ts +2 -2
  172. package/dist/types/sync-realtime/index.d.ts.map +1 -1
  173. package/dist/types/sync-store/index.d.ts +9 -9
  174. package/dist/types/sync-store/index.d.ts.map +1 -1
  175. package/dist/types/utils/abi.d.ts +3 -34
  176. package/dist/types/utils/abi.d.ts.map +1 -1
  177. package/dist/types/utils/chunk.d.ts +2 -0
  178. package/dist/types/utils/chunk.d.ts.map +1 -0
  179. package/dist/types/utils/promiseAllSettledWithThrow.d.ts +8 -0
  180. package/dist/types/utils/promiseAllSettledWithThrow.d.ts.map +1 -0
  181. package/dist/types/utils/sql-parse.d.ts +21 -0
  182. package/dist/types/utils/sql-parse.d.ts.map +1 -0
  183. package/package.json +2 -2
  184. package/src/bin/commands/createViews.ts +35 -15
  185. package/src/bin/commands/dev.ts +43 -21
  186. package/src/bin/commands/prune.ts +6 -0
  187. package/src/bin/commands/serve.ts +4 -1
  188. package/src/bin/commands/start.ts +20 -5
  189. package/src/bin/isolatedController.ts +300 -0
  190. package/src/bin/isolatedWorker.ts +192 -0
  191. package/src/build/config.ts +570 -632
  192. package/src/build/index.ts +14 -14
  193. package/src/build/pre.ts +1 -4
  194. package/src/build/schema.ts +49 -4
  195. package/src/client/index.ts +386 -48
  196. package/src/config/index.ts +3 -3
  197. package/src/database/actions.ts +469 -120
  198. package/src/database/index.ts +85 -58
  199. package/src/database/queryBuilder.ts +1 -0
  200. package/src/drizzle/index.ts +15 -7
  201. package/src/drizzle/onchain.ts +19 -0
  202. package/src/indexing/client.ts +38 -25
  203. package/src/indexing/index.ts +137 -230
  204. package/src/indexing/profile.ts +1 -1
  205. package/src/indexing-store/cache.ts +285 -414
  206. package/src/indexing-store/historical.ts +20 -10
  207. package/src/indexing-store/index.ts +16 -0
  208. package/src/indexing-store/profile.ts +3 -3
  209. package/src/indexing-store/realtime.ts +28 -0
  210. package/src/internal/errors.ts +26 -0
  211. package/src/internal/metrics.ts +341 -111
  212. package/src/internal/options.ts +4 -0
  213. package/src/internal/telemetry.ts +1 -1
  214. package/src/internal/types.ts +70 -87
  215. package/src/rpc/http.ts +164 -0
  216. package/src/rpc/index.ts +39 -7
  217. package/src/runtime/events.ts +195 -240
  218. package/src/runtime/filter.ts +85 -1
  219. package/src/runtime/fragments.ts +109 -113
  220. package/src/runtime/historical.ts +467 -189
  221. package/src/runtime/index.ts +337 -69
  222. package/src/runtime/init.ts +5 -5
  223. package/src/runtime/isolated.ts +768 -0
  224. package/src/runtime/multichain.ts +137 -102
  225. package/src/runtime/omnichain.ts +138 -106
  226. package/src/runtime/realtime.ts +322 -123
  227. package/src/sync-historical/index.ts +556 -692
  228. package/src/sync-realtime/bloom.ts +7 -3
  229. package/src/sync-realtime/index.ts +31 -46
  230. package/src/sync-store/index.ts +189 -95
  231. package/src/utils/abi.ts +33 -90
  232. package/src/utils/chunk.ts +7 -0
  233. package/src/utils/promiseAllSettledWithThrow.ts +27 -0
  234. package/src/{client/parse.ts → utils/sql-parse.ts} +100 -90
  235. package/dist/esm/client/parse.js.map +0 -1
  236. package/dist/types/client/parse.d.ts +0 -14
  237. package/dist/types/client/parse.d.ts.map +0 -1
@@ -179,6 +179,77 @@ export const isBlockFilterMatched = ({ filter, block, }) => {
179
179
  }
180
180
  return (Number(block.number) - filter.offset) % filter.interval === 0;
181
181
  };
182
+ export const getFilterFactories = (filter) => {
183
+ const factories = [];
184
+ switch (filter.type) {
185
+ case "log":
186
+ if (isAddressFactory(filter.address)) {
187
+ factories.push(filter.address);
188
+ }
189
+ break;
190
+ case "trace":
191
+ case "transfer":
192
+ case "transaction": {
193
+ if (isAddressFactory(filter.fromAddress)) {
194
+ factories.push(filter.fromAddress);
195
+ }
196
+ if (isAddressFactory(filter.toAddress)) {
197
+ factories.push(filter.toAddress);
198
+ }
199
+ break;
200
+ }
201
+ }
202
+ return factories;
203
+ };
204
+ export const getFilterFromBlock = (filter) => {
205
+ const blocks = [filter.fromBlock ?? 0];
206
+ switch (filter.type) {
207
+ case "log":
208
+ if (isAddressFactory(filter.address)) {
209
+ blocks.push(filter.address.fromBlock ?? 0);
210
+ }
211
+ break;
212
+ case "transaction":
213
+ case "trace":
214
+ case "transfer":
215
+ if (isAddressFactory(filter.fromAddress)) {
216
+ blocks.push(filter.fromAddress.fromBlock ?? 0);
217
+ }
218
+ if (isAddressFactory(filter.toAddress)) {
219
+ blocks.push(filter.toAddress.fromBlock ?? 0);
220
+ }
221
+ }
222
+ return Math.min(...blocks);
223
+ };
224
+ export const getFilterToBlock = (filter) => {
225
+ const blocks = [filter.toBlock ?? Number.POSITIVE_INFINITY];
226
+ // Note: factories cannot have toBlock > `filter.toBlock`
227
+ switch (filter.type) {
228
+ case "log":
229
+ if (isAddressFactory(filter.address)) {
230
+ blocks.push(filter.address.toBlock ?? Number.POSITIVE_INFINITY);
231
+ }
232
+ break;
233
+ case "transaction":
234
+ case "trace":
235
+ case "transfer":
236
+ if (isAddressFactory(filter.fromAddress)) {
237
+ blocks.push(filter.fromAddress.toBlock ?? Number.POSITIVE_INFINITY);
238
+ }
239
+ if (isAddressFactory(filter.toAddress)) {
240
+ blocks.push(filter.toAddress.toBlock ?? Number.POSITIVE_INFINITY);
241
+ }
242
+ }
243
+ return Math.max(...blocks);
244
+ };
245
+ export const isBlockInFilter = (filter, blockNumber) => {
246
+ // Return `false` for out of range blocks
247
+ if (blockNumber < (filter.fromBlock ?? 0) ||
248
+ blockNumber > (filter.toBlock ?? Number.POSITIVE_INFINITY)) {
249
+ return false;
250
+ }
251
+ return true;
252
+ };
182
253
  export const defaultBlockInclude = [
183
254
  "baseFeePerGas",
184
255
  "difficulty",
@@ -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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"}
@@ -21,6 +21,22 @@ export const getFragments = (filter) => {
21
21
  return getTransferFilterFragments(filter);
22
22
  }
23
23
  };
24
+ export const getFactoryFragments = (factory) => {
25
+ const fragments = [];
26
+ for (const fragmentAddress of Array.isArray(factory.address)
27
+ ? factory.address
28
+ : [factory.address]) {
29
+ const fragment = {
30
+ type: "factory_log",
31
+ chainId: factory.chainId,
32
+ address: fragmentAddress,
33
+ eventSelector: factory.eventSelector,
34
+ childAddressLocation: factory.childAddressLocation,
35
+ };
36
+ fragments.push(fragment);
37
+ }
38
+ return fragments;
39
+ };
24
40
  export const getAddressFragments = (address) => {
25
41
  const fragments = [];
26
42
  if (isAddressFactory(address)) {
@@ -96,33 +112,25 @@ export const getTraceFilterFragments = ({ chainId, fromAddress, toAddress, callT
96
112
  const toAddressFragments = getAddressFragments(toAddress);
97
113
  for (const fromAddressFragment of fromAddressFragments) {
98
114
  for (const toAddressFragment of toAddressFragments) {
99
- for (const fragmentFunctionSelector of Array.isArray(functionSelector)
100
- ? functionSelector
101
- : [functionSelector]) {
102
- const fragment = {
103
- type: "trace",
104
- chainId,
105
- fromAddress: fromAddressFragment.fragment,
106
- toAddress: toAddressFragment.fragment,
107
- functionSelector: fragmentFunctionSelector ?? null,
108
- includeTransactionReceipts: filter.hasTransactionReceipt,
109
- };
110
- const adjacentIds = [];
111
- for (const fromAddressAdjacentId of fromAddressFragment.adjacentIds) {
112
- for (const toAddressAdjacentId of toAddressFragment.adjacentIds) {
113
- for (const adjacentFunctionSelector of fragmentFunctionSelector
114
- ? [fragmentFunctionSelector, null]
115
- : [null]) {
116
- for (const adjacentTxr of filter.hasTransactionReceipt
117
- ? [1]
118
- : [0, 1]) {
119
- adjacentIds.push(`trace_${chainId}_${fromAddressAdjacentId}_${toAddressAdjacentId}_${adjacentFunctionSelector}_${adjacentTxr}`);
120
- }
121
- }
115
+ const fragment = {
116
+ type: "trace",
117
+ chainId,
118
+ fromAddress: fromAddressFragment.fragment,
119
+ toAddress: toAddressFragment.fragment,
120
+ functionSelector,
121
+ includeTransactionReceipts: filter.hasTransactionReceipt,
122
+ };
123
+ const adjacentIds = [];
124
+ for (const fromAddressAdjacentId of fromAddressFragment.adjacentIds) {
125
+ for (const toAddressAdjacentId of toAddressFragment.adjacentIds) {
126
+ for (const adjacentTxr of filter.hasTransactionReceipt
127
+ ? [1]
128
+ : [0, 1]) {
129
+ adjacentIds.push(`trace_${chainId}_${fromAddressAdjacentId}_${toAddressAdjacentId}_${functionSelector}_${adjacentTxr}`);
122
130
  }
123
131
  }
124
- fragments.push({ fragment, adjacentIds });
125
132
  }
133
+ fragments.push({ fragment, adjacentIds });
126
134
  }
127
135
  }
128
136
  return fragments;
@@ -130,51 +138,44 @@ export const getTraceFilterFragments = ({ chainId, fromAddress, toAddress, callT
130
138
  export const getLogFilterFragments = ({ chainId, address, topic0, topic1, topic2, topic3, ...filter }) => {
131
139
  const fragments = [];
132
140
  const addressFragments = getAddressFragments(address);
141
+ const eventSelector = topic0;
133
142
  for (const addressFragment of addressFragments) {
134
- for (const fragmentTopic0 of Array.isArray(topic0) ? topic0 : [topic0]) {
135
- for (const fragmentTopic1 of Array.isArray(topic1) ? topic1 : [topic1]) {
136
- for (const fragmentTopic2 of Array.isArray(topic2)
137
- ? topic2
138
- : [topic2]) {
139
- for (const fragmentTopic3 of Array.isArray(topic3)
140
- ? topic3
141
- : [topic3]) {
142
- const fragment = {
143
- type: "log",
144
- chainId,
145
- address: addressFragment.fragment,
146
- topic0: fragmentTopic0 ?? null,
147
- topic1: fragmentTopic1 ?? null,
148
- topic2: fragmentTopic2 ?? null,
149
- topic3: fragmentTopic3 ?? null,
150
- includeTransactionReceipts: filter.hasTransactionReceipt,
151
- };
152
- const adjacentIds = [];
153
- for (const addressAdjacentId of addressFragment.adjacentIds) {
154
- for (const adjacentTopic0 of fragmentTopic0
155
- ? [fragmentTopic0, null]
143
+ for (const fragmentTopic1 of Array.isArray(topic1) ? topic1 : [topic1]) {
144
+ for (const fragmentTopic2 of Array.isArray(topic2) ? topic2 : [topic2]) {
145
+ for (const fragmentTopic3 of Array.isArray(topic3)
146
+ ? topic3
147
+ : [topic3]) {
148
+ const fragment = {
149
+ type: "log",
150
+ chainId,
151
+ address: addressFragment.fragment,
152
+ topic0: eventSelector,
153
+ topic1: fragmentTopic1 ?? null,
154
+ topic2: fragmentTopic2 ?? null,
155
+ topic3: fragmentTopic3 ?? null,
156
+ includeTransactionReceipts: filter.hasTransactionReceipt,
157
+ };
158
+ const adjacentIds = [];
159
+ for (const addressAdjacentId of addressFragment.adjacentIds) {
160
+ for (const adjacentTopic1 of fragmentTopic1
161
+ ? [fragmentTopic1, null]
162
+ : [null]) {
163
+ for (const adjacentTopic2 of fragmentTopic2
164
+ ? [fragmentTopic2, null]
156
165
  : [null]) {
157
- for (const adjacentTopic1 of fragmentTopic1
158
- ? [fragmentTopic1, null]
166
+ for (const adjacentTopic3 of fragmentTopic3
167
+ ? [fragmentTopic3, null]
159
168
  : [null]) {
160
- for (const adjacentTopic2 of fragmentTopic2
161
- ? [fragmentTopic2, null]
162
- : [null]) {
163
- for (const adjacentTopic3 of fragmentTopic3
164
- ? [fragmentTopic3, null]
165
- : [null]) {
166
- for (const adjacentTxr of filter.hasTransactionReceipt
167
- ? [1]
168
- : [0, 1]) {
169
- adjacentIds.push(`log_${chainId}_${addressAdjacentId}_${adjacentTopic0}_${adjacentTopic1}_${adjacentTopic2}_${adjacentTopic3}_${adjacentTxr}`);
170
- }
171
- }
169
+ for (const adjacentTxr of filter.hasTransactionReceipt
170
+ ? [1]
171
+ : [0, 1]) {
172
+ adjacentIds.push(`log_${chainId}_${addressAdjacentId}_${eventSelector}_${adjacentTopic1}_${adjacentTopic2}_${adjacentTopic3}_${adjacentTxr}`);
172
173
  }
173
174
  }
174
175
  }
175
176
  }
176
- fragments.push({ fragment, adjacentIds });
177
177
  }
178
+ fragments.push({ fragment, adjacentIds });
178
179
  }
179
180
  }
180
181
  }
@@ -228,6 +229,8 @@ export const encodeFragment = (fragment) => {
228
229
  return `log_${fragment.chainId}_${fragmentAddressToId(fragment.address)}_${fragment.topic0}_${fragment.topic1}_${fragment.topic2}_${fragment.topic3}_${fragment.includeTransactionReceipts ? 1 : 0}`;
229
230
  case "transfer":
230
231
  return `transfer_${fragment.chainId}_${fragmentAddressToId(fragment.fromAddress)}_${fragmentAddressToId(fragment.toAddress)}_${fragment.includeTransactionReceipts ? 1 : 0}`;
232
+ case "factory_log":
233
+ return `factory_log_${fragment.chainId}_${fragment.address}_${fragment.eventSelector}_${fragment.childAddressLocation}`;
231
234
  }
232
235
  };
233
236
  export const decodeFragment = (fragmentId) => {
@@ -335,7 +338,7 @@ export const decodeFragment = (fragmentId) => {
335
338
  type: "log",
336
339
  chainId: Number(chainId),
337
340
  address: fragmentAddress,
338
- topic0: topic0 === "null" ? null : topic0,
341
+ topic0: topic0,
339
342
  topic1: topic1 === "null" ? null : topic1,
340
343
  topic2: topic2 === "null" ? null : topic2,
341
344
  topic3: topic3 === "null" ? null : topic3,
@@ -347,7 +350,7 @@ export const decodeFragment = (fragmentId) => {
347
350
  type: "log",
348
351
  chainId: Number(chainId),
349
352
  address: fragmentAddress,
350
- topic0: topic0 === "null" ? null : topic0,
353
+ topic0: topic0,
351
354
  topic1: topic1 === "null" ? null : topic1,
352
355
  topic2: topic2 === "null" ? null : topic2,
353
356
  topic3: topic3 === "null" ? null : topic3,
@@ -397,6 +400,16 @@ export const decodeFragment = (fragmentId) => {
397
400
  includeTransactionReceipts: includeTxr === "1",
398
401
  };
399
402
  }
403
+ case "factory_log": {
404
+ const [, chainId, address, eventSelector, childAddressLocation] = fragmentId.split("_");
405
+ return {
406
+ type: "factory_log",
407
+ chainId: Number(chainId),
408
+ address: address,
409
+ eventSelector: eventSelector,
410
+ childAddressLocation: childAddressLocation,
411
+ };
412
+ }
400
413
  }
401
414
  };
402
415
  const recoverAddress = (baseAddress, fragmentAddresses) => {
@@ -411,13 +424,6 @@ const recoverAddress = (baseAddress, fragmentAddresses) => {
411
424
  // use the factory as a stable key.
412
425
  return baseAddress;
413
426
  };
414
- const recoverSelector = (base, fragments) => {
415
- if (base === undefined)
416
- return undefined;
417
- if (typeof base === "string")
418
- return base;
419
- return dedupe(fragments);
420
- };
421
427
  const recoverTopic = (base, fragments) => {
422
428
  if (base === null)
423
429
  return null;
@@ -442,15 +448,14 @@ export const recoverFilter = (baseFilter, fragments) => {
442
448
  ...baseFilter,
443
449
  fromAddress: recoverAddress(baseFilter.fromAddress, fragments.map((fragment) => fragment.fromAddress)),
444
450
  toAddress: recoverAddress(baseFilter.toAddress, fragments.map((fragment) => fragment.toAddress)),
445
- functionSelector: recoverSelector(baseFilter.functionSelector, fragments.map((fragment) => fragment
446
- .functionSelector)),
451
+ functionSelector: baseFilter.functionSelector,
447
452
  };
448
453
  }
449
454
  case "log": {
450
455
  return {
451
456
  ...baseFilter,
452
457
  address: recoverAddress(baseFilter.address, fragments.map((fragment) => fragment.address)),
453
- topic0: recoverTopic(baseFilter.topic0, fragments.map((fragment) => fragment.topic0)),
458
+ topic0: baseFilter.topic0,
454
459
  topic1: recoverTopic(baseFilter.topic1, fragments.map((fragment) => fragment.topic1)),
455
460
  topic2: recoverTopic(baseFilter.topic2, fragments.map((fragment) => fragment.topic2)),
456
461
  topic3: recoverTopic(baseFilter.topic3, fragments.map((fragment) => fragment.topic3)),
@@ -1 +1 @@
1
- {"version":3,"file":"fragments.js","sourceRoot":"","sources":["../../../src/runtime/fragments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fragments.js","sourceRoot":"","sources":["../../../src/runtime/fragments.ts"],"names":[],"mappings":"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"}