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
@@ -1,6 +1,5 @@
1
1
  import * as z from 'zod/mini';
2
2
  import type * as ApiKey from '../ApiKey.js';
3
- import type * as ZoneAccess from './ZoneAccess.js';
4
3
  /** Resources a delegation covers: every resource, or an explicit lowercase list. */
5
4
  export type Selection = 'all' | readonly string[];
6
5
  /** The active delegation for a Zone as the gate evaluates it: coverage only, members already resolved against the request. */
@@ -9,8 +8,6 @@ export type Delegation = {
9
8
  accounts: Selection;
10
9
  /** Delegation id (`zd_…`). */
11
10
  id: string;
12
- /** Project ids the delegation covers, or `all`. */
13
- projects: Selection;
14
11
  /** Requested tokens the delegation lists, or `all`. */
15
12
  tokens: Selection;
16
13
  };
@@ -18,7 +15,7 @@ export type Delegation = {
18
15
  export type Decision = 'allow' | 'deny';
19
16
  /** Delegation decision for one request. */
20
17
  export type Result = {
21
- /** Whether delegations alone would admit the request. */
18
+ /** Whether the organization's delegation covers the request. */
22
19
  decision: Decision;
23
20
  /** Active delegation for the Zone, when one exists; absent when the organization holds none. */
24
21
  id?: string | undefined;
@@ -29,14 +26,12 @@ export declare namespace schema {
29
26
  production: "production";
30
27
  sandbox: "sandbox";
31
28
  }>;
32
- const Projects: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"all">, z.ZodMiniPipe<z.ZodMiniArray<z.ZodMiniString<string>>, z.ZodMiniTransform<string[], string[]>>]>;
33
29
  const AddressList: z.ZodMiniPipe<z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>, z.ZodMiniTransform<string[], `0x${string}`[]>>;
34
30
  }
35
31
  /**
36
- * Decides whether an organization's delegation admits one Zone read from a key
37
- * whose own scopes allow it. The key's project must be covered, and every
32
+ * Decides whether an organization's delegation covers one Zone read: every
38
33
  * requested account and token must be covered (a request naming none needs
39
- * `all`).
34
+ * `all`). The key's own scope and tags are checked by the gate before this runs.
40
35
  */
41
36
  export declare function decide(options: decide.Options): Result;
42
37
  export declare namespace decide {
@@ -46,25 +41,20 @@ export declare namespace decide {
46
41
  accounts: readonly string[];
47
42
  /** The organization's active delegation for the Zone, when one exists. */
48
43
  delegation?: Delegation | undefined;
49
- /** Grant the key's own scopes produced for this request; absent when they refuse it. */
50
- grant?: ZoneAccess.Grant | undefined;
51
- /** Project attributed to the API key, when any. */
52
- projectId?: string | undefined;
53
44
  /** Lowercase token contracts the request is about; empty when not token-scoped. */
54
45
  tokens: readonly string[];
55
46
  };
56
47
  }
57
48
  /**
58
49
  * Derives the whole-zone delegations that preserve each key's current Zone
59
- * read scopes, one per organization, environment, and Zone, covering the
60
- * projects of the source keys. Write scopes need no delegation. Wildcard keys
61
- * are returned separately and derive nothing: a delegation for them is a
62
- * decision, not a backfill.
50
+ * read scopes, one per organization, environment, and Zone. Write scopes need
51
+ * no delegation. Wildcard keys are returned separately and derive nothing: a
52
+ * delegation for them is a decision, not a backfill.
63
53
  */
64
54
  export declare function fromKeys(keys: readonly fromKeys.Key[]): fromKeys.Result;
65
55
  export declare namespace fromKeys {
66
56
  /** Key fields the derivation reads. */
67
- type Key = Pick<ApiKey.ApiKey, 'environment' | 'id' | 'orgId' | 'projectId' | 'scopes'> & {
57
+ type Key = Pick<ApiKey.ApiKey, 'environment' | 'id' | 'orgId' | 'scopes'> & {
68
58
  /** Human-readable key name, when set. */
69
59
  name?: string | undefined;
70
60
  };
@@ -78,8 +68,6 @@ export declare namespace fromKeys {
78
68
  environment: ApiKey.ApiKey['environment'];
79
69
  /** Receiving organization id. */
80
70
  orgId: string;
81
- /** Projects of the source keys, or `all` when any key is organization-wide. */
82
- projects: Selection;
83
71
  /** Every token is covered. */
84
72
  tokensAll: true;
85
73
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ZoneDelegation.d.ts","sourceRoot":"","sources":["../../src/internal/ZoneDelegation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAA;AAG3C,OAAO,KAAK,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAElD,oFAAoF;AACpF,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,SAAS,MAAM,EAAE,CAAA;AAEjD,8HAA8H;AAC9H,MAAM,MAAM,UAAU,GAAG;IACvB,yDAAyD;IACzD,QAAQ,EAAE,SAAS,CAAA;IACnB,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,mDAAmD;IACnD,QAAQ,EAAE,SAAS,CAAA;IACnB,uDAAuD;IACvD,MAAM,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,yDAAyD;AACzD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAA;AAEvC,2CAA2C;AAC3C,MAAM,MAAM,MAAM,GAAG;IACnB,yDAAyD;IACzD,QAAQ,EAAE,QAAQ,CAAA;IAClB,gGAAgG;IAChG,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACxB,CAAA;AAED,yEAAyE;AACzE,yBAAiB,MAAM,CAAC;IACf,MAAM,WAAW;;;MAKrB,CAAA;IACI,MAAM,QAAQ,oJAWlB,CAAA;IACI,MAAM,WAAW,wLAQrB,CAAA;CACJ;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAmBtD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,sEAAsE;IACtE,KAAK,OAAO,GAAG;QACb,8EAA8E;QAC9E,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;QAC3B,0EAA0E;QAC1E,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;QACnC,wFAAwF;QACxF,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAA;QACpC,mDAAmD;QACnD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC9B,mFAAmF;QACnF,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;KAC1B,CAAA;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM,CA8BvE;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,uCAAuC;IACvC,KAAK,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAC,GAAG;QACxF,yCAAyC;QACzC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC1B,CAAA;IAED,yCAAyC;IACzC,KAAK,KAAK,GAAG;QACX,gCAAgC;QAChC,WAAW,EAAE,IAAI,CAAA;QACjB,qBAAqB;QACrB,OAAO,EAAE,MAAM,CAAA;QACf,2BAA2B;QAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACzC,iCAAiC;QACjC,KAAK,EAAE,MAAM,CAAA;QACb,+EAA+E;QAC/E,QAAQ,EAAE,SAAS,CAAA;QACnB,8BAA8B;QAC9B,SAAS,EAAE,IAAI,CAAA;KAChB,CAAA;IAED,gFAAgF;IAChF,KAAK,MAAM,GAAG;QACZ,yEAAyE;QACzE,WAAW,EAAE,SAAS,KAAK,EAAE,CAAA;QAC7B,qDAAqD;QACrD,QAAQ,EAAE,SAAS,GAAG,EAAE,CAAA;KACzB,CAAA;CACF"}
1
+ {"version":3,"file":"ZoneDelegation.d.ts","sourceRoot":"","sources":["../../src/internal/ZoneDelegation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAA;AAI3C,oFAAoF;AACpF,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,SAAS,MAAM,EAAE,CAAA;AAEjD,8HAA8H;AAC9H,MAAM,MAAM,UAAU,GAAG;IACvB,yDAAyD;IACzD,QAAQ,EAAE,SAAS,CAAA;IACnB,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,uDAAuD;IACvD,MAAM,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,yDAAyD;AACzD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAA;AAEvC,2CAA2C;AAC3C,MAAM,MAAM,MAAM,GAAG;IACnB,gEAAgE;IAChE,QAAQ,EAAE,QAAQ,CAAA;IAClB,gGAAgG;IAChG,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACxB,CAAA;AAED,yEAAyE;AACzE,yBAAiB,MAAM,CAAC;IACf,MAAM,WAAW;;;MAKrB,CAAA;IACI,MAAM,WAAW,wLAQrB,CAAA;CACJ;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAYtD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,sEAAsE;IACtE,KAAK,OAAO,GAAG;QACb,8EAA8E;QAC9E,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;QAC3B,0EAA0E;QAC1E,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;QACnC,mFAAmF;QACnF,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;KAC1B,CAAA;CACF;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM,CAsBvE;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,uCAAuC;IACvC,KAAK,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,GAAG,QAAQ,CAAC,GAAG;QAC1E,yCAAyC;QACzC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC1B,CAAA;IAED,yCAAyC;IACzC,KAAK,KAAK,GAAG;QACX,gCAAgC;QAChC,WAAW,EAAE,IAAI,CAAA;QACjB,qBAAqB;QACrB,OAAO,EAAE,MAAM,CAAA;QACf,2BAA2B;QAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACzC,iCAAiC;QACjC,KAAK,EAAE,MAAM,CAAA;QACb,8BAA8B;QAC9B,SAAS,EAAE,IAAI,CAAA;KAChB,CAAA;IAED,gFAAgF;IAChF,KAAK,MAAM,GAAG;QACZ,yEAAyE;QACzE,WAAW,EAAE,SAAS,KAAK,EAAE,CAAA;QAC7B,qDAAqD;QACrD,QAAQ,EAAE,SAAS,GAAG,EAAE,CAAA;KACzB,CAAA;CACF"}
@@ -7,29 +7,19 @@ export var schema;
7
7
  schema.Environment = z
8
8
  .enum(['production', 'sandbox'])
9
9
  .check(z.describe('API-key environment the delegation applies to.'), z.meta({ examples: ['production'] }));
10
- schema.Projects = z
11
- .union([
12
- z.literal('all'),
13
- z.pipe(z.array(z.string().check(z.regex(/^prj_[A-Za-z0-9_-]+$/))).check(z.maxLength(1_000)), z.transform((ids) => [...new Set(ids)])),
14
- ])
15
- .check(z.describe('Project ids the delegation covers, or `all`.'), z.meta({ examples: ['all'] }));
16
10
  schema.AddressList = z
17
11
  .pipe(z.array(Schema.Address).check(z.minLength(1), z.maxLength(1_000)), z.transform((addresses) => addresses.map((address) => address.toLowerCase())))
18
12
  .check(z.describe('Lowercase addresses, at most 1,000 per request.'), z.meta({ examples: [['0x20c0000000000000000000000000000000000000']] }));
19
13
  })(schema || (schema = {}));
20
14
  /**
21
- * Decides whether an organization's delegation admits one Zone read from a key
22
- * whose own scopes allow it. The key's project must be covered, and every
15
+ * Decides whether an organization's delegation covers one Zone read: every
23
16
  * requested account and token must be covered (a request naming none needs
24
- * `all`).
17
+ * `all`). The key's own scope and tags are checked by the gate before this runs.
25
18
  */
26
19
  export function decide(options) {
27
- const { accounts, delegation, grant, projectId, tokens } = options;
20
+ const { accounts, delegation, tokens } = options;
28
21
  if (!delegation)
29
22
  return { decision: 'deny' };
30
- // The key's own Zone scope stays its allowlist: a delegation grants nothing to a key without one.
31
- if (grant === undefined)
32
- return { decision: 'deny', id: delegation.id };
33
23
  // A request naming nothing from a list sees everything (raw RPC, unfiltered lists,
34
24
  // balances across every token), so only an `all` selection covers it.
35
25
  const covers = (selection, values) => {
@@ -38,18 +28,14 @@ export function decide(options) {
38
28
  const members = new Set(selection);
39
29
  return values.length > 0 && values.every((value) => members.has(value));
40
30
  };
41
- // A key without a project is organization-wide, so only an `all` delegation covers it.
42
- const projectCovered = delegation.projects === 'all' ||
43
- (projectId !== undefined && delegation.projects.includes(projectId));
44
- const allowed = projectCovered && covers(delegation.accounts, accounts) && covers(delegation.tokens, tokens);
31
+ const allowed = covers(delegation.accounts, accounts) && covers(delegation.tokens, tokens);
45
32
  return { decision: allowed ? 'allow' : 'deny', id: delegation.id };
46
33
  }
47
34
  /**
48
35
  * Derives the whole-zone delegations that preserve each key's current Zone
49
- * read scopes, one per organization, environment, and Zone, covering the
50
- * projects of the source keys. Write scopes need no delegation. Wildcard keys
51
- * are returned separately and derive nothing: a delegation for them is a
52
- * decision, not a backfill.
36
+ * read scopes, one per organization, environment, and Zone. Write scopes need
37
+ * no delegation. Wildcard keys are returned separately and derive nothing: a
38
+ * delegation for them is a decision, not a backfill.
53
39
  */
54
40
  export function fromKeys(keys) {
55
41
  const delegations = new Map();
@@ -64,18 +50,11 @@ export function fromKeys(keys) {
64
50
  const chainId = Scope.zoneReadChainId(scope);
65
51
  if (chainId === undefined)
66
52
  continue;
67
- const id = `${key.orgId}:${key.environment}:${chainId}`;
68
- const existing = delegations.get(id);
69
- // Projects widen to the union of the source keys; an organization-wide key means every project.
70
- const projects = existing?.projects === 'all' || key.projectId === undefined
71
- ? 'all'
72
- : [...new Set([...(existing?.projects ?? []), key.projectId])];
73
- delegations.set(id, {
53
+ delegations.set(`${key.orgId}:${key.environment}:${chainId}`, {
74
54
  accountsAll: true,
75
55
  chainId,
76
56
  environment: key.environment,
77
57
  orgId: key.orgId,
78
- projects,
79
58
  tokensAll: true,
80
59
  });
81
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ZoneDelegation.js","sourceRoot":"","sources":["../../src/internal/ZoneDelegation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAG7B,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AA6BrC,yEAAyE;AACzE,MAAM,KAAW,MAAM,CA4BtB;AA5BD,WAAiB,MAAM;IACR,kBAAW,GAAG,CAAC;SACzB,IAAI,CAAC,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;SAC/B,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC,EAC5D,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CACrC,CAAA;IACU,eAAQ,GAAG,CAAC;SACtB,KAAK,CAAC;QACL,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAChB,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EACpF,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CACxC;KACF,CAAC;SACD,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,8CAA8C,CAAC,EAC1D,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAC9B,CAAA;IACU,kBAAW,GAAG,CAAC;SACzB,IAAI,CACH,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EACjE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAC9E;SACA,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,iDAAiD,CAAC,EAC7D,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,4CAA4C,CAAC,CAAC,EAAE,CAAC,CACvE,CAAA;AACL,CAAC,EA5BgB,MAAM,KAAN,MAAM,QA4BtB;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,OAAuB;IAC5C,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAClE,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;IAC5C,kGAAkG;IAClG,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,CAAA;IACvE,mFAAmF;IACnF,sEAAsE;IACtE,MAAM,MAAM,GAAG,CAAC,SAAoB,EAAE,MAAyB,EAAE,EAAE;QACjE,IAAI,SAAS,KAAK,KAAK;YAAE,OAAO,IAAI,CAAA;QACpC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;QAClC,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IACzE,CAAC,CAAA;IACD,uFAAuF;IACvF,MAAM,cAAc,GAClB,UAAU,CAAC,QAAQ,KAAK,KAAK;QAC7B,CAAC,SAAS,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;IACtE,MAAM,OAAO,GACX,cAAc,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9F,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,CAAA;AACpE,CAAC;AAkBD;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,IAA6B;IACpD,MAAM,WAAW,GAAG,IAAI,GAAG,EAA0B,CAAA;IACrD,MAAM,QAAQ,GAAmB,EAAE,CAAA;IACnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,6EAA6E;QAC7E,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAClB,SAAQ;QACV,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;YAC5C,IAAI,OAAO,KAAK,SAAS;gBAAE,SAAQ;YACnC,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,WAAW,IAAI,OAAO,EAAE,CAAA;YACvD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACpC,gGAAgG;YAChG,MAAM,QAAQ,GACZ,QAAQ,EAAE,QAAQ,KAAK,KAAK,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;gBACzD,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YAClE,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE;gBAClB,WAAW,EAAE,IAAI;gBACjB,OAAO;gBACP,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,QAAQ;gBACR,SAAS,EAAE,IAAI;aAChB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAA;AAC7D,CAAC"}
1
+ {"version":3,"file":"ZoneDelegation.js","sourceRoot":"","sources":["../../src/internal/ZoneDelegation.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
- /** Number of independent approvals required for Zone read credentials. */
1
+ /** Number of independent approvals required to create a Zone delegation. */
2
2
  export declare const quorum = 2;
3
3
  /** Maximum lifetime of an approval, matching the request lifetime and bounded by its authenticated session. */
4
4
  export declare const approvalLifetime: number;
5
- /** Returns whether scopes grant access subject to Zone read approval. */
6
- export declare function required(scopes: readonly string[]): boolean;
7
5
  /** An authenticated identity supplied by the host's verified identity integration. */
8
6
  export type Member = {
9
7
  /** Verified employee email, used for attribution only. */
@@ -28,9 +26,9 @@ export type Status = {
28
26
  };
29
27
  /** Looks up current account and group status, throwing when fresh results are unavailable. */
30
28
  export type Lookup = (ids: readonly string[]) => Promise<readonly Status[]>;
31
- /** Expected rejection of a Zone key request or an unapproved issuance path. */
29
+ /** Expected rejection of a delegation request, or of a direct write that widens Zone access. */
32
30
  export declare class RequiredError extends Error {
33
31
  name: string;
34
32
  constructor(message?: string);
35
33
  }
36
- //# sourceMappingURL=ZoneKeyApproval.d.ts.map
34
+ //# sourceMappingURL=ZoneDelegationApproval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZoneDelegationApproval.d.ts","sourceRoot":"","sources":["../../src/internal/ZoneDelegationApproval.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,eAAO,MAAM,MAAM,IAAI,CAAA;AAEvB,+GAA+G;AAC/G,eAAO,MAAM,gBAAgB,QAAuB,CAAA;AAEpD,sFAAsF;AACtF,MAAM,MAAM,MAAM,GAAG;IACnB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAA;IACb,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,CAAA;IACjB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,0EAA0E;AAC1E,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,IAAI,MAAM,CAE1E;AAED,4DAA4D;AAC5D,MAAM,MAAM,MAAM,GAAG;IACnB,oDAAoD;IACpD,MAAM,EAAE,OAAO,CAAA;IACf,2DAA2D;IAC3D,QAAQ,EAAE,OAAO,CAAA;IACjB,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,8FAA8F;AAC9F,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAA;AAE3E,gGAAgG;AAChG,qBAAa,aAAc,SAAQ,KAAK;IAC7B,IAAI,SAAyC;IACtD,YACE,OAAO,SAA4G,EAGpH;CACF"}
@@ -0,0 +1,16 @@
1
+ /** Number of independent approvals required to create a Zone delegation. */
2
+ export const quorum = 2;
3
+ /** Maximum lifetime of an approval, matching the request lifetime and bounded by its authenticated session. */
4
+ export const approvalLifetime = 24 * 60 * 60 * 1_000;
5
+ /** Returns whether an authenticated identity's session is still valid. */
6
+ export function active(member) {
7
+ return Boolean(member?.id && member.email && Date.parse(member.expiresAt) > Date.now());
8
+ }
9
+ /** Expected rejection of a delegation request, or of a direct write that widens Zone access. */
10
+ export class RequiredError extends Error {
11
+ name = 'ZoneDelegationApproval.RequiredError';
12
+ constructor(message = 'Zone delegations require two independent group approvals through the admin delegation-request workflow.') {
13
+ super(message);
14
+ }
15
+ }
16
+ //# sourceMappingURL=ZoneDelegationApproval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZoneDelegationApproval.js","sourceRoot":"","sources":["../../src/internal/ZoneDelegationApproval.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAA;AAEvB,+GAA+G;AAC/G,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAA;AAcpD,0EAA0E;AAC1E,MAAM,UAAU,MAAM,CAAC,MAAiC;IACtD,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;AACzF,CAAC;AAeD,gGAAgG;AAChG,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,IAAI,GAAG,sCAAsC,CAAA;IACtD,YACE,OAAO,GAAG,yGAAyG;QAEnH,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;CACF"}
@@ -0,0 +1,98 @@
1
+ import type * as ApiKey from '../ApiKey.js';
2
+ import type * as Db from '../db/Db.js';
3
+ import * as ZoneDelegations from '../db/tables/zoneDelegations.js';
4
+ import type * as Store from './Store.js';
5
+ /** The additive rewrite adding `zone:read` plus tags beside stored per-Zone read scopes, and what it leaves out. */
6
+ export type Plan = {
7
+ /** Keys holding per-Zone read scopes, with the scopes and tags they end up holding; `complete` ones are only checked. */
8
+ changes: readonly Change[];
9
+ /** Keys expiring within a minute; KV refuses their TTL and they lapse on their own, so they are left unchanged. */
10
+ expiring: readonly Key[];
11
+ /** Keys whose rewritten record the schema refuses (say, past the tag limit); left unchanged for a manual fix. */
12
+ invalid: readonly Key[];
13
+ /** Live, unfenced key records read from the store. */
14
+ keys: number;
15
+ /** Keys whose per-Zone write Zones differ from their read Zones; one tag list cannot express both, so they are re-minted by hand. */
16
+ mixed: readonly Key[];
17
+ /** Active delegations listing members for a planned Zone; apply refuses until they are whole-Zone. */
18
+ narrow: readonly ZoneDelegations.Record[];
19
+ /** Zone slots an admin revoked that a planned key still reads through its scope; the key stays unwritten until an admin delegates it again. */
20
+ revoked: readonly ZoneDelegations.Record[];
21
+ /** Keys owned by themselves (no organization row); left unchanged until `PUT /api-keys/{id}/organization` assigns one. */
22
+ orgless: readonly Key[];
23
+ /** Keys holding `zone:read` without tags or per-Zone scopes; they read no Zone and are listed, not changed. */
24
+ tagless: readonly Key[];
25
+ /** Zone chain ids named by per-Zone scopes that this deployment does not serve; no tag, delegations revoked. */
26
+ unconfigured: readonly number[];
27
+ /** Records the store could not read (expired, or scopes outside the catalog); left unchanged. */
28
+ unreadableRecords: number;
29
+ /** Wildcard keys, listed for an explicit decision and left unchanged. */
30
+ wildcard: readonly Key[];
31
+ };
32
+ /** A key named in a plan. */
33
+ export type Key = {
34
+ /** Key environment. */
35
+ environment: ApiKey.ApiKey['environment'];
36
+ /** Key id. */
37
+ id: string;
38
+ /** Human-readable key name, when set. */
39
+ name?: string | undefined;
40
+ /** Owning organization id, or the key id for legacy keys minted without one. */
41
+ orgId: string;
42
+ /** Attributed project id, when any. */
43
+ projectId?: string | undefined;
44
+ };
45
+ /** One key the rewrite changes or checks. */
46
+ export type Change = Key & {
47
+ /** Whether the record already holds `zone:read` and every tag; only its delegations are ensured, nothing is written. */
48
+ complete: boolean;
49
+ /** Zones the per-Zone scopes grant whose delegation an admin revoked; the key is left unwritten while any remain. */
50
+ revoked: readonly number[];
51
+ /** Scopes the key holds after the rewrite. */
52
+ scopes: readonly string[];
53
+ /** Zones the per-Zone scopes grant that lack any delegation for the organization; applying ensures one for each. */
54
+ undelegated: readonly number[];
55
+ /** Zone chain ids the key reads after the rewrite. */
56
+ zoneTags: readonly number[];
57
+ };
58
+ /** A plan after its changes were written. */
59
+ export type Applied = Plan & {
60
+ /** Whole-Zone delegations this run created so rewritten keys keep their reads. */
61
+ createdDelegations: number;
62
+ /** Active delegations for unconfigured Zones this run revoked. */
63
+ revokedDelegations: number;
64
+ /** Records this run rewrote. */
65
+ rewritten: number;
66
+ };
67
+ /**
68
+ * Derives the rewrite from the live key store without writing: every key
69
+ * holding a per-Zone read scope, the tags it would carry, and which of those
70
+ * Zones its organization is not yet delegated.
71
+ */
72
+ export declare function plan(options: Options): Promise<Plan>;
73
+ /**
74
+ * Rewrites every planned key so it keeps the reads it has today: ensures a
75
+ * whole-Zone delegation for each tagged Zone without one, then writes each
76
+ * record under its admission lock. Self-owned keys, and keys reading a Zone
77
+ * whose delegation an admin revoked, are skipped and reported. Throws
78
+ * {@link NarrowDelegationsError} before writing anything when an active
79
+ * delegation for a planned Zone lists members.
80
+ */
81
+ export declare function apply(options: Options): Promise<Applied>;
82
+ /** Stores the rewrite reads and writes, and the Zones this deployment serves. */
83
+ export type Options = {
84
+ /** Authoritative Postgres database holding organizations and delegations. */
85
+ db: Db.Db;
86
+ /** KV state store holding API-key records and fences. */
87
+ store: Store.State;
88
+ /** Chain ids of the hosted Zones; per-Zone scopes naming any other Zone earn no tag. */
89
+ zones: ReadonlySet<number>;
90
+ };
91
+ /** Thrown by {@link apply} when an active delegation for a planned Zone lists members; nothing was written. */
92
+ export declare class NarrowDelegationsError extends Error {
93
+ readonly name = "ZoneKeyRewrite.NarrowDelegationsError";
94
+ /** The delegations to widen to whole-Zone coverage (or revoke) before applying. */
95
+ readonly rows: readonly ZoneDelegations.Record[];
96
+ constructor(rows: readonly ZoneDelegations.Record[]);
97
+ }
98
+ //# sourceMappingURL=ZoneKeyRewrite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZoneKeyRewrite.d.ts","sourceRoot":"","sources":["../../src/internal/ZoneKeyRewrite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ import * as ApiKeys from '../ApiKeys.js';
2
+ import * as ApiKeyAdmissions from '../db/tables/apiKeyAdmissions.js';
3
+ import * as Organizations from '../db/tables/organizations.js';
4
+ import * as ZoneDelegations from '../db/tables/zoneDelegations.js';
5
+ /**
6
+ * Derives the rewrite from the live key store without writing: every key
7
+ * holding a per-Zone read scope, the tags it would carry, and which of those
8
+ * Zones its organization is not yet delegated.
9
+ */
10
+ export async function plan(options) {
11
+ const { db, store, zones } = options;
12
+ return summarize(db, await ApiKeys.planZoneReadRewrite(store, { zones }));
13
+ }
14
+ /**
15
+ * Rewrites every planned key so it keeps the reads it has today: ensures a
16
+ * whole-Zone delegation for each tagged Zone without one, then writes each
17
+ * record under its admission lock. Self-owned keys, and keys reading a Zone
18
+ * whose delegation an admin revoked, are skipped and reported. Throws
19
+ * {@link NarrowDelegationsError} before writing anything when an active
20
+ * delegation for a planned Zone lists members.
21
+ */
22
+ export async function apply(options) {
23
+ const { db, store, zones } = options;
24
+ const planned = await ApiKeys.planZoneReadRewrite(store, { zones });
25
+ const summary = await summarize(db, planned);
26
+ if (summary.narrow.length)
27
+ throw new NarrowDelegationsError(summary.narrow);
28
+ // A key reading a Zone an admin revoked keeps its scope untouched, so the gap stays in the plan.
29
+ const rewritable = summary.changes.filter(({ revoked }) => revoked.length === 0);
30
+ // Keys of one organization, environment, and Zone share a slot; one whole-Zone row covers them all.
31
+ const slots = new Map();
32
+ for (const change of rewritable)
33
+ for (const chainId of change.undelegated)
34
+ slots.set(`${change.orgId}:${change.environment}:${chainId}`, { chainId, environment: change.environment, orgId: change.orgId }); // prettier-ignore
35
+ let createdDelegations = 0;
36
+ for (const slot of slots.values()) {
37
+ // Delegations grant reads only, so a whole-Zone row restores exactly what the scopes granted.
38
+ const result = await ZoneDelegations.ensure(db, { ...slot, accountsAll: true, tokensAll: true });
39
+ if (result.created)
40
+ createdDelegations += 1;
41
+ }
42
+ // Delegations for the unconfigured Zones an owner's own keys name grant nothing; they go with the tags.
43
+ let revokedDelegations = 0;
44
+ const unconfiguredBy = new Map();
45
+ for (const { record, unconfigured } of planned.changes) {
46
+ const owner = `${record.orgId}:${record.environment}`;
47
+ unconfiguredBy.set(owner, new Set([...(unconfiguredBy.get(owner) ?? []), ...unconfigured]));
48
+ }
49
+ for (const [owner, chainIds] of unconfiguredBy) {
50
+ if (chainIds.size === 0)
51
+ continue;
52
+ const [orgId, environment] = owner.split(':');
53
+ for (const row of await ZoneDelegations.listActive(db, { environment, orgId }))
54
+ if (chainIds.has(row.chainId) && (await ZoneDelegations.revoke(db, row.id)))
55
+ revokedDelegations += 1; // prettier-ignore
56
+ }
57
+ // Each record is written under the key's admission lock, re-read and re-planned there, so an owner edit committed meanwhile is never overwritten.
58
+ let rewritten = 0;
59
+ const ids = new Set(rewritable.map(({ id }) => id));
60
+ for (const change of planned.changes.filter(({ record }) => ids.has(record.id)))
61
+ rewritten += await db.transaction(async (tx) => {
62
+ await ApiKeyAdmissions.lock(tx, change.record.id);
63
+ return ApiKeys.applyZoneReadRewrite(store, [change], { zones });
64
+ });
65
+ // The response describes the store as the run left it, not the snapshot it started from.
66
+ const final = await ApiKeys.planZoneReadRewrite(store, { zones });
67
+ return { ...(await summarize(db, final)), createdDelegations, revokedDelegations, rewritten };
68
+ }
69
+ /** Classifies planned changes by organization row and delegation coverage. */
70
+ async function summarize(db, planned) {
71
+ const organizations = new Set((await Organizations.listByIds(db, [
72
+ ...new Set(planned.changes.map(({ record }) => record.orgId)),
73
+ ])).map(({ id }) => id));
74
+ // Self-owned keys cannot hold a delegation, so they are reported rather than rewritten.
75
+ const owned = planned.changes.filter(({ record }) => organizations.has(record.orgId));
76
+ // One listing per organization and environment, revoked rows included, shared by every key it owns.
77
+ const rows = new Map();
78
+ for (const { record } of owned) {
79
+ const owner = `${record.orgId}:${record.environment}`;
80
+ if (!rows.has(owner))
81
+ rows.set(owner, await ZoneDelegations.list(db, { environment: record.environment, orgId: record.orgId })); // prettier-ignore
82
+ }
83
+ const narrow = new Map();
84
+ const revokedSlots = new Map();
85
+ const changes = owned.map(({ chainIds, complete, record, rewritten, writeChainIds }) => {
86
+ const listed = rows.get(`${record.orgId}:${record.environment}`) ?? [];
87
+ const active = listed.filter((row) => row.revokedAt === undefined);
88
+ // Only Zones the per-Zone scopes grant are repaired; tags added by hand never earn a delegation.
89
+ // Any active row covers (projects are not part of the model); one listing members would narrow a
90
+ // whole-Zone reader, so it blocks the apply instead. Broadcasts never check members, so write
91
+ // Zones only need a row to exist.
92
+ for (const row of active)
93
+ if (chainIds.includes(row.chainId) && !(row.accountsAll && row.tokensAll))
94
+ narrow.set(row.id, row); // prettier-ignore
95
+ const undelegated = [...new Set([...chainIds, ...writeChainIds])]
96
+ .sort((a, b) => a - b)
97
+ .filter((chainId) => !active.some((row) => row.chainId === chainId));
98
+ // A slot an admin revoked is a decision the rewrite must not undo; the key is reported instead.
99
+ const revoked = undelegated.filter((chainId) => {
100
+ const row = listed.find((candidate) => candidate.chainId === chainId);
101
+ if (row)
102
+ revokedSlots.set(row.id, row);
103
+ return row !== undefined;
104
+ });
105
+ return {
106
+ ...key(rewritten),
107
+ complete,
108
+ revoked,
109
+ scopes: rewritten.scopes,
110
+ undelegated,
111
+ zoneTags: rewritten.zoneTags ?? [],
112
+ };
113
+ });
114
+ return {
115
+ changes,
116
+ expiring: planned.expiring.map(key),
117
+ invalid: planned.invalid.map(key),
118
+ keys: planned.keys,
119
+ mixed: planned.mixed.map(key),
120
+ narrow: [...narrow.values()],
121
+ revoked: [...revokedSlots.values()],
122
+ orgless: planned.changes
123
+ .map(({ record }) => record)
124
+ .filter((record) => !organizations.has(record.orgId))
125
+ .map(key),
126
+ tagless: planned.tagless.map(key),
127
+ unconfigured: [...new Set(planned.changes.flatMap(({ unconfigured }) => unconfigured))].sort((a, b) => a - b), // prettier-ignore
128
+ unreadableRecords: planned.unreadableRecords,
129
+ wildcard: planned.wildcard.map(key),
130
+ };
131
+ }
132
+ function key(record) {
133
+ return {
134
+ environment: record.environment,
135
+ id: record.id,
136
+ ...(record.name === undefined ? {} : { name: record.name }),
137
+ orgId: record.orgId,
138
+ ...(record.projectId === undefined ? {} : { projectId: record.projectId }),
139
+ };
140
+ }
141
+ /** Thrown by {@link apply} when an active delegation for a planned Zone lists members; nothing was written. */
142
+ export class NarrowDelegationsError extends Error {
143
+ name = 'ZoneKeyRewrite.NarrowDelegationsError';
144
+ /** The delegations to widen to whole-Zone coverage (or revoke) before applying. */
145
+ rows;
146
+ constructor(rows) {
147
+ super(`${rows.length} active Zone delegation(s) list members; revoke them or request whole-Zone ones before rewriting keys.`); // prettier-ignore
148
+ this.rows = rows;
149
+ }
150
+ }
151
+ //# sourceMappingURL=ZoneKeyRewrite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZoneKeyRewrite.js","sourceRoot":"","sources":["../../src/internal/ZoneKeyRewrite.ts"],"names":[],"mappings":"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"}
@@ -334,6 +334,8 @@ export type RunEvidence = {
334
334
  deferredRecipients?: number | undefined;
335
335
  /** Stable registration high-water mark consumed by the run. */
336
336
  eligibilityCheckpoint?: string | undefined;
337
+ /** When the run was delivered, in Unix seconds. */
338
+ deliveredAt?: number | undefined;
337
339
  /** Exact eligibility snapshot identity used by resumable calculation. */
338
340
  eligibilityVersion?: Hex | undefined;
339
341
  /** Exact effective exclusion set identity used by resumable calculation. */
@@ -1 +1 @@
1
- {"version":3,"file":"Campaigns.d.ts","sourceRoot":"","sources":["../../../src/internal/rewards/Campaigns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Campaigns.d.ts","sourceRoot":"","sources":["../../../src/internal/rewards/Campaigns.ts"],"names":[],"mappings":"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"}