@aztec/end-to-end 0.0.1-commit.24de95ac → 0.0.1-commit.27d773e65
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 +3 -2
- package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/benchmark.js +21 -1
- package/dest/bench/client_flows/client_flows_benchmark.d.ts +22 -16
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +132 -122
- package/dest/bench/client_flows/config.d.ts +2 -2
- package/dest/bench/client_flows/config.d.ts.map +1 -1
- package/dest/bench/client_flows/config.js +18 -0
- package/dest/bench/client_flows/data_extractor.d.ts +1 -1
- package/dest/bench/client_flows/data_extractor.js +7 -27
- package/dest/bench/utils.d.ts +8 -7
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/bench/utils.js +27 -18
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +9 -8
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +106 -112
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +20 -14
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +92 -70
- package/dest/e2e_deploy_contract/deploy_test.d.ts +6 -5
- package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
- package/dest/e2e_deploy_contract/deploy_test.js +18 -13
- package/dest/e2e_epochs/epochs_test.d.ts +25 -15
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +103 -53
- package/dest/e2e_fees/bridging_race.notest.d.ts +1 -1
- package/dest/e2e_fees/bridging_race.notest.js +5 -7
- package/dest/e2e_fees/fees_test.d.ts +21 -17
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +129 -141
- package/dest/e2e_l1_publisher/write_json.d.ts +4 -3
- package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
- package/dest/e2e_l1_publisher/write_json.js +18 -19
- package/dest/e2e_multi_validator/utils.d.ts +1 -1
- package/dest/e2e_multi_validator/utils.js +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.d.ts +6 -9
- package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.js +31 -38
- package/dest/e2e_p2p/inactivity_slash_test.d.ts +3 -3
- package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -1
- package/dest/e2e_p2p/inactivity_slash_test.js +7 -6
- package/dest/e2e_p2p/p2p_network.d.ts +226 -19
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +136 -111
- package/dest/e2e_p2p/reqresp/utils.d.ts +22 -0
- package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -0
- package/dest/e2e_p2p/reqresp/utils.js +177 -0
- package/dest/e2e_p2p/shared.d.ts +11 -11
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +20 -22
- package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +2 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +1 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.js +184 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts +18 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +1 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.js +120 -0
- package/dest/e2e_token_contract/token_contract_test.d.ts +19 -10
- package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
- package/dest/e2e_token_contract/token_contract_test.js +99 -91
- package/dest/fixtures/authwit_proxy.d.ts +15 -0
- package/dest/fixtures/authwit_proxy.d.ts.map +1 -0
- package/dest/fixtures/authwit_proxy.js +30 -0
- package/dest/fixtures/e2e_prover_test.d.ts +15 -21
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +123 -138
- package/dest/fixtures/elu_monitor.d.ts +21 -0
- package/dest/fixtures/elu_monitor.d.ts.map +1 -0
- package/dest/fixtures/elu_monitor.js +102 -0
- package/dest/fixtures/fixtures.d.ts +6 -3
- package/dest/fixtures/fixtures.d.ts.map +1 -1
- package/dest/fixtures/fixtures.js +8 -3
- package/dest/fixtures/get_acvm_config.d.ts +1 -1
- package/dest/fixtures/get_acvm_config.js +1 -1
- package/dest/fixtures/get_bb_config.d.ts +1 -1
- package/dest/fixtures/get_bb_config.d.ts.map +1 -1
- package/dest/fixtures/ha_setup.d.ts +71 -0
- package/dest/fixtures/ha_setup.d.ts.map +1 -0
- package/dest/fixtures/ha_setup.js +116 -0
- package/dest/fixtures/index.d.ts +2 -1
- package/dest/fixtures/index.d.ts.map +1 -1
- package/dest/fixtures/index.js +1 -0
- package/dest/fixtures/l1_to_l2_messaging.d.ts +4 -3
- package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
- package/dest/fixtures/l1_to_l2_messaging.js +2 -2
- package/dest/fixtures/logging.d.ts +1 -1
- package/dest/fixtures/setup.d.ts +234 -0
- package/dest/fixtures/setup.d.ts.map +1 -0
- package/dest/fixtures/setup.js +605 -0
- package/dest/fixtures/setup_p2p_test.d.ts +17 -10
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +55 -36
- package/dest/fixtures/token_utils.d.ts +6 -3
- package/dest/fixtures/token_utils.d.ts.map +1 -1
- package/dest/fixtures/token_utils.js +16 -9
- package/dest/fixtures/utils.d.ts +5 -192
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +4 -648
- package/dest/fixtures/web3signer.d.ts +1 -1
- package/dest/fixtures/web3signer.js +1 -1
- package/dest/fixtures/with_telemetry_utils.d.ts +2 -2
- package/dest/fixtures/with_telemetry_utils.d.ts.map +1 -1
- package/dest/fixtures/with_telemetry_utils.js +2 -2
- package/dest/index.d.ts +1 -1
- package/dest/quality_of_service/grafana_client.d.ts +41 -0
- package/dest/quality_of_service/grafana_client.d.ts.map +1 -0
- package/dest/quality_of_service/{alert_checker.js → grafana_client.js} +1 -1
- package/dest/quality_of_service/prometheus_client.d.ts +38 -0
- package/dest/quality_of_service/prometheus_client.d.ts.map +1 -0
- package/dest/quality_of_service/prometheus_client.js +67 -0
- package/dest/shared/cross_chain_test_harness.d.ts +7 -6
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +14 -14
- package/dest/shared/gas_portal_test_harness.d.ts +2 -2
- package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
- package/dest/shared/gas_portal_test_harness.js +2 -2
- package/dest/shared/index.d.ts +3 -2
- package/dest/shared/index.d.ts.map +1 -1
- package/dest/shared/index.js +1 -0
- package/dest/shared/jest_setup.d.ts +1 -1
- package/dest/shared/jest_setup.js +10 -1
- package/dest/shared/mock_state_view.d.ts +86 -0
- package/dest/shared/mock_state_view.d.ts.map +1 -0
- package/dest/shared/mock_state_view.js +186 -0
- package/dest/shared/submit-transactions.d.ts +4 -4
- package/dest/shared/submit-transactions.d.ts.map +1 -1
- package/dest/shared/submit-transactions.js +9 -11
- package/dest/shared/uniswap_l1_l2.d.ts +3 -27
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +57 -35
- package/dest/simulators/index.d.ts +1 -1
- package/dest/simulators/lending_simulator.d.ts +2 -2
- package/dest/simulators/lending_simulator.d.ts.map +1 -1
- package/dest/simulators/lending_simulator.js +6 -4
- package/dest/simulators/token_simulator.d.ts +1 -1
- package/dest/simulators/token_simulator.d.ts.map +1 -1
- package/dest/simulators/token_simulator.js +2 -23
- package/dest/spartan/setup_test_wallets.d.ts +16 -6
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +115 -23
- package/dest/spartan/tx_metrics.d.ts +88 -0
- package/dest/spartan/tx_metrics.d.ts.map +1 -0
- package/dest/spartan/tx_metrics.js +422 -0
- package/dest/spartan/utils/bot.d.ts +28 -0
- package/dest/spartan/utils/bot.d.ts.map +1 -0
- package/dest/spartan/utils/bot.js +142 -0
- package/dest/spartan/utils/chaos.d.ts +79 -0
- package/dest/spartan/utils/chaos.d.ts.map +1 -0
- package/dest/spartan/utils/chaos.js +142 -0
- package/dest/spartan/utils/clients.d.ts +39 -0
- package/dest/spartan/utils/clients.d.ts.map +1 -0
- package/dest/spartan/utils/clients.js +90 -0
- package/dest/spartan/utils/config.d.ts +42 -0
- package/dest/spartan/utils/config.d.ts.map +1 -0
- package/dest/spartan/utils/config.js +22 -0
- package/dest/spartan/utils/health.d.ts +63 -0
- package/dest/spartan/utils/health.d.ts.map +1 -0
- package/dest/spartan/utils/health.js +202 -0
- package/dest/spartan/utils/helm.d.ts +15 -0
- package/dest/spartan/utils/helm.d.ts.map +1 -0
- package/dest/spartan/utils/helm.js +47 -0
- package/dest/spartan/utils/index.d.ts +10 -0
- package/dest/spartan/utils/index.d.ts.map +1 -0
- package/dest/spartan/utils/index.js +20 -0
- package/dest/spartan/utils/k8s.d.ts +128 -0
- package/dest/spartan/utils/k8s.d.ts.map +1 -0
- package/dest/spartan/utils/k8s.js +381 -0
- package/dest/spartan/utils/nodes.d.ts +40 -0
- package/dest/spartan/utils/nodes.d.ts.map +1 -0
- package/dest/spartan/utils/nodes.js +461 -0
- package/dest/spartan/utils/scripts.d.ts +30 -0
- package/dest/spartan/utils/scripts.d.ts.map +1 -0
- package/dest/spartan/utils/scripts.js +81 -0
- package/dest/spartan/utils.d.ts +2 -218
- package/dest/spartan/utils.d.ts.map +1 -1
- package/dest/spartan/utils.js +1 -749
- package/dest/test-wallet/test_wallet.d.ts +83 -0
- package/dest/test-wallet/test_wallet.d.ts.map +1 -0
- package/dest/test-wallet/test_wallet.js +214 -0
- package/dest/test-wallet/utils.d.ts +41 -0
- package/dest/test-wallet/utils.d.ts.map +1 -0
- package/dest/test-wallet/utils.js +71 -0
- package/dest/test-wallet/wallet_worker_script.d.ts +2 -0
- package/dest/test-wallet/wallet_worker_script.d.ts.map +1 -0
- package/dest/test-wallet/wallet_worker_script.js +48 -0
- package/dest/test-wallet/worker_wallet.d.ts +52 -0
- package/dest/test-wallet/worker_wallet.d.ts.map +1 -0
- package/dest/test-wallet/worker_wallet.js +151 -0
- package/dest/test-wallet/worker_wallet_schema.d.ts +274 -0
- package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -0
- package/dest/test-wallet/worker_wallet_schema.js +10 -0
- package/package.json +47 -40
- package/src/bench/client_flows/benchmark.ts +24 -2
- package/src/bench/client_flows/client_flows_benchmark.ts +155 -177
- package/src/bench/client_flows/config.ts +9 -1
- package/src/bench/client_flows/data_extractor.ts +6 -28
- package/src/bench/utils.ts +31 -21
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +114 -143
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +140 -125
- package/src/e2e_deploy_contract/deploy_test.ts +23 -16
- package/src/e2e_epochs/epochs_test.ts +166 -116
- package/src/e2e_fees/bridging_race.notest.ts +6 -12
- package/src/e2e_fees/fees_test.ts +172 -226
- package/src/e2e_l1_publisher/write_json.ts +20 -19
- package/src/e2e_multi_validator/utils.ts +1 -1
- package/src/e2e_nested_contract/nested_contract_test.ts +33 -55
- package/src/e2e_p2p/inactivity_slash_test.ts +8 -7
- package/src/e2e_p2p/p2p_network.ts +205 -182
- package/src/e2e_p2p/reqresp/utils.ts +235 -0
- package/src/e2e_p2p/shared.ts +37 -29
- package/src/e2e_storage_proof/fixtures/storage_proof.json +915 -0
- package/src/e2e_storage_proof/fixtures/storage_proof_fetcher.ts +190 -0
- package/src/e2e_storage_proof/fixtures/storage_proof_fixture.ts +173 -0
- package/src/e2e_token_contract/token_contract_test.ts +113 -119
- package/src/fixtures/authwit_proxy.ts +50 -0
- package/src/fixtures/dumps/epoch_proof_result.json +1 -1
- package/src/fixtures/e2e_prover_test.ts +138 -186
- package/src/fixtures/elu_monitor.ts +126 -0
- package/src/fixtures/fixtures.ts +12 -5
- package/src/fixtures/get_acvm_config.ts +1 -1
- package/src/fixtures/ha_setup.ts +186 -0
- package/src/fixtures/index.ts +1 -0
- package/src/fixtures/l1_to_l2_messaging.ts +4 -2
- package/src/fixtures/setup.ts +895 -0
- package/src/fixtures/setup_p2p_test.ts +58 -48
- package/src/fixtures/token_utils.ts +9 -7
- package/src/fixtures/utils.ts +27 -947
- package/src/fixtures/web3signer.ts +1 -1
- package/src/fixtures/with_telemetry_utils.ts +2 -2
- package/src/guides/up_quick_start.sh +4 -4
- package/src/quality_of_service/{alert_checker.ts → grafana_client.ts} +1 -1
- package/src/quality_of_service/prometheus_client.ts +113 -0
- package/src/shared/cross_chain_test_harness.ts +19 -36
- package/src/shared/gas_portal_test_harness.ts +3 -3
- package/src/shared/index.ts +2 -1
- package/src/shared/jest_setup.ts +16 -1
- package/src/shared/mock_state_view.ts +188 -0
- package/src/shared/submit-transactions.ts +14 -16
- package/src/shared/uniswap_l1_l2.ts +66 -89
- package/src/simulators/lending_simulator.ts +7 -5
- package/src/simulators/token_simulator.ts +1 -29
- package/src/spartan/DEVELOP.md +7 -0
- package/src/spartan/setup_test_wallets.ts +173 -28
- package/src/spartan/tx_metrics.ts +376 -0
- package/src/spartan/utils/bot.ts +188 -0
- package/src/spartan/utils/chaos.ts +253 -0
- package/src/spartan/utils/clients.ts +100 -0
- package/src/spartan/utils/config.ts +28 -0
- package/src/spartan/utils/health.ts +255 -0
- package/src/spartan/utils/helm.ts +84 -0
- package/src/spartan/utils/index.ts +68 -0
- package/src/spartan/utils/k8s.ts +535 -0
- package/src/spartan/utils/nodes.ts +543 -0
- package/src/spartan/utils/scripts.ts +99 -0
- package/src/spartan/utils.ts +1 -942
- package/src/test-wallet/test_wallet.ts +306 -0
- package/src/test-wallet/utils.ts +112 -0
- package/src/test-wallet/wallet_worker_script.ts +60 -0
- package/src/test-wallet/worker_wallet.ts +213 -0
- package/src/test-wallet/worker_wallet_schema.ts +13 -0
- package/dest/fixtures/setup_l1_contracts.d.ts +0 -6
- package/dest/fixtures/setup_l1_contracts.d.ts.map +0 -1
- package/dest/fixtures/setup_l1_contracts.js +0 -17
- package/dest/fixtures/snapshot_manager.d.ts +0 -95
- package/dest/fixtures/snapshot_manager.d.ts.map +0 -1
- package/dest/fixtures/snapshot_manager.js +0 -505
- package/dest/quality_of_service/alert_checker.d.ts +0 -41
- package/dest/quality_of_service/alert_checker.d.ts.map +0 -1
- package/src/fixtures/setup_l1_contracts.ts +0 -26
- package/src/fixtures/snapshot_manager.ts +0 -665
|
@@ -5,11 +5,14 @@ import { type Logger, createLogger } from '@aztec/aztec.js/log';
|
|
|
5
5
|
import type { AztecNode } from '@aztec/aztec.js/node';
|
|
6
6
|
import type { Wallet } from '@aztec/aztec.js/wallet';
|
|
7
7
|
import { CheatCodes } from '@aztec/aztec/testing';
|
|
8
|
-
import {
|
|
8
|
+
import { createExtendedL1Client } from '@aztec/ethereum/client';
|
|
9
|
+
import { RollupContract } from '@aztec/ethereum/contracts';
|
|
10
|
+
import type { DeployAztecL1ContractsArgs } from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
11
|
+
import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contract';
|
|
9
12
|
import { ChainMonitor } from '@aztec/ethereum/test';
|
|
10
|
-
import { randomBytes } from '@aztec/foundation/crypto';
|
|
13
|
+
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
14
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
11
15
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
12
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
13
16
|
import { TestERC20Abi } from '@aztec/l1-artifacts/TestERC20Abi';
|
|
14
17
|
import { TestERC20Bytecode } from '@aztec/l1-artifacts/TestERC20Bytecode';
|
|
15
18
|
import { AMMContract } from '@aztec/noir-contracts.js/AMM';
|
|
@@ -20,40 +23,34 @@ import { TokenContract as BananaCoin, TokenContract } from '@aztec/noir-contract
|
|
|
20
23
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
21
24
|
import { getCanonicalFeeJuice } from '@aztec/protocol-contracts/fee-juice';
|
|
22
25
|
import { type PXEConfig, getPXEConfig } from '@aztec/pxe/server';
|
|
26
|
+
import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
23
27
|
import { GasSettings } from '@aztec/stdlib/gas';
|
|
24
28
|
import { deriveSigningKey } from '@aztec/stdlib/keys';
|
|
25
|
-
import { TestWallet } from '@aztec/test-wallet/server';
|
|
26
29
|
|
|
27
30
|
import { MNEMONIC } from '../../fixtures/fixtures.js';
|
|
28
|
-
import {
|
|
29
|
-
type ISnapshotManager,
|
|
30
|
-
type SubsystemsContext,
|
|
31
|
-
createSnapshotManager,
|
|
32
|
-
deployAccounts,
|
|
33
|
-
} from '../../fixtures/snapshot_manager.js';
|
|
31
|
+
import { type EndToEndContext, type SetupOptions, deployAccounts, setup, teardown } from '../../fixtures/setup.js';
|
|
34
32
|
import { mintTokensToPrivate } from '../../fixtures/token_utils.js';
|
|
35
|
-
import {
|
|
33
|
+
import { setupSponsoredFPC } from '../../fixtures/utils.js';
|
|
36
34
|
import { CrossChainTestHarness } from '../../shared/cross_chain_test_harness.js';
|
|
37
35
|
import {
|
|
38
36
|
FeeJuicePortalTestingHarnessFactory,
|
|
39
37
|
type GasBridgingTestHarness,
|
|
40
38
|
} from '../../shared/gas_portal_test_harness.js';
|
|
39
|
+
import { TestWallet } from '../../test-wallet/test_wallet.js';
|
|
41
40
|
import { ProxyLogger } from './benchmark.js';
|
|
42
41
|
import { type ClientFlowsConfig, FULL_FLOWS_CONFIG, KEY_FLOWS_CONFIG } from './config.js';
|
|
43
42
|
|
|
44
|
-
const {
|
|
43
|
+
const { BENCHMARK_CONFIG } = process.env;
|
|
45
44
|
|
|
46
45
|
export type AccountType = 'ecdsar1' | 'schnorr';
|
|
47
46
|
export type FeePaymentMethodGetter = (wallet: Wallet, sender: AztecAddress) => Promise<FeePaymentMethod | undefined>;
|
|
48
47
|
export type BenchmarkingFeePaymentMethod = 'bridged_fee_juice' | 'private_fpc' | 'sponsored_fpc' | 'fee_juice';
|
|
49
48
|
|
|
50
49
|
export class ClientFlowsBenchmark {
|
|
51
|
-
private snapshotManager: ISnapshotManager;
|
|
52
|
-
|
|
53
50
|
public logger: Logger;
|
|
54
51
|
public aztecNode!: AztecNode;
|
|
55
52
|
public cheatCodes!: CheatCodes;
|
|
56
|
-
public context!:
|
|
53
|
+
public context!: EndToEndContext;
|
|
57
54
|
public chainMonitor!: ChainMonitor;
|
|
58
55
|
public feeJuiceBridgeTestHarness!: GasBridgingTestHarness;
|
|
59
56
|
public adminWallet!: TestWallet;
|
|
@@ -69,15 +66,21 @@ export class ClientFlowsBenchmark {
|
|
|
69
66
|
public feeJuiceContract!: FeeJuiceContract;
|
|
70
67
|
// Asset in which fees are paid via FPC
|
|
71
68
|
public bananaCoin!: BananaCoin;
|
|
69
|
+
public bananaCoinInstance!: ContractInstanceWithAddress;
|
|
72
70
|
public bananaFPC!: FPCContract;
|
|
71
|
+
public bananaFPCInstance!: ContractInstanceWithAddress;
|
|
73
72
|
// Random asset we want to trade
|
|
74
73
|
public candyBarCoin!: TokenContract;
|
|
74
|
+
public candyBarCoinInstance!: ContractInstanceWithAddress;
|
|
75
75
|
// AMM contract
|
|
76
76
|
public amm!: AMMContract;
|
|
77
|
+
public ammInstance!: ContractInstanceWithAddress;
|
|
77
78
|
// Liquidity token for AMM
|
|
78
79
|
public liquidityToken!: TokenContract;
|
|
80
|
+
public liquidityTokenInstance!: ContractInstanceWithAddress;
|
|
79
81
|
// Sponsored FPC contract
|
|
80
82
|
public sponsoredFPC!: SponsoredFPCContract;
|
|
83
|
+
public sponsoredFPCInstance!: ContractInstanceWithAddress;
|
|
81
84
|
|
|
82
85
|
// PXE and Wallet used by the benchmarking user. It can be set up with client-side proving enabled
|
|
83
86
|
public userWallet!: TestWallet;
|
|
@@ -115,33 +118,37 @@ export class ClientFlowsBenchmark {
|
|
|
115
118
|
public config: ClientFlowsConfig;
|
|
116
119
|
|
|
117
120
|
private proxyLogger: ProxyLogger;
|
|
121
|
+
private setupOptions: Partial<SetupOptions & DeployAztecL1ContractsArgs>;
|
|
118
122
|
|
|
119
|
-
constructor(testName?: string, setupOptions: Partial<SetupOptions &
|
|
123
|
+
constructor(testName?: string, setupOptions: Partial<SetupOptions & DeployAztecL1ContractsArgs> = {}) {
|
|
120
124
|
this.logger = createLogger(`bench:client_flows${testName ? `:${testName}` : ''}`);
|
|
121
|
-
this.
|
|
122
|
-
`bench_client_flows${testName ? `/${testName}` : ''}`,
|
|
123
|
-
dataPath,
|
|
124
|
-
{ startProverNode: true, ...setupOptions },
|
|
125
|
-
{ ...setupOptions },
|
|
126
|
-
);
|
|
125
|
+
this.setupOptions = { startProverNode: true, ...setupOptions };
|
|
127
126
|
this.config = BENCHMARK_CONFIG === 'key_flows' ? KEY_FLOWS_CONFIG : FULL_FLOWS_CONFIG;
|
|
128
127
|
ProxyLogger.create();
|
|
129
128
|
this.proxyLogger = ProxyLogger.getInstance();
|
|
130
129
|
}
|
|
131
130
|
|
|
132
131
|
async setup() {
|
|
133
|
-
|
|
134
|
-
await
|
|
132
|
+
this.logger.info('Setting up subsystems from fresh');
|
|
133
|
+
this.context = await setup(0, {
|
|
134
|
+
...this.setupOptions,
|
|
135
|
+
fundSponsoredFPC: true,
|
|
136
|
+
skipAccountDeployment: true,
|
|
137
|
+
l1ContractsArgs: this.setupOptions,
|
|
138
|
+
});
|
|
139
|
+
await this.applyBaseSetup();
|
|
140
|
+
|
|
141
|
+
await this.context.aztecNodeService.setConfig({ feeRecipient: this.sequencerAddress, coinbase: this.coinbase });
|
|
135
142
|
|
|
136
|
-
const rollupContract = RollupContract.getFromConfig(context.
|
|
137
|
-
this.chainMonitor = new ChainMonitor(rollupContract, context.dateProvider, this.logger, 200).start();
|
|
143
|
+
const rollupContract = RollupContract.getFromConfig(this.context.config);
|
|
144
|
+
this.chainMonitor = new ChainMonitor(rollupContract, this.context.dateProvider, this.logger, 200).start();
|
|
138
145
|
|
|
139
146
|
return this;
|
|
140
147
|
}
|
|
141
148
|
|
|
142
149
|
async teardown() {
|
|
143
150
|
await this.chainMonitor.stop();
|
|
144
|
-
await this.
|
|
151
|
+
await teardown(this.context);
|
|
145
152
|
}
|
|
146
153
|
|
|
147
154
|
async mintAndBridgeFeeJuice(address: AztecAddress) {
|
|
@@ -149,21 +156,16 @@ export class ClientFlowsBenchmark {
|
|
|
149
156
|
const { claimSecret: secret, messageLeafIndex: index } = claim;
|
|
150
157
|
await this.feeJuiceContract.methods
|
|
151
158
|
.claim(address, claim.claimAmount, secret, index)
|
|
152
|
-
.send({ from: this.adminAddress })
|
|
153
|
-
.wait();
|
|
159
|
+
.send({ from: this.adminAddress });
|
|
154
160
|
}
|
|
155
161
|
|
|
156
162
|
/** Admin mints bananaCoin tokens privately to the target address and redeems them. */
|
|
157
163
|
async mintPrivateBananas(amount: bigint, address: AztecAddress) {
|
|
158
|
-
const balanceBefore = await this.bananaCoin.methods
|
|
159
|
-
.balance_of_private(address)
|
|
160
|
-
.simulate({ from: this.adminAddress });
|
|
164
|
+
const balanceBefore = await this.bananaCoin.methods.balance_of_private(address).simulate({ from: address });
|
|
161
165
|
|
|
162
166
|
await mintTokensToPrivate(this.bananaCoin, this.adminAddress, address, amount);
|
|
163
167
|
|
|
164
|
-
const balanceAfter = await this.bananaCoin.methods
|
|
165
|
-
.balance_of_private(address)
|
|
166
|
-
.simulate({ from: this.adminAddress });
|
|
168
|
+
const balanceAfter = await this.bananaCoin.methods.balance_of_private(address).simulate({ from: address });
|
|
167
169
|
expect(balanceAfter).toEqual(balanceBefore + amount);
|
|
168
170
|
}
|
|
169
171
|
|
|
@@ -183,137 +185,118 @@ export class ClientFlowsBenchmark {
|
|
|
183
185
|
}
|
|
184
186
|
}
|
|
185
187
|
|
|
186
|
-
public async
|
|
187
|
-
await this.
|
|
188
|
-
await this.
|
|
188
|
+
public async applyBaseSetup() {
|
|
189
|
+
await this.applyInitialAccounts();
|
|
190
|
+
await this.applySetupFeeJuice();
|
|
189
191
|
}
|
|
190
192
|
|
|
191
|
-
async
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
193
|
+
async applyInitialAccounts() {
|
|
194
|
+
this.logger.info('Applying initial accounts setup');
|
|
195
|
+
const { deployedAccounts } = await deployAccounts(
|
|
196
|
+
2,
|
|
197
|
+
this.logger,
|
|
198
|
+
)({
|
|
199
|
+
wallet: this.context.wallet,
|
|
200
|
+
initialFundedAccounts: this.context.initialFundedAccounts,
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
const [{ address: adminAddress }, { address: sequencerAddress }] = deployedAccounts;
|
|
204
|
+
|
|
205
|
+
this.adminWallet = this.context.wallet;
|
|
206
|
+
this.aztecNode = this.context.aztecNodeService;
|
|
207
|
+
this.cheatCodes = this.context.cheatCodes;
|
|
208
|
+
|
|
209
|
+
this.adminAddress = adminAddress;
|
|
210
|
+
this.sequencerAddress = sequencerAddress;
|
|
211
|
+
|
|
212
|
+
const canonicalFeeJuice = await getCanonicalFeeJuice();
|
|
213
|
+
this.feeJuiceContract = FeeJuiceContract.at(canonicalFeeJuice.address, this.adminWallet);
|
|
214
|
+
this.coinbase = EthAddress.random();
|
|
215
|
+
|
|
216
|
+
const userPXEConfig = getPXEConfig();
|
|
217
|
+
const userPXEConfigWithContracts = {
|
|
218
|
+
...userPXEConfig,
|
|
219
|
+
proverEnabled: this.realProofs,
|
|
220
|
+
} as PXEConfig;
|
|
221
|
+
|
|
222
|
+
this.userWallet = await TestWallet.create(this.aztecNode, userPXEConfigWithContracts, {
|
|
223
|
+
loggers: {
|
|
224
|
+
prover: this.proxyLogger.createLogger('pxe:bb:wasm:bundle:proxied'),
|
|
221
225
|
},
|
|
222
|
-
);
|
|
226
|
+
});
|
|
223
227
|
}
|
|
224
228
|
|
|
225
|
-
async
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
aztecNodeAdmin: context.aztecNode,
|
|
237
|
-
l1Client: context.deployL1ContractsValues.l1Client,
|
|
238
|
-
wallet: this.adminWallet,
|
|
239
|
-
logger: this.logger,
|
|
240
|
-
});
|
|
241
|
-
},
|
|
242
|
-
);
|
|
229
|
+
async applySetupFeeJuice() {
|
|
230
|
+
this.logger.info('Applying fee juice setup');
|
|
231
|
+
this.feeJuiceContract = FeeJuiceContract.at(ProtocolContractAddress.FeeJuice, this.adminWallet);
|
|
232
|
+
|
|
233
|
+
this.feeJuiceBridgeTestHarness = await FeeJuicePortalTestingHarnessFactory.create({
|
|
234
|
+
aztecNode: this.context.aztecNodeService,
|
|
235
|
+
aztecNodeAdmin: this.context.aztecNodeService,
|
|
236
|
+
l1Client: this.context.deployL1ContractsValues.l1Client,
|
|
237
|
+
wallet: this.adminWallet,
|
|
238
|
+
logger: this.logger,
|
|
239
|
+
});
|
|
243
240
|
}
|
|
244
241
|
|
|
245
|
-
async
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
},
|
|
258
|
-
);
|
|
242
|
+
async applyDeployBananaToken() {
|
|
243
|
+
this.logger.info('Applying banana token deployment');
|
|
244
|
+
const { contract: bananaCoin, instance: bananaCoinInstance } = await BananaCoin.deploy(
|
|
245
|
+
this.adminWallet,
|
|
246
|
+
this.adminAddress,
|
|
247
|
+
'BC',
|
|
248
|
+
'BC',
|
|
249
|
+
18n,
|
|
250
|
+
).send({ from: this.adminAddress, wait: { returnReceipt: true } });
|
|
251
|
+
this.logger.info(`BananaCoin deployed at ${bananaCoin.address}`);
|
|
252
|
+
this.bananaCoin = bananaCoin;
|
|
253
|
+
this.bananaCoinInstance = bananaCoinInstance;
|
|
259
254
|
}
|
|
260
255
|
|
|
261
|
-
async
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
},
|
|
274
|
-
);
|
|
256
|
+
async applyDeployCandyBarToken() {
|
|
257
|
+
this.logger.info('Applying candy bar token deployment');
|
|
258
|
+
const { contract: candyBarCoin, instance: candyBarCoinInstance } = await TokenContract.deploy(
|
|
259
|
+
this.adminWallet,
|
|
260
|
+
this.adminAddress,
|
|
261
|
+
'CBC',
|
|
262
|
+
'CBC',
|
|
263
|
+
18n,
|
|
264
|
+
).send({ from: this.adminAddress, wait: { returnReceipt: true } });
|
|
265
|
+
this.logger.info(`CandyBarCoin deployed at ${candyBarCoin.address}`);
|
|
266
|
+
this.candyBarCoin = candyBarCoin;
|
|
267
|
+
this.candyBarCoinInstance = candyBarCoinInstance;
|
|
275
268
|
}
|
|
276
269
|
|
|
277
|
-
public async
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
|
|
282
|
-
expect((await context.wallet.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
|
|
270
|
+
public async applyFPCSetup() {
|
|
271
|
+
this.logger.info('Applying FPC setup');
|
|
272
|
+
const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
|
|
273
|
+
expect((await this.context.wallet.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
|
|
283
274
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
275
|
+
const bananaCoin = this.bananaCoin;
|
|
276
|
+
const { contract: bananaFPC, instance: bananaFPCInstance } = await FPCContract.deploy(
|
|
277
|
+
this.adminWallet,
|
|
278
|
+
bananaCoin.address,
|
|
279
|
+
this.adminAddress,
|
|
280
|
+
).send({ from: this.adminAddress, wait: { returnReceipt: true } });
|
|
288
281
|
|
|
289
|
-
|
|
282
|
+
this.logger.info(`BananaPay deployed at ${bananaFPC.address}`);
|
|
290
283
|
|
|
291
|
-
|
|
284
|
+
await this.feeJuiceBridgeTestHarness.bridgeFromL1ToL2(bananaFPC.address, this.adminAddress);
|
|
292
285
|
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
async data => {
|
|
296
|
-
this.bananaFPC = await FPCContract.at(data.bananaFPCAddress, this.adminWallet);
|
|
297
|
-
},
|
|
298
|
-
);
|
|
286
|
+
this.bananaFPC = bananaFPC;
|
|
287
|
+
this.bananaFPCInstance = bananaFPCInstance;
|
|
299
288
|
}
|
|
300
289
|
|
|
301
|
-
async
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
return { sponsoredFPCAddress: sponsoredFPC.address };
|
|
308
|
-
},
|
|
309
|
-
async ({ sponsoredFPCAddress }) => {
|
|
310
|
-
this.sponsoredFPC = await SponsoredFPCContract.at(sponsoredFPCAddress, this.adminWallet);
|
|
311
|
-
},
|
|
312
|
-
);
|
|
290
|
+
async applyDeploySponsoredFPC() {
|
|
291
|
+
this.logger.info('Applying sponsored FPC deployment');
|
|
292
|
+
const sponsoredFPCInstance = await setupSponsoredFPC(this.adminWallet);
|
|
293
|
+
this.logger.info(`SponsoredFPC at ${sponsoredFPCInstance.address}`);
|
|
294
|
+
this.sponsoredFPC = SponsoredFPCContract.at(sponsoredFPCInstance.address, this.adminWallet);
|
|
295
|
+
this.sponsoredFPCInstance = sponsoredFPCInstance;
|
|
313
296
|
}
|
|
314
297
|
|
|
315
298
|
public async createCrossChainTestHarness(owner: AztecAddress) {
|
|
316
|
-
const l1Client = createExtendedL1Client(this.context.
|
|
299
|
+
const l1Client = createExtendedL1Client(this.context.config.l1RpcUrls, MNEMONIC);
|
|
317
300
|
|
|
318
301
|
const underlyingERC20Address = await deployL1Contract(l1Client, TestERC20Abi, TestERC20Bytecode, [
|
|
319
302
|
'Underlying',
|
|
@@ -342,12 +325,10 @@ export class ClientFlowsBenchmark {
|
|
|
342
325
|
const benchysAddress = benchysAccountManager.address;
|
|
343
326
|
const claim = await this.feeJuiceBridgeTestHarness.prepareTokensOnL1(benchysAddress);
|
|
344
327
|
const behchysDeployMethod = await benchysAccountManager.getDeployMethod();
|
|
345
|
-
await behchysDeployMethod
|
|
346
|
-
.
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
})
|
|
350
|
-
.wait();
|
|
328
|
+
await behchysDeployMethod.send({
|
|
329
|
+
from: AztecAddress.ZERO,
|
|
330
|
+
fee: { paymentMethod: new FeeJuicePaymentMethodWithClaim(benchysAddress, claim) },
|
|
331
|
+
});
|
|
351
332
|
// Register benchy on the user's Wallet, where we're going to be interacting from
|
|
352
333
|
const accountManager = await this.userWallet.createAccount({
|
|
353
334
|
secret: benchysAccount.getSecretKey(),
|
|
@@ -357,30 +338,27 @@ export class ClientFlowsBenchmark {
|
|
|
357
338
|
return accountManager.address;
|
|
358
339
|
}
|
|
359
340
|
|
|
360
|
-
public async
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
this.amm = await AMMContract.at(ammAddress, this.adminWallet);
|
|
382
|
-
},
|
|
383
|
-
);
|
|
341
|
+
public async applyDeployAmm() {
|
|
342
|
+
this.logger.info('Applying AMM deployment');
|
|
343
|
+
const { contract: liquidityToken, instance: liquidityTokenInstance } = await TokenContract.deploy(
|
|
344
|
+
this.adminWallet,
|
|
345
|
+
this.adminAddress,
|
|
346
|
+
'LPT',
|
|
347
|
+
'LPT',
|
|
348
|
+
18n,
|
|
349
|
+
).send({ from: this.adminAddress, wait: { returnReceipt: true } });
|
|
350
|
+
const { contract: amm, instance: ammInstance } = await AMMContract.deploy(
|
|
351
|
+
this.adminWallet,
|
|
352
|
+
this.bananaCoin.address,
|
|
353
|
+
this.candyBarCoin.address,
|
|
354
|
+
liquidityToken.address,
|
|
355
|
+
).send({ from: this.adminAddress, wait: { returnReceipt: true } });
|
|
356
|
+
this.logger.info(`AMM deployed at ${amm.address}`);
|
|
357
|
+
await liquidityToken.methods.set_minter(amm.address, true).send({ from: this.adminAddress });
|
|
358
|
+
this.liquidityToken = liquidityToken;
|
|
359
|
+
this.liquidityTokenInstance = liquidityTokenInstance;
|
|
360
|
+
this.amm = amm;
|
|
361
|
+
this.ammInstance = ammInstance;
|
|
384
362
|
}
|
|
385
363
|
|
|
386
364
|
public async getBridgedFeeJuicePaymentMethodForWallet(_wallet: Wallet, sender: AztecAddress) {
|
|
@@ -391,7 +369,7 @@ export class ClientFlowsBenchmark {
|
|
|
391
369
|
public async getPrivateFPCPaymentMethodForWallet(wallet: Wallet, sender: AztecAddress) {
|
|
392
370
|
// The private fee paying method assembled on the app side requires knowledge of the maximum
|
|
393
371
|
// fee the user is willing to pay
|
|
394
|
-
const maxFeesPerGas = (await this.aztecNode.
|
|
372
|
+
const maxFeesPerGas = (await this.aztecNode.getCurrentMinFees()).mul(1.5);
|
|
395
373
|
const gasSettings = GasSettings.default({ maxFeesPerGas });
|
|
396
374
|
return new PrivateFeePaymentMethod(this.bananaFPC.address, sender, wallet, gasSettings);
|
|
397
375
|
}
|
|
@@ -6,7 +6,7 @@ export type ClientFlowConfig = {
|
|
|
6
6
|
recursions?: number[];
|
|
7
7
|
};
|
|
8
8
|
|
|
9
|
-
type ClientFlows = 'accountDeployments' | 'deployments' | 'transfers' | 'bridging' | 'amm';
|
|
9
|
+
type ClientFlows = 'accountDeployments' | 'deployments' | 'transfers' | 'bridging' | 'amm' | 'storageProof';
|
|
10
10
|
|
|
11
11
|
export type ClientFlowsConfig = {
|
|
12
12
|
[key in ClientFlows]: ClientFlowConfig;
|
|
@@ -34,6 +34,10 @@ export const KEY_FLOWS_CONFIG: ClientFlowsConfig = {
|
|
|
34
34
|
feePaymentMethods: ['sponsored_fpc', 'private_fpc'],
|
|
35
35
|
recursions: [0, 1],
|
|
36
36
|
},
|
|
37
|
+
storageProof: {
|
|
38
|
+
accounts: ['ecdsar1'],
|
|
39
|
+
feePaymentMethods: ['sponsored_fpc'],
|
|
40
|
+
},
|
|
37
41
|
};
|
|
38
42
|
|
|
39
43
|
export const FULL_FLOWS_CONFIG: ClientFlowsConfig = {
|
|
@@ -58,4 +62,8 @@ export const FULL_FLOWS_CONFIG: ClientFlowsConfig = {
|
|
|
58
62
|
feePaymentMethods: ['sponsored_fpc', 'private_fpc'],
|
|
59
63
|
recursions: [0, 1, 2],
|
|
60
64
|
},
|
|
65
|
+
storageProof: {
|
|
66
|
+
accounts: ['ecdsar1', 'schnorr'],
|
|
67
|
+
feePaymentMethods: ['sponsored_fpc', 'private_fpc'],
|
|
68
|
+
},
|
|
61
69
|
};
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { BBNativePrivateKernelProver } from '@aztec/bb-prover/client/native';
|
|
3
|
-
import { BBWASMBundlePrivateKernelProver } from '@aztec/bb-prover/client/wasm/bundle';
|
|
1
|
+
import { BBBundlePrivateKernelProver } from '@aztec/bb-prover/client/bundle';
|
|
4
2
|
import { createLogger, logger } from '@aztec/foundation/log';
|
|
5
3
|
import { Timer } from '@aztec/foundation/timer';
|
|
6
4
|
import { WASMSimulator } from '@aztec/simulator/client';
|
|
@@ -11,26 +9,7 @@ import { Decoder } from 'msgpackr';
|
|
|
11
9
|
import { readFile, readdir, writeFile } from 'node:fs/promises';
|
|
12
10
|
import { join } from 'node:path';
|
|
13
11
|
|
|
14
|
-
import { type Log,
|
|
15
|
-
|
|
16
|
-
type NativeProverConfig = { bbBinaryPath?: string; bbWorkingDirectory?: string };
|
|
17
|
-
|
|
18
|
-
async function createProver(config: NativeProverConfig = {}, log: Logger) {
|
|
19
|
-
const simulator = new WASMSimulator();
|
|
20
|
-
if (!config.bbBinaryPath || !config.bbWorkingDirectory) {
|
|
21
|
-
return { prover: new BBWASMBundlePrivateKernelProver(simulator, 16, log), type: 'wasm' as ProverType };
|
|
22
|
-
} else {
|
|
23
|
-
const bbConfig = config as Required<NativeProverConfig>;
|
|
24
|
-
return {
|
|
25
|
-
prover: await BBNativePrivateKernelProver.new(
|
|
26
|
-
{ bbSkipCleanup: false, numConcurrentIVCVerifiers: 1, bbIVCConcurrency: 1, ...bbConfig },
|
|
27
|
-
simulator,
|
|
28
|
-
log,
|
|
29
|
-
),
|
|
30
|
-
type: 'native' as ProverType,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
}
|
|
12
|
+
import { type Log, ProxyLogger, generateBenchmark } from './benchmark.js';
|
|
34
13
|
|
|
35
14
|
async function main() {
|
|
36
15
|
ProxyLogger.create();
|
|
@@ -41,10 +20,9 @@ async function main() {
|
|
|
41
20
|
}
|
|
42
21
|
const flows = await readdir(ivcFolder);
|
|
43
22
|
logger.info(`Flows in ${ivcFolder}: \n${flows.map(flowName => `\t- ${flowName}`).join('\n')}`);
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
);
|
|
23
|
+
const simulator = new WASMSimulator();
|
|
24
|
+
const log = proxyLogger.createLogger('bb:prover');
|
|
25
|
+
const prover = new BBBundlePrivateKernelProver(simulator, { logger: log });
|
|
48
26
|
|
|
49
27
|
const userLog = createLogger('chonk_flows:data_processor');
|
|
50
28
|
|
|
@@ -96,7 +74,7 @@ async function main() {
|
|
|
96
74
|
if (!(profile.stats.timings as ProvingTimings).proving) {
|
|
97
75
|
(profile.stats.timings as ProvingTimings).proving = provingTime;
|
|
98
76
|
}
|
|
99
|
-
const benchmark = generateBenchmark(flow, currentLogs, profile.stats, privateExecutionSteps,
|
|
77
|
+
const benchmark = generateBenchmark(flow, currentLogs, profile.stats, privateExecutionSteps, 'native', error);
|
|
100
78
|
await writeFile(join(ivcFolder, flow, 'benchmark.json'), JSON.stringify(benchmark, null, 2));
|
|
101
79
|
proxyLogger.flushLogs();
|
|
102
80
|
}
|