tapimo 0.7.0 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (689) hide show
  1. package/dist/ApiKeys.d.ts +24 -7
  2. package/dist/ApiKeys.d.ts.map +1 -1
  3. package/dist/ApiKeys.js +17 -5
  4. package/dist/ApiKeys.js.map +1 -1
  5. package/dist/App.d.ts +12104 -7861
  6. package/dist/App.d.ts.map +1 -1
  7. package/dist/App.js +191 -128
  8. package/dist/App.js.map +1 -1
  9. package/dist/Assets.d.ts +10 -0
  10. package/dist/Assets.d.ts.map +1 -1
  11. package/dist/Assets.js +17 -4
  12. package/dist/Assets.js.map +1 -1
  13. package/dist/Scope.d.ts +19 -8
  14. package/dist/Scope.d.ts.map +1 -1
  15. package/dist/Scope.js +25 -9
  16. package/dist/Scope.js.map +1 -1
  17. package/dist/Webhooks.d.ts +1 -1
  18. package/dist/admin/App.d.ts +601 -20
  19. package/dist/admin/App.d.ts.map +1 -1
  20. package/dist/admin/App.js +12 -2
  21. package/dist/admin/App.js.map +1 -1
  22. package/dist/admin/apps/api-keys.d.ts +94 -11
  23. package/dist/admin/apps/api-keys.d.ts.map +1 -1
  24. package/dist/admin/apps/api-keys.js +141 -32
  25. package/dist/admin/apps/api-keys.js.map +1 -1
  26. package/dist/admin/apps/earn-vaults.d.ts +1069 -0
  27. package/dist/admin/apps/earn-vaults.d.ts.map +1 -0
  28. package/dist/admin/apps/earn-vaults.js +409 -0
  29. package/dist/admin/apps/earn-vaults.js.map +1 -0
  30. package/dist/admin/apps/verified-tokens.d.ts +166 -166
  31. package/dist/admin/ui.generated.d.ts +1 -1
  32. package/dist/admin/ui.generated.d.ts.map +1 -1
  33. package/dist/admin/ui.generated.js +151 -95
  34. package/dist/admin/ui.generated.js.map +1 -1
  35. package/dist/analytics/Analytics.d.ts +2 -0
  36. package/dist/analytics/Analytics.d.ts.map +1 -1
  37. package/dist/analytics/Analytics.js +18 -2
  38. package/dist/analytics/Analytics.js.map +1 -1
  39. package/dist/analytics/tables/requestEvents.d.ts +22 -1
  40. package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
  41. package/dist/analytics/tables/requestEvents.js +59 -39
  42. package/dist/analytics/tables/requestEvents.js.map +1 -1
  43. package/dist/apps/Zones.d.ts +8335 -0
  44. package/dist/apps/Zones.d.ts.map +1 -0
  45. package/dist/apps/Zones.js +38 -0
  46. package/dist/apps/Zones.js.map +1 -0
  47. package/dist/apps/data/App.d.ts +14377 -10165
  48. package/dist/apps/data/App.d.ts.map +1 -1
  49. package/dist/apps/data/App.js +91 -19
  50. package/dist/apps/data/App.js.map +1 -1
  51. package/dist/apps/data/FxOracle.d.ts +1 -1
  52. package/dist/apps/data/FxOracle.d.ts.map +1 -1
  53. package/dist/apps/data/index.d.ts +0 -1
  54. package/dist/apps/data/index.d.ts.map +1 -1
  55. package/dist/apps/data/index.js +0 -1
  56. package/dist/apps/data/index.js.map +1 -1
  57. package/dist/apps/data/routes/activities.d.ts +32 -32
  58. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  59. package/dist/apps/data/routes/activities.js +130 -65
  60. package/dist/apps/data/routes/activities.js.map +1 -1
  61. package/dist/apps/data/routes/addresses.d.ts +312 -312
  62. package/dist/apps/data/routes/balances.d.ts +18 -18
  63. package/dist/apps/data/routes/balances.js +5 -5
  64. package/dist/apps/data/routes/balances.js.map +1 -1
  65. package/dist/apps/data/routes/coingecko.d.ts +176 -176
  66. package/dist/apps/data/routes/coingecko.d.ts.map +1 -1
  67. package/dist/apps/data/routes/coingecko.js +62 -35
  68. package/dist/apps/data/routes/coingecko.js.map +1 -1
  69. package/dist/apps/data/routes/earn.d.ts +2144 -0
  70. package/dist/apps/data/routes/earn.d.ts.map +1 -0
  71. package/dist/apps/data/routes/earn.js +947 -0
  72. package/dist/apps/data/routes/earn.js.map +1 -0
  73. package/dist/apps/data/routes/exchanges.d.ts +1231 -324
  74. package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
  75. package/dist/apps/data/routes/exchanges.js +656 -193
  76. package/dist/apps/data/routes/exchanges.js.map +1 -1
  77. package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
  78. package/dist/apps/data/routes/fee-amm.js +59 -8
  79. package/dist/apps/data/routes/fee-amm.js.map +1 -1
  80. package/dist/apps/data/routes/funding.d.ts +4092 -387
  81. package/dist/apps/data/routes/funding.d.ts.map +1 -1
  82. package/dist/apps/data/routes/funding.js +1403 -256
  83. package/dist/apps/data/routes/funding.js.map +1 -1
  84. package/dist/apps/data/routes/indexer.d.ts +5 -5
  85. package/dist/apps/data/routes/indexer.d.ts.map +1 -1
  86. package/dist/apps/data/routes/indexer.js +19 -2
  87. package/dist/apps/data/routes/indexer.js.map +1 -1
  88. package/dist/apps/data/routes/receipts.d.ts +265 -265
  89. package/dist/apps/data/routes/receipts.d.ts.map +1 -1
  90. package/dist/apps/data/routes/receipts.js +11 -11
  91. package/dist/apps/data/routes/receipts.js.map +1 -1
  92. package/dist/apps/data/routes/rpc.d.ts +5 -5
  93. package/dist/apps/data/routes/rpc.d.ts.map +1 -1
  94. package/dist/apps/data/routes/rpc.js +211 -22
  95. package/dist/apps/data/routes/rpc.js.map +1 -1
  96. package/dist/apps/data/routes/tokenlist.d.ts +36 -36
  97. package/dist/apps/data/routes/tokenlist.d.ts.map +1 -1
  98. package/dist/apps/data/routes/tokenlist.js +49 -9
  99. package/dist/apps/data/routes/tokenlist.js.map +1 -1
  100. package/dist/apps/data/routes/tokens.d.ts +116 -88
  101. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  102. package/dist/apps/data/routes/tokens.js +198 -91
  103. package/dist/apps/data/routes/tokens.js.map +1 -1
  104. package/dist/apps/data/routes/transactions.d.ts +55 -55
  105. package/dist/apps/data/routes/transactions.d.ts.map +1 -1
  106. package/dist/apps/data/routes/transactions.js +78 -39
  107. package/dist/apps/data/routes/transactions.js.map +1 -1
  108. package/dist/apps/data/routes/transfers.d.ts +78 -29
  109. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  110. package/dist/apps/data/routes/transfers.js +165 -67
  111. package/dist/apps/data/routes/transfers.js.map +1 -1
  112. package/dist/apps/data/routes/valuation.d.ts +10 -10
  113. package/dist/apps/data/routes/valuation.js +2 -2
  114. package/dist/apps/data/routes/valuation.js.map +1 -1
  115. package/dist/apps/data/routes/verified-tokens.d.ts.map +1 -1
  116. package/dist/apps/data/routes/verified-tokens.js +34 -9
  117. package/dist/apps/data/routes/verified-tokens.js.map +1 -1
  118. package/dist/apps/data/routes/webhooks.d.ts +5 -3
  119. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  120. package/dist/apps/data/routes/webhooks.js +175 -65
  121. package/dist/apps/data/routes/webhooks.js.map +1 -1
  122. package/dist/apps/data/routes/zones.d.ts +281 -0
  123. package/dist/apps/data/routes/zones.d.ts.map +1 -0
  124. package/dist/apps/data/routes/zones.js +252 -0
  125. package/dist/apps/data/routes/zones.js.map +1 -0
  126. package/dist/apps/docs/reference.js +6 -5
  127. package/dist/apps/docs/reference.js.map +1 -1
  128. package/dist/apps/index.d.ts +2 -1
  129. package/dist/apps/index.d.ts.map +1 -1
  130. package/dist/apps/index.js +2 -1
  131. package/dist/apps/index.js.map +1 -1
  132. package/dist/apps/management/App.d.ts +670 -670
  133. package/dist/apps/management/Billing.d.ts +8 -0
  134. package/dist/apps/management/Billing.d.ts.map +1 -1
  135. package/dist/apps/management/Billing.js +12 -0
  136. package/dist/apps/management/Billing.js.map +1 -1
  137. package/dist/apps/management/Error.d.ts +12 -0
  138. package/dist/apps/management/Error.d.ts.map +1 -0
  139. package/dist/apps/management/Error.js +10 -0
  140. package/dist/apps/management/Error.js.map +1 -0
  141. package/dist/apps/management/routes/api-keys.d.ts +5 -5
  142. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  143. package/dist/apps/management/routes/api-keys.js +2 -8
  144. package/dist/apps/management/routes/api-keys.js.map +1 -1
  145. package/dist/apps/management/routes/billing.d.ts +119 -119
  146. package/dist/apps/management/routes/faucet.d.ts +35 -35
  147. package/dist/apps/management/routes/invitations.d.ts +62 -62
  148. package/dist/apps/management/routes/invitations.d.ts.map +1 -1
  149. package/dist/apps/management/routes/invitations.js +4 -10
  150. package/dist/apps/management/routes/invitations.js.map +1 -1
  151. package/dist/apps/management/routes/invite-links.d.ts +30 -30
  152. package/dist/apps/management/routes/me.d.ts +6 -6
  153. package/dist/apps/management/routes/members.d.ts +78 -78
  154. package/dist/apps/management/routes/orgs.d.ts +48 -48
  155. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  156. package/dist/apps/management/routes/orgs.js +2 -8
  157. package/dist/apps/management/routes/orgs.js.map +1 -1
  158. package/dist/apps/management/routes/projects.d.ts +9 -9
  159. package/dist/apps/management/routes/scopes.js +2 -2
  160. package/dist/apps/management/routes/scopes.js.map +1 -1
  161. package/dist/apps/management/routes/usage.d.ts +80 -80
  162. package/dist/apps/management/routes/verified-token-requests.d.ts +36 -36
  163. package/dist/apps/management/routes/webhooks.d.ts +50 -50
  164. package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
  165. package/dist/apps/management/routes/webhooks.js +15 -3
  166. package/dist/apps/management/routes/webhooks.js.map +1 -1
  167. package/dist/apps/mpp/App.d.ts +55 -56
  168. package/dist/apps/mpp/App.d.ts.map +1 -1
  169. package/dist/apps/mpp/App.js +192 -27
  170. package/dist/apps/mpp/App.js.map +1 -1
  171. package/dist/apps/mpp/Mpp.d.ts +0 -20
  172. package/dist/apps/mpp/Mpp.d.ts.map +1 -1
  173. package/dist/apps/mpp/Mpp.js +0 -24
  174. package/dist/apps/mpp/Mpp.js.map +1 -1
  175. package/dist/apps/mpp/internal/Adapter.d.ts +40 -0
  176. package/dist/apps/mpp/internal/Adapter.d.ts.map +1 -0
  177. package/dist/apps/mpp/internal/Adapter.js +66 -0
  178. package/dist/apps/mpp/internal/Adapter.js.map +1 -0
  179. package/dist/apps/mpp/internal/Error.d.ts +4 -0
  180. package/dist/apps/mpp/internal/Error.d.ts.map +1 -0
  181. package/dist/apps/mpp/internal/Error.js +41 -0
  182. package/dist/apps/mpp/internal/Error.js.map +1 -0
  183. package/dist/apps/mpp/internal/Idempotency.d.ts +33 -0
  184. package/dist/apps/mpp/internal/Idempotency.d.ts.map +1 -0
  185. package/dist/apps/mpp/internal/Idempotency.js +28 -0
  186. package/dist/apps/mpp/internal/Idempotency.js.map +1 -0
  187. package/dist/apps/mpp/internal/Policy.d.ts +46 -0
  188. package/dist/apps/mpp/internal/Policy.d.ts.map +1 -0
  189. package/dist/apps/mpp/internal/Policy.js +57 -0
  190. package/dist/apps/mpp/internal/Policy.js.map +1 -0
  191. package/dist/apps/mpp/internal/ScreenManager.d.ts +27 -0
  192. package/dist/apps/mpp/internal/ScreenManager.d.ts.map +1 -0
  193. package/dist/apps/mpp/internal/ScreenManager.js +18 -0
  194. package/dist/apps/mpp/internal/ScreenManager.js.map +1 -0
  195. package/dist/apps/mpp/internal/Screening.d.ts +35 -0
  196. package/dist/apps/mpp/internal/Screening.d.ts.map +1 -0
  197. package/dist/apps/mpp/internal/Screening.js +20 -0
  198. package/dist/apps/mpp/internal/Screening.js.map +1 -0
  199. package/dist/apps/mpp/internal/Sponsorship.d.ts +36 -0
  200. package/dist/apps/mpp/internal/Sponsorship.d.ts.map +1 -0
  201. package/dist/apps/mpp/internal/Sponsorship.js +103 -0
  202. package/dist/apps/mpp/internal/Sponsorship.js.map +1 -0
  203. package/dist/apps/mpp/internal/Utils.d.ts +7 -0
  204. package/dist/apps/mpp/internal/Utils.d.ts.map +1 -0
  205. package/dist/apps/mpp/internal/Utils.js +24 -0
  206. package/dist/apps/mpp/internal/Utils.js.map +1 -0
  207. package/dist/apps/relay/App.js +184 -24
  208. package/dist/apps/relay/App.js.map +1 -1
  209. package/dist/apps/relay/Sponsorships.d.ts +4 -0
  210. package/dist/apps/relay/Sponsorships.d.ts.map +1 -1
  211. package/dist/apps/relay/Sponsorships.js +16 -7
  212. package/dist/apps/relay/Sponsorships.js.map +1 -1
  213. package/dist/db/Db.d.ts +20 -0
  214. package/dist/db/Db.d.ts.map +1 -1
  215. package/dist/db/Db.js +342 -0
  216. package/dist/db/Db.js.map +1 -1
  217. package/dist/db/Schema.d.ts +921 -1
  218. package/dist/db/Schema.d.ts.map +1 -1
  219. package/dist/db/Schema.js +269 -1
  220. package/dist/db/Schema.js.map +1 -1
  221. package/dist/db/tables/earnVaults.d.ts +68 -0
  222. package/dist/db/tables/earnVaults.d.ts.map +1 -0
  223. package/dist/db/tables/earnVaults.js +72 -0
  224. package/dist/db/tables/earnVaults.js.map +1 -0
  225. package/dist/db/tables/fundingCatalog.d.ts +56 -0
  226. package/dist/db/tables/fundingCatalog.d.ts.map +1 -0
  227. package/dist/db/tables/fundingCatalog.js +85 -0
  228. package/dist/db/tables/fundingCatalog.js.map +1 -0
  229. package/dist/db/tables/fundingDepositAddresses.d.ts +159 -0
  230. package/dist/db/tables/fundingDepositAddresses.d.ts.map +1 -0
  231. package/dist/db/tables/fundingDepositAddresses.js +206 -0
  232. package/dist/db/tables/fundingDepositAddresses.js.map +1 -0
  233. package/dist/db/tables/fundingDeposits.d.ts +115 -0
  234. package/dist/db/tables/fundingDeposits.d.ts.map +1 -0
  235. package/dist/db/tables/fundingDeposits.js +100 -0
  236. package/dist/db/tables/fundingDeposits.js.map +1 -0
  237. package/dist/db/tables/fundingIdempotency.d.ts +91 -0
  238. package/dist/db/tables/fundingIdempotency.d.ts.map +1 -0
  239. package/dist/db/tables/fundingIdempotency.js +103 -0
  240. package/dist/db/tables/fundingIdempotency.js.map +1 -0
  241. package/dist/db/tables/fundingTransferEvents.d.ts +12 -0
  242. package/dist/db/tables/fundingTransferEvents.d.ts.map +1 -0
  243. package/dist/db/tables/fundingTransferEvents.js +18 -0
  244. package/dist/db/tables/fundingTransferEvents.js.map +1 -0
  245. package/dist/db/tables/fundingTransferTransactions.d.ts +15 -0
  246. package/dist/db/tables/fundingTransferTransactions.d.ts.map +1 -0
  247. package/dist/db/tables/fundingTransferTransactions.js +27 -0
  248. package/dist/db/tables/fundingTransferTransactions.js.map +1 -0
  249. package/dist/db/tables/fundingTransfers.d.ts +82 -0
  250. package/dist/db/tables/fundingTransfers.d.ts.map +1 -0
  251. package/dist/db/tables/fundingTransfers.js +89 -0
  252. package/dist/db/tables/fundingTransfers.js.map +1 -0
  253. package/dist/db/tables/organizations.d.ts +8 -0
  254. package/dist/db/tables/organizations.d.ts.map +1 -1
  255. package/dist/db/tables/organizations.js +35 -0
  256. package/dist/db/tables/organizations.js.map +1 -1
  257. package/dist/db/tables/projects.d.ts +8 -0
  258. package/dist/db/tables/projects.d.ts.map +1 -1
  259. package/dist/db/tables/projects.js +16 -0
  260. package/dist/db/tables/projects.js.map +1 -1
  261. package/dist/db/tables/requestUsage.d.ts +13 -0
  262. package/dist/db/tables/requestUsage.d.ts.map +1 -1
  263. package/dist/db/tables/requestUsage.js +16 -0
  264. package/dist/db/tables/requestUsage.js.map +1 -1
  265. package/dist/db/tables/sponsoredTransactions.d.ts +4 -2
  266. package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
  267. package/dist/db/tables/sponsoredTransactions.js +14 -4
  268. package/dist/db/tables/sponsoredTransactions.js.map +1 -1
  269. package/dist/db/tables/users.d.ts +8 -0
  270. package/dist/db/tables/users.d.ts.map +1 -1
  271. package/dist/db/tables/users.js +16 -0
  272. package/dist/db/tables/users.js.map +1 -1
  273. package/dist/db/tables/verifiedTokens.d.ts +14 -7
  274. package/dist/db/tables/verifiedTokens.d.ts.map +1 -1
  275. package/dist/db/tables/verifiedTokens.js +9 -7
  276. package/dist/db/tables/verifiedTokens.js.map +1 -1
  277. package/dist/db/tables/webhookSubscriptions.d.ts +31 -1
  278. package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
  279. package/dist/db/tables/webhookSubscriptions.js +24 -3
  280. package/dist/db/tables/webhookSubscriptions.js.map +1 -1
  281. package/dist/handlers/relay.js +108 -108
  282. package/dist/handlers/relay.js.map +1 -1
  283. package/dist/internal/Auth.d.ts +26 -0
  284. package/dist/internal/Auth.d.ts.map +1 -1
  285. package/dist/internal/Auth.js +35 -2
  286. package/dist/internal/Auth.js.map +1 -1
  287. package/dist/internal/Cache.d.ts.map +1 -1
  288. package/dist/internal/Cache.js +16 -10
  289. package/dist/internal/Cache.js.map +1 -1
  290. package/dist/internal/Cursor.js +1 -1
  291. package/dist/internal/Cursor.js.map +1 -1
  292. package/dist/internal/EarnRates.d.ts +89 -0
  293. package/dist/internal/EarnRates.d.ts.map +1 -0
  294. package/dist/internal/EarnRates.js +266 -0
  295. package/dist/internal/EarnRates.js.map +1 -0
  296. package/dist/internal/EarnVaults.d.ts +171 -0
  297. package/dist/internal/EarnVaults.d.ts.map +1 -0
  298. package/dist/internal/EarnVaults.js +547 -0
  299. package/dist/internal/EarnVaults.js.map +1 -0
  300. package/dist/internal/EdgeCache.d.ts +9 -2
  301. package/dist/internal/EdgeCache.d.ts.map +1 -1
  302. package/dist/internal/EdgeCache.js +36 -9
  303. package/dist/internal/EdgeCache.js.map +1 -1
  304. package/dist/internal/Id.d.ts +11 -0
  305. package/dist/internal/Id.d.ts.map +1 -1
  306. package/dist/internal/Id.js +13 -0
  307. package/dist/internal/Id.js.map +1 -1
  308. package/dist/internal/Idempotency.d.ts +83 -0
  309. package/dist/internal/Idempotency.d.ts.map +1 -0
  310. package/dist/internal/Idempotency.js +113 -0
  311. package/dist/internal/Idempotency.js.map +1 -0
  312. package/dist/internal/Log.d.ts +64 -9
  313. package/dist/internal/Log.d.ts.map +1 -1
  314. package/dist/internal/Log.js +29 -7
  315. package/dist/internal/Log.js.map +1 -1
  316. package/dist/internal/MetricSink.d.ts.map +1 -1
  317. package/dist/internal/MetricSink.js +47 -1
  318. package/dist/internal/MetricSink.js.map +1 -1
  319. package/dist/internal/OpenApi.d.ts +1 -1
  320. package/dist/internal/OpenApi.d.ts.map +1 -1
  321. package/dist/internal/OpenApi.js +3 -0
  322. package/dist/internal/OpenApi.js.map +1 -1
  323. package/dist/internal/Provider.d.ts +14 -0
  324. package/dist/internal/Provider.d.ts.map +1 -0
  325. package/dist/internal/Provider.js +5 -0
  326. package/dist/internal/Provider.js.map +1 -0
  327. package/dist/internal/Schema.d.ts +8 -3
  328. package/dist/internal/Schema.d.ts.map +1 -1
  329. package/dist/internal/Schema.js +24 -13
  330. package/dist/internal/Schema.js.map +1 -1
  331. package/dist/internal/Store.d.ts +6 -0
  332. package/dist/internal/Store.d.ts.map +1 -1
  333. package/dist/internal/Store.js +35 -0
  334. package/dist/internal/Store.js.map +1 -1
  335. package/dist/internal/Tidx.d.ts +43 -24
  336. package/dist/internal/Tidx.d.ts.map +1 -1
  337. package/dist/internal/Tidx.js +79 -11
  338. package/dist/internal/Tidx.js.map +1 -1
  339. package/dist/internal/Viem.d.ts +82 -65
  340. package/dist/internal/Viem.d.ts.map +1 -1
  341. package/dist/internal/Viem.js +83 -12
  342. package/dist/internal/Viem.js.map +1 -1
  343. package/dist/internal/WebhookDestination.d.ts.map +1 -1
  344. package/dist/internal/WebhookDestination.js +34 -28
  345. package/dist/internal/WebhookDestination.js.map +1 -1
  346. package/dist/internal/Webhooks.d.ts +9 -0
  347. package/dist/internal/Webhooks.d.ts.map +1 -1
  348. package/dist/internal/Webhooks.js +15 -10
  349. package/dist/internal/Webhooks.js.map +1 -1
  350. package/dist/internal/exchange/Provider.d.ts +219 -0
  351. package/dist/internal/exchange/Provider.d.ts.map +1 -0
  352. package/dist/internal/exchange/Provider.js +117 -0
  353. package/dist/internal/exchange/Provider.js.map +1 -0
  354. package/dist/internal/exchange/index.d.ts +2 -0
  355. package/dist/internal/exchange/index.d.ts.map +1 -0
  356. package/dist/internal/exchange/index.js +2 -0
  357. package/dist/internal/exchange/index.js.map +1 -0
  358. package/dist/internal/exchange/providers/uniswap.d.ts +57 -0
  359. package/dist/internal/exchange/providers/uniswap.d.ts.map +1 -0
  360. package/dist/internal/exchange/providers/uniswap.js +553 -0
  361. package/dist/internal/exchange/providers/uniswap.js.map +1 -0
  362. package/dist/internal/funding/Action.d.ts +55 -0
  363. package/dist/internal/funding/Action.d.ts.map +1 -0
  364. package/dist/internal/funding/Action.js +74 -0
  365. package/dist/internal/funding/Action.js.map +1 -0
  366. package/dist/internal/funding/Catalog.d.ts +107 -0
  367. package/dist/internal/funding/Catalog.d.ts.map +1 -0
  368. package/dist/internal/funding/Catalog.js +270 -0
  369. package/dist/internal/funding/Catalog.js.map +1 -0
  370. package/dist/internal/funding/Chain.d.ts +76 -0
  371. package/dist/internal/funding/Chain.d.ts.map +1 -0
  372. package/dist/internal/funding/Chain.js +38 -0
  373. package/dist/internal/funding/Chain.js.map +1 -0
  374. package/dist/internal/funding/Deposit.d.ts +366 -0
  375. package/dist/internal/funding/Deposit.d.ts.map +1 -0
  376. package/dist/internal/funding/Deposit.js +286 -0
  377. package/dist/internal/funding/Deposit.js.map +1 -0
  378. package/dist/internal/funding/DepositAddress.d.ts +345 -0
  379. package/dist/internal/funding/DepositAddress.d.ts.map +1 -0
  380. package/dist/internal/funding/DepositAddress.js +189 -0
  381. package/dist/internal/funding/DepositAddress.js.map +1 -0
  382. package/dist/internal/funding/Evidence.d.ts +52 -0
  383. package/dist/internal/funding/Evidence.d.ts.map +1 -0
  384. package/dist/internal/funding/Evidence.js +314 -0
  385. package/dist/internal/funding/Evidence.js.map +1 -0
  386. package/dist/internal/funding/Provider.d.ts +1186 -0
  387. package/dist/internal/funding/Provider.d.ts.map +1 -0
  388. package/dist/internal/funding/Provider.js +1081 -0
  389. package/dist/internal/funding/Provider.js.map +1 -0
  390. package/dist/internal/funding/Reconciliation.d.ts +113 -0
  391. package/dist/internal/funding/Reconciliation.d.ts.map +1 -0
  392. package/dist/internal/funding/Reconciliation.js +676 -0
  393. package/dist/internal/funding/Reconciliation.js.map +1 -0
  394. package/dist/internal/funding/Route.d.ts +21 -0
  395. package/dist/internal/funding/Route.d.ts.map +1 -0
  396. package/dist/internal/funding/Route.js +5 -0
  397. package/dist/internal/funding/Route.js.map +1 -0
  398. package/dist/internal/funding/Subsidy.d.ts +113 -0
  399. package/dist/internal/funding/Subsidy.d.ts.map +1 -0
  400. package/dist/internal/funding/Subsidy.js +138 -0
  401. package/dist/internal/funding/Subsidy.js.map +1 -0
  402. package/dist/internal/funding/Token.d.ts +41 -0
  403. package/dist/internal/funding/Token.d.ts.map +1 -0
  404. package/dist/internal/funding/Token.js +22 -0
  405. package/dist/internal/funding/Token.js.map +1 -0
  406. package/dist/internal/funding/Transfer.d.ts +643 -0
  407. package/dist/internal/funding/Transfer.d.ts.map +1 -0
  408. package/dist/internal/funding/Transfer.js +332 -0
  409. package/dist/internal/funding/Transfer.js.map +1 -0
  410. package/dist/internal/funding/index.d.ts +13 -0
  411. package/dist/internal/funding/index.d.ts.map +1 -0
  412. package/dist/internal/funding/index.js +13 -0
  413. package/dist/internal/funding/index.js.map +1 -0
  414. package/dist/internal/funding/providers/across.d.ts +21 -0
  415. package/dist/internal/funding/providers/across.d.ts.map +1 -0
  416. package/dist/internal/funding/providers/across.js +117 -0
  417. package/dist/internal/funding/providers/across.js.map +1 -0
  418. package/dist/internal/funding/providers/relay.d.ts +46 -0
  419. package/dist/internal/funding/providers/relay.d.ts.map +1 -0
  420. package/dist/internal/funding/providers/relay.js +464 -0
  421. package/dist/internal/funding/providers/relay.js.map +1 -0
  422. package/dist/internal/funding/providers/rhino.d.ts +15 -0
  423. package/dist/internal/funding/providers/rhino.d.ts.map +1 -0
  424. package/dist/internal/funding/providers/rhino.js +116 -0
  425. package/dist/internal/funding/providers/rhino.js.map +1 -0
  426. package/dist/internal/funding/providers/squid.d.ts +19 -0
  427. package/dist/internal/funding/providers/squid.d.ts.map +1 -0
  428. package/dist/internal/funding/providers/squid.js +120 -0
  429. package/dist/internal/funding/providers/squid.js.map +1 -0
  430. package/dist/internal/funding/providers/symbiosis.d.ts +20 -0
  431. package/dist/internal/funding/providers/symbiosis.d.ts.map +1 -0
  432. package/dist/internal/funding/providers/symbiosis.js +176 -0
  433. package/dist/internal/funding/providers/symbiosis.js.map +1 -0
  434. package/dist/internal/index.d.ts +5 -1
  435. package/dist/internal/index.d.ts.map +1 -1
  436. package/dist/internal/index.js +5 -1
  437. package/dist/internal/index.js.map +1 -1
  438. package/dist/internal/webhookDestinations/url.js +61 -57
  439. package/dist/internal/webhookDestinations/url.js.map +1 -1
  440. package/dist/providers/index.d.ts +43 -0
  441. package/dist/providers/index.d.ts.map +1 -0
  442. package/dist/providers/index.js +19 -0
  443. package/dist/providers/index.js.map +1 -0
  444. package/package.json +9 -4
  445. package/src/ApiKeys.test.ts +11 -7
  446. package/src/ApiKeys.ts +37 -9
  447. package/src/App.test.ts +85 -10
  448. package/src/App.ts +224 -137
  449. package/src/Assets.ts +29 -4
  450. package/src/Client.test-d.ts +650 -30
  451. package/src/Scope.test.ts +19 -0
  452. package/src/Scope.ts +28 -11
  453. package/src/Webhooks.test.ts +25 -0
  454. package/src/Webhooks.ts +1 -1
  455. package/src/admin/App.test.ts +9 -2
  456. package/src/admin/App.ts +32 -9
  457. package/src/admin/apps/api-keys.test.ts +167 -23
  458. package/src/admin/apps/api-keys.ts +166 -28
  459. package/src/admin/apps/earn-vaults.test.ts +338 -0
  460. package/src/admin/apps/earn-vaults.ts +572 -0
  461. package/src/admin/apps/scopes.test.ts +16 -1
  462. package/src/admin/ui/plugin.ts +2 -2
  463. package/src/admin/ui/src/components/EarnVaultForm.tsx +137 -0
  464. package/src/admin/ui/src/components/MobileProfile.tsx +2 -2
  465. package/src/admin/ui/src/components/Page.tsx +1 -1
  466. package/src/admin/ui/src/components/ThemeToggle.tsx +1 -1
  467. package/src/admin/ui/src/lib/api-keys.ts +37 -7
  468. package/src/admin/ui/src/lib/client.ts +1 -1
  469. package/src/admin/ui/src/lib/config.ts +1 -1
  470. package/src/admin/ui/src/lib/early-access.ts +8 -9
  471. package/src/admin/ui/src/lib/earn-vaults.ts +207 -0
  472. package/src/admin/ui/src/lib/format.ts +13 -0
  473. package/src/admin/ui/src/lib/organizations.test.ts +14 -4
  474. package/src/admin/ui/src/lib/organizations.ts +7 -1
  475. package/src/admin/ui/src/lib/response.ts +22 -0
  476. package/src/admin/ui/src/lib/scopes.test.ts +19 -11
  477. package/src/admin/ui/src/lib/scopes.ts +28 -7
  478. package/src/admin/ui/src/lib/verified-tokens.ts +10 -9
  479. package/src/admin/ui/src/routeTree.gen.ts +70 -7
  480. package/src/admin/ui/src/router.tsx +2 -2
  481. package/src/admin/ui/src/routes/__root.tsx +9 -8
  482. package/src/admin/ui/src/routes/api-keys.tsx +475 -64
  483. package/src/admin/ui/src/routes/early-access.tsx +5 -12
  484. package/src/admin/ui/src/routes/earn.vaults.tsx +348 -0
  485. package/src/admin/ui/src/routes/earn.vaults_.$vaultId.edit.tsx +154 -0
  486. package/src/admin/ui/src/routes/earn.vaults_.new.tsx +190 -0
  487. package/src/admin/ui/src/routes/organizations.tsx +4 -7
  488. package/src/admin/ui/src/routes/organizations_.$orgId.tsx +56 -54
  489. package/src/admin/ui/src/routes/verified-tokens.tsx +4 -4
  490. package/src/admin/ui/vite.config.ts +4 -1
  491. package/src/admin/ui.generated.ts +189 -95
  492. package/src/analytics/Analytics.test.ts +69 -10
  493. package/src/analytics/Analytics.ts +20 -1
  494. package/src/analytics/tables/requestEvents.ts +79 -37
  495. package/src/apps/Zones.test.ts +33 -0
  496. package/src/apps/Zones.ts +40 -0
  497. package/src/apps/composition.test.ts +84 -1
  498. package/src/apps/data/App.test.ts +38 -9
  499. package/src/apps/data/App.ts +96 -33
  500. package/src/apps/data/FxOracle.ts +1 -1
  501. package/src/apps/data/index.ts +0 -1
  502. package/src/apps/data/routes/activities.test.ts +82 -6
  503. package/src/apps/data/routes/activities.ts +131 -71
  504. package/src/apps/data/routes/balances.test.ts +50 -37
  505. package/src/apps/data/routes/balances.ts +5 -5
  506. package/src/apps/data/routes/blocks.test.ts +2 -0
  507. package/src/apps/data/routes/coingecko.test.ts +22 -0
  508. package/src/apps/data/routes/coingecko.ts +84 -48
  509. package/src/apps/data/routes/earn.test.ts +1108 -0
  510. package/src/apps/data/routes/earn.ts +1391 -0
  511. package/src/apps/data/routes/exchanges.test.ts +82 -33
  512. package/src/apps/data/routes/exchanges.ts +842 -227
  513. package/src/apps/data/routes/fee-amm.test.ts +4 -6
  514. package/src/apps/data/routes/fee-amm.ts +69 -12
  515. package/src/apps/data/routes/funding.test.ts +2712 -221
  516. package/src/apps/data/routes/funding.ts +1604 -387
  517. package/src/apps/data/routes/indexer.test.ts +43 -34
  518. package/src/apps/data/routes/indexer.ts +19 -2
  519. package/src/apps/data/routes/receipts.test.ts +5 -3
  520. package/src/apps/data/routes/receipts.ts +13 -11
  521. package/src/apps/data/routes/rpc.test.ts +446 -28
  522. package/src/apps/data/routes/rpc.ts +243 -25
  523. package/src/apps/data/routes/tokenlist.test.ts +15 -0
  524. package/src/apps/data/routes/tokenlist.ts +88 -22
  525. package/src/apps/data/routes/tokens.ts +262 -86
  526. package/src/apps/data/routes/transactions.test.ts +2 -0
  527. package/src/apps/data/routes/transactions.ts +77 -42
  528. package/src/apps/data/routes/transfers.test.ts +166 -4
  529. package/src/apps/data/routes/transfers.ts +216 -78
  530. package/src/apps/data/routes/valuation.test.ts +62 -9
  531. package/src/apps/data/routes/valuation.ts +2 -2
  532. package/src/apps/data/routes/verified-tokens.test.ts +51 -0
  533. package/src/apps/data/routes/verified-tokens.ts +52 -15
  534. package/src/apps/data/routes/webhooks.test.ts +432 -33
  535. package/src/apps/data/routes/webhooks.ts +189 -79
  536. package/src/apps/data/routes/zones.test.ts +473 -0
  537. package/src/apps/data/routes/zones.ts +338 -0
  538. package/src/apps/docs/reference.ts +8 -6
  539. package/src/apps/index.ts +2 -1
  540. package/src/apps/management/Billing.test.ts +29 -0
  541. package/src/apps/management/Billing.ts +23 -0
  542. package/src/apps/management/Error.ts +12 -0
  543. package/src/apps/management/routes/api-keys.test.ts +5 -3
  544. package/src/apps/management/routes/api-keys.ts +2 -9
  545. package/src/apps/management/routes/invitations.ts +4 -11
  546. package/src/apps/management/routes/orgs.ts +2 -9
  547. package/src/apps/management/routes/scopes.test.ts +7 -2
  548. package/src/apps/management/routes/scopes.ts +2 -2
  549. package/src/apps/management/routes/webhooks.test.ts +6 -1
  550. package/src/apps/management/routes/webhooks.ts +15 -3
  551. package/src/apps/mpp/App.ts +276 -29
  552. package/src/apps/mpp/Mpp.test.ts +631 -26
  553. package/src/apps/mpp/Mpp.ts +0 -42
  554. package/src/apps/mpp/internal/Adapter.ts +108 -3
  555. package/src/apps/mpp/internal/Error.test.ts +33 -0
  556. package/src/apps/mpp/internal/Error.ts +44 -6
  557. package/src/apps/mpp/internal/Idempotency.test.ts +213 -0
  558. package/src/apps/mpp/internal/Idempotency.ts +59 -5
  559. package/src/apps/mpp/internal/Policy.test.ts +122 -0
  560. package/src/apps/mpp/internal/Policy.ts +98 -0
  561. package/src/apps/mpp/internal/ScreenManager.test.ts +68 -0
  562. package/src/apps/mpp/internal/ScreenManager.ts +41 -0
  563. package/src/apps/mpp/internal/Screening.ts +40 -3
  564. package/src/apps/mpp/internal/Sponsorship.ts +144 -0
  565. package/src/apps/mpp/internal/Utils.ts +30 -0
  566. package/src/apps/relay/App.test.ts +495 -64
  567. package/src/apps/relay/App.ts +234 -24
  568. package/src/apps/relay/Sponsorships.test.ts +51 -0
  569. package/src/apps/relay/Sponsorships.ts +19 -7
  570. package/src/db/Db.ts +439 -0
  571. package/src/db/Schema.ts +325 -2
  572. package/src/db/tables/earnVaults.test.ts +185 -0
  573. package/src/db/tables/earnVaults.ts +151 -0
  574. package/src/db/tables/fundingCatalog.test.ts +108 -0
  575. package/src/db/tables/fundingCatalog.ts +157 -0
  576. package/src/db/tables/fundingDepositAddresses.test.ts +580 -0
  577. package/src/db/tables/fundingDepositAddresses.ts +376 -0
  578. package/src/db/tables/fundingDeposits.test.ts +261 -0
  579. package/src/db/tables/fundingDeposits.ts +229 -0
  580. package/src/db/tables/fundingIdempotency.test.ts +182 -0
  581. package/src/db/tables/fundingIdempotency.ts +180 -0
  582. package/src/db/tables/fundingTransferEvents.ts +28 -0
  583. package/src/db/tables/fundingTransferTransactions.test.ts +69 -0
  584. package/src/db/tables/fundingTransferTransactions.ts +37 -0
  585. package/src/db/tables/fundingTransfers.test.ts +89 -0
  586. package/src/db/tables/fundingTransfers.ts +153 -0
  587. package/src/db/tables/organizations.test.ts +88 -0
  588. package/src/db/tables/organizations.ts +42 -1
  589. package/src/db/tables/projects.ts +16 -0
  590. package/src/db/tables/requestUsage.ts +23 -0
  591. package/src/db/tables/sponsoredTransactions.test.ts +52 -2
  592. package/src/db/tables/sponsoredTransactions.ts +18 -6
  593. package/src/db/tables/users.ts +16 -0
  594. package/src/db/tables/verifiedTokens.ts +19 -14
  595. package/src/db/tables/webhookSubscriptions.ts +58 -3
  596. package/src/handlers/relay.test.ts +2 -0
  597. package/src/handlers/relay.ts +95 -99
  598. package/src/internal/Auth.test.ts +48 -0
  599. package/src/internal/Auth.ts +61 -2
  600. package/src/internal/Cache.ts +13 -9
  601. package/src/internal/Cursor.test.ts +2 -2
  602. package/src/internal/Cursor.ts +1 -1
  603. package/src/internal/EarnRates.test.ts +125 -0
  604. package/src/internal/EarnRates.ts +409 -0
  605. package/src/internal/EarnVaults.test.ts +195 -0
  606. package/src/internal/EarnVaults.ts +876 -0
  607. package/src/internal/EdgeCache.test.ts +37 -5
  608. package/src/internal/EdgeCache.ts +39 -7
  609. package/src/internal/Id.ts +14 -0
  610. package/src/internal/Idempotency.test.ts +109 -0
  611. package/src/internal/Idempotency.ts +237 -0
  612. package/src/internal/Log.test-d.ts +41 -8
  613. package/src/internal/Log.test.ts +189 -8
  614. package/src/internal/Log.ts +124 -17
  615. package/src/internal/MetricSink.test.ts +244 -4
  616. package/src/internal/MetricSink.ts +51 -1
  617. package/src/internal/OpenApi.ts +3 -0
  618. package/src/internal/Provider.test.ts +17 -0
  619. package/src/internal/Provider.ts +17 -0
  620. package/src/internal/Schema.test.ts +13 -0
  621. package/src/internal/Schema.ts +41 -24
  622. package/src/internal/Store.test.ts +25 -0
  623. package/src/internal/Store.ts +46 -0
  624. package/src/internal/Tidx.local.test.ts +78 -3
  625. package/src/internal/Tidx.test.ts +212 -18
  626. package/src/internal/Tidx.ts +112 -32
  627. package/src/internal/VerifiedTokens.test.ts +15 -0
  628. package/src/internal/Viem.test.ts +170 -17
  629. package/src/internal/Viem.ts +111 -28
  630. package/src/internal/WebhookDestination.ts +25 -23
  631. package/src/internal/Webhooks.test.ts +59 -0
  632. package/src/internal/Webhooks.ts +34 -10
  633. package/src/internal/exchange/Provider.test.ts +216 -0
  634. package/src/internal/exchange/Provider.ts +326 -0
  635. package/src/internal/exchange/index.test.ts +6 -0
  636. package/src/internal/exchange/index.ts +1 -0
  637. package/src/internal/exchange/providers/uniswap.test.ts +122 -0
  638. package/src/internal/exchange/providers/uniswap.ts +682 -0
  639. package/src/internal/funding/Action.test.ts +138 -0
  640. package/src/internal/funding/Action.ts +117 -0
  641. package/src/internal/funding/Catalog.test.ts +311 -0
  642. package/src/internal/funding/Catalog.ts +347 -0
  643. package/src/internal/funding/Chain.test.ts +79 -0
  644. package/src/internal/funding/Chain.ts +120 -0
  645. package/src/internal/funding/Deposit.test.ts +26 -0
  646. package/src/internal/funding/Deposit.ts +453 -0
  647. package/src/internal/funding/DepositAddress.test.ts +18 -0
  648. package/src/internal/funding/DepositAddress.ts +312 -0
  649. package/src/internal/funding/Evidence.test.ts +297 -0
  650. package/src/internal/funding/Evidence.ts +430 -0
  651. package/src/internal/funding/Provider.test.ts +1328 -0
  652. package/src/internal/funding/Provider.ts +1796 -0
  653. package/src/internal/funding/Reconciliation.local.test.ts +504 -0
  654. package/src/internal/funding/Reconciliation.test.ts +2020 -0
  655. package/src/internal/funding/Reconciliation.ts +930 -0
  656. package/src/internal/funding/Route.test.ts +66 -0
  657. package/src/internal/funding/Route.ts +29 -0
  658. package/src/internal/funding/Subsidy.local.test.ts +152 -0
  659. package/src/internal/funding/Subsidy.test.ts +75 -0
  660. package/src/internal/funding/Subsidy.ts +260 -0
  661. package/src/internal/funding/Token.test.ts +47 -0
  662. package/src/internal/funding/Token.ts +59 -0
  663. package/src/internal/funding/Transfer.test.ts +369 -0
  664. package/src/internal/funding/Transfer.ts +522 -0
  665. package/src/internal/funding/index.test.ts +20 -0
  666. package/src/internal/funding/index.ts +12 -0
  667. package/src/internal/funding/providers/across.ts +149 -0
  668. package/src/{apps/data/FundingQuoteProviders.test.ts → internal/funding/providers/index.test.ts} +178 -157
  669. package/src/internal/funding/providers/relay.test.ts +474 -0
  670. package/src/internal/funding/providers/relay.ts +559 -0
  671. package/src/internal/funding/providers/rhino.ts +139 -0
  672. package/src/internal/funding/providers/squid.ts +151 -0
  673. package/src/internal/funding/providers/symbiosis.ts +221 -0
  674. package/src/internal/index.test.ts +5 -1
  675. package/src/internal/index.ts +5 -1
  676. package/src/internal/webhookDestinations/url.ts +49 -45
  677. package/src/providers/index.test.ts +14 -0
  678. package/src/providers/index.ts +54 -0
  679. package/dist/apps/data/FundingQuoteProviders.d.ts +0 -174
  680. package/dist/apps/data/FundingQuoteProviders.d.ts.map +0 -1
  681. package/dist/apps/data/FundingQuoteProviders.js +0 -775
  682. package/dist/apps/data/FundingQuoteProviders.js.map +0 -1
  683. package/dist/internal/FundingQuotes.d.ts +0 -864
  684. package/dist/internal/FundingQuotes.d.ts.map +0 -1
  685. package/dist/internal/FundingQuotes.js +0 -672
  686. package/dist/internal/FundingQuotes.js.map +0 -1
  687. package/src/apps/data/FundingQuoteProviders.ts +0 -1043
  688. package/src/internal/FundingQuotes.test.ts +0 -456
  689. package/src/internal/FundingQuotes.ts +0 -944
@@ -1 +1 @@
1
- {"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../src/internal/Cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AAG3D,OAAO,KAAK,KAAK,CAAC,MAAM,UAAU,CAAA;AAIlC;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ;IACnB;;;;;;;;OAQG;aACH,KAAK,EAAE,sDAAsD;IAC7D,wDAAwD;aACxD,OAAO,EAAE,iDAAiD;IAC1D,+EAA+E;aAC/E,IAAI,EAAE,gDAAgD;IACtD,iFAAiF;aACjF,SAAS,EAAE,uDAAuD;IAClE,0DAA0D;aAC1D,QAAQ,EAAE,iDAAiD;IAC3D,iEAAiE;aACjE,OAAO,EAAE,UAAU;IACnB,oDAAoD;aACpD,MAAM,EAAE,mDAAmD;IAC3D,oEAAoE;aACpE,KAAK,EAAE,iDAAiD;CAChD,CAAA;AAEV;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,WAAW,SAAS,GAAG,EAC/C,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,EACvB,YAAY,EAAE,MAAM,GACnB,IAAI,CAEN;AAED,mCAAmC;AACnC,wBAAgB,QAAQ,CAAC,WAAW,SAAS,GAAG,EAC9C,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,GACrC,iBAAiB,CAAC,WAAW,CAAC,CAwGhC;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,oCAAoC;IACpC,KAAK,OAAO,CAAC,WAAW,SAAS,GAAG,IAAI;QACtC,+CAA+C;QAC/C,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACjC,oDAAoD;QACpD,IAAI,EAAE,MAAM,CAAA;QACZ,2BAA2B;QAC3B,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;QAC1D,wDAAwD;QACxD,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;KACrC,CAAA;CACF;AAED,yBAAiB,QAAQ,CAAC;IACxB,6EAA6E;IACtE,MAAM,gBAAgB,UAAgE,CAAA;CAC9F;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CACpB,WAAW,SAAS;IAAE,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EACtD,MAAM,SAAS,CAAC,CAAC,WAAW,EAC5B,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAsBjD"}
1
+ {"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../src/internal/Cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AAG3D,OAAO,KAAK,KAAK,CAAC,MAAM,UAAU,CAAA;AAIlC;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ;IACnB;;;;;;;;OAQG;aACH,KAAK,EAAE,sDAAsD;IAC7D,wDAAwD;aACxD,OAAO,EAAE,iDAAiD;IAC1D,+EAA+E;aAC/E,IAAI,EAAE,gDAAgD;IACtD,iFAAiF;aACjF,SAAS,EAAE,uDAAuD;IAClE,0DAA0D;aAC1D,QAAQ,EAAE,iDAAiD;IAC3D,iEAAiE;aACjE,OAAO,EAAE,UAAU;IACnB,oDAAoD;aACpD,MAAM,EAAE,mDAAmD;IAC3D,oEAAoE;aACpE,KAAK,EAAE,iDAAiD;CAChD,CAAA;AAEV;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,WAAW,SAAS,GAAG,EAC/C,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,EACvB,YAAY,EAAE,MAAM,GACnB,IAAI,CAEN;AAED,mCAAmC;AACnC,wBAAgB,QAAQ,CAAC,WAAW,SAAS,GAAG,EAC9C,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,GACrC,iBAAiB,CAAC,WAAW,CAAC,CA0GhC;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,oCAAoC;IACpC,KAAK,OAAO,CAAC,WAAW,SAAS,GAAG,IAAI;QACtC,+CAA+C;QAC/C,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACjC,oDAAoD;QACpD,IAAI,EAAE,MAAM,CAAA;QACZ,2BAA2B;QAC3B,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;QAC1D,wDAAwD;QACxD,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;KACrC,CAAA;CACF;AAED,yBAAiB,QAAQ,CAAC;IACxB,6EAA6E;IACtE,MAAM,gBAAgB,UAAgE,CAAA;CAC9F;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CACpB,WAAW,SAAS;IAAE,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EACtD,MAAM,SAAS,CAAC,CAAC,WAAW,EAC5B,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAsBjD"}
@@ -116,7 +116,7 @@ export function response(options) {
116
116
  c.set('edgeCache', edgeCachePolicy(cacheControl));
117
117
  let res = result instanceof Response ? new Response(result.body, result) : c.res;
118
118
  if (result instanceof Response &&
119
- etagMatches(res.headers.get('ETag'), c.req.header('If-None-Match')))
119
+ Etag.matches(res.headers.get('ETag'), c.req.header('If-None-Match')))
120
120
  res = notModified(res);
121
121
  // Apply private client cache headers after Hono cache storage; the stored
122
122
  // copy carries the shared `public, s-maxage` form stamped above, while the
@@ -134,7 +134,9 @@ export function response(options) {
134
134
  };
135
135
  // `markCacheable` lets the edge layer pay its store lookup only on routes
136
136
  // that mount this middleware; everything else skips the read.
137
- return EdgeCache.markCacheable(middleware);
137
+ return EdgeCache.markCacheable(middleware, {
138
+ key: options.key,
139
+ });
138
140
  }
139
141
  (function (response) {
140
142
  /** Per-request headers that must not be stored in shared response caches. */
@@ -168,11 +170,18 @@ export function urlKey(c, schema) {
168
170
  }
169
171
  return url.toString();
170
172
  }
171
- function etagMatches(etag, ifNoneMatch) {
172
- if (!etag || !ifNoneMatch)
173
- return false;
174
- return ifNoneMatch.split(/,\s*/).some((tag) => stripWeak(tag) === stripWeak(etag));
175
- }
173
+ var Etag;
174
+ (function (Etag) {
175
+ function matches(etag, ifNoneMatch) {
176
+ if (!etag || !ifNoneMatch)
177
+ return false;
178
+ return ifNoneMatch.split(/,\s*/).some((tag) => stripWeak(tag) === stripWeak(etag));
179
+ }
180
+ Etag.matches = matches;
181
+ function stripWeak(etag) {
182
+ return etag.replace(/^W\//, '');
183
+ }
184
+ })(Etag || (Etag = {}));
176
185
  function notModified(response) {
177
186
  const headers = new Headers();
178
187
  for (const name of RETAINED_304_HEADERS) {
@@ -197,9 +206,6 @@ function setCacheHeaders(headers, options) {
197
206
  vary.set(value.toLowerCase(), value);
198
207
  headers.set('Vary', Array.from(vary.values()).join(', '));
199
208
  }
200
- function stripWeak(etag) {
201
- return etag.replace(/^W\//, '');
202
- }
203
209
  // Derive the shared-cache policy from a route's client `Cache-Control`. A
204
210
  // positive `s-maxage`/`max-age` (and no `no-store`/`no-cache`) is what makes a
205
211
  // route eligible for the anonymous edge cache; the `private` directive only
@@ -1 +1 @@
1
- {"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../src/internal/Cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../src/internal/Cache.ts"],"names":[],"mappings":"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"}
@@ -106,7 +106,7 @@ function isValid(value, field) {
106
106
  case 'address':
107
107
  return typeof value === 'string' && /^0x[0-9a-fA-F]{40}$/.test(value);
108
108
  case 'id':
109
- return typeof value === 'string' && /^[A-Za-z0-9_-]+$/.test(value);
109
+ return typeof value === 'string' && /^[A-Za-z0-9:_-]+$/.test(value);
110
110
  case 'timestamp':
111
111
  return typeof value === 'string' && !Number.isNaN(Date.parse(value));
112
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Cursor.js","sourceRoot":"","sources":["../../src/internal/Cursor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Cursor.js","sourceRoot":"","sources":["../../src/internal/Cursor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import type { Address } from 'viem';
2
+ import * as z from 'zod/mini';
3
+ import * as Store from './Store.js';
4
+ import type * as Tidx from './Tidx.js';
5
+ import type * as Viem from './Viem.js';
6
+ /**
7
+ * Selectable measurement windows. A closed set bounds both the rate cache and
8
+ * the historical read volume: every distinct window is its own cache entry and
9
+ * its own pair of boundary reads.
10
+ */
11
+ declare const windows: readonly ['1h', '1d', '7d', '30d'];
12
+ /** Zod schemas owned by the Earn rate resolver. */
13
+ export declare namespace schema {
14
+ /** Annualized share-price growth over one measurement window. */
15
+ const Apy: z.ZodMiniObject<{
16
+ asOf: z.ZodMiniISODateTime;
17
+ methodology: z.ZodMiniLiteral<"share-price-growth-annualized:v1">;
18
+ net: z.ZodMiniString<string>;
19
+ window: z.ZodMiniEnum<{
20
+ "1d": "1d";
21
+ "1h": "1h";
22
+ "30d": "30d";
23
+ "7d": "7d";
24
+ }>;
25
+ }, z.core.$strict>;
26
+ /**
27
+ * Measurement window selected by a request. Stays absent when omitted so a
28
+ * caller who never asked for a rate is distinguishable from one who selected
29
+ * the default window.
30
+ */
31
+ const Window: z.ZodMiniOptional<z.ZodMiniEnum<{
32
+ "1d": "1d";
33
+ "1h": "1h";
34
+ "30d": "30d";
35
+ "7d": "7d";
36
+ }>>;
37
+ }
38
+ /** Annualized share-price growth over one measurement window. */
39
+ export type Apy = z.output<typeof schema.Apy>;
40
+ /** Selectable rate measurement window. */
41
+ export type Window = (typeof windows)[number];
42
+ /** Returns the confirmed 15-minute UTC bucket rates are measured to. */
43
+ export declare function asOf(): string;
44
+ /**
45
+ * Resolves the annualized rate of every vault on a page, keyed by lowercase
46
+ * vault address. A vault maps to `null` when its rate cannot be measured.
47
+ */
48
+ export declare function resolve(options: resolve.Options): Promise<Map<string, Apy | null>>;
49
+ export declare namespace resolve {
50
+ /** Options for resolving a page of Earn vault rates. */
51
+ type Options = {
52
+ /** Chain containing the vaults. */
53
+ chainId: number;
54
+ /** Resolves the RPC client used for historical share-price quotes. */
55
+ getClient: Viem.GetClient;
56
+ /** Resolves the indexer client used for block and migration history. */
57
+ getTidx: Tidx.GetClient;
58
+ /** Cache backing measured rates. */
59
+ store: Store.Store;
60
+ /** Vault addresses appearing on the page. */
61
+ vaults: readonly Address[];
62
+ /** Canonical measurement window, defaulting to `7d`. */
63
+ window?: Window | undefined;
64
+ };
65
+ }
66
+ /**
67
+ * Annualizes share-price growth between two measured boundaries. Returns `null`
68
+ * for a degenerate window, a zero starting price, or growth too extreme to
69
+ * express as a decimal ratio.
70
+ */
71
+ export declare function annualize(options: annualize.Options): string | null;
72
+ export declare namespace annualize {
73
+ /** One measured boundary of the window. */
74
+ type Boundary = {
75
+ /** Assets quoted for the shared share amount, in asset base units. */
76
+ price: bigint;
77
+ /** Block timestamp, in seconds. */
78
+ timestamp: number;
79
+ };
80
+ /** Options for annualizing measured share-price growth. */
81
+ type Options = {
82
+ /** Newer boundary of the window. */
83
+ end: Boundary;
84
+ /** Older boundary of the window. */
85
+ start: Boundary;
86
+ };
87
+ }
88
+ export {};
89
+ //# sourceMappingURL=EarnRates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EarnRates.d.ts","sourceRoot":"","sources":["../../src/internal/EarnRates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAG7B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAA;AAGtC,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAA;AAiBtC;;;;GAIG;AACH,QAAA,MAAM,OAAO,YAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAU,CAAA;AAiClD,mDAAmD;AACnD,yBAAiB,MAAM,CAAC;IACtB,iEAAiE;IAC1D,MAAM,GAAG;;;;;;;;;;sBAyBkE,CAAA;IAElF;;;;OAIG;IACI,MAAM,MAAM;;;;;OAOhB,CAAA;CACJ;AAED,iEAAiE;AACjE,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;AAE7C,0CAA0C;AAC1C,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7C,wEAAwE;AACxE,wBAAgB,IAAI,IAAI,MAAM,CAG7B;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAsCxF;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,wDAAwD;IACxD,KAAK,OAAO,GAAG;QACb,mCAAmC;QACnC,OAAO,EAAE,MAAM,CAAA;QACf,sEAAsE;QACtE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAA;QACzB,wEAAwE;QACxE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAA;QACvB,oCAAoC;QACpC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAA;QAClB,6CAA6C;QAC7C,MAAM,EAAE,SAAS,OAAO,EAAE,CAAA;QAC1B,wDAAwD;QACxD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC5B,CAAA;CACF;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,CAOnE;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,2CAA2C;IAC3C,KAAK,QAAQ,GAAG;QACd,sEAAsE;QACtE,KAAK,EAAE,MAAM,CAAA;QACb,mCAAmC;QACnC,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;IAED,2DAA2D;IAC3D,KAAK,OAAO,GAAG;QACb,oCAAoC;QACpC,GAAG,EAAE,QAAQ,CAAA;QACb,oCAAoC;QACpC,KAAK,EAAE,QAAQ,CAAA;KAChB,CAAA;CACF"}
@@ -0,0 +1,266 @@
1
+ import * as z from 'zod/mini';
2
+ import * as Schema from './Schema.js';
3
+ import * as Store from './Store.js';
4
+ import * as Ttl from './Ttl.js';
5
+ import * as Value from './Value.js';
6
+ const migratedSignature = 'event EngineMigrated(address indexed oldEngine,address indexed newEngine,uint256 oldEngineShares,uint256 assetsMoved,uint256 newEngineShares,uint256 totalEarnShares,uint256 anchorEngineShares,uint256 anchorEarnShares)';
7
+ /** Identifier of the rate calculation, versioned so a change is visible to callers. */
8
+ const methodology = 'share-price-growth-annualized:v1';
9
+ /** Width of the UTC bucket every measurement is anchored to. */
10
+ const bucketWidth = Ttl.minutes(15);
11
+ /** Withheld from the anchor so an unconfirmed head block cannot move a boundary. */
12
+ const confirmationDelay = Ttl.seconds(30);
13
+ /** Default window, used when the caller does not select one. */
14
+ const defaultWindow = '7d';
15
+ /**
16
+ * Selectable measurement windows. A closed set bounds both the rate cache and
17
+ * the historical read volume: every distinct window is its own cache entry and
18
+ * its own pair of boundary reads.
19
+ */
20
+ const windows = ['1h', '1d', '7d', '30d'];
21
+ /** Length of every selectable window in whole hours. */
22
+ const windowHours = {
23
+ '1h': 1,
24
+ '1d': 24,
25
+ '7d': 24 * 7,
26
+ '30d': 24 * 30,
27
+ };
28
+ /** Longest selectable window, which also bounds the migration scan. */
29
+ const maxWindowHours = Math.max(...Object.values(windowHours));
30
+ /**
31
+ * Row cap on the migration scan. Engine migrations are rare, so a scan that
32
+ * fills the cap cannot be trusted to be complete and resets every window.
33
+ */
34
+ const migrationScanLimit = 500;
35
+ /** Decimal places of the returned ratio, matching the API's value precision. */
36
+ const netPrecision = 6;
37
+ /** `Number.toFixed` switches to exponential notation here, which the ratio contract forbids. */
38
+ const netCeiling = 1e21;
39
+ /**
40
+ * Shares quoted at both boundaries. Large so the assets-per-share ratio is not
41
+ * quantized by asset base units; the amount cancels in the ratio.
42
+ */
43
+ const quotedShares = 10n ** 18n;
44
+ const secondsPerYear = 365 * 24 * 60 * 60;
45
+ /** Zod schemas owned by the Earn rate resolver. */
46
+ export var schema;
47
+ (function (schema) {
48
+ /** Annualized share-price growth over one measurement window. */
49
+ schema.Apy = z
50
+ .strictObject({
51
+ asOf: z.iso
52
+ .datetime()
53
+ .check(z.describe('UTC instant the rate was measured to, rounded to a 15-minute bucket.'), z.meta({ examples: ['2026-07-21T09:00:00.000Z'] })),
54
+ methodology: z
55
+ .literal(methodology)
56
+ .check(z.describe('Identifier of the calculation that produced this rate.'), z.meta({ examples: [methodology] })),
57
+ net: z
58
+ .string()
59
+ .check(z.regex(/^-?\d+(\.\d+)?$/), z.describe('Annualized fee-aware share-price growth, as a decimal ratio.'), z.meta({ examples: ['0.041200'] })),
60
+ window: z
61
+ .enum(windows)
62
+ .check(z.describe('Window this rate covers.'), z.meta({ examples: [defaultWindow] })),
63
+ })
64
+ .check(z.describe('Annualized share-price growth over one measurement window.'));
65
+ /**
66
+ * Measurement window selected by a request. Stays absent when omitted so a
67
+ * caller who never asked for a rate is distinguishable from one who selected
68
+ * the default window.
69
+ */
70
+ schema.Window = z
71
+ .optional(z.enum(windows))
72
+ .check(z.describe('Rate measurement window. Selecting a window includes `apy`, which measures `7d` on its own.'), z.meta({ examples: [defaultWindow] }));
73
+ })(schema || (schema = {}));
74
+ /** Returns the confirmed 15-minute UTC bucket rates are measured to. */
75
+ export function asOf() {
76
+ const anchor = Math.floor((Date.now() - confirmationDelay) / bucketWidth) * bucketWidth;
77
+ return new Date(anchor).toISOString();
78
+ }
79
+ /**
80
+ * Resolves the annualized rate of every vault on a page, keyed by lowercase
81
+ * vault address. A vault maps to `null` when its rate cannot be measured.
82
+ */
83
+ export async function resolve(options) {
84
+ const { chainId, store } = options;
85
+ const window = options.window ?? defaultWindow;
86
+ const vaults = [...new Set(options.vaults.map((vault) => Schema.Address.parse(vault)))];
87
+ if (vaults.length === 0)
88
+ return new Map();
89
+ const measuredAt = asOf();
90
+ let pending;
91
+ // Boundary blocks, the migration scan, and both quote batches load once per
92
+ // page, and only when a vault misses its cached rate. Rate enrichment never
93
+ // fails a page, so an unreadable window leaves every vault unmeasured.
94
+ const measure = () => (pending ??= measurePage({ ...options, measuredAt, vaults, window }).catch(() => undefined));
95
+ const entries = await Promise.all(vaults.map(async (vault) => {
96
+ const apy = await Store.memoize(async () => {
97
+ const measured = await measure();
98
+ const net = measured?.rates.get(vault);
99
+ if (net === undefined || measured === undefined)
100
+ return null;
101
+ // Labelled with the boundaries' own instant: cached boundaries can
102
+ // predate this request's bucket, and the label must match the prices.
103
+ return { asOf: measured.measuredAt, methodology, net, window };
104
+ }, {
105
+ // Keyed without the bucket so the entry is revisited and lazily
106
+ // evicted; `fx:v1:<oracle>` sets the same stable-key precedent. The
107
+ // cached value keeps the `asOf` it was measured at.
108
+ key: `earn-apy:v1:${chainId}:${vault}:${window}`,
109
+ store,
110
+ ttl: bucketWidth,
111
+ });
112
+ return [vault, apy];
113
+ }));
114
+ return new Map(entries);
115
+ }
116
+ /**
117
+ * Annualizes share-price growth between two measured boundaries. Returns `null`
118
+ * for a degenerate window, a zero starting price, or growth too extreme to
119
+ * express as a decimal ratio.
120
+ */
121
+ export function annualize(options) {
122
+ const { end, start } = options;
123
+ const elapsed = end.timestamp - start.timestamp;
124
+ if (elapsed <= 0 || start.price <= 0n)
125
+ return null;
126
+ const net = (Number(end.price) / Number(start.price)) ** (secondsPerYear / elapsed) - 1;
127
+ if (!Number.isFinite(net) || Math.abs(net) >= netCeiling)
128
+ return null;
129
+ return net.toFixed(netPrecision);
130
+ }
131
+ async function measurePage(options) {
132
+ const endAt = Date.parse(options.measuredAt);
133
+ const boundaries = await boundaryBlocks({
134
+ ...options,
135
+ endAt,
136
+ startAt: endAt - windowHours[options.window] * Ttl.hour(1),
137
+ });
138
+ if (!boundaries)
139
+ return undefined;
140
+ const { end, measuredAt, start } = boundaries;
141
+ const client = options.getClient(options.chainId);
142
+ const quote = (blockNumber, vault) => client.earn.getRedeemQuote({ blockNumber, shareAmount: quotedShares, vault }).then((price) => price, () => undefined);
143
+ const rates = new Map();
144
+ await Promise.all(options.vaults.map(async (vault) => {
145
+ // Concurrent quotes collapse into one deployless multicall per block.
146
+ const [startPrice, endPrice] = await Promise.all([
147
+ quote(start.number, vault),
148
+ quote(end.number, vault),
149
+ ]);
150
+ if (startPrice === undefined || endPrice === undefined)
151
+ return;
152
+ const net = annualize({
153
+ end: { price: endPrice, timestamp: end.timestamp },
154
+ start: { price: startPrice, timestamp: start.timestamp },
155
+ });
156
+ if (net !== null)
157
+ rates.set(vault, net);
158
+ }));
159
+ if (rates.size === 0)
160
+ return { measuredAt, rates };
161
+ // A migration inside the window bridges two different yield engines, so the
162
+ // window resets instead of reporting growth across the swap. Scanned only
163
+ // once a rate exists for it to invalidate.
164
+ const migrations = await recentMigrations(options);
165
+ if (!migrations)
166
+ return undefined;
167
+ for (const { blockNumber, vault } of migrations)
168
+ if (blockNumber > start.number && blockNumber <= end.number)
169
+ rates.delete(vault);
170
+ return { measuredAt, rates };
171
+ }
172
+ /**
173
+ * Resolves the last indexed block at or before each end of the window. Returns
174
+ * undefined when either boundary is missing, both land on one block, or the
175
+ * indexer lags a boundary.
176
+ */
177
+ async function boundaryBlocks(options) {
178
+ const { chainId, endAt, startAt, window } = options;
179
+ const endInstant = new Date(endAt).toISOString();
180
+ const startInstant = new Date(startAt).toISOString();
181
+ const measured = await Store.memoize(async () => {
182
+ // `blocks` indexes every block, empty ones included, so the last row at or
183
+ // before an instant is the exact boundary. Both boundaries share one
184
+ // request because the indexer sheds load by request count, not rows read.
185
+ const result = await options.getTidx(chainId).fetch({
186
+ chainId,
187
+ query: `
188
+ (SELECT num, timestamp FROM blocks WHERE timestamp <= '${endInstant}' ORDER BY num DESC LIMIT 1)
189
+ UNION ALL
190
+ (SELECT num, timestamp FROM blocks WHERE timestamp <= '${startInstant}' ORDER BY num DESC LIMIT 1)
191
+ `,
192
+ });
193
+ const rows = result.rows.flatMap((row) => {
194
+ const number = Value.toIntegerString(row['num']);
195
+ const timestamp = Value.toIsoDateTime(row['timestamp']);
196
+ return number === undefined || timestamp === undefined
197
+ ? []
198
+ : [{ number, timestamp: Math.floor(Date.parse(timestamp) / 1000) }];
199
+ });
200
+ // The instants travel with the rows so a hit from an earlier bucket is
201
+ // judged, and labelled, against the instants it was resolved for.
202
+ return { endAt, rows, startAt };
203
+ }, {
204
+ key: `earn-apy:v1:${chainId}:blocks:${window}`,
205
+ store: options.store,
206
+ ttl: bucketWidth,
207
+ });
208
+ // The window start precedes indexed history whenever a boundary is missing;
209
+ // the newer boundary always resolves once the older one does.
210
+ const [end, start] = [...measured.rows].sort((a, b) => BigInt(a.number) < BigInt(b.number) ? 1 : -1);
211
+ if (!end || !start || end.number === start.number)
212
+ return undefined;
213
+ // A boundary further behind its instant than one bucket means the indexer is
214
+ // lagging, and the measured elapsed time would not match the window.
215
+ if (measured.endAt - end.timestamp * 1000 > bucketWidth)
216
+ return undefined;
217
+ if (measured.startAt - start.timestamp * 1000 > bucketWidth)
218
+ return undefined;
219
+ return {
220
+ end: { number: BigInt(end.number), timestamp: end.timestamp },
221
+ measuredAt: new Date(measured.endAt).toISOString(),
222
+ start: { number: BigInt(start.number), timestamp: start.timestamp },
223
+ };
224
+ }
225
+ /**
226
+ * Engine migrations indexed over the longest selectable window, so one scan
227
+ * serves every window and page anchored to the same instant. Returns undefined
228
+ * when the scan filled its row cap and a migration may be missing.
229
+ */
230
+ async function recentMigrations(options) {
231
+ const { chainId, measuredAt } = options;
232
+ // One bucket of slack because this scan and the boundaries expire
233
+ // independently; scanning further back only resets more windows.
234
+ const since = new Date(Date.parse(measuredAt) - maxWindowHours * Ttl.hour(1) - bucketWidth).toISOString();
235
+ const migrations = await Store.memoize(async () => {
236
+ // The emitting `address` is the vault; page and window filtering happens
237
+ // on the scanned rows so this stays one query per anchor.
238
+ const result = await options.getTidx(chainId).fetch({
239
+ chainId,
240
+ query: `
241
+ SELECT address, block_num
242
+ FROM EngineMigrated
243
+ WHERE block_timestamp > '${since}' AND block_timestamp <= '${measuredAt}'
244
+ ORDER BY block_num DESC
245
+ LIMIT ${migrationScanLimit + 1}
246
+ `,
247
+ signatures: [migratedSignature],
248
+ });
249
+ const rows = result.rows;
250
+ if (rows.length > migrationScanLimit)
251
+ return null;
252
+ return rows.flatMap((row) => {
253
+ const blockNumber = Value.toIntegerString(row['block_num']);
254
+ const vault = Value.toText(row['address']);
255
+ return blockNumber && vault ? [{ blockNumber, vault: vault.toLowerCase() }] : [];
256
+ });
257
+ }, {
258
+ key: `earn-apy:v1:${chainId}:migrations`,
259
+ store: options.store,
260
+ ttl: bucketWidth,
261
+ });
262
+ if (!migrations)
263
+ return undefined;
264
+ return migrations.map(({ blockNumber, vault }) => ({ blockNumber: BigInt(blockNumber), vault }));
265
+ }
266
+ //# sourceMappingURL=EarnRates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EarnRates.js","sourceRoot":"","sources":["../../src/internal/EarnRates.ts"],"names":[],"mappings":"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"}