@aztec-labs/cli 6.0.0-nightly.20260829

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 (227) hide show
  1. package/README.md +23 -0
  2. package/dest/cmds/aztec_node/block_number.d.ts +3 -0
  3. package/dest/cmds/aztec_node/block_number.d.ts.map +1 -0
  4. package/dest/cmds/aztec_node/block_number.js +10 -0
  5. package/dest/cmds/aztec_node/get_block.d.ts +3 -0
  6. package/dest/cmds/aztec_node/get_block.d.ts.map +1 -0
  7. package/dest/cmds/aztec_node/get_block.js +10 -0
  8. package/dest/cmds/aztec_node/get_current_min_fee.d.ts +3 -0
  9. package/dest/cmds/aztec_node/get_current_min_fee.d.ts.map +1 -0
  10. package/dest/cmds/aztec_node/get_current_min_fee.js +7 -0
  11. package/dest/cmds/aztec_node/get_l1_to_l2_message_witness.d.ts +5 -0
  12. package/dest/cmds/aztec_node/get_l1_to_l2_message_witness.d.ts.map +1 -0
  13. package/dest/cmds/aztec_node/get_l1_to_l2_message_witness.js +12 -0
  14. package/dest/cmds/aztec_node/get_logs.d.ts +33 -0
  15. package/dest/cmds/aztec_node/get_logs.d.ts.map +1 -0
  16. package/dest/cmds/aztec_node/get_logs.js +61 -0
  17. package/dest/cmds/aztec_node/get_node_info.d.ts +3 -0
  18. package/dest/cmds/aztec_node/get_node_info.d.ts.map +1 -0
  19. package/dest/cmds/aztec_node/get_node_info.js +58 -0
  20. package/dest/cmds/aztec_node/index.d.ts +4 -0
  21. package/dest/cmds/aztec_node/index.d.ts.map +1 -0
  22. package/dest/cmds/aztec_node/index.js +38 -0
  23. package/dest/cmds/infrastructure/index.d.ts +4 -0
  24. package/dest/cmds/infrastructure/index.d.ts.map +1 -0
  25. package/dest/cmds/infrastructure/index.js +22 -0
  26. package/dest/cmds/infrastructure/sequencers.d.ts +12 -0
  27. package/dest/cmds/infrastructure/sequencers.d.ts.map +1 -0
  28. package/dest/cmds/infrastructure/sequencers.js +113 -0
  29. package/dest/cmds/infrastructure/setup_l2_contract.d.ts +3 -0
  30. package/dest/cmds/infrastructure/setup_l2_contract.d.ts.map +1 -0
  31. package/dest/cmds/infrastructure/setup_l2_contract.js +35 -0
  32. package/dest/cmds/l1/advance_epoch.d.ts +3 -0
  33. package/dest/cmds/l1/advance_epoch.d.ts.map +1 -0
  34. package/dest/cmds/l1/advance_epoch.js +12 -0
  35. package/dest/cmds/l1/assume_proven_through.d.ts +4 -0
  36. package/dest/cmds/l1/assume_proven_through.d.ts.map +1 -0
  37. package/dest/cmds/l1/assume_proven_through.js +12 -0
  38. package/dest/cmds/l1/compute_genesis_values.d.ts +4 -0
  39. package/dest/cmds/l1/compute_genesis_values.d.ts.map +1 -0
  40. package/dest/cmds/l1/compute_genesis_values.js +17 -0
  41. package/dest/cmds/l1/create_l1_account.d.ts +3 -0
  42. package/dest/cmds/l1/create_l1_account.d.ts.map +1 -0
  43. package/dest/cmds/l1/create_l1_account.js +15 -0
  44. package/dest/cmds/l1/deploy_l1_contracts_cmd.d.ts +4 -0
  45. package/dest/cmds/l1/deploy_l1_contracts_cmd.d.ts.map +1 -0
  46. package/dest/cmds/l1/deploy_l1_contracts_cmd.js +80 -0
  47. package/dest/cmds/l1/deploy_new_rollup.d.ts +5 -0
  48. package/dest/cmds/l1/deploy_new_rollup.d.ts.map +1 -0
  49. package/dest/cmds/l1/deploy_new_rollup.js +26 -0
  50. package/dest/cmds/l1/get_l1_addresses.d.ts +4 -0
  51. package/dest/cmds/l1/get_l1_addresses.d.ts.map +1 -0
  52. package/dest/cmds/l1/get_l1_addresses.js +21 -0
  53. package/dest/cmds/l1/get_l1_balance.d.ts +4 -0
  54. package/dest/cmds/l1/get_l1_balance.d.ts.map +1 -0
  55. package/dest/cmds/l1/get_l1_balance.js +35 -0
  56. package/dest/cmds/l1/governance_utils.d.ts +50 -0
  57. package/dest/cmds/l1/governance_utils.d.ts.map +1 -0
  58. package/dest/cmds/l1/governance_utils.js +87 -0
  59. package/dest/cmds/l1/index.d.ts +4 -0
  60. package/dest/cmds/l1/index.d.ts.map +1 -0
  61. package/dest/cmds/l1/index.js +201 -0
  62. package/dest/cmds/l1/prover_stats.d.ts +14 -0
  63. package/dest/cmds/l1/prover_stats.d.ts.map +1 -0
  64. package/dest/cmds/l1/prover_stats.js +147 -0
  65. package/dest/cmds/l1/trigger_seed_snapshot.d.ts +6 -0
  66. package/dest/cmds/l1/trigger_seed_snapshot.d.ts.map +1 -0
  67. package/dest/cmds/l1/trigger_seed_snapshot.js +20 -0
  68. package/dest/cmds/l1/update_l1_validators.d.ts +45 -0
  69. package/dest/cmds/l1/update_l1_validators.d.ts.map +1 -0
  70. package/dest/cmds/l1/update_l1_validators.js +280 -0
  71. package/dest/cmds/misc/generate_bootnode_enr.d.ts +3 -0
  72. package/dest/cmds/misc/generate_bootnode_enr.d.ts.map +1 -0
  73. package/dest/cmds/misc/generate_bootnode_enr.js +5 -0
  74. package/dest/cmds/misc/generate_p2p_private_key.d.ts +3 -0
  75. package/dest/cmds/misc/generate_p2p_private_key.d.ts.map +1 -0
  76. package/dest/cmds/misc/generate_p2p_private_key.js +7 -0
  77. package/dest/cmds/misc/generate_secret_key.d.ts +5 -0
  78. package/dest/cmds/misc/generate_secret_key.d.ts.map +1 -0
  79. package/dest/cmds/misc/generate_secret_key.js +6 -0
  80. package/dest/cmds/misc/index.d.ts +4 -0
  81. package/dest/cmds/misc/index.d.ts.map +1 -0
  82. package/dest/cmds/misc/index.js +32 -0
  83. package/dest/cmds/misc/update/common.d.ts +17 -0
  84. package/dest/cmds/misc/update/common.d.ts.map +1 -0
  85. package/dest/cmds/misc/update/common.js +3 -0
  86. package/dest/cmds/misc/update/github.d.ts +3 -0
  87. package/dest/cmds/misc/update/github.d.ts.map +1 -0
  88. package/dest/cmds/misc/update/github.js +2 -0
  89. package/dest/cmds/misc/update/noir.d.ts +10 -0
  90. package/dest/cmds/misc/update/noir.d.ts.map +1 -0
  91. package/dest/cmds/misc/update/noir.js +45 -0
  92. package/dest/cmds/misc/update/npm.d.ts +34 -0
  93. package/dest/cmds/misc/update/npm.d.ts.map +1 -0
  94. package/dest/cmds/misc/update/npm.js +123 -0
  95. package/dest/cmds/misc/update/utils.d.ts +14 -0
  96. package/dest/cmds/misc/update/utils.d.ts.map +1 -0
  97. package/dest/cmds/misc/update/utils.js +38 -0
  98. package/dest/cmds/misc/update.d.ts +3 -0
  99. package/dest/cmds/misc/update.d.ts.map +1 -0
  100. package/dest/cmds/misc/update.js +51 -0
  101. package/dest/cmds/validator_keys/add.d.ts +5 -0
  102. package/dest/cmds/validator_keys/add.d.ts.map +1 -0
  103. package/dest/cmds/validator_keys/add.js +83 -0
  104. package/dest/cmds/validator_keys/eth_json_v3_worker.d.ts +2 -0
  105. package/dest/cmds/validator_keys/eth_json_v3_worker.d.ts.map +1 -0
  106. package/dest/cmds/validator_keys/eth_json_v3_worker.js +27 -0
  107. package/dest/cmds/validator_keys/generate_bls_keypair.d.ts +12 -0
  108. package/dest/cmds/validator_keys/generate_bls_keypair.d.ts.map +1 -0
  109. package/dest/cmds/validator_keys/generate_bls_keypair.js +27 -0
  110. package/dest/cmds/validator_keys/index.d.ts +4 -0
  111. package/dest/cmds/validator_keys/index.d.ts.map +1 -0
  112. package/dest/cmds/validator_keys/index.js +33 -0
  113. package/dest/cmds/validator_keys/new.d.ts +35 -0
  114. package/dest/cmds/validator_keys/new.d.ts.map +1 -0
  115. package/dest/cmds/validator_keys/new.js +220 -0
  116. package/dest/cmds/validator_keys/set_funding_account.d.ts +14 -0
  117. package/dest/cmds/validator_keys/set_funding_account.d.ts.map +1 -0
  118. package/dest/cmds/validator_keys/set_funding_account.js +37 -0
  119. package/dest/cmds/validator_keys/shared.d.ts +81 -0
  120. package/dest/cmds/validator_keys/shared.d.ts.map +1 -0
  121. package/dest/cmds/validator_keys/shared.js +352 -0
  122. package/dest/cmds/validator_keys/staker.d.ts +38 -0
  123. package/dest/cmds/validator_keys/staker.d.ts.map +1 -0
  124. package/dest/cmds/validator_keys/staker.js +210 -0
  125. package/dest/cmds/validator_keys/utils.d.ts +35 -0
  126. package/dest/cmds/validator_keys/utils.d.ts.map +1 -0
  127. package/dest/cmds/validator_keys/utils.js +86 -0
  128. package/dest/config/cached_fetch.d.ts +27 -0
  129. package/dest/config/cached_fetch.d.ts.map +1 -0
  130. package/dest/config/cached_fetch.js +132 -0
  131. package/dest/config/chain_l2_config.d.ts +19 -0
  132. package/dest/config/chain_l2_config.d.ts.map +1 -0
  133. package/dest/config/chain_l2_config.js +60 -0
  134. package/dest/config/enrich_env.d.ts +4 -0
  135. package/dest/config/enrich_env.d.ts.map +1 -0
  136. package/dest/config/enrich_env.js +12 -0
  137. package/dest/config/generated/networks.d.ts +236 -0
  138. package/dest/config/generated/networks.d.ts.map +1 -0
  139. package/dest/config/generated/networks.js +237 -0
  140. package/dest/config/get_l1_config.d.ts +9 -0
  141. package/dest/config/get_l1_config.d.ts.map +1 -0
  142. package/dest/config/get_l1_config.js +24 -0
  143. package/dest/config/index.d.ts +5 -0
  144. package/dest/config/index.d.ts.map +1 -0
  145. package/dest/config/index.js +4 -0
  146. package/dest/config/network_config.d.ts +22 -0
  147. package/dest/config/network_config.d.ts.map +1 -0
  148. package/dest/config/network_config.js +119 -0
  149. package/dest/utils/aztec.d.ts +56 -0
  150. package/dest/utils/aztec.d.ts.map +1 -0
  151. package/dest/utils/aztec.js +161 -0
  152. package/dest/utils/commands.d.ts +161 -0
  153. package/dest/utils/commands.d.ts.map +1 -0
  154. package/dest/utils/commands.js +341 -0
  155. package/dest/utils/encoding.d.ts +15 -0
  156. package/dest/utils/encoding.d.ts.map +1 -0
  157. package/dest/utils/encoding.js +103 -0
  158. package/dest/utils/github.d.ts +3 -0
  159. package/dest/utils/github.d.ts.map +1 -0
  160. package/dest/utils/github.js +2 -0
  161. package/dest/utils/index.d.ts +6 -0
  162. package/dest/utils/index.d.ts.map +1 -0
  163. package/dest/utils/index.js +5 -0
  164. package/dest/utils/inspect.d.ts +11 -0
  165. package/dest/utils/inspect.d.ts.map +1 -0
  166. package/dest/utils/inspect.js +90 -0
  167. package/dest/utils/setup_contracts.d.ts +3 -0
  168. package/dest/utils/setup_contracts.d.ts.map +1 -0
  169. package/dest/utils/setup_contracts.js +16 -0
  170. package/package.json +141 -0
  171. package/public_include_metric_prefixes.json +1 -0
  172. package/src/cmds/aztec_node/block_number.ts +9 -0
  173. package/src/cmds/aztec_node/get_block.ts +11 -0
  174. package/src/cmds/aztec_node/get_current_min_fee.ts +9 -0
  175. package/src/cmds/aztec_node/get_l1_to_l2_message_witness.ts +27 -0
  176. package/src/cmds/aztec_node/get_logs.ts +100 -0
  177. package/src/cmds/aztec_node/get_node_info.ts +61 -0
  178. package/src/cmds/aztec_node/index.ts +91 -0
  179. package/src/cmds/infrastructure/index.ts +51 -0
  180. package/src/cmds/infrastructure/sequencers.ts +122 -0
  181. package/src/cmds/infrastructure/setup_l2_contract.ts +40 -0
  182. package/src/cmds/l1/advance_epoch.ts +14 -0
  183. package/src/cmds/l1/assume_proven_through.ts +20 -0
  184. package/src/cmds/l1/compute_genesis_values.ts +29 -0
  185. package/src/cmds/l1/create_l1_account.ts +16 -0
  186. package/src/cmds/l1/deploy_l1_contracts_cmd.ts +105 -0
  187. package/src/cmds/l1/deploy_new_rollup.ts +65 -0
  188. package/src/cmds/l1/get_l1_addresses.ts +31 -0
  189. package/src/cmds/l1/get_l1_balance.ts +44 -0
  190. package/src/cmds/l1/governance_utils.ts +183 -0
  191. package/src/cmds/l1/index.ts +499 -0
  192. package/src/cmds/l1/prover_stats.ts +213 -0
  193. package/src/cmds/l1/trigger_seed_snapshot.ts +32 -0
  194. package/src/cmds/l1/update_l1_validators.ts +358 -0
  195. package/src/cmds/misc/generate_bootnode_enr.ts +13 -0
  196. package/src/cmds/misc/generate_p2p_private_key.ts +9 -0
  197. package/src/cmds/misc/generate_secret_key.ts +5 -0
  198. package/src/cmds/misc/index.ts +67 -0
  199. package/src/cmds/misc/update/common.ts +16 -0
  200. package/src/cmds/misc/update/github.ts +2 -0
  201. package/src/cmds/misc/update/noir.ts +56 -0
  202. package/src/cmds/misc/update/npm.ts +148 -0
  203. package/src/cmds/misc/update/utils.ts +49 -0
  204. package/src/cmds/misc/update.ts +71 -0
  205. package/src/cmds/validator_keys/add.ts +122 -0
  206. package/src/cmds/validator_keys/eth_json_v3_worker.ts +30 -0
  207. package/src/cmds/validator_keys/generate_bls_keypair.ts +33 -0
  208. package/src/cmds/validator_keys/index.ts +181 -0
  209. package/src/cmds/validator_keys/new.ts +326 -0
  210. package/src/cmds/validator_keys/set_funding_account.ts +54 -0
  211. package/src/cmds/validator_keys/shared.ts +414 -0
  212. package/src/cmds/validator_keys/staker.ts +300 -0
  213. package/src/cmds/validator_keys/utils.ts +124 -0
  214. package/src/config/cached_fetch.ts +154 -0
  215. package/src/config/chain_l2_config.ts +71 -0
  216. package/src/config/enrich_env.ts +15 -0
  217. package/src/config/generated/networks.ts +241 -0
  218. package/src/config/get_l1_config.ts +31 -0
  219. package/src/config/index.ts +4 -0
  220. package/src/config/network_config.ts +150 -0
  221. package/src/utils/aztec.ts +203 -0
  222. package/src/utils/commands.ts +434 -0
  223. package/src/utils/encoding.ts +117 -0
  224. package/src/utils/github.ts +2 -0
  225. package/src/utils/index.ts +5 -0
  226. package/src/utils/inspect.ts +111 -0
  227. package/src/utils/setup_contracts.ts +19 -0
@@ -0,0 +1,35 @@
1
+ import type { EthAddress } from '@aztec-labs/foundation/eth-address';
2
+ import type { LogFn } from '@aztec-labs/foundation/log';
3
+ import type { AztecAddress } from '@aztec-labs/stdlib/aztec-address';
4
+ export type NewValidatorKeystoreOptions = {
5
+ dataDir?: string;
6
+ file?: string;
7
+ count?: number;
8
+ publisherCount?: number;
9
+ publishers?: string[];
10
+ mnemonic?: string;
11
+ passphrase?: string;
12
+ accountIndex?: number;
13
+ addressIndex?: number;
14
+ separatePublisher?: boolean;
15
+ ikm?: string;
16
+ blsPath?: string;
17
+ password?: string;
18
+ passwordFile?: string;
19
+ ethPassword?: string;
20
+ ethPasswordFile?: string;
21
+ blsPassword?: string;
22
+ blsPasswordFile?: string;
23
+ encryptedKeystoreDir?: string;
24
+ json?: boolean;
25
+ feeRecipient: AztecAddress;
26
+ coinbase?: EthAddress;
27
+ fundingAccount?: string;
28
+ remoteSigner?: string;
29
+ stakerOutput?: boolean;
30
+ gseAddress?: EthAddress;
31
+ l1RpcUrls?: string[];
32
+ l1ChainId?: number;
33
+ };
34
+ export declare function newValidatorKeystore(options: NewValidatorKeystoreOptions, log: LogFn): Promise<void>;
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY21kcy92YWxpZGF0b3Jfa2V5cy9uZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUEyQnJFLE1BQU0sTUFBTSwyQkFBMkIsR0FBRztJQUN4QyxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDakIsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2QsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2YsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3hCLFVBQVUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3RCLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNsQixVQUFVLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDcEIsWUFBWSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN0QixpQkFBaUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUM1QixHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDYixPQUFPLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDakIsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN0QixXQUFXLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDckIsZUFBZSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQixlQUFlLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDekIsb0JBQW9CLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDOUIsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ2YsWUFBWSxFQUFFLFlBQVksQ0FBQztJQUMzQixRQUFRLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDdEIsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3hCLFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN0QixZQUFZLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDdkIsVUFBVSxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ3hCLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3JCLFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNwQixDQUFDO0FBa0ZGLHdCQUFzQixvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsR0FBRyxFQUFFLEtBQUssaUJBc0wxRiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/cmds/validator_keys/new.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AA2BrE,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAkFF,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,EAAE,GAAG,EAAE,KAAK,iBAsL1F"}
@@ -0,0 +1,220 @@
1
+ import { prettyPrintJSON } from '@aztec-labs/cli/utils';
2
+ import { createEthereumChain } from '@aztec-labs/ethereum/chain';
3
+ import { GSEContract } from '@aztec-labs/ethereum/contracts';
4
+ import { wordlist } from '@scure/bip39/wordlists/english.js';
5
+ import { readFile, writeFile } from 'fs/promises';
6
+ import { basename, dirname, join } from 'path';
7
+ import { createPublicClient, fallback, http } from 'viem';
8
+ import { generateMnemonic, mnemonicToAccount, privateKeyToAccount } from 'viem/accounts';
9
+ import { buildValidatorEntries, encryptFundingAccountToFile, logValidatorSummaries, maybePrintJson, resolveFundingAccount, resolveKeystoreOutputPath, writeBlsBn254ToFile, writeEthJsonV3ToFile, writeKeystoreFile } from './shared.js';
10
+ import { processAttesterAccounts } from './staker.js';
11
+ import { validateBlsPathOptions, validateFundingAccountOptions, validatePublisherOptions, validateRemoteSignerOptions, validateStakerOutputOptions } from './utils.js';
12
+ function validatePassword(password, source) {
13
+ if (password.length === 0) {
14
+ throw new Error(`${source} cannot be empty`);
15
+ }
16
+ return password;
17
+ }
18
+ function stripOneTrailingNewline(password) {
19
+ if (password.endsWith('\n')) {
20
+ password = password.slice(0, -1);
21
+ }
22
+ if (password.endsWith('\r')) {
23
+ password = password.slice(0, -1);
24
+ }
25
+ return password;
26
+ }
27
+ async function resolvePasswordSource(source) {
28
+ if (source.password !== undefined && source.passwordFile !== undefined) {
29
+ throw new Error(`${source.passwordOption} and ${source.passwordFileOption} cannot be used together`);
30
+ }
31
+ if (source.password !== undefined) {
32
+ return validatePassword(source.password, source.passwordOption);
33
+ }
34
+ if (source.passwordFile !== undefined) {
35
+ if (source.passwordFile.length === 0) {
36
+ throw new Error(`${source.passwordFileOption} cannot be empty`);
37
+ }
38
+ const password = stripOneTrailingNewline(await readFile(source.passwordFile, 'utf-8'));
39
+ return validatePassword(password, source.passwordFileOption);
40
+ }
41
+ return undefined;
42
+ }
43
+ async function resolvePasswords(options) {
44
+ const sharedPassword = await resolvePasswordSource({
45
+ password: options.password,
46
+ passwordFile: options.passwordFile,
47
+ passwordOption: '--password',
48
+ passwordFileOption: '--password-file'
49
+ });
50
+ const ethPassword = await resolvePasswordSource({
51
+ password: options.ethPassword,
52
+ passwordFile: options.ethPasswordFile,
53
+ passwordOption: '--eth-password',
54
+ passwordFileOption: '--eth-password-file'
55
+ }) ?? sharedPassword;
56
+ const blsPassword = await resolvePasswordSource({
57
+ password: options.blsPassword,
58
+ passwordFile: options.blsPasswordFile,
59
+ passwordOption: '--bls-password',
60
+ passwordFileOption: '--bls-password-file'
61
+ }) ?? sharedPassword;
62
+ if (ethPassword === undefined && blsPassword === undefined) {
63
+ return {};
64
+ }
65
+ if (ethPassword === undefined || blsPassword === undefined) {
66
+ throw new Error('Both ETH and BLS passwords are required when writing encrypted keystores. Provide --password to use one password for both, or provide both --eth-password and --bls-password.');
67
+ }
68
+ return {
69
+ ethPassword,
70
+ blsPassword
71
+ };
72
+ }
73
+ export async function newValidatorKeystore(options, log) {
74
+ // validate bls-path inputs before proceeding with key generation
75
+ validateBlsPathOptions(options);
76
+ // validate staker output options before proceeding with key generation
77
+ validateStakerOutputOptions(options);
78
+ // validate publisher options
79
+ validatePublisherOptions(options);
80
+ // validate remote signer options
81
+ validateRemoteSignerOptions(options);
82
+ // validate funding account option
83
+ validateFundingAccountOptions(options);
84
+ const { dataDir, file, count, publisherCount = 0, publishers, json, coinbase, fundingAccount, accountIndex = 0, addressIndex = 0, feeRecipient, remoteSigner, blsPath, ikm, mnemonic: _mnemonic, password: passwordOption, passwordFile, ethPassword: ethPasswordOption, ethPasswordFile, blsPassword: blsPasswordOption, blsPasswordFile, encryptedKeystoreDir, stakerOutput, gseAddress, l1RpcUrls, l1ChainId } = options;
85
+ const { ethPassword, blsPassword } = await resolvePasswords({
86
+ password: passwordOption,
87
+ passwordFile,
88
+ ethPassword: ethPasswordOption,
89
+ ethPasswordFile,
90
+ blsPassword: blsPasswordOption,
91
+ blsPasswordFile
92
+ });
93
+ const shouldEncryptKeystores = ethPassword !== undefined && blsPassword !== undefined;
94
+ const mnemonic = _mnemonic ?? generateMnemonic(wordlist);
95
+ if (!_mnemonic && !json && !shouldEncryptKeystores) {
96
+ log('No mnemonic provided, generating new one...');
97
+ log(`Using new mnemonic:`);
98
+ log('');
99
+ log(mnemonic);
100
+ log('');
101
+ }
102
+ const validatorCount = typeof count === 'number' && Number.isFinite(count) && count > 0 ? Math.floor(count) : 1;
103
+ const { outputPath } = await resolveKeystoreOutputPath(dataDir, file);
104
+ const keystoreOutDir = dirname(outputPath);
105
+ const { validators, summaries } = await buildValidatorEntries({
106
+ validatorCount,
107
+ publisherCount,
108
+ publishers,
109
+ accountIndex,
110
+ baseAddressIndex: addressIndex,
111
+ mnemonic,
112
+ ikm,
113
+ blsPath,
114
+ feeRecipient,
115
+ coinbase,
116
+ remoteSigner
117
+ });
118
+ let resolvedFundingAccount = fundingAccount ? resolveFundingAccount(fundingAccount, remoteSigner) : undefined;
119
+ // If password provided, write ETH JSON V3 and BLS BN254 keystores and replace plaintext
120
+ if (shouldEncryptKeystores) {
121
+ const encryptedKeystoreOutDir = encryptedKeystoreDir && encryptedKeystoreDir.length > 0 ? encryptedKeystoreDir : keystoreOutDir;
122
+ await writeEthJsonV3ToFile(validators, {
123
+ outDir: encryptedKeystoreOutDir,
124
+ password: ethPassword
125
+ });
126
+ await writeBlsBn254ToFile(validators, {
127
+ outDir: encryptedKeystoreOutDir,
128
+ password: blsPassword
129
+ });
130
+ if (resolvedFundingAccount) {
131
+ resolvedFundingAccount = await encryptFundingAccountToFile(resolvedFundingAccount, {
132
+ outDir: encryptedKeystoreOutDir,
133
+ password: ethPassword
134
+ });
135
+ }
136
+ }
137
+ const keystore = {
138
+ schemaVersion: 1,
139
+ validators,
140
+ ...resolvedFundingAccount ? {
141
+ fundingAccount: resolvedFundingAccount
142
+ } : {}
143
+ };
144
+ await writeKeystoreFile(outputPath, keystore);
145
+ // Generate staker outputs if requested
146
+ const allStakerOutputs = [];
147
+ if (stakerOutput && gseAddress && l1RpcUrls && l1ChainId !== undefined) {
148
+ const chain = createEthereumChain(l1RpcUrls, l1ChainId);
149
+ const publicClient = createPublicClient({
150
+ chain: chain.chainInfo,
151
+ transport: fallback(l1RpcUrls.map((url)=>http(url, {
152
+ batch: false
153
+ })))
154
+ });
155
+ const gse = new GSEContract(publicClient, gseAddress);
156
+ // Extract keystore base name without extension for unique staker output filenames
157
+ const keystoreBaseName = basename(outputPath, '.json');
158
+ // Process each validator
159
+ for(let i = 0; i < validators.length; i++){
160
+ const validator = validators[i];
161
+ const outputs = await processAttesterAccounts(validator.attester, gse);
162
+ // Collect all staker outputs
163
+ for(let j = 0; j < outputs.length; j++){
164
+ allStakerOutputs.push(outputs[j]);
165
+ }
166
+ }
167
+ // Write a single JSON file with all staker outputs
168
+ if (allStakerOutputs.length > 0) {
169
+ const stakerOutputPath = join(keystoreOutDir, `${keystoreBaseName}_staker_output.json`);
170
+ await writeFile(stakerOutputPath, prettyPrintJSON(allStakerOutputs), 'utf-8');
171
+ }
172
+ }
173
+ const outputData = !_mnemonic && !shouldEncryptKeystores ? {
174
+ ...keystore,
175
+ generatedMnemonic: mnemonic
176
+ } : keystore;
177
+ // Handle JSON output
178
+ if (json) {
179
+ if (stakerOutput && allStakerOutputs.length > 0) {
180
+ const combinedOutput = {
181
+ keystore: outputData,
182
+ staker: allStakerOutputs
183
+ };
184
+ maybePrintJson(log, json, combinedOutput);
185
+ } else {
186
+ maybePrintJson(log, json, outputData);
187
+ }
188
+ } else {
189
+ log(`Wrote validator keystore to ${outputPath}`);
190
+ if (stakerOutput && allStakerOutputs.length > 0) {
191
+ const keystoreBaseName = basename(outputPath, '.json');
192
+ const stakerOutputPath = join(keystoreOutDir, `${keystoreBaseName}_staker_output.json`);
193
+ log(`Wrote staker output for ${allStakerOutputs.length} validator(s) to ${stakerOutputPath}`);
194
+ log('');
195
+ }
196
+ }
197
+ // print a concise summary of public keys (addresses and BLS pubkeys) if no --json options was selected
198
+ if (!json) {
199
+ logValidatorSummaries(log, summaries);
200
+ if (fundingAccount) {
201
+ const funderAddress = fundingAccount.length === 66 ? privateKeyToAccount(fundingAccount).address : fundingAccount;
202
+ log(`funding account: ${funderAddress}`);
203
+ }
204
+ }
205
+ if (mnemonic && remoteSigner && !json) {
206
+ for(let i = 0; i < validatorCount; i++){
207
+ const addrIdx = addressIndex + i;
208
+ const acct = mnemonicToAccount(mnemonic, {
209
+ accountIndex,
210
+ addressIndex: addrIdx
211
+ });
212
+ log(`attester address: ${acct.address} remoteSignerUrl: ${remoteSigner}`);
213
+ }
214
+ }
215
+ // Log staker outputs if not in JSON mode
216
+ if (!json && stakerOutput && allStakerOutputs.length > 0) {
217
+ log('\nStaker outputs:');
218
+ log(prettyPrintJSON(allStakerOutputs));
219
+ }
220
+ }
@@ -0,0 +1,14 @@
1
+ import type { LogFn } from '@aztec-labs/foundation/log';
2
+ export type SetFundingAccountOptions = {
3
+ remoteSigner?: string;
4
+ password?: string;
5
+ encryptedKeystoreDir?: string;
6
+ json?: boolean;
7
+ };
8
+ /**
9
+ * Sets the top-level funding account of an existing keystore, replacing any previous one. The
10
+ * account may be a private key, or an address paired with a remote signer URL. With a password,
11
+ * a plaintext key is encrypted to an ETH JSON V3 file and stored as a { path, password } reference.
12
+ */
13
+ export declare function setFundingAccount(existing: string, fundingAccount: string, options: SetFundingAccountOptions, log: LogFn): Promise<void>;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0X2Z1bmRpbmdfYWNjb3VudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvdmFsaWRhdG9yX2tleXMvc2V0X2Z1bmRpbmdfYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQVN4RCxNQUFNLE1BQU0sd0JBQXdCLEdBQUc7SUFDckMsWUFBWSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNsQixvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM5QixJQUFJLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDaEIsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCx3QkFBc0IsaUJBQWlCLENBQ3JDLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLGNBQWMsRUFBRSxNQUFNLEVBQ3RCLE9BQU8sRUFBRSx3QkFBd0IsRUFDakMsR0FBRyxFQUFFLEtBQUssaUJBNEJYIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set_funding_account.d.ts","sourceRoot":"","sources":["../../../src/cmds/validator_keys/set_funding_account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AASxD,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,wBAAwB,EACjC,GAAG,EAAE,KAAK,iBA4BX"}
@@ -0,0 +1,37 @@
1
+ import { loadKeystoreFile } from '@aztec-labs/node-keystore/loader';
2
+ import { dirname } from 'path';
3
+ import { privateKeyToAccount } from 'viem/accounts';
4
+ import { encryptFundingAccountToFile, maybePrintJson, resolveFundingAccount, writeKeystoreFile } from './shared.js';
5
+ import { validateFundingAccountOptions } from './utils.js';
6
+ /**
7
+ * Sets the top-level funding account of an existing keystore, replacing any previous one. The
8
+ * account may be a private key, or an address paired with a remote signer URL. With a password,
9
+ * a plaintext key is encrypted to an ETH JSON V3 file and stored as a { path, password } reference.
10
+ */ export async function setFundingAccount(existing, fundingAccount, options, log) {
11
+ const { remoteSigner, password, encryptedKeystoreDir, json } = options;
12
+ const keystore = loadKeystoreFile(existing);
13
+ const validated = {
14
+ fundingAccount,
15
+ remoteSigner
16
+ };
17
+ validateFundingAccountOptions(validated, !!keystore.remoteSigner);
18
+ let resolved = resolveFundingAccount(validated.fundingAccount, remoteSigner);
19
+ if (password !== undefined) {
20
+ const outDir = encryptedKeystoreDir && encryptedKeystoreDir.length > 0 ? encryptedKeystoreDir : dirname(existing);
21
+ resolved = await encryptFundingAccountToFile(resolved, {
22
+ outDir,
23
+ password
24
+ });
25
+ }
26
+ if (keystore.fundingAccount) {
27
+ log('Replacing existing funding account in keystore');
28
+ }
29
+ keystore.fundingAccount = resolved;
30
+ await writeKeystoreFile(existing, keystore);
31
+ if (!json) {
32
+ const value = validated.fundingAccount;
33
+ const funderAddress = value.length === 66 ? privateKeyToAccount(value).address : value;
34
+ log(`Set funding account ${funderAddress} in ${existing}`);
35
+ }
36
+ maybePrintJson(log, !!json, keystore);
37
+ }
@@ -0,0 +1,81 @@
1
+ import { EthAddress } from '@aztec-labs/foundation/eth-address';
2
+ import type { LogFn } from '@aztec-labs/foundation/log';
3
+ import type { EthAccount, EthPrivateKey, ValidatorKeyStore } from '@aztec-labs/node-keystore/types';
4
+ import type { AztecAddress } from '@aztec-labs/stdlib/aztec-address';
5
+ export type ValidatorSummary = {
6
+ attesterEth?: string;
7
+ attesterBls?: string;
8
+ publisherEth?: string[];
9
+ };
10
+ export type BuildValidatorsInput = {
11
+ validatorCount: number;
12
+ publisherCount?: number;
13
+ publishers?: string[];
14
+ accountIndex: number;
15
+ baseAddressIndex: number;
16
+ mnemonic: string;
17
+ ikm?: string;
18
+ blsPath?: string;
19
+ feeRecipient: AztecAddress;
20
+ coinbase?: EthAddress;
21
+ remoteSigner?: string;
22
+ };
23
+ export declare function withValidatorIndex(path: string, accountIndex?: number, addressIndex?: number): string;
24
+ /**
25
+ * Compute a compressed BN254 G1 public key from a private key.
26
+ * @param privateKeyHex - Private key as 0x-prefixed hex string
27
+ * @returns Compressed G1 point (32 bytes with sign bit in MSB)
28
+ */
29
+ export declare function computeBlsPublicKeyCompressed(privateKeyHex: string): Promise<string>;
30
+ export declare function deriveEthAttester(mnemonic: string, baseAccountIndex: number, addressIndex: number, remoteSigner?: string): EthAccount | EthPrivateKey;
31
+ /**
32
+ * Resolve a `--funding-account` value into a keystore `EthAccount`. A 66-char value is a private key
33
+ * (used verbatim). A 42-char value is an address: with an explicit `remoteSigner` URL it becomes an
34
+ * `{ address, remoteSignerUrl }` pair; without one it is stored as a bare address that falls back to
35
+ * the keystore-level remote signer at runtime. Callers must validate the value first (see
36
+ * `validateFundingAccountOptions`).
37
+ */
38
+ export declare function resolveFundingAccount(fundingAccount: string, remoteSigner?: string): EthAccount;
39
+ export declare function buildValidatorEntries(input: BuildValidatorsInput): Promise<{
40
+ validators: ValidatorKeyStore[];
41
+ summaries: ValidatorSummary[];
42
+ }>;
43
+ export declare function resolveKeystoreOutputPath(dataDir?: string, file?: string): Promise<{
44
+ resolvedDir: string;
45
+ outputPath: string;
46
+ }>;
47
+ export declare function writeKeystoreFile(path: string, keystore: unknown): Promise<void>;
48
+ export declare function logValidatorSummaries(log: LogFn, summaries: ValidatorSummary[]): void;
49
+ export declare function maybePrintJson(log: LogFn, jsonFlag: boolean | undefined, obj: unknown): void;
50
+ /**
51
+ * Writes a BN254 keystore file for a BN254 BLS private key.
52
+ * Returns the absolute path to the written file.
53
+ *
54
+ * @param outDir - Directory to write the keystore file to
55
+ * @param fileNameBase - Base name for the keystore file (will be sanitized)
56
+ * @param password - Password for encrypting the private key
57
+ * @param privateKeyHex - Private key as 0x-prefixed hex string (32 bytes)
58
+ * @param pubkeyHex - Public key as hex string
59
+ * @param derivationPath - BIP-44 style derivation path
60
+ * @returns Absolute path to the written keystore file
61
+ */
62
+ export declare function writeBn254BlsKeystore(outDir: string, fileNameBase: string, password: string, privateKeyHex: string, pubkeyHex: string, derivationPath: string): Promise<string>;
63
+ /** Replace plaintext BLS keys in validators with { path, password } pointing to BN254 keystore files. */
64
+ export declare function writeBlsBn254ToFile(validators: ValidatorKeyStore[], options: {
65
+ outDir: string;
66
+ password: string;
67
+ blsPath?: string;
68
+ }): Promise<void>;
69
+ /** Writes an Ethereum JSON V3 keystore using ethers, returns absolute path */
70
+ export declare function writeEthJsonV3Keystore(outDir: string, fileNameBase: string, password: string, privateKeyHex: string): Promise<string>;
71
+ /** Encrypt a plaintext funding-account key to a JSON V3 file, replacing it with a { path, password } reference. */
72
+ export declare function encryptFundingAccountToFile(account: EthAccount, options: {
73
+ outDir: string;
74
+ password: string;
75
+ }): Promise<EthAccount>;
76
+ /** Replace plaintext ETH keys in validators with { path, password } pointing to JSON V3 files. */
77
+ export declare function writeEthJsonV3ToFile(validators: ValidatorKeyStore[], options: {
78
+ outDir: string;
79
+ password: string;
80
+ }): Promise<void>;
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY21kcy92YWxpZGF0b3Jfa2V5cy9zaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRyxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQTJEckUsTUFBTSxNQUFNLGdCQUFnQixHQUFHO0lBQUUsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQUMsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQUMsWUFBWSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUE7Q0FBRSxDQUFDO0FBRXZHLE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUNqQyxjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLGNBQWMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN4QixVQUFVLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUN0QixZQUFZLEVBQUUsTUFBTSxDQUFDO0lBQ3JCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztJQUN6QixRQUFRLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNiLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNqQixZQUFZLEVBQUUsWUFBWSxDQUFDO0lBQzNCLFFBQVEsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUN0QixZQUFZLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDdkIsQ0FBQztBQUVGLHdCQUFnQixrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFlBQVksR0FBRSxNQUFVLEVBQUUsWUFB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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/cmds/validator_keys/shared.ts"],"names":[],"mappings":"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"}