tapimo 0.11.0 → 0.12.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 (339) hide show
  1. package/dist/App.d.ts +2296 -1010
  2. package/dist/App.d.ts.map +1 -1
  3. package/dist/App.js +2 -2
  4. package/dist/App.js.map +1 -1
  5. package/dist/Assets.d.ts +15 -0
  6. package/dist/Assets.d.ts.map +1 -1
  7. package/dist/Assets.js +7 -0
  8. package/dist/Assets.js.map +1 -1
  9. package/dist/admin/App.d.ts +53 -4
  10. package/dist/admin/App.d.ts.map +1 -1
  11. package/dist/admin/apps/api-keys.d.ts +4 -4
  12. package/dist/admin/apps/earn-vaults.d.ts +114 -0
  13. package/dist/admin/apps/earn-vaults.d.ts.map +1 -1
  14. package/dist/admin/apps/earn-vaults.js +59 -6
  15. package/dist/admin/apps/earn-vaults.js.map +1 -1
  16. package/dist/admin/apps/organizations.d.ts.map +1 -1
  17. package/dist/admin/apps/organizations.js +4 -2
  18. package/dist/admin/apps/organizations.js.map +1 -1
  19. package/dist/admin/apps/verified-tokens.d.ts +9 -9
  20. package/dist/admin/ui.generated.d.ts +1 -1
  21. package/dist/admin/ui.generated.d.ts.map +1 -1
  22. package/dist/admin/ui.generated.js +151 -151
  23. package/dist/admin/ui.generated.js.map +1 -1
  24. package/dist/apps/data/App.d.ts +1699 -749
  25. package/dist/apps/data/App.d.ts.map +1 -1
  26. package/dist/apps/data/App.js +56 -7
  27. package/dist/apps/data/App.js.map +1 -1
  28. package/dist/apps/data/ZoneSelection.d.ts +62 -0
  29. package/dist/apps/data/ZoneSelection.d.ts.map +1 -0
  30. package/dist/apps/data/ZoneSelection.js +44 -0
  31. package/dist/apps/data/ZoneSelection.js.map +1 -0
  32. package/dist/apps/data/routes/activities.d.ts +2367 -4
  33. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  34. package/dist/apps/data/routes/activities.js +368 -87
  35. package/dist/apps/data/routes/activities.js.map +1 -1
  36. package/dist/apps/data/routes/addresses.d.ts +471 -340
  37. package/dist/apps/data/routes/addresses.d.ts.map +1 -1
  38. package/dist/apps/data/routes/balances.d.ts +28 -28
  39. package/dist/apps/data/routes/balances.js +1 -1
  40. package/dist/apps/data/routes/balances.js.map +1 -1
  41. package/dist/apps/data/routes/blocks.d.ts +4 -4
  42. package/dist/apps/data/routes/blocks.js +1 -1
  43. package/dist/apps/data/routes/blocks.js.map +1 -1
  44. package/dist/apps/data/routes/coingecko.d.ts +176 -176
  45. package/dist/apps/data/routes/earn.d.ts +131 -6
  46. package/dist/apps/data/routes/earn.d.ts.map +1 -1
  47. package/dist/apps/data/routes/earn.js +157 -25
  48. package/dist/apps/data/routes/earn.js.map +1 -1
  49. package/dist/apps/data/routes/exchanges.d.ts +825 -119
  50. package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
  51. package/dist/apps/data/routes/exchanges.js +16 -13
  52. package/dist/apps/data/routes/exchanges.js.map +1 -1
  53. package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
  54. package/dist/apps/data/routes/fee-amm.js +9 -11
  55. package/dist/apps/data/routes/fee-amm.js.map +1 -1
  56. package/dist/apps/data/routes/indexer.d.ts +34 -34
  57. package/dist/apps/data/routes/receipts.d.ts +230 -230
  58. package/dist/apps/data/routes/receipts.js +1 -1
  59. package/dist/apps/data/routes/receipts.js.map +1 -1
  60. package/dist/apps/data/routes/rpc.js +24 -10
  61. package/dist/apps/data/routes/rpc.js.map +1 -1
  62. package/dist/apps/data/routes/tokenlist.d.ts.map +1 -1
  63. package/dist/apps/data/routes/tokenlist.js +16 -15
  64. package/dist/apps/data/routes/tokenlist.js.map +1 -1
  65. package/dist/apps/data/routes/tokens.d.ts +14 -0
  66. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  67. package/dist/apps/data/routes/tokens.js +34 -15
  68. package/dist/apps/data/routes/tokens.js.map +1 -1
  69. package/dist/apps/data/routes/transactions.js +1 -1
  70. package/dist/apps/data/routes/transactions.js.map +1 -1
  71. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  72. package/dist/apps/data/routes/transfers.js +7 -9
  73. package/dist/apps/data/routes/transfers.js.map +1 -1
  74. package/dist/apps/data/routes/webhooks.d.ts +4 -4
  75. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  76. package/dist/apps/data/routes/webhooks.js +2 -2
  77. package/dist/apps/data/routes/webhooks.js.map +1 -1
  78. package/dist/apps/data/routes/zones.d.ts +30 -30
  79. package/dist/apps/funding/App.d.ts +27 -27
  80. package/dist/apps/funding/routes/chains.d.ts.map +1 -1
  81. package/dist/apps/funding/routes/chains.js +5 -4
  82. package/dist/apps/funding/routes/chains.js.map +1 -1
  83. package/dist/apps/funding/routes/deposit-addresses.d.ts +16 -16
  84. package/dist/apps/funding/routes/deposit-addresses.d.ts.map +1 -1
  85. package/dist/apps/funding/routes/deposit-addresses.js +8 -8
  86. package/dist/apps/funding/routes/deposit-addresses.js.map +1 -1
  87. package/dist/apps/funding/routes/providers.d.ts +13 -13
  88. package/dist/apps/funding/routes/providers.d.ts.map +1 -1
  89. package/dist/apps/funding/routes/providers.js +3 -2
  90. package/dist/apps/funding/routes/providers.js.map +1 -1
  91. package/dist/apps/funding/routes/quotes.d.ts.map +1 -1
  92. package/dist/apps/funding/routes/quotes.js +2 -2
  93. package/dist/apps/funding/routes/quotes.js.map +1 -1
  94. package/dist/apps/management/App.d.ts +627 -293
  95. package/dist/apps/management/App.d.ts.map +1 -1
  96. package/dist/apps/management/Billing.d.ts.map +1 -1
  97. package/dist/apps/management/Billing.js +19 -6
  98. package/dist/apps/management/Billing.js.map +1 -1
  99. package/dist/apps/management/routes/api-keys.d.ts +114 -54
  100. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  101. package/dist/apps/management/routes/api-keys.js +76 -30
  102. package/dist/apps/management/routes/api-keys.js.map +1 -1
  103. package/dist/apps/management/routes/billing.d.ts +103 -30
  104. package/dist/apps/management/routes/billing.d.ts.map +1 -1
  105. package/dist/apps/management/routes/billing.js +91 -32
  106. package/dist/apps/management/routes/billing.js.map +1 -1
  107. package/dist/apps/management/routes/faucet.d.ts +33 -33
  108. package/dist/apps/management/routes/faucet.d.ts.map +1 -1
  109. package/dist/apps/management/routes/faucet.js +23 -12
  110. package/dist/apps/management/routes/faucet.js.map +1 -1
  111. package/dist/apps/management/routes/invitations.d.ts +46 -13
  112. package/dist/apps/management/routes/invitations.d.ts.map +1 -1
  113. package/dist/apps/management/routes/invitations.js +79 -29
  114. package/dist/apps/management/routes/invitations.js.map +1 -1
  115. package/dist/apps/management/routes/invite-links.d.ts +86 -41
  116. package/dist/apps/management/routes/invite-links.d.ts.map +1 -1
  117. package/dist/apps/management/routes/invite-links.js +100 -41
  118. package/dist/apps/management/routes/invite-links.js.map +1 -1
  119. package/dist/apps/management/routes/me.d.ts +5 -5
  120. package/dist/apps/management/routes/me.d.ts.map +1 -1
  121. package/dist/apps/management/routes/me.js +14 -10
  122. package/dist/apps/management/routes/me.js.map +1 -1
  123. package/dist/apps/management/routes/members.d.ts +93 -72
  124. package/dist/apps/management/routes/members.d.ts.map +1 -1
  125. package/dist/apps/management/routes/members.js +37 -18
  126. package/dist/apps/management/routes/members.js.map +1 -1
  127. package/dist/apps/management/routes/orgs.d.ts +48 -8
  128. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  129. package/dist/apps/management/routes/orgs.js +48 -19
  130. package/dist/apps/management/routes/orgs.js.map +1 -1
  131. package/dist/apps/management/routes/projects.d.ts +90 -28
  132. package/dist/apps/management/routes/projects.d.ts.map +1 -1
  133. package/dist/apps/management/routes/projects.js +72 -21
  134. package/dist/apps/management/routes/projects.js.map +1 -1
  135. package/dist/apps/management/routes/scopes.d.ts.map +1 -1
  136. package/dist/apps/management/routes/scopes.js +8 -5
  137. package/dist/apps/management/routes/scopes.js.map +1 -1
  138. package/dist/apps/management/routes/usage.d.ts +78 -78
  139. package/dist/apps/management/routes/usage.d.ts.map +1 -1
  140. package/dist/apps/management/routes/usage.js +41 -31
  141. package/dist/apps/management/routes/usage.js.map +1 -1
  142. package/dist/apps/management/routes/verified-token-requests.d.ts +34 -6
  143. package/dist/apps/management/routes/verified-token-requests.d.ts.map +1 -1
  144. package/dist/apps/management/routes/verified-token-requests.js +36 -17
  145. package/dist/apps/management/routes/verified-token-requests.js.map +1 -1
  146. package/dist/apps/management/routes/webhooks.d.ts +147 -130
  147. package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
  148. package/dist/apps/management/routes/webhooks.js +80 -35
  149. package/dist/apps/management/routes/webhooks.js.map +1 -1
  150. package/dist/apps/mpp/internal/Adapter.d.ts +1 -1
  151. package/dist/apps/mpp/internal/Adapter.d.ts.map +1 -1
  152. package/dist/apps/mpp/internal/Adapter.js +12 -0
  153. package/dist/apps/mpp/internal/Adapter.js.map +1 -1
  154. package/dist/db/Db.d.ts +2 -0
  155. package/dist/db/Db.d.ts.map +1 -1
  156. package/dist/db/Db.js +40 -0
  157. package/dist/db/Db.js.map +1 -1
  158. package/dist/db/Schema.d.ts +23 -1
  159. package/dist/db/Schema.d.ts.map +1 -1
  160. package/dist/db/Schema.js +19 -3
  161. package/dist/db/Schema.js.map +1 -1
  162. package/dist/db/tables/earnVaults.d.ts +5 -1
  163. package/dist/db/tables/earnVaults.d.ts.map +1 -1
  164. package/dist/db/tables/earnVaults.js +5 -0
  165. package/dist/db/tables/earnVaults.js.map +1 -1
  166. package/dist/db/tables/webhookDeliveries.d.ts.map +1 -1
  167. package/dist/db/tables/webhookDeliveries.js +10 -0
  168. package/dist/db/tables/webhookDeliveries.js.map +1 -1
  169. package/dist/db/tables/webhookQueueCompletions.d.ts +15 -0
  170. package/dist/db/tables/webhookQueueCompletions.d.ts.map +1 -0
  171. package/dist/db/tables/webhookQueueCompletions.js +32 -0
  172. package/dist/db/tables/webhookQueueCompletions.js.map +1 -0
  173. package/dist/db/tables/webhookQueueEvents.d.ts +14 -20
  174. package/dist/db/tables/webhookQueueEvents.d.ts.map +1 -1
  175. package/dist/db/tables/webhookQueueEvents.js +68 -47
  176. package/dist/db/tables/webhookQueueEvents.js.map +1 -1
  177. package/dist/db/tables/webhookSubscriptions.d.ts +16 -5
  178. package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
  179. package/dist/db/tables/webhookSubscriptions.js +29 -5
  180. package/dist/db/tables/webhookSubscriptions.js.map +1 -1
  181. package/dist/internal/Auth.d.ts +8 -1
  182. package/dist/internal/Auth.d.ts.map +1 -1
  183. package/dist/internal/Auth.js +13 -3
  184. package/dist/internal/Auth.js.map +1 -1
  185. package/dist/internal/Cache.d.ts.map +1 -1
  186. package/dist/internal/Cache.js +11 -7
  187. package/dist/internal/Cache.js.map +1 -1
  188. package/dist/internal/EarnVaults.d.ts +41 -2
  189. package/dist/internal/EarnVaults.d.ts.map +1 -1
  190. package/dist/internal/EarnVaults.js +167 -0
  191. package/dist/internal/EarnVaults.js.map +1 -1
  192. package/dist/internal/OpenApi.d.ts +26 -22
  193. package/dist/internal/OpenApi.d.ts.map +1 -1
  194. package/dist/internal/OpenApi.js +128 -39
  195. package/dist/internal/OpenApi.js.map +1 -1
  196. package/dist/internal/Response.d.ts +13 -8
  197. package/dist/internal/Response.d.ts.map +1 -1
  198. package/dist/internal/Response.js +16 -5
  199. package/dist/internal/Response.js.map +1 -1
  200. package/dist/internal/Schema.d.ts +5 -7
  201. package/dist/internal/Schema.d.ts.map +1 -1
  202. package/dist/internal/Schema.js +6 -7
  203. package/dist/internal/Schema.js.map +1 -1
  204. package/dist/internal/Store.d.ts +15 -6
  205. package/dist/internal/Store.d.ts.map +1 -1
  206. package/dist/internal/Store.js +45 -15
  207. package/dist/internal/Store.js.map +1 -1
  208. package/dist/internal/Tidx.d.ts +2 -0
  209. package/dist/internal/Tidx.d.ts.map +1 -1
  210. package/dist/internal/Tidx.js +16 -4
  211. package/dist/internal/Tidx.js.map +1 -1
  212. package/dist/internal/Webhooks.d.ts +29 -12
  213. package/dist/internal/Webhooks.d.ts.map +1 -1
  214. package/dist/internal/Webhooks.js +37 -20
  215. package/dist/internal/Webhooks.js.map +1 -1
  216. package/dist/internal/funding/Deposit.d.ts +2 -2
  217. package/dist/internal/funding/Deposit.d.ts.map +1 -1
  218. package/dist/internal/funding/Deposit.js +9 -8
  219. package/dist/internal/funding/Deposit.js.map +1 -1
  220. package/dist/internal/funding/DepositAddress.d.ts +4 -4
  221. package/dist/internal/funding/DepositAddress.d.ts.map +1 -1
  222. package/dist/internal/funding/DepositAddress.js +9 -8
  223. package/dist/internal/funding/DepositAddress.js.map +1 -1
  224. package/dist/internal/funding/Provider.d.ts.map +1 -1
  225. package/dist/internal/funding/Provider.js +13 -12
  226. package/dist/internal/funding/Provider.js.map +1 -1
  227. package/dist/internal/funding/providers/stargate.d.ts +19 -0
  228. package/dist/internal/funding/providers/stargate.d.ts.map +1 -0
  229. package/dist/internal/funding/providers/stargate.js +143 -0
  230. package/dist/internal/funding/providers/stargate.js.map +1 -0
  231. package/dist/providers/index.d.ts +7 -0
  232. package/dist/providers/index.d.ts.map +1 -1
  233. package/dist/providers/index.js +3 -0
  234. package/dist/providers/index.js.map +1 -1
  235. package/package.json +2 -2
  236. package/src/App.test.ts +48 -0
  237. package/src/App.ts +4 -2
  238. package/src/Assets.test.ts +18 -0
  239. package/src/Assets.ts +22 -0
  240. package/src/Client.test-d.ts +265 -16
  241. package/src/admin/apps/earn-vaults.test.ts +143 -0
  242. package/src/admin/apps/earn-vaults.ts +83 -6
  243. package/src/admin/apps/organizations.ts +6 -2
  244. package/src/admin/ui/src/routes/api-keys.tsx +36 -0
  245. package/src/admin/ui.generated.ts +151 -189
  246. package/src/apps/data/App.test.ts +31 -0
  247. package/src/apps/data/App.ts +56 -8
  248. package/src/apps/data/ZoneSelection.test.ts +196 -0
  249. package/src/apps/data/ZoneSelection.ts +108 -0
  250. package/src/apps/data/routes/activities.test.ts +328 -1
  251. package/src/apps/data/routes/activities.ts +498 -93
  252. package/src/apps/data/routes/balances.ts +1 -1
  253. package/src/apps/data/routes/blocks.ts +1 -1
  254. package/src/apps/data/routes/earn.test.ts +183 -23
  255. package/src/apps/data/routes/earn.ts +225 -29
  256. package/src/apps/data/routes/earn.zone-access.test.ts +46 -0
  257. package/src/apps/data/routes/exchanges.test.ts +31 -1
  258. package/src/apps/data/routes/exchanges.ts +19 -15
  259. package/src/apps/data/routes/fee-amm.ts +18 -11
  260. package/src/apps/data/routes/receipts.ts +1 -1
  261. package/src/apps/data/routes/rpc.test.ts +75 -0
  262. package/src/apps/data/routes/rpc.ts +23 -9
  263. package/src/apps/data/routes/tokenlist.ts +21 -18
  264. package/src/apps/data/routes/tokens.test.ts +29 -0
  265. package/src/apps/data/routes/tokens.ts +38 -15
  266. package/src/apps/data/routes/transactions.ts +1 -1
  267. package/src/apps/data/routes/transfers.test.ts +3 -3
  268. package/src/apps/data/routes/transfers.ts +12 -9
  269. package/src/apps/data/routes/webhooks.ts +6 -2
  270. package/src/apps/data/routes/zones.test.ts +19 -13
  271. package/src/apps/funding/routes/chains.test.ts +211 -7
  272. package/src/apps/funding/routes/chains.ts +19 -12
  273. package/src/apps/funding/routes/deposit-addresses.test.ts +394 -0
  274. package/src/apps/funding/routes/deposit-addresses.ts +84 -72
  275. package/src/apps/funding/routes/providers.ts +9 -5
  276. package/src/apps/funding/routes/quotes.test.ts +46 -0
  277. package/src/apps/funding/routes/quotes.ts +8 -5
  278. package/src/apps/funding/routes/transfers.test.ts +35 -32
  279. package/src/apps/management/Billing.test.ts +26 -0
  280. package/src/apps/management/Billing.ts +24 -7
  281. package/src/apps/management/routes/api-keys.test.ts +178 -0
  282. package/src/apps/management/routes/api-keys.ts +203 -144
  283. package/src/apps/management/routes/billing.test.ts +209 -0
  284. package/src/apps/management/routes/billing.ts +254 -177
  285. package/src/apps/management/routes/faucet.test.ts +39 -0
  286. package/src/apps/management/routes/faucet.ts +75 -41
  287. package/src/apps/management/routes/invitations.test.ts +216 -0
  288. package/src/apps/management/routes/invitations.ts +186 -109
  289. package/src/apps/management/routes/invite-links.test.ts +263 -1
  290. package/src/apps/management/routes/invite-links.ts +295 -214
  291. package/src/apps/management/routes/me.test.ts +49 -0
  292. package/src/apps/management/routes/me.ts +42 -32
  293. package/src/apps/management/routes/members.test.ts +124 -1
  294. package/src/apps/management/routes/members.ts +81 -51
  295. package/src/apps/management/routes/orgs.test.ts +176 -0
  296. package/src/apps/management/routes/orgs.ts +101 -59
  297. package/src/apps/management/routes/projects.test.ts +183 -0
  298. package/src/apps/management/routes/projects.ts +124 -60
  299. package/src/apps/management/routes/scopes.test.ts +44 -0
  300. package/src/apps/management/routes/scopes.ts +37 -28
  301. package/src/apps/management/routes/usage.test.ts +92 -0
  302. package/src/apps/management/routes/usage.ts +186 -151
  303. package/src/apps/management/routes/verified-token-requests.test.ts +114 -0
  304. package/src/apps/management/routes/verified-token-requests.ts +166 -133
  305. package/src/apps/management/routes/webhooks.test.ts +234 -0
  306. package/src/apps/management/routes/webhooks.ts +191 -78
  307. package/src/apps/mpp/internal/Adapter.ts +13 -1
  308. package/src/db/Db.test.ts +41 -0
  309. package/src/db/Db.ts +62 -0
  310. package/src/db/Schema.ts +28 -3
  311. package/src/db/tables/earnVaults.test.ts +22 -0
  312. package/src/db/tables/earnVaults.ts +11 -1
  313. package/src/db/tables/webhookDeliveries.ts +13 -0
  314. package/src/db/tables/webhookQueueCompletions.ts +55 -0
  315. package/src/db/tables/webhookQueueEvents.ts +95 -61
  316. package/src/db/tables/webhookSubscriptions.ts +45 -6
  317. package/src/internal/Auth.ts +23 -5
  318. package/src/internal/Cache.ts +14 -7
  319. package/src/internal/EarnVaults.capabilities.test.ts +33 -0
  320. package/src/internal/EarnVaults.test.ts +79 -0
  321. package/src/internal/EarnVaults.ts +277 -0
  322. package/src/internal/OpenApi.ts +165 -49
  323. package/src/internal/Response.test.ts +95 -0
  324. package/src/internal/Response.ts +40 -2
  325. package/src/internal/Schema.test.ts +16 -0
  326. package/src/internal/Schema.ts +7 -7
  327. package/src/internal/Store.test.ts +186 -0
  328. package/src/internal/Store.ts +57 -17
  329. package/src/internal/Tidx.test.ts +19 -0
  330. package/src/internal/Tidx.ts +16 -4
  331. package/src/internal/Webhooks.test.ts +122 -8
  332. package/src/internal/Webhooks.ts +59 -29
  333. package/src/internal/funding/Deposit.ts +71 -64
  334. package/src/internal/funding/DepositAddress.ts +50 -43
  335. package/src/internal/funding/Provider.ts +164 -142
  336. package/src/internal/funding/providers/index.test.ts +185 -0
  337. package/src/internal/funding/providers/stargate.ts +184 -0
  338. package/src/providers/index.test.ts +1 -0
  339. package/src/providers/index.ts +9 -0
@@ -3,6 +3,7 @@ import * as z from 'zod/mini'
3
3
  import type * as Db from '../../db/Db.js'
4
4
  import * as FundingDepositAddresses from '../../db/tables/fundingDepositAddresses.js'
5
5
  import * as Id from '../Id.js'
6
+ import * as OpenApi from '../OpenApi.js'
6
7
  import * as Provider from './Provider.js'
7
8
  import * as Transfer from './Transfer.js'
8
9
 
@@ -83,51 +84,57 @@ export namespace schema {
83
84
  .check(z.describe('Public route and ownership-independent fields of a deposit address.'))
84
85
 
85
86
  /** One reusable funding deposit address. */
86
- export const FundingDepositAddress = z
87
- .object({
88
- address: Snapshot.shape.address,
89
- createdAt: z
90
- .string()
91
- .check(
92
- z.describe('When the deposit address was created (ISO 8601).'),
93
- z.meta({ examples: ['2026-08-04T00:00:00.000Z'] }),
94
- ),
95
- destinationChain: Snapshot.shape.destinationChain,
96
- destinationToken: Snapshot.shape.destinationToken,
97
- id: z
98
- .string()
99
- .check(
100
- z.regex(/^fda_[A-Za-z0-9_-]+$/),
101
- z.describe('Funding deposit address id (`fda_…`).'),
102
- z.meta({ examples: ['fda_001785792000000_2ZPE2gvateYEQ0dQslgvkhjx'] }),
103
- ),
104
- provider: Snapshot.shape.provider,
105
- recipient: Snapshot.shape.recipient,
106
- refundAddress: Snapshot.shape.refundAddress,
107
- sourceChain: Snapshot.shape.sourceChain,
108
- sourceToken: Snapshot.shape.sourceToken,
109
- status: Status,
110
- subsidize: Snapshot.shape.subsidize,
111
- updatedAt: z
112
- .string()
113
- .check(
114
- z.describe('When the deposit address last materially changed (ISO 8601).'),
115
- z.meta({ examples: ['2026-08-04T00:00:00.000Z'] }),
116
- ),
117
- })
118
- .check(z.describe('One reusable address for funding a Tempo account.'))
87
+ export const FundingDepositAddress = OpenApi.component(
88
+ z
89
+ .object({
90
+ address: Snapshot.shape.address,
91
+ createdAt: z.iso
92
+ .datetime()
93
+ .check(
94
+ z.describe('When the deposit address was created (ISO 8601).'),
95
+ z.meta({ examples: ['2026-08-04T00:00:00.000Z'] }),
96
+ ),
97
+ destinationChain: Snapshot.shape.destinationChain,
98
+ destinationToken: Snapshot.shape.destinationToken,
99
+ id: z
100
+ .string()
101
+ .check(
102
+ z.regex(/^fda_[A-Za-z0-9_-]+$/),
103
+ z.describe('Funding deposit address id (`fda_…`).'),
104
+ z.meta({ examples: ['fda_001785792000000_2ZPE2gvateYEQ0dQslgvkhjx'] }),
105
+ ),
106
+ provider: Snapshot.shape.provider,
107
+ recipient: Snapshot.shape.recipient,
108
+ refundAddress: Snapshot.shape.refundAddress,
109
+ sourceChain: Snapshot.shape.sourceChain,
110
+ sourceToken: Snapshot.shape.sourceToken,
111
+ status: Status,
112
+ subsidize: Snapshot.shape.subsidize,
113
+ updatedAt: z.iso
114
+ .datetime()
115
+ .check(
116
+ z.describe('When the deposit address last materially changed (ISO 8601).'),
117
+ z.meta({ examples: ['2026-08-04T00:00:00.000Z'] }),
118
+ ),
119
+ })
120
+ .check(z.describe('One reusable address for funding a Tempo account.')),
121
+ 'FundingDepositAddress',
122
+ )
119
123
 
120
124
  /** A reusable funding deposit address with terms sampled during creation. */
121
- export const CreatedFundingDepositAddress = z
122
- .object({
123
- ...FundingDepositAddress.shape,
124
- destinationAmount: Provider.schema.FundingQuote.shape.destinationAmount,
125
- destinationAmountMin: Provider.schema.FundingQuote.shape.destinationAmountMin,
126
- fees: z.array(Transfer.schema.Fee).check(z.describe('Fees applied to the quoted deposit.')),
127
- quote: Provider.schema.QuoteDetails,
128
- sourceAmount: Provider.schema.FundingQuote.shape.sourceAmount,
129
- })
130
- .check(z.describe('A reusable funding deposit address with current quoted delivery terms.'))
125
+ export const CreatedFundingDepositAddress = OpenApi.component(
126
+ z
127
+ .object({
128
+ ...FundingDepositAddress.shape,
129
+ destinationAmount: Provider.schema.FundingQuote.shape.destinationAmount,
130
+ destinationAmountMin: Provider.schema.FundingQuote.shape.destinationAmountMin,
131
+ fees: z.array(Transfer.schema.Fee).check(z.describe('Fees applied to the quoted deposit.')),
132
+ quote: Provider.schema.QuoteDetails,
133
+ sourceAmount: Provider.schema.FundingQuote.shape.sourceAmount,
134
+ })
135
+ .check(z.describe('A reusable funding deposit address with current quoted delivery terms.')),
136
+ 'CreatedFundingDepositAddress',
137
+ )
131
138
  }
132
139
 
133
140
  /** Stored public snapshot of a funding deposit address. */
@@ -2,6 +2,7 @@ import { Address, Base58, Bytes, Hash, Value as core_Value } from 'ox'
2
2
  import * as z from 'zod/mini'
3
3
 
4
4
  import * as core_Provider from '../Provider.js'
5
+ import * as OpenApi from '../OpenApi.js'
5
6
  import * as Schema from '../Schema.js'
6
7
  import * as Value from '../Value.js'
7
8
  import * as Action from './Action.js'
@@ -42,85 +43,97 @@ export namespace schema {
42
43
  export const PositiveInteger = z.string().check(z.regex(/^(?=.*[1-9])\d+$/))
43
44
 
44
45
  /** Normalized chain reference passed to funding providers. */
45
- export const ChainRef = Schema.describe(
46
- z.object({
47
- addressFormat: z
48
- .enum(['base58', 'base58check', 'hex'])
49
- .check(
50
- z.describe('Address encoding used by accounts and token identifiers on this chain.'),
51
- z.meta({ examples: ['hex'] }),
52
- ),
53
- id: z.string().check(z.describe('CAIP-2 chain id.'), z.meta({ examples: ['eip155:8453'] })),
54
- kind: z
55
- .enum(['evm', 'solana', 'tron'])
56
- .check(
57
- z.describe('Chain execution family used for provider routing.'),
58
- z.meta({ examples: ['evm'] }),
59
- ),
60
- name: z
61
- .string()
62
- .check(z.describe('Human-readable chain name.'), z.meta({ examples: ['Base'] })),
63
- }),
64
- 'A normalized chain reference for funding quotes.',
46
+ export const ChainRef = OpenApi.component(
47
+ Schema.describe(
48
+ z.object({
49
+ addressFormat: z
50
+ .enum(['base58', 'base58check', 'hex'])
51
+ .check(
52
+ z.describe('Address encoding used by accounts and token identifiers on this chain.'),
53
+ z.meta({ examples: ['hex'] }),
54
+ ),
55
+ id: z.string().check(z.describe('CAIP-2 chain id.'), z.meta({ examples: ['eip155:8453'] })),
56
+ kind: z
57
+ .enum(['evm', 'solana', 'tron'])
58
+ .check(
59
+ z.describe('Chain execution family used for provider routing.'),
60
+ z.meta({ examples: ['evm'] }),
61
+ ),
62
+ name: z
63
+ .string()
64
+ .check(z.describe('Human-readable chain name.'), z.meta({ examples: ['Base'] })),
65
+ }),
66
+ 'A normalized chain reference for funding quotes.',
67
+ ),
68
+ 'FundingChain',
65
69
  )
66
70
 
67
71
  /** Normalized token reference passed to funding providers. */
68
- export const TokenRef = Schema.describe(
69
- z.object({
70
- address: z
71
- .string()
72
- .check(
73
- z.describe('Contract address, mint, or issuer address on the token chain.'),
74
- z.meta({ examples: ['0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'] }),
75
- ),
76
- currency: z
77
- .string()
78
- .check(
79
- z.describe('Monetary denomination represented by this token.'),
80
- z.meta({ examples: ['USD'] }),
81
- ),
82
- decimals: z
83
- .number()
84
- .check(
85
- z.int(),
86
- z.gte(0),
87
- z.describe('Number of decimal places this token uses.'),
88
- z.meta({ examples: [6] }),
89
- ),
90
- name: z
91
- .string()
92
- .check(z.describe('Human-readable token name.'), z.meta({ examples: ['USD Coin'] })),
93
- standard: z
94
- .string()
95
- .check(z.describe('Token standard on the token chain.'), z.meta({ examples: ['ERC-20'] })),
96
- symbol: z
97
- .string()
98
- .check(z.describe('Short token ticker symbol.'), z.meta({ examples: ['USDC'] })),
99
- tokenKey: z.string().check(
100
- z.describe('Stable Tempo token key scoped to the token chain.'),
101
- z.meta({
102
- examples: ['eip155:8453/erc20:0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'],
103
- }),
104
- ),
105
- verified: z
106
- .boolean()
107
- .check(
108
- z.describe('Whether Tempo recognizes this token in its funding quote inventory.'),
109
- z.meta({ examples: [true] }),
72
+ export const TokenRef = OpenApi.component(
73
+ Schema.describe(
74
+ z.object({
75
+ address: z
76
+ .string()
77
+ .check(
78
+ z.describe('Contract address, mint, or issuer address on the token chain.'),
79
+ z.meta({ examples: ['0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'] }),
80
+ ),
81
+ currency: z
82
+ .string()
83
+ .check(
84
+ z.describe('Monetary denomination represented by this token.'),
85
+ z.meta({ examples: ['USD'] }),
86
+ ),
87
+ decimals: z
88
+ .number()
89
+ .check(
90
+ z.int(),
91
+ z.gte(0),
92
+ z.describe('Number of decimal places this token uses.'),
93
+ z.meta({ examples: [6] }),
94
+ ),
95
+ name: z
96
+ .string()
97
+ .check(z.describe('Human-readable token name.'), z.meta({ examples: ['USD Coin'] })),
98
+ standard: z
99
+ .string()
100
+ .check(
101
+ z.describe('Token standard on the token chain.'),
102
+ z.meta({ examples: ['ERC-20'] }),
103
+ ),
104
+ symbol: z
105
+ .string()
106
+ .check(z.describe('Short token ticker symbol.'), z.meta({ examples: ['USDC'] })),
107
+ tokenKey: z.string().check(
108
+ z.describe('Stable Tempo token key scoped to the token chain.'),
109
+ z.meta({
110
+ examples: ['eip155:8453/erc20:0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'],
111
+ }),
110
112
  ),
111
- }),
112
- 'A normalized token reference for funding quotes.',
113
+ verified: z
114
+ .boolean()
115
+ .check(
116
+ z.describe('Whether Tempo recognizes this token in its funding quote inventory.'),
117
+ z.meta({ examples: [true] }),
118
+ ),
119
+ }),
120
+ 'A normalized token reference for funding quotes.',
121
+ ),
122
+ 'FundingToken',
113
123
  )
114
124
 
115
125
  /** Provider identity embedded in funding resources. */
116
- export const ProviderRef = Schema.describe(
117
- z.object({
118
- id: z.string().check(z.describe('Stable provider id.'), z.meta({ examples: ['relay'] })),
119
- name: z
120
- .string()
121
- .check(z.describe('Human-readable provider name.'), z.meta({ examples: ['Relay'] })),
122
- }),
123
- 'Provider metadata embedded in a funding quote.',
126
+ export const ProviderRef = OpenApi.component(
127
+ Schema.describe(
128
+ z.object({
129
+ id: z.string().check(z.describe('Stable provider id.'), z.meta({ examples: ['relay'] })),
130
+ name: z
131
+ .string()
132
+ .check(z.describe('Human-readable provider name.'), z.meta({ examples: ['Relay'] })),
133
+ }),
134
+ 'Provider metadata embedded in a funding quote.',
135
+ ),
136
+ 'FundingProvider',
124
137
  )
125
138
 
126
139
  /** Source amount unit accepted by a funding quote request. */
@@ -264,84 +277,93 @@ export namespace schema {
264
277
  })
265
278
 
266
279
  /** Quote quality signals exposed to funding API callers. */
267
- export const FundingQuoteQuality = Schema.describe(
268
- z.object({
269
- estimatedSeconds: z
270
- .optional(z.number().check(z.int(), z.nonnegative()))
271
- .check(
272
- z.describe('Estimated settlement time in seconds, when known.'),
273
- z.meta({ examples: [2] }),
274
- ),
275
- liquiditySource: z
276
- .string()
277
- .check(
278
- z.describe('Provider source for the live quote quality signal.'),
279
- z.meta({ examples: ['providerQuote'] }),
280
- ),
281
- sourceDetail: z
282
- .optional(z.string())
283
- .check(
284
- z.describe('Provider-specific source or endpoint detail for the quality signal.'),
285
- z.meta({ examples: ['providerEndpoint'] }),
286
- ),
287
- tier: z
288
- .enum(['liquid', 'thin'])
289
- .check(
290
- z.describe('Machine-readable quote quality tier for a successful quote.'),
291
- z.meta({ examples: ['liquid'] }),
292
- ),
293
- }),
294
- 'Machine-readable liquidity, fee, and source signals for a successful quote.',
280
+ export const FundingQuoteQuality = OpenApi.component(
281
+ Schema.describe(
282
+ z.object({
283
+ estimatedSeconds: z
284
+ .optional(z.number().check(z.int(), z.nonnegative()))
285
+ .check(
286
+ z.describe('Estimated settlement time in seconds, when known.'),
287
+ z.meta({ examples: [2] }),
288
+ ),
289
+ liquiditySource: z
290
+ .string()
291
+ .check(
292
+ z.describe('Provider source for the live quote quality signal.'),
293
+ z.meta({ examples: ['providerQuote'] }),
294
+ ),
295
+ sourceDetail: z
296
+ .optional(z.string())
297
+ .check(
298
+ z.describe('Provider-specific source or endpoint detail for the quality signal.'),
299
+ z.meta({ examples: ['providerEndpoint'] }),
300
+ ),
301
+ tier: z
302
+ .enum(['liquid', 'thin'])
303
+ .check(
304
+ z.describe('Machine-readable quote quality tier for a successful quote.'),
305
+ z.meta({ examples: ['liquid'] }),
306
+ ),
307
+ }),
308
+ 'Machine-readable liquidity, fee, and source signals for a successful quote.',
309
+ ),
310
+ 'FundingQuoteQuality',
295
311
  )
296
312
 
297
313
  /** Provider quote freshness data exposed to funding API callers. */
298
- export const QuoteDetails = Schema.describe(
299
- z.object({
300
- expiresAt: z
301
- .optional(z.iso.datetime())
302
- .check(
303
- z.describe('Timestamp after which the provider quote is no longer valid.'),
304
- z.meta({ examples: ['2026-01-01T00:01:00Z'] }),
305
- ),
306
- sampledAt: z.iso
307
- .datetime()
308
- .check(
309
- z.describe('Timestamp for the live quote request.'),
310
- z.meta({ examples: ['2026-01-01T00:00:00Z'] }),
311
- ),
312
- }),
313
- 'Freshness data for a provider funding quote.',
314
+ export const QuoteDetails = OpenApi.component(
315
+ Schema.describe(
316
+ z.object({
317
+ expiresAt: z
318
+ .optional(z.iso.datetime())
319
+ .check(
320
+ z.describe('Timestamp after which the provider quote is no longer valid.'),
321
+ z.meta({ examples: ['2026-01-01T00:01:00Z'] }),
322
+ ),
323
+ sampledAt: z.iso
324
+ .datetime()
325
+ .check(
326
+ z.describe('Timestamp for the live quote request.'),
327
+ z.meta({ examples: ['2026-01-01T00:00:00Z'] }),
328
+ ),
329
+ }),
330
+ 'Freshness data for a provider funding quote.',
331
+ ),
332
+ 'FundingQuoteDetails',
314
333
  )
315
334
 
316
335
  /** Successful normalized funding quote returned to callers. */
317
- export const FundingQuote = Schema.describe(
318
- z.object({
319
- destinationAmount: Schema.TokenAmount.check(z.describe('Expected destination amount.')),
320
- destinationAmountMin: z
321
- .optional(Schema.TokenAmount)
322
- .check(
323
- z.describe(
324
- 'Provider-derived minimum destination amount. Symbiosis and Squid quotes use a fixed 1% slippage tolerance.',
336
+ export const FundingQuote = OpenApi.component(
337
+ Schema.describe(
338
+ z.object({
339
+ destinationAmount: Schema.TokenAmount.check(z.describe('Expected destination amount.')),
340
+ destinationAmountMin: z
341
+ .optional(Schema.TokenAmount)
342
+ .check(
343
+ z.describe(
344
+ 'Provider-derived minimum destination amount. Symbiosis and Squid quotes use a fixed 1% slippage tolerance.',
345
+ ),
325
346
  ),
347
+ destinationChain: ChainRef.check(
348
+ z.describe('Destination chain, always Tempo mainnet in V1.'),
326
349
  ),
327
- destinationChain: ChainRef.check(
328
- z.describe('Destination chain, always Tempo mainnet in V1.'),
329
- ),
330
- destinationToken: TokenRef.check(z.describe('Tempo token expected from this quote.')),
331
- id: z
332
- .string()
333
- .check(
334
- z.describe('Stable deterministic funding quote id.'),
335
- z.meta({ examples: ['base-usdc-tempo-usdce-relay'] }),
336
- ),
337
- provider: ProviderRef,
338
- quality: FundingQuoteQuality,
339
- quote: QuoteDetails,
340
- sourceAmount: Schema.TokenAmount,
341
- sourceChain: ChainRef.check(z.describe('Chain where the caller currently holds funds.')),
342
- sourceToken: TokenRef.check(z.describe('Token the caller currently holds.')),
343
- }),
344
- 'One successful provider-specific funding quote.',
350
+ destinationToken: TokenRef.check(z.describe('Tempo token expected from this quote.')),
351
+ id: z
352
+ .string()
353
+ .check(
354
+ z.describe('Stable deterministic funding quote id.'),
355
+ z.meta({ examples: ['base-usdc-tempo-usdce-relay'] }),
356
+ ),
357
+ provider: ProviderRef,
358
+ quality: FundingQuoteQuality,
359
+ quote: QuoteDetails,
360
+ sourceAmount: Schema.TokenAmount,
361
+ sourceChain: ChainRef.check(z.describe('Chain where the caller currently holds funds.')),
362
+ sourceToken: TokenRef.check(z.describe('Token the caller currently holds.')),
363
+ }),
364
+ 'One successful provider-specific funding quote.',
365
+ ),
366
+ 'FundingQuote',
345
367
  )
346
368
  }
347
369