@hugomrdias/foxer 0.0.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 (311) hide show
  1. package/README.md +56 -0
  2. package/dist/src/api/index.d.ts +2 -0
  3. package/dist/src/api/index.d.ts.map +1 -0
  4. package/dist/src/api/index.js +2 -0
  5. package/dist/src/api/index.js.map +1 -0
  6. package/dist/src/api/runner.d.ts +12 -0
  7. package/dist/src/api/runner.d.ts.map +1 -0
  8. package/dist/src/api/runner.js +29 -0
  9. package/dist/src/api/runner.js.map +1 -0
  10. package/dist/src/api/server.d.ts +18 -0
  11. package/dist/src/api/server.d.ts.map +1 -0
  12. package/dist/src/api/server.js +21 -0
  13. package/dist/src/api/server.js.map +1 -0
  14. package/dist/src/api/sql-middleware.d.ts +7 -0
  15. package/dist/src/api/sql-middleware.d.ts.map +1 -0
  16. package/dist/src/api/sql-middleware.js +95 -0
  17. package/dist/src/api/sql-middleware.js.map +1 -0
  18. package/dist/src/api/sql.d.ts +14 -0
  19. package/dist/src/api/sql.d.ts.map +1 -0
  20. package/dist/src/api/sql.js +108 -0
  21. package/dist/src/api/sql.js.map +1 -0
  22. package/dist/src/api/sse.d.ts +3 -0
  23. package/dist/src/api/sse.d.ts.map +1 -0
  24. package/dist/src/api/sse.js +11 -0
  25. package/dist/src/api/sse.js.map +1 -0
  26. package/dist/src/bin/dev.d.ts +3 -0
  27. package/dist/src/bin/dev.d.ts.map +1 -0
  28. package/dist/src/bin/dev.js +76 -0
  29. package/dist/src/bin/dev.js.map +1 -0
  30. package/dist/src/bin/flags.d.ts +32 -0
  31. package/dist/src/bin/flags.d.ts.map +1 -0
  32. package/dist/src/bin/flags.js +55 -0
  33. package/dist/src/bin/flags.js.map +1 -0
  34. package/dist/src/bin/index.d.ts +3 -0
  35. package/dist/src/bin/index.d.ts.map +1 -0
  36. package/dist/src/bin/index.js +22 -0
  37. package/dist/src/bin/index.js.map +1 -0
  38. package/dist/src/bin/utils.d.ts +4 -0
  39. package/dist/src/bin/utils.d.ts.map +1 -0
  40. package/dist/src/bin/utils.js +52 -0
  41. package/dist/src/bin/utils.js.map +1 -0
  42. package/dist/src/client/index.d.ts +18 -0
  43. package/dist/src/client/index.d.ts.map +1 -0
  44. package/dist/src/client/index.js +150 -0
  45. package/dist/src/client/index.js.map +1 -0
  46. package/dist/src/config/config.d.ts +157 -0
  47. package/dist/src/config/config.d.ts.map +1 -0
  48. package/dist/src/config/config.js +65 -0
  49. package/dist/src/config/config.js.map +1 -0
  50. package/dist/src/config/env.d.ts +25 -0
  51. package/dist/src/config/env.d.ts.map +1 -0
  52. package/dist/src/config/env.js +21 -0
  53. package/dist/src/config/env.js.map +1 -0
  54. package/dist/src/contants.d.ts +4 -0
  55. package/dist/src/contants.d.ts.map +1 -0
  56. package/dist/src/contants.js +4 -0
  57. package/dist/src/contants.js.map +1 -0
  58. package/dist/src/db/actions/blocks.d.ts +44 -0
  59. package/dist/src/db/actions/blocks.d.ts.map +1 -0
  60. package/dist/src/db/actions/blocks.js +152 -0
  61. package/dist/src/db/actions/blocks.js.map +1 -0
  62. package/dist/src/db/actions/index.d.ts +2 -0
  63. package/dist/src/db/actions/index.d.ts.map +1 -0
  64. package/dist/src/db/actions/index.js +2 -0
  65. package/dist/src/db/actions/index.js.map +1 -0
  66. package/dist/src/db/actions/transactions.d.ts +11 -0
  67. package/dist/src/db/actions/transactions.d.ts.map +1 -0
  68. package/dist/src/db/actions/transactions.js +22 -0
  69. package/dist/src/db/actions/transactions.js.map +1 -0
  70. package/dist/src/db/client.d.ts +329 -0
  71. package/dist/src/db/client.d.ts.map +1 -0
  72. package/dist/src/db/client.js +108 -0
  73. package/dist/src/db/client.js.map +1 -0
  74. package/dist/src/db/column-types.d.ts +132 -0
  75. package/dist/src/db/column-types.d.ts.map +1 -0
  76. package/dist/src/db/column-types.js +86 -0
  77. package/dist/src/db/column-types.js.map +1 -0
  78. package/dist/src/db/encode.d.ts +10 -0
  79. package/dist/src/db/encode.d.ts.map +1 -0
  80. package/dist/src/db/encode.js +79 -0
  81. package/dist/src/db/encode.js.map +1 -0
  82. package/dist/src/db/migrate.d.ts +31 -0
  83. package/dist/src/db/migrate.d.ts.map +1 -0
  84. package/dist/src/db/migrate.js +147 -0
  85. package/dist/src/db/migrate.js.map +1 -0
  86. package/dist/src/db/schema/blocks.d.ts +369 -0
  87. package/dist/src/db/schema/blocks.d.ts.map +1 -0
  88. package/dist/src/db/schema/blocks.js +24 -0
  89. package/dist/src/db/schema/blocks.js.map +1 -0
  90. package/dist/src/db/schema/index.d.ts +1415 -0
  91. package/dist/src/db/schema/index.d.ts.map +1 -0
  92. package/dist/src/db/schema/index.js +18 -0
  93. package/dist/src/db/schema/index.js.map +1 -0
  94. package/dist/src/db/schema/transactions.d.ts +336 -0
  95. package/dist/src/db/schema/transactions.d.ts.map +1 -0
  96. package/dist/src/db/schema/transactions.js +33 -0
  97. package/dist/src/db/schema/transactions.js.map +1 -0
  98. package/dist/src/db/transaction.d.ts +7 -0
  99. package/dist/src/db/transaction.d.ts.map +1 -0
  100. package/dist/src/db/transaction.js +8 -0
  101. package/dist/src/db/transaction.js.map +1 -0
  102. package/dist/src/hooks/default-hooks.d.ts +2 -0
  103. package/dist/src/hooks/default-hooks.d.ts.map +1 -0
  104. package/dist/src/hooks/default-hooks.js +107 -0
  105. package/dist/src/hooks/default-hooks.js.map +1 -0
  106. package/dist/src/hooks/registry.d.ts +51 -0
  107. package/dist/src/hooks/registry.d.ts.map +1 -0
  108. package/dist/src/hooks/registry.js +32 -0
  109. package/dist/src/hooks/registry.js.map +1 -0
  110. package/dist/src/index.d.ts +10 -0
  111. package/dist/src/index.d.ts.map +1 -0
  112. package/dist/src/index.js +4 -0
  113. package/dist/src/index.js.map +1 -0
  114. package/dist/src/indexer/backfill.d.ts +15 -0
  115. package/dist/src/indexer/backfill.d.ts.map +1 -0
  116. package/dist/src/indexer/backfill.js +95 -0
  117. package/dist/src/indexer/backfill.js.map +1 -0
  118. package/dist/src/indexer/live.d.ts +20 -0
  119. package/dist/src/indexer/live.d.ts.map +1 -0
  120. package/dist/src/indexer/live.js +51 -0
  121. package/dist/src/indexer/live.js.map +1 -0
  122. package/dist/src/indexer/process-block.d.ts +29 -0
  123. package/dist/src/indexer/process-block.d.ts.map +1 -0
  124. package/dist/src/indexer/process-block.js +91 -0
  125. package/dist/src/indexer/process-block.js.map +1 -0
  126. package/dist/src/indexer/queue-block.d.ts +18 -0
  127. package/dist/src/indexer/queue-block.d.ts.map +1 -0
  128. package/dist/src/indexer/queue-block.js +38 -0
  129. package/dist/src/indexer/queue-block.js.map +1 -0
  130. package/dist/src/indexer/reorg.d.ts +24 -0
  131. package/dist/src/indexer/reorg.d.ts.map +1 -0
  132. package/dist/src/indexer/reorg.js +83 -0
  133. package/dist/src/indexer/reorg.js.map +1 -0
  134. package/dist/src/indexer/runner.d.ts +14 -0
  135. package/dist/src/indexer/runner.d.ts.map +1 -0
  136. package/dist/src/indexer/runner.js +22 -0
  137. package/dist/src/indexer/runner.js.map +1 -0
  138. package/dist/src/rpc/client.d.ts +11 -0
  139. package/dist/src/rpc/client.d.ts.map +1 -0
  140. package/dist/src/rpc/client.js +18 -0
  141. package/dist/src/rpc/client.js.map +1 -0
  142. package/dist/src/rpc/get-block.d.ts +16 -0
  143. package/dist/src/rpc/get-block.d.ts.map +1 -0
  144. package/dist/src/rpc/get-block.js +77 -0
  145. package/dist/src/rpc/get-block.js.map +1 -0
  146. package/dist/src/rpc/get-logs.d.ts +11 -0
  147. package/dist/src/rpc/get-logs.d.ts.map +1 -0
  148. package/dist/src/rpc/get-logs.js +23 -0
  149. package/dist/src/rpc/get-logs.js.map +1 -0
  150. package/dist/src/schema.d.ts +3 -0
  151. package/dist/src/schema.d.ts.map +1 -0
  152. package/dist/src/schema.js +9 -0
  153. package/dist/src/schema.js.map +1 -0
  154. package/dist/src/types.d.ts +22 -0
  155. package/dist/src/types.d.ts.map +1 -0
  156. package/dist/src/types.js +1 -0
  157. package/dist/src/types.js.map +1 -0
  158. package/dist/src/utils/bloom.d.ts +6 -0
  159. package/dist/src/utils/bloom.d.ts.map +1 -0
  160. package/dist/src/utils/bloom.js +30 -0
  161. package/dist/src/utils/bloom.js.map +1 -0
  162. package/dist/src/utils/build-conflict-columns.d.ts +4 -0
  163. package/dist/src/utils/build-conflict-columns.d.ts.map +1 -0
  164. package/dist/src/utils/build-conflict-columns.js +14 -0
  165. package/dist/src/utils/build-conflict-columns.js.map +1 -0
  166. package/dist/src/utils/common.d.ts +2 -0
  167. package/dist/src/utils/common.d.ts.map +1 -0
  168. package/dist/src/utils/common.js +4 -0
  169. package/dist/src/utils/common.js.map +1 -0
  170. package/dist/src/utils/cursor.d.ts +5 -0
  171. package/dist/src/utils/cursor.d.ts.map +1 -0
  172. package/dist/src/utils/cursor.js +8 -0
  173. package/dist/src/utils/cursor.js.map +1 -0
  174. package/dist/src/utils/format.d.ts +2 -0
  175. package/dist/src/utils/format.d.ts.map +1 -0
  176. package/dist/src/utils/format.js +16 -0
  177. package/dist/src/utils/format.js.map +1 -0
  178. package/dist/src/utils/hash.d.ts +9 -0
  179. package/dist/src/utils/hash.d.ts.map +1 -0
  180. package/dist/src/utils/hash.js +15 -0
  181. package/dist/src/utils/hash.js.map +1 -0
  182. package/dist/src/utils/json.d.ts +5 -0
  183. package/dist/src/utils/json.d.ts.map +1 -0
  184. package/dist/src/utils/json.js +11 -0
  185. package/dist/src/utils/json.js.map +1 -0
  186. package/dist/src/utils/logger.d.ts +11 -0
  187. package/dist/src/utils/logger.d.ts.map +1 -0
  188. package/dist/src/utils/logger.js +111 -0
  189. package/dist/src/utils/logger.js.map +1 -0
  190. package/dist/src/utils/shutdown.d.ts +9 -0
  191. package/dist/src/utils/shutdown.d.ts.map +1 -0
  192. package/dist/src/utils/shutdown.js +24 -0
  193. package/dist/src/utils/shutdown.js.map +1 -0
  194. package/dist/src/utils/timer.d.ts +6 -0
  195. package/dist/src/utils/timer.d.ts.map +1 -0
  196. package/dist/src/utils/timer.js +9 -0
  197. package/dist/src/utils/timer.js.map +1 -0
  198. package/dist/src/utils/types.d.ts +39 -0
  199. package/dist/src/utils/types.d.ts.map +1 -0
  200. package/dist/src/utils/types.js +1 -0
  201. package/dist/src/utils/types.js.map +1 -0
  202. package/dist/tsconfig.tsbuildinfo +1 -0
  203. package/hello/apps/foc-api/README.md +69 -0
  204. package/hello/apps/foc-api/biome.json +8 -0
  205. package/hello/apps/foc-api/index.html +13 -0
  206. package/hello/apps/foc-api/package.json +39 -0
  207. package/hello/apps/foc-api/public/vite.svg +1 -0
  208. package/hello/apps/foc-api/src/app.css +45 -0
  209. package/hello/apps/foc-api/src/app.tsx +43 -0
  210. package/hello/apps/foc-api/src/assets/Cloudflare_Logo.svg +51 -0
  211. package/hello/apps/foc-api/src/assets/react.svg +1 -0
  212. package/hello/apps/foc-api/src/client.ts +41 -0
  213. package/hello/apps/foc-api/src/components/account.tsx +100 -0
  214. package/hello/apps/foc-api/src/components/wallet-options.tsx +43 -0
  215. package/hello/apps/foc-api/src/index.css +68 -0
  216. package/hello/apps/foc-api/src/main.tsx +38 -0
  217. package/hello/apps/foc-api/src/vite-env.d.ts +1 -0
  218. package/hello/apps/foc-api/tsconfig.app.json +44 -0
  219. package/hello/apps/foc-api/tsconfig.json +17 -0
  220. package/hello/apps/foc-api/tsconfig.node.json +25 -0
  221. package/hello/apps/foc-api/tsconfig.worker.json +8 -0
  222. package/hello/apps/foc-api/vite.config.ts +8 -0
  223. package/hello/apps/foc-api/worker/capabilities.ts +25 -0
  224. package/hello/apps/foc-api/worker/index.ts +64 -0
  225. package/hello/apps/foc-api/worker/router.ts +35 -0
  226. package/hello/apps/foc-api/worker-configuration.d.ts +7357 -0
  227. package/hello/apps/foc-api/wrangler.jsonc +50 -0
  228. package/hello/apps/foc-app/README.md +69 -0
  229. package/hello/apps/foc-app/biome.json +8 -0
  230. package/hello/apps/foc-app/index.html +13 -0
  231. package/hello/apps/foc-app/package.json +39 -0
  232. package/hello/apps/foc-app/public/vite.svg +1 -0
  233. package/hello/apps/foc-app/src/app.css +45 -0
  234. package/hello/apps/foc-app/src/app.tsx +43 -0
  235. package/hello/apps/foc-app/src/assets/Cloudflare_Logo.svg +51 -0
  236. package/hello/apps/foc-app/src/assets/react.svg +1 -0
  237. package/hello/apps/foc-app/src/client.ts +41 -0
  238. package/hello/apps/foc-app/src/components/account.tsx +100 -0
  239. package/hello/apps/foc-app/src/components/wallet-options.tsx +43 -0
  240. package/hello/apps/foc-app/src/index.css +68 -0
  241. package/hello/apps/foc-app/src/main.tsx +38 -0
  242. package/hello/apps/foc-app/src/vite-env.d.ts +1 -0
  243. package/hello/apps/foc-app/tsconfig.app.json +44 -0
  244. package/hello/apps/foc-app/tsconfig.json +17 -0
  245. package/hello/apps/foc-app/tsconfig.node.json +25 -0
  246. package/hello/apps/foc-app/tsconfig.worker.json +8 -0
  247. package/hello/apps/foc-app/vite.config.ts +8 -0
  248. package/hello/apps/foc-app/worker/capabilities.ts +25 -0
  249. package/hello/apps/foc-app/worker/index.ts +64 -0
  250. package/hello/apps/foc-app/worker/router.ts +35 -0
  251. package/hello/apps/foc-app/worker-configuration.d.ts +7357 -0
  252. package/hello/apps/foc-app/wrangler.jsonc +50 -0
  253. package/hello/biome.json +50 -0
  254. package/hello/package.json +22 -0
  255. package/hello/pnpm-workspace.yaml +3 -0
  256. package/hello/tsconfig.json +37 -0
  257. package/package.json +78 -0
  258. package/src/api/index.ts +1 -0
  259. package/src/api/runner.ts +43 -0
  260. package/src/api/server.ts +38 -0
  261. package/src/api/sql-middleware.ts +131 -0
  262. package/src/api/sql.ts +149 -0
  263. package/src/api/sse.ts +12 -0
  264. package/src/bin/create.ts +199 -0
  265. package/src/bin/dev.ts +91 -0
  266. package/src/bin/flags.ts +65 -0
  267. package/src/bin/index.ts +28 -0
  268. package/src/bin/utils.ts +55 -0
  269. package/src/config/config.ts +221 -0
  270. package/src/config/env.ts +28 -0
  271. package/src/contants.ts +3 -0
  272. package/src/db/actions/blocks.ts +209 -0
  273. package/src/db/actions/index.ts +1 -0
  274. package/src/db/actions/transactions.ts +32 -0
  275. package/src/db/client.ts +186 -0
  276. package/src/db/column-types.ts +105 -0
  277. package/src/db/encode.ts +99 -0
  278. package/src/db/migrate.ts +222 -0
  279. package/src/db/schema/blocks.ts +24 -0
  280. package/src/db/schema/index.ts +21 -0
  281. package/src/db/schema/transactions.ts +39 -0
  282. package/src/db/transaction.ts +20 -0
  283. package/src/hooks/registry.ts +107 -0
  284. package/src/index.ts +9 -0
  285. package/src/indexer/backfill.ts +133 -0
  286. package/src/indexer/live.ts +76 -0
  287. package/src/indexer/process-block.ts +142 -0
  288. package/src/indexer/queue-block.ts +74 -0
  289. package/src/indexer/reorg.ts +120 -0
  290. package/src/indexer/runner.ts +35 -0
  291. package/src/rpc/client.ts +27 -0
  292. package/src/rpc/get-block.ts +100 -0
  293. package/src/rpc/get-logs.ts +38 -0
  294. package/src/schema.ts +10 -0
  295. package/src/types.ts +32 -0
  296. package/src/utils/bloom.ts +41 -0
  297. package/src/utils/build-conflict-columns.ts +26 -0
  298. package/src/utils/common.ts +3 -0
  299. package/src/utils/cursor.ts +7 -0
  300. package/src/utils/format.ts +18 -0
  301. package/src/utils/hash.ts +17 -0
  302. package/src/utils/json.ts +11 -0
  303. package/src/utils/logger.ts +149 -0
  304. package/src/utils/shutdown.ts +36 -0
  305. package/src/utils/timer.ts +8 -0
  306. package/src/utils/types.ts +87 -0
  307. package/template/biome.json +50 -0
  308. package/template/package.json +22 -0
  309. package/template/pnpm-workspace.yaml +3 -0
  310. package/template/tsconfig.json +37 -0
  311. package/tsconfig.json +8 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAYpB,CAAA;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA2B,CAAA;AAC9C,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { defineRelations } from 'drizzle-orm';
2
+ import { blocks } from "./blocks.js";
3
+ import { transactions } from "./transactions.js";
4
+ export const relations = defineRelations({ blocks, transactions }, (r) => {
5
+ return {
6
+ blocks: {
7
+ transactions: r.many.transactions(),
8
+ },
9
+ transactions: {
10
+ block: r.one.blocks({
11
+ from: r.transactions.blockNumber,
12
+ to: r.blocks.number,
13
+ }),
14
+ },
15
+ };
16
+ });
17
+ export const schema = { blocks, transactions };
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/db/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;IACvE,OAAO;QACL,MAAM,EAAE;YACN,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE;SACpC;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;gBAClB,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,WAAW;gBAChC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;aACpB,CAAC;SACH;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA"}
@@ -0,0 +1,336 @@
1
+ import type { AccessList } from 'viem';
2
+ export declare const transactionTypeEnum: import("drizzle-orm/pg-core").PgEnum<["legacy", "eip1559", "eip2930", "eip4844", "eip7702"]>;
3
+ export declare const transactions: import("drizzle-orm/pg-core").PgTableWithColumns<{
4
+ name: "transactions";
5
+ schema: undefined;
6
+ columns: {
7
+ hash: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").SetIsPrimaryKey<import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
8
+ dataType: "custom";
9
+ data: `0x${string}`;
10
+ driverParam: string;
11
+ }>>, {
12
+ name: string;
13
+ tableName: "transactions";
14
+ dataType: "custom";
15
+ data: `0x${string}`;
16
+ driverParam: string;
17
+ notNull: true;
18
+ hasDefault: false;
19
+ isPrimaryKey: false;
20
+ isAutoincrement: false;
21
+ hasRuntimeDefault: false;
22
+ enumValues: undefined;
23
+ identity: undefined;
24
+ generated: undefined;
25
+ }>;
26
+ blockNumber: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
27
+ dataType: "custom";
28
+ data: bigint;
29
+ driverParam: string;
30
+ }>>, {
31
+ name: string;
32
+ tableName: "transactions";
33
+ dataType: "custom";
34
+ data: bigint;
35
+ driverParam: string;
36
+ notNull: true;
37
+ hasDefault: false;
38
+ isPrimaryKey: false;
39
+ isAutoincrement: false;
40
+ hasRuntimeDefault: false;
41
+ enumValues: undefined;
42
+ identity: undefined;
43
+ generated: undefined;
44
+ }>;
45
+ transactionIndex: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>, {
46
+ name: string;
47
+ tableName: "transactions";
48
+ dataType: "number int32";
49
+ data: number;
50
+ driverParam: string | number;
51
+ notNull: true;
52
+ hasDefault: false;
53
+ isPrimaryKey: false;
54
+ isAutoincrement: false;
55
+ hasRuntimeDefault: false;
56
+ enumValues: undefined;
57
+ identity: undefined;
58
+ generated: undefined;
59
+ }>;
60
+ blockHash: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
61
+ dataType: "custom";
62
+ data: `0x${string}`;
63
+ driverParam: string;
64
+ }>>, {
65
+ name: string;
66
+ tableName: "transactions";
67
+ dataType: "custom";
68
+ data: `0x${string}`;
69
+ driverParam: string;
70
+ notNull: true;
71
+ hasDefault: false;
72
+ isPrimaryKey: false;
73
+ isAutoincrement: false;
74
+ hasRuntimeDefault: false;
75
+ enumValues: undefined;
76
+ identity: undefined;
77
+ generated: undefined;
78
+ }>;
79
+ from: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
80
+ dataType: "custom";
81
+ data: `0x${string}`;
82
+ driverParam: string;
83
+ }>>, {
84
+ name: string;
85
+ tableName: "transactions";
86
+ dataType: "custom";
87
+ data: `0x${string}`;
88
+ driverParam: string;
89
+ notNull: true;
90
+ hasDefault: false;
91
+ isPrimaryKey: false;
92
+ isAutoincrement: false;
93
+ hasRuntimeDefault: false;
94
+ enumValues: undefined;
95
+ identity: undefined;
96
+ generated: undefined;
97
+ }>;
98
+ to: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
99
+ dataType: "custom";
100
+ data: `0x${string}`;
101
+ driverParam: string;
102
+ }>, {
103
+ name: string;
104
+ tableName: "transactions";
105
+ dataType: "custom";
106
+ data: `0x${string}`;
107
+ driverParam: string;
108
+ notNull: false;
109
+ hasDefault: false;
110
+ isPrimaryKey: false;
111
+ isAutoincrement: false;
112
+ hasRuntimeDefault: false;
113
+ enumValues: undefined;
114
+ identity: undefined;
115
+ generated: undefined;
116
+ }>;
117
+ input: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
118
+ dataType: "custom";
119
+ data: `0x${string}`;
120
+ driverParam: Buffer<ArrayBufferLike>;
121
+ }>>, {
122
+ name: string;
123
+ tableName: "transactions";
124
+ dataType: "custom";
125
+ data: `0x${string}`;
126
+ driverParam: Buffer<ArrayBufferLike>;
127
+ notNull: true;
128
+ hasDefault: false;
129
+ isPrimaryKey: false;
130
+ isAutoincrement: false;
131
+ hasRuntimeDefault: false;
132
+ enumValues: undefined;
133
+ identity: undefined;
134
+ generated: undefined;
135
+ }>;
136
+ value: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
137
+ dataType: "custom";
138
+ data: bigint;
139
+ driverParam: string;
140
+ }>>, {
141
+ name: string;
142
+ tableName: "transactions";
143
+ dataType: "custom";
144
+ data: bigint;
145
+ driverParam: string;
146
+ notNull: true;
147
+ hasDefault: false;
148
+ isPrimaryKey: false;
149
+ isAutoincrement: false;
150
+ hasRuntimeDefault: false;
151
+ enumValues: undefined;
152
+ identity: undefined;
153
+ generated: undefined;
154
+ }>;
155
+ nonce: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>, {
156
+ name: string;
157
+ tableName: "transactions";
158
+ dataType: "number int32";
159
+ data: number;
160
+ driverParam: string | number;
161
+ notNull: true;
162
+ hasDefault: false;
163
+ isPrimaryKey: false;
164
+ isAutoincrement: false;
165
+ hasRuntimeDefault: false;
166
+ enumValues: undefined;
167
+ identity: undefined;
168
+ generated: undefined;
169
+ }>;
170
+ r: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
171
+ dataType: "custom";
172
+ data: `0x${string}`;
173
+ driverParam: Buffer<ArrayBufferLike>;
174
+ }>>, {
175
+ name: string;
176
+ tableName: "transactions";
177
+ dataType: "custom";
178
+ data: `0x${string}`;
179
+ driverParam: Buffer<ArrayBufferLike>;
180
+ notNull: true;
181
+ hasDefault: false;
182
+ isPrimaryKey: false;
183
+ isAutoincrement: false;
184
+ hasRuntimeDefault: false;
185
+ enumValues: undefined;
186
+ identity: undefined;
187
+ generated: undefined;
188
+ }>;
189
+ s: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
190
+ dataType: "custom";
191
+ data: `0x${string}`;
192
+ driverParam: Buffer<ArrayBufferLike>;
193
+ }>>, {
194
+ name: string;
195
+ tableName: "transactions";
196
+ dataType: "custom";
197
+ data: `0x${string}`;
198
+ driverParam: Buffer<ArrayBufferLike>;
199
+ notNull: true;
200
+ hasDefault: false;
201
+ isPrimaryKey: false;
202
+ isAutoincrement: false;
203
+ hasRuntimeDefault: false;
204
+ enumValues: undefined;
205
+ identity: undefined;
206
+ generated: undefined;
207
+ }>;
208
+ v: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
209
+ dataType: "custom";
210
+ data: bigint;
211
+ driverParam: string;
212
+ }>>, {
213
+ name: string;
214
+ tableName: "transactions";
215
+ dataType: "custom";
216
+ data: bigint;
217
+ driverParam: string;
218
+ notNull: true;
219
+ hasDefault: false;
220
+ isPrimaryKey: false;
221
+ isAutoincrement: false;
222
+ hasRuntimeDefault: false;
223
+ enumValues: undefined;
224
+ identity: undefined;
225
+ generated: undefined;
226
+ }>;
227
+ type: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgEnumColumnBuilder<["legacy", "eip1559", "eip2930", "eip4844", "eip7702"]>>, {
228
+ name: string;
229
+ tableName: "transactions";
230
+ dataType: "string enum";
231
+ data: "legacy" | "eip1559" | "eip2930" | "eip4844" | "eip7702";
232
+ driverParam: string;
233
+ notNull: true;
234
+ hasDefault: false;
235
+ isPrimaryKey: false;
236
+ isAutoincrement: false;
237
+ hasRuntimeDefault: false;
238
+ enumValues: ["legacy", "eip1559", "eip2930", "eip4844", "eip7702"];
239
+ identity: undefined;
240
+ generated: undefined;
241
+ }>;
242
+ gas: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
243
+ dataType: "custom";
244
+ data: bigint;
245
+ driverParam: string;
246
+ }>>, {
247
+ name: string;
248
+ tableName: "transactions";
249
+ dataType: "custom";
250
+ data: bigint;
251
+ driverParam: string;
252
+ notNull: true;
253
+ hasDefault: false;
254
+ isPrimaryKey: false;
255
+ isAutoincrement: false;
256
+ hasRuntimeDefault: false;
257
+ enumValues: undefined;
258
+ identity: undefined;
259
+ generated: undefined;
260
+ }>;
261
+ gasPrice: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
262
+ dataType: "custom";
263
+ data: bigint;
264
+ driverParam: string;
265
+ }>, {
266
+ name: string;
267
+ tableName: "transactions";
268
+ dataType: "custom";
269
+ data: bigint;
270
+ driverParam: string;
271
+ notNull: false;
272
+ hasDefault: false;
273
+ isPrimaryKey: false;
274
+ isAutoincrement: false;
275
+ hasRuntimeDefault: false;
276
+ enumValues: undefined;
277
+ identity: undefined;
278
+ generated: undefined;
279
+ }>;
280
+ maxFeePerGas: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
281
+ dataType: "custom";
282
+ data: bigint;
283
+ driverParam: string;
284
+ }>, {
285
+ name: string;
286
+ tableName: "transactions";
287
+ dataType: "custom";
288
+ data: bigint;
289
+ driverParam: string;
290
+ notNull: false;
291
+ hasDefault: false;
292
+ isPrimaryKey: false;
293
+ isAutoincrement: false;
294
+ hasRuntimeDefault: false;
295
+ enumValues: undefined;
296
+ identity: undefined;
297
+ generated: undefined;
298
+ }>;
299
+ maxPriorityFeePerGas: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
300
+ dataType: "custom";
301
+ data: bigint;
302
+ driverParam: string;
303
+ }>, {
304
+ name: string;
305
+ tableName: "transactions";
306
+ dataType: "custom";
307
+ data: bigint;
308
+ driverParam: string;
309
+ notNull: false;
310
+ hasDefault: false;
311
+ isPrimaryKey: false;
312
+ isAutoincrement: false;
313
+ hasRuntimeDefault: false;
314
+ enumValues: undefined;
315
+ identity: undefined;
316
+ generated: undefined;
317
+ }>;
318
+ accessList: import("drizzle-orm/pg-core").PgBuildColumn<"transactions", import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgJsonbBuilder, AccessList>, {
319
+ name: string;
320
+ tableName: "transactions";
321
+ dataType: "object json";
322
+ data: AccessList;
323
+ driverParam: unknown;
324
+ notNull: false;
325
+ hasDefault: false;
326
+ isPrimaryKey: false;
327
+ isAutoincrement: false;
328
+ hasRuntimeDefault: false;
329
+ enumValues: undefined;
330
+ identity: undefined;
331
+ generated: undefined;
332
+ }>;
333
+ };
334
+ dialect: "pg";
335
+ }>;
336
+ //# sourceMappingURL=transactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/transactions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAGtC,eAAO,MAAM,mBAAmB,8FAM9B,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BxB,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { index, integer, jsonb, pgEnum, pgTable } from 'drizzle-orm/pg-core';
2
+ import { address, bigint, bytea, hash, numeric78 } from "../column-types.js";
3
+ export const transactionTypeEnum = pgEnum('transaction_type', [
4
+ 'legacy',
5
+ 'eip1559',
6
+ 'eip2930',
7
+ 'eip4844',
8
+ 'eip7702',
9
+ ]);
10
+ export const transactions = pgTable('transactions', {
11
+ hash: hash().primaryKey(),
12
+ blockNumber: bigint().notNull(),
13
+ transactionIndex: integer().notNull(),
14
+ blockHash: hash().notNull(),
15
+ from: address().notNull(),
16
+ to: address(),
17
+ input: bytea().notNull(),
18
+ value: numeric78().notNull(),
19
+ nonce: integer().notNull(),
20
+ r: bytea().notNull(),
21
+ s: bytea().notNull(),
22
+ v: numeric78().notNull(),
23
+ type: transactionTypeEnum().notNull(),
24
+ gas: numeric78().notNull(),
25
+ gasPrice: numeric78(),
26
+ maxFeePerGas: numeric78(),
27
+ maxPriorityFeePerGas: numeric78(),
28
+ accessList: jsonb().$type(),
29
+ }, (table) => [
30
+ index('transactions_block_number_index').on(table.blockNumber),
31
+ index('transactions_to_index').on(table.to),
32
+ ]);
33
+ //# sourceMappingURL=transactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../../../src/db/schema/transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE5E,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,kBAAkB,EAAE;IAC5D,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CACjC,cAAc,EACd;IACE,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE;IAC/B,gBAAgB,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE;IACrC,SAAS,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IAC3B,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE;IACzB,EAAE,EAAE,OAAO,EAAE;IACb,KAAK,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE;IACxB,KAAK,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE;IAC5B,KAAK,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE;IAC1B,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE;IACpB,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE;IACpB,CAAC,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE;IACxB,IAAI,EAAE,mBAAmB,EAAE,CAAC,OAAO,EAAE;IACrC,GAAG,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE;IAC1B,QAAQ,EAAE,SAAS,EAAE;IACrB,YAAY,EAAE,SAAS,EAAE;IACzB,oBAAoB,EAAE,SAAS,EAAE;IACjC,UAAU,EAAE,KAAK,EAAE,CAAC,KAAK,EAAc;CACxC,EACD,CAAC,KAAK,EAAE,EAAE,CAAC;IACT,KAAK,CAAC,iCAAiC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;IAC9D,KAAK,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;CAC5C,CACF,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { Database } from './client';
2
+ import type { relations, schema } from './schema/index.ts';
3
+ /**
4
+ * Runs work in a transaction for either postgres or pglite drivers.
5
+ */
6
+ export declare function withTransaction<T>(db: Database<typeof schema, typeof relations>, run: (tx: Database<typeof schema, typeof relations>) => Promise<T>): Promise<T>;
7
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/db/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1D;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,EAAE,EAAE,QAAQ,CAAC,OAAO,MAAM,EAAE,OAAO,SAAS,CAAC,EAC7C,GAAG,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,MAAM,EAAE,OAAO,SAAS,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GACjE,OAAO,CAAC,CAAC,CAAC,CAUZ"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Runs work in a transaction for either postgres or pglite drivers.
3
+ */
4
+ export function withTransaction(db, run) {
5
+ const executor = db;
6
+ return executor.transaction(run);
7
+ }
8
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/db/transaction.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,EAA6C,EAC7C,GAAkE;IAElE,MAAM,QAAQ,GAAG,EAOhB,CAAA;IACD,OAAO,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;AAClC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=default-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-hooks.d.ts","sourceRoot":"","sources":["../../../src/hooks/default-hooks.ts"],"names":[],"mappings":""}
@@ -0,0 +1,107 @@
1
+ // import { metadataArrayToObject } from '@filoz/synapse-core/utils'
2
+ // import { and, eq, inArray } from 'drizzle-orm'
3
+ // import { stringify } from 'viem'
4
+ // import { datasets, pieces } from '../db/schema'
5
+ // import type { HookRegistry } from './registry'
6
+ // /**
7
+ // * Registers the built-in contract event handlers that persist indexed rows.
8
+ // */
9
+ // export function registerDefaultHooks(registry: HookRegistry): void {
10
+ // registry.on('storage:DataSetCreated', async ({ context, event }) => {
11
+ // // console.debug('storage:DataSetCreated', stringify(event.args))
12
+ // const args = event.args
13
+ // const accountAddress = args.payer
14
+ // const now = new Date()
15
+ // const metadata = metadataArrayToObject([
16
+ // args.metadataKeys,
17
+ // args.metadataValues,
18
+ // ])
19
+ // await context.db
20
+ // .insert(datasets)
21
+ // .values({
22
+ // id: args.dataSetId,
23
+ // providerId: args.providerId,
24
+ // storageProvider: args.serviceProvider,
25
+ // payee: args.payee,
26
+ // pdpRailId: args.pdpRailId,
27
+ // cdnRailId: args.cdnRailId,
28
+ // cacheMissRailId: args.cacheMissRailId,
29
+ // blockNumber: context.blockNumber,
30
+ // accountAddress,
31
+ // metadata,
32
+ // createdAt: now,
33
+ // updatedAt: now,
34
+ // })
35
+ // .onConflictDoUpdate({
36
+ // target: [datasets.id],
37
+ // set: {
38
+ // providerId: args.providerId,
39
+ // storageProvider: args.serviceProvider,
40
+ // payee: args.payee,
41
+ // pdpRailId: args.pdpRailId,
42
+ // cdnRailId: args.cdnRailId,
43
+ // cacheMissRailId: args.cacheMissRailId,
44
+ // metadata,
45
+ // blockNumber: context.blockNumber,
46
+ // accountAddress,
47
+ // updatedAt: now,
48
+ // },
49
+ // })
50
+ // })
51
+ // registry.on('storage:ServiceTerminated', async ({ context, event }) => {
52
+ // // console.debug("pdpVerifier:DataSetDeleted", stringify(event.args));
53
+ // const args = event.args
54
+ // await context.db
55
+ // .delete(datasets)
56
+ // .where(and(eq(datasets.id, args.dataSetId)))
57
+ // })
58
+ // registry.on('pdpVerifier:PiecesAdded', async ({ context, event }) => {
59
+ // // console.debug("pdpVerifier:PiecesAdded", stringify(event.args));
60
+ // const args = event.args
61
+ // if (args.pieceIds.length === 0) {
62
+ // return
63
+ // }
64
+ // const dataset = await context.db.query.datasets.findFirst({
65
+ // where: and(eq(datasets.id, args.setId)),
66
+ // columns: { id: true },
67
+ // })
68
+ // if (!dataset) {
69
+ // return
70
+ // }
71
+ // const now = new Date()
72
+ // const piecesToInsert = args.pieceIds.map((pieceId, index) => {
73
+ // const pieceCid = args.pieceCids[index]?.data ?? null
74
+ // return {
75
+ // id: pieceId,
76
+ // blockNumber: context.blockNumber,
77
+ // datasetId: args.setId,
78
+ // accountAddress: event.transaction.from,
79
+ // cid: pieceCid,
80
+ // createdAt: now,
81
+ // }
82
+ // })
83
+ // await context.db
84
+ // .insert(pieces)
85
+ // .values(piecesToInsert)
86
+ // .onConflictDoUpdate({
87
+ // target: [pieces.datasetId, pieces.id],
88
+ // set: {
89
+ // blockNumber: context.blockNumber,
90
+ // accountAddress: event.transaction.from,
91
+ // },
92
+ // })
93
+ // })
94
+ // registry.on('pdpVerifier:PiecesRemoved', async ({ context, event }) => {
95
+ // // console.debug("pdpVerifier:PiecesRemoved", stringify(event.args));
96
+ // const args = event.args
97
+ // if (args.pieceIds.length === 0) {
98
+ // return
99
+ // }
100
+ // await context.db
101
+ // .delete(pieces)
102
+ // .where(
103
+ // and(eq(pieces.datasetId, args.setId), inArray(pieces.id, args.pieceIds))
104
+ // )
105
+ // })
106
+ // }
107
+ //# sourceMappingURL=default-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-hooks.js","sourceRoot":"","sources":["../../../src/hooks/default-hooks.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,iDAAiD;AACjD,mCAAmC;AACnC,kDAAkD;AAClD,iDAAiD;AAEjD,MAAM;AACN,+EAA+E;AAC/E,MAAM;AACN,uEAAuE;AACvE,0EAA0E;AAC1E,wEAAwE;AACxE,8BAA8B;AAC9B,wCAAwC;AACxC,6BAA6B;AAE7B,+CAA+C;AAC/C,2BAA2B;AAC3B,6BAA6B;AAC7B,SAAS;AACT,uBAAuB;AACvB,0BAA0B;AAC1B,kBAAkB;AAClB,8BAA8B;AAC9B,uCAAuC;AACvC,iDAAiD;AACjD,6BAA6B;AAC7B,qCAAqC;AACrC,qCAAqC;AACrC,iDAAiD;AACjD,4CAA4C;AAC5C,0BAA0B;AAC1B,oBAAoB;AACpB,0BAA0B;AAC1B,0BAA0B;AAC1B,WAAW;AACX,8BAA8B;AAC9B,iCAAiC;AACjC,iBAAiB;AACjB,yCAAyC;AACzC,mDAAmD;AACnD,+BAA+B;AAC/B,uCAAuC;AACvC,uCAAuC;AACvC,mDAAmD;AACnD,sBAAsB;AACtB,8CAA8C;AAC9C,4BAA4B;AAC5B,4BAA4B;AAC5B,aAAa;AACb,WAAW;AACX,OAAO;AAEP,6EAA6E;AAC7E,6EAA6E;AAC7E,8BAA8B;AAC9B,uBAAuB;AACvB,0BAA0B;AAC1B,qDAAqD;AACrD,OAAO;AAEP,2EAA2E;AAC3E,0EAA0E;AAC1E,8BAA8B;AAC9B,wCAAwC;AACxC,eAAe;AACf,QAAQ;AAER,kEAAkE;AAClE,iDAAiD;AACjD,+BAA+B;AAC/B,SAAS;AAET,sBAAsB;AACtB,eAAe;AACf,QAAQ;AAER,6BAA6B;AAC7B,qEAAqE;AACrE,6DAA6D;AAC7D,iBAAiB;AACjB,uBAAuB;AACvB,4CAA4C;AAC5C,iCAAiC;AACjC,kDAAkD;AAClD,yBAAyB;AACzB,0BAA0B;AAC1B,UAAU;AACV,SAAS;AAET,uBAAuB;AACvB,wBAAwB;AACxB,gCAAgC;AAChC,8BAA8B;AAC9B,iDAAiD;AACjD,iBAAiB;AACjB,8CAA8C;AAC9C,oDAAoD;AACpD,aAAa;AACb,WAAW;AACX,OAAO;AAEP,6EAA6E;AAC7E,4EAA4E;AAC5E,8BAA8B;AAC9B,wCAAwC;AACxC,eAAe;AACf,QAAQ;AAER,uBAAuB;AACvB,wBAAwB;AACxB,gBAAgB;AAChB,mFAAmF;AACnF,UAAU;AACV,OAAO;AACP,IAAI"}
@@ -0,0 +1,51 @@
1
+ import type { AnyRelations, EmptyRelations } from 'drizzle-orm/relations';
2
+ import type { GetEventArgs, Log } from 'viem';
3
+ import type { Database } from '../db/client';
4
+ import type { EncodedBlockWithTransactions, EncodedTransaction } from '../types';
5
+ import type { Logger } from '../utils/logger';
6
+ import type { ContractAbiByEventKey, ContractAbiEventByEventKey, ContractsConfig, EventKey, EventNameFromEventKey, MergedContractEvents } from '../utils/types';
7
+ export type HookContext<TSchema extends Record<string, unknown> = Record<string, unknown>, TRelations extends AnyRelations = EmptyRelations> = {
8
+ db: Database<TSchema, TRelations>;
9
+ chainId: number;
10
+ logger: Logger;
11
+ };
12
+ export type DecodedEvent<C extends ContractsConfig<NonNullable<unknown>>, Event extends EventKey> = {
13
+ args: GetEventArgs<ContractAbiByEventKey<C, Event>, EventNameFromEventKey<Event>, {
14
+ EnableUnion: false;
15
+ IndexedOnly: false;
16
+ Required: true;
17
+ }>;
18
+ log: Log<bigint, number, false, ContractAbiEventByEventKey<C, Event>>;
19
+ block: EncodedBlockWithTransactions;
20
+ transaction: EncodedTransaction;
21
+ };
22
+ export type EventHook<C extends ContractsConfig<NonNullable<unknown>>, Event extends EventKey = EventKey, TSchema extends Record<string, unknown> = Record<string, unknown>, TRelations extends AnyRelations = EmptyRelations> = (args: {
23
+ context: HookContext<TSchema, TRelations>;
24
+ event: DecodedEvent<C, Event>;
25
+ }) => Promise<void> | void;
26
+ /**
27
+ * Registry for strongly typed contract-event hooks.
28
+ */
29
+ export declare class HookRegistry<C extends ContractsConfig<NonNullable<unknown>> = ContractsConfig<NonNullable<unknown>>, TSchema extends Record<string, unknown> = Record<string, unknown>, TRelations extends AnyRelations = EmptyRelations> {
30
+ private readonly hooks;
31
+ /**
32
+ * Registers a hook for a specific `contract:event` key.
33
+ */
34
+ on<K extends MergedContractEvents<C>>(streamKey: K, hook: EventHook<C, K, TSchema, TRelations>): void;
35
+ /**
36
+ * Decodes a log using stream ABI metadata and dispatches to the registered hook.
37
+ */
38
+ dispatch<K extends MergedContractEvents<C>>(options: {
39
+ key: K;
40
+ args: GetEventArgs<ContractAbiByEventKey<C, K>, EventNameFromEventKey<K>, {
41
+ EnableUnion: false;
42
+ IndexedOnly: false;
43
+ Required: true;
44
+ }>;
45
+ log: Log<bigint, number, false, ContractAbiEventByEventKey<C, K>>;
46
+ block: EncodedBlockWithTransactions;
47
+ transaction: EncodedTransaction;
48
+ context: HookContext<TSchema, TRelations>;
49
+ }): Promise<void>;
50
+ }
51
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/hooks/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Registry for strongly typed contract-event hooks.
3
+ */
4
+ export class HookRegistry {
5
+ hooks = new Map();
6
+ /**
7
+ * Registers a hook for a specific `contract:event` key.
8
+ */
9
+ on(streamKey, hook) {
10
+ this.hooks.set(streamKey, hook);
11
+ }
12
+ /**
13
+ * Decodes a log using stream ABI metadata and dispatches to the registered hook.
14
+ */
15
+ async dispatch(options) {
16
+ const { key, args, log, block, transaction, context } = options;
17
+ const hook = this.hooks.get(key);
18
+ if (!hook)
19
+ return;
20
+ const event = {
21
+ args,
22
+ log,
23
+ block,
24
+ transaction,
25
+ };
26
+ await hook({
27
+ context,
28
+ event,
29
+ });
30
+ }
31
+ }
32
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/hooks/registry.ts"],"names":[],"mappings":"AAgDA;;GAEG;AACH,MAAM,OAAO,YAAY;IAON,KAAK,GAAG,IAAI,GAAG,EAAoC,CAAA;IAEpE;;OAEG;IACH,EAAE,CACA,SAAY,EACZ,IAA0C;QAE1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAoC,OAWjD;QACC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAK9B,CAAA;QACD,IAAI,CAAC,IAAI;YAAE,OAAM;QAEjB,MAAM,KAAK,GAAG;YACZ,IAAI;YACJ,GAAG;YACH,KAAK;YACL,WAAW;SACU,CAAA;QAEvB,MAAM,IAAI,CAAC;YACT,OAAO;YACP,KAAK;SACN,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -0,0 +1,10 @@
1
+ export type * from './config/config.ts';
2
+ export { createConfig } from './config/config.ts';
3
+ export type { Database } from './db/client.ts';
4
+ export * from './db/column-types.ts';
5
+ export type { HookRegistry } from './hooks/registry.ts';
6
+ export type * from './rpc/client.ts';
7
+ export { buildConflictUpdateColumns } from './utils/build-conflict-columns.ts';
8
+ export type { Logger } from './utils/logger.ts';
9
+ export type * from './utils/types.ts';
10
+ //# sourceMappingURL=index.d.ts.map