@aztec/end-to-end 0.87.2-nightly.20250527 → 0.87.3-nightly.20250528
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.d.ts +59 -0
- package/dest/bench/client_flows/benchmark.d.ts.map +1 -0
- package/dest/bench/client_flows/benchmark.js +240 -0
- package/dest/bench/client_flows/client_flows_benchmark.d.ts +5 -3
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +24 -14
- package/dest/bench/client_flows/data_extractor.d.ts +0 -21
- package/dest/bench/client_flows/data_extractor.d.ts.map +1 -1
- package/dest/bench/client_flows/data_extractor.js +5 -122
- package/dest/bench/utils.d.ts +7 -0
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +6 -2
- package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
- package/dest/fixtures/snapshot_manager.js +4 -4
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +7 -4
- package/package.json +35 -35
- package/src/bench/client_flows/benchmark.ts +308 -0
- package/src/bench/client_flows/client_flows_benchmark.ts +28 -10
- package/src/bench/client_flows/data_extractor.ts +8 -142
- package/src/bench/utils.ts +1 -1
- package/src/e2e_p2p/shared.ts +2 -2
- package/src/fixtures/snapshot_manager.ts +5 -2
- package/src/fixtures/utils.ts +7 -4
- package/dest/shared/capture_private_execution_steps.d.ts +0 -7
- package/dest/shared/capture_private_execution_steps.d.ts.map +0 -1
- package/dest/shared/capture_private_execution_steps.js +0 -49
- package/src/shared/capture_private_execution_steps.ts +0 -68
package/dest/bench/utils.d.ts
CHANGED
|
@@ -23,6 +23,13 @@ type MetricFilter = {
|
|
|
23
23
|
name: string;
|
|
24
24
|
unit?: string;
|
|
25
25
|
};
|
|
26
|
+
export type GithubActionBenchmarkResult = {
|
|
27
|
+
name: string;
|
|
28
|
+
value: number;
|
|
29
|
+
range?: string;
|
|
30
|
+
unit: string;
|
|
31
|
+
extra?: string;
|
|
32
|
+
};
|
|
26
33
|
/**
|
|
27
34
|
* Assembles and sends multiple transactions simultaneously to the node in context.
|
|
28
35
|
* Each tx is the result of calling makeCall.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bench/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAa,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAExF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,KAAK,UAAU,EAA2C,MAAM,mBAAmB,CAAC;AAC7F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAA4C,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAKxH,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAS,MAAM,sBAAsB,CAAC;AAEtF;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG;IAC5B,6BAA6B,CAAC,OAAO,EAAE,CAAC,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC;IACtE,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;;;;;GAwBF;AAED,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bench/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAa,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAExF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,KAAK,UAAU,EAA2C,MAAM,mBAAmB,CAAC;AAC7F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAA4C,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAKxH,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAS,MAAM,sBAAsB,CAAC;AAEtF;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG;IAC5B,6BAA6B,CAAC,OAAO,EAAE,CAAC,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC;IACtE,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;;;;;GAwBF;AAED,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA8DF;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,oBAAoB,EAC9B,kBAAkB,GAAE,OAAe,GAClC,OAAO,CAAC,MAAM,EAAE,CAAC,CAMnB;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,QAAQ,iBAI3F;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiBvG"}
|
package/dest/e2e_p2p/shared.js
CHANGED
|
@@ -27,7 +27,9 @@ export const submitComplexTxsTo = async (logger, spamContract, numTxs, opts = {}
|
|
|
27
27
|
export const createPXEServiceAndSubmitTransactions = async (logger, node, numTxs, fundedAccount)=>{
|
|
28
28
|
const rpcConfig = getRpcConfig();
|
|
29
29
|
rpcConfig.proverEnabled = false;
|
|
30
|
-
const pxeService = await createPXEService(node, rpcConfig,
|
|
30
|
+
const pxeService = await createPXEService(node, rpcConfig, {
|
|
31
|
+
useLogSuffix: true
|
|
32
|
+
});
|
|
31
33
|
const account = await getSchnorrAccount(pxeService, fundedAccount.secret, fundedAccount.signingKey, fundedAccount.salt);
|
|
32
34
|
await account.register();
|
|
33
35
|
const wallet = await account.getWallet();
|
|
@@ -41,7 +43,9 @@ export const createPXEServiceAndSubmitTransactions = async (logger, node, numTxs
|
|
|
41
43
|
export async function createPXEServiceAndPrepareTransactions(logger, node, numTxs, fundedAccount) {
|
|
42
44
|
const rpcConfig = getRpcConfig();
|
|
43
45
|
rpcConfig.proverEnabled = false;
|
|
44
|
-
const pxe = await createPXEService(node, rpcConfig,
|
|
46
|
+
const pxe = await createPXEService(node, rpcConfig, {
|
|
47
|
+
useLogSuffix: true
|
|
48
|
+
});
|
|
45
49
|
const account = await getSchnorrAccount(pxe, fundedAccount.secret, fundedAccount.signingKey, fundedAccount.salt);
|
|
46
50
|
await account.register();
|
|
47
51
|
const wallet = await account.getWallet();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot_manager.d.ts","sourceRoot":"","sources":["../../src/fixtures/snapshot_manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"snapshot_manager.d.ts","sourceRoot":"","sources":["../../src/fixtures/snapshot_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -293,7 +293,8 @@ export function createSnapshotManager(testName, dataPath, config = {}, deployL1C
|
|
|
293
293
|
});
|
|
294
294
|
logger.info(`Funding rewardDistributor in ${rewardDistributorMintTxHash}`);
|
|
295
295
|
}
|
|
296
|
-
const
|
|
296
|
+
const dateProvider = new TestDateProvider();
|
|
297
|
+
const watcher = new AnvilTestWatcher(new EthCheatCodesWithState(aztecNodeConfig.l1RpcUrls), deployL1ContractsValues.l1ContractAddresses.rollupAddress, deployL1ContractsValues.l1Client, dateProvider);
|
|
297
298
|
await watcher.start();
|
|
298
299
|
const acvmConfig = await getACVMConfig(logger);
|
|
299
300
|
if (acvmConfig) {
|
|
@@ -317,7 +318,6 @@ export function createSnapshotManager(testName, dataPath, config = {}, deployL1C
|
|
|
317
318
|
}, telemetry);
|
|
318
319
|
await blobSink.start();
|
|
319
320
|
logger.verbose('Creating and synching an aztec node...');
|
|
320
|
-
const dateProvider = new TestDateProvider();
|
|
321
321
|
const aztecNode = await AztecNodeService.createAndSync(aztecNodeConfig, {
|
|
322
322
|
telemetry,
|
|
323
323
|
dateProvider
|
|
@@ -398,10 +398,10 @@ export function createSnapshotManager(testName, dataPath, config = {}, deployL1C
|
|
|
398
398
|
}
|
|
399
399
|
logger.verbose('Creating ETH clients...');
|
|
400
400
|
const l1Client = createExtendedL1Client(aztecNodeConfig.l1RpcUrls, mnemonicToAccount(MNEMONIC));
|
|
401
|
-
const
|
|
401
|
+
const dateProvider = new TestDateProvider();
|
|
402
|
+
const watcher = new AnvilTestWatcher(new EthCheatCodesWithState(aztecNodeConfig.l1RpcUrls), aztecNodeConfig.l1Contracts.rollupAddress, l1Client, dateProvider);
|
|
402
403
|
await watcher.start();
|
|
403
404
|
const telemetry = initTelemetryClient(getTelemetryConfig());
|
|
404
|
-
const dateProvider = new TestDateProvider();
|
|
405
405
|
const blobSink = await createBlobSinkServer({
|
|
406
406
|
l1ChainId: aztecNodeConfig.l1ChainId,
|
|
407
407
|
l1RpcUrls: aztecNodeConfig.l1RpcUrls,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,KAAK,eAAe,EAAsC,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EACjB,KAAK,SAAS,EAEd,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,GAAG,EACR,KAAK,MAAM,EAMZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,yBAAyB,CAAC;AAEpF,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,iBAAiB,EAEjB,KAAK,QAAQ,EAMd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAA0C,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAG1F,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAoB,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EACL,KAAK,UAAU,EACf,KAAK,gBAAgB,EAGtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAK/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAG3B,MAAM,yBAAyB,CAAC;AASjC,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,KAAK,iBAAiB,EAAe,MAAM,MAAM,CAAC;AASjG,OAAO,EAAE,0CAA0C,EAAE,MAAM,uCAAuC,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,CAAC;AAmBtB,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,IAI/D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,WAAW,MAAM,EAAE,EACnB,SAAS,SAAS,GAAG,iBAAiB,EACtC,QAAQ,MAAM,EACd,OAAM,OAAO,CAAC,qBAAqB,CAAM,EACzC,QAAO,KAAe,yCAavB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,SAAS,EACpB,IAAI,GAAE,OAAO,CAAC,gBAAgB,CAAM,EACpC,MAAM,SAAc,EACpB,YAAY,UAAQ,GACnB,OAAO,CAAC;IACT;;OAEG;IACH,GAAG,EAAE,UAAU,CAAC;IAChB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/utils.ts"],"names":[],"mappings":"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"}
|
package/dest/fixtures/utils.js
CHANGED
|
@@ -21,8 +21,8 @@ import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
|
21
21
|
import { protocolContractTreeRoot } from '@aztec/protocol-contracts';
|
|
22
22
|
import { createProverNode } from '@aztec/prover-node';
|
|
23
23
|
import { createPXEServiceWithSimulationProvider, getPXEServiceConfig } from '@aztec/pxe/server';
|
|
24
|
-
import { WASMSimulator } from '@aztec/simulator/client';
|
|
25
|
-
import {
|
|
24
|
+
import { MemoryCircuitRecorder, SimulationProviderRecorderWrapper, WASMSimulator } from '@aztec/simulator/client';
|
|
25
|
+
import { FileCircuitRecorder } from '@aztec/simulator/testing';
|
|
26
26
|
import { getContractClassFromArtifact, getContractInstanceFromDeployParams } from '@aztec/stdlib/contract';
|
|
27
27
|
import { getConfigEnvVars as getTelemetryConfig, initTelemetryClient } from '@aztec/telemetry-client';
|
|
28
28
|
import { BenchmarkTelemetryClient } from '@aztec/telemetry-client/bench';
|
|
@@ -97,8 +97,11 @@ export const setupL1Contracts = async (l1RpcUrls, account, logger, args = {}, ch
|
|
|
97
97
|
pxeServiceConfig.dataDirectory = path.join(tmpdir(), randomBytes(8).toString('hex'));
|
|
98
98
|
}
|
|
99
99
|
const simulationProvider = new WASMSimulator();
|
|
100
|
-
const
|
|
101
|
-
const
|
|
100
|
+
const recorder = process.env.CIRCUIT_RECORD_DIR ? new FileCircuitRecorder(process.env.CIRCUIT_RECORD_DIR) : new MemoryCircuitRecorder();
|
|
101
|
+
const simulationProviderWithRecorder = new SimulationProviderRecorderWrapper(simulationProvider, recorder);
|
|
102
|
+
const pxe = await createPXEServiceWithSimulationProvider(aztecNode, simulationProviderWithRecorder, pxeServiceConfig, {
|
|
103
|
+
useLogSuffix
|
|
104
|
+
});
|
|
102
105
|
const teardown = async ()=>{
|
|
103
106
|
if (!configuredDataDirectory) {
|
|
104
107
|
try {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/end-to-end",
|
|
3
|
-
"version": "0.87.
|
|
3
|
+
"version": "0.87.3-nightly.20250528",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"inherits": [
|
|
@@ -25,40 +25,40 @@
|
|
|
25
25
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aztec/accounts": "0.87.
|
|
29
|
-
"@aztec/archiver": "0.87.
|
|
30
|
-
"@aztec/aztec": "0.87.
|
|
31
|
-
"@aztec/aztec-node": "0.87.
|
|
32
|
-
"@aztec/aztec.js": "0.87.
|
|
33
|
-
"@aztec/bb-prover": "0.87.
|
|
34
|
-
"@aztec/blob-lib": "0.87.
|
|
35
|
-
"@aztec/blob-sink": "0.87.
|
|
36
|
-
"@aztec/bot": "0.87.
|
|
37
|
-
"@aztec/cli": "0.87.
|
|
38
|
-
"@aztec/constants": "0.87.
|
|
39
|
-
"@aztec/entrypoints": "0.87.
|
|
40
|
-
"@aztec/epoch-cache": "0.87.
|
|
41
|
-
"@aztec/ethereum": "0.87.
|
|
42
|
-
"@aztec/foundation": "0.87.
|
|
43
|
-
"@aztec/kv-store": "0.87.
|
|
44
|
-
"@aztec/l1-artifacts": "0.87.
|
|
45
|
-
"@aztec/merkle-tree": "0.87.
|
|
46
|
-
"@aztec/noir-contracts.js": "0.87.
|
|
47
|
-
"@aztec/noir-noirc_abi": "0.87.
|
|
48
|
-
"@aztec/noir-protocol-circuits-types": "0.87.
|
|
49
|
-
"@aztec/noir-test-contracts.js": "0.87.
|
|
50
|
-
"@aztec/p2p": "0.87.
|
|
51
|
-
"@aztec/protocol-contracts": "0.87.
|
|
52
|
-
"@aztec/prover-client": "0.87.
|
|
53
|
-
"@aztec/prover-node": "0.87.
|
|
54
|
-
"@aztec/pxe": "0.87.
|
|
55
|
-
"@aztec/sequencer-client": "0.87.
|
|
56
|
-
"@aztec/simulator": "0.87.
|
|
57
|
-
"@aztec/slasher": "0.87.
|
|
58
|
-
"@aztec/stdlib": "0.87.
|
|
59
|
-
"@aztec/telemetry-client": "0.87.
|
|
60
|
-
"@aztec/validator-client": "0.87.
|
|
61
|
-
"@aztec/world-state": "0.87.
|
|
28
|
+
"@aztec/accounts": "0.87.3-nightly.20250528",
|
|
29
|
+
"@aztec/archiver": "0.87.3-nightly.20250528",
|
|
30
|
+
"@aztec/aztec": "0.87.3-nightly.20250528",
|
|
31
|
+
"@aztec/aztec-node": "0.87.3-nightly.20250528",
|
|
32
|
+
"@aztec/aztec.js": "0.87.3-nightly.20250528",
|
|
33
|
+
"@aztec/bb-prover": "0.87.3-nightly.20250528",
|
|
34
|
+
"@aztec/blob-lib": "0.87.3-nightly.20250528",
|
|
35
|
+
"@aztec/blob-sink": "0.87.3-nightly.20250528",
|
|
36
|
+
"@aztec/bot": "0.87.3-nightly.20250528",
|
|
37
|
+
"@aztec/cli": "0.87.3-nightly.20250528",
|
|
38
|
+
"@aztec/constants": "0.87.3-nightly.20250528",
|
|
39
|
+
"@aztec/entrypoints": "0.87.3-nightly.20250528",
|
|
40
|
+
"@aztec/epoch-cache": "0.87.3-nightly.20250528",
|
|
41
|
+
"@aztec/ethereum": "0.87.3-nightly.20250528",
|
|
42
|
+
"@aztec/foundation": "0.87.3-nightly.20250528",
|
|
43
|
+
"@aztec/kv-store": "0.87.3-nightly.20250528",
|
|
44
|
+
"@aztec/l1-artifacts": "0.87.3-nightly.20250528",
|
|
45
|
+
"@aztec/merkle-tree": "0.87.3-nightly.20250528",
|
|
46
|
+
"@aztec/noir-contracts.js": "0.87.3-nightly.20250528",
|
|
47
|
+
"@aztec/noir-noirc_abi": "0.87.3-nightly.20250528",
|
|
48
|
+
"@aztec/noir-protocol-circuits-types": "0.87.3-nightly.20250528",
|
|
49
|
+
"@aztec/noir-test-contracts.js": "0.87.3-nightly.20250528",
|
|
50
|
+
"@aztec/p2p": "0.87.3-nightly.20250528",
|
|
51
|
+
"@aztec/protocol-contracts": "0.87.3-nightly.20250528",
|
|
52
|
+
"@aztec/prover-client": "0.87.3-nightly.20250528",
|
|
53
|
+
"@aztec/prover-node": "0.87.3-nightly.20250528",
|
|
54
|
+
"@aztec/pxe": "0.87.3-nightly.20250528",
|
|
55
|
+
"@aztec/sequencer-client": "0.87.3-nightly.20250528",
|
|
56
|
+
"@aztec/simulator": "0.87.3-nightly.20250528",
|
|
57
|
+
"@aztec/slasher": "0.87.3-nightly.20250528",
|
|
58
|
+
"@aztec/stdlib": "0.87.3-nightly.20250528",
|
|
59
|
+
"@aztec/telemetry-client": "0.87.3-nightly.20250528",
|
|
60
|
+
"@aztec/validator-client": "0.87.3-nightly.20250528",
|
|
61
|
+
"@aztec/world-state": "0.87.3-nightly.20250528",
|
|
62
62
|
"@iarna/toml": "^2.2.5",
|
|
63
63
|
"@jest/globals": "^29.5.0",
|
|
64
64
|
"@noble/curves": "^1.0.0",
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ContractFunctionInteraction,
|
|
3
|
+
DeployMethod,
|
|
4
|
+
DeployOptions,
|
|
5
|
+
Logger,
|
|
6
|
+
ProfileMethodOptions,
|
|
7
|
+
} from '@aztec/aztec.js';
|
|
8
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
9
|
+
import { type PrivateExecutionStep, serializePrivateExecutionSteps } from '@aztec/stdlib/kernel';
|
|
10
|
+
import type { ProvingTimings, SimulationTimings } from '@aztec/stdlib/tx';
|
|
11
|
+
|
|
12
|
+
import assert from 'node:assert';
|
|
13
|
+
import { mkdir, writeFile } from 'node:fs/promises';
|
|
14
|
+
import { join } from 'node:path';
|
|
15
|
+
|
|
16
|
+
import type { GithubActionBenchmarkResult } from '../utils.js';
|
|
17
|
+
|
|
18
|
+
const logger = createLogger('bench:profile_capture');
|
|
19
|
+
|
|
20
|
+
const logLevel = ['silent', 'fatal', 'error', 'warn', 'info', 'verbose', 'debug', 'trace'] as const;
|
|
21
|
+
type LogLevel = (typeof logLevel)[number];
|
|
22
|
+
|
|
23
|
+
export type Log = {
|
|
24
|
+
type: LogLevel;
|
|
25
|
+
timestamp: number;
|
|
26
|
+
prefix: string;
|
|
27
|
+
message: string;
|
|
28
|
+
data: any;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const GATE_TYPES = [
|
|
32
|
+
'ecc_op',
|
|
33
|
+
'busread',
|
|
34
|
+
'lookup',
|
|
35
|
+
'pub_inputs',
|
|
36
|
+
'arithmetic',
|
|
37
|
+
'delta_range',
|
|
38
|
+
'elliptic',
|
|
39
|
+
'aux',
|
|
40
|
+
'poseidon2_external',
|
|
41
|
+
'poseidon2_internal',
|
|
42
|
+
'overflow',
|
|
43
|
+
] as const;
|
|
44
|
+
|
|
45
|
+
type GateType = (typeof GATE_TYPES)[number];
|
|
46
|
+
|
|
47
|
+
type StructuredTrace = {
|
|
48
|
+
[k in GateType]: number;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export class ProxyLogger {
|
|
52
|
+
private static instance: ProxyLogger;
|
|
53
|
+
private logs: Log[] = [];
|
|
54
|
+
|
|
55
|
+
private constructor() {}
|
|
56
|
+
|
|
57
|
+
static create() {
|
|
58
|
+
ProxyLogger.instance = new ProxyLogger();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
static getInstance() {
|
|
62
|
+
return ProxyLogger.instance;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
createLogger(prefix: string): Logger {
|
|
66
|
+
return new Proxy(createLogger(prefix), {
|
|
67
|
+
get: (target: Logger, prop: keyof Logger) => {
|
|
68
|
+
if (logLevel.includes(prop as (typeof logLevel)[number])) {
|
|
69
|
+
return function (this: Logger, ...data: Parameters<Logger[LogLevel]>) {
|
|
70
|
+
const loggingFn = prop as LogLevel;
|
|
71
|
+
const args = [loggingFn, prefix, ...data] as Parameters<ProxyLogger['handleLog']>;
|
|
72
|
+
ProxyLogger.getInstance().handleLog(...args);
|
|
73
|
+
target[loggingFn].call(this, ...[data[0], data[1]]);
|
|
74
|
+
};
|
|
75
|
+
} else {
|
|
76
|
+
return target[prop];
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
private handleLog(type: (typeof logLevel)[number], prefix: string, message: string, data: any) {
|
|
83
|
+
this.logs.unshift({ type, prefix, message, data, timestamp: Date.now() });
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
public flushLogs() {
|
|
87
|
+
this.logs = [];
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
public getLogs() {
|
|
91
|
+
return this.logs;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export type ProverType = 'wasm' | 'native';
|
|
96
|
+
|
|
97
|
+
type OracleRecording = {
|
|
98
|
+
calls: number;
|
|
99
|
+
max: number;
|
|
100
|
+
min: number;
|
|
101
|
+
avg: number;
|
|
102
|
+
total: number;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
type Step = Pick<PrivateExecutionStep, 'functionName' | 'gateCount'> & {
|
|
106
|
+
time: number;
|
|
107
|
+
accGateCount?: number;
|
|
108
|
+
oracles: Record<string, OracleRecording>;
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
type ClientFlowBenchmark = {
|
|
112
|
+
name: string;
|
|
113
|
+
timings: Omit<ProvingTimings & SimulationTimings, 'perFunction'> & { witgen: number };
|
|
114
|
+
maxMemory: number;
|
|
115
|
+
proverType: ProverType;
|
|
116
|
+
minimumTrace: StructuredTrace;
|
|
117
|
+
totalGateCount: number;
|
|
118
|
+
steps: Step[];
|
|
119
|
+
error: string | undefined;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
function getMinimumTrace(logs: Log[]): StructuredTrace {
|
|
123
|
+
const minimumMessage = 'Minimum required block sizes for structured trace';
|
|
124
|
+
const minimumMessageIndex = logs.findIndex(log => log.message.includes(minimumMessage));
|
|
125
|
+
const candidateLogs = logs.slice(minimumMessageIndex - GATE_TYPES.length, minimumMessageIndex + 5);
|
|
126
|
+
|
|
127
|
+
const traceLogs = candidateLogs
|
|
128
|
+
.filter(log => GATE_TYPES.some(type => log.message.includes(type)))
|
|
129
|
+
.map(log => log.message.split(/\t|\n/))
|
|
130
|
+
.flat()
|
|
131
|
+
.map(log => log.replace(/\(mem: .*\)/, '').trim())
|
|
132
|
+
.filter(Boolean);
|
|
133
|
+
|
|
134
|
+
const traceSizes = traceLogs.map(log => {
|
|
135
|
+
const [gateType, gateSizeStr] = log
|
|
136
|
+
.replace(/\n.*\)$/, '')
|
|
137
|
+
.replace(/bb - /, '')
|
|
138
|
+
.split(':')
|
|
139
|
+
.map(s => s.trim());
|
|
140
|
+
const gateSize = parseInt(gateSizeStr);
|
|
141
|
+
assert(GATE_TYPES.includes(gateType as GateType), `Gate type ${gateType} is not recognized`);
|
|
142
|
+
return { [gateType]: gateSize };
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
assert(traceSizes.length === GATE_TYPES.length, 'Decoded trace sizes do not match expected amount of gate types');
|
|
146
|
+
return traceSizes.reduce((acc, curr) => ({ ...acc, ...curr }), {}) as StructuredTrace;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function getMaxMemory(logs: Log[]): number {
|
|
150
|
+
const candidateLogs = logs.slice(0, 100).filter(log => /\(mem: .*MiB\)/.test(log.message));
|
|
151
|
+
const usage = candidateLogs.map(log => {
|
|
152
|
+
const memStr = log ? log.message.slice(log.message.indexOf('(mem: ') + 6, log.message.indexOf('MiB') - 3) : '';
|
|
153
|
+
return memStr ? parseInt(memStr) : 0;
|
|
154
|
+
});
|
|
155
|
+
return Math.max(...usage);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export function generateBenchmark(
|
|
159
|
+
flow: string,
|
|
160
|
+
logs: Log[],
|
|
161
|
+
timings: ProvingTimings | SimulationTimings,
|
|
162
|
+
privateExecutionSteps: PrivateExecutionStep[],
|
|
163
|
+
proverType: ProverType,
|
|
164
|
+
error: string | undefined,
|
|
165
|
+
): ClientFlowBenchmark {
|
|
166
|
+
let maxMemory = 0;
|
|
167
|
+
let minimumTrace: StructuredTrace;
|
|
168
|
+
try {
|
|
169
|
+
minimumTrace = getMinimumTrace(logs);
|
|
170
|
+
maxMemory = getMaxMemory(logs);
|
|
171
|
+
} catch {
|
|
172
|
+
logger.warn(`Failed obtain minimum trace and max memory for ${flow}. Did you run with REAL_PROOFS=1?`);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
const steps = privateExecutionSteps.reduce<Step[]>((acc, step, i) => {
|
|
176
|
+
const previousAccGateCount = i === 0 ? 0 : acc[i - 1].accGateCount!;
|
|
177
|
+
return [
|
|
178
|
+
...acc,
|
|
179
|
+
{
|
|
180
|
+
functionName: step.functionName,
|
|
181
|
+
gateCount: step.gateCount,
|
|
182
|
+
accGateCount: previousAccGateCount + step.gateCount!,
|
|
183
|
+
time: step.timings.witgen,
|
|
184
|
+
oracles: Object.entries(step.timings.oracles ?? {}).reduce(
|
|
185
|
+
(acc, [oracleName, oracleData]) => {
|
|
186
|
+
const total = oracleData.times.reduce((sum, time) => sum + time, 0);
|
|
187
|
+
const calls = oracleData.times.length;
|
|
188
|
+
acc[oracleName] = {
|
|
189
|
+
calls,
|
|
190
|
+
max: Math.max(...oracleData.times),
|
|
191
|
+
min: Math.min(...oracleData.times),
|
|
192
|
+
total,
|
|
193
|
+
avg: total / calls,
|
|
194
|
+
};
|
|
195
|
+
return acc;
|
|
196
|
+
},
|
|
197
|
+
{} as Record<string, OracleRecording>,
|
|
198
|
+
),
|
|
199
|
+
},
|
|
200
|
+
];
|
|
201
|
+
}, []);
|
|
202
|
+
const totalGateCount = steps[steps.length - 1].accGateCount;
|
|
203
|
+
return {
|
|
204
|
+
name: flow,
|
|
205
|
+
timings: {
|
|
206
|
+
total: timings.total,
|
|
207
|
+
sync: timings.sync!,
|
|
208
|
+
proving: (timings as ProvingTimings).proving,
|
|
209
|
+
unaccounted: timings.unaccounted,
|
|
210
|
+
witgen: timings.perFunction.reduce((acc, fn) => acc + fn.time, 0),
|
|
211
|
+
},
|
|
212
|
+
maxMemory,
|
|
213
|
+
proverType,
|
|
214
|
+
minimumTrace: minimumTrace!,
|
|
215
|
+
totalGateCount: totalGateCount!,
|
|
216
|
+
steps,
|
|
217
|
+
error,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
export function convertProfileToGHBenchmark(benchmark: ClientFlowBenchmark): GithubActionBenchmarkResult[] {
|
|
222
|
+
const benches = [
|
|
223
|
+
{
|
|
224
|
+
name: `${benchmark.name}/witgen`,
|
|
225
|
+
value: benchmark.timings.witgen,
|
|
226
|
+
unit: 'ms',
|
|
227
|
+
},
|
|
228
|
+
|
|
229
|
+
{
|
|
230
|
+
name: `${benchmark.name}/total`,
|
|
231
|
+
value: benchmark.timings.total,
|
|
232
|
+
unit: 'ms',
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
name: `${benchmark.name}/sync`,
|
|
236
|
+
value: benchmark.timings.sync!,
|
|
237
|
+
unit: 'ms',
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
name: `${benchmark.name}/unaccounted`,
|
|
241
|
+
value: benchmark.timings.unaccounted,
|
|
242
|
+
unit: 'ms',
|
|
243
|
+
},
|
|
244
|
+
|
|
245
|
+
{
|
|
246
|
+
name: `${benchmark.name}/total_gate_count`,
|
|
247
|
+
value: benchmark.totalGateCount,
|
|
248
|
+
unit: 'gates',
|
|
249
|
+
},
|
|
250
|
+
];
|
|
251
|
+
if (benchmark.timings.proving) {
|
|
252
|
+
benches.push({
|
|
253
|
+
name: `${benchmark.name}/proving`,
|
|
254
|
+
value: benchmark.timings.proving,
|
|
255
|
+
unit: 'ms',
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
if (benchmark.maxMemory) {
|
|
259
|
+
benches.push({
|
|
260
|
+
name: `${benchmark.name}/max_memory`,
|
|
261
|
+
value: benchmark.maxMemory,
|
|
262
|
+
unit: 'MiB',
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
return benches;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
export async function captureProfile(
|
|
269
|
+
label: string,
|
|
270
|
+
interaction: ContractFunctionInteraction | DeployMethod,
|
|
271
|
+
opts?: Omit<ProfileMethodOptions & DeployOptions, 'profileMode'>,
|
|
272
|
+
expectedSteps?: number,
|
|
273
|
+
) {
|
|
274
|
+
// Make sure the proxy logger starts from a clean slate
|
|
275
|
+
ProxyLogger.getInstance().flushLogs();
|
|
276
|
+
const result = await interaction.profile({ ...opts, profileMode: 'full', skipProofGeneration: false });
|
|
277
|
+
const logs = ProxyLogger.getInstance().getLogs();
|
|
278
|
+
if (expectedSteps !== undefined && result.executionSteps.length !== expectedSteps) {
|
|
279
|
+
throw new Error(`Expected ${expectedSteps} execution steps, got ${result.executionSteps.length}`);
|
|
280
|
+
}
|
|
281
|
+
const benchmark = generateBenchmark(label, logs, result.timings, result.executionSteps, 'wasm', undefined);
|
|
282
|
+
|
|
283
|
+
const ivcFolder = process.env.CAPTURE_IVC_FOLDER;
|
|
284
|
+
if (ivcFolder) {
|
|
285
|
+
logger.info(`Capturing client ivc execution profile for ${label}`);
|
|
286
|
+
|
|
287
|
+
const resultsDirectory = join(ivcFolder, label);
|
|
288
|
+
logger.info(`Writing private execution steps to ${resultsDirectory}`);
|
|
289
|
+
await mkdir(resultsDirectory, { recursive: true });
|
|
290
|
+
// Write the client IVC files read by the prover.
|
|
291
|
+
const ivcInputsPath = join(resultsDirectory, 'ivc-inputs.msgpack');
|
|
292
|
+
await writeFile(ivcInputsPath, serializePrivateExecutionSteps(result.executionSteps));
|
|
293
|
+
await writeFile(join(resultsDirectory, 'logs.json'), JSON.stringify(logs, null, 2));
|
|
294
|
+
await writeFile(join(resultsDirectory, 'benchmark.json'), JSON.stringify(benchmark, null, 2));
|
|
295
|
+
logger.info(`Wrote private execution steps to ${resultsDirectory}`);
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
const benchOutput = process.env.BENCH_OUTPUT;
|
|
299
|
+
if (benchOutput) {
|
|
300
|
+
await mkdir(benchOutput, { recursive: true });
|
|
301
|
+
const ghBenchmark = convertProfileToGHBenchmark(benchmark);
|
|
302
|
+
const benchFile = join(benchOutput, `${label}.bench.json`);
|
|
303
|
+
await writeFile(benchFile, JSON.stringify(ghBenchmark));
|
|
304
|
+
logger.info(`Wrote benchmark to ${benchFile}`);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
return result;
|
|
308
|
+
}
|
|
@@ -2,6 +2,7 @@ import { EcdsaRAccountContractArtifact, getEcdsaRAccount } from '@aztec/accounts
|
|
|
2
2
|
import { SchnorrAccountContractArtifact, getSchnorrAccount, getSchnorrWallet } from '@aztec/accounts/schnorr';
|
|
3
3
|
import {
|
|
4
4
|
type AccountWallet,
|
|
5
|
+
AccountWalletWithSecretKey,
|
|
5
6
|
AztecAddress,
|
|
6
7
|
type AztecNode,
|
|
7
8
|
FeeJuicePaymentMethod,
|
|
@@ -47,6 +48,7 @@ import {
|
|
|
47
48
|
FeeJuicePortalTestingHarnessFactory,
|
|
48
49
|
type GasBridgingTestHarness,
|
|
49
50
|
} from '../../shared/gas_portal_test_harness.js';
|
|
51
|
+
import { ProxyLogger } from './benchmark.js';
|
|
50
52
|
import { type ClientFlowsConfig, FULL_FLOWS_CONFIG, KEY_FLOWS_CONFIG } from './config.js';
|
|
51
53
|
|
|
52
54
|
const { E2E_DATA_PATH: dataPath, BENCHMARK_CONFIG } = process.env;
|
|
@@ -91,6 +93,8 @@ export class ClientFlowsBenchmark {
|
|
|
91
93
|
// PXE used by the benchmarking user. It can be set up with client-side proving enabled
|
|
92
94
|
public userPXE!: PXE;
|
|
93
95
|
|
|
96
|
+
public realProofs = ['true', '1'].includes(process.env.REAL_PROOFS ?? '');
|
|
97
|
+
|
|
94
98
|
public paymentMethods: Record<BenchmarkingFeePaymentMethod, { forWallet: FeePaymentMethodGetter; circuits: number }> =
|
|
95
99
|
{
|
|
96
100
|
// eslint-disable-next-line camelcase
|
|
@@ -121,6 +125,8 @@ export class ClientFlowsBenchmark {
|
|
|
121
125
|
|
|
122
126
|
public config: ClientFlowsConfig;
|
|
123
127
|
|
|
128
|
+
private proxyLogger: ProxyLogger;
|
|
129
|
+
|
|
124
130
|
constructor(testName?: string, setupOptions: Partial<SetupOptions & DeployL1ContractsArgs> = {}) {
|
|
125
131
|
this.logger = createLogger(`bench:client_flows${testName ? `:${testName}` : ''}`);
|
|
126
132
|
this.snapshotManager = createSnapshotManager(
|
|
@@ -130,6 +136,8 @@ export class ClientFlowsBenchmark {
|
|
|
130
136
|
{ ...setupOptions },
|
|
131
137
|
);
|
|
132
138
|
this.config = BENCHMARK_CONFIG === 'key_flows' ? KEY_FLOWS_CONFIG : FULL_FLOWS_CONFIG;
|
|
139
|
+
ProxyLogger.create();
|
|
140
|
+
this.proxyLogger = ProxyLogger.getInstance();
|
|
133
141
|
}
|
|
134
142
|
|
|
135
143
|
async setup() {
|
|
@@ -163,7 +171,7 @@ export class ClientFlowsBenchmark {
|
|
|
163
171
|
expect(balanceAfter).toEqual(balanceBefore + amount);
|
|
164
172
|
}
|
|
165
173
|
|
|
166
|
-
async createBenchmarkingAccountManager(type: 'ecdsar1' | 'schnorr') {
|
|
174
|
+
async createBenchmarkingAccountManager(pxe: PXE, type: 'ecdsar1' | 'schnorr') {
|
|
167
175
|
const benchysSecretKey = Fr.random();
|
|
168
176
|
const salt = Fr.random();
|
|
169
177
|
|
|
@@ -171,10 +179,10 @@ export class ClientFlowsBenchmark {
|
|
|
171
179
|
let benchysAccountManager;
|
|
172
180
|
if (type === 'schnorr') {
|
|
173
181
|
benchysPrivateSigningKey = deriveSigningKey(benchysSecretKey);
|
|
174
|
-
benchysAccountManager = await getSchnorrAccount(
|
|
182
|
+
benchysAccountManager = await getSchnorrAccount(pxe, benchysSecretKey, benchysPrivateSigningKey, salt);
|
|
175
183
|
} else if (type === 'ecdsar1') {
|
|
176
184
|
benchysPrivateSigningKey = randomBytes(32);
|
|
177
|
-
benchysAccountManager = await getEcdsaRAccount(
|
|
185
|
+
benchysAccountManager = await getEcdsaRAccount(pxe, benchysSecretKey, benchysPrivateSigningKey, salt);
|
|
178
186
|
} else {
|
|
179
187
|
throw new Error(`Unknown account type: ${type}`);
|
|
180
188
|
}
|
|
@@ -212,11 +220,15 @@ export class ClientFlowsBenchmark {
|
|
|
212
220
|
const l1Contracts = await aztecNode.getL1ContractAddresses();
|
|
213
221
|
const userPXEConfigWithContracts = {
|
|
214
222
|
...userPXEConfig,
|
|
215
|
-
proverEnabled:
|
|
223
|
+
proverEnabled: this.realProofs,
|
|
216
224
|
l1Contracts,
|
|
217
225
|
} as PXEServiceConfig;
|
|
218
226
|
|
|
219
|
-
this.userPXE = await createPXEService(this.aztecNode, userPXEConfigWithContracts,
|
|
227
|
+
this.userPXE = await createPXEService(this.aztecNode, userPXEConfigWithContracts, {
|
|
228
|
+
loggers: {
|
|
229
|
+
prover: this.proxyLogger.createLogger('pxe:bb:wasm:bundle:proxied'),
|
|
230
|
+
},
|
|
231
|
+
});
|
|
220
232
|
},
|
|
221
233
|
);
|
|
222
234
|
}
|
|
@@ -337,7 +349,7 @@ export class ClientFlowsBenchmark {
|
|
|
337
349
|
}
|
|
338
350
|
|
|
339
351
|
public async createAndFundBenchmarkingWallet(accountType: AccountType) {
|
|
340
|
-
const benchysAccountManager = await this.createBenchmarkingAccountManager(accountType);
|
|
352
|
+
const benchysAccountManager = await this.createBenchmarkingAccountManager(this.pxe, accountType);
|
|
341
353
|
const benchysWallet = await benchysAccountManager.getWallet();
|
|
342
354
|
const benchysAddress = benchysAccountManager.getAddress();
|
|
343
355
|
const claim = await this.feeJuiceBridgeTestHarness.prepareTokensOnL1(
|
|
@@ -346,13 +358,19 @@ export class ClientFlowsBenchmark {
|
|
|
346
358
|
);
|
|
347
359
|
const paymentMethod = new FeeJuicePaymentMethodWithClaim(benchysWallet, claim);
|
|
348
360
|
await benchysAccountManager.deploy({ fee: { paymentMethod } }).wait();
|
|
349
|
-
// Register benchy on
|
|
350
|
-
await this.
|
|
361
|
+
// Register benchy on the user's PXE, where we're going to be interacting from
|
|
362
|
+
await this.userPXE.registerContract({
|
|
351
363
|
instance: benchysAccountManager.getInstance(),
|
|
352
364
|
artifact: accountType === 'ecdsar1' ? EcdsaRAccountContractArtifact : SchnorrAccountContractArtifact,
|
|
353
365
|
});
|
|
354
|
-
await this.
|
|
355
|
-
|
|
366
|
+
await this.userPXE.registerAccount(benchysWallet.getSecretKey(), benchysWallet.getCompleteAddress().partialAddress);
|
|
367
|
+
const entrypoint = await benchysAccountManager.getAccount();
|
|
368
|
+
return new AccountWalletWithSecretKey(
|
|
369
|
+
this.userPXE,
|
|
370
|
+
entrypoint,
|
|
371
|
+
benchysWallet.getSecretKey(),
|
|
372
|
+
benchysAccountManager.salt,
|
|
373
|
+
);
|
|
356
374
|
}
|
|
357
375
|
|
|
358
376
|
public async applyDeployAmmSnapshot() {
|