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,8 +0,0 @@
1
- import { createServer } from '../../server/index.js';
2
- /**
3
- * Starts the server for the specified build.
4
- */
5
- export async function runServer(params) {
6
- await createServer(params);
7
- }
8
- //# sourceMappingURL=runServer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runServer.js","sourceRoot":"","sources":["../../../../src/bin/utils/runServer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAI/B;IACC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
@@ -1,654 +0,0 @@
1
- import { getFinalityBlockCount, getRpcUrlsForClient, isRpcUrlPublic, } from '../config/networks.js';
2
- import { BuildError } from '../internal/errors.js';
3
- import { buildAbiEvents, buildAbiFunctions, buildTopics } from '../sync/abi.js';
4
- import { defaultBlockFilterInclude, defaultLogFilterInclude, defaultTraceFilterInclude, defaultTransactionFilterInclude, defaultTransactionReceiptInclude, defaultTransferFilterInclude, } from '../sync/filter.js';
5
- import { chains } from '../utils/chains.js';
6
- import { dedupe } from '../utils/dedupe.js';
7
- import { toLowerCase } from '../utils/lowercase.js';
8
- import { BlockNotFoundError, hexToNumber } from "viem";
9
- import { buildLogFactory } from "./factory.js";
10
- const flattenSources = (config) => {
11
- return Object.entries(config).flatMap(([name, source]) => {
12
- if (typeof source.network === "string") {
13
- return {
14
- name,
15
- ...source,
16
- };
17
- }
18
- else {
19
- return Object.entries(source.network).map(([network, sourceOverride]) => {
20
- const { network: _network, ...base } = source;
21
- return {
22
- name,
23
- network,
24
- ...base,
25
- ...sourceOverride,
26
- };
27
- });
28
- }
29
- });
30
- };
31
- export async function buildConfigAndIndexingFunctions({ config, rawIndexingFunctions, }) {
32
- const logs = [];
33
- const perNetworkLatestBlockNumber = new Map();
34
- const resolveBlockNumber = async (blockNumberOrTag, network) => {
35
- if (blockNumberOrTag === undefined) {
36
- return undefined;
37
- }
38
- if (Number.isNaN(blockNumberOrTag)) {
39
- return undefined;
40
- }
41
- if (blockNumberOrTag === "latest") {
42
- if (perNetworkLatestBlockNumber.has(network.name)) {
43
- return perNetworkLatestBlockNumber.get(network.name);
44
- }
45
- else {
46
- const blockPromise = network.transport
47
- .request({
48
- method: "eth_getBlockByNumber",
49
- params: ["latest", false],
50
- })
51
- .then((block) => {
52
- if (!block)
53
- throw new BlockNotFoundError({ blockNumber: "latest" });
54
- return hexToNumber(block.number);
55
- })
56
- .catch((e) => {
57
- throw new Error(`Unable to fetch "latest" block for network '${network.name}':\n${e.message}`);
58
- });
59
- perNetworkLatestBlockNumber.set(network.name, blockPromise);
60
- return blockPromise;
61
- }
62
- }
63
- return blockNumberOrTag;
64
- };
65
- const networks = await Promise.all(Object.entries(config.networks).map(async ([networkName, network]) => {
66
- const { chainId, transport } = network;
67
- const defaultChain = Object.values(chains).find((c) => "id" in c ? c.id === chainId : false) ?? chains.mainnet;
68
- const chain = { ...defaultChain, name: networkName, id: chainId };
69
- // Note: This can throw.
70
- const rpcUrls = await getRpcUrlsForClient({ transport, chain });
71
- rpcUrls.forEach((rpcUrl) => {
72
- if (isRpcUrlPublic(rpcUrl)) {
73
- logs.push({
74
- level: "warn",
75
- msg: `Network '${networkName}' is using a public RPC URL (${rpcUrl}). Most apps require an RPC URL with a higher rate limit.`,
76
- });
77
- }
78
- });
79
- if (network.pollingInterval !== undefined &&
80
- network.pollingInterval < 100) {
81
- throw new Error(`Invalid 'pollingInterval' for network '${networkName}. Expected 100 milliseconds or greater, got ${network.pollingInterval} milliseconds.`);
82
- }
83
- return {
84
- name: networkName,
85
- chainId,
86
- chain,
87
- transport: network.transport({ chain }),
88
- maxRequestsPerSecond: network.maxRequestsPerSecond ?? 50,
89
- pollingInterval: network.pollingInterval ?? 1000,
90
- finalityBlockCount: getFinalityBlockCount({ chainId }),
91
- disableCache: network.disableCache ?? false,
92
- };
93
- }));
94
- const sourceNames = new Set();
95
- for (const source of [
96
- ...Object.keys(config.contracts ?? {}),
97
- ...Object.keys(config.accounts ?? {}),
98
- ...Object.keys(config.blocks ?? {}),
99
- ]) {
100
- if (sourceNames.has(source)) {
101
- throw new Error(`Validation failed: Duplicate source name '${source}' not allowed.`);
102
- }
103
- sourceNames.add(source);
104
- }
105
- // Validate and build indexing functions
106
- let indexingFunctionCount = 0;
107
- const indexingFunctions = {};
108
- for (const { name: eventName, fn } of rawIndexingFunctions) {
109
- const eventNameComponents = eventName.includes(".")
110
- ? eventName.split(".")
111
- : eventName.split(":");
112
- const [sourceName] = eventNameComponents;
113
- if (!sourceName) {
114
- throw new Error(`Validation failed: Invalid event '${eventName}', expected format '{sourceName}:{eventName}' or '{sourceName}.{functionName}'.`);
115
- }
116
- if (eventNameComponents.length === 3) {
117
- const [, sourceType, fromOrTo] = eventNameComponents;
118
- if ((sourceType !== "transaction" && sourceType !== "transfer") ||
119
- (fromOrTo !== "from" && fromOrTo !== "to")) {
120
- throw new Error(`Validation failed: Invalid event '${eventName}', expected format '{sourceName}:transaction:from', '{sourceName}:transaction:to', '{sourceName}:transfer:from', or '{sourceName}:transfer:to'.`);
121
- }
122
- }
123
- else if (eventNameComponents.length === 2) {
124
- const [, sourceEventName] = eventNameComponents;
125
- if (!sourceEventName) {
126
- throw new Error(`Validation failed: Invalid event '${eventName}', expected format '{sourceName}:{eventName}' or '{sourceName}.{functionName}'.`);
127
- }
128
- }
129
- else {
130
- throw new Error(`Validation failed: Invalid event '${eventName}', expected format '{sourceName}:{eventName}' or '{sourceName}.{functionName}'.`);
131
- }
132
- if (eventName in indexingFunctions) {
133
- throw new Error(`Validation failed: Multiple indexing functions registered for event '${eventName}'.`);
134
- }
135
- // Validate that the indexing function uses a sourceName that is present in the config.
136
- const matchedSourceName = Object.keys({
137
- ...(config.contracts ?? {}),
138
- ...(config.accounts ?? {}),
139
- ...(config.blocks ?? {}),
140
- }).find((_sourceName) => _sourceName === sourceName);
141
- if (!matchedSourceName) {
142
- throw new Error(`Validation failed: Invalid source name '${sourceName}'. Got '${sourceName}', expected one of [${Array.from(sourceNames)
143
- .map((n) => `'${n}'`)
144
- .join(", ")}].`);
145
- }
146
- indexingFunctions[eventName] = fn;
147
- indexingFunctionCount += 1;
148
- }
149
- if (indexingFunctionCount === 0) {
150
- logs.push({ level: "warn", msg: "No indexing functions were registered." });
151
- }
152
- // common validation for all sources
153
- for (const source of [
154
- ...flattenSources(config.contracts ?? {}),
155
- ...flattenSources(config.accounts ?? {}),
156
- ...flattenSources(config.blocks ?? {}),
157
- ]) {
158
- if (source.network === null || source.network === undefined) {
159
- throw new Error(`Validation failed: Network for '${source.name}' is null or undefined. Expected one of [${networks
160
- .map((n) => `'${n.name}'`)
161
- .join(", ")}].`);
162
- }
163
- const network = networks.find((n) => n.name === source.network);
164
- if (!network) {
165
- throw new Error(`Validation failed: Invalid network for '${source.name}'. Got '${source.network}', expected one of [${networks
166
- .map((n) => `'${n.name}'`)
167
- .join(", ")}].`);
168
- }
169
- const startBlock = await resolveBlockNumber(source.startBlock, network);
170
- const endBlock = await resolveBlockNumber(source.endBlock, network);
171
- if (startBlock !== undefined &&
172
- endBlock !== undefined &&
173
- endBlock < startBlock) {
174
- throw new Error(`Validation failed: Start block for '${source.name}' is after end block (${startBlock} > ${endBlock}).`);
175
- }
176
- }
177
- const contractSources = (await Promise.all(flattenSources(config.contracts ?? {}).map(async (source) => {
178
- const network = networks.find((n) => n.name === source.network);
179
- // Get indexing function that were registered for this contract
180
- const registeredLogEvents = [];
181
- const registeredCallTraceEvents = [];
182
- for (const eventName of Object.keys(indexingFunctions)) {
183
- // log event
184
- if (eventName.includes(":")) {
185
- const [logContractName, logEventName] = eventName.split(":");
186
- if (logContractName === source.name && logEventName !== "setup") {
187
- registeredLogEvents.push(logEventName);
188
- }
189
- }
190
- // trace event
191
- if (eventName.includes(".")) {
192
- const [functionContractName, functionName] = eventName.split(".");
193
- if (functionContractName === source.name) {
194
- registeredCallTraceEvents.push(functionName);
195
- }
196
- }
197
- }
198
- // Note: This can probably throw for invalid ABIs. Consider adding explicit ABI validation before this line.
199
- const abiEvents = buildAbiEvents({ abi: source.abi });
200
- const abiFunctions = buildAbiFunctions({ abi: source.abi });
201
- const registeredEventSelectors = [];
202
- // Validate that the registered log events exist in the abi
203
- for (const logEvent of registeredLogEvents) {
204
- const abiEvent = abiEvents.bySafeName[logEvent];
205
- if (abiEvent === undefined) {
206
- throw new Error(`Validation failed: Event name for event '${logEvent}' not found in the contract ABI. Got '${logEvent}', expected one of [${Object.keys(abiEvents.bySafeName)
207
- .map((eventName) => `'${eventName}'`)
208
- .join(", ")}].`);
209
- }
210
- registeredEventSelectors.push(abiEvent.selector);
211
- }
212
- const registeredFunctionSelectors = [];
213
- for (const _function of registeredCallTraceEvents) {
214
- const abiFunction = abiFunctions.bySafeName[_function];
215
- if (abiFunction === undefined) {
216
- throw new Error(`Validation failed: Function name for function '${_function}' not found in the contract ABI. Got '${_function}', expected one of [${Object.keys(abiFunctions.bySafeName)
217
- .map((eventName) => `'${eventName}'`)
218
- .join(", ")}].`);
219
- }
220
- registeredFunctionSelectors.push(abiFunction.selector);
221
- }
222
- const topicsArray = [];
223
- if (source.filter !== undefined) {
224
- const eventFilters = Array.isArray(source.filter)
225
- ? source.filter
226
- : [source.filter];
227
- for (const filter of eventFilters) {
228
- const abiEvent = abiEvents.bySafeName[filter.event];
229
- if (!abiEvent) {
230
- throw new Error(`Validation failed: Invalid filter for contract '${source.name}'. Got event name '${filter.event}', expected one of [${Object.keys(abiEvents.bySafeName)
231
- .map((n) => `'${n}'`)
232
- .join(", ")}].`);
233
- }
234
- }
235
- topicsArray.push(...buildTopics(source.abi, eventFilters));
236
- // event selectors that have a filter
237
- const filteredEventSelectors = topicsArray.map((t) => t.topic0);
238
- // event selectors that are registered but don't have a filter
239
- const excludedRegisteredEventSelectors = registeredEventSelectors.filter((s) => filteredEventSelectors.includes(s) === false);
240
- for (const selector of filteredEventSelectors) {
241
- if (registeredEventSelectors.includes(selector) === false) {
242
- throw new Error(`Validation failed: Event selector '${abiEvents.bySelector[selector]?.safeName}' is used in a filter but does not have a corresponding indexing function.`);
243
- }
244
- }
245
- if (excludedRegisteredEventSelectors.length > 0) {
246
- topicsArray.push({
247
- topic0: excludedRegisteredEventSelectors,
248
- topic1: null,
249
- topic2: null,
250
- topic3: null,
251
- });
252
- }
253
- }
254
- else {
255
- topicsArray.push({
256
- topic0: registeredEventSelectors,
257
- topic1: null,
258
- topic2: null,
259
- topic3: null,
260
- });
261
- }
262
- const fromBlock = await resolveBlockNumber(source.startBlock, network);
263
- const toBlock = await resolveBlockNumber(source.endBlock, network);
264
- const contractMetadata = {
265
- type: "contract",
266
- abi: source.abi,
267
- abiEvents,
268
- abiFunctions,
269
- name: source.name,
270
- network,
271
- };
272
- const resolvedAddress = source?.address;
273
- if (typeof resolvedAddress === "object" &&
274
- !Array.isArray(resolvedAddress)) {
275
- // Note that this can throw.
276
- const logFactory = buildLogFactory({
277
- chainId: network.chainId,
278
- ...resolvedAddress,
279
- });
280
- const logSources = topicsArray.map((topics) => ({
281
- ...contractMetadata,
282
- filter: {
283
- type: "log",
284
- chainId: network.chainId,
285
- address: logFactory,
286
- topic0: topics.topic0,
287
- topic1: topics.topic1,
288
- topic2: topics.topic2,
289
- topic3: topics.topic3,
290
- fromBlock,
291
- toBlock,
292
- include: defaultLogFilterInclude.concat(source.includeTransactionReceipts
293
- ? defaultTransactionReceiptInclude
294
- : []),
295
- },
296
- }));
297
- if (source.includeCallTraces) {
298
- return [
299
- ...logSources,
300
- {
301
- ...contractMetadata,
302
- filter: {
303
- type: "trace",
304
- chainId: network.chainId,
305
- fromAddress: undefined,
306
- toAddress: logFactory,
307
- callType: "CALL",
308
- functionSelector: registeredFunctionSelectors,
309
- includeReverted: false,
310
- fromBlock,
311
- toBlock,
312
- include: defaultTraceFilterInclude.concat(source.includeTransactionReceipts
313
- ? defaultTransactionReceiptInclude
314
- : []),
315
- },
316
- },
317
- ];
318
- }
319
- return logSources;
320
- }
321
- else if (resolvedAddress !== undefined) {
322
- for (const address of Array.isArray(resolvedAddress)
323
- ? resolvedAddress
324
- : [resolvedAddress]) {
325
- if (!address.startsWith("0x"))
326
- throw new Error(`Validation failed: Invalid prefix for address '${address}'. Got '${address.slice(0, 2)}', expected '0x'.`);
327
- if (address.length !== 42)
328
- throw new Error(`Validation failed: Invalid length for address '${address}'. Got ${address.length}, expected 42 characters.`);
329
- }
330
- }
331
- const validatedAddress = Array.isArray(resolvedAddress)
332
- ? dedupe(resolvedAddress).map((r) => toLowerCase(r))
333
- : resolvedAddress !== undefined
334
- ? toLowerCase(resolvedAddress)
335
- : undefined;
336
- const logSources = topicsArray.map((topics) => ({
337
- ...contractMetadata,
338
- filter: {
339
- type: "log",
340
- chainId: network.chainId,
341
- address: validatedAddress,
342
- topic0: topics.topic0,
343
- topic1: topics.topic1,
344
- topic2: topics.topic2,
345
- topic3: topics.topic3,
346
- fromBlock,
347
- toBlock,
348
- include: defaultLogFilterInclude.concat(source.includeTransactionReceipts
349
- ? defaultTransactionReceiptInclude
350
- : []),
351
- },
352
- }));
353
- if (source.includeCallTraces) {
354
- return [
355
- ...logSources,
356
- {
357
- ...contractMetadata,
358
- filter: {
359
- type: "trace",
360
- chainId: network.chainId,
361
- fromAddress: undefined,
362
- toAddress: Array.isArray(validatedAddress)
363
- ? validatedAddress
364
- : validatedAddress === undefined
365
- ? undefined
366
- : [validatedAddress],
367
- callType: "CALL",
368
- functionSelector: registeredFunctionSelectors,
369
- includeReverted: false,
370
- fromBlock,
371
- toBlock,
372
- include: defaultTraceFilterInclude.concat(source.includeTransactionReceipts
373
- ? defaultTransactionReceiptInclude
374
- : []),
375
- },
376
- },
377
- ];
378
- }
379
- else
380
- return logSources;
381
- })))
382
- .flat() // Remove sources with no registered indexing functions
383
- .filter((source) => {
384
- const hasNoRegisteredIndexingFunctions = source.filter.type === "trace"
385
- ? Array.isArray(source.filter.functionSelector) &&
386
- source.filter.functionSelector.length === 0
387
- : Array.isArray(source.filter.topic0) &&
388
- source.filter.topic0?.length === 0;
389
- if (hasNoRegisteredIndexingFunctions) {
390
- logs.push({
391
- level: "debug",
392
- msg: `No indexing functions were registered for '${source.name}' ${source.filter.type === "trace" ? "traces" : "logs"}`,
393
- });
394
- }
395
- return hasNoRegisteredIndexingFunctions === false;
396
- });
397
- const accountSources = (await Promise.all(flattenSources(config.accounts ?? {}).map(async (source) => {
398
- const network = networks.find((n) => n.name === source.network);
399
- const fromBlock = await resolveBlockNumber(source.startBlock, network);
400
- const toBlock = await resolveBlockNumber(source.endBlock, network);
401
- const resolvedAddress = source?.address;
402
- if (resolvedAddress === undefined) {
403
- throw new Error(`Validation failed: Account '${source.name}' must specify an 'address'.`);
404
- }
405
- if (typeof resolvedAddress === "object" &&
406
- !Array.isArray(resolvedAddress)) {
407
- // Note that this can throw.
408
- const logFactory = buildLogFactory({
409
- chainId: network.chainId,
410
- ...resolvedAddress,
411
- });
412
- return [
413
- {
414
- type: "account",
415
- name: source.name,
416
- network,
417
- filter: {
418
- type: "transaction",
419
- chainId: network.chainId,
420
- fromAddress: undefined,
421
- toAddress: logFactory,
422
- includeReverted: false,
423
- fromBlock,
424
- toBlock,
425
- include: defaultTransactionFilterInclude,
426
- },
427
- },
428
- {
429
- type: "account",
430
- name: source.name,
431
- network,
432
- filter: {
433
- type: "transaction",
434
- chainId: network.chainId,
435
- fromAddress: logFactory,
436
- toAddress: undefined,
437
- includeReverted: false,
438
- fromBlock,
439
- toBlock,
440
- include: defaultTransactionFilterInclude,
441
- },
442
- },
443
- {
444
- type: "account",
445
- name: source.name,
446
- network,
447
- filter: {
448
- type: "transfer",
449
- chainId: network.chainId,
450
- fromAddress: undefined,
451
- toAddress: logFactory,
452
- includeReverted: false,
453
- fromBlock,
454
- toBlock,
455
- include: defaultTransferFilterInclude.concat(source.includeTransactionReceipts
456
- ? defaultTransactionReceiptInclude
457
- : []),
458
- },
459
- },
460
- {
461
- type: "account",
462
- name: source.name,
463
- network,
464
- filter: {
465
- type: "transfer",
466
- chainId: network.chainId,
467
- fromAddress: logFactory,
468
- toAddress: undefined,
469
- includeReverted: false,
470
- fromBlock,
471
- toBlock,
472
- include: defaultTransferFilterInclude.concat(source.includeTransactionReceipts
473
- ? defaultTransactionReceiptInclude
474
- : []),
475
- },
476
- },
477
- ];
478
- }
479
- for (const address of Array.isArray(resolvedAddress)
480
- ? resolvedAddress
481
- : [resolvedAddress]) {
482
- if (!address.startsWith("0x"))
483
- throw new Error(`Validation failed: Invalid prefix for address '${address}'. Got '${address.slice(0, 2)}', expected '0x'.`);
484
- if (address.length !== 42)
485
- throw new Error(`Validation failed: Invalid length for address '${address}'. Got ${address.length}, expected 42 characters.`);
486
- }
487
- const validatedAddress = Array.isArray(resolvedAddress)
488
- ? dedupe(resolvedAddress).map((r) => toLowerCase(r))
489
- : resolvedAddress !== undefined
490
- ? toLowerCase(resolvedAddress)
491
- : undefined;
492
- return [
493
- {
494
- type: "account",
495
- name: source.name,
496
- network,
497
- filter: {
498
- type: "transaction",
499
- chainId: network.chainId,
500
- fromAddress: undefined,
501
- toAddress: validatedAddress,
502
- includeReverted: false,
503
- fromBlock,
504
- toBlock,
505
- include: defaultTransactionFilterInclude,
506
- },
507
- },
508
- {
509
- type: "account",
510
- name: source.name,
511
- network,
512
- filter: {
513
- type: "transaction",
514
- chainId: network.chainId,
515
- fromAddress: validatedAddress,
516
- toAddress: undefined,
517
- includeReverted: false,
518
- fromBlock,
519
- toBlock,
520
- include: defaultTransactionFilterInclude,
521
- },
522
- },
523
- {
524
- type: "account",
525
- name: source.name,
526
- network,
527
- filter: {
528
- type: "transfer",
529
- chainId: network.chainId,
530
- fromAddress: undefined,
531
- toAddress: validatedAddress,
532
- includeReverted: false,
533
- fromBlock,
534
- toBlock,
535
- include: defaultTransferFilterInclude.concat(source.includeTransactionReceipts
536
- ? defaultTransactionReceiptInclude
537
- : []),
538
- },
539
- },
540
- {
541
- type: "account",
542
- name: source.name,
543
- network,
544
- filter: {
545
- type: "transfer",
546
- chainId: network.chainId,
547
- fromAddress: validatedAddress,
548
- toAddress: undefined,
549
- includeReverted: false,
550
- fromBlock,
551
- toBlock,
552
- include: defaultTransferFilterInclude.concat(source.includeTransactionReceipts
553
- ? defaultTransactionReceiptInclude
554
- : []),
555
- },
556
- },
557
- ];
558
- })))
559
- .flat()
560
- .filter((source) => {
561
- const eventName = source.filter.type === "transaction"
562
- ? source.filter.fromAddress === undefined
563
- ? `${source.name}:transaction:to`
564
- : `${source.name}:transaction:from`
565
- : source.filter.fromAddress === undefined
566
- ? `${source.name}:transfer:to`
567
- : `${source.name}:transfer:from`;
568
- const hasRegisteredIndexingFunction = indexingFunctions[eventName] !== undefined;
569
- if (!hasRegisteredIndexingFunction) {
570
- logs.push({
571
- level: "debug",
572
- msg: `No indexing functions were registered for '${eventName}'`,
573
- });
574
- }
575
- return hasRegisteredIndexingFunction;
576
- });
577
- const blockSources = (await Promise.all(flattenSources(config.blocks ?? {}).map(async (source) => {
578
- const network = networks.find((n) => n.name === source.network);
579
- const intervalMaybeNan = source.interval ?? 1;
580
- const interval = Number.isNaN(intervalMaybeNan) ? 0 : intervalMaybeNan;
581
- if (!Number.isInteger(interval) || interval === 0) {
582
- throw new Error(`Validation failed: Invalid interval for block source '${source.name}'. Got ${interval}, expected a non-zero integer.`);
583
- }
584
- const fromBlock = await resolveBlockNumber(source.startBlock, network);
585
- const toBlock = await resolveBlockNumber(source.endBlock, network);
586
- return {
587
- type: "block",
588
- name: source.name,
589
- network,
590
- filter: {
591
- type: "block",
592
- chainId: network.chainId,
593
- interval: interval,
594
- offset: (fromBlock ?? 0) % interval,
595
- fromBlock,
596
- toBlock,
597
- include: defaultBlockFilterInclude,
598
- },
599
- };
600
- })))
601
- .flat()
602
- .filter((blockSource) => {
603
- const hasRegisteredIndexingFunction = indexingFunctions[`${blockSource.name}:block`] !== undefined;
604
- if (!hasRegisteredIndexingFunction) {
605
- logs.push({
606
- level: "debug",
607
- msg: `No indexing functions were registered for '${blockSource.name}' blocks`,
608
- });
609
- }
610
- return hasRegisteredIndexingFunction;
611
- });
612
- const sources = [...contractSources, ...accountSources, ...blockSources];
613
- // Filter out any networks that don't have any sources registered.
614
- const networksWithSources = networks.filter((network) => {
615
- const hasSources = sources.some((source) => source.network.name === network.name);
616
- if (!hasSources) {
617
- logs.push({
618
- level: "warn",
619
- msg: `No sources registered for network '${network.name}'`,
620
- });
621
- }
622
- return hasSources;
623
- });
624
- if (Object.keys(indexingFunctions).length === 0) {
625
- throw new Error("Validation failed: Found 0 registered indexing functions.");
626
- }
627
- return {
628
- networks: networksWithSources,
629
- sources,
630
- indexingFunctions,
631
- logs,
632
- };
633
- }
634
- export async function safeBuildConfigAndIndexingFunctions({ config, rawIndexingFunctions, }) {
635
- try {
636
- const result = await buildConfigAndIndexingFunctions({
637
- config,
638
- rawIndexingFunctions,
639
- });
640
- return {
641
- status: "success",
642
- sources: result.sources,
643
- networks: result.networks,
644
- indexingFunctions: result.indexingFunctions,
645
- logs: result.logs,
646
- };
647
- }
648
- catch (_error) {
649
- const buildError = new BuildError(_error.message);
650
- buildError.stack = undefined;
651
- return { status: "error", error: buildError };
652
- }
653
- }
654
- //# sourceMappingURL=configAndIndexingFunctions.js.map