@aztec/cli 0.0.1-commit.e6bd8901 → 0.0.1-commit.ec5f612

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.
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfbDJfY29udHJhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2luZnJhc3RydWN0dXJlL3NldHVwX2wyX2NvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBS25ELHdCQUFzQixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxpQkF3QnZHIn0=
@@ -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":"AAMA,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,iBAwBvG"}
@@ -2,7 +2,8 @@ import { getInitialTestAccountsData } from '@aztec/accounts/testing';
2
2
  import { createAztecNodeClient } from '@aztec/aztec.js/node';
3
3
  import { jsonStringify } from '@aztec/foundation/json-rpc';
4
4
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
5
- import { TestWallet, deployFundedSchnorrAccounts } from '@aztec/test-wallet/server';
5
+ import { EmbeddedWallet } from '@aztec/wallets/embedded';
6
+ import { deployFundedSchnorrAccounts } from '@aztec/wallets/testing';
6
7
  export async function setupL2Contracts(nodeUrl, testAccounts, json, log) {
7
8
  const waitOpts = {
8
9
  timeout: 180,
@@ -11,7 +12,7 @@ export async function setupL2Contracts(nodeUrl, testAccounts, json, log) {
11
12
  log('setupL2Contracts: Wait options' + jsonStringify(waitOpts));
12
13
  log('setupL2Contracts: Creating PXE client...');
13
14
  const node = createAztecNodeClient(nodeUrl);
14
- const wallet = await TestWallet.create(node);
15
+ const wallet = await EmbeddedWallet.create(node);
15
16
  let deployedAccountManagers = [];
16
17
  if (testAccounts) {
17
18
  log('setupL2Contracts: Deploying test accounts...');
@@ -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
+ }
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQVUsTUFBTSxXQUFXLENBQUM7QUF3QmpELHdCQUFnQixjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBNmUvRSJ9
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQVUsTUFBTSxXQUFXLENBQUM7QUF3QmpELHdCQUFnQixjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBK2YvRSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AAwBjD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,WA6e/E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AAwBjD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,WA+f/E"}
@@ -17,6 +17,10 @@ export function injectCommands(program, log, debugLogger) {
17
17
  const initialValidators = options.validators?.split(',').map((validator)=>EthAddress.fromString(validator)) || [];
18
18
  await deployNewRollup(options.registryAddress, options.l1RpcUrls, options.l1ChainId, options.privateKey, options.mnemonic, options.mnemonicIndex, options.testAccounts, options.sponsoredFpc, options.json, initialValidators, options.realVerifier, log);
19
19
  });
20
+ program.command('compute-genesis-values').description('Computes genesis values (VK tree root, protocol contracts hash, genesis archive root).').addOption(new Option('--test-accounts <boolean>', 'Include initial test accounts in genesis state').env('TEST_ACCOUNTS').argParser((arg)=>arg === 'true')).addOption(new Option('--sponsored-fpc <boolean>', 'Include sponsored FPC contract in genesis state').env('SPONSORED_FPC').argParser((arg)=>arg === 'true')).action(async (options)=>{
21
+ const { computeGenesisValuesCmd } = await import('./compute_genesis_values.js');
22
+ await computeGenesisValuesCmd(options.testAccounts, options.sponsoredFpc, log);
23
+ });
20
24
  program.command('deposit-governance-tokens').description('Deposits governance tokens to the governance contract.').requiredOption('-r, --registry-address <string>', 'The address of the registry contract', parseEthereumAddress).requiredOption('--recipient <string>', 'The recipient of the tokens', parseEthereumAddress).requiredOption('-a, --amount <string>', 'The amount of tokens to deposit', parseBigint).option('--mint', 'Mint the tokens on L1', false).addOption(l1RpcUrlsOption).addOption(l1ChainIdOption).option('-p, --private-key <string>', 'The private key to use to deposit', PRIVATE_KEY).option('-m, --mnemonic <string>', 'The mnemonic to use to deposit', 'test test test test test test test test test test test junk').option('-i, --mnemonic-index <number>', 'The index of the mnemonic to use to deposit', (arg)=>parseInt(arg), 0).action(async (options)=>{
21
25
  const { depositGovernanceTokens } = await import('./governance_utils.js');
22
26
  await depositGovernanceTokens({
@@ -2,7 +2,7 @@ import { createEthereumChain, isAnvilTestChain } from '@aztec/ethereum/chain';
2
2
  import { createExtendedL1Client, getPublicClient } from '@aztec/ethereum/client';
3
3
  import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
4
4
  import { GSEContract, RollupContract } from '@aztec/ethereum/contracts';
5
- import { createL1TxUtilsFromViemWallet } from '@aztec/ethereum/l1-tx-utils';
5
+ import { createL1TxUtils } from '@aztec/ethereum/l1-tx-utils';
6
6
  import { EthCheatCodes } from '@aztec/ethereum/test';
7
7
  import { DateProvider } from '@aztec/foundation/timer';
8
8
  import { RollupAbi, StakingAssetHandlerAbi, TestERC20Abi } from '@aztec/l1-artifacts';
@@ -38,7 +38,7 @@ export async function addL1Validator({ rpcUrls, chainId, privateKey, mnemonic, a
38
38
  const gseAddress = await rollup.read.getGSE();
39
39
  const gse = new GSEContract(l1Client, gseAddress);
40
40
  const registrationTuple = await gse.makeRegistrationTuple(blsSecretKey);
41
- const l1TxUtils = createL1TxUtilsFromViemWallet(l1Client, {
41
+ const l1TxUtils = createL1TxUtils(l1Client, {
42
42
  logger: debugLogger
43
43
  });
44
44
  const proofParamsObj = ZkPassportProofParams.fromBuffer(proofParams);
@@ -130,7 +130,7 @@ export async function addL1ValidatorViaRollup({ rpcUrls, chainId, privateKey, mn
130
130
  const gseAddress = await rollup.read.getGSE();
131
131
  const gse = new GSEContract(l1Client, gseAddress);
132
132
  const registrationTuple = await gse.makeRegistrationTuple(blsSecretKey);
133
- const l1TxUtils = createL1TxUtilsFromViemWallet(l1Client, {
133
+ const l1TxUtils = createL1TxUtils(l1Client, {
134
134
  logger: debugLogger
135
135
  });
136
136
  const { receipt } = await l1TxUtils.sendAndMonitorTransaction({
@@ -172,7 +172,7 @@ export async function removeL1Validator({ rpcUrls, chainId, privateKey, mnemonic
172
172
  const account = getAccount(privateKey, mnemonic);
173
173
  const chain = createEthereumChain(rpcUrls, chainId);
174
174
  const l1Client = createExtendedL1Client(rpcUrls, account, chain.chainInfo);
175
- const l1TxUtils = createL1TxUtilsFromViemWallet(l1Client, {
175
+ const l1TxUtils = createL1TxUtils(l1Client, {
176
176
  logger: debugLogger
177
177
  });
178
178
  dualLog(`Removing validator ${validatorAddress.toString()} from rollup ${rollupAddress.toString()}`);
@@ -194,7 +194,7 @@ export async function pruneRollup({ rpcUrls, chainId, privateKey, mnemonic, roll
194
194
  const account = getAccount(privateKey, mnemonic);
195
195
  const chain = createEthereumChain(rpcUrls, chainId);
196
196
  const l1Client = createExtendedL1Client(rpcUrls, account, chain.chainInfo);
197
- const l1TxUtils = createL1TxUtilsFromViemWallet(l1Client, {
197
+ const l1TxUtils = createL1TxUtils(l1Client, {
198
198
  logger: debugLogger
199
199
  });
200
200
  dualLog(`Trying prune`);
@@ -11,4 +11,4 @@ import type { NetworkNames } from '@aztec/foundation/config';
11
11
  * @param networkName - The network name
12
12
  */
13
13
  export declare function enrichEnvironmentWithChainName(networkName: NetworkNames): void;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5fbDJfY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NoYWluX2wyX2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQTBCN0Q7Ozs7Ozs7Ozs7R0FVRztBQUNILHdCQUFnQiw4QkFBOEIsQ0FBQyxXQUFXLEVBQUUsWUFBWSxRQW1CdkUifQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5fbDJfY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NoYWluX2wyX2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQTBCN0Q7Ozs7Ozs7Ozs7R0FVRztBQUNILHdCQUFnQiw4QkFBOEIsQ0FBQyxXQUFXLEVBQUUsWUFBWSxRQXFCdkUifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"chain_l2_config.d.ts","sourceRoot":"","sources":["../../src/config/chain_l2_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AA0B7D;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,YAAY,QAmBvE"}
1
+ {"version":3,"file":"chain_l2_config.d.ts","sourceRoot":"","sources":["../../src/config/chain_l2_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AA0B7D;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,YAAY,QAqBvE"}
@@ -34,7 +34,9 @@ function getDefaultDataDir(networkName) {
34
34
  return;
35
35
  }
36
36
  // Apply generated network config from defaults.yml
37
- const generatedConfig = NetworkConfigs[networkName];
37
+ // For devnet iterations (v4-devnet-1, etc.), use the base devnet config
38
+ const configKey = /^v\d+-devnet-\d+$/.test(networkName) ? 'devnet' : networkName;
39
+ const generatedConfig = NetworkConfigs[configKey];
38
40
  if (generatedConfig) {
39
41
  enrichEnvironmentWithNetworkConfig(generatedConfig);
40
42
  }
@@ -1,6 +1,6 @@
1
1
  export declare const devnetConfig: {
2
2
  readonly ETHEREUM_SLOT_DURATION: 12;
3
- readonly AZTEC_SLOT_DURATION: 36;
3
+ readonly AZTEC_SLOT_DURATION: 72;
4
4
  readonly AZTEC_TARGET_COMMITTEE_SIZE: 48;
5
5
  readonly AZTEC_ACTIVATION_THRESHOLD: 100000000000000000000;
6
6
  readonly AZTEC_EJECTION_THRESHOLD: 50000000000000000000;
@@ -30,6 +30,8 @@ export declare const devnetConfig: {
30
30
  readonly BOOTSTRAP_NODES: "";
31
31
  readonly SEQ_MIN_TX_PER_BLOCK: 0;
32
32
  readonly SEQ_BUILD_CHECKPOINT_IF_EMPTY: true;
33
+ readonly SEQ_BLOCK_DURATION_MS: 6000;
34
+ readonly SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36;
33
35
  readonly DATA_STORE_MAP_SIZE_KB: 134217728;
34
36
  readonly ARCHIVER_STORE_MAP_SIZE_KB: 1073741824;
35
37
  readonly NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824;
@@ -45,7 +47,7 @@ export declare const devnetConfig: {
45
47
  readonly TEST_ACCOUNTS: true;
46
48
  readonly SPONSORED_FPC: true;
47
49
  readonly TRANSACTIONS_DISABLED: false;
48
- readonly SEQ_MAX_TX_PER_BLOCK: 32;
50
+ readonly SEQ_MAX_TX_PER_BLOCK: 18;
49
51
  readonly PROVER_REAL_PROOFS: false;
50
52
  readonly PXE_PROVER_ENABLED: false;
51
53
  readonly SYNC_SNAPSHOTS_URLS: "";
@@ -64,6 +66,8 @@ export declare const devnetConfig: {
64
66
  readonly SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1;
65
67
  readonly SLASH_INACTIVITY_PENALTY: 10000000000000000000;
66
68
  readonly SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000;
69
+ readonly SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000;
70
+ readonly SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000;
67
71
  readonly SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000;
68
72
  readonly SLASH_UNKNOWN_PENALTY: 10000000000000000000;
69
73
  readonly SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000;
@@ -78,16 +82,12 @@ export declare const testnetConfig: {
78
82
  readonly AZTEC_EXIT_DELAY_SECONDS: 172800;
79
83
  readonly AZTEC_INBOX_LAG: 1;
80
84
  readonly AZTEC_PROOF_SUBMISSION_EPOCHS: 1;
81
- readonly AZTEC_PROVING_COST_PER_MANA: 100;
82
85
  readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000;
83
86
  readonly AZTEC_SLASHER_FLAVOR: "tally";
84
87
  readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4;
85
88
  readonly AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5;
86
89
  readonly AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2;
87
90
  readonly AZTEC_SLASHING_DISABLE_DURATION: 432000;
88
- readonly AZTEC_SLASH_AMOUNT_SMALL: 10000000000000000000;
89
- readonly AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000;
90
- readonly AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000;
91
91
  readonly SLASH_MIN_PENALTY_PERCENTAGE: 0.5;
92
92
  readonly SLASH_MAX_PENALTY_PERCENTAGE: 2;
93
93
  readonly SLASH_OFFENSE_EXPIRATION_ROUNDS: 4;
@@ -97,6 +97,8 @@ export declare const testnetConfig: {
97
97
  readonly BOOTSTRAP_NODES: "";
98
98
  readonly SEQ_MIN_TX_PER_BLOCK: 0;
99
99
  readonly SEQ_BUILD_CHECKPOINT_IF_EMPTY: true;
100
+ readonly SEQ_BLOCK_DURATION_MS: 6000;
101
+ readonly SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36;
100
102
  readonly DATA_STORE_MAP_SIZE_KB: 134217728;
101
103
  readonly ARCHIVER_STORE_MAP_SIZE_KB: 1073741824;
102
104
  readonly NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824;
@@ -113,12 +115,16 @@ export declare const testnetConfig: {
113
115
  readonly AZTEC_SLASHING_QUORUM: 33;
114
116
  readonly AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 100;
115
117
  readonly AZTEC_GOVERNANCE_PROPOSER_QUORUM: 60;
116
- readonly AZTEC_MANA_TARGET: 150000000;
118
+ readonly AZTEC_MANA_TARGET: 75000000;
119
+ readonly AZTEC_PROVING_COST_PER_MANA: 25000000;
120
+ readonly AZTEC_SLASH_AMOUNT_SMALL: 1e+23;
121
+ readonly AZTEC_SLASH_AMOUNT_MEDIUM: 1e+23;
122
+ readonly AZTEC_SLASH_AMOUNT_LARGE: 1e+23;
117
123
  readonly L1_CHAIN_ID: 11155111;
118
124
  readonly TEST_ACCOUNTS: false;
119
125
  readonly SPONSORED_FPC: true;
120
126
  readonly TRANSACTIONS_DISABLED: false;
121
- readonly SEQ_MAX_TX_PER_BLOCK: 8;
127
+ readonly SEQ_MAX_TX_PER_BLOCK: 2;
122
128
  readonly PROVER_REAL_PROOFS: true;
123
129
  readonly P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true;
124
130
  readonly SLASH_PRUNE_PENALTY: 10000000000000000000;
@@ -127,6 +133,8 @@ export declare const testnetConfig: {
127
133
  readonly SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1;
128
134
  readonly SLASH_INACTIVITY_PENALTY: 10000000000000000000;
129
135
  readonly SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000;
136
+ readonly SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000;
137
+ readonly SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000;
130
138
  readonly SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000;
131
139
  readonly SLASH_UNKNOWN_PENALTY: 10000000000000000000;
132
140
  readonly SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000;
@@ -135,6 +143,7 @@ export declare const testnetConfig: {
135
143
  export declare const mainnetConfig: {
136
144
  readonly ETHEREUM_SLOT_DURATION: 12;
137
145
  readonly AZTEC_EPOCH_DURATION: 32;
146
+ readonly AZTEC_TARGET_COMMITTEE_SIZE: 48;
138
147
  readonly AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2;
139
148
  readonly AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2;
140
149
  readonly AZTEC_INBOX_LAG: 1;
@@ -152,6 +161,8 @@ export declare const mainnetConfig: {
152
161
  readonly BOOTSTRAP_NODES: "";
153
162
  readonly SEQ_MIN_TX_PER_BLOCK: 0;
154
163
  readonly SEQ_BUILD_CHECKPOINT_IF_EMPTY: true;
164
+ readonly SEQ_BLOCK_DURATION_MS: 6000;
165
+ readonly SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36;
155
166
  readonly DATA_STORE_MAP_SIZE_KB: 134217728;
156
167
  readonly ARCHIVER_STORE_MAP_SIZE_KB: 1073741824;
157
168
  readonly NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824;
@@ -160,10 +171,9 @@ export declare const mainnetConfig: {
160
171
  readonly PUBLIC_OTEL_INCLUDE_METRICS: "aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_";
161
172
  readonly SENTINEL_ENABLED: true;
162
173
  readonly AZTEC_SLOT_DURATION: 72;
163
- readonly AZTEC_TARGET_COMMITTEE_SIZE: 24;
164
174
  readonly AZTEC_ACTIVATION_THRESHOLD: 2e+23;
165
175
  readonly AZTEC_EJECTION_THRESHOLD: 1e+23;
166
- readonly AZTEC_LOCAL_EJECTION_THRESHOLD: 1.96e+23;
176
+ readonly AZTEC_LOCAL_EJECTION_THRESHOLD: 1.62e+23;
167
177
  readonly AZTEC_SLASH_AMOUNT_SMALL: 2e+21;
168
178
  readonly AZTEC_SLASH_AMOUNT_MEDIUM: 2e+21;
169
179
  readonly AZTEC_SLASH_AMOUNT_LARGE: 2e+21;
@@ -173,10 +183,15 @@ export declare const mainnetConfig: {
173
183
  readonly AZTEC_SLASHING_QUORUM: 65;
174
184
  readonly AZTEC_GOVERNANCE_PROPOSER_QUORUM: 600;
175
185
  readonly AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 1000;
176
- readonly AZTEC_MANA_TARGET: 0;
177
- readonly AZTEC_PROVING_COST_PER_MANA: 0;
186
+ readonly AZTEC_MANA_TARGET: 75000000;
187
+ readonly AZTEC_PROVING_COST_PER_MANA: 25000000;
178
188
  readonly AZTEC_EXIT_DELAY_SECONDS: 345600;
179
189
  readonly AZTEC_SLASHING_DISABLE_DURATION: 259200;
190
+ readonly AZTEC_ENTRY_QUEUE_BOOTSTRAP_VALIDATOR_SET_SIZE: 500;
191
+ readonly AZTEC_ENTRY_QUEUE_BOOTSTRAP_FLUSH_SIZE: 500;
192
+ readonly AZTEC_ENTRY_QUEUE_FLUSH_SIZE_MIN: 1;
193
+ readonly AZTEC_ENTRY_QUEUE_FLUSH_SIZE_QUOTIENT: 400;
194
+ readonly AZTEC_ENTRY_QUEUE_MAX_FLUSH_SIZE: 4;
180
195
  readonly L1_CHAIN_ID: 1;
181
196
  readonly TEST_ACCOUNTS: false;
182
197
  readonly SPONSORED_FPC: false;
@@ -197,9 +212,11 @@ export declare const mainnetConfig: {
197
212
  readonly SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2;
198
213
  readonly SLASH_INACTIVITY_PENALTY: 2e+21;
199
214
  readonly SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 2e+21;
215
+ readonly SLASH_DUPLICATE_PROPOSAL_PENALTY: 2e+21;
216
+ readonly SLASH_DUPLICATE_ATTESTATION_PENALTY: 2e+21;
200
217
  readonly SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 2e+21;
201
218
  readonly SLASH_UNKNOWN_PENALTY: 2e+21;
202
219
  readonly SLASH_INVALID_BLOCK_PENALTY: 2e+21;
203
220
  readonly SLASH_GRACE_PERIOD_L2_SLOTS: 1200;
204
221
  };
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvZ2VuZXJhdGVkL25ldHdvcmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLGVBQU8sTUFBTSxZQUFZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBc0VmLENBQUM7QUFFWCxlQUFPLE1BQU0sYUFBYTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E4RGhCLENBQUM7QUFFWCxlQUFPLE1BQU0sYUFBYTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcUVoQixDQUFDIn0=
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvZ2VuZXJhdGVkL25ldHdvcmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLGVBQU8sTUFBTSxZQUFZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTBFZixDQUFDO0FBRVgsZUFBTyxNQUFNLGFBQWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQWtFaEIsQ0FBQztBQUVYLGVBQU8sTUFBTSxhQUFhOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E4RWhCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../src/config/generated/networks.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEf,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DhB,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEhB,CAAC"}
1
+ {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../src/config/generated/networks.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Ef,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEhB,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EhB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  // Do not edit manually - run yarn generate to regenerate
3
3
  export const devnetConfig = {
4
4
  ETHEREUM_SLOT_DURATION: 12,
5
- AZTEC_SLOT_DURATION: 36,
5
+ AZTEC_SLOT_DURATION: 72,
6
6
  AZTEC_TARGET_COMMITTEE_SIZE: 48,
7
7
  AZTEC_ACTIVATION_THRESHOLD: 100000000000000000000,
8
8
  AZTEC_EJECTION_THRESHOLD: 50000000000000000000,
@@ -32,6 +32,8 @@ export const devnetConfig = {
32
32
  BOOTSTRAP_NODES: '',
33
33
  SEQ_MIN_TX_PER_BLOCK: 0,
34
34
  SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
35
+ SEQ_BLOCK_DURATION_MS: 6000,
36
+ SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
35
37
  DATA_STORE_MAP_SIZE_KB: 134217728,
36
38
  ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
37
39
  NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
@@ -47,7 +49,7 @@ export const devnetConfig = {
47
49
  TEST_ACCOUNTS: true,
48
50
  SPONSORED_FPC: true,
49
51
  TRANSACTIONS_DISABLED: false,
50
- SEQ_MAX_TX_PER_BLOCK: 32,
52
+ SEQ_MAX_TX_PER_BLOCK: 18,
51
53
  PROVER_REAL_PROOFS: false,
52
54
  PXE_PROVER_ENABLED: false,
53
55
  SYNC_SNAPSHOTS_URLS: '',
@@ -66,6 +68,8 @@ export const devnetConfig = {
66
68
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
67
69
  SLASH_INACTIVITY_PENALTY: 10000000000000000000,
68
70
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
71
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
72
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
69
73
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
70
74
  SLASH_UNKNOWN_PENALTY: 10000000000000000000,
71
75
  SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
@@ -80,16 +84,12 @@ export const testnetConfig = {
80
84
  AZTEC_EXIT_DELAY_SECONDS: 172800,
81
85
  AZTEC_INBOX_LAG: 1,
82
86
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
83
- AZTEC_PROVING_COST_PER_MANA: 100,
84
87
  AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
85
88
  AZTEC_SLASHER_FLAVOR: 'tally',
86
89
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
87
90
  AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
88
91
  AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
89
92
  AZTEC_SLASHING_DISABLE_DURATION: 432000,
90
- AZTEC_SLASH_AMOUNT_SMALL: 10000000000000000000,
91
- AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000,
92
- AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000,
93
93
  SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
94
94
  SLASH_MAX_PENALTY_PERCENTAGE: 2,
95
95
  SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
@@ -99,6 +99,8 @@ export const testnetConfig = {
99
99
  BOOTSTRAP_NODES: '',
100
100
  SEQ_MIN_TX_PER_BLOCK: 0,
101
101
  SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
102
+ SEQ_BLOCK_DURATION_MS: 6000,
103
+ SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
102
104
  DATA_STORE_MAP_SIZE_KB: 134217728,
103
105
  ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
104
106
  NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
@@ -115,12 +117,16 @@ export const testnetConfig = {
115
117
  AZTEC_SLASHING_QUORUM: 33,
116
118
  AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 100,
117
119
  AZTEC_GOVERNANCE_PROPOSER_QUORUM: 60,
118
- AZTEC_MANA_TARGET: 150000000,
120
+ AZTEC_MANA_TARGET: 75000000,
121
+ AZTEC_PROVING_COST_PER_MANA: 25000000,
122
+ AZTEC_SLASH_AMOUNT_SMALL: 1E+23,
123
+ AZTEC_SLASH_AMOUNT_MEDIUM: 1E+23,
124
+ AZTEC_SLASH_AMOUNT_LARGE: 1E+23,
119
125
  L1_CHAIN_ID: 11155111,
120
126
  TEST_ACCOUNTS: false,
121
127
  SPONSORED_FPC: true,
122
128
  TRANSACTIONS_DISABLED: false,
123
- SEQ_MAX_TX_PER_BLOCK: 8,
129
+ SEQ_MAX_TX_PER_BLOCK: 2,
124
130
  PROVER_REAL_PROOFS: true,
125
131
  P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true,
126
132
  SLASH_PRUNE_PENALTY: 10000000000000000000,
@@ -129,6 +135,8 @@ export const testnetConfig = {
129
135
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
130
136
  SLASH_INACTIVITY_PENALTY: 10000000000000000000,
131
137
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
138
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
139
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
132
140
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
133
141
  SLASH_UNKNOWN_PENALTY: 10000000000000000000,
134
142
  SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
@@ -137,6 +145,7 @@ export const testnetConfig = {
137
145
  export const mainnetConfig = {
138
146
  ETHEREUM_SLOT_DURATION: 12,
139
147
  AZTEC_EPOCH_DURATION: 32,
148
+ AZTEC_TARGET_COMMITTEE_SIZE: 48,
140
149
  AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
141
150
  AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
142
151
  AZTEC_INBOX_LAG: 1,
@@ -154,6 +163,8 @@ export const mainnetConfig = {
154
163
  BOOTSTRAP_NODES: '',
155
164
  SEQ_MIN_TX_PER_BLOCK: 0,
156
165
  SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
166
+ SEQ_BLOCK_DURATION_MS: 6000,
167
+ SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
157
168
  DATA_STORE_MAP_SIZE_KB: 134217728,
158
169
  ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
159
170
  NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
@@ -162,10 +173,9 @@ export const mainnetConfig = {
162
173
  PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
163
174
  SENTINEL_ENABLED: true,
164
175
  AZTEC_SLOT_DURATION: 72,
165
- AZTEC_TARGET_COMMITTEE_SIZE: 24,
166
176
  AZTEC_ACTIVATION_THRESHOLD: 2E+23,
167
177
  AZTEC_EJECTION_THRESHOLD: 1E+23,
168
- AZTEC_LOCAL_EJECTION_THRESHOLD: 1.96E+23,
178
+ AZTEC_LOCAL_EJECTION_THRESHOLD: 1.62E+23,
169
179
  AZTEC_SLASH_AMOUNT_SMALL: 2E+21,
170
180
  AZTEC_SLASH_AMOUNT_MEDIUM: 2E+21,
171
181
  AZTEC_SLASH_AMOUNT_LARGE: 2E+21,
@@ -175,10 +185,15 @@ export const mainnetConfig = {
175
185
  AZTEC_SLASHING_QUORUM: 65,
176
186
  AZTEC_GOVERNANCE_PROPOSER_QUORUM: 600,
177
187
  AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 1000,
178
- AZTEC_MANA_TARGET: 0,
179
- AZTEC_PROVING_COST_PER_MANA: 0,
188
+ AZTEC_MANA_TARGET: 75000000,
189
+ AZTEC_PROVING_COST_PER_MANA: 25000000,
180
190
  AZTEC_EXIT_DELAY_SECONDS: 345600,
181
191
  AZTEC_SLASHING_DISABLE_DURATION: 259200,
192
+ AZTEC_ENTRY_QUEUE_BOOTSTRAP_VALIDATOR_SET_SIZE: 500,
193
+ AZTEC_ENTRY_QUEUE_BOOTSTRAP_FLUSH_SIZE: 500,
194
+ AZTEC_ENTRY_QUEUE_FLUSH_SIZE_MIN: 1,
195
+ AZTEC_ENTRY_QUEUE_FLUSH_SIZE_QUOTIENT: 400,
196
+ AZTEC_ENTRY_QUEUE_MAX_FLUSH_SIZE: 4,
182
197
  L1_CHAIN_ID: 1,
183
198
  TEST_ACCOUNTS: false,
184
199
  SPONSORED_FPC: false,
@@ -199,6 +214,8 @@ export const mainnetConfig = {
199
214
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2,
200
215
  SLASH_INACTIVITY_PENALTY: 2E+21,
201
216
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 2E+21,
217
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 2E+21,
218
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 2E+21,
202
219
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 2E+21,
203
220
  SLASH_UNKNOWN_PENALTY: 2E+21,
204
221
  SLASH_INVALID_BLOCK_PENALTY: 2E+21,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/cli",
3
- "version": "0.0.1-commit.e6bd8901",
3
+ "version": "0.0.1-commit.ec5f612",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./contracts": "./dest/cmds/contracts/index.js",
@@ -77,23 +77,23 @@
77
77
  ]
78
78
  },
79
79
  "dependencies": {
80
- "@aztec/accounts": "0.0.1-commit.e6bd8901",
81
- "@aztec/archiver": "0.0.1-commit.e6bd8901",
82
- "@aztec/aztec.js": "0.0.1-commit.e6bd8901",
83
- "@aztec/constants": "0.0.1-commit.e6bd8901",
84
- "@aztec/entrypoints": "0.0.1-commit.e6bd8901",
85
- "@aztec/ethereum": "0.0.1-commit.e6bd8901",
86
- "@aztec/foundation": "0.0.1-commit.e6bd8901",
87
- "@aztec/l1-artifacts": "0.0.1-commit.e6bd8901",
88
- "@aztec/node-keystore": "0.0.1-commit.e6bd8901",
89
- "@aztec/node-lib": "0.0.1-commit.e6bd8901",
90
- "@aztec/p2p": "0.0.1-commit.e6bd8901",
91
- "@aztec/protocol-contracts": "0.0.1-commit.e6bd8901",
92
- "@aztec/sequencer-client": "0.0.1-commit.e6bd8901",
93
- "@aztec/slasher": "0.0.1-commit.e6bd8901",
94
- "@aztec/stdlib": "0.0.1-commit.e6bd8901",
95
- "@aztec/test-wallet": "0.0.1-commit.e6bd8901",
96
- "@aztec/world-state": "0.0.1-commit.e6bd8901",
80
+ "@aztec/accounts": "0.0.1-commit.ec5f612",
81
+ "@aztec/archiver": "0.0.1-commit.ec5f612",
82
+ "@aztec/aztec.js": "0.0.1-commit.ec5f612",
83
+ "@aztec/constants": "0.0.1-commit.ec5f612",
84
+ "@aztec/entrypoints": "0.0.1-commit.ec5f612",
85
+ "@aztec/ethereum": "0.0.1-commit.ec5f612",
86
+ "@aztec/foundation": "0.0.1-commit.ec5f612",
87
+ "@aztec/l1-artifacts": "0.0.1-commit.ec5f612",
88
+ "@aztec/node-keystore": "0.0.1-commit.ec5f612",
89
+ "@aztec/node-lib": "0.0.1-commit.ec5f612",
90
+ "@aztec/p2p": "0.0.1-commit.ec5f612",
91
+ "@aztec/protocol-contracts": "0.0.1-commit.ec5f612",
92
+ "@aztec/sequencer-client": "0.0.1-commit.ec5f612",
93
+ "@aztec/slasher": "0.0.1-commit.ec5f612",
94
+ "@aztec/stdlib": "0.0.1-commit.ec5f612",
95
+ "@aztec/wallets": "0.0.1-commit.ec5f612",
96
+ "@aztec/world-state": "0.0.1-commit.ec5f612",
97
97
  "@ethersproject/wallet": "^5.8.0",
98
98
  "@iarna/toml": "^2.2.5",
99
99
  "@libp2p/peer-id-factory": "^3.0.4",
@@ -107,9 +107,9 @@
107
107
  "viem": "npm:@aztec/viem@2.38.2"
108
108
  },
109
109
  "devDependencies": {
110
- "@aztec/aztec-node": "0.0.1-commit.e6bd8901",
111
- "@aztec/kv-store": "0.0.1-commit.e6bd8901",
112
- "@aztec/telemetry-client": "0.0.1-commit.e6bd8901",
110
+ "@aztec/aztec-node": "0.0.1-commit.ec5f612",
111
+ "@aztec/kv-store": "0.0.1-commit.ec5f612",
112
+ "@aztec/telemetry-client": "0.0.1-commit.ec5f612",
113
113
  "@jest/globals": "^30.0.0",
114
114
  "@types/jest": "^30.0.0",
115
115
  "@types/lodash.chunk": "^4.2.9",
@@ -126,15 +126,15 @@
126
126
  "typescript": "^5.3.3"
127
127
  },
128
128
  "peerDependencies": {
129
- "@aztec/accounts": "0.0.1-commit.e6bd8901",
130
- "@aztec/bb-prover": "0.0.1-commit.e6bd8901",
131
- "@aztec/ethereum": "0.0.1-commit.e6bd8901",
132
- "@aztec/l1-artifacts": "0.0.1-commit.e6bd8901",
133
- "@aztec/noir-contracts.js": "0.0.1-commit.e6bd8901",
134
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.e6bd8901",
135
- "@aztec/noir-test-contracts.js": "0.0.1-commit.e6bd8901",
136
- "@aztec/protocol-contracts": "0.0.1-commit.e6bd8901",
137
- "@aztec/stdlib": "0.0.1-commit.e6bd8901"
129
+ "@aztec/accounts": "0.0.1-commit.ec5f612",
130
+ "@aztec/bb-prover": "0.0.1-commit.ec5f612",
131
+ "@aztec/ethereum": "0.0.1-commit.ec5f612",
132
+ "@aztec/l1-artifacts": "0.0.1-commit.ec5f612",
133
+ "@aztec/noir-contracts.js": "0.0.1-commit.ec5f612",
134
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.ec5f612",
135
+ "@aztec/noir-test-contracts.js": "0.0.1-commit.ec5f612",
136
+ "@aztec/protocol-contracts": "0.0.1-commit.ec5f612",
137
+ "@aztec/stdlib": "0.0.1-commit.ec5f612"
138
138
  },
139
139
  "files": [
140
140
  "dest",
@@ -1,12 +1,13 @@
1
1
  import { getInitialTestAccountsData } from '@aztec/accounts/testing';
2
- import type { AztecAddress } from '@aztec/aztec.js/addresses';
2
+ import { AztecAddress } from '@aztec/aztec.js/addresses';
3
3
  import type { WaitOpts } from '@aztec/aztec.js/contracts';
4
4
  import { createAztecNodeClient } from '@aztec/aztec.js/node';
5
5
  import { AccountManager } from '@aztec/aztec.js/wallet';
6
6
  import { jsonStringify } from '@aztec/foundation/json-rpc';
7
7
  import type { LogFn } from '@aztec/foundation/log';
8
8
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
9
- import { TestWallet, deployFundedSchnorrAccounts } from '@aztec/test-wallet/server';
9
+ import { EmbeddedWallet } from '@aztec/wallets/embedded';
10
+ import { deployFundedSchnorrAccounts } from '@aztec/wallets/testing';
10
11
 
11
12
  export async function setupL2Contracts(nodeUrl: string, testAccounts: boolean, json: boolean, log: LogFn) {
12
13
  const waitOpts: WaitOpts = {
@@ -16,7 +17,7 @@ export async function setupL2Contracts(nodeUrl: string, testAccounts: boolean, j
16
17
  log('setupL2Contracts: Wait options' + jsonStringify(waitOpts));
17
18
  log('setupL2Contracts: Creating PXE client...');
18
19
  const node = createAztecNodeClient(nodeUrl);
19
- const wallet = await TestWallet.create(node);
20
+ const wallet = await EmbeddedWallet.create(node);
20
21
 
21
22
  let deployedAccountManagers: AccountManager[] = [];
22
23
  if (testAccounts) {
@@ -0,0 +1,29 @@
1
+ import { getInitialTestAccountsData } from '@aztec/accounts/testing';
2
+ import type { LogFn } from '@aztec/foundation/log';
3
+ import { protocolContractsHash } from '@aztec/protocol-contracts';
4
+ import { getGenesisValues } from '@aztec/world-state/testing';
5
+
6
+ import { getSponsoredFPCAddress } from '../../utils/setup_contracts.js';
7
+
8
+ /** Computes and prints genesis values needed for L1 contract deployment. */
9
+ export async function computeGenesisValuesCmd(testAccounts: boolean, sponsoredFPC: boolean, log: LogFn) {
10
+ const initialAccounts = testAccounts ? await getInitialTestAccountsData() : [];
11
+ const sponsoredFPCAddresses = sponsoredFPC ? await getSponsoredFPCAddress() : [];
12
+ const initialFundedAccounts = initialAccounts.map(a => a.address).concat(sponsoredFPCAddresses);
13
+ const { genesisArchiveRoot } = await getGenesisValues(initialFundedAccounts);
14
+
15
+ const { getVKTreeRoot } = await import('@aztec/noir-protocol-circuits-types/vk-tree');
16
+ const vkTreeRoot = getVKTreeRoot();
17
+
18
+ log(
19
+ JSON.stringify(
20
+ {
21
+ vkTreeRoot: vkTreeRoot.toString(),
22
+ protocolContractsHash: protocolContractsHash.toString(),
23
+ genesisArchiveRoot: genesisArchiveRoot.toString(),
24
+ },
25
+ null,
26
+ 2,
27
+ ),
28
+ );
29
+ }
@@ -106,6 +106,24 @@ export function injectCommands(program: Command, log: LogFn, debugLogger: Logger
106
106
  );
107
107
  });
108
108
 
109
+ program
110
+ .command('compute-genesis-values')
111
+ .description('Computes genesis values (VK tree root, protocol contracts hash, genesis archive root).')
112
+ .addOption(
113
+ new Option('--test-accounts <boolean>', 'Include initial test accounts in genesis state')
114
+ .env('TEST_ACCOUNTS')
115
+ .argParser(arg => arg === 'true'),
116
+ )
117
+ .addOption(
118
+ new Option('--sponsored-fpc <boolean>', 'Include sponsored FPC contract in genesis state')
119
+ .env('SPONSORED_FPC')
120
+ .argParser(arg => arg === 'true'),
121
+ )
122
+ .action(async options => {
123
+ const { computeGenesisValuesCmd } = await import('./compute_genesis_values.js');
124
+ await computeGenesisValuesCmd(options.testAccounts, options.sponsoredFpc, log);
125
+ });
126
+
109
127
  program
110
128
  .command('deposit-governance-tokens')
111
129
  .description('Deposits governance tokens to the governance contract.')
@@ -2,7 +2,7 @@ import { createEthereumChain, isAnvilTestChain } from '@aztec/ethereum/chain';
2
2
  import { createExtendedL1Client, getPublicClient } from '@aztec/ethereum/client';
3
3
  import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
4
4
  import { GSEContract, RollupContract } from '@aztec/ethereum/contracts';
5
- import { createL1TxUtilsFromViemWallet } from '@aztec/ethereum/l1-tx-utils';
5
+ import { createL1TxUtils } from '@aztec/ethereum/l1-tx-utils';
6
6
  import { EthCheatCodes } from '@aztec/ethereum/test';
7
7
  import type { EthAddress } from '@aztec/foundation/eth-address';
8
8
  import type { LogFn, Logger } from '@aztec/foundation/log';
@@ -88,7 +88,7 @@ export async function addL1Validator({
88
88
  const gse = new GSEContract(l1Client, gseAddress);
89
89
  const registrationTuple = await gse.makeRegistrationTuple(blsSecretKey);
90
90
 
91
- const l1TxUtils = createL1TxUtilsFromViemWallet(l1Client, { logger: debugLogger });
91
+ const l1TxUtils = createL1TxUtils(l1Client, { logger: debugLogger });
92
92
  const proofParamsObj = ZkPassportProofParams.fromBuffer(proofParams);
93
93
 
94
94
  // Step 1: Claim STK tokens from the faucet
@@ -194,7 +194,7 @@ export async function addL1ValidatorViaRollup({
194
194
 
195
195
  const registrationTuple = await gse.makeRegistrationTuple(blsSecretKey);
196
196
 
197
- const l1TxUtils = createL1TxUtilsFromViemWallet(l1Client, { logger: debugLogger });
197
+ const l1TxUtils = createL1TxUtils(l1Client, { logger: debugLogger });
198
198
 
199
199
  const { receipt } = await l1TxUtils.sendAndMonitorTransaction({
200
200
  to: rollupAddress.toString(),
@@ -241,7 +241,7 @@ export async function removeL1Validator({
241
241
  const account = getAccount(privateKey, mnemonic);
242
242
  const chain = createEthereumChain(rpcUrls, chainId);
243
243
  const l1Client = createExtendedL1Client(rpcUrls, account, chain.chainInfo);
244
- const l1TxUtils = createL1TxUtilsFromViemWallet(l1Client, { logger: debugLogger });
244
+ const l1TxUtils = createL1TxUtils(l1Client, { logger: debugLogger });
245
245
 
246
246
  dualLog(`Removing validator ${validatorAddress.toString()} from rollup ${rollupAddress.toString()}`);
247
247
  const { receipt } = await l1TxUtils.sendAndMonitorTransaction({
@@ -268,7 +268,7 @@ export async function pruneRollup({
268
268
  const account = getAccount(privateKey, mnemonic);
269
269
  const chain = createEthereumChain(rpcUrls, chainId);
270
270
  const l1Client = createExtendedL1Client(rpcUrls, account, chain.chainInfo);
271
- const l1TxUtils = createL1TxUtilsFromViemWallet(l1Client, { logger: debugLogger });
271
+ const l1TxUtils = createL1TxUtils(l1Client, { logger: debugLogger });
272
272
 
273
273
  dualLog(`Trying prune`);
274
274
  const { receipt } = await l1TxUtils.sendAndMonitorTransaction({
@@ -45,7 +45,9 @@ export function enrichEnvironmentWithChainName(networkName: NetworkNames) {
45
45
  }
46
46
 
47
47
  // Apply generated network config from defaults.yml
48
- const generatedConfig = NetworkConfigs[networkName];
48
+ // For devnet iterations (v4-devnet-1, etc.), use the base devnet config
49
+ const configKey = /^v\d+-devnet-\d+$/.test(networkName) ? 'devnet' : networkName;
50
+ const generatedConfig = NetworkConfigs[configKey];
49
51
  if (generatedConfig) {
50
52
  enrichEnvironmentWithNetworkConfig(generatedConfig);
51
53
  }
@@ -3,7 +3,7 @@
3
3
 
4
4
  export const devnetConfig = {
5
5
  ETHEREUM_SLOT_DURATION: 12,
6
- AZTEC_SLOT_DURATION: 36,
6
+ AZTEC_SLOT_DURATION: 72,
7
7
  AZTEC_TARGET_COMMITTEE_SIZE: 48,
8
8
  AZTEC_ACTIVATION_THRESHOLD: 100000000000000000000,
9
9
  AZTEC_EJECTION_THRESHOLD: 50000000000000000000,
@@ -33,6 +33,8 @@ export const devnetConfig = {
33
33
  BOOTSTRAP_NODES: '',
34
34
  SEQ_MIN_TX_PER_BLOCK: 0,
35
35
  SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
36
+ SEQ_BLOCK_DURATION_MS: 6000,
37
+ SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
36
38
  DATA_STORE_MAP_SIZE_KB: 134217728,
37
39
  ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
38
40
  NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
@@ -48,7 +50,7 @@ export const devnetConfig = {
48
50
  TEST_ACCOUNTS: true,
49
51
  SPONSORED_FPC: true,
50
52
  TRANSACTIONS_DISABLED: false,
51
- SEQ_MAX_TX_PER_BLOCK: 32,
53
+ SEQ_MAX_TX_PER_BLOCK: 18,
52
54
  PROVER_REAL_PROOFS: false,
53
55
  PXE_PROVER_ENABLED: false,
54
56
  SYNC_SNAPSHOTS_URLS: '',
@@ -67,6 +69,8 @@ export const devnetConfig = {
67
69
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
68
70
  SLASH_INACTIVITY_PENALTY: 10000000000000000000,
69
71
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
72
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
73
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
70
74
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
71
75
  SLASH_UNKNOWN_PENALTY: 10000000000000000000,
72
76
  SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
@@ -82,16 +86,12 @@ export const testnetConfig = {
82
86
  AZTEC_EXIT_DELAY_SECONDS: 172800,
83
87
  AZTEC_INBOX_LAG: 1,
84
88
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
85
- AZTEC_PROVING_COST_PER_MANA: 100,
86
89
  AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
87
90
  AZTEC_SLASHER_FLAVOR: 'tally',
88
91
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
89
92
  AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
90
93
  AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
91
94
  AZTEC_SLASHING_DISABLE_DURATION: 432000,
92
- AZTEC_SLASH_AMOUNT_SMALL: 10000000000000000000,
93
- AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000,
94
- AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000,
95
95
  SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
96
96
  SLASH_MAX_PENALTY_PERCENTAGE: 2,
97
97
  SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
@@ -101,6 +101,8 @@ export const testnetConfig = {
101
101
  BOOTSTRAP_NODES: '',
102
102
  SEQ_MIN_TX_PER_BLOCK: 0,
103
103
  SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
104
+ SEQ_BLOCK_DURATION_MS: 6000,
105
+ SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
104
106
  DATA_STORE_MAP_SIZE_KB: 134217728,
105
107
  ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
106
108
  NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
@@ -117,12 +119,16 @@ export const testnetConfig = {
117
119
  AZTEC_SLASHING_QUORUM: 33,
118
120
  AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 100,
119
121
  AZTEC_GOVERNANCE_PROPOSER_QUORUM: 60,
120
- AZTEC_MANA_TARGET: 150000000,
122
+ AZTEC_MANA_TARGET: 75000000,
123
+ AZTEC_PROVING_COST_PER_MANA: 25000000,
124
+ AZTEC_SLASH_AMOUNT_SMALL: 1E+23,
125
+ AZTEC_SLASH_AMOUNT_MEDIUM: 1E+23,
126
+ AZTEC_SLASH_AMOUNT_LARGE: 1E+23,
121
127
  L1_CHAIN_ID: 11155111,
122
128
  TEST_ACCOUNTS: false,
123
129
  SPONSORED_FPC: true,
124
130
  TRANSACTIONS_DISABLED: false,
125
- SEQ_MAX_TX_PER_BLOCK: 8,
131
+ SEQ_MAX_TX_PER_BLOCK: 2,
126
132
  PROVER_REAL_PROOFS: true,
127
133
  P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true,
128
134
  SLASH_PRUNE_PENALTY: 10000000000000000000,
@@ -131,6 +137,8 @@ export const testnetConfig = {
131
137
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
132
138
  SLASH_INACTIVITY_PENALTY: 10000000000000000000,
133
139
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
140
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
141
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
134
142
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
135
143
  SLASH_UNKNOWN_PENALTY: 10000000000000000000,
136
144
  SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
@@ -140,6 +148,7 @@ export const testnetConfig = {
140
148
  export const mainnetConfig = {
141
149
  ETHEREUM_SLOT_DURATION: 12,
142
150
  AZTEC_EPOCH_DURATION: 32,
151
+ AZTEC_TARGET_COMMITTEE_SIZE: 48,
143
152
  AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
144
153
  AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
145
154
  AZTEC_INBOX_LAG: 1,
@@ -157,6 +166,8 @@ export const mainnetConfig = {
157
166
  BOOTSTRAP_NODES: '',
158
167
  SEQ_MIN_TX_PER_BLOCK: 0,
159
168
  SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
169
+ SEQ_BLOCK_DURATION_MS: 6000,
170
+ SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
160
171
  DATA_STORE_MAP_SIZE_KB: 134217728,
161
172
  ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
162
173
  NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
@@ -165,10 +176,9 @@ export const mainnetConfig = {
165
176
  PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
166
177
  SENTINEL_ENABLED: true,
167
178
  AZTEC_SLOT_DURATION: 72,
168
- AZTEC_TARGET_COMMITTEE_SIZE: 24,
169
179
  AZTEC_ACTIVATION_THRESHOLD: 2E+23,
170
180
  AZTEC_EJECTION_THRESHOLD: 1E+23,
171
- AZTEC_LOCAL_EJECTION_THRESHOLD: 1.96E+23,
181
+ AZTEC_LOCAL_EJECTION_THRESHOLD: 1.62E+23,
172
182
  AZTEC_SLASH_AMOUNT_SMALL: 2E+21,
173
183
  AZTEC_SLASH_AMOUNT_MEDIUM: 2E+21,
174
184
  AZTEC_SLASH_AMOUNT_LARGE: 2E+21,
@@ -178,10 +188,15 @@ export const mainnetConfig = {
178
188
  AZTEC_SLASHING_QUORUM: 65,
179
189
  AZTEC_GOVERNANCE_PROPOSER_QUORUM: 600,
180
190
  AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 1000,
181
- AZTEC_MANA_TARGET: 0,
182
- AZTEC_PROVING_COST_PER_MANA: 0,
191
+ AZTEC_MANA_TARGET: 75000000,
192
+ AZTEC_PROVING_COST_PER_MANA: 25000000,
183
193
  AZTEC_EXIT_DELAY_SECONDS: 345600,
184
194
  AZTEC_SLASHING_DISABLE_DURATION: 259200,
195
+ AZTEC_ENTRY_QUEUE_BOOTSTRAP_VALIDATOR_SET_SIZE: 500,
196
+ AZTEC_ENTRY_QUEUE_BOOTSTRAP_FLUSH_SIZE: 500,
197
+ AZTEC_ENTRY_QUEUE_FLUSH_SIZE_MIN: 1,
198
+ AZTEC_ENTRY_QUEUE_FLUSH_SIZE_QUOTIENT: 400,
199
+ AZTEC_ENTRY_QUEUE_MAX_FLUSH_SIZE: 4,
185
200
  L1_CHAIN_ID: 1,
186
201
  TEST_ACCOUNTS: false,
187
202
  SPONSORED_FPC: false,
@@ -202,6 +217,8 @@ export const mainnetConfig = {
202
217
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2,
203
218
  SLASH_INACTIVITY_PENALTY: 2E+21,
204
219
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 2E+21,
220
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 2E+21,
221
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 2E+21,
205
222
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 2E+21,
206
223
  SLASH_UNKNOWN_PENALTY: 2E+21,
207
224
  SLASH_INVALID_BLOCK_PENALTY: 2E+21,