tapimo 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (786) hide show
  1. package/README.md +10 -7
  2. package/dist/ApiKey.d.ts +3 -0
  3. package/dist/ApiKey.d.ts.map +1 -1
  4. package/dist/ApiKey.js +10 -0
  5. package/dist/ApiKey.js.map +1 -1
  6. package/dist/ApiKeys.d.ts +29 -8
  7. package/dist/ApiKeys.d.ts.map +1 -1
  8. package/dist/ApiKeys.js +24 -5
  9. package/dist/ApiKeys.js.map +1 -1
  10. package/dist/App.d.ts +20680 -15487
  11. package/dist/App.d.ts.map +1 -1
  12. package/dist/App.js +250 -129
  13. package/dist/App.js.map +1 -1
  14. package/dist/Assets.d.ts +10 -0
  15. package/dist/Assets.d.ts.map +1 -1
  16. package/dist/Assets.js +17 -4
  17. package/dist/Assets.js.map +1 -1
  18. package/dist/Scope.d.ts +19 -8
  19. package/dist/Scope.d.ts.map +1 -1
  20. package/dist/Scope.js +25 -9
  21. package/dist/Scope.js.map +1 -1
  22. package/dist/Webhooks.d.ts +1 -1
  23. package/dist/admin/App.d.ts +667 -76
  24. package/dist/admin/App.d.ts.map +1 -1
  25. package/dist/admin/App.js +12 -2
  26. package/dist/admin/App.js.map +1 -1
  27. package/dist/admin/apps/api-keys.d.ts +107 -11
  28. package/dist/admin/apps/api-keys.d.ts.map +1 -1
  29. package/dist/admin/apps/api-keys.js +145 -32
  30. package/dist/admin/apps/api-keys.js.map +1 -1
  31. package/dist/admin/apps/earn-vaults.d.ts +1069 -0
  32. package/dist/admin/apps/earn-vaults.d.ts.map +1 -0
  33. package/dist/admin/apps/earn-vaults.js +409 -0
  34. package/dist/admin/apps/earn-vaults.js.map +1 -0
  35. package/dist/admin/apps/organizations.d.ts +2 -0
  36. package/dist/admin/apps/organizations.d.ts.map +1 -1
  37. package/dist/admin/apps/verified-tokens.d.ts +74 -74
  38. package/dist/admin/ui.generated.d.ts +1 -1
  39. package/dist/admin/ui.generated.d.ts.map +1 -1
  40. package/dist/admin/ui.generated.js +99 -43
  41. package/dist/admin/ui.generated.js.map +1 -1
  42. package/dist/analytics/Analytics.d.ts +4 -0
  43. package/dist/analytics/Analytics.d.ts.map +1 -1
  44. package/dist/analytics/Analytics.js +21 -2
  45. package/dist/analytics/Analytics.js.map +1 -1
  46. package/dist/analytics/tables/requestEvents.d.ts +22 -1
  47. package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
  48. package/dist/analytics/tables/requestEvents.js +59 -39
  49. package/dist/analytics/tables/requestEvents.js.map +1 -1
  50. package/dist/apps/Zones.d.ts +8335 -0
  51. package/dist/apps/Zones.d.ts.map +1 -0
  52. package/dist/apps/Zones.js +38 -0
  53. package/dist/apps/Zones.js.map +1 -0
  54. package/dist/apps/data/App.d.ts +5666 -3934
  55. package/dist/apps/data/App.d.ts.map +1 -1
  56. package/dist/apps/data/App.js +90 -22
  57. package/dist/apps/data/App.js.map +1 -1
  58. package/dist/apps/data/FxOracle.d.ts +1 -1
  59. package/dist/apps/data/FxOracle.d.ts.map +1 -1
  60. package/dist/apps/data/index.d.ts +0 -1
  61. package/dist/apps/data/index.d.ts.map +1 -1
  62. package/dist/apps/data/index.js +0 -1
  63. package/dist/apps/data/index.js.map +1 -1
  64. package/dist/apps/data/routes/activities.d.ts +56 -56
  65. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  66. package/dist/apps/data/routes/activities.js +130 -65
  67. package/dist/apps/data/routes/activities.js.map +1 -1
  68. package/dist/apps/data/routes/addresses.d.ts +65 -65
  69. package/dist/apps/data/routes/balances.d.ts +14 -14
  70. package/dist/apps/data/routes/balances.js +5 -5
  71. package/dist/apps/data/routes/balances.js.map +1 -1
  72. package/dist/apps/data/routes/blocks.d.ts +39 -39
  73. package/dist/apps/data/routes/coingecko.d.ts +54 -54
  74. package/dist/apps/data/routes/coingecko.d.ts.map +1 -1
  75. package/dist/apps/data/routes/coingecko.js +62 -35
  76. package/dist/apps/data/routes/coingecko.js.map +1 -1
  77. package/dist/apps/data/routes/earn.d.ts +2574 -0
  78. package/dist/apps/data/routes/earn.d.ts.map +1 -0
  79. package/dist/apps/data/routes/earn.js +1574 -0
  80. package/dist/apps/data/routes/earn.js.map +1 -0
  81. package/dist/apps/data/routes/exchanges.d.ts +1626 -719
  82. package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
  83. package/dist/apps/data/routes/exchanges.js +656 -193
  84. package/dist/apps/data/routes/exchanges.js.map +1 -1
  85. package/dist/apps/data/routes/fee-amm.d.ts +108 -108
  86. package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
  87. package/dist/apps/data/routes/fee-amm.js +59 -8
  88. package/dist/apps/data/routes/fee-amm.js.map +1 -1
  89. package/dist/apps/data/routes/indexer.d.ts +35 -35
  90. package/dist/apps/data/routes/indexer.d.ts.map +1 -1
  91. package/dist/apps/data/routes/indexer.js +23 -3
  92. package/dist/apps/data/routes/indexer.js.map +1 -1
  93. package/dist/apps/data/routes/receipts.d.ts +33 -33
  94. package/dist/apps/data/routes/receipts.d.ts.map +1 -1
  95. package/dist/apps/data/routes/receipts.js +11 -11
  96. package/dist/apps/data/routes/receipts.js.map +1 -1
  97. package/dist/apps/data/routes/rpc.d.ts +6 -6
  98. package/dist/apps/data/routes/rpc.d.ts.map +1 -1
  99. package/dist/apps/data/routes/rpc.js +214 -22
  100. package/dist/apps/data/routes/rpc.js.map +1 -1
  101. package/dist/apps/data/routes/tokenlist.d.ts +1 -1
  102. package/dist/apps/data/routes/tokenlist.d.ts.map +1 -1
  103. package/dist/apps/data/routes/tokenlist.js +39 -8
  104. package/dist/apps/data/routes/tokenlist.js.map +1 -1
  105. package/dist/apps/data/routes/tokens.d.ts +115 -87
  106. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  107. package/dist/apps/data/routes/tokens.js +194 -91
  108. package/dist/apps/data/routes/tokens.js.map +1 -1
  109. package/dist/apps/data/routes/transactions.d.ts +54 -54
  110. package/dist/apps/data/routes/transactions.d.ts.map +1 -1
  111. package/dist/apps/data/routes/transactions.js +78 -39
  112. package/dist/apps/data/routes/transactions.js.map +1 -1
  113. package/dist/apps/data/routes/transfers.d.ts +76 -27
  114. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  115. package/dist/apps/data/routes/transfers.js +165 -67
  116. package/dist/apps/data/routes/transfers.js.map +1 -1
  117. package/dist/apps/data/routes/valuation.d.ts +42 -42
  118. package/dist/apps/data/routes/valuation.js +2 -2
  119. package/dist/apps/data/routes/valuation.js.map +1 -1
  120. package/dist/apps/data/routes/verified-tokens.d.ts +36 -36
  121. package/dist/apps/data/routes/webhooks.d.ts +370 -368
  122. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  123. package/dist/apps/data/routes/webhooks.js +161 -59
  124. package/dist/apps/data/routes/webhooks.js.map +1 -1
  125. package/dist/apps/data/routes/zones.d.ts +281 -0
  126. package/dist/apps/data/routes/zones.d.ts.map +1 -0
  127. package/dist/apps/data/routes/zones.js +252 -0
  128. package/dist/apps/data/routes/zones.js.map +1 -0
  129. package/dist/apps/docs/reference.js +6 -5
  130. package/dist/apps/docs/reference.js.map +1 -1
  131. package/dist/apps/funding/Access.d.ts +16 -0
  132. package/dist/apps/funding/Access.d.ts.map +1 -0
  133. package/dist/apps/funding/Access.js +22 -0
  134. package/dist/apps/funding/Access.js.map +1 -0
  135. package/dist/apps/funding/App.d.ts +3183 -0
  136. package/dist/apps/funding/App.d.ts.map +1 -0
  137. package/dist/apps/funding/App.js +46 -0
  138. package/dist/apps/funding/App.js.map +1 -0
  139. package/dist/apps/funding/Inventory.d.ts +5 -0
  140. package/dist/apps/funding/Inventory.d.ts.map +1 -0
  141. package/dist/apps/funding/Inventory.js +25 -0
  142. package/dist/apps/funding/Inventory.js.map +1 -0
  143. package/dist/apps/funding/ProviderAttempts.d.ts +5 -0
  144. package/dist/apps/funding/ProviderAttempts.d.ts.map +1 -0
  145. package/dist/apps/funding/ProviderAttempts.js +24 -0
  146. package/dist/apps/funding/ProviderAttempts.js.map +1 -0
  147. package/dist/apps/funding/index.d.ts +2 -0
  148. package/dist/apps/funding/index.d.ts.map +1 -0
  149. package/dist/apps/funding/index.js +2 -0
  150. package/dist/apps/funding/index.js.map +1 -0
  151. package/dist/apps/funding/routes/chains.d.ts +169 -0
  152. package/dist/apps/funding/routes/chains.d.ts.map +1 -0
  153. package/dist/apps/funding/routes/chains.js +80 -0
  154. package/dist/apps/funding/routes/chains.js.map +1 -0
  155. package/dist/apps/funding/routes/deposit-addresses.d.ts +2388 -0
  156. package/dist/apps/funding/routes/deposit-addresses.d.ts.map +1 -0
  157. package/dist/apps/funding/routes/deposit-addresses.js +860 -0
  158. package/dist/apps/funding/routes/deposit-addresses.js.map +1 -0
  159. package/dist/apps/funding/routes/providers.d.ts +91 -0
  160. package/dist/apps/funding/routes/providers.d.ts.map +1 -0
  161. package/dist/apps/funding/routes/providers.js +56 -0
  162. package/dist/apps/funding/routes/providers.js.map +1 -0
  163. package/dist/apps/{data/routes/funding.d.ts → funding/routes/quotes.d.ts} +26 -396
  164. package/dist/apps/funding/routes/quotes.d.ts.map +1 -0
  165. package/dist/apps/funding/routes/quotes.js +188 -0
  166. package/dist/apps/funding/routes/quotes.js.map +1 -0
  167. package/dist/apps/funding/routes/transfers.d.ts +1999 -0
  168. package/dist/apps/funding/routes/transfers.d.ts.map +1 -0
  169. package/dist/apps/funding/routes/transfers.js +614 -0
  170. package/dist/apps/funding/routes/transfers.js.map +1 -0
  171. package/dist/apps/index.d.ts +3 -1
  172. package/dist/apps/index.d.ts.map +1 -1
  173. package/dist/apps/index.js +3 -1
  174. package/dist/apps/index.js.map +1 -1
  175. package/dist/apps/management/App.d.ts +839 -574
  176. package/dist/apps/management/App.d.ts.map +1 -1
  177. package/dist/apps/management/Billing.d.ts +8 -0
  178. package/dist/apps/management/Billing.d.ts.map +1 -1
  179. package/dist/apps/management/Billing.js +12 -0
  180. package/dist/apps/management/Billing.js.map +1 -1
  181. package/dist/apps/management/Error.d.ts +12 -0
  182. package/dist/apps/management/Error.d.ts.map +1 -0
  183. package/dist/apps/management/Error.js +10 -0
  184. package/dist/apps/management/Error.js.map +1 -0
  185. package/dist/apps/management/routes/api-keys.d.ts +296 -19
  186. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  187. package/dist/apps/management/routes/api-keys.js +77 -9
  188. package/dist/apps/management/routes/api-keys.js.map +1 -1
  189. package/dist/apps/management/routes/billing.d.ts +119 -119
  190. package/dist/apps/management/routes/faucet.d.ts +35 -35
  191. package/dist/apps/management/routes/invitations.d.ts +17 -17
  192. package/dist/apps/management/routes/invitations.d.ts.map +1 -1
  193. package/dist/apps/management/routes/invitations.js +4 -10
  194. package/dist/apps/management/routes/invitations.js.map +1 -1
  195. package/dist/apps/management/routes/invite-links.d.ts +38 -38
  196. package/dist/apps/management/routes/me.d.ts +6 -6
  197. package/dist/apps/management/routes/members.d.ts +69 -69
  198. package/dist/apps/management/routes/orgs.d.ts +16 -16
  199. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  200. package/dist/apps/management/routes/orgs.js +2 -8
  201. package/dist/apps/management/routes/orgs.js.map +1 -1
  202. package/dist/apps/management/routes/projects.d.ts +19 -19
  203. package/dist/apps/management/routes/scopes.d.ts +1 -1
  204. package/dist/apps/management/routes/scopes.js +2 -2
  205. package/dist/apps/management/routes/scopes.js.map +1 -1
  206. package/dist/apps/management/routes/usage.d.ts +72 -72
  207. package/dist/apps/management/routes/verified-token-requests.d.ts +18 -18
  208. package/dist/apps/management/routes/webhooks.d.ts +122 -122
  209. package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
  210. package/dist/apps/management/routes/webhooks.js +15 -3
  211. package/dist/apps/management/routes/webhooks.js.map +1 -1
  212. package/dist/apps/mcp.d.ts +2 -3
  213. package/dist/apps/mcp.d.ts.map +1 -1
  214. package/dist/apps/mcp.js +16 -14
  215. package/dist/apps/mcp.js.map +1 -1
  216. package/dist/apps/metadata.d.ts +4 -0
  217. package/dist/apps/metadata.d.ts.map +1 -1
  218. package/dist/apps/metadata.js +10 -0
  219. package/dist/apps/metadata.js.map +1 -1
  220. package/dist/apps/mpp/App.d.ts +57 -58
  221. package/dist/apps/mpp/App.d.ts.map +1 -1
  222. package/dist/apps/mpp/App.js +192 -27
  223. package/dist/apps/mpp/App.js.map +1 -1
  224. package/dist/apps/mpp/Mpp.d.ts +0 -20
  225. package/dist/apps/mpp/Mpp.d.ts.map +1 -1
  226. package/dist/apps/mpp/Mpp.js +0 -24
  227. package/dist/apps/mpp/Mpp.js.map +1 -1
  228. package/dist/apps/mpp/internal/Adapter.d.ts +40 -0
  229. package/dist/apps/mpp/internal/Adapter.d.ts.map +1 -0
  230. package/dist/apps/mpp/internal/Adapter.js +66 -0
  231. package/dist/apps/mpp/internal/Adapter.js.map +1 -0
  232. package/dist/apps/mpp/internal/Error.d.ts +4 -0
  233. package/dist/apps/mpp/internal/Error.d.ts.map +1 -0
  234. package/dist/apps/mpp/internal/Error.js +41 -0
  235. package/dist/apps/mpp/internal/Error.js.map +1 -0
  236. package/dist/apps/mpp/internal/Idempotency.d.ts +33 -0
  237. package/dist/apps/mpp/internal/Idempotency.d.ts.map +1 -0
  238. package/dist/apps/mpp/internal/Idempotency.js +28 -0
  239. package/dist/apps/mpp/internal/Idempotency.js.map +1 -0
  240. package/dist/apps/mpp/internal/Policy.d.ts +46 -0
  241. package/dist/apps/mpp/internal/Policy.d.ts.map +1 -0
  242. package/dist/apps/mpp/internal/Policy.js +57 -0
  243. package/dist/apps/mpp/internal/Policy.js.map +1 -0
  244. package/dist/apps/mpp/internal/ScreenManager.d.ts +27 -0
  245. package/dist/apps/mpp/internal/ScreenManager.d.ts.map +1 -0
  246. package/dist/apps/mpp/internal/ScreenManager.js +18 -0
  247. package/dist/apps/mpp/internal/ScreenManager.js.map +1 -0
  248. package/dist/apps/mpp/internal/Screening.d.ts +35 -0
  249. package/dist/apps/mpp/internal/Screening.d.ts.map +1 -0
  250. package/dist/apps/mpp/internal/Screening.js +20 -0
  251. package/dist/apps/mpp/internal/Screening.js.map +1 -0
  252. package/dist/apps/mpp/internal/Sponsorship.d.ts +36 -0
  253. package/dist/apps/mpp/internal/Sponsorship.d.ts.map +1 -0
  254. package/dist/apps/mpp/internal/Sponsorship.js +103 -0
  255. package/dist/apps/mpp/internal/Sponsorship.js.map +1 -0
  256. package/dist/apps/mpp/internal/Utils.d.ts +7 -0
  257. package/dist/apps/mpp/internal/Utils.d.ts.map +1 -0
  258. package/dist/apps/mpp/internal/Utils.js +24 -0
  259. package/dist/apps/mpp/internal/Utils.js.map +1 -0
  260. package/dist/apps/relay/App.js +183 -23
  261. package/dist/apps/relay/App.js.map +1 -1
  262. package/dist/apps/relay/Sponsorships.d.ts +4 -0
  263. package/dist/apps/relay/Sponsorships.d.ts.map +1 -1
  264. package/dist/apps/relay/Sponsorships.js +15 -6
  265. package/dist/apps/relay/Sponsorships.js.map +1 -1
  266. package/dist/cloudflare.d.ts +50 -0
  267. package/dist/cloudflare.d.ts.map +1 -1
  268. package/dist/cloudflare.js +178 -0
  269. package/dist/cloudflare.js.map +1 -1
  270. package/dist/db/Db.d.ts +22 -0
  271. package/dist/db/Db.d.ts.map +1 -1
  272. package/dist/db/Db.js +379 -0
  273. package/dist/db/Db.js.map +1 -1
  274. package/dist/db/Schema.d.ts +933 -1
  275. package/dist/db/Schema.d.ts.map +1 -1
  276. package/dist/db/Schema.js +289 -1
  277. package/dist/db/Schema.js.map +1 -1
  278. package/dist/db/tables/earnVaults.d.ts +68 -0
  279. package/dist/db/tables/earnVaults.d.ts.map +1 -0
  280. package/dist/db/tables/earnVaults.js +72 -0
  281. package/dist/db/tables/earnVaults.js.map +1 -0
  282. package/dist/db/tables/fundingCatalog.d.ts +56 -0
  283. package/dist/db/tables/fundingCatalog.d.ts.map +1 -0
  284. package/dist/db/tables/fundingCatalog.js +85 -0
  285. package/dist/db/tables/fundingCatalog.js.map +1 -0
  286. package/dist/db/tables/fundingDepositAddresses.d.ts +172 -0
  287. package/dist/db/tables/fundingDepositAddresses.d.ts.map +1 -0
  288. package/dist/db/tables/fundingDepositAddresses.js +218 -0
  289. package/dist/db/tables/fundingDepositAddresses.js.map +1 -0
  290. package/dist/db/tables/fundingDepositRequestObservations.d.ts +45 -0
  291. package/dist/db/tables/fundingDepositRequestObservations.d.ts.map +1 -0
  292. package/dist/db/tables/fundingDepositRequestObservations.js +46 -0
  293. package/dist/db/tables/fundingDepositRequestObservations.js.map +1 -0
  294. package/dist/db/tables/fundingDeposits.d.ts +171 -0
  295. package/dist/db/tables/fundingDeposits.d.ts.map +1 -0
  296. package/dist/db/tables/fundingDeposits.js +182 -0
  297. package/dist/db/tables/fundingDeposits.js.map +1 -0
  298. package/dist/db/tables/fundingIdempotency.d.ts +91 -0
  299. package/dist/db/tables/fundingIdempotency.d.ts.map +1 -0
  300. package/dist/db/tables/fundingIdempotency.js +103 -0
  301. package/dist/db/tables/fundingIdempotency.js.map +1 -0
  302. package/dist/db/tables/fundingTransferEvents.d.ts +12 -0
  303. package/dist/db/tables/fundingTransferEvents.d.ts.map +1 -0
  304. package/dist/db/tables/fundingTransferEvents.js +18 -0
  305. package/dist/db/tables/fundingTransferEvents.js.map +1 -0
  306. package/dist/db/tables/fundingTransferTransactions.d.ts +15 -0
  307. package/dist/db/tables/fundingTransferTransactions.d.ts.map +1 -0
  308. package/dist/db/tables/fundingTransferTransactions.js +27 -0
  309. package/dist/db/tables/fundingTransferTransactions.js.map +1 -0
  310. package/dist/db/tables/fundingTransfers.d.ts +82 -0
  311. package/dist/db/tables/fundingTransfers.d.ts.map +1 -0
  312. package/dist/db/tables/fundingTransfers.js +89 -0
  313. package/dist/db/tables/fundingTransfers.js.map +1 -0
  314. package/dist/db/tables/organizations.d.ts +8 -0
  315. package/dist/db/tables/organizations.d.ts.map +1 -1
  316. package/dist/db/tables/organizations.js +16 -0
  317. package/dist/db/tables/organizations.js.map +1 -1
  318. package/dist/db/tables/projects.d.ts +8 -0
  319. package/dist/db/tables/projects.d.ts.map +1 -1
  320. package/dist/db/tables/projects.js +16 -0
  321. package/dist/db/tables/projects.js.map +1 -1
  322. package/dist/db/tables/requestUsage.d.ts +13 -0
  323. package/dist/db/tables/requestUsage.d.ts.map +1 -1
  324. package/dist/db/tables/requestUsage.js +16 -0
  325. package/dist/db/tables/requestUsage.js.map +1 -1
  326. package/dist/db/tables/sponsoredTransactions.d.ts +2 -2
  327. package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
  328. package/dist/db/tables/sponsoredTransactions.js +1 -1
  329. package/dist/db/tables/sponsoredTransactions.js.map +1 -1
  330. package/dist/db/tables/users.d.ts +8 -0
  331. package/dist/db/tables/users.d.ts.map +1 -1
  332. package/dist/db/tables/users.js +16 -0
  333. package/dist/db/tables/users.js.map +1 -1
  334. package/dist/db/tables/verifiedTokens.d.ts +14 -7
  335. package/dist/db/tables/verifiedTokens.d.ts.map +1 -1
  336. package/dist/db/tables/verifiedTokens.js +9 -7
  337. package/dist/db/tables/verifiedTokens.js.map +1 -1
  338. package/dist/db/tables/webhookSubscriptions.d.ts +31 -1
  339. package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
  340. package/dist/db/tables/webhookSubscriptions.js +24 -3
  341. package/dist/db/tables/webhookSubscriptions.js.map +1 -1
  342. package/dist/handlers/relay.js +108 -108
  343. package/dist/handlers/relay.js.map +1 -1
  344. package/dist/internal/Auth.d.ts +37 -11
  345. package/dist/internal/Auth.d.ts.map +1 -1
  346. package/dist/internal/Auth.js +75 -16
  347. package/dist/internal/Auth.js.map +1 -1
  348. package/dist/internal/Cache.d.ts.map +1 -1
  349. package/dist/internal/Cache.js +17 -11
  350. package/dist/internal/Cache.js.map +1 -1
  351. package/dist/internal/Cursor.js +1 -1
  352. package/dist/internal/Cursor.js.map +1 -1
  353. package/dist/internal/EarnRates.d.ts +89 -0
  354. package/dist/internal/EarnRates.d.ts.map +1 -0
  355. package/dist/internal/EarnRates.js +266 -0
  356. package/dist/internal/EarnRates.js.map +1 -0
  357. package/dist/internal/EarnVaults.d.ts +171 -0
  358. package/dist/internal/EarnVaults.d.ts.map +1 -0
  359. package/dist/internal/EarnVaults.js +547 -0
  360. package/dist/internal/EarnVaults.js.map +1 -0
  361. package/dist/internal/EdgeCache.d.ts +10 -3
  362. package/dist/internal/EdgeCache.d.ts.map +1 -1
  363. package/dist/internal/EdgeCache.js +43 -11
  364. package/dist/internal/EdgeCache.js.map +1 -1
  365. package/dist/internal/Id.d.ts +11 -0
  366. package/dist/internal/Id.d.ts.map +1 -1
  367. package/dist/internal/Id.js +13 -0
  368. package/dist/internal/Id.js.map +1 -1
  369. package/dist/internal/Idempotency.d.ts +83 -0
  370. package/dist/internal/Idempotency.d.ts.map +1 -0
  371. package/dist/internal/Idempotency.js +113 -0
  372. package/dist/internal/Idempotency.js.map +1 -0
  373. package/dist/internal/IpAllowlist.d.ts +15 -0
  374. package/dist/internal/IpAllowlist.d.ts.map +1 -0
  375. package/dist/internal/IpAllowlist.js +27 -0
  376. package/dist/internal/IpAllowlist.js.map +1 -0
  377. package/dist/internal/Log.d.ts +64 -9
  378. package/dist/internal/Log.d.ts.map +1 -1
  379. package/dist/internal/Log.js +29 -7
  380. package/dist/internal/Log.js.map +1 -1
  381. package/dist/internal/MetricSink.d.ts.map +1 -1
  382. package/dist/internal/MetricSink.js +47 -1
  383. package/dist/internal/MetricSink.js.map +1 -1
  384. package/dist/internal/OpenApi.d.ts +2 -2
  385. package/dist/internal/OpenApi.d.ts.map +1 -1
  386. package/dist/internal/OpenApi.js +4 -1
  387. package/dist/internal/OpenApi.js.map +1 -1
  388. package/dist/internal/Provider.d.ts +14 -0
  389. package/dist/internal/Provider.d.ts.map +1 -0
  390. package/dist/internal/Provider.js +5 -0
  391. package/dist/internal/Provider.js.map +1 -0
  392. package/dist/internal/Schema.d.ts +6 -1
  393. package/dist/internal/Schema.d.ts.map +1 -1
  394. package/dist/internal/Schema.js +20 -11
  395. package/dist/internal/Schema.js.map +1 -1
  396. package/dist/internal/Store.d.ts +6 -0
  397. package/dist/internal/Store.d.ts.map +1 -1
  398. package/dist/internal/Store.js +35 -0
  399. package/dist/internal/Store.js.map +1 -1
  400. package/dist/internal/Tidx.d.ts +49 -24
  401. package/dist/internal/Tidx.d.ts.map +1 -1
  402. package/dist/internal/Tidx.js +90 -12
  403. package/dist/internal/Tidx.js.map +1 -1
  404. package/dist/internal/Viem.d.ts +90 -65
  405. package/dist/internal/Viem.d.ts.map +1 -1
  406. package/dist/internal/Viem.js +90 -12
  407. package/dist/internal/Viem.js.map +1 -1
  408. package/dist/internal/WebhookDestination.d.ts.map +1 -1
  409. package/dist/internal/WebhookDestination.js +34 -28
  410. package/dist/internal/WebhookDestination.js.map +1 -1
  411. package/dist/internal/Webhooks.d.ts +9 -0
  412. package/dist/internal/Webhooks.d.ts.map +1 -1
  413. package/dist/internal/Webhooks.js +15 -10
  414. package/dist/internal/Webhooks.js.map +1 -1
  415. package/dist/internal/exchange/Provider.d.ts +219 -0
  416. package/dist/internal/exchange/Provider.d.ts.map +1 -0
  417. package/dist/internal/exchange/Provider.js +117 -0
  418. package/dist/internal/exchange/Provider.js.map +1 -0
  419. package/dist/internal/exchange/index.d.ts +2 -0
  420. package/dist/internal/exchange/index.d.ts.map +1 -0
  421. package/dist/internal/exchange/index.js +2 -0
  422. package/dist/internal/exchange/index.js.map +1 -0
  423. package/dist/internal/exchange/providers/uniswap.d.ts +57 -0
  424. package/dist/internal/exchange/providers/uniswap.d.ts.map +1 -0
  425. package/dist/internal/exchange/providers/uniswap.js +553 -0
  426. package/dist/internal/exchange/providers/uniswap.js.map +1 -0
  427. package/dist/internal/funding/Action.d.ts +55 -0
  428. package/dist/internal/funding/Action.d.ts.map +1 -0
  429. package/dist/internal/funding/Action.js +74 -0
  430. package/dist/internal/funding/Action.js.map +1 -0
  431. package/dist/internal/funding/Catalog.d.ts +107 -0
  432. package/dist/internal/funding/Catalog.d.ts.map +1 -0
  433. package/dist/internal/funding/Catalog.js +270 -0
  434. package/dist/internal/funding/Catalog.js.map +1 -0
  435. package/dist/internal/funding/Chain.d.ts +76 -0
  436. package/dist/internal/funding/Chain.d.ts.map +1 -0
  437. package/dist/internal/funding/Chain.js +38 -0
  438. package/dist/internal/funding/Chain.js.map +1 -0
  439. package/dist/internal/funding/Deposit.d.ts +408 -0
  440. package/dist/internal/funding/Deposit.d.ts.map +1 -0
  441. package/dist/internal/funding/Deposit.js +318 -0
  442. package/dist/internal/funding/Deposit.js.map +1 -0
  443. package/dist/internal/funding/DepositAddress.d.ts +345 -0
  444. package/dist/internal/funding/DepositAddress.d.ts.map +1 -0
  445. package/dist/internal/funding/DepositAddress.js +189 -0
  446. package/dist/internal/funding/DepositAddress.js.map +1 -0
  447. package/dist/internal/funding/Evidence.d.ts +48 -0
  448. package/dist/internal/funding/Evidence.d.ts.map +1 -0
  449. package/dist/internal/funding/Evidence.js +315 -0
  450. package/dist/internal/funding/Evidence.js.map +1 -0
  451. package/dist/internal/funding/Provider.d.ts +1288 -0
  452. package/dist/internal/funding/Provider.d.ts.map +1 -0
  453. package/dist/internal/funding/Provider.js +1086 -0
  454. package/dist/internal/funding/Provider.js.map +1 -0
  455. package/dist/internal/funding/Reconciliation.d.ts +127 -0
  456. package/dist/internal/funding/Reconciliation.d.ts.map +1 -0
  457. package/dist/internal/funding/Reconciliation.js +885 -0
  458. package/dist/internal/funding/Reconciliation.js.map +1 -0
  459. package/dist/internal/funding/Route.d.ts +21 -0
  460. package/dist/internal/funding/Route.d.ts.map +1 -0
  461. package/dist/internal/funding/Route.js +5 -0
  462. package/dist/internal/funding/Route.js.map +1 -0
  463. package/dist/internal/funding/SourceObservation.d.ts +108 -0
  464. package/dist/internal/funding/SourceObservation.d.ts.map +1 -0
  465. package/dist/internal/funding/SourceObservation.js +143 -0
  466. package/dist/internal/funding/SourceObservation.js.map +1 -0
  467. package/dist/internal/funding/Subsidy.d.ts +113 -0
  468. package/dist/internal/funding/Subsidy.d.ts.map +1 -0
  469. package/dist/internal/funding/Subsidy.js +138 -0
  470. package/dist/internal/funding/Subsidy.js.map +1 -0
  471. package/dist/internal/funding/Token.d.ts +41 -0
  472. package/dist/internal/funding/Token.d.ts.map +1 -0
  473. package/dist/internal/funding/Token.js +22 -0
  474. package/dist/internal/funding/Token.js.map +1 -0
  475. package/dist/internal/funding/Transfer.d.ts +643 -0
  476. package/dist/internal/funding/Transfer.d.ts.map +1 -0
  477. package/dist/internal/funding/Transfer.js +332 -0
  478. package/dist/internal/funding/Transfer.js.map +1 -0
  479. package/dist/internal/funding/index.d.ts +14 -0
  480. package/dist/internal/funding/index.d.ts.map +1 -0
  481. package/dist/internal/funding/index.js +14 -0
  482. package/dist/internal/funding/index.js.map +1 -0
  483. package/dist/internal/funding/providers/across.d.ts +21 -0
  484. package/dist/internal/funding/providers/across.d.ts.map +1 -0
  485. package/dist/internal/funding/providers/across.js +117 -0
  486. package/dist/internal/funding/providers/across.js.map +1 -0
  487. package/dist/internal/funding/providers/relay.d.ts +88 -0
  488. package/dist/internal/funding/providers/relay.d.ts.map +1 -0
  489. package/dist/internal/funding/providers/relay.js +871 -0
  490. package/dist/internal/funding/providers/relay.js.map +1 -0
  491. package/dist/internal/funding/providers/rhino.d.ts +15 -0
  492. package/dist/internal/funding/providers/rhino.d.ts.map +1 -0
  493. package/dist/internal/funding/providers/rhino.js +116 -0
  494. package/dist/internal/funding/providers/rhino.js.map +1 -0
  495. package/dist/internal/funding/providers/squid.d.ts +19 -0
  496. package/dist/internal/funding/providers/squid.d.ts.map +1 -0
  497. package/dist/internal/funding/providers/squid.js +120 -0
  498. package/dist/internal/funding/providers/squid.js.map +1 -0
  499. package/dist/internal/funding/providers/symbiosis.d.ts +20 -0
  500. package/dist/internal/funding/providers/symbiosis.d.ts.map +1 -0
  501. package/dist/internal/funding/providers/symbiosis.js +176 -0
  502. package/dist/internal/funding/providers/symbiosis.js.map +1 -0
  503. package/dist/internal/index.d.ts +5 -1
  504. package/dist/internal/index.d.ts.map +1 -1
  505. package/dist/internal/index.js +5 -1
  506. package/dist/internal/index.js.map +1 -1
  507. package/dist/internal/webhookDestinations/url.js +61 -57
  508. package/dist/internal/webhookDestinations/url.js.map +1 -1
  509. package/dist/providers/index.d.ts +43 -0
  510. package/dist/providers/index.d.ts.map +1 -0
  511. package/dist/providers/index.js +19 -0
  512. package/dist/providers/index.js.map +1 -0
  513. package/package.json +10 -5
  514. package/src/ApiKey.test.ts +35 -0
  515. package/src/ApiKey.ts +27 -0
  516. package/src/ApiKeys.test.ts +40 -7
  517. package/src/ApiKeys.ts +46 -10
  518. package/src/App.test.ts +108 -15
  519. package/src/App.ts +296 -138
  520. package/src/Assets.ts +29 -4
  521. package/src/Client.test-d.ts +809 -37
  522. package/src/Scope.test.ts +19 -0
  523. package/src/Scope.ts +28 -11
  524. package/src/Webhooks.test.ts +25 -0
  525. package/src/Webhooks.ts +1 -1
  526. package/src/admin/App.test.ts +9 -2
  527. package/src/admin/App.ts +32 -9
  528. package/src/admin/apps/api-keys.test.ts +190 -22
  529. package/src/admin/apps/api-keys.ts +170 -28
  530. package/src/admin/apps/earn-vaults.test.ts +338 -0
  531. package/src/admin/apps/earn-vaults.ts +572 -0
  532. package/src/admin/apps/scopes.test.ts +16 -1
  533. package/src/admin/ui/plugin.ts +2 -2
  534. package/src/admin/ui/src/components/EarnVaultForm.tsx +137 -0
  535. package/src/admin/ui/src/components/MobileProfile.tsx +2 -2
  536. package/src/admin/ui/src/components/Page.tsx +1 -1
  537. package/src/admin/ui/src/components/ThemeToggle.tsx +1 -1
  538. package/src/admin/ui/src/lib/api-keys.ts +37 -7
  539. package/src/admin/ui/src/lib/client.ts +1 -1
  540. package/src/admin/ui/src/lib/config.ts +1 -1
  541. package/src/admin/ui/src/lib/early-access.ts +8 -9
  542. package/src/admin/ui/src/lib/earn-vaults.ts +207 -0
  543. package/src/admin/ui/src/lib/format.ts +13 -0
  544. package/src/admin/ui/src/lib/organizations.test.ts +14 -4
  545. package/src/admin/ui/src/lib/organizations.ts +7 -1
  546. package/src/admin/ui/src/lib/response.ts +22 -0
  547. package/src/admin/ui/src/lib/scopes.test.ts +19 -11
  548. package/src/admin/ui/src/lib/scopes.ts +28 -7
  549. package/src/admin/ui/src/lib/verified-tokens.ts +10 -9
  550. package/src/admin/ui/src/routeTree.gen.ts +70 -7
  551. package/src/admin/ui/src/router.tsx +2 -2
  552. package/src/admin/ui/src/routes/__root.tsx +9 -8
  553. package/src/admin/ui/src/routes/api-keys.tsx +475 -64
  554. package/src/admin/ui/src/routes/early-access.tsx +5 -12
  555. package/src/admin/ui/src/routes/earn.vaults.tsx +348 -0
  556. package/src/admin/ui/src/routes/earn.vaults_.$vaultId.edit.tsx +154 -0
  557. package/src/admin/ui/src/routes/earn.vaults_.new.tsx +190 -0
  558. package/src/admin/ui/src/routes/organizations.tsx +4 -7
  559. package/src/admin/ui/src/routes/organizations_.$orgId.tsx +56 -54
  560. package/src/admin/ui/src/routes/verified-tokens.tsx +4 -4
  561. package/src/admin/ui/vite.config.ts +4 -1
  562. package/src/admin/ui.generated.ts +113 -43
  563. package/src/analytics/Analytics.test.ts +69 -10
  564. package/src/analytics/Analytics.ts +24 -1
  565. package/src/analytics/tables/requestEvents.ts +79 -37
  566. package/src/apps/Zones.test.ts +33 -0
  567. package/src/apps/Zones.ts +40 -0
  568. package/src/apps/composition.test.ts +184 -3
  569. package/src/apps/data/App.test.ts +28 -23
  570. package/src/apps/data/App.ts +95 -36
  571. package/src/apps/data/FxOracle.ts +1 -1
  572. package/src/apps/data/index.ts +0 -1
  573. package/src/apps/data/routes/activities.test.ts +82 -6
  574. package/src/apps/data/routes/activities.ts +131 -71
  575. package/src/apps/data/routes/balances.test.ts +50 -37
  576. package/src/apps/data/routes/balances.ts +5 -5
  577. package/src/apps/data/routes/blocks.test.ts +2 -0
  578. package/src/apps/data/routes/coingecko.test.ts +22 -0
  579. package/src/apps/data/routes/coingecko.ts +84 -48
  580. package/src/apps/data/routes/earn.test.ts +1391 -0
  581. package/src/apps/data/routes/earn.ts +2188 -0
  582. package/src/apps/data/routes/exchanges.test.ts +82 -33
  583. package/src/apps/data/routes/exchanges.ts +842 -227
  584. package/src/apps/data/routes/fee-amm.test.ts +4 -6
  585. package/src/apps/data/routes/fee-amm.ts +69 -12
  586. package/src/apps/data/routes/indexer.test.ts +43 -34
  587. package/src/apps/data/routes/indexer.ts +21 -3
  588. package/src/apps/data/routes/receipts.test.ts +5 -3
  589. package/src/apps/data/routes/receipts.ts +13 -11
  590. package/src/apps/data/routes/rpc.test.ts +446 -28
  591. package/src/apps/data/routes/rpc.ts +245 -25
  592. package/src/apps/data/routes/tokenlist.ts +72 -19
  593. package/src/apps/data/routes/tokens.test.ts +6 -8
  594. package/src/apps/data/routes/tokens.ts +258 -86
  595. package/src/apps/data/routes/transactions.test.ts +2 -0
  596. package/src/apps/data/routes/transactions.ts +77 -42
  597. package/src/apps/data/routes/transfers.test.ts +166 -4
  598. package/src/apps/data/routes/transfers.ts +216 -78
  599. package/src/apps/data/routes/valuation.test.ts +62 -9
  600. package/src/apps/data/routes/valuation.ts +2 -2
  601. package/src/apps/data/routes/webhooks.test.ts +386 -43
  602. package/src/apps/data/routes/webhooks.ts +172 -71
  603. package/src/apps/data/routes/zones.test.ts +473 -0
  604. package/src/apps/data/routes/zones.ts +338 -0
  605. package/src/apps/docs/reference.ts +8 -6
  606. package/src/apps/funding/Access.ts +26 -0
  607. package/src/apps/funding/App.test.ts +78 -0
  608. package/src/apps/funding/App.ts +63 -0
  609. package/src/apps/funding/Inventory.ts +30 -0
  610. package/src/apps/funding/ProviderAttempts.ts +26 -0
  611. package/src/apps/funding/index.ts +1 -0
  612. package/src/apps/funding/routes/chains.test.ts +78 -0
  613. package/src/apps/funding/routes/chains.ts +101 -0
  614. package/src/apps/funding/routes/deposit-addresses.test.ts +1628 -0
  615. package/src/apps/funding/routes/deposit-addresses.ts +1015 -0
  616. package/src/apps/funding/routes/providers.test.ts +165 -0
  617. package/src/apps/funding/routes/providers.ts +73 -0
  618. package/src/apps/funding/routes/quotes.test.ts +511 -0
  619. package/src/apps/funding/routes/quotes.ts +205 -0
  620. package/src/apps/funding/routes/transfers.test.ts +1255 -0
  621. package/src/apps/funding/routes/transfers.ts +704 -0
  622. package/src/apps/index.ts +3 -1
  623. package/src/apps/management/Billing.test.ts +29 -0
  624. package/src/apps/management/Billing.ts +23 -0
  625. package/src/apps/management/Error.ts +12 -0
  626. package/src/apps/management/routes/api-keys.test.ts +103 -3
  627. package/src/apps/management/routes/api-keys.ts +98 -10
  628. package/src/apps/management/routes/invitations.ts +4 -11
  629. package/src/apps/management/routes/orgs.ts +2 -9
  630. package/src/apps/management/routes/scopes.test.ts +7 -2
  631. package/src/apps/management/routes/scopes.ts +2 -2
  632. package/src/apps/management/routes/webhooks.test.ts +6 -1
  633. package/src/apps/management/routes/webhooks.ts +15 -3
  634. package/src/apps/mcp.test.ts +17 -2
  635. package/src/apps/mcp.ts +18 -13
  636. package/src/apps/metadata.ts +12 -0
  637. package/src/apps/mpp/App.ts +276 -29
  638. package/src/apps/mpp/Mpp.test.ts +631 -26
  639. package/src/apps/mpp/Mpp.ts +0 -42
  640. package/src/apps/mpp/internal/Adapter.ts +108 -3
  641. package/src/apps/mpp/internal/Error.test.ts +33 -0
  642. package/src/apps/mpp/internal/Error.ts +44 -6
  643. package/src/apps/mpp/internal/Idempotency.test.ts +213 -0
  644. package/src/apps/mpp/internal/Idempotency.ts +59 -5
  645. package/src/apps/mpp/internal/Policy.test.ts +128 -0
  646. package/src/apps/mpp/internal/Policy.ts +98 -0
  647. package/src/apps/mpp/internal/ScreenManager.test.ts +68 -0
  648. package/src/apps/mpp/internal/ScreenManager.ts +41 -0
  649. package/src/apps/mpp/internal/Screening.ts +40 -3
  650. package/src/apps/mpp/internal/Sponsorship.ts +144 -0
  651. package/src/apps/mpp/internal/Utils.ts +30 -0
  652. package/src/apps/relay/App.test.ts +493 -62
  653. package/src/apps/relay/App.ts +233 -23
  654. package/src/apps/relay/Sponsorships.test.ts +49 -0
  655. package/src/apps/relay/Sponsorships.ts +18 -6
  656. package/src/cloudflare.ts +279 -0
  657. package/src/db/Db.ts +501 -0
  658. package/src/db/Schema.ts +349 -2
  659. package/src/db/tables/earnVaults.test.ts +185 -0
  660. package/src/db/tables/earnVaults.ts +151 -0
  661. package/src/db/tables/fundingCatalog.test.ts +108 -0
  662. package/src/db/tables/fundingCatalog.ts +157 -0
  663. package/src/db/tables/fundingDepositAddresses.test.ts +580 -0
  664. package/src/db/tables/fundingDepositAddresses.ts +404 -0
  665. package/src/db/tables/fundingDepositRequestObservations.test.ts +106 -0
  666. package/src/db/tables/fundingDepositRequestObservations.ts +99 -0
  667. package/src/db/tables/fundingDeposits.test.ts +399 -0
  668. package/src/db/tables/fundingDeposits.ts +373 -0
  669. package/src/db/tables/fundingIdempotency.test.ts +182 -0
  670. package/src/db/tables/fundingIdempotency.ts +180 -0
  671. package/src/db/tables/fundingTransferEvents.ts +28 -0
  672. package/src/db/tables/fundingTransferTransactions.test.ts +69 -0
  673. package/src/db/tables/fundingTransferTransactions.ts +37 -0
  674. package/src/db/tables/fundingTransfers.test.ts +89 -0
  675. package/src/db/tables/fundingTransfers.ts +153 -0
  676. package/src/db/tables/organizations.ts +16 -0
  677. package/src/db/tables/projects.ts +16 -0
  678. package/src/db/tables/requestUsage.ts +23 -0
  679. package/src/db/tables/sponsoredTransactions.test.ts +11 -0
  680. package/src/db/tables/sponsoredTransactions.ts +3 -3
  681. package/src/db/tables/users.ts +16 -0
  682. package/src/db/tables/verifiedTokens.ts +19 -14
  683. package/src/db/tables/webhookSubscriptions.ts +58 -3
  684. package/src/handlers/relay.test.ts +2 -0
  685. package/src/handlers/relay.ts +95 -99
  686. package/src/internal/Auth.test.ts +225 -5
  687. package/src/internal/Auth.ts +109 -20
  688. package/src/internal/Cache.test.ts +37 -3
  689. package/src/internal/Cache.ts +14 -10
  690. package/src/internal/Cursor.test.ts +2 -2
  691. package/src/internal/Cursor.ts +1 -1
  692. package/src/internal/EarnRates.test.ts +125 -0
  693. package/src/internal/EarnRates.ts +409 -0
  694. package/src/internal/EarnVaults.test.ts +195 -0
  695. package/src/internal/EarnVaults.ts +876 -0
  696. package/src/internal/EdgeCache.test.ts +26 -7
  697. package/src/internal/EdgeCache.ts +48 -9
  698. package/src/internal/Id.ts +14 -0
  699. package/src/internal/Idempotency.test.ts +109 -0
  700. package/src/internal/Idempotency.ts +237 -0
  701. package/src/internal/IpAllowlist.test.ts +52 -0
  702. package/src/internal/IpAllowlist.ts +39 -0
  703. package/src/internal/Log.test-d.ts +41 -8
  704. package/src/internal/Log.test.ts +196 -9
  705. package/src/internal/Log.ts +124 -17
  706. package/src/internal/MetricSink.test.ts +244 -4
  707. package/src/internal/MetricSink.ts +51 -1
  708. package/src/internal/OpenApi.ts +4 -1
  709. package/src/internal/Provider.test.ts +17 -0
  710. package/src/internal/Provider.ts +17 -0
  711. package/src/internal/Schema.ts +27 -17
  712. package/src/internal/Store.test.ts +25 -0
  713. package/src/internal/Store.ts +46 -0
  714. package/src/internal/Tidx.local.test.ts +78 -3
  715. package/src/internal/Tidx.test.ts +240 -18
  716. package/src/internal/Tidx.ts +129 -33
  717. package/src/internal/VerifiedTokens.test.ts +15 -0
  718. package/src/internal/Viem.test.ts +198 -17
  719. package/src/internal/Viem.ts +127 -28
  720. package/src/internal/WebhookDestination.ts +25 -23
  721. package/src/internal/Webhooks.test.ts +59 -0
  722. package/src/internal/Webhooks.ts +34 -10
  723. package/src/internal/exchange/Provider.test.ts +216 -0
  724. package/src/internal/exchange/Provider.ts +326 -0
  725. package/src/internal/exchange/index.test.ts +6 -0
  726. package/src/internal/exchange/index.ts +1 -0
  727. package/src/internal/exchange/providers/uniswap.test.ts +122 -0
  728. package/src/internal/exchange/providers/uniswap.ts +682 -0
  729. package/src/internal/funding/Action.test.ts +138 -0
  730. package/src/internal/funding/Action.ts +117 -0
  731. package/src/internal/funding/Catalog.test.ts +311 -0
  732. package/src/internal/funding/Catalog.ts +347 -0
  733. package/src/internal/funding/Chain.test.ts +79 -0
  734. package/src/internal/funding/Chain.ts +120 -0
  735. package/src/internal/funding/Deposit.test.ts +26 -0
  736. package/src/internal/funding/Deposit.ts +522 -0
  737. package/src/internal/funding/DepositAddress.test.ts +18 -0
  738. package/src/internal/funding/DepositAddress.ts +312 -0
  739. package/src/internal/funding/Evidence.test.ts +297 -0
  740. package/src/internal/funding/Evidence.ts +425 -0
  741. package/src/internal/funding/Provider.test.ts +1328 -0
  742. package/src/internal/funding/Provider.ts +1911 -0
  743. package/src/internal/funding/Reconciliation.local.test.ts +511 -0
  744. package/src/internal/funding/Reconciliation.test.ts +3037 -0
  745. package/src/internal/funding/Reconciliation.ts +1202 -0
  746. package/src/internal/funding/Route.test.ts +66 -0
  747. package/src/internal/funding/Route.ts +29 -0
  748. package/src/internal/funding/SourceObservation.test.ts +301 -0
  749. package/src/internal/funding/SourceObservation.ts +267 -0
  750. package/src/internal/funding/Subsidy.local.test.ts +152 -0
  751. package/src/internal/funding/Subsidy.test.ts +75 -0
  752. package/src/internal/funding/Subsidy.ts +260 -0
  753. package/src/internal/funding/Token.test.ts +47 -0
  754. package/src/internal/funding/Token.ts +59 -0
  755. package/src/internal/funding/Transfer.test.ts +369 -0
  756. package/src/internal/funding/Transfer.ts +522 -0
  757. package/src/internal/funding/index.test.ts +21 -0
  758. package/src/internal/funding/index.ts +13 -0
  759. package/src/internal/funding/providers/across.ts +149 -0
  760. package/src/{apps/data/FundingQuoteProviders.test.ts → internal/funding/providers/index.test.ts} +178 -157
  761. package/src/internal/funding/providers/relay.test.ts +564 -0
  762. package/src/internal/funding/providers/relay.ts +1060 -0
  763. package/src/internal/funding/providers/rhino.ts +139 -0
  764. package/src/internal/funding/providers/squid.ts +151 -0
  765. package/src/internal/funding/providers/symbiosis.ts +221 -0
  766. package/src/internal/index.test.ts +5 -1
  767. package/src/internal/index.ts +5 -1
  768. package/src/internal/webhookDestinations/url.ts +49 -45
  769. package/src/providers/index.test.ts +14 -0
  770. package/src/providers/index.ts +54 -0
  771. package/dist/apps/data/FundingQuoteProviders.d.ts +0 -174
  772. package/dist/apps/data/FundingQuoteProviders.d.ts.map +0 -1
  773. package/dist/apps/data/FundingQuoteProviders.js +0 -775
  774. package/dist/apps/data/FundingQuoteProviders.js.map +0 -1
  775. package/dist/apps/data/routes/funding.d.ts.map +0 -1
  776. package/dist/apps/data/routes/funding.js +0 -410
  777. package/dist/apps/data/routes/funding.js.map +0 -1
  778. package/dist/internal/FundingQuotes.d.ts +0 -864
  779. package/dist/internal/FundingQuotes.d.ts.map +0 -1
  780. package/dist/internal/FundingQuotes.js +0 -672
  781. package/dist/internal/FundingQuotes.js.map +0 -1
  782. package/src/apps/data/FundingQuoteProviders.ts +0 -1043
  783. package/src/apps/data/routes/funding.test.ts +0 -503
  784. package/src/apps/data/routes/funding.ts +0 -604
  785. package/src/internal/FundingQuotes.test.ts +0 -456
  786. package/src/internal/FundingQuotes.ts +0 -944
@@ -228,14 +228,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
228
228
  } | {
229
229
  output: {
230
230
  error: {
231
- code: "api_key_malformed";
231
+ code: "upstream_error";
232
232
  details?: readonly Response.error.Detail[] | undefined;
233
233
  message: string;
234
234
  };
235
235
  requestId: string;
236
236
  };
237
237
  outputFormat: "json";
238
- status: 400;
238
+ status: 502;
239
239
  input: {
240
240
  param: {
241
241
  chainId: string;
@@ -244,14 +244,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
244
244
  } | {
245
245
  output: {
246
246
  error: {
247
- code: "api_key_invalid" | "api_key_missing";
247
+ code: "api_key_malformed";
248
248
  details?: readonly Response.error.Detail[] | undefined;
249
249
  message: string;
250
250
  };
251
251
  requestId: string;
252
252
  };
253
253
  outputFormat: "json";
254
- status: 401;
254
+ status: 400;
255
255
  input: {
256
256
  param: {
257
257
  chainId: string;
@@ -260,14 +260,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
260
260
  } | {
261
261
  output: {
262
262
  error: {
263
- code: "api_key_forbidden";
263
+ code: "api_key_invalid" | "api_key_missing";
264
264
  details?: readonly Response.error.Detail[] | undefined;
265
265
  message: string;
266
266
  };
267
267
  requestId: string;
268
268
  };
269
269
  outputFormat: "json";
270
- status: 403;
270
+ status: 401;
271
271
  input: {
272
272
  param: {
273
273
  chainId: string;
@@ -276,14 +276,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
276
276
  } | {
277
277
  output: {
278
278
  error: {
279
- code: "payment_required" | "rate_limit_exceeded";
279
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
280
280
  details?: readonly Response.error.Detail[] | undefined;
281
281
  message: string;
282
282
  };
283
283
  requestId: string;
284
284
  };
285
285
  outputFormat: "json";
286
- status: 429;
286
+ status: 403;
287
287
  input: {
288
288
  param: {
289
289
  chainId: string;
@@ -292,14 +292,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
292
292
  } | {
293
293
  output: {
294
294
  error: {
295
- code: "upstream_error";
295
+ code: "payment_required" | "rate_limit_exceeded";
296
296
  details?: readonly Response.error.Detail[] | undefined;
297
297
  message: string;
298
298
  };
299
299
  requestId: string;
300
300
  };
301
301
  outputFormat: "json";
302
- status: 502;
302
+ status: 429;
303
303
  input: {
304
304
  param: {
305
305
  chainId: string;
@@ -368,14 +368,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
368
368
  } | {
369
369
  output: {
370
370
  error: {
371
- code: "api_key_malformed";
371
+ code: "upstream_error";
372
372
  details?: readonly Response.error.Detail[] | undefined;
373
373
  message: string;
374
374
  };
375
375
  requestId: string;
376
376
  };
377
377
  outputFormat: "json";
378
- status: 400;
378
+ status: 502;
379
379
  input: {
380
380
  param: {
381
381
  chainId: string;
@@ -385,14 +385,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
385
385
  } | {
386
386
  output: {
387
387
  error: {
388
- code: "api_key_invalid" | "api_key_missing";
388
+ code: "api_key_malformed";
389
389
  details?: readonly Response.error.Detail[] | undefined;
390
390
  message: string;
391
391
  };
392
392
  requestId: string;
393
393
  };
394
394
  outputFormat: "json";
395
- status: 401;
395
+ status: 400;
396
396
  input: {
397
397
  param: {
398
398
  chainId: string;
@@ -402,14 +402,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
402
402
  } | {
403
403
  output: {
404
404
  error: {
405
- code: "api_key_forbidden";
405
+ code: "api_key_invalid" | "api_key_missing";
406
406
  details?: readonly Response.error.Detail[] | undefined;
407
407
  message: string;
408
408
  };
409
409
  requestId: string;
410
410
  };
411
411
  outputFormat: "json";
412
- status: 403;
412
+ status: 401;
413
413
  input: {
414
414
  param: {
415
415
  chainId: string;
@@ -419,14 +419,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
419
419
  } | {
420
420
  output: {
421
421
  error: {
422
- code: "payment_required" | "rate_limit_exceeded";
422
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
423
423
  details?: readonly Response.error.Detail[] | undefined;
424
424
  message: string;
425
425
  };
426
426
  requestId: string;
427
427
  };
428
428
  outputFormat: "json";
429
- status: 429;
429
+ status: 403;
430
430
  input: {
431
431
  param: {
432
432
  chainId: string;
@@ -436,14 +436,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
436
436
  } | {
437
437
  output: {
438
438
  error: {
439
- code: "upstream_error";
439
+ code: "payment_required" | "rate_limit_exceeded";
440
440
  details?: readonly Response.error.Detail[] | undefined;
441
441
  message: string;
442
442
  };
443
443
  requestId: string;
444
444
  };
445
445
  outputFormat: "json";
446
- status: 502;
446
+ status: 429;
447
447
  input: {
448
448
  param: {
449
449
  chainId: string;
@@ -522,14 +522,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
522
522
  } | {
523
523
  output: {
524
524
  error: {
525
- code: "api_key_malformed";
525
+ code: "upstream_error";
526
526
  details?: readonly Response.error.Detail[] | undefined;
527
527
  message: string;
528
528
  };
529
529
  requestId: string;
530
530
  };
531
531
  outputFormat: "json";
532
- status: 400;
532
+ status: 502;
533
533
  input: {
534
534
  param: {
535
535
  chainId: string;
@@ -542,14 +542,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
542
542
  } | {
543
543
  output: {
544
544
  error: {
545
- code: "api_key_invalid" | "api_key_missing";
545
+ code: "api_key_malformed";
546
546
  details?: readonly Response.error.Detail[] | undefined;
547
547
  message: string;
548
548
  };
549
549
  requestId: string;
550
550
  };
551
551
  outputFormat: "json";
552
- status: 401;
552
+ status: 400;
553
553
  input: {
554
554
  param: {
555
555
  chainId: string;
@@ -562,14 +562,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
562
562
  } | {
563
563
  output: {
564
564
  error: {
565
- code: "api_key_forbidden";
565
+ code: "api_key_invalid" | "api_key_missing";
566
566
  details?: readonly Response.error.Detail[] | undefined;
567
567
  message: string;
568
568
  };
569
569
  requestId: string;
570
570
  };
571
571
  outputFormat: "json";
572
- status: 403;
572
+ status: 401;
573
573
  input: {
574
574
  param: {
575
575
  chainId: string;
@@ -582,14 +582,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
582
582
  } | {
583
583
  output: {
584
584
  error: {
585
- code: "payment_required" | "rate_limit_exceeded";
585
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
586
586
  details?: readonly Response.error.Detail[] | undefined;
587
587
  message: string;
588
588
  };
589
589
  requestId: string;
590
590
  };
591
591
  outputFormat: "json";
592
- status: 429;
592
+ status: 403;
593
593
  input: {
594
594
  param: {
595
595
  chainId: string;
@@ -602,14 +602,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
602
602
  } | {
603
603
  output: {
604
604
  error: {
605
- code: "query_invalid";
605
+ code: "payment_required" | "rate_limit_exceeded";
606
606
  details?: readonly Response.error.Detail[] | undefined;
607
607
  message: string;
608
608
  };
609
609
  requestId: string;
610
610
  };
611
611
  outputFormat: "json";
612
- status: 400;
612
+ status: 429;
613
613
  input: {
614
614
  param: {
615
615
  chainId: string;
@@ -622,14 +622,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
622
622
  } | {
623
623
  output: {
624
624
  error: {
625
- code: "upstream_error";
625
+ code: "query_invalid";
626
626
  details?: readonly Response.error.Detail[] | undefined;
627
627
  message: string;
628
628
  };
629
629
  requestId: string;
630
630
  };
631
631
  outputFormat: "json";
632
- status: 502;
632
+ status: 400;
633
633
  input: {
634
634
  param: {
635
635
  chainId: string;
@@ -695,14 +695,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
695
695
  } | {
696
696
  output: {
697
697
  error: {
698
- code: "api_key_malformed";
698
+ code: "upstream_error";
699
699
  details?: readonly Response.error.Detail[] | undefined;
700
700
  message: string;
701
701
  };
702
702
  requestId: string;
703
703
  };
704
704
  outputFormat: "json";
705
- status: 400;
705
+ status: 502;
706
706
  input: {
707
707
  param: {
708
708
  chainId: string;
@@ -712,14 +712,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
712
712
  } | {
713
713
  output: {
714
714
  error: {
715
- code: "api_key_invalid" | "api_key_missing";
715
+ code: "api_key_malformed";
716
716
  details?: readonly Response.error.Detail[] | undefined;
717
717
  message: string;
718
718
  };
719
719
  requestId: string;
720
720
  };
721
721
  outputFormat: "json";
722
- status: 401;
722
+ status: 400;
723
723
  input: {
724
724
  param: {
725
725
  chainId: string;
@@ -729,14 +729,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
729
729
  } | {
730
730
  output: {
731
731
  error: {
732
- code: "api_key_forbidden";
732
+ code: "api_key_invalid" | "api_key_missing";
733
733
  details?: readonly Response.error.Detail[] | undefined;
734
734
  message: string;
735
735
  };
736
736
  requestId: string;
737
737
  };
738
738
  outputFormat: "json";
739
- status: 403;
739
+ status: 401;
740
740
  input: {
741
741
  param: {
742
742
  chainId: string;
@@ -746,14 +746,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
746
746
  } | {
747
747
  output: {
748
748
  error: {
749
- code: "payment_required" | "rate_limit_exceeded";
749
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
750
750
  details?: readonly Response.error.Detail[] | undefined;
751
751
  message: string;
752
752
  };
753
753
  requestId: string;
754
754
  };
755
755
  outputFormat: "json";
756
- status: 429;
756
+ status: 403;
757
757
  input: {
758
758
  param: {
759
759
  chainId: string;
@@ -763,14 +763,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
763
763
  } | {
764
764
  output: {
765
765
  error: {
766
- code: "upstream_error";
766
+ code: "payment_required" | "rate_limit_exceeded";
767
767
  details?: readonly Response.error.Detail[] | undefined;
768
768
  message: string;
769
769
  };
770
770
  requestId: string;
771
771
  };
772
772
  outputFormat: "json";
773
- status: 502;
773
+ status: 429;
774
774
  input: {
775
775
  param: {
776
776
  chainId: string;
@@ -868,14 +868,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
868
868
  } | {
869
869
  output: {
870
870
  error: {
871
- code: "api_key_malformed";
871
+ code: "upstream_error";
872
872
  details?: readonly Response.error.Detail[] | undefined;
873
873
  message: string;
874
874
  };
875
875
  requestId: string;
876
876
  };
877
877
  outputFormat: "json";
878
- status: 400;
878
+ status: 502;
879
879
  input: {
880
880
  param: {
881
881
  chainId: string;
@@ -889,14 +889,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
889
889
  } | {
890
890
  output: {
891
891
  error: {
892
- code: "api_key_invalid" | "api_key_missing";
892
+ code: "api_key_malformed";
893
893
  details?: readonly Response.error.Detail[] | undefined;
894
894
  message: string;
895
895
  };
896
896
  requestId: string;
897
897
  };
898
898
  outputFormat: "json";
899
- status: 401;
899
+ status: 400;
900
900
  input: {
901
901
  param: {
902
902
  chainId: string;
@@ -910,14 +910,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
910
910
  } | {
911
911
  output: {
912
912
  error: {
913
- code: "api_key_forbidden";
913
+ code: "api_key_invalid" | "api_key_missing";
914
914
  details?: readonly Response.error.Detail[] | undefined;
915
915
  message: string;
916
916
  };
917
917
  requestId: string;
918
918
  };
919
919
  outputFormat: "json";
920
- status: 403;
920
+ status: 401;
921
921
  input: {
922
922
  param: {
923
923
  chainId: string;
@@ -931,14 +931,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
931
931
  } | {
932
932
  output: {
933
933
  error: {
934
- code: "payment_required" | "rate_limit_exceeded";
934
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
935
935
  details?: readonly Response.error.Detail[] | undefined;
936
936
  message: string;
937
937
  };
938
938
  requestId: string;
939
939
  };
940
940
  outputFormat: "json";
941
- status: 429;
941
+ status: 403;
942
942
  input: {
943
943
  param: {
944
944
  chainId: string;
@@ -952,14 +952,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
952
952
  } | {
953
953
  output: {
954
954
  error: {
955
- code: "query_invalid";
955
+ code: "payment_required" | "rate_limit_exceeded";
956
956
  details?: readonly Response.error.Detail[] | undefined;
957
957
  message: string;
958
958
  };
959
959
  requestId: string;
960
960
  };
961
961
  outputFormat: "json";
962
- status: 400;
962
+ status: 429;
963
963
  input: {
964
964
  param: {
965
965
  chainId: string;
@@ -973,14 +973,14 @@ export declare function coingecko(): import("hono/hono-base").HonoBase<App.Envir
973
973
  } | {
974
974
  output: {
975
975
  error: {
976
- code: "upstream_error";
976
+ code: "query_invalid";
977
977
  details?: readonly Response.error.Detail[] | undefined;
978
978
  message: string;
979
979
  };
980
980
  requestId: string;
981
981
  };
982
982
  outputFormat: "json";
983
- status: 502;
983
+ status: 400;
984
984
  input: {
985
985
  param: {
986
986
  chainId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"coingecko.d.ts","sourceRoot":"","sources":["../../../../src/apps/data/routes/coingecko.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAI3C,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AAoFzD,8EAA8E;AAC9E,yBAAiB,MAAM,CAAC;IACtB;;;;;OAKG;IACI,MAAM,kBAAkB,yBAK5B,CAAA;IAEH;;;;OAIG;IACI,MAAM,YAAY;;;;;qBAQtB,CAAA;IAEH,kDAAkD;IAC3C,MAAM,KAAK;;;qBAoBjB,CAAA;IAED,6CAA6C;IACtC,MAAM,mBAAmB;;;;;qBAG/B,CAAA;IAED,iDAAiD;IAC1C,MAAM,WAAW;;;;;;qBAO0D,CAAA;IAElF,6CAA6C;IACtC,MAAM,KAAK;;;;;;qBA+BjB,CAAA;IAED,gDAAgD;IACzC,MAAM,aAAa;;;;;;;;qBAGzB,CAAA;IAED,0DAA0D;IACnD,MAAM,SAAS;;;;;;qBA+BrB,CAAA;IAED,oCAAoC;IAC7B,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;qBAgEhB,CAAA;IAED,sCAAsC;IAC/B,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;qBAKzB,CAAA;IAED,8CAA8C;IACvC,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;qBAGxB,CAAA;IAED,gDAAgD;IACzC,MAAM,UAAU;;;;;;qBAU+D,CAAA;IAEtF,8CAA8C;IACvC,MAAM,UAAU;;qBAc+C,CAAA;IAEtE,+CAA+C;IACxC,MAAM,WAAW;;;qBAe8D,CAAA;IAEtF,0DAA0D;IACnD,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;qBAoFrB,CAAA;IAED,uCAAuC;IAChC,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;qBAS1B,CAAA;CACF;AAaD,kFAAkF;AAClF,wBAAgB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAuTxB"}
1
+ {"version":3,"file":"coingecko.d.ts","sourceRoot":"","sources":["../../../../src/apps/data/routes/coingecko.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAI3C,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AAyFzD,8EAA8E;AAC9E,yBAAiB,MAAM,CAAC;IACtB;;;;;OAKG;IACI,MAAM,kBAAkB,yBAK5B,CAAA;IAEH;;;;OAIG;IACI,MAAM,YAAY;;;;;qBAQtB,CAAA;IAEH,kDAAkD;IAC3C,MAAM,KAAK;;;qBAoBjB,CAAA;IAED,6CAA6C;IACtC,MAAM,mBAAmB;;;;;qBAG/B,CAAA;IAED,iDAAiD;IAC1C,MAAM,WAAW;;;;;;qBAO0D,CAAA;IAElF,6CAA6C;IACtC,MAAM,KAAK;;;;;;qBA+BjB,CAAA;IAED,gDAAgD;IACzC,MAAM,aAAa;;;;;;;;qBAGzB,CAAA;IAED,0DAA0D;IACnD,MAAM,SAAS;;;;;;qBA+BrB,CAAA;IAED,oCAAoC;IAC7B,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;qBAgEhB,CAAA;IAED,sCAAsC;IAC/B,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;qBAKzB,CAAA;IAED,8CAA8C;IACvC,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;qBAGxB,CAAA;IAED,gDAAgD;IACzC,MAAM,UAAU;;;;;;qBAU+D,CAAA;IAEtF,8CAA8C;IACvC,MAAM,UAAU;;qBAc+C,CAAA;IAEtE,+CAA+C;IACxC,MAAM,WAAW;;;qBAe8D,CAAA;IAEtF,0DAA0D;IACnD,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;qBAoFrB,CAAA;IAED,uCAAuC;IAChC,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;qBAS1B,CAAA;CACF;AAaD,kFAAkF;AAClF,wBAAgB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAyTxB"}
@@ -12,7 +12,7 @@ import * as Schema from '../../../internal/Schema.js';
12
12
  import * as Timing from '../../../internal/Timing.js';
13
13
  import * as Value from '../../../internal/Value.js';
14
14
  import { resolveBookQuotes, resolveBookReserves, resolveOrderStates } from './exchanges.js';
15
- import { getTokenMetadata } from './tokens.js';
15
+ import { getTokenMetadata, isTokenNotFound } from './tokens.js';
16
16
  // Stablecoin DEX precompile. Pairs are announced by `PairCreated` (pre-decoded
17
17
  // into `dex_pairs`); fills land in `dex_fills`. The lowercase form is for inline
18
18
  // SQL; `dexAccount` keeps the checksummed address for on-chain reads.
@@ -78,6 +78,10 @@ const addressChunkSize = 200;
78
78
  // chunks — with an `await` between groups so each chunk is its own batch — keeps
79
79
  // every multicall comfortably under the limit while still aggregating per chunk.
80
80
  const tokenReadChunkSize = 20;
81
+ // How many metadata chunks to keep in flight. Each `getMetadata` is a
82
+ // standalone deployless aggregate3 call (never batch-merged), so concurrency
83
+ // cuts wall time without growing any single RPC call.
84
+ const tokenReadConcurrency = 4;
81
85
  /** Zod schemas owned by the CoinGecko/GeckoTerminal compatibility adapter. */
82
86
  export var schema;
83
87
  (function (schema) {
@@ -355,11 +359,13 @@ export function coingecko() {
355
359
  const { address, chainId } = c.req.valid('param');
356
360
  try {
357
361
  const asset = await resolveAsset(c, chainId, address);
358
- if (!asset)
359
- return notFound(c, 'Asset not found');
360
362
  return c.json(Response.validated(schema.AssetResponse, { asset }), 200);
361
363
  }
362
364
  catch (cause) {
365
+ // Non-TIP-20 addresses (LP pairs, EOAs) fail the metadata read; that
366
+ // is the documented 404, not an upstream failure.
367
+ if (isTokenNotFound(cause))
368
+ return notFound(c, 'Asset not found');
363
369
  return Response.upstream(c, cause);
364
370
  }
365
371
  })
@@ -584,9 +590,7 @@ async function getLatestBlock(c, chainId) {
584
590
  }
585
591
  /** Reads TIP-20 metadata and shapes it into the GeckoTerminal asset object. */
586
592
  async function resolveAsset(c, chainId, address) {
587
- const metadata = await getTokenMetadata(c, { address, chainId });
588
- if (!metadata)
589
- return undefined;
593
+ const metadata = await Timing.time(c, 'coingecko_metadata', () => getTokenMetadata(c, { address, chainId }));
590
594
  return {
591
595
  id: Address.checksum(address),
592
596
  name: metadata.name,
@@ -692,8 +696,8 @@ function resolvePairDetails(row, reserves, metadata) {
692
696
  /**
693
697
  * Reads RPC metadata for a set of tokens, returning an `address -> metadata`
694
698
  * map. Deduplicates so a quote shared across many books (e.g. pathUSD) is read
695
- * once per request, and reads in {@link tokenReadChunkSize} chunks so the
696
- * client's deployless multicall never overflows the RPC's per-call limit. A read
699
+ * once per request, and reads in {@link tokenReadChunkSize} chunks with at most
700
+ * {@link tokenReadConcurrency} chunks in flight, bounding the RPC burst. A read
697
701
  * failure maps the token to `undefined` and flips `failed` rather than failing
698
702
  * the whole response (metadata is best-effort); callers must not cache a
699
703
  * degraded page.
@@ -702,7 +706,7 @@ async function loadTokenMetadata(c, chainId, tokens) {
702
706
  const metadata = new Map();
703
707
  const unique = [...new Set(tokens)];
704
708
  let failed = false;
705
- await mapSeries(chunk(unique, tokenReadChunkSize), (group) => Promise.all(group.map(async (address) => {
709
+ await Timing.time(c, 'coingecko_metadata', () => Batch.mapConcurrent(Batch.chunk(unique, tokenReadChunkSize), tokenReadConcurrency, (group) => Promise.all(group.map(async (address) => {
706
710
  try {
707
711
  metadata.set(address, await getTokenMetadata(c, {
708
712
  address: address,
@@ -713,7 +717,7 @@ async function loadTokenMetadata(c, chainId, tokens) {
713
717
  failed = true;
714
718
  metadata.set(address, undefined);
715
719
  }
716
- })));
720
+ }))));
717
721
  return { failed, metadata };
718
722
  }
719
723
  /**
@@ -733,7 +737,7 @@ async function loadDexBalances(c, chainId, tokens) {
733
737
  if (unique.length === 0)
734
738
  return { balances, failed };
735
739
  const client = c.get('getClient')(chainId);
736
- await Timing.time(c, 'coingecko_reserves', () => mapSeries(chunk(unique, tokenReadChunkSize), (group) => Promise.all(group.map(async (token) => {
740
+ await Timing.time(c, 'coingecko_reserves', () => Batch.mapSeries(Batch.chunk(unique, tokenReadChunkSize), (group) => Promise.all(group.map(async (token) => {
737
741
  try {
738
742
  const balance = await client.token.getBalance({
739
743
  account: dexAccount,
@@ -807,7 +811,7 @@ async function listEvents(c, chainId, fromBlock, toBlock) {
807
811
  const orderIds = [...new Set(fills.map((fill) => fill.orderId))];
808
812
  const states = new Map();
809
813
  await Timing.time(c, 'coingecko_states', async () => {
810
- const partials = await mapSeries(chunk(orderIds, orderIdChunkSize), (ids) => resolveOrderStates(c, {
814
+ const partials = await Batch.mapSeries(Batch.chunk(orderIds, orderIdChunkSize), (ids) => resolveOrderStates(c, {
811
815
  chainId,
812
816
  maxBlock: toBlock,
813
817
  minBlock: fromBlock,
@@ -823,7 +827,7 @@ async function listEvents(c, chainId, fromBlock, toBlock) {
823
827
  const bases = [
824
828
  ...new Set([...states.values()].flatMap((events) => events.map((event) => event.token))),
825
829
  ];
826
- const { keyByBase, quoteByBase } = await resolvePairIndex(c, chainId, bases);
830
+ const { keyByBase, quoteByBase } = await Timing.time(c, 'coingecko_pair_index', () => resolvePairIndex(c, chainId, bases));
827
831
  // Token decimals (RPC metadata) and best-effort current reserves (RPC
828
832
  // `balanceOf`) for every base/quote involved. Loaded in bounded chunks and
829
833
  // sequentially (not `Promise.all`) so the two read kinds don't merge into the
@@ -929,7 +933,7 @@ async function resolvePairIndex(c, chainId, bases) {
929
933
  // Chunk the `base IN (...)` lookup for the same GET-URI reason as the order
930
934
  // states above; chunks resolve serially and merge.
931
935
  const tidx = c.get('getTidx')(chainId);
932
- const results = await mapSeries(chunk(bases, addressChunkSize), (group) => {
936
+ const results = await Batch.mapSeries(Batch.chunk(bases, addressChunkSize), (group) => {
933
937
  const list = group.map((base) => `'${base}'`).join(', ');
934
938
  return tidx.fetch({
935
939
  chainId,
@@ -963,27 +967,50 @@ function latestStateBefore(events, blockNumber, logIndex) {
963
967
  }
964
968
  return undefined;
965
969
  }
966
- /** Splits `items` into consecutive groups of at most `size`. */
967
- function chunk(items, size) {
968
- const groups = [];
969
- for (let i = 0; i < items.length; i += size)
970
- groups.push(items.slice(i, i + size));
971
- return groups;
972
- }
973
- /**
974
- * Maps `fn` over `items` strictly one at a time. ClickHouse chunk queries are
975
- * issued serially on purpose: the managed indexer rejects bursts of concurrent
976
- * queries with a fast HTTP 422 (verified: heavy baseline scans 422 at 2-3 in
977
- * flight), and each chunk is individually fast (~2 s), so serial execution
978
- * trades a little latency for reliability. Real GeckoTerminal polling windows
979
- * are small and cached, so the latency is rarely on the hot path.
980
- */
981
- async function mapSeries(items, fn) {
982
- const results = [];
983
- for (const item of items)
984
- results.push(await fn(item));
985
- return results;
986
- }
970
+ var Batch;
971
+ (function (Batch) {
972
+ /** Splits `items` into consecutive groups of at most `size`. */
973
+ function chunk(items, size) {
974
+ const groups = [];
975
+ for (let i = 0; i < items.length; i += size)
976
+ groups.push(items.slice(i, i + size));
977
+ return groups;
978
+ }
979
+ Batch.chunk = chunk;
980
+ /**
981
+ * Maps `fn` over `items` strictly one at a time. ClickHouse chunk queries are
982
+ * issued serially on purpose: the managed indexer rejects bursts of concurrent
983
+ * queries with a fast HTTP 422 (verified: heavy baseline scans 422 at 2-3 in
984
+ * flight), and each chunk is individually fast (~2 s), so serial execution
985
+ * trades a little latency for reliability. Real GeckoTerminal polling windows
986
+ * are small and cached, so the latency is rarely on the hot path.
987
+ */
988
+ async function mapSeries(items, fn) {
989
+ const results = [];
990
+ for (const item of items)
991
+ results.push(await fn(item));
992
+ return results;
993
+ }
994
+ Batch.mapSeries = mapSeries;
995
+ /**
996
+ * Maps `fn` over `items` with at most `concurrency` calls in flight, preserving
997
+ * result order. For RPC chunk fan-outs only: ClickHouse chunk queries stay
998
+ * serial through {@link mapSeries}.
999
+ */
1000
+ async function mapConcurrent(items, concurrency, fn) {
1001
+ const results = Array.from({ length: items.length });
1002
+ let next = 0;
1003
+ const workers = Array.from({ length: Math.min(concurrency, items.length) }, async () => {
1004
+ while (next < items.length) {
1005
+ const index = next++;
1006
+ results[index] = await fn(items[index]);
1007
+ }
1008
+ });
1009
+ await Promise.all(workers);
1010
+ return results;
1011
+ }
1012
+ Batch.mapConcurrent = mapConcurrent;
1013
+ })(Batch || (Batch = {}));
987
1014
  /** `keccak256(base ++ quote)` — the on-chain order-book key. */
988
1015
  function deriveBookKey(base, quote) {
989
1016
  return Hash.keccak256(`0x${base.slice(2)}${quote.slice(2)}`);