tapimo 0.5.3 → 0.7.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 (376) hide show
  1. package/dist/App.d.ts +15830 -7220
  2. package/dist/App.d.ts.map +1 -1
  3. package/dist/App.js +9 -1
  4. package/dist/App.js.map +1 -1
  5. package/dist/Scope.d.ts +4 -0
  6. package/dist/Scope.d.ts.map +1 -1
  7. package/dist/Scope.js +5 -0
  8. package/dist/Scope.js.map +1 -1
  9. package/dist/admin/App.d.ts +1011 -412
  10. package/dist/admin/App.d.ts.map +1 -1
  11. package/dist/admin/App.js +4 -0
  12. package/dist/admin/App.js.map +1 -1
  13. package/dist/admin/apps/api-keys.d.ts +2 -1
  14. package/dist/admin/apps/api-keys.d.ts.map +1 -1
  15. package/dist/admin/apps/early-access.d.ts +148 -0
  16. package/dist/admin/apps/early-access.d.ts.map +1 -0
  17. package/dist/admin/apps/early-access.js +133 -0
  18. package/dist/admin/apps/early-access.js.map +1 -0
  19. package/dist/admin/apps/organizations.d.ts +124 -1
  20. package/dist/admin/apps/organizations.d.ts.map +1 -1
  21. package/dist/admin/apps/organizations.js +97 -6
  22. package/dist/admin/apps/organizations.js.map +1 -1
  23. package/dist/admin/apps/verified-tokens.d.ts +526 -1
  24. package/dist/admin/apps/verified-tokens.d.ts.map +1 -1
  25. package/dist/admin/apps/verified-tokens.js +214 -1
  26. package/dist/admin/apps/verified-tokens.js.map +1 -1
  27. package/dist/admin/ui.generated.d.ts +1 -1
  28. package/dist/admin/ui.generated.d.ts.map +1 -1
  29. package/dist/admin/ui.generated.js +95 -75
  30. package/dist/admin/ui.generated.js.map +1 -1
  31. package/dist/analytics/Analytics.d.ts.map +1 -1
  32. package/dist/analytics/Analytics.js +20 -0
  33. package/dist/analytics/Analytics.js.map +1 -1
  34. package/dist/analytics/tables/requestEvents.d.ts +18 -0
  35. package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
  36. package/dist/analytics/tables/requestEvents.js +36 -7
  37. package/dist/analytics/tables/requestEvents.js.map +1 -1
  38. package/dist/apps/data/App.d.ts +6260 -4924
  39. package/dist/apps/data/App.d.ts.map +1 -1
  40. package/dist/apps/data/App.js +11 -6
  41. package/dist/apps/data/App.js.map +1 -1
  42. package/dist/apps/data/FundingQuoteProviders.d.ts +34 -1
  43. package/dist/apps/data/FundingQuoteProviders.d.ts.map +1 -1
  44. package/dist/apps/data/FundingQuoteProviders.js +194 -16
  45. package/dist/apps/data/FundingQuoteProviders.js.map +1 -1
  46. package/dist/apps/data/FxOracle.d.ts +71 -0
  47. package/dist/apps/data/FxOracle.d.ts.map +1 -0
  48. package/dist/apps/data/FxOracle.js +97 -0
  49. package/dist/apps/data/FxOracle.js.map +1 -0
  50. package/dist/apps/data/index.d.ts +1 -0
  51. package/dist/apps/data/index.d.ts.map +1 -1
  52. package/dist/apps/data/index.js +1 -0
  53. package/dist/apps/data/index.js.map +1 -1
  54. package/dist/apps/data/routes/activities.d.ts +3599 -1382
  55. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  56. package/dist/apps/data/routes/activities.js +250 -88
  57. package/dist/apps/data/routes/activities.js.map +1 -1
  58. package/dist/apps/data/routes/addresses.d.ts +872 -251
  59. package/dist/apps/data/routes/addresses.d.ts.map +1 -1
  60. package/dist/apps/data/routes/addresses.js +11 -9
  61. package/dist/apps/data/routes/addresses.js.map +1 -1
  62. package/dist/apps/data/routes/balances.d.ts +77 -26
  63. package/dist/apps/data/routes/balances.d.ts.map +1 -1
  64. package/dist/apps/data/routes/balances.js +88 -45
  65. package/dist/apps/data/routes/balances.js.map +1 -1
  66. package/dist/apps/data/routes/blocks.d.ts +39 -39
  67. package/dist/apps/data/routes/coingecko.d.ts +54 -54
  68. package/dist/apps/data/routes/exchanges.d.ts +856 -105
  69. package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
  70. package/dist/apps/data/routes/exchanges.js +518 -76
  71. package/dist/apps/data/routes/exchanges.js.map +1 -1
  72. package/dist/apps/data/routes/fee-amm.d.ts +81 -67
  73. package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
  74. package/dist/apps/data/routes/fee-amm.js +76 -91
  75. package/dist/apps/data/routes/fee-amm.js.map +1 -1
  76. package/dist/apps/data/routes/funding.d.ts +80 -36
  77. package/dist/apps/data/routes/funding.d.ts.map +1 -1
  78. package/dist/apps/data/routes/funding.js +65 -31
  79. package/dist/apps/data/routes/funding.js.map +1 -1
  80. package/dist/apps/data/routes/receipts.d.ts +392 -315
  81. package/dist/apps/data/routes/receipts.d.ts.map +1 -1
  82. package/dist/apps/data/routes/receipts.js +152 -77
  83. package/dist/apps/data/routes/receipts.js.map +1 -1
  84. package/dist/apps/data/routes/tokens.d.ts +167 -174
  85. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  86. package/dist/apps/data/routes/tokens.js +15 -13
  87. package/dist/apps/data/routes/tokens.js.map +1 -1
  88. package/dist/apps/data/routes/transactions.d.ts +277 -536
  89. package/dist/apps/data/routes/transactions.d.ts.map +1 -1
  90. package/dist/apps/data/routes/transactions.js +96 -77
  91. package/dist/apps/data/routes/transactions.js.map +1 -1
  92. package/dist/apps/data/routes/transfers.d.ts +157 -81
  93. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  94. package/dist/apps/data/routes/transfers.js +272 -130
  95. package/dist/apps/data/routes/transfers.js.map +1 -1
  96. package/dist/apps/data/routes/valuation.d.ts +307 -0
  97. package/dist/apps/data/routes/valuation.d.ts.map +1 -0
  98. package/dist/apps/data/routes/valuation.js +292 -0
  99. package/dist/apps/data/routes/valuation.js.map +1 -0
  100. package/dist/apps/data/routes/verified-tokens.d.ts +36 -36
  101. package/dist/apps/data/routes/verified-tokens.d.ts.map +1 -1
  102. package/dist/apps/data/routes/verified-tokens.js +7 -5
  103. package/dist/apps/data/routes/verified-tokens.js.map +1 -1
  104. package/dist/apps/data/routes/webhooks.d.ts +103 -123
  105. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  106. package/dist/apps/data/routes/webhooks.js +124 -25
  107. package/dist/apps/data/routes/webhooks.js.map +1 -1
  108. package/dist/apps/index.d.ts +2 -1
  109. package/dist/apps/index.d.ts.map +1 -1
  110. package/dist/apps/index.js +2 -1
  111. package/dist/apps/index.js.map +1 -1
  112. package/dist/apps/management/App.d.ts +8554 -1692
  113. package/dist/apps/management/App.d.ts.map +1 -1
  114. package/dist/apps/management/App.js +12 -1
  115. package/dist/apps/management/App.js.map +1 -1
  116. package/dist/apps/management/routes/api-keys.d.ts +7 -0
  117. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  118. package/dist/apps/management/routes/api-keys.js +17 -3
  119. package/dist/apps/management/routes/api-keys.js.map +1 -1
  120. package/dist/apps/management/routes/billing.d.ts +157 -162
  121. package/dist/apps/management/routes/billing.d.ts.map +1 -1
  122. package/dist/apps/management/routes/billing.js +31 -23
  123. package/dist/apps/management/routes/billing.js.map +1 -1
  124. package/dist/apps/management/routes/faucet.d.ts +232 -0
  125. package/dist/apps/management/routes/faucet.d.ts.map +1 -0
  126. package/dist/apps/management/routes/faucet.js +154 -0
  127. package/dist/apps/management/routes/faucet.js.map +1 -0
  128. package/dist/apps/management/routes/invitations.d.ts +60 -60
  129. package/dist/apps/management/routes/invite-links.d.ts +49 -20
  130. package/dist/apps/management/routes/invite-links.d.ts.map +1 -1
  131. package/dist/apps/management/routes/invite-links.js +26 -1
  132. package/dist/apps/management/routes/invite-links.js.map +1 -1
  133. package/dist/apps/management/routes/me.d.ts +6 -6
  134. package/dist/apps/management/routes/members.d.ts +6 -6
  135. package/dist/apps/management/routes/orgs.d.ts +42 -42
  136. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  137. package/dist/apps/management/routes/orgs.js +5 -0
  138. package/dist/apps/management/routes/orgs.js.map +1 -1
  139. package/dist/apps/management/routes/projects.d.ts +44 -44
  140. package/dist/apps/management/routes/usage.d.ts +3 -0
  141. package/dist/apps/management/routes/usage.d.ts.map +1 -1
  142. package/dist/apps/management/routes/usage.js +4 -0
  143. package/dist/apps/management/routes/usage.js.map +1 -1
  144. package/dist/apps/management/routes/verified-token-requests.d.ts +697 -0
  145. package/dist/apps/management/routes/verified-token-requests.d.ts.map +1 -0
  146. package/dist/apps/management/routes/verified-token-requests.js +271 -0
  147. package/dist/apps/management/routes/verified-token-requests.js.map +1 -0
  148. package/dist/apps/management/routes/webhooks.d.ts +6977 -0
  149. package/dist/apps/management/routes/webhooks.d.ts.map +1 -0
  150. package/dist/apps/management/routes/webhooks.js +573 -0
  151. package/dist/apps/management/routes/webhooks.js.map +1 -0
  152. package/dist/apps/mpp/App.d.ts +363 -0
  153. package/dist/apps/mpp/App.d.ts.map +1 -0
  154. package/dist/apps/mpp/App.js +72 -0
  155. package/dist/apps/mpp/App.js.map +1 -0
  156. package/dist/apps/mpp/Mpp.d.ts +178 -0
  157. package/dist/apps/mpp/Mpp.d.ts.map +1 -0
  158. package/dist/apps/mpp/Mpp.js +183 -0
  159. package/dist/apps/mpp/Mpp.js.map +1 -0
  160. package/dist/apps/mpp/index.d.ts +3 -0
  161. package/dist/apps/mpp/index.d.ts.map +1 -0
  162. package/dist/apps/mpp/index.js +3 -0
  163. package/dist/apps/mpp/index.js.map +1 -0
  164. package/dist/apps/relay/App.d.ts.map +1 -1
  165. package/dist/apps/relay/App.js +56 -9
  166. package/dist/apps/relay/App.js.map +1 -1
  167. package/dist/db/Db.d.ts +6 -0
  168. package/dist/db/Db.d.ts.map +1 -1
  169. package/dist/db/Db.js +110 -0
  170. package/dist/db/Db.js.map +1 -1
  171. package/dist/db/Schema.d.ts +53 -0
  172. package/dist/db/Schema.d.ts.map +1 -1
  173. package/dist/db/Schema.js +56 -0
  174. package/dist/db/Schema.js.map +1 -1
  175. package/dist/db/tables/earlyAccess.d.ts +50 -0
  176. package/dist/db/tables/earlyAccess.d.ts.map +1 -0
  177. package/dist/db/tables/earlyAccess.js +63 -0
  178. package/dist/db/tables/earlyAccess.js.map +1 -0
  179. package/dist/db/tables/enabledBillingSources.d.ts +73 -0
  180. package/dist/db/tables/enabledBillingSources.d.ts.map +1 -0
  181. package/dist/db/tables/enabledBillingSources.js +69 -0
  182. package/dist/db/tables/enabledBillingSources.js.map +1 -0
  183. package/dist/db/tables/invitations.d.ts.map +1 -1
  184. package/dist/db/tables/invitations.js +3 -0
  185. package/dist/db/tables/invitations.js.map +1 -1
  186. package/dist/db/tables/inviteLinks.d.ts +10 -2
  187. package/dist/db/tables/inviteLinks.d.ts.map +1 -1
  188. package/dist/db/tables/inviteLinks.js +10 -1
  189. package/dist/db/tables/inviteLinks.js.map +1 -1
  190. package/dist/db/tables/organizations.d.ts +5 -2
  191. package/dist/db/tables/organizations.d.ts.map +1 -1
  192. package/dist/db/tables/organizations.js +13 -2
  193. package/dist/db/tables/organizations.js.map +1 -1
  194. package/dist/db/tables/sponsoredTransactions.d.ts +2 -0
  195. package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
  196. package/dist/db/tables/sponsoredTransactions.js +2 -0
  197. package/dist/db/tables/sponsoredTransactions.js.map +1 -1
  198. package/dist/db/tables/verifiedTokenRequests.d.ts +94 -0
  199. package/dist/db/tables/verifiedTokenRequests.d.ts.map +1 -0
  200. package/dist/db/tables/verifiedTokenRequests.js +120 -0
  201. package/dist/db/tables/verifiedTokenRequests.js.map +1 -0
  202. package/dist/db/tables/webhookSubscriptions.d.ts +14 -0
  203. package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
  204. package/dist/db/tables/webhookSubscriptions.js +16 -0
  205. package/dist/db/tables/webhookSubscriptions.js.map +1 -1
  206. package/dist/handlers/internal/utils.d.ts +1 -16
  207. package/dist/handlers/internal/utils.d.ts.map +1 -1
  208. package/dist/handlers/internal/utils.js +17 -6
  209. package/dist/handlers/internal/utils.js.map +1 -1
  210. package/dist/handlers/relay.d.ts.map +1 -1
  211. package/dist/handlers/relay.js +37 -5
  212. package/dist/handlers/relay.js.map +1 -1
  213. package/dist/internal/Auth.d.ts +11 -2
  214. package/dist/internal/Auth.d.ts.map +1 -1
  215. package/dist/internal/Auth.js +14 -47
  216. package/dist/internal/Auth.js.map +1 -1
  217. package/dist/internal/FundingQuotes.d.ts +147 -47
  218. package/dist/internal/FundingQuotes.d.ts.map +1 -1
  219. package/dist/internal/FundingQuotes.js +119 -33
  220. package/dist/internal/FundingQuotes.js.map +1 -1
  221. package/dist/internal/Log.d.ts +37 -5
  222. package/dist/internal/Log.d.ts.map +1 -1
  223. package/dist/internal/Log.js +52 -3
  224. package/dist/internal/Log.js.map +1 -1
  225. package/dist/internal/MetricSink.d.ts.map +1 -1
  226. package/dist/internal/MetricSink.js +24 -0
  227. package/dist/internal/MetricSink.js.map +1 -1
  228. package/dist/internal/OpenApi.d.ts +2 -2
  229. package/dist/internal/OpenApi.d.ts.map +1 -1
  230. package/dist/internal/OpenApi.js +3 -0
  231. package/dist/internal/OpenApi.js.map +1 -1
  232. package/dist/internal/Response.d.ts +2 -2
  233. package/dist/internal/Response.d.ts.map +1 -1
  234. package/dist/internal/Response.js +12 -4
  235. package/dist/internal/Response.js.map +1 -1
  236. package/dist/internal/Schema.d.ts +14 -5
  237. package/dist/internal/Schema.d.ts.map +1 -1
  238. package/dist/internal/Schema.js +23 -5
  239. package/dist/internal/Schema.js.map +1 -1
  240. package/dist/internal/Value.d.ts +18 -0
  241. package/dist/internal/Value.d.ts.map +1 -1
  242. package/dist/internal/Value.js +11 -1
  243. package/dist/internal/Value.js.map +1 -1
  244. package/dist/internal/VerifiedTokens.d.ts.map +1 -1
  245. package/dist/internal/VerifiedTokens.js +10 -1
  246. package/dist/internal/VerifiedTokens.js.map +1 -1
  247. package/dist/internal/Webhooks.d.ts +24 -3
  248. package/dist/internal/Webhooks.d.ts.map +1 -1
  249. package/dist/internal/Webhooks.js +34 -8
  250. package/dist/internal/Webhooks.js.map +1 -1
  251. package/package.json +7 -2
  252. package/src/App.test.ts +9 -4
  253. package/src/App.ts +23 -3
  254. package/src/Client.test-d.ts +733 -20
  255. package/src/Scope.ts +5 -0
  256. package/src/admin/App.test.ts +4 -0
  257. package/src/admin/App.ts +4 -0
  258. package/src/admin/apps/early-access.test.ts +125 -0
  259. package/src/admin/apps/early-access.ts +176 -0
  260. package/src/admin/apps/organizations.test.ts +86 -2
  261. package/src/admin/apps/organizations.ts +155 -31
  262. package/src/admin/apps/scopes.test.ts +5 -0
  263. package/src/admin/apps/verified-tokens.test.ts +201 -0
  264. package/src/admin/apps/verified-tokens.ts +532 -286
  265. package/src/admin/ui/plugin.ts +2 -1
  266. package/src/admin/ui/src/lib/early-access.ts +63 -0
  267. package/src/admin/ui/src/lib/organizations.test.ts +81 -1
  268. package/src/admin/ui/src/lib/organizations.ts +92 -0
  269. package/src/admin/ui/src/lib/verified-tokens.ts +79 -0
  270. package/src/admin/ui/src/routeTree.gen.ts +33 -2
  271. package/src/admin/ui/src/routes/__root.tsx +2 -1
  272. package/src/admin/ui/src/routes/api-keys.tsx +1 -1
  273. package/src/admin/ui/src/routes/early-access.tsx +162 -0
  274. package/src/admin/ui/src/routes/organizations_.$orgId.tsx +103 -0
  275. package/src/admin/ui/src/routes/verified-tokens.tsx +230 -19
  276. package/src/admin/ui.generated.ts +95 -94
  277. package/src/analytics/Analytics.test.ts +83 -0
  278. package/src/analytics/Analytics.ts +20 -0
  279. package/src/analytics/tables/requestEvents.ts +60 -7
  280. package/src/apps/composition.test.ts +11 -2
  281. package/src/apps/data/App.test.ts +1 -1
  282. package/src/apps/data/App.ts +22 -14
  283. package/src/apps/data/FundingQuoteProviders.test.ts +297 -4
  284. package/src/apps/data/FundingQuoteProviders.ts +255 -29
  285. package/src/apps/data/FxOracle.test.ts +118 -0
  286. package/src/apps/data/FxOracle.ts +153 -0
  287. package/src/apps/data/index.ts +1 -0
  288. package/src/apps/data/routes/activities.test.ts +177 -3
  289. package/src/apps/data/routes/activities.ts +441 -132
  290. package/src/apps/data/routes/addresses.ts +19 -9
  291. package/src/apps/data/routes/balances.test.ts +148 -11
  292. package/src/apps/data/routes/balances.ts +140 -51
  293. package/src/apps/data/routes/exchanges.test.ts +544 -9
  294. package/src/apps/data/routes/exchanges.ts +690 -103
  295. package/src/apps/data/routes/fee-amm.test.ts +47 -23
  296. package/src/apps/data/routes/fee-amm.ts +98 -119
  297. package/src/apps/data/routes/funding.test.ts +113 -8
  298. package/src/apps/data/routes/funding.ts +77 -51
  299. package/src/apps/data/routes/receipts.test.ts +129 -23
  300. package/src/apps/data/routes/receipts.ts +205 -100
  301. package/src/apps/data/routes/tokens.test.ts +43 -0
  302. package/src/apps/data/routes/tokens.ts +28 -13
  303. package/src/apps/data/routes/transactions.test.ts +72 -19
  304. package/src/apps/data/routes/transactions.ts +162 -92
  305. package/src/apps/data/routes/transfers.test.ts +341 -31
  306. package/src/apps/data/routes/transfers.ts +358 -158
  307. package/src/apps/data/routes/valuation.test.ts +437 -0
  308. package/src/apps/data/routes/valuation.ts +423 -0
  309. package/src/apps/data/routes/verified-tokens.ts +14 -2
  310. package/src/apps/data/routes/webhooks.test.ts +56 -8
  311. package/src/apps/data/routes/webhooks.ts +144 -27
  312. package/src/apps/index.ts +2 -1
  313. package/src/apps/management/App.ts +13 -0
  314. package/src/apps/management/routes/api-keys.test.ts +14 -0
  315. package/src/apps/management/routes/api-keys.ts +27 -3
  316. package/src/apps/management/routes/billing.test.ts +152 -20
  317. package/src/apps/management/routes/billing.ts +34 -18
  318. package/src/apps/management/routes/faucet.test.ts +87 -0
  319. package/src/apps/management/routes/faucet.ts +201 -0
  320. package/src/apps/management/routes/invite-links.test.ts +117 -0
  321. package/src/apps/management/routes/invite-links.ts +43 -1
  322. package/src/apps/management/routes/me.test.ts +9 -99
  323. package/src/apps/management/routes/orgs.test.ts +45 -2
  324. package/src/apps/management/routes/orgs.ts +6 -0
  325. package/src/apps/management/routes/scopes.test.ts +1 -0
  326. package/src/apps/management/routes/usage.test.ts +6 -0
  327. package/src/apps/management/routes/usage.ts +7 -0
  328. package/src/apps/management/routes/verified-token-requests.test.ts +377 -0
  329. package/src/apps/management/routes/verified-token-requests.ts +397 -0
  330. package/src/apps/management/routes/webhooks.test.ts +426 -0
  331. package/src/apps/management/routes/webhooks.ts +672 -0
  332. package/src/apps/mpp/App.ts +86 -0
  333. package/src/apps/mpp/Mpp.test.ts +193 -0
  334. package/src/apps/mpp/Mpp.ts +353 -0
  335. package/src/apps/mpp/index.ts +2 -0
  336. package/src/apps/mpp/internal/Adapter.ts +11 -0
  337. package/src/apps/mpp/internal/Error.ts +9 -0
  338. package/src/apps/mpp/internal/Idempotency.ts +7 -0
  339. package/src/apps/mpp/internal/Screening.ts +10 -0
  340. package/src/apps/relay/App.test.ts +88 -6
  341. package/src/apps/relay/App.ts +61 -9
  342. package/src/db/Db.test.ts +19 -0
  343. package/src/db/Db.ts +125 -0
  344. package/src/db/Schema.ts +68 -0
  345. package/src/db/tables/earlyAccess.ts +86 -0
  346. package/src/db/tables/enabledBillingSources.test.ts +303 -0
  347. package/src/db/tables/enabledBillingSources.ts +118 -0
  348. package/src/db/tables/invitations.ts +3 -0
  349. package/src/db/tables/inviteLinks.ts +22 -3
  350. package/src/db/tables/organizations.test.ts +103 -0
  351. package/src/db/tables/organizations.ts +18 -2
  352. package/src/db/tables/sponsoredTransactions.ts +4 -0
  353. package/src/db/tables/verifiedTokenRequests.test.ts +200 -0
  354. package/src/db/tables/verifiedTokenRequests.ts +182 -0
  355. package/src/db/tables/webhookSubscriptions.ts +31 -0
  356. package/src/handlers/internal/utils.ts +22 -6
  357. package/src/handlers/relay.errors.test.ts +153 -0
  358. package/src/handlers/relay.ts +42 -7
  359. package/src/internal/Auth.test.ts +3 -3
  360. package/src/internal/Auth.ts +15 -47
  361. package/src/internal/FundingQuotes.test.ts +161 -6
  362. package/src/internal/FundingQuotes.ts +141 -39
  363. package/src/internal/Log.test-d.ts +21 -0
  364. package/src/internal/Log.test.ts +141 -0
  365. package/src/internal/Log.ts +93 -6
  366. package/src/internal/MetricSink.test.ts +215 -0
  367. package/src/internal/MetricSink.ts +24 -0
  368. package/src/internal/OpenApi.ts +3 -0
  369. package/src/internal/Response.test.ts +28 -0
  370. package/src/internal/Response.ts +12 -4
  371. package/src/internal/Schema.ts +50 -5
  372. package/src/internal/Value.test.ts +20 -0
  373. package/src/internal/Value.ts +24 -1
  374. package/src/internal/VerifiedTokens.ts +9 -1
  375. package/src/internal/Webhooks.test.ts +140 -0
  376. package/src/internal/Webhooks.ts +53 -9
@@ -1,16 +1,26 @@
1
1
  import * as z from 'zod/mini';
2
2
  import * as FundingQuotes from '../../internal/FundingQuotes.js';
3
+ import * as Store from '../../internal/Store.js';
3
4
  const defaultFetch = (input, init) => globalThis.fetch(input, init);
4
5
  const defaultAcrossBaseUrl = 'https://app.across.to/api';
5
6
  const defaultRelayBaseUrl = 'https://api.relay.link';
6
7
  const defaultRhinoBaseUrl = 'https://api.rhino.fi/bridge';
7
8
  const defaultSquidBaseUrl = 'https://v2.api.squidrouter.com/v2';
9
+ const defaultSymbiosisBaseUrl = 'https://api.symbiosis.finance/crosschain';
10
+ // Keep one upstream slot free for deployment smoke tests and operational probes.
11
+ const symbiosisRateLimit = 4;
12
+ const symbiosisRateLimitWindowMs = 1_000;
8
13
  const providerOperations = {
9
14
  across: 'swap/approval',
10
15
  relay: 'quote/v2',
11
16
  rhino: 'quote/bridge-swap/public',
12
17
  squid: 'v2/route',
18
+ symbiosis: 'v2/quote',
13
19
  };
20
+ /** Returns the stable upstream operation used by a funding quote provider. */
21
+ export function providerOperation(provider) {
22
+ return providerOperations[provider];
23
+ }
14
24
  var schema;
15
25
  (function (schema) {
16
26
  const IntegerString = z.string().check(z.regex(/^\d+$/));
@@ -55,6 +65,25 @@ var schema;
55
65
  }),
56
66
  }),
57
67
  });
68
+ schema.SymbiosisToken = z.object({
69
+ address: z.string(),
70
+ chainId: z.number().check(z.int(), z.nonnegative()),
71
+ decimals: z.number().check(z.int(), z.nonnegative()),
72
+ });
73
+ const SymbiosisTokenAmount = z.extend(schema.SymbiosisToken, { amount: IntegerString });
74
+ schema.SymbiosisQuote = z.object({
75
+ estimatedTime: z.optional(z.number().check(z.nonnegative())),
76
+ kind: z.union([z.literal('bridge'), z.literal('crosschain-swap'), z.literal('intent-swap')]),
77
+ routes: z
78
+ .array(z.object({
79
+ tokens: z.array(schema.SymbiosisToken).check(z.minLength(1)),
80
+ }))
81
+ .check(z.minLength(1)),
82
+ tokenAmountOut: SymbiosisTokenAmount,
83
+ tokenAmountOutMin: SymbiosisTokenAmount,
84
+ tx: z.object({ chainId: z.number().check(z.int(), z.nonnegative()) }),
85
+ type: z.union([z.literal('evm'), z.literal('tron')]),
86
+ });
58
87
  })(schema || (schema = {}));
59
88
  /** Creates the live funding quote adapters configured for this deployment. */
60
89
  export function createAdapters(options = {}) {
@@ -63,6 +92,7 @@ export function createAdapters(options = {}) {
63
92
  ...(options.relay ? { relay: relay(options.relay) } : {}),
64
93
  ...(options.rhino ? { rhino: rhino(options.rhino) } : {}),
65
94
  ...(options.squid ? { squid: squid(options.squid) } : {}),
95
+ ...(options.symbiosis ? { symbiosis: symbiosis(options.symbiosis) } : {}),
66
96
  };
67
97
  }
68
98
  /** Resolves all-or-none Across deployment configuration. */
@@ -90,6 +120,12 @@ export function configureSquid(options = {}) {
90
120
  userAddress: options.userAddress,
91
121
  };
92
122
  }
123
+ /** Resolves Symbiosis deployment configuration. */
124
+ export function configureSymbiosis(options = {}) {
125
+ if (!options.userAddress)
126
+ return undefined;
127
+ return { userAddress: options.userAddress };
128
+ }
93
129
  /** Creates an Across quote adapter backed by `/swap/approval`. */
94
130
  export function across(options) {
95
131
  assertAcrossConfiguration(options);
@@ -170,7 +206,7 @@ export function relay(options) {
170
206
  method: 'POST',
171
207
  signal,
172
208
  });
173
- return formatRelayResult(candidate, quote, now());
209
+ return formatRelayResult(quote, now());
174
210
  }
175
211
  catch (cause) {
176
212
  const unavailable = providerUnavailable(cause, [
@@ -281,9 +317,69 @@ export function squid(options) {
281
317
  },
282
318
  };
283
319
  }
320
+ /** Creates a Symbiosis quote adapter backed by `/v2/quote`. */
321
+ export function symbiosis(options) {
322
+ assertUserAddress(options.userAddress);
323
+ const baseUrl = normalizeBaseUrl(options.baseUrl ?? defaultSymbiosisBaseUrl);
324
+ const fetcher = options.fetch ?? defaultFetch;
325
+ const now = options.now ?? (() => new Date());
326
+ const rateLimitStore = options.rateLimitStore ?? Store.memory();
327
+ return {
328
+ async probeQuote({ candidate }, signal) {
329
+ const fromChainId = Number(providerChainId(candidate.sourceChain, 'symbiosis'));
330
+ const fromToken = symbiosisSourceToken(candidate.sourceChain, candidate.sourceToken);
331
+ const toChainId = Number(eip155ChainId(candidate.destinationChain));
332
+ try {
333
+ await consumeSymbiosisQuota(rateLimitStore, now());
334
+ const quote = await requestJson(new URL(`${baseUrl}/v2/quote`), {
335
+ body: {
336
+ from: options.userAddress,
337
+ slippage: 100,
338
+ to: options.userAddress,
339
+ tokenAmountIn: {
340
+ address: fromToken,
341
+ amount: candidate.sourceAmount.amount,
342
+ chainId: fromChainId,
343
+ decimals: candidate.sourceToken.decimals,
344
+ symbol: candidate.sourceToken.symbol,
345
+ },
346
+ tokenOut: {
347
+ address: candidate.destinationToken.address,
348
+ chainId: toChainId,
349
+ decimals: candidate.destinationToken.decimals,
350
+ symbol: candidate.destinationToken.symbol,
351
+ },
352
+ },
353
+ fetcher,
354
+ headers: { 'x-partner-id': 'tempo' },
355
+ method: 'POST',
356
+ signal,
357
+ });
358
+ return formatSymbiosisResult(candidate, quote, now());
359
+ }
360
+ catch (cause) {
361
+ const unavailable = providerUnavailable(cause, [
362
+ 'AMOUNT_TOO_LOW',
363
+ 'NO_ROUTE',
364
+ 'NO_ROUTE_FOUND',
365
+ 'ROUTE_NOT_FOUND',
366
+ 'UNSUPPORTED_ROUTE',
367
+ ]) ?? symbiosisUnavailable(cause);
368
+ if (!unavailable)
369
+ throw cause;
370
+ return unavailableResult({
371
+ detail: 'symbiosis:quote-v2',
372
+ message: unavailable,
373
+ now: now(),
374
+ source: 'providerQuote',
375
+ });
376
+ }
377
+ },
378
+ };
379
+ }
284
380
  /** Returns bounded provider failure details suitable for structured request logs. */
285
381
  export function providerFailure(options) {
286
- const operation = providerOperations[options.provider];
382
+ const operation = providerOperation(options.provider);
287
383
  if (options.cause instanceof FundingQuotes.ProviderAdapterTimeoutError ||
288
384
  (options.cause instanceof DOMException && options.cause.name === 'AbortError'))
289
385
  return { failure: 'timeout', id: options.provider, operation };
@@ -299,6 +395,8 @@ export function providerFailure(options) {
299
395
  }
300
396
  if (options.cause instanceof ProviderPayloadError)
301
397
  return { failure: 'payload', id: options.provider, operation };
398
+ if (options.cause instanceof ProviderRateLimitError)
399
+ return { failure: 'rate_limit', id: options.provider, operation };
302
400
  if (options.cause instanceof TypeError)
303
401
  return { failure: 'network', id: options.provider, operation };
304
402
  return { failure: 'unknown', id: options.provider, operation };
@@ -322,7 +420,6 @@ function formatAcrossResult(candidate, quote, now) {
322
420
  expiresAt: expiresAt.toISOString(),
323
421
  minimumOutputAmount: response.minOutputAmount,
324
422
  outputAmount: response.expectedOutputAmount,
325
- outputAmountFormatted: decimalFromBaseUnits(response.expectedOutputAmount, candidate.destinationToken.decimals),
326
423
  quality: {
327
424
  estimatedSeconds: response.expectedFillTime,
328
425
  liquiditySource: 'providerQuote',
@@ -333,7 +430,7 @@ function formatAcrossResult(candidate, quote, now) {
333
430
  status: 'available',
334
431
  };
335
432
  }
336
- function formatRelayResult(candidate, quote, now) {
433
+ function formatRelayResult(quote, now) {
337
434
  const details = record(record(quote)['details']);
338
435
  const currencyOut = record(details['currencyOut']);
339
436
  const outputAmount = decimalString(currencyOut['amount']);
@@ -343,9 +440,6 @@ function formatRelayResult(candidate, quote, now) {
343
440
  return {
344
441
  minimumOutputAmount: decimalString(currencyOut['minimumAmount']),
345
442
  outputAmount,
346
- outputAmountFormatted: outputAmount
347
- ? decimalFromBaseUnits(outputAmount, candidate.destinationToken.decimals)
348
- : undefined,
349
443
  quality: {
350
444
  estimatedSeconds: nonnegativeInteger(details['timeEstimate']),
351
445
  liquiditySource: 'providerQuote',
@@ -372,7 +466,6 @@ function formatRhinoResult(candidate, quote, options) {
372
466
  throw new ProviderPayloadError();
373
467
  return {
374
468
  outputAmount,
375
- outputAmountFormatted: decimalFromBaseUnits(outputAmount, candidate.destinationToken.decimals),
376
469
  quality: {
377
470
  ...(response.estimatedDuration === undefined || response.estimatedDuration === null
378
471
  ? {}
@@ -400,7 +493,6 @@ function formatSquidResult(candidate, quote, now) {
400
493
  return {
401
494
  minimumOutputAmount: response.toAmountMin,
402
495
  outputAmount: response.toAmount,
403
- outputAmountFormatted: decimalFromBaseUnits(response.toAmount, candidate.destinationToken.decimals),
404
496
  quality: {
405
497
  estimatedSeconds: Math.ceil(response.estimatedRouteDuration),
406
498
  liquiditySource: 'providerQuote',
@@ -411,6 +503,57 @@ function formatSquidResult(candidate, quote, now) {
411
503
  status: 'available',
412
504
  };
413
505
  }
506
+ function formatSymbiosisResult(candidate, quote, now) {
507
+ const parsed = schema.SymbiosisQuote.safeParse(quote);
508
+ if (!parsed.success)
509
+ throw new ProviderPayloadError();
510
+ const response = parsed.data;
511
+ const sourceChainId = Number(providerChainId(candidate.sourceChain, 'symbiosis'));
512
+ const sourceToken = symbiosisSourceToken(candidate.sourceChain, candidate.sourceToken);
513
+ const firstToken = response.routes[0].tokens[0];
514
+ const lastRoute = response.routes[response.routes.length - 1];
515
+ const lastToken = lastRoute.tokens[lastRoute.tokens.length - 1];
516
+ if (response.tx.chainId !== sourceChainId ||
517
+ response.type !== candidate.sourceChain.kind ||
518
+ !matchesSymbiosisToken(firstToken, {
519
+ address: sourceToken,
520
+ chainId: sourceChainId,
521
+ decimals: candidate.sourceToken.decimals,
522
+ }) ||
523
+ !matchesSymbiosisToken(lastToken, {
524
+ address: candidate.destinationToken.address,
525
+ chainId: Number(eip155ChainId(candidate.destinationChain)),
526
+ decimals: candidate.destinationToken.decimals,
527
+ }) ||
528
+ !matchesSymbiosisToken(response.tokenAmountOut, {
529
+ address: candidate.destinationToken.address,
530
+ chainId: Number(eip155ChainId(candidate.destinationChain)),
531
+ decimals: candidate.destinationToken.decimals,
532
+ }) ||
533
+ !matchesSymbiosisToken(response.tokenAmountOutMin, {
534
+ address: candidate.destinationToken.address,
535
+ chainId: Number(eip155ChainId(candidate.destinationChain)),
536
+ decimals: candidate.destinationToken.decimals,
537
+ }) ||
538
+ BigInt(response.tokenAmountOut.amount) <= 0n ||
539
+ BigInt(response.tokenAmountOutMin.amount) <= 0n ||
540
+ BigInt(response.tokenAmountOutMin.amount) > BigInt(response.tokenAmountOut.amount))
541
+ throw new ProviderPayloadError();
542
+ return {
543
+ minimumOutputAmount: response.tokenAmountOutMin.amount,
544
+ outputAmount: response.tokenAmountOut.amount,
545
+ quality: {
546
+ ...(response.estimatedTime === undefined
547
+ ? {}
548
+ : { estimatedSeconds: Math.ceil(response.estimatedTime) }),
549
+ liquiditySource: 'providerQuote',
550
+ sourceDetail: 'symbiosis:quote-v2',
551
+ tier: 'liquid',
552
+ },
553
+ sampledAt: now.toISOString(),
554
+ status: 'available',
555
+ };
556
+ }
414
557
  function unavailableResult(options) {
415
558
  return {
416
559
  quality: {
@@ -470,6 +613,23 @@ function squidUnavailable(cause) {
470
613
  return 'AMOUNT_TOO_LOW';
471
614
  return undefined;
472
615
  }
616
+ function symbiosisUnavailable(cause) {
617
+ if (!(cause instanceof ProviderResponseError) || cause.status !== 400)
618
+ return undefined;
619
+ const body = record(cause.body);
620
+ if (body['message'] === 'Amount is too low to cover fees')
621
+ return 'AMOUNT_TOO_LOW';
622
+ return undefined;
623
+ }
624
+ async function consumeSymbiosisQuota(store, now) {
625
+ const time = now.getTime();
626
+ const bucket = Math.floor(time / symbiosisRateLimitWindowMs);
627
+ const count = await Store.increment(store, `funding:symbiosis:quote:${bucket}`, {
628
+ ttl: symbiosisRateLimitWindowMs * 2,
629
+ });
630
+ if (count > symbiosisRateLimit)
631
+ throw new ProviderRateLimitError();
632
+ }
473
633
  function providerChainId(quoteChain, provider) {
474
634
  const providerIds = quoteChain.providerIds;
475
635
  const id = providerIds?.[provider];
@@ -494,6 +654,17 @@ function rhinoToken(token) {
494
654
  throw new UnsupportedProviderTokenError();
495
655
  return id;
496
656
  }
657
+ function symbiosisSourceToken(chain, token) {
658
+ if (chain.kind !== 'tron')
659
+ return token.address;
660
+ const tokens = {
661
+ TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t: '0xa614f803b6fd780986a42c78ec9c7f77e6ded13c',
662
+ };
663
+ const id = tokens[token.address];
664
+ if (!id)
665
+ throw new UnsupportedProviderTokenError();
666
+ return id;
667
+ }
497
668
  function matchesToken(token, chain, expected) {
498
669
  return (token.address.toLowerCase() === expected.address.toLowerCase() &&
499
670
  token.chainId === Number(eip155ChainId(chain)) &&
@@ -504,6 +675,11 @@ function matchesSquidToken(token, chain, expected) {
504
675
  String(token.chainId) === eip155ChainId(chain) &&
505
676
  token.decimals === expected.decimals);
506
677
  }
678
+ function matchesSymbiosisToken(token, options) {
679
+ return (token.address.toLowerCase() === options.address.toLowerCase() &&
680
+ token.chainId === options.chainId &&
681
+ token.decimals === options.decimals);
682
+ }
507
683
  function eip155ChainId(chain) {
508
684
  if (chain.kind !== 'evm')
509
685
  throw new UnsupportedProviderChainError();
@@ -547,12 +723,6 @@ function nonnegativeInteger(input) {
547
723
  return Number(input);
548
724
  return undefined;
549
725
  }
550
- function decimalFromBaseUnits(baseUnits, decimals) {
551
- const padded = baseUnits.padStart(decimals + 1, '0');
552
- const whole = decimals === 0 ? padded : padded.slice(0, -decimals);
553
- const fraction = decimals === 0 ? '' : padded.slice(-decimals).replace(/0+$/, '');
554
- return fraction ? `${whole}.${fraction}` : whole;
555
- }
556
726
  function baseUnitsFromDecimal(value, decimals) {
557
727
  if (!/^\d+(\.\d+)?$/.test(value))
558
728
  return undefined;
@@ -569,7 +739,12 @@ function assertAcrossConfiguration(options) {
569
739
  throw new ProviderConfigurationError();
570
740
  }
571
741
  function assertSquidConfiguration(options) {
572
- if (options.integratorId.length === 0 || !/^0x[\da-fA-F]{40}$/.test(options.userAddress))
742
+ if (options.integratorId.length === 0)
743
+ throw new ProviderConfigurationError();
744
+ assertUserAddress(options.userAddress);
745
+ }
746
+ function assertUserAddress(userAddress) {
747
+ if (!/^0x[\da-fA-F]{40}$/.test(userAddress))
573
748
  throw new ProviderConfigurationError();
574
749
  }
575
750
  class ProviderConfigurationError extends Error {
@@ -578,6 +753,9 @@ class ProviderConfigurationError extends Error {
578
753
  class ProviderPayloadError extends Error {
579
754
  name = 'FundingQuoteProviders.ProviderPayloadError';
580
755
  }
756
+ class ProviderRateLimitError extends Error {
757
+ name = 'FundingQuoteProviders.ProviderRateLimitError';
758
+ }
581
759
  class ProviderResponseError extends Error {
582
760
  status;
583
761
  body;
@@ -1 +1 @@
1
- {"version":3,"file":"FundingQuoteProviders.js","sourceRoot":"","sources":["../../../src/apps/data/FundingQuoteProviders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FundingQuoteProviders.js","sourceRoot":"","sources":["../../../src/apps/data/FundingQuoteProviders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /** A pluggable fiat FX rate oracle consumed by the valuation endpoint. */
2
+ export type Oracle = {
3
+ /** Oracle identifier, surfaced as the valuation's `pricing.source` (e.g. `ecb`). */
4
+ name: string;
5
+ /** Fetches the oracle's current rate set. */
6
+ rates: () => Promise<RateSet>;
7
+ /** Cache lifetime for a fetched rate set, in milliseconds. */
8
+ ttl: number;
9
+ };
10
+ /** One oracle-published set of exchange rates quoted against a base currency. */
11
+ export type RateSet = {
12
+ /** Publication date of the rate set as an ISO 8601 timestamp. */
13
+ asOf: string;
14
+ /** Currency the rates are quoted against (e.g. `EUR`). */
15
+ base: string;
16
+ /** Currency code to units of that currency per one `base` unit, as decimal strings. */
17
+ rates: Record<string, string>;
18
+ };
19
+ /** Fixed-point scale (decimal places) of cross rates returned by {@link rate}. */
20
+ export declare const precision = 18;
21
+ /** Canonical ECB daily reference-rate feed (public, no key required). */
22
+ export declare const ecbUrl = "https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml";
23
+ /**
24
+ * Normalizes an oracle definition into an {@link Oracle}: applies the default
25
+ * `ttl` and rethrows `rates()` failures as {@link RatesError}.
26
+ */
27
+ export declare function from(oracle: from.Value): Oracle;
28
+ export declare namespace from {
29
+ /** Oracle definition accepted by {@link from}. */
30
+ type Value = Pick<Oracle, 'name' | 'rates'> & {
31
+ /** Cache lifetime for a fetched rate set, in milliseconds. @default `Ttl.hours(1)` */
32
+ ttl?: number | undefined;
33
+ };
34
+ }
35
+ /**
36
+ * European Central Bank euro reference rates: one EUR-based set covering ~30
37
+ * currencies, published once per working day.
38
+ */
39
+ export declare function ecb(options?: ecb.Options): Oracle;
40
+ export declare namespace ecb {
41
+ /** Options for the ECB oracle. */
42
+ type Options = {
43
+ /** Fetch implementation used to retrieve the feed. @default `globalThis.fetch` */
44
+ fetch?: typeof globalThis.fetch | undefined;
45
+ /** Feed URL. @default {@link ecbUrl} */
46
+ url?: string | undefined;
47
+ };
48
+ }
49
+ /**
50
+ * Derives the cross rate from one currency to another through the set's base,
51
+ * scaled to {@link precision} decimal places. Returns `undefined` when the set
52
+ * prices neither leg of a currency.
53
+ */
54
+ export declare function rate(set: RateSet, options: rate.Options): bigint | undefined;
55
+ export declare namespace rate {
56
+ /** Options for deriving a cross rate. */
57
+ type Options = {
58
+ /** Currency code to convert from. */
59
+ from: string;
60
+ /** Currency code to convert to. */
61
+ to: string;
62
+ };
63
+ }
64
+ /** Thrown when an oracle fails to produce its rate set. */
65
+ export declare class RatesError extends Error {
66
+ name: string;
67
+ constructor(oracle: string, options: {
68
+ cause: unknown;
69
+ });
70
+ }
71
+ //# sourceMappingURL=FxOracle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FxOracle.d.ts","sourceRoot":"","sources":["../../../src/apps/data/FxOracle.ts"],"names":[],"mappings":"AAIA,0EAA0E;AAC1E,MAAM,MAAM,MAAM,GAAG;IACnB,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7B,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,iFAAiF;AACjF,MAAM,MAAM,OAAO,GAAG;IACpB,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAA;IACZ,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,SAAS,KAAK,CAAA;AAE3B,yEAAyE;AACzE,eAAO,MAAM,MAAM,kEAAkE,CAAA;AAErF;;;GAGG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAY/C;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,kDAAkD;IAClD,KAAK,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG;QAC5C,sFAAsF;QACtF,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACzB,CAAA;CACF;AAED;;;GAGG;AACH,wBAAgB,GAAG,CAAC,OAAO,GAAE,GAAG,CAAC,OAAY,GAAG,MAAM,CAiCrD;AAED,MAAM,CAAC,OAAO,WAAW,GAAG,CAAC;IAC3B,kCAAkC;IAClC,KAAK,OAAO,GAAG;QACb,kFAAkF;QAClF,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,GAAG,SAAS,CAAA;QAC3C,wCAAwC;QACxC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACzB,CAAA;CACF;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,CAU5E;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,yCAAyC;IACzC,KAAK,OAAO,GAAG;QACb,qCAAqC;QACrC,IAAI,EAAE,MAAM,CAAA;QACZ,mCAAmC;QACnC,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;CACF;AAED,2DAA2D;AAC3D,qBAAa,UAAW,SAAQ,KAAK;IAC1B,IAAI,SAAwB;IACrC,YAAY,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,EAEtD;CACF"}
@@ -0,0 +1,97 @@
1
+ import { Value as core_Value } from 'ox';
2
+ import * as Ttl from '../../internal/Ttl.js';
3
+ /** Fixed-point scale (decimal places) of cross rates returned by {@link rate}. */
4
+ export const precision = 18;
5
+ /** Canonical ECB daily reference-rate feed (public, no key required). */
6
+ export const ecbUrl = 'https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml';
7
+ /**
8
+ * Normalizes an oracle definition into an {@link Oracle}: applies the default
9
+ * `ttl` and rethrows `rates()` failures as {@link RatesError}.
10
+ */
11
+ export function from(oracle) {
12
+ return {
13
+ name: oracle.name,
14
+ rates: async () => {
15
+ try {
16
+ return await oracle.rates();
17
+ }
18
+ catch (cause) {
19
+ throw new RatesError(oracle.name, { cause });
20
+ }
21
+ },
22
+ ttl: oracle.ttl ?? Ttl.hours(1),
23
+ };
24
+ }
25
+ /**
26
+ * European Central Bank euro reference rates: one EUR-based set covering ~30
27
+ * currencies, published once per working day.
28
+ */
29
+ export function ecb(options = {}) {
30
+ const { fetch = globalThis.fetch, url = ecbUrl } = options;
31
+ return from({
32
+ name: 'ecb',
33
+ rates: async () => {
34
+ const response = await fetch(url, {
35
+ headers: { accept: 'application/xml' },
36
+ signal: AbortSignal.timeout(10_000),
37
+ });
38
+ if (!response.ok)
39
+ throw new ResponseError(response.status);
40
+ const text = await response.text();
41
+ // The daily file is a flat, stable XML shape; extract the `Cube`
42
+ // attributes directly rather than pulling in an XML parser.
43
+ const asOf = text.match(/<Cube time=['"](\d{4}-\d{2}-\d{2})['"]/)?.[1];
44
+ const rates = {};
45
+ for (const match of text.matchAll(/<Cube currency=['"]([A-Z]{3})['"] rate=['"]([^'"]*)['"]/g)) {
46
+ const [, code, value] = match;
47
+ if (!code ||
48
+ !value ||
49
+ !/^\d+(?:\.\d+)?$/.test(value) ||
50
+ core_Value.from(value, precision) <= 0n)
51
+ throw new ParseError();
52
+ rates[code] = value;
53
+ }
54
+ if (!asOf || rates['USD'] === undefined)
55
+ throw new ParseError();
56
+ return { asOf: `${asOf}T00:00:00.000Z`, base: 'EUR', rates };
57
+ },
58
+ });
59
+ }
60
+ /**
61
+ * Derives the cross rate from one currency to another through the set's base,
62
+ * scaled to {@link precision} decimal places. Returns `undefined` when the set
63
+ * prices neither leg of a currency.
64
+ */
65
+ export function rate(set, options) {
66
+ const scaled = (code) => {
67
+ if (code === set.base)
68
+ return 10n ** BigInt(precision);
69
+ const value = set.rates[code];
70
+ return value === undefined ? undefined : core_Value.from(value, precision);
71
+ };
72
+ const source = scaled(options.from);
73
+ const target = scaled(options.to);
74
+ if (source === undefined || target === undefined || source === 0n)
75
+ return undefined;
76
+ return (target * 10n ** BigInt(precision)) / source;
77
+ }
78
+ /** Thrown when an oracle fails to produce its rate set. */
79
+ export class RatesError extends Error {
80
+ name = 'FxOracle.RatesError';
81
+ constructor(oracle, options) {
82
+ super(`FX oracle "${oracle}" failed to produce rates`, options);
83
+ }
84
+ }
85
+ class ParseError extends Error {
86
+ name = 'FxOracle.ParseError';
87
+ constructor() {
88
+ super('Rate feed returned an unrecognized payload');
89
+ }
90
+ }
91
+ class ResponseError extends Error {
92
+ name = 'FxOracle.ResponseError';
93
+ constructor(status) {
94
+ super(`Rate feed request failed with status ${status}`);
95
+ }
96
+ }
97
+ //# sourceMappingURL=FxOracle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FxOracle.js","sourceRoot":"","sources":["../../../src/apps/data/FxOracle.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export { data } from './App.js';
2
2
  export * as FundingQuoteProviders from './FundingQuoteProviders.js';
3
+ export * as FxOracle from './FxOracle.js';
3
4
  export * as Sponsorships from '../relay/Sponsorships.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/apps/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/apps/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAA"}