tapimo 0.19.0 → 0.20.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 (494) hide show
  1. package/README.md +13 -5
  2. package/dist/ApiKey.d.ts +2 -2
  3. package/dist/ApiKey.d.ts.map +1 -1
  4. package/dist/ApiKey.js +2 -2
  5. package/dist/ApiKey.js.map +1 -1
  6. package/dist/ApiKeys.d.ts +85 -11
  7. package/dist/ApiKeys.d.ts.map +1 -1
  8. package/dist/ApiKeys.js +218 -56
  9. package/dist/ApiKeys.js.map +1 -1
  10. package/dist/App.d.ts +12543 -13912
  11. package/dist/App.d.ts.map +1 -1
  12. package/dist/App.js +4 -5
  13. package/dist/App.js.map +1 -1
  14. package/dist/Scope.d.ts +12 -20
  15. package/dist/Scope.d.ts.map +1 -1
  16. package/dist/Scope.js +20 -36
  17. package/dist/Scope.js.map +1 -1
  18. package/dist/admin/App.d.ts +871 -828
  19. package/dist/admin/App.d.ts.map +1 -1
  20. package/dist/admin/App.js +14 -26
  21. package/dist/admin/App.js.map +1 -1
  22. package/dist/admin/apps/api-keys.d.ts +93 -186
  23. package/dist/admin/apps/api-keys.d.ts.map +1 -1
  24. package/dist/admin/apps/api-keys.js +3 -5
  25. package/dist/admin/apps/api-keys.js.map +1 -1
  26. package/dist/admin/apps/audit-logs.d.ts +18 -18
  27. package/dist/admin/apps/audit-logs.js +1 -1
  28. package/dist/admin/apps/audit-logs.js.map +1 -1
  29. package/dist/admin/apps/earn-vaults.d.ts +27 -27
  30. package/dist/admin/apps/earn-vaults.d.ts.map +1 -1
  31. package/dist/admin/apps/earn-vaults.js +11 -5
  32. package/dist/admin/apps/earn-vaults.js.map +1 -1
  33. package/dist/admin/apps/organizations.d.ts +17 -17
  34. package/dist/admin/apps/prop-amms.d.ts +4 -4
  35. package/dist/admin/apps/routes-support.js +1 -38
  36. package/dist/admin/apps/routes-support.js.map +1 -1
  37. package/dist/admin/apps/routes.d.ts +153 -153
  38. package/dist/admin/apps/sentinel.d.ts +4 -4
  39. package/dist/admin/apps/verified-tokens.d.ts +24 -24
  40. package/dist/admin/apps/zone-delegation-requests.d.ts +332 -0
  41. package/dist/admin/apps/zone-delegation-requests.d.ts.map +1 -0
  42. package/dist/admin/apps/zone-delegation-requests.js +200 -0
  43. package/dist/admin/apps/zone-delegation-requests.js.map +1 -0
  44. package/dist/admin/apps/zone-delegations.d.ts +512 -52
  45. package/dist/admin/apps/zone-delegations.d.ts.map +1 -1
  46. package/dist/admin/apps/zone-delegations.js +134 -44
  47. package/dist/admin/apps/zone-delegations.js.map +1 -1
  48. package/dist/admin/index.d.ts +1 -1
  49. package/dist/admin/index.d.ts.map +1 -1
  50. package/dist/admin/index.js +1 -1
  51. package/dist/admin/index.js.map +1 -1
  52. package/dist/admin/ui.generated.d.ts +1 -1
  53. package/dist/admin/ui.generated.d.ts.map +1 -1
  54. package/dist/admin/ui.generated.js +341 -397
  55. package/dist/admin/ui.generated.js.map +1 -1
  56. package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
  57. package/dist/analytics/tables/requestEvents.js +4 -2
  58. package/dist/analytics/tables/requestEvents.js.map +1 -1
  59. package/dist/apps/data/App.d.ts +11932 -13214
  60. package/dist/apps/data/App.d.ts.map +1 -1
  61. package/dist/apps/data/App.js +32 -13
  62. package/dist/apps/data/App.js.map +1 -1
  63. package/dist/apps/data/ZoneSelection.d.ts +1 -1
  64. package/dist/apps/data/ZoneSelection.d.ts.map +1 -1
  65. package/dist/apps/data/ZoneSelection.js +2 -2
  66. package/dist/apps/data/ZoneSelection.js.map +1 -1
  67. package/dist/apps/data/routes/activities.d.ts +60 -27
  68. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  69. package/dist/apps/data/routes/activities.js +91 -16
  70. package/dist/apps/data/routes/activities.js.map +1 -1
  71. package/dist/apps/data/routes/addresses.d.ts +893 -875
  72. package/dist/apps/data/routes/addresses.d.ts.map +1 -1
  73. package/dist/apps/data/routes/balances.d.ts +36 -36
  74. package/dist/apps/data/routes/balances.d.ts.map +1 -1
  75. package/dist/apps/data/routes/balances.js +3 -1
  76. package/dist/apps/data/routes/balances.js.map +1 -1
  77. package/dist/apps/data/routes/blocks.d.ts +40 -40
  78. package/dist/apps/data/routes/blocks.d.ts.map +1 -1
  79. package/dist/apps/data/routes/blocks.js +3 -7
  80. package/dist/apps/data/routes/blocks.js.map +1 -1
  81. package/dist/apps/data/routes/coingecko.d.ts +236 -236
  82. package/dist/apps/data/routes/earn-transactions.d.ts +14 -14
  83. package/dist/apps/data/routes/earn.d.ts +261 -1445
  84. package/dist/apps/data/routes/earn.d.ts.map +1 -1
  85. package/dist/apps/data/routes/earn.js +64 -490
  86. package/dist/apps/data/routes/earn.js.map +1 -1
  87. package/dist/apps/data/routes/exchanges.d.ts +144 -144
  88. package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
  89. package/dist/apps/data/routes/exchanges.js +5 -15
  90. package/dist/apps/data/routes/exchanges.js.map +1 -1
  91. package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
  92. package/dist/apps/data/routes/fee-amm.js +3 -9
  93. package/dist/apps/data/routes/fee-amm.js.map +1 -1
  94. package/dist/apps/data/routes/indexer.d.ts +13 -13
  95. package/dist/apps/data/routes/receipts.d.ts +53 -53
  96. package/dist/apps/data/routes/receipts.js +1 -1
  97. package/dist/apps/data/routes/receipts.js.map +1 -1
  98. package/dist/apps/data/routes/rpc.d.ts +52 -0
  99. package/dist/apps/data/routes/rpc.d.ts.map +1 -1
  100. package/dist/apps/data/routes/rpc.js +19 -18
  101. package/dist/apps/data/routes/rpc.js.map +1 -1
  102. package/dist/apps/data/routes/tokenlist.d.ts +14 -14
  103. package/dist/apps/data/routes/tokenlist.d.ts.map +1 -1
  104. package/dist/apps/data/routes/tokenlist.js +1 -3
  105. package/dist/apps/data/routes/tokenlist.js.map +1 -1
  106. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  107. package/dist/apps/data/routes/tokens.js +7 -5
  108. package/dist/apps/data/routes/tokens.js.map +1 -1
  109. package/dist/apps/data/routes/transactions.d.ts +281 -281
  110. package/dist/apps/data/routes/transactions.js +3 -3
  111. package/dist/apps/data/routes/transactions.js.map +1 -1
  112. package/dist/apps/data/routes/transfers.d.ts +12 -12
  113. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  114. package/dist/apps/data/routes/transfers.js +1 -3
  115. package/dist/apps/data/routes/transfers.js.map +1 -1
  116. package/dist/apps/data/routes/valuation.d.ts +30 -30
  117. package/dist/apps/data/routes/valuation.d.ts.map +1 -1
  118. package/dist/apps/data/routes/valuation.js +1 -3
  119. package/dist/apps/data/routes/valuation.js.map +1 -1
  120. package/dist/apps/data/routes/verified-tokens.d.ts +86 -86
  121. package/dist/apps/data/routes/webhooks.d.ts +102 -102
  122. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  123. package/dist/apps/data/routes/webhooks.js +9 -23
  124. package/dist/apps/data/routes/webhooks.js.map +1 -1
  125. package/dist/apps/data/routes/zone-deposits.d.ts +16 -16
  126. package/dist/apps/data/routes/zone-withdrawals.d.ts +31 -31
  127. package/dist/apps/data/routes/zones.d.ts +28 -28
  128. package/dist/apps/management/App.d.ts +18 -102
  129. package/dist/apps/management/App.d.ts.map +1 -1
  130. package/dist/apps/management/App.js +1 -1
  131. package/dist/apps/management/App.js.map +1 -1
  132. package/dist/apps/management/routes/api-keys.d.ts +253 -339
  133. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  134. package/dist/apps/management/routes/api-keys.js +25 -11
  135. package/dist/apps/management/routes/api-keys.js.map +1 -1
  136. package/dist/apps/management/routes/billing.d.ts +92 -92
  137. package/dist/apps/management/routes/billing.d.ts.map +1 -1
  138. package/dist/apps/management/routes/billing.js +5 -13
  139. package/dist/apps/management/routes/billing.js.map +1 -1
  140. package/dist/apps/management/routes/cli.d.ts.map +1 -1
  141. package/dist/apps/management/routes/cli.js +3 -9
  142. package/dist/apps/management/routes/cli.js.map +1 -1
  143. package/dist/apps/management/routes/faucet.d.ts +16 -16
  144. package/dist/apps/management/routes/fee-payer-usage.d.ts +38 -38
  145. package/dist/apps/management/routes/fee-payer-usage.d.ts.map +1 -1
  146. package/dist/apps/management/routes/fee-payer-usage.js +2 -4
  147. package/dist/apps/management/routes/fee-payer-usage.js.map +1 -1
  148. package/dist/apps/management/routes/invitations.d.ts +52 -52
  149. package/dist/apps/management/routes/invitations.d.ts.map +1 -1
  150. package/dist/apps/management/routes/invitations.js +4 -12
  151. package/dist/apps/management/routes/invitations.js.map +1 -1
  152. package/dist/apps/management/routes/invite-links.d.ts.map +1 -1
  153. package/dist/apps/management/routes/invite-links.js +6 -14
  154. package/dist/apps/management/routes/invite-links.js.map +1 -1
  155. package/dist/apps/management/routes/me.d.ts +6 -6
  156. package/dist/apps/management/routes/me.d.ts.map +1 -1
  157. package/dist/apps/management/routes/me.js +3 -7
  158. package/dist/apps/management/routes/me.js.map +1 -1
  159. package/dist/apps/management/routes/members.d.ts +84 -84
  160. package/dist/apps/management/routes/members.d.ts.map +1 -1
  161. package/dist/apps/management/routes/members.js +2 -4
  162. package/dist/apps/management/routes/members.js.map +1 -1
  163. package/dist/apps/management/routes/orgs.d.ts +44 -44
  164. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  165. package/dist/apps/management/routes/orgs.js +2 -6
  166. package/dist/apps/management/routes/orgs.js.map +1 -1
  167. package/dist/apps/management/routes/projects.d.ts.map +1 -1
  168. package/dist/apps/management/routes/projects.js +2 -6
  169. package/dist/apps/management/routes/projects.js.map +1 -1
  170. package/dist/apps/management/routes/route-usage.d.ts +34 -34
  171. package/dist/apps/management/routes/route-usage.d.ts.map +1 -1
  172. package/dist/apps/management/routes/route-usage.js +2 -4
  173. package/dist/apps/management/routes/route-usage.js.map +1 -1
  174. package/dist/apps/management/routes/routes-access-requests.d.ts +120 -91
  175. package/dist/apps/management/routes/routes-access-requests.d.ts.map +1 -1
  176. package/dist/apps/management/routes/routes-access-requests.js +49 -9
  177. package/dist/apps/management/routes/routes-access-requests.js.map +1 -1
  178. package/dist/apps/management/routes/usage.d.ts.map +1 -1
  179. package/dist/apps/management/routes/usage.js +8 -16
  180. package/dist/apps/management/routes/usage.js.map +1 -1
  181. package/dist/apps/management/routes/verified-token-requests.d.ts +39 -39
  182. package/dist/apps/management/routes/verified-token-requests.d.ts.map +1 -1
  183. package/dist/apps/management/routes/verified-token-requests.js +3 -7
  184. package/dist/apps/management/routes/verified-token-requests.js.map +1 -1
  185. package/dist/apps/management/routes/webhooks.d.ts +2089 -2089
  186. package/dist/apps/management/routes/zone-delegations.d.ts +14 -17
  187. package/dist/apps/management/routes/zone-delegations.d.ts.map +1 -1
  188. package/dist/apps/management/routes/zone-delegations.js +1 -6
  189. package/dist/apps/management/routes/zone-delegations.js.map +1 -1
  190. package/dist/apps/mpp/App.d.ts +44 -44
  191. package/dist/apps/mpp/App.js +3 -3
  192. package/dist/apps/mpp/App.js.map +1 -1
  193. package/dist/apps/mpp/internal/Adapter.js +1 -1
  194. package/dist/apps/mpp/internal/Adapter.js.map +1 -1
  195. package/dist/apps/mpp/internal/Error.d.ts.map +1 -1
  196. package/dist/apps/mpp/internal/Error.js +1 -0
  197. package/dist/apps/mpp/internal/Error.js.map +1 -1
  198. package/dist/apps/mpp/internal/Policy.d.ts +5 -1
  199. package/dist/apps/mpp/internal/Policy.d.ts.map +1 -1
  200. package/dist/apps/mpp/internal/Policy.js +35 -13
  201. package/dist/apps/mpp/internal/Policy.js.map +1 -1
  202. package/dist/apps/relay/App.d.ts +2 -2
  203. package/dist/apps/relay/App.d.ts.map +1 -1
  204. package/dist/apps/relay/App.js +25 -16
  205. package/dist/apps/relay/App.js.map +1 -1
  206. package/dist/apps/routes/App.d.ts +311 -311
  207. package/dist/apps/routes/routes/deposit-addresses.d.ts +1099 -1099
  208. package/dist/apps/routes/routes/list.d.ts +74 -74
  209. package/dist/apps/routes/routes/transfers.d.ts +94 -94
  210. package/dist/cli/ApiKeys.d.ts +19 -26
  211. package/dist/cli/ApiKeys.d.ts.map +1 -1
  212. package/dist/db/Db.d.ts +3 -3
  213. package/dist/db/Db.d.ts.map +1 -1
  214. package/dist/db/Db.js +27 -0
  215. package/dist/db/Db.js.map +1 -1
  216. package/dist/db/Schema.d.ts +28 -62
  217. package/dist/db/Schema.d.ts.map +1 -1
  218. package/dist/db/Schema.js +18 -18
  219. package/dist/db/Schema.js.map +1 -1
  220. package/dist/db/tables/rewardRuns.d.ts +21 -0
  221. package/dist/db/tables/rewardRuns.d.ts.map +1 -1
  222. package/dist/db/tables/rewardRuns.js +19 -0
  223. package/dist/db/tables/rewardRuns.js.map +1 -1
  224. package/dist/db/tables/routesAccessRequests.d.ts +13 -0
  225. package/dist/db/tables/routesAccessRequests.d.ts.map +1 -1
  226. package/dist/db/tables/routesAccessRequests.js +12 -0
  227. package/dist/db/tables/routesAccessRequests.js.map +1 -1
  228. package/dist/db/tables/zoneDelegationRequests.d.ts +165 -0
  229. package/dist/db/tables/zoneDelegationRequests.d.ts.map +1 -0
  230. package/dist/db/tables/{zoneKeyRequests.js → zoneDelegationRequests.js} +43 -42
  231. package/dist/db/tables/zoneDelegationRequests.js.map +1 -0
  232. package/dist/db/tables/zoneDelegations.d.ts +11 -5
  233. package/dist/db/tables/zoneDelegations.d.ts.map +1 -1
  234. package/dist/db/tables/zoneDelegations.js +21 -3
  235. package/dist/db/tables/zoneDelegations.js.map +1 -1
  236. package/dist/handlers/internal/accounts.d.ts +7 -0
  237. package/dist/handlers/internal/accounts.d.ts.map +1 -0
  238. package/dist/handlers/internal/{multisig.js → accounts.js} +10 -10
  239. package/dist/handlers/internal/{multisig.js.map → accounts.js.map} +1 -1
  240. package/dist/handlers/internal/sponsorship.js +17 -17
  241. package/dist/handlers/internal/sponsorship.js.map +1 -1
  242. package/dist/handlers/relay.d.ts +6 -6
  243. package/dist/handlers/relay.d.ts.map +1 -1
  244. package/dist/handlers/relay.js +15 -15
  245. package/dist/handlers/relay.js.map +1 -1
  246. package/dist/internal/Auth.d.ts.map +1 -1
  247. package/dist/internal/Auth.js +4 -8
  248. package/dist/internal/Auth.js.map +1 -1
  249. package/dist/internal/EarnRates.d.ts.map +1 -1
  250. package/dist/internal/EarnRates.js +1 -3
  251. package/dist/internal/EarnRates.js.map +1 -1
  252. package/dist/internal/EarnVaults.js +2 -2
  253. package/dist/internal/Log.d.ts +2 -4
  254. package/dist/internal/Log.d.ts.map +1 -1
  255. package/dist/internal/Log.js +0 -3
  256. package/dist/internal/Log.js.map +1 -1
  257. package/dist/internal/Response.d.ts +1 -1
  258. package/dist/internal/Response.d.ts.map +1 -1
  259. package/dist/internal/Response.js +0 -3
  260. package/dist/internal/Response.js.map +1 -1
  261. package/dist/internal/Schema.d.ts +11 -0
  262. package/dist/internal/Schema.d.ts.map +1 -1
  263. package/dist/internal/Schema.js +24 -1
  264. package/dist/internal/Schema.js.map +1 -1
  265. package/dist/internal/ZoneAccess.d.ts +70 -35
  266. package/dist/internal/ZoneAccess.d.ts.map +1 -1
  267. package/dist/internal/ZoneAccess.js +312 -131
  268. package/dist/internal/ZoneAccess.js.map +1 -1
  269. package/dist/internal/ZoneDelegation.d.ts +7 -19
  270. package/dist/internal/ZoneDelegation.d.ts.map +1 -1
  271. package/dist/internal/ZoneDelegation.js +8 -29
  272. package/dist/internal/ZoneDelegation.js.map +1 -1
  273. package/dist/internal/{ZoneKeyApproval.d.ts → ZoneDelegationApproval.d.ts} +3 -5
  274. package/dist/internal/ZoneDelegationApproval.d.ts.map +1 -0
  275. package/dist/internal/ZoneDelegationApproval.js +16 -0
  276. package/dist/internal/ZoneDelegationApproval.js.map +1 -0
  277. package/dist/internal/ZoneKeyRewrite.d.ts +98 -0
  278. package/dist/internal/ZoneKeyRewrite.d.ts.map +1 -0
  279. package/dist/internal/ZoneKeyRewrite.js +151 -0
  280. package/dist/internal/ZoneKeyRewrite.js.map +1 -0
  281. package/dist/internal/rewards/Campaigns.d.ts +2 -0
  282. package/dist/internal/rewards/Campaigns.d.ts.map +1 -1
  283. package/dist/internal/rewards/Campaigns.js.map +1 -1
  284. package/dist/internal/rewards/Distributions.d.ts.map +1 -1
  285. package/dist/internal/rewards/Distributions.js +2 -6
  286. package/dist/internal/rewards/Distributions.js.map +1 -1
  287. package/dist/internal/rewards/Monitor.d.ts +4 -1
  288. package/dist/internal/rewards/Monitor.d.ts.map +1 -1
  289. package/dist/internal/rewards/Monitor.js +19 -2
  290. package/dist/internal/rewards/Monitor.js.map +1 -1
  291. package/dist/internal/rewards/Runner.d.ts.map +1 -1
  292. package/dist/internal/rewards/Runner.js +9 -1
  293. package/dist/internal/rewards/Runner.js.map +1 -1
  294. package/dist/internal/routes/Action.d.ts.map +1 -1
  295. package/dist/internal/routes/Action.js +2 -3
  296. package/dist/internal/routes/Action.js.map +1 -1
  297. package/dist/internal/routes/Deposit.d.ts.map +1 -1
  298. package/dist/internal/routes/Deposit.js +2 -6
  299. package/dist/internal/routes/Deposit.js.map +1 -1
  300. package/dist/internal/routes/DepositAddress.d.ts.map +1 -1
  301. package/dist/internal/routes/DepositAddress.js +4 -10
  302. package/dist/internal/routes/DepositAddress.js.map +1 -1
  303. package/dist/internal/routes/Policy.d.ts.map +1 -1
  304. package/dist/internal/routes/Policy.js +2 -1
  305. package/dist/internal/routes/Policy.js.map +1 -1
  306. package/dist/internal/routes/Provider.js +8 -8
  307. package/dist/internal/routes/Provider.js.map +1 -1
  308. package/dist/internal/routes/Reconciliation.d.ts.map +1 -1
  309. package/dist/internal/routes/Reconciliation.js +3 -2
  310. package/dist/internal/routes/Reconciliation.js.map +1 -1
  311. package/dist/internal/routes/Transfer.d.ts.map +1 -1
  312. package/dist/internal/routes/Transfer.js +4 -12
  313. package/dist/internal/routes/Transfer.js.map +1 -1
  314. package/dist/internal/routes/UniversalDepositAddress.d.ts.map +1 -1
  315. package/dist/internal/routes/UniversalDepositAddress.js +3 -6
  316. package/dist/internal/routes/UniversalDepositAddress.js.map +1 -1
  317. package/dist/internal/routes/providers/SquidOrder.d.ts.map +1 -1
  318. package/dist/internal/routes/providers/SquidOrder.js +3 -2
  319. package/dist/internal/routes/providers/SquidOrder.js.map +1 -1
  320. package/dist/internal/routes/providers/relay.d.ts.map +1 -1
  321. package/dist/internal/routes/providers/relay.js +4 -3
  322. package/dist/internal/routes/providers/relay.js.map +1 -1
  323. package/package.json +20 -5
  324. package/src/ApiKey.ts +2 -2
  325. package/src/ApiKeys.test.ts +284 -51
  326. package/src/ApiKeys.ts +297 -64
  327. package/src/App.ts +4 -5
  328. package/src/Client.test-d.ts +33 -126
  329. package/src/Scope.test.ts +26 -45
  330. package/src/Scope.ts +24 -37
  331. package/src/admin/App.test.ts +51 -4
  332. package/src/admin/App.ts +25 -33
  333. package/src/admin/Mcp.test.ts +2 -1
  334. package/src/admin/apps/api-keys.test.ts +90 -20
  335. package/src/admin/apps/api-keys.ts +5 -8
  336. package/src/admin/apps/audit-logs.ts +1 -1
  337. package/src/admin/apps/earn-vaults.test.ts +19 -19
  338. package/src/admin/apps/earn-vaults.ts +11 -5
  339. package/src/admin/apps/routes-support.test.ts +254 -3
  340. package/src/admin/apps/routes-support.ts +1 -44
  341. package/src/admin/apps/scopes.test.ts +3 -3
  342. package/src/admin/apps/zone-delegation-requests.test.ts +246 -0
  343. package/src/admin/apps/zone-delegation-requests.ts +240 -0
  344. package/src/admin/apps/zone-delegations.test.ts +218 -58
  345. package/src/admin/apps/zone-delegations.ts +146 -46
  346. package/src/admin/index.ts +1 -1
  347. package/src/admin/ui/src/components/ApiKeyForm.tsx +4 -3
  348. package/src/admin/ui/src/lib/config.ts +3 -3
  349. package/src/admin/ui/src/lib/query-client.ts +1 -1
  350. package/src/admin/ui/src/lib/review-queues.ts +10 -10
  351. package/src/admin/ui/src/lib/routes-setup.test.ts +1 -2
  352. package/src/admin/ui/src/lib/routes-setup.ts +3 -5
  353. package/src/admin/ui/src/lib/scopes.test.ts +3 -6
  354. package/src/admin/ui/src/lib/scopes.ts +2 -9
  355. package/src/admin/ui/src/lib/{zone-key-requests.ts → zone-delegation-requests.ts} +27 -31
  356. package/src/admin/ui/src/routeTree.gen.ts +17 -17
  357. package/src/admin/ui/src/routes/__root.tsx +1 -1
  358. package/src/admin/ui/src/routes/api-keys.tsx +2 -15
  359. package/src/admin/ui/src/routes/audit-logs.tsx +2 -2
  360. package/src/admin/ui/src/routes/index.tsx +11 -11
  361. package/src/admin/ui/src/routes/organizations.tsx +3 -1
  362. package/src/admin/ui/src/routes/organizations_.$orgId.tsx +3 -1
  363. package/src/admin/ui/src/routes/organizations_.$orgId_.setup.tsx +1 -3
  364. package/src/admin/ui/src/routes/{zone-key-requests.tsx → zone-delegation-requests.tsx} +228 -172
  365. package/src/admin/ui/vite.config.ts +14 -1
  366. package/src/admin/ui.generated.ts +412 -583
  367. package/src/analytics/tables/requestEvents.test.ts +13 -3
  368. package/src/analytics/tables/requestEvents.ts +4 -3
  369. package/src/apps/data/App.test.ts +72 -35
  370. package/src/apps/data/App.ts +29 -13
  371. package/src/apps/data/ZoneSelection.test.ts +53 -70
  372. package/src/apps/data/ZoneSelection.ts +2 -2
  373. package/src/apps/data/routes/activities.test.ts +140 -6
  374. package/src/apps/data/routes/activities.ts +124 -18
  375. package/src/apps/data/routes/balances.ts +5 -1
  376. package/src/apps/data/routes/blocks.ts +9 -13
  377. package/src/apps/data/routes/earn-transactions.local.test.ts +6 -1
  378. package/src/apps/data/routes/earn-transactions.test.ts +7 -3
  379. package/src/apps/data/routes/earn.bench.ts +0 -14
  380. package/src/apps/data/routes/earn.discovery.test.ts +4 -39
  381. package/src/apps/data/routes/earn.local.test.ts +27 -34
  382. package/src/apps/data/routes/earn.test.ts +172 -490
  383. package/src/apps/data/routes/earn.ts +103 -652
  384. package/src/apps/data/routes/exchanges.ts +20 -30
  385. package/src/apps/data/routes/fee-amm.ts +12 -18
  386. package/src/apps/data/routes/indexer.test.ts +14 -12
  387. package/src/apps/data/routes/receipts.ts +1 -1
  388. package/src/apps/data/routes/rpc.test.ts +23 -18
  389. package/src/apps/data/routes/rpc.ts +21 -21
  390. package/src/apps/data/routes/rpc.zone.test.ts +60 -6
  391. package/src/apps/data/routes/tokenlist.ts +4 -6
  392. package/src/apps/data/routes/tokens.test.ts +20 -0
  393. package/src/apps/data/routes/tokens.ts +10 -5
  394. package/src/apps/data/routes/transactions.ts +3 -3
  395. package/src/apps/data/routes/transfers.ts +4 -6
  396. package/src/apps/data/routes/valuation.test.ts +2 -4
  397. package/src/apps/data/routes/valuation.ts +4 -6
  398. package/src/apps/data/routes/webhooks.test.ts +1 -5
  399. package/src/apps/data/routes/webhooks.ts +30 -44
  400. package/src/apps/data/routes/zones.test.ts +35 -19
  401. package/src/apps/management/App.ts +3 -1
  402. package/src/apps/management/routes/api-keys.test.ts +112 -22
  403. package/src/apps/management/routes/api-keys.ts +30 -15
  404. package/src/apps/management/routes/billing.ts +17 -25
  405. package/src/apps/management/routes/cli.ts +12 -18
  406. package/src/apps/management/routes/fee-payer-usage.ts +5 -4
  407. package/src/apps/management/routes/invitations.ts +16 -21
  408. package/src/apps/management/routes/invite-links.ts +18 -26
  409. package/src/apps/management/routes/me.ts +9 -13
  410. package/src/apps/management/routes/members.ts +5 -7
  411. package/src/apps/management/routes/orgs.ts +8 -12
  412. package/src/apps/management/routes/projects.ts +8 -12
  413. package/src/apps/management/routes/route-usage.ts +5 -4
  414. package/src/apps/management/routes/routes-access-requests.test.ts +64 -2
  415. package/src/apps/management/routes/routes-access-requests.ts +99 -15
  416. package/src/apps/management/routes/scopes.test.ts +3 -3
  417. package/src/apps/management/routes/usage.ts +20 -28
  418. package/src/apps/management/routes/verified-token-requests.ts +9 -13
  419. package/src/apps/management/routes/zone-delegations.test.ts +3 -5
  420. package/src/apps/management/routes/zone-delegations.ts +4 -9
  421. package/src/apps/mpp/App.ts +3 -3
  422. package/src/apps/mpp/Mpp.zone.test.ts +49 -18
  423. package/src/apps/mpp/internal/Adapter.ts +1 -1
  424. package/src/apps/mpp/internal/Error.test.ts +3 -0
  425. package/src/apps/mpp/internal/Error.ts +1 -0
  426. package/src/apps/mpp/internal/Policy.test.ts +9 -8
  427. package/src/apps/mpp/internal/Policy.ts +37 -14
  428. package/src/apps/relay/App.sandbox.test.ts +15 -14
  429. package/src/apps/relay/App.test.ts +120 -61
  430. package/src/apps/relay/App.ts +28 -18
  431. package/src/apps/relay/App.zone-billing.test.ts +9 -4
  432. package/src/apps/routes/App.test.ts +21 -22
  433. package/src/db/Db.ts +34 -3
  434. package/src/db/Schema.ts +26 -26
  435. package/src/db/tables/rewardRuns.ts +39 -0
  436. package/src/db/tables/routesAccessRequests.test.ts +65 -0
  437. package/src/db/tables/routesAccessRequests.ts +25 -0
  438. package/src/db/tables/{zoneKeyRequests.test.ts → zoneDelegationRequests.test.ts} +36 -77
  439. package/src/db/tables/{zoneKeyRequests.ts → zoneDelegationRequests.ts} +69 -52
  440. package/src/db/tables/zoneDelegations.test.ts +5 -6
  441. package/src/db/tables/zoneDelegations.ts +25 -8
  442. package/src/handlers/internal/{multisig.store.test.ts → accounts.store.test.ts} +16 -16
  443. package/src/handlers/internal/{multisig.test.ts → accounts.test.ts} +85 -82
  444. package/src/handlers/internal/{multisig.ts → accounts.ts} +9 -9
  445. package/src/handlers/internal/sponsorship.ts +20 -20
  446. package/src/handlers/relay.test.ts +48 -46
  447. package/src/handlers/relay.ts +26 -26
  448. package/src/internal/Auth.test.ts +6 -2
  449. package/src/internal/Auth.ts +4 -10
  450. package/src/internal/EarnRates.ts +4 -6
  451. package/src/internal/EarnVaults.ts +2 -2
  452. package/src/internal/Log.test-d.ts +1 -0
  453. package/src/internal/Log.test.ts +4 -6
  454. package/src/internal/Log.ts +2 -6
  455. package/src/internal/Response.ts +0 -3
  456. package/src/internal/Schema.test.ts +42 -0
  457. package/src/internal/Schema.ts +36 -1
  458. package/src/internal/ZoneAccess.test.ts +515 -312
  459. package/src/internal/ZoneAccess.ts +410 -158
  460. package/src/internal/ZoneDelegation.test.ts +1 -41
  461. package/src/internal/ZoneDelegation.ts +10 -48
  462. package/src/internal/ZoneDelegationApproval.test.ts +22 -0
  463. package/src/internal/{ZoneKeyApproval.ts → ZoneDelegationApproval.ts} +4 -11
  464. package/src/internal/ZoneKeyRewrite.ts +231 -0
  465. package/src/internal/rewards/Campaigns.ts +2 -0
  466. package/src/internal/rewards/Distributions.ts +8 -12
  467. package/src/internal/rewards/Monitor.test.ts +64 -0
  468. package/src/internal/rewards/Monitor.ts +27 -4
  469. package/src/internal/rewards/Runner.ts +9 -1
  470. package/src/internal/routes/Action.ts +5 -6
  471. package/src/internal/routes/Deposit.ts +8 -12
  472. package/src/internal/routes/DepositAddress.ts +13 -19
  473. package/src/internal/routes/Policy.ts +2 -1
  474. package/src/internal/routes/Provider.ts +8 -8
  475. package/src/internal/routes/Reconciliation.ts +3 -2
  476. package/src/internal/routes/Transfer.ts +16 -24
  477. package/src/internal/routes/UniversalDepositAddress.ts +9 -12
  478. package/src/internal/routes/providers/SquidOrder.ts +3 -2
  479. package/src/internal/routes/providers/relay.ts +4 -3
  480. package/dist/admin/apps/zone-key-requests.d.ts +0 -406
  481. package/dist/admin/apps/zone-key-requests.d.ts.map +0 -1
  482. package/dist/admin/apps/zone-key-requests.js +0 -183
  483. package/dist/admin/apps/zone-key-requests.js.map +0 -1
  484. package/dist/db/tables/zoneKeyRequests.d.ts +0 -289
  485. package/dist/db/tables/zoneKeyRequests.d.ts.map +0 -1
  486. package/dist/db/tables/zoneKeyRequests.js.map +0 -1
  487. package/dist/handlers/internal/multisig.d.ts +0 -7
  488. package/dist/handlers/internal/multisig.d.ts.map +0 -1
  489. package/dist/internal/ZoneKeyApproval.d.ts.map +0 -1
  490. package/dist/internal/ZoneKeyApproval.js +0 -21
  491. package/dist/internal/ZoneKeyApproval.js.map +0 -1
  492. package/src/admin/apps/zone-key-requests.test.ts +0 -272
  493. package/src/admin/apps/zone-key-requests.ts +0 -231
  494. package/src/internal/ZoneKeyApproval.test.ts +0 -46
package/dist/ApiKeys.js CHANGED
@@ -19,10 +19,10 @@ import * as ApiKeyRevocations from './db/tables/apiKeyRevocations.js';
19
19
  import * as Organizations from './db/tables/organizations.js';
20
20
  import * as RoutesPolicies from './db/tables/routesPolicies.js';
21
21
  import * as RoutesSubsidies from './db/tables/routesSubsidies.js';
22
+ import * as ZoneDelegations from './db/tables/zoneDelegations.js';
22
23
  import * as Store from './internal/Store.js';
23
24
  import * as Scope from './Scope.js';
24
- import * as ZoneKeyApproval from './internal/ZoneKeyApproval.js';
25
- import * as ZoneKeyRequests from './db/tables/zoneKeyRequests.js';
25
+ import * as Schema from './internal/Schema.js';
26
26
  const billingSnapshotSchema = z.object({
27
27
  active: z.boolean().check(z.describe('Whether billing is active.')),
28
28
  orgId: z.string().check(z.describe('Organization that produced the snapshot.')),
@@ -37,7 +37,7 @@ export const minimumExpiryLeadMs = 2 * 60_000;
37
37
  export var schema;
38
38
  (function (schema) {
39
39
  /** Key expiry requested through an API, far enough ahead that the stored record outlives the request. */
40
- schema.ExpiresAt = z.iso.datetime({ offset: true }).check(z.refine((value) => Date.parse(value) >= Date.now() + minimumExpiryLeadMs, {
40
+ schema.ExpiresAt = Schema.dateTime({ offset: true }).check(z.refine((value) => Date.parse(value) >= Date.now() + minimumExpiryLeadMs, {
41
41
  error: 'Expiry must be at least two minutes in the future.',
42
42
  }), z.describe('ISO 8601 expiry timestamp, at least two minutes in the future.'), z.meta({ examples: ['2027-01-01T00:00:00.000Z'] }));
43
43
  /**
@@ -50,7 +50,7 @@ export var schema;
50
50
  .optional(z.string())
51
51
  .check(z.describe('Identity creating the key (e.g. admin email), recorded for audit.')),
52
52
  expiresAt: z
53
- .optional(z.iso.datetime({ offset: true }))
53
+ .optional(Schema.dateTime({ offset: true }))
54
54
  .check(z.describe('ISO 8601 expiry timestamp. Omit for a non-expiring key.')),
55
55
  // TODO: make required once orgs exist.
56
56
  orgId: z.optional(z.string()).check(z.describe('Owning organization id.')),
@@ -118,43 +118,28 @@ async function mintValidated(state, data, id) {
118
118
  }
119
119
  /** Mints an attributed key after atomically reserving an organization-wide live-key slot. */
120
120
  export async function mintBounded(db, state, input, options = {}) {
121
- if (ZoneKeyApproval.required(input.scopes))
122
- throw new ZoneKeyApproval.RequiredError();
123
121
  return mintAdmitted(db, state, input, options);
124
122
  }
125
123
  /**
126
124
  * Mints a replacement for an existing key on behalf of its owner. The locked source
127
- * must still hold every requested scope, so rotation never widens access and needs no
128
- * Zone read approval; admin rotation keeps using {@link mintBounded} and its gate.
125
+ * must still hold every requested scope, so rotation never widens access.
129
126
  */
130
127
  export async function rotateBounded(db, state, input, options) {
131
- return mintAdmitted(db, state, input, { ...options, sourceScopes: input.scopes });
128
+ return mintAdmitted(db, state, input, { ...options, sourceScopes: withoutRetired(input.scopes) });
132
129
  }
133
- /** Issues the exact approved settings once using the requester session and unexpired approvals. */
134
- export async function mintApproved(db, state, options) {
135
- const request = await ZoneKeyRequests.claim(db, options);
136
- try {
137
- const result = await mintAdmitted(db, state, request.input, {}, request.keyId);
138
- await ZoneKeyRequests.finish(db, request.id, 'issued');
139
- return result;
140
- }
141
- catch (cause) {
142
- // An ambiguous write never permits another issuance; fence the reserved id before cleanup.
143
- await db.transaction(async (tx) => {
144
- await ApiKeyAdmissions.lock(tx, request.keyId);
145
- await ApiKeyRevocations.markPending(tx, request.keyId, request.input.orgId);
146
- });
147
- await ZoneKeyRequests.finish(db, request.id, 'failed');
148
- await revokeBounded(db, state, request.keyId).catch(() => undefined);
149
- throw cause;
150
- }
151
- }
152
- async function mintAdmitted(db, state, input, options = {}, id = ApiKey.generateId()) {
130
+ async function mintAdmitted(db, state, input_raw, options = {}, id = ApiKey.generateId()) {
153
131
  if (options.sourceScopes && !options.policySourceApiKeyId)
154
132
  throw new RoutesPolicies.InvalidScopeError();
133
+ // A copy of an existing key (rotation) drops the retired per-Zone scopes the source still holds.
134
+ const input = options.policySourceApiKeyId
135
+ ? { ...input_raw, scopes: withoutRetired(input_raw.scopes) }
136
+ : input_raw;
155
137
  if (input.orgId === undefined) {
156
138
  if (options.policySourceApiKeyId)
157
139
  throw new RoutesPolicies.InvalidScopeError();
140
+ // No organization means no delegation, so nothing could bound the key's broadcasts.
141
+ if (boundByDelegations(input.scopes))
142
+ throw new UndelegatedZoneTagsError();
158
143
  return mint(state, input, options);
159
144
  }
160
145
  const orgId = input.orgId;
@@ -178,14 +163,26 @@ async function mintAdmitted(db, state, input, options = {}, id = ApiKey.generate
178
163
  // The locked source, not the caller's earlier snapshot, bounds every copied restriction.
179
164
  const { allowedIps: _allowedIps, expiresAt, rateLimits: _rateLimits, zoneTags: _zoneTags, ...rest } = validated;
180
165
  const expiry = earliestExpiry(expiresAt, source.expiresAt);
166
+ // A broadcasting copy keeps only the tags still delegated, so a revoked delegation narrows the
167
+ // replacement instead of blocking the rotation; the gate refuses undelegated Zones anyway.
168
+ const zoneTags = boundByDelegations(rest.scopes)
169
+ ? await delegatedTags(tx, {
170
+ environment: rest.environment,
171
+ orgId,
172
+ zoneTags: source.zoneTags,
173
+ })
174
+ : source.zoneTags;
181
175
  return {
182
176
  ...rest,
183
177
  allowedIps: source.allowedIps,
184
178
  ...(expiry === undefined ? {} : { expiresAt: expiry }),
185
179
  ...(source.rateLimits === undefined ? {} : { rateLimits: source.rateLimits }),
186
- ...(source.zoneTags === undefined ? {} : { zoneTags: source.zoneTags }),
180
+ ...(zoneTags === undefined ? {} : { zoneTags }),
187
181
  };
188
182
  })();
183
+ // Requested tags are what bound a broadcasting key, so they are checked as written; a copy's were narrowed above.
184
+ if (!options.policySourceApiKeyId && boundByDelegations(data.scopes))
185
+ await ensureDelegatedTags(tx, { environment: data.environment, orgId, zoneTags: data.zoneTags }); // prettier-ignore
189
186
  // Policy copies share deletion's subsidy-before-owner lock order.
190
187
  if (options.policySourceApiKeyId)
191
188
  await RoutesSubsidies.lockOrganization(tx, orgId);
@@ -478,6 +475,11 @@ export async function update(state, id, input, options = {}) {
478
475
  const record = await read(state, recordKey, Date.now(), options.scopeCatalog ?? Scope.catalog);
479
476
  if (!record)
480
477
  return null;
478
+ // Scopes the record already holds republish as they are; only new grants must be issuable.
479
+ if (input.scopes &&
480
+ !issuableScopes(input.scopes.filter((scope) => !record.scopes.includes(scope)), options.scopeCatalog ?? Scope.catalog) // prettier-ignore
481
+ )
482
+ throw new InvalidInputError('per-Zone scopes are retired; grant zone:read or zone:write with zoneTags');
481
483
  const owner = {
482
484
  orgId: input.orgId ?? record.orgId,
483
485
  projectId: input.projectId ?? record.projectId,
@@ -542,12 +544,18 @@ export async function updateBounded(db, state, id, input, options = {}) {
542
544
  !ApiKeyAdmissions.admits({ ...ledger, bootstrapped: false }, record)))
543
545
  return { type: 'missing' };
544
546
  const pendingScopes = ledger.admitted?.pendingScopes;
545
- // A reviewed credential accepts only an earlier expiry, or its first organization while it
546
- // still owns itself, without a new reviewed issuance.
547
- const protectedKey = ZoneKeyApproval.required(record.scopes) || ZoneKeyApproval.required(pendingScopes ?? []);
548
- if (ZoneKeyApproval.required(input.scopes ?? []) ||
549
- (protectedKey && !shortens(record, input) && !adopts(record, input)))
550
- throw new ZoneKeyApproval.RequiredError();
547
+ // Scopes still awaiting publication count, so a tag edit in that window is bounded too.
548
+ const scopes = input.scopes ?? pendingScopes ?? record.scopes;
549
+ // A key that broadcasts through `zone:write` keeps every tag inside its organization's delegations.
550
+ if (boundByDelegations(scopes) &&
551
+ (attributing || input.scopes !== undefined || input.zoneTags !== undefined))
552
+ await ensureDelegatedTags(tx, {
553
+ environment: record.environment,
554
+ orgId: input.orgId ?? record.orgId,
555
+ zoneTags: input.zoneTags === undefined
556
+ ? record.zoneTags
557
+ : (Input.parseNullable(ApiKey.schema.ZoneTags, input.zoneTags) ?? undefined),
558
+ });
551
559
  const expiresAt = normalizeExpiresAt(input.expiresAt === undefined ? record.expiresAt : (input.expiresAt ?? undefined));
552
560
  // An explicit scope edit supersedes every earlier deferred publication,
553
561
  // including an intentional empty grant. Never revive it from a stale caller.
@@ -598,7 +606,8 @@ export async function updateBounded(db, state, id, input, options = {}) {
598
606
  if (reassigning) {
599
607
  // Fail closed across the KV/SQL boundary. The key remains scope-less if
600
608
  // clearing, reassignment, or the eventual SQL commit fails.
601
- await ApiKeyAdmissions.setPendingScopes(tx, id, input.scopes ?? pendingScopes ?? record.scopes);
609
+ // Retired read scopes are inert once the rewrite ran, so a move to a new organization drops them.
610
+ await ApiKeyAdmissions.setPendingScopes(tx, id, withoutRetired(input.scopes ?? pendingScopes ?? record.scopes));
602
611
  const disabled = await update(state, id, { scopes: [] }, options);
603
612
  if (!disabled)
604
613
  return { type: 'missing' };
@@ -640,24 +649,6 @@ async function publishScopes(db, state, id, options) {
640
649
  return updated;
641
650
  });
642
651
  }
643
- /** Whether an edit only gives a key minted before organizations existed its organization and changes nothing else. */
644
- function adopts(record, input) {
645
- if (record.orgId !== record.id)
646
- return false;
647
- const { orgId, projectId: _projectId, ...rest } = input;
648
- if (Object.values(rest).some((value) => value !== undefined))
649
- return false;
650
- return orgId !== undefined;
651
- }
652
- /** Whether an edit only moves a key's expiry earlier and changes nothing else. */
653
- function shortens(record, input) {
654
- const { expiresAt, ...rest } = input;
655
- if (Object.values(rest).some((value) => value !== undefined))
656
- return false;
657
- if (expiresAt == null)
658
- return false;
659
- return record.expiresAt === undefined || Date.parse(expiresAt) <= Date.parse(record.expiresAt);
660
- }
661
652
  /** Returns the earliest of the given ISO timestamps, ignoring absent ones. */
662
653
  export function earliestExpiry(...values) {
663
654
  return values
@@ -779,6 +770,126 @@ export async function backfill(state, options = {}) {
779
770
  }
780
771
  return { indexed, scanned: keys.length };
781
772
  }
773
+ /**
774
+ * Plans the additive rewrite of stored per-Zone read scopes: `zone:read` and
775
+ * the chain ids as tags are added beside them, merged with existing tags, so
776
+ * the running Worker and the next both admit the record. Wildcard keys are
777
+ * listed and left alone; nothing is written. Admission today ignores tags and
778
+ * already treats a per-Zone read scope as `zone:read`, so the rewrite changes no decision.
779
+ */
780
+ export async function planZoneReadRewrite(state, options = {}) {
781
+ const scopeCatalog = options.scopeCatalog ?? Scope.catalog;
782
+ const { keys } = await state.list({ prefix: ApiKey.recordPrefix });
783
+ const now = Date.now();
784
+ const changes = [];
785
+ const expiring = [];
786
+ const invalid = [];
787
+ const mixed = [];
788
+ const tagless = [];
789
+ const wildcard = [];
790
+ let unreadableRecords = 0;
791
+ let live = 0;
792
+ for (const { name } of keys) {
793
+ const record = await read(state, name, now, scopeCatalog);
794
+ if (!record) {
795
+ unreadableRecords += 1;
796
+ continue;
797
+ }
798
+ // Revocation and owner-deletion fences live under their own keys; a fenced record is never rewritten.
799
+ if (await isFenced(state, record))
800
+ continue;
801
+ live += 1;
802
+ if (record.scopes.includes(Scope.wildcard)) {
803
+ wildcard.push(record);
804
+ continue;
805
+ }
806
+ // One record the schema refuses (say, past the tag limit) is reported, never a reason to abort the plan.
807
+ const change = (() => {
808
+ try {
809
+ return rewriteZoneRead(record, options.zones);
810
+ }
811
+ catch {
812
+ return 'invalid';
813
+ }
814
+ })();
815
+ if (change === 'invalid')
816
+ invalid.push(record);
817
+ else if (change === 'mixed')
818
+ mixed.push(record);
819
+ // KV refuses TTLs under a minute, and such a record expires on its own before anyone uses it.
820
+ else if (change && !change.complete && expiresSoon(record, now))
821
+ expiring.push(record);
822
+ else if (change)
823
+ changes.push({ ...change, record, recordKey: name });
824
+ else if (['zone:read', 'zone:write'].some((scope) => record.scopes.includes(scope)) && !record.zoneTags?.length)
825
+ tagless.push(record); // prettier-ignore
826
+ }
827
+ return { changes, expiring, invalid, keys: live, mixed, tagless, unreadableRecords, wildcard };
828
+ }
829
+ /**
830
+ * The record with `zone:read` and tags added beside its per-Zone read scopes,
831
+ * so Workers of either release admit it; undefined when it holds no such scope.
832
+ * A record already carrying both is `complete`: still planned, so its
833
+ * delegations are checked, but never written. Zones outside `zones` earn no tag
834
+ * and lose any they had, since nothing serves them. `mixed` when its write Zones
835
+ * differ from its read Zones: one tag list cannot express both, so the key is
836
+ * re-minted by hand instead.
837
+ */
838
+ function rewriteZoneRead(record, zones) {
839
+ const named = [...new Set(record.scopes.flatMap((scope) => Scope.zoneReadChainId(scope) ?? []))].sort((a, b) => a - b); // prettier-ignore
840
+ const written = [...new Set(record.scopes.flatMap((scope) => Scope.zoneWriteChainId(scope) ?? []))].sort((a, b) => a - b); // prettier-ignore
841
+ if (named.length === 0 && written.length === 0)
842
+ return undefined;
843
+ // Zones nothing serves earn no tag, so they are dropped from tags and scopes alike before the
844
+ // read and write sets are compared. Tags serve both verbs: what the key reads (tags plus read
845
+ // Zones) must equal what it writes (write Zones, plus its tags when it already holds the generic
846
+ // write scope), or it is `mixed`; otherwise a read Zone or a leftover tag would become a broadcast grant.
847
+ const served = (chainIds) => chainIds.filter((chainId) => zones?.has(chainId) ?? true); // prettier-ignore
848
+ const kept = served(record.zoneTags ?? []);
849
+ const chainIds = served(named);
850
+ const writeChainIds = served(written);
851
+ const read = new Set([...kept, ...chainIds]);
852
+ const writes = new Set(record.scopes.includes('zone:write') ? [...kept, ...writeChainIds] : writeChainIds); // prettier-ignore
853
+ const bounded = read.size > 0 || record.scopes.includes('zone:read');
854
+ if (writes.size && bounded && (writes.size !== read.size || [...writes].some((chainId) => !read.has(chainId))))
855
+ return 'mixed'; // prettier-ignore
856
+ const all = [...new Set([...named, ...written])];
857
+ const unconfigured = all.filter((chainId) => !(zones?.has(chainId) ?? true)).sort((a, b) => a - b); // prettier-ignore
858
+ const zoneTags = [...new Set([...kept, ...chainIds, ...writeChainIds])].sort((a, b) => a - b);
859
+ // A generic scope is added only when a served Zone for that verb survives into the tags.
860
+ const generic = [
861
+ ...(chainIds.length && !record.scopes.includes('zone:read') ? ['zone:read'] : []),
862
+ ...(writeChainIds.length && !record.scopes.includes('zone:write') ? ['zone:write'] : []),
863
+ ];
864
+ const complete = generic.length === 0 &&
865
+ zoneTags.length === (record.zoneTags?.length ?? 0) &&
866
+ zoneTags.every((chainId, index) => record.zoneTags?.[index] === chainId);
867
+ const rewritten = complete ? record : schema.Record.parse({ ...record, scopes: [...record.scopes, ...generic], zoneTags }); // prettier-ignore
868
+ return { chainIds, complete, rewritten, unconfigured, writeChainIds };
869
+ }
870
+ /**
871
+ * Rewrites the records a {@link planZoneReadRewrite} plan names, keeping each
872
+ * record's TTL. Each record is re-read and transformed at write time so an edit
873
+ * made since the plan survives; a record already in both formats is skipped.
874
+ */
875
+ export async function applyZoneReadRewrite(state, changes, options = {}) {
876
+ let written = 0;
877
+ for (const { recordKey } of changes) {
878
+ const now = Date.now();
879
+ const current = await read(state, recordKey, now, options.scopeCatalog ?? Scope.catalog);
880
+ const change = current && rewriteZoneRead(current, options.zones);
881
+ if (!change || change === 'mixed' || change.complete || expiresSoon(current, now))
882
+ continue;
883
+ await state.put(recordKey, JSON.stringify(change.rewritten), { ttl: ttlFor(change.rewritten.expiresAt, now) }); // prettier-ignore
884
+ written += 1;
885
+ }
886
+ return written;
887
+ }
888
+ /** Whether a record expires within the minute Cloudflare KV needs for a TTL. */
889
+ function expiresSoon(record, now) {
890
+ const ttl = ttlFor(record.expiresAt, now);
891
+ return ttl !== undefined && ttl < 60_000;
892
+ }
782
893
  /**
783
894
  * Reads and validates a stored record by storage key. Invalid, corrupt, or
784
895
  * expired records (`expiresAt <= now`) resolve to `null`.
@@ -871,8 +982,11 @@ function validateMintInput(input, options) {
871
982
  const valid = schema.MintInput.safeParse(input);
872
983
  if (!valid.success)
873
984
  throw new InvalidInputError(z.prettifyError(valid.error));
874
- if (!validScopes(valid.data.scopes, options.scopeCatalog ?? Scope.catalog))
985
+ const scopeCatalog = options.scopeCatalog ?? Scope.catalog;
986
+ if (!validScopes(valid.data.scopes, scopeCatalog))
875
987
  throw new InvalidInputError('unknown scope');
988
+ if (!issuableScopes(valid.data.scopes, scopeCatalog))
989
+ throw new InvalidInputError('per-Zone scopes are retired; grant zone:read or zone:write with zoneTags');
876
990
  return {
877
991
  ...valid.data,
878
992
  ...(valid.data.expiresAt === undefined
@@ -929,6 +1043,45 @@ function normalizeExpiresAt(expiresAt) {
929
1043
  function validScopes(scopes, scopeCatalog) {
930
1044
  return scopes.every((scope) => scope === Scope.wildcard || Scope.includes(scopeCatalog, scope));
931
1045
  }
1046
+ function issuableScopes(scopes, scopeCatalog) {
1047
+ return scopes.every((scope) => scope === Scope.wildcard || Scope.issuable(scopeCatalog, scope));
1048
+ }
1049
+ /** Drops retired per-Zone scopes a copied or republished key still holds; the rewrite has tagged it, so they grant nothing new. */
1050
+ function withoutRetired(scopes) {
1051
+ return scopes.filter((scope) => Scope.parseZone(scope) === undefined);
1052
+ }
1053
+ /** Whether scopes broadcast through the generic Zone write scope, whose tags delegations bound. */
1054
+ function boundByDelegations(scopes) {
1055
+ return scopes.includes('zone:write');
1056
+ }
1057
+ /**
1058
+ * Refuses tags naming Zones the organization is not delegated in the key's
1059
+ * environment. Broadcasts never check accounts or tokens, so the delegation's
1060
+ * existence is what bounds a `zone:write` key; self-serve read keys are held
1061
+ * to the same bound by the management routes.
1062
+ */
1063
+ export async function ensureDelegatedTags(db, options) {
1064
+ const { environment = 'production', orgId, zoneTags } = options;
1065
+ if (!zoneTags?.length)
1066
+ throw new UndelegatedZoneTagsError();
1067
+ const delegated = await delegatedZones(db, { environment, orgId });
1068
+ const undelegated = zoneTags.filter((chainId) => !delegated.has(chainId));
1069
+ if (undelegated.length)
1070
+ throw new UndelegatedZoneTagsError(undelegated);
1071
+ }
1072
+ /** The tags among `zoneTags` whose Zone the organization is still delegated; undefined when none remain. */
1073
+ async function delegatedTags(db, options) {
1074
+ const { environment = 'production', orgId, zoneTags } = options;
1075
+ if (!zoneTags?.length)
1076
+ return undefined;
1077
+ const delegated = await delegatedZones(db, { environment, orgId });
1078
+ const kept = zoneTags.filter((chainId) => delegated.has(chainId));
1079
+ return kept.length ? kept : undefined;
1080
+ }
1081
+ /** Chain ids of the organization's active delegations in one environment. */
1082
+ async function delegatedZones(db, owner) {
1083
+ return new Set((await ZoneDelegations.listActive(db, owner)).map(({ chainId }) => chainId));
1084
+ }
932
1085
  /** Storage-key prefix for the `id → recordKey` index. */
933
1086
  const idPrefix = 'apikey_id:';
934
1087
  /** Storage key under which a key's `id → recordKey` index entry is persisted. */
@@ -1029,6 +1182,15 @@ export class InvalidInputError extends Error {
1029
1182
  super(`invalid API key input: ${detail}`);
1030
1183
  }
1031
1184
  }
1185
+ /** Thrown when a Zone key would carry tags outside its organization's active delegations. */
1186
+ export class UndelegatedZoneTagsError extends InvalidInputError {
1187
+ name = 'ApiKeys.UndelegatedZoneTagsError';
1188
+ constructor(chainIds = []) {
1189
+ super(chainIds.length
1190
+ ? `\`zoneTags\` name Zones the organization is not delegated: ${chainIds.join(', ')}`
1191
+ : 'Zone scopes require `zoneTags` naming Zones the organization is delegated');
1192
+ }
1193
+ }
1032
1194
  /** Thrown when an API key owner is being deleted or is already deleted. */
1033
1195
  export class OwnerDeletedError extends Error {
1034
1196
  name = 'ApiKeys.OwnerDeletedError';
@@ -1 +1 @@
1
- {"version":3,"file":"ApiKeys.js","sourceRoot":"","sources":["../src/ApiKeys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApiKeys.js","sourceRoot":"","sources":["../src/ApiKeys.ts"],"names":[],"mappings":"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"}