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
@@ -0,0 +1,45 @@
1
+ import { type Selectable } from 'kysely';
2
+ import type * as Db from '../Db.js';
3
+ import type * as db_Schema from '../Schema.js';
4
+ /** Columns of the `funding_deposit_request_observations` table. */
5
+ export type Table = db_Schema.FundingDepositRequestObservation;
6
+ /** First Tempo observations of one provider request. */
7
+ export type Record = Selectable<Table>;
8
+ /** Gets observation timestamps for one provider request. */
9
+ export declare function get(db: Db.Db, options: get.Options): Promise<Record | undefined>;
10
+ export declare namespace get {
11
+ /** Provider request identity scoped to one reusable address. */
12
+ type Options = {
13
+ /** Funding deposit address id (`fda_…`). */
14
+ depositAddressId: string;
15
+ /** Provider request identifier. */
16
+ providerRequestId: string;
17
+ };
18
+ }
19
+ /** Records when polling first observed each provider request. */
20
+ export declare function observePoll(db: Db.Db, options: observePoll.Options): Promise<Record[]>;
21
+ export declare namespace observePoll {
22
+ /** Provider requests observed in one successful poll response. */
23
+ type Options = {
24
+ /** Funding deposit address id (`fda_…`). */
25
+ depositAddressId: string;
26
+ /** When Tempo observed the provider requests. */
27
+ observedAt: string;
28
+ /** Provider request identifiers returned by the poll. */
29
+ providerRequestIds: readonly string[];
30
+ };
31
+ }
32
+ /** Records when Tempo first received an authenticated webhook for a provider request. */
33
+ export declare function observeWebhook(db: Db.Db, options: observeWebhook.Options): Promise<Record | undefined>;
34
+ export declare namespace observeWebhook {
35
+ /** Authenticated webhook observation for one provider request. */
36
+ type Options = {
37
+ /** Funding deposit address id (`fda_…`). */
38
+ depositAddressId: string;
39
+ /** Provider request identifier. */
40
+ providerRequestId: string;
41
+ /** When Tempo received the webhook. */
42
+ receivedAt: string;
43
+ };
44
+ }
45
+ //# sourceMappingURL=fundingDepositRequestObservations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fundingDepositRequestObservations.d.ts","sourceRoot":"","sources":["../../../src/db/tables/fundingDepositRequestObservations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,KAAK,SAAS,MAAM,cAAc,CAAA;AAE9C,mEAAmE;AACnE,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC,gCAAgC,CAAA;AAE9D,wDAAwD;AACxD,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;AAEtC,4DAA4D;AAC5D,wBAAgB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAOhF;AAED,MAAM,CAAC,OAAO,WAAW,GAAG,CAAC;IAC3B,gEAAgE;IAChE,KAAK,OAAO,GAAG;QACb,4CAA4C;QAC5C,gBAAgB,EAAE,MAAM,CAAA;QACxB,mCAAmC;QACnC,iBAAiB,EAAE,MAAM,CAAA;KAC1B,CAAA;CACF;AAED,iEAAiE;AACjE,wBAAsB,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoB5F;AAED,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,kEAAkE;IAClE,KAAK,OAAO,GAAG;QACb,4CAA4C;QAC5C,gBAAgB,EAAE,MAAM,CAAA;QACxB,iDAAiD;QACjD,UAAU,EAAE,MAAM,CAAA;QAClB,yDAAyD;QACzD,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAA;KACtC,CAAA;CACF;AAED,yFAAyF;AACzF,wBAAgB,cAAc,CAC5B,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,OAAO,EAAE,cAAc,CAAC,OAAO,GAC9B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgB7B;AAED,MAAM,CAAC,OAAO,WAAW,cAAc,CAAC;IACtC,kEAAkE;IAClE,KAAK,OAAO,GAAG;QACb,4CAA4C;QAC5C,gBAAgB,EAAE,MAAM,CAAA;QACxB,mCAAmC;QACnC,iBAAiB,EAAE,MAAM,CAAA;QACzB,uCAAuC;QACvC,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF"}
@@ -0,0 +1,46 @@
1
+ import { sql } from 'kysely';
2
+ /** Gets observation timestamps for one provider request. */
3
+ export function get(db, options) {
4
+ return db.kysely
5
+ .selectFrom('funding_deposit_request_observations')
6
+ .selectAll()
7
+ .where('depositAddressId', '=', options.depositAddressId)
8
+ .where('providerRequestId', '=', options.providerRequestId)
9
+ .executeTakeFirst();
10
+ }
11
+ /** Records when polling first observed each provider request. */
12
+ export async function observePoll(db, options) {
13
+ const providerRequestIds = [...new Set(options.providerRequestIds)];
14
+ if (providerRequestIds.length === 0)
15
+ return [];
16
+ return db.kysely
17
+ .insertInto('funding_deposit_request_observations')
18
+ .values(providerRequestIds.map((providerRequestId) => ({
19
+ depositAddressId: options.depositAddressId,
20
+ pollObservedAt: options.observedAt,
21
+ providerRequestId,
22
+ webhookReceivedAt: null,
23
+ })))
24
+ .onConflict((oc) => oc.columns(['depositAddressId', 'providerRequestId']).doUpdateSet({
25
+ pollObservedAt: sql `LEAST(COALESCE(funding_deposit_request_observations.poll_observed_at, excluded.poll_observed_at), excluded.poll_observed_at)`,
26
+ }))
27
+ .returningAll()
28
+ .execute();
29
+ }
30
+ /** Records when Tempo first received an authenticated webhook for a provider request. */
31
+ export function observeWebhook(db, options) {
32
+ return db.kysely
33
+ .insertInto('funding_deposit_request_observations')
34
+ .values({
35
+ depositAddressId: options.depositAddressId,
36
+ pollObservedAt: null,
37
+ providerRequestId: options.providerRequestId,
38
+ webhookReceivedAt: options.receivedAt,
39
+ })
40
+ .onConflict((oc) => oc.columns(['depositAddressId', 'providerRequestId']).doUpdateSet({
41
+ webhookReceivedAt: sql `LEAST(COALESCE(funding_deposit_request_observations.webhook_received_at, excluded.webhook_received_at), excluded.webhook_received_at)`,
42
+ }))
43
+ .returningAll()
44
+ .executeTakeFirst();
45
+ }
46
+ //# sourceMappingURL=fundingDepositRequestObservations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fundingDepositRequestObservations.js","sourceRoot":"","sources":["../../../src/db/tables/fundingDepositRequestObservations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAmB,MAAM,QAAQ,CAAA;AAW7C,4DAA4D;AAC5D,MAAM,UAAU,GAAG,CAAC,EAAS,EAAE,OAAoB;IACjD,OAAO,EAAE,CAAC,MAAM;SACb,UAAU,CAAC,sCAAsC,CAAC;SAClD,SAAS,EAAE;SACX,KAAK,CAAC,kBAAkB,EAAE,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC;SACxD,KAAK,CAAC,mBAAmB,EAAE,GAAG,EAAE,OAAO,CAAC,iBAAiB,CAAC;SAC1D,gBAAgB,EAAE,CAAA;AACvB,CAAC;AAYD,iEAAiE;AACjE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAS,EAAE,OAA4B;IACvE,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA;IACnE,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAC9C,OAAO,EAAE,CAAC,MAAM;SACb,UAAU,CAAC,sCAAsC,CAAC;SAClD,MAAM,CACL,kBAAkB,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC7C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,cAAc,EAAE,OAAO,CAAC,UAAU;QAClC,iBAAiB;QACjB,iBAAiB,EAAE,IAAI;KACxB,CAAC,CAAC,CACJ;SACA,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CACjB,EAAE,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC;QAChE,cAAc,EAAE,GAAG,CAAQ,8HAA8H;KAC1J,CAAC,CACH;SACA,YAAY,EAAE;SACd,OAAO,EAAE,CAAA;AACd,CAAC;AAcD,yFAAyF;AACzF,MAAM,UAAU,cAAc,CAC5B,EAAS,EACT,OAA+B;IAE/B,OAAO,EAAE,CAAC,MAAM;SACb,UAAU,CAAC,sCAAsC,CAAC;SAClD,MAAM,CAAC;QACN,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,cAAc,EAAE,IAAI;QACpB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,iBAAiB,EAAE,OAAO,CAAC,UAAU;KACtC,CAAC;SACD,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CACjB,EAAE,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC;QAChE,iBAAiB,EAAE,GAAG,CAAQ,uIAAuI;KACtK,CAAC,CACH;SACA,YAAY,EAAE;SACd,gBAAgB,EAAE,CAAA;AACvB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { JSONColumnType, Selectable } from 'kysely';
1
+ import { type JSONColumnType, type Selectable } from 'kysely';
2
2
  import type * as Db from '../Db.js';
3
3
  import type * as db_Schema from '../Schema.js';
4
4
  /** Columns of the `funding_deposits` table. */
@@ -21,6 +21,30 @@ export type Owner = {
21
21
  };
22
22
  /** Inserts one provider-observed source transfer as a funding deposit. */
23
23
  export declare function insert(db: Db.Db, record: Record): Promise<Record>;
24
+ /** Inserts a chain-observed source transfer or returns its existing deposit. */
25
+ export declare function insertOrGetSource(db: Db.Db, record: Record & {
26
+ sourceTransferIndex: number;
27
+ }): Promise<insertOrGetSource.Result>;
28
+ export declare namespace insertOrGetSource {
29
+ /** Result of idempotently persisting one verified source transfer. */
30
+ type Result = {
31
+ record: Record;
32
+ type: 'created' | 'existing';
33
+ };
34
+ }
35
+ /** Serializes source attribution for one address and transaction. */
36
+ export declare function withSourceTransaction<const result>(db: Db.Db, options: withSourceTransaction.Options<result>): Promise<result>;
37
+ export declare namespace withSourceTransaction {
38
+ /** Source identity and transaction-scoped work protected by its advisory lock. */
39
+ type Options<result> = {
40
+ /** Funding deposit address that received the transfer. */
41
+ depositAddressId: string;
42
+ /** Database work serialized for the source transaction. */
43
+ fn: (db: Db.Db) => Promise<result>;
44
+ /** Source transaction whose deposit attribution must not race. */
45
+ sourceTransactionHash: string;
46
+ };
47
+ }
24
48
  /** Gets deposits created from one provider-observed source transaction. */
25
49
  export declare function listByProviderObservation(db: Db.Db, options: listByProviderObservation.Options): Promise<Record[]>;
26
50
  export declare namespace listByProviderObservation {
@@ -34,6 +58,21 @@ export declare namespace listByProviderObservation {
34
58
  sourceTransactionHash: string;
35
59
  };
36
60
  }
61
+ /** Attaches first-observation timestamps to every deposit from one provider request. */
62
+ export declare function recordRequestObservation(db: Db.Db, options: recordRequestObservation.Options): Promise<Record[]>;
63
+ export declare namespace recordRequestObservation {
64
+ /** First observations associated with one provider request. */
65
+ type Options = {
66
+ /** Funding deposit address id (`fda_…`). */
67
+ depositAddressId: string;
68
+ /** When polling first observed the provider request. */
69
+ pollObservedAt?: string | undefined;
70
+ /** Provider request identifier. */
71
+ providerRequestId: string;
72
+ /** When Tempo first received an authenticated provider webhook. */
73
+ webhookReceivedAt?: string | undefined;
74
+ };
75
+ }
37
76
  /** Gets deposits associated with one address and source transaction. */
38
77
  export declare function listBySourceTransaction(db: Db.Db, options: listBySourceTransaction.Options): Promise<Record[]>;
39
78
  export declare namespace listBySourceTransaction {
@@ -45,6 +84,8 @@ export declare namespace listBySourceTransaction {
45
84
  sourceTransactionHash: string;
46
85
  };
47
86
  }
87
+ /** Returns whether an address has a nonterminal source transfer awaiting provider attribution. */
88
+ export declare function hasUnattributed(db: Db.Db, depositAddressId: string): Promise<boolean>;
48
89
  /** Gets a funding deposit without ownership scoping. */
49
90
  export declare function get(db: Db.Db, id: string): Promise<Record | undefined>;
50
91
  /** Gets an owner-visible funding deposit. */
@@ -67,6 +108,21 @@ export declare namespace listByAddress {
67
108
  limit: number;
68
109
  };
69
110
  }
111
+ /** Lists one recipient's owner-visible deposits newest-first. */
112
+ export declare function listByRecipient(db: Db.Db, options: listByRecipient.Options): Promise<Record[]>;
113
+ export declare namespace listByRecipient {
114
+ /** Recipient filter, ownership, and paging options. */
115
+ type Options = {
116
+ /** Exclusive lower bound from the previous page. */
117
+ cursor?: listByAddress.Cursor | undefined;
118
+ /** Maximum rows to return. */
119
+ limit: number;
120
+ /** Ownership filter derived from the authenticated API key. */
121
+ owner: Owner;
122
+ /** Tempo account that receives completed deposits. */
123
+ recipient: string;
124
+ };
125
+ }
70
126
  /** Applies a version-guarded deposit update. */
71
127
  export declare function update(db: Db.Db, options: update.Options): Promise<Record | undefined>;
72
128
  export declare namespace update {
@@ -1 +1 @@
1
- {"version":3,"file":"fundingDeposits.d.ts","sourceRoot":"","sources":["../../../src/db/tables/fundingDeposits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAExD,OAAO,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,KAAK,SAAS,MAAM,cAAc,CAAA;AAE9C,+CAA+C;AAC/C,MAAM,MAAM,KAAK,GAAG,IAAI,CACtB,SAAS,CAAC,cAAc,EACxB,oBAAoB,GAAG,2BAA2B,CACnD,GAAG;IACF,2DAA2D;IAC3D,kBAAkB,EAAE,cAAc,CAAC,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACrE,8DAA8D;IAC9D,yBAAyB,EAAE,cAAc,CAAC,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7E,CAAA;AAED,gCAAgC;AAChC,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;AAEtC,2DAA2D;AAC3D,MAAM,MAAM,KAAK,GAAG;IAClB,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;IAClC,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC/B,CAAA;AAED,0EAA0E;AAC1E,wBAAgB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUjE;AAED,2EAA2E;AAC3E,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,OAAO,EAAE,yBAAyB,CAAC,OAAO,GACzC,OAAO,CAAC,MAAM,EAAE,CAAC,CASnB;AAED,MAAM,CAAC,OAAO,WAAW,yBAAyB,CAAC;IACjD,wEAAwE;IACxE,KAAK,OAAO,GAAG;QACb,0DAA0D;QAC1D,gBAAgB,EAAE,MAAM,CAAA;QACxB,mDAAmD;QACnD,iBAAiB,EAAE,MAAM,CAAA;QACzB,sDAAsD;QACtD,qBAAqB,EAAE,MAAM,CAAA;KAC9B,CAAA;CACF;AAED,wEAAwE;AACxE,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,OAAO,EAAE,uBAAuB,CAAC,OAAO,GACvC,OAAO,CAAC,MAAM,EAAE,CAAC,CAQnB;AAED,MAAM,CAAC,OAAO,WAAW,uBAAuB,CAAC;IAC/C,+DAA+D;IAC/D,KAAK,OAAO,GAAG;QACb,0DAA0D;QAC1D,gBAAgB,EAAE,MAAM,CAAA;QACxB,sDAAsD;QACtD,qBAAqB,EAAE,MAAM,CAAA;KAC9B,CAAA;CACF;AAED,wDAAwD;AACxD,wBAAgB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAMtE;AAED,6CAA6C;AAC7C,wBAAgB,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CASzF;AAED,+DAA+D;AAC/D,wBAAgB,aAAa,CAC3B,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,CAAC,OAAO,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAiBnB;AAED,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC,wEAAwE;IACxE,KAAK,MAAM,GAAG;QACZ,6BAA6B;QAC7B,SAAS,EAAE,MAAM,CAAA;QACjB,uDAAuD;QACvD,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;IAED,iDAAiD;IACjD,KAAK,OAAO,GAAG;QACb,oDAAoD;QACpD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,8BAA8B;QAC9B,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,gDAAgD;AAChD,wBAAgB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA0BtF;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,qCAAqC;IACrC,KAAK,OAAO,GAAG;QACb,8CAA8C;QAC9C,eAAe,EAAE,MAAM,CAAA;QACvB,oCAAoC;QACpC,EAAE,EAAE,MAAM,CAAA;QACV,iDAAiD;QACjD,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAA;QACpD,wDAAwD;QACxD,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAA;QAC9C,4CAA4C;QAC5C,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAChD,sCAAsC;QACtC,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,CAAA;QACtC,2CAA2C;QAC3C,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC,CAAA;QAC9D,oDAAoD;QACpD,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC,CAAA;QACtD,mCAAmC;QACnC,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;QAChC,2EAA2E;QAC3E,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC,CAAA;QACtD,6CAA6C;QAC7C,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC,CAAA;QAC9D,mCAAmC;QACnC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;QAC5B,qEAAqE;QACrE,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAA;QAClD,oCAAoC;QACpC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QACxB,wCAAwC;QACxC,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;QACpC,kDAAkD;QAClD,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,CAAA;QACtC,oDAAoD;QACpD,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;QACpC,gCAAgC;QAChC,SAAS,EAAE,MAAM,CAAA;QACjB,4BAA4B;QAC5B,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF"}
1
+ {"version":3,"file":"fundingDeposits.d.ts","sourceRoot":"","sources":["../../../src/db/tables/fundingDeposits.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { sql } from 'kysely';
1
2
  /** Inserts one provider-observed source transfer as a funding deposit. */
2
3
  export function insert(db, record) {
3
4
  return db.kysely
@@ -10,6 +11,37 @@ export function insert(db, record) {
10
11
  .returningAll()
11
12
  .executeTakeFirstOrThrow();
12
13
  }
14
+ /** Inserts a chain-observed source transfer or returns its existing deposit. */
15
+ export async function insertOrGetSource(db, record) {
16
+ const inserted = await db.kysely
17
+ .insertInto('funding_deposits')
18
+ .values({
19
+ ...record,
20
+ providerRequestIds: JSON.stringify(record.providerRequestIds),
21
+ providerTransactionHashes: JSON.stringify(record.providerTransactionHashes),
22
+ })
23
+ .onConflict((oc) => oc.columns(['depositAddressId', 'sourceTransactionHash', 'sourceTransferIndex']).doNothing())
24
+ .returningAll()
25
+ .executeTakeFirst();
26
+ if (inserted)
27
+ return { record: inserted, type: 'created' };
28
+ const existing = await db.kysely
29
+ .selectFrom('funding_deposits')
30
+ .selectAll()
31
+ .where('depositAddressId', '=', record.depositAddressId)
32
+ .where('sourceTransactionHash', '=', record.sourceTransactionHash)
33
+ .where('sourceTransferIndex', '=', record.sourceTransferIndex)
34
+ .executeTakeFirstOrThrow();
35
+ return { record: existing, type: 'existing' };
36
+ }
37
+ /** Serializes source attribution for one address and transaction. */
38
+ export function withSourceTransaction(db, options) {
39
+ return db.transaction(async (tx) => {
40
+ const key = `${options.depositAddressId}:${options.sourceTransactionHash.toLowerCase()}`;
41
+ await sql `SELECT pg_advisory_xact_lock(hashtextextended(${key}, 0))`.execute(tx.kysely);
42
+ return options.fn(tx);
43
+ });
44
+ }
13
45
  /** Gets deposits created from one provider-observed source transaction. */
14
46
  export function listByProviderObservation(db, options) {
15
47
  return db.kysely
@@ -21,6 +53,27 @@ export function listByProviderObservation(db, options) {
21
53
  .orderBy('providerTransferIndex', 'asc')
22
54
  .execute();
23
55
  }
56
+ /** Attaches first-observation timestamps to every deposit from one provider request. */
57
+ export function recordRequestObservation(db, options) {
58
+ return db.kysely
59
+ .updateTable('funding_deposits')
60
+ .set({
61
+ ...(options.pollObservedAt
62
+ ? {
63
+ pollObservedAt: sql `LEAST(COALESCE(poll_observed_at, ${options.pollObservedAt}), ${options.pollObservedAt})`,
64
+ }
65
+ : {}),
66
+ ...(options.webhookReceivedAt
67
+ ? {
68
+ webhookReceivedAt: sql `LEAST(COALESCE(webhook_received_at, ${options.webhookReceivedAt}), ${options.webhookReceivedAt})`,
69
+ }
70
+ : {}),
71
+ })
72
+ .where('depositAddressId', '=', options.depositAddressId)
73
+ .where('providerRequestId', '=', options.providerRequestId)
74
+ .returningAll()
75
+ .execute();
76
+ }
24
77
  /** Gets deposits associated with one address and source transaction. */
25
78
  export function listBySourceTransaction(db, options) {
26
79
  return db.kysely
@@ -31,6 +84,17 @@ export function listBySourceTransaction(db, options) {
31
84
  .orderBy('sourceTransferIndex', 'asc')
32
85
  .execute();
33
86
  }
87
+ /** Returns whether an address has a nonterminal source transfer awaiting provider attribution. */
88
+ export async function hasUnattributed(db, depositAddressId) {
89
+ return Boolean(await db.kysely
90
+ .selectFrom('funding_deposits')
91
+ .select('id')
92
+ .where('depositAddressId', '=', depositAddressId)
93
+ .where('providerRequestId', 'is', null)
94
+ .where('status', 'not in', ['completed', 'refunded'])
95
+ .limit(1)
96
+ .executeTakeFirst());
97
+ }
34
98
  /** Gets a funding deposit without ownership scoping. */
35
99
  export function get(db, id) {
36
100
  return db.kysely
@@ -69,6 +133,24 @@ export function listByAddress(db, owner, addressId, options) {
69
133
  ]));
70
134
  return query.orderBy('createdAt', 'desc').orderBy('id', 'desc').limit(limit).execute();
71
135
  }
136
+ /** Lists one recipient's owner-visible deposits newest-first. */
137
+ export function listByRecipient(db, options) {
138
+ const { cursor, limit, owner, recipient } = options;
139
+ let query = db.kysely
140
+ .selectFrom('funding_deposits')
141
+ .selectAll()
142
+ .where('environment', '=', owner.environment)
143
+ .where('orgId', '=', owner.orgId)
144
+ .where(sql `lower(snapshot->>'recipient') = ${recipient.toLowerCase()}`);
145
+ if (owner.projectId !== undefined)
146
+ query = query.where('projectId', '=', owner.projectId);
147
+ if (cursor)
148
+ query = query.where((eb) => eb.or([
149
+ eb('createdAt', '<', cursor.createdAt),
150
+ eb.and([eb('createdAt', '=', cursor.createdAt), eb('id', '<', cursor.id)]),
151
+ ]));
152
+ return query.orderBy('createdAt', 'desc').orderBy('id', 'desc').limit(limit).execute();
153
+ }
72
154
  /** Applies a version-guarded deposit update. */
73
155
  export function update(db, options) {
74
156
  return db.kysely
@@ -1 +1 @@
1
- {"version":3,"file":"fundingDeposits.js","sourceRoot":"","sources":["../../../src/db/tables/fundingDeposits.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundingDeposits.js","sourceRoot":"","sources":["../../../src/db/tables/fundingDeposits.ts"],"names":[],"mappings":"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"}
@@ -252,19 +252,19 @@ export declare const narrowAccess: boolean;
252
252
  /** Typed auth/payment error response for Hono client inference. Never reached at runtime. */
253
253
  export declare function accessError(c: hono_Context): (Response & import("hono").TypedResponse<{
254
254
  error: {
255
- code: "api_key_forbidden";
255
+ code: "api_key_malformed";
256
256
  details?: readonly Response.error.Detail[] | undefined;
257
257
  message: string;
258
258
  };
259
259
  requestId: string;
260
- }, 403, "json">) | (Response & import("hono").TypedResponse<{
260
+ }, 400, "json">) | (Response & import("hono").TypedResponse<{
261
261
  error: {
262
- code: "api_key_malformed";
262
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
263
263
  details?: readonly Response.error.Detail[] | undefined;
264
264
  message: string;
265
265
  };
266
266
  requestId: string;
267
- }, 400, "json">) | (Response & import("hono").TypedResponse<{
267
+ }, 403, "json">) | (Response & import("hono").TypedResponse<{
268
268
  error: {
269
269
  code: "api_key_invalid" | "api_key_missing";
270
270
  details?: readonly Response.error.Detail[] | undefined;
@@ -305,19 +305,19 @@ export declare function superAdminAccessError(c: hono_Context): (Response & impo
305
305
  /** Typed auth/payment error response for Hono client inference. Never reached at runtime. */
306
306
  export declare function paidAccessError(c: hono_Context): (Response & import("hono").TypedResponse<{
307
307
  error: {
308
- code: "api_key_forbidden";
308
+ code: "api_key_malformed";
309
309
  details?: readonly Response.error.Detail[] | undefined;
310
310
  message: string;
311
311
  };
312
312
  requestId: string;
313
- }, 403, "json">) | (Response & import("hono").TypedResponse<{
313
+ }, 400, "json">) | (Response & import("hono").TypedResponse<{
314
314
  error: {
315
- code: "api_key_malformed";
315
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
316
316
  details?: readonly Response.error.Detail[] | undefined;
317
317
  message: string;
318
318
  };
319
319
  requestId: string;
320
- }, 400, "json">) | (Response & import("hono").TypedResponse<{
320
+ }, 403, "json">) | (Response & import("hono").TypedResponse<{
321
321
  error: {
322
322
  code: "api_key_invalid" | "api_key_missing";
323
323
  details?: readonly Response.error.Detail[] | undefined;
@@ -344,8 +344,8 @@ export declare namespace middleware {
344
344
  /**
345
345
  * Resolve-cache tuning (per-isolate, positive 60s / negative 10s by
346
346
  * default), or `false` to resolve uncached on every request — e.g.
347
- * when instant revocation matters more than the per-request backend
348
- * read.
347
+ * when immediate key updates matter more than the per-request
348
+ * backend read.
349
349
  */
350
350
  cache?: Cache | false | undefined;
351
351
  /** API-key quotas keyed by quota scope (reserved `'*'` is the config default). */
@@ -359,7 +359,7 @@ export declare namespace middleware {
359
359
  overrides?: Overrides<endpoint> | undefined;
360
360
  /** Default public access policy. Pass false to disable anonymous access. */
361
361
  public?: {
362
- /** Resolves the client IP from trusted runtime or proxy metadata. Defaults to `cf-connecting-ip`. */
362
+ /** Resolves the client IP from trusted runtime or proxy metadata. Required outside Cloudflare for API-key allowlists. */
363
363
  clientIp?: ((request: Request) => string | undefined) | undefined;
364
364
  /** Anonymous public quota for protected routes. */
365
365
  rateLimit?: RateLimit.Limit | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../src/internal/Auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../src/internal/Auth.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import * as ApiKey from '../ApiKey.js';
12
12
  import * as ApiKeys from '../ApiKeys.js';
13
13
  import * as Db from '../db/Db.js';
14
14
  import * as Memberships from '../db/tables/memberships.js';
15
+ import * as IpAllowlist from './IpAllowlist.js';
15
16
  import * as Metadata from '../apps/metadata.js';
16
17
  import * as OpenApi from './OpenApi.js';
17
18
  import * as Organizations from '../db/tables/organizations.js';
@@ -209,12 +210,16 @@ export function accessError(c) {
209
210
  status: 401,
210
211
  });
211
212
  }
212
- if (status === 403)
213
+ if (status === 403) {
214
+ const ipForbidden = c.req.header('tempo-narrow-access-code') === 'api_key_ip_forbidden';
213
215
  return Response.error(c, {
214
- code: 'api_key_forbidden',
215
- message: 'API key missing required scope',
216
+ code: ipForbidden ? 'api_key_ip_forbidden' : 'api_key_forbidden',
217
+ message: ipForbidden
218
+ ? 'API key not permitted from this IP address'
219
+ : 'API key missing required scope',
216
220
  status: 403,
217
221
  });
222
+ }
218
223
  const code = c.req.header('tempo-narrow-access-code') === 'rate_limit_exceeded'
219
224
  ? 'rate_limit_exceeded'
220
225
  : 'payment_required';
@@ -271,8 +276,8 @@ export function middleware(options) {
271
276
  // store is configured, every token resolves to `null` (closed).
272
277
  // Resolution is cached per isolate by default (positive 60s / negative 10s,
273
278
  // keyed by token sha256) so hot keys skip the backend read on the auth path
274
- // of every request. Pass `apiKey.cache: false` when instant revocation
275
- // matters more than the per-request read.
279
+ // of every request. Pass `apiKey.cache: false` when immediate key updates
280
+ // matter more than the per-request read.
276
281
  const resolve = (() => {
277
282
  const uncached = (c, token) => {
278
283
  const kv = contextKv(c);
@@ -903,14 +908,6 @@ export function require(policy) {
903
908
  const explicitChain = explicitChainId(c);
904
909
  const principal = principalFromApiKey(apiKey);
905
910
  c.set('principal', principal);
906
- if (apiKey.environment === 'sandbox' &&
907
- explicitChain !== undefined &&
908
- explicitChain === tempoMainnet.id)
909
- return jsonError(c, {
910
- code: 'api_key_forbidden',
911
- message: 'Sandbox API keys only support testnet. Pass a testnet `chainId`.',
912
- status: 403,
913
- });
914
911
  // Default-deny: routes with no API-key lane allow only the super admin.
915
912
  // A valid key is authenticated but forbidden.
916
913
  if (!policy.apiKey)
@@ -919,6 +916,24 @@ export function require(policy) {
919
916
  message: 'API key not permitted for this route',
920
917
  status: 403,
921
918
  });
919
+ if (apiKey.allowedIps.length &&
920
+ !(await IpAllowlist.allows(c, {
921
+ address: trustedClientIp(c, auth),
922
+ rules: apiKey.allowedIps,
923
+ })))
924
+ return jsonError(c, {
925
+ code: 'api_key_ip_forbidden',
926
+ message: 'API key not permitted from this IP address',
927
+ status: 403,
928
+ });
929
+ if (apiKey.environment === 'sandbox' &&
930
+ explicitChain !== undefined &&
931
+ explicitChain === tempoMainnet.id)
932
+ return jsonError(c, {
933
+ code: 'api_key_forbidden',
934
+ message: 'Sandbox API keys only support testnet. Pass a testnet `chainId`.',
935
+ status: 403,
936
+ });
922
937
  const missing = apiKey.scopes.includes(Scope.wildcard)
923
938
  ? []
924
939
  : (policy.apiKey?.scopes.filter((scope) => !apiKey.scopes.includes(scope)) ?? []);
@@ -1159,6 +1174,17 @@ function getApiKeyCredential(c) {
1159
1174
  return { token: apiKey };
1160
1175
  return null;
1161
1176
  }
1177
+ function clientIp(c, auth) {
1178
+ return auth.publicClientIp ? auth.publicClientIp(c.req.raw) : c.req.header('cf-connecting-ip');
1179
+ }
1180
+ function trustedClientIp(c, auth) {
1181
+ if (auth.publicClientIp)
1182
+ return auth.publicClientIp(c.req.raw);
1183
+ // Cloudflare supplies both the request metadata and this header.
1184
+ if (!('cf' in c.req.raw))
1185
+ return undefined;
1186
+ return c.req.header('cf-connecting-ip');
1187
+ }
1162
1188
  /** Removes the reserved auth query parameter before route validation. */
1163
1189
  function stripApiKeyQuery(c) {
1164
1190
  const url = new URL(c.req.url);
@@ -1261,7 +1287,7 @@ function principalFromApiKey(apiKey) {
1261
1287
  };
1262
1288
  }
1263
1289
  function principalFromPublic(c, auth) {
1264
- const ip = auth.publicClientIp ? auth.publicClientIp(c.req.raw) : c.req.header('cf-connecting-ip');
1290
+ const ip = clientIp(c, auth);
1265
1291
  return {
1266
1292
  id: ip ? RateLimit.normalizeIp(ip) : 'anonymous',
1267
1293
  type: 'public',
@@ -1353,7 +1379,7 @@ const cachedMaxEntries = 10_000;
1353
1379
  * (default 60s), negative for `negativeTtl` (default 10s) so a freshly minted
1354
1380
  * key is usable quickly; concurrent misses for one token are single-flighted.
1355
1381
  * Entries are keyed by the token's sha256 (`ApiKey.hash`) — never the
1356
- * plaintext. A revoked key may stay resolvable for up to `ttl` the accepted
1382
+ * plaintext. Key updates may remain stale for up to `ttl`, the accepted
1357
1383
  * trade-off for removing a backend read from the auth path.
1358
1384
  */
1359
1385
  function cachedResolve(resolve, options) {