@aztec/cli 0.0.1-commit.f295ac2 → 0.0.1-commit.f504929

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 (35) hide show
  1. package/dest/cmds/infrastructure/setup_l2_contract.d.ts +1 -1
  2. package/dest/cmds/infrastructure/setup_l2_contract.d.ts.map +1 -1
  3. package/dest/cmds/infrastructure/setup_l2_contract.js +4 -3
  4. package/dest/cmds/l1/assume_proven_through.d.ts +3 -2
  5. package/dest/cmds/l1/assume_proven_through.d.ts.map +1 -1
  6. package/dest/cmds/l1/assume_proven_through.js +3 -5
  7. package/dest/cmds/l1/compute_genesis_values.d.ts +4 -0
  8. package/dest/cmds/l1/compute_genesis_values.d.ts.map +1 -0
  9. package/dest/cmds/l1/compute_genesis_values.js +17 -0
  10. package/dest/cmds/l1/index.d.ts +1 -1
  11. package/dest/cmds/l1/index.d.ts.map +1 -1
  12. package/dest/cmds/l1/index.js +7 -2
  13. package/dest/cmds/l1/update_l1_validators.js +5 -5
  14. package/dest/config/chain_l2_config.d.ts +1 -1
  15. package/dest/config/chain_l2_config.d.ts.map +1 -1
  16. package/dest/config/chain_l2_config.js +3 -1
  17. package/dest/config/generated/networks.d.ts +36 -16
  18. package/dest/config/generated/networks.d.ts.map +1 -1
  19. package/dest/config/generated/networks.js +35 -15
  20. package/dest/config/network_config.d.ts +1 -1
  21. package/dest/config/network_config.d.ts.map +1 -1
  22. package/dest/config/network_config.js +3 -0
  23. package/dest/utils/inspect.d.ts +1 -1
  24. package/dest/utils/inspect.d.ts.map +1 -1
  25. package/dest/utils/inspect.js +4 -1
  26. package/package.json +30 -30
  27. package/src/cmds/infrastructure/setup_l2_contract.ts +5 -4
  28. package/src/cmds/l1/assume_proven_through.ts +4 -7
  29. package/src/cmds/l1/compute_genesis_values.ts +29 -0
  30. package/src/cmds/l1/index.ts +23 -4
  31. package/src/cmds/l1/update_l1_validators.ts +5 -5
  32. package/src/config/chain_l2_config.ts +3 -1
  33. package/src/config/generated/networks.ts +35 -15
  34. package/src/config/network_config.ts +3 -0
  35. package/src/utils/inspect.ts +4 -1
@@ -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,12 +12,12 @@ 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...');
18
19
  const initialAccountsData = await getInitialTestAccountsData();
19
- deployedAccountManagers = await deployFundedSchnorrAccounts(wallet, node, initialAccountsData, waitOpts);
20
+ deployedAccountManagers = await deployFundedSchnorrAccounts(wallet, initialAccountsData, waitOpts);
20
21
  }
21
22
  if (json) {
22
23
  const toPrint = {
@@ -1,3 +1,4 @@
1
+ import { CheckpointNumber } from '@aztec/foundation/branded-types';
1
2
  import type { LogFn } from '@aztec/foundation/log';
2
- export declare function assumeProvenThrough(blockNumberOrLatest: number | undefined, l1RpcUrls: string[], nodeUrl: string, log: LogFn): Promise<void>;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzdW1lX3Byb3Zlbl90aHJvdWdoLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY21kcy9sMS9hc3N1bWVfcHJvdmVuX3Rocm91Z2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHbkQsd0JBQXNCLG1CQUFtQixDQUN2QyxtQkFBbUIsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUN2QyxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQ25CLE9BQU8sRUFBRSxNQUFNLEVBQ2YsR0FBRyxFQUFFLEtBQUssaUJBWVgifQ==
3
+ export declare function assumeProvenThrough(checkpointOrLatest: CheckpointNumber | undefined, l1RpcUrls: string[], nodeUrl: string, log: LogFn): Promise<void>;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzdW1lX3Byb3Zlbl90aHJvdWdoLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY21kcy9sMS9hc3N1bWVfcHJvdmVuX3Rocm91Z2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHbkQsd0JBQXNCLG1CQUFtQixDQUN2QyxrQkFBa0IsRUFBRSxnQkFBZ0IsR0FBRyxTQUFTLEVBQ2hELFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsT0FBTyxFQUFFLE1BQU0sRUFDZixHQUFHLEVBQUUsS0FBSyxpQkFTWCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"assume_proven_through.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/assume_proven_through.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,wBAAsB,mBAAmB,CACvC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,KAAK,iBAYX"}
1
+ {"version":3,"file":"assume_proven_through.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/assume_proven_through.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,wBAAsB,mBAAmB,CACvC,kBAAkB,EAAE,gBAAgB,GAAG,SAAS,EAChD,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,KAAK,iBASX"}
@@ -1,14 +1,12 @@
1
1
  import { createAztecNodeClient } from '@aztec/aztec.js/node';
2
2
  import { RollupCheatCodes } from '@aztec/ethereum/test';
3
- import { BlockNumber } from '@aztec/foundation/branded-types';
4
3
  import { DateProvider } from '@aztec/foundation/timer';
5
- export async function assumeProvenThrough(blockNumberOrLatest, l1RpcUrls, nodeUrl, log) {
4
+ export async function assumeProvenThrough(checkpointOrLatest, l1RpcUrls, nodeUrl, log) {
6
5
  const aztecNode = createAztecNodeClient(nodeUrl);
7
6
  const rollupAddress = await aztecNode.getNodeInfo().then((i)=>i.l1ContractAddresses.rollupAddress);
8
- const blockNumber = blockNumberOrLatest ? BlockNumber(blockNumberOrLatest) : await aztecNode.getBlockNumber();
9
7
  const rollupCheatCodes = RollupCheatCodes.create(l1RpcUrls, {
10
8
  rollupAddress
11
9
  }, new DateProvider());
12
- await rollupCheatCodes.markAsProven(blockNumber);
13
- log(`Assumed proven through block ${blockNumber}`);
10
+ await rollupCheatCodes.markAsProven(checkpointOrLatest);
11
+ log(`Assumed proven through checkpoint ${checkpointOrLatest ?? 'latest'}`);
14
12
  }
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQVUsTUFBTSxXQUFXLENBQUM7QUF3QmpELHdCQUFnQixjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBNmUvRSJ9
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":"AACA,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"}
@@ -1,3 +1,4 @@
1
+ import { CheckpointNumber } from '@aztec/foundation/branded-types';
1
2
  import { EthAddress } from '@aztec/foundation/eth-address';
2
3
  import { Option } from 'commander';
3
4
  import { ETHEREUM_HOSTS, MNEMONIC, PRIVATE_KEY, l1ChainIdOption, nodeOption, parseAztecAddress, parseBigint, parseEthereumAddress } from '../../utils/commands.js';
@@ -16,6 +17,10 @@ export function injectCommands(program, log, debugLogger) {
16
17
  const initialValidators = options.validators?.split(',').map((validator)=>EthAddress.fromString(validator)) || [];
17
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);
18
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
+ });
19
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)=>{
20
25
  const { depositGovernanceTokens } = await import('./governance_utils.js');
21
26
  await depositGovernanceTokens({
@@ -188,9 +193,9 @@ export function injectCommands(program, log, debugLogger) {
188
193
  });
189
194
  program.command('set-proven-through', {
190
195
  hidden: true
191
- }).description('Instructs the L1 rollup contract to assume all blocks until the given number are automatically proven.').argument('[blockNumber]', 'The target block number, defaults to the latest pending block number.', parseBigint).addOption(l1RpcUrlsOption).addOption(nodeOption).action(async (blockNumber, options)=>{
196
+ }).description('Instructs the L1 rollup contract to assume all blocks until the given checkpoint are automatically proven.').argument('[checkpoint]', 'The target checkpoint, defaults to the latest pending checkpoint.', parseBigint).addOption(l1RpcUrlsOption).addOption(nodeOption).action(async (checkpoint, options)=>{
192
197
  const { assumeProvenThrough } = await import('./assume_proven_through.js');
193
- await assumeProvenThrough(blockNumber, options.l1RpcUrls, options.nodeUrl, log);
198
+ await assumeProvenThrough(CheckpointNumber.fromBigInt(checkpoint), options.l1RpcUrls, options.nodeUrl, log);
194
199
  });
195
200
  program.command('advance-epoch').description('Use L1 cheat codes to warp time until the next epoch.').addOption(l1RpcUrlsOption).addOption(nodeOption).action(async (options)=>{
196
201
  const { advanceEpoch } = await import('./advance_epoch.js');
@@ -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;
@@ -10,6 +10,7 @@ export declare const devnetConfig: {
10
10
  readonly AZTEC_PROOF_SUBMISSION_EPOCHS: 1;
11
11
  readonly AZTEC_MANA_TARGET: 100000000;
12
12
  readonly AZTEC_PROVING_COST_PER_MANA: 100;
13
+ readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000;
13
14
  readonly AZTEC_SLASHER_FLAVOR: "tally";
14
15
  readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4;
15
16
  readonly AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5;
@@ -23,12 +24,14 @@ export declare const devnetConfig: {
23
24
  readonly SLASH_MIN_PENALTY_PERCENTAGE: 0.5;
24
25
  readonly SLASH_MAX_PENALTY_PERCENTAGE: 2;
25
26
  readonly SLASH_OFFENSE_EXPIRATION_ROUNDS: 4;
26
- readonly SLASH_MAX_PAYLOAD_SIZE: 50;
27
+ readonly SLASH_MAX_PAYLOAD_SIZE: 80;
27
28
  readonly SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4;
28
29
  readonly P2P_ENABLED: true;
29
30
  readonly BOOTSTRAP_NODES: "";
30
31
  readonly SEQ_MIN_TX_PER_BLOCK: 0;
31
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;
32
35
  readonly DATA_STORE_MAP_SIZE_KB: 134217728;
33
36
  readonly ARCHIVER_STORE_MAP_SIZE_KB: 1073741824;
34
37
  readonly NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824;
@@ -44,7 +47,7 @@ export declare const devnetConfig: {
44
47
  readonly TEST_ACCOUNTS: true;
45
48
  readonly SPONSORED_FPC: true;
46
49
  readonly TRANSACTIONS_DISABLED: false;
47
- readonly SEQ_MAX_TX_PER_BLOCK: 32;
50
+ readonly SEQ_MAX_TX_PER_BLOCK: 18;
48
51
  readonly PROVER_REAL_PROOFS: false;
49
52
  readonly PXE_PROVER_ENABLED: false;
50
53
  readonly SYNC_SNAPSHOTS_URLS: "";
@@ -63,6 +66,8 @@ export declare const devnetConfig: {
63
66
  readonly SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1;
64
67
  readonly SLASH_INACTIVITY_PENALTY: 10000000000000000000;
65
68
  readonly SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000;
69
+ readonly SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000;
70
+ readonly SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000;
66
71
  readonly SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000;
67
72
  readonly SLASH_UNKNOWN_PENALTY: 10000000000000000000;
68
73
  readonly SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000;
@@ -77,24 +82,23 @@ export declare const testnetConfig: {
77
82
  readonly AZTEC_EXIT_DELAY_SECONDS: 172800;
78
83
  readonly AZTEC_INBOX_LAG: 1;
79
84
  readonly AZTEC_PROOF_SUBMISSION_EPOCHS: 1;
80
- readonly AZTEC_PROVING_COST_PER_MANA: 100;
85
+ readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000;
81
86
  readonly AZTEC_SLASHER_FLAVOR: "tally";
82
87
  readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4;
83
88
  readonly AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5;
84
89
  readonly AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2;
85
90
  readonly AZTEC_SLASHING_DISABLE_DURATION: 432000;
86
- readonly AZTEC_SLASH_AMOUNT_SMALL: 10000000000000000000;
87
- readonly AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000;
88
- readonly AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000;
89
91
  readonly SLASH_MIN_PENALTY_PERCENTAGE: 0.5;
90
92
  readonly SLASH_MAX_PENALTY_PERCENTAGE: 2;
91
93
  readonly SLASH_OFFENSE_EXPIRATION_ROUNDS: 4;
92
- readonly SLASH_MAX_PAYLOAD_SIZE: 50;
94
+ readonly SLASH_MAX_PAYLOAD_SIZE: 80;
93
95
  readonly SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4;
94
96
  readonly P2P_ENABLED: true;
95
97
  readonly BOOTSTRAP_NODES: "";
96
98
  readonly SEQ_MIN_TX_PER_BLOCK: 0;
97
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;
98
102
  readonly DATA_STORE_MAP_SIZE_KB: 134217728;
99
103
  readonly ARCHIVER_STORE_MAP_SIZE_KB: 1073741824;
100
104
  readonly NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824;
@@ -111,12 +115,16 @@ export declare const testnetConfig: {
111
115
  readonly AZTEC_SLASHING_QUORUM: 33;
112
116
  readonly AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 100;
113
117
  readonly AZTEC_GOVERNANCE_PROPOSER_QUORUM: 60;
114
- 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;
115
123
  readonly L1_CHAIN_ID: 11155111;
116
124
  readonly TEST_ACCOUNTS: false;
117
125
  readonly SPONSORED_FPC: true;
118
126
  readonly TRANSACTIONS_DISABLED: false;
119
- readonly SEQ_MAX_TX_PER_BLOCK: 8;
127
+ readonly SEQ_MAX_TX_PER_BLOCK: 2;
120
128
  readonly PROVER_REAL_PROOFS: true;
121
129
  readonly P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true;
122
130
  readonly SLASH_PRUNE_PENALTY: 10000000000000000000;
@@ -125,6 +133,8 @@ export declare const testnetConfig: {
125
133
  readonly SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1;
126
134
  readonly SLASH_INACTIVITY_PENALTY: 10000000000000000000;
127
135
  readonly SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000;
136
+ readonly SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000;
137
+ readonly SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000;
128
138
  readonly SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000;
129
139
  readonly SLASH_UNKNOWN_PENALTY: 10000000000000000000;
130
140
  readonly SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000;
@@ -133,22 +143,26 @@ export declare const testnetConfig: {
133
143
  export declare const mainnetConfig: {
134
144
  readonly ETHEREUM_SLOT_DURATION: 12;
135
145
  readonly AZTEC_EPOCH_DURATION: 32;
146
+ readonly AZTEC_TARGET_COMMITTEE_SIZE: 48;
136
147
  readonly AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2;
137
148
  readonly AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2;
138
149
  readonly AZTEC_INBOX_LAG: 1;
139
150
  readonly AZTEC_PROOF_SUBMISSION_EPOCHS: 1;
151
+ readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000;
140
152
  readonly AZTEC_SLASHER_FLAVOR: "tally";
141
153
  readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4;
142
154
  readonly AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2;
143
155
  readonly SLASH_MIN_PENALTY_PERCENTAGE: 0.5;
144
156
  readonly SLASH_MAX_PENALTY_PERCENTAGE: 2;
145
157
  readonly SLASH_OFFENSE_EXPIRATION_ROUNDS: 4;
146
- readonly SLASH_MAX_PAYLOAD_SIZE: 50;
158
+ readonly SLASH_MAX_PAYLOAD_SIZE: 80;
147
159
  readonly SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4;
148
160
  readonly P2P_ENABLED: true;
149
161
  readonly BOOTSTRAP_NODES: "";
150
162
  readonly SEQ_MIN_TX_PER_BLOCK: 0;
151
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;
152
166
  readonly DATA_STORE_MAP_SIZE_KB: 134217728;
153
167
  readonly ARCHIVER_STORE_MAP_SIZE_KB: 1073741824;
154
168
  readonly NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824;
@@ -157,10 +171,9 @@ export declare const mainnetConfig: {
157
171
  readonly PUBLIC_OTEL_INCLUDE_METRICS: "aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_";
158
172
  readonly SENTINEL_ENABLED: true;
159
173
  readonly AZTEC_SLOT_DURATION: 72;
160
- readonly AZTEC_TARGET_COMMITTEE_SIZE: 24;
161
174
  readonly AZTEC_ACTIVATION_THRESHOLD: 2e+23;
162
175
  readonly AZTEC_EJECTION_THRESHOLD: 1e+23;
163
- readonly AZTEC_LOCAL_EJECTION_THRESHOLD: 1.96e+23;
176
+ readonly AZTEC_LOCAL_EJECTION_THRESHOLD: 1.9e+23;
164
177
  readonly AZTEC_SLASH_AMOUNT_SMALL: 2e+21;
165
178
  readonly AZTEC_SLASH_AMOUNT_MEDIUM: 2e+21;
166
179
  readonly AZTEC_SLASH_AMOUNT_LARGE: 2e+21;
@@ -170,10 +183,15 @@ export declare const mainnetConfig: {
170
183
  readonly AZTEC_SLASHING_QUORUM: 65;
171
184
  readonly AZTEC_GOVERNANCE_PROPOSER_QUORUM: 600;
172
185
  readonly AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 1000;
173
- readonly AZTEC_MANA_TARGET: 0;
174
- readonly AZTEC_PROVING_COST_PER_MANA: 0;
186
+ readonly AZTEC_MANA_TARGET: 75000000;
187
+ readonly AZTEC_PROVING_COST_PER_MANA: 25000000;
175
188
  readonly AZTEC_EXIT_DELAY_SECONDS: 345600;
176
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;
177
195
  readonly L1_CHAIN_ID: 1;
178
196
  readonly TEST_ACCOUNTS: false;
179
197
  readonly SPONSORED_FPC: false;
@@ -194,9 +212,11 @@ export declare const mainnetConfig: {
194
212
  readonly SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2;
195
213
  readonly SLASH_INACTIVITY_PENALTY: 2e+21;
196
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;
197
217
  readonly SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 2e+21;
198
218
  readonly SLASH_UNKNOWN_PENALTY: 2e+21;
199
219
  readonly SLASH_INVALID_BLOCK_PENALTY: 2e+21;
200
220
  readonly SLASH_GRACE_PERIOD_L2_SLOTS: 1200;
201
221
  };
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvZ2VuZXJhdGVkL25ldHdvcmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLGVBQU8sTUFBTSxZQUFZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FxRWYsQ0FBQztBQUVYLGVBQU8sTUFBTSxhQUFhOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNkRoQixDQUFDO0FBRVgsZUFBTyxNQUFNLGFBQWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBb0VoQixDQUFDIn0=
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEf,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DhB,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEhB,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,
@@ -12,6 +12,7 @@ export const devnetConfig = {
12
12
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
13
13
  AZTEC_MANA_TARGET: 100000000,
14
14
  AZTEC_PROVING_COST_PER_MANA: 100,
15
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
15
16
  AZTEC_SLASHER_FLAVOR: 'tally',
16
17
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
17
18
  AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
@@ -25,12 +26,14 @@ export const devnetConfig = {
25
26
  SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
26
27
  SLASH_MAX_PENALTY_PERCENTAGE: 2,
27
28
  SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
28
- SLASH_MAX_PAYLOAD_SIZE: 50,
29
+ SLASH_MAX_PAYLOAD_SIZE: 80,
29
30
  SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
30
31
  P2P_ENABLED: true,
31
32
  BOOTSTRAP_NODES: '',
32
33
  SEQ_MIN_TX_PER_BLOCK: 0,
33
34
  SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
35
+ SEQ_BLOCK_DURATION_MS: 6000,
36
+ SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
34
37
  DATA_STORE_MAP_SIZE_KB: 134217728,
35
38
  ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
36
39
  NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
@@ -46,7 +49,7 @@ export const devnetConfig = {
46
49
  TEST_ACCOUNTS: true,
47
50
  SPONSORED_FPC: true,
48
51
  TRANSACTIONS_DISABLED: false,
49
- SEQ_MAX_TX_PER_BLOCK: 32,
52
+ SEQ_MAX_TX_PER_BLOCK: 18,
50
53
  PROVER_REAL_PROOFS: false,
51
54
  PXE_PROVER_ENABLED: false,
52
55
  SYNC_SNAPSHOTS_URLS: '',
@@ -65,6 +68,8 @@ export const devnetConfig = {
65
68
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
66
69
  SLASH_INACTIVITY_PENALTY: 10000000000000000000,
67
70
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
71
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
72
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
68
73
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
69
74
  SLASH_UNKNOWN_PENALTY: 10000000000000000000,
70
75
  SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
@@ -79,24 +84,23 @@ export const testnetConfig = {
79
84
  AZTEC_EXIT_DELAY_SECONDS: 172800,
80
85
  AZTEC_INBOX_LAG: 1,
81
86
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
82
- AZTEC_PROVING_COST_PER_MANA: 100,
87
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
83
88
  AZTEC_SLASHER_FLAVOR: 'tally',
84
89
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
85
90
  AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
86
91
  AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
87
92
  AZTEC_SLASHING_DISABLE_DURATION: 432000,
88
- AZTEC_SLASH_AMOUNT_SMALL: 10000000000000000000,
89
- AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000,
90
- AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000,
91
93
  SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
92
94
  SLASH_MAX_PENALTY_PERCENTAGE: 2,
93
95
  SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
94
- SLASH_MAX_PAYLOAD_SIZE: 50,
96
+ SLASH_MAX_PAYLOAD_SIZE: 80,
95
97
  SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
96
98
  P2P_ENABLED: true,
97
99
  BOOTSTRAP_NODES: '',
98
100
  SEQ_MIN_TX_PER_BLOCK: 0,
99
101
  SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
102
+ SEQ_BLOCK_DURATION_MS: 6000,
103
+ SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
100
104
  DATA_STORE_MAP_SIZE_KB: 134217728,
101
105
  ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
102
106
  NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
@@ -113,12 +117,16 @@ export const testnetConfig = {
113
117
  AZTEC_SLASHING_QUORUM: 33,
114
118
  AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 100,
115
119
  AZTEC_GOVERNANCE_PROPOSER_QUORUM: 60,
116
- 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,
117
125
  L1_CHAIN_ID: 11155111,
118
126
  TEST_ACCOUNTS: false,
119
127
  SPONSORED_FPC: true,
120
128
  TRANSACTIONS_DISABLED: false,
121
- SEQ_MAX_TX_PER_BLOCK: 8,
129
+ SEQ_MAX_TX_PER_BLOCK: 2,
122
130
  PROVER_REAL_PROOFS: true,
123
131
  P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true,
124
132
  SLASH_PRUNE_PENALTY: 10000000000000000000,
@@ -127,6 +135,8 @@ export const testnetConfig = {
127
135
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
128
136
  SLASH_INACTIVITY_PENALTY: 10000000000000000000,
129
137
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
138
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
139
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
130
140
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
131
141
  SLASH_UNKNOWN_PENALTY: 10000000000000000000,
132
142
  SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
@@ -135,22 +145,26 @@ export const testnetConfig = {
135
145
  export const mainnetConfig = {
136
146
  ETHEREUM_SLOT_DURATION: 12,
137
147
  AZTEC_EPOCH_DURATION: 32,
148
+ AZTEC_TARGET_COMMITTEE_SIZE: 48,
138
149
  AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
139
150
  AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
140
151
  AZTEC_INBOX_LAG: 1,
141
152
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
153
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
142
154
  AZTEC_SLASHER_FLAVOR: 'tally',
143
155
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
144
156
  AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
145
157
  SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
146
158
  SLASH_MAX_PENALTY_PERCENTAGE: 2,
147
159
  SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
148
- SLASH_MAX_PAYLOAD_SIZE: 50,
160
+ SLASH_MAX_PAYLOAD_SIZE: 80,
149
161
  SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
150
162
  P2P_ENABLED: true,
151
163
  BOOTSTRAP_NODES: '',
152
164
  SEQ_MIN_TX_PER_BLOCK: 0,
153
165
  SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
166
+ SEQ_BLOCK_DURATION_MS: 6000,
167
+ SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
154
168
  DATA_STORE_MAP_SIZE_KB: 134217728,
155
169
  ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
156
170
  NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
@@ -159,10 +173,9 @@ export const mainnetConfig = {
159
173
  PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
160
174
  SENTINEL_ENABLED: true,
161
175
  AZTEC_SLOT_DURATION: 72,
162
- AZTEC_TARGET_COMMITTEE_SIZE: 24,
163
176
  AZTEC_ACTIVATION_THRESHOLD: 2E+23,
164
177
  AZTEC_EJECTION_THRESHOLD: 1E+23,
165
- AZTEC_LOCAL_EJECTION_THRESHOLD: 1.96E+23,
178
+ AZTEC_LOCAL_EJECTION_THRESHOLD: 1.9E+23,
166
179
  AZTEC_SLASH_AMOUNT_SMALL: 2E+21,
167
180
  AZTEC_SLASH_AMOUNT_MEDIUM: 2E+21,
168
181
  AZTEC_SLASH_AMOUNT_LARGE: 2E+21,
@@ -172,10 +185,15 @@ export const mainnetConfig = {
172
185
  AZTEC_SLASHING_QUORUM: 65,
173
186
  AZTEC_GOVERNANCE_PROPOSER_QUORUM: 600,
174
187
  AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 1000,
175
- AZTEC_MANA_TARGET: 0,
176
- AZTEC_PROVING_COST_PER_MANA: 0,
188
+ AZTEC_MANA_TARGET: 75000000,
189
+ AZTEC_PROVING_COST_PER_MANA: 25000000,
177
190
  AZTEC_EXIT_DELAY_SECONDS: 345600,
178
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,
179
197
  L1_CHAIN_ID: 1,
180
198
  TEST_ACCOUNTS: false,
181
199
  SPONSORED_FPC: false,
@@ -196,6 +214,8 @@ export const mainnetConfig = {
196
214
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2,
197
215
  SLASH_INACTIVITY_PENALTY: 2E+21,
198
216
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 2E+21,
217
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 2E+21,
218
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 2E+21,
199
219
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 2E+21,
200
220
  SLASH_UNKNOWN_PENALTY: 2E+21,
201
221
  SLASH_INVALID_BLOCK_PENALTY: 2E+21,
@@ -19,4 +19,4 @@ export declare function getNetworkConfig(networkName: NetworkNames, cacheDir?: s
19
19
  * Does not throw if the network simply doesn't exist in the config - just returns without enriching
20
20
  */
21
21
  export declare function enrichEnvironmentWithNetworkConfig(networkName: NetworkNames): Promise<void>;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUEwQixLQUFLLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBYXpHOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLGdCQUFnQixDQUNwQyxXQUFXLEVBQUUsWUFBWSxFQUN6QixRQUFRLENBQUMsRUFBRSxNQUFNLEdBQ2hCLE9BQU8sQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLENBOEJwQztBQXVERDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixrQ0FBa0MsQ0FBQyxXQUFXLEVBQUUsWUFBWSxpQkEyQmpGIn0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUEwQixLQUFLLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBYXpHOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLGdCQUFnQixDQUNwQyxXQUFXLEVBQUUsWUFBWSxFQUN6QixRQUFRLENBQUMsRUFBRSxNQUFNLEdBQ2hCLE9BQU8sQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLENBOEJwQztBQXVERDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixrQ0FBa0MsQ0FBQyxXQUFXLEVBQUUsWUFBWSxpQkE4QmpGIn0=
@@ -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;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,iBA2BjF"}
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,iBA8BjF"}
@@ -112,4 +112,7 @@ const NETWORK_CONFIG_CACHE_DURATION_MS = 60 * 60 * 1000; // 1 hour
112
112
  if (networkConfig.blockDurationMs !== undefined) {
113
113
  enrichVar('SEQ_BLOCK_DURATION_MS', String(networkConfig.blockDurationMs));
114
114
  }
115
+ if (networkConfig.txPublicSetupAllowListExtend) {
116
+ enrichVar('TX_PUBLIC_SETUP_ALLOWLIST', networkConfig.txPublicSetupAllowListExtend);
117
+ }
115
118
  }
@@ -8,4 +8,4 @@ export declare function inspectBlock(aztecNode: AztecNode, blockNumber: BlockNum
8
8
  export declare function inspectTx(aztecNode: AztecNode, txHash: TxHash, log: LogFn, opts?: {
9
9
  includeBlockInfo?: boolean;
10
10
  }): Promise<void>;
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2luc3BlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLHdCQUFzQixZQUFZLENBQ2hDLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLEdBQUcsRUFBRSxLQUFLLEVBQ1YsSUFBSSxHQUFFO0lBQUUsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFBO0NBQU8saUJBMEJqQztBQUVELHdCQUFzQixTQUFTLENBQzdCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsR0FBRyxFQUFFLEtBQUssRUFDVixJQUFJLEdBQUU7SUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtDQUFPLGlCQW1FMUMifQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2luc3BlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLHdCQUFzQixZQUFZLENBQ2hDLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLEdBQUcsRUFBRSxLQUFLLEVBQ1YsSUFBSSxHQUFFO0lBQUUsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFBO0NBQU8saUJBMEJqQztBQUVELHdCQUFzQixTQUFTLENBQzdCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsR0FBRyxFQUFFLEtBQUssRUFDVixJQUFJLEdBQUU7SUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtDQUFPLGlCQXNFMUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/utils/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,wBAAsB,YAAY,CAChC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,KAAK,EACV,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,iBA0BjC;AAED,wBAAsB,SAAS,CAC7B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,KAAK,EACV,IAAI,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,iBAmE1C"}
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/utils/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,wBAAsB,YAAY,CAChC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,KAAK,EACV,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,iBA0BjC;AAED,wBAAsB,SAAS,CAC7B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,KAAK,EACV,IAAI,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,iBAsE1C"}
@@ -30,7 +30,10 @@ export async function inspectTx(aztecNode, txHash, log, opts = {}) {
30
30
  ]);
31
31
  // Base tx data
32
32
  log(`Tx ${txHash.toString()}`);
33
- log(` Status: ${receipt.status} ${effectsInBlock ? `(${effectsInBlock.data.revertCode.getDescription()})` : ''}`);
33
+ log(` Status: ${receipt.status}`);
34
+ if (receipt.executionResult) {
35
+ log(` Execution result: ${receipt.executionResult}`);
36
+ }
34
37
  if (receipt.error) {
35
38
  log(` Error: ${receipt.error}`);
36
39
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/cli",
3
- "version": "0.0.1-commit.f295ac2",
3
+ "version": "0.0.1-commit.f504929",
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.f295ac2",
81
- "@aztec/archiver": "0.0.1-commit.f295ac2",
82
- "@aztec/aztec.js": "0.0.1-commit.f295ac2",
83
- "@aztec/constants": "0.0.1-commit.f295ac2",
84
- "@aztec/entrypoints": "0.0.1-commit.f295ac2",
85
- "@aztec/ethereum": "0.0.1-commit.f295ac2",
86
- "@aztec/foundation": "0.0.1-commit.f295ac2",
87
- "@aztec/l1-artifacts": "0.0.1-commit.f295ac2",
88
- "@aztec/node-keystore": "0.0.1-commit.f295ac2",
89
- "@aztec/node-lib": "0.0.1-commit.f295ac2",
90
- "@aztec/p2p": "0.0.1-commit.f295ac2",
91
- "@aztec/protocol-contracts": "0.0.1-commit.f295ac2",
92
- "@aztec/sequencer-client": "0.0.1-commit.f295ac2",
93
- "@aztec/slasher": "0.0.1-commit.f295ac2",
94
- "@aztec/stdlib": "0.0.1-commit.f295ac2",
95
- "@aztec/test-wallet": "0.0.1-commit.f295ac2",
96
- "@aztec/world-state": "0.0.1-commit.f295ac2",
80
+ "@aztec/accounts": "0.0.1-commit.f504929",
81
+ "@aztec/archiver": "0.0.1-commit.f504929",
82
+ "@aztec/aztec.js": "0.0.1-commit.f504929",
83
+ "@aztec/constants": "0.0.1-commit.f504929",
84
+ "@aztec/entrypoints": "0.0.1-commit.f504929",
85
+ "@aztec/ethereum": "0.0.1-commit.f504929",
86
+ "@aztec/foundation": "0.0.1-commit.f504929",
87
+ "@aztec/l1-artifacts": "0.0.1-commit.f504929",
88
+ "@aztec/node-keystore": "0.0.1-commit.f504929",
89
+ "@aztec/node-lib": "0.0.1-commit.f504929",
90
+ "@aztec/p2p": "0.0.1-commit.f504929",
91
+ "@aztec/protocol-contracts": "0.0.1-commit.f504929",
92
+ "@aztec/sequencer-client": "0.0.1-commit.f504929",
93
+ "@aztec/slasher": "0.0.1-commit.f504929",
94
+ "@aztec/stdlib": "0.0.1-commit.f504929",
95
+ "@aztec/wallets": "0.0.1-commit.f504929",
96
+ "@aztec/world-state": "0.0.1-commit.f504929",
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.f295ac2",
111
- "@aztec/kv-store": "0.0.1-commit.f295ac2",
112
- "@aztec/telemetry-client": "0.0.1-commit.f295ac2",
110
+ "@aztec/aztec-node": "0.0.1-commit.f504929",
111
+ "@aztec/kv-store": "0.0.1-commit.f504929",
112
+ "@aztec/telemetry-client": "0.0.1-commit.f504929",
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.f295ac2",
130
- "@aztec/bb-prover": "0.0.1-commit.f295ac2",
131
- "@aztec/ethereum": "0.0.1-commit.f295ac2",
132
- "@aztec/l1-artifacts": "0.0.1-commit.f295ac2",
133
- "@aztec/noir-contracts.js": "0.0.1-commit.f295ac2",
134
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.f295ac2",
135
- "@aztec/noir-test-contracts.js": "0.0.1-commit.f295ac2",
136
- "@aztec/protocol-contracts": "0.0.1-commit.f295ac2",
137
- "@aztec/stdlib": "0.0.1-commit.f295ac2"
129
+ "@aztec/accounts": "0.0.1-commit.f504929",
130
+ "@aztec/bb-prover": "0.0.1-commit.f504929",
131
+ "@aztec/ethereum": "0.0.1-commit.f504929",
132
+ "@aztec/l1-artifacts": "0.0.1-commit.f504929",
133
+ "@aztec/noir-contracts.js": "0.0.1-commit.f504929",
134
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.f504929",
135
+ "@aztec/noir-test-contracts.js": "0.0.1-commit.f504929",
136
+ "@aztec/protocol-contracts": "0.0.1-commit.f504929",
137
+ "@aztec/stdlib": "0.0.1-commit.f504929"
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,13 +17,13 @@ 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) {
23
24
  log('setupL2Contracts: Deploying test accounts...');
24
25
  const initialAccountsData = await getInitialTestAccountsData();
25
- deployedAccountManagers = await deployFundedSchnorrAccounts(wallet, node, initialAccountsData, waitOpts);
26
+ deployedAccountManagers = await deployFundedSchnorrAccounts(wallet, initialAccountsData, waitOpts);
26
27
  }
27
28
 
28
29
  if (json) {
@@ -1,23 +1,20 @@
1
1
  import { createAztecNodeClient } from '@aztec/aztec.js/node';
2
2
  import { RollupCheatCodes } from '@aztec/ethereum/test';
3
- import { BlockNumber } from '@aztec/foundation/branded-types';
3
+ import { CheckpointNumber } from '@aztec/foundation/branded-types';
4
4
  import type { LogFn } from '@aztec/foundation/log';
5
5
  import { DateProvider } from '@aztec/foundation/timer';
6
6
 
7
7
  export async function assumeProvenThrough(
8
- blockNumberOrLatest: number | undefined,
8
+ checkpointOrLatest: CheckpointNumber | undefined,
9
9
  l1RpcUrls: string[],
10
10
  nodeUrl: string,
11
11
  log: LogFn,
12
12
  ) {
13
13
  const aztecNode = createAztecNodeClient(nodeUrl);
14
14
  const rollupAddress = await aztecNode.getNodeInfo().then(i => i.l1ContractAddresses.rollupAddress);
15
- const blockNumber: BlockNumber = blockNumberOrLatest
16
- ? BlockNumber(blockNumberOrLatest)
17
- : await aztecNode.getBlockNumber();
18
15
 
19
16
  const rollupCheatCodes = RollupCheatCodes.create(l1RpcUrls, { rollupAddress }, new DateProvider());
20
17
 
21
- await rollupCheatCodes.markAsProven(blockNumber);
22
- log(`Assumed proven through block ${blockNumber}`);
18
+ await rollupCheatCodes.markAsProven(checkpointOrLatest);
19
+ log(`Assumed proven through checkpoint ${checkpointOrLatest ?? 'latest'}`);
23
20
  }
@@ -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
+ }
@@ -1,3 +1,4 @@
1
+ import { CheckpointNumber } from '@aztec/foundation/branded-types';
1
2
  import { EthAddress } from '@aztec/foundation/eth-address';
2
3
  import type { LogFn, Logger } from '@aztec/foundation/log';
3
4
 
@@ -105,6 +106,24 @@ export function injectCommands(program: Command, log: LogFn, debugLogger: Logger
105
106
  );
106
107
  });
107
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
+
108
127
  program
109
128
  .command('deposit-governance-tokens')
110
129
  .description('Deposits governance tokens to the governance contract.')
@@ -497,14 +516,14 @@ export function injectCommands(program: Command, log: LogFn, debugLogger: Logger
497
516
  program
498
517
  .command('set-proven-through', { hidden: true })
499
518
  .description(
500
- 'Instructs the L1 rollup contract to assume all blocks until the given number are automatically proven.',
519
+ 'Instructs the L1 rollup contract to assume all blocks until the given checkpoint are automatically proven.',
501
520
  )
502
- .argument('[blockNumber]', 'The target block number, defaults to the latest pending block number.', parseBigint)
521
+ .argument('[checkpoint]', 'The target checkpoint, defaults to the latest pending checkpoint.', parseBigint)
503
522
  .addOption(l1RpcUrlsOption)
504
523
  .addOption(nodeOption)
505
- .action(async (blockNumber, options) => {
524
+ .action(async (checkpoint, options) => {
506
525
  const { assumeProvenThrough } = await import('./assume_proven_through.js');
507
- await assumeProvenThrough(blockNumber, options.l1RpcUrls, options.nodeUrl, log);
526
+ await assumeProvenThrough(CheckpointNumber.fromBigInt(checkpoint), options.l1RpcUrls, options.nodeUrl, log);
508
527
  });
509
528
 
510
529
  program
@@ -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,
@@ -13,6 +13,7 @@ export const devnetConfig = {
13
13
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
14
14
  AZTEC_MANA_TARGET: 100000000,
15
15
  AZTEC_PROVING_COST_PER_MANA: 100,
16
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
16
17
  AZTEC_SLASHER_FLAVOR: 'tally',
17
18
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
18
19
  AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
@@ -26,12 +27,14 @@ export const devnetConfig = {
26
27
  SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
27
28
  SLASH_MAX_PENALTY_PERCENTAGE: 2,
28
29
  SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
29
- SLASH_MAX_PAYLOAD_SIZE: 50,
30
+ SLASH_MAX_PAYLOAD_SIZE: 80,
30
31
  SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
31
32
  P2P_ENABLED: true,
32
33
  BOOTSTRAP_NODES: '',
33
34
  SEQ_MIN_TX_PER_BLOCK: 0,
34
35
  SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
36
+ SEQ_BLOCK_DURATION_MS: 6000,
37
+ SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
35
38
  DATA_STORE_MAP_SIZE_KB: 134217728,
36
39
  ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
37
40
  NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
@@ -47,7 +50,7 @@ export const devnetConfig = {
47
50
  TEST_ACCOUNTS: true,
48
51
  SPONSORED_FPC: true,
49
52
  TRANSACTIONS_DISABLED: false,
50
- SEQ_MAX_TX_PER_BLOCK: 32,
53
+ SEQ_MAX_TX_PER_BLOCK: 18,
51
54
  PROVER_REAL_PROOFS: false,
52
55
  PXE_PROVER_ENABLED: false,
53
56
  SYNC_SNAPSHOTS_URLS: '',
@@ -66,6 +69,8 @@ export const devnetConfig = {
66
69
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
67
70
  SLASH_INACTIVITY_PENALTY: 10000000000000000000,
68
71
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
72
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
73
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
69
74
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
70
75
  SLASH_UNKNOWN_PENALTY: 10000000000000000000,
71
76
  SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
@@ -81,24 +86,23 @@ export const testnetConfig = {
81
86
  AZTEC_EXIT_DELAY_SECONDS: 172800,
82
87
  AZTEC_INBOX_LAG: 1,
83
88
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
84
- AZTEC_PROVING_COST_PER_MANA: 100,
89
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
85
90
  AZTEC_SLASHER_FLAVOR: 'tally',
86
91
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
87
92
  AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
88
93
  AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
89
94
  AZTEC_SLASHING_DISABLE_DURATION: 432000,
90
- AZTEC_SLASH_AMOUNT_SMALL: 10000000000000000000,
91
- AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000,
92
- AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000,
93
95
  SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
94
96
  SLASH_MAX_PENALTY_PERCENTAGE: 2,
95
97
  SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
96
- SLASH_MAX_PAYLOAD_SIZE: 50,
98
+ SLASH_MAX_PAYLOAD_SIZE: 80,
97
99
  SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
98
100
  P2P_ENABLED: true,
99
101
  BOOTSTRAP_NODES: '',
100
102
  SEQ_MIN_TX_PER_BLOCK: 0,
101
103
  SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
104
+ SEQ_BLOCK_DURATION_MS: 6000,
105
+ SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
102
106
  DATA_STORE_MAP_SIZE_KB: 134217728,
103
107
  ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
104
108
  NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
@@ -115,12 +119,16 @@ export const testnetConfig = {
115
119
  AZTEC_SLASHING_QUORUM: 33,
116
120
  AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 100,
117
121
  AZTEC_GOVERNANCE_PROPOSER_QUORUM: 60,
118
- 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,
119
127
  L1_CHAIN_ID: 11155111,
120
128
  TEST_ACCOUNTS: false,
121
129
  SPONSORED_FPC: true,
122
130
  TRANSACTIONS_DISABLED: false,
123
- SEQ_MAX_TX_PER_BLOCK: 8,
131
+ SEQ_MAX_TX_PER_BLOCK: 2,
124
132
  PROVER_REAL_PROOFS: true,
125
133
  P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true,
126
134
  SLASH_PRUNE_PENALTY: 10000000000000000000,
@@ -129,6 +137,8 @@ export const testnetConfig = {
129
137
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
130
138
  SLASH_INACTIVITY_PENALTY: 10000000000000000000,
131
139
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
140
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
141
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
132
142
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
133
143
  SLASH_UNKNOWN_PENALTY: 10000000000000000000,
134
144
  SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
@@ -138,22 +148,26 @@ export const testnetConfig = {
138
148
  export const mainnetConfig = {
139
149
  ETHEREUM_SLOT_DURATION: 12,
140
150
  AZTEC_EPOCH_DURATION: 32,
151
+ AZTEC_TARGET_COMMITTEE_SIZE: 48,
141
152
  AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
142
153
  AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
143
154
  AZTEC_INBOX_LAG: 1,
144
155
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
156
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
145
157
  AZTEC_SLASHER_FLAVOR: 'tally',
146
158
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
147
159
  AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
148
160
  SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
149
161
  SLASH_MAX_PENALTY_PERCENTAGE: 2,
150
162
  SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
151
- SLASH_MAX_PAYLOAD_SIZE: 50,
163
+ SLASH_MAX_PAYLOAD_SIZE: 80,
152
164
  SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
153
165
  P2P_ENABLED: true,
154
166
  BOOTSTRAP_NODES: '',
155
167
  SEQ_MIN_TX_PER_BLOCK: 0,
156
168
  SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
169
+ SEQ_BLOCK_DURATION_MS: 6000,
170
+ SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
157
171
  DATA_STORE_MAP_SIZE_KB: 134217728,
158
172
  ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
159
173
  NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
@@ -162,10 +176,9 @@ export const mainnetConfig = {
162
176
  PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
163
177
  SENTINEL_ENABLED: true,
164
178
  AZTEC_SLOT_DURATION: 72,
165
- AZTEC_TARGET_COMMITTEE_SIZE: 24,
166
179
  AZTEC_ACTIVATION_THRESHOLD: 2E+23,
167
180
  AZTEC_EJECTION_THRESHOLD: 1E+23,
168
- AZTEC_LOCAL_EJECTION_THRESHOLD: 1.96E+23,
181
+ AZTEC_LOCAL_EJECTION_THRESHOLD: 1.9E+23,
169
182
  AZTEC_SLASH_AMOUNT_SMALL: 2E+21,
170
183
  AZTEC_SLASH_AMOUNT_MEDIUM: 2E+21,
171
184
  AZTEC_SLASH_AMOUNT_LARGE: 2E+21,
@@ -175,10 +188,15 @@ export const mainnetConfig = {
175
188
  AZTEC_SLASHING_QUORUM: 65,
176
189
  AZTEC_GOVERNANCE_PROPOSER_QUORUM: 600,
177
190
  AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 1000,
178
- AZTEC_MANA_TARGET: 0,
179
- AZTEC_PROVING_COST_PER_MANA: 0,
191
+ AZTEC_MANA_TARGET: 75000000,
192
+ AZTEC_PROVING_COST_PER_MANA: 25000000,
180
193
  AZTEC_EXIT_DELAY_SECONDS: 345600,
181
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,
182
200
  L1_CHAIN_ID: 1,
183
201
  TEST_ACCOUNTS: false,
184
202
  SPONSORED_FPC: false,
@@ -199,6 +217,8 @@ export const mainnetConfig = {
199
217
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2,
200
218
  SLASH_INACTIVITY_PENALTY: 2E+21,
201
219
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 2E+21,
220
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 2E+21,
221
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 2E+21,
202
222
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 2E+21,
203
223
  SLASH_UNKNOWN_PENALTY: 2E+21,
204
224
  SLASH_INVALID_BLOCK_PENALTY: 2E+21,
@@ -144,4 +144,7 @@ export async function enrichEnvironmentWithNetworkConfig(networkName: NetworkNam
144
144
  if (networkConfig.blockDurationMs !== undefined) {
145
145
  enrichVar('SEQ_BLOCK_DURATION_MS', String(networkConfig.blockDurationMs));
146
146
  }
147
+ if (networkConfig.txPublicSetupAllowListExtend) {
148
+ enrichVar('TX_PUBLIC_SETUP_ALLOWLIST', networkConfig.txPublicSetupAllowListExtend);
149
+ }
147
150
  }
@@ -44,7 +44,10 @@ export async function inspectTx(
44
44
  const [receipt, effectsInBlock] = await Promise.all([aztecNode.getTxReceipt(txHash), aztecNode.getTxEffect(txHash)]);
45
45
  // Base tx data
46
46
  log(`Tx ${txHash.toString()}`);
47
- log(` Status: ${receipt.status} ${effectsInBlock ? `(${effectsInBlock.data.revertCode.getDescription()})` : ''}`);
47
+ log(` Status: ${receipt.status}`);
48
+ if (receipt.executionResult) {
49
+ log(` Execution result: ${receipt.executionResult}`);
50
+ }
48
51
  if (receipt.error) {
49
52
  log(` Error: ${receipt.error}`);
50
53
  }