@aztec/aztec 0.77.0 → 0.78.0
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.
- package/dest/cli/aztec_start_action.d.ts.map +1 -1
- package/dest/cli/aztec_start_action.js +5 -0
- package/dest/cli/aztec_start_options.d.ts.map +1 -1
- package/dest/cli/aztec_start_options.js +8 -0
- package/dest/cli/chain_l2_config.d.ts +19 -0
- package/dest/cli/chain_l2_config.d.ts.map +1 -0
- package/dest/cli/chain_l2_config.js +56 -0
- package/dest/cli/cmds/start_prover_broker.d.ts.map +1 -1
- package/dest/cli/cmds/start_prover_broker.js +6 -0
- package/dest/cli/cmds/start_pxe.d.ts +1 -1
- package/dest/cli/cmds/start_pxe.d.ts.map +1 -1
- package/dest/cli/cmds/start_pxe.js +1 -1
- package/dest/cli/util.d.ts +1 -1
- package/dest/cli/util.d.ts.map +1 -1
- package/dest/sandbox/sandbox.d.ts +3 -3
- package/dest/sandbox/sandbox.d.ts.map +1 -1
- package/dest/sandbox/sandbox.js +1 -1
- package/package.json +29 -29
- package/src/cli/aztec_start_action.ts +5 -0
- package/src/cli/aztec_start_options.ts +8 -0
- package/src/cli/chain_l2_config.ts +74 -0
- package/src/cli/cmds/start_prover_broker.ts +9 -0
- package/src/cli/cmds/start_pxe.ts +1 -1
- package/src/cli/util.ts +1 -1
- package/src/sandbox/sandbox.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aztec_start_action.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_action.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"aztec_start_action.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_action.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAmB3D,wBAAsB,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAyFjF"}
|
|
@@ -7,6 +7,7 @@ import { readFileSync } from 'fs';
|
|
|
7
7
|
import { dirname, resolve } from 'path';
|
|
8
8
|
import { createSandbox } from '../sandbox/index.js';
|
|
9
9
|
import { github, splash } from '../splash.js';
|
|
10
|
+
import { enrichEnvironmentWithChainConfig } from './chain_l2_config.js';
|
|
10
11
|
import { extractNamespacedOptions, installSignalHandlers } from './util.js';
|
|
11
12
|
import { getVersions } from './versioning.js';
|
|
12
13
|
const packageJsonPath = resolve(dirname(fileURLToPath(import.meta.url)), '../../package.json');
|
|
@@ -43,6 +44,10 @@ export async function aztecStart(options, userLog, debugLogger) {
|
|
|
43
44
|
userLog(`Not exposing PXE API through JSON-RPC server`);
|
|
44
45
|
}
|
|
45
46
|
} else {
|
|
47
|
+
// If a network is specified, enrich the environment with the chain config
|
|
48
|
+
if (options.network) {
|
|
49
|
+
await enrichEnvironmentWithChainConfig(options.network);
|
|
50
|
+
}
|
|
46
51
|
if (options.node) {
|
|
47
52
|
const { startNode } = await import('./cmds/start_node.js');
|
|
48
53
|
({ config } = await startNode(options, signalHandlers, services, userLog));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aztec_start_options.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_options.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,MAAM,EAIZ,MAAM,0BAA0B,CAAC;AAelC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,GAAG,GAAG,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;CACjC;AAED,eAAO,MAAM,UAAU,cAAe,MAAM,kBAAkB,OAAO,MAAM,EAAE,aAAa,CAAC,uBAiB1F,CAAC;AAGF,eAAO,MAAM,gBAAgB,UAA2E,CAAC;AAGzG,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"aztec_start_options.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_options.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,MAAM,EAIZ,MAAM,0BAA0B,CAAC;AAelC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,GAAG,GAAG,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;CACjC;AAED,eAAO,MAAM,UAAU,cAAe,MAAM,kBAAkB,OAAO,MAAM,EAAE,aAAa,CAAC,uBAiB1F,CAAC;AAGF,eAAO,MAAM,gBAAgB,UAA2E,CAAC;AAGzG,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CAwTlE,CAAC"}
|
|
@@ -38,6 +38,14 @@ export const universalOptions = [
|
|
|
38
38
|
];
|
|
39
39
|
// Define categories and options
|
|
40
40
|
export const aztecStartOptions = {
|
|
41
|
+
NETWORK: [
|
|
42
|
+
{
|
|
43
|
+
flag: '--network <value>',
|
|
44
|
+
description: 'Network to run Aztec on',
|
|
45
|
+
defaultValue: undefined,
|
|
46
|
+
envVar: 'NETWORK'
|
|
47
|
+
}
|
|
48
|
+
],
|
|
41
49
|
SANDBOX: [
|
|
42
50
|
{
|
|
43
51
|
flag: '--sandbox',
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type NetworkNames = 'testnet-ignition';
|
|
2
|
+
export type L2ChainConfig = {
|
|
3
|
+
l1ChainId: number;
|
|
4
|
+
ethereumSlotDuration: number;
|
|
5
|
+
aztecSlotDuration: number;
|
|
6
|
+
aztecEpochDuration: number;
|
|
7
|
+
aztecProofSubmissionWindow: number;
|
|
8
|
+
testAccounts: boolean;
|
|
9
|
+
p2pEnabled: boolean;
|
|
10
|
+
p2pBootstrapNodes: string[];
|
|
11
|
+
registryAddress: string;
|
|
12
|
+
seqMinTxsPerBlock: number;
|
|
13
|
+
seqMaxTxsPerBlock: number;
|
|
14
|
+
};
|
|
15
|
+
export declare const testnetIgnitionL2ChainConfig: L2ChainConfig;
|
|
16
|
+
export declare function getBootnodes(networkName: NetworkNames): Promise<any>;
|
|
17
|
+
export declare function getL2ChainConfig(networkName: NetworkNames): Promise<L2ChainConfig | undefined>;
|
|
18
|
+
export declare function enrichEnvironmentWithChainConfig(networkName: NetworkNames): Promise<void>;
|
|
19
|
+
//# sourceMappingURL=chain_l2_config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain_l2_config.d.ts","sourceRoot":"","sources":["../../src/cli/chain_l2_config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,0BAA0B,EAAE,MAAM,CAAC;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,aAY1C,CAAC;AAEF,wBAAsB,YAAY,CAAC,WAAW,EAAE,YAAY,gBAQ3D;AAED,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAOpG;AAUD,wBAAsB,gCAAgC,CAAC,WAAW,EAAE,YAAY,iBAgB/E"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export const testnetIgnitionL2ChainConfig = {
|
|
2
|
+
l1ChainId: 11155111,
|
|
3
|
+
ethereumSlotDuration: 12,
|
|
4
|
+
aztecSlotDuration: 36,
|
|
5
|
+
aztecEpochDuration: 32,
|
|
6
|
+
aztecProofSubmissionWindow: 64,
|
|
7
|
+
testAccounts: true,
|
|
8
|
+
p2pEnabled: true,
|
|
9
|
+
p2pBootstrapNodes: [],
|
|
10
|
+
registryAddress: '0x12b3ebc176a1646b911391eab3760764f2e05fe3',
|
|
11
|
+
seqMinTxsPerBlock: 0,
|
|
12
|
+
seqMaxTxsPerBlock: 0
|
|
13
|
+
};
|
|
14
|
+
export async function getBootnodes(networkName) {
|
|
15
|
+
const url = `http://static.aztec.network/${networkName}/bootnodes.json`;
|
|
16
|
+
const response = await fetch(url);
|
|
17
|
+
if (!response.ok) {
|
|
18
|
+
throw new Error(`Failed to fetch basic contract addresses from ${url}`);
|
|
19
|
+
}
|
|
20
|
+
const json = await response.json();
|
|
21
|
+
return json['bootnodes'];
|
|
22
|
+
}
|
|
23
|
+
export async function getL2ChainConfig(networkName) {
|
|
24
|
+
if (networkName === 'testnet-ignition') {
|
|
25
|
+
const config = {
|
|
26
|
+
...testnetIgnitionL2ChainConfig
|
|
27
|
+
};
|
|
28
|
+
config.p2pBootstrapNodes = await getBootnodes(networkName);
|
|
29
|
+
return config;
|
|
30
|
+
}
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
function enrichVar(envVar, value) {
|
|
34
|
+
// Don't override
|
|
35
|
+
if (process.env[envVar]) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
process.env[envVar] = value;
|
|
39
|
+
}
|
|
40
|
+
export async function enrichEnvironmentWithChainConfig(networkName) {
|
|
41
|
+
const config = await getL2ChainConfig(networkName);
|
|
42
|
+
if (!config) {
|
|
43
|
+
throw new Error(`Unknown network name: ${networkName}`);
|
|
44
|
+
}
|
|
45
|
+
enrichVar('ETHEREUM_SLOT_DURATION', config.ethereumSlotDuration.toString());
|
|
46
|
+
enrichVar('AZTEC_SLOT_DURATION', config.aztecSlotDuration.toString());
|
|
47
|
+
enrichVar('AZTEC_EPOCH_DURATION', config.aztecEpochDuration.toString());
|
|
48
|
+
enrichVar('AZTEC_PROOF_SUBMISSION_WINDOW', config.aztecProofSubmissionWindow.toString());
|
|
49
|
+
enrichVar('P2P_BOOTSTRAP_NODES', config.p2pBootstrapNodes.join(','));
|
|
50
|
+
enrichVar('TEST_ACCOUNTS', config.testAccounts.toString());
|
|
51
|
+
enrichVar('P2P_ENABLED', config.p2pEnabled.toString());
|
|
52
|
+
enrichVar('L1_CHAIN_ID', config.l1ChainId.toString());
|
|
53
|
+
enrichVar('REGISTRY_CONTRACT_ADDRESS', config.registryAddress);
|
|
54
|
+
enrichVar('SEQ_MIN_TX_PER_BLOCK', config.seqMinTxsPerBlock.toString());
|
|
55
|
+
enrichVar('SEQ_MAX_TX_PER_BLOCK', config.seqMaxTxsPerBlock.toString());
|
|
56
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start_prover_broker.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_prover_broker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"start_prover_broker.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_prover_broker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAMxE,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,KAAK,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAyBnE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ProvingJobBrokerSchema, createAndStartProvingBroker, proverBrokerConfigMappings } from '@aztec/prover-client/broker';
|
|
2
2
|
import { getProverNodeBrokerConfigFromEnv } from '@aztec/prover-node';
|
|
3
3
|
import { getConfigEnvVars as getTelemetryClientConfig, initTelemetryClient } from '@aztec/telemetry-client';
|
|
4
|
+
import { getL1Config } from '../get_l1_config.js';
|
|
4
5
|
import { extractRelevantOptions } from '../util.js';
|
|
5
6
|
export async function startProverBroker(options, signalHandlers, services, userLog) {
|
|
6
7
|
if (options.node || options.sequencer || options.pxe || options.p2pBootstrap || options.txe) {
|
|
@@ -11,6 +12,11 @@ export async function startProverBroker(options, signalHandlers, services, userL
|
|
|
11
12
|
...getProverNodeBrokerConfigFromEnv(),
|
|
12
13
|
...extractRelevantOptions(options, proverBrokerConfigMappings, 'proverBroker')
|
|
13
14
|
};
|
|
15
|
+
if (!config.l1Contracts.registryAddress || config.l1Contracts.registryAddress.isZero()) {
|
|
16
|
+
throw new Error('L1 registry address is required to start Aztec Node without --deploy-aztec-contracts option');
|
|
17
|
+
}
|
|
18
|
+
const { addresses } = await getL1Config(config.l1Contracts.registryAddress, config.l1RpcUrls, config.l1ChainId);
|
|
19
|
+
config.l1Contracts = addresses;
|
|
14
20
|
const client = initTelemetryClient(getTelemetryClientConfig());
|
|
15
21
|
const broker = await createAndStartProvingBroker(config, client);
|
|
16
22
|
services.proverBroker = [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { NamespacedApiHandlers } from '@aztec/foundation/json-rpc/server';
|
|
2
2
|
import type { LogFn } from '@aztec/foundation/log';
|
|
3
|
-
import { type CliPXEOptions, type PXEService, type PXEServiceConfig } from '@aztec/pxe';
|
|
3
|
+
import { type CliPXEOptions, type PXEService, type PXEServiceConfig } from '@aztec/pxe/server';
|
|
4
4
|
import { type AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
5
5
|
export type { PXEServiceConfig, CliPXEOptions };
|
|
6
6
|
export declare function startPXE(options: any, signalHandlers: (() => Promise<void>)[], services: NamespacedApiHandlers, userLog: LogFn): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start_pxe.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_pxe.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,gBAAgB,EAGtB,MAAM,
|
|
1
|
+
{"version":3,"file":"start_pxe.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_pxe.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,gBAAgB,EAGtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,SAAS,EAAoC,MAAM,iCAAiC,CAAC;AAOnG,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;AAIhD,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,KAAK,GACb,OAAO,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,gBAAgB,GAAG,aAAa,CAAA;CAAE,CAAC,CAExE;AAcD,wBAAsB,MAAM,CAC1B,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,KAAK,EACd,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,SAAS,CAAA;CAAO,GAC9B,OAAO,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,gBAAgB,GAAG,aAAa,CAAA;CAAE,CAAC,CAwExE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AztecAddress, Fr, PublicKeys, getContractClassFromArtifact } from '@aztec/aztec.js';
|
|
2
2
|
import { getContractArtifact } from '@aztec/cli/cli-utils';
|
|
3
|
-
import { allPxeConfigMappings, createPXEService } from '@aztec/pxe';
|
|
3
|
+
import { allPxeConfigMappings, createPXEService } from '@aztec/pxe/server';
|
|
4
4
|
import { PXESchema, createAztecNodeClient } from '@aztec/stdlib/interfaces/client';
|
|
5
5
|
import { L2BasicContractsMap, Network } from '@aztec/stdlib/network';
|
|
6
6
|
import { makeTracedFetch } from '@aztec/telemetry-client';
|
package/dest/cli/util.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AccountManager, Fr } from '@aztec/aztec.js';
|
|
2
2
|
import type { ConfigMappingsType } from '@aztec/foundation/config';
|
|
3
3
|
import type { LogFn } from '@aztec/foundation/log';
|
|
4
|
-
import type { PXEService } from '@aztec/pxe';
|
|
4
|
+
import type { PXEService } from '@aztec/pxe/server';
|
|
5
5
|
import type { Command } from 'commander';
|
|
6
6
|
import { type AztecStartOption } from './aztec_start_options.js';
|
|
7
7
|
export declare const installSignalHandlers: (logFn: LogFn, cb?: Array<() => Promise<void>>) => void;
|
package/dest/cli/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/cli/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/cli/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,KAAK,gBAAgB,EAAqB,MAAM,0BAA0B,CAAC;AAEpF,eAAO,MAAM,qBAAqB,UAAW,KAAK,OAAO,MAAM,MAAM,QAAQ,IAAI,CAAC,CAAC,SAclF,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,sBAAsB,EAAE;IACtB;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IACxB;;OAEG;IACH,SAAS,EAAE,EAAE,CAAC;CACf,EAAE,EACH,GAAG,EAAE,UAAU,qBAyBhB;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAiB/F;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAKR;AAmBD,eAAO,MAAM,UAAU,QAAS,OAAO,WAAW,gBAAgB,EAAE,SASnE,CAAC;AAEF,eAAO,MAAM,uBAAuB,cAwBnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,YAAa,OAAO,MAAM,EAAE,GAAG,CAAC,aAAa,MAAM,wBASvF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,eACxB,OAAO,MAAM,EAAE,GAAG,CAAC,YAClB,mBAAmB,CAAC,CAAC,aACpB,MAAM,KAChB,CA8BF,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { type AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
|
|
|
3
3
|
import { type BlobSinkClientInterface } from '@aztec/blob-sink/client';
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
5
|
import { type LogFn } from '@aztec/foundation/log';
|
|
6
|
-
import { type PXEServiceConfig } from '@aztec/pxe';
|
|
6
|
+
import { type PXEServiceConfig } from '@aztec/pxe/server';
|
|
7
7
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
8
8
|
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
9
9
|
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
@@ -55,7 +55,7 @@ export type SandboxConfig = AztecNodeConfig & {
|
|
|
55
55
|
*/
|
|
56
56
|
export declare function createSandbox(config: Partial<SandboxConfig> | undefined, userLog: LogFn): Promise<{
|
|
57
57
|
node: AztecNodeService;
|
|
58
|
-
pxe: import("@aztec/pxe").PXEService;
|
|
58
|
+
pxe: import("@aztec/pxe/server").PXEService;
|
|
59
59
|
stop: () => Promise<void>;
|
|
60
60
|
}>;
|
|
61
61
|
/**
|
|
@@ -72,5 +72,5 @@ export declare function createAztecNode(config?: Partial<AztecNodeConfig>, deps?
|
|
|
72
72
|
* Create and start a new Aztec PXE HTTP Server
|
|
73
73
|
* @param config - Optional PXE settings.
|
|
74
74
|
*/
|
|
75
|
-
export declare function createAztecPXE(node: AztecNode, config?: Partial<PXEServiceConfig>): Promise<import("@aztec/pxe").PXEService>;
|
|
75
|
+
export declare function createAztecPXE(node: AztecNode, config?: Partial<PXEServiceConfig>): Promise<import("@aztec/pxe/server").PXEService>;
|
|
76
76
|
//# sourceMappingURL=sandbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/sandbox/sandbox.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAoB,MAAM,mBAAmB,CAAC;AAE7F,OAAO,EAAE,KAAK,uBAAuB,EAAwB,MAAM,yBAAyB,CAAC;AAU7F,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,uBAAuB,CAAC;AAGjE,OAAO,EAAE,KAAK,gBAAgB,EAAyC,MAAM,
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/sandbox/sandbox.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAoB,MAAM,mBAAmB,CAAC;AAE7F,OAAO,EAAE,KAAK,uBAAuB,EAAwB,MAAM,yBAAyB,CAAC;AAU7F,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,uBAAuB,CAAC;AAGjE,OAAO,EAAE,KAAK,gBAAgB,EAAyC,MAAM,mBAAmB,CAAC;AACjG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,iBAAiB,EAA2D,MAAM,MAAM,CAAC;AAavH;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,GAAG,iBAAiB,EACxC,oBAAoB,mCAAS,EAC7B,IAAI,GAAE;IAAE,8BAA8B,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC;IAAC,gBAAgB,CAAC,EAAE,EAAE,CAAA;CAAO;;;;;;;;;;;;;;;;;;GA6BtH;AAED,wBAAwB;AACxB,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG;IAC5C,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,EAAE,OAAO,CAAC;IACf,uDAAuD;IACvD,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,MAAM,oCAA6B,EAAE,OAAO,EAAE,KAAK;;;;GAkGtF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,EACrC,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,eAAe,CAAC;IAAC,cAAc,CAAC,EAAE,uBAAuB,CAAA;CAAO,EACpF,OAAO,GAAE;IAAE,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAAO,6BAY7D;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,GAAE,OAAO,CAAC,gBAAgB,CAAM,mDAI3F"}
|
package/dest/sandbox/sandbox.js
CHANGED
|
@@ -11,7 +11,7 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
11
11
|
import { createLogger } from '@aztec/foundation/log';
|
|
12
12
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
13
13
|
import { ProtocolContractAddress, protocolContractTreeRoot } from '@aztec/protocol-contracts';
|
|
14
|
-
import { createPXEService, getPXEServiceConfig } from '@aztec/pxe';
|
|
14
|
+
import { createPXEService, getPXEServiceConfig } from '@aztec/pxe/server';
|
|
15
15
|
import { getConfigEnvVars as getTelemetryClientConfig, initTelemetryClient } from '@aztec/telemetry-client';
|
|
16
16
|
import { getGenesisValues } from '@aztec/world-state/testing';
|
|
17
17
|
import { createPublicClient, fallback, http as httpViemTransport } from 'viem';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/aztec",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.78.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js"
|
|
@@ -29,34 +29,34 @@
|
|
|
29
29
|
"../package.common.json"
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@aztec/accounts": "0.
|
|
33
|
-
"@aztec/archiver": "0.
|
|
34
|
-
"@aztec/aztec-faucet": "0.
|
|
35
|
-
"@aztec/aztec-node": "0.
|
|
36
|
-
"@aztec/aztec.js": "0.
|
|
37
|
-
"@aztec/bb-prover": "0.
|
|
38
|
-
"@aztec/blob-sink": "0.
|
|
39
|
-
"@aztec/bot": "0.
|
|
40
|
-
"@aztec/builder": "0.
|
|
41
|
-
"@aztec/cli": "0.
|
|
42
|
-
"@aztec/cli-wallet": "0.
|
|
43
|
-
"@aztec/constants": "0.
|
|
44
|
-
"@aztec/entrypoints": "0.
|
|
45
|
-
"@aztec/ethereum": "0.
|
|
46
|
-
"@aztec/foundation": "0.
|
|
47
|
-
"@aztec/kv-store": "0.
|
|
48
|
-
"@aztec/noir-contracts.js": "0.
|
|
49
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
50
|
-
"@aztec/p2p": "0.
|
|
51
|
-
"@aztec/p2p-bootstrap": "0.
|
|
52
|
-
"@aztec/protocol-contracts": "0.
|
|
53
|
-
"@aztec/prover-client": "0.
|
|
54
|
-
"@aztec/prover-node": "0.
|
|
55
|
-
"@aztec/pxe": "0.
|
|
56
|
-
"@aztec/stdlib": "0.
|
|
57
|
-
"@aztec/telemetry-client": "0.
|
|
58
|
-
"@aztec/txe": "0.
|
|
59
|
-
"@aztec/world-state": "0.
|
|
32
|
+
"@aztec/accounts": "0.78.0",
|
|
33
|
+
"@aztec/archiver": "0.78.0",
|
|
34
|
+
"@aztec/aztec-faucet": "0.78.0",
|
|
35
|
+
"@aztec/aztec-node": "0.78.0",
|
|
36
|
+
"@aztec/aztec.js": "0.78.0",
|
|
37
|
+
"@aztec/bb-prover": "0.78.0",
|
|
38
|
+
"@aztec/blob-sink": "0.78.0",
|
|
39
|
+
"@aztec/bot": "0.78.0",
|
|
40
|
+
"@aztec/builder": "0.78.0",
|
|
41
|
+
"@aztec/cli": "0.78.0",
|
|
42
|
+
"@aztec/cli-wallet": "0.78.0",
|
|
43
|
+
"@aztec/constants": "0.78.0",
|
|
44
|
+
"@aztec/entrypoints": "0.78.0",
|
|
45
|
+
"@aztec/ethereum": "0.78.0",
|
|
46
|
+
"@aztec/foundation": "0.78.0",
|
|
47
|
+
"@aztec/kv-store": "0.78.0",
|
|
48
|
+
"@aztec/noir-contracts.js": "0.78.0",
|
|
49
|
+
"@aztec/noir-protocol-circuits-types": "0.78.0",
|
|
50
|
+
"@aztec/p2p": "0.78.0",
|
|
51
|
+
"@aztec/p2p-bootstrap": "0.78.0",
|
|
52
|
+
"@aztec/protocol-contracts": "0.78.0",
|
|
53
|
+
"@aztec/prover-client": "0.78.0",
|
|
54
|
+
"@aztec/prover-node": "0.78.0",
|
|
55
|
+
"@aztec/pxe": "0.78.0",
|
|
56
|
+
"@aztec/stdlib": "0.78.0",
|
|
57
|
+
"@aztec/telemetry-client": "0.78.0",
|
|
58
|
+
"@aztec/txe": "0.78.0",
|
|
59
|
+
"@aztec/world-state": "0.78.0",
|
|
60
60
|
"@types/chalk": "^2.2.0",
|
|
61
61
|
"abitype": "^0.8.11",
|
|
62
62
|
"chalk": "^5.3.0",
|
|
@@ -15,6 +15,7 @@ import { dirname, resolve } from 'path';
|
|
|
15
15
|
|
|
16
16
|
import { createSandbox } from '../sandbox/index.js';
|
|
17
17
|
import { github, splash } from '../splash.js';
|
|
18
|
+
import { enrichEnvironmentWithChainConfig } from './chain_l2_config.js';
|
|
18
19
|
import { extractNamespacedOptions, installSignalHandlers } from './util.js';
|
|
19
20
|
import { getVersions } from './versioning.js';
|
|
20
21
|
|
|
@@ -53,6 +54,10 @@ export async function aztecStart(options: any, userLog: LogFn, debugLogger: Logg
|
|
|
53
54
|
userLog(`Not exposing PXE API through JSON-RPC server`);
|
|
54
55
|
}
|
|
55
56
|
} else {
|
|
57
|
+
// If a network is specified, enrich the environment with the chain config
|
|
58
|
+
if (options.network) {
|
|
59
|
+
await enrichEnvironmentWithChainConfig(options.network);
|
|
60
|
+
}
|
|
56
61
|
if (options.node) {
|
|
57
62
|
const { startNode } = await import('./cmds/start_node.js');
|
|
58
63
|
({ config } = await startNode(options, signalHandlers, services, userLog));
|
|
@@ -57,6 +57,14 @@ export const universalOptions = ['l1RpcUrls', 'l1ChainId', 'l1Contracts', 'p2pEn
|
|
|
57
57
|
|
|
58
58
|
// Define categories and options
|
|
59
59
|
export const aztecStartOptions: { [key: string]: AztecStartOption[] } = {
|
|
60
|
+
NETWORK: [
|
|
61
|
+
{
|
|
62
|
+
flag: '--network <value>',
|
|
63
|
+
description: 'Network to run Aztec on',
|
|
64
|
+
defaultValue: undefined,
|
|
65
|
+
envVar: 'NETWORK',
|
|
66
|
+
},
|
|
67
|
+
],
|
|
60
68
|
SANDBOX: [
|
|
61
69
|
{
|
|
62
70
|
flag: '--sandbox',
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export type NetworkNames = 'testnet-ignition';
|
|
2
|
+
|
|
3
|
+
export type L2ChainConfig = {
|
|
4
|
+
l1ChainId: number;
|
|
5
|
+
ethereumSlotDuration: number;
|
|
6
|
+
aztecSlotDuration: number;
|
|
7
|
+
aztecEpochDuration: number;
|
|
8
|
+
aztecProofSubmissionWindow: number;
|
|
9
|
+
testAccounts: boolean;
|
|
10
|
+
p2pEnabled: boolean;
|
|
11
|
+
p2pBootstrapNodes: string[];
|
|
12
|
+
registryAddress: string;
|
|
13
|
+
seqMinTxsPerBlock: number;
|
|
14
|
+
seqMaxTxsPerBlock: number;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export const testnetIgnitionL2ChainConfig: L2ChainConfig = {
|
|
18
|
+
l1ChainId: 11155111,
|
|
19
|
+
ethereumSlotDuration: 12,
|
|
20
|
+
aztecSlotDuration: 36,
|
|
21
|
+
aztecEpochDuration: 32,
|
|
22
|
+
aztecProofSubmissionWindow: 64,
|
|
23
|
+
testAccounts: true,
|
|
24
|
+
p2pEnabled: true,
|
|
25
|
+
p2pBootstrapNodes: [],
|
|
26
|
+
registryAddress: '0x12b3ebc176a1646b911391eab3760764f2e05fe3',
|
|
27
|
+
seqMinTxsPerBlock: 0,
|
|
28
|
+
seqMaxTxsPerBlock: 0,
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export async function getBootnodes(networkName: NetworkNames) {
|
|
32
|
+
const url = `http://static.aztec.network/${networkName}/bootnodes.json`;
|
|
33
|
+
const response = await fetch(url);
|
|
34
|
+
if (!response.ok) {
|
|
35
|
+
throw new Error(`Failed to fetch basic contract addresses from ${url}`);
|
|
36
|
+
}
|
|
37
|
+
const json = await response.json();
|
|
38
|
+
return json['bootnodes'];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export async function getL2ChainConfig(networkName: NetworkNames): Promise<L2ChainConfig | undefined> {
|
|
42
|
+
if (networkName === 'testnet-ignition') {
|
|
43
|
+
const config = { ...testnetIgnitionL2ChainConfig };
|
|
44
|
+
config.p2pBootstrapNodes = await getBootnodes(networkName);
|
|
45
|
+
return config;
|
|
46
|
+
}
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function enrichVar(envVar: string, value: string) {
|
|
51
|
+
// Don't override
|
|
52
|
+
if (process.env[envVar]) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
process.env[envVar] = value;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export async function enrichEnvironmentWithChainConfig(networkName: NetworkNames) {
|
|
59
|
+
const config = await getL2ChainConfig(networkName);
|
|
60
|
+
if (!config) {
|
|
61
|
+
throw new Error(`Unknown network name: ${networkName}`);
|
|
62
|
+
}
|
|
63
|
+
enrichVar('ETHEREUM_SLOT_DURATION', config.ethereumSlotDuration.toString());
|
|
64
|
+
enrichVar('AZTEC_SLOT_DURATION', config.aztecSlotDuration.toString());
|
|
65
|
+
enrichVar('AZTEC_EPOCH_DURATION', config.aztecEpochDuration.toString());
|
|
66
|
+
enrichVar('AZTEC_PROOF_SUBMISSION_WINDOW', config.aztecProofSubmissionWindow.toString());
|
|
67
|
+
enrichVar('P2P_BOOTSTRAP_NODES', config.p2pBootstrapNodes.join(','));
|
|
68
|
+
enrichVar('TEST_ACCOUNTS', config.testAccounts.toString());
|
|
69
|
+
enrichVar('P2P_ENABLED', config.p2pEnabled.toString());
|
|
70
|
+
enrichVar('L1_CHAIN_ID', config.l1ChainId.toString());
|
|
71
|
+
enrichVar('REGISTRY_CONTRACT_ADDRESS', config.registryAddress);
|
|
72
|
+
enrichVar('SEQ_MIN_TX_PER_BLOCK', config.seqMinTxsPerBlock.toString());
|
|
73
|
+
enrichVar('SEQ_MAX_TX_PER_BLOCK', config.seqMaxTxsPerBlock.toString());
|
|
74
|
+
}
|
|
@@ -10,6 +10,7 @@ import { getProverNodeBrokerConfigFromEnv } from '@aztec/prover-node';
|
|
|
10
10
|
import type { ProvingJobBroker } from '@aztec/stdlib/interfaces/server';
|
|
11
11
|
import { getConfigEnvVars as getTelemetryClientConfig, initTelemetryClient } from '@aztec/telemetry-client';
|
|
12
12
|
|
|
13
|
+
import { getL1Config } from '../get_l1_config.js';
|
|
13
14
|
import { extractRelevantOptions } from '../util.js';
|
|
14
15
|
|
|
15
16
|
export async function startProverBroker(
|
|
@@ -28,6 +29,14 @@ export async function startProverBroker(
|
|
|
28
29
|
...extractRelevantOptions<ProverBrokerConfig>(options, proverBrokerConfigMappings, 'proverBroker'), // override with command line options
|
|
29
30
|
};
|
|
30
31
|
|
|
32
|
+
if (!config.l1Contracts.registryAddress || config.l1Contracts.registryAddress.isZero()) {
|
|
33
|
+
throw new Error('L1 registry address is required to start Aztec Node without --deploy-aztec-contracts option');
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const { addresses } = await getL1Config(config.l1Contracts.registryAddress, config.l1RpcUrls, config.l1ChainId);
|
|
37
|
+
|
|
38
|
+
config.l1Contracts = addresses;
|
|
39
|
+
|
|
31
40
|
const client = initTelemetryClient(getTelemetryClientConfig());
|
|
32
41
|
const broker = await createAndStartProvingBroker(config, client);
|
|
33
42
|
services.proverBroker = [broker, ProvingJobBrokerSchema];
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
type PXEServiceConfig,
|
|
16
16
|
allPxeConfigMappings,
|
|
17
17
|
createPXEService,
|
|
18
|
-
} from '@aztec/pxe';
|
|
18
|
+
} from '@aztec/pxe/server';
|
|
19
19
|
import { type AztecNode, PXESchema, createAztecNodeClient } from '@aztec/stdlib/interfaces/client';
|
|
20
20
|
import { L2BasicContractsMap, Network } from '@aztec/stdlib/network';
|
|
21
21
|
import { makeTracedFetch } from '@aztec/telemetry-client';
|
package/src/cli/util.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AccountManager, Fr } from '@aztec/aztec.js';
|
|
2
2
|
import type { ConfigMappingsType } from '@aztec/foundation/config';
|
|
3
3
|
import type { LogFn } from '@aztec/foundation/log';
|
|
4
|
-
import type { PXEService } from '@aztec/pxe';
|
|
4
|
+
import type { PXEService } from '@aztec/pxe/server';
|
|
5
5
|
|
|
6
6
|
import chalk from 'chalk';
|
|
7
7
|
import type { Command } from 'commander';
|
package/src/sandbox/sandbox.ts
CHANGED
|
@@ -17,7 +17,7 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
17
17
|
import { type LogFn, createLogger } from '@aztec/foundation/log';
|
|
18
18
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
19
19
|
import { ProtocolContractAddress, protocolContractTreeRoot } from '@aztec/protocol-contracts';
|
|
20
|
-
import { type PXEServiceConfig, createPXEService, getPXEServiceConfig } from '@aztec/pxe';
|
|
20
|
+
import { type PXEServiceConfig, createPXEService, getPXEServiceConfig } from '@aztec/pxe/server';
|
|
21
21
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
22
22
|
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
23
23
|
import {
|