@aztec/cli 0.0.1-commit.3469e52 → 0.0.1-commit.43c09e3f

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.
@@ -16,7 +16,7 @@ export async function setupL2Contracts(nodeUrl, testAccounts, json, log) {
16
16
  if (testAccounts) {
17
17
  log('setupL2Contracts: Deploying test accounts...');
18
18
  const initialAccountsData = await getInitialTestAccountsData();
19
- deployedAccountManagers = await deployFundedSchnorrAccounts(wallet, node, initialAccountsData, waitOpts);
19
+ deployedAccountManagers = await deployFundedSchnorrAccounts(wallet, initialAccountsData, waitOpts);
20
20
  }
21
21
  if (json) {
22
22
  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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQVUsTUFBTSxXQUFXLENBQUM7QUF3QmpELHdCQUFnQixjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBdWYvRSJ9
@@ -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,WAuf/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', 'Include initial test accounts in genesis state').env('TEST_ACCOUNTS')).addOption(new Option('--sponsored-fpc', 'Include sponsored FPC contract in genesis state').env('SPONSORED_FPC')).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;
@@ -78,6 +79,7 @@ export declare const testnetConfig: {
78
79
  readonly AZTEC_INBOX_LAG: 1;
79
80
  readonly AZTEC_PROOF_SUBMISSION_EPOCHS: 1;
80
81
  readonly AZTEC_PROVING_COST_PER_MANA: 100;
82
+ readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000;
81
83
  readonly AZTEC_SLASHER_FLAVOR: "tally";
82
84
  readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4;
83
85
  readonly AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5;
@@ -137,6 +139,7 @@ export declare const mainnetConfig: {
137
139
  readonly AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2;
138
140
  readonly AZTEC_INBOX_LAG: 1;
139
141
  readonly AZTEC_PROOF_SUBMISSION_EPOCHS: 1;
142
+ readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000;
140
143
  readonly AZTEC_SLASHER_FLAVOR: "tally";
141
144
  readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4;
142
145
  readonly AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2;
@@ -199,4 +202,4 @@ export declare const mainnetConfig: {
199
202
  readonly SLASH_INVALID_BLOCK_PENALTY: 2e+21;
200
203
  readonly SLASH_GRACE_PERIOD_L2_SLOTS: 1200;
201
204
  };
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvZ2VuZXJhdGVkL25ldHdvcmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLGVBQU8sTUFBTSxZQUFZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FxRWYsQ0FBQztBQUVYLGVBQU8sTUFBTSxhQUFhOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNkRoQixDQUFDO0FBRVgsZUFBTyxNQUFNLGFBQWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBb0VoQixDQUFDIn0=
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvZ2VuZXJhdGVkL25ldHdvcmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLGVBQU8sTUFBTSxZQUFZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBc0VmLENBQUM7QUFFWCxlQUFPLE1BQU0sYUFBYTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E4RGhCLENBQUM7QUFFWCxlQUFPLE1BQU0sYUFBYTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcUVoQixDQUFDIn0=
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEf,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DhB,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEhB,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,
@@ -80,6 +81,7 @@ export const testnetConfig = {
80
81
  AZTEC_INBOX_LAG: 1,
81
82
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
82
83
  AZTEC_PROVING_COST_PER_MANA: 100,
84
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
83
85
  AZTEC_SLASHER_FLAVOR: 'tally',
84
86
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
85
87
  AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
@@ -139,6 +141,7 @@ export const mainnetConfig = {
139
141
  AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
140
142
  AZTEC_INBOX_LAG: 1,
141
143
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
144
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
142
145
  AZTEC_SLASHER_FLAVOR: 'tally',
143
146
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
144
147
  AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
@@ -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.3469e52",
3
+ "version": "0.0.1-commit.43c09e3f",
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.3469e52",
81
- "@aztec/archiver": "0.0.1-commit.3469e52",
82
- "@aztec/aztec.js": "0.0.1-commit.3469e52",
83
- "@aztec/constants": "0.0.1-commit.3469e52",
84
- "@aztec/entrypoints": "0.0.1-commit.3469e52",
85
- "@aztec/ethereum": "0.0.1-commit.3469e52",
86
- "@aztec/foundation": "0.0.1-commit.3469e52",
87
- "@aztec/l1-artifacts": "0.0.1-commit.3469e52",
88
- "@aztec/node-keystore": "0.0.1-commit.3469e52",
89
- "@aztec/node-lib": "0.0.1-commit.3469e52",
90
- "@aztec/p2p": "0.0.1-commit.3469e52",
91
- "@aztec/protocol-contracts": "0.0.1-commit.3469e52",
92
- "@aztec/sequencer-client": "0.0.1-commit.3469e52",
93
- "@aztec/slasher": "0.0.1-commit.3469e52",
94
- "@aztec/stdlib": "0.0.1-commit.3469e52",
95
- "@aztec/test-wallet": "0.0.1-commit.3469e52",
96
- "@aztec/world-state": "0.0.1-commit.3469e52",
80
+ "@aztec/accounts": "0.0.1-commit.43c09e3f",
81
+ "@aztec/archiver": "0.0.1-commit.43c09e3f",
82
+ "@aztec/aztec.js": "0.0.1-commit.43c09e3f",
83
+ "@aztec/constants": "0.0.1-commit.43c09e3f",
84
+ "@aztec/entrypoints": "0.0.1-commit.43c09e3f",
85
+ "@aztec/ethereum": "0.0.1-commit.43c09e3f",
86
+ "@aztec/foundation": "0.0.1-commit.43c09e3f",
87
+ "@aztec/l1-artifacts": "0.0.1-commit.43c09e3f",
88
+ "@aztec/node-keystore": "0.0.1-commit.43c09e3f",
89
+ "@aztec/node-lib": "0.0.1-commit.43c09e3f",
90
+ "@aztec/p2p": "0.0.1-commit.43c09e3f",
91
+ "@aztec/protocol-contracts": "0.0.1-commit.43c09e3f",
92
+ "@aztec/sequencer-client": "0.0.1-commit.43c09e3f",
93
+ "@aztec/slasher": "0.0.1-commit.43c09e3f",
94
+ "@aztec/stdlib": "0.0.1-commit.43c09e3f",
95
+ "@aztec/test-wallet": "0.0.1-commit.43c09e3f",
96
+ "@aztec/world-state": "0.0.1-commit.43c09e3f",
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.3469e52",
111
- "@aztec/kv-store": "0.0.1-commit.3469e52",
112
- "@aztec/telemetry-client": "0.0.1-commit.3469e52",
110
+ "@aztec/aztec-node": "0.0.1-commit.43c09e3f",
111
+ "@aztec/kv-store": "0.0.1-commit.43c09e3f",
112
+ "@aztec/telemetry-client": "0.0.1-commit.43c09e3f",
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.3469e52",
130
- "@aztec/bb-prover": "0.0.1-commit.3469e52",
131
- "@aztec/ethereum": "0.0.1-commit.3469e52",
132
- "@aztec/l1-artifacts": "0.0.1-commit.3469e52",
133
- "@aztec/noir-contracts.js": "0.0.1-commit.3469e52",
134
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.3469e52",
135
- "@aztec/noir-test-contracts.js": "0.0.1-commit.3469e52",
136
- "@aztec/protocol-contracts": "0.0.1-commit.3469e52",
137
- "@aztec/stdlib": "0.0.1-commit.3469e52"
129
+ "@aztec/accounts": "0.0.1-commit.43c09e3f",
130
+ "@aztec/bb-prover": "0.0.1-commit.43c09e3f",
131
+ "@aztec/ethereum": "0.0.1-commit.43c09e3f",
132
+ "@aztec/l1-artifacts": "0.0.1-commit.43c09e3f",
133
+ "@aztec/noir-contracts.js": "0.0.1-commit.43c09e3f",
134
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.43c09e3f",
135
+ "@aztec/noir-test-contracts.js": "0.0.1-commit.43c09e3f",
136
+ "@aztec/protocol-contracts": "0.0.1-commit.43c09e3f",
137
+ "@aztec/stdlib": "0.0.1-commit.43c09e3f"
138
138
  },
139
139
  "files": [
140
140
  "dest",
@@ -22,7 +22,7 @@ export async function setupL2Contracts(nodeUrl: string, testAccounts: boolean, j
22
22
  if (testAccounts) {
23
23
  log('setupL2Contracts: Deploying test accounts...');
24
24
  const initialAccountsData = await getInitialTestAccountsData();
25
- deployedAccountManagers = await deployFundedSchnorrAccounts(wallet, node, initialAccountsData, waitOpts);
25
+ deployedAccountManagers = await deployFundedSchnorrAccounts(wallet, initialAccountsData, waitOpts);
26
26
  }
27
27
 
28
28
  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,16 @@ 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(new Option('--test-accounts', 'Include initial test accounts in genesis state').env('TEST_ACCOUNTS'))
113
+ .addOption(new Option('--sponsored-fpc', 'Include sponsored FPC contract in genesis state').env('SPONSORED_FPC'))
114
+ .action(async options => {
115
+ const { computeGenesisValuesCmd } = await import('./compute_genesis_values.js');
116
+ await computeGenesisValuesCmd(options.testAccounts, options.sponsoredFpc, log);
117
+ });
118
+
108
119
  program
109
120
  .command('deposit-governance-tokens')
110
121
  .description('Deposits governance tokens to the governance contract.')
@@ -497,14 +508,14 @@ export function injectCommands(program: Command, log: LogFn, debugLogger: Logger
497
508
  program
498
509
  .command('set-proven-through', { hidden: true })
499
510
  .description(
500
- 'Instructs the L1 rollup contract to assume all blocks until the given number are automatically proven.',
511
+ 'Instructs the L1 rollup contract to assume all blocks until the given checkpoint are automatically proven.',
501
512
  )
502
- .argument('[blockNumber]', 'The target block number, defaults to the latest pending block number.', parseBigint)
513
+ .argument('[checkpoint]', 'The target checkpoint, defaults to the latest pending checkpoint.', parseBigint)
503
514
  .addOption(l1RpcUrlsOption)
504
515
  .addOption(nodeOption)
505
- .action(async (blockNumber, options) => {
516
+ .action(async (checkpoint, options) => {
506
517
  const { assumeProvenThrough } = await import('./assume_proven_through.js');
507
- await assumeProvenThrough(blockNumber, options.l1RpcUrls, options.nodeUrl, log);
518
+ await assumeProvenThrough(CheckpointNumber.fromBigInt(checkpoint), options.l1RpcUrls, options.nodeUrl, log);
508
519
  });
509
520
 
510
521
  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,
@@ -82,6 +83,7 @@ export const testnetConfig = {
82
83
  AZTEC_INBOX_LAG: 1,
83
84
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
84
85
  AZTEC_PROVING_COST_PER_MANA: 100,
86
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
85
87
  AZTEC_SLASHER_FLAVOR: 'tally',
86
88
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
87
89
  AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
@@ -142,6 +144,7 @@ export const mainnetConfig = {
142
144
  AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
143
145
  AZTEC_INBOX_LAG: 1,
144
146
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
147
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
145
148
  AZTEC_SLASHER_FLAVOR: 'tally',
146
149
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
147
150
  AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
@@ -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
  }