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
@@ -0,0 +1,163 @@
1
+ // src/drizzle/onchain.ts
2
+ import {
3
+ Table
4
+ } from "drizzle-orm";
5
+ import {
6
+ PgEnumColumnBuilder,
7
+ PgTable,
8
+ primaryKey as drizzlePrimaryKey
9
+ } from "drizzle-orm/pg-core";
10
+ import {
11
+ getPgColumnBuilders
12
+ } from "drizzle-orm/pg-core/columns/all";
13
+
14
+ // src/drizzle/bigint.ts
15
+ import {
16
+ entityKind
17
+ } from "drizzle-orm";
18
+ import {
19
+ PgColumn,
20
+ PgColumnBuilder
21
+ } from "drizzle-orm/pg-core";
22
+ var PgBigintBuilder = class extends PgColumnBuilder {
23
+ static [entityKind] = "PgEvmBigintBuilder";
24
+ constructor(name) {
25
+ super(name, "bigint", "PgEvmBigint");
26
+ }
27
+ /** @internal */
28
+ // @ts-ignore
29
+ build(table) {
30
+ return new PgBigint(
31
+ table,
32
+ this.config
33
+ );
34
+ }
35
+ };
36
+ var PgBigint = class extends PgColumn {
37
+ static [entityKind] = "PgEvmBigint";
38
+ getSQLType() {
39
+ return "numeric(78)";
40
+ }
41
+ mapFromDriverValue(value) {
42
+ return BigInt(value);
43
+ }
44
+ };
45
+
46
+ // src/drizzle/hex.ts
47
+ import {
48
+ entityKind as entityKind2
49
+ } from "drizzle-orm";
50
+ import {
51
+ PgColumn as PgColumn2,
52
+ PgColumnBuilder as PgColumnBuilder2
53
+ } from "drizzle-orm/pg-core";
54
+ var PgHexBuilder = class extends PgColumnBuilder2 {
55
+ static [entityKind2] = "PgHexBuilder";
56
+ constructor(name) {
57
+ super(name, "string", "PgHex");
58
+ }
59
+ /** @internal */
60
+ // @ts-ignore
61
+ build(table) {
62
+ return new PgHex(
63
+ table,
64
+ this.config
65
+ );
66
+ }
67
+ };
68
+ var PgHex = class extends PgColumn2 {
69
+ static [entityKind2] = "PgHex";
70
+ getSQLType() {
71
+ return "text";
72
+ }
73
+ mapToDriverValue(value) {
74
+ if (value.length % 2 === 0)
75
+ return value.toLowerCase();
76
+ return `0x0${value.slice(2)}`.toLowerCase();
77
+ }
78
+ };
79
+
80
+ // src/drizzle/onchain.ts
81
+ function hex(columnName) {
82
+ return new PgHexBuilder(columnName ?? "");
83
+ }
84
+ function bigint(columnName) {
85
+ return new PgBigintBuilder(columnName ?? "");
86
+ }
87
+ var onchain = Symbol.for("ponder:onchain");
88
+ var primaryKey = ({
89
+ name,
90
+ columns
91
+ }) => drizzlePrimaryKey({ name, columns });
92
+ var onchainTable = (name, columns, extraConfig) => {
93
+ const schema = globalThis?.PONDER_NAMESPACE_BUILD;
94
+ const table = pgTableWithSchema(name, columns, extraConfig, schema);
95
+ table[onchain] = true;
96
+ return table;
97
+ };
98
+ var isPgEnumSym = Symbol.for("drizzle:isPgEnum");
99
+ var onchainEnum = (enumName, values) => {
100
+ const schema = globalThis?.PONDER_NAMESPACE_BUILD;
101
+ const e = pgEnumWithSchema(enumName, values, schema);
102
+ e[onchain] = true;
103
+ return e;
104
+ };
105
+ function pgTableWithSchema(name, columns, extraConfig, schema, baseName = name) {
106
+ const rawTable = new PgTable(name, schema, baseName);
107
+ const { bigint: int8, ...restColumns } = getPgColumnBuilders();
108
+ const parsedColumns = typeof columns === "function" ? columns({ ...restColumns, int8, hex, bigint }) : columns;
109
+ const builtColumns = Object.fromEntries(
110
+ Object.entries(parsedColumns).map(([name2, colBuilderBase]) => {
111
+ const colBuilder = colBuilderBase;
112
+ colBuilder.setName(name2);
113
+ const column = colBuilder.build(rawTable);
114
+ rawTable[Symbol.for("drizzle:PgInlineForeignKeys")].push(
115
+ ...colBuilder.buildForeignKeys(column, rawTable)
116
+ );
117
+ return [name2, column];
118
+ })
119
+ );
120
+ const builtColumnsForExtraConfig = Object.fromEntries(
121
+ Object.entries(parsedColumns).map(([name2, colBuilderBase]) => {
122
+ const colBuilder = colBuilderBase;
123
+ colBuilder.setName(name2);
124
+ const column = colBuilder.buildExtraConfigColumn(rawTable);
125
+ return [name2, column];
126
+ })
127
+ );
128
+ const table = Object.assign(rawTable, builtColumns);
129
+ table[Table.Symbol.Columns] = builtColumns;
130
+ table[Table.Symbol.ExtraConfigColumns] = builtColumnsForExtraConfig;
131
+ if (extraConfig) {
132
+ table[PgTable.Symbol.ExtraConfigBuilder] = extraConfig;
133
+ }
134
+ return Object.assign(table, {
135
+ enableRLS: () => {
136
+ table[PgTable.Symbol.EnableRLS] = true;
137
+ return table;
138
+ }
139
+ });
140
+ }
141
+ function pgEnumWithSchema(enumName, values, schema) {
142
+ const enumInstance = Object.assign(
143
+ (name) => new PgEnumColumnBuilder(name ?? "", enumInstance),
144
+ {
145
+ enumName,
146
+ enumValues: values,
147
+ schema,
148
+ [isPgEnumSym]: true
149
+ }
150
+ );
151
+ return enumInstance;
152
+ }
153
+
154
+ export {
155
+ hex,
156
+ bigint,
157
+ onchain,
158
+ primaryKey,
159
+ onchainTable,
160
+ isPgEnumSym,
161
+ onchainEnum
162
+ };
163
+ //# sourceMappingURL=chunk-K2TLRLX3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/drizzle/onchain.ts","../src/drizzle/bigint.ts","../src/drizzle/hex.ts"],"sourcesContent":["import {\n type BuildColumns,\n type ColumnBuilderBase,\n Table,\n type Writable,\n} from \"drizzle-orm\";\nimport {\n type AnyPgColumn,\n type PrimaryKeyBuilder as DrizzlePrimaryKeyBuilder,\n type ExtraConfigColumn,\n type PgColumnBuilder,\n type PgColumnBuilderBase,\n PgEnumColumnBuilder,\n type PgEnumColumnBuilderInitial,\n PgTable,\n type PgTableExtraConfig,\n type PgTableWithColumns,\n type TableConfig,\n primaryKey as drizzlePrimaryKey,\n} from \"drizzle-orm/pg-core\";\nimport {\n type PgColumnsBuilders as _PgColumnsBuilders,\n getPgColumnBuilders,\n} from \"drizzle-orm/pg-core/columns/all\";\nimport { PgBigintBuilder, type PgBigintBuilderInitial } from \"./bigint.js\";\nimport { PgHexBuilder, type PgHexBuilderInitial } from \"./hex.js\";\n\n// @ts-ignore\nexport function hex(): PgHexBuilderInitial<\"\">;\nexport function hex<name extends string>(\n columnName: name,\n): PgHexBuilderInitial<name>;\nexport function hex(columnName?: string) {\n return new PgHexBuilder(columnName ?? \"\");\n}\n\n// @ts-ignore\nexport function bigint(): PgBigintBuilderInitial<\"\">;\nexport function bigint<name extends string>(\n columnName: name,\n): PgBigintBuilderInitial<name>;\nexport function bigint(columnName?: string) {\n return new PgBigintBuilder(columnName ?? \"\");\n}\n\nexport const onchain = Symbol.for(\"ponder:onchain\");\n\nexport type PrimaryKeyBuilder<columnNames extends string = string> =\n DrizzlePrimaryKeyBuilder & { columnNames: columnNames };\n\nexport const primaryKey = <\n tableName extends string,\n column extends AnyPgColumn<{ tableName: tableName }> & { \" name\": string },\n columns extends (AnyPgColumn<{ tableName: tableName }> & {\n \" name\": string;\n })[],\n>({\n name,\n columns,\n}: { name?: string; columns: [column, ...columns] }) =>\n drizzlePrimaryKey({ name, columns }) as PrimaryKeyBuilder<\n column[\" name\"] | columns[number][\" name\"]\n >;\n\nexport type OnchainTable<\n T extends TableConfig & {\n extra: PgTableExtraConfig | undefined;\n } = TableConfig & { extra: PgTableExtraConfig | undefined },\n> = PgTable<T> & {\n [Key in keyof T[\"columns\"]]: T[\"columns\"][Key];\n} & { [onchain]: true } & {\n enableRLS: () => Omit<OnchainTable<T>, \"enableRLS\">;\n};\n\ntype BuildExtraConfigColumns<\n columns extends Record<string, ColumnBuilderBase>,\n> = {\n [key in keyof columns]: ExtraConfigColumn & {\n \" name\": key;\n };\n};\n\ntype PgColumnsBuilders = Omit<\n _PgColumnsBuilders,\n \"bigint\" | \"serial\" | \"smallserial\" | \"bigserial\"\n> & {\n /**\n * Create an 8 byte number column.\n */\n int8: _PgColumnsBuilders[\"bigint\"];\n /**\n * Create a column for hex strings.\n *\n * - Docs: https://ponder.sh/docs/api-reference/schema#onchaintable\n *\n * @example\n * import { hex, onchainTable } from \"ponder\";\n *\n * export const account = onchainTable(\"account\", (p) => ({\n * address: p.hex(),\n * }));\n */\n hex: typeof hex;\n /**\n * Create a column for hex strings\n *\n * - Docs: https://ponder.sh/docs/api-reference/schema#onchaintable\n *\n * @example\n * import { hex, onchainTable } from \"ponder\";\n *\n * export const account = onchainTable(\"account\", (p) => ({\n * balance: p.bigint(),\n * }));\n */\n bigint: typeof bigint;\n};\n\n/**\n * Create an onchain table.\n *\n * - Docs: https://ponder.sh/docs/api-reference/schema#onchaintable\n *\n * @example\n * import { onchainTable } from \"ponder\";\n *\n * export const account = onchainTable(\"account\", (p) => ({\n * address: p.hex().primaryKey(),\n * balance: p.bigint().notNull(),\n * }));\n *\n * @param name - The table name in the database.\n * @param columns - The table columns.\n * @param extra - Config such as indexes or composite primary keys.\n * @returns The onchain table.\n */\nexport const onchainTable = <\n name extends string,\n columns extends Record<string, PgColumnBuilderBase>,\n extra extends PgTableExtraConfig | undefined = undefined,\n>(\n name: name,\n columns: columns | ((columnTypes: PgColumnsBuilders) => columns),\n extraConfig?: (self: BuildExtraConfigColumns<columns>) => extra,\n): OnchainTable<{\n name: name;\n schema: undefined;\n columns: BuildColumns<name, columns, \"pg\">;\n extra: extra;\n dialect: \"pg\";\n}> => {\n const schema = globalThis?.PONDER_NAMESPACE_BUILD;\n const table = pgTableWithSchema(name, columns, extraConfig as any, schema);\n\n // @ts-ignore\n table[onchain] = true;\n\n // @ts-ignore\n return table;\n};\n\nexport const isPgEnumSym = Symbol.for(\"drizzle:isPgEnum\");\n\nexport interface OnchainEnum<TValues extends [string, ...string[]]> {\n (): PgEnumColumnBuilderInitial<\"\", TValues>;\n <TName extends string>(\n name: TName,\n ): PgEnumColumnBuilderInitial<TName, TValues>;\n <TName extends string>(\n name?: TName,\n ): PgEnumColumnBuilderInitial<TName, TValues>;\n\n readonly enumName: string;\n readonly enumValues: TValues;\n readonly schema: string | undefined;\n /** @internal */\n [isPgEnumSym]: true;\n}\n\nexport const onchainEnum = <U extends string, T extends Readonly<[U, ...U[]]>>(\n enumName: string,\n values: T | Writable<T>,\n): OnchainEnum<Writable<T>> & { [onchain]: true } => {\n const schema = globalThis?.PONDER_NAMESPACE_BUILD;\n const e = pgEnumWithSchema(enumName, values, schema);\n\n // @ts-ignore\n e[onchain] = true;\n\n // @ts-ignore\n return e;\n};\n\n/** @see https://github.com/drizzle-team/drizzle-orm/blob/main/drizzle-orm/src/pg-core/table.ts#L51 */\nfunction pgTableWithSchema<\n name extends string,\n schema extends string | undefined,\n columns extends Record<string, PgColumnBuilderBase>,\n>(\n name: name,\n columns: columns | ((columnTypes: PgColumnsBuilders) => columns),\n extraConfig:\n | ((self: BuildExtraConfigColumns<columns>) => PgTableExtraConfig)\n | undefined,\n schema: schema,\n baseName = name,\n): PgTableWithColumns<{\n name: name;\n schema: schema;\n columns: BuildColumns<name, columns, \"pg\">;\n dialect: \"pg\";\n}> {\n const rawTable = new PgTable<{\n name: name;\n schema: schema;\n columns: BuildColumns<name, columns, \"pg\">;\n dialect: \"pg\";\n }>(name, schema, baseName);\n\n const { bigint: int8, ...restColumns } = getPgColumnBuilders();\n\n const parsedColumns: columns =\n typeof columns === \"function\"\n ? columns({ ...restColumns, int8, hex, bigint })\n : columns;\n\n const builtColumns = Object.fromEntries(\n Object.entries(parsedColumns).map(([name, colBuilderBase]) => {\n const colBuilder = colBuilderBase;\n // @ts-ignore\n colBuilder.setName(name);\n // @ts-ignore\n const column = colBuilder.build(rawTable);\n // @ts-ignore\n rawTable[Symbol.for(\"drizzle:PgInlineForeignKeys\")].push(\n // @ts-ignore\n ...colBuilder.buildForeignKeys(column, rawTable),\n );\n return [name, column];\n }),\n ) as unknown as BuildColumns<name, columns, \"pg\">;\n\n const builtColumnsForExtraConfig = Object.fromEntries(\n Object.entries(parsedColumns).map(([name, colBuilderBase]) => {\n const colBuilder = colBuilderBase as PgColumnBuilder;\n //@ts-ignore\n colBuilder.setName(name);\n //@ts-ignore\n const column = colBuilder.buildExtraConfigColumn(rawTable);\n return [name, column];\n }),\n ) as unknown as BuildExtraConfigColumns<columns>;\n\n const table = Object.assign(rawTable, builtColumns);\n\n //@ts-ignore\n table[Table.Symbol.Columns] = builtColumns;\n //@ts-ignore\n table[Table.Symbol.ExtraConfigColumns] = builtColumnsForExtraConfig;\n\n if (extraConfig) {\n //@ts-ignore\n table[PgTable.Symbol.ExtraConfigBuilder] = extraConfig as any;\n }\n\n return Object.assign(table, {\n enableRLS: () => {\n // @ts-ignore\n table[PgTable.Symbol.EnableRLS] = true;\n return table as PgTableWithColumns<{\n name: name;\n schema: schema;\n columns: BuildColumns<name, columns, \"pg\">;\n dialect: \"pg\";\n }>;\n },\n });\n}\n\nfunction pgEnumWithSchema<U extends string, T extends Readonly<[U, ...U[]]>>(\n enumName: string,\n values: T | Writable<T>,\n schema?: string,\n): OnchainEnum<Writable<T>> {\n const enumInstance: OnchainEnum<Writable<T>> = Object.assign(\n <TName extends string>(\n name?: TName,\n ): PgEnumColumnBuilderInitial<TName, Writable<T>> =>\n new PgEnumColumnBuilder(name ?? (\"\" as TName), enumInstance),\n {\n enumName,\n enumValues: values,\n schema,\n [isPgEnumSym]: true,\n } as const,\n );\n\n return enumInstance;\n}\n","import {\n type ColumnBaseConfig,\n type ColumnBuilderBaseConfig,\n type ColumnBuilderRuntimeConfig,\n type MakeColumnConfig,\n entityKind,\n} from \"drizzle-orm\";\nimport {\n type AnyPgTable,\n PgColumn,\n PgColumnBuilder,\n} from \"drizzle-orm/pg-core\";\n\nexport type PgBigintBuilderInitial<TName extends string> = PgBigintBuilder<{\n name: TName;\n dataType: \"bigint\";\n columnType: \"PgEvmBigint\";\n data: bigint;\n driverParam: string;\n enumValues: undefined;\n generated: undefined;\n}>;\n\nexport class PgBigintBuilder<\n T extends ColumnBuilderBaseConfig<\"bigint\", \"PgEvmBigint\">,\n> extends PgColumnBuilder<T> {\n static readonly [entityKind]: string = \"PgEvmBigintBuilder\";\n\n constructor(name: T[\"name\"]) {\n super(name, \"bigint\", \"PgEvmBigint\");\n }\n\n /** @internal */\n // @ts-ignore\n override build<TTableName extends string>(\n table: AnyPgTable<{ name: TTableName }>,\n ): PgBigint<MakeColumnConfig<T, TTableName>> {\n return new PgBigint<MakeColumnConfig<T, TTableName>>(\n table,\n this.config as ColumnBuilderRuntimeConfig<any, any>,\n );\n }\n}\n\nexport class PgBigint<\n T extends ColumnBaseConfig<\"bigint\", \"PgEvmBigint\">,\n> extends PgColumn<T> {\n static readonly [entityKind]: string = \"PgEvmBigint\";\n\n getSQLType(): string {\n return \"numeric(78)\";\n }\n\n override mapFromDriverValue(value: string): bigint {\n return BigInt(value);\n }\n}\n","import {\n type ColumnBaseConfig,\n type ColumnBuilderBaseConfig,\n type ColumnBuilderRuntimeConfig,\n type MakeColumnConfig,\n entityKind,\n} from \"drizzle-orm\";\nimport {\n type AnyPgTable,\n PgColumn,\n PgColumnBuilder,\n} from \"drizzle-orm/pg-core\";\n\nexport type PgHexBuilderInitial<TName extends string> = PgHexBuilder<{\n name: TName;\n dataType: \"string\";\n columnType: \"PgHex\";\n data: `0x${string}`;\n driverParam: string;\n enumValues: undefined;\n generated: undefined;\n}>;\n\nexport class PgHexBuilder<\n T extends ColumnBuilderBaseConfig<\"string\", \"PgHex\">,\n> extends PgColumnBuilder<T> {\n static readonly [entityKind]: string = \"PgHexBuilder\";\n\n constructor(name: T[\"name\"]) {\n super(name, \"string\", \"PgHex\");\n }\n\n /** @internal */\n // @ts-ignore\n override build<TTableName extends string>(\n table: AnyPgTable<{ name: TTableName }>,\n ): PgHex<MakeColumnConfig<T, TTableName>> {\n return new PgHex<MakeColumnConfig<T, TTableName>>(\n table,\n this.config as ColumnBuilderRuntimeConfig<any, any>,\n );\n }\n}\n\nexport class PgHex<\n T extends ColumnBaseConfig<\"string\", \"PgHex\">,\n> extends PgColumn<T> {\n static readonly [entityKind]: string = \"PgHex\";\n\n getSQLType(): string {\n return \"text\";\n }\n\n override mapToDriverValue(value: `0x${string}`) {\n if (value.length % 2 === 0) return value.toLowerCase() as `0x${string}`;\n return `0x0${value.slice(2)}`.toLowerCase() as `0x${string}`;\n }\n}\n"],"mappings":"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","names":["entityKind","PgColumn","PgColumnBuilder","name"]}
@@ -0,0 +1,257 @@
1
+ // ../common/src/promiseWithResolvers.ts
2
+ var promiseWithResolvers = () => {
3
+ let resolve;
4
+ let reject;
5
+ const promise = new Promise((_resolve, _reject) => {
6
+ resolve = _resolve;
7
+ reject = _reject;
8
+ });
9
+ return { resolve, reject, promise };
10
+ };
11
+
12
+ // ../common/src/queue.ts
13
+ var validateParameters = ({
14
+ concurrency,
15
+ frequency
16
+ }) => {
17
+ if (concurrency === void 0 && frequency === void 0) {
18
+ throw new Error(
19
+ "Invalid queue configuration, must specify either 'concurrency' or 'frequency'."
20
+ );
21
+ }
22
+ if (concurrency !== void 0 && concurrency <= 0) {
23
+ throw new Error(
24
+ `Invalid value for queue 'concurrency' option. Got ${concurrency}, expected a number greater than zero.`
25
+ );
26
+ }
27
+ if (frequency !== void 0 && frequency <= 0) {
28
+ throw new Error(
29
+ `Invalid value for queue 'frequency' option. Got ${frequency}, expected a number greater than zero.`
30
+ );
31
+ }
32
+ };
33
+ var createQueue = ({
34
+ worker,
35
+ initialStart = false,
36
+ browser = true,
37
+ ..._parameters
38
+ }) => {
39
+ validateParameters(_parameters);
40
+ const parameters = _parameters;
41
+ let queue = new Array();
42
+ let pending = 0;
43
+ let timestamp = 0;
44
+ let requests = 0;
45
+ let isStarted = initialStart;
46
+ let timer;
47
+ let emptyPromiseWithResolvers = void 0;
48
+ let idlePromiseWithResolvers = void 0;
49
+ const next = () => {
50
+ if (!isStarted)
51
+ return;
52
+ const _timestamp = Date.now();
53
+ if (Math.floor(_timestamp / 1e3) !== timestamp) {
54
+ requests = 0;
55
+ timestamp = Math.floor(_timestamp / 1e3);
56
+ }
57
+ if (timer)
58
+ return;
59
+ while ((parameters.frequency !== void 0 ? requests < parameters.frequency : true) && (parameters.concurrency !== void 0 ? pending < parameters.concurrency : true) && queue.length > 0) {
60
+ const { task, resolve, reject } = queue.shift();
61
+ requests++;
62
+ pending++;
63
+ worker(task).then(resolve).catch(reject).finally(() => {
64
+ pending--;
65
+ if (idlePromiseWithResolvers !== void 0 && queue.length === 0 && pending === 0) {
66
+ idlePromiseWithResolvers.resolve();
67
+ idlePromiseWithResolvers.completed = true;
68
+ }
69
+ browser ? next() : process.nextTick(next);
70
+ });
71
+ if (emptyPromiseWithResolvers !== void 0 && queue.length === 0) {
72
+ emptyPromiseWithResolvers.resolve();
73
+ emptyPromiseWithResolvers.completed = true;
74
+ }
75
+ }
76
+ if (parameters.frequency !== void 0 && requests >= parameters.frequency) {
77
+ timer = setTimeout(
78
+ () => {
79
+ timer = void 0;
80
+ next();
81
+ },
82
+ 1e3 - _timestamp % 1e3
83
+ );
84
+ return;
85
+ }
86
+ };
87
+ return {
88
+ size: () => queue.length,
89
+ pending: () => {
90
+ if (browser) {
91
+ return new Promise(
92
+ (resolve) => setTimeout(() => resolve(pending))
93
+ );
94
+ } else {
95
+ return new Promise(
96
+ (resolve) => setImmediate(() => resolve(pending))
97
+ );
98
+ }
99
+ },
100
+ add: (task) => {
101
+ const { promise, resolve, reject } = promiseWithResolvers();
102
+ queue.push({ task, resolve, reject });
103
+ next();
104
+ return promise;
105
+ },
106
+ clear: () => {
107
+ queue = new Array();
108
+ clearTimeout(timer);
109
+ timer = void 0;
110
+ },
111
+ isStarted: () => isStarted,
112
+ start: () => {
113
+ if (browser) {
114
+ return new Promise(
115
+ (resolve) => setTimeout(() => resolve(pending))
116
+ ).then(() => {
117
+ isStarted = true;
118
+ next();
119
+ });
120
+ } else {
121
+ return new Promise(
122
+ (resolve) => process.nextTick(() => resolve(pending))
123
+ ).then(() => {
124
+ isStarted = true;
125
+ next();
126
+ });
127
+ }
128
+ },
129
+ pause: () => {
130
+ isStarted = false;
131
+ },
132
+ onIdle: () => {
133
+ if (idlePromiseWithResolvers === void 0 || idlePromiseWithResolvers.completed) {
134
+ if (queue.length === 0 && pending === 0)
135
+ return Promise.resolve();
136
+ idlePromiseWithResolvers = {
137
+ ...promiseWithResolvers(),
138
+ completed: false
139
+ };
140
+ }
141
+ return idlePromiseWithResolvers.promise;
142
+ },
143
+ onEmpty: () => {
144
+ if (emptyPromiseWithResolvers === void 0 || emptyPromiseWithResolvers.completed) {
145
+ if (queue.length === 0)
146
+ return Promise.resolve();
147
+ emptyPromiseWithResolvers = {
148
+ ...promiseWithResolvers(),
149
+ completed: false
150
+ };
151
+ }
152
+ return emptyPromiseWithResolvers.promise;
153
+ },
154
+ setParameters: (_parameters2) => {
155
+ validateParameters(_parameters2);
156
+ if ("frequency" in _parameters2) {
157
+ parameters.frequency = _parameters2.frequency;
158
+ }
159
+ if ("concurrency" in _parameters2) {
160
+ parameters.concurrency = _parameters2.concurrency;
161
+ }
162
+ }
163
+ };
164
+ };
165
+
166
+ // ../common/src/dedupe.ts
167
+ function dedupe(arr, getId) {
168
+ const seen = /* @__PURE__ */ new Set();
169
+ return arr.filter((x) => {
170
+ if (seen.has(getId ? getId(x) : x))
171
+ return false;
172
+ seen.add(x);
173
+ return true;
174
+ });
175
+ }
176
+ dedupe(
177
+ [
178
+ { a: 1, b: 2 },
179
+ { a: 1, b: 2 },
180
+ { a: 2, b: 2 }
181
+ ],
182
+ (e) => `${e.a}_${e.b}`
183
+ );
184
+
185
+ // src/indexing-store/metadata.ts
186
+ import { sql } from "kysely";
187
+ var getMetadataStore = ({
188
+ database
189
+ }) => ({
190
+ getStatus: async () => {
191
+ return database.wrap({ method: "_ponder_status.get()" }, async () => {
192
+ const result = await database.qb.user.selectFrom("_ponder_status").selectAll().execute();
193
+ if (result.length === 0) {
194
+ return null;
195
+ }
196
+ const status = {};
197
+ for (const row of result) {
198
+ status[row.network_name] = {
199
+ block: row.block_number && row.block_timestamp ? {
200
+ number: Number(row.block_number),
201
+ timestamp: Number(row.block_timestamp)
202
+ } : null,
203
+ ready: row.ready
204
+ };
205
+ }
206
+ return status;
207
+ });
208
+ },
209
+ setStatus: (status) => {
210
+ return database.wrap({ method: "_ponder_status.set()" }, async () => {
211
+ await database.qb.user.insertInto("_ponder_status").values(
212
+ Object.entries(status).map(([networkName, value]) => ({
213
+ network_name: networkName,
214
+ block_number: value.block?.number,
215
+ block_timestamp: value.block?.timestamp,
216
+ ready: value.ready
217
+ }))
218
+ ).onConflict(
219
+ (oc) => oc.column("network_name").doUpdateSet({
220
+ block_number: sql`excluded.block_number`,
221
+ block_timestamp: sql`excluded.block_timestamp`,
222
+ ready: sql`excluded.ready`
223
+ })
224
+ ).execute();
225
+ });
226
+ }
227
+ });
228
+
229
+ // src/utils/never.ts
230
+ var never = (_x) => {
231
+ throw "unreachable";
232
+ };
233
+
234
+ // src/utils/serialize.ts
235
+ function serialize(value) {
236
+ return JSON.stringify(
237
+ value,
238
+ (_, v) => typeof v === "bigint" ? { __type: "bigint", value: v.toString() } : v
239
+ );
240
+ }
241
+ function deserialize(value) {
242
+ return JSON.parse(
243
+ value,
244
+ (_, value_) => value_?.__type === "bigint" ? BigInt(value_.value) : value_
245
+ );
246
+ }
247
+
248
+ export {
249
+ promiseWithResolvers,
250
+ dedupe,
251
+ createQueue,
252
+ getMetadataStore,
253
+ never,
254
+ serialize,
255
+ deserialize
256
+ };
257
+ //# sourceMappingURL=chunk-LHCA5XFV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../common/src/promiseWithResolvers.ts","../../common/src/queue.ts","../../common/src/dedupe.ts","../src/indexing-store/metadata.ts","../src/utils/never.ts","../src/utils/serialize.ts"],"sourcesContent":["export type PromiseWithResolvers<TPromise> = {\n resolve: (arg: TPromise) => void;\n reject: (error: Error) => void;\n promise: Promise<TPromise>;\n};\n\n/**\n * @description Application level polyfill.\n */\nexport const promiseWithResolvers = <\n TPromise,\n>(): PromiseWithResolvers<TPromise> => {\n let resolve: (arg: TPromise) => void;\n let reject: (error: Error) => void;\n const promise = new Promise<TPromise>((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return { resolve: resolve!, reject: reject!, promise };\n};\n","import {\n type PromiseWithResolvers,\n promiseWithResolvers,\n} from \"./promiseWithResolvers.js\";\n\nexport type InnerQueue<returnType, taskType> = {\n task: taskType;\n resolve: (arg: returnType) => void;\n reject: (error: Error) => void;\n}[];\n\nexport type Queue<returnType, taskType> = {\n size: () => number;\n pending: () => Promise<number>;\n add: (task: taskType) => Promise<returnType>;\n clear: () => void;\n isStarted: () => boolean;\n start: () => Promise<void>;\n pause: () => void;\n onIdle: () => Promise<void>;\n onEmpty: () => Promise<void>;\n setParameters: (\n parameters: Pick<\n CreateQueueParameters<unknown, unknown>,\n \"frequency\" | \"concurrency\"\n >,\n ) => void;\n};\n\nexport type CreateQueueParameters<returnType, taskType> = {\n worker: (task: taskType) => Promise<returnType>;\n initialStart?: boolean;\n browser?: boolean;\n} & (\n | {\n concurrency: number;\n frequency: number;\n }\n | { concurrency: number; frequency?: undefined }\n | { concurrency?: undefined; frequency: number }\n);\n\nconst validateParameters = ({\n concurrency,\n frequency,\n}: Pick<\n CreateQueueParameters<unknown, unknown>,\n \"frequency\" | \"concurrency\"\n>) => {\n if (concurrency === undefined && frequency === undefined) {\n throw new Error(\n \"Invalid queue configuration, must specify either 'concurrency' or 'frequency'.\",\n );\n }\n\n if (concurrency !== undefined && concurrency <= 0) {\n throw new Error(\n `Invalid value for queue 'concurrency' option. Got ${concurrency}, expected a number greater than zero.`,\n );\n }\n\n if (frequency !== undefined && frequency <= 0) {\n throw new Error(\n `Invalid value for queue 'frequency' option. Got ${frequency}, expected a number greater than zero.`,\n );\n }\n};\n\nexport const createQueue = <returnType, taskType = void>({\n worker,\n initialStart = false,\n browser = true,\n ..._parameters\n}: CreateQueueParameters<returnType, taskType>): Queue<\n returnType,\n taskType\n> => {\n validateParameters(_parameters);\n\n const parameters: Pick<\n CreateQueueParameters<unknown, unknown>,\n \"frequency\" | \"concurrency\"\n > = _parameters;\n let queue = new Array<InnerQueue<returnType, taskType>[number]>();\n let pending = 0;\n let timestamp = 0;\n let requests = 0;\n let isStarted = initialStart;\n\n let timer: NodeJS.Timeout | undefined;\n\n let emptyPromiseWithResolvers:\n | (PromiseWithResolvers<void> & { completed: boolean })\n | undefined = undefined;\n let idlePromiseWithResolvers:\n | (PromiseWithResolvers<void> & { completed: boolean })\n | undefined = undefined;\n\n const next = () => {\n if (!isStarted) return;\n\n const _timestamp = Date.now();\n\n if (Math.floor(_timestamp / 1_000) !== timestamp) {\n requests = 0;\n timestamp = Math.floor(_timestamp / 1_000);\n }\n\n if (timer) return;\n\n while (\n (parameters.frequency !== undefined\n ? requests < parameters.frequency\n : true) &&\n (parameters.concurrency !== undefined\n ? pending < parameters.concurrency\n : true) &&\n queue.length > 0\n ) {\n const { task, resolve, reject } = queue.shift()!;\n\n requests++;\n pending++;\n\n worker(task)\n .then(resolve)\n .catch(reject)\n .finally(() => {\n pending--;\n\n if (\n idlePromiseWithResolvers !== undefined &&\n queue.length === 0 &&\n pending === 0\n ) {\n idlePromiseWithResolvers.resolve();\n idlePromiseWithResolvers.completed = true;\n }\n\n browser ? next() : process.nextTick(next);\n });\n\n if (emptyPromiseWithResolvers !== undefined && queue.length === 0) {\n emptyPromiseWithResolvers.resolve();\n emptyPromiseWithResolvers.completed = true;\n }\n }\n\n if (\n parameters.frequency !== undefined &&\n requests >= parameters.frequency\n ) {\n timer = setTimeout(\n () => {\n timer = undefined;\n next();\n },\n 1_000 - (_timestamp % 1_000),\n );\n return;\n }\n };\n\n return {\n size: () => queue.length,\n pending: () => {\n if (browser) {\n return new Promise<number>((resolve) =>\n setTimeout(() => resolve(pending)),\n );\n } else {\n return new Promise<number>((resolve) =>\n setImmediate(() => resolve(pending)),\n );\n }\n },\n add: (task: taskType) => {\n const { promise, resolve, reject } = promiseWithResolvers<returnType>();\n queue.push({ task, resolve, reject });\n\n next();\n\n return promise;\n },\n clear: () => {\n queue = new Array<InnerQueue<returnType, taskType>[number]>();\n clearTimeout(timer);\n timer = undefined;\n },\n isStarted: () => isStarted,\n start: () => {\n if (browser) {\n return new Promise<number>((resolve) =>\n setTimeout(() => resolve(pending)),\n ).then(() => {\n isStarted = true;\n next();\n });\n } else {\n return new Promise<number>((resolve) =>\n process.nextTick(() => resolve(pending)),\n ).then(() => {\n isStarted = true;\n next();\n });\n }\n },\n pause: () => {\n isStarted = false;\n },\n onIdle: () => {\n if (\n idlePromiseWithResolvers === undefined ||\n idlePromiseWithResolvers.completed\n ) {\n if (queue.length === 0 && pending === 0) return Promise.resolve();\n\n idlePromiseWithResolvers = {\n ...promiseWithResolvers<void>(),\n completed: false,\n };\n }\n return idlePromiseWithResolvers.promise;\n },\n onEmpty: () => {\n if (\n emptyPromiseWithResolvers === undefined ||\n emptyPromiseWithResolvers.completed\n ) {\n if (queue.length === 0) return Promise.resolve();\n\n emptyPromiseWithResolvers = {\n ...promiseWithResolvers<void>(),\n completed: false,\n };\n }\n return emptyPromiseWithResolvers.promise;\n },\n setParameters: (_parameters) => {\n validateParameters(_parameters);\n\n if (\"frequency\" in _parameters) {\n parameters.frequency = _parameters.frequency;\n }\n if (\"concurrency\" in _parameters) {\n parameters.concurrency = _parameters.concurrency;\n }\n },\n } as Queue<returnType, taskType>;\n};\n","/**\n * Remove duplicate values from an array.\n *\n * @param getId callback used to calculate a unique value for an element of the array.\n *\n * @example\n * dedupe([1,1,2,3]) // [1,2,3]\n *\n * dedupe(\n * [\n * { a: 1, b: 2 },\n * { a: 1, b: 2 },\n * { a: 2, b: 2 },\n * ],\n * (e) => `${e.a}_${e.b}`,\n * ) // [{a: 1, b: 2}, {a: 2, b: 2}]\n *\n */\nexport function dedupe<item, id>(\n arr: item[] | readonly item[],\n getId?: (x: item) => id,\n): item[] {\n const seen = new Set<id | item>();\n\n return arr.filter((x) => {\n if (seen.has(getId ? getId(x) : x)) return false;\n\n seen.add(x);\n return true;\n });\n}\n\ndedupe(\n [\n { a: 1, b: 2 },\n { a: 1, b: 2 },\n { a: 2, b: 2 },\n ],\n (e) => `${e.a}_${e.b}`,\n);\n","import type { Database } from \"@/database/index.js\";\nimport type { Status } from \"@/internal/types.js\";\nimport { sql } from \"kysely\";\n\nexport type MetadataStore = {\n setStatus: (status: Status) => Promise<void>;\n getStatus: () => Promise<Status | null>;\n};\n\nexport const getMetadataStore = ({\n database,\n}: {\n database: Database;\n}): MetadataStore => ({\n getStatus: async () => {\n return database.wrap({ method: \"_ponder_status.get()\" }, async () => {\n const result = await database.qb.user\n .selectFrom(\"_ponder_status\")\n .selectAll()\n .execute();\n\n if (result.length === 0) {\n return null;\n }\n\n const status: Status = {};\n\n for (const row of result) {\n status[row.network_name] = {\n block:\n row.block_number && row.block_timestamp\n ? {\n number: Number(row.block_number),\n timestamp: Number(row.block_timestamp),\n }\n : null,\n ready: row.ready,\n };\n }\n\n return status;\n });\n },\n setStatus: (status: Status) => {\n return database.wrap({ method: \"_ponder_status.set()\" }, async () => {\n await database.qb.user\n .insertInto(\"_ponder_status\")\n .values(\n Object.entries(status).map(([networkName, value]) => ({\n network_name: networkName,\n block_number: value.block?.number,\n block_timestamp: value.block?.timestamp,\n ready: value.ready,\n })),\n )\n .onConflict((oc) =>\n oc.column(\"network_name\").doUpdateSet({\n block_number: sql`excluded.block_number`,\n block_timestamp: sql`excluded.block_timestamp`,\n ready: sql`excluded.ready`,\n }),\n )\n .execute();\n });\n },\n});\n","export const never = (_x: never) => {\n throw \"unreachable\";\n};\n","/**\n * Serialize function that handles BigInt.\n *\n * Forked from https://github.com/wevm/wagmi\n *\n * @param value to stringify\n * @returns the stringified output\n */\nexport function serialize(value: any) {\n return JSON.stringify(value, (_, v) =>\n typeof v === \"bigint\" ? { __type: \"bigint\", value: v.toString() } : v,\n );\n}\n\n/**\n * Deserialize function that handles BigInt.\n *\n * Forked from https://github.com/wevm/wagmi\n *\n * @param value to parse\n * @returns the output object\n */\nexport function deserialize<type>(value: string): type {\n return JSON.parse(value, (_, value_) =>\n value_?.__type === \"bigint\" ? BigInt(value_.value) : value_,\n );\n}\n"],"mappings":"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","names":["_parameters"]}