@aztec/cli 3.0.0-devnet.6 → 3.0.0-devnet.6-patch.1

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/README.md +1 -1
  2. package/dest/cmds/aztec_node/block_number.d.ts +1 -1
  3. package/dest/cmds/aztec_node/get_block.d.ts +1 -1
  4. package/dest/cmds/aztec_node/get_block.d.ts.map +1 -1
  5. package/dest/cmds/aztec_node/get_block.js +2 -1
  6. package/dest/cmds/aztec_node/get_current_base_fee.d.ts +1 -1
  7. package/dest/cmds/aztec_node/get_l1_to_l2_message_witness.d.ts +1 -1
  8. package/dest/cmds/aztec_node/get_logs.d.ts +3 -2
  9. package/dest/cmds/aztec_node/get_logs.d.ts.map +1 -1
  10. package/dest/cmds/aztec_node/get_node_info.d.ts +1 -1
  11. package/dest/cmds/aztec_node/index.d.ts +1 -1
  12. package/dest/cmds/contracts/index.d.ts +1 -1
  13. package/dest/cmds/contracts/inspect_contract.d.ts +1 -1
  14. package/dest/cmds/contracts/inspect_contract.d.ts.map +1 -1
  15. package/dest/cmds/contracts/inspect_contract.js +4 -10
  16. package/dest/cmds/contracts/parse_parameter_struct.d.ts +1 -1
  17. package/dest/cmds/infrastructure/index.d.ts +1 -1
  18. package/dest/cmds/infrastructure/index.d.ts.map +1 -1
  19. package/dest/cmds/infrastructure/index.js +0 -1
  20. package/dest/cmds/infrastructure/sequencers.d.ts +1 -2
  21. package/dest/cmds/infrastructure/sequencers.d.ts.map +1 -1
  22. package/dest/cmds/infrastructure/sequencers.js +3 -1
  23. package/dest/cmds/infrastructure/setup_l2_contract.d.ts +1 -1
  24. package/dest/cmds/l1/advance_epoch.d.ts +1 -1
  25. package/dest/cmds/l1/assume_proven_through.d.ts +1 -1
  26. package/dest/cmds/l1/assume_proven_through.d.ts.map +1 -1
  27. package/dest/cmds/l1/assume_proven_through.js +2 -1
  28. package/dest/cmds/l1/bridge_erc20.d.ts +1 -1
  29. package/dest/cmds/l1/bridge_erc20.d.ts.map +1 -1
  30. package/dest/cmds/l1/bridge_erc20.js +2 -1
  31. package/dest/cmds/l1/create_l1_account.d.ts +1 -1
  32. package/dest/cmds/l1/deploy_l1_contracts.d.ts +1 -1
  33. package/dest/cmds/l1/deploy_l1_contracts.js +1 -1
  34. package/dest/cmds/l1/deploy_new_rollup.d.ts +2 -2
  35. package/dest/cmds/l1/deploy_new_rollup.d.ts.map +1 -1
  36. package/dest/cmds/l1/deploy_new_rollup.js +1 -1
  37. package/dest/cmds/l1/get_l1_addresses.d.ts +1 -1
  38. package/dest/cmds/l1/get_l1_addresses.d.ts.map +1 -1
  39. package/dest/cmds/l1/get_l1_addresses.js +2 -1
  40. package/dest/cmds/l1/get_l1_balance.d.ts +1 -1
  41. package/dest/cmds/l1/get_l1_balance.js +1 -1
  42. package/dest/cmds/l1/governance_utils.d.ts +5 -5
  43. package/dest/cmds/l1/governance_utils.d.ts.map +1 -1
  44. package/dest/cmds/l1/governance_utils.js +3 -1
  45. package/dest/cmds/l1/index.d.ts +1 -1
  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 +29 -29
  49. package/dest/cmds/l1/trigger_seed_snapshot.d.ts +2 -2
  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 +6 -6
  53. package/dest/cmds/l1/update_l1_validators.d.ts.map +1 -1
  54. package/dest/cmds/l1/update_l1_validators.js +7 -3
  55. package/dest/cmds/misc/compute_selector.d.ts +1 -1
  56. package/dest/cmds/misc/example_contracts.d.ts +1 -1
  57. package/dest/cmds/misc/generate_bootnode_enr.d.ts +1 -1
  58. package/dest/cmds/misc/generate_p2p_private_key.d.ts +1 -1
  59. package/dest/cmds/misc/generate_secret_and_hash.d.ts +1 -1
  60. package/dest/cmds/misc/generate_secret_and_hash.js +1 -1
  61. package/dest/cmds/misc/generate_secret_key.d.ts +1 -1
  62. package/dest/cmds/misc/get_canonical_sponsored_fpc_address.d.ts +1 -1
  63. package/dest/cmds/misc/index.d.ts +1 -1
  64. package/dest/cmds/misc/update/common.d.ts +1 -1
  65. package/dest/cmds/misc/update/github.d.ts +1 -1
  66. package/dest/cmds/misc/update/noir.d.ts +1 -1
  67. package/dest/cmds/misc/update/npm.d.ts +1 -1
  68. package/dest/cmds/misc/update/npm.js +1 -1
  69. package/dest/cmds/misc/update/utils.d.ts +1 -1
  70. package/dest/cmds/misc/update.d.ts +1 -1
  71. package/dest/cmds/validator_keys/add.d.ts +5 -0
  72. package/dest/cmds/validator_keys/add.d.ts.map +1 -0
  73. package/dest/cmds/validator_keys/add.js +83 -0
  74. package/dest/cmds/validator_keys/generate_bls_keypair.d.ts +12 -0
  75. package/dest/cmds/validator_keys/generate_bls_keypair.d.ts.map +1 -0
  76. package/dest/cmds/validator_keys/generate_bls_keypair.js +27 -0
  77. package/dest/cmds/validator_keys/index.d.ts +4 -0
  78. package/dest/cmds/validator_keys/index.d.ts.map +1 -0
  79. package/dest/cmds/validator_keys/index.js +32 -0
  80. package/dest/cmds/validator_keys/new.d.ts +29 -0
  81. package/dest/cmds/validator_keys/new.d.ts.map +1 -0
  82. package/dest/cmds/validator_keys/new.js +132 -0
  83. package/dest/cmds/validator_keys/shared.d.ts +68 -0
  84. package/dest/cmds/validator_keys/shared.d.ts.map +1 -0
  85. package/dest/cmds/validator_keys/shared.js +274 -0
  86. package/dest/cmds/validator_keys/staker.d.ts +38 -0
  87. package/dest/cmds/validator_keys/staker.d.ts.map +1 -0
  88. package/dest/cmds/validator_keys/staker.js +208 -0
  89. package/dest/cmds/validator_keys/utils.d.ts +25 -0
  90. package/dest/cmds/validator_keys/utils.d.ts.map +1 -0
  91. package/dest/cmds/validator_keys/utils.js +52 -0
  92. package/dest/config/cached_fetch.d.ts +1 -1
  93. package/dest/config/chain_l2_config.d.ts +14 -10
  94. package/dest/config/chain_l2_config.d.ts.map +1 -1
  95. package/dest/config/chain_l2_config.js +128 -67
  96. package/dest/config/enrich_env.d.ts +1 -1
  97. package/dest/config/get_l1_config.d.ts +3 -2
  98. package/dest/config/get_l1_config.d.ts.map +1 -1
  99. package/dest/config/get_l1_config.js +3 -1
  100. package/dest/config/index.d.ts +1 -1
  101. package/dest/config/network_config.d.ts +6 -3
  102. package/dest/config/network_config.d.ts.map +1 -1
  103. package/dest/config/network_config.js +58 -28
  104. package/dest/utils/aztec.d.ts +5 -3
  105. package/dest/utils/aztec.d.ts.map +1 -1
  106. package/dest/utils/aztec.js +6 -3
  107. package/dest/utils/commands.d.ts +12 -3
  108. package/dest/utils/commands.d.ts.map +1 -1
  109. package/dest/utils/commands.js +30 -3
  110. package/dest/utils/encoding.d.ts +1 -1
  111. package/dest/utils/encoding.js +1 -1
  112. package/dest/utils/github.d.ts +1 -1
  113. package/dest/utils/index.d.ts +1 -1
  114. package/dest/utils/inspect.d.ts +3 -2
  115. package/dest/utils/inspect.d.ts.map +1 -1
  116. package/dest/utils/setup_contracts.d.ts +1 -1
  117. package/package.json +37 -28
  118. package/public_include_metric_prefixes.json +1 -0
  119. package/src/cmds/aztec_node/get_block.ts +2 -1
  120. package/src/cmds/aztec_node/get_logs.ts +3 -2
  121. package/src/cmds/contracts/inspect_contract.ts +4 -11
  122. package/src/cmds/infrastructure/index.ts +0 -1
  123. package/src/cmds/infrastructure/sequencers.ts +3 -2
  124. package/src/cmds/l1/assume_proven_through.ts +4 -1
  125. package/src/cmds/l1/bridge_erc20.ts +2 -1
  126. package/src/cmds/l1/deploy_l1_contracts.ts +1 -1
  127. package/src/cmds/l1/deploy_new_rollup.ts +2 -1
  128. package/src/cmds/l1/get_l1_addresses.ts +3 -1
  129. package/src/cmds/l1/get_l1_balance.ts +1 -1
  130. package/src/cmds/l1/governance_utils.ts +3 -8
  131. package/src/cmds/l1/prover_stats.ts +38 -30
  132. package/src/cmds/l1/trigger_seed_snapshot.ts +2 -1
  133. package/src/cmds/l1/update_l1_validators.ts +7 -12
  134. package/src/cmds/misc/generate_secret_and_hash.ts +1 -1
  135. package/src/cmds/misc/update/npm.ts +1 -1
  136. package/src/cmds/validator_keys/add.ts +123 -0
  137. package/src/cmds/validator_keys/generate_bls_keypair.ts +34 -0
  138. package/src/cmds/validator_keys/index.ts +142 -0
  139. package/src/cmds/validator_keys/new.ts +207 -0
  140. package/src/cmds/validator_keys/shared.ts +326 -0
  141. package/src/cmds/validator_keys/staker.ts +301 -0
  142. package/src/cmds/validator_keys/utils.ts +80 -0
  143. package/src/config/chain_l2_config.ts +176 -92
  144. package/src/config/get_l1_config.ts +4 -1
  145. package/src/config/network_config.ts +67 -29
  146. package/src/utils/aztec.ts +9 -9
  147. package/src/utils/commands.ts +41 -3
  148. package/src/utils/encoding.ts +1 -1
  149. package/src/utils/inspect.ts +2 -1
@@ -0,0 +1,52 @@
1
+ import { ethPrivateKeySchema } from '@aztec/node-keystore';
2
+ export const defaultBlsPath = 'm/12381/3600/0/0/0';
3
+ export function validateBlsPathOptions(options) {
4
+ if (options.blsPath && options.blsPath !== defaultBlsPath) {
5
+ if (options.count && options.count !== 1 || options.publisherCount && options.publisherCount > 0 || options.accountIndex && options.accountIndex !== 0 || options.addressIndex && options.addressIndex !== 0) {
6
+ throw new Error('--bls-path cannot be used with --count, --publisher-count, --account-index, or --address-index');
7
+ }
8
+ }
9
+ }
10
+ export function validateStakerOutputOptions(options) {
11
+ if (!options.stakerOutput) {
12
+ return;
13
+ }
14
+ // Required options for staker output
15
+ if (!options.gseAddress) {
16
+ throw new Error('--gse-address is required when using --staker-output');
17
+ }
18
+ if (!options.l1RpcUrls || options.l1RpcUrls.length === 0) {
19
+ throw new Error('--l1-rpc-urls is required when using --staker-output');
20
+ }
21
+ if (options.l1ChainId === undefined) {
22
+ throw new Error('--l1-chain-id is required when using --staker-output');
23
+ }
24
+ }
25
+ export function validateRemoteSignerOptions(options) {
26
+ if (options.remoteSigner && !options.mnemonic) {
27
+ throw new Error('Using --remote-signer requires a deterministic key source. Provide --mnemonic to derive keys, or omit --remote-signer to write new private keys to keystore.');
28
+ }
29
+ }
30
+ export function validatePublisherOptions(options) {
31
+ if (options.publisherCount && options.publisherCount > 0 && options.publishers && options.publishers.length > 0) {
32
+ throw new Error('--publishers and --publisher-count cannot be used together');
33
+ }
34
+ if (options.publishers && options.publishers.length > 0) {
35
+ // Normalize each private key by adding 0x prefix if missing
36
+ const normalizedKeys = [];
37
+ for (const key of options.publishers){
38
+ let privateKey = key.trim();
39
+ if (!privateKey.startsWith('0x')) {
40
+ privateKey = '0x' + privateKey;
41
+ }
42
+ try {
43
+ ethPrivateKeySchema.parse(privateKey);
44
+ normalizedKeys.push(privateKey);
45
+ } catch (error) {
46
+ throw new Error(`Invalid publisher private key: ${error instanceof Error ? error.message : String(error)}`);
47
+ }
48
+ }
49
+ // Update the options with the normalized keys
50
+ options.publishers = normalizedKeys;
51
+ }
52
+ }
@@ -15,4 +15,4 @@ export interface CachedFetchOptions {
15
15
  * @returns The fetched and parsed JSON data, or undefined if fetch fails and throwOnError is false
16
16
  */
17
17
  export declare function cachedFetch<T = any>(url: string, options: CachedFetchOptions, fetch?: typeof globalThis.fetch, log?: import("@aztec/aztec.js/log").Logger): Promise<T | undefined>;
18
- //# sourceMappingURL=cached_fetch.d.ts.map
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVkX2ZldGNoLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NhY2hlZF9mZXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLFdBQVcsa0JBQWtCO0lBQ2pDLHFDQUFxQztJQUNyQyxlQUFlLEVBQUUsTUFBTSxDQUFDO0lBQ3hCLHFCQUFxQjtJQUNyQixTQUFTLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDcEI7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCx3QkFBc0IsV0FBVyxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQ3ZDLEdBQUcsRUFBRSxNQUFNLEVBQ1gsT0FBTyxFQUFFLGtCQUFrQixFQUMzQixLQUFLLDBCQUFtQixFQUN4QixHQUFHLHVDQUErQixHQUNqQyxPQUFPLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQXVDeEIifQ==
@@ -1,24 +1,27 @@
1
- import { type L1ContractsConfig } from '@aztec/ethereum';
1
+ import { type L1ContractsConfig } from '@aztec/ethereum/config';
2
+ import type { L1TxUtilsConfig } from '@aztec/ethereum/l1-tx-utils';
2
3
  import type { NetworkNames } from '@aztec/foundation/config';
3
4
  import type { SharedNodeConfig } from '@aztec/node-lib/config';
4
- import type { SlasherConfig } from '@aztec/stdlib/interfaces/server';
5
- export type L2ChainConfig = L1ContractsConfig & Omit<SlasherConfig, 'slashValidatorsNever' | 'slashValidatorsAlways'> & {
5
+ import type { P2PConfig } from '@aztec/p2p';
6
+ import type { SequencerConfig, SlasherConfig } from '@aztec/stdlib/interfaces/server';
7
+ export type L2ChainConfig = Omit<L1ContractsConfig, keyof L1TxUtilsConfig> & Omit<SlasherConfig, 'slashValidatorsNever' | 'slashValidatorsAlways' | 'slashOverridePayload' | 'slashSelfAllowed'> & Pick<P2PConfig, 'bootstrapNodes' | 'p2pEnabled' | 'txPoolDeleteTxsAfterReorg'> & Pick<SequencerConfig, 'minTxsPerBlock' | 'maxTxsPerBlock'> & {
6
8
  l1ChainId: number;
7
9
  testAccounts: boolean;
8
10
  sponsoredFPC: boolean;
9
- p2pEnabled: boolean;
10
- p2pBootstrapNodes: string[];
11
- seqMinTxsPerBlock: number;
12
- seqMaxTxsPerBlock: number;
11
+ minTxsPerBlock: number;
12
+ maxTxsPerBlock: number;
13
13
  realProofs: boolean;
14
14
  snapshotsUrls: string[];
15
15
  autoUpdate: SharedNodeConfig['autoUpdate'];
16
16
  autoUpdateUrl?: string;
17
17
  maxTxPoolSize: number;
18
+ publicMetricsOptOut: boolean;
18
19
  publicIncludeMetrics?: string[];
19
20
  publicMetricsCollectorUrl?: string;
20
21
  publicMetricsCollectFrom?: string[];
21
- dbMapSizeKb: number;
22
+ skipArchiverInitialSync?: boolean;
23
+ blobAllowEmptySources?: boolean;
24
+ dataStoreMapSizeKb: number;
22
25
  archiverStoreMapSizeKb: number;
23
26
  noteHashTreeMapSizeKb: number;
24
27
  nullifierTreeMapSizeKb: number;
@@ -33,5 +36,6 @@ export declare const testnetL2ChainConfig: L2ChainConfig;
33
36
  export declare const mainnetL2ChainConfig: L2ChainConfig;
34
37
  export declare const devnetL2ChainConfig: L2ChainConfig;
35
38
  export declare function getL2ChainConfig(networkName: NetworkNames): L2ChainConfig | undefined;
36
- export declare function enrichEnvironmentWithChainConfig(networkName: NetworkNames): void;
37
- //# sourceMappingURL=chain_l2_config.d.ts.map
39
+ export declare function enrichEnvironmentWithChainName(networkName: NetworkNames): void;
40
+ export declare function enrichEnvironmentWithChainConfig(config: L2ChainConfig): void;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5fbDJfY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NoYWluX2wyX2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLEtBQUssaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFZdEYsTUFBTSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUMsR0FDeEUsSUFBSSxDQUFDLGFBQWEsRUFBRSxzQkFBc0IsR0FBRyx1QkFBdUIsR0FBRyxzQkFBc0IsR0FBRyxrQkFBa0IsQ0FBQyxHQUNuSCxJQUFJLENBQUMsU0FBUyxFQUFFLGdCQUFnQixHQUFHLFlBQVksR0FBRywyQkFBMkIsQ0FBQyxHQUM5RSxJQUFJLENBQUMsZUFBZSxFQUFFLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLEdBQUc7SUFDM0QsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixZQUFZLEVBQUUsT0FBTyxDQUFDO0lBQ3RCLFlBQVksRUFBRSxPQUFPLENBQUM7SUFDdEIsY0FBYyxFQUFFLE1BQU0sQ0FBQztJQUN2QixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLFVBQVUsRUFBRSxPQUFPLENBQUM7SUFDcEIsYUFBYSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3hCLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMzQyxhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdkIsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUN0QixtQkFBbUIsRUFBRSxPQUFPLENBQUM7SUFDN0Isb0JBQW9CLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNoQyx5QkFBeUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNuQyx3QkFBd0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3BDLHVCQUF1QixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ2xDLHFCQUFxQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBSWhDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQztJQUMzQixzQkFBc0IsRUFBRSxNQUFNLENBQUM7SUFDL0IscUJBQXFCLEVBQUUsTUFBTSxDQUFDO0lBQzlCLHNCQUFzQixFQUFFLE1BQU0sQ0FBQztJQUMvQix1QkFBdUIsRUFBRSxNQUFNLENBQUM7SUFHaEMsZUFBZSxFQUFFLE9BQU8sQ0FBQztJQUN6QixtQkFBbUIsRUFBRSxPQUFPLENBQUM7Q0FDOUIsQ0FBQztBQStDSixlQUFPLE1BQU0sNEJBQTRCLEVBQUUsYUFtRjFDLENBQUM7QUFFRixlQUFPLE1BQU0sMEJBQTBCLEVBQUUsYUF1RHhDLENBQUM7QUFFRixlQUFPLE1BQU0sb0JBQW9CLEVBQUUsYUF1RGxDLENBQUM7QUFFRixlQUFPLE1BQU0sb0JBQW9CLEVBQUUsYUF5RmxDLENBQUM7QUFFRixlQUFPLE1BQU0sb0JBQW9CLEVBQUUsYUF3RmxDLENBQUM7QUFFRixlQUFPLE1BQU0sbUJBQW1CLEVBQUUsYUF1RGpDLENBQUM7QUFFRix3QkFBZ0IsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLFlBQVksR0FBRyxhQUFhLEdBQUcsU0FBUyxDQWdCckY7QUFNRCx3QkFBZ0IsOEJBQThCLENBQUMsV0FBVyxFQUFFLFlBQVksUUFhdkU7QUFFRCx3QkFBZ0IsZ0NBQWdDLENBQUMsTUFBTSxFQUFFLGFBQWEsUUFpR3JFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"chain_l2_config.d.ts","sourceRoot":"","sources":["../../src/config/chain_l2_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAYrE,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAC3C,IAAI,CAAC,aAAa,EAAE,sBAAsB,GAAG,uBAAuB,CAAC,GAAG;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IAIpC,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAGhC,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AA+CJ,eAAO,MAAM,4BAA4B,EAAE,aA+E1C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,aAmDxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAmDlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAqDlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAiFlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,aAmDjC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,YAAY,GAAG,aAAa,GAAG,SAAS,CAgBrF;AAMD,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,YAAY,QA4FzE"}
1
+ {"version":3,"file":"chain_l2_config.d.ts","sourceRoot":"","sources":["../../src/config/chain_l2_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAYtF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,eAAe,CAAC,GACxE,IAAI,CAAC,aAAa,EAAE,sBAAsB,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,kBAAkB,CAAC,GACnH,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,YAAY,GAAG,2BAA2B,CAAC,GAC9E,IAAI,CAAC,eAAe,EAAE,gBAAgB,GAAG,gBAAgB,CAAC,GAAG;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAIhC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAGhC,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AA+CJ,eAAO,MAAM,4BAA4B,EAAE,aAmF1C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,aAuDxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAuDlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAyFlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAwFlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,aAuDjC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,YAAY,GAAG,aAAa,GAAG,SAAS,CAgBrF;AAMD,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,YAAY,QAavE;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,aAAa,QAiGrE"}
@@ -1,4 +1,4 @@
1
- import { DefaultL1ContractsConfig } from '@aztec/ethereum';
1
+ import { DefaultL1ContractsConfig } from '@aztec/ethereum/config';
2
2
  import { EthAddress } from '@aztec/foundation/eth-address';
3
3
  import path from 'path';
4
4
  import publicIncludeMetrics from '../../public_include_metric_prefixes.json' with {
@@ -37,7 +37,7 @@ const DefaultSlashConfig = {
37
37
  slashExecuteRoundsLookBack: 4
38
38
  };
39
39
  const DefaultNetworkDBMapSizeConfig = {
40
- dbMapSizeKb: defaultDBMapSizeKb,
40
+ dataStoreMapSizeKb: defaultDBMapSizeKb,
41
41
  archiverStoreMapSizeKb: tbMapSizeKb,
42
42
  noteHashTreeMapSizeKb: tbMapSizeKb,
43
43
  nullifierTreeMapSizeKb: tbMapSizeKb,
@@ -49,26 +49,30 @@ export const stagingIgnitionL2ChainConfig = {
49
49
  sponsoredFPC: false,
50
50
  disableTransactions: true,
51
51
  p2pEnabled: true,
52
- p2pBootstrapNodes: [],
53
- seqMinTxsPerBlock: 0,
54
- seqMaxTxsPerBlock: 0,
52
+ bootstrapNodes: [],
53
+ minTxsPerBlock: 0,
54
+ maxTxsPerBlock: 0,
55
55
  realProofs: true,
56
56
  snapshotsUrls: [
57
57
  `${SNAPSHOTS_URL}/staging-ignition/`
58
58
  ],
59
59
  autoUpdate: 'config-and-version',
60
60
  autoUpdateUrl: 'https://storage.googleapis.com/aztec-testnet/auto-update/staging-ignition.json',
61
- maxTxPoolSize: 100_000_000,
61
+ maxTxPoolSize: 0,
62
+ publicMetricsOptOut: false,
62
63
  publicIncludeMetrics,
63
64
  publicMetricsCollectorUrl: 'https://telemetry.alpha-testnet.aztec-labs.com/v1/metrics',
64
65
  publicMetricsCollectFrom: [
65
66
  'sequencer'
66
67
  ],
68
+ txPoolDeleteTxsAfterReorg: false,
69
+ blobAllowEmptySources: true,
67
70
  /** How many seconds an L1 slot lasts. */ ethereumSlotDuration: 12,
68
71
  /** How many seconds an L2 slots lasts (must be multiple of ethereum slot duration). */ aztecSlotDuration: 72,
69
72
  /** How many L2 slots an epoch lasts. */ aztecEpochDuration: 32,
70
73
  /** The target validator committee size. */ aztecTargetCommitteeSize: 24,
71
- /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochs: 2,
74
+ /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochsForValidatorSet: 2,
75
+ /** The number of epochs to lag behind the current epoch for randao selection. */ lagInEpochsForRandao: 2,
72
76
  /** The number of epochs after an epoch ends that proofs are still accepted. */ aztecProofSubmissionEpochs: 1,
73
77
  /** How many sequencers must agree with a slash for it to be executed. */ slashingQuorum: 65,
74
78
  slashingRoundSizeInEpochs: 4,
@@ -89,7 +93,6 @@ export const stagingIgnitionL2ChainConfig = {
89
93
  governanceProposerRoundSize: 300,
90
94
  governanceProposerQuorum: 151,
91
95
  // Node slashing config
92
- // TODO TMNT-330
93
96
  slashMinPenaltyPercentage: 0.5,
94
97
  slashMaxPenaltyPercentage: 2.0,
95
98
  slashInactivityTargetPercentage: 0.7,
@@ -115,27 +118,30 @@ export const stagingPublicL2ChainConfig = {
115
118
  sponsoredFPC: true,
116
119
  disableTransactions: false,
117
120
  p2pEnabled: true,
118
- p2pBootstrapNodes: [],
119
- seqMinTxsPerBlock: 0,
120
- seqMaxTxsPerBlock: 20,
121
+ bootstrapNodes: [],
122
+ minTxsPerBlock: 0,
123
+ maxTxsPerBlock: 20,
121
124
  realProofs: true,
122
125
  snapshotsUrls: [
123
126
  `${SNAPSHOTS_URL}/staging-public/`
124
127
  ],
125
128
  autoUpdate: 'config-and-version',
126
129
  autoUpdateUrl: 'https://storage.googleapis.com/aztec-testnet/auto-update/staging-public.json',
130
+ publicMetricsOptOut: false,
127
131
  publicIncludeMetrics,
128
132
  publicMetricsCollectorUrl: 'https://telemetry.alpha-testnet.aztec-labs.com/v1/metrics',
129
133
  publicMetricsCollectFrom: [
130
134
  'sequencer'
131
135
  ],
132
136
  maxTxPoolSize: 100_000_000,
137
+ txPoolDeleteTxsAfterReorg: true,
133
138
  // Deployment stuff
134
139
  /** How many seconds an L1 slot lasts. */ ethereumSlotDuration: 12,
135
140
  /** How many seconds an L2 slots lasts (must be multiple of ethereum slot duration). */ aztecSlotDuration: 36,
136
141
  /** How many L2 slots an epoch lasts. */ aztecEpochDuration: 32,
137
142
  /** The target validator committee size. */ aztecTargetCommitteeSize: 48,
138
- /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochs: DefaultL1ContractsConfig.lagInEpochs,
143
+ /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochsForValidatorSet: DefaultL1ContractsConfig.lagInEpochsForValidatorSet,
144
+ /** The number of epochs to lag behind the current epoch for randao selection. */ lagInEpochsForRandao: DefaultL1ContractsConfig.lagInEpochsForRandao,
139
145
  /** The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup */ localEjectionThreshold: DefaultL1ContractsConfig.localEjectionThreshold,
140
146
  /** The number of epochs after an epoch ends that proofs are still accepted. */ aztecProofSubmissionEpochs: 1,
141
147
  /** The deposit amount for a validator */ activationThreshold: DefaultL1ContractsConfig.activationThreshold,
@@ -154,25 +160,28 @@ export const nextNetL2ChainConfig = {
154
160
  sponsoredFPC: true,
155
161
  p2pEnabled: true,
156
162
  disableTransactions: false,
157
- p2pBootstrapNodes: [],
158
- seqMinTxsPerBlock: 0,
159
- seqMaxTxsPerBlock: 8,
163
+ bootstrapNodes: [],
164
+ minTxsPerBlock: 0,
165
+ maxTxsPerBlock: 8,
160
166
  realProofs: true,
161
167
  snapshotsUrls: [],
162
168
  autoUpdate: 'config-and-version',
163
169
  autoUpdateUrl: '',
170
+ publicMetricsOptOut: true,
164
171
  publicIncludeMetrics,
165
172
  publicMetricsCollectorUrl: '',
166
173
  publicMetricsCollectFrom: [
167
174
  ''
168
175
  ],
169
176
  maxTxPoolSize: 100_000_000,
177
+ txPoolDeleteTxsAfterReorg: false,
170
178
  // Deployment stuff
171
179
  /** How many seconds an L1 slot lasts. */ ethereumSlotDuration: 12,
172
180
  /** How many seconds an L2 slots lasts (must be multiple of ethereum slot duration). */ aztecSlotDuration: 36,
173
181
  /** How many L2 slots an epoch lasts. */ aztecEpochDuration: 32,
174
182
  /** The target validator committee size. */ aztecTargetCommitteeSize: 48,
175
- /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochs: DefaultL1ContractsConfig.lagInEpochs,
183
+ /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochsForValidatorSet: DefaultL1ContractsConfig.lagInEpochsForValidatorSet,
184
+ /** The number of epochs to lag behind the current epoch for randao selection. */ lagInEpochsForRandao: DefaultL1ContractsConfig.lagInEpochsForRandao,
176
185
  /** The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup */ localEjectionThreshold: DefaultL1ContractsConfig.localEjectionThreshold,
177
186
  /** The number of epochs after an epoch ends that proofs are still accepted. */ aztecProofSubmissionEpochs: 1,
178
187
  /** The deposit amount for a validator */ activationThreshold: DefaultL1ContractsConfig.activationThreshold,
@@ -191,9 +200,9 @@ export const testnetL2ChainConfig = {
191
200
  sponsoredFPC: true,
192
201
  p2pEnabled: true,
193
202
  disableTransactions: true,
194
- p2pBootstrapNodes: [],
195
- seqMinTxsPerBlock: 0,
196
- seqMaxTxsPerBlock: 0,
203
+ bootstrapNodes: [],
204
+ minTxsPerBlock: 0,
205
+ maxTxsPerBlock: 0,
197
206
  realProofs: true,
198
207
  snapshotsUrls: [
199
208
  `${SNAPSHOTS_URL}/testnet/`
@@ -201,95 +210,128 @@ export const testnetL2ChainConfig = {
201
210
  autoUpdate: 'config-and-version',
202
211
  autoUpdateUrl: 'https://storage.googleapis.com/aztec-testnet/auto-update/testnet.json',
203
212
  maxTxPoolSize: 100_000_000,
213
+ publicMetricsOptOut: false,
204
214
  publicIncludeMetrics,
205
215
  publicMetricsCollectorUrl: 'https://telemetry.alpha-testnet.aztec-labs.com/v1/metrics',
206
216
  publicMetricsCollectFrom: [
207
217
  'sequencer'
208
218
  ],
209
- // Deployment stuff
219
+ txPoolDeleteTxsAfterReorg: true,
220
+ skipArchiverInitialSync: true,
221
+ blobAllowEmptySources: true,
210
222
  /** How many seconds an L1 slot lasts. */ ethereumSlotDuration: 12,
211
- /** How many seconds an L2 slots lasts (must be multiple of ethereum slot duration). */ aztecSlotDuration: 36,
223
+ /** How many seconds an L2 slots lasts (must be multiple of ethereum slot duration). */ aztecSlotDuration: 72,
212
224
  /** How many L2 slots an epoch lasts. */ aztecEpochDuration: 32,
213
- /** The target validator committee size. */ aztecTargetCommitteeSize: 48,
214
- /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochs: 2,
225
+ /** The target validator committee size. */ aztecTargetCommitteeSize: 24,
226
+ /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochsForValidatorSet: 2,
227
+ /** The number of epochs to lag behind the current epoch for randao selection. */ lagInEpochsForRandao: 2,
215
228
  /** The number of epochs after an epoch ends that proofs are still accepted. */ aztecProofSubmissionEpochs: 1,
216
- /** The deposit amount for a validator */ activationThreshold: DefaultL1ContractsConfig.activationThreshold,
217
- /** The minimum stake for a validator. */ ejectionThreshold: DefaultL1ContractsConfig.ejectionThreshold,
218
- /** The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup */ localEjectionThreshold: DefaultL1ContractsConfig.localEjectionThreshold,
219
- /** The slashing round size */ slashingRoundSizeInEpochs: DefaultL1ContractsConfig.slashingRoundSizeInEpochs,
220
- /** Governance proposing round size */ governanceProposerRoundSize: DefaultL1ContractsConfig.governanceProposerRoundSize,
229
+ // This is a diff from mainnet: we have 2-strikes you're out, rather than 3 on mainnet.
230
+ localEjectionThreshold: 198_000n * 10n ** 18n,
231
+ /** How many sequencers must agree with a slash for it to be executed. */ slashingQuorum: 65,
232
+ slashingRoundSizeInEpochs: 4,
233
+ slashingExecutionDelayInRounds: 28,
234
+ slashingLifetimeInRounds: 34,
235
+ slashingVetoer: EthAddress.fromString('0xBbB4aF368d02827945748b28CD4b2D42e4A37480'),
236
+ slashingOffsetInRounds: 2,
237
+ slashingDisableDuration: 259_200,
238
+ slasherFlavor: 'tally',
239
+ slashAmountSmall: 2_000n * 10n ** 18n,
240
+ slashAmountMedium: 2_000n * 10n ** 18n,
241
+ slashAmountLarge: 2_000n * 10n ** 18n,
221
242
  /** The mana target for the rollup */ manaTarget: 0n,
222
- /** The proving cost per mana */ provingCostPerMana: DefaultL1ContractsConfig.provingCostPerMana,
223
- /** Exit delay for stakers */ exitDelaySeconds: DefaultL1ContractsConfig.exitDelaySeconds,
224
- ...DefaultSlashConfig,
243
+ /** The proving cost per mana */ provingCostPerMana: 0n,
244
+ exitDelaySeconds: 4 * 24 * 60 * 60,
245
+ activationThreshold: 200_000n * 10n ** 18n,
246
+ ejectionThreshold: 100_000n * 10n ** 18n,
247
+ governanceProposerRoundSize: 300,
248
+ governanceProposerQuorum: 151,
249
+ // Node slashing config
250
+ slashInactivityTargetPercentage: 0.8,
251
+ slashInactivityConsecutiveEpochThreshold: 2,
252
+ slashInactivityPenalty: 2_000n * 10n ** 18n,
225
253
  slashPrunePenalty: 0n,
226
254
  slashDataWithholdingPenalty: 0n,
255
+ slashProposeInvalidAttestationsPenalty: 2_000n * 10n ** 18n,
256
+ slashAttestDescendantOfInvalidPenalty: 2_000n * 10n ** 18n,
257
+ slashUnknownPenalty: 2_000n * 10n ** 18n,
258
+ slashBroadcastedInvalidBlockPenalty: 2_000n * 10n ** 18n,
259
+ slashGracePeriodL2Slots: 1_200,
260
+ slashOffenseExpirationRounds: 8,
261
+ slashMinPenaltyPercentage: 0.5,
262
+ slashMaxPenaltyPercentage: 2.0,
263
+ slashMaxPayloadSize: 50,
264
+ slashExecuteRoundsLookBack: 4,
265
+ sentinelEnabled: true,
227
266
  ...DefaultNetworkDBMapSizeConfig
228
267
  };
229
268
  export const mainnetL2ChainConfig = {
269
+ txPoolDeleteTxsAfterReorg: true,
270
+ disableTransactions: true,
230
271
  l1ChainId: 1,
231
272
  testAccounts: false,
232
273
  sponsoredFPC: false,
233
274
  p2pEnabled: true,
234
- disableTransactions: true,
235
- p2pBootstrapNodes: [],
236
- seqMinTxsPerBlock: 0,
237
- seqMaxTxsPerBlock: 0,
275
+ bootstrapNodes: [],
276
+ minTxsPerBlock: 0,
277
+ maxTxsPerBlock: 0,
238
278
  realProofs: true,
239
279
  snapshotsUrls: [
240
280
  `${SNAPSHOTS_URL}/mainnet/`
241
281
  ],
242
282
  autoUpdate: 'notify',
243
283
  autoUpdateUrl: 'https://storage.googleapis.com/aztec-mainnet/auto-update/mainnet.json',
244
- maxTxPoolSize: 100_000_000,
284
+ maxTxPoolSize: 0,
285
+ publicMetricsOptOut: true,
245
286
  publicIncludeMetrics,
246
287
  publicMetricsCollectorUrl: 'https://telemetry.alpha-testnet.aztec-labs.com/v1/metrics',
247
288
  publicMetricsCollectFrom: [
248
289
  'sequencer'
249
290
  ],
291
+ blobAllowEmptySources: true,
250
292
  /** How many seconds an L1 slot lasts. */ ethereumSlotDuration: 12,
251
293
  /** How many seconds an L2 slots lasts (must be multiple of ethereum slot duration). */ aztecSlotDuration: 72,
252
294
  /** How many L2 slots an epoch lasts. */ aztecEpochDuration: 32,
253
295
  /** The target validator committee size. */ aztecTargetCommitteeSize: 24,
296
+ /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochsForValidatorSet: 2,
297
+ /** The number of epochs to lag behind the current epoch for randao selection. */ lagInEpochsForRandao: 2,
254
298
  /** The number of epochs after an epoch ends that proofs are still accepted. */ aztecProofSubmissionEpochs: 1,
255
- /** How many sequencers must agree with a slash for it to be executed. */ slashingQuorum: 65,
256
- /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochs: 2,
257
299
  localEjectionThreshold: 196_000n * 10n ** 18n,
258
- slashingDisableDuration: 5 * 24 * 60 * 60,
300
+ /** How many sequencers must agree with a slash for it to be executed. */ slashingQuorum: 65,
259
301
  slashingRoundSizeInEpochs: 4,
260
- slashingLifetimeInRounds: 40,
261
302
  slashingExecutionDelayInRounds: 28,
262
- slashAmountSmall: 2_000n * 10n ** 18n,
263
- slashAmountMedium: 10_000n * 10n ** 18n,
264
- slashAmountLarge: 50_000n * 10n ** 18n,
303
+ slashingLifetimeInRounds: 34,
304
+ slashingVetoer: EthAddress.fromString('0xBbB4aF368d02827945748b28CD4b2D42e4A37480'),
265
305
  slashingOffsetInRounds: 2,
306
+ slashingDisableDuration: 259_200,
266
307
  slasherFlavor: 'tally',
267
- slashingVetoer: EthAddress.ZERO,
308
+ slashAmountSmall: 2_000n * 10n ** 18n,
309
+ slashAmountMedium: 2_000n * 10n ** 18n,
310
+ slashAmountLarge: 2_000n * 10n ** 18n,
268
311
  /** The mana target for the rollup */ manaTarget: 0n,
269
- exitDelaySeconds: 5 * 24 * 60 * 60,
270
312
  /** The proving cost per mana */ provingCostPerMana: 0n,
271
- ejectionThreshold: 100_000n * 10n ** 18n,
313
+ exitDelaySeconds: 4 * 24 * 60 * 60,
272
314
  activationThreshold: 200_000n * 10n ** 18n,
273
- governanceProposerRoundSize: 300,
274
- governanceProposerQuorum: 151,
315
+ ejectionThreshold: 100_000n * 10n ** 18n,
316
+ governanceProposerRoundSize: 1000,
317
+ governanceProposerQuorum: 600,
275
318
  // Node slashing config
276
- // TODO TMNT-330
277
- slashMinPenaltyPercentage: 0.5,
278
- slashMaxPenaltyPercentage: 2.0,
279
- slashInactivityTargetPercentage: 0.7,
319
+ slashInactivityTargetPercentage: 0.8,
280
320
  slashInactivityConsecutiveEpochThreshold: 2,
281
321
  slashInactivityPenalty: 2_000n * 10n ** 18n,
282
322
  slashPrunePenalty: 0n,
283
323
  slashDataWithholdingPenalty: 0n,
284
- slashProposeInvalidAttestationsPenalty: 50_000n * 10n ** 18n,
285
- slashAttestDescendantOfInvalidPenalty: 50_000n * 10n ** 18n,
324
+ slashProposeInvalidAttestationsPenalty: 2_000n * 10n ** 18n,
325
+ slashAttestDescendantOfInvalidPenalty: 2_000n * 10n ** 18n,
286
326
  slashUnknownPenalty: 2_000n * 10n ** 18n,
287
- slashBroadcastedInvalidBlockPenalty: 0n,
288
- slashMaxPayloadSize: 50,
289
- slashGracePeriodL2Slots: 32 * 4,
327
+ slashBroadcastedInvalidBlockPenalty: 2_000n * 10n ** 18n,
328
+ slashGracePeriodL2Slots: 1_200,
290
329
  slashOffenseExpirationRounds: 8,
291
- sentinelEnabled: true,
330
+ slashMinPenaltyPercentage: 0.5,
331
+ slashMaxPenaltyPercentage: 2.0,
332
+ slashMaxPayloadSize: 50,
292
333
  slashExecuteRoundsLookBack: 4,
334
+ sentinelEnabled: true,
293
335
  ...DefaultNetworkDBMapSizeConfig
294
336
  };
295
337
  export const devnetL2ChainConfig = {
@@ -298,25 +340,28 @@ export const devnetL2ChainConfig = {
298
340
  sponsoredFPC: true,
299
341
  p2pEnabled: true,
300
342
  disableTransactions: false,
301
- p2pBootstrapNodes: [],
302
- seqMinTxsPerBlock: 0,
303
- seqMaxTxsPerBlock: 8,
343
+ bootstrapNodes: [],
344
+ minTxsPerBlock: 0,
345
+ maxTxsPerBlock: 8,
304
346
  realProofs: false,
305
347
  snapshotsUrls: [],
306
348
  autoUpdate: 'config-and-version',
307
349
  autoUpdateUrl: '',
350
+ publicMetricsOptOut: true,
308
351
  publicIncludeMetrics,
309
352
  publicMetricsCollectorUrl: '',
310
353
  publicMetricsCollectFrom: [
311
354
  ''
312
355
  ],
313
356
  maxTxPoolSize: 100_000_000,
357
+ txPoolDeleteTxsAfterReorg: true,
314
358
  // Deployment stuff
315
359
  /** How many seconds an L1 slot lasts. */ ethereumSlotDuration: 12,
316
360
  /** How many seconds an L2 slots lasts (must be multiple of ethereum slot duration). */ aztecSlotDuration: 36,
317
361
  /** How many L2 slots an epoch lasts. */ aztecEpochDuration: 8,
318
362
  /** The target validator committee size. */ aztecTargetCommitteeSize: 1,
319
- /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochs: 1,
363
+ /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochsForValidatorSet: 1,
364
+ /** The number of epochs to lag behind the current epoch for randao selection. */ lagInEpochsForRandao: 1,
320
365
  /** The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup */ localEjectionThreshold: DefaultL1ContractsConfig.localEjectionThreshold,
321
366
  /** The number of epochs after an epoch ends that proofs are still accepted. */ aztecProofSubmissionEpochs: 1,
322
367
  /** The deposit amount for a validator */ activationThreshold: DefaultL1ContractsConfig.activationThreshold,
@@ -361,7 +406,7 @@ export function getL2ChainConfig(networkName) {
361
406
  function getDefaultDataDir(networkName) {
362
407
  return path.join(process.env.HOME || '~', '.aztec', networkName, 'data');
363
408
  }
364
- export function enrichEnvironmentWithChainConfig(networkName) {
409
+ export function enrichEnvironmentWithChainName(networkName) {
365
410
  if (networkName === 'local') {
366
411
  return;
367
412
  }
@@ -370,22 +415,32 @@ export function enrichEnvironmentWithChainConfig(networkName) {
370
415
  if (!config) {
371
416
  throw new Error(`Unknown network name: ${networkName}`);
372
417
  }
373
- enrichVar('BOOTSTRAP_NODES', config.p2pBootstrapNodes.join(','));
418
+ enrichEnvironmentWithChainConfig(config);
419
+ }
420
+ export function enrichEnvironmentWithChainConfig(config) {
421
+ enrichVar('BOOTSTRAP_NODES', config.bootstrapNodes.join(','));
374
422
  enrichVar('TEST_ACCOUNTS', config.testAccounts.toString());
375
423
  enrichVar('SPONSORED_FPC', config.sponsoredFPC.toString());
376
424
  enrichVar('P2P_ENABLED', config.p2pEnabled.toString());
377
425
  enrichVar('L1_CHAIN_ID', config.l1ChainId.toString());
378
- enrichVar('SEQ_MIN_TX_PER_BLOCK', config.seqMinTxsPerBlock.toString());
379
- enrichVar('SEQ_MAX_TX_PER_BLOCK', config.seqMaxTxsPerBlock.toString());
426
+ enrichVar('SEQ_MIN_TX_PER_BLOCK', config.minTxsPerBlock.toString());
427
+ enrichVar('SEQ_MAX_TX_PER_BLOCK', config.maxTxsPerBlock.toString());
380
428
  enrichVar('PROVER_REAL_PROOFS', config.realProofs.toString());
381
429
  enrichVar('PXE_PROVER_ENABLED', config.realProofs.toString());
382
430
  enrichVar('SYNC_SNAPSHOTS_URLS', config.snapshotsUrls.join(','));
383
431
  enrichVar('P2P_MAX_TX_POOL_SIZE', config.maxTxPoolSize.toString());
384
- enrichVar('DATA_STORE_MAP_SIZE_KB', config.dbMapSizeKb.toString());
432
+ enrichVar('P2P_TX_POOL_DELETE_TXS_AFTER_REORG', config.txPoolDeleteTxsAfterReorg.toString());
433
+ enrichVar('DATA_STORE_MAP_SIZE_KB', config.dataStoreMapSizeKb.toString());
385
434
  enrichVar('ARCHIVER_STORE_MAP_SIZE_KB', config.archiverStoreMapSizeKb.toString());
386
435
  enrichVar('NOTE_HASH_TREE_MAP_SIZE_KB', config.noteHashTreeMapSizeKb.toString());
387
436
  enrichVar('NULLIFIER_TREE_MAP_SIZE_KB', config.nullifierTreeMapSizeKb.toString());
388
437
  enrichVar('PUBLIC_DATA_TREE_MAP_SIZE_KB', config.publicDataTreeMapSizeKb.toString());
438
+ if (config.skipArchiverInitialSync !== undefined) {
439
+ enrichVar('SKIP_ARCHIVER_INITIAL_SYNC', config.skipArchiverInitialSync.toString());
440
+ }
441
+ if (config.blobAllowEmptySources !== undefined) {
442
+ enrichVar('BLOB_ALLOW_EMPTY_SOURCES', config.blobAllowEmptySources.toString());
443
+ }
389
444
  if (config.autoUpdate) {
390
445
  enrichVar('AUTO_UPDATE', config.autoUpdate?.toString());
391
446
  }
@@ -401,11 +456,14 @@ export function enrichEnvironmentWithChainConfig(networkName) {
401
456
  if (config.publicMetricsCollectFrom) {
402
457
  enrichVar('PUBLIC_OTEL_COLLECT_FROM', config.publicMetricsCollectFrom.join(','));
403
458
  }
459
+ enrichVar('PUBLIC_OTEL_OPT_OUT', config.publicMetricsOptOut.toString());
404
460
  // Deployment stuff
405
461
  enrichVar('ETHEREUM_SLOT_DURATION', config.ethereumSlotDuration.toString());
406
462
  enrichVar('AZTEC_SLOT_DURATION', config.aztecSlotDuration.toString());
407
463
  enrichVar('AZTEC_EPOCH_DURATION', config.aztecEpochDuration.toString());
408
464
  enrichVar('AZTEC_TARGET_COMMITTEE_SIZE', config.aztecTargetCommitteeSize.toString());
465
+ enrichVar('AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET', config.lagInEpochsForValidatorSet.toString());
466
+ enrichVar('AZTEC_LAG_IN_EPOCHS_FOR_RANDAO', config.lagInEpochsForRandao.toString());
409
467
  enrichVar('AZTEC_PROOF_SUBMISSION_EPOCHS', config.aztecProofSubmissionEpochs.toString());
410
468
  enrichVar('AZTEC_ACTIVATION_THRESHOLD', config.activationThreshold.toString());
411
469
  enrichVar('AZTEC_EJECTION_THRESHOLD', config.ejectionThreshold.toString());
@@ -423,6 +481,7 @@ export function enrichEnvironmentWithChainConfig(networkName) {
423
481
  enrichVar('AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS', config.slashingExecutionDelayInRounds.toString());
424
482
  enrichVar('AZTEC_SLASHING_OFFSET_IN_ROUNDS', config.slashingOffsetInRounds.toString());
425
483
  enrichVar('AZTEC_SLASHER_FLAVOR', config.slasherFlavor);
484
+ enrichVar('AZTEC_SLASHING_DISABLE_DURATION', config.slashingDisableDuration.toString());
426
485
  enrichVar('AZTEC_EXIT_DELAY_SECONDS', config.exitDelaySeconds.toString());
427
486
  enrichEthAddressVar('AZTEC_SLASHING_VETOER', config.slashingVetoer.toString());
428
487
  // Slashing
@@ -439,6 +498,8 @@ export function enrichEnvironmentWithChainConfig(networkName) {
439
498
  enrichVar('SLASH_INVALID_BLOCK_PENALTY', config.slashBroadcastedInvalidBlockPenalty.toString());
440
499
  enrichVar('SLASH_OFFENSE_EXPIRATION_ROUNDS', config.slashOffenseExpirationRounds.toString());
441
500
  enrichVar('SLASH_MAX_PAYLOAD_SIZE', config.slashMaxPayloadSize.toString());
501
+ enrichVar('SLASH_GRACE_PERIOD_L2_SLOTS', config.slashGracePeriodL2Slots.toString());
502
+ enrichVar('SLASH_EXECUTE_ROUNDS_LOOK_BACK', config.slashExecuteRoundsLookBack.toString());
442
503
  enrichVar('SENTINEL_ENABLED', config.sentinelEnabled.toString());
443
504
  enrichVar('TRANSACTIONS_DISABLED', config.disableTransactions.toString());
444
505
  }
@@ -1,4 +1,4 @@
1
1
  import type { EnvVar } from '@aztec/foundation/config';
2
2
  export declare function enrichVar(envVar: EnvVar, value: string | undefined): void;
3
3
  export declare function enrichEthAddressVar(envVar: EnvVar, value: string): void;
4
- //# sourceMappingURL=enrich_env.d.ts.map
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5yaWNoX2Vudi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9lbnJpY2hfZW52LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELHdCQUFnQixTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLFNBQVMsUUFNbEU7QUFFRCx3QkFBZ0IsbUJBQW1CLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUdoRSJ9
@@ -1,8 +1,9 @@
1
- import { type L1ContractAddresses, getL1ContractsConfig } from '@aztec/ethereum';
1
+ import type { L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
2
+ import { getL1ContractsConfig } from '@aztec/ethereum/queries';
2
3
  import { EthAddress } from '@aztec/foundation/eth-address';
3
4
  export declare function getL1Config(registryAddress: EthAddress, l1RpcUrls: string[], l1ChainId: number, rollupVersion?: number | 'canonical'): Promise<{
4
5
  addresses: L1ContractAddresses;
5
6
  config: Awaited<ReturnType<typeof getL1ContractsConfig>>;
6
7
  }>;
7
8
  export declare function getL1RollupAddressFromEnv(l1RpcUrls: string[], l1ChainId: number): Promise<EthAddress>;
8
- //# sourceMappingURL=get_l1_config.d.ts.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2wxX2NvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9nZXRfbDFfY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELHdCQUFzQixXQUFXLENBQy9CLGVBQWUsRUFBRSxVQUFVLEVBQzNCLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsU0FBUyxFQUFFLE1BQU0sRUFDakIsYUFBYSxHQUFFLE1BQU0sR0FBRyxXQUF5QixHQUNoRCxPQUFPLENBQUM7SUFBRSxTQUFTLEVBQUUsbUJBQW1CLENBQUM7SUFBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLG9CQUFvQixDQUFDLENBQUMsQ0FBQTtDQUFFLENBQUMsQ0FVdkc7QUFFRCx3QkFBc0IseUJBQXlCLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQU9yRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"get_l1_config.d.ts","sourceRoot":"","sources":["../../src/config/get_l1_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAoB,oBAAoB,EAAmB,MAAM,iBAAiB,CAAC;AACpH,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,wBAAsB,WAAW,CAC/B,eAAe,EAAE,UAAU,EAC3B,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,MAAM,GAAG,WAAyB,GAChD,OAAO,CAAC;IAAE,SAAS,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAA;CAAE,CAAC,CAUvG;AAED,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,uBAOrF"}
1
+ {"version":3,"file":"get_l1_config.d.ts","sourceRoot":"","sources":["../../src/config/get_l1_config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,wBAAsB,WAAW,CAC/B,eAAe,EAAE,UAAU,EAC3B,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,MAAM,GAAG,WAAyB,GAChD,OAAO,CAAC;IAAE,SAAS,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAA;CAAE,CAAC,CAUvG;AAED,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,uBAOrF"}
@@ -1,4 +1,6 @@
1
- import { RegistryContract, getL1ContractsConfig, getPublicClient } from '@aztec/ethereum';
1
+ import { getPublicClient } from '@aztec/ethereum/client';
2
+ import { RegistryContract } from '@aztec/ethereum/contracts';
3
+ import { getL1ContractsConfig } from '@aztec/ethereum/queries';
2
4
  import { EthAddress } from '@aztec/foundation/eth-address';
3
5
  export async function getL1Config(registryAddress, l1RpcUrls, l1ChainId, rollupVersion = 'canonical') {
4
6
  const publicClient = getPublicClient({
@@ -2,4 +2,4 @@ export * from './cached_fetch.js';
2
2
  export * from './chain_l2_config.js';
3
3
  export * from './get_l1_config.js';
4
4
  export * from './network_config.js';
5
- //# sourceMappingURL=index.d.ts.map
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQyJ9
@@ -1,11 +1,12 @@
1
1
  import { type NetworkConfig, type NetworkNames } from '@aztec/foundation/config';
2
2
  /**
3
3
  * Fetches remote network configuration from GitHub with caching support.
4
- * Uses the reusable cachedFetch utility.
4
+ * Uses the reusable cachedFetch utility. Falls back to metadata.aztec.network if the default URL fails.
5
5
  *
6
6
  * @param networkName - The network name to fetch config for
7
7
  * @param cacheDir - Optional cache directory for storing fetched config
8
- * @returns Remote configuration for the specified network, or undefined if not found/error
8
+ * @returns Remote configuration for the specified network, or undefined if network not found in config
9
+ * @throws Error if both primary and fallback URLs fail to fetch
9
10
  */
10
11
  export declare function getNetworkConfig(networkName: NetworkNames, cacheDir?: string): Promise<NetworkConfig | undefined>;
11
12
  /**
@@ -14,6 +15,8 @@ export declare function getNetworkConfig(networkName: NetworkNames, cacheDir?: s
14
15
  * from the remote config, following the same pattern as enrichEnvironmentWithChainConfig().
15
16
  *
16
17
  * @param networkName - The network name to fetch remote config for
18
+ * @throws Error if network config fetch fails (network errors, parse errors, etc.)
19
+ * Does not throw if the network simply doesn't exist in the config - just returns without enriching
17
20
  */
18
21
  export declare function enrichEnvironmentWithNetworkConfig(networkName: NetworkNames): Promise<void>;
19
- //# sourceMappingURL=network_config.d.ts.map
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUEwQixLQUFLLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBYXpHOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLGdCQUFnQixDQUNwQyxXQUFXLEVBQUUsWUFBWSxFQUN6QixRQUFRLENBQUMsRUFBRSxNQUFNLEdBQ2hCLE9BQU8sQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLENBOEJwQztBQXVERDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixrQ0FBa0MsQ0FBQyxXQUFXLEVBQUUsWUFBWSxpQkFvQmpGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"network_config.d.ts","sourceRoot":"","sources":["../../src/config/network_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAA0B,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAYzG;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,YAAY,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAiDpC;AAED;;;;;;GAMG;AACH,wBAAsB,kCAAkC,CAAC,WAAW,EAAE,YAAY,iBAoBjF"}
1
+ {"version":3,"file":"network_config.d.ts","sourceRoot":"","sources":["../../src/config/network_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAA0B,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAazG;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,YAAY,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA8BpC;AAuDD;;;;;;;;GAQG;AACH,wBAAsB,kCAAkC,CAAC,WAAW,EAAE,YAAY,iBAoBjF"}