ponder 0.9.4-debug.1 → 0.9.5-debug.1

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 (476) hide show
  1. package/CHANGELOG.md +2201 -0
  2. package/dist/esm/bin/commands/codegen.js +37 -0
  3. package/dist/esm/bin/commands/codegen.js.map +1 -0
  4. package/dist/esm/bin/commands/dev.js +242 -0
  5. package/dist/esm/bin/commands/dev.js.map +1 -0
  6. package/dist/esm/bin/commands/list.js +103 -0
  7. package/dist/esm/bin/commands/list.js.map +1 -0
  8. package/dist/esm/bin/commands/serve.js +123 -0
  9. package/dist/esm/bin/commands/serve.js.map +1 -0
  10. package/dist/esm/bin/commands/start.js +136 -0
  11. package/dist/esm/bin/commands/start.js.map +1 -0
  12. package/dist/esm/bin/ponder.js +118 -0
  13. package/dist/esm/bin/ponder.js.map +1 -0
  14. package/dist/esm/bin/utils/codegen.js +26 -0
  15. package/dist/esm/bin/utils/codegen.js.map +1 -0
  16. package/dist/esm/bin/utils/exit.js +69 -0
  17. package/dist/esm/bin/utils/exit.js.map +1 -0
  18. package/dist/esm/bin/utils/run.js +247 -0
  19. package/dist/esm/bin/utils/run.js.map +1 -0
  20. package/dist/esm/bin/utils/runServer.js +8 -0
  21. package/dist/esm/bin/utils/runServer.js.map +1 -0
  22. package/dist/esm/build/configAndIndexingFunctions.js +654 -0
  23. package/dist/esm/build/configAndIndexingFunctions.js.map +1 -0
  24. package/dist/esm/build/factory.js +43 -0
  25. package/dist/esm/build/factory.js.map +1 -0
  26. package/dist/esm/build/index.js +431 -0
  27. package/dist/esm/build/index.js.map +1 -0
  28. package/dist/esm/build/plugin.js +43 -0
  29. package/dist/esm/build/plugin.js.map +1 -0
  30. package/dist/esm/build/pre.js +112 -0
  31. package/dist/esm/build/pre.js.map +1 -0
  32. package/dist/esm/build/schema.js +89 -0
  33. package/dist/esm/build/schema.js.map +1 -0
  34. package/dist/esm/build/stacktrace.js +137 -0
  35. package/dist/esm/build/stacktrace.js.map +1 -0
  36. package/dist/esm/client/index.js +124 -0
  37. package/dist/esm/client/index.js.map +1 -0
  38. package/dist/esm/client/validate.js +1151 -0
  39. package/dist/esm/client/validate.js.map +1 -0
  40. package/dist/esm/config/address.js +2 -0
  41. package/dist/esm/config/address.js.map +1 -0
  42. package/dist/esm/config/eventFilter.js +2 -0
  43. package/dist/esm/config/eventFilter.js.map +1 -0
  44. package/dist/esm/config/index.js +2 -0
  45. package/dist/esm/config/index.js.map +1 -0
  46. package/dist/esm/config/networks.js +120 -0
  47. package/dist/esm/config/networks.js.map +1 -0
  48. package/dist/esm/config/utilityTypes.js +2 -0
  49. package/dist/esm/config/utilityTypes.js.map +1 -0
  50. package/dist/esm/database/index.js +914 -0
  51. package/dist/esm/database/index.js.map +1 -0
  52. package/dist/esm/drizzle/bigint.js +36 -0
  53. package/dist/esm/drizzle/bigint.js.map +1 -0
  54. package/dist/esm/drizzle/hex.js +38 -0
  55. package/dist/esm/drizzle/hex.js.map +1 -0
  56. package/dist/esm/drizzle/index.js +43 -0
  57. package/dist/esm/drizzle/index.js.map +1 -0
  58. package/dist/esm/drizzle/kit/index.js +658 -0
  59. package/dist/esm/drizzle/kit/index.js.map +1 -0
  60. package/dist/esm/drizzle/onchain.js +102 -0
  61. package/dist/esm/drizzle/onchain.js.map +1 -0
  62. package/dist/esm/graphql/index.js +704 -0
  63. package/dist/esm/graphql/index.js.map +1 -0
  64. package/dist/esm/graphql/json.js +42 -0
  65. package/dist/esm/graphql/json.js.map +1 -0
  66. package/dist/esm/graphql/middleware.js +80 -0
  67. package/dist/esm/graphql/middleware.js.map +1 -0
  68. package/dist/esm/index.js +9 -0
  69. package/dist/esm/index.js.map +1 -0
  70. package/dist/esm/indexing/addStackTrace.js +54 -0
  71. package/dist/esm/indexing/addStackTrace.js.map +1 -0
  72. package/dist/esm/indexing/index.js +10 -0
  73. package/dist/esm/indexing/index.js.map +1 -0
  74. package/dist/esm/indexing/ponderActions.js +60 -0
  75. package/dist/esm/indexing/ponderActions.js.map +1 -0
  76. package/dist/esm/indexing/service.js +312 -0
  77. package/dist/esm/indexing/service.js.map +1 -0
  78. package/dist/esm/indexing-store/historical.js +591 -0
  79. package/dist/esm/indexing-store/historical.js.map +1 -0
  80. package/dist/esm/indexing-store/index.js +19 -0
  81. package/dist/esm/indexing-store/index.js.map +1 -0
  82. package/dist/esm/indexing-store/metadata.js +46 -0
  83. package/dist/esm/indexing-store/metadata.js.map +1 -0
  84. package/dist/esm/indexing-store/realtime.js +295 -0
  85. package/dist/esm/indexing-store/realtime.js.map +1 -0
  86. package/dist/esm/internal/common.js +2 -0
  87. package/dist/esm/internal/common.js.map +1 -0
  88. package/dist/esm/internal/errors.js +175 -0
  89. package/dist/esm/internal/errors.js.map +1 -0
  90. package/dist/esm/internal/logger.js +96 -0
  91. package/dist/esm/internal/logger.js.map +1 -0
  92. package/dist/esm/internal/metrics.js +569 -0
  93. package/dist/esm/internal/metrics.js.map +1 -0
  94. package/dist/esm/internal/options.js +69 -0
  95. package/dist/esm/internal/options.js.map +1 -0
  96. package/dist/esm/internal/shutdown.js +18 -0
  97. package/dist/esm/internal/shutdown.js.map +1 -0
  98. package/dist/esm/internal/telemetry.js +199 -0
  99. package/dist/esm/internal/telemetry.js.map +1 -0
  100. package/dist/esm/internal/types.js +2 -0
  101. package/dist/esm/internal/types.js.map +1 -0
  102. package/dist/esm/server/error.js +55 -0
  103. package/dist/esm/server/error.js.map +1 -0
  104. package/dist/esm/server/index.js +107 -0
  105. package/dist/esm/server/index.js.map +1 -0
  106. package/dist/esm/sync/abi.js +67 -0
  107. package/dist/esm/sync/abi.js.map +1 -0
  108. package/dist/esm/sync/events.js +607 -0
  109. package/dist/esm/sync/events.js.map +1 -0
  110. package/dist/esm/sync/filter.js +356 -0
  111. package/dist/esm/sync/filter.js.map +1 -0
  112. package/dist/esm/sync/fragments.js +300 -0
  113. package/dist/esm/sync/fragments.js.map +1 -0
  114. package/dist/esm/sync/index.js +1001 -0
  115. package/dist/esm/sync/index.js.map +1 -0
  116. package/dist/esm/sync/transport.js +94 -0
  117. package/dist/esm/sync/transport.js.map +1 -0
  118. package/dist/esm/sync-historical/index.js +590 -0
  119. package/dist/esm/sync-historical/index.js.map +1 -0
  120. package/dist/esm/sync-realtime/bloom.js +75 -0
  121. package/dist/esm/sync-realtime/bloom.js.map +1 -0
  122. package/dist/esm/sync-realtime/index.js +794 -0
  123. package/dist/esm/sync-realtime/index.js.map +1 -0
  124. package/dist/esm/sync-store/encoding.js +157 -0
  125. package/dist/esm/sync-store/encoding.js.map +1 -0
  126. package/dist/esm/sync-store/index.js +727 -0
  127. package/dist/esm/sync-store/index.js.map +1 -0
  128. package/dist/esm/sync-store/migrations.js +1186 -0
  129. package/dist/esm/sync-store/migrations.js.map +1 -0
  130. package/dist/esm/types/db.js +2 -0
  131. package/dist/esm/types/db.js.map +1 -0
  132. package/dist/esm/types/eth.js +2 -0
  133. package/dist/esm/types/eth.js.map +1 -0
  134. package/dist/esm/types/sync.js +2 -0
  135. package/dist/esm/types/sync.js.map +1 -0
  136. package/dist/esm/types/utils.js +2 -0
  137. package/dist/esm/types/utils.js.map +1 -0
  138. package/dist/esm/types/virtual.js +2 -0
  139. package/dist/esm/types/virtual.js.map +1 -0
  140. package/dist/esm/ui/ProgressBar.js +11 -0
  141. package/dist/esm/ui/ProgressBar.js.map +1 -0
  142. package/dist/esm/ui/Table.js +50 -0
  143. package/dist/esm/ui/Table.js.map +1 -0
  144. package/dist/esm/ui/app.js +113 -0
  145. package/dist/esm/ui/app.js.map +1 -0
  146. package/dist/esm/ui/graphiql.html.js +59 -0
  147. package/dist/esm/ui/graphiql.html.js.map +1 -0
  148. package/dist/esm/ui/index.js +21 -0
  149. package/dist/esm/ui/index.js.map +1 -0
  150. package/dist/esm/utils/bigint.js +37 -0
  151. package/dist/esm/utils/bigint.js.map +1 -0
  152. package/dist/esm/utils/chains.js +3 -0
  153. package/dist/esm/utils/chains.js.map +1 -0
  154. package/dist/esm/utils/checkpoint.js +114 -0
  155. package/dist/esm/utils/checkpoint.js.map +1 -0
  156. package/dist/esm/utils/chunk.js +8 -0
  157. package/dist/esm/utils/chunk.js.map +1 -0
  158. package/dist/esm/utils/date.js +27 -0
  159. package/dist/esm/utils/date.js.map +1 -0
  160. package/dist/esm/utils/debug.js +2 -0
  161. package/dist/esm/utils/debug.js.map +1 -0
  162. package/dist/esm/utils/dedupe.js +33 -0
  163. package/dist/esm/utils/dedupe.js.map +1 -0
  164. package/dist/esm/utils/duplicates.js +19 -0
  165. package/dist/esm/utils/duplicates.js.map +1 -0
  166. package/dist/esm/utils/estimate.js +6 -0
  167. package/dist/esm/utils/estimate.js.map +1 -0
  168. package/dist/esm/utils/extend.js +28 -0
  169. package/dist/esm/utils/extend.js.map +1 -0
  170. package/dist/esm/utils/format.js +20 -0
  171. package/dist/esm/utils/format.js.map +1 -0
  172. package/dist/esm/utils/generators.js +77 -0
  173. package/dist/esm/utils/generators.js.map +1 -0
  174. package/dist/esm/utils/hash.js +11 -0
  175. package/dist/esm/utils/hash.js.map +1 -0
  176. package/dist/esm/utils/interval.js +171 -0
  177. package/dist/esm/utils/interval.js.map +1 -0
  178. package/dist/esm/utils/lowercase.js +7 -0
  179. package/dist/esm/utils/lowercase.js.map +1 -0
  180. package/dist/esm/utils/mutex.js +25 -0
  181. package/dist/esm/utils/mutex.js.map +1 -0
  182. package/dist/esm/utils/never.js +4 -0
  183. package/dist/esm/utils/never.js.map +1 -0
  184. package/dist/esm/utils/offset.js +73 -0
  185. package/dist/esm/utils/offset.js.map +1 -0
  186. package/dist/esm/utils/order.js +18 -0
  187. package/dist/esm/utils/order.js.map +1 -0
  188. package/dist/esm/utils/partition.js +37 -0
  189. package/dist/esm/utils/partition.js.map +1 -0
  190. package/dist/esm/utils/pg.js +126 -0
  191. package/dist/esm/utils/pg.js.map +1 -0
  192. package/dist/esm/utils/pglite.js +80 -0
  193. package/dist/esm/utils/pglite.js.map +1 -0
  194. package/dist/esm/utils/port.js +30 -0
  195. package/dist/esm/utils/port.js.map +1 -0
  196. package/dist/esm/utils/print.js +23 -0
  197. package/dist/esm/utils/print.js.map +1 -0
  198. package/dist/esm/utils/promiseWithResolvers.js +13 -0
  199. package/dist/esm/utils/promiseWithResolvers.js.map +1 -0
  200. package/dist/esm/utils/queue.js +145 -0
  201. package/dist/esm/utils/queue.js.map +1 -0
  202. package/dist/esm/utils/range.js +8 -0
  203. package/dist/esm/utils/range.js.map +1 -0
  204. package/dist/esm/utils/requestQueue.js +127 -0
  205. package/dist/esm/utils/requestQueue.js.map +1 -0
  206. package/dist/esm/utils/result.js +10 -0
  207. package/dist/esm/utils/result.js.map +1 -0
  208. package/dist/esm/utils/rpc.js +202 -0
  209. package/dist/esm/utils/rpc.js.map +1 -0
  210. package/dist/esm/utils/serialize.js +23 -0
  211. package/dist/esm/utils/serialize.js.map +1 -0
  212. package/dist/esm/utils/timer.js +17 -0
  213. package/dist/esm/utils/timer.js.map +1 -0
  214. package/dist/esm/utils/wait.js +8 -0
  215. package/dist/esm/utils/wait.js.map +1 -0
  216. package/dist/esm/utils/zipper.js +67 -0
  217. package/dist/esm/utils/zipper.js.map +1 -0
  218. package/dist/types/bin/commands/codegen.d.ts +5 -0
  219. package/dist/types/bin/commands/codegen.d.ts.map +1 -0
  220. package/dist/types/bin/commands/dev.d.ts +5 -0
  221. package/dist/types/bin/commands/dev.d.ts.map +1 -0
  222. package/dist/types/bin/commands/list.d.ts +5 -0
  223. package/dist/types/bin/commands/list.d.ts.map +1 -0
  224. package/dist/types/bin/commands/serve.d.ts +5 -0
  225. package/dist/types/bin/commands/serve.d.ts.map +1 -0
  226. package/dist/types/bin/commands/start.d.ts +5 -0
  227. package/dist/types/bin/commands/start.d.ts.map +1 -0
  228. package/dist/{bin → types/bin}/ponder.d.ts +5 -6
  229. package/dist/types/bin/ponder.d.ts.map +1 -0
  230. package/dist/types/bin/utils/codegen.d.ts +6 -0
  231. package/dist/types/bin/utils/codegen.d.ts.map +1 -0
  232. package/dist/types/bin/utils/exit.d.ts +9 -0
  233. package/dist/types/bin/utils/exit.d.ts.map +1 -0
  234. package/dist/types/bin/utils/run.d.ts +14 -0
  235. package/dist/types/bin/utils/run.d.ts.map +1 -0
  236. package/dist/types/bin/utils/runServer.d.ts +12 -0
  237. package/dist/types/bin/utils/runServer.d.ts.map +1 -0
  238. package/dist/types/build/configAndIndexingFunctions.d.ts +37 -0
  239. package/dist/types/build/configAndIndexingFunctions.d.ts.map +1 -0
  240. package/dist/types/build/factory.d.ts +10 -0
  241. package/dist/types/build/factory.d.ts.map +1 -0
  242. package/dist/types/build/index.d.ts +70 -0
  243. package/dist/types/build/index.d.ts.map +1 -0
  244. package/dist/types/build/plugin.d.ts +4 -0
  245. package/dist/types/build/plugin.d.ts.map +1 -0
  246. package/dist/types/build/pre.d.ts +35 -0
  247. package/dist/types/build/pre.d.ts.map +1 -0
  248. package/dist/types/build/schema.d.ts +18 -0
  249. package/dist/types/build/schema.d.ts.map +1 -0
  250. package/dist/types/build/stacktrace.d.ts +13 -0
  251. package/dist/types/build/stacktrace.d.ts.map +1 -0
  252. package/dist/types/client/index.d.ts +27 -0
  253. package/dist/types/client/index.d.ts.map +1 -0
  254. package/dist/types/client/validate.d.ts +2 -0
  255. package/dist/types/client/validate.d.ts.map +1 -0
  256. package/dist/types/config/address.d.ts +14 -0
  257. package/dist/types/config/address.d.ts.map +1 -0
  258. package/dist/types/config/eventFilter.d.ts +18 -0
  259. package/dist/types/config/eventFilter.d.ts.map +1 -0
  260. package/dist/types/config/index.d.ts +143 -0
  261. package/dist/types/config/index.d.ts.map +1 -0
  262. package/dist/types/config/networks.d.ts +30 -0
  263. package/dist/types/config/networks.d.ts.map +1 -0
  264. package/dist/types/config/utilityTypes.d.ts +43 -0
  265. package/dist/types/config/utilityTypes.d.ts.map +1 -0
  266. package/dist/types/database/index.d.ts +91 -0
  267. package/dist/types/database/index.d.ts.map +1 -0
  268. package/dist/types/drizzle/bigint.d.ts +25 -0
  269. package/dist/types/drizzle/bigint.d.ts.map +1 -0
  270. package/dist/types/drizzle/hex.d.ts +25 -0
  271. package/dist/types/drizzle/hex.d.ts.map +1 -0
  272. package/dist/types/drizzle/index.d.ts +14 -0
  273. package/dist/types/drizzle/index.d.ts.map +1 -0
  274. package/dist/types/drizzle/kit/index.d.ts +49 -0
  275. package/dist/types/drizzle/kit/index.d.ts.map +1 -0
  276. package/dist/{drizzle → types/drizzle}/onchain.d.ts +49 -96
  277. package/dist/types/drizzle/onchain.d.ts.map +1 -0
  278. package/dist/types/graphql/index.d.ts +14 -0
  279. package/dist/types/graphql/index.d.ts.map +1 -0
  280. package/dist/types/graphql/json.d.ts +3 -0
  281. package/dist/types/graphql/json.d.ts.map +1 -0
  282. package/dist/types/graphql/middleware.d.ts +29 -0
  283. package/dist/types/graphql/middleware.d.ts.map +1 -0
  284. package/dist/types/index.d.ts +18 -0
  285. package/dist/types/index.d.ts.map +1 -0
  286. package/dist/types/indexing/addStackTrace.d.ts +3 -0
  287. package/dist/types/indexing/addStackTrace.d.ts.map +1 -0
  288. package/dist/types/indexing/index.d.ts +575 -0
  289. package/dist/types/indexing/index.d.ts.map +1 -0
  290. package/dist/types/indexing/ponderActions.d.ts +47 -0
  291. package/dist/types/indexing/ponderActions.d.ts.map +1 -0
  292. package/dist/types/indexing/service.d.ts +73 -0
  293. package/dist/types/indexing/service.d.ts.map +1 -0
  294. package/dist/types/indexing-store/historical.d.ts +19 -0
  295. package/dist/types/indexing-store/historical.d.ts.map +1 -0
  296. package/dist/types/indexing-store/index.d.ts +10 -0
  297. package/dist/types/indexing-store/index.d.ts.map +1 -0
  298. package/dist/types/indexing-store/metadata.d.ts +10 -0
  299. package/dist/types/indexing-store/metadata.d.ts.map +1 -0
  300. package/dist/types/indexing-store/realtime.d.ts +10 -0
  301. package/dist/types/indexing-store/realtime.d.ts.map +1 -0
  302. package/dist/types/internal/common.d.ts +13 -0
  303. package/dist/types/internal/common.d.ts.map +1 -0
  304. package/dist/types/internal/errors.d.ts +55 -0
  305. package/dist/types/internal/errors.d.ts.map +1 -0
  306. package/dist/types/internal/logger.d.ts +26 -0
  307. package/dist/types/internal/logger.d.ts.map +1 -0
  308. package/dist/types/internal/metrics.d.ts +77 -0
  309. package/dist/types/internal/metrics.d.ts.map +1 -0
  310. package/dist/types/internal/options.d.ts +59 -0
  311. package/dist/types/internal/options.d.ts.map +1 -0
  312. package/dist/types/internal/shutdown.d.ts +8 -0
  313. package/dist/types/internal/shutdown.d.ts.map +1 -0
  314. package/dist/types/internal/telemetry.d.ts +43 -0
  315. package/dist/types/internal/telemetry.d.ts.map +1 -0
  316. package/dist/types/internal/types.d.ts +328 -0
  317. package/dist/types/internal/types.d.ts.map +1 -0
  318. package/dist/types/server/error.d.ts +5 -0
  319. package/dist/types/server/error.d.ts.map +1 -0
  320. package/dist/types/server/index.d.ts +13 -0
  321. package/dist/types/server/index.d.ts.map +1 -0
  322. package/dist/types/sync/abi.d.ts +54 -0
  323. package/dist/types/sync/abi.d.ts.map +1 -0
  324. package/dist/types/sync/events.d.ts +24 -0
  325. package/dist/types/sync/events.d.ts.map +1 -0
  326. package/dist/types/sync/filter.d.ts +71 -0
  327. package/dist/types/sync/filter.d.ts.map +1 -0
  328. package/dist/types/sync/fragments.d.ts +21 -0
  329. package/dist/types/sync/fragments.d.ts.map +1 -0
  330. package/dist/types/sync/index.d.ts +112 -0
  331. package/dist/types/sync/index.d.ts.map +1 -0
  332. package/dist/types/sync/transport.d.ts +8 -0
  333. package/dist/types/sync/transport.d.ts.map +1 -0
  334. package/dist/types/sync-historical/index.d.ts +28 -0
  335. package/dist/types/sync-historical/index.d.ts.map +1 -0
  336. package/dist/types/sync-realtime/bloom.d.ts +19 -0
  337. package/dist/types/sync-realtime/bloom.d.ts.map +1 -0
  338. package/dist/types/sync-realtime/index.d.ts +48 -0
  339. package/dist/types/sync-realtime/index.d.ts.map +1 -0
  340. package/dist/types/sync-store/encoding.d.ts +151 -0
  341. package/dist/types/sync-store/encoding.d.ts.map +1 -0
  342. package/dist/types/sync-store/index.d.ts +104 -0
  343. package/dist/types/sync-store/index.d.ts.map +1 -0
  344. package/dist/types/sync-store/migrations.d.ts +13 -0
  345. package/dist/types/sync-store/migrations.d.ts.map +1 -0
  346. package/dist/types/types/db.d.ts +213 -0
  347. package/dist/types/types/db.d.ts.map +1 -0
  348. package/dist/types/types/eth.d.ts +196 -0
  349. package/dist/types/types/eth.d.ts.map +1 -0
  350. package/dist/types/types/sync.d.ts +15 -0
  351. package/dist/types/types/sync.d.ts.map +1 -0
  352. package/dist/types/types/utils.d.ts +22 -0
  353. package/dist/types/types/utils.d.ts.map +1 -0
  354. package/dist/types/types/virtual.d.ts +95 -0
  355. package/dist/types/types/virtual.d.ts.map +1 -0
  356. package/dist/types/ui/ProgressBar.d.ts +7 -0
  357. package/dist/types/ui/ProgressBar.d.ts.map +1 -0
  358. package/dist/types/ui/Table.d.ts +24 -0
  359. package/dist/types/ui/Table.d.ts.map +1 -0
  360. package/dist/types/ui/app.d.ts +14 -0
  361. package/dist/types/ui/app.d.ts.map +1 -0
  362. package/dist/types/ui/graphiql.html.d.ts +2 -0
  363. package/dist/types/ui/graphiql.html.d.ts.map +1 -0
  364. package/dist/types/ui/index.d.ts +5 -0
  365. package/dist/types/ui/index.d.ts.map +1 -0
  366. package/dist/types/utils/bigint.d.ts +15 -0
  367. package/dist/types/utils/bigint.d.ts.map +1 -0
  368. package/dist/types/utils/chains.d.ts +3 -0
  369. package/dist/types/utils/chains.d.ts.map +1 -0
  370. package/dist/types/utils/checkpoint.d.ts +40 -0
  371. package/dist/types/utils/checkpoint.d.ts.map +1 -0
  372. package/dist/types/utils/chunk.d.ts +2 -0
  373. package/dist/types/utils/chunk.d.ts.map +1 -0
  374. package/dist/types/utils/date.d.ts +7 -0
  375. package/dist/types/utils/date.d.ts.map +1 -0
  376. package/dist/types/utils/debug.d.ts +105 -0
  377. package/dist/types/utils/debug.d.ts.map +1 -0
  378. package/dist/types/utils/dedupe.d.ts +20 -0
  379. package/dist/types/utils/dedupe.d.ts.map +1 -0
  380. package/dist/types/utils/duplicates.d.ts +7 -0
  381. package/dist/types/utils/duplicates.d.ts.map +1 -0
  382. package/dist/types/utils/estimate.d.ts +11 -0
  383. package/dist/types/utils/estimate.d.ts.map +1 -0
  384. package/dist/types/utils/extend.d.ts +13 -0
  385. package/dist/types/utils/extend.d.ts.map +1 -0
  386. package/dist/types/utils/format.d.ts +3 -0
  387. package/dist/types/utils/format.d.ts.map +1 -0
  388. package/dist/types/utils/generators.d.ts +23 -0
  389. package/dist/types/utils/generators.d.ts.map +1 -0
  390. package/dist/types/utils/hash.d.ts +11 -0
  391. package/dist/types/utils/hash.d.ts.map +1 -0
  392. package/dist/types/utils/interval.d.ts +53 -0
  393. package/dist/types/utils/interval.d.ts.map +1 -0
  394. package/dist/types/utils/lowercase.d.ts +5 -0
  395. package/dist/types/utils/lowercase.d.ts.map +1 -0
  396. package/dist/types/utils/mutex.d.ts +8 -0
  397. package/dist/types/utils/mutex.d.ts.map +1 -0
  398. package/dist/types/utils/never.d.ts +2 -0
  399. package/dist/types/utils/never.d.ts.map +1 -0
  400. package/dist/types/utils/offset.d.ts +3 -0
  401. package/dist/types/utils/offset.d.ts.map +1 -0
  402. package/dist/types/utils/order.d.ts +2 -0
  403. package/dist/types/utils/order.d.ts.map +1 -0
  404. package/dist/types/utils/partition.d.ts +22 -0
  405. package/dist/types/utils/partition.d.ts.map +1 -0
  406. package/dist/types/utils/pg.d.ts +5 -0
  407. package/dist/types/utils/pg.d.ts.map +1 -0
  408. package/dist/types/utils/pglite.d.ts +25 -0
  409. package/dist/types/utils/pglite.d.ts.map +1 -0
  410. package/dist/types/utils/port.d.ts +5 -0
  411. package/dist/types/utils/port.d.ts.map +1 -0
  412. package/dist/types/utils/print.d.ts +2 -0
  413. package/dist/types/utils/print.d.ts.map +1 -0
  414. package/dist/types/utils/promiseWithResolvers.d.ts +10 -0
  415. package/dist/types/utils/promiseWithResolvers.d.ts.map +1 -0
  416. package/dist/types/utils/queue.d.ts +33 -0
  417. package/dist/types/utils/queue.d.ts.map +1 -0
  418. package/dist/types/utils/range.d.ts +8 -0
  419. package/dist/types/utils/range.d.ts.map +1 -0
  420. package/dist/types/utils/requestQueue.d.ts +21 -0
  421. package/dist/types/utils/requestQueue.d.ts.map +1 -0
  422. package/dist/types/utils/result.d.ts +17 -0
  423. package/dist/types/utils/result.d.ts.map +1 -0
  424. package/dist/types/utils/rpc.d.ts +57 -0
  425. package/dist/types/utils/rpc.d.ts.map +1 -0
  426. package/dist/types/utils/serialize.d.ts +19 -0
  427. package/dist/types/utils/serialize.d.ts.map +1 -0
  428. package/dist/types/utils/timer.d.ts +11 -0
  429. package/dist/types/utils/timer.d.ts.map +1 -0
  430. package/dist/types/utils/wait.d.ts +6 -0
  431. package/dist/types/utils/wait.d.ts.map +1 -0
  432. package/dist/types/utils/zipper.d.ts +36 -0
  433. package/dist/types/utils/zipper.d.ts.map +1 -0
  434. package/package.json +17 -21
  435. package/src/bin/commands/dev.ts +1 -1
  436. package/src/bin/ponder.ts +1 -1
  437. package/src/bin/utils/run.ts +7 -18
  438. package/src/build/configAndIndexingFunctions.ts +1 -1
  439. package/src/build/factory.ts +1 -1
  440. package/src/build/index.ts +0 -2
  441. package/src/client/index.ts +1 -1
  442. package/src/graphql/index.ts +1 -1
  443. package/src/indexing-store/historical.ts +1 -1
  444. package/src/indexing-store/realtime.ts +1 -1
  445. package/src/internal/telemetry.ts +1 -1
  446. package/src/sync/fragments.ts +1 -1
  447. package/src/sync/index.ts +60 -20
  448. package/src/sync-historical/index.ts +26 -26
  449. package/src/sync-realtime/index.ts +1 -1
  450. package/src/utils/dedupe.ts +40 -0
  451. package/src/utils/generators.ts +1 -1
  452. package/src/utils/mutex.ts +1 -1
  453. package/src/utils/promiseWithResolvers.ts +20 -0
  454. package/src/utils/queue.ts +250 -0
  455. package/src/utils/requestQueue.ts +1 -1
  456. package/dist/bin/ponder.js +0 -11243
  457. package/dist/bin/ponder.js.map +0 -1
  458. package/dist/chunk-6AOFLZJ4.js +0 -1692
  459. package/dist/chunk-6AOFLZJ4.js.map +0 -1
  460. package/dist/chunk-DZFRP3KH.js +0 -70
  461. package/dist/chunk-DZFRP3KH.js.map +0 -1
  462. package/dist/chunk-K2TLRLX3.js +0 -163
  463. package/dist/chunk-K2TLRLX3.js.map +0 -1
  464. package/dist/chunk-MJKRYIBO.js +0 -190
  465. package/dist/chunk-MJKRYIBO.js.map +0 -1
  466. package/dist/db-in86nyw7.d.ts +0 -625
  467. package/dist/drizzle/onchain.js +0 -19
  468. package/dist/drizzle/onchain.js.map +0 -1
  469. package/dist/experimental_unsafe_stores.d.ts +0 -375
  470. package/dist/experimental_unsafe_stores.js +0 -11
  471. package/dist/experimental_unsafe_stores.js.map +0 -1
  472. package/dist/index.d.ts +0 -404
  473. package/dist/index.js +0 -2219
  474. package/dist/index.js.map +0 -1
  475. package/dist/utils-ceNucOJb.d.ts +0 -14
  476. package/src/experimental_unsafe_stores.ts +0 -4
@@ -0,0 +1,35 @@
1
+ import type { Config } from '../config/index.js';
2
+ import { BuildError } from '../internal/errors.js';
3
+ import type { Options } from '../internal/options.js';
4
+ import type { DatabaseConfig } from '../internal/types.js';
5
+ export declare function buildPre({ config, options, }: {
6
+ config: Config;
7
+ options: Pick<Options, "rootDir" | "ponderDir">;
8
+ }): {
9
+ databaseConfig: DatabaseConfig;
10
+ ordering: NonNullable<Config["ordering"]>;
11
+ logs: {
12
+ level: "warn" | "info" | "debug";
13
+ msg: string;
14
+ }[];
15
+ };
16
+ export declare function safeBuildPre({ config, options, }: {
17
+ config: Config;
18
+ options: Pick<Options, "rootDir" | "ponderDir">;
19
+ }): {
20
+ readonly status: "success";
21
+ readonly databaseConfig: DatabaseConfig;
22
+ readonly ordering: NonNullable<"omnichain" | "multichain" | undefined>;
23
+ readonly logs: {
24
+ level: "debug" | "warn" | "info";
25
+ msg: string;
26
+ }[];
27
+ readonly error?: undefined;
28
+ } | {
29
+ readonly status: "error";
30
+ readonly error: BuildError;
31
+ readonly databaseConfig?: undefined;
32
+ readonly ordering?: undefined;
33
+ readonly logs?: undefined;
34
+ };
35
+ //# sourceMappingURL=pre.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pre.d.ts","sourceRoot":"","sources":["../../../src/build/pre.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAQ1D,wBAAgB,QAAQ,CAAC,EACvB,MAAM,EACN,OAAO,GACR,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC;CACjD,GAAG;IACF,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1C,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC3D,CA+FA;AAED,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,OAAO,GACR,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC;CACjD;;;;;;;;;;;;;;;EAkBA"}
@@ -0,0 +1,18 @@
1
+ import { BuildError } from '../internal/errors.js';
2
+ import type { Schema } from '../internal/types.js';
3
+ export declare const buildSchema: ({ schema }: {
4
+ schema: Schema;
5
+ }) => {
6
+ statements: import("@/drizzle/kit/index.js").SqlStatements;
7
+ };
8
+ export declare const safeBuildSchema: ({ schema }: {
9
+ schema: Schema;
10
+ }) => {
11
+ readonly statements: import("@/drizzle/kit/index.js").SqlStatements;
12
+ readonly status: "success";
13
+ readonly error?: undefined;
14
+ } | {
15
+ readonly status: "error";
16
+ readonly error: BuildError;
17
+ };
18
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/build/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAalD,eAAO,MAAM,WAAW;YAA0B,MAAM;;;CA0HvD,CAAC;AAEF,eAAO,MAAM,eAAe;YAA0B,MAAM;;;;;;;;CAa3D,CAAC"}
@@ -0,0 +1,13 @@
1
+ declare class ESBuildTransformError extends Error {
2
+ name: string;
3
+ }
4
+ declare class ESBuildBuildError extends Error {
5
+ name: string;
6
+ }
7
+ declare class ESBuildContextError extends Error {
8
+ name: string;
9
+ }
10
+ type ViteNodeError = ESBuildTransformError | ESBuildBuildError | ESBuildContextError | Error;
11
+ export declare function parseViteNodeError(file: string, error: Error): ViteNodeError;
12
+ export {};
13
+ //# sourceMappingURL=stacktrace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stacktrace.d.ts","sourceRoot":"","sources":["../../../src/build/stacktrace.ts"],"names":[],"mappings":"AAIA,cAAM,qBAAsB,SAAQ,KAAK;IAC9B,IAAI,SAA2B;CACzC;AAED,cAAM,iBAAkB,SAAQ,KAAK;IAC1B,IAAI,SAAuB;CACrC;AAED,cAAM,mBAAoB,SAAQ,KAAK;IAC5B,IAAI,SAAyB;CACvC;AAED,KAAK,aAAa,GACd,qBAAqB,GACrB,iBAAiB,GACjB,mBAAmB,GACnB,KAAK,CAAC;AAEV,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,aAAa,CAkH5E"}
@@ -0,0 +1,27 @@
1
+ import type { Schema } from '../internal/types.js';
2
+ import type { ReadonlyDrizzle } from '../types/db.js';
3
+ /**
4
+ * Middleware for `@ponder/client`.
5
+ *
6
+ * @param db - Drizzle database instance
7
+ * @param schema - Ponder schema
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * import { db } from "ponder:api";
12
+ * import schema from "ponder:schema";
13
+ * import { Hono } from "hono";
14
+ * import { client } from "ponder";
15
+ *
16
+ * const app = new Hono();
17
+ *
18
+ * app.use("/sql/*", client({ db, schema }));
19
+ *
20
+ * export default app;
21
+ * ```
22
+ */
23
+ export declare const client: ({ db, }: {
24
+ db: ReadonlyDrizzle<Schema>;
25
+ schema: Schema;
26
+ }) => import("hono").MiddlewareHandler<any, string, {}>;
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAgBrD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM;QAEV,gBAAgB,MAAM,CAAC;YAAU,MAAM;uDAkG/C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const validateQuery: (sql: string) => Promise<void>;
2
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/client/validate.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,aAAa,QAAe,MAAM,kBAsE9C,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { AbiEvent } from "viem";
2
+ export type Factory<event extends AbiEvent = AbiEvent> = {
3
+ /** Address of the factory contract that creates this contract. */
4
+ address: `0x${string}` | readonly `0x${string}`[];
5
+ /** ABI event that announces the creation of a new instance of this contract. */
6
+ event: event;
7
+ /** Name of the factory event parameter that contains the new child contract address. */
8
+ parameter: Exclude<event["inputs"][number]["name"], undefined>;
9
+ };
10
+ export declare const factory: <event extends AbiEvent>(factory: Factory<event>) => Factory<event>;
11
+ export type AddressConfig = {
12
+ address?: `0x${string}` | readonly `0x${string}`[] | Factory;
13
+ };
14
+ //# sourceMappingURL=address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../src/config/address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,QAAQ,GAAG,QAAQ,IAAI;IACvD,kEAAkE;IAClE,OAAO,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,KAAK,MAAM,EAAE,EAAE,CAAC;IAClD,gFAAgF;IAChF,KAAK,EAAE,KAAK,CAAC;IACb,wFAAwF;IACxF,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;CAChE,CAAC;AAEF,eAAO,MAAM,OAAO,qEACX,CAAC;AAEV,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,KAAK,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC;CAC9D,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { Abi, GetEventArgs } from "viem";
2
+ import type { ParseAbiEvent, SafeEventNames } from "./utilityTypes.js";
3
+ type FilterArgs<abi extends Abi, event extends string> = GetEventArgs<abi, string, {
4
+ EnableUnion: true;
5
+ IndexedOnly: true;
6
+ Required: false;
7
+ }, ParseAbiEvent<abi, event>>;
8
+ export type GetEventFilter<abi extends Abi, safeEventNames extends string = SafeEventNames<abi>> = {
9
+ filter?: (safeEventNames extends safeEventNames ? {
10
+ event: safeEventNames;
11
+ args: FilterArgs<abi, safeEventNames>;
12
+ } : never) | (safeEventNames extends safeEventNames ? {
13
+ event: safeEventNames;
14
+ args: FilterArgs<abi, safeEventNames>;
15
+ } : never)[];
16
+ };
17
+ export {};
18
+ //# sourceMappingURL=eventFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventFilter.d.ts","sourceRoot":"","sources":["../../../src/config/eventFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEvE,KAAK,UAAU,CAAC,GAAG,SAAS,GAAG,EAAE,KAAK,SAAS,MAAM,IAAI,YAAY,CACnE,GAAG,EACH,MAAM,EACN;IACE,WAAW,EAAE,IAAI,CAAC;IAClB,WAAW,EAAE,IAAI,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;CACjB,EACD,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAC1B,CAAC;AAEF,MAAM,MAAM,cAAc,CACxB,GAAG,SAAS,GAAG,EAEf,cAAc,SAAS,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,IACjD;IACF,MAAM,CAAC,EACH,CAAC,cAAc,SAAS,cAAc,GAClC;QACE,KAAK,EAAE,cAAc,CAAC;QACtB,IAAI,EAAE,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;KACvC,GACD,KAAK,CAAC,GACV,CAAC,cAAc,SAAS,cAAc,GAClC;QACE,KAAK,EAAE,cAAc,CAAC;QACtB,IAAI,EAAE,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;KACvC,GACD,KAAK,CAAC,EAAE,CAAC;CAClB,CAAC"}
@@ -0,0 +1,143 @@
1
+ import type { Prettify } from '../types/utils.js';
2
+ import type { Abi } from "abitype";
3
+ import type { Narrow, Transport } from "viem";
4
+ import type { AddressConfig } from "./address.js";
5
+ import type { GetEventFilter } from "./eventFilter.js";
6
+ export type Config = {
7
+ database?: DatabaseConfig;
8
+ ordering?: "omnichain" | "multichain";
9
+ networks: {
10
+ [networkName: string]: NetworkConfig<unknown>;
11
+ };
12
+ contracts: {
13
+ [contractName: string]: GetContract;
14
+ };
15
+ accounts: {
16
+ [accountName: string]: AccountConfig<unknown>;
17
+ };
18
+ blocks: {
19
+ [sourceName: string]: GetBlockFilter<unknown>;
20
+ };
21
+ };
22
+ export type CreateConfigReturnType<networks, contracts, accounts, blocks> = {
23
+ database?: DatabaseConfig;
24
+ ordering?: "omnichain" | "multichain";
25
+ networks: networks;
26
+ contracts: contracts;
27
+ accounts: accounts;
28
+ blocks: blocks;
29
+ };
30
+ export declare const createConfig: <const networks, const contracts = {}, const accounts = {}, const blocks = {}>(config: {
31
+ database?: DatabaseConfig | undefined;
32
+ ordering?: "omnichain" | "multichain" | undefined;
33
+ networks: NetworksConfig<Narrow<networks>>;
34
+ contracts?: ContractsConfig<networks, Narrow<contracts>> | undefined;
35
+ accounts?: AccountsConfig<networks, Narrow<accounts>> | undefined;
36
+ blocks?: BlockFiltersConfig<networks, blocks> | undefined;
37
+ }) => CreateConfigReturnType<networks, contracts, accounts, blocks>;
38
+ type DatabaseConfig = {
39
+ kind: "pglite";
40
+ /** Directory path to use for PGlite database files. Default: `".ponder/pglite"`. */
41
+ directory?: string;
42
+ } | {
43
+ kind: "postgres";
44
+ /** Postgres database connection string. Default: `DATABASE_PRIVATE_URL` > `DATABASE_URL` environment variable. */
45
+ connectionString?: string;
46
+ /** Postgres pool configuration passed to `node-postgres`. */
47
+ poolConfig?: {
48
+ /** Maximum number of clients in the pool. Default: `30`. */
49
+ max?: number;
50
+ };
51
+ };
52
+ type BlockConfig = {
53
+ /** Block number at which to start indexing events (inclusive). If `undefined`, events will be processed from block 0. Default: `undefined`. */
54
+ startBlock?: number | "latest";
55
+ /** Block number at which to stop indexing events (inclusive). If `undefined`, events will be processed in real-time. Default: `undefined`. */
56
+ endBlock?: number | "latest";
57
+ };
58
+ type TransactionReceiptConfig = {
59
+ includeTransactionReceipts?: boolean;
60
+ };
61
+ type FunctionCallConfig = {
62
+ includeCallTraces?: boolean;
63
+ };
64
+ type NetworkConfig<network> = {
65
+ /** Chain ID of the network. */
66
+ chainId: network extends {
67
+ chainId: infer chainId extends number;
68
+ } ? chainId | number : number;
69
+ /** A viem `http`, `webSocket`, or `fallback` [Transport](https://viem.sh/docs/clients/transports/http.html).
70
+ *
71
+ * __To avoid rate limiting, include a custom RPC URL.__ Usage:
72
+ *
73
+ * ```ts
74
+ * import { http } from "viem";
75
+ *
76
+ * const network = {
77
+ * name: "mainnet",
78
+ * chainId: 1,
79
+ * transport: http("https://eth-mainnet.g.alchemy.com/v2/..."),
80
+ * }
81
+ * ```
82
+ */
83
+ transport: Transport;
84
+ /** Polling interval (in ms). Default: `1_000`. */
85
+ pollingInterval?: number;
86
+ /** Maximum number of RPC requests per second. Default: `50`. */
87
+ maxRequestsPerSecond?: number;
88
+ /** Disable RPC request caching. Default: `false`. */
89
+ disableCache?: boolean;
90
+ };
91
+ type NetworksConfig<networks> = {} extends networks ? {} : {
92
+ [networkName in keyof networks]: NetworkConfig<networks[networkName]>;
93
+ };
94
+ type AbiConfig<abi extends Abi | readonly unknown[]> = {
95
+ /** Contract application byte interface. */
96
+ abi: abi;
97
+ };
98
+ type GetContractNetwork<networks, abi extends Abi, allNetworkNames extends string = [keyof networks] extends [never] ? string : keyof networks & string> = {
99
+ /**
100
+ * Network that this contract is deployed to. Must match a network name in `networks`.
101
+ * Any filter information overrides the values in the higher level "contracts" property.
102
+ */
103
+ network: allNetworkNames | {
104
+ [name in allNetworkNames]?: Prettify<AddressConfig & GetEventFilter<abi> & TransactionReceiptConfig & FunctionCallConfig & BlockConfig>;
105
+ };
106
+ };
107
+ type ContractConfig<networks, abi extends Abi> = Prettify<AbiConfig<abi> & GetContractNetwork<networks, abi> & AddressConfig & GetEventFilter<abi> & TransactionReceiptConfig & FunctionCallConfig & BlockConfig>;
108
+ type GetContract<networks = unknown, contract = unknown> = contract extends {
109
+ abi: infer abi extends Abi;
110
+ } ? ContractConfig<networks, abi> : ContractConfig<networks, Abi>;
111
+ type ContractsConfig<networks, contracts> = {} extends contracts ? {} : {
112
+ [name in keyof contracts]: GetContract<networks, contracts[name]>;
113
+ };
114
+ type GetAccountNetwork<networks, allNetworkNames extends string = [keyof networks] extends [never] ? string : keyof networks & string> = {
115
+ /**
116
+ * Network that this account is deployed to. Must match a network name in `networks`.
117
+ * Any filter information overrides the values in the higher level "accounts" property.
118
+ */
119
+ network: allNetworkNames | {
120
+ [name in allNetworkNames]?: Prettify<AddressConfig & TransactionReceiptConfig & BlockConfig>;
121
+ };
122
+ };
123
+ type AccountConfig<networks> = Prettify<GetAccountNetwork<networks> & Required<AddressConfig> & TransactionReceiptConfig & BlockConfig>;
124
+ type AccountsConfig<networks, accounts> = {} extends accounts ? {} : {
125
+ [name in keyof accounts]: AccountConfig<networks>;
126
+ };
127
+ type BlockFilterConfig = {
128
+ /** Block number at which to start indexing events (inclusive). If `undefined`, events will be processed from block 0. Default: `undefined`. */
129
+ startBlock?: number | "latest";
130
+ /** Block number at which to stop indexing events (inclusive). If `undefined`, events will be processed in real-time. Default: `undefined`. */
131
+ endBlock?: number | "latest";
132
+ interval?: number;
133
+ };
134
+ type GetBlockFilter<networks, allNetworkNames extends string = [keyof networks] extends [never] ? string : keyof networks & string> = BlockFilterConfig & {
135
+ network: allNetworkNames | {
136
+ [name in allNetworkNames]?: BlockFilterConfig;
137
+ };
138
+ };
139
+ type BlockFiltersConfig<networks = unknown, blocks = unknown> = {} extends blocks ? {} : {
140
+ [name in keyof blocks]: GetBlockFilter<networks>;
141
+ };
142
+ export {};
143
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { Chain, Transport } from "viem";
2
+ /**
3
+ * Returns the number of blocks that must pass before a block is considered final.
4
+ * Note that a value of `0` indicates that blocks are considered final immediately.
5
+ *
6
+ * @param network The network to get the finality block count for.
7
+ * @returns The finality block count.
8
+ */
9
+ export declare function getFinalityBlockCount({ chainId }: {
10
+ chainId: number;
11
+ }): number;
12
+ /**
13
+ * Returns the list of RPC URLs backing a Transport.
14
+ *
15
+ * @param transport A viem Transport.
16
+ * @returns Array of RPC URLs.
17
+ */
18
+ export declare function getRpcUrlsForClient(parameters: {
19
+ transport: Transport;
20
+ chain: Chain;
21
+ }): Promise<any[]>;
22
+ /**
23
+ * Returns `true` if the RPC URL is found in the list of public RPC URLs
24
+ * included in viem/chains. Handles both HTTP and WebSocket RPC URLs.
25
+ *
26
+ * @param rpcUrl An RPC URL.
27
+ * @returns Boolean indicating if the RPC URL is public.
28
+ */
29
+ export declare function isRpcUrlPublic(rpcUrl: string | undefined): boolean;
30
+ //# sourceMappingURL=networks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../src/config/networks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAU,SAAS,EAAE,MAAM,MAAM,CAAC;AAErD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,UA8BrE;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,EAAE;IACpD,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;CACd,kBAmDA;AAID;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,WAsBxD"}
@@ -0,0 +1,43 @@
1
+ import type { Abi, AbiEvent, AbiFunction, AbiParametersToPrimitiveTypes, FormatAbiItem } from "abitype";
2
+ import type { GetEventArgs, ParseAbiItem } from "viem";
3
+ export type NonStrictPick<T, K> = {
4
+ [P in Extract<keyof T, K>]: T[P];
5
+ };
6
+ export type ExtractAbiEvents<abi extends Abi, events = Extract<abi[number], {
7
+ type: "event";
8
+ }>> = [events] extends [never] ? AbiEvent : events;
9
+ export type ExtractAbiFunctions<abi extends Abi, functions = Extract<abi[number], {
10
+ type: "function";
11
+ }>> = [functions] extends [never] ? AbiFunction : functions;
12
+ /** Return the abi event given the abi and compact signature. */
13
+ export type ParseAbiEvent<abi extends Abi, signature extends string, abiEvents extends AbiEvent = ExtractAbiEvents<abi>, noOverloadEvent = Extract<abiEvents, {
14
+ name: signature;
15
+ }>, overloadEvent = Extract<abiEvents, ParseAbiItem<`event ${signature}`>>> = [noOverloadEvent] extends [never] ? [overloadEvent] extends [never] ? AbiEvent : overloadEvent : noOverloadEvent;
16
+ /** Return the abi function given the abi and compact signature. */
17
+ export type ParseAbiFunction<abi extends Abi, signature extends string, abiFunctions extends AbiFunction = ExtractAbiFunctions<abi>, noOverloadFunction = Extract<abiFunctions, {
18
+ name: signature extends `${infer _signature}()` ? _signature : never;
19
+ }>, overloadFunction = Extract<abiFunctions, ParseAbiItem<`function ${signature}`>>> = [overloadFunction] extends [never] ? [noOverloadFunction] extends [never] ? AbiFunction : noOverloadFunction : overloadFunction;
20
+ /** Return the compact signature given the abi and abi event. */
21
+ export type FormatAbiEvent<abi extends Abi, event extends AbiEvent, abiEvents extends AbiEvent = ExtractAbiEvents<abi>, matchingNameEvents extends AbiEvent = Extract<abiEvents, {
22
+ name: event["name"];
23
+ }>> = [matchingNameEvents] extends [never] ? Abi extends abi ? event["name"] : never : [Exclude<matchingNameEvents, event>] extends [never] ? event["name"] : FormatAbiItem<event> extends `event ${infer signature}` ? signature : never;
24
+ /** Return the compact signature given the abi and abi function. */
25
+ export type FormatAbiFunction<abi extends Abi, _function extends AbiFunction, abiFunctions extends AbiFunction = ExtractAbiFunctions<abi>, matchingNameFunctions extends AbiFunction = Extract<abiFunctions, {
26
+ name: _function["name"];
27
+ }>> = [matchingNameFunctions] extends [never] ? Abi extends abi ? `${_function["name"]}()` : never : [Exclude<matchingNameFunctions, _function>] extends [never] ? `${_function["name"]}()` : FormatAbiItem<_function> extends `function ${infer signature}` ? signature : never;
28
+ /**
29
+ * Return an union of safe event names that handle event overridding.
30
+ */
31
+ export type SafeEventNames<abi extends Abi, abiEvents extends AbiEvent = ExtractAbiEvents<abi>> = abiEvents extends abiEvents ? FormatAbiEvent<abi, abiEvents> : never;
32
+ /**
33
+ * Return an union of safe function names that handle function overridding.
34
+ */
35
+ export type SafeFunctionNames<abi extends Abi, abiFunctions extends AbiFunction = ExtractAbiFunctions<abi>> = abiFunctions extends abiFunctions ? FormatAbiFunction<abi, abiFunctions> : never;
36
+ export type FormatEventArgs<abi extends Abi, signature extends string> = GetEventArgs<Abi, string, {
37
+ EnableUnion: false;
38
+ IndexedOnly: false;
39
+ Required: true;
40
+ }, ParseAbiEvent<abi, signature>>;
41
+ export type FormatFunctionArgs<abi extends Abi, signature extends string, args = AbiParametersToPrimitiveTypes<ParseAbiFunction<abi, signature>["inputs"]>> = readonly [] extends args ? never : args;
42
+ export type FormatFunctionResult<abi extends Abi, signature extends string, result = AbiParametersToPrimitiveTypes<ParseAbiFunction<abi, signature>["outputs"]>> = readonly [] extends result ? never : result extends readonly [unknown] ? result[0] : result;
43
+ //# sourceMappingURL=utilityTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilityTypes.d.ts","sourceRoot":"","sources":["../../../src/config/utilityTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import { getTableNames } from '../drizzle/index.js';
2
+ import type { Common } from '../internal/common.js';
3
+ import type { IndexingBuild, NamespaceBuild, PreBuild, Schema, SchemaBuild } from '../internal/types.js';
4
+ import type { PonderSyncSchema } from '../sync-store/encoding.js';
5
+ import type { Drizzle } from '../types/db.js';
6
+ import type { PGlite } from "@electric-sql/pglite";
7
+ import { Kysely } from "kysely";
8
+ import type { Pool, PoolClient } from "pg";
9
+ export type Database = {
10
+ driver: PostgresDriver | PGliteDriver;
11
+ qb: QueryBuilder;
12
+ wrap: <T>(options: {
13
+ method: string;
14
+ includeTraceLogs?: boolean;
15
+ }, fn: () => Promise<T>) => Promise<T>;
16
+ /** Migrate the `ponder_sync` schema. */
17
+ migrateSync(): Promise<void>;
18
+ /** Migrate the user schema. */
19
+ migrate({ buildId }: Pick<IndexingBuild, "buildId">): Promise<void>;
20
+ /** Determine the app checkpoint, possibly reverting unfinalized rows. */
21
+ recoverCheckpoint(): Promise<string>;
22
+ createIndexes(): Promise<void>;
23
+ createTriggers(): Promise<void>;
24
+ removeTriggers(): Promise<void>;
25
+ revert(args: {
26
+ checkpoint: string;
27
+ }): Promise<void>;
28
+ finalize(args: {
29
+ checkpoint: string;
30
+ }): Promise<void>;
31
+ complete(args: {
32
+ checkpoint: string;
33
+ }): Promise<void>;
34
+ };
35
+ export type PonderApp = {
36
+ is_locked: 0 | 1;
37
+ is_dev: 0 | 1;
38
+ heartbeat_at: number;
39
+ build_id: string;
40
+ checkpoint: string;
41
+ table_names: string[];
42
+ version: string;
43
+ };
44
+ export type PonderInternalSchema = {
45
+ _ponder_meta: {
46
+ key: "app";
47
+ value: PonderApp;
48
+ };
49
+ _ponder_status: {
50
+ network_name: string;
51
+ block_number: number | null;
52
+ block_timestamp: number | null;
53
+ ready: boolean;
54
+ };
55
+ } & {
56
+ [_: ReturnType<typeof getTableNames>[number]["sql"]]: unknown;
57
+ } & {
58
+ [_: ReturnType<typeof getTableNames>[number]["reorg"]]: unknown & {
59
+ operation_id: number;
60
+ operation: 0 | 1 | 2;
61
+ checkpoint: string;
62
+ };
63
+ };
64
+ type PGliteDriver = {
65
+ instance: PGlite;
66
+ };
67
+ type PostgresDriver = {
68
+ internal: Pool;
69
+ user: Pool;
70
+ sync: Pool;
71
+ readonly: Pool;
72
+ listen: PoolClient | undefined;
73
+ };
74
+ type QueryBuilder = {
75
+ /** For updating metadata and handling reorgs */
76
+ internal: Kysely<PonderInternalSchema>;
77
+ /** For indexing-store methods in user code */
78
+ user: Kysely<any>;
79
+ /** Used to interact with the sync-store */
80
+ sync: Kysely<PonderSyncSchema>;
81
+ drizzle: Drizzle<Schema>;
82
+ drizzleReadonly: Drizzle<Schema>;
83
+ };
84
+ export declare const createDatabase: ({ common, namespace, preBuild, schemaBuild, }: {
85
+ common: Common;
86
+ namespace: NamespaceBuild;
87
+ preBuild: Pick<PreBuild, "databaseConfig">;
88
+ schemaBuild: Omit<SchemaBuild, "graphqlSchema">;
89
+ }) => Promise<Database>;
90
+ export {};
91
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/database/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,QAAQ,EACR,MAAM,EACN,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAKjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAW7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAKnD,OAAO,EACL,MAAM,EAMP,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAG3C,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,cAAc,GAAG,YAAY,CAAC;IACtC,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,EAAE,CAAC,CAAC,EACN,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,EACvD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KACjB,OAAO,CAAC,CAAC,CAAC,CAAC;IAChB,wCAAwC;IACxC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,+BAA+B;IAC/B,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,yEAAyE;IACzE,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAIF,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE;QAAE,GAAG,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IAC/C,cAAc,EAAE;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;CACH,GAAG;IACF,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;CAC/D,GAAG;IACF,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG;QAChE,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,IAAI,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACvC,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAClB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,cAAc;YAMjB,MAAM;eACH,cAAc;cACf,KAAK,QAAQ,EAAE,gBAAgB,CAAC;iBAC7B,KAAK,WAAW,EAAE,eAAe,CAAC;MAC7C,QAAQ,QAAQ,CAwmCnB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { type ColumnBaseConfig, type ColumnBuilderBaseConfig, type MakeColumnConfig, entityKind } from "drizzle-orm";
2
+ import { type AnyPgTable, PgColumn, PgColumnBuilder } from "drizzle-orm/pg-core";
3
+ export type PgBigintBuilderInitial<TName extends string> = PgBigintBuilder<{
4
+ name: TName;
5
+ dataType: "bigint";
6
+ columnType: "PgEvmBigint";
7
+ data: bigint;
8
+ driverParam: string;
9
+ enumValues: undefined;
10
+ generated: undefined;
11
+ }>;
12
+ export declare class PgBigintBuilder<T extends ColumnBuilderBaseConfig<"bigint", "PgEvmBigint">> extends PgColumnBuilder<T> {
13
+ static readonly [entityKind]: string;
14
+ constructor(name: T["name"]);
15
+ /** @internal */
16
+ build<TTableName extends string>(table: AnyPgTable<{
17
+ name: TTableName;
18
+ }>): PgBigint<MakeColumnConfig<T, TTableName>>;
19
+ }
20
+ export declare class PgBigint<T extends ColumnBaseConfig<"bigint", "PgEvmBigint">> extends PgColumn<T> {
21
+ static readonly [entityKind]: string;
22
+ getSQLType(): string;
23
+ mapFromDriverValue(value: string): bigint;
24
+ }
25
+ //# sourceMappingURL=bigint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bigint.d.ts","sourceRoot":"","sources":["../../../src/drizzle/bigint.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAE5B,KAAK,gBAAgB,EACrB,UAAU,EACX,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,UAAU,EACf,QAAQ,EACR,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,sBAAsB,CAAC,KAAK,SAAS,MAAM,IAAI,eAAe,CAAC;IACzE,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC,CAAC;AAEH,qBAAa,eAAe,CAC1B,CAAC,SAAS,uBAAuB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAC1D,SAAQ,eAAe,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAwB;gBAEhD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAI3B,gBAAgB;IAEP,KAAK,CAAC,UAAU,SAAS,MAAM,EACtC,KAAK,EAAE,UAAU,CAAC;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,GACtC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;CAM7C;AAED,qBAAa,QAAQ,CACnB,CAAC,SAAS,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,CACnD,SAAQ,QAAQ,CAAC,CAAC,CAAC;IACnB,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAiB;IAErD,UAAU,IAAI,MAAM;IAIX,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAGnD"}
@@ -0,0 +1,25 @@
1
+ import { type ColumnBaseConfig, type ColumnBuilderBaseConfig, type MakeColumnConfig, entityKind } from "drizzle-orm";
2
+ import { type AnyPgTable, PgColumn, PgColumnBuilder } from "drizzle-orm/pg-core";
3
+ export type PgHexBuilderInitial<TName extends string> = PgHexBuilder<{
4
+ name: TName;
5
+ dataType: "string";
6
+ columnType: "PgHex";
7
+ data: `0x${string}`;
8
+ driverParam: string;
9
+ enumValues: undefined;
10
+ generated: undefined;
11
+ }>;
12
+ export declare class PgHexBuilder<T extends ColumnBuilderBaseConfig<"string", "PgHex">> extends PgColumnBuilder<T> {
13
+ static readonly [entityKind]: string;
14
+ constructor(name: T["name"]);
15
+ /** @internal */
16
+ build<TTableName extends string>(table: AnyPgTable<{
17
+ name: TTableName;
18
+ }>): PgHex<MakeColumnConfig<T, TTableName>>;
19
+ }
20
+ export declare class PgHex<T extends ColumnBaseConfig<"string", "PgHex">> extends PgColumn<T> {
21
+ static readonly [entityKind]: string;
22
+ getSQLType(): string;
23
+ mapToDriverValue(value: `0x${string}`): `0x${string}`;
24
+ }
25
+ //# sourceMappingURL=hex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hex.d.ts","sourceRoot":"","sources":["../../../src/drizzle/hex.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAE5B,KAAK,gBAAgB,EACrB,UAAU,EACX,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,UAAU,EACf,QAAQ,EACR,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,mBAAmB,CAAC,KAAK,SAAS,MAAM,IAAI,YAAY,CAAC;IACnE,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC,CAAC;AAEH,qBAAa,YAAY,CACvB,CAAC,SAAS,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CACpD,SAAQ,eAAe,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAkB;gBAE1C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAI3B,gBAAgB;IAEP,KAAK,CAAC,UAAU,SAAS,MAAM,EACtC,KAAK,EAAE,UAAU,CAAC;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,GACtC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;CAM1C;AAED,qBAAa,KAAK,CAChB,CAAC,SAAS,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAC7C,SAAQ,QAAQ,CAAC,CAAC,CAAC;IACnB,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAW;IAE/C,UAAU,IAAI,MAAM;IAIX,gBAAgB,CAAC,KAAK,EAAE,KAAK,MAAM,EAAE;CAI/C"}
@@ -0,0 +1,14 @@
1
+ import type { Schema } from '../internal/types.js';
2
+ import { PgTable } from "drizzle-orm/pg-core";
3
+ export declare const getTableNames: (schema: Schema) => {
4
+ readonly sql: string;
5
+ readonly reorg: string;
6
+ readonly trigger: string;
7
+ readonly triggerFn: `operation_reorg__${string}()`;
8
+ readonly js: string;
9
+ }[];
10
+ export declare const getPrimaryKeyColumns: (table: PgTable) => {
11
+ sql: string;
12
+ js: string;
13
+ }[];
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/drizzle/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAiB,OAAO,EAAkB,MAAM,qBAAqB,CAAC;AAG7E,eAAO,MAAM,aAAa,WAAY,MAAM;;;;;;GAgB3C,CAAC;AAEF,eAAO,MAAM,oBAAoB,UACxB,OAAO,KACb;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EA6B7B,CAAC"}
@@ -0,0 +1,49 @@
1
+ type CasingType = "snake_case" | "camelCase";
2
+ export type SqlStatements = {
3
+ tables: {
4
+ sql: string[];
5
+ json: JsonCreateTableStatement[];
6
+ };
7
+ enums: {
8
+ sql: string[];
9
+ json: JsonCreateEnumStatement[];
10
+ };
11
+ indexes: {
12
+ sql: string[];
13
+ json: JsonPgCreateIndexStatement[];
14
+ };
15
+ };
16
+ export declare const sqlToReorgTableName: (tableName: string) => string;
17
+ export declare const getSql: (schema: {
18
+ [name: string]: unknown;
19
+ }) => SqlStatements;
20
+ type Index = any;
21
+ type Column = any;
22
+ interface JsonCreateTableStatement {
23
+ type: "create_table";
24
+ tableName: string;
25
+ schema: string;
26
+ columns: Column[];
27
+ compositePKs: string[];
28
+ compositePkName?: string;
29
+ uniqueConstraints?: string[];
30
+ checkConstraints?: string[];
31
+ }
32
+ interface JsonCreateEnumStatement {
33
+ type: "create_type_enum";
34
+ name: string;
35
+ schema: string;
36
+ values: string[];
37
+ }
38
+ interface JsonPgCreateIndexStatement {
39
+ type: "create_index_pg";
40
+ tableName: string;
41
+ data: Index;
42
+ schema: string;
43
+ }
44
+ export declare function getColumnCasing(column: {
45
+ keyAsName: boolean;
46
+ name: string | undefined;
47
+ }, casing: CasingType | undefined): string;
48
+ export {};
49
+ //# sourceMappingURL=index.d.ts.map