ponder 0.9.5-debug.1 → 0.9.5

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 (462) hide show
  1. package/dist/{types/bin → bin}/ponder.d.ts +6 -5
  2. package/dist/bin/ponder.js +12933 -0
  3. package/dist/bin/ponder.js.map +1 -0
  4. package/dist/chunk-K2TLRLX3.js +163 -0
  5. package/dist/chunk-K2TLRLX3.js.map +1 -0
  6. package/dist/chunk-LHCA5XFV.js +257 -0
  7. package/dist/chunk-LHCA5XFV.js.map +1 -0
  8. package/dist/{types/drizzle → drizzle}/onchain.d.ts +96 -49
  9. package/dist/drizzle/onchain.js +19 -0
  10. package/dist/drizzle/onchain.js.map +1 -0
  11. package/dist/index.d.ts +819 -0
  12. package/dist/index.js +2217 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/utils-ceNucOJb.d.ts +14 -0
  15. package/package.json +17 -17
  16. package/src/bin/commands/dev.ts +1 -1
  17. package/src/bin/ponder.ts +1 -1
  18. package/src/build/configAndIndexingFunctions.ts +1 -1
  19. package/src/build/factory.ts +1 -1
  20. package/src/client/index.ts +1 -1
  21. package/src/indexing-store/historical.ts +1 -1
  22. package/src/indexing-store/realtime.ts +1 -1
  23. package/src/internal/telemetry.ts +1 -1
  24. package/src/sync/fragments.ts +1 -1
  25. package/src/sync-realtime/index.ts +1 -1
  26. package/src/utils/generators.ts +1 -1
  27. package/src/utils/mutex.ts +1 -1
  28. package/src/utils/requestQueue.ts +1 -1
  29. package/CHANGELOG.md +0 -2201
  30. package/dist/esm/bin/commands/codegen.js +0 -37
  31. package/dist/esm/bin/commands/codegen.js.map +0 -1
  32. package/dist/esm/bin/commands/dev.js +0 -242
  33. package/dist/esm/bin/commands/dev.js.map +0 -1
  34. package/dist/esm/bin/commands/list.js +0 -103
  35. package/dist/esm/bin/commands/list.js.map +0 -1
  36. package/dist/esm/bin/commands/serve.js +0 -123
  37. package/dist/esm/bin/commands/serve.js.map +0 -1
  38. package/dist/esm/bin/commands/start.js +0 -136
  39. package/dist/esm/bin/commands/start.js.map +0 -1
  40. package/dist/esm/bin/ponder.js +0 -118
  41. package/dist/esm/bin/ponder.js.map +0 -1
  42. package/dist/esm/bin/utils/codegen.js +0 -26
  43. package/dist/esm/bin/utils/codegen.js.map +0 -1
  44. package/dist/esm/bin/utils/exit.js +0 -69
  45. package/dist/esm/bin/utils/exit.js.map +0 -1
  46. package/dist/esm/bin/utils/run.js +0 -247
  47. package/dist/esm/bin/utils/run.js.map +0 -1
  48. package/dist/esm/bin/utils/runServer.js +0 -8
  49. package/dist/esm/bin/utils/runServer.js.map +0 -1
  50. package/dist/esm/build/configAndIndexingFunctions.js +0 -654
  51. package/dist/esm/build/configAndIndexingFunctions.js.map +0 -1
  52. package/dist/esm/build/factory.js +0 -43
  53. package/dist/esm/build/factory.js.map +0 -1
  54. package/dist/esm/build/index.js +0 -431
  55. package/dist/esm/build/index.js.map +0 -1
  56. package/dist/esm/build/plugin.js +0 -43
  57. package/dist/esm/build/plugin.js.map +0 -1
  58. package/dist/esm/build/pre.js +0 -112
  59. package/dist/esm/build/pre.js.map +0 -1
  60. package/dist/esm/build/schema.js +0 -89
  61. package/dist/esm/build/schema.js.map +0 -1
  62. package/dist/esm/build/stacktrace.js +0 -137
  63. package/dist/esm/build/stacktrace.js.map +0 -1
  64. package/dist/esm/client/index.js +0 -124
  65. package/dist/esm/client/index.js.map +0 -1
  66. package/dist/esm/client/validate.js +0 -1151
  67. package/dist/esm/client/validate.js.map +0 -1
  68. package/dist/esm/config/address.js +0 -2
  69. package/dist/esm/config/address.js.map +0 -1
  70. package/dist/esm/config/eventFilter.js +0 -2
  71. package/dist/esm/config/eventFilter.js.map +0 -1
  72. package/dist/esm/config/index.js +0 -2
  73. package/dist/esm/config/index.js.map +0 -1
  74. package/dist/esm/config/networks.js +0 -120
  75. package/dist/esm/config/networks.js.map +0 -1
  76. package/dist/esm/config/utilityTypes.js +0 -2
  77. package/dist/esm/config/utilityTypes.js.map +0 -1
  78. package/dist/esm/database/index.js +0 -914
  79. package/dist/esm/database/index.js.map +0 -1
  80. package/dist/esm/drizzle/bigint.js +0 -36
  81. package/dist/esm/drizzle/bigint.js.map +0 -1
  82. package/dist/esm/drizzle/hex.js +0 -38
  83. package/dist/esm/drizzle/hex.js.map +0 -1
  84. package/dist/esm/drizzle/index.js +0 -43
  85. package/dist/esm/drizzle/index.js.map +0 -1
  86. package/dist/esm/drizzle/kit/index.js +0 -658
  87. package/dist/esm/drizzle/kit/index.js.map +0 -1
  88. package/dist/esm/drizzle/onchain.js +0 -102
  89. package/dist/esm/drizzle/onchain.js.map +0 -1
  90. package/dist/esm/graphql/index.js +0 -704
  91. package/dist/esm/graphql/index.js.map +0 -1
  92. package/dist/esm/graphql/json.js +0 -42
  93. package/dist/esm/graphql/json.js.map +0 -1
  94. package/dist/esm/graphql/middleware.js +0 -80
  95. package/dist/esm/graphql/middleware.js.map +0 -1
  96. package/dist/esm/index.js +0 -9
  97. package/dist/esm/index.js.map +0 -1
  98. package/dist/esm/indexing/addStackTrace.js +0 -54
  99. package/dist/esm/indexing/addStackTrace.js.map +0 -1
  100. package/dist/esm/indexing/index.js +0 -10
  101. package/dist/esm/indexing/index.js.map +0 -1
  102. package/dist/esm/indexing/ponderActions.js +0 -60
  103. package/dist/esm/indexing/ponderActions.js.map +0 -1
  104. package/dist/esm/indexing/service.js +0 -312
  105. package/dist/esm/indexing/service.js.map +0 -1
  106. package/dist/esm/indexing-store/historical.js +0 -591
  107. package/dist/esm/indexing-store/historical.js.map +0 -1
  108. package/dist/esm/indexing-store/index.js +0 -19
  109. package/dist/esm/indexing-store/index.js.map +0 -1
  110. package/dist/esm/indexing-store/metadata.js +0 -46
  111. package/dist/esm/indexing-store/metadata.js.map +0 -1
  112. package/dist/esm/indexing-store/realtime.js +0 -295
  113. package/dist/esm/indexing-store/realtime.js.map +0 -1
  114. package/dist/esm/internal/common.js +0 -2
  115. package/dist/esm/internal/common.js.map +0 -1
  116. package/dist/esm/internal/errors.js +0 -175
  117. package/dist/esm/internal/errors.js.map +0 -1
  118. package/dist/esm/internal/logger.js +0 -96
  119. package/dist/esm/internal/logger.js.map +0 -1
  120. package/dist/esm/internal/metrics.js +0 -569
  121. package/dist/esm/internal/metrics.js.map +0 -1
  122. package/dist/esm/internal/options.js +0 -69
  123. package/dist/esm/internal/options.js.map +0 -1
  124. package/dist/esm/internal/shutdown.js +0 -18
  125. package/dist/esm/internal/shutdown.js.map +0 -1
  126. package/dist/esm/internal/telemetry.js +0 -199
  127. package/dist/esm/internal/telemetry.js.map +0 -1
  128. package/dist/esm/internal/types.js +0 -2
  129. package/dist/esm/internal/types.js.map +0 -1
  130. package/dist/esm/server/error.js +0 -55
  131. package/dist/esm/server/error.js.map +0 -1
  132. package/dist/esm/server/index.js +0 -107
  133. package/dist/esm/server/index.js.map +0 -1
  134. package/dist/esm/sync/abi.js +0 -67
  135. package/dist/esm/sync/abi.js.map +0 -1
  136. package/dist/esm/sync/events.js +0 -607
  137. package/dist/esm/sync/events.js.map +0 -1
  138. package/dist/esm/sync/filter.js +0 -356
  139. package/dist/esm/sync/filter.js.map +0 -1
  140. package/dist/esm/sync/fragments.js +0 -300
  141. package/dist/esm/sync/fragments.js.map +0 -1
  142. package/dist/esm/sync/index.js +0 -1001
  143. package/dist/esm/sync/index.js.map +0 -1
  144. package/dist/esm/sync/transport.js +0 -94
  145. package/dist/esm/sync/transport.js.map +0 -1
  146. package/dist/esm/sync-historical/index.js +0 -590
  147. package/dist/esm/sync-historical/index.js.map +0 -1
  148. package/dist/esm/sync-realtime/bloom.js +0 -75
  149. package/dist/esm/sync-realtime/bloom.js.map +0 -1
  150. package/dist/esm/sync-realtime/index.js +0 -794
  151. package/dist/esm/sync-realtime/index.js.map +0 -1
  152. package/dist/esm/sync-store/encoding.js +0 -157
  153. package/dist/esm/sync-store/encoding.js.map +0 -1
  154. package/dist/esm/sync-store/index.js +0 -727
  155. package/dist/esm/sync-store/index.js.map +0 -1
  156. package/dist/esm/sync-store/migrations.js +0 -1186
  157. package/dist/esm/sync-store/migrations.js.map +0 -1
  158. package/dist/esm/types/db.js +0 -2
  159. package/dist/esm/types/db.js.map +0 -1
  160. package/dist/esm/types/eth.js +0 -2
  161. package/dist/esm/types/eth.js.map +0 -1
  162. package/dist/esm/types/sync.js +0 -2
  163. package/dist/esm/types/sync.js.map +0 -1
  164. package/dist/esm/types/utils.js +0 -2
  165. package/dist/esm/types/utils.js.map +0 -1
  166. package/dist/esm/types/virtual.js +0 -2
  167. package/dist/esm/types/virtual.js.map +0 -1
  168. package/dist/esm/ui/ProgressBar.js +0 -11
  169. package/dist/esm/ui/ProgressBar.js.map +0 -1
  170. package/dist/esm/ui/Table.js +0 -50
  171. package/dist/esm/ui/Table.js.map +0 -1
  172. package/dist/esm/ui/app.js +0 -113
  173. package/dist/esm/ui/app.js.map +0 -1
  174. package/dist/esm/ui/graphiql.html.js +0 -59
  175. package/dist/esm/ui/graphiql.html.js.map +0 -1
  176. package/dist/esm/ui/index.js +0 -21
  177. package/dist/esm/ui/index.js.map +0 -1
  178. package/dist/esm/utils/bigint.js +0 -37
  179. package/dist/esm/utils/bigint.js.map +0 -1
  180. package/dist/esm/utils/chains.js +0 -3
  181. package/dist/esm/utils/chains.js.map +0 -1
  182. package/dist/esm/utils/checkpoint.js +0 -114
  183. package/dist/esm/utils/checkpoint.js.map +0 -1
  184. package/dist/esm/utils/chunk.js +0 -8
  185. package/dist/esm/utils/chunk.js.map +0 -1
  186. package/dist/esm/utils/date.js +0 -27
  187. package/dist/esm/utils/date.js.map +0 -1
  188. package/dist/esm/utils/debug.js +0 -2
  189. package/dist/esm/utils/debug.js.map +0 -1
  190. package/dist/esm/utils/dedupe.js +0 -33
  191. package/dist/esm/utils/dedupe.js.map +0 -1
  192. package/dist/esm/utils/duplicates.js +0 -19
  193. package/dist/esm/utils/duplicates.js.map +0 -1
  194. package/dist/esm/utils/estimate.js +0 -6
  195. package/dist/esm/utils/estimate.js.map +0 -1
  196. package/dist/esm/utils/extend.js +0 -28
  197. package/dist/esm/utils/extend.js.map +0 -1
  198. package/dist/esm/utils/format.js +0 -20
  199. package/dist/esm/utils/format.js.map +0 -1
  200. package/dist/esm/utils/generators.js +0 -77
  201. package/dist/esm/utils/generators.js.map +0 -1
  202. package/dist/esm/utils/hash.js +0 -11
  203. package/dist/esm/utils/hash.js.map +0 -1
  204. package/dist/esm/utils/interval.js +0 -171
  205. package/dist/esm/utils/interval.js.map +0 -1
  206. package/dist/esm/utils/lowercase.js +0 -7
  207. package/dist/esm/utils/lowercase.js.map +0 -1
  208. package/dist/esm/utils/mutex.js +0 -25
  209. package/dist/esm/utils/mutex.js.map +0 -1
  210. package/dist/esm/utils/never.js +0 -4
  211. package/dist/esm/utils/never.js.map +0 -1
  212. package/dist/esm/utils/offset.js +0 -73
  213. package/dist/esm/utils/offset.js.map +0 -1
  214. package/dist/esm/utils/order.js +0 -18
  215. package/dist/esm/utils/order.js.map +0 -1
  216. package/dist/esm/utils/partition.js +0 -37
  217. package/dist/esm/utils/partition.js.map +0 -1
  218. package/dist/esm/utils/pg.js +0 -126
  219. package/dist/esm/utils/pg.js.map +0 -1
  220. package/dist/esm/utils/pglite.js +0 -80
  221. package/dist/esm/utils/pglite.js.map +0 -1
  222. package/dist/esm/utils/port.js +0 -30
  223. package/dist/esm/utils/port.js.map +0 -1
  224. package/dist/esm/utils/print.js +0 -23
  225. package/dist/esm/utils/print.js.map +0 -1
  226. package/dist/esm/utils/promiseWithResolvers.js +0 -13
  227. package/dist/esm/utils/promiseWithResolvers.js.map +0 -1
  228. package/dist/esm/utils/queue.js +0 -145
  229. package/dist/esm/utils/queue.js.map +0 -1
  230. package/dist/esm/utils/range.js +0 -8
  231. package/dist/esm/utils/range.js.map +0 -1
  232. package/dist/esm/utils/requestQueue.js +0 -127
  233. package/dist/esm/utils/requestQueue.js.map +0 -1
  234. package/dist/esm/utils/result.js +0 -10
  235. package/dist/esm/utils/result.js.map +0 -1
  236. package/dist/esm/utils/rpc.js +0 -202
  237. package/dist/esm/utils/rpc.js.map +0 -1
  238. package/dist/esm/utils/serialize.js +0 -23
  239. package/dist/esm/utils/serialize.js.map +0 -1
  240. package/dist/esm/utils/timer.js +0 -17
  241. package/dist/esm/utils/timer.js.map +0 -1
  242. package/dist/esm/utils/wait.js +0 -8
  243. package/dist/esm/utils/wait.js.map +0 -1
  244. package/dist/esm/utils/zipper.js +0 -67
  245. package/dist/esm/utils/zipper.js.map +0 -1
  246. package/dist/types/bin/commands/codegen.d.ts +0 -5
  247. package/dist/types/bin/commands/codegen.d.ts.map +0 -1
  248. package/dist/types/bin/commands/dev.d.ts +0 -5
  249. package/dist/types/bin/commands/dev.d.ts.map +0 -1
  250. package/dist/types/bin/commands/list.d.ts +0 -5
  251. package/dist/types/bin/commands/list.d.ts.map +0 -1
  252. package/dist/types/bin/commands/serve.d.ts +0 -5
  253. package/dist/types/bin/commands/serve.d.ts.map +0 -1
  254. package/dist/types/bin/commands/start.d.ts +0 -5
  255. package/dist/types/bin/commands/start.d.ts.map +0 -1
  256. package/dist/types/bin/ponder.d.ts.map +0 -1
  257. package/dist/types/bin/utils/codegen.d.ts +0 -6
  258. package/dist/types/bin/utils/codegen.d.ts.map +0 -1
  259. package/dist/types/bin/utils/exit.d.ts +0 -9
  260. package/dist/types/bin/utils/exit.d.ts.map +0 -1
  261. package/dist/types/bin/utils/run.d.ts +0 -14
  262. package/dist/types/bin/utils/run.d.ts.map +0 -1
  263. package/dist/types/bin/utils/runServer.d.ts +0 -12
  264. package/dist/types/bin/utils/runServer.d.ts.map +0 -1
  265. package/dist/types/build/configAndIndexingFunctions.d.ts +0 -37
  266. package/dist/types/build/configAndIndexingFunctions.d.ts.map +0 -1
  267. package/dist/types/build/factory.d.ts +0 -10
  268. package/dist/types/build/factory.d.ts.map +0 -1
  269. package/dist/types/build/index.d.ts +0 -70
  270. package/dist/types/build/index.d.ts.map +0 -1
  271. package/dist/types/build/plugin.d.ts +0 -4
  272. package/dist/types/build/plugin.d.ts.map +0 -1
  273. package/dist/types/build/pre.d.ts +0 -35
  274. package/dist/types/build/pre.d.ts.map +0 -1
  275. package/dist/types/build/schema.d.ts +0 -18
  276. package/dist/types/build/schema.d.ts.map +0 -1
  277. package/dist/types/build/stacktrace.d.ts +0 -13
  278. package/dist/types/build/stacktrace.d.ts.map +0 -1
  279. package/dist/types/client/index.d.ts +0 -27
  280. package/dist/types/client/index.d.ts.map +0 -1
  281. package/dist/types/client/validate.d.ts +0 -2
  282. package/dist/types/client/validate.d.ts.map +0 -1
  283. package/dist/types/config/address.d.ts +0 -14
  284. package/dist/types/config/address.d.ts.map +0 -1
  285. package/dist/types/config/eventFilter.d.ts +0 -18
  286. package/dist/types/config/eventFilter.d.ts.map +0 -1
  287. package/dist/types/config/index.d.ts +0 -143
  288. package/dist/types/config/index.d.ts.map +0 -1
  289. package/dist/types/config/networks.d.ts +0 -30
  290. package/dist/types/config/networks.d.ts.map +0 -1
  291. package/dist/types/config/utilityTypes.d.ts +0 -43
  292. package/dist/types/config/utilityTypes.d.ts.map +0 -1
  293. package/dist/types/database/index.d.ts +0 -91
  294. package/dist/types/database/index.d.ts.map +0 -1
  295. package/dist/types/drizzle/bigint.d.ts +0 -25
  296. package/dist/types/drizzle/bigint.d.ts.map +0 -1
  297. package/dist/types/drizzle/hex.d.ts +0 -25
  298. package/dist/types/drizzle/hex.d.ts.map +0 -1
  299. package/dist/types/drizzle/index.d.ts +0 -14
  300. package/dist/types/drizzle/index.d.ts.map +0 -1
  301. package/dist/types/drizzle/kit/index.d.ts +0 -49
  302. package/dist/types/drizzle/kit/index.d.ts.map +0 -1
  303. package/dist/types/drizzle/onchain.d.ts.map +0 -1
  304. package/dist/types/graphql/index.d.ts +0 -14
  305. package/dist/types/graphql/index.d.ts.map +0 -1
  306. package/dist/types/graphql/json.d.ts +0 -3
  307. package/dist/types/graphql/json.d.ts.map +0 -1
  308. package/dist/types/graphql/middleware.d.ts +0 -29
  309. package/dist/types/graphql/middleware.d.ts.map +0 -1
  310. package/dist/types/index.d.ts +0 -18
  311. package/dist/types/index.d.ts.map +0 -1
  312. package/dist/types/indexing/addStackTrace.d.ts +0 -3
  313. package/dist/types/indexing/addStackTrace.d.ts.map +0 -1
  314. package/dist/types/indexing/index.d.ts +0 -575
  315. package/dist/types/indexing/index.d.ts.map +0 -1
  316. package/dist/types/indexing/ponderActions.d.ts +0 -47
  317. package/dist/types/indexing/ponderActions.d.ts.map +0 -1
  318. package/dist/types/indexing/service.d.ts +0 -73
  319. package/dist/types/indexing/service.d.ts.map +0 -1
  320. package/dist/types/indexing-store/historical.d.ts +0 -19
  321. package/dist/types/indexing-store/historical.d.ts.map +0 -1
  322. package/dist/types/indexing-store/index.d.ts +0 -10
  323. package/dist/types/indexing-store/index.d.ts.map +0 -1
  324. package/dist/types/indexing-store/metadata.d.ts +0 -10
  325. package/dist/types/indexing-store/metadata.d.ts.map +0 -1
  326. package/dist/types/indexing-store/realtime.d.ts +0 -10
  327. package/dist/types/indexing-store/realtime.d.ts.map +0 -1
  328. package/dist/types/internal/common.d.ts +0 -13
  329. package/dist/types/internal/common.d.ts.map +0 -1
  330. package/dist/types/internal/errors.d.ts +0 -55
  331. package/dist/types/internal/errors.d.ts.map +0 -1
  332. package/dist/types/internal/logger.d.ts +0 -26
  333. package/dist/types/internal/logger.d.ts.map +0 -1
  334. package/dist/types/internal/metrics.d.ts +0 -77
  335. package/dist/types/internal/metrics.d.ts.map +0 -1
  336. package/dist/types/internal/options.d.ts +0 -59
  337. package/dist/types/internal/options.d.ts.map +0 -1
  338. package/dist/types/internal/shutdown.d.ts +0 -8
  339. package/dist/types/internal/shutdown.d.ts.map +0 -1
  340. package/dist/types/internal/telemetry.d.ts +0 -43
  341. package/dist/types/internal/telemetry.d.ts.map +0 -1
  342. package/dist/types/internal/types.d.ts +0 -328
  343. package/dist/types/internal/types.d.ts.map +0 -1
  344. package/dist/types/server/error.d.ts +0 -5
  345. package/dist/types/server/error.d.ts.map +0 -1
  346. package/dist/types/server/index.d.ts +0 -13
  347. package/dist/types/server/index.d.ts.map +0 -1
  348. package/dist/types/sync/abi.d.ts +0 -54
  349. package/dist/types/sync/abi.d.ts.map +0 -1
  350. package/dist/types/sync/events.d.ts +0 -24
  351. package/dist/types/sync/events.d.ts.map +0 -1
  352. package/dist/types/sync/filter.d.ts +0 -71
  353. package/dist/types/sync/filter.d.ts.map +0 -1
  354. package/dist/types/sync/fragments.d.ts +0 -21
  355. package/dist/types/sync/fragments.d.ts.map +0 -1
  356. package/dist/types/sync/index.d.ts +0 -112
  357. package/dist/types/sync/index.d.ts.map +0 -1
  358. package/dist/types/sync/transport.d.ts +0 -8
  359. package/dist/types/sync/transport.d.ts.map +0 -1
  360. package/dist/types/sync-historical/index.d.ts +0 -28
  361. package/dist/types/sync-historical/index.d.ts.map +0 -1
  362. package/dist/types/sync-realtime/bloom.d.ts +0 -19
  363. package/dist/types/sync-realtime/bloom.d.ts.map +0 -1
  364. package/dist/types/sync-realtime/index.d.ts +0 -48
  365. package/dist/types/sync-realtime/index.d.ts.map +0 -1
  366. package/dist/types/sync-store/encoding.d.ts +0 -151
  367. package/dist/types/sync-store/encoding.d.ts.map +0 -1
  368. package/dist/types/sync-store/index.d.ts +0 -104
  369. package/dist/types/sync-store/index.d.ts.map +0 -1
  370. package/dist/types/sync-store/migrations.d.ts +0 -13
  371. package/dist/types/sync-store/migrations.d.ts.map +0 -1
  372. package/dist/types/types/db.d.ts +0 -213
  373. package/dist/types/types/db.d.ts.map +0 -1
  374. package/dist/types/types/eth.d.ts +0 -196
  375. package/dist/types/types/eth.d.ts.map +0 -1
  376. package/dist/types/types/sync.d.ts +0 -15
  377. package/dist/types/types/sync.d.ts.map +0 -1
  378. package/dist/types/types/utils.d.ts +0 -22
  379. package/dist/types/types/utils.d.ts.map +0 -1
  380. package/dist/types/types/virtual.d.ts +0 -95
  381. package/dist/types/types/virtual.d.ts.map +0 -1
  382. package/dist/types/ui/ProgressBar.d.ts +0 -7
  383. package/dist/types/ui/ProgressBar.d.ts.map +0 -1
  384. package/dist/types/ui/Table.d.ts +0 -24
  385. package/dist/types/ui/Table.d.ts.map +0 -1
  386. package/dist/types/ui/app.d.ts +0 -14
  387. package/dist/types/ui/app.d.ts.map +0 -1
  388. package/dist/types/ui/graphiql.html.d.ts +0 -2
  389. package/dist/types/ui/graphiql.html.d.ts.map +0 -1
  390. package/dist/types/ui/index.d.ts +0 -5
  391. package/dist/types/ui/index.d.ts.map +0 -1
  392. package/dist/types/utils/bigint.d.ts +0 -15
  393. package/dist/types/utils/bigint.d.ts.map +0 -1
  394. package/dist/types/utils/chains.d.ts +0 -3
  395. package/dist/types/utils/chains.d.ts.map +0 -1
  396. package/dist/types/utils/checkpoint.d.ts +0 -40
  397. package/dist/types/utils/checkpoint.d.ts.map +0 -1
  398. package/dist/types/utils/chunk.d.ts +0 -2
  399. package/dist/types/utils/chunk.d.ts.map +0 -1
  400. package/dist/types/utils/date.d.ts +0 -7
  401. package/dist/types/utils/date.d.ts.map +0 -1
  402. package/dist/types/utils/debug.d.ts +0 -105
  403. package/dist/types/utils/debug.d.ts.map +0 -1
  404. package/dist/types/utils/dedupe.d.ts +0 -20
  405. package/dist/types/utils/dedupe.d.ts.map +0 -1
  406. package/dist/types/utils/duplicates.d.ts +0 -7
  407. package/dist/types/utils/duplicates.d.ts.map +0 -1
  408. package/dist/types/utils/estimate.d.ts +0 -11
  409. package/dist/types/utils/estimate.d.ts.map +0 -1
  410. package/dist/types/utils/extend.d.ts +0 -13
  411. package/dist/types/utils/extend.d.ts.map +0 -1
  412. package/dist/types/utils/format.d.ts +0 -3
  413. package/dist/types/utils/format.d.ts.map +0 -1
  414. package/dist/types/utils/generators.d.ts +0 -23
  415. package/dist/types/utils/generators.d.ts.map +0 -1
  416. package/dist/types/utils/hash.d.ts +0 -11
  417. package/dist/types/utils/hash.d.ts.map +0 -1
  418. package/dist/types/utils/interval.d.ts +0 -53
  419. package/dist/types/utils/interval.d.ts.map +0 -1
  420. package/dist/types/utils/lowercase.d.ts +0 -5
  421. package/dist/types/utils/lowercase.d.ts.map +0 -1
  422. package/dist/types/utils/mutex.d.ts +0 -8
  423. package/dist/types/utils/mutex.d.ts.map +0 -1
  424. package/dist/types/utils/never.d.ts +0 -2
  425. package/dist/types/utils/never.d.ts.map +0 -1
  426. package/dist/types/utils/offset.d.ts +0 -3
  427. package/dist/types/utils/offset.d.ts.map +0 -1
  428. package/dist/types/utils/order.d.ts +0 -2
  429. package/dist/types/utils/order.d.ts.map +0 -1
  430. package/dist/types/utils/partition.d.ts +0 -22
  431. package/dist/types/utils/partition.d.ts.map +0 -1
  432. package/dist/types/utils/pg.d.ts +0 -5
  433. package/dist/types/utils/pg.d.ts.map +0 -1
  434. package/dist/types/utils/pglite.d.ts +0 -25
  435. package/dist/types/utils/pglite.d.ts.map +0 -1
  436. package/dist/types/utils/port.d.ts +0 -5
  437. package/dist/types/utils/port.d.ts.map +0 -1
  438. package/dist/types/utils/print.d.ts +0 -2
  439. package/dist/types/utils/print.d.ts.map +0 -1
  440. package/dist/types/utils/promiseWithResolvers.d.ts +0 -10
  441. package/dist/types/utils/promiseWithResolvers.d.ts.map +0 -1
  442. package/dist/types/utils/queue.d.ts +0 -33
  443. package/dist/types/utils/queue.d.ts.map +0 -1
  444. package/dist/types/utils/range.d.ts +0 -8
  445. package/dist/types/utils/range.d.ts.map +0 -1
  446. package/dist/types/utils/requestQueue.d.ts +0 -21
  447. package/dist/types/utils/requestQueue.d.ts.map +0 -1
  448. package/dist/types/utils/result.d.ts +0 -17
  449. package/dist/types/utils/result.d.ts.map +0 -1
  450. package/dist/types/utils/rpc.d.ts +0 -57
  451. package/dist/types/utils/rpc.d.ts.map +0 -1
  452. package/dist/types/utils/serialize.d.ts +0 -19
  453. package/dist/types/utils/serialize.d.ts.map +0 -1
  454. package/dist/types/utils/timer.d.ts +0 -11
  455. package/dist/types/utils/timer.d.ts.map +0 -1
  456. package/dist/types/utils/wait.d.ts +0 -6
  457. package/dist/types/utils/wait.d.ts.map +0 -1
  458. package/dist/types/utils/zipper.d.ts +0 -36
  459. package/dist/types/utils/zipper.d.ts.map +0 -1
  460. package/src/utils/dedupe.ts +0 -40
  461. package/src/utils/promiseWithResolvers.ts +0 -20
  462. package/src/utils/queue.ts +0 -250
@@ -1,356 +0,0 @@
1
- import { toLowerCase } from '../utils/lowercase.js';
2
- import { hexToBigInt, hexToNumber } from "viem";
3
- /** Returns true if `address` is an address filter. */
4
- export const isAddressFactory = (address) => {
5
- if (address === undefined || address === null || typeof address === "string")
6
- return false;
7
- return Array.isArray(address) ? isAddressFactory(address[0]) : true;
8
- };
9
- export const getChildAddress = ({ log, factory, }) => {
10
- if (factory.childAddressLocation.startsWith("offset")) {
11
- const childAddressOffset = Number(factory.childAddressLocation.substring(6));
12
- const start = 2 + 12 * 2 + childAddressOffset * 2;
13
- const length = 20 * 2;
14
- return `0x${log.data.substring(start, start + length)}`;
15
- }
16
- else {
17
- const start = 2 + 12 * 2;
18
- const length = 20 * 2;
19
- const topicIndex = factory.childAddressLocation === "topic1"
20
- ? 1
21
- : factory.childAddressLocation === "topic2"
22
- ? 2
23
- : 3;
24
- return `0x${log.topics[topicIndex].substring(start, start + length)}`;
25
- }
26
- };
27
- const isValueMatched = (filterValue, eventValue) => {
28
- // match all
29
- if (filterValue === null || filterValue === undefined)
30
- return true;
31
- // missing value
32
- if (eventValue === undefined)
33
- return false;
34
- // array
35
- if (Array.isArray(filterValue) &&
36
- filterValue.some((v) => v === toLowerCase(eventValue))) {
37
- return true;
38
- }
39
- // set
40
- if (filterValue instanceof Set &&
41
- filterValue.has(toLowerCase(eventValue))) {
42
- return true;
43
- }
44
- // single
45
- if (filterValue === toLowerCase(eventValue))
46
- return true;
47
- return false;
48
- };
49
- /**
50
- * Returns `true` if `log` matches `filter`
51
- */
52
- export const isLogFactoryMatched = ({ filter, log, }) => {
53
- const addresses = Array.isArray(filter.address)
54
- ? filter.address
55
- : [filter.address];
56
- if (addresses.every((address) => address !== toLowerCase(log.address))) {
57
- return false;
58
- }
59
- if (log.topics.length === 0)
60
- return false;
61
- if (filter.eventSelector !== toLowerCase(log.topics[0]))
62
- return false;
63
- return true;
64
- };
65
- /**
66
- * Returns `true` if `log` matches `filter`
67
- */
68
- export const isLogFilterMatched = ({ filter, block, log, childAddresses, }) => {
69
- // Return `false` for out of range blocks
70
- if (hexToNumber(block.number) < (filter.fromBlock ?? 0) ||
71
- hexToNumber(block.number) > (filter.toBlock ?? Number.POSITIVE_INFINITY)) {
72
- return false;
73
- }
74
- if (isValueMatched(filter.topic0, log.topics[0]) === false)
75
- return false;
76
- if (isValueMatched(filter.topic1, log.topics[1]) === false)
77
- return false;
78
- if (isValueMatched(filter.topic2, log.topics[2]) === false)
79
- return false;
80
- if (isValueMatched(filter.topic3, log.topics[3]) === false)
81
- return false;
82
- if (isAddressFactory(filter.address)) {
83
- if (Array.isArray(childAddresses)) {
84
- if (childAddresses.every((address) => isValueMatched(address, log.address) === false)) {
85
- return false;
86
- }
87
- }
88
- else {
89
- if (isValueMatched(childAddresses, log.address) === false) {
90
- return false;
91
- }
92
- }
93
- }
94
- else {
95
- if (isValueMatched(filter.address, log.address) === false) {
96
- return false;
97
- }
98
- }
99
- return true;
100
- };
101
- /**
102
- * Returns `true` if `transaction` matches `filter`
103
- */
104
- export const isTransactionFilterMatched = ({ filter, block, transaction, fromChildAddresses, toChildAddresses, }) => {
105
- // Return `false` for out of range blocks
106
- if (hexToNumber(block.number) < (filter.fromBlock ?? 0) ||
107
- hexToNumber(block.number) > (filter.toBlock ?? Number.POSITIVE_INFINITY)) {
108
- return false;
109
- }
110
- if (isAddressFactory(filter.fromAddress)) {
111
- if (Array.isArray(fromChildAddresses)) {
112
- if (fromChildAddresses.every((address) => isValueMatched(address, transaction.from) === false)) {
113
- return false;
114
- }
115
- }
116
- else {
117
- if (isValueMatched(fromChildAddresses, transaction.from) === false) {
118
- return false;
119
- }
120
- }
121
- }
122
- else {
123
- if (isValueMatched(filter.fromAddress, transaction.from) === false) {
124
- return false;
125
- }
126
- }
127
- if (isAddressFactory(filter.toAddress)) {
128
- if (Array.isArray(toChildAddresses)) {
129
- if (transaction.to !== null &&
130
- toChildAddresses.every((address) => isValueMatched(address, transaction.to) === false)) {
131
- return false;
132
- }
133
- }
134
- else {
135
- if (transaction.to !== null &&
136
- isValueMatched(toChildAddresses, transaction.to) === false) {
137
- return false;
138
- }
139
- }
140
- }
141
- else {
142
- if (transaction.to !== null &&
143
- isValueMatched(filter.toAddress, transaction.to) === false) {
144
- return false;
145
- }
146
- }
147
- // NOTE: `filter.includeReverted` is intentionally ignored
148
- return true;
149
- };
150
- /**
151
- * Returns `true` if `trace` matches `filter`
152
- */
153
- export const isTraceFilterMatched = ({ filter, block, trace, fromChildAddresses, toChildAddresses, }) => {
154
- // Return `false` for out of range blocks
155
- if (hexToNumber(block.number) < (filter.fromBlock ?? 0) ||
156
- hexToNumber(block.number) > (filter.toBlock ?? Number.POSITIVE_INFINITY)) {
157
- return false;
158
- }
159
- if (isAddressFactory(filter.fromAddress)) {
160
- if (Array.isArray(fromChildAddresses)) {
161
- if (fromChildAddresses.every((address) => isValueMatched(address, trace.from) === false)) {
162
- return false;
163
- }
164
- }
165
- else {
166
- if (isValueMatched(fromChildAddresses, trace.from) === false) {
167
- return false;
168
- }
169
- }
170
- }
171
- else {
172
- if (isValueMatched(filter.fromAddress, trace.from) === false) {
173
- return false;
174
- }
175
- }
176
- if (isAddressFactory(filter.toAddress)) {
177
- if (Array.isArray(toChildAddresses)) {
178
- if (toChildAddresses.every((address) => isValueMatched(address, trace.to) === false)) {
179
- return false;
180
- }
181
- }
182
- else {
183
- if (isValueMatched(toChildAddresses, trace.to) === false) {
184
- return false;
185
- }
186
- }
187
- }
188
- else {
189
- if (isValueMatched(filter.toAddress, trace.to) === false) {
190
- return false;
191
- }
192
- }
193
- if (isValueMatched(filter.functionSelector, trace.input.slice(0, 10)) === false) {
194
- return false;
195
- }
196
- // NOTE: `filter.callType` and `filter.includeReverted` is intentionally ignored
197
- return true;
198
- };
199
- /**
200
- * Returns `true` if `trace` matches `filter`
201
- */
202
- export const isTransferFilterMatched = ({ filter, block, trace, fromChildAddresses, toChildAddresses, }) => {
203
- // Return `false` for out of range blocks
204
- if (hexToNumber(block.number) < (filter.fromBlock ?? 0) ||
205
- hexToNumber(block.number) > (filter.toBlock ?? Number.POSITIVE_INFINITY)) {
206
- return false;
207
- }
208
- if (trace.value === undefined || hexToBigInt(trace.value) === 0n) {
209
- return false;
210
- }
211
- if (isAddressFactory(filter.fromAddress)) {
212
- if (Array.isArray(fromChildAddresses)) {
213
- if (fromChildAddresses.every((address) => isValueMatched(address, trace.from) === false)) {
214
- return false;
215
- }
216
- }
217
- else {
218
- if (isValueMatched(fromChildAddresses, trace.from) === false) {
219
- return false;
220
- }
221
- }
222
- }
223
- else {
224
- if (isValueMatched(filter.fromAddress, trace.from) === false) {
225
- return false;
226
- }
227
- }
228
- if (isAddressFactory(filter.toAddress)) {
229
- if (Array.isArray(toChildAddresses)) {
230
- if (toChildAddresses.every((address) => isValueMatched(address, trace.to) === false)) {
231
- return false;
232
- }
233
- }
234
- else {
235
- if (isValueMatched(toChildAddresses, trace.to) === false) {
236
- return false;
237
- }
238
- }
239
- }
240
- else {
241
- if (isValueMatched(filter.toAddress, trace.to) === false) {
242
- return false;
243
- }
244
- }
245
- // NOTE: `filter.includeReverted` is intentionally ignored
246
- return true;
247
- };
248
- /**
249
- * Returns `true` if `block` matches `filter`
250
- */
251
- export const isBlockFilterMatched = ({ filter, block, }) => {
252
- // Return `false` for out of range blocks
253
- if (hexToNumber(block.number) < (filter.fromBlock ?? 0) ||
254
- hexToNumber(block.number) > (filter.toBlock ?? Number.POSITIVE_INFINITY)) {
255
- return false;
256
- }
257
- return (hexToNumber(block.number) - filter.offset) % filter.interval === 0;
258
- };
259
- export const defaultBlockFilterInclude = [
260
- "block.baseFeePerGas",
261
- "block.difficulty",
262
- "block.extraData",
263
- "block.gasLimit",
264
- "block.gasUsed",
265
- "block.hash",
266
- "block.logsBloom",
267
- "block.miner",
268
- "block.nonce",
269
- "block.number",
270
- "block.parentHash",
271
- "block.receiptsRoot",
272
- "block.sha3Uncles",
273
- "block.size",
274
- "block.stateRoot",
275
- "block.timestamp",
276
- "block.transactionsRoot",
277
- ];
278
- const defaultTransactionInclude = [
279
- "transaction.from",
280
- "transaction.gas",
281
- "transaction.hash",
282
- "transaction.input",
283
- "transaction.nonce",
284
- "transaction.r",
285
- "transaction.s",
286
- "transaction.to",
287
- "transaction.transactionIndex",
288
- "transaction.v",
289
- "transaction.value",
290
- // NOTE: type specific properties are not included
291
- ];
292
- export const defaultTransactionReceiptInclude = [
293
- "transactionReceipt.contractAddress",
294
- "transactionReceipt.cumulativeGasUsed",
295
- "transactionReceipt.effectiveGasPrice",
296
- "transactionReceipt.from",
297
- "transactionReceipt.gasUsed",
298
- "transactionReceipt.logsBloom",
299
- "transactionReceipt.status",
300
- "transactionReceipt.to",
301
- "transactionReceipt.type",
302
- ];
303
- const defaultTraceInclude = [
304
- "trace.id",
305
- "trace.traceIndex",
306
- "trace.type",
307
- "trace.from",
308
- "trace.to",
309
- "trace.gas",
310
- "trace.gasUsed",
311
- "trace.input",
312
- "trace.output",
313
- "trace.error",
314
- "trace.revertReason",
315
- "trace.value",
316
- ];
317
- export const defaultLogFilterInclude = [
318
- "log.id",
319
- "log.address",
320
- "log.data",
321
- "log.logIndex",
322
- "log.removed",
323
- "log.topics",
324
- ...defaultTransactionInclude,
325
- ...defaultBlockFilterInclude,
326
- ];
327
- export const defaultTransactionFilterInclude = [
328
- ...defaultTransactionInclude,
329
- ...defaultTransactionReceiptInclude,
330
- ...defaultBlockFilterInclude,
331
- ];
332
- export const defaultTraceFilterInclude = [
333
- ...defaultBlockFilterInclude,
334
- ...defaultTransactionInclude,
335
- ...defaultTraceInclude,
336
- ];
337
- export const defaultTransferFilterInclude = [
338
- ...defaultBlockFilterInclude,
339
- ...defaultTransactionInclude,
340
- ...defaultTraceInclude,
341
- ];
342
- export const shouldGetTransactionReceipt = (filter) => {
343
- // transactions must request receipts for "reverted" information
344
- if (filter.type === "transaction")
345
- return true;
346
- if (filter.type === "block")
347
- return false;
348
- // TODO(kyle) should include be a required property?
349
- if (filter.include === undefined)
350
- return true;
351
- if (filter.include.some((prop) => prop.startsWith("transactionReceipt."))) {
352
- return true;
353
- }
354
- return false;
355
- };
356
- //# sourceMappingURL=filter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/sync/filter.ts"],"names":[],"mappings":"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"}
@@ -1,300 +0,0 @@
1
- import { dedupe } from '../utils/dedupe.js';
2
- import { isAddressFactory, shouldGetTransactionReceipt } from "./filter.js";
3
- export const getFragments = (filter) => {
4
- switch (filter.type) {
5
- case "block":
6
- return getBlockFilterFragment(filter);
7
- case "transaction":
8
- return getTransactionFilterFragments(filter);
9
- case "trace":
10
- return getTraceFilterFragments(filter);
11
- case "log":
12
- return getLogFilterFragments(filter);
13
- case "transfer":
14
- return getTransferFilterFragments(filter);
15
- }
16
- };
17
- const getAddressFragments = (address) => {
18
- const fragments = [];
19
- if (isAddressFactory(address)) {
20
- for (const fragmentAddress of Array.isArray(address.address)
21
- ? address.address
22
- : [address.address]) {
23
- const fragment = {
24
- address: fragmentAddress,
25
- eventSelector: address.eventSelector,
26
- childAddressLocation: address.childAddressLocation,
27
- };
28
- fragments.push({
29
- fragment,
30
- adjacentIds: [
31
- `${fragmentAddress}_${address.eventSelector}_${address.childAddressLocation}`,
32
- ],
33
- });
34
- }
35
- }
36
- else {
37
- for (const fragmentAddress of Array.isArray(address)
38
- ? address
39
- : [address ?? null]) {
40
- fragments.push({
41
- fragment: fragmentAddress,
42
- adjacentIds: fragmentAddress
43
- ? [fragmentAddress, null]
44
- : [fragmentAddress],
45
- });
46
- }
47
- }
48
- return fragments;
49
- };
50
- export const getBlockFilterFragment = ({ chainId, interval, offset, }) => {
51
- return [
52
- {
53
- fragment: {
54
- type: "block",
55
- chainId,
56
- interval,
57
- offset,
58
- },
59
- adjacentIds: [`block_${chainId}_${interval}_${offset}`],
60
- },
61
- ];
62
- };
63
- export const getTransactionFilterFragments = ({ chainId, fromAddress, toAddress, }) => {
64
- const fragments = [];
65
- const fromAddressFragments = getAddressFragments(fromAddress);
66
- const toAddressFragments = getAddressFragments(toAddress);
67
- for (const fromAddressFragment of fromAddressFragments) {
68
- for (const toAddressFragment of toAddressFragments) {
69
- const fragment = {
70
- type: "transaction",
71
- chainId,
72
- fromAddress: fromAddressFragment.fragment,
73
- toAddress: toAddressFragment.fragment,
74
- };
75
- const adjacentIds = [];
76
- for (const fromAddressAdjacentId of fromAddressFragment.adjacentIds) {
77
- for (const toAddressAdjacentId of toAddressFragment.adjacentIds) {
78
- adjacentIds.push(`transaction_${chainId}_${fromAddressAdjacentId}_${toAddressAdjacentId}`);
79
- }
80
- }
81
- fragments.push({ fragment, adjacentIds });
82
- }
83
- }
84
- return fragments;
85
- };
86
- export const getTraceFilterFragments = ({ chainId, fromAddress, toAddress, callType, functionSelector, ...filter }) => {
87
- const fragments = [];
88
- const fromAddressFragments = getAddressFragments(fromAddress);
89
- const toAddressFragments = getAddressFragments(toAddress);
90
- const includeTransactionReceipts = shouldGetTransactionReceipt(filter);
91
- for (const fromAddressFragment of fromAddressFragments) {
92
- for (const toAddressFragment of toAddressFragments) {
93
- for (const fragmentFunctionSelector of Array.isArray(functionSelector)
94
- ? functionSelector
95
- : [functionSelector]) {
96
- const fragment = {
97
- type: "trace",
98
- chainId,
99
- fromAddress: fromAddressFragment.fragment,
100
- toAddress: toAddressFragment.fragment,
101
- functionSelector: fragmentFunctionSelector ?? null,
102
- includeTransactionReceipts,
103
- };
104
- const adjacentIds = [];
105
- for (const fromAddressAdjacentId of fromAddressFragment.adjacentIds) {
106
- for (const toAddressAdjacentId of toAddressFragment.adjacentIds) {
107
- for (const adjacentFunctionSelector of fragmentFunctionSelector
108
- ? [fragmentFunctionSelector, null]
109
- : [null]) {
110
- for (const adjacentTxr of includeTransactionReceipts
111
- ? [1]
112
- : [0, 1]) {
113
- adjacentIds.push(`trace_${chainId}_${fromAddressAdjacentId}_${toAddressAdjacentId}_${adjacentFunctionSelector}_${adjacentTxr}`);
114
- }
115
- }
116
- }
117
- }
118
- fragments.push({ fragment, adjacentIds });
119
- }
120
- }
121
- }
122
- return fragments;
123
- };
124
- export const getLogFilterFragments = ({ chainId, address, topic0, topic1, topic2, topic3, ...filter }) => {
125
- const fragments = [];
126
- const addressFragments = getAddressFragments(address);
127
- const includeTransactionReceipts = shouldGetTransactionReceipt(filter);
128
- for (const addressFragment of addressFragments) {
129
- for (const fragmentTopic0 of Array.isArray(topic0) ? topic0 : [topic0]) {
130
- for (const fragmentTopic1 of Array.isArray(topic1) ? topic1 : [topic1]) {
131
- for (const fragmentTopic2 of Array.isArray(topic2)
132
- ? topic2
133
- : [topic2]) {
134
- for (const fragmentTopic3 of Array.isArray(topic3)
135
- ? topic3
136
- : [topic3]) {
137
- const fragment = {
138
- type: "log",
139
- chainId,
140
- address: addressFragment.fragment,
141
- topic0: fragmentTopic0 ?? null,
142
- topic1: fragmentTopic1 ?? null,
143
- topic2: fragmentTopic2 ?? null,
144
- topic3: fragmentTopic3 ?? null,
145
- includeTransactionReceipts,
146
- };
147
- const adjacentIds = [];
148
- for (const addressAdjacentId of addressFragment.adjacentIds) {
149
- for (const adjacentTopic0 of fragmentTopic0
150
- ? [fragmentTopic0, null]
151
- : [null]) {
152
- for (const adjacentTopic1 of fragmentTopic1
153
- ? [fragmentTopic1, null]
154
- : [null]) {
155
- for (const adjacentTopic2 of fragmentTopic2
156
- ? [fragmentTopic2, null]
157
- : [null]) {
158
- for (const adjacentTopic3 of fragmentTopic3
159
- ? [fragmentTopic3, null]
160
- : [null]) {
161
- for (const adjacentTxr of includeTransactionReceipts
162
- ? [1]
163
- : [0, 1]) {
164
- adjacentIds.push(`log_${chainId}_${addressAdjacentId}_${adjacentTopic0}_${adjacentTopic1}_${adjacentTopic2}_${adjacentTopic3}_${adjacentTxr}`);
165
- }
166
- }
167
- }
168
- }
169
- }
170
- }
171
- fragments.push({ fragment, adjacentIds });
172
- }
173
- }
174
- }
175
- }
176
- }
177
- return fragments;
178
- };
179
- export const getTransferFilterFragments = ({ chainId, fromAddress, toAddress, ...filter }) => {
180
- const fragments = [];
181
- const fromAddressFragments = getAddressFragments(fromAddress);
182
- const toAddressFragments = getAddressFragments(toAddress);
183
- const includeTransactionReceipts = shouldGetTransactionReceipt(filter);
184
- for (const fromAddressFragment of fromAddressFragments) {
185
- for (const toAddressFragment of toAddressFragments) {
186
- const fragment = {
187
- type: "transfer",
188
- chainId,
189
- fromAddress: fromAddressFragment.fragment,
190
- toAddress: toAddressFragment.fragment,
191
- includeTransactionReceipts,
192
- };
193
- const adjacentIds = [];
194
- for (const fromAddressAdjacentId of fromAddressFragment.adjacentIds) {
195
- for (const toAddressAdjacentId of toAddressFragment.adjacentIds) {
196
- for (const adjacentTxr of includeTransactionReceipts ? [1] : [0, 1]) {
197
- adjacentIds.push(`transfer_${chainId}_${fromAddressAdjacentId}_${toAddressAdjacentId}_${adjacentTxr}`);
198
- }
199
- }
200
- }
201
- fragments.push({ fragment, adjacentIds });
202
- }
203
- }
204
- return fragments;
205
- };
206
- const fragmentAddressToId = (fragmentAddress) => {
207
- if (fragmentAddress === null)
208
- return null;
209
- if (typeof fragmentAddress === "string")
210
- return fragmentAddress;
211
- return `${fragmentAddress.address}_${fragmentAddress.eventSelector}_${fragmentAddress.childAddressLocation}`;
212
- };
213
- export const fragmentToId = (fragment) => {
214
- switch (fragment.type) {
215
- case "block":
216
- return `block_${fragment.chainId}_${fragment.interval}_${fragment.offset}`;
217
- case "transaction":
218
- return `transaction_${fragment.chainId}_${fragmentAddressToId(fragment.fromAddress)}_${fragmentAddressToId(fragment.toAddress)}`;
219
- case "trace":
220
- return `trace_${fragment.chainId}_${fragmentAddressToId(fragment.fromAddress)}_${fragmentAddressToId(fragment.toAddress)}_${fragment.functionSelector}_${fragment.includeTransactionReceipts ? 1 : 0}`;
221
- case "log":
222
- return `log_${fragment.chainId}_${fragmentAddressToId(fragment.address)}_${fragment.topic0}_${fragment.topic1}_${fragment.topic2}_${fragment.topic3}_${fragment.includeTransactionReceipts ? 1 : 0}`;
223
- case "transfer":
224
- return `transfer_${fragment.chainId}_${fragmentAddressToId(fragment.fromAddress)}_${fragmentAddressToId(fragment.toAddress)}_${fragment.includeTransactionReceipts ? 1 : 0}`;
225
- }
226
- };
227
- const recoverAddress = (baseAddress, fragmentAddresses) => {
228
- if (baseAddress === undefined)
229
- return undefined;
230
- if (typeof baseAddress === "string")
231
- return baseAddress;
232
- if (Array.isArray(baseAddress))
233
- return dedupe(fragmentAddresses);
234
- if (typeof baseAddress.address === "string")
235
- return baseAddress;
236
- const address = {
237
- type: "log",
238
- chainId: baseAddress.chainId,
239
- address: [],
240
- eventSelector: baseAddress.eventSelector,
241
- childAddressLocation: baseAddress.childAddressLocation,
242
- };
243
- address.address = dedupe(fragmentAddresses.map(({ address }) => address));
244
- return address;
245
- };
246
- const recoverSelector = (base, fragments) => {
247
- if (base === undefined)
248
- return undefined;
249
- if (typeof base === "string")
250
- return base;
251
- return dedupe(fragments);
252
- };
253
- const recoverTopic = (base, fragments) => {
254
- if (base === null)
255
- return null;
256
- if (typeof base === "string")
257
- return base;
258
- return dedupe(fragments);
259
- };
260
- export const recoverFilter = (baseFilter, fragments) => {
261
- switch (baseFilter.type) {
262
- case "block": {
263
- return baseFilter;
264
- }
265
- case "transaction": {
266
- return {
267
- ...baseFilter,
268
- fromAddress: recoverAddress(baseFilter.fromAddress, fragments.map((fragment) => fragment.fromAddress)),
269
- toAddress: recoverAddress(baseFilter.toAddress, fragments.map((fragment) => fragment.toAddress)),
270
- };
271
- }
272
- case "trace": {
273
- return {
274
- ...baseFilter,
275
- fromAddress: recoverAddress(baseFilter.fromAddress, fragments.map((fragment) => fragment.fromAddress)),
276
- toAddress: recoverAddress(baseFilter.toAddress, fragments.map((fragment) => fragment.toAddress)),
277
- functionSelector: recoverSelector(baseFilter.functionSelector, fragments.map((fragment) => fragment
278
- .functionSelector)),
279
- };
280
- }
281
- case "log": {
282
- return {
283
- ...baseFilter,
284
- address: recoverAddress(baseFilter.address, fragments.map((fragment) => fragment.address)),
285
- topic0: recoverTopic(baseFilter.topic0, fragments.map((fragment) => fragment.topic0)),
286
- topic1: recoverTopic(baseFilter.topic1, fragments.map((fragment) => fragment.topic1)),
287
- topic2: recoverTopic(baseFilter.topic2, fragments.map((fragment) => fragment.topic2)),
288
- topic3: recoverTopic(baseFilter.topic3, fragments.map((fragment) => fragment.topic3)),
289
- };
290
- }
291
- case "transfer": {
292
- return {
293
- ...baseFilter,
294
- fromAddress: recoverAddress(baseFilter.fromAddress, fragments.map((fragment) => fragment.fromAddress)),
295
- toAddress: recoverAddress(baseFilter.toAddress, fragments.map((fragment) => fragment.toAddress)),
296
- };
297
- }
298
- }
299
- };
300
- //# sourceMappingURL=fragments.js.map