tapimo 0.7.1 → 0.7.2

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 (681) hide show
  1. package/dist/ApiKeys.d.ts +24 -7
  2. package/dist/ApiKeys.d.ts.map +1 -1
  3. package/dist/ApiKeys.js +17 -5
  4. package/dist/ApiKeys.js.map +1 -1
  5. package/dist/App.d.ts +12104 -7861
  6. package/dist/App.d.ts.map +1 -1
  7. package/dist/App.js +191 -128
  8. package/dist/App.js.map +1 -1
  9. package/dist/Assets.d.ts +10 -0
  10. package/dist/Assets.d.ts.map +1 -1
  11. package/dist/Assets.js +17 -4
  12. package/dist/Assets.js.map +1 -1
  13. package/dist/Scope.d.ts +19 -8
  14. package/dist/Scope.d.ts.map +1 -1
  15. package/dist/Scope.js +25 -9
  16. package/dist/Scope.js.map +1 -1
  17. package/dist/Webhooks.d.ts +1 -1
  18. package/dist/admin/App.d.ts +601 -20
  19. package/dist/admin/App.d.ts.map +1 -1
  20. package/dist/admin/App.js +12 -2
  21. package/dist/admin/App.js.map +1 -1
  22. package/dist/admin/apps/api-keys.d.ts +94 -11
  23. package/dist/admin/apps/api-keys.d.ts.map +1 -1
  24. package/dist/admin/apps/api-keys.js +141 -32
  25. package/dist/admin/apps/api-keys.js.map +1 -1
  26. package/dist/admin/apps/earn-vaults.d.ts +1069 -0
  27. package/dist/admin/apps/earn-vaults.d.ts.map +1 -0
  28. package/dist/admin/apps/earn-vaults.js +409 -0
  29. package/dist/admin/apps/earn-vaults.js.map +1 -0
  30. package/dist/admin/apps/verified-tokens.d.ts +166 -166
  31. package/dist/admin/ui.generated.d.ts +1 -1
  32. package/dist/admin/ui.generated.d.ts.map +1 -1
  33. package/dist/admin/ui.generated.js +99 -43
  34. package/dist/admin/ui.generated.js.map +1 -1
  35. package/dist/analytics/Analytics.d.ts +2 -0
  36. package/dist/analytics/Analytics.d.ts.map +1 -1
  37. package/dist/analytics/Analytics.js +18 -2
  38. package/dist/analytics/Analytics.js.map +1 -1
  39. package/dist/analytics/tables/requestEvents.d.ts +22 -1
  40. package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
  41. package/dist/analytics/tables/requestEvents.js +59 -39
  42. package/dist/analytics/tables/requestEvents.js.map +1 -1
  43. package/dist/apps/Zones.d.ts +8335 -0
  44. package/dist/apps/Zones.d.ts.map +1 -0
  45. package/dist/apps/Zones.js +38 -0
  46. package/dist/apps/Zones.js.map +1 -0
  47. package/dist/apps/data/App.d.ts +12125 -7913
  48. package/dist/apps/data/App.d.ts.map +1 -1
  49. package/dist/apps/data/App.js +91 -19
  50. package/dist/apps/data/App.js.map +1 -1
  51. package/dist/apps/data/FxOracle.d.ts +1 -1
  52. package/dist/apps/data/FxOracle.d.ts.map +1 -1
  53. package/dist/apps/data/index.d.ts +0 -1
  54. package/dist/apps/data/index.d.ts.map +1 -1
  55. package/dist/apps/data/index.js +0 -1
  56. package/dist/apps/data/index.js.map +1 -1
  57. package/dist/apps/data/routes/activities.d.ts +32 -32
  58. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  59. package/dist/apps/data/routes/activities.js +130 -65
  60. package/dist/apps/data/routes/activities.js.map +1 -1
  61. package/dist/apps/data/routes/addresses.d.ts +312 -312
  62. package/dist/apps/data/routes/balances.d.ts +18 -18
  63. package/dist/apps/data/routes/balances.js +5 -5
  64. package/dist/apps/data/routes/balances.js.map +1 -1
  65. package/dist/apps/data/routes/coingecko.d.ts +176 -176
  66. package/dist/apps/data/routes/coingecko.d.ts.map +1 -1
  67. package/dist/apps/data/routes/coingecko.js +62 -35
  68. package/dist/apps/data/routes/coingecko.js.map +1 -1
  69. package/dist/apps/data/routes/earn.d.ts +2144 -0
  70. package/dist/apps/data/routes/earn.d.ts.map +1 -0
  71. package/dist/apps/data/routes/earn.js +947 -0
  72. package/dist/apps/data/routes/earn.js.map +1 -0
  73. package/dist/apps/data/routes/exchanges.d.ts +1625 -718
  74. package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
  75. package/dist/apps/data/routes/exchanges.js +656 -193
  76. package/dist/apps/data/routes/exchanges.js.map +1 -1
  77. package/dist/apps/data/routes/fee-amm.d.ts +108 -108
  78. package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
  79. package/dist/apps/data/routes/fee-amm.js +59 -8
  80. package/dist/apps/data/routes/fee-amm.js.map +1 -1
  81. package/dist/apps/data/routes/funding.d.ts +4092 -387
  82. package/dist/apps/data/routes/funding.d.ts.map +1 -1
  83. package/dist/apps/data/routes/funding.js +1403 -256
  84. package/dist/apps/data/routes/funding.js.map +1 -1
  85. package/dist/apps/data/routes/indexer.d.ts +30 -30
  86. package/dist/apps/data/routes/indexer.d.ts.map +1 -1
  87. package/dist/apps/data/routes/indexer.js +19 -2
  88. package/dist/apps/data/routes/indexer.js.map +1 -1
  89. package/dist/apps/data/routes/receipts.d.ts +263 -263
  90. package/dist/apps/data/routes/receipts.d.ts.map +1 -1
  91. package/dist/apps/data/routes/receipts.js +11 -11
  92. package/dist/apps/data/routes/receipts.js.map +1 -1
  93. package/dist/apps/data/routes/rpc.d.ts +5 -5
  94. package/dist/apps/data/routes/rpc.d.ts.map +1 -1
  95. package/dist/apps/data/routes/rpc.js +211 -22
  96. package/dist/apps/data/routes/rpc.js.map +1 -1
  97. package/dist/apps/data/routes/tokenlist.d.ts +36 -36
  98. package/dist/apps/data/routes/tokenlist.d.ts.map +1 -1
  99. package/dist/apps/data/routes/tokenlist.js +39 -8
  100. package/dist/apps/data/routes/tokenlist.js.map +1 -1
  101. package/dist/apps/data/routes/tokens.d.ts +114 -86
  102. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  103. package/dist/apps/data/routes/tokens.js +194 -91
  104. package/dist/apps/data/routes/tokens.js.map +1 -1
  105. package/dist/apps/data/routes/transactions.d.ts +53 -53
  106. package/dist/apps/data/routes/transactions.d.ts.map +1 -1
  107. package/dist/apps/data/routes/transactions.js +78 -39
  108. package/dist/apps/data/routes/transactions.js.map +1 -1
  109. package/dist/apps/data/routes/transfers.d.ts +76 -27
  110. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  111. package/dist/apps/data/routes/transfers.js +165 -67
  112. package/dist/apps/data/routes/transfers.js.map +1 -1
  113. package/dist/apps/data/routes/valuation.d.ts +42 -42
  114. package/dist/apps/data/routes/valuation.js +2 -2
  115. package/dist/apps/data/routes/valuation.js.map +1 -1
  116. package/dist/apps/data/routes/webhooks.d.ts +369 -367
  117. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  118. package/dist/apps/data/routes/webhooks.js +161 -59
  119. package/dist/apps/data/routes/webhooks.js.map +1 -1
  120. package/dist/apps/data/routes/zones.d.ts +281 -0
  121. package/dist/apps/data/routes/zones.d.ts.map +1 -0
  122. package/dist/apps/data/routes/zones.js +252 -0
  123. package/dist/apps/data/routes/zones.js.map +1 -0
  124. package/dist/apps/docs/reference.js +6 -5
  125. package/dist/apps/docs/reference.js.map +1 -1
  126. package/dist/apps/index.d.ts +2 -1
  127. package/dist/apps/index.d.ts.map +1 -1
  128. package/dist/apps/index.js +2 -1
  129. package/dist/apps/index.js.map +1 -1
  130. package/dist/apps/management/App.d.ts +670 -670
  131. package/dist/apps/management/Billing.d.ts +8 -0
  132. package/dist/apps/management/Billing.d.ts.map +1 -1
  133. package/dist/apps/management/Billing.js +12 -0
  134. package/dist/apps/management/Billing.js.map +1 -1
  135. package/dist/apps/management/Error.d.ts +12 -0
  136. package/dist/apps/management/Error.d.ts.map +1 -0
  137. package/dist/apps/management/Error.js +10 -0
  138. package/dist/apps/management/Error.js.map +1 -0
  139. package/dist/apps/management/routes/api-keys.d.ts +5 -5
  140. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  141. package/dist/apps/management/routes/api-keys.js +2 -8
  142. package/dist/apps/management/routes/api-keys.js.map +1 -1
  143. package/dist/apps/management/routes/billing.d.ts +119 -119
  144. package/dist/apps/management/routes/faucet.d.ts +2 -2
  145. package/dist/apps/management/routes/invitations.d.ts +62 -62
  146. package/dist/apps/management/routes/invitations.d.ts.map +1 -1
  147. package/dist/apps/management/routes/invitations.js +4 -10
  148. package/dist/apps/management/routes/invitations.js.map +1 -1
  149. package/dist/apps/management/routes/invite-links.d.ts +30 -30
  150. package/dist/apps/management/routes/me.d.ts +6 -6
  151. package/dist/apps/management/routes/members.d.ts +2 -2
  152. package/dist/apps/management/routes/orgs.d.ts +48 -48
  153. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  154. package/dist/apps/management/routes/orgs.js +2 -8
  155. package/dist/apps/management/routes/orgs.js.map +1 -1
  156. package/dist/apps/management/routes/projects.d.ts +9 -9
  157. package/dist/apps/management/routes/scopes.js +2 -2
  158. package/dist/apps/management/routes/scopes.js.map +1 -1
  159. package/dist/apps/management/routes/verified-token-requests.d.ts +36 -36
  160. package/dist/apps/management/routes/webhooks.d.ts +50 -50
  161. package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
  162. package/dist/apps/management/routes/webhooks.js +15 -3
  163. package/dist/apps/management/routes/webhooks.js.map +1 -1
  164. package/dist/apps/mpp/App.d.ts +55 -56
  165. package/dist/apps/mpp/App.d.ts.map +1 -1
  166. package/dist/apps/mpp/App.js +192 -27
  167. package/dist/apps/mpp/App.js.map +1 -1
  168. package/dist/apps/mpp/Mpp.d.ts +0 -20
  169. package/dist/apps/mpp/Mpp.d.ts.map +1 -1
  170. package/dist/apps/mpp/Mpp.js +0 -24
  171. package/dist/apps/mpp/Mpp.js.map +1 -1
  172. package/dist/apps/mpp/internal/Adapter.d.ts +40 -0
  173. package/dist/apps/mpp/internal/Adapter.d.ts.map +1 -0
  174. package/dist/apps/mpp/internal/Adapter.js +66 -0
  175. package/dist/apps/mpp/internal/Adapter.js.map +1 -0
  176. package/dist/apps/mpp/internal/Error.d.ts +4 -0
  177. package/dist/apps/mpp/internal/Error.d.ts.map +1 -0
  178. package/dist/apps/mpp/internal/Error.js +41 -0
  179. package/dist/apps/mpp/internal/Error.js.map +1 -0
  180. package/dist/apps/mpp/internal/Idempotency.d.ts +33 -0
  181. package/dist/apps/mpp/internal/Idempotency.d.ts.map +1 -0
  182. package/dist/apps/mpp/internal/Idempotency.js +28 -0
  183. package/dist/apps/mpp/internal/Idempotency.js.map +1 -0
  184. package/dist/apps/mpp/internal/Policy.d.ts +46 -0
  185. package/dist/apps/mpp/internal/Policy.d.ts.map +1 -0
  186. package/dist/apps/mpp/internal/Policy.js +57 -0
  187. package/dist/apps/mpp/internal/Policy.js.map +1 -0
  188. package/dist/apps/mpp/internal/ScreenManager.d.ts +27 -0
  189. package/dist/apps/mpp/internal/ScreenManager.d.ts.map +1 -0
  190. package/dist/apps/mpp/internal/ScreenManager.js +18 -0
  191. package/dist/apps/mpp/internal/ScreenManager.js.map +1 -0
  192. package/dist/apps/mpp/internal/Screening.d.ts +35 -0
  193. package/dist/apps/mpp/internal/Screening.d.ts.map +1 -0
  194. package/dist/apps/mpp/internal/Screening.js +20 -0
  195. package/dist/apps/mpp/internal/Screening.js.map +1 -0
  196. package/dist/apps/mpp/internal/Sponsorship.d.ts +36 -0
  197. package/dist/apps/mpp/internal/Sponsorship.d.ts.map +1 -0
  198. package/dist/apps/mpp/internal/Sponsorship.js +103 -0
  199. package/dist/apps/mpp/internal/Sponsorship.js.map +1 -0
  200. package/dist/apps/mpp/internal/Utils.d.ts +7 -0
  201. package/dist/apps/mpp/internal/Utils.d.ts.map +1 -0
  202. package/dist/apps/mpp/internal/Utils.js +24 -0
  203. package/dist/apps/mpp/internal/Utils.js.map +1 -0
  204. package/dist/apps/relay/App.js +183 -23
  205. package/dist/apps/relay/App.js.map +1 -1
  206. package/dist/apps/relay/Sponsorships.d.ts +4 -0
  207. package/dist/apps/relay/Sponsorships.d.ts.map +1 -1
  208. package/dist/apps/relay/Sponsorships.js +15 -6
  209. package/dist/apps/relay/Sponsorships.js.map +1 -1
  210. package/dist/db/Db.d.ts +20 -0
  211. package/dist/db/Db.d.ts.map +1 -1
  212. package/dist/db/Db.js +342 -0
  213. package/dist/db/Db.js.map +1 -1
  214. package/dist/db/Schema.d.ts +921 -1
  215. package/dist/db/Schema.d.ts.map +1 -1
  216. package/dist/db/Schema.js +269 -1
  217. package/dist/db/Schema.js.map +1 -1
  218. package/dist/db/tables/earnVaults.d.ts +68 -0
  219. package/dist/db/tables/earnVaults.d.ts.map +1 -0
  220. package/dist/db/tables/earnVaults.js +72 -0
  221. package/dist/db/tables/earnVaults.js.map +1 -0
  222. package/dist/db/tables/fundingCatalog.d.ts +56 -0
  223. package/dist/db/tables/fundingCatalog.d.ts.map +1 -0
  224. package/dist/db/tables/fundingCatalog.js +85 -0
  225. package/dist/db/tables/fundingCatalog.js.map +1 -0
  226. package/dist/db/tables/fundingDepositAddresses.d.ts +159 -0
  227. package/dist/db/tables/fundingDepositAddresses.d.ts.map +1 -0
  228. package/dist/db/tables/fundingDepositAddresses.js +206 -0
  229. package/dist/db/tables/fundingDepositAddresses.js.map +1 -0
  230. package/dist/db/tables/fundingDeposits.d.ts +115 -0
  231. package/dist/db/tables/fundingDeposits.d.ts.map +1 -0
  232. package/dist/db/tables/fundingDeposits.js +100 -0
  233. package/dist/db/tables/fundingDeposits.js.map +1 -0
  234. package/dist/db/tables/fundingIdempotency.d.ts +91 -0
  235. package/dist/db/tables/fundingIdempotency.d.ts.map +1 -0
  236. package/dist/db/tables/fundingIdempotency.js +103 -0
  237. package/dist/db/tables/fundingIdempotency.js.map +1 -0
  238. package/dist/db/tables/fundingTransferEvents.d.ts +12 -0
  239. package/dist/db/tables/fundingTransferEvents.d.ts.map +1 -0
  240. package/dist/db/tables/fundingTransferEvents.js +18 -0
  241. package/dist/db/tables/fundingTransferEvents.js.map +1 -0
  242. package/dist/db/tables/fundingTransferTransactions.d.ts +15 -0
  243. package/dist/db/tables/fundingTransferTransactions.d.ts.map +1 -0
  244. package/dist/db/tables/fundingTransferTransactions.js +27 -0
  245. package/dist/db/tables/fundingTransferTransactions.js.map +1 -0
  246. package/dist/db/tables/fundingTransfers.d.ts +82 -0
  247. package/dist/db/tables/fundingTransfers.d.ts.map +1 -0
  248. package/dist/db/tables/fundingTransfers.js +89 -0
  249. package/dist/db/tables/fundingTransfers.js.map +1 -0
  250. package/dist/db/tables/organizations.d.ts +8 -0
  251. package/dist/db/tables/organizations.d.ts.map +1 -1
  252. package/dist/db/tables/organizations.js +16 -0
  253. package/dist/db/tables/organizations.js.map +1 -1
  254. package/dist/db/tables/projects.d.ts +8 -0
  255. package/dist/db/tables/projects.d.ts.map +1 -1
  256. package/dist/db/tables/projects.js +16 -0
  257. package/dist/db/tables/projects.js.map +1 -1
  258. package/dist/db/tables/requestUsage.d.ts +13 -0
  259. package/dist/db/tables/requestUsage.d.ts.map +1 -1
  260. package/dist/db/tables/requestUsage.js +16 -0
  261. package/dist/db/tables/requestUsage.js.map +1 -1
  262. package/dist/db/tables/sponsoredTransactions.d.ts +2 -2
  263. package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
  264. package/dist/db/tables/sponsoredTransactions.js +1 -1
  265. package/dist/db/tables/sponsoredTransactions.js.map +1 -1
  266. package/dist/db/tables/users.d.ts +8 -0
  267. package/dist/db/tables/users.d.ts.map +1 -1
  268. package/dist/db/tables/users.js +16 -0
  269. package/dist/db/tables/users.js.map +1 -1
  270. package/dist/db/tables/verifiedTokens.d.ts +14 -7
  271. package/dist/db/tables/verifiedTokens.d.ts.map +1 -1
  272. package/dist/db/tables/verifiedTokens.js +9 -7
  273. package/dist/db/tables/verifiedTokens.js.map +1 -1
  274. package/dist/db/tables/webhookSubscriptions.d.ts +31 -1
  275. package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
  276. package/dist/db/tables/webhookSubscriptions.js +24 -3
  277. package/dist/db/tables/webhookSubscriptions.js.map +1 -1
  278. package/dist/handlers/relay.js +108 -108
  279. package/dist/handlers/relay.js.map +1 -1
  280. package/dist/internal/Auth.d.ts +26 -0
  281. package/dist/internal/Auth.d.ts.map +1 -1
  282. package/dist/internal/Auth.js +35 -2
  283. package/dist/internal/Auth.js.map +1 -1
  284. package/dist/internal/Cache.d.ts.map +1 -1
  285. package/dist/internal/Cache.js +16 -10
  286. package/dist/internal/Cache.js.map +1 -1
  287. package/dist/internal/Cursor.js +1 -1
  288. package/dist/internal/Cursor.js.map +1 -1
  289. package/dist/internal/EarnRates.d.ts +89 -0
  290. package/dist/internal/EarnRates.d.ts.map +1 -0
  291. package/dist/internal/EarnRates.js +266 -0
  292. package/dist/internal/EarnRates.js.map +1 -0
  293. package/dist/internal/EarnVaults.d.ts +171 -0
  294. package/dist/internal/EarnVaults.d.ts.map +1 -0
  295. package/dist/internal/EarnVaults.js +547 -0
  296. package/dist/internal/EarnVaults.js.map +1 -0
  297. package/dist/internal/EdgeCache.d.ts +8 -1
  298. package/dist/internal/EdgeCache.d.ts.map +1 -1
  299. package/dist/internal/EdgeCache.js +33 -7
  300. package/dist/internal/EdgeCache.js.map +1 -1
  301. package/dist/internal/Id.d.ts +11 -0
  302. package/dist/internal/Id.d.ts.map +1 -1
  303. package/dist/internal/Id.js +13 -0
  304. package/dist/internal/Id.js.map +1 -1
  305. package/dist/internal/Idempotency.d.ts +83 -0
  306. package/dist/internal/Idempotency.d.ts.map +1 -0
  307. package/dist/internal/Idempotency.js +113 -0
  308. package/dist/internal/Idempotency.js.map +1 -0
  309. package/dist/internal/Log.d.ts +64 -9
  310. package/dist/internal/Log.d.ts.map +1 -1
  311. package/dist/internal/Log.js +29 -7
  312. package/dist/internal/Log.js.map +1 -1
  313. package/dist/internal/MetricSink.d.ts.map +1 -1
  314. package/dist/internal/MetricSink.js +47 -1
  315. package/dist/internal/MetricSink.js.map +1 -1
  316. package/dist/internal/OpenApi.d.ts +1 -1
  317. package/dist/internal/OpenApi.d.ts.map +1 -1
  318. package/dist/internal/OpenApi.js +3 -0
  319. package/dist/internal/OpenApi.js.map +1 -1
  320. package/dist/internal/Provider.d.ts +14 -0
  321. package/dist/internal/Provider.d.ts.map +1 -0
  322. package/dist/internal/Provider.js +5 -0
  323. package/dist/internal/Provider.js.map +1 -0
  324. package/dist/internal/Schema.d.ts +6 -1
  325. package/dist/internal/Schema.d.ts.map +1 -1
  326. package/dist/internal/Schema.js +20 -11
  327. package/dist/internal/Schema.js.map +1 -1
  328. package/dist/internal/Store.d.ts +6 -0
  329. package/dist/internal/Store.d.ts.map +1 -1
  330. package/dist/internal/Store.js +35 -0
  331. package/dist/internal/Store.js.map +1 -1
  332. package/dist/internal/Tidx.d.ts +43 -24
  333. package/dist/internal/Tidx.d.ts.map +1 -1
  334. package/dist/internal/Tidx.js +79 -11
  335. package/dist/internal/Tidx.js.map +1 -1
  336. package/dist/internal/Viem.d.ts +82 -65
  337. package/dist/internal/Viem.d.ts.map +1 -1
  338. package/dist/internal/Viem.js +83 -12
  339. package/dist/internal/Viem.js.map +1 -1
  340. package/dist/internal/WebhookDestination.d.ts.map +1 -1
  341. package/dist/internal/WebhookDestination.js +34 -28
  342. package/dist/internal/WebhookDestination.js.map +1 -1
  343. package/dist/internal/Webhooks.d.ts +9 -0
  344. package/dist/internal/Webhooks.d.ts.map +1 -1
  345. package/dist/internal/Webhooks.js +15 -10
  346. package/dist/internal/Webhooks.js.map +1 -1
  347. package/dist/internal/exchange/Provider.d.ts +219 -0
  348. package/dist/internal/exchange/Provider.d.ts.map +1 -0
  349. package/dist/internal/exchange/Provider.js +117 -0
  350. package/dist/internal/exchange/Provider.js.map +1 -0
  351. package/dist/internal/exchange/index.d.ts +2 -0
  352. package/dist/internal/exchange/index.d.ts.map +1 -0
  353. package/dist/internal/exchange/index.js +2 -0
  354. package/dist/internal/exchange/index.js.map +1 -0
  355. package/dist/internal/exchange/providers/uniswap.d.ts +57 -0
  356. package/dist/internal/exchange/providers/uniswap.d.ts.map +1 -0
  357. package/dist/internal/exchange/providers/uniswap.js +553 -0
  358. package/dist/internal/exchange/providers/uniswap.js.map +1 -0
  359. package/dist/internal/funding/Action.d.ts +55 -0
  360. package/dist/internal/funding/Action.d.ts.map +1 -0
  361. package/dist/internal/funding/Action.js +74 -0
  362. package/dist/internal/funding/Action.js.map +1 -0
  363. package/dist/internal/funding/Catalog.d.ts +107 -0
  364. package/dist/internal/funding/Catalog.d.ts.map +1 -0
  365. package/dist/internal/funding/Catalog.js +270 -0
  366. package/dist/internal/funding/Catalog.js.map +1 -0
  367. package/dist/internal/funding/Chain.d.ts +76 -0
  368. package/dist/internal/funding/Chain.d.ts.map +1 -0
  369. package/dist/internal/funding/Chain.js +38 -0
  370. package/dist/internal/funding/Chain.js.map +1 -0
  371. package/dist/internal/funding/Deposit.d.ts +366 -0
  372. package/dist/internal/funding/Deposit.d.ts.map +1 -0
  373. package/dist/internal/funding/Deposit.js +286 -0
  374. package/dist/internal/funding/Deposit.js.map +1 -0
  375. package/dist/internal/funding/DepositAddress.d.ts +345 -0
  376. package/dist/internal/funding/DepositAddress.d.ts.map +1 -0
  377. package/dist/internal/funding/DepositAddress.js +189 -0
  378. package/dist/internal/funding/DepositAddress.js.map +1 -0
  379. package/dist/internal/funding/Evidence.d.ts +52 -0
  380. package/dist/internal/funding/Evidence.d.ts.map +1 -0
  381. package/dist/internal/funding/Evidence.js +314 -0
  382. package/dist/internal/funding/Evidence.js.map +1 -0
  383. package/dist/internal/funding/Provider.d.ts +1186 -0
  384. package/dist/internal/funding/Provider.d.ts.map +1 -0
  385. package/dist/internal/funding/Provider.js +1081 -0
  386. package/dist/internal/funding/Provider.js.map +1 -0
  387. package/dist/internal/funding/Reconciliation.d.ts +113 -0
  388. package/dist/internal/funding/Reconciliation.d.ts.map +1 -0
  389. package/dist/internal/funding/Reconciliation.js +676 -0
  390. package/dist/internal/funding/Reconciliation.js.map +1 -0
  391. package/dist/internal/funding/Route.d.ts +21 -0
  392. package/dist/internal/funding/Route.d.ts.map +1 -0
  393. package/dist/internal/funding/Route.js +5 -0
  394. package/dist/internal/funding/Route.js.map +1 -0
  395. package/dist/internal/funding/Subsidy.d.ts +113 -0
  396. package/dist/internal/funding/Subsidy.d.ts.map +1 -0
  397. package/dist/internal/funding/Subsidy.js +138 -0
  398. package/dist/internal/funding/Subsidy.js.map +1 -0
  399. package/dist/internal/funding/Token.d.ts +41 -0
  400. package/dist/internal/funding/Token.d.ts.map +1 -0
  401. package/dist/internal/funding/Token.js +22 -0
  402. package/dist/internal/funding/Token.js.map +1 -0
  403. package/dist/internal/funding/Transfer.d.ts +643 -0
  404. package/dist/internal/funding/Transfer.d.ts.map +1 -0
  405. package/dist/internal/funding/Transfer.js +332 -0
  406. package/dist/internal/funding/Transfer.js.map +1 -0
  407. package/dist/internal/funding/index.d.ts +13 -0
  408. package/dist/internal/funding/index.d.ts.map +1 -0
  409. package/dist/internal/funding/index.js +13 -0
  410. package/dist/internal/funding/index.js.map +1 -0
  411. package/dist/internal/funding/providers/across.d.ts +21 -0
  412. package/dist/internal/funding/providers/across.d.ts.map +1 -0
  413. package/dist/internal/funding/providers/across.js +117 -0
  414. package/dist/internal/funding/providers/across.js.map +1 -0
  415. package/dist/internal/funding/providers/relay.d.ts +46 -0
  416. package/dist/internal/funding/providers/relay.d.ts.map +1 -0
  417. package/dist/internal/funding/providers/relay.js +464 -0
  418. package/dist/internal/funding/providers/relay.js.map +1 -0
  419. package/dist/internal/funding/providers/rhino.d.ts +15 -0
  420. package/dist/internal/funding/providers/rhino.d.ts.map +1 -0
  421. package/dist/internal/funding/providers/rhino.js +116 -0
  422. package/dist/internal/funding/providers/rhino.js.map +1 -0
  423. package/dist/internal/funding/providers/squid.d.ts +19 -0
  424. package/dist/internal/funding/providers/squid.d.ts.map +1 -0
  425. package/dist/internal/funding/providers/squid.js +120 -0
  426. package/dist/internal/funding/providers/squid.js.map +1 -0
  427. package/dist/internal/funding/providers/symbiosis.d.ts +20 -0
  428. package/dist/internal/funding/providers/symbiosis.d.ts.map +1 -0
  429. package/dist/internal/funding/providers/symbiosis.js +176 -0
  430. package/dist/internal/funding/providers/symbiosis.js.map +1 -0
  431. package/dist/internal/index.d.ts +5 -1
  432. package/dist/internal/index.d.ts.map +1 -1
  433. package/dist/internal/index.js +5 -1
  434. package/dist/internal/index.js.map +1 -1
  435. package/dist/internal/webhookDestinations/url.js +61 -57
  436. package/dist/internal/webhookDestinations/url.js.map +1 -1
  437. package/dist/providers/index.d.ts +43 -0
  438. package/dist/providers/index.d.ts.map +1 -0
  439. package/dist/providers/index.js +19 -0
  440. package/dist/providers/index.js.map +1 -0
  441. package/package.json +9 -4
  442. package/src/ApiKeys.test.ts +11 -7
  443. package/src/ApiKeys.ts +37 -9
  444. package/src/App.test.ts +85 -10
  445. package/src/App.ts +224 -137
  446. package/src/Assets.ts +29 -4
  447. package/src/Client.test-d.ts +650 -30
  448. package/src/Scope.test.ts +19 -0
  449. package/src/Scope.ts +28 -11
  450. package/src/Webhooks.test.ts +25 -0
  451. package/src/Webhooks.ts +1 -1
  452. package/src/admin/App.test.ts +9 -2
  453. package/src/admin/App.ts +32 -9
  454. package/src/admin/apps/api-keys.test.ts +167 -23
  455. package/src/admin/apps/api-keys.ts +166 -28
  456. package/src/admin/apps/earn-vaults.test.ts +338 -0
  457. package/src/admin/apps/earn-vaults.ts +572 -0
  458. package/src/admin/apps/scopes.test.ts +16 -1
  459. package/src/admin/ui/plugin.ts +2 -2
  460. package/src/admin/ui/src/components/EarnVaultForm.tsx +137 -0
  461. package/src/admin/ui/src/components/MobileProfile.tsx +2 -2
  462. package/src/admin/ui/src/components/Page.tsx +1 -1
  463. package/src/admin/ui/src/components/ThemeToggle.tsx +1 -1
  464. package/src/admin/ui/src/lib/api-keys.ts +37 -7
  465. package/src/admin/ui/src/lib/client.ts +1 -1
  466. package/src/admin/ui/src/lib/config.ts +1 -1
  467. package/src/admin/ui/src/lib/early-access.ts +8 -9
  468. package/src/admin/ui/src/lib/earn-vaults.ts +207 -0
  469. package/src/admin/ui/src/lib/format.ts +13 -0
  470. package/src/admin/ui/src/lib/organizations.test.ts +14 -4
  471. package/src/admin/ui/src/lib/organizations.ts +7 -1
  472. package/src/admin/ui/src/lib/response.ts +22 -0
  473. package/src/admin/ui/src/lib/scopes.test.ts +19 -11
  474. package/src/admin/ui/src/lib/scopes.ts +28 -7
  475. package/src/admin/ui/src/lib/verified-tokens.ts +10 -9
  476. package/src/admin/ui/src/routeTree.gen.ts +70 -7
  477. package/src/admin/ui/src/router.tsx +2 -2
  478. package/src/admin/ui/src/routes/__root.tsx +9 -8
  479. package/src/admin/ui/src/routes/api-keys.tsx +475 -64
  480. package/src/admin/ui/src/routes/early-access.tsx +5 -12
  481. package/src/admin/ui/src/routes/earn.vaults.tsx +348 -0
  482. package/src/admin/ui/src/routes/earn.vaults_.$vaultId.edit.tsx +154 -0
  483. package/src/admin/ui/src/routes/earn.vaults_.new.tsx +190 -0
  484. package/src/admin/ui/src/routes/organizations.tsx +4 -7
  485. package/src/admin/ui/src/routes/organizations_.$orgId.tsx +56 -54
  486. package/src/admin/ui/src/routes/verified-tokens.tsx +4 -4
  487. package/src/admin/ui/vite.config.ts +4 -1
  488. package/src/admin/ui.generated.ts +113 -43
  489. package/src/analytics/Analytics.test.ts +69 -10
  490. package/src/analytics/Analytics.ts +20 -1
  491. package/src/analytics/tables/requestEvents.ts +79 -37
  492. package/src/apps/Zones.test.ts +33 -0
  493. package/src/apps/Zones.ts +40 -0
  494. package/src/apps/composition.test.ts +84 -1
  495. package/src/apps/data/App.test.ts +28 -11
  496. package/src/apps/data/App.ts +96 -33
  497. package/src/apps/data/FxOracle.ts +1 -1
  498. package/src/apps/data/index.ts +0 -1
  499. package/src/apps/data/routes/activities.test.ts +82 -6
  500. package/src/apps/data/routes/activities.ts +131 -71
  501. package/src/apps/data/routes/balances.test.ts +50 -37
  502. package/src/apps/data/routes/balances.ts +5 -5
  503. package/src/apps/data/routes/blocks.test.ts +2 -0
  504. package/src/apps/data/routes/coingecko.test.ts +22 -0
  505. package/src/apps/data/routes/coingecko.ts +84 -48
  506. package/src/apps/data/routes/earn.test.ts +1108 -0
  507. package/src/apps/data/routes/earn.ts +1391 -0
  508. package/src/apps/data/routes/exchanges.test.ts +82 -33
  509. package/src/apps/data/routes/exchanges.ts +842 -227
  510. package/src/apps/data/routes/fee-amm.test.ts +4 -6
  511. package/src/apps/data/routes/fee-amm.ts +69 -12
  512. package/src/apps/data/routes/funding.test.ts +2712 -221
  513. package/src/apps/data/routes/funding.ts +1604 -387
  514. package/src/apps/data/routes/indexer.test.ts +43 -34
  515. package/src/apps/data/routes/indexer.ts +19 -2
  516. package/src/apps/data/routes/receipts.test.ts +5 -3
  517. package/src/apps/data/routes/receipts.ts +13 -11
  518. package/src/apps/data/routes/rpc.test.ts +446 -28
  519. package/src/apps/data/routes/rpc.ts +243 -25
  520. package/src/apps/data/routes/tokenlist.ts +72 -19
  521. package/src/apps/data/routes/tokens.ts +258 -86
  522. package/src/apps/data/routes/transactions.test.ts +2 -0
  523. package/src/apps/data/routes/transactions.ts +77 -42
  524. package/src/apps/data/routes/transfers.test.ts +166 -4
  525. package/src/apps/data/routes/transfers.ts +216 -78
  526. package/src/apps/data/routes/valuation.test.ts +62 -9
  527. package/src/apps/data/routes/valuation.ts +2 -2
  528. package/src/apps/data/routes/webhooks.test.ts +386 -43
  529. package/src/apps/data/routes/webhooks.ts +172 -71
  530. package/src/apps/data/routes/zones.test.ts +473 -0
  531. package/src/apps/data/routes/zones.ts +338 -0
  532. package/src/apps/docs/reference.ts +8 -6
  533. package/src/apps/index.ts +2 -1
  534. package/src/apps/management/Billing.test.ts +29 -0
  535. package/src/apps/management/Billing.ts +23 -0
  536. package/src/apps/management/Error.ts +12 -0
  537. package/src/apps/management/routes/api-keys.test.ts +5 -3
  538. package/src/apps/management/routes/api-keys.ts +2 -9
  539. package/src/apps/management/routes/invitations.ts +4 -11
  540. package/src/apps/management/routes/orgs.ts +2 -9
  541. package/src/apps/management/routes/scopes.test.ts +7 -2
  542. package/src/apps/management/routes/scopes.ts +2 -2
  543. package/src/apps/management/routes/webhooks.test.ts +6 -1
  544. package/src/apps/management/routes/webhooks.ts +15 -3
  545. package/src/apps/mpp/App.ts +276 -29
  546. package/src/apps/mpp/Mpp.test.ts +631 -26
  547. package/src/apps/mpp/Mpp.ts +0 -42
  548. package/src/apps/mpp/internal/Adapter.ts +108 -3
  549. package/src/apps/mpp/internal/Error.test.ts +33 -0
  550. package/src/apps/mpp/internal/Error.ts +44 -6
  551. package/src/apps/mpp/internal/Idempotency.test.ts +213 -0
  552. package/src/apps/mpp/internal/Idempotency.ts +59 -5
  553. package/src/apps/mpp/internal/Policy.test.ts +122 -0
  554. package/src/apps/mpp/internal/Policy.ts +98 -0
  555. package/src/apps/mpp/internal/ScreenManager.test.ts +68 -0
  556. package/src/apps/mpp/internal/ScreenManager.ts +41 -0
  557. package/src/apps/mpp/internal/Screening.ts +40 -3
  558. package/src/apps/mpp/internal/Sponsorship.ts +144 -0
  559. package/src/apps/mpp/internal/Utils.ts +30 -0
  560. package/src/apps/relay/App.test.ts +493 -62
  561. package/src/apps/relay/App.ts +233 -23
  562. package/src/apps/relay/Sponsorships.test.ts +49 -0
  563. package/src/apps/relay/Sponsorships.ts +18 -6
  564. package/src/db/Db.ts +439 -0
  565. package/src/db/Schema.ts +325 -2
  566. package/src/db/tables/earnVaults.test.ts +185 -0
  567. package/src/db/tables/earnVaults.ts +151 -0
  568. package/src/db/tables/fundingCatalog.test.ts +108 -0
  569. package/src/db/tables/fundingCatalog.ts +157 -0
  570. package/src/db/tables/fundingDepositAddresses.test.ts +580 -0
  571. package/src/db/tables/fundingDepositAddresses.ts +376 -0
  572. package/src/db/tables/fundingDeposits.test.ts +261 -0
  573. package/src/db/tables/fundingDeposits.ts +229 -0
  574. package/src/db/tables/fundingIdempotency.test.ts +182 -0
  575. package/src/db/tables/fundingIdempotency.ts +180 -0
  576. package/src/db/tables/fundingTransferEvents.ts +28 -0
  577. package/src/db/tables/fundingTransferTransactions.test.ts +69 -0
  578. package/src/db/tables/fundingTransferTransactions.ts +37 -0
  579. package/src/db/tables/fundingTransfers.test.ts +89 -0
  580. package/src/db/tables/fundingTransfers.ts +153 -0
  581. package/src/db/tables/organizations.ts +16 -0
  582. package/src/db/tables/projects.ts +16 -0
  583. package/src/db/tables/requestUsage.ts +23 -0
  584. package/src/db/tables/sponsoredTransactions.test.ts +11 -0
  585. package/src/db/tables/sponsoredTransactions.ts +3 -3
  586. package/src/db/tables/users.ts +16 -0
  587. package/src/db/tables/verifiedTokens.ts +19 -14
  588. package/src/db/tables/webhookSubscriptions.ts +58 -3
  589. package/src/handlers/relay.test.ts +2 -0
  590. package/src/handlers/relay.ts +95 -99
  591. package/src/internal/Auth.test.ts +48 -0
  592. package/src/internal/Auth.ts +61 -2
  593. package/src/internal/Cache.ts +13 -9
  594. package/src/internal/Cursor.test.ts +2 -2
  595. package/src/internal/Cursor.ts +1 -1
  596. package/src/internal/EarnRates.test.ts +125 -0
  597. package/src/internal/EarnRates.ts +409 -0
  598. package/src/internal/EarnVaults.test.ts +195 -0
  599. package/src/internal/EarnVaults.ts +876 -0
  600. package/src/internal/EdgeCache.test.ts +19 -0
  601. package/src/internal/EdgeCache.ts +35 -5
  602. package/src/internal/Id.ts +14 -0
  603. package/src/internal/Idempotency.test.ts +109 -0
  604. package/src/internal/Idempotency.ts +237 -0
  605. package/src/internal/Log.test-d.ts +41 -8
  606. package/src/internal/Log.test.ts +189 -8
  607. package/src/internal/Log.ts +124 -17
  608. package/src/internal/MetricSink.test.ts +244 -4
  609. package/src/internal/MetricSink.ts +51 -1
  610. package/src/internal/OpenApi.ts +3 -0
  611. package/src/internal/Provider.test.ts +17 -0
  612. package/src/internal/Provider.ts +17 -0
  613. package/src/internal/Schema.ts +27 -17
  614. package/src/internal/Store.test.ts +25 -0
  615. package/src/internal/Store.ts +46 -0
  616. package/src/internal/Tidx.local.test.ts +78 -3
  617. package/src/internal/Tidx.test.ts +212 -18
  618. package/src/internal/Tidx.ts +112 -32
  619. package/src/internal/VerifiedTokens.test.ts +15 -0
  620. package/src/internal/Viem.test.ts +170 -17
  621. package/src/internal/Viem.ts +111 -28
  622. package/src/internal/WebhookDestination.ts +25 -23
  623. package/src/internal/Webhooks.test.ts +59 -0
  624. package/src/internal/Webhooks.ts +34 -10
  625. package/src/internal/exchange/Provider.test.ts +216 -0
  626. package/src/internal/exchange/Provider.ts +326 -0
  627. package/src/internal/exchange/index.test.ts +6 -0
  628. package/src/internal/exchange/index.ts +1 -0
  629. package/src/internal/exchange/providers/uniswap.test.ts +122 -0
  630. package/src/internal/exchange/providers/uniswap.ts +682 -0
  631. package/src/internal/funding/Action.test.ts +138 -0
  632. package/src/internal/funding/Action.ts +117 -0
  633. package/src/internal/funding/Catalog.test.ts +311 -0
  634. package/src/internal/funding/Catalog.ts +347 -0
  635. package/src/internal/funding/Chain.test.ts +79 -0
  636. package/src/internal/funding/Chain.ts +120 -0
  637. package/src/internal/funding/Deposit.test.ts +26 -0
  638. package/src/internal/funding/Deposit.ts +453 -0
  639. package/src/internal/funding/DepositAddress.test.ts +18 -0
  640. package/src/internal/funding/DepositAddress.ts +312 -0
  641. package/src/internal/funding/Evidence.test.ts +297 -0
  642. package/src/internal/funding/Evidence.ts +430 -0
  643. package/src/internal/funding/Provider.test.ts +1328 -0
  644. package/src/internal/funding/Provider.ts +1796 -0
  645. package/src/internal/funding/Reconciliation.local.test.ts +504 -0
  646. package/src/internal/funding/Reconciliation.test.ts +2020 -0
  647. package/src/internal/funding/Reconciliation.ts +930 -0
  648. package/src/internal/funding/Route.test.ts +66 -0
  649. package/src/internal/funding/Route.ts +29 -0
  650. package/src/internal/funding/Subsidy.local.test.ts +152 -0
  651. package/src/internal/funding/Subsidy.test.ts +75 -0
  652. package/src/internal/funding/Subsidy.ts +260 -0
  653. package/src/internal/funding/Token.test.ts +47 -0
  654. package/src/internal/funding/Token.ts +59 -0
  655. package/src/internal/funding/Transfer.test.ts +369 -0
  656. package/src/internal/funding/Transfer.ts +522 -0
  657. package/src/internal/funding/index.test.ts +20 -0
  658. package/src/internal/funding/index.ts +12 -0
  659. package/src/internal/funding/providers/across.ts +149 -0
  660. package/src/{apps/data/FundingQuoteProviders.test.ts → internal/funding/providers/index.test.ts} +178 -157
  661. package/src/internal/funding/providers/relay.test.ts +474 -0
  662. package/src/internal/funding/providers/relay.ts +559 -0
  663. package/src/internal/funding/providers/rhino.ts +139 -0
  664. package/src/internal/funding/providers/squid.ts +151 -0
  665. package/src/internal/funding/providers/symbiosis.ts +221 -0
  666. package/src/internal/index.test.ts +5 -1
  667. package/src/internal/index.ts +5 -1
  668. package/src/internal/webhookDestinations/url.ts +49 -45
  669. package/src/providers/index.test.ts +14 -0
  670. package/src/providers/index.ts +54 -0
  671. package/dist/apps/data/FundingQuoteProviders.d.ts +0 -174
  672. package/dist/apps/data/FundingQuoteProviders.d.ts.map +0 -1
  673. package/dist/apps/data/FundingQuoteProviders.js +0 -775
  674. package/dist/apps/data/FundingQuoteProviders.js.map +0 -1
  675. package/dist/internal/FundingQuotes.d.ts +0 -864
  676. package/dist/internal/FundingQuotes.d.ts.map +0 -1
  677. package/dist/internal/FundingQuotes.js +0 -672
  678. package/dist/internal/FundingQuotes.js.map +0 -1
  679. package/src/apps/data/FundingQuoteProviders.ts +0 -1043
  680. package/src/internal/FundingQuotes.test.ts +0 -456
  681. package/src/internal/FundingQuotes.ts +0 -944
@@ -0,0 +1,366 @@
1
+ import * as z from 'zod/mini';
2
+ import type * as Db from '../../db/Db.js';
3
+ import * as FundingDeposits from '../../db/tables/fundingDeposits.js';
4
+ import * as Schema from '../Schema.js';
5
+ /**
6
+ * Public funding deposit statuses:
7
+ *
8
+ * - `action-required`: Automatic processing stopped and requires recovery or operator action.
9
+ * - `bridging`: The provider is moving the source funds to Tempo.
10
+ * - `completed`: The full required amount reached the recipient.
11
+ * - `detected`: The provider reported a source transfer that awaits chain verification.
12
+ * - `refunded`: A verified refund reached the configured refund address.
13
+ * - `refunding`: A refund started but is not yet verified.
14
+ * - `settling`: Tempo is completing the required destination amount after provider delivery.
15
+ */
16
+ export declare const statuses: readonly ['action-required', 'bridging', 'completed', 'detected', 'refunded', 'refunding', 'settling'];
17
+ /** Lifecycle status of a detected funding deposit. */
18
+ export type Status = (typeof statuses)[number];
19
+ /** Statuses that never change after verified chain evidence. */
20
+ export declare const terminalStatuses: readonly ["completed", "refunded"];
21
+ /**
22
+ * Customer-safe codes explaining a deposit that needs attention:
23
+ *
24
+ * - `delivery_failed`: The provider or Tempo could not complete destination delivery.
25
+ * - `delivery_liquidity_unavailable`: The selected strategy cannot obtain the required destination amount.
26
+ * - `manual_recovery_required`: Automatic processing cannot safely continue.
27
+ * - `refund_failed`: The provider could not refund the source funds.
28
+ * - `source_amount_not_supported`: The source amount is outside the supported limits.
29
+ * - `source_token_mismatch`: The transfer used a token other than the configured source token.
30
+ * - `subsidy_balance_unavailable`: Tempo lacks enough pathUSD for the required subsidy.
31
+ * - `subsidy_failed`: Tempo could not deliver the required subsidy.
32
+ */
33
+ export declare const statusReasonCodes: readonly ['delivery_failed', 'delivery_liquidity_unavailable', 'manual_recovery_required', 'refund_failed', 'source_amount_not_supported', 'source_token_mismatch', 'subsidy_balance_unavailable', 'subsidy_failed'];
34
+ /** Stable customer-safe deposit status reason code. */
35
+ export type StatusReasonCode = (typeof statusReasonCodes)[number];
36
+ /** Bounded private state used by deposit reconciliation. */
37
+ export type PrivateState = Record<string, unknown>;
38
+ /** Returns whether a deposit status is terminal. */
39
+ export declare function isTerminal(status: Status): boolean;
40
+ /** Returns whether the lifecycle allows moving between deposit statuses. */
41
+ export declare function canTransition(from: Status, to: Status): boolean;
42
+ /** Generates a funding deposit id (`fdp_…`, lexically time-ordered). */
43
+ export declare function generateId(now?: Date): string;
44
+ /** Zod schemas owned by the funding deposit resource. */
45
+ export declare namespace schema {
46
+ /** Funding deposit lifecycle status. */
47
+ const Status: z.ZodMiniEnum<{
48
+ "action-required": "action-required";
49
+ bridging: "bridging";
50
+ completed: "completed";
51
+ detected: "detected";
52
+ refunded: "refunded";
53
+ refunding: "refunding";
54
+ settling: "settling";
55
+ }>;
56
+ /** Customer-safe explanation of a deposit status. */
57
+ const StatusReason: z.ZodMiniObject<{
58
+ code: z.ZodMiniEnum<{
59
+ delivery_failed: "delivery_failed";
60
+ delivery_liquidity_unavailable: "delivery_liquidity_unavailable";
61
+ manual_recovery_required: "manual_recovery_required";
62
+ refund_failed: "refund_failed";
63
+ source_amount_not_supported: "source_amount_not_supported";
64
+ source_token_mismatch: "source_token_mismatch";
65
+ subsidy_balance_unavailable: "subsidy_balance_unavailable";
66
+ subsidy_failed: "subsidy_failed";
67
+ }>;
68
+ message: z.ZodMiniString<string>;
69
+ }, z.core.$strip>;
70
+ /** Public fields persisted as the deposit snapshot. */
71
+ const Snapshot: z.ZodMiniObject<{
72
+ depositAddressId: z.ZodMiniString<string>;
73
+ destinationAmount: z.ZodMiniOptional<z.ZodMiniObject<{
74
+ baseUnits: z.ZodMiniString<string>;
75
+ currency: z.ZodMiniString<string>;
76
+ decimals: z.ZodMiniNumber<number>;
77
+ formatted: z.ZodMiniString<string>;
78
+ }, z.core.$strip>>;
79
+ destinationAmountRequired: z.ZodMiniOptional<z.ZodMiniObject<{
80
+ baseUnits: z.ZodMiniString<string>;
81
+ currency: z.ZodMiniString<string>;
82
+ decimals: z.ZodMiniNumber<number>;
83
+ formatted: z.ZodMiniString<string>;
84
+ }, z.core.$strip>>;
85
+ destinationChain: z.ZodMiniObject<{
86
+ addressFormat: z.ZodMiniEnum<{
87
+ base58: "base58";
88
+ base58check: "base58check";
89
+ hex: "hex";
90
+ }>;
91
+ id: z.ZodMiniString<string>;
92
+ kind: z.ZodMiniEnum<{
93
+ evm: "evm";
94
+ solana: "solana";
95
+ tron: "tron";
96
+ }>;
97
+ name: z.ZodMiniString<string>;
98
+ }, z.core.$strip>;
99
+ destinationToken: z.ZodMiniObject<{
100
+ address: z.ZodMiniString<string>;
101
+ currency: z.ZodMiniString<string>;
102
+ decimals: z.ZodMiniNumber<number>;
103
+ name: z.ZodMiniString<string>;
104
+ standard: z.ZodMiniString<string>;
105
+ symbol: z.ZodMiniString<string>;
106
+ tokenKey: z.ZodMiniString<string>;
107
+ verified: z.ZodMiniBoolean<boolean>;
108
+ }, z.core.$strip>;
109
+ destinationTransactionHashes: z.ZodMiniOptional<z.ZodMiniReadonly<z.ZodMiniArray<z.ZodMiniString<string>>>>;
110
+ provider: z.ZodMiniObject<{
111
+ id: z.ZodMiniString<string>;
112
+ name: z.ZodMiniString<string>;
113
+ }, z.core.$strip>;
114
+ recipient: z.ZodMiniString<string>;
115
+ refundAddress: z.ZodMiniString<string>;
116
+ refundAmount: z.ZodMiniOptional<z.ZodMiniObject<{
117
+ baseUnits: z.ZodMiniString<string>;
118
+ currency: z.ZodMiniString<string>;
119
+ decimals: z.ZodMiniNumber<number>;
120
+ formatted: z.ZodMiniString<string>;
121
+ }, z.core.$strip>>;
122
+ refundTransactionHashes: z.ZodMiniOptional<z.ZodMiniReadonly<z.ZodMiniArray<z.ZodMiniString<string>>>>;
123
+ sender: z.ZodMiniOptional<z.ZodMiniString<string>>;
124
+ sourceAmount: z.ZodMiniOptional<z.ZodMiniObject<{
125
+ baseUnits: z.ZodMiniString<string>;
126
+ currency: z.ZodMiniString<string>;
127
+ decimals: z.ZodMiniNumber<number>;
128
+ formatted: z.ZodMiniString<string>;
129
+ }, z.core.$strip>>;
130
+ sourceChain: z.ZodMiniObject<{
131
+ addressFormat: z.ZodMiniEnum<{
132
+ base58: "base58";
133
+ base58check: "base58check";
134
+ hex: "hex";
135
+ }>;
136
+ id: z.ZodMiniString<string>;
137
+ kind: z.ZodMiniEnum<{
138
+ evm: "evm";
139
+ solana: "solana";
140
+ tron: "tron";
141
+ }>;
142
+ name: z.ZodMiniString<string>;
143
+ }, z.core.$strip>;
144
+ sourceToken: z.ZodMiniObject<{
145
+ address: z.ZodMiniString<string>;
146
+ currency: z.ZodMiniString<string>;
147
+ decimals: z.ZodMiniNumber<number>;
148
+ name: z.ZodMiniString<string>;
149
+ standard: z.ZodMiniString<string>;
150
+ symbol: z.ZodMiniString<string>;
151
+ tokenKey: z.ZodMiniString<string>;
152
+ verified: z.ZodMiniBoolean<boolean>;
153
+ }, z.core.$strip>;
154
+ sourceTransactionHashes: z.ZodMiniReadonly<z.ZodMiniArray<z.ZodMiniString<string>>>;
155
+ }, z.core.$strip>;
156
+ /** One detected funding deposit. */
157
+ const FundingDeposit: z.ZodMiniObject<{
158
+ createdAt: z.ZodMiniString<string>;
159
+ depositAddressId: z.ZodMiniString<string>;
160
+ destinationAmount: z.ZodMiniOptional<z.ZodMiniObject<{
161
+ baseUnits: z.ZodMiniString<string>;
162
+ currency: z.ZodMiniString<string>;
163
+ decimals: z.ZodMiniNumber<number>;
164
+ formatted: z.ZodMiniString<string>;
165
+ }, z.core.$strip>>;
166
+ destinationAmountRequired: z.ZodMiniOptional<z.ZodMiniObject<{
167
+ baseUnits: z.ZodMiniString<string>;
168
+ currency: z.ZodMiniString<string>;
169
+ decimals: z.ZodMiniNumber<number>;
170
+ formatted: z.ZodMiniString<string>;
171
+ }, z.core.$strip>>;
172
+ destinationChain: z.ZodMiniObject<{
173
+ addressFormat: z.ZodMiniEnum<{
174
+ base58: "base58";
175
+ base58check: "base58check";
176
+ hex: "hex";
177
+ }>;
178
+ id: z.ZodMiniString<string>;
179
+ kind: z.ZodMiniEnum<{
180
+ evm: "evm";
181
+ solana: "solana";
182
+ tron: "tron";
183
+ }>;
184
+ name: z.ZodMiniString<string>;
185
+ }, z.core.$strip>;
186
+ destinationToken: z.ZodMiniObject<{
187
+ address: z.ZodMiniString<string>;
188
+ currency: z.ZodMiniString<string>;
189
+ decimals: z.ZodMiniNumber<number>;
190
+ name: z.ZodMiniString<string>;
191
+ standard: z.ZodMiniString<string>;
192
+ symbol: z.ZodMiniString<string>;
193
+ tokenKey: z.ZodMiniString<string>;
194
+ verified: z.ZodMiniBoolean<boolean>;
195
+ }, z.core.$strip>;
196
+ destinationTransactionHashes: z.ZodMiniOptional<z.ZodMiniReadonly<z.ZodMiniArray<z.ZodMiniString<string>>>>;
197
+ id: z.ZodMiniString<string>;
198
+ provider: z.ZodMiniObject<{
199
+ id: z.ZodMiniString<string>;
200
+ name: z.ZodMiniString<string>;
201
+ }, z.core.$strip>;
202
+ recipient: z.ZodMiniString<string>;
203
+ refundAddress: z.ZodMiniString<string>;
204
+ refundAmount: z.ZodMiniOptional<z.ZodMiniObject<{
205
+ baseUnits: z.ZodMiniString<string>;
206
+ currency: z.ZodMiniString<string>;
207
+ decimals: z.ZodMiniNumber<number>;
208
+ formatted: z.ZodMiniString<string>;
209
+ }, z.core.$strip>>;
210
+ refundTransactionHashes: z.ZodMiniOptional<z.ZodMiniReadonly<z.ZodMiniArray<z.ZodMiniString<string>>>>;
211
+ sender: z.ZodMiniOptional<z.ZodMiniString<string>>;
212
+ sourceAmount: z.ZodMiniOptional<z.ZodMiniObject<{
213
+ baseUnits: z.ZodMiniString<string>;
214
+ currency: z.ZodMiniString<string>;
215
+ decimals: z.ZodMiniNumber<number>;
216
+ formatted: z.ZodMiniString<string>;
217
+ }, z.core.$strip>>;
218
+ sourceChain: z.ZodMiniObject<{
219
+ addressFormat: z.ZodMiniEnum<{
220
+ base58: "base58";
221
+ base58check: "base58check";
222
+ hex: "hex";
223
+ }>;
224
+ id: z.ZodMiniString<string>;
225
+ kind: z.ZodMiniEnum<{
226
+ evm: "evm";
227
+ solana: "solana";
228
+ tron: "tron";
229
+ }>;
230
+ name: z.ZodMiniString<string>;
231
+ }, z.core.$strip>;
232
+ sourceToken: z.ZodMiniObject<{
233
+ address: z.ZodMiniString<string>;
234
+ currency: z.ZodMiniString<string>;
235
+ decimals: z.ZodMiniNumber<number>;
236
+ name: z.ZodMiniString<string>;
237
+ standard: z.ZodMiniString<string>;
238
+ symbol: z.ZodMiniString<string>;
239
+ tokenKey: z.ZodMiniString<string>;
240
+ verified: z.ZodMiniBoolean<boolean>;
241
+ }, z.core.$strip>;
242
+ sourceTransactionHashes: z.ZodMiniReadonly<z.ZodMiniArray<z.ZodMiniString<string>>>;
243
+ sourceTransferIndex: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
244
+ status: z.ZodMiniEnum<{
245
+ "action-required": "action-required";
246
+ bridging: "bridging";
247
+ completed: "completed";
248
+ detected: "detected";
249
+ refunded: "refunded";
250
+ refunding: "refunding";
251
+ settling: "settling";
252
+ }>;
253
+ statusReason: z.ZodMiniOptional<z.ZodMiniObject<{
254
+ code: z.ZodMiniEnum<{
255
+ delivery_failed: "delivery_failed";
256
+ delivery_liquidity_unavailable: "delivery_liquidity_unavailable";
257
+ manual_recovery_required: "manual_recovery_required";
258
+ refund_failed: "refund_failed";
259
+ source_amount_not_supported: "source_amount_not_supported";
260
+ source_token_mismatch: "source_token_mismatch";
261
+ subsidy_balance_unavailable: "subsidy_balance_unavailable";
262
+ subsidy_failed: "subsidy_failed";
263
+ }>;
264
+ message: z.ZodMiniString<string>;
265
+ }, z.core.$strip>>;
266
+ updatedAt: z.ZodMiniString<string>;
267
+ }, z.core.$strip>;
268
+ }
269
+ /** Stored public snapshot of a funding deposit. */
270
+ export type Snapshot = z.output<typeof schema.Snapshot>;
271
+ /** Customer-safe funding deposit status reason. */
272
+ export type StatusReason = z.output<typeof schema.StatusReason>;
273
+ /** A funding deposit as returned by reads. */
274
+ export type Public = z.output<typeof schema.FundingDeposit>;
275
+ /** Creates a durable record for one provider-observed source transaction. */
276
+ export declare function create(db: Db.Db, input: create.Input): Promise<FundingDeposits.Record>;
277
+ export declare namespace create {
278
+ /** Fields required to persist a provider-observed deposit. */
279
+ type Input = {
280
+ /** Deposit id override for deterministic tests. */
281
+ id?: string | undefined;
282
+ /** Detection time override for deterministic tests. */
283
+ now?: Date | undefined;
284
+ /** Provider output amount confirmed on Tempo. */
285
+ providerOutputAmount?: z.output<typeof Schema.TokenAmount> | undefined;
286
+ /** Provider request that reported the source transaction. */
287
+ providerRequestId: string;
288
+ /** Private provider request identifiers. */
289
+ providerRequestIds?: readonly string[] | undefined;
290
+ /** Bounded private provider state. */
291
+ providerState?: PrivateState | undefined;
292
+ /** Provider-leg transaction references. */
293
+ providerTransactionHashes?: readonly string[] | undefined;
294
+ /** Deposit position within the provider request. */
295
+ providerTransferIndex?: number | undefined;
296
+ /** Bounded private retry state. */
297
+ retryState?: PrivateState | undefined;
298
+ /** Persisted settlement transaction bytes for exactly-once rebroadcast. */
299
+ settlementTransaction?: string | undefined;
300
+ /** Persisted settlement transaction hash. */
301
+ settlementTransactionHash?: string | undefined;
302
+ /** Public deposit snapshot. */
303
+ snapshot: Snapshot;
304
+ /** Source transaction containing the deposited transfer. */
305
+ sourceTransactionHash: string;
306
+ /** Verified transfer position within the source transaction. */
307
+ sourceTransferIndex?: number | undefined;
308
+ /** Destination token amount supplied by Tempo. */
309
+ subsidyAmount?: z.output<typeof Schema.TokenAmount> | undefined;
310
+ /** Tempo gas paid for settlement, in base units. */
311
+ tempoGasPaid?: string | undefined;
312
+ };
313
+ }
314
+ /** Applies a version-guarded material deposit change. */
315
+ export declare function transition(db: Db.Db, options: transition.Options): Promise<transition.Result>;
316
+ export declare namespace transition {
317
+ /** Fields describing a material deposit change. */
318
+ type Options = {
319
+ /** Version that the change was computed against. */
320
+ expectedVersion: number;
321
+ /** Funding deposit id (`fdp_…`). */
322
+ id: string;
323
+ /** Provider output amount confirmed on Tempo. */
324
+ providerOutputAmount?: z.output<typeof Schema.TokenAmount> | undefined;
325
+ /** Private provider request identifiers. */
326
+ providerRequestIds?: readonly string[] | undefined;
327
+ /** Bounded private provider state. */
328
+ providerState?: PrivateState | undefined;
329
+ /** Provider-leg transaction references. */
330
+ providerTransactionHashes?: readonly string[] | undefined;
331
+ /** Bounded private retry state. */
332
+ retryState?: PrivateState | undefined;
333
+ /** Persisted settlement transaction bytes for exactly-once rebroadcast. */
334
+ settlementTransaction?: string | undefined;
335
+ /** Persisted settlement transaction hash. */
336
+ settlementTransactionHash?: string | undefined;
337
+ /** Replacement public snapshot. */
338
+ snapshot?: Snapshot | undefined;
339
+ /** Verified transfer position within the source transaction. */
340
+ sourceTransferIndex?: number | undefined;
341
+ /** New lifecycle status. */
342
+ status?: Status | undefined;
343
+ /** Customer-safe reason attached to the current status. */
344
+ statusReason?: StatusReason | undefined;
345
+ /** Destination token amount supplied by Tempo. */
346
+ subsidyAmount?: z.output<typeof Schema.TokenAmount> | undefined;
347
+ /** Tempo gas paid for settlement, in base units. */
348
+ tempoGasPaid?: string | undefined;
349
+ };
350
+ /** Outcome of a guarded deposit transition. */
351
+ type Result = {
352
+ record: FundingDeposits.Record;
353
+ type: 'applied';
354
+ } | {
355
+ current: FundingDeposits.Record;
356
+ type: 'invalid';
357
+ } | {
358
+ current: FundingDeposits.Record;
359
+ type: 'stale';
360
+ } | {
361
+ type: 'not_found';
362
+ };
363
+ }
364
+ /** Serializes a stored deposit to the public read shape. */
365
+ export declare function toPublic(record: FundingDeposits.Record): Public;
366
+ //# sourceMappingURL=Deposit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Deposit.d.ts","sourceRoot":"","sources":["../../../src/internal/funding/Deposit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,286 @@
1
+ import * as z from 'zod/mini';
2
+ import * as FundingDepositAddresses from '../../db/tables/fundingDepositAddresses.js';
3
+ import * as FundingDeposits from '../../db/tables/fundingDeposits.js';
4
+ import * as Id from '../Id.js';
5
+ import * as Schema from '../Schema.js';
6
+ import * as Provider from './Provider.js';
7
+ /**
8
+ * Public funding deposit statuses:
9
+ *
10
+ * - `action-required`: Automatic processing stopped and requires recovery or operator action.
11
+ * - `bridging`: The provider is moving the source funds to Tempo.
12
+ * - `completed`: The full required amount reached the recipient.
13
+ * - `detected`: The provider reported a source transfer that awaits chain verification.
14
+ * - `refunded`: A verified refund reached the configured refund address.
15
+ * - `refunding`: A refund started but is not yet verified.
16
+ * - `settling`: Tempo is completing the required destination amount after provider delivery.
17
+ */
18
+ export const statuses = [
19
+ 'action-required',
20
+ 'bridging',
21
+ 'completed',
22
+ 'detected',
23
+ 'refunded',
24
+ 'refunding',
25
+ 'settling',
26
+ ];
27
+ /** Statuses that never change after verified chain evidence. */
28
+ export const terminalStatuses = ['completed', 'refunded'];
29
+ /**
30
+ * Customer-safe codes explaining a deposit that needs attention:
31
+ *
32
+ * - `delivery_failed`: The provider or Tempo could not complete destination delivery.
33
+ * - `delivery_liquidity_unavailable`: The selected strategy cannot obtain the required destination amount.
34
+ * - `manual_recovery_required`: Automatic processing cannot safely continue.
35
+ * - `refund_failed`: The provider could not refund the source funds.
36
+ * - `source_amount_not_supported`: The source amount is outside the supported limits.
37
+ * - `source_token_mismatch`: The transfer used a token other than the configured source token.
38
+ * - `subsidy_balance_unavailable`: Tempo lacks enough pathUSD for the required subsidy.
39
+ * - `subsidy_failed`: Tempo could not deliver the required subsidy.
40
+ */
41
+ export const statusReasonCodes = [
42
+ 'delivery_failed',
43
+ 'delivery_liquidity_unavailable',
44
+ 'manual_recovery_required',
45
+ 'refund_failed',
46
+ 'source_amount_not_supported',
47
+ 'source_token_mismatch',
48
+ 'subsidy_balance_unavailable',
49
+ 'subsidy_failed',
50
+ ];
51
+ const transitions = {
52
+ 'action-required': ['bridging', 'completed', 'refunded', 'refunding', 'settling'],
53
+ bridging: ['action-required', 'completed', 'refunding', 'settling'],
54
+ completed: [],
55
+ detected: ['action-required', 'bridging', 'completed', 'refunding', 'settling'],
56
+ refunded: [],
57
+ refunding: ['action-required', 'refunded'],
58
+ settling: ['action-required', 'completed', 'refunding'],
59
+ };
60
+ /** Returns whether a deposit status is terminal. */
61
+ export function isTerminal(status) {
62
+ return terminalStatuses.includes(status);
63
+ }
64
+ /** Returns whether the lifecycle allows moving between deposit statuses. */
65
+ export function canTransition(from, to) {
66
+ return transitions[from].includes(to);
67
+ }
68
+ /** Generates a funding deposit id (`fdp_…`, lexically time-ordered). */
69
+ export function generateId(now = new Date()) {
70
+ return Id.generateSortable('fdp', now);
71
+ }
72
+ /** Zod schemas owned by the funding deposit resource. */
73
+ export var schema;
74
+ (function (schema) {
75
+ const transactionHashes = (description) => z
76
+ .readonly(z.array(z.string()))
77
+ .check(z.describe(description), z.meta({ examples: [[`0x${'aa'.repeat(32)}`]] }));
78
+ /** Funding deposit lifecycle status. */
79
+ schema.Status = z
80
+ .enum(statuses)
81
+ .check(z.describe('Current delivery status of the deposit.'), z.meta({ examples: ['detected'] }));
82
+ /** Customer-safe explanation of a deposit status. */
83
+ schema.StatusReason = z
84
+ .object({
85
+ code: z
86
+ .enum(statusReasonCodes)
87
+ .check(z.describe('Stable machine-readable reason code.'), z.meta({ examples: ['delivery_liquidity_unavailable'] })),
88
+ message: z
89
+ .string()
90
+ .check(z.describe('Human-readable explanation of the current status.'), z.meta({ examples: ['The required destination amount is not currently available.'] })),
91
+ })
92
+ .check(z.describe('Why a deposit needs attention or recovery.'));
93
+ /** Public fields persisted as the deposit snapshot. */
94
+ schema.Snapshot = z
95
+ .object({
96
+ depositAddressId: z
97
+ .string()
98
+ .check(z.regex(/^fda_[A-Za-z0-9_-]+$/), z.describe('Funding deposit address that detected the transfer.'), z.meta({ examples: ['fda_001785792000000_2ZPE2gvateYEQ0dQslgvkhjx'] })),
99
+ destinationAmount: z.optional(Schema.TokenAmount),
100
+ destinationAmountRequired: z
101
+ .optional(Schema.TokenAmount)
102
+ .check(z.describe('Destination amount required for completion, when known.')),
103
+ destinationChain: Provider.schema.ChainRef,
104
+ destinationToken: Provider.schema.TokenRef,
105
+ destinationTransactionHashes: z.optional(transactionHashes('Verified destination transaction references.')),
106
+ provider: Provider.schema.ProviderRef,
107
+ recipient: z
108
+ .string()
109
+ .check(z.regex(/^0x[0-9a-fA-F]{40}$/), z.describe('Tempo account that receives the completed deposit.'), z.meta({ examples: [`0x${'11'.repeat(20)}`] })),
110
+ refundAddress: z
111
+ .string()
112
+ .check(z.describe('Source-chain address that receives a refund.'), z.meta({ examples: ['TJRabPrwbZy45sbavfcjinPJC18kjpRTv8'] })),
113
+ refundAmount: z.optional(Schema.TokenAmount),
114
+ refundTransactionHashes: z.optional(transactionHashes('Verified source-chain refund transaction references.')),
115
+ sender: z
116
+ .optional(z.string())
117
+ .check(z.describe('Observed source-chain sender, when available.'), z.meta({ examples: ['TJRabPrwbZy45sbavfcjinPJC18kjpRTv8'] })),
118
+ sourceAmount: z
119
+ .optional(Schema.TokenAmount)
120
+ .check(z.describe('Verified source amount, when source evidence is available.')),
121
+ sourceChain: Provider.schema.ChainRef,
122
+ sourceToken: Provider.schema.TokenRef,
123
+ sourceTransactionHashes: transactionHashes('Provider-observed source transaction references.'),
124
+ })
125
+ .check(z.describe('Public route, provider observations, and verified evidence for one deposit.'));
126
+ /** One detected funding deposit. */
127
+ schema.FundingDeposit = z
128
+ .object({
129
+ createdAt: z
130
+ .string()
131
+ .check(z.describe('When the deposit was first detected (ISO 8601).'), z.meta({ examples: ['2026-08-04T00:01:00.000Z'] })),
132
+ depositAddressId: schema.Snapshot.shape.depositAddressId,
133
+ destinationAmount: schema.Snapshot.shape.destinationAmount,
134
+ destinationAmountRequired: schema.Snapshot.shape.destinationAmountRequired,
135
+ destinationChain: schema.Snapshot.shape.destinationChain,
136
+ destinationToken: schema.Snapshot.shape.destinationToken,
137
+ destinationTransactionHashes: schema.Snapshot.shape.destinationTransactionHashes,
138
+ id: z
139
+ .string()
140
+ .check(z.regex(/^fdp_[A-Za-z0-9_-]+$/), z.describe('Funding deposit id (`fdp_…`).'), z.meta({ examples: ['fdp_001785792060000_2ZPE2gvateYEQ0dQslgvkhjx'] })),
141
+ provider: schema.Snapshot.shape.provider,
142
+ recipient: schema.Snapshot.shape.recipient,
143
+ refundAddress: schema.Snapshot.shape.refundAddress,
144
+ refundAmount: schema.Snapshot.shape.refundAmount,
145
+ refundTransactionHashes: schema.Snapshot.shape.refundTransactionHashes,
146
+ sender: schema.Snapshot.shape.sender,
147
+ sourceAmount: schema.Snapshot.shape.sourceAmount,
148
+ sourceChain: schema.Snapshot.shape.sourceChain,
149
+ sourceToken: schema.Snapshot.shape.sourceToken,
150
+ sourceTransactionHashes: schema.Snapshot.shape.sourceTransactionHashes,
151
+ sourceTransferIndex: z
152
+ .optional(z.number().check(z.int(), z.minimum(0)))
153
+ .check(z.describe('Verified transfer position within the source transaction.'), z.meta({ examples: [0] })),
154
+ status: schema.Status,
155
+ statusReason: z.optional(schema.StatusReason),
156
+ updatedAt: z
157
+ .string()
158
+ .check(z.describe('When the deposit last materially changed (ISO 8601).'), z.meta({ examples: ['2026-08-04T00:02:00.000Z'] })),
159
+ })
160
+ .check(z.describe('One detected deposit and its delivery status.'));
161
+ })(schema || (schema = {}));
162
+ /** Creates a durable record for one provider-observed source transaction. */
163
+ export async function create(db, input) {
164
+ const now = input.now ?? new Date();
165
+ const depositAddressId = schema.Snapshot.shape.depositAddressId.parse(input.snapshot.depositAddressId);
166
+ const address = await FundingDepositAddresses.get(db, depositAddressId);
167
+ if (!address)
168
+ throw new DepositAddressNotFoundError(depositAddressId);
169
+ const snapshot = schema.Snapshot.parse({
170
+ ...input.snapshot,
171
+ depositAddressId: address.id,
172
+ destinationChain: address.snapshot.destinationChain,
173
+ destinationToken: address.snapshot.destinationToken,
174
+ provider: address.snapshot.provider,
175
+ recipient: address.snapshot.recipient,
176
+ refundAddress: address.snapshot.refundAddress,
177
+ sourceChain: address.snapshot.sourceChain,
178
+ sourceToken: address.snapshot.sourceToken,
179
+ sourceTransactionHashes: [input.sourceTransactionHash],
180
+ });
181
+ return FundingDeposits.insert(db, {
182
+ createdAt: now.toISOString(),
183
+ depositAddressId: snapshot.depositAddressId,
184
+ environment: address.environment,
185
+ id: input.id ?? generateId(now),
186
+ orgId: address.orgId,
187
+ projectId: address.projectId,
188
+ providerOutputAmount: input.providerOutputAmount ?? null,
189
+ providerOutputToken: address.providerOutputToken,
190
+ providerRequestId: input.providerRequestId,
191
+ providerRequestIds: [
192
+ ...new Set([input.providerRequestId, ...(input.providerRequestIds ?? [])]),
193
+ ],
194
+ providerState: input.providerState ?? null,
195
+ providerTransactionHashes: input.providerTransactionHashes ?? [],
196
+ providerTransferIndex: input.providerTransferIndex ?? 0,
197
+ retryState: input.retryState ?? null,
198
+ settlementTransaction: input.settlementTransaction ?? null,
199
+ settlementTransactionHash: input.settlementTransactionHash ?? null,
200
+ snapshot,
201
+ sourceChainId: snapshot.sourceChain.id,
202
+ sourceTransactionHash: input.sourceTransactionHash,
203
+ sourceTransferIndex: input.sourceTransferIndex ?? null,
204
+ status: 'detected',
205
+ statusReason: null,
206
+ subsidyAmount: input.subsidyAmount ?? null,
207
+ tempoGasPaid: input.tempoGasPaid ?? null,
208
+ updatedAt: now.toISOString(),
209
+ version: 1,
210
+ });
211
+ }
212
+ /** Applies a version-guarded material deposit change. */
213
+ export async function transition(db, options) {
214
+ const current = await FundingDeposits.get(db, options.id);
215
+ if (!current)
216
+ return { type: 'not_found' };
217
+ if (current.version !== options.expectedVersion)
218
+ return { current, type: 'stale' };
219
+ const status = options.status ?? current.status;
220
+ if (status !== current.status && !canTransition(current.status, status))
221
+ return { current, type: 'invalid' };
222
+ const snapshot = options.snapshot === undefined
223
+ ? current.snapshot
224
+ : schema.Snapshot.parse({
225
+ ...options.snapshot,
226
+ depositAddressId: current.snapshot.depositAddressId,
227
+ destinationAmountRequired: current.snapshot.destinationAmountRequired ??
228
+ options.snapshot.destinationAmountRequired,
229
+ destinationChain: current.snapshot.destinationChain,
230
+ destinationToken: current.snapshot.destinationToken,
231
+ provider: current.snapshot.provider,
232
+ recipient: current.snapshot.recipient,
233
+ refundAddress: current.snapshot.refundAddress,
234
+ sender: current.snapshot.sender ?? options.snapshot.sender,
235
+ sourceAmount: current.snapshot.sourceAmount ?? options.snapshot.sourceAmount,
236
+ sourceChain: current.snapshot.sourceChain,
237
+ sourceToken: current.snapshot.sourceToken,
238
+ sourceTransactionHashes: current.snapshot.sourceTransactionHashes,
239
+ });
240
+ const updated = await FundingDeposits.update(db, {
241
+ expectedVersion: options.expectedVersion,
242
+ id: options.id,
243
+ providerOutputAmount: options.providerOutputAmount ?? current.providerOutputAmount,
244
+ providerRequestId: current.providerRequestId,
245
+ providerRequestIds: options.providerRequestIds ?? current.providerRequestIds,
246
+ providerState: options.providerState ?? current.providerState,
247
+ providerTransactionHashes: options.providerTransactionHashes ?? current.providerTransactionHashes,
248
+ providerTransferIndex: current.providerTransferIndex,
249
+ retryState: options.retryState ?? current.retryState,
250
+ settlementTransaction: options.settlementTransaction ?? current.settlementTransaction,
251
+ settlementTransactionHash: options.settlementTransactionHash ?? current.settlementTransactionHash,
252
+ snapshot,
253
+ sourceTransferIndex: current.sourceTransferIndex ?? options.sourceTransferIndex ?? null,
254
+ status,
255
+ statusReason: options.statusReason ?? (status === current.status ? current.statusReason : null),
256
+ subsidyAmount: options.subsidyAmount ?? current.subsidyAmount,
257
+ tempoGasPaid: options.tempoGasPaid ?? current.tempoGasPaid,
258
+ updatedAt: new Date().toISOString(),
259
+ version: current.version + 1,
260
+ });
261
+ if (updated)
262
+ return { record: updated, type: 'applied' };
263
+ const latest = await FundingDeposits.get(db, options.id);
264
+ return latest ? { current: latest, type: 'stale' } : { type: 'not_found' };
265
+ }
266
+ /** Serializes a stored deposit to the public read shape. */
267
+ export function toPublic(record) {
268
+ return schema.FundingDeposit.parse({
269
+ ...record.snapshot,
270
+ createdAt: record.createdAt,
271
+ id: record.id,
272
+ ...(record.sourceTransferIndex === null
273
+ ? {}
274
+ : { sourceTransferIndex: record.sourceTransferIndex }),
275
+ status: record.status,
276
+ ...(record.statusReason === null ? {} : { statusReason: record.statusReason }),
277
+ updatedAt: record.updatedAt,
278
+ });
279
+ }
280
+ class DepositAddressNotFoundError extends Error {
281
+ name = 'FundingDeposit.DepositAddressNotFoundError';
282
+ constructor(id) {
283
+ super(`Funding deposit address ${id} not found`);
284
+ }
285
+ }
286
+ //# sourceMappingURL=Deposit.js.map