@aztec/cli 0.0.1-commit.d3ec352c → 0.0.1-commit.d58ff9d0

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 (149) hide show
  1. package/dest/cmds/aztec_node/block_number.js +1 -1
  2. package/dest/cmds/aztec_node/get_current_min_fee.d.ts +3 -0
  3. package/dest/cmds/aztec_node/get_current_min_fee.d.ts.map +1 -0
  4. package/dest/cmds/aztec_node/{get_current_base_fee.js → get_current_min_fee.js} +2 -2
  5. package/dest/cmds/aztec_node/get_logs.d.ts +30 -4
  6. package/dest/cmds/aztec_node/get_logs.d.ts.map +1 -1
  7. package/dest/cmds/aztec_node/get_logs.js +39 -29
  8. package/dest/cmds/aztec_node/get_node_info.d.ts +1 -1
  9. package/dest/cmds/aztec_node/get_node_info.d.ts.map +1 -1
  10. package/dest/cmds/aztec_node/get_node_info.js +0 -2
  11. package/dest/cmds/aztec_node/index.d.ts +1 -1
  12. package/dest/cmds/aztec_node/index.d.ts.map +1 -1
  13. package/dest/cmds/aztec_node/index.js +16 -6
  14. package/dest/cmds/contracts/inspect_contract.js +1 -1
  15. package/dest/cmds/infrastructure/sequencers.d.ts +1 -1
  16. package/dest/cmds/infrastructure/sequencers.d.ts.map +1 -1
  17. package/dest/cmds/infrastructure/sequencers.js +11 -4
  18. package/dest/cmds/infrastructure/setup_l2_contract.d.ts +1 -1
  19. package/dest/cmds/infrastructure/setup_l2_contract.d.ts.map +1 -1
  20. package/dest/cmds/infrastructure/setup_l2_contract.js +12 -7
  21. package/dest/cmds/l1/assume_proven_through.d.ts +3 -2
  22. package/dest/cmds/l1/assume_proven_through.d.ts.map +1 -1
  23. package/dest/cmds/l1/assume_proven_through.js +3 -5
  24. package/dest/cmds/l1/bridge_erc20.d.ts +1 -1
  25. package/dest/cmds/l1/bridge_erc20.d.ts.map +1 -1
  26. package/dest/cmds/l1/bridge_erc20.js +2 -1
  27. package/dest/cmds/l1/compute_genesis_values.d.ts +4 -0
  28. package/dest/cmds/l1/compute_genesis_values.d.ts.map +1 -0
  29. package/dest/cmds/l1/compute_genesis_values.js +17 -0
  30. package/dest/cmds/l1/deploy_l1_contracts_cmd.d.ts +4 -0
  31. package/dest/cmds/l1/deploy_l1_contracts_cmd.d.ts.map +1 -0
  32. package/dest/cmds/l1/{deploy_l1_contracts.js → deploy_l1_contracts_cmd.js} +39 -5
  33. package/dest/cmds/l1/deploy_new_rollup.d.ts +4 -4
  34. package/dest/cmds/l1/deploy_new_rollup.d.ts.map +1 -1
  35. package/dest/cmds/l1/deploy_new_rollup.js +4 -6
  36. package/dest/cmds/l1/get_l1_addresses.d.ts +1 -1
  37. package/dest/cmds/l1/get_l1_addresses.d.ts.map +1 -1
  38. package/dest/cmds/l1/get_l1_addresses.js +5 -2
  39. package/dest/cmds/l1/get_l1_balance.js +4 -2
  40. package/dest/cmds/l1/governance_utils.d.ts +1 -1
  41. package/dest/cmds/l1/governance_utils.d.ts.map +1 -1
  42. package/dest/cmds/l1/governance_utils.js +3 -1
  43. package/dest/cmds/l1/index.d.ts +1 -2
  44. package/dest/cmds/l1/index.d.ts.map +1 -1
  45. package/dest/cmds/l1/index.js +17 -10
  46. package/dest/cmds/l1/prover_stats.d.ts +1 -1
  47. package/dest/cmds/l1/prover_stats.d.ts.map +1 -1
  48. package/dest/cmds/l1/prover_stats.js +4 -2
  49. package/dest/cmds/l1/trigger_seed_snapshot.d.ts +1 -1
  50. package/dest/cmds/l1/trigger_seed_snapshot.d.ts.map +1 -1
  51. package/dest/cmds/l1/trigger_seed_snapshot.js +2 -1
  52. package/dest/cmds/l1/update_l1_validators.d.ts +3 -3
  53. package/dest/cmds/l1/update_l1_validators.d.ts.map +1 -1
  54. package/dest/cmds/l1/update_l1_validators.js +56 -18
  55. package/dest/cmds/misc/generate_secret_and_hash.js +1 -1
  56. package/dest/cmds/misc/index.d.ts +1 -1
  57. package/dest/cmds/misc/index.d.ts.map +1 -1
  58. package/dest/cmds/misc/index.js +1 -1
  59. package/dest/cmds/validator_keys/eth_json_v3_worker.d.ts +2 -0
  60. package/dest/cmds/validator_keys/eth_json_v3_worker.d.ts.map +1 -0
  61. package/dest/cmds/validator_keys/eth_json_v3_worker.js +27 -0
  62. package/dest/cmds/validator_keys/generate_bls_keypair.js +1 -1
  63. package/dest/cmds/validator_keys/index.d.ts +1 -1
  64. package/dest/cmds/validator_keys/index.d.ts.map +1 -1
  65. package/dest/cmds/validator_keys/index.js +7 -6
  66. package/dest/cmds/validator_keys/new.d.ts +7 -1
  67. package/dest/cmds/validator_keys/new.d.ts.map +1 -1
  68. package/dest/cmds/validator_keys/new.js +103 -14
  69. package/dest/cmds/validator_keys/set_funding_account.d.ts +14 -0
  70. package/dest/cmds/validator_keys/set_funding_account.d.ts.map +1 -0
  71. package/dest/cmds/validator_keys/set_funding_account.js +37 -0
  72. package/dest/cmds/validator_keys/shared.d.ts +15 -2
  73. package/dest/cmds/validator_keys/shared.d.ts.map +1 -1
  74. package/dest/cmds/validator_keys/shared.js +102 -24
  75. package/dest/cmds/validator_keys/staker.d.ts +2 -2
  76. package/dest/cmds/validator_keys/staker.d.ts.map +1 -1
  77. package/dest/cmds/validator_keys/staker.js +7 -4
  78. package/dest/cmds/validator_keys/utils.d.ts +12 -2
  79. package/dest/cmds/validator_keys/utils.d.ts.map +1 -1
  80. package/dest/cmds/validator_keys/utils.js +35 -1
  81. package/dest/config/cached_fetch.d.ts +19 -10
  82. package/dest/config/cached_fetch.d.ts.map +1 -1
  83. package/dest/config/cached_fetch.js +110 -32
  84. package/dest/config/chain_l2_config.d.ts +17 -38
  85. package/dest/config/chain_l2_config.d.ts.map +1 -1
  86. package/dest/config/chain_l2_config.js +48 -493
  87. package/dest/config/generated/networks.d.ts +239 -0
  88. package/dest/config/generated/networks.d.ts.map +1 -0
  89. package/dest/config/generated/networks.js +240 -0
  90. package/dest/config/get_l1_config.d.ts +3 -2
  91. package/dest/config/get_l1_config.d.ts.map +1 -1
  92. package/dest/config/get_l1_config.js +3 -1
  93. package/dest/config/network_config.d.ts +2 -2
  94. package/dest/config/network_config.d.ts.map +1 -1
  95. package/dest/config/network_config.js +13 -3
  96. package/dest/utils/aztec.d.ts +7 -14
  97. package/dest/utils/aztec.d.ts.map +1 -1
  98. package/dest/utils/aztec.js +19 -41
  99. package/dest/utils/commands.d.ts +25 -15
  100. package/dest/utils/commands.d.ts.map +1 -1
  101. package/dest/utils/commands.js +34 -22
  102. package/dest/utils/encoding.js +1 -1
  103. package/dest/utils/inspect.d.ts +1 -1
  104. package/dest/utils/inspect.d.ts.map +1 -1
  105. package/dest/utils/inspect.js +15 -12
  106. package/package.json +39 -31
  107. package/src/cmds/aztec_node/block_number.ts +1 -1
  108. package/src/cmds/aztec_node/{get_current_base_fee.ts → get_current_min_fee.ts} +2 -2
  109. package/src/cmds/aztec_node/get_logs.ts +70 -38
  110. package/src/cmds/aztec_node/get_node_info.ts +0 -2
  111. package/src/cmds/aztec_node/index.ts +16 -11
  112. package/src/cmds/contracts/inspect_contract.ts +1 -1
  113. package/src/cmds/infrastructure/sequencers.ts +7 -4
  114. package/src/cmds/infrastructure/setup_l2_contract.ts +12 -7
  115. package/src/cmds/l1/assume_proven_through.ts +4 -7
  116. package/src/cmds/l1/bridge_erc20.ts +2 -1
  117. package/src/cmds/l1/compute_genesis_values.ts +29 -0
  118. package/src/cmds/l1/{deploy_l1_contracts.ts → deploy_l1_contracts_cmd.ts} +39 -23
  119. package/src/cmds/l1/deploy_new_rollup.ts +5 -12
  120. package/src/cmds/l1/get_l1_addresses.ts +4 -2
  121. package/src/cmds/l1/get_l1_balance.ts +2 -2
  122. package/src/cmds/l1/governance_utils.ts +3 -8
  123. package/src/cmds/l1/index.ts +30 -21
  124. package/src/cmds/l1/prover_stats.ts +6 -2
  125. package/src/cmds/l1/trigger_seed_snapshot.ts +2 -1
  126. package/src/cmds/l1/update_l1_validators.ts +50 -30
  127. package/src/cmds/misc/generate_secret_and_hash.ts +1 -1
  128. package/src/cmds/misc/index.ts +1 -1
  129. package/src/cmds/validator_keys/eth_json_v3_worker.ts +30 -0
  130. package/src/cmds/validator_keys/generate_bls_keypair.ts +1 -1
  131. package/src/cmds/validator_keys/index.ts +48 -8
  132. package/src/cmds/validator_keys/new.ts +132 -11
  133. package/src/cmds/validator_keys/set_funding_account.ts +55 -0
  134. package/src/cmds/validator_keys/shared.ts +125 -36
  135. package/src/cmds/validator_keys/staker.ts +5 -4
  136. package/src/cmds/validator_keys/utils.ts +46 -2
  137. package/src/config/cached_fetch.ts +119 -31
  138. package/src/config/chain_l2_config.ts +46 -642
  139. package/src/config/generated/networks.ts +244 -0
  140. package/src/config/get_l1_config.ts +4 -1
  141. package/src/config/network_config.ts +14 -3
  142. package/src/utils/aztec.ts +30 -95
  143. package/src/utils/commands.ts +41 -26
  144. package/src/utils/encoding.ts +1 -1
  145. package/src/utils/inspect.ts +11 -9
  146. package/dest/cmds/aztec_node/get_current_base_fee.d.ts +0 -3
  147. package/dest/cmds/aztec_node/get_current_base_fee.d.ts.map +0 -1
  148. package/dest/cmds/l1/deploy_l1_contracts.d.ts +0 -4
  149. package/dest/cmds/l1/deploy_l1_contracts.d.ts.map +0 -1
@@ -3,7 +3,7 @@ export async function blockNumber(nodeUrl, log) {
3
3
  const aztecNode = createAztecNodeClient(nodeUrl);
4
4
  const [latestNum, provenNum] = await Promise.all([
5
5
  aztecNode.getBlockNumber(),
6
- aztecNode.getProvenBlockNumber()
6
+ aztecNode.getBlockNumber('proven')
7
7
  ]);
8
8
  log(`Latest block: ${latestNum}`);
9
9
  log(`Proven block: ${provenNum}`);
@@ -0,0 +1,3 @@
1
+ import type { LogFn, Logger } from '@aztec/foundation/log';
2
+ export declare function getCurrentMinFee(nodeUrl: string, debugLogger: Logger, log: LogFn): Promise<void>;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2N1cnJlbnRfbWluX2ZlZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvYXp0ZWNfbm9kZS9nZXRfY3VycmVudF9taW5fZmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRCx3QkFBc0IsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLGlCQUl0RiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_current_min_fee.d.ts","sourceRoot":"","sources":["../../../src/cmds/aztec_node/get_current_min_fee.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAItF"}
@@ -1,7 +1,7 @@
1
1
  import { createAztecNodeClient } from '@aztec/aztec.js/node';
2
2
  import { jsonStringify } from '@aztec/foundation/json-rpc';
3
- export async function getCurrentBaseFee(nodeUrl, debugLogger, log) {
3
+ export async function getCurrentMinFee(nodeUrl, debugLogger, log) {
4
4
  const node = createAztecNodeClient(nodeUrl);
5
- const fees = await node.getCurrentBaseFees();
5
+ const fees = await node.getCurrentMinFees();
6
6
  log(`Current fees: ${jsonStringify(fees)}`);
7
7
  }
@@ -1,7 +1,33 @@
1
1
  import type { AztecAddress } from '@aztec/aztec.js/addresses';
2
- import type { LogId } from '@aztec/aztec.js/log';
3
2
  import type { TxHash } from '@aztec/aztec.js/tx';
4
- import { BlockNumber } from '@aztec/foundation/branded-types';
3
+ import type { BlockNumber } from '@aztec/foundation/branded-types';
5
4
  import type { LogFn } from '@aztec/foundation/log';
6
- export declare function getLogs(txHash: TxHash, fromBlock: BlockNumber, toBlock: BlockNumber, afterLog: LogId, contractAddress: AztecAddress, nodeUrl: string, follow: boolean, log: LogFn): Promise<void>;
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2xvZ3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2F6dGVjX25vZGUvZ2V0X2xvZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQWEsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR25ELHdCQUFzQixPQUFPLENBQzNCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsU0FBUyxFQUFFLFdBQVcsRUFDdEIsT0FBTyxFQUFFLFdBQVcsRUFDcEIsUUFBUSxFQUFFLEtBQUssRUFDZixlQUFlLEVBQUUsWUFBWSxFQUM3QixPQUFPLEVBQUUsTUFBTSxFQUNmLE1BQU0sRUFBRSxPQUFPLEVBQ2YsR0FBRyxFQUFFLEtBQUssaUJBbURYIn0=
5
+ import { LogCursor, type Tag } from '@aztec/stdlib/logs';
6
+ /** Options for the `get-logs` CLI command. */
7
+ export type GetLogsOptions = {
8
+ /** Contract address that emitted the logs (required). */
9
+ contractAddress: AztecAddress;
10
+ /** Tag to filter logs by (required). */
11
+ tag: Tag;
12
+ /** Restrict the search to this tx hash. Mutually exclusive with `fromBlock`/`toBlock`. */
13
+ txHash?: TxHash;
14
+ /** Lower block bound, inclusive. */
15
+ fromBlock?: BlockNumber;
16
+ /** Upper block bound, exclusive. */
17
+ toBlock?: BlockNumber;
18
+ /** Log cursor to resume pagination strictly after a previously-seen log. */
19
+ afterLog?: LogCursor;
20
+ /** Node RPC URL. */
21
+ nodeUrl: string;
22
+ /** When set, polls indefinitely for new logs. Incompatible with `txHash` and `toBlock`. */
23
+ follow: boolean;
24
+ /** Log function. */
25
+ log: LogFn;
26
+ };
27
+ /**
28
+ * Fetches public logs for a (contract, tag) pair, draining all pages via the stdlib pagination helper.
29
+ * In `--follow` mode, polls indefinitely: each round drains all currently-available logs, then sleeps
30
+ * until the next poll if nothing new was found.
31
+ */
32
+ export declare function getLogs(options: GetLogsOptions): Promise<void>;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2xvZ3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2F6dGVjX25vZGUvZ2V0X2xvZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbkQsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBQUcsRUFHVCxNQUFNLG9CQUFvQixDQUFDO0FBRTVCLDhDQUE4QztBQUM5QyxNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQzNCLHlEQUF5RDtJQUN6RCxlQUFlLEVBQUUsWUFBWSxDQUFDO0lBQzlCLHdDQUF3QztJQUN4QyxHQUFHLEVBQUUsR0FBRyxDQUFDO0lBQ1QsMEZBQTBGO0lBQzFGLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNoQixvQ0FBb0M7SUFDcEMsU0FBUyxDQUFDLEVBQUUsV0FBVyxDQUFDO0lBQ3hCLG9DQUFvQztJQUNwQyxPQUFPLENBQUMsRUFBRSxXQUFXLENBQUM7SUFDdEIsNEVBQTRFO0lBQzVFLFFBQVEsQ0FBQyxFQUFFLFNBQVMsQ0FBQztJQUNyQixvQkFBb0I7SUFDcEIsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQiwyRkFBMkY7SUFDM0YsTUFBTSxFQUFFLE9BQU8sQ0FBQztJQUNoQixvQkFBb0I7SUFDcEIsR0FBRyxFQUFFLEtBQUssQ0FBQztDQUNaLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsd0JBQXNCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0EwRHBFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"get_logs.d.ts","sourceRoot":"","sources":["../../../src/cmds/aztec_node/get_logs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAa,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,KAAK,EACf,eAAe,EAAE,YAAY,EAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,KAAK,iBAmDX"}
1
+ {"version":3,"file":"get_logs.d.ts","sourceRoot":"","sources":["../../../src/cmds/aztec_node/get_logs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EACL,SAAS,EAET,KAAK,GAAG,EAGT,MAAM,oBAAoB,CAAC;AAE5B,8CAA8C;AAC9C,MAAM,MAAM,cAAc,GAAG;IAC3B,yDAAyD;IACzD,eAAe,EAAE,YAAY,CAAC;IAC9B,wCAAwC;IACxC,GAAG,EAAE,GAAG,CAAC;IACT,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,oCAAoC;IACpC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,2FAA2F;IAC3F,MAAM,EAAE,OAAO,CAAC;IAChB,oBAAoB;IACpB,GAAG,EAAE,KAAK,CAAC;CACZ,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DpE"}
@@ -1,7 +1,13 @@
1
1
  import { createAztecNodeClient } from '@aztec/aztec.js/node';
2
2
  import { sleep } from '@aztec/foundation/sleep';
3
- export async function getLogs(txHash, fromBlock, toBlock, afterLog, contractAddress, nodeUrl, follow, log) {
4
- const node = createAztecNodeClient(nodeUrl);
3
+ import { LogCursor, logResultToHumanReadable, queryAllPublicLogsByTags } from '@aztec/stdlib/logs';
4
+ /**
5
+ * Fetches public logs for a (contract, tag) pair, draining all pages via the stdlib pagination helper.
6
+ * In `--follow` mode, polls indefinitely: each round drains all currently-available logs, then sleeps
7
+ * until the next poll if nothing new was found.
8
+ */ export async function getLogs(options) {
9
+ const { txHash, fromBlock, toBlock, contractAddress, tag, nodeUrl, follow, log } = options;
10
+ let afterLog = options.afterLog;
5
11
  if (follow) {
6
12
  if (txHash) {
7
13
  throw Error('Cannot use --follow with --tx-hash');
@@ -10,42 +16,46 @@ export async function getLogs(txHash, fromBlock, toBlock, afterLog, contractAddr
10
16
  throw Error('Cannot use --follow with --to-block');
11
17
  }
12
18
  }
13
- const filter = {
14
- txHash,
15
- fromBlock,
16
- toBlock,
17
- afterLog,
18
- contractAddress
19
- };
20
- const fetchLogs = async ()=>{
21
- const response = await node.getPublicLogs(filter);
22
- const logs = response.logs;
23
- if (!logs.length) {
24
- const filterOptions = Object.entries(filter).filter(([, value])=>value !== undefined).map(([key, value])=>`${key}: ${value}`).join(', ');
25
- if (!follow) {
26
- log(`No logs found for filter: {${filterOptions}}`);
27
- }
28
- } else {
29
- if (!follow && !filter.afterLog) {
30
- log('Logs found: \n');
31
- }
32
- logs.forEach((publicLog)=>log(publicLog.toHumanReadable()));
33
- // Set the continuation parameter for the following requests
34
- filter.afterLog = logs[logs.length - 1].id;
19
+ if (txHash !== undefined && (fromBlock !== undefined || toBlock !== undefined)) {
20
+ throw Error('Cannot combine --tx-hash with --from-block / --to-block');
21
+ }
22
+ const node = createAztecNodeClient(nodeUrl);
23
+ const drainLogs = async ()=>{
24
+ const query = {
25
+ contractAddress,
26
+ tags: [
27
+ afterLog !== undefined ? {
28
+ tag,
29
+ afterLog
30
+ } : tag
31
+ ],
32
+ fromBlock,
33
+ toBlock,
34
+ txHash
35
+ };
36
+ const [logsForTag] = await queryAllPublicLogsByTags(node, query);
37
+ if (logsForTag.length > 0) {
38
+ afterLog = LogCursor.fromLog(logsForTag[logsForTag.length - 1]);
35
39
  }
36
- return response.maxLogsHit;
40
+ return logsForTag;
37
41
  };
38
42
  if (follow) {
39
43
  log('Fetching logs...');
40
44
  while(true){
41
- const maxLogsHit = await fetchLogs();
42
- if (!maxLogsHit) {
45
+ const results = await drainLogs();
46
+ if (results.length === 0) {
43
47
  await sleep(1000);
48
+ } else {
49
+ results.forEach((r)=>log(logResultToHumanReadable(r)));
44
50
  }
45
51
  }
46
52
  } else {
47
- while(await fetchLogs()){
48
- // Keep fetching logs until we reach the end.
53
+ const results = await drainLogs();
54
+ if (results.length === 0) {
55
+ log(`No logs found for {contractAddress: ${contractAddress.toString()}, tag: ${tag.toString()}` + `${txHash ? `, txHash: ${txHash.toString()}` : ''}` + `${fromBlock !== undefined ? `, fromBlock: ${fromBlock}` : ''}` + `${toBlock !== undefined ? `, toBlock: ${toBlock}` : ''}` + `${afterLog ? `, afterLog: ${afterLog.toString()}` : ''}}`);
56
+ } else {
57
+ log('Logs found: \n');
58
+ results.forEach((r)=>log(logResultToHumanReadable(r)));
49
59
  }
50
60
  }
51
61
  }
@@ -1,3 +1,3 @@
1
1
  import type { LogFn } from '@aztec/foundation/log';
2
2
  export declare function getNodeInfo(nodeUrl: string, json: boolean, log: LogFn, logJson: (output: any) => void): Promise<void>;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X25vZGVfaW5mby5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvYXp0ZWNfbm9kZS9nZXRfbm9kZV9pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRW5ELHdCQUFzQixXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxJQUFJLGlCQTJEM0cifQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X25vZGVfaW5mby5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvYXp0ZWNfbm9kZS9nZXRfbm9kZV9pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRW5ELHdCQUFzQixXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxJQUFJLGlCQXlEM0cifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"get_node_info.d.ts","sourceRoot":"","sources":["../../../src/cmds/aztec_node/get_node_info.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,iBA2D3G"}
1
+ {"version":3,"file":"get_node_info.d.ts","sourceRoot":"","sources":["../../../src/cmds/aztec_node/get_node_info.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,iBAyD3G"}
@@ -20,7 +20,6 @@ export async function getNodeInfo(nodeUrl, json, log, logJson) {
20
20
  rewardDistributor: info.l1ContractAddresses.rewardDistributorAddress.toString(),
21
21
  governanceProposer: info.l1ContractAddresses.governanceProposerAddress.toString(),
22
22
  governance: info.l1ContractAddresses.governanceAddress.toString(),
23
- slashFactory: info.l1ContractAddresses.slashFactoryAddress?.toString(),
24
23
  feeAssetHandler: info.l1ContractAddresses.feeAssetHandlerAddress?.toString(),
25
24
  stakingAssetHandler: info.l1ContractAddresses.stakingAssetHandlerAddress?.toString()
26
25
  },
@@ -48,7 +47,6 @@ export async function getNodeInfo(nodeUrl, json, log, logJson) {
48
47
  log(` RewardDistributor Address: ${info.l1ContractAddresses.rewardDistributorAddress.toString()}`);
49
48
  log(` GovernanceProposer Address: ${info.l1ContractAddresses.governanceProposerAddress.toString()}`);
50
49
  log(` Governance Address: ${info.l1ContractAddresses.governanceAddress.toString()}`);
51
- log(` SlashFactory Address: ${info.l1ContractAddresses.slashFactoryAddress?.toString()}`);
52
50
  log(` FeeAssetHandler Address: ${info.l1ContractAddresses.feeAssetHandlerAddress?.toString()}`);
53
51
  log(` StakingAssetHandler Address: ${info.l1ContractAddresses.stakingAssetHandlerAddress?.toString()}`);
54
52
  log(`L2 Contract Addresses:`);
@@ -1,4 +1,4 @@
1
1
  import type { LogFn, Logger } from '@aztec/foundation/log';
2
2
  import type { Command } from 'commander';
3
3
  export declare function injectCommands(program: Command, log: LogFn, debugLogger: Logger): Command;
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2F6dGVjX25vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTNELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQWF6Qyx3QkFBZ0IsY0FBYyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxXQXVFL0UifQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2F6dGVjX25vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTNELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQWF6Qyx3QkFBZ0IsY0FBYyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxXQTRFL0UifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmds/aztec_node/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,WAuE/E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmds/aztec_node/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,WA4E/E"}
@@ -1,20 +1,30 @@
1
- import { logJson, nodeOption, parseAztecAddress, parseField, parseOptionalAztecAddress, parseOptionalInteger, parseOptionalLogId, parseOptionalTxHash } from '../../utils/commands.js';
1
+ import { logJson, nodeOption, parseAztecAddress, parseField, parseOptionalInteger, parseOptionalLogCursor, parseOptionalTxHash, parseTag } from '../../utils/commands.js';
2
2
  export function injectCommands(program, log, debugLogger) {
3
3
  program.command('get-block').description('Gets info for a given block or latest.').argument('[blockNumber]', 'Block height', parseOptionalInteger).addOption(nodeOption).action(async (blockNumber, options)=>{
4
4
  const { getBlock } = await import('./get_block.js');
5
5
  await getBlock(options.nodeUrl, blockNumber, log);
6
6
  });
7
- program.command('get-current-base-fee').description('Gets the current base fee.').addOption(nodeOption).action(async (options)=>{
8
- const { getCurrentBaseFee } = await import('./get_current_base_fee.js');
9
- await getCurrentBaseFee(options.rpcUrl, debugLogger, log);
7
+ program.command('get-current-min-fee').description('Gets the current base fee.').addOption(nodeOption).action(async (options)=>{
8
+ const { getCurrentMinFee } = await import('./get_current_min_fee.js');
9
+ await getCurrentMinFee(options.rpcUrl, debugLogger, log);
10
10
  });
11
11
  program.command('get-l1-to-l2-message-witness').description('Gets a L1 to L2 message witness.').requiredOption('-ca, --contract-address <address>', 'Aztec address of the contract.', parseAztecAddress).requiredOption('--message-hash <messageHash>', 'The L1 to L2 message hash.', parseField).requiredOption('--secret <secret>', 'The secret used to claim the L1 to L2 message', parseField).addOption(nodeOption).action(async ({ contractAddress, messageHash, secret, nodeUrl })=>{
12
12
  const { getL1ToL2MessageWitness } = await import('./get_l1_to_l2_message_witness.js');
13
13
  await getL1ToL2MessageWitness(nodeUrl, contractAddress, messageHash, secret, log);
14
14
  });
15
- program.command('get-logs').description('Gets all the public logs from an intersection of all the filter params.').option('-tx, --tx-hash <txHash>', 'A transaction hash to get the receipt for.', parseOptionalTxHash).option('-fb, --from-block <blockNum>', 'Initial block number for getting logs (defaults to 1).', parseOptionalInteger).option('-tb, --to-block <blockNum>', 'Up to which block to fetch logs (defaults to latest).', parseOptionalInteger).option('-al --after-log <logId>', 'ID of a log after which to fetch the logs.', parseOptionalLogId).option('-ca, --contract-address <address>', 'Contract address to filter logs by.', parseOptionalAztecAddress).addOption(nodeOption).option('--follow', 'If set, will keep polling for new logs until interrupted.').action(async ({ txHash, fromBlock, toBlock, afterLog, contractAddress, aztecNodeRpcUrl: nodeUrl, follow })=>{
15
+ program.command('get-logs').description('Gets public logs for a contract and tag, optionally restricted by block range or tx hash.').requiredOption('-ca, --contract-address <address>', 'Contract address that emitted the logs.', parseAztecAddress).requiredOption('--tag <tag>', 'Tag (Fr value) to filter logs by.', parseTag).option('-tx, --tx-hash <txHash>', 'A transaction hash to restrict the search to.', parseOptionalTxHash).option('-fb, --from-block <blockNum>', 'Initial block number for getting logs (defaults to 1).', parseOptionalInteger).option('-tb, --to-block <blockNum>', 'Up to which block to fetch logs (defaults to latest).', parseOptionalInteger).option('-al --after-log <cursor>', 'Log cursor of the form <blockNumber>-<txIndexWithinBlock>-<logIndexWithinTx> to resume pagination after.', parseOptionalLogCursor).addOption(nodeOption).option('--follow', 'If set, will keep polling for new logs until interrupted.').action(async ({ txHash, fromBlock, toBlock, afterLog, contractAddress, tag, nodeUrl, follow })=>{
16
16
  const { getLogs } = await import('./get_logs.js');
17
- await getLogs(txHash, fromBlock, toBlock, afterLog, contractAddress, nodeUrl, follow, log);
17
+ await getLogs({
18
+ txHash,
19
+ fromBlock,
20
+ toBlock,
21
+ afterLog,
22
+ contractAddress,
23
+ tag,
24
+ nodeUrl,
25
+ follow,
26
+ log
27
+ });
18
28
  });
19
29
  program.command('block-number').description('Gets the current Aztec L2 block number.').addOption(nodeOption).action(async (options)=>{
20
30
  const { blockNumber } = await import('./block_number.js');
@@ -1,4 +1,4 @@
1
- import { sha256 } from '@aztec/foundation/crypto';
1
+ import { sha256 } from '@aztec/foundation/crypto/sha256';
2
2
  import { FunctionSelector, decodeFunctionSignature, decodeFunctionSignatureWithParameterNames, retainBytecode } from '@aztec/stdlib/abi';
3
3
  import { getContractClassFromArtifact } from '@aztec/stdlib/contract';
4
4
  import { getContractArtifact } from '../../utils/aztec.js';
@@ -9,4 +9,4 @@ export declare function sequencers(opts: {
9
9
  chainId: number;
10
10
  log: LogFn;
11
11
  }): Promise<void>;
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2Vycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvaW5mcmFzdHJ1Y3R1cmUvc2VxdWVuY2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU1uRCx3QkFBc0IsVUFBVSxDQUFDLElBQUksRUFBRTtJQUNyQyxPQUFPLEVBQUUsTUFBTSxHQUFHLEtBQUssR0FBRyxRQUFRLEdBQUcsVUFBVSxHQUFHLE9BQU8sQ0FBQztJQUMxRCxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEIsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3hCLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3BCLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsR0FBRyxFQUFFLEtBQUssQ0FBQztDQUNaLGlCQW9HQSJ9
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2Vycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvaW5mcmFzdHJ1Y3R1cmUvc2VxdWVuY2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU1uRCx3QkFBc0IsVUFBVSxDQUFDLElBQUksRUFBRTtJQUNyQyxPQUFPLEVBQUUsTUFBTSxHQUFHLEtBQUssR0FBRyxRQUFRLEdBQUcsVUFBVSxHQUFHLE9BQU8sQ0FBQztJQUMxRCxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEIsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3hCLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3BCLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsR0FBRyxFQUFFLEtBQUssQ0FBQztDQUNaLGlCQXFHQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"sequencers.d.ts","sourceRoot":"","sources":["../../../src/cmds/infrastructure/sequencers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAMnD,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,KAAK,CAAC;CACZ,iBAoGA"}
1
+ {"version":3,"file":"sequencers.d.ts","sourceRoot":"","sources":["../../../src/cmds/infrastructure/sequencers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAMnD,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,KAAK,CAAC;CACZ,iBAqGA"}
@@ -1,6 +1,8 @@
1
1
  import { Fr } from '@aztec/aztec.js/fields';
2
2
  import { createAztecNodeClient } from '@aztec/aztec.js/node';
3
- import { GSEContract, RollupContract, createEthereumChain, getL1ContractsConfigEnvVars } from '@aztec/ethereum';
3
+ import { createEthereumChain } from '@aztec/ethereum/chain';
4
+ import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
5
+ import { GSEContract, RollupContract } from '@aztec/ethereum/contracts';
4
6
  import { RollupAbi, TestERC20Abi } from '@aztec/l1-artifacts';
5
7
  import { createPublicClient, createWalletClient, fallback, getContract, http } from 'viem';
6
8
  import { mnemonicToAccount } from 'viem/accounts';
@@ -11,12 +13,16 @@ export async function sequencers(opts) {
11
13
  const chain = createEthereumChain(l1RpcUrls, chainId);
12
14
  const publicClient = createPublicClient({
13
15
  chain: chain.chainInfo,
14
- transport: fallback(l1RpcUrls.map((url)=>http(url)))
16
+ transport: fallback(l1RpcUrls.map((url)=>http(url, {
17
+ batch: false
18
+ })))
15
19
  });
16
20
  const walletClient = mnemonic ? createWalletClient({
17
21
  account: mnemonicToAccount(mnemonic),
18
22
  chain: chain.chainInfo,
19
- transport: fallback(l1RpcUrls.map((url)=>http(url)))
23
+ transport: fallback(l1RpcUrls.map((url)=>http(url, {
24
+ batch: false
25
+ })))
20
26
  }) : undefined;
21
27
  const rollup = new RollupContract(publicClient, l1ContractAddresses.rollupAddress);
22
28
  const writeableRollup = walletClient ? getContract({
@@ -40,8 +46,9 @@ export async function sequencers(opts) {
40
46
  throw new Error(`Missing sequencer address`);
41
47
  }
42
48
  log(`Adding ${who} as sequencer`);
49
+ const stakingAssetAddress = await rollup.getStakingAsset();
43
50
  const stakingAsset = getContract({
44
- address: await rollup.getStakingAsset(),
51
+ address: stakingAssetAddress.toString(),
45
52
  abi: TestERC20Abi,
46
53
  client: walletClient
47
54
  });
@@ -1,3 +1,3 @@
1
1
  import type { LogFn } from '@aztec/foundation/log';
2
2
  export declare function setupL2Contracts(nodeUrl: string, testAccounts: boolean, json: boolean, log: LogFn): Promise<void>;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfbDJfY29udHJhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2luZnJhc3RydWN0dXJlL3NldHVwX2wyX2NvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSW5ELHdCQUFzQixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxpQkF3QnZHIn0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfbDJfY29udHJhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2luZnJhc3RydWN0dXJlL3NldHVwX2wyX2NvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBS25ELHdCQUFzQixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxpQkEyQnZHIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"setup_l2_contract.d.ts","sourceRoot":"","sources":["../../../src/cmds/infrastructure/setup_l2_contract.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAInD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,iBAwBvG"}
1
+ {"version":3,"file":"setup_l2_contract.d.ts","sourceRoot":"","sources":["../../../src/cmds/infrastructure/setup_l2_contract.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAKnD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,iBA2BvG"}
@@ -1,28 +1,33 @@
1
1
  import { getInitialTestAccountsData } from '@aztec/accounts/testing';
2
2
  import { createAztecNodeClient } from '@aztec/aztec.js/node';
3
+ import { TxStatus } from '@aztec/aztec.js/tx';
3
4
  import { jsonStringify } from '@aztec/foundation/json-rpc';
4
5
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
5
- import { TestWallet, deployFundedSchnorrAccounts } from '@aztec/test-wallet/server';
6
+ import { EmbeddedWallet } from '@aztec/wallets/embedded';
7
+ import { createFundedInitializerlessAccounts } from '@aztec/wallets/testing';
6
8
  export async function setupL2Contracts(nodeUrl, testAccounts, json, log) {
7
9
  const waitOpts = {
8
10
  timeout: 180,
9
- interval: 1
11
+ interval: 1,
12
+ // The embedded wallet defaults to PROPOSED, which can be dropped if its proposed block is pruned
13
+ // before the checkpoint lands. Wait for the checkpoint so serial setup is reliable.
14
+ waitForStatus: TxStatus.CHECKPOINTED
10
15
  };
11
16
  log('setupL2Contracts: Wait options' + jsonStringify(waitOpts));
12
17
  log('setupL2Contracts: Creating PXE client...');
13
18
  const node = createAztecNodeClient(nodeUrl);
14
- const wallet = await TestWallet.create(node);
15
- let deployedAccountManagers = [];
19
+ const wallet = await EmbeddedWallet.create(node);
20
+ let accountManagers = [];
16
21
  if (testAccounts) {
17
- log('setupL2Contracts: Deploying test accounts...');
22
+ log('setupL2Contracts: Creating test accounts...');
18
23
  const initialAccountsData = await getInitialTestAccountsData();
19
- deployedAccountManagers = await deployFundedSchnorrAccounts(wallet, node, initialAccountsData, waitOpts);
24
+ accountManagers = await createFundedInitializerlessAccounts(wallet, initialAccountsData);
20
25
  }
21
26
  if (json) {
22
27
  const toPrint = {
23
28
  ...ProtocolContractAddress
24
29
  };
25
- deployedAccountManagers.forEach((a, i)=>{
30
+ accountManagers.forEach((a, i)=>{
26
31
  toPrint[`testAccount${i}`] = a.address;
27
32
  });
28
33
  log(JSON.stringify(toPrint, null, 2));
@@ -1,3 +1,4 @@
1
+ import { CheckpointNumber } from '@aztec/foundation/branded-types';
1
2
  import type { LogFn } from '@aztec/foundation/log';
2
- export declare function assumeProvenThrough(blockNumberOrLatest: number | undefined, l1RpcUrls: string[], nodeUrl: string, log: LogFn): Promise<void>;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzdW1lX3Byb3Zlbl90aHJvdWdoLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY21kcy9sMS9hc3N1bWVfcHJvdmVuX3Rocm91Z2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHbkQsd0JBQXNCLG1CQUFtQixDQUN2QyxtQkFBbUIsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUN2QyxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQ25CLE9BQU8sRUFBRSxNQUFNLEVBQ2YsR0FBRyxFQUFFLEtBQUssaUJBWVgifQ==
3
+ export declare function assumeProvenThrough(checkpointOrLatest: CheckpointNumber | undefined, l1RpcUrls: string[], nodeUrl: string, log: LogFn): Promise<void>;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzdW1lX3Byb3Zlbl90aHJvdWdoLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY21kcy9sMS9hc3N1bWVfcHJvdmVuX3Rocm91Z2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHbkQsd0JBQXNCLG1CQUFtQixDQUN2QyxrQkFBa0IsRUFBRSxnQkFBZ0IsR0FBRyxTQUFTLEVBQ2hELFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsT0FBTyxFQUFFLE1BQU0sRUFDZixHQUFHLEVBQUUsS0FBSyxpQkFTWCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"assume_proven_through.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/assume_proven_through.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,wBAAsB,mBAAmB,CACvC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,KAAK,iBAYX"}
1
+ {"version":3,"file":"assume_proven_through.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/assume_proven_through.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,wBAAsB,mBAAmB,CACvC,kBAAkB,EAAE,gBAAgB,GAAG,SAAS,EAChD,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,KAAK,iBASX"}
@@ -1,14 +1,12 @@
1
1
  import { createAztecNodeClient } from '@aztec/aztec.js/node';
2
2
  import { RollupCheatCodes } from '@aztec/ethereum/test';
3
- import { BlockNumber } from '@aztec/foundation/branded-types';
4
3
  import { DateProvider } from '@aztec/foundation/timer';
5
- export async function assumeProvenThrough(blockNumberOrLatest, l1RpcUrls, nodeUrl, log) {
4
+ export async function assumeProvenThrough(checkpointOrLatest, l1RpcUrls, nodeUrl, log) {
6
5
  const aztecNode = createAztecNodeClient(nodeUrl);
7
6
  const rollupAddress = await aztecNode.getNodeInfo().then((i)=>i.l1ContractAddresses.rollupAddress);
8
- const blockNumber = blockNumberOrLatest ? BlockNumber(blockNumberOrLatest) : await aztecNode.getBlockNumber();
9
7
  const rollupCheatCodes = RollupCheatCodes.create(l1RpcUrls, {
10
8
  rollupAddress
11
9
  }, new DateProvider());
12
- await rollupCheatCodes.markAsProven(blockNumber);
13
- log(`Assumed proven through block ${blockNumber}`);
10
+ await rollupCheatCodes.markAsProven(checkpointOrLatest);
11
+ log(`Assumed proven through checkpoint ${checkpointOrLatest ?? 'latest'}`);
14
12
  }
@@ -1,4 +1,4 @@
1
1
  import type { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
2
2
  import type { LogFn, Logger } from '@aztec/foundation/log';
3
3
  export declare function bridgeERC20(amount: bigint, recipient: AztecAddress, l1RpcUrls: string[], chainId: number, privateKey: string | undefined, mnemonic: string, tokenAddress: EthAddress, handlerAddress: EthAddress | undefined, portalAddress: EthAddress, privateTransfer: boolean, mint: boolean, json: boolean, log: LogFn, debugLogger: Logger): Promise<void>;
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlX2VyYzIwLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY21kcy9sMS9icmlkZ2VfZXJjMjAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTFFLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUkzRCx3QkFBc0IsV0FBVyxDQUMvQixNQUFNLEVBQUUsTUFBTSxFQUNkLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsT0FBTyxFQUFFLE1BQU0sRUFDZixVQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDOUIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsWUFBWSxFQUFFLFVBQVUsRUFDeEIsY0FBYyxFQUFFLFVBQVUsR0FBRyxTQUFTLEVBQ3RDLGFBQWEsRUFBRSxVQUFVLEVBQ3pCLGVBQWUsRUFBRSxPQUFPLEVBQ3hCLElBQUksRUFBRSxPQUFPLEVBQ2IsSUFBSSxFQUFFLE9BQU8sRUFDYixHQUFHLEVBQUUsS0FBSyxFQUNWLFdBQVcsRUFBRSxNQUFNLGlCQWdDcEIifQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlX2VyYzIwLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY21kcy9sMS9icmlkZ2VfZXJjMjAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSzFFLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUkzRCx3QkFBc0IsV0FBVyxDQUMvQixNQUFNLEVBQUUsTUFBTSxFQUNkLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsT0FBTyxFQUFFLE1BQU0sRUFDZixVQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDOUIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsWUFBWSxFQUFFLFVBQVUsRUFDeEIsY0FBYyxFQUFFLFVBQVUsR0FBRyxTQUFTLEVBQ3RDLGFBQWEsRUFBRSxVQUFVLEVBQ3pCLGVBQWUsRUFBRSxPQUFPLEVBQ3hCLElBQUksRUFBRSxPQUFPLEVBQ2IsSUFBSSxFQUFFLE9BQU8sRUFDYixHQUFHLEVBQUUsS0FBSyxFQUNWLFdBQVcsRUFBRSxNQUFNLGlCQWdDcEIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"bridge_erc20.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/bridge_erc20.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAI3D,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,UAAU,GAAG,SAAS,EACtC,aAAa,EAAE,UAAU,EACzB,eAAe,EAAE,OAAO,EACxB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,iBAgCpB"}
1
+ {"version":3,"file":"bridge_erc20.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/bridge_erc20.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAK1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAI3D,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,UAAU,GAAG,SAAS,EACtC,aAAa,EAAE,UAAU,EACzB,eAAe,EAAE,OAAO,EACxB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,iBAgCpB"}
@@ -1,5 +1,6 @@
1
1
  import { L1ToL2TokenPortalManager } from '@aztec/aztec.js/ethereum';
2
- import { createEthereumChain, createExtendedL1Client } from '@aztec/ethereum';
2
+ import { createEthereumChain } from '@aztec/ethereum/chain';
3
+ import { createExtendedL1Client } from '@aztec/ethereum/client';
3
4
  import { prettyPrintJSON } from '../../utils/commands.js';
4
5
  export async function bridgeERC20(amount, recipient, l1RpcUrls, chainId, privateKey, mnemonic, tokenAddress, handlerAddress, portalAddress, privateTransfer, mint, json, log, debugLogger) {
5
6
  // Prepare L1 client
@@ -0,0 +1,4 @@
1
+ import type { LogFn } from '@aztec/foundation/log';
2
+ /** Computes and prints genesis values needed for L1 contract deployment. */
3
+ export declare function computeGenesisValuesCmd(testAccounts: boolean, sponsoredFPC: boolean, log: LogFn): Promise<void>;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZV9nZW5lc2lzX3ZhbHVlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvbDEvY29tcHV0ZV9nZW5lc2lzX3ZhbHVlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU1uRCw0RUFBNEU7QUFDNUUsd0JBQXNCLHVCQUF1QixDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxpQkFvQnJHIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compute_genesis_values.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/compute_genesis_values.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAMnD,4EAA4E;AAC5E,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,iBAoBrG"}
@@ -0,0 +1,17 @@
1
+ import { getInitialTestAccountsData } from '@aztec/accounts/testing';
2
+ import { protocolContractsHash } from '@aztec/protocol-contracts';
3
+ import { getGenesisValues } from '@aztec/world-state/testing';
4
+ import { getSponsoredFPCAddress } from '../../utils/setup_contracts.js';
5
+ /** Computes and prints genesis values needed for L1 contract deployment. */ export async function computeGenesisValuesCmd(testAccounts, sponsoredFPC, log) {
6
+ const initialAccounts = testAccounts ? await getInitialTestAccountsData() : [];
7
+ const sponsoredFPCAddresses = sponsoredFPC ? await getSponsoredFPCAddress() : [];
8
+ const initialFundedAccounts = initialAccounts.map((a)=>a.address).concat(sponsoredFPCAddresses);
9
+ const { genesisArchiveRoot } = await getGenesisValues(initialFundedAccounts);
10
+ const { getVKTreeRoot } = await import('@aztec/noir-protocol-circuits-types/vk-tree');
11
+ const vkTreeRoot = getVKTreeRoot();
12
+ log(JSON.stringify({
13
+ vkTreeRoot: vkTreeRoot.toString(),
14
+ protocolContractsHash: protocolContractsHash.toString(),
15
+ genesisArchiveRoot: genesisArchiveRoot.toString()
16
+ }, null, 2));
17
+ }
@@ -0,0 +1,4 @@
1
+ import type { EthAddress } from '@aztec/aztec.js/addresses';
2
+ import type { LogFn, Logger } from '@aztec/foundation/log';
3
+ export declare function deployL1ContractsCmd(rpcUrls: string[], chainId: number, privateKey: string | undefined, mnemonic: string, mnemonicIndex: number, testAccounts: boolean, sponsoredFPC: boolean, json: boolean, initialValidators: EthAddress[], realVerifier: boolean, existingToken: EthAddress | undefined, log: LogFn, debugLogger: Logger): Promise<void>;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2wxX2NvbnRyYWN0c19jbWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL2RlcGxveV9sMV9jb250cmFjdHNfY21kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSzVELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVMzRCx3QkFBc0Isb0JBQW9CLENBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFDakIsT0FBTyxFQUFFLE1BQU0sRUFDZixVQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDOUIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsYUFBYSxFQUFFLE1BQU0sRUFDckIsWUFBWSxFQUFFLE9BQU8sRUFDckIsWUFBWSxFQUFFLE9BQU8sRUFDckIsSUFBSSxFQUFFLE9BQU8sRUFDYixpQkFBaUIsRUFBRSxVQUFVLEVBQUUsRUFDL0IsWUFBWSxFQUFFLE9BQU8sRUFDckIsYUFBYSxFQUFFLFVBQVUsR0FBRyxTQUFTLEVBQ3JDLEdBQUcsRUFBRSxLQUFLLEVBQ1YsV0FBVyxFQUFFLE1BQU0saUJBNkVwQiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy_l1_contracts_cmd.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/deploy_l1_contracts_cmd.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAK5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAS3D,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,OAAO,EACrB,IAAI,EAAE,OAAO,EACb,iBAAiB,EAAE,UAAU,EAAE,EAC/B,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,UAAU,GAAG,SAAS,EACrC,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,iBA6EpB"}
@@ -1,22 +1,57 @@
1
1
  import { getInitialTestAccountsData } from '@aztec/accounts/testing';
2
2
  import { Fr } from '@aztec/aztec.js/fields';
3
- import { getL1ContractsConfigEnvVars } from '@aztec/ethereum';
3
+ import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
4
+ import { deployAztecL1Contracts } from '@aztec/ethereum/deploy-aztec-l1-contracts';
4
5
  import { SecretValue } from '@aztec/foundation/config';
6
+ import { protocolContractsHash } from '@aztec/protocol-contracts';
5
7
  import { getGenesisValues } from '@aztec/world-state/testing';
6
- import { deployAztecContracts } from '../../utils/aztec.js';
8
+ import { mnemonicToAccount } from 'viem/accounts';
9
+ import { addLeadingHex } from '../../utils/aztec.js';
7
10
  import { getSponsoredFPCAddress } from '../../utils/setup_contracts.js';
8
- export async function deployL1Contracts(rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, salt, testAccounts, sponsoredFPC, acceleratedTestDeployments, json, createVerificationJson, initialValidators, realVerifier, existingToken, log, debugLogger) {
11
+ export async function deployL1ContractsCmd(rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, testAccounts, sponsoredFPC, json, initialValidators, realVerifier, existingToken, log, debugLogger) {
9
12
  const config = getL1ContractsConfigEnvVars();
13
+ // Compute initial accounts for genesis (test accounts + sponsored FPC)
10
14
  const initialAccounts = testAccounts ? await getInitialTestAccountsData() : [];
11
15
  const sponsoredFPCAddress = sponsoredFPC ? await getSponsoredFPCAddress() : [];
12
16
  const initialFundedAccounts = initialAccounts.map((a)=>a.address).concat(sponsoredFPCAddress);
13
17
  const { genesisArchiveRoot, fundingNeeded } = await getGenesisValues(initialFundedAccounts);
18
+ // Get the VK tree root
19
+ const { getVKTreeRoot } = await import('@aztec/noir-protocol-circuits-types/vk-tree');
20
+ const vkTreeRoot = getVKTreeRoot();
21
+ // Get private key (from direct input or mnemonic)
22
+ let deployerPrivateKey;
23
+ if (privateKey) {
24
+ deployerPrivateKey = addLeadingHex(privateKey);
25
+ } else {
26
+ const account = mnemonicToAccount(mnemonic, {
27
+ addressIndex: mnemonicIndex
28
+ });
29
+ deployerPrivateKey = `0x${Buffer.from(account.getHdKey().privateKey).toString('hex')}`;
30
+ }
31
+ // Prepare validator operators with bn254 keys
14
32
  const initialValidatorOperators = initialValidators.map((a)=>({
15
33
  attester: a,
16
34
  withdrawer: a,
17
35
  bn254SecretKey: new SecretValue(Fr.random().toBigInt())
18
36
  }));
19
- const { l1ContractAddresses } = await deployAztecContracts(rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, salt, initialValidatorOperators, genesisArchiveRoot, fundingNeeded, acceleratedTestDeployments, config, existingToken, realVerifier, createVerificationJson, debugLogger);
37
+ debugLogger.info('Deploying L1 contracts via Forge...');
38
+ // Deploy using l1-contracts Forge scripts
39
+ const { l1ContractAddresses, rollupVersion } = await deployAztecL1Contracts(rpcUrls[0], deployerPrivateKey, chainId, {
40
+ // Initial validators to add during deployment
41
+ initialValidators: initialValidatorOperators,
42
+ // Genesis config
43
+ vkTreeRoot,
44
+ protocolContractsHash,
45
+ genesisArchiveRoot,
46
+ // Deployment options
47
+ realVerifier,
48
+ ...config,
49
+ feeJuicePortalInitialBalance: fundingNeeded,
50
+ existingTokenAddress: existingToken
51
+ });
52
+ debugLogger.info('Forge deployment complete', {
53
+ rollupVersion
54
+ });
20
55
  if (json) {
21
56
  log(JSON.stringify(Object.fromEntries(Object.entries(l1ContractAddresses).map(([k, v])=>[
22
57
  k,
@@ -35,7 +70,6 @@ export async function deployL1Contracts(rpcUrls, chainId, privateKey, mnemonic,
35
70
  log(`RewardDistributor Address: ${l1ContractAddresses.rewardDistributorAddress.toString()}`);
36
71
  log(`GovernanceProposer Address: ${l1ContractAddresses.governanceProposerAddress.toString()}`);
37
72
  log(`Governance Address: ${l1ContractAddresses.governanceAddress.toString()}`);
38
- log(`SlashFactory Address: ${l1ContractAddresses.slashFactoryAddress?.toString()}`);
39
73
  log(`FeeAssetHandler Address: ${l1ContractAddresses.feeAssetHandlerAddress?.toString()}`);
40
74
  log(`StakingAssetHandler Address: ${l1ContractAddresses.stakingAssetHandlerAddress?.toString()}`);
41
75
  log(`ZK Passport Verifier Address: ${l1ContractAddresses.zkPassportVerifierAddress?.toString()}`);
@@ -1,5 +1,5 @@
1
- import { type Operator } from '@aztec/ethereum';
1
+ import type { Operator } from '@aztec/ethereum/deploy-aztec-l1-contracts';
2
2
  import type { EthAddress } from '@aztec/foundation/eth-address';
3
- import type { LogFn, Logger } from '@aztec/foundation/log';
4
- export declare function deployNewRollup(registryAddress: EthAddress, rpcUrls: string[], chainId: number, privateKey: string | undefined, mnemonic: string, mnemonicIndex: number, salt: number | undefined, testAccounts: boolean, sponsoredFPC: boolean, json: boolean, initialValidators: Operator[], realVerifier: boolean, createVerificationJson: string | false, log: LogFn, debugLogger: Logger): Promise<void>;
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X25ld19yb2xsdXAuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL2RlcGxveV9uZXdfcm9sbHVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBK0IsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFNM0Qsd0JBQXNCLGVBQWUsQ0FDbkMsZUFBZSxFQUFFLFVBQVUsRUFDM0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUNqQixPQUFPLEVBQUUsTUFBTSxFQUNmLFVBQVUsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUM5QixRQUFRLEVBQUUsTUFBTSxFQUNoQixhQUFhLEVBQUUsTUFBTSxFQUNyQixJQUFJLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDeEIsWUFBWSxFQUFFLE9BQU8sRUFDckIsWUFBWSxFQUFFLE9BQU8sRUFDckIsSUFBSSxFQUFFLE9BQU8sRUFDYixpQkFBaUIsRUFBRSxRQUFRLEVBQUUsRUFDN0IsWUFBWSxFQUFFLE9BQU8sRUFDckIsc0JBQXNCLEVBQUUsTUFBTSxHQUFHLEtBQUssRUFDdEMsR0FBRyxFQUFFLEtBQUssRUFDVixXQUFXLEVBQUUsTUFBTSxpQkErQ3BCIn0=
3
+ import type { LogFn } from '@aztec/foundation/log';
4
+ export declare function deployNewRollup(registryAddress: EthAddress, rpcUrls: string[], chainId: number, privateKey: string | undefined, mnemonic: string, mnemonicIndex: number, testAccounts: boolean, sponsoredFPC: boolean, json: boolean, initialValidators: Operator[], realVerifier: boolean, log: LogFn): Promise<void>;
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X25ld19yb2xsdXAuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL2RlcGxveV9uZXdfcm9sbHVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTW5ELHdCQUFzQixlQUFlLENBQ25DLGVBQWUsRUFBRSxVQUFVLEVBQzNCLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFDakIsT0FBTyxFQUFFLE1BQU0sRUFDZixVQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDOUIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsYUFBYSxFQUFFLE1BQU0sRUFDckIsWUFBWSxFQUFFLE9BQU8sRUFDckIsWUFBWSxFQUFFLE9BQU8sRUFDckIsSUFBSSxFQUFFLE9BQU8sRUFDYixpQkFBaUIsRUFBRSxRQUFRLEVBQUUsRUFDN0IsWUFBWSxFQUFFLE9BQU8sRUFDckIsR0FBRyxFQUFFLEtBQUssaUJBMENYIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"deploy_new_rollup.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/deploy_new_rollup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAA+B,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAM3D,wBAAsB,eAAe,CACnC,eAAe,EAAE,UAAU,EAC3B,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,OAAO,EACrB,IAAI,EAAE,OAAO,EACb,iBAAiB,EAAE,QAAQ,EAAE,EAC7B,YAAY,EAAE,OAAO,EACrB,sBAAsB,EAAE,MAAM,GAAG,KAAK,EACtC,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,iBA+CpB"}
1
+ {"version":3,"file":"deploy_new_rollup.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/deploy_new_rollup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAMnD,wBAAsB,eAAe,CACnC,eAAe,EAAE,UAAU,EAC3B,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,OAAO,EACrB,IAAI,EAAE,OAAO,EACb,iBAAiB,EAAE,QAAQ,EAAE,EAC7B,YAAY,EAAE,OAAO,EACrB,GAAG,EAAE,KAAK,iBA0CX"}