@aztec/aztec 0.87.6 → 1.0.0-nightly.20250604
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.
|
@@ -91,8 +91,8 @@ export async function startNode(options, signalHandlers, services, adminServices
|
|
|
91
91
|
};
|
|
92
92
|
let account;
|
|
93
93
|
if (!sequencerConfig.publisherPrivateKey || sequencerConfig.publisherPrivateKey === NULL_KEY) {
|
|
94
|
-
if (sequencerConfig.
|
|
95
|
-
sequencerConfig.publisherPrivateKey = sequencerConfig.
|
|
94
|
+
if (sequencerConfig.validatorPrivateKeys?.length) {
|
|
95
|
+
sequencerConfig.publisherPrivateKey = sequencerConfig.validatorPrivateKeys[0];
|
|
96
96
|
} else if (!options.l1Mnemonic) {
|
|
97
97
|
userLog('--sequencer.publisherPrivateKey or --l1-mnemonic is required to start Aztec Node with --sequencer option');
|
|
98
98
|
throw new Error('Private key or Mnemonic is required to start Aztec Node with --sequencer option');
|
|
@@ -3,6 +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 { DateProvider } from '@aztec/foundation/timer';
|
|
6
7
|
import { type PXEServiceConfig } from '@aztec/pxe/server';
|
|
7
8
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
8
9
|
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
@@ -34,6 +35,7 @@ export declare function deployContractsToL1(aztecNodeConfig: AztecNodeConfig, hd
|
|
|
34
35
|
slashFactoryAddress?: import("@aztec/foundation/schemas").EthAddress | undefined;
|
|
35
36
|
feeAssetHandlerAddress?: import("@aztec/foundation/schemas").EthAddress | undefined;
|
|
36
37
|
stakingAssetHandlerAddress?: import("@aztec/foundation/schemas").EthAddress | undefined;
|
|
38
|
+
gseAddress?: import("@aztec/foundation/schemas").EthAddress | undefined;
|
|
37
39
|
} & {
|
|
38
40
|
rollupAddress: import("@aztec/foundation/schemas").EthAddress;
|
|
39
41
|
} & {
|
|
@@ -67,6 +69,7 @@ export declare function createSandbox(config: Partial<SandboxConfig> | undefined
|
|
|
67
69
|
export declare function createAztecNode(config?: Partial<AztecNodeConfig>, deps?: {
|
|
68
70
|
telemetry?: TelemetryClient;
|
|
69
71
|
blobSinkClient?: BlobSinkClientInterface;
|
|
72
|
+
dateProvider?: DateProvider;
|
|
70
73
|
}, options?: {
|
|
71
74
|
prefilledPublicData?: PublicDataTreeLeaf[];
|
|
72
75
|
}): Promise<AztecNodeService>;
|
|
@@ -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;
|
|
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;AACjE,OAAO,EAAE,YAAY,EAAoB,MAAM,yBAAyB,CAAC;AAGzE,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,yCAAS,EAC7B,IAAI,GAAE;IACJ,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,EAAE,CAAC;IACxB,4BAA4B,CAAC,EAAE,MAAM,CAAC;CAClC;;;;;;;;;;;;;;;;;;;;;GA4BP;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,EAAE,OAAO,CAAC,aAAa,CAAC,YAAK,EAAE,OAAO,EAAE,KAAK;;;;GAqGtF;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,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CAAO,EACjH,OAAO,GAAE;IAAE,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAAO,6BAW7D;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,GAAE,OAAO,CAAC,gBAAgB,CAAM,mDAI3F"}
|
package/dest/sandbox/sandbox.js
CHANGED
|
@@ -9,6 +9,7 @@ import { GENESIS_ARCHIVE_ROOT } from '@aztec/constants';
|
|
|
9
9
|
import { NULL_KEY, createEthereumChain, deployL1Contracts, getL1ContractsConfigEnvVars, waitForPublicClient } from '@aztec/ethereum';
|
|
10
10
|
import { Fr } from '@aztec/foundation/fields';
|
|
11
11
|
import { createLogger } from '@aztec/foundation/log';
|
|
12
|
+
import { TestDateProvider } from '@aztec/foundation/timer';
|
|
12
13
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
13
14
|
import { protocolContractTreeRoot } from '@aztec/protocol-contracts';
|
|
14
15
|
import { createPXEService, getPXEServiceConfig } from '@aztec/pxe/server';
|
|
@@ -66,9 +67,11 @@ const localAnvil = foundry;
|
|
|
66
67
|
const privKey = hdAccount.getHdKey().privateKey;
|
|
67
68
|
aztecNodeConfig.publisherPrivateKey = `0x${Buffer.from(privKey).toString('hex')}`;
|
|
68
69
|
}
|
|
69
|
-
if (!aztecNodeConfig.
|
|
70
|
+
if (!aztecNodeConfig.validatorPrivateKeys?.length) {
|
|
70
71
|
const privKey = hdAccount.getHdKey().privateKey;
|
|
71
|
-
aztecNodeConfig.
|
|
72
|
+
aztecNodeConfig.validatorPrivateKeys = [
|
|
73
|
+
`0x${Buffer.from(privKey).toString('hex')}`
|
|
74
|
+
];
|
|
72
75
|
}
|
|
73
76
|
const initialAccounts = await (async ()=>{
|
|
74
77
|
if (config.testAccounts === true || config.testAccounts === undefined) {
|
|
@@ -90,6 +93,7 @@ const localAnvil = foundry;
|
|
|
90
93
|
] : [];
|
|
91
94
|
const { genesisArchiveRoot, prefilledPublicData, fundingNeeded } = await getGenesisValues(fundedAddresses);
|
|
92
95
|
let watcher = undefined;
|
|
96
|
+
const dateProvider = new TestDateProvider();
|
|
93
97
|
if (!aztecNodeConfig.p2pEnabled) {
|
|
94
98
|
const l1ContractAddresses = await deployContractsToL1(aztecNodeConfig, hdAccount, undefined, {
|
|
95
99
|
assumeProvenThroughBlockNumber: Number.MAX_SAFE_INTEGER,
|
|
@@ -110,7 +114,7 @@ const localAnvil = foundry;
|
|
|
110
114
|
});
|
|
111
115
|
watcher = new AnvilTestWatcher(new EthCheatCodes([
|
|
112
116
|
l1RpcUrl
|
|
113
|
-
]), l1ContractAddresses.rollupAddress, publicClient);
|
|
117
|
+
]), l1ContractAddresses.rollupAddress, publicClient, dateProvider);
|
|
114
118
|
watcher.setIsSandbox(true);
|
|
115
119
|
await watcher.start();
|
|
116
120
|
}
|
|
@@ -119,7 +123,8 @@ const localAnvil = foundry;
|
|
|
119
123
|
const blobSinkClient = createBlobSinkClient();
|
|
120
124
|
const node = await createAztecNode(aztecNodeConfig, {
|
|
121
125
|
telemetry,
|
|
122
|
-
blobSinkClient
|
|
126
|
+
blobSinkClient,
|
|
127
|
+
dateProvider
|
|
123
128
|
}, {
|
|
124
129
|
prefilledPublicData
|
|
125
130
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/aztec",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0-nightly.20250604",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js"
|
|
@@ -27,35 +27,35 @@
|
|
|
27
27
|
"../package.common.json"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@aztec/accounts": "0.
|
|
31
|
-
"@aztec/archiver": "0.
|
|
32
|
-
"@aztec/aztec-faucet": "0.
|
|
33
|
-
"@aztec/aztec-node": "0.
|
|
34
|
-
"@aztec/aztec.js": "0.
|
|
35
|
-
"@aztec/bb-prover": "0.
|
|
36
|
-
"@aztec/bb.js": "0.
|
|
37
|
-
"@aztec/blob-sink": "0.
|
|
38
|
-
"@aztec/bot": "0.
|
|
39
|
-
"@aztec/builder": "0.
|
|
40
|
-
"@aztec/cli": "0.
|
|
41
|
-
"@aztec/cli-wallet": "0.
|
|
42
|
-
"@aztec/constants": "0.
|
|
43
|
-
"@aztec/entrypoints": "0.
|
|
44
|
-
"@aztec/ethereum": "0.
|
|
45
|
-
"@aztec/foundation": "0.
|
|
46
|
-
"@aztec/kv-store": "0.
|
|
47
|
-
"@aztec/noir-contracts.js": "0.
|
|
48
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
49
|
-
"@aztec/p2p": "0.
|
|
50
|
-
"@aztec/p2p-bootstrap": "0.
|
|
51
|
-
"@aztec/protocol-contracts": "0.
|
|
52
|
-
"@aztec/prover-client": "0.
|
|
53
|
-
"@aztec/prover-node": "0.
|
|
54
|
-
"@aztec/pxe": "0.
|
|
55
|
-
"@aztec/stdlib": "0.
|
|
56
|
-
"@aztec/telemetry-client": "0.
|
|
57
|
-
"@aztec/txe": "0.
|
|
58
|
-
"@aztec/world-state": "0.
|
|
30
|
+
"@aztec/accounts": "1.0.0-nightly.20250604",
|
|
31
|
+
"@aztec/archiver": "1.0.0-nightly.20250604",
|
|
32
|
+
"@aztec/aztec-faucet": "1.0.0-nightly.20250604",
|
|
33
|
+
"@aztec/aztec-node": "1.0.0-nightly.20250604",
|
|
34
|
+
"@aztec/aztec.js": "1.0.0-nightly.20250604",
|
|
35
|
+
"@aztec/bb-prover": "1.0.0-nightly.20250604",
|
|
36
|
+
"@aztec/bb.js": "1.0.0-nightly.20250604",
|
|
37
|
+
"@aztec/blob-sink": "1.0.0-nightly.20250604",
|
|
38
|
+
"@aztec/bot": "1.0.0-nightly.20250604",
|
|
39
|
+
"@aztec/builder": "1.0.0-nightly.20250604",
|
|
40
|
+
"@aztec/cli": "1.0.0-nightly.20250604",
|
|
41
|
+
"@aztec/cli-wallet": "1.0.0-nightly.20250604",
|
|
42
|
+
"@aztec/constants": "1.0.0-nightly.20250604",
|
|
43
|
+
"@aztec/entrypoints": "1.0.0-nightly.20250604",
|
|
44
|
+
"@aztec/ethereum": "1.0.0-nightly.20250604",
|
|
45
|
+
"@aztec/foundation": "1.0.0-nightly.20250604",
|
|
46
|
+
"@aztec/kv-store": "1.0.0-nightly.20250604",
|
|
47
|
+
"@aztec/noir-contracts.js": "1.0.0-nightly.20250604",
|
|
48
|
+
"@aztec/noir-protocol-circuits-types": "1.0.0-nightly.20250604",
|
|
49
|
+
"@aztec/p2p": "1.0.0-nightly.20250604",
|
|
50
|
+
"@aztec/p2p-bootstrap": "1.0.0-nightly.20250604",
|
|
51
|
+
"@aztec/protocol-contracts": "1.0.0-nightly.20250604",
|
|
52
|
+
"@aztec/prover-client": "1.0.0-nightly.20250604",
|
|
53
|
+
"@aztec/prover-node": "1.0.0-nightly.20250604",
|
|
54
|
+
"@aztec/pxe": "1.0.0-nightly.20250604",
|
|
55
|
+
"@aztec/stdlib": "1.0.0-nightly.20250604",
|
|
56
|
+
"@aztec/telemetry-client": "1.0.0-nightly.20250604",
|
|
57
|
+
"@aztec/txe": "1.0.0-nightly.20250604",
|
|
58
|
+
"@aztec/world-state": "1.0.0-nightly.20250604",
|
|
59
59
|
"@types/chalk": "^2.2.0",
|
|
60
60
|
"abitype": "^0.8.11",
|
|
61
61
|
"chalk": "^5.3.0",
|
|
@@ -134,8 +134,8 @@ export async function startNode(
|
|
|
134
134
|
};
|
|
135
135
|
let account;
|
|
136
136
|
if (!sequencerConfig.publisherPrivateKey || sequencerConfig.publisherPrivateKey === NULL_KEY) {
|
|
137
|
-
if (sequencerConfig.
|
|
138
|
-
sequencerConfig.publisherPrivateKey = sequencerConfig.
|
|
137
|
+
if (sequencerConfig.validatorPrivateKeys?.length) {
|
|
138
|
+
sequencerConfig.publisherPrivateKey = sequencerConfig.validatorPrivateKeys[0] as `0x${string}`;
|
|
139
139
|
} else if (!options.l1Mnemonic) {
|
|
140
140
|
userLog(
|
|
141
141
|
'--sequencer.publisherPrivateKey or --l1-mnemonic is required to start Aztec Node with --sequencer option',
|
package/src/sandbox/sandbox.ts
CHANGED
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
} from '@aztec/ethereum';
|
|
16
16
|
import { Fr } from '@aztec/foundation/fields';
|
|
17
17
|
import { type LogFn, createLogger } from '@aztec/foundation/log';
|
|
18
|
+
import { DateProvider, TestDateProvider } from '@aztec/foundation/timer';
|
|
18
19
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
19
20
|
import { protocolContractTreeRoot } from '@aztec/protocol-contracts';
|
|
20
21
|
import { type PXEServiceConfig, createPXEService, getPXEServiceConfig } from '@aztec/pxe/server';
|
|
@@ -116,9 +117,9 @@ export async function createSandbox(config: Partial<SandboxConfig> = {}, userLog
|
|
|
116
117
|
const privKey = hdAccount.getHdKey().privateKey;
|
|
117
118
|
aztecNodeConfig.publisherPrivateKey = `0x${Buffer.from(privKey!).toString('hex')}`;
|
|
118
119
|
}
|
|
119
|
-
if (!aztecNodeConfig.
|
|
120
|
+
if (!aztecNodeConfig.validatorPrivateKeys?.length) {
|
|
120
121
|
const privKey = hdAccount.getHdKey().privateKey;
|
|
121
|
-
aztecNodeConfig.
|
|
122
|
+
aztecNodeConfig.validatorPrivateKeys = [`0x${Buffer.from(privKey!).toString('hex')}`];
|
|
122
123
|
}
|
|
123
124
|
|
|
124
125
|
const initialAccounts = await (async () => {
|
|
@@ -141,6 +142,7 @@ export async function createSandbox(config: Partial<SandboxConfig> = {}, userLog
|
|
|
141
142
|
const { genesisArchiveRoot, prefilledPublicData, fundingNeeded } = await getGenesisValues(fundedAddresses);
|
|
142
143
|
|
|
143
144
|
let watcher: AnvilTestWatcher | undefined = undefined;
|
|
145
|
+
const dateProvider = new TestDateProvider();
|
|
144
146
|
if (!aztecNodeConfig.p2pEnabled) {
|
|
145
147
|
const l1ContractAddresses = await deployContractsToL1(aztecNodeConfig, hdAccount, undefined, {
|
|
146
148
|
assumeProvenThroughBlockNumber: Number.MAX_SAFE_INTEGER,
|
|
@@ -159,7 +161,12 @@ export async function createSandbox(config: Partial<SandboxConfig> = {}, userLog
|
|
|
159
161
|
transport: fallback([httpViemTransport(l1RpcUrl)]) as any,
|
|
160
162
|
});
|
|
161
163
|
|
|
162
|
-
watcher = new AnvilTestWatcher(
|
|
164
|
+
watcher = new AnvilTestWatcher(
|
|
165
|
+
new EthCheatCodes([l1RpcUrl]),
|
|
166
|
+
l1ContractAddresses.rollupAddress,
|
|
167
|
+
publicClient,
|
|
168
|
+
dateProvider,
|
|
169
|
+
);
|
|
163
170
|
watcher.setIsSandbox(true);
|
|
164
171
|
await watcher.start();
|
|
165
172
|
}
|
|
@@ -167,7 +174,11 @@ export async function createSandbox(config: Partial<SandboxConfig> = {}, userLog
|
|
|
167
174
|
const telemetry = initTelemetryClient(getTelemetryClientConfig());
|
|
168
175
|
// Create a local blob sink client inside the sandbox, no http connectivity
|
|
169
176
|
const blobSinkClient = createBlobSinkClient();
|
|
170
|
-
const node = await createAztecNode(
|
|
177
|
+
const node = await createAztecNode(
|
|
178
|
+
aztecNodeConfig,
|
|
179
|
+
{ telemetry, blobSinkClient, dateProvider },
|
|
180
|
+
{ prefilledPublicData },
|
|
181
|
+
);
|
|
171
182
|
const pxeServiceConfig = { proverEnabled: aztecNodeConfig.realProofs };
|
|
172
183
|
const pxe = await createAztecPXE(node, pxeServiceConfig);
|
|
173
184
|
|
|
@@ -200,7 +211,7 @@ export async function createSandbox(config: Partial<SandboxConfig> = {}, userLog
|
|
|
200
211
|
*/
|
|
201
212
|
export async function createAztecNode(
|
|
202
213
|
config: Partial<AztecNodeConfig> = {},
|
|
203
|
-
deps: { telemetry?: TelemetryClient; blobSinkClient?: BlobSinkClientInterface } = {},
|
|
214
|
+
deps: { telemetry?: TelemetryClient; blobSinkClient?: BlobSinkClientInterface; dateProvider?: DateProvider } = {},
|
|
204
215
|
options: { prefilledPublicData?: PublicDataTreeLeaf[] } = {},
|
|
205
216
|
) {
|
|
206
217
|
// TODO(#12272): will clean this up. This is criminal.
|