tapimo 0.7.2 → 0.8.0

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 (294) hide show
  1. package/README.md +10 -7
  2. package/dist/ApiKey.d.ts +3 -0
  3. package/dist/ApiKey.d.ts.map +1 -1
  4. package/dist/ApiKey.js +10 -0
  5. package/dist/ApiKey.js.map +1 -1
  6. package/dist/ApiKeys.d.ts +7 -3
  7. package/dist/ApiKeys.d.ts.map +1 -1
  8. package/dist/ApiKeys.js +9 -2
  9. package/dist/ApiKeys.js.map +1 -1
  10. package/dist/App.d.ts +20434 -19484
  11. package/dist/App.d.ts.map +1 -1
  12. package/dist/App.js +62 -4
  13. package/dist/App.js.map +1 -1
  14. package/dist/admin/App.d.ts +84 -74
  15. package/dist/admin/App.d.ts.map +1 -1
  16. package/dist/admin/apps/api-keys.d.ts +14 -1
  17. package/dist/admin/apps/api-keys.d.ts.map +1 -1
  18. package/dist/admin/apps/api-keys.js +6 -2
  19. package/dist/admin/apps/api-keys.js.map +1 -1
  20. package/dist/admin/apps/organizations.d.ts +2 -0
  21. package/dist/admin/apps/organizations.d.ts.map +1 -1
  22. package/dist/admin/apps/verified-tokens.d.ts +168 -168
  23. package/dist/admin/ui.generated.d.ts +1 -1
  24. package/dist/admin/ui.generated.js +67 -67
  25. package/dist/admin/ui.generated.js.map +1 -1
  26. package/dist/analytics/Analytics.d.ts +2 -0
  27. package/dist/analytics/Analytics.d.ts.map +1 -1
  28. package/dist/analytics/Analytics.js +3 -0
  29. package/dist/analytics/Analytics.js.map +1 -1
  30. package/dist/apps/data/App.d.ts +10305 -12785
  31. package/dist/apps/data/App.d.ts.map +1 -1
  32. package/dist/apps/data/App.js +4 -8
  33. package/dist/apps/data/App.js.map +1 -1
  34. package/dist/apps/data/routes/activities.d.ts +24 -24
  35. package/dist/apps/data/routes/addresses.d.ts +288 -288
  36. package/dist/apps/data/routes/balances.d.ts +6 -6
  37. package/dist/apps/data/routes/blocks.d.ts +39 -39
  38. package/dist/apps/data/routes/coingecko.d.ts +170 -170
  39. package/dist/apps/data/routes/earn.d.ts +436 -6
  40. package/dist/apps/data/routes/earn.d.ts.map +1 -1
  41. package/dist/apps/data/routes/earn.js +631 -4
  42. package/dist/apps/data/routes/earn.js.map +1 -1
  43. package/dist/apps/data/routes/exchanges.d.ts +10 -10
  44. package/dist/apps/data/routes/fee-amm.d.ts +2 -2
  45. package/dist/apps/data/routes/indexer.d.ts +6 -6
  46. package/dist/apps/data/routes/indexer.js +4 -1
  47. package/dist/apps/data/routes/indexer.js.map +1 -1
  48. package/dist/apps/data/routes/receipts.d.ts +235 -235
  49. package/dist/apps/data/routes/rpc.d.ts +1 -1
  50. package/dist/apps/data/routes/rpc.js +4 -1
  51. package/dist/apps/data/routes/rpc.js.map +1 -1
  52. package/dist/apps/data/routes/tokenlist.d.ts +36 -36
  53. package/dist/apps/data/routes/tokens.d.ts +6 -6
  54. package/dist/apps/data/routes/transactions.d.ts +2 -2
  55. package/dist/apps/data/routes/transfers.d.ts +1 -1
  56. package/dist/apps/data/routes/valuation.d.ts +1 -1
  57. package/dist/apps/data/routes/verified-tokens.d.ts +36 -36
  58. package/dist/apps/data/routes/webhooks.d.ts +9 -9
  59. package/dist/apps/data/routes/zones.d.ts +14 -14
  60. package/dist/apps/funding/Access.d.ts +16 -0
  61. package/dist/apps/funding/Access.d.ts.map +1 -0
  62. package/dist/apps/funding/Access.js +22 -0
  63. package/dist/apps/funding/Access.js.map +1 -0
  64. package/dist/apps/{data/routes/funding.d.ts → funding/App.d.ts} +1717 -3035
  65. package/dist/apps/funding/App.d.ts.map +1 -0
  66. package/dist/apps/funding/App.js +46 -0
  67. package/dist/apps/funding/App.js.map +1 -0
  68. package/dist/apps/funding/Inventory.d.ts +5 -0
  69. package/dist/apps/funding/Inventory.d.ts.map +1 -0
  70. package/dist/apps/funding/Inventory.js +25 -0
  71. package/dist/apps/funding/Inventory.js.map +1 -0
  72. package/dist/apps/funding/ProviderAttempts.d.ts +5 -0
  73. package/dist/apps/funding/ProviderAttempts.d.ts.map +1 -0
  74. package/dist/apps/funding/ProviderAttempts.js +24 -0
  75. package/dist/apps/funding/ProviderAttempts.js.map +1 -0
  76. package/dist/apps/funding/index.d.ts +2 -0
  77. package/dist/apps/funding/index.d.ts.map +1 -0
  78. package/dist/apps/funding/index.js +2 -0
  79. package/dist/apps/funding/index.js.map +1 -0
  80. package/dist/apps/funding/routes/chains.d.ts +169 -0
  81. package/dist/apps/funding/routes/chains.d.ts.map +1 -0
  82. package/dist/apps/funding/routes/chains.js +80 -0
  83. package/dist/apps/funding/routes/chains.js.map +1 -0
  84. package/dist/apps/funding/routes/deposit-addresses.d.ts +2388 -0
  85. package/dist/apps/funding/routes/deposit-addresses.d.ts.map +1 -0
  86. package/dist/apps/funding/routes/deposit-addresses.js +860 -0
  87. package/dist/apps/funding/routes/deposit-addresses.js.map +1 -0
  88. package/dist/apps/funding/routes/providers.d.ts +91 -0
  89. package/dist/apps/funding/routes/providers.d.ts.map +1 -0
  90. package/dist/apps/funding/routes/providers.js +56 -0
  91. package/dist/apps/funding/routes/providers.js.map +1 -0
  92. package/dist/apps/funding/routes/quotes.d.ts +426 -0
  93. package/dist/apps/funding/routes/quotes.d.ts.map +1 -0
  94. package/dist/apps/funding/routes/quotes.js +188 -0
  95. package/dist/apps/funding/routes/quotes.js.map +1 -0
  96. package/dist/apps/funding/routes/transfers.d.ts +1999 -0
  97. package/dist/apps/funding/routes/transfers.d.ts.map +1 -0
  98. package/dist/apps/funding/routes/transfers.js +614 -0
  99. package/dist/apps/funding/routes/transfers.js.map +1 -0
  100. package/dist/apps/index.d.ts +1 -0
  101. package/dist/apps/index.d.ts.map +1 -1
  102. package/dist/apps/index.js +1 -0
  103. package/dist/apps/index.js.map +1 -1
  104. package/dist/apps/management/App.d.ts +430 -165
  105. package/dist/apps/management/App.d.ts.map +1 -1
  106. package/dist/apps/management/routes/api-keys.d.ts +298 -21
  107. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  108. package/dist/apps/management/routes/api-keys.js +75 -1
  109. package/dist/apps/management/routes/api-keys.js.map +1 -1
  110. package/dist/apps/management/routes/billing.d.ts +6 -6
  111. package/dist/apps/management/routes/faucet.d.ts +35 -35
  112. package/dist/apps/management/routes/invitations.d.ts +48 -48
  113. package/dist/apps/management/routes/invite-links.d.ts +38 -38
  114. package/dist/apps/management/routes/members.d.ts +69 -69
  115. package/dist/apps/management/routes/orgs.d.ts +37 -37
  116. package/dist/apps/management/routes/projects.d.ts +25 -25
  117. package/dist/apps/management/routes/scopes.d.ts +1 -1
  118. package/dist/apps/management/routes/usage.d.ts +72 -72
  119. package/dist/apps/management/routes/verified-token-requests.d.ts +18 -18
  120. package/dist/apps/management/routes/webhooks.d.ts +128 -128
  121. package/dist/apps/mcp.d.ts +2 -3
  122. package/dist/apps/mcp.d.ts.map +1 -1
  123. package/dist/apps/mcp.js +16 -14
  124. package/dist/apps/mcp.js.map +1 -1
  125. package/dist/apps/metadata.d.ts +4 -0
  126. package/dist/apps/metadata.d.ts.map +1 -1
  127. package/dist/apps/metadata.js +10 -0
  128. package/dist/apps/metadata.js.map +1 -1
  129. package/dist/apps/mpp/App.d.ts +2 -2
  130. package/dist/cloudflare.d.ts +50 -0
  131. package/dist/cloudflare.d.ts.map +1 -1
  132. package/dist/cloudflare.js +178 -0
  133. package/dist/cloudflare.js.map +1 -1
  134. package/dist/db/Db.d.ts +2 -0
  135. package/dist/db/Db.d.ts.map +1 -1
  136. package/dist/db/Db.js +37 -0
  137. package/dist/db/Db.js.map +1 -1
  138. package/dist/db/Schema.d.ts +12 -0
  139. package/dist/db/Schema.d.ts.map +1 -1
  140. package/dist/db/Schema.js +20 -0
  141. package/dist/db/Schema.js.map +1 -1
  142. package/dist/db/tables/fundingDepositAddresses.d.ts +13 -0
  143. package/dist/db/tables/fundingDepositAddresses.d.ts.map +1 -1
  144. package/dist/db/tables/fundingDepositAddresses.js +12 -0
  145. package/dist/db/tables/fundingDepositAddresses.js.map +1 -1
  146. package/dist/db/tables/fundingDepositRequestObservations.d.ts +45 -0
  147. package/dist/db/tables/fundingDepositRequestObservations.d.ts.map +1 -0
  148. package/dist/db/tables/fundingDepositRequestObservations.js +46 -0
  149. package/dist/db/tables/fundingDepositRequestObservations.js.map +1 -0
  150. package/dist/db/tables/fundingDeposits.d.ts +57 -1
  151. package/dist/db/tables/fundingDeposits.d.ts.map +1 -1
  152. package/dist/db/tables/fundingDeposits.js +82 -0
  153. package/dist/db/tables/fundingDeposits.js.map +1 -1
  154. package/dist/internal/Auth.d.ts +11 -11
  155. package/dist/internal/Auth.d.ts.map +1 -1
  156. package/dist/internal/Auth.js +41 -15
  157. package/dist/internal/Auth.js.map +1 -1
  158. package/dist/internal/Cache.js +1 -1
  159. package/dist/internal/Cache.js.map +1 -1
  160. package/dist/internal/EdgeCache.d.ts +2 -2
  161. package/dist/internal/EdgeCache.d.ts.map +1 -1
  162. package/dist/internal/EdgeCache.js +10 -4
  163. package/dist/internal/EdgeCache.js.map +1 -1
  164. package/dist/internal/IpAllowlist.d.ts +15 -0
  165. package/dist/internal/IpAllowlist.d.ts.map +1 -0
  166. package/dist/internal/IpAllowlist.js +27 -0
  167. package/dist/internal/IpAllowlist.js.map +1 -0
  168. package/dist/internal/OpenApi.d.ts +1 -1
  169. package/dist/internal/OpenApi.js +1 -1
  170. package/dist/internal/OpenApi.js.map +1 -1
  171. package/dist/internal/Tidx.d.ts +6 -0
  172. package/dist/internal/Tidx.d.ts.map +1 -1
  173. package/dist/internal/Tidx.js +13 -3
  174. package/dist/internal/Tidx.js.map +1 -1
  175. package/dist/internal/Viem.d.ts +8 -0
  176. package/dist/internal/Viem.d.ts.map +1 -1
  177. package/dist/internal/Viem.js +12 -5
  178. package/dist/internal/Viem.js.map +1 -1
  179. package/dist/internal/funding/Deposit.d.ts +42 -0
  180. package/dist/internal/funding/Deposit.d.ts.map +1 -1
  181. package/dist/internal/funding/Deposit.js +37 -5
  182. package/dist/internal/funding/Deposit.js.map +1 -1
  183. package/dist/internal/funding/Evidence.d.ts +1 -5
  184. package/dist/internal/funding/Evidence.d.ts.map +1 -1
  185. package/dist/internal/funding/Evidence.js +4 -3
  186. package/dist/internal/funding/Evidence.js.map +1 -1
  187. package/dist/internal/funding/Provider.d.ts +102 -0
  188. package/dist/internal/funding/Provider.d.ts.map +1 -1
  189. package/dist/internal/funding/Provider.js +5 -0
  190. package/dist/internal/funding/Provider.js.map +1 -1
  191. package/dist/internal/funding/Reconciliation.d.ts +16 -2
  192. package/dist/internal/funding/Reconciliation.d.ts.map +1 -1
  193. package/dist/internal/funding/Reconciliation.js +257 -48
  194. package/dist/internal/funding/Reconciliation.js.map +1 -1
  195. package/dist/internal/funding/SourceObservation.d.ts +108 -0
  196. package/dist/internal/funding/SourceObservation.d.ts.map +1 -0
  197. package/dist/internal/funding/SourceObservation.js +143 -0
  198. package/dist/internal/funding/SourceObservation.js.map +1 -0
  199. package/dist/internal/funding/Subsidy.d.ts +2 -2
  200. package/dist/internal/funding/Subsidy.d.ts.map +1 -1
  201. package/dist/internal/funding/Subsidy.js +1 -1
  202. package/dist/internal/funding/Subsidy.js.map +1 -1
  203. package/dist/internal/funding/index.d.ts +1 -0
  204. package/dist/internal/funding/index.d.ts.map +1 -1
  205. package/dist/internal/funding/index.js +1 -0
  206. package/dist/internal/funding/index.js.map +1 -1
  207. package/dist/internal/funding/providers/relay.d.ts +43 -1
  208. package/dist/internal/funding/providers/relay.d.ts.map +1 -1
  209. package/dist/internal/funding/providers/relay.js +434 -27
  210. package/dist/internal/funding/providers/relay.js.map +1 -1
  211. package/package.json +3 -3
  212. package/src/ApiKey.test.ts +35 -0
  213. package/src/ApiKey.ts +27 -0
  214. package/src/ApiKeys.test.ts +29 -0
  215. package/src/ApiKeys.ts +11 -3
  216. package/src/App.test.ts +23 -5
  217. package/src/App.ts +76 -5
  218. package/src/Client.test-d.ts +171 -19
  219. package/src/admin/apps/api-keys.test.ts +25 -1
  220. package/src/admin/apps/api-keys.ts +6 -2
  221. package/src/admin/ui.generated.ts +67 -67
  222. package/src/analytics/Analytics.ts +4 -0
  223. package/src/apps/composition.test.ts +100 -2
  224. package/src/apps/data/App.test.ts +0 -12
  225. package/src/apps/data/App.ts +4 -8
  226. package/src/apps/data/routes/earn.test.ts +283 -0
  227. package/src/apps/data/routes/earn.ts +800 -3
  228. package/src/apps/data/routes/indexer.ts +2 -1
  229. package/src/apps/data/routes/rpc.ts +2 -0
  230. package/src/apps/data/routes/tokens.test.ts +6 -8
  231. package/src/apps/funding/Access.ts +26 -0
  232. package/src/apps/funding/App.test.ts +78 -0
  233. package/src/apps/funding/App.ts +63 -0
  234. package/src/apps/funding/Inventory.ts +30 -0
  235. package/src/apps/funding/ProviderAttempts.ts +26 -0
  236. package/src/apps/funding/index.ts +1 -0
  237. package/src/apps/funding/routes/chains.test.ts +78 -0
  238. package/src/apps/funding/routes/chains.ts +101 -0
  239. package/src/apps/funding/routes/deposit-addresses.test.ts +1628 -0
  240. package/src/apps/funding/routes/deposit-addresses.ts +1015 -0
  241. package/src/apps/funding/routes/providers.test.ts +165 -0
  242. package/src/apps/funding/routes/providers.ts +73 -0
  243. package/src/apps/funding/routes/quotes.test.ts +511 -0
  244. package/src/apps/funding/routes/quotes.ts +205 -0
  245. package/src/apps/funding/routes/transfers.test.ts +1255 -0
  246. package/src/apps/funding/routes/transfers.ts +704 -0
  247. package/src/apps/index.ts +1 -0
  248. package/src/apps/management/routes/api-keys.test.ts +98 -0
  249. package/src/apps/management/routes/api-keys.ts +96 -1
  250. package/src/apps/mcp.test.ts +17 -2
  251. package/src/apps/mcp.ts +18 -13
  252. package/src/apps/metadata.ts +12 -0
  253. package/src/apps/mpp/internal/Policy.test.ts +7 -1
  254. package/src/cloudflare.ts +279 -0
  255. package/src/db/Db.ts +62 -0
  256. package/src/db/Schema.ts +24 -0
  257. package/src/db/tables/fundingDepositAddresses.ts +28 -0
  258. package/src/db/tables/fundingDepositRequestObservations.test.ts +106 -0
  259. package/src/db/tables/fundingDepositRequestObservations.ts +99 -0
  260. package/src/db/tables/fundingDeposits.test.ts +138 -0
  261. package/src/db/tables/fundingDeposits.ts +145 -1
  262. package/src/internal/Auth.test.ts +177 -5
  263. package/src/internal/Auth.ts +48 -18
  264. package/src/internal/Cache.test.ts +37 -3
  265. package/src/internal/Cache.ts +1 -1
  266. package/src/internal/EdgeCache.test.ts +7 -7
  267. package/src/internal/EdgeCache.ts +13 -4
  268. package/src/internal/IpAllowlist.test.ts +52 -0
  269. package/src/internal/IpAllowlist.ts +39 -0
  270. package/src/internal/Log.test.ts +7 -1
  271. package/src/internal/OpenApi.ts +1 -1
  272. package/src/internal/Tidx.test.ts +28 -0
  273. package/src/internal/Tidx.ts +19 -3
  274. package/src/internal/Viem.test.ts +28 -0
  275. package/src/internal/Viem.ts +21 -5
  276. package/src/internal/funding/Deposit.ts +74 -5
  277. package/src/internal/funding/Evidence.test.ts +2 -2
  278. package/src/internal/funding/Evidence.ts +4 -9
  279. package/src/internal/funding/Provider.ts +115 -0
  280. package/src/internal/funding/Reconciliation.local.test.ts +7 -0
  281. package/src/internal/funding/Reconciliation.test.ts +1052 -35
  282. package/src/internal/funding/Reconciliation.ts +328 -56
  283. package/src/internal/funding/SourceObservation.test.ts +301 -0
  284. package/src/internal/funding/SourceObservation.ts +267 -0
  285. package/src/internal/funding/Subsidy.ts +2 -2
  286. package/src/internal/funding/index.test.ts +1 -0
  287. package/src/internal/funding/index.ts +1 -0
  288. package/src/internal/funding/providers/relay.test.ts +94 -4
  289. package/src/internal/funding/providers/relay.ts +528 -27
  290. package/dist/apps/data/routes/funding.d.ts.map +0 -1
  291. package/dist/apps/data/routes/funding.js +0 -1557
  292. package/dist/apps/data/routes/funding.js.map +0 -1
  293. package/src/apps/data/routes/funding.test.ts +0 -2994
  294. package/src/apps/data/routes/funding.ts +0 -1821
package/dist/apps/mcp.js CHANGED
@@ -4,12 +4,14 @@ import * as z from 'zod/mini';
4
4
  import * as Auth from '../internal/Auth.js';
5
5
  import * as OpenApi from '../internal/OpenApi.js';
6
6
  import * as Metadata from './metadata.js';
7
- /** Document tag group whose operations surface as MCP tools (the data domain). */
8
- const tagGroup = 'Data API';
7
+ /** Required document tag group whose operations surface as MCP tools. */
8
+ const dataTagGroup = 'Data API';
9
+ /** Optional document tag group added when the funding app is mounted. */
10
+ const fundingTagGroup = 'Funding & Bridge API';
9
11
  /** Tags inside the group hidden from MCP: partner-shaped CoinGecko mirrors and the MCP endpoint itself. */
10
12
  const excludedTags = ['CoinGecko', 'MCP'];
11
13
  /** Usage guidance surfaced to MCP clients on initialize. */
12
- const instructions = "Tempo MCP provides access to the Tempo API's data domain and documentation. Authenticated tools accept a Tempo API key sent as an `Authorization: Bearer` header on the HTTP request. List endpoints paginate via `cursor`/`nextCursor`. `docs_*` tools search the Tempo documentation.";
14
+ const instructions = "Tempo MCP provides access to the Tempo API's data and inbound funding domains, plus documentation. Authenticated tools accept a Tempo API key sent as an `Authorization: Bearer` header on the HTTP request. List endpoints paginate via `cursor`/`nextCursor`. `docs_*` tools search the Tempo documentation.";
13
15
  /** Zod schemas owned by the MCP endpoint's OpenAPI description. */
14
16
  export var schema;
15
17
  (function (schema) {
@@ -45,9 +47,8 @@ export var schema;
45
47
  })(schema || (schema = {}));
46
48
  /**
47
49
  * The MCP route group: a stateless streamable-HTTP MCP server at `/mcp` whose
48
- * tools mirror the API's data domain (scoped via the OpenAPI document's
49
- * `Data API` tag group), plus the remote Tempo docs tools. Mount alongside
50
- * the other route groups:
50
+ * tools mirror the API's data domain and its optional inbound funding domain,
51
+ * plus the remote Tempo docs tools. Mount alongside the other route groups:
51
52
  *
52
53
  * ```ts
53
54
  * const app = App.create(options)
@@ -172,20 +173,21 @@ const openapi = {
172
173
  description: 'A hosted Model Context Protocol server: the data domain and Tempo docs exposed as tools.',
173
174
  },
174
175
  ],
175
- 'x-tagGroups': [{ name: tagGroup, tags: ['MCP'] }],
176
+ 'x-tagGroups': [{ name: dataTagGroup, tags: ['MCP'] }],
176
177
  };
177
178
  /** HTTP methods that carry operations in an OpenAPI path item. */
178
179
  const methods = ['delete', 'get', 'head', 'options', 'patch', 'post', 'put', 'trace']; // prettier-ignore
179
180
  /**
180
- * Narrows the document to the data domain: operations tagged inside the
181
- * `Data API` tag group, minus excluded tags. Management, relay, and session
182
- * operations never surface as tools.
181
+ * Narrows the document to the data and optional inbound funding domains.
182
+ * Management, relay, and session operations never surface as tools.
183
183
  */
184
184
  function scope(document) {
185
- const group = document['x-tagGroups']?.find((entry) => entry.name === tagGroup);
186
- if (!group)
187
- throw new Error(`openapi.json is missing the "${tagGroup}" tag group`);
188
- const tags = new Set(group.tags.filter((tag) => !excludedTags.includes(tag)));
185
+ const groups = document['x-tagGroups'] ?? [];
186
+ const dataGroup = groups.find((entry) => entry.name === dataTagGroup);
187
+ if (!dataGroup)
188
+ throw new Error(`openapi.json is missing the "${dataTagGroup}" tag group`);
189
+ const fundingGroup = groups.find((entry) => entry.name === fundingTagGroup);
190
+ const tags = new Set([...dataGroup.tags, ...(fundingGroup?.tags ?? [])].filter((tag) => !excludedTags.includes(tag)));
189
191
  const paths = {};
190
192
  for (const [path, item] of Object.entries(document.paths)) {
191
193
  // Keep in-domain operations; non-method keys (parameters, summary) ride along.
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/apps/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/apps/mcp.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,8 @@ import type * as App from '../App.js';
4
4
  export declare function attach<const app extends Hono<any, any>>(app: app, metadata: App.create.Metadata): app;
5
5
  /** Reads the OpenAPI metadata attached to an app instance, if any. */
6
6
  export declare function read(app: Hono<any, any>): App.create.Metadata | undefined;
7
+ /** Marks a group whose routes use the root app's default chain access policy. */
8
+ export declare function defaultChain<const app extends Hono<any, any>>(app: app): app;
9
+ /** Returns whether a group uses the root app's default chain access policy. */
10
+ export declare function usesDefaultChain(app: Hono<any, any>): boolean;
7
11
  //# sourceMappingURL=metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/apps/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAEhC,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAA;AAQrC,gGAAgG;AAChG,wBAAgB,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EACrD,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,GAC5B,GAAG,CAGL;AAED,sEAAsE;AACtE,wBAAgB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,SAAS,CAEzE"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/apps/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAEhC,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAA;AASrC,gGAAgG;AAChG,wBAAgB,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EACrD,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,GAC5B,GAAG,CAGL;AAED,sEAAsE;AACtE,wBAAgB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,SAAS,CAEzE;AAED,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAG5E;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAE7D"}
@@ -3,6 +3,7 @@
3
3
  // `App.create` reads it back on mount. The `WeakMap` keeps the association off
4
4
  // the app's type, so `testClient`/`hc` inference is untouched.
5
5
  const registry = new WeakMap();
6
+ const defaultChainRegistry = new WeakSet();
6
7
  /** Attaches a group's OpenAPI metadata to its app instance for `create` to collect on mount. */
7
8
  export function attach(app, metadata) {
8
9
  registry.set(app, metadata);
@@ -12,4 +13,13 @@ export function attach(app, metadata) {
12
13
  export function read(app) {
13
14
  return registry.get(app);
14
15
  }
16
+ /** Marks a group whose routes use the root app's default chain access policy. */
17
+ export function defaultChain(app) {
18
+ defaultChainRegistry.add(app);
19
+ return app;
20
+ }
21
+ /** Returns whether a group uses the root app's default chain access policy. */
22
+ export function usesDefaultChain(app) {
23
+ return defaultChainRegistry.has(app);
24
+ }
15
25
  //# sourceMappingURL=metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/apps/metadata.ts"],"names":[],"mappings":"AAIA,gFAAgF;AAChF,0EAA0E;AAC1E,+EAA+E;AAC/E,+DAA+D;AAC/D,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAuC,CAAA;AAEnE,gGAAgG;AAChG,MAAM,UAAU,MAAM,CACpB,GAAQ,EACR,QAA6B;IAE7B,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC3B,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,IAAI,CAAC,GAAmB;IACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAC1B,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/apps/metadata.ts"],"names":[],"mappings":"AAIA,gFAAgF;AAChF,0EAA0E;AAC1E,+EAA+E;AAC/E,+DAA+D;AAC/D,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAuC,CAAA;AACnE,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAAkB,CAAA;AAE1D,gGAAgG;AAChG,MAAM,UAAU,MAAM,CACpB,GAAQ,EACR,QAA6B;IAE7B,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC3B,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,IAAI,CAAC,GAAmB;IACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAC1B,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,YAAY,CAAmC,GAAQ;IACrE,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,GAAmB;IAClD,OAAO,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACtC,CAAC"}
@@ -62,7 +62,7 @@ export declare function mpp(options: mpp.Options): import("hono/hono-base").Hono
62
62
  } | {
63
63
  output: {
64
64
  error: {
65
- code: "api_key_forbidden";
65
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
66
66
  details?: readonly Response.error.Detail[] | undefined;
67
67
  message: string;
68
68
  };
@@ -229,7 +229,7 @@ export declare function mpp(options: mpp.Options): import("hono/hono-base").Hono
229
229
  } | {
230
230
  output: {
231
231
  error: {
232
- code: "api_key_forbidden";
232
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
233
233
  details?: readonly Response.error.Detail[] | undefined;
234
234
  message: string;
235
235
  };
@@ -1,4 +1,6 @@
1
1
  import { DurableObject as CloudflareDurableObject } from 'cloudflare:workers';
2
+ import * as Funding from './internal/funding/index.js';
3
+ import * as Metrics from './Metrics.js';
2
4
  import * as Store from './internal/Store.js';
3
5
  type State = ConstructorParameters<typeof CloudflareDurableObject>[0];
4
6
  type Environment = ConstructorParameters<typeof CloudflareDurableObject>[1];
@@ -37,5 +39,53 @@ export declare class DurableObject extends CloudflareDurableObject {
37
39
  */
38
40
  swap(key: string, expected: null | string, next: string, options?: Store.Store.PutOptions): Promise<boolean>;
39
41
  }
42
+ type FundingSourceConfiguration = {
43
+ chainId: string;
44
+ rpcUrls: readonly string[];
45
+ tokenAddress: string;
46
+ };
47
+ type FundingSourceRoute = Funding.SourceObservation.Route;
48
+ type FundingSourceRegisterOptions = FundingSourceConfiguration & {
49
+ route: FundingSourceRoute;
50
+ };
51
+ type FundingSourceSyncOptions = FundingSourceConfiguration & {
52
+ routes: readonly FundingSourceRoute[];
53
+ };
54
+ /** Cloudflare Durable Object that detects EVM funding deposits before provider indexing. */
55
+ export declare class FundingSourceObserver<environment extends FundingSourceObserver.Environment = FundingSourceObserver.Environment> extends CloudflareDurableObject {
56
+ #private;
57
+ /** Durable Object storage and alarm context. */
58
+ protected context: State;
59
+ /** Cloudflare bindings used by the observer. */
60
+ protected environment: environment;
61
+ constructor(ctx: State, env: environment);
62
+ /** Registers one newly created deposit address and starts source observation. */
63
+ register(options: FundingSourceRegisterOptions): Promise<void>;
64
+ /** Replaces the active routes from the database and repairs alarm scheduling. */
65
+ sync(options: FundingSourceSyncOptions): Promise<void>;
66
+ /** Scans confirmed source blocks and persists newly observed deposits. */
67
+ alarm(): Promise<void>;
68
+ /** Reports one source-observer failure. */
69
+ protected capture(cause: unknown): void;
70
+ /** Creates the operational metric sink used by one alarm invocation. */
71
+ protected createMetrics(): Metrics.Metrics;
72
+ }
73
+ export declare namespace FundingSourceObserver {
74
+ /** Cloudflare bindings and deployment metadata used by the observer. */
75
+ type Environment = {
76
+ /** Deployment environment included in operational metrics. */
77
+ ENVIRONMENT?: string | undefined;
78
+ /** Queue that receives deposit-address reconciliation work. */
79
+ FUNDING_RECONCILIATION_QUEUE: {
80
+ /** Enqueues one chain-detected address for reconciliation. */
81
+ send(message: Funding.Provider.Webhook.receive.Dispatchable): Promise<unknown>;
82
+ };
83
+ /** Authoritative Postgres connection exposed through Hyperdrive. */
84
+ HYPERDRIVE: {
85
+ /** PostgreSQL connection string supplied by the Hyperdrive binding. */
86
+ connectionString: string;
87
+ };
88
+ };
89
+ }
40
90
  export {};
41
91
  //# sourceMappingURL=cloudflare.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,IAAI,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAE7E,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAE5C,KAAK,KAAK,GAAG,qBAAqB,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAA;AACrE,KAAK,WAAW,GAAG,qBAAqB,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAA;AAE3E,+EAA+E;AAC/E,qBAAa,aAAc,SAAQ,uBAAuB;;IAGxD,YAAY,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAMvC;IAED,qBAAqB;IACf,MAAM,CAAC,GAAG,EAAE,MAAM,iBAEvB;IAED,4DAA4D;IACtD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,MAAM,oBAElD;IAED,uEAAuE;IACjE,GAAG,CAAC,GAAG,EAAE,MAAM,0BAEpB;IAED;;;;;;;OAOG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,mBAE5D;IAED,kBAAkB;IACZ,IAAI,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;;;;OAEtD;IAED,6DAA6D;IACvD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,iBAErE;IAED;;;;;OAKG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,oBAE9F;CACF"}
1
+ {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,9 @@
3
3
  // web types like `Response.json`.
4
4
  // @ts-ignore
5
5
  import { DurableObject as CloudflareDurableObject } from 'cloudflare:workers';
6
+ import * as Db from './db/Db.js';
7
+ import * as Funding from './internal/funding/index.js';
8
+ import * as Metrics from './Metrics.js';
6
9
  import * as Store from './internal/Store.js';
7
10
  /** Durable Object class that exposes a Tempo API store over Cloudflare RPC. */
8
11
  export class DurableObject extends CloudflareDurableObject {
@@ -55,4 +58,179 @@ export class DurableObject extends CloudflareDurableObject {
55
58
  return this.#store.swap(key, expected, next, options);
56
59
  }
57
60
  }
61
+ const fundingSourceAlarmIntervalMs = 500;
62
+ const fundingSourceRetryIntervalMs = 2_000;
63
+ /** Cloudflare Durable Object that detects EVM funding deposits before provider indexing. */
64
+ export class FundingSourceObserver extends CloudflareDurableObject {
65
+ /** Durable Object storage and alarm context. */
66
+ context;
67
+ /** Cloudflare bindings used by the observer. */
68
+ environment;
69
+ constructor(ctx, env) {
70
+ super(ctx, env);
71
+ this.context = ctx;
72
+ this.environment = env;
73
+ void ctx.blockConcurrencyWhile(async () => {
74
+ ctx.storage.sql.exec('CREATE TABLE IF NOT EXISTS configuration (id INTEGER PRIMARY KEY CHECK (id = 1), value TEXT NOT NULL)');
75
+ ctx.storage.sql.exec('CREATE TABLE IF NOT EXISTS backfills (id TEXT PRIMARY KEY)');
76
+ ctx.storage.sql.exec('CREATE TABLE IF NOT EXISTS routes (id TEXT PRIMARY KEY, address TEXT NOT NULL UNIQUE)');
77
+ ctx.storage.sql.exec('CREATE TABLE IF NOT EXISTS state (key TEXT PRIMARY KEY, value TEXT NOT NULL)');
78
+ });
79
+ }
80
+ /** Registers one newly created deposit address and starts source observation. */
81
+ async register(options) {
82
+ const configuration = serializeFundingSourceConfiguration(options);
83
+ const route = this.context.storage.sql
84
+ .exec('SELECT id, address FROM routes WHERE id = ?', options.route.id)
85
+ .toArray()[0];
86
+ this.context.storage.transactionSync(() => {
87
+ this.context.storage.sql.exec('INSERT OR REPLACE INTO configuration (id, value) VALUES (1, ?)', configuration);
88
+ this.context.storage.sql.exec('INSERT OR REPLACE INTO routes (id, address) VALUES (?, ?)', options.route.id, options.route.address.toLowerCase());
89
+ if (!route || route.address.toLowerCase() !== options.route.address.toLowerCase())
90
+ this.context.storage.sql.exec('INSERT OR IGNORE INTO backfills (id) VALUES (?)', options.route.id);
91
+ });
92
+ await this.#ensureAlarm();
93
+ }
94
+ /** Replaces the active routes from the database and repairs alarm scheduling. */
95
+ async sync(options) {
96
+ const configuration = serializeFundingSourceConfiguration(options);
97
+ const existing = new Map(this.context.storage.sql
98
+ .exec('SELECT id, address FROM routes ORDER BY id')
99
+ .toArray()
100
+ .map((route) => [route.id, route.address.toLowerCase()]));
101
+ const changed = options.routes.filter((route) => existing.get(route.id) !== route.address.toLowerCase());
102
+ this.context.storage.transactionSync(() => {
103
+ this.context.storage.sql.exec('INSERT OR REPLACE INTO configuration (id, value) VALUES (1, ?)', configuration);
104
+ this.context.storage.sql.exec('DELETE FROM routes');
105
+ for (const route of options.routes)
106
+ this.context.storage.sql.exec('INSERT INTO routes (id, address) VALUES (?, ?)', route.id, route.address.toLowerCase());
107
+ this.context.storage.sql.exec('DELETE FROM backfills WHERE id NOT IN (SELECT id FROM routes)');
108
+ for (const route of changed)
109
+ this.context.storage.sql.exec('INSERT OR IGNORE INTO backfills (id) VALUES (?)', route.id);
110
+ });
111
+ if (options.routes.length === 0) {
112
+ await this.context.storage.deleteAlarm();
113
+ return;
114
+ }
115
+ await this.#ensureAlarm();
116
+ }
117
+ /** Scans confirmed source blocks and persists newly observed deposits. */
118
+ async alarm() {
119
+ const metrics = this.createMetrics();
120
+ const configuration = this.#readConfiguration();
121
+ const routes = this.context.storage.sql
122
+ .exec('SELECT id, address FROM routes ORDER BY id')
123
+ .toArray();
124
+ if (!configuration || routes.length === 0)
125
+ return;
126
+ try {
127
+ const cursor = this.context.storage.sql
128
+ .exec("SELECT value FROM state WHERE key = 'cursor'")
129
+ .toArray()[0];
130
+ const result = await Funding.SourceObservation.scan({
131
+ chainId: configuration.chainId,
132
+ ...(cursor ? { cursor: BigInt(cursor.value) } : {}),
133
+ routes,
134
+ rpcUrls: configuration.rpcUrls,
135
+ tokenAddress: configuration.tokenAddress,
136
+ });
137
+ const backfills = this.context.storage.sql
138
+ .exec('SELECT routes.id, routes.address FROM routes INNER JOIN backfills ON backfills.id = routes.id ORDER BY routes.id')
139
+ .toArray();
140
+ // Backfill new routes independently so the main cursor retains any older shard backlog.
141
+ const backfill = await (async () => {
142
+ if (!cursor || backfills.length === 0)
143
+ return undefined;
144
+ return Funding.SourceObservation.scan({
145
+ chainId: configuration.chainId,
146
+ routes: backfills,
147
+ rpcUrls: configuration.rpcUrls,
148
+ tokenAddress: configuration.tokenAddress,
149
+ });
150
+ })();
151
+ const database = Db.get(() => Db.postgres({ connectionString: this.environment.HYPERDRIVE.connectionString }));
152
+ const routesById = new Map(routes.map((route) => [route.id, route]));
153
+ const observations = new Map([...result.observations, ...(backfill?.observations ?? [])].map((observation) => [
154
+ `${observation.addressId}:${observation.transactionHash.toLowerCase()}:${observation.transferIndex}`,
155
+ observation,
156
+ ])).values();
157
+ for (const observation of observations) {
158
+ const route = routesById.get(observation.addressId);
159
+ if (!route)
160
+ continue;
161
+ const persisted = await Funding.SourceObservation.observe(database, {
162
+ ...observation,
163
+ recipient: route.address,
164
+ });
165
+ if (persisted.type === 'ignored' ||
166
+ persisted.record.providerRequestId !== null ||
167
+ Funding.Deposit.isTerminal(persisted.record.status))
168
+ continue;
169
+ await this.environment.FUNDING_RECONCILIATION_QUEUE.send({
170
+ addressId: observation.addressId,
171
+ trigger: 'chain',
172
+ type: 'funding:deposit-address:reconcile',
173
+ });
174
+ metrics.count('funding_source_observer_deposit_count', 1, {
175
+ chain: configuration.chainId,
176
+ outcome: persisted.type,
177
+ });
178
+ }
179
+ this.context.storage.transactionSync(() => {
180
+ this.context.storage.sql.exec("INSERT OR REPLACE INTO state (key, value) VALUES ('cursor', ?)", result.cursor.toString());
181
+ for (const route of backfills)
182
+ this.context.storage.sql.exec('DELETE FROM backfills WHERE id = ?', route.id);
183
+ });
184
+ metrics.count('funding_source_observer_scan_count', 1, {
185
+ chain: configuration.chainId,
186
+ outcome: 'completed',
187
+ });
188
+ metrics.gauge('funding_source_observer_block_lag', Math.max(0, Number(result.head - result.cursor)), { chain: configuration.chainId });
189
+ await this.context.storage.setAlarm(result.cursor < result.head ? Date.now() : Date.now() + fundingSourceAlarmIntervalMs);
190
+ }
191
+ catch (cause) {
192
+ metrics.count('funding_source_observer_scan_count', 1, {
193
+ chain: configuration.chainId,
194
+ outcome: 'failed',
195
+ });
196
+ this.capture(cause);
197
+ await this.context.storage.setAlarm(Date.now() + fundingSourceRetryIntervalMs);
198
+ }
199
+ finally {
200
+ metrics.flush();
201
+ }
202
+ }
203
+ /** Reports one source-observer failure. */
204
+ capture(cause) {
205
+ console.error(cause);
206
+ }
207
+ /** Creates the operational metric sink used by one alarm invocation. */
208
+ createMetrics() {
209
+ return Metrics.cloudflare({
210
+ enabled: Boolean(this.environment.ENVIRONMENT),
211
+ environment: this.environment.ENVIRONMENT ?? 'development',
212
+ service: 'tapimo',
213
+ });
214
+ }
215
+ #configuration() {
216
+ return this.context.storage.sql
217
+ .exec('SELECT value FROM configuration WHERE id = 1')
218
+ .toArray()[0]?.value;
219
+ }
220
+ async #ensureAlarm() {
221
+ if ((await this.context.storage.getAlarm()) === null)
222
+ await this.context.storage.setAlarm(Date.now());
223
+ }
224
+ #readConfiguration() {
225
+ const value = this.#configuration();
226
+ return value ? JSON.parse(value) : undefined;
227
+ }
228
+ }
229
+ function serializeFundingSourceConfiguration(options) {
230
+ return JSON.stringify({
231
+ chainId: options.chainId,
232
+ rpcUrls: options.rpcUrls,
233
+ tokenAddress: options.tokenAddress.toLowerCase(),
234
+ });
235
+ }
58
236
  //# sourceMappingURL=cloudflare.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,4EAA4E;AAC5E,kCAAkC;AAClC,aAAa;AACb,OAAO,EAAE,aAAa,IAAI,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAE7E,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAK5C,+EAA+E;AAC/E,MAAM,OAAO,aAAc,SAAQ,uBAAuB;IACxD,MAAM,CAAa;IAEnB,YAAY,GAAU,EAAE,GAAgB;QACtC,uEAAuE;QACvE,6EAA6E;QAC7E,KAAK,CAAC,GAAG,EAAE,GAAY,CAAC,CAAA;QACxB,MAAM,EAAE,OAAO,EAAE,GAAG,GAA+C,CAAA;QACnE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,qBAAqB;IACrB,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,QAAuB;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC7C,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,OAAgC;QAC3D,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,IAAI,CAAC,OAA4C;QACrD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,OAAgC;QACpE,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,QAAuB,EAAE,IAAY,EAAE,OAAgC;QAC7F,OAAO,IAAI,CAAC,MAAM,CAAC,IAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC;CACF"}
1
+ {"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"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"}
package/dist/db/Db.d.ts CHANGED
@@ -6,6 +6,7 @@ import type * as EarnVaults from './tables/earnVaults.js';
6
6
  import type * as EnabledBillingSources from './tables/enabledBillingSources.js';
7
7
  import type * as FundingCatalog from './tables/fundingCatalog.js';
8
8
  import type * as FundingDepositAddresses from './tables/fundingDepositAddresses.js';
9
+ import type * as FundingDepositRequestObservations from './tables/fundingDepositRequestObservations.js';
9
10
  import type * as FundingDeposits from './tables/fundingDeposits.js';
10
11
  import type * as FundingIdempotency from './tables/fundingIdempotency.js';
11
12
  import type * as FundingTransferEvents from './tables/fundingTransferEvents.js';
@@ -38,6 +39,7 @@ export type Database = {
38
39
  funding_chain_tokens: FundingCatalog.ChainTokenTable;
39
40
  funding_chains: FundingCatalog.ChainTable;
40
41
  funding_deposit_addresses: FundingDepositAddresses.Table;
42
+ funding_deposit_request_observations: FundingDepositRequestObservations.Table;
41
43
  funding_deposits: FundingDeposits.Table;
42
44
  funding_idempotency_requests: FundingIdempotency.Table;
43
45
  funding_routes: FundingCatalog.RouteTable;
@@ -1 +1 @@
1
- {"version":3,"file":"Db.d.ts","sourceRoot":"","sources":["../../src/db/Db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Db.d.ts","sourceRoot":"","sources":["../../src/db/Db.ts"],"names":[],"mappings":"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"}
package/dist/db/Db.js CHANGED
@@ -957,6 +957,43 @@ export const migrations = [
957
957
  END
958
958
  $$`),
959
959
  },
960
+ {
961
+ name: '0108_funding_deposits_recipient_index',
962
+ // The expression indexes existing snapshots without a deployment-order-sensitive column backfill.
963
+ up: (db) => raw(db, sql `CREATE INDEX IF NOT EXISTS funding_deposits_recipient_idx ON funding_deposits (org_id, environment, lower(snapshot->>'recipient'), created_at, id)`),
964
+ },
965
+ {
966
+ name: '0109_funding_deposits_detection_trigger',
967
+ up: (db) => raw(db, sql `ALTER TABLE funding_deposits ADD COLUMN IF NOT EXISTS detection_trigger text CHECK (detection_trigger IN ('manual', 'poll', 'webhook'))`),
968
+ },
969
+ {
970
+ name: '0110_funding_deposit_request_observations',
971
+ up: (db) => db.schema
972
+ .createTable('fundingDepositRequestObservations')
973
+ .ifNotExists()
974
+ .addColumn('depositAddressId', 'text', (c) => c.notNull().references('fundingDepositAddresses.id').onDelete('cascade'))
975
+ .addColumn('pollObservedAt', 'text')
976
+ .addColumn('providerRequestId', 'text', (c) => c.notNull())
977
+ .addColumn('webhookReceivedAt', 'text')
978
+ .addPrimaryKeyConstraint('funding_deposit_request_observations_pkey', [
979
+ 'depositAddressId',
980
+ 'providerRequestId',
981
+ ]),
982
+ },
983
+ {
984
+ name: '0111_funding_deposit_observation_timestamps',
985
+ up: (db) => raw(db, sql `ALTER TABLE funding_deposits
986
+ ADD COLUMN IF NOT EXISTS poll_observed_at text,
987
+ ADD COLUMN IF NOT EXISTS webhook_received_at text`),
988
+ },
989
+ {
990
+ name: '0112_funding_deposits_source_observation_index',
991
+ up: (db) => raw(db, sql `CREATE UNIQUE INDEX IF NOT EXISTS funding_deposits_source_observation_idx ON funding_deposits (deposit_address_id, source_transaction_hash, source_transfer_index)`),
992
+ },
993
+ {
994
+ name: '0113_funding_deposits_chain_detection_trigger',
995
+ up: (db) => raw(db, sql `ALTER TABLE funding_deposits DROP CONSTRAINT IF EXISTS funding_deposits_detection_trigger_check, ADD CONSTRAINT funding_deposits_detection_trigger_check CHECK (detection_trigger IN ('chain', 'manual', 'poll', 'webhook'))`),
996
+ },
960
997
  ];
961
998
  /**
962
999
  * Adapts a raw statement to the migration contract (argument-less