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

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,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');
@@ -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;
@@ -63,6 +64,8 @@ export declare const devnetConfig: {
63
64
  readonly SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1;
64
65
  readonly SLASH_INACTIVITY_PENALTY: 10000000000000000000;
65
66
  readonly SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000;
67
+ readonly SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000;
68
+ readonly SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000;
66
69
  readonly SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000;
67
70
  readonly SLASH_UNKNOWN_PENALTY: 10000000000000000000;
68
71
  readonly SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000;
@@ -78,6 +81,7 @@ export declare const testnetConfig: {
78
81
  readonly AZTEC_INBOX_LAG: 1;
79
82
  readonly AZTEC_PROOF_SUBMISSION_EPOCHS: 1;
80
83
  readonly AZTEC_PROVING_COST_PER_MANA: 100;
84
+ readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000;
81
85
  readonly AZTEC_SLASHER_FLAVOR: "tally";
82
86
  readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4;
83
87
  readonly AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5;
@@ -125,6 +129,8 @@ export declare const testnetConfig: {
125
129
  readonly SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1;
126
130
  readonly SLASH_INACTIVITY_PENALTY: 10000000000000000000;
127
131
  readonly SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000;
132
+ readonly SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000;
133
+ readonly SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000;
128
134
  readonly SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000;
129
135
  readonly SLASH_UNKNOWN_PENALTY: 10000000000000000000;
130
136
  readonly SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000;
@@ -137,6 +143,7 @@ export declare const mainnetConfig: {
137
143
  readonly AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2;
138
144
  readonly AZTEC_INBOX_LAG: 1;
139
145
  readonly AZTEC_PROOF_SUBMISSION_EPOCHS: 1;
146
+ readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000;
140
147
  readonly AZTEC_SLASHER_FLAVOR: "tally";
141
148
  readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4;
142
149
  readonly AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2;
@@ -194,9 +201,11 @@ export declare const mainnetConfig: {
194
201
  readonly SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2;
195
202
  readonly SLASH_INACTIVITY_PENALTY: 2e+21;
196
203
  readonly SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 2e+21;
204
+ readonly SLASH_DUPLICATE_PROPOSAL_PENALTY: 2e+21;
205
+ readonly SLASH_DUPLICATE_ATTESTATION_PENALTY: 2e+21;
197
206
  readonly SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 2e+21;
198
207
  readonly SLASH_UNKNOWN_PENALTY: 2e+21;
199
208
  readonly SLASH_INVALID_BLOCK_PENALTY: 2e+21;
200
209
  readonly SLASH_GRACE_PERIOD_L2_SLOTS: 1200;
201
210
  };
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvZ2VuZXJhdGVkL25ldHdvcmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLGVBQU8sTUFBTSxZQUFZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FxRWYsQ0FBQztBQUVYLGVBQU8sTUFBTSxhQUFhOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNkRoQixDQUFDO0FBRVgsZUFBTyxNQUFNLGFBQWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBb0VoQixDQUFDIn0=
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvZ2VuZXJhdGVkL25ldHdvcmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLGVBQU8sTUFBTSxZQUFZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0F3RWYsQ0FBQztBQUVYLGVBQU8sTUFBTSxhQUFhOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBZ0VoQixDQUFDO0FBRVgsZUFBTyxNQUFNLGFBQWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBdUVoQixDQUFDIn0=
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwEf,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEhB,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEhB,CAAC"}
@@ -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,
@@ -65,6 +66,8 @@ export const devnetConfig = {
65
66
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
66
67
  SLASH_INACTIVITY_PENALTY: 10000000000000000000,
67
68
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
69
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
70
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
68
71
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
69
72
  SLASH_UNKNOWN_PENALTY: 10000000000000000000,
70
73
  SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
@@ -80,6 +83,7 @@ export const testnetConfig = {
80
83
  AZTEC_INBOX_LAG: 1,
81
84
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
82
85
  AZTEC_PROVING_COST_PER_MANA: 100,
86
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
83
87
  AZTEC_SLASHER_FLAVOR: 'tally',
84
88
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
85
89
  AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
@@ -127,6 +131,8 @@ export const testnetConfig = {
127
131
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
128
132
  SLASH_INACTIVITY_PENALTY: 10000000000000000000,
129
133
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
134
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
135
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
130
136
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
131
137
  SLASH_UNKNOWN_PENALTY: 10000000000000000000,
132
138
  SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
@@ -139,6 +145,7 @@ export const mainnetConfig = {
139
145
  AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
140
146
  AZTEC_INBOX_LAG: 1,
141
147
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
148
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
142
149
  AZTEC_SLASHER_FLAVOR: 'tally',
143
150
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
144
151
  AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
@@ -196,6 +203,8 @@ export const mainnetConfig = {
196
203
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2,
197
204
  SLASH_INACTIVITY_PENALTY: 2E+21,
198
205
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 2E+21,
206
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 2E+21,
207
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 2E+21,
199
208
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 2E+21,
200
209
  SLASH_UNKNOWN_PENALTY: 2E+21,
201
210
  SLASH_INVALID_BLOCK_PENALTY: 2E+21,
@@ -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.f8ca9b2f3",
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.f8ca9b2f3",
81
+ "@aztec/archiver": "0.0.1-commit.f8ca9b2f3",
82
+ "@aztec/aztec.js": "0.0.1-commit.f8ca9b2f3",
83
+ "@aztec/constants": "0.0.1-commit.f8ca9b2f3",
84
+ "@aztec/entrypoints": "0.0.1-commit.f8ca9b2f3",
85
+ "@aztec/ethereum": "0.0.1-commit.f8ca9b2f3",
86
+ "@aztec/foundation": "0.0.1-commit.f8ca9b2f3",
87
+ "@aztec/l1-artifacts": "0.0.1-commit.f8ca9b2f3",
88
+ "@aztec/node-keystore": "0.0.1-commit.f8ca9b2f3",
89
+ "@aztec/node-lib": "0.0.1-commit.f8ca9b2f3",
90
+ "@aztec/p2p": "0.0.1-commit.f8ca9b2f3",
91
+ "@aztec/protocol-contracts": "0.0.1-commit.f8ca9b2f3",
92
+ "@aztec/sequencer-client": "0.0.1-commit.f8ca9b2f3",
93
+ "@aztec/slasher": "0.0.1-commit.f8ca9b2f3",
94
+ "@aztec/stdlib": "0.0.1-commit.f8ca9b2f3",
95
+ "@aztec/wallets": "0.0.1-commit.f8ca9b2f3",
96
+ "@aztec/world-state": "0.0.1-commit.f8ca9b2f3",
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.f8ca9b2f3",
111
+ "@aztec/kv-store": "0.0.1-commit.f8ca9b2f3",
112
+ "@aztec/telemetry-client": "0.0.1-commit.f8ca9b2f3",
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.f8ca9b2f3",
130
+ "@aztec/bb-prover": "0.0.1-commit.f8ca9b2f3",
131
+ "@aztec/ethereum": "0.0.1-commit.f8ca9b2f3",
132
+ "@aztec/l1-artifacts": "0.0.1-commit.f8ca9b2f3",
133
+ "@aztec/noir-contracts.js": "0.0.1-commit.f8ca9b2f3",
134
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.f8ca9b2f3",
135
+ "@aztec/noir-test-contracts.js": "0.0.1-commit.f8ca9b2f3",
136
+ "@aztec/protocol-contracts": "0.0.1-commit.f8ca9b2f3",
137
+ "@aztec/stdlib": "0.0.1-commit.f8ca9b2f3"
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
@@ -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,
@@ -66,6 +67,8 @@ export const devnetConfig = {
66
67
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
67
68
  SLASH_INACTIVITY_PENALTY: 10000000000000000000,
68
69
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
70
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
71
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
69
72
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
70
73
  SLASH_UNKNOWN_PENALTY: 10000000000000000000,
71
74
  SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
@@ -82,6 +85,7 @@ export const testnetConfig = {
82
85
  AZTEC_INBOX_LAG: 1,
83
86
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
84
87
  AZTEC_PROVING_COST_PER_MANA: 100,
88
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
85
89
  AZTEC_SLASHER_FLAVOR: 'tally',
86
90
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
87
91
  AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
@@ -129,6 +133,8 @@ export const testnetConfig = {
129
133
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
130
134
  SLASH_INACTIVITY_PENALTY: 10000000000000000000,
131
135
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
136
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
137
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
132
138
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
133
139
  SLASH_UNKNOWN_PENALTY: 10000000000000000000,
134
140
  SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
@@ -142,6 +148,7 @@ export const mainnetConfig = {
142
148
  AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
143
149
  AZTEC_INBOX_LAG: 1,
144
150
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
151
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
145
152
  AZTEC_SLASHER_FLAVOR: 'tally',
146
153
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
147
154
  AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
@@ -199,6 +206,8 @@ export const mainnetConfig = {
199
206
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2,
200
207
  SLASH_INACTIVITY_PENALTY: 2E+21,
201
208
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 2E+21,
209
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 2E+21,
210
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 2E+21,
202
211
  SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 2E+21,
203
212
  SLASH_UNKNOWN_PENALTY: 2E+21,
204
213
  SLASH_INVALID_BLOCK_PENALTY: 2E+21,
@@ -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
  }