@aztec/cli 3.0.0-nightly.20251214 → 3.0.0-nightly.20251217

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,4 +1,4 @@
1
1
  import type { EthAddress } from '@aztec/aztec.js/addresses';
2
2
  import type { LogFn, Logger } from '@aztec/foundation/log';
3
- export declare function deployL1ContractsCmd(rpcUrls: string[], chainId: number, privateKey: string | undefined, mnemonic: string, mnemonicIndex: number, testAccounts: boolean, sponsoredFPC: boolean, json: boolean, initialValidators: EthAddress[], realVerifier: boolean, existingToken: EthAddress | undefined, log: LogFn, debugLogger: Logger): Promise<void>;
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2wxX2NvbnRyYWN0c19jbWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL2RlcGxveV9sMV9jb250cmFjdHNfY21kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSzVELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVMzRCx3QkFBc0Isb0JBQW9CLENBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFDakIsT0FBTyxFQUFFLE1BQU0sRUFDZixVQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDOUIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsYUFBYSxFQUFFLE1BQU0sRUFDckIsWUFBWSxFQUFFLE9BQU8sRUFDckIsWUFBWSxFQUFFLE9BQU8sRUFDckIsSUFBSSxFQUFFLE9BQU8sRUFDYixpQkFBaUIsRUFBRSxVQUFVLEVBQUUsRUFDL0IsWUFBWSxFQUFFLE9BQU8sRUFDckIsYUFBYSxFQUFFLFVBQVUsR0FBRyxTQUFTLEVBQ3JDLEdBQUcsRUFBRSxLQUFLLEVBQ1YsV0FBVyxFQUFFLE1BQU0saUJBOEVwQiJ9
3
+ export declare function deployL1ContractsCmd(rpcUrls: string[], chainId: number, privateKey: string | undefined, mnemonic: string, mnemonicIndex: number, testAccounts: boolean, sponsoredFPC: boolean, json: boolean, initialValidators: EthAddress[], realVerifier: boolean, existingToken: EthAddress | undefined, verifyContracts: boolean | undefined, log: LogFn, debugLogger: Logger): Promise<void>;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2wxX2NvbnRyYWN0c19jbWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL2RlcGxveV9sMV9jb250cmFjdHNfY21kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSzVELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVMzRCx3QkFBc0Isb0JBQW9CLENBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFDakIsT0FBTyxFQUFFLE1BQU0sRUFDZixVQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDOUIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsYUFBYSxFQUFFLE1BQU0sRUFDckIsWUFBWSxFQUFFLE9BQU8sRUFDckIsWUFBWSxFQUFFLE9BQU8sRUFDckIsSUFBSSxFQUFFLE9BQU8sRUFDYixpQkFBaUIsRUFBRSxVQUFVLEVBQUUsRUFDL0IsWUFBWSxFQUFFLE9BQU8sRUFDckIsYUFBYSxFQUFFLFVBQVUsR0FBRyxTQUFTLEVBQ3JDLGVBQWUsRUFBRSxPQUFPLEdBQUcsU0FBUyxFQUNwQyxHQUFHLEVBQUUsS0FBSyxFQUNWLFdBQVcsRUFBRSxNQUFNLGlCQW9GcEIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"deploy_l1_contracts_cmd.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/deploy_l1_contracts_cmd.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAK5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAS3D,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,OAAO,EACrB,IAAI,EAAE,OAAO,EACb,iBAAiB,EAAE,UAAU,EAAE,EAC/B,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,UAAU,GAAG,SAAS,EACrC,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,iBA8EpB"}
1
+ {"version":3,"file":"deploy_l1_contracts_cmd.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/deploy_l1_contracts_cmd.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAK5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAS3D,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,OAAO,EACrB,IAAI,EAAE,OAAO,EACb,iBAAiB,EAAE,UAAU,EAAE,EAC/B,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,UAAU,GAAG,SAAS,EACrC,eAAe,EAAE,OAAO,GAAG,SAAS,EACpC,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,iBAoFpB"}
@@ -8,7 +8,7 @@ import { getGenesisValues } from '@aztec/world-state/testing';
8
8
  import { mnemonicToAccount } from 'viem/accounts';
9
9
  import { addLeadingHex } from '../../utils/aztec.js';
10
10
  import { getSponsoredFPCAddress } from '../../utils/setup_contracts.js';
11
- export async function deployL1ContractsCmd(rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, testAccounts, sponsoredFPC, json, initialValidators, realVerifier, existingToken, log, debugLogger) {
11
+ export async function deployL1ContractsCmd(rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, testAccounts, sponsoredFPC, json, initialValidators, realVerifier, existingToken, verifyContracts, log, debugLogger) {
12
12
  const config = getL1ContractsConfigEnvVars();
13
13
  // Compute initial accounts for genesis (test accounts + sponsored FPC)
14
14
  const initialAccounts = testAccounts ? await getInitialTestAccountsData() : [];
@@ -48,7 +48,7 @@ export async function deployL1ContractsCmd(rpcUrls, chainId, privateKey, mnemoni
48
48
  ...config,
49
49
  feeJuicePortalInitialBalance: fundingNeeded,
50
50
  existingTokenAddress: existingToken
51
- });
51
+ }, verifyContracts);
52
52
  debugLogger.info('Forge deployment complete', {
53
53
  rollupVersion
54
54
  });
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQVUsTUFBTSxXQUFXLENBQUM7QUF3QmpELHdCQUFnQixjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBK2UvRSJ9
@@ -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":"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,WA+e/E"}
@@ -6,10 +6,10 @@ const l1RpcUrlsOption = new Option('--l1-rpc-urls <string>', 'List of Ethereum h
6
6
  ]).makeOptionMandatory(true).argParser((arg)=>arg.split(',').map((url)=>url.trim()));
7
7
  const networkOption = new Option('--network <string>', 'Network to execute against').env('NETWORK');
8
8
  export function injectCommands(program, log, debugLogger) {
9
- program.command('deploy-l1-contracts').description('Deploys all necessary Ethereum contracts for Aztec.').addOption(l1RpcUrlsOption).option('-pk, --private-key <string>', 'The private key to use for deployment', PRIVATE_KEY).option('--validators <string>', 'Comma separated list of validators').option('-m, --mnemonic <string>', 'The mnemonic to use in deployment', 'test test test test test test test test test test test junk').option('-i, --mnemonic-index <number>', 'The index of the mnemonic to use in deployment', (arg)=>parseInt(arg), 0).addOption(l1ChainIdOption).option('--json', 'Output the contract addresses in JSON format').option('--test-accounts', 'Populate genesis state with initial fee juice for test accounts').option('--sponsored-fpc', 'Populate genesis state with a testing sponsored FPC contract').option('--real-verifier', 'Deploy the real verifier', false).option('--existing-token <address>', 'Use an existing ERC20 for both fee and staking', parseEthereumAddress).action(async (options)=>{
9
+ program.command('deploy-l1-contracts').description('Deploys all necessary Ethereum contracts for Aztec.').addOption(l1RpcUrlsOption).option('-pk, --private-key <string>', 'The private key to use for deployment', PRIVATE_KEY).option('--validators <string>', 'Comma separated list of validators').option('-m, --mnemonic <string>', 'The mnemonic to use in deployment', 'test test test test test test test test test test test junk').option('-i, --mnemonic-index <number>', 'The index of the mnemonic to use in deployment', (arg)=>parseInt(arg), 0).addOption(l1ChainIdOption).option('--json', 'Output the contract addresses in JSON format').option('--test-accounts', 'Populate genesis state with initial fee juice for test accounts').option('--sponsored-fpc', 'Populate genesis state with a testing sponsored FPC contract').option('--real-verifier', 'Deploy the real verifier', false).option('--existing-token <address>', 'Use an existing ERC20 for both fee and staking', parseEthereumAddress).option('--verify-contracts', 'Verify deployed contracts on Etherscan', false).action(async (options)=>{
10
10
  const { deployL1ContractsCmd } = await import('./deploy_l1_contracts_cmd.js');
11
11
  const initialValidators = options.validators?.split(',').map((validator)=>EthAddress.fromString(validator)) || [];
12
- await deployL1ContractsCmd(options.l1RpcUrls, options.l1ChainId, options.privateKey, options.mnemonic, options.mnemonicIndex, options.testAccounts, options.sponsoredFpc, options.json, initialValidators, options.realVerifier, options.existingToken, log, debugLogger);
12
+ await deployL1ContractsCmd(options.l1RpcUrls, options.l1ChainId, options.privateKey, options.mnemonic, options.mnemonicIndex, options.testAccounts, options.sponsoredFpc, options.json, initialValidators, options.realVerifier, options.existingToken, options.verifyContracts, log, debugLogger);
13
13
  });
14
14
  program.command('deploy-new-rollup').description('Deploys a new rollup contract and adds it to the registry (if you are the owner).').requiredOption('-r, --registry-address <string>', 'The address of the registry contract', parseEthereumAddress).addOption(l1RpcUrlsOption).option('-pk, --private-key <string>', 'The private key to use for deployment', PRIVATE_KEY).option('--validators <string>', 'Comma separated list of validators').option('-m, --mnemonic <string>', 'The mnemonic to use in deployment', MNEMONIC ?? 'test test test test test test test test test test test junk').option('-i, --mnemonic-index <number>', 'The index of the mnemonic to use in deployment', (arg)=>parseInt(arg), 0).addOption(l1ChainIdOption).option('--json', 'Output the contract addresses in JSON format').option('--test-accounts', 'Populate genesis state with initial fee juice for test accounts').option('--sponsored-fpc', 'Populate genesis state with a testing sponsored FPC contract').option('--real-verifier', 'Deploy the real verifier', false).action(async (options)=>{
15
15
  const { deployNewRollup } = await import('./deploy_new_rollup.js');
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUEwQixLQUFLLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBYXpHOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLGdCQUFnQixDQUNwQyxXQUFXLEVBQUUsWUFBWSxFQUN6QixRQUFRLENBQUMsRUFBRSxNQUFNLEdBQ2hCLE9BQU8sQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLENBOEJwQztBQXVERDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixrQ0FBa0MsQ0FBQyxXQUFXLEVBQUUsWUFBWSxpQkFvQmpGIn0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUEwQixLQUFLLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBYXpHOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLGdCQUFnQixDQUNwQyxXQUFXLEVBQUUsWUFBWSxFQUN6QixRQUFRLENBQUMsRUFBRSxNQUFNLEdBQ2hCLE9BQU8sQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLENBOEJwQztBQXVERDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixrQ0FBa0MsQ0FBQyxXQUFXLEVBQUUsWUFBWSxpQkF3QmpGIn0=
@@ -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,iBAoBjF"}
1
+ {"version":3,"file":"network_config.d.ts","sourceRoot":"","sources":["../../src/config/network_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAA0B,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAazG;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,YAAY,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA8BpC;AAuDD;;;;;;;;GAQG;AACH,wBAAsB,kCAAkC,CAAC,WAAW,EAAE,YAAY,iBAwBjF"}
@@ -106,4 +106,7 @@ const NETWORK_CONFIG_CACHE_DURATION_MS = 60 * 60 * 1000; // 1 hour
106
106
  if (networkConfig.feeAssetHandlerAddress) {
107
107
  enrichEthAddressVar('FEE_ASSET_HANDLER_CONTRACT_ADDRESS', networkConfig.feeAssetHandlerAddress.toString());
108
108
  }
109
+ if (networkConfig.blobFileStoreUrls?.length) {
110
+ enrichVar('BLOB_FILE_STORE_URLS', networkConfig.blobFileStoreUrls.join(','));
111
+ }
109
112
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/cli",
3
- "version": "3.0.0-nightly.20251214",
3
+ "version": "3.0.0-nightly.20251217",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./contracts": "./dest/cmds/contracts/index.js",
@@ -74,21 +74,21 @@
74
74
  ]
75
75
  },
76
76
  "dependencies": {
77
- "@aztec/accounts": "3.0.0-nightly.20251214",
78
- "@aztec/archiver": "3.0.0-nightly.20251214",
79
- "@aztec/aztec.js": "3.0.0-nightly.20251214",
80
- "@aztec/constants": "3.0.0-nightly.20251214",
81
- "@aztec/entrypoints": "3.0.0-nightly.20251214",
82
- "@aztec/ethereum": "3.0.0-nightly.20251214",
83
- "@aztec/foundation": "3.0.0-nightly.20251214",
84
- "@aztec/l1-artifacts": "3.0.0-nightly.20251214",
85
- "@aztec/node-keystore": "3.0.0-nightly.20251214",
86
- "@aztec/node-lib": "3.0.0-nightly.20251214",
87
- "@aztec/p2p": "3.0.0-nightly.20251214",
88
- "@aztec/protocol-contracts": "3.0.0-nightly.20251214",
89
- "@aztec/stdlib": "3.0.0-nightly.20251214",
90
- "@aztec/test-wallet": "3.0.0-nightly.20251214",
91
- "@aztec/world-state": "3.0.0-nightly.20251214",
77
+ "@aztec/accounts": "3.0.0-nightly.20251217",
78
+ "@aztec/archiver": "3.0.0-nightly.20251217",
79
+ "@aztec/aztec.js": "3.0.0-nightly.20251217",
80
+ "@aztec/constants": "3.0.0-nightly.20251217",
81
+ "@aztec/entrypoints": "3.0.0-nightly.20251217",
82
+ "@aztec/ethereum": "3.0.0-nightly.20251217",
83
+ "@aztec/foundation": "3.0.0-nightly.20251217",
84
+ "@aztec/l1-artifacts": "3.0.0-nightly.20251217",
85
+ "@aztec/node-keystore": "3.0.0-nightly.20251217",
86
+ "@aztec/node-lib": "3.0.0-nightly.20251217",
87
+ "@aztec/p2p": "3.0.0-nightly.20251217",
88
+ "@aztec/protocol-contracts": "3.0.0-nightly.20251217",
89
+ "@aztec/stdlib": "3.0.0-nightly.20251217",
90
+ "@aztec/test-wallet": "3.0.0-nightly.20251217",
91
+ "@aztec/world-state": "3.0.0-nightly.20251217",
92
92
  "@ethersproject/wallet": "^5.8.0",
93
93
  "@iarna/toml": "^2.2.5",
94
94
  "@libp2p/peer-id-factory": "^3.0.4",
@@ -102,9 +102,9 @@
102
102
  "viem": "npm:@aztec/viem@2.38.2"
103
103
  },
104
104
  "devDependencies": {
105
- "@aztec/aztec-node": "3.0.0-nightly.20251214",
106
- "@aztec/kv-store": "3.0.0-nightly.20251214",
107
- "@aztec/telemetry-client": "3.0.0-nightly.20251214",
105
+ "@aztec/aztec-node": "3.0.0-nightly.20251217",
106
+ "@aztec/kv-store": "3.0.0-nightly.20251217",
107
+ "@aztec/telemetry-client": "3.0.0-nightly.20251217",
108
108
  "@jest/globals": "^30.0.0",
109
109
  "@types/jest": "^30.0.0",
110
110
  "@types/lodash.chunk": "^4.2.9",
@@ -121,15 +121,15 @@
121
121
  "typescript": "^5.3.3"
122
122
  },
123
123
  "peerDependencies": {
124
- "@aztec/accounts": "3.0.0-nightly.20251214",
125
- "@aztec/bb-prover": "3.0.0-nightly.20251214",
126
- "@aztec/ethereum": "3.0.0-nightly.20251214",
127
- "@aztec/l1-artifacts": "3.0.0-nightly.20251214",
128
- "@aztec/noir-contracts.js": "3.0.0-nightly.20251214",
129
- "@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251214",
130
- "@aztec/noir-test-contracts.js": "3.0.0-nightly.20251214",
131
- "@aztec/protocol-contracts": "3.0.0-nightly.20251214",
132
- "@aztec/stdlib": "3.0.0-nightly.20251214"
124
+ "@aztec/accounts": "3.0.0-nightly.20251217",
125
+ "@aztec/bb-prover": "3.0.0-nightly.20251217",
126
+ "@aztec/ethereum": "3.0.0-nightly.20251217",
127
+ "@aztec/l1-artifacts": "3.0.0-nightly.20251217",
128
+ "@aztec/noir-contracts.js": "3.0.0-nightly.20251217",
129
+ "@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251217",
130
+ "@aztec/noir-test-contracts.js": "3.0.0-nightly.20251217",
131
+ "@aztec/protocol-contracts": "3.0.0-nightly.20251217",
132
+ "@aztec/stdlib": "3.0.0-nightly.20251217"
133
133
  },
134
134
  "files": [
135
135
  "dest",
@@ -25,6 +25,7 @@ export async function deployL1ContractsCmd(
25
25
  initialValidators: EthAddress[],
26
26
  realVerifier: boolean,
27
27
  existingToken: EthAddress | undefined,
28
+ verifyContracts: boolean | undefined,
28
29
  log: LogFn,
29
30
  debugLogger: Logger,
30
31
  ) {
@@ -59,19 +60,25 @@ export async function deployL1ContractsCmd(
59
60
  debugLogger.info('Deploying L1 contracts via Forge...');
60
61
 
61
62
  // Deploy using l1-contracts Forge scripts
62
- const { l1ContractAddresses, rollupVersion } = await deployAztecL1Contracts(rpcUrls[0], deployerPrivateKey, chainId, {
63
- // Initial validators to add during deployment
64
- initialValidators: initialValidatorOperators,
65
- // Genesis config
66
- vkTreeRoot,
67
- protocolContractsHash,
68
- genesisArchiveRoot,
69
- // Deployment options
70
- realVerifier,
71
- ...config,
72
- feeJuicePortalInitialBalance: fundingNeeded,
73
- existingTokenAddress: existingToken,
74
- });
63
+ const { l1ContractAddresses, rollupVersion } = await deployAztecL1Contracts(
64
+ rpcUrls[0],
65
+ deployerPrivateKey,
66
+ chainId,
67
+ {
68
+ // Initial validators to add during deployment
69
+ initialValidators: initialValidatorOperators,
70
+ // Genesis config
71
+ vkTreeRoot,
72
+ protocolContractsHash,
73
+ genesisArchiveRoot,
74
+ // Deployment options
75
+ realVerifier,
76
+ ...config,
77
+ feeJuicePortalInitialBalance: fundingNeeded,
78
+ existingTokenAddress: existingToken,
79
+ },
80
+ verifyContracts,
81
+ );
75
82
 
76
83
  debugLogger.info('Forge deployment complete', { rollupVersion });
77
84
 
@@ -44,6 +44,7 @@ export function injectCommands(program: Command, log: LogFn, debugLogger: Logger
44
44
  .option('--sponsored-fpc', 'Populate genesis state with a testing sponsored FPC contract')
45
45
  .option('--real-verifier', 'Deploy the real verifier', false)
46
46
  .option('--existing-token <address>', 'Use an existing ERC20 for both fee and staking', parseEthereumAddress)
47
+ .option('--verify-contracts', 'Verify deployed contracts on Etherscan', false)
47
48
  .action(async options => {
48
49
  const { deployL1ContractsCmd } = await import('./deploy_l1_contracts_cmd.js');
49
50
 
@@ -61,6 +62,7 @@ export function injectCommands(program: Command, log: LogFn, debugLogger: Logger
61
62
  initialValidators,
62
63
  options.realVerifier,
63
64
  options.existingToken,
65
+ options.verifyContracts,
64
66
  log,
65
67
  debugLogger,
66
68
  );
@@ -137,4 +137,8 @@ export async function enrichEnvironmentWithNetworkConfig(networkName: NetworkNam
137
137
  if (networkConfig.feeAssetHandlerAddress) {
138
138
  enrichEthAddressVar('FEE_ASSET_HANDLER_CONTRACT_ADDRESS', networkConfig.feeAssetHandlerAddress.toString());
139
139
  }
140
+
141
+ if (networkConfig.blobFileStoreUrls?.length) {
142
+ enrichVar('BLOB_FILE_STORE_URLS', networkConfig.blobFileStoreUrls.join(','));
143
+ }
140
144
  }