@aztec/end-to-end 0.0.1-commit.c7c42ec → 0.0.1-commit.f295ac2
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 +12 -13
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +105 -135
- package/dest/bench/client_flows/data_extractor.js +3 -1
- package/dest/bench/utils.d.ts +5 -5
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/bench/utils.js +8 -5
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +6 -7
- 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 +98 -113
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +15 -10
- 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 +89 -70
- package/dest/e2e_deploy_contract/deploy_test.d.ts +4 -3
- 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.js +2 -2
- package/dest/e2e_fees/bridging_race.notest.js +2 -4
- package/dest/e2e_fees/fees_test.d.ts +13 -13
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +123 -141
- package/dest/e2e_l1_publisher/write_json.d.ts +3 -3
- package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
- package/dest/e2e_l1_publisher/write_json.js +19 -15
- 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 +32 -40
- 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 +3 -3
- package/dest/e2e_p2p/p2p_network.d.ts +7 -6
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +107 -104
- package/dest/e2e_p2p/shared.d.ts +1 -1
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +4 -4
- package/dest/e2e_token_contract/token_contract_test.d.ts +16 -9
- package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
- package/dest/e2e_token_contract/token_contract_test.js +90 -92
- package/dest/fixtures/e2e_prover_test.d.ts +8 -14
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +83 -95
- package/dest/fixtures/setup.d.ts +216 -0
- package/dest/fixtures/setup.d.ts.map +1 -0
- package/dest/fixtures/setup.js +684 -0
- package/dest/fixtures/utils.d.ts +5 -194
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +4 -619
- 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 +14 -3
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +2 -2
- package/dest/shared/gas_portal_test_harness.d.ts +11 -1
- package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
- package/dest/shared/index.d.ts +2 -2
- package/dest/shared/index.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.d.ts +3 -28
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +39 -21
- package/dest/simulators/lending_simulator.d.ts +5 -1
- package/dest/simulators/lending_simulator.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.d.ts +4 -3
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/tx_metrics.d.ts +4 -1
- package/dest/spartan/tx_metrics.d.ts.map +1 -1
- package/dest/spartan/tx_metrics.js +24 -1
- package/dest/spartan/utils.d.ts +12 -5
- package/dest/spartan/utils.d.ts.map +1 -1
- package/dest/spartan/utils.js +123 -73
- package/package.json +40 -39
- package/src/bench/client_flows/benchmark.ts +24 -2
- package/src/bench/client_flows/client_flows_benchmark.ts +143 -196
- package/src/bench/client_flows/data_extractor.ts +1 -1
- package/src/bench/utils.ts +11 -7
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +107 -142
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +127 -116
- package/src/e2e_deploy_contract/deploy_test.ts +21 -14
- package/src/e2e_epochs/epochs_test.ts +2 -2
- package/src/e2e_fees/bridging_race.notest.ts +2 -5
- package/src/e2e_fees/fees_test.ts +172 -216
- package/src/e2e_l1_publisher/write_json.ts +22 -17
- package/src/e2e_nested_contract/nested_contract_test.ts +35 -56
- package/src/e2e_p2p/inactivity_slash_test.ts +5 -5
- package/src/e2e_p2p/p2p_network.ts +166 -168
- package/src/e2e_p2p/shared.ts +6 -5
- package/src/e2e_token_contract/token_contract_test.ts +105 -118
- package/src/fixtures/e2e_prover_test.ts +107 -137
- package/src/fixtures/setup.ts +1010 -0
- package/src/fixtures/utils.ts +27 -907
- 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 +3 -9
- package/src/shared/index.ts +1 -1
- package/src/shared/uniswap_l1_l2.ts +46 -58
- package/src/spartan/setup_test_wallets.ts +7 -1
- package/src/spartan/tx_metrics.ts +27 -4
- package/src/spartan/utils.ts +112 -24
- package/dest/fixtures/snapshot_manager.d.ts +0 -93
- package/dest/fixtures/snapshot_manager.d.ts.map +0 -1
- package/dest/fixtures/snapshot_manager.js +0 -493
- 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/snapshot_manager.ts +0 -651
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ContractFunctionInteraction, DeployMethod, type DeployOptions, type ProfileInteractionOptions } from '@aztec/aztec.js/contracts';
|
|
2
2
|
import type { Logger } from '@aztec/aztec.js/log';
|
|
3
3
|
import { type PrivateExecutionStep } from '@aztec/stdlib/kernel';
|
|
4
|
-
import type { ProvingStats, ProvingTimings, SimulationStats, SimulationTimings } from '@aztec/stdlib/tx';
|
|
4
|
+
import type { ProvingStats, ProvingTimings, RoundTripStats, SimulationStats, SimulationTimings } from '@aztec/stdlib/tx';
|
|
5
5
|
import type { GithubActionBenchmarkResult } from '../utils.js';
|
|
6
6
|
declare const logLevel: readonly ["silent", "fatal", "error", "warn", "info", "verbose", "debug", "trace"];
|
|
7
7
|
type LogLevel = (typeof logLevel)[number];
|
|
@@ -48,6 +48,7 @@ type ClientFlowBenchmark = {
|
|
|
48
48
|
};
|
|
49
49
|
maxMemory: number;
|
|
50
50
|
rpc: Record<string, CallRecording>;
|
|
51
|
+
roundTrips: RoundTripStats;
|
|
51
52
|
proverType: ProverType;
|
|
52
53
|
minimumTrace: StructuredTrace;
|
|
53
54
|
totalGateCount: number;
|
|
@@ -58,4 +59,4 @@ export declare function generateBenchmark(flow: string, logs: Log[], stats: Prov
|
|
|
58
59
|
export declare function convertProfileToGHBenchmark(benchmark: ClientFlowBenchmark): GithubActionBenchmarkResult[];
|
|
59
60
|
export declare function captureProfile(label: string, interaction: ContractFunctionInteraction | DeployMethod, opts: Omit<ProfileInteractionOptions & DeployOptions, 'profileMode'>, expectedSteps?: number): Promise<import("@aztec/stdlib/tx").TxProfileResult>;
|
|
60
61
|
export {};
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVuY2htYXJrLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmVuY2gvY2xpZW50X2Zsb3dzL2JlbmNobWFyay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLFlBQVksRUFDWixLQUFLLGFBQWEsRUFDbEIsS0FBSyx5QkFBeUIsRUFDL0IsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsS0FBSyxvQkFBb0IsRUFBa0MsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRyxPQUFPLEtBQUssRUFDVixZQUFZLEVBQ1osY0FBYyxFQUNkLGNBQWMsRUFDZCxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2xCLE1BQU0sa0JBQWtCLENBQUM7QUFNMUIsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJL0QsUUFBQSxNQUFNLFFBQVEsb0ZBQXFGLENBQUM7QUFDcEcsS0FBSyxRQUFRLEdBQUcsQ0FBQyxPQUFPLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRTFDLE1BQU0sTUFBTSxHQUFHLEdBQUc7SUFDaEIsSUFBSSxFQUFFLFFBQVEsQ0FBQztJQUNmLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsSUFBSSxFQUFFLEdBQUcsQ0FBQztDQUNYLENBQUM7QUFFRixRQUFBLE1BQU0sVUFBVSwwS0FhTixDQUFDO0FBRVgsS0FBSyxRQUFRLEdBQUcsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRTVDLEtBQUssZUFBZSxHQUFHO0tBQ3BCLENBQUMsSUFBSSxRQUFRLEdBQUcsTUFBTTtDQUN4QixDQUFDO0FBRUYscUJBQWEsV0FBVztJQUN0QixPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBYztJQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFhO0lBRXpCLE9BQU8sZUFBaUI7SUFFeEIsTUFBTSxDQUFDLE1BQU0sU0FFWjtJQUVELE1BQU0sQ0FBQyxXQUFXLGdCQUVqQjtJQUVELFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FlbkM7SUFFRCxPQUFPLENBQUMsU0FBUztJQUlWLFNBQVMsU0FFZjtJQUVNLE9BQU8sVUFFYjtDQUNGO0FBRUQsTUFBTSxNQUFNLFVBQVUsR0FBRyxNQUFNLEdBQUcsUUFBUSxDQUFDO0FBRTNDLEtBQUssYUFBYSxHQUFHO0lBRW5CLEtBQUssRUFBRSxNQUFNLENBQUM7SUFFZCxHQUFHLEVBQUUsTUFBTSxDQUFDO0lBRVosR0FBRyxFQUFFLE1BQU0sQ0FBQztJQUVaLEdBQUcsRUFBRSxNQUFNLENBQUM7SUFFWixLQUFLLEVBQUUsTUFBTSxDQUFDO0NBQ2YsQ0FBQztBQUVGLEtBQUssSUFBSSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxjQUFjLEdBQUcsV0FBVyxDQUFDLEdBQUc7SUFDckUsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNiLFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN0QixPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztDQUN4QyxDQUFDO0FBRUYsS0FBSyxtQkFBbUIsR0FBRztJQUN6QixJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ2IsT0FBTyxFQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLEdBQUc7UUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQztJQUN0RixTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ25DLFVBQVUsRUFBRSxjQUFjLENBQUM7SUFDM0IsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN2QixZQUFZLEVBQUUsZUFBZSxDQUFDO0lBQzlCLGNBQWMsRUFBRSxNQUFNLENBQUM7SUFDdkIsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2QsS0FBSyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7Q0FDM0IsQ0FBQztBQTBDRix3QkFBZ0IsaUJBQWlCLENBQy9CLElBQUksRUFBRSxNQUFNLEVBQ1osSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUNYLEtBQUssRUFBRSxZQUFZLEdBQUcsZUFBZSxFQUNyQyxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxFQUM3QyxVQUFVLEVBQUUsVUFBVSxFQUN0QixLQUFLLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FDeEIsbUJBQW1CLENBMkVyQjtBQUVELHdCQUFnQiwyQkFBMkIsQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLEdBQUcsMkJBQTJCLEVBQUUsQ0E2RHpHO0FBRUQsd0JBQXNCLGNBQWMsQ0FDbEMsS0FBSyxFQUFFLE1BQU0sRUFDYixXQUFXLEVBQUUsMkJBQTJCLEdBQUcsWUFBWSxFQUN2RCxJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixHQUFHLGFBQWEsRUFBRSxhQUFhLENBQUMsRUFDcEUsYUFBYSxDQUFDLEVBQUUsTUFBTSx1REFvQ3ZCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../../src/bench/client_flows/benchmark.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,KAAK,oBAAoB,EAAkC,MAAM,sBAAsB,CAAC;AACjG,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../../src/bench/client_flows/benchmark.ts"],"names":[],"mappings":"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"}
|
|
@@ -140,6 +140,15 @@ export function generateBenchmark(flow, logs, stats, privateExecutionSteps, prov
|
|
|
140
140
|
}, []);
|
|
141
141
|
const timings = stats.timings;
|
|
142
142
|
const totalGateCount = steps[steps.length - 1].accGateCount;
|
|
143
|
+
const nodeRPCCalls = stats.nodeRPCCalls ?? {
|
|
144
|
+
perMethod: {},
|
|
145
|
+
roundTrips: {
|
|
146
|
+
roundTrips: 0,
|
|
147
|
+
totalBlockingTime: 0,
|
|
148
|
+
roundTripDurations: [],
|
|
149
|
+
roundTripMethods: []
|
|
150
|
+
}
|
|
151
|
+
};
|
|
143
152
|
return {
|
|
144
153
|
name: flow,
|
|
145
154
|
timings: {
|
|
@@ -149,7 +158,7 @@ export function generateBenchmark(flow, logs, stats, privateExecutionSteps, prov
|
|
|
149
158
|
unaccounted: timings.unaccounted,
|
|
150
159
|
witgen: timings.perFunction.reduce((acc, fn)=>acc + fn.time, 0)
|
|
151
160
|
},
|
|
152
|
-
rpc: Object.entries(
|
|
161
|
+
rpc: Object.entries(nodeRPCCalls.perMethod).reduce((acc, [RPCName, RPCCalls])=>{
|
|
153
162
|
const total = RPCCalls.times.reduce((sum, time)=>sum + time, 0);
|
|
154
163
|
const calls = RPCCalls.times.length;
|
|
155
164
|
acc[RPCName] = {
|
|
@@ -161,6 +170,7 @@ export function generateBenchmark(flow, logs, stats, privateExecutionSteps, prov
|
|
|
161
170
|
};
|
|
162
171
|
return acc;
|
|
163
172
|
}, {}),
|
|
173
|
+
roundTrips: nodeRPCCalls.roundTrips,
|
|
164
174
|
maxMemory,
|
|
165
175
|
proverType,
|
|
166
176
|
minimumTrace: minimumTrace,
|
|
@@ -201,6 +211,16 @@ export function convertProfileToGHBenchmark(benchmark) {
|
|
|
201
211
|
name: `${benchmark.name}/rpc`,
|
|
202
212
|
value: totalRPCCalls,
|
|
203
213
|
unit: 'calls'
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
name: `${benchmark.name}/round_trips`,
|
|
217
|
+
value: benchmark.roundTrips.roundTrips,
|
|
218
|
+
unit: 'round_trips'
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
name: `${benchmark.name}/round_trips_blocking_time`,
|
|
222
|
+
value: benchmark.roundTrips.totalBlockingTime,
|
|
223
|
+
unit: 'ms'
|
|
204
224
|
}
|
|
205
225
|
];
|
|
206
226
|
if (benchmark.timings.proving) {
|
|
@@ -15,8 +15,7 @@ import { SponsoredFPCContract } from '@aztec/noir-contracts.js/SponsoredFPC';
|
|
|
15
15
|
import { TokenContract as BananaCoin, TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
16
16
|
import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
17
17
|
import { TestWallet } from '@aztec/test-wallet/server';
|
|
18
|
-
import { type
|
|
19
|
-
import { type SetupOptions } from '../../fixtures/utils.js';
|
|
18
|
+
import { type EndToEndContext, type SetupOptions } from '../../fixtures/setup.js';
|
|
20
19
|
import { CrossChainTestHarness } from '../../shared/cross_chain_test_harness.js';
|
|
21
20
|
import { type GasBridgingTestHarness } from '../../shared/gas_portal_test_harness.js';
|
|
22
21
|
import { type ClientFlowsConfig } from './config.js';
|
|
@@ -24,11 +23,10 @@ export type AccountType = 'ecdsar1' | 'schnorr';
|
|
|
24
23
|
export type FeePaymentMethodGetter = (wallet: Wallet, sender: AztecAddress) => Promise<FeePaymentMethod | undefined>;
|
|
25
24
|
export type BenchmarkingFeePaymentMethod = 'bridged_fee_juice' | 'private_fpc' | 'sponsored_fpc' | 'fee_juice';
|
|
26
25
|
export declare class ClientFlowsBenchmark {
|
|
27
|
-
private snapshotManager;
|
|
28
26
|
logger: Logger;
|
|
29
27
|
aztecNode: AztecNode;
|
|
30
28
|
cheatCodes: CheatCodes;
|
|
31
|
-
context:
|
|
29
|
+
context: EndToEndContext;
|
|
32
30
|
chainMonitor: ChainMonitor;
|
|
33
31
|
feeJuiceBridgeTestHarness: GasBridgingTestHarness;
|
|
34
32
|
adminWallet: TestWallet;
|
|
@@ -56,6 +54,7 @@ export declare class ClientFlowsBenchmark {
|
|
|
56
54
|
}>;
|
|
57
55
|
config: ClientFlowsConfig;
|
|
58
56
|
private proxyLogger;
|
|
57
|
+
private setupOptions;
|
|
59
58
|
constructor(testName?: string, setupOptions?: Partial<SetupOptions & DeployAztecL1ContractsArgs>);
|
|
60
59
|
setup(): Promise<this>;
|
|
61
60
|
teardown(): Promise<void>;
|
|
@@ -63,18 +62,18 @@ export declare class ClientFlowsBenchmark {
|
|
|
63
62
|
/** Admin mints bananaCoin tokens privately to the target address and redeems them. */
|
|
64
63
|
mintPrivateBananas(amount: bigint, address: AztecAddress): Promise<void>;
|
|
65
64
|
createBenchmarkingAccountManager(wallet: TestWallet, type: 'ecdsar1' | 'schnorr'): Promise<import("@aztec/aztec.js/wallet").AccountManager>;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
65
|
+
applyBaseSetup(): Promise<void>;
|
|
66
|
+
applyInitialAccounts(): Promise<void>;
|
|
67
|
+
applySetupFeeJuice(): Promise<void>;
|
|
68
|
+
applyDeployBananaToken(): Promise<void>;
|
|
69
|
+
applyDeployCandyBarToken(): Promise<void>;
|
|
70
|
+
applyFPCSetup(): Promise<void>;
|
|
71
|
+
applyDeploySponsoredFPC(): Promise<void>;
|
|
73
72
|
createCrossChainTestHarness(owner: AztecAddress): Promise<CrossChainTestHarness>;
|
|
74
73
|
createAndFundBenchmarkingAccountOnUserWallet(accountType: AccountType): Promise<AztecAddress>;
|
|
75
|
-
|
|
74
|
+
applyDeployAmm(): Promise<void>;
|
|
76
75
|
getBridgedFeeJuicePaymentMethodForWallet(_wallet: Wallet, sender: AztecAddress): Promise<FeeJuicePaymentMethodWithClaim>;
|
|
77
76
|
getPrivateFPCPaymentMethodForWallet(wallet: Wallet, sender: AztecAddress): Promise<PrivateFeePaymentMethod>;
|
|
78
77
|
getSponsoredFPCPaymentMethodForWallet(_wallet: Wallet, _sender: AztecAddress): Promise<SponsoredFeePaymentMethod>;
|
|
79
78
|
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50X2Zsb3dzX2JlbmNobWFyay5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JlbmNoL2NsaWVudF9mbG93cy9jbGllbnRfZmxvd3NfYmVuY2htYXJrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHbEQsT0FBTyxLQUFLLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUU1RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsSUFBSSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJNUYsT0FBTyxLQUFL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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_flows_benchmark.d.ts","sourceRoot":"","sources":["../../../src/bench/client_flows/client_flows_benchmark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,KAAK,gBAAgB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAE5F,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,aAAa,IAAI,UAAU,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAI5F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAG1E,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,OAAO,
|
|
1
|
+
{"version":3,"file":"client_flows_benchmark.d.ts","sourceRoot":"","sources":["../../../src/bench/client_flows/client_flows_benchmark.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,16 +23,15 @@ import { GasSettings } from '@aztec/stdlib/gas';
|
|
|
23
23
|
import { deriveSigningKey } from '@aztec/stdlib/keys';
|
|
24
24
|
import { TestWallet } from '@aztec/test-wallet/server';
|
|
25
25
|
import { MNEMONIC } from '../../fixtures/fixtures.js';
|
|
26
|
-
import {
|
|
26
|
+
import { deployAccounts, setup, teardown } from '../../fixtures/setup.js';
|
|
27
27
|
import { mintTokensToPrivate } from '../../fixtures/token_utils.js';
|
|
28
28
|
import { setupSponsoredFPC } from '../../fixtures/utils.js';
|
|
29
29
|
import { CrossChainTestHarness } from '../../shared/cross_chain_test_harness.js';
|
|
30
30
|
import { FeeJuicePortalTestingHarnessFactory } from '../../shared/gas_portal_test_harness.js';
|
|
31
31
|
import { ProxyLogger } from './benchmark.js';
|
|
32
32
|
import { FULL_FLOWS_CONFIG, KEY_FLOWS_CONFIG } from './config.js';
|
|
33
|
-
const {
|
|
33
|
+
const { BENCHMARK_CONFIG } = process.env;
|
|
34
34
|
export class ClientFlowsBenchmark {
|
|
35
|
-
snapshotManager;
|
|
36
35
|
logger;
|
|
37
36
|
aztecNode;
|
|
38
37
|
cheatCodes;
|
|
@@ -97,31 +96,37 @@ export class ClientFlowsBenchmark {
|
|
|
97
96
|
};
|
|
98
97
|
config;
|
|
99
98
|
proxyLogger;
|
|
99
|
+
setupOptions;
|
|
100
100
|
constructor(testName, setupOptions = {}){
|
|
101
101
|
this.logger = createLogger(`bench:client_flows${testName ? `:${testName}` : ''}`);
|
|
102
|
-
this.
|
|
102
|
+
this.setupOptions = {
|
|
103
103
|
startProverNode: true,
|
|
104
104
|
...setupOptions
|
|
105
|
-
}
|
|
106
|
-
...setupOptions
|
|
107
|
-
});
|
|
105
|
+
};
|
|
108
106
|
this.config = BENCHMARK_CONFIG === 'key_flows' ? KEY_FLOWS_CONFIG : FULL_FLOWS_CONFIG;
|
|
109
107
|
ProxyLogger.create();
|
|
110
108
|
this.proxyLogger = ProxyLogger.getInstance();
|
|
111
109
|
}
|
|
112
110
|
async setup() {
|
|
113
|
-
|
|
114
|
-
await
|
|
111
|
+
this.logger.info('Setting up subsystems from fresh');
|
|
112
|
+
this.context = await setup(0, {
|
|
113
|
+
...this.setupOptions,
|
|
114
|
+
fundSponsoredFPC: true,
|
|
115
|
+
skipAccountDeployment: true,
|
|
116
|
+
l1ContractsArgs: this.setupOptions
|
|
117
|
+
});
|
|
118
|
+
await this.applyBaseSetup();
|
|
119
|
+
await this.context.aztecNodeService.setConfig({
|
|
115
120
|
feeRecipient: this.sequencerAddress,
|
|
116
121
|
coinbase: this.coinbase
|
|
117
122
|
});
|
|
118
|
-
const rollupContract = RollupContract.getFromConfig(context.
|
|
119
|
-
this.chainMonitor = new ChainMonitor(rollupContract, context.dateProvider, this.logger, 200).start();
|
|
123
|
+
const rollupContract = RollupContract.getFromConfig(this.context.config);
|
|
124
|
+
this.chainMonitor = new ChainMonitor(rollupContract, this.context.dateProvider, this.logger, 200).start();
|
|
120
125
|
return this;
|
|
121
126
|
}
|
|
122
127
|
async teardown() {
|
|
123
128
|
await this.chainMonitor.stop();
|
|
124
|
-
await this.
|
|
129
|
+
await teardown(this.context);
|
|
125
130
|
}
|
|
126
131
|
async mintAndBridgeFeeJuice(address) {
|
|
127
132
|
const claim = await this.feeJuiceBridgeTestHarness.prepareTokensOnL1(address);
|
|
@@ -154,113 +159,87 @@ export class ClientFlowsBenchmark {
|
|
|
154
159
|
throw new Error(`Unknown account type: ${type}`);
|
|
155
160
|
}
|
|
156
161
|
}
|
|
157
|
-
async
|
|
158
|
-
await this.
|
|
159
|
-
await this.
|
|
162
|
+
async applyBaseSetup() {
|
|
163
|
+
await this.applyInitialAccounts();
|
|
164
|
+
await this.applySetupFeeJuice();
|
|
160
165
|
}
|
|
161
|
-
async
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
this.
|
|
165
|
-
this.
|
|
166
|
-
this.adminAddress = adminAddress;
|
|
167
|
-
this.sequencerAddress = sequencerAddress;
|
|
168
|
-
const canonicalFeeJuice = await getCanonicalFeeJuice();
|
|
169
|
-
this.feeJuiceContract = FeeJuiceContract.at(canonicalFeeJuice.address, this.adminWallet);
|
|
170
|
-
this.coinbase = EthAddress.random();
|
|
171
|
-
const userPXEConfig = getPXEConfig();
|
|
172
|
-
const userPXEConfigWithContracts = {
|
|
173
|
-
...userPXEConfig,
|
|
174
|
-
proverEnabled: this.realProofs
|
|
175
|
-
};
|
|
176
|
-
this.userWallet = await TestWallet.create(this.aztecNode, userPXEConfigWithContracts, {
|
|
177
|
-
loggers: {
|
|
178
|
-
prover: this.proxyLogger.createLogger('pxe:bb:wasm:bundle:proxied')
|
|
179
|
-
}
|
|
180
|
-
});
|
|
166
|
+
async applyInitialAccounts() {
|
|
167
|
+
this.logger.info('Applying initial accounts setup');
|
|
168
|
+
const { deployedAccounts } = await deployAccounts(2, this.logger)({
|
|
169
|
+
wallet: this.context.wallet,
|
|
170
|
+
initialFundedAccounts: this.context.initialFundedAccounts
|
|
181
171
|
});
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
172
|
+
const [{ address: adminAddress }, { address: sequencerAddress }] = deployedAccounts;
|
|
173
|
+
this.adminWallet = this.context.wallet;
|
|
174
|
+
this.aztecNode = this.context.aztecNodeService;
|
|
175
|
+
this.cheatCodes = this.context.cheatCodes;
|
|
176
|
+
this.adminAddress = adminAddress;
|
|
177
|
+
this.sequencerAddress = sequencerAddress;
|
|
178
|
+
const canonicalFeeJuice = await getCanonicalFeeJuice();
|
|
179
|
+
this.feeJuiceContract = FeeJuiceContract.at(canonicalFeeJuice.address, this.adminWallet);
|
|
180
|
+
this.coinbase = EthAddress.random();
|
|
181
|
+
const userPXEConfig = getPXEConfig();
|
|
182
|
+
const userPXEConfigWithContracts = {
|
|
183
|
+
...userPXEConfig,
|
|
184
|
+
proverEnabled: this.realProofs
|
|
185
|
+
};
|
|
186
|
+
this.userWallet = await TestWallet.create(this.aztecNode, userPXEConfigWithContracts, {
|
|
187
|
+
loggers: {
|
|
188
|
+
prover: this.proxyLogger.createLogger('pxe:bb:wasm:bundle:proxied')
|
|
189
|
+
}
|
|
194
190
|
});
|
|
195
191
|
}
|
|
196
|
-
async
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
this.
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
};
|
|
206
|
-
}, ({ bananaCoinAddress, bananaCoinInstance })=>{
|
|
207
|
-
this.bananaCoin = BananaCoin.at(bananaCoinAddress, this.adminWallet);
|
|
208
|
-
this.bananaCoinInstance = bananaCoinInstance;
|
|
209
|
-
return Promise.resolve();
|
|
192
|
+
async applySetupFeeJuice() {
|
|
193
|
+
this.logger.info('Applying fee juice setup');
|
|
194
|
+
this.feeJuiceContract = FeeJuiceContract.at(ProtocolContractAddress.FeeJuice, this.adminWallet);
|
|
195
|
+
this.feeJuiceBridgeTestHarness = await FeeJuicePortalTestingHarnessFactory.create({
|
|
196
|
+
aztecNode: this.context.aztecNodeService,
|
|
197
|
+
aztecNodeAdmin: this.context.aztecNodeService,
|
|
198
|
+
l1Client: this.context.deployL1ContractsValues.l1Client,
|
|
199
|
+
wallet: this.adminWallet,
|
|
200
|
+
logger: this.logger
|
|
210
201
|
});
|
|
211
202
|
}
|
|
212
|
-
async
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
candyBarCoinInstance
|
|
221
|
-
};
|
|
222
|
-
}, ({ candyBarCoinAddress, candyBarCoinInstance })=>{
|
|
223
|
-
this.candyBarCoin = TokenContract.at(candyBarCoinAddress, this.adminWallet);
|
|
224
|
-
this.candyBarCoinInstance = candyBarCoinInstance;
|
|
225
|
-
return Promise.resolve();
|
|
226
|
-
});
|
|
203
|
+
async applyDeployBananaToken() {
|
|
204
|
+
this.logger.info('Applying banana token deployment');
|
|
205
|
+
const { contract: bananaCoin, instance: bananaCoinInstance } = await BananaCoin.deploy(this.adminWallet, this.adminAddress, 'BC', 'BC', 18n).send({
|
|
206
|
+
from: this.adminAddress
|
|
207
|
+
}).wait();
|
|
208
|
+
this.logger.info(`BananaCoin deployed at ${bananaCoin.address}`);
|
|
209
|
+
this.bananaCoin = bananaCoin;
|
|
210
|
+
this.bananaCoinInstance = bananaCoinInstance;
|
|
227
211
|
}
|
|
228
|
-
async
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
this.logger.info(`BananaPay deployed at ${bananaFPC.address}`);
|
|
237
|
-
await this.feeJuiceBridgeTestHarness.bridgeFromL1ToL2(bananaFPC.address, this.adminAddress);
|
|
238
|
-
return {
|
|
239
|
-
bananaFPCAddress: bananaFPC.address,
|
|
240
|
-
bananaFPCInstance
|
|
241
|
-
};
|
|
242
|
-
}, (data)=>{
|
|
243
|
-
this.bananaFPC = FPCContract.at(data.bananaFPCAddress, this.adminWallet);
|
|
244
|
-
this.bananaFPCInstance = data.bananaFPCInstance;
|
|
245
|
-
return Promise.resolve();
|
|
246
|
-
});
|
|
212
|
+
async applyDeployCandyBarToken() {
|
|
213
|
+
this.logger.info('Applying candy bar token deployment');
|
|
214
|
+
const { contract: candyBarCoin, instance: candyBarCoinInstance } = await TokenContract.deploy(this.adminWallet, this.adminAddress, 'CBC', 'CBC', 18n).send({
|
|
215
|
+
from: this.adminAddress
|
|
216
|
+
}).wait();
|
|
217
|
+
this.logger.info(`CandyBarCoin deployed at ${candyBarCoin.address}`);
|
|
218
|
+
this.candyBarCoin = candyBarCoin;
|
|
219
|
+
this.candyBarCoinInstance = candyBarCoinInstance;
|
|
247
220
|
}
|
|
248
|
-
async
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
221
|
+
async applyFPCSetup() {
|
|
222
|
+
this.logger.info('Applying FPC setup');
|
|
223
|
+
const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
|
|
224
|
+
expect((await this.context.wallet.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
|
|
225
|
+
const bananaCoin = this.bananaCoin;
|
|
226
|
+
const { contract: bananaFPC, instance: bananaFPCInstance } = await FPCContract.deploy(this.adminWallet, bananaCoin.address, this.adminAddress).send({
|
|
227
|
+
from: this.adminAddress
|
|
228
|
+
}).wait();
|
|
229
|
+
this.logger.info(`BananaPay deployed at ${bananaFPC.address}`);
|
|
230
|
+
await this.feeJuiceBridgeTestHarness.bridgeFromL1ToL2(bananaFPC.address, this.adminAddress);
|
|
231
|
+
this.bananaFPC = bananaFPC;
|
|
232
|
+
this.bananaFPCInstance = bananaFPCInstance;
|
|
233
|
+
}
|
|
234
|
+
async applyDeploySponsoredFPC() {
|
|
235
|
+
this.logger.info('Applying sponsored FPC deployment');
|
|
236
|
+
const sponsoredFPCInstance = await setupSponsoredFPC(this.adminWallet);
|
|
237
|
+
this.logger.info(`SponsoredFPC at ${sponsoredFPCInstance.address}`);
|
|
238
|
+
this.sponsoredFPC = SponsoredFPCContract.at(sponsoredFPCInstance.address, this.adminWallet);
|
|
239
|
+
this.sponsoredFPCInstance = sponsoredFPCInstance;
|
|
261
240
|
}
|
|
262
241
|
async createCrossChainTestHarness(owner) {
|
|
263
|
-
const l1Client = createExtendedL1Client(this.context.
|
|
242
|
+
const l1Client = createExtendedL1Client(this.context.config.l1RpcUrls, MNEMONIC);
|
|
264
243
|
const underlyingERC20Address = await deployL1Contract(l1Client, TestERC20Abi, TestERC20Bytecode, [
|
|
265
244
|
'Underlying',
|
|
266
245
|
'UND',
|
|
@@ -291,31 +270,22 @@ export class ClientFlowsBenchmark {
|
|
|
291
270
|
});
|
|
292
271
|
return accountManager.address;
|
|
293
272
|
}
|
|
294
|
-
async
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
liquidityTokenInstance
|
|
311
|
-
};
|
|
312
|
-
}, ({ ammAddress, ammInstance, liquidityTokenAddress, liquidityTokenInstance })=>{
|
|
313
|
-
this.liquidityToken = TokenContract.at(liquidityTokenAddress, this.adminWallet);
|
|
314
|
-
this.liquidityTokenInstance = liquidityTokenInstance;
|
|
315
|
-
this.amm = AMMContract.at(ammAddress, this.adminWallet);
|
|
316
|
-
this.ammInstance = ammInstance;
|
|
317
|
-
return Promise.resolve();
|
|
318
|
-
});
|
|
273
|
+
async applyDeployAmm() {
|
|
274
|
+
this.logger.info('Applying AMM deployment');
|
|
275
|
+
const { contract: liquidityToken, instance: liquidityTokenInstance } = await TokenContract.deploy(this.adminWallet, this.adminAddress, 'LPT', 'LPT', 18n).send({
|
|
276
|
+
from: this.adminAddress
|
|
277
|
+
}).wait();
|
|
278
|
+
const { contract: amm, instance: ammInstance } = await AMMContract.deploy(this.adminWallet, this.bananaCoin.address, this.candyBarCoin.address, liquidityToken.address).send({
|
|
279
|
+
from: this.adminAddress
|
|
280
|
+
}).wait();
|
|
281
|
+
this.logger.info(`AMM deployed at ${amm.address}`);
|
|
282
|
+
await liquidityToken.methods.set_minter(amm.address, true).send({
|
|
283
|
+
from: this.adminAddress
|
|
284
|
+
}).wait();
|
|
285
|
+
this.liquidityToken = liquidityToken;
|
|
286
|
+
this.liquidityTokenInstance = liquidityTokenInstance;
|
|
287
|
+
this.amm = amm;
|
|
288
|
+
this.ammInstance = ammInstance;
|
|
319
289
|
}
|
|
320
290
|
async getBridgedFeeJuicePaymentMethodForWallet(_wallet, sender) {
|
|
321
291
|
const claim = await this.feeJuiceBridgeTestHarness.prepareTokensOnL1(sender);
|
|
@@ -324,7 +294,7 @@ export class ClientFlowsBenchmark {
|
|
|
324
294
|
async getPrivateFPCPaymentMethodForWallet(wallet, sender) {
|
|
325
295
|
// The private fee paying method assembled on the app side requires knowledge of the maximum
|
|
326
296
|
// fee the user is willing to pay
|
|
327
|
-
const maxFeesPerGas = (await this.aztecNode.
|
|
297
|
+
const maxFeesPerGas = (await this.aztecNode.getCurrentMinFees()).mul(1.5);
|
|
328
298
|
const gasSettings = GasSettings.default({
|
|
329
299
|
maxFeesPerGas
|
|
330
300
|
});
|
|
@@ -17,7 +17,9 @@ async function main() {
|
|
|
17
17
|
logger.info(`Flows in ${ivcFolder}: \n${flows.map((flowName)=>`\t- ${flowName}`).join('\n')}`);
|
|
18
18
|
const simulator = new WASMSimulator();
|
|
19
19
|
const log = proxyLogger.createLogger('bb:prover');
|
|
20
|
-
const prover = new BBBundlePrivateKernelProver(simulator,
|
|
20
|
+
const prover = new BBBundlePrivateKernelProver(simulator, {
|
|
21
|
+
logger: log
|
|
22
|
+
});
|
|
21
23
|
const userLog = createLogger('chonk_flows:data_processor');
|
|
22
24
|
for (const flow of flows){
|
|
23
25
|
userLog.info(`Processing flow ${flow}`);
|
package/dest/bench/utils.d.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { type SentTx, type WaitOpts } from '@aztec/aztec.js/contracts';
|
|
2
2
|
import { BenchmarkingContract } from '@aztec/noir-test-contracts.js/Benchmarking';
|
|
3
|
-
import type {
|
|
3
|
+
import type { MetricDefinition } from '@aztec/telemetry-client';
|
|
4
4
|
import type { BenchmarkTelemetryClient } from '@aztec/telemetry-client/bench';
|
|
5
5
|
import { type EndToEndContext, type SetupOptions } from '../fixtures/utils.js';
|
|
6
6
|
/**
|
|
7
7
|
* Setup for benchmarks. Initializes a remote node with a single account and deploys a benchmark contract.
|
|
8
8
|
*/
|
|
9
9
|
export declare function benchmarkSetup(opts: Partial<SetupOptions> & {
|
|
10
|
-
/** What metrics to export */ metrics: (
|
|
10
|
+
/** What metrics to export */ metrics: (MetricDefinition | MetricFilter)[];
|
|
11
11
|
/** Where to output the benchmark data (defaults to BENCH_OUTPUT or bench.json) */
|
|
12
12
|
benchOutput?: string;
|
|
13
13
|
}): Promise<{
|
|
14
14
|
telemetry: BenchmarkTelemetryClient;
|
|
15
15
|
context: EndToEndContext;
|
|
16
16
|
contract: BenchmarkingContract;
|
|
17
|
-
sequencer: import("
|
|
17
|
+
sequencer: import("@aztec/sequencer-client").SequencerClient;
|
|
18
18
|
}>;
|
|
19
19
|
type MetricFilter = {
|
|
20
|
-
source:
|
|
20
|
+
source: MetricDefinition;
|
|
21
21
|
transform: (value: number) => number;
|
|
22
22
|
name: string;
|
|
23
23
|
unit?: string;
|
|
@@ -41,4 +41,4 @@ export type GithubActionBenchmarkResult = {
|
|
|
41
41
|
export declare function sendTxs(txCount: number, context: EndToEndContext, contract: BenchmarkingContract, heavyPublicCompute?: boolean): Promise<SentTx[]>;
|
|
42
42
|
export declare function waitTxs(txs: SentTx[], context: EndToEndContext, txWaitOpts?: WaitOpts): Promise<void>;
|
|
43
43
|
export {};
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iZW5jaC91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWEsS0FBSyxNQUFNLEVBQUUsS0FBSyxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUE0Qyx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBS3hILE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBRSxLQUFLLFlBQVksRUFBUyxNQUFNLHNCQUFzQixDQUFDO0FBRXRGOztHQUVHO0FBQ0gsd0JBQXNCLGNBQWMsQ0FDbEMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRztJQUM1Qiw2QkFBNkIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDO0lBQzNFLGtGQUFrRjtJQUNsRixXQUFXLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDdEI7Ozs7O0dBeUJGO0FBRUQsS0FBSyxZQUFZLEdBQUc7SUFDbEIsTUFBTSxFQUFFLGdCQUFnQixDQUFDO0lBQ3pCLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEtBQUssTUFBTSxDQUFDO0lBQ3JDLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixJQUFJLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDZixDQUFDO0FBR0YsTUFBTSxNQUFNLDJCQUEyQixHQUFHO0lBQ3hDLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQ2QsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2YsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNiLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNoQixDQUFDO0FBb0VGOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLE9BQU8sQ0FDM0IsT0FBTyxFQUFFLE1BQU0sRUFDZixPQUFPLEVBQUUsZUFBZSxFQUN4QixRQUFRLEVBQUUsb0JBQW9CLEVBQzlCLGtCQUFrQixHQUFFLE9BQWUsR0FDbEMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBTW5CO0FBRUQsd0JBQXNCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLENBQUMsRUFBRSxRQUFRLGlCQUkzRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bench/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bench/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,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,gBAAgB,GAAG,YAAY,CAAC,EAAE,CAAC;IAC3E,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;;;;;GAyBF;AAED,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,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;AAoEF;;;;;;;;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"}
|
package/dest/bench/utils.js
CHANGED
|
@@ -46,17 +46,20 @@ import { setup } from '../fixtures/utils.js';
|
|
|
46
46
|
sequencer
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
|
+
function isMetricDefinition(f) {
|
|
50
|
+
return 'description' in f;
|
|
51
|
+
}
|
|
49
52
|
function formatMetricsForGithubBenchmarkAction(data, filter) {
|
|
50
|
-
const allFilters = filter.map((f)=>
|
|
51
|
-
name: f,
|
|
53
|
+
const allFilters = filter.map((f)=>isMetricDefinition(f) ? {
|
|
54
|
+
name: f.name,
|
|
52
55
|
source: f,
|
|
53
56
|
transform: (x)=>x,
|
|
54
|
-
unit:
|
|
57
|
+
unit: f.unit
|
|
55
58
|
} : f);
|
|
56
59
|
return data.flatMap((meter)=>{
|
|
57
|
-
return meter.metrics.filter((metric)=>allFilters.map((f)=>f.source).includes(metric.name)).map((metric)=>[
|
|
60
|
+
return meter.metrics.filter((metric)=>allFilters.map((f)=>f.source.name).includes(metric.name)).map((metric)=>[
|
|
58
61
|
metric,
|
|
59
|
-
allFilters.find((f)=>f.source === metric.name)
|
|
62
|
+
allFilters.find((f)=>f.source.name === metric.name)
|
|
60
63
|
]).map(([metric, filter])=>({
|
|
61
64
|
name: `${meter.name}/${filter.name}`,
|
|
62
65
|
unit: filter.unit ?? metric.unit ?? 'unknown',
|