@aztec/end-to-end 3.0.0-nightly.20251026 → 3.0.0-nightly.20251031
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/bench/client_flows/benchmark.js +2 -2
- package/dest/bench/client_flows/data_extractor.js +3 -3
- package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
- package/dest/e2e_l1_publisher/write_json.js +2 -2
- package/dest/fixtures/get_bb_config.js +1 -1
- package/dest/spartan/utils.d.ts +7 -1
- package/dest/spartan/utils.d.ts.map +1 -1
- package/dest/spartan/utils.js +27 -0
- package/package.json +37 -37
- package/src/bench/client_flows/benchmark.ts +2 -2
- package/src/bench/client_flows/data_extractor.ts +3 -3
- package/src/e2e_l1_publisher/write_json.ts +2 -2
- package/src/fixtures/get_bb_config.ts +1 -1
- package/src/spartan/utils.ts +32 -0
|
@@ -234,13 +234,13 @@ export async function captureProfile(label, interaction, opts, expectedSteps) {
|
|
|
234
234
|
const benchmark = generateBenchmark(label, logs, result.stats, result.executionSteps, 'wasm', undefined);
|
|
235
235
|
const ivcFolder = process.env.CAPTURE_IVC_FOLDER;
|
|
236
236
|
if (ivcFolder) {
|
|
237
|
-
logger.info(`Capturing
|
|
237
|
+
logger.info(`Capturing chonk execution profile for ${label}`);
|
|
238
238
|
const resultsDirectory = join(ivcFolder, label);
|
|
239
239
|
logger.info(`Writing private execution steps to ${resultsDirectory}`);
|
|
240
240
|
await mkdir(resultsDirectory, {
|
|
241
241
|
recursive: true
|
|
242
242
|
});
|
|
243
|
-
// Write the
|
|
243
|
+
// Write the chonk files read by the prover.
|
|
244
244
|
const ivcInputsPath = join(resultsDirectory, 'ivc-inputs.msgpack');
|
|
245
245
|
await writeFile(ivcInputsPath, serializePrivateExecutionSteps(result.executionSteps));
|
|
246
246
|
await writeFile(join(resultsDirectory, 'logs.json'), JSON.stringify(logs, null, 2));
|
|
@@ -40,7 +40,7 @@ async function main() {
|
|
|
40
40
|
bbBinaryPath: process.env.BB_BINARY_PATH,
|
|
41
41
|
bbWorkingDirectory: process.env.BB_WORKING_DIRECTORY
|
|
42
42
|
}, proxyLogger.createLogger('bb:prover'));
|
|
43
|
-
const userLog = createLogger('
|
|
43
|
+
const userLog = createLogger('chonk_flows:data_processor');
|
|
44
44
|
for (const flow of flows){
|
|
45
45
|
userLog.info(`Processing flow ${flow}`);
|
|
46
46
|
const ivcInputs = await readFile(join(ivcFolder, flow, 'ivc-inputs.msgpack'));
|
|
@@ -73,10 +73,10 @@ async function main() {
|
|
|
73
73
|
let provingTime;
|
|
74
74
|
try {
|
|
75
75
|
const provingTimer = new Timer();
|
|
76
|
-
await prover.
|
|
76
|
+
await prover.createChonkProof(privateExecutionSteps);
|
|
77
77
|
provingTime = provingTimer.ms();
|
|
78
78
|
} catch (e) {
|
|
79
|
-
userLog.error(`Failed to generate
|
|
79
|
+
userLog.error(`Failed to generate chonk proof for ${flow}`, e);
|
|
80
80
|
error = e.message;
|
|
81
81
|
}
|
|
82
82
|
// Extract logs from this run from the proxy and write them to disk unconditionally
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write_json.d.ts","sourceRoot":"","sources":["../../src/e2e_l1_publisher/write_json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"write_json.d.ts","sourceRoot":"","sources":["../../src/e2e_l1_publisher/write_json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,IAAI,EAAiC,MAAM,iBAAiB,CAAC;AAOnF;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,EAAE,EAAE,EACnB,KAAK,EAAE,IAAI,EAAE,EACb,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,YAAY,EAC9B,eAAe,EAAE,KAAK,MAAM,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CAqDf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getPrefixedEthBlobCommitments } from '@aztec/blob-lib';
|
|
2
2
|
import { writeFile } from 'fs/promises';
|
|
3
3
|
const AZTEC_GENERATE_TEST_DATA = !!process.env.AZTEC_GENERATE_TEST_DATA;
|
|
4
4
|
/**
|
|
@@ -27,7 +27,7 @@ const AZTEC_GENERATE_TEST_DATA = !!process.env.AZTEC_GENERATE_TEST_DATA;
|
|
|
27
27
|
// The json formatting in forge is a bit brittle, so we convert Fr to a number in the few values below.
|
|
28
28
|
// This should not be a problem for testing as long as the values are not larger than u32.
|
|
29
29
|
archive: asHex(block.archive.root),
|
|
30
|
-
blobCommitments:
|
|
30
|
+
blobCommitments: getPrefixedEthBlobCommitments(blobs),
|
|
31
31
|
batchedBlobInputs: batchedBlob.getEthBlobEvaluationInputs(),
|
|
32
32
|
blockNumber: block.number,
|
|
33
33
|
body: `0x${block.body.toBuffer().toString('hex')}`,
|
|
@@ -6,7 +6,7 @@ import { fileURLToPath } from 'url';
|
|
|
6
6
|
const { BB_RELEASE_DIR = 'barretenberg/cpp/build/bin', BB_BINARY_PATH, BB_SKIP_CLEANUP = '', TEMP_DIR = tmpdir(), BB_WORKING_DIRECTORY = '', BB_NUM_IVC_VERIFIERS = '1', BB_IVC_CONCURRENCY = '1' } = process.env;
|
|
7
7
|
export const getBBConfig = async (logger)=>{
|
|
8
8
|
try {
|
|
9
|
-
const bbBinaryPath = BB_BINARY_PATH ?? path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../../../', BB_RELEASE_DIR, 'bb');
|
|
9
|
+
const bbBinaryPath = BB_BINARY_PATH ?? path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../../../', BB_RELEASE_DIR, 'bb-avm');
|
|
10
10
|
await fs.access(bbBinaryPath, fs.constants.R_OK);
|
|
11
11
|
let bbWorkingDirectory;
|
|
12
12
|
let directoryToCleanup;
|
package/dest/spartan/utils.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { RollupCheatCodes } from '@aztec/aztec/testing';
|
|
2
2
|
import type { L1ContractAddresses, ViemPublicClient } from '@aztec/ethereum';
|
|
3
3
|
import type { Logger } from '@aztec/foundation/log';
|
|
4
|
-
import { type AztecNodeAdmin, type AztecNodeAdminConfig } from '@aztec/stdlib/interfaces/client';
|
|
4
|
+
import { type AztecNodeAdmin, type AztecNodeAdminConfig, createAztecNodeClient } from '@aztec/stdlib/interfaces/client';
|
|
5
5
|
import { ChildProcess } from 'child_process';
|
|
6
6
|
import { z } from 'zod';
|
|
7
7
|
declare const testConfigSchema: z.ZodObject<{
|
|
@@ -208,5 +208,11 @@ export declare function rollAztecPods(namespace: string): Promise<void>;
|
|
|
208
208
|
* Returns the absolute path to the git repository root
|
|
209
209
|
*/
|
|
210
210
|
export declare function getGitProjectRoot(): string;
|
|
211
|
+
/** Returns a client to the RPC of the given sequencer (defaults to first) */
|
|
212
|
+
export declare function getNodeClient(env: TestConfig, index?: number): Promise<{
|
|
213
|
+
node: ReturnType<typeof createAztecNodeClient>;
|
|
214
|
+
port: number;
|
|
215
|
+
process: ChildProcess;
|
|
216
|
+
}>;
|
|
211
217
|
export {};
|
|
212
218
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/spartan/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIpD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,oBAAoB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/spartan/utils.ts"],"names":[],"mappings":"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"}
|
package/dest/spartan/utils.js
CHANGED
|
@@ -720,3 +720,30 @@ export async function withSequencersAdmin(env, fn) {
|
|
|
720
720
|
throw new Error(`Failed to determine git project root: ${error}`);
|
|
721
721
|
}
|
|
722
722
|
}
|
|
723
|
+
/** Returns a client to the RPC of the given sequencer (defaults to first) */ export async function getNodeClient(env, index = 0) {
|
|
724
|
+
const namespace = env.NAMESPACE;
|
|
725
|
+
const containerPort = 8080;
|
|
726
|
+
const sequencers = await getSequencers(namespace);
|
|
727
|
+
const sequencer = sequencers[index];
|
|
728
|
+
if (!sequencer) {
|
|
729
|
+
throw new Error(`No sequencer found at index ${index} in namespace ${namespace}`);
|
|
730
|
+
}
|
|
731
|
+
const { process: process1, port } = await startPortForward({
|
|
732
|
+
resource: `pod/${sequencer}`,
|
|
733
|
+
namespace,
|
|
734
|
+
containerPort
|
|
735
|
+
});
|
|
736
|
+
const url = `http://localhost:${port}`;
|
|
737
|
+
await retry(()=>fetch(`${url}/status`).then((res)=>res.status === 200), 'forward port', makeBackoff([
|
|
738
|
+
1,
|
|
739
|
+
1,
|
|
740
|
+
2,
|
|
741
|
+
6
|
|
742
|
+
]), logger, true);
|
|
743
|
+
const client = createAztecNodeClient(url);
|
|
744
|
+
return {
|
|
745
|
+
node: client,
|
|
746
|
+
port,
|
|
747
|
+
process: process1
|
|
748
|
+
};
|
|
749
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/end-to-end",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.20251031",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"inherits": [
|
|
@@ -25,42 +25,42 @@
|
|
|
25
25
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aztec/accounts": "3.0.0-nightly.
|
|
29
|
-
"@aztec/archiver": "3.0.0-nightly.
|
|
30
|
-
"@aztec/aztec": "3.0.0-nightly.
|
|
31
|
-
"@aztec/aztec-node": "3.0.0-nightly.
|
|
32
|
-
"@aztec/aztec.js": "3.0.0-nightly.
|
|
33
|
-
"@aztec/bb-prover": "3.0.0-nightly.
|
|
34
|
-
"@aztec/blob-lib": "3.0.0-nightly.
|
|
35
|
-
"@aztec/blob-sink": "3.0.0-nightly.
|
|
36
|
-
"@aztec/bot": "3.0.0-nightly.
|
|
37
|
-
"@aztec/cli": "3.0.0-nightly.
|
|
38
|
-
"@aztec/constants": "3.0.0-nightly.
|
|
39
|
-
"@aztec/entrypoints": "3.0.0-nightly.
|
|
40
|
-
"@aztec/epoch-cache": "3.0.0-nightly.
|
|
41
|
-
"@aztec/ethereum": "3.0.0-nightly.
|
|
42
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
43
|
-
"@aztec/kv-store": "3.0.0-nightly.
|
|
44
|
-
"@aztec/l1-artifacts": "3.0.0-nightly.
|
|
45
|
-
"@aztec/merkle-tree": "3.0.0-nightly.
|
|
46
|
-
"@aztec/node-keystore": "3.0.0-nightly.
|
|
47
|
-
"@aztec/noir-contracts.js": "3.0.0-nightly.
|
|
48
|
-
"@aztec/noir-noirc_abi": "3.0.0-nightly.
|
|
49
|
-
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.
|
|
50
|
-
"@aztec/noir-test-contracts.js": "3.0.0-nightly.
|
|
51
|
-
"@aztec/p2p": "3.0.0-nightly.
|
|
52
|
-
"@aztec/protocol-contracts": "3.0.0-nightly.
|
|
53
|
-
"@aztec/prover-client": "3.0.0-nightly.
|
|
54
|
-
"@aztec/prover-node": "3.0.0-nightly.
|
|
55
|
-
"@aztec/pxe": "3.0.0-nightly.
|
|
56
|
-
"@aztec/sequencer-client": "3.0.0-nightly.
|
|
57
|
-
"@aztec/simulator": "3.0.0-nightly.
|
|
58
|
-
"@aztec/slasher": "3.0.0-nightly.
|
|
59
|
-
"@aztec/stdlib": "3.0.0-nightly.
|
|
60
|
-
"@aztec/telemetry-client": "3.0.0-nightly.
|
|
61
|
-
"@aztec/test-wallet": "3.0.0-nightly.
|
|
62
|
-
"@aztec/validator-client": "3.0.0-nightly.
|
|
63
|
-
"@aztec/world-state": "3.0.0-nightly.
|
|
28
|
+
"@aztec/accounts": "3.0.0-nightly.20251031",
|
|
29
|
+
"@aztec/archiver": "3.0.0-nightly.20251031",
|
|
30
|
+
"@aztec/aztec": "3.0.0-nightly.20251031",
|
|
31
|
+
"@aztec/aztec-node": "3.0.0-nightly.20251031",
|
|
32
|
+
"@aztec/aztec.js": "3.0.0-nightly.20251031",
|
|
33
|
+
"@aztec/bb-prover": "3.0.0-nightly.20251031",
|
|
34
|
+
"@aztec/blob-lib": "3.0.0-nightly.20251031",
|
|
35
|
+
"@aztec/blob-sink": "3.0.0-nightly.20251031",
|
|
36
|
+
"@aztec/bot": "3.0.0-nightly.20251031",
|
|
37
|
+
"@aztec/cli": "3.0.0-nightly.20251031",
|
|
38
|
+
"@aztec/constants": "3.0.0-nightly.20251031",
|
|
39
|
+
"@aztec/entrypoints": "3.0.0-nightly.20251031",
|
|
40
|
+
"@aztec/epoch-cache": "3.0.0-nightly.20251031",
|
|
41
|
+
"@aztec/ethereum": "3.0.0-nightly.20251031",
|
|
42
|
+
"@aztec/foundation": "3.0.0-nightly.20251031",
|
|
43
|
+
"@aztec/kv-store": "3.0.0-nightly.20251031",
|
|
44
|
+
"@aztec/l1-artifacts": "3.0.0-nightly.20251031",
|
|
45
|
+
"@aztec/merkle-tree": "3.0.0-nightly.20251031",
|
|
46
|
+
"@aztec/node-keystore": "3.0.0-nightly.20251031",
|
|
47
|
+
"@aztec/noir-contracts.js": "3.0.0-nightly.20251031",
|
|
48
|
+
"@aztec/noir-noirc_abi": "3.0.0-nightly.20251031",
|
|
49
|
+
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251031",
|
|
50
|
+
"@aztec/noir-test-contracts.js": "3.0.0-nightly.20251031",
|
|
51
|
+
"@aztec/p2p": "3.0.0-nightly.20251031",
|
|
52
|
+
"@aztec/protocol-contracts": "3.0.0-nightly.20251031",
|
|
53
|
+
"@aztec/prover-client": "3.0.0-nightly.20251031",
|
|
54
|
+
"@aztec/prover-node": "3.0.0-nightly.20251031",
|
|
55
|
+
"@aztec/pxe": "3.0.0-nightly.20251031",
|
|
56
|
+
"@aztec/sequencer-client": "3.0.0-nightly.20251031",
|
|
57
|
+
"@aztec/simulator": "3.0.0-nightly.20251031",
|
|
58
|
+
"@aztec/slasher": "3.0.0-nightly.20251031",
|
|
59
|
+
"@aztec/stdlib": "3.0.0-nightly.20251031",
|
|
60
|
+
"@aztec/telemetry-client": "3.0.0-nightly.20251031",
|
|
61
|
+
"@aztec/test-wallet": "3.0.0-nightly.20251031",
|
|
62
|
+
"@aztec/validator-client": "3.0.0-nightly.20251031",
|
|
63
|
+
"@aztec/world-state": "3.0.0-nightly.20251031",
|
|
64
64
|
"@iarna/toml": "^2.2.5",
|
|
65
65
|
"@jest/globals": "^30.0.0",
|
|
66
66
|
"@noble/curves": "=1.0.0",
|
|
@@ -315,12 +315,12 @@ export async function captureProfile(
|
|
|
315
315
|
|
|
316
316
|
const ivcFolder = process.env.CAPTURE_IVC_FOLDER;
|
|
317
317
|
if (ivcFolder) {
|
|
318
|
-
logger.info(`Capturing
|
|
318
|
+
logger.info(`Capturing chonk execution profile for ${label}`);
|
|
319
319
|
|
|
320
320
|
const resultsDirectory = join(ivcFolder, label);
|
|
321
321
|
logger.info(`Writing private execution steps to ${resultsDirectory}`);
|
|
322
322
|
await mkdir(resultsDirectory, { recursive: true });
|
|
323
|
-
// Write the
|
|
323
|
+
// Write the chonk files read by the prover.
|
|
324
324
|
const ivcInputsPath = join(resultsDirectory, 'ivc-inputs.msgpack');
|
|
325
325
|
await writeFile(ivcInputsPath, serializePrivateExecutionSteps(result.executionSteps));
|
|
326
326
|
await writeFile(join(resultsDirectory, 'logs.json'), JSON.stringify(logs, null, 2));
|
|
@@ -46,7 +46,7 @@ async function main() {
|
|
|
46
46
|
proxyLogger.createLogger('bb:prover'),
|
|
47
47
|
);
|
|
48
48
|
|
|
49
|
-
const userLog = createLogger('
|
|
49
|
+
const userLog = createLogger('chonk_flows:data_processor');
|
|
50
50
|
|
|
51
51
|
for (const flow of flows) {
|
|
52
52
|
userLog.info(`Processing flow ${flow}`);
|
|
@@ -84,10 +84,10 @@ async function main() {
|
|
|
84
84
|
let provingTime;
|
|
85
85
|
try {
|
|
86
86
|
const provingTimer = new Timer();
|
|
87
|
-
await prover.
|
|
87
|
+
await prover.createChonkProof(privateExecutionSteps);
|
|
88
88
|
provingTime = provingTimer.ms();
|
|
89
89
|
} catch (e) {
|
|
90
|
-
userLog.error(`Failed to generate
|
|
90
|
+
userLog.error(`Failed to generate chonk proof for ${flow}`, e);
|
|
91
91
|
error = (e as Error).message;
|
|
92
92
|
}
|
|
93
93
|
// Extract logs from this run from the proxy and write them to disk unconditionally
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
2
2
|
import type { L2Block } from '@aztec/aztec.js/block';
|
|
3
3
|
import { Fr } from '@aztec/aztec.js/fields';
|
|
4
|
-
import { BatchedBlob, Blob } from '@aztec/blob-lib';
|
|
4
|
+
import { BatchedBlob, Blob, getPrefixedEthBlobCommitments } from '@aztec/blob-lib';
|
|
5
5
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
6
6
|
|
|
7
7
|
import { writeFile } from 'fs/promises';
|
|
@@ -45,7 +45,7 @@ export async function writeJson(
|
|
|
45
45
|
// The json formatting in forge is a bit brittle, so we convert Fr to a number in the few values below.
|
|
46
46
|
// This should not be a problem for testing as long as the values are not larger than u32.
|
|
47
47
|
archive: asHex(block.archive.root),
|
|
48
|
-
blobCommitments:
|
|
48
|
+
blobCommitments: getPrefixedEthBlobCommitments(blobs),
|
|
49
49
|
batchedBlobInputs: batchedBlob.getEthBlobEvaluationInputs(),
|
|
50
50
|
blockNumber: block.number,
|
|
51
51
|
body: `0x${block.body.toBuffer().toString('hex')}`,
|
|
@@ -23,7 +23,7 @@ export const getBBConfig = async (
|
|
|
23
23
|
try {
|
|
24
24
|
const bbBinaryPath =
|
|
25
25
|
BB_BINARY_PATH ??
|
|
26
|
-
path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../../../', BB_RELEASE_DIR, 'bb');
|
|
26
|
+
path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../../../', BB_RELEASE_DIR, 'bb-avm');
|
|
27
27
|
await fs.access(bbBinaryPath, fs.constants.R_OK);
|
|
28
28
|
|
|
29
29
|
let bbWorkingDirectory: string;
|
package/src/spartan/utils.ts
CHANGED
|
@@ -908,3 +908,35 @@ export function getGitProjectRoot(): string {
|
|
|
908
908
|
throw new Error(`Failed to determine git project root: ${error}`);
|
|
909
909
|
}
|
|
910
910
|
}
|
|
911
|
+
|
|
912
|
+
/** Returns a client to the RPC of the given sequencer (defaults to first) */
|
|
913
|
+
export async function getNodeClient(
|
|
914
|
+
env: TestConfig,
|
|
915
|
+
index: number = 0,
|
|
916
|
+
): Promise<{ node: ReturnType<typeof createAztecNodeClient>; port: number; process: ChildProcess }> {
|
|
917
|
+
const namespace = env.NAMESPACE;
|
|
918
|
+
const containerPort = 8080;
|
|
919
|
+
const sequencers = await getSequencers(namespace);
|
|
920
|
+
const sequencer = sequencers[index];
|
|
921
|
+
if (!sequencer) {
|
|
922
|
+
throw new Error(`No sequencer found at index ${index} in namespace ${namespace}`);
|
|
923
|
+
}
|
|
924
|
+
|
|
925
|
+
const { process, port } = await startPortForward({
|
|
926
|
+
resource: `pod/${sequencer}`,
|
|
927
|
+
namespace,
|
|
928
|
+
containerPort,
|
|
929
|
+
});
|
|
930
|
+
|
|
931
|
+
const url = `http://localhost:${port}`;
|
|
932
|
+
await retry(
|
|
933
|
+
() => fetch(`${url}/status`).then(res => res.status === 200),
|
|
934
|
+
'forward port',
|
|
935
|
+
makeBackoff([1, 1, 2, 6]),
|
|
936
|
+
logger,
|
|
937
|
+
true,
|
|
938
|
+
);
|
|
939
|
+
|
|
940
|
+
const client = createAztecNodeClient(url);
|
|
941
|
+
return { node: client, port, process };
|
|
942
|
+
}
|