@aztec/end-to-end 0.0.1-commit.d3ec352c → 0.0.1-commit.e3c1de76
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 +14 -15
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +123 -136
- package/dest/bench/client_flows/data_extractor.js +3 -1
- package/dest/bench/utils.d.ts +9 -8
- 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 +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 +96 -112
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +19 -13
- 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 +91 -71
- 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.d.ts +9 -2
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +42 -18
- package/dest/e2e_fees/bridging_race.notest.js +4 -6
- package/dest/e2e_fees/fees_test.d.ts +18 -15
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +126 -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 +14 -16
- 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 -39
- package/dest/e2e_p2p/inactivity_slash_test.d.ts +4 -4
- package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -1
- package/dest/e2e_p2p/inactivity_slash_test.js +6 -9
- package/dest/e2e_p2p/p2p_network.d.ts +13 -11
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +120 -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 +153 -0
- package/dest/e2e_p2p/shared.d.ts +7 -7
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +13 -20
- 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 +89 -91
- package/dest/fixtures/e2e_prover_test.d.ts +10 -18
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +91 -103
- package/dest/fixtures/fixtures.d.ts +2 -3
- package/dest/fixtures/fixtures.d.ts.map +1 -1
- package/dest/fixtures/fixtures.js +1 -2
- package/dest/fixtures/get_acvm_config.js +1 -1
- 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/setup.d.ts +218 -0
- package/dest/fixtures/setup.d.ts.map +1 -0
- package/dest/fixtures/setup.js +695 -0
- package/dest/fixtures/setup_p2p_test.d.ts +4 -5
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +27 -22
- package/dest/fixtures/token_utils.d.ts +1 -1
- package/dest/fixtures/token_utils.d.ts.map +1 -1
- package/dest/fixtures/token_utils.js +7 -4
- package/dest/fixtures/utils.d.ts +5 -638
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +4 -647
- 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/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 +18 -7
- 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 +12 -2
- package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
- package/dest/shared/gas_portal_test_harness.js +1 -1
- package/dest/shared/index.d.ts +2 -2
- package/dest/shared/index.d.ts.map +1 -1
- package/dest/shared/submit-transactions.d.ts +3 -3
- 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 +55 -35
- package/dest/simulators/lending_simulator.d.ts +6 -2
- package/dest/simulators/lending_simulator.d.ts.map +1 -1
- package/dest/simulators/lending_simulator.js +2 -2
- package/dest/spartan/setup_test_wallets.d.ts +4 -3
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +63 -35
- 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 +27 -0
- package/dest/spartan/utils/bot.d.ts.map +1 -0
- package/dest/spartan/utils/bot.js +141 -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 +36 -0
- package/dest/spartan/utils/config.d.ts.map +1 -0
- package/dest/spartan/utils/config.js +20 -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 +9 -0
- package/dest/spartan/utils/index.d.ts.map +1 -0
- package/dest/spartan/utils/index.js +18 -0
- package/dest/spartan/utils/k8s.d.ts +126 -0
- package/dest/spartan/utils/k8s.d.ts.map +1 -0
- package/dest/spartan/utils/k8s.js +375 -0
- package/dest/spartan/utils/nodes.d.ts +41 -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 +16 -0
- package/dest/spartan/utils/scripts.d.ts.map +1 -0
- package/dest/spartan/utils/scripts.js +66 -0
- package/dest/spartan/utils.d.ts +2 -221
- package/dest/spartan/utils.d.ts.map +1 -1
- package/dest/spartan/utils.js +1 -782
- package/package.json +40 -39
- package/src/bench/client_flows/benchmark.ts +24 -2
- package/src/bench/client_flows/client_flows_benchmark.ts +145 -208
- package/src/bench/client_flows/data_extractor.ts +1 -1
- package/src/bench/utils.ts +30 -20
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +104 -142
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +140 -125
- package/src/e2e_deploy_contract/deploy_test.ts +21 -14
- package/src/e2e_epochs/epochs_test.ts +83 -44
- package/src/e2e_fees/bridging_race.notest.ts +4 -10
- package/src/e2e_fees/fees_test.ts +177 -220
- package/src/e2e_l1_publisher/write_json.ts +16 -16
- package/src/e2e_multi_validator/utils.ts +1 -1
- package/src/e2e_nested_contract/nested_contract_test.ts +33 -56
- package/src/e2e_p2p/inactivity_slash_test.ts +9 -12
- package/src/e2e_p2p/p2p_network.ts +180 -183
- package/src/e2e_p2p/reqresp/utils.ts +207 -0
- package/src/e2e_p2p/shared.ts +31 -28
- package/src/e2e_token_contract/token_contract_test.ts +103 -118
- package/src/fixtures/e2e_prover_test.ts +104 -141
- package/src/fixtures/fixtures.ts +1 -3
- package/src/fixtures/get_acvm_config.ts +1 -1
- package/src/fixtures/l1_to_l2_messaging.ts +4 -2
- package/src/fixtures/setup.ts +1017 -0
- package/src/fixtures/setup_p2p_test.ts +18 -23
- package/src/fixtures/token_utils.ts +6 -5
- package/src/fixtures/utils.ts +27 -966
- package/src/fixtures/web3signer.ts +1 -1
- package/src/fixtures/with_telemetry_utils.ts +2 -2
- 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 -37
- package/src/shared/gas_portal_test_harness.ts +2 -2
- package/src/shared/index.ts +1 -1
- package/src/shared/submit-transactions.ts +9 -15
- package/src/shared/uniswap_l1_l2.ts +65 -86
- package/src/simulators/lending_simulator.ts +3 -3
- package/src/spartan/setup_test_wallets.ts +81 -26
- package/src/spartan/tx_metrics.ts +376 -0
- package/src/spartan/utils/bot.ts +185 -0
- package/src/spartan/utils/chaos.ts +253 -0
- package/src/spartan/utils/clients.ts +100 -0
- package/src/spartan/utils/config.ts +26 -0
- package/src/spartan/utils/health.ts +255 -0
- package/src/spartan/utils/helm.ts +84 -0
- package/src/spartan/utils/index.ts +64 -0
- package/src/spartan/utils/k8s.ts +527 -0
- package/src/spartan/utils/nodes.ts +538 -0
- package/src/spartan/utils/scripts.ts +63 -0
- package/src/spartan/utils.ts +1 -983
- package/dest/fixtures/setup_l1_contracts.d.ts +0 -477
- 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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/end-to-end",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.e3c1de76",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"inherits": [
|
|
@@ -25,43 +25,44 @@
|
|
|
25
25
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aztec/accounts": "0.0.1-commit.
|
|
29
|
-
"@aztec/archiver": "0.0.1-commit.
|
|
30
|
-
"@aztec/aztec": "0.0.1-commit.
|
|
31
|
-
"@aztec/aztec-node": "0.0.1-commit.
|
|
32
|
-
"@aztec/aztec.js": "0.0.1-commit.
|
|
33
|
-
"@aztec/bb-prover": "0.0.1-commit.
|
|
34
|
-
"@aztec/bb.js": "0.0.1-commit.
|
|
35
|
-
"@aztec/blob-
|
|
36
|
-
"@aztec/blob-
|
|
37
|
-
"@aztec/bot": "0.0.1-commit.
|
|
38
|
-
"@aztec/cli": "0.0.1-commit.
|
|
39
|
-
"@aztec/constants": "0.0.1-commit.
|
|
40
|
-
"@aztec/entrypoints": "0.0.1-commit.
|
|
41
|
-
"@aztec/epoch-cache": "0.0.1-commit.
|
|
42
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
43
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
44
|
-
"@aztec/kv-store": "0.0.1-commit.
|
|
45
|
-
"@aztec/l1-artifacts": "0.0.1-commit.
|
|
46
|
-
"@aztec/merkle-tree": "0.0.1-commit.
|
|
47
|
-
"@aztec/node-keystore": "0.0.1-commit.
|
|
48
|
-
"@aztec/noir-contracts.js": "0.0.1-commit.
|
|
49
|
-
"@aztec/noir-noirc_abi": "0.0.1-commit.
|
|
50
|
-
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.
|
|
51
|
-
"@aztec/noir-test-contracts.js": "0.0.1-commit.
|
|
52
|
-
"@aztec/p2p": "0.0.1-commit.
|
|
53
|
-
"@aztec/protocol-contracts": "0.0.1-commit.
|
|
54
|
-
"@aztec/prover-client": "0.0.1-commit.
|
|
55
|
-
"@aztec/prover-node": "0.0.1-commit.
|
|
56
|
-
"@aztec/pxe": "0.0.1-commit.
|
|
57
|
-
"@aztec/sequencer-client": "0.0.1-commit.
|
|
58
|
-
"@aztec/simulator": "0.0.1-commit.
|
|
59
|
-
"@aztec/slasher": "0.0.1-commit.
|
|
60
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
61
|
-
"@aztec/telemetry-client": "0.0.1-commit.
|
|
62
|
-
"@aztec/test-wallet": "0.0.1-commit.
|
|
63
|
-
"@aztec/validator-client": "0.0.1-commit.
|
|
64
|
-
"@aztec/
|
|
28
|
+
"@aztec/accounts": "0.0.1-commit.e3c1de76",
|
|
29
|
+
"@aztec/archiver": "0.0.1-commit.e3c1de76",
|
|
30
|
+
"@aztec/aztec": "0.0.1-commit.e3c1de76",
|
|
31
|
+
"@aztec/aztec-node": "0.0.1-commit.e3c1de76",
|
|
32
|
+
"@aztec/aztec.js": "0.0.1-commit.e3c1de76",
|
|
33
|
+
"@aztec/bb-prover": "0.0.1-commit.e3c1de76",
|
|
34
|
+
"@aztec/bb.js": "0.0.1-commit.e3c1de76",
|
|
35
|
+
"@aztec/blob-client": "0.0.1-commit.e3c1de76",
|
|
36
|
+
"@aztec/blob-lib": "0.0.1-commit.e3c1de76",
|
|
37
|
+
"@aztec/bot": "0.0.1-commit.e3c1de76",
|
|
38
|
+
"@aztec/cli": "0.0.1-commit.e3c1de76",
|
|
39
|
+
"@aztec/constants": "0.0.1-commit.e3c1de76",
|
|
40
|
+
"@aztec/entrypoints": "0.0.1-commit.e3c1de76",
|
|
41
|
+
"@aztec/epoch-cache": "0.0.1-commit.e3c1de76",
|
|
42
|
+
"@aztec/ethereum": "0.0.1-commit.e3c1de76",
|
|
43
|
+
"@aztec/foundation": "0.0.1-commit.e3c1de76",
|
|
44
|
+
"@aztec/kv-store": "0.0.1-commit.e3c1de76",
|
|
45
|
+
"@aztec/l1-artifacts": "0.0.1-commit.e3c1de76",
|
|
46
|
+
"@aztec/merkle-tree": "0.0.1-commit.e3c1de76",
|
|
47
|
+
"@aztec/node-keystore": "0.0.1-commit.e3c1de76",
|
|
48
|
+
"@aztec/noir-contracts.js": "0.0.1-commit.e3c1de76",
|
|
49
|
+
"@aztec/noir-noirc_abi": "0.0.1-commit.e3c1de76",
|
|
50
|
+
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.e3c1de76",
|
|
51
|
+
"@aztec/noir-test-contracts.js": "0.0.1-commit.e3c1de76",
|
|
52
|
+
"@aztec/p2p": "0.0.1-commit.e3c1de76",
|
|
53
|
+
"@aztec/protocol-contracts": "0.0.1-commit.e3c1de76",
|
|
54
|
+
"@aztec/prover-client": "0.0.1-commit.e3c1de76",
|
|
55
|
+
"@aztec/prover-node": "0.0.1-commit.e3c1de76",
|
|
56
|
+
"@aztec/pxe": "0.0.1-commit.e3c1de76",
|
|
57
|
+
"@aztec/sequencer-client": "0.0.1-commit.e3c1de76",
|
|
58
|
+
"@aztec/simulator": "0.0.1-commit.e3c1de76",
|
|
59
|
+
"@aztec/slasher": "0.0.1-commit.e3c1de76",
|
|
60
|
+
"@aztec/stdlib": "0.0.1-commit.e3c1de76",
|
|
61
|
+
"@aztec/telemetry-client": "0.0.1-commit.e3c1de76",
|
|
62
|
+
"@aztec/test-wallet": "0.0.1-commit.e3c1de76",
|
|
63
|
+
"@aztec/validator-client": "0.0.1-commit.e3c1de76",
|
|
64
|
+
"@aztec/validator-ha-signer": "0.0.1-commit.e3c1de76",
|
|
65
|
+
"@aztec/world-state": "0.0.1-commit.e3c1de76",
|
|
65
66
|
"@iarna/toml": "^2.2.5",
|
|
66
67
|
"@jest/globals": "^30.0.0",
|
|
67
68
|
"@noble/curves": "=1.0.0",
|
|
@@ -107,7 +108,7 @@
|
|
|
107
108
|
"@types/jest": "^30.0.0",
|
|
108
109
|
"@types/js-yaml": "^4.0.9",
|
|
109
110
|
"@types/lodash.chunk": "^4.2.9",
|
|
110
|
-
"@typescript/native-preview": "7.0.0-dev.
|
|
111
|
+
"@typescript/native-preview": "7.0.0-dev.20260113.1",
|
|
111
112
|
"concurrently": "^7.6.0",
|
|
112
113
|
"jest": "^30.0.0",
|
|
113
114
|
"jest-extended": "^6.0.0",
|
|
@@ -7,7 +7,13 @@ import {
|
|
|
7
7
|
import type { Logger } from '@aztec/aztec.js/log';
|
|
8
8
|
import { createLogger } from '@aztec/foundation/log';
|
|
9
9
|
import { type PrivateExecutionStep, serializePrivateExecutionSteps } from '@aztec/stdlib/kernel';
|
|
10
|
-
import type {
|
|
10
|
+
import type {
|
|
11
|
+
ProvingStats,
|
|
12
|
+
ProvingTimings,
|
|
13
|
+
RoundTripStats,
|
|
14
|
+
SimulationStats,
|
|
15
|
+
SimulationTimings,
|
|
16
|
+
} from '@aztec/stdlib/tx';
|
|
11
17
|
|
|
12
18
|
import assert from 'node:assert';
|
|
13
19
|
import { mkdir, writeFile } from 'node:fs/promises';
|
|
@@ -119,6 +125,7 @@ type ClientFlowBenchmark = {
|
|
|
119
125
|
timings: Omit<ProvingTimings & SimulationTimings, 'perFunction'> & { witgen: number };
|
|
120
126
|
maxMemory: number;
|
|
121
127
|
rpc: Record<string, CallRecording>;
|
|
128
|
+
roundTrips: RoundTripStats;
|
|
122
129
|
proverType: ProverType;
|
|
123
130
|
minimumTrace: StructuredTrace;
|
|
124
131
|
totalGateCount: number;
|
|
@@ -212,6 +219,10 @@ export function generateBenchmark(
|
|
|
212
219
|
}, []);
|
|
213
220
|
const timings = stats.timings;
|
|
214
221
|
const totalGateCount = steps[steps.length - 1].accGateCount;
|
|
222
|
+
const nodeRPCCalls = stats.nodeRPCCalls ?? {
|
|
223
|
+
perMethod: {},
|
|
224
|
+
roundTrips: { roundTrips: 0, totalBlockingTime: 0, roundTripDurations: [], roundTripMethods: [] },
|
|
225
|
+
};
|
|
215
226
|
return {
|
|
216
227
|
name: flow,
|
|
217
228
|
timings: {
|
|
@@ -221,7 +232,7 @@ export function generateBenchmark(
|
|
|
221
232
|
unaccounted: timings.unaccounted,
|
|
222
233
|
witgen: timings.perFunction.reduce((acc, fn) => acc + fn.time, 0),
|
|
223
234
|
},
|
|
224
|
-
rpc: Object.entries(
|
|
235
|
+
rpc: Object.entries(nodeRPCCalls.perMethod).reduce(
|
|
225
236
|
(acc, [RPCName, RPCCalls]) => {
|
|
226
237
|
const total = RPCCalls.times.reduce((sum, time) => sum + time, 0);
|
|
227
238
|
const calls = RPCCalls.times.length;
|
|
@@ -236,6 +247,7 @@ export function generateBenchmark(
|
|
|
236
247
|
},
|
|
237
248
|
{} as Record<string, CallRecording>,
|
|
238
249
|
),
|
|
250
|
+
roundTrips: nodeRPCCalls.roundTrips,
|
|
239
251
|
maxMemory,
|
|
240
252
|
proverType,
|
|
241
253
|
minimumTrace: minimumTrace!,
|
|
@@ -280,6 +292,16 @@ export function convertProfileToGHBenchmark(benchmark: ClientFlowBenchmark): Git
|
|
|
280
292
|
value: totalRPCCalls,
|
|
281
293
|
unit: 'calls',
|
|
282
294
|
},
|
|
295
|
+
{
|
|
296
|
+
name: `${benchmark.name}/round_trips`,
|
|
297
|
+
value: benchmark.roundTrips.roundTrips,
|
|
298
|
+
unit: 'round_trips',
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
name: `${benchmark.name}/round_trips_blocking_time`,
|
|
302
|
+
value: benchmark.roundTrips.totalBlockingTime,
|
|
303
|
+
unit: 'ms',
|
|
304
|
+
},
|
|
283
305
|
];
|
|
284
306
|
if (benchmark.timings.proving) {
|
|
285
307
|
benches.push({
|
|
@@ -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';
|
|
@@ -26,14 +29,9 @@ import { deriveSigningKey } from '@aztec/stdlib/keys';
|
|
|
26
29
|
import { TestWallet } from '@aztec/test-wallet/server';
|
|
27
30
|
|
|
28
31
|
import { MNEMONIC } from '../../fixtures/fixtures.js';
|
|
29
|
-
import {
|
|
30
|
-
type ISnapshotManager,
|
|
31
|
-
type SubsystemsContext,
|
|
32
|
-
createSnapshotManager,
|
|
33
|
-
deployAccounts,
|
|
34
|
-
} from '../../fixtures/snapshot_manager.js';
|
|
32
|
+
import { type EndToEndContext, type SetupOptions, deployAccounts, setup, teardown } from '../../fixtures/setup.js';
|
|
35
33
|
import { mintTokensToPrivate } from '../../fixtures/token_utils.js';
|
|
36
|
-
import {
|
|
34
|
+
import { setupSponsoredFPC } from '../../fixtures/utils.js';
|
|
37
35
|
import { CrossChainTestHarness } from '../../shared/cross_chain_test_harness.js';
|
|
38
36
|
import {
|
|
39
37
|
FeeJuicePortalTestingHarnessFactory,
|
|
@@ -42,19 +40,17 @@ import {
|
|
|
42
40
|
import { ProxyLogger } from './benchmark.js';
|
|
43
41
|
import { type ClientFlowsConfig, FULL_FLOWS_CONFIG, KEY_FLOWS_CONFIG } from './config.js';
|
|
44
42
|
|
|
45
|
-
const {
|
|
43
|
+
const { BENCHMARK_CONFIG } = process.env;
|
|
46
44
|
|
|
47
45
|
export type AccountType = 'ecdsar1' | 'schnorr';
|
|
48
46
|
export type FeePaymentMethodGetter = (wallet: Wallet, sender: AztecAddress) => Promise<FeePaymentMethod | undefined>;
|
|
49
47
|
export type BenchmarkingFeePaymentMethod = 'bridged_fee_juice' | 'private_fpc' | 'sponsored_fpc' | 'fee_juice';
|
|
50
48
|
|
|
51
49
|
export class ClientFlowsBenchmark {
|
|
52
|
-
private snapshotManager: ISnapshotManager;
|
|
53
|
-
|
|
54
50
|
public logger: Logger;
|
|
55
51
|
public aztecNode!: AztecNode;
|
|
56
52
|
public cheatCodes!: CheatCodes;
|
|
57
|
-
public context!:
|
|
53
|
+
public context!: EndToEndContext;
|
|
58
54
|
public chainMonitor!: ChainMonitor;
|
|
59
55
|
public feeJuiceBridgeTestHarness!: GasBridgingTestHarness;
|
|
60
56
|
public adminWallet!: TestWallet;
|
|
@@ -122,33 +118,37 @@ export class ClientFlowsBenchmark {
|
|
|
122
118
|
public config: ClientFlowsConfig;
|
|
123
119
|
|
|
124
120
|
private proxyLogger: ProxyLogger;
|
|
121
|
+
private setupOptions: Partial<SetupOptions & DeployAztecL1ContractsArgs>;
|
|
125
122
|
|
|
126
|
-
constructor(testName?: string, setupOptions: Partial<SetupOptions &
|
|
123
|
+
constructor(testName?: string, setupOptions: Partial<SetupOptions & DeployAztecL1ContractsArgs> = {}) {
|
|
127
124
|
this.logger = createLogger(`bench:client_flows${testName ? `:${testName}` : ''}`);
|
|
128
|
-
this.
|
|
129
|
-
`bench_client_flows${testName ? `/${testName}` : ''}`,
|
|
130
|
-
dataPath,
|
|
131
|
-
{ startProverNode: true, ...setupOptions },
|
|
132
|
-
{ ...setupOptions },
|
|
133
|
-
);
|
|
125
|
+
this.setupOptions = { startProverNode: true, ...setupOptions };
|
|
134
126
|
this.config = BENCHMARK_CONFIG === 'key_flows' ? KEY_FLOWS_CONFIG : FULL_FLOWS_CONFIG;
|
|
135
127
|
ProxyLogger.create();
|
|
136
128
|
this.proxyLogger = ProxyLogger.getInstance();
|
|
137
129
|
}
|
|
138
130
|
|
|
139
131
|
async setup() {
|
|
140
|
-
|
|
141
|
-
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 });
|
|
142
142
|
|
|
143
|
-
const rollupContract = RollupContract.getFromConfig(context.
|
|
144
|
-
this.chainMonitor = new ChainMonitor(rollupContract, context.dateProvider
|
|
143
|
+
const rollupContract = RollupContract.getFromConfig(this.context.config);
|
|
144
|
+
this.chainMonitor = new ChainMonitor(rollupContract, this.context.dateProvider!, this.logger, 200).start();
|
|
145
145
|
|
|
146
146
|
return this;
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
async teardown() {
|
|
150
150
|
await this.chainMonitor.stop();
|
|
151
|
-
await this.
|
|
151
|
+
await teardown(this.context);
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
async mintAndBridgeFeeJuice(address: AztecAddress) {
|
|
@@ -156,8 +156,7 @@ export class ClientFlowsBenchmark {
|
|
|
156
156
|
const { claimSecret: secret, messageLeafIndex: index } = claim;
|
|
157
157
|
await this.feeJuiceContract.methods
|
|
158
158
|
.claim(address, claim.claimAmount, secret, index)
|
|
159
|
-
.send({ from: this.adminAddress })
|
|
160
|
-
.wait();
|
|
159
|
+
.send({ from: this.adminAddress });
|
|
161
160
|
}
|
|
162
161
|
|
|
163
162
|
/** Admin mints bananaCoin tokens privately to the target address and redeems them. */
|
|
@@ -190,161 +189,118 @@ export class ClientFlowsBenchmark {
|
|
|
190
189
|
}
|
|
191
190
|
}
|
|
192
191
|
|
|
193
|
-
public async
|
|
194
|
-
await this.
|
|
195
|
-
await this.
|
|
192
|
+
public async applyBaseSetup() {
|
|
193
|
+
await this.applyInitialAccounts();
|
|
194
|
+
await this.applySetupFeeJuice();
|
|
196
195
|
}
|
|
197
196
|
|
|
198
|
-
async
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
197
|
+
async applyInitialAccounts() {
|
|
198
|
+
this.logger.info('Applying initial accounts setup');
|
|
199
|
+
const { deployedAccounts } = await deployAccounts(
|
|
200
|
+
2,
|
|
201
|
+
this.logger,
|
|
202
|
+
)({
|
|
203
|
+
wallet: this.context.wallet,
|
|
204
|
+
initialFundedAccounts: this.context.initialFundedAccounts,
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
const [{ address: adminAddress }, { address: sequencerAddress }] = deployedAccounts;
|
|
208
|
+
|
|
209
|
+
this.adminWallet = this.context.wallet;
|
|
210
|
+
this.aztecNode = this.context.aztecNodeService!;
|
|
211
|
+
this.cheatCodes = this.context.cheatCodes;
|
|
212
|
+
|
|
213
|
+
this.adminAddress = adminAddress;
|
|
214
|
+
this.sequencerAddress = sequencerAddress;
|
|
215
|
+
|
|
216
|
+
const canonicalFeeJuice = await getCanonicalFeeJuice();
|
|
217
|
+
this.feeJuiceContract = FeeJuiceContract.at(canonicalFeeJuice.address, this.adminWallet);
|
|
218
|
+
this.coinbase = EthAddress.random();
|
|
219
|
+
|
|
220
|
+
const userPXEConfig = getPXEConfig();
|
|
221
|
+
const userPXEConfigWithContracts = {
|
|
222
|
+
...userPXEConfig,
|
|
223
|
+
proverEnabled: this.realProofs,
|
|
224
|
+
} as PXEConfig;
|
|
225
|
+
|
|
226
|
+
this.userWallet = await TestWallet.create(this.aztecNode, userPXEConfigWithContracts, {
|
|
227
|
+
loggers: {
|
|
228
|
+
prover: this.proxyLogger.createLogger('pxe:bb:wasm:bundle:proxied'),
|
|
228
229
|
},
|
|
229
|
-
);
|
|
230
|
+
});
|
|
230
231
|
}
|
|
231
232
|
|
|
232
|
-
async
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
aztecNodeAdmin: context.aztecNode,
|
|
244
|
-
l1Client: context.deployL1ContractsValues.l1Client,
|
|
245
|
-
wallet: this.adminWallet,
|
|
246
|
-
logger: this.logger,
|
|
247
|
-
});
|
|
248
|
-
},
|
|
249
|
-
);
|
|
233
|
+
async applySetupFeeJuice() {
|
|
234
|
+
this.logger.info('Applying fee juice setup');
|
|
235
|
+
this.feeJuiceContract = FeeJuiceContract.at(ProtocolContractAddress.FeeJuice, this.adminWallet);
|
|
236
|
+
|
|
237
|
+
this.feeJuiceBridgeTestHarness = await FeeJuicePortalTestingHarnessFactory.create({
|
|
238
|
+
aztecNode: this.context.aztecNodeService!,
|
|
239
|
+
aztecNodeAdmin: this.context.aztecNodeService!,
|
|
240
|
+
l1Client: this.context.deployL1ContractsValues.l1Client,
|
|
241
|
+
wallet: this.adminWallet,
|
|
242
|
+
logger: this.logger,
|
|
243
|
+
});
|
|
250
244
|
}
|
|
251
245
|
|
|
252
|
-
async
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
.wait();
|
|
265
|
-
this.logger.info(`BananaCoin deployed at ${bananaCoin.address}`);
|
|
266
|
-
return { bananaCoinAddress: bananaCoin.address, bananaCoinInstance };
|
|
267
|
-
},
|
|
268
|
-
({ bananaCoinAddress, bananaCoinInstance }) => {
|
|
269
|
-
this.bananaCoin = BananaCoin.at(bananaCoinAddress, this.adminWallet);
|
|
270
|
-
this.bananaCoinInstance = bananaCoinInstance;
|
|
271
|
-
return Promise.resolve();
|
|
272
|
-
},
|
|
273
|
-
);
|
|
246
|
+
async applyDeployBananaToken() {
|
|
247
|
+
this.logger.info('Applying banana token deployment');
|
|
248
|
+
const { contract: bananaCoin, instance: bananaCoinInstance } = await BananaCoin.deploy(
|
|
249
|
+
this.adminWallet,
|
|
250
|
+
this.adminAddress,
|
|
251
|
+
'BC',
|
|
252
|
+
'BC',
|
|
253
|
+
18n,
|
|
254
|
+
).send({ from: this.adminAddress, wait: { returnReceipt: true } });
|
|
255
|
+
this.logger.info(`BananaCoin deployed at ${bananaCoin.address}`);
|
|
256
|
+
this.bananaCoin = bananaCoin;
|
|
257
|
+
this.bananaCoinInstance = bananaCoinInstance;
|
|
274
258
|
}
|
|
275
259
|
|
|
276
|
-
async
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
.wait();
|
|
289
|
-
this.logger.info(`CandyBarCoin deployed at ${candyBarCoin.address}`);
|
|
290
|
-
return { candyBarCoinAddress: candyBarCoin.address, candyBarCoinInstance };
|
|
291
|
-
},
|
|
292
|
-
({ candyBarCoinAddress, candyBarCoinInstance }) => {
|
|
293
|
-
this.candyBarCoin = TokenContract.at(candyBarCoinAddress, this.adminWallet);
|
|
294
|
-
this.candyBarCoinInstance = candyBarCoinInstance;
|
|
295
|
-
return Promise.resolve();
|
|
296
|
-
},
|
|
297
|
-
);
|
|
260
|
+
async applyDeployCandyBarToken() {
|
|
261
|
+
this.logger.info('Applying candy bar token deployment');
|
|
262
|
+
const { contract: candyBarCoin, instance: candyBarCoinInstance } = await TokenContract.deploy(
|
|
263
|
+
this.adminWallet,
|
|
264
|
+
this.adminAddress,
|
|
265
|
+
'CBC',
|
|
266
|
+
'CBC',
|
|
267
|
+
18n,
|
|
268
|
+
).send({ from: this.adminAddress, wait: { returnReceipt: true } });
|
|
269
|
+
this.logger.info(`CandyBarCoin deployed at ${candyBarCoin.address}`);
|
|
270
|
+
this.candyBarCoin = candyBarCoin;
|
|
271
|
+
this.candyBarCoinInstance = candyBarCoinInstance;
|
|
298
272
|
}
|
|
299
273
|
|
|
300
|
-
public async
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
|
|
305
|
-
expect((await context.wallet.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
|
|
274
|
+
public async applyFPCSetup() {
|
|
275
|
+
this.logger.info('Applying FPC setup');
|
|
276
|
+
const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
|
|
277
|
+
expect((await this.context.wallet.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
|
|
306
278
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
.send({ from: this.adminAddress })
|
|
314
|
-
.wait();
|
|
279
|
+
const bananaCoin = this.bananaCoin;
|
|
280
|
+
const { contract: bananaFPC, instance: bananaFPCInstance } = await FPCContract.deploy(
|
|
281
|
+
this.adminWallet,
|
|
282
|
+
bananaCoin.address,
|
|
283
|
+
this.adminAddress,
|
|
284
|
+
).send({ from: this.adminAddress, wait: { returnReceipt: true } });
|
|
315
285
|
|
|
316
|
-
|
|
286
|
+
this.logger.info(`BananaPay deployed at ${bananaFPC.address}`);
|
|
317
287
|
|
|
318
|
-
|
|
288
|
+
await this.feeJuiceBridgeTestHarness.bridgeFromL1ToL2(bananaFPC.address, this.adminAddress);
|
|
319
289
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
data => {
|
|
323
|
-
this.bananaFPC = FPCContract.at(data.bananaFPCAddress, this.adminWallet);
|
|
324
|
-
this.bananaFPCInstance = data.bananaFPCInstance;
|
|
325
|
-
return Promise.resolve();
|
|
326
|
-
},
|
|
327
|
-
);
|
|
290
|
+
this.bananaFPC = bananaFPC;
|
|
291
|
+
this.bananaFPCInstance = bananaFPCInstance;
|
|
328
292
|
}
|
|
329
293
|
|
|
330
|
-
async
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
return { sponsoredFPCAddress: sponsoredFPCInstance.address, sponsoredFPCInstance };
|
|
337
|
-
},
|
|
338
|
-
({ sponsoredFPCAddress, sponsoredFPCInstance }) => {
|
|
339
|
-
this.sponsoredFPC = SponsoredFPCContract.at(sponsoredFPCAddress, this.adminWallet);
|
|
340
|
-
this.sponsoredFPCInstance = sponsoredFPCInstance;
|
|
341
|
-
return Promise.resolve();
|
|
342
|
-
},
|
|
343
|
-
);
|
|
294
|
+
async applyDeploySponsoredFPC() {
|
|
295
|
+
this.logger.info('Applying sponsored FPC deployment');
|
|
296
|
+
const sponsoredFPCInstance = await setupSponsoredFPC(this.adminWallet);
|
|
297
|
+
this.logger.info(`SponsoredFPC at ${sponsoredFPCInstance.address}`);
|
|
298
|
+
this.sponsoredFPC = SponsoredFPCContract.at(sponsoredFPCInstance.address, this.adminWallet);
|
|
299
|
+
this.sponsoredFPCInstance = sponsoredFPCInstance;
|
|
344
300
|
}
|
|
345
301
|
|
|
346
302
|
public async createCrossChainTestHarness(owner: AztecAddress) {
|
|
347
|
-
const l1Client = createExtendedL1Client(this.context.
|
|
303
|
+
const l1Client = createExtendedL1Client(this.context.config.l1RpcUrls, MNEMONIC);
|
|
348
304
|
|
|
349
305
|
const underlyingERC20Address = await deployL1Contract(l1Client, TestERC20Abi, TestERC20Bytecode, [
|
|
350
306
|
'Underlying',
|
|
@@ -373,12 +329,10 @@ export class ClientFlowsBenchmark {
|
|
|
373
329
|
const benchysAddress = benchysAccountManager.address;
|
|
374
330
|
const claim = await this.feeJuiceBridgeTestHarness.prepareTokensOnL1(benchysAddress);
|
|
375
331
|
const behchysDeployMethod = await benchysAccountManager.getDeployMethod();
|
|
376
|
-
await behchysDeployMethod
|
|
377
|
-
.
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
})
|
|
381
|
-
.wait();
|
|
332
|
+
await behchysDeployMethod.send({
|
|
333
|
+
from: AztecAddress.ZERO,
|
|
334
|
+
fee: { paymentMethod: new FeeJuicePaymentMethodWithClaim(benchysAddress, claim) },
|
|
335
|
+
});
|
|
382
336
|
// Register benchy on the user's Wallet, where we're going to be interacting from
|
|
383
337
|
const accountManager = await this.userWallet.createAccount({
|
|
384
338
|
secret: benchysAccount.getSecretKey(),
|
|
@@ -388,44 +342,27 @@ export class ClientFlowsBenchmark {
|
|
|
388
342
|
return accountManager.address;
|
|
389
343
|
}
|
|
390
344
|
|
|
391
|
-
public async
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
this.logger.info(`AMM deployed at ${amm.address}`);
|
|
413
|
-
await liquidityToken.methods.set_minter(amm.address, true).send({ from: this.adminAddress }).wait();
|
|
414
|
-
return {
|
|
415
|
-
ammAddress: amm.address,
|
|
416
|
-
ammInstance,
|
|
417
|
-
liquidityTokenAddress: liquidityToken.address,
|
|
418
|
-
liquidityTokenInstance,
|
|
419
|
-
};
|
|
420
|
-
},
|
|
421
|
-
({ ammAddress, ammInstance, liquidityTokenAddress, liquidityTokenInstance }) => {
|
|
422
|
-
this.liquidityToken = TokenContract.at(liquidityTokenAddress, this.adminWallet);
|
|
423
|
-
this.liquidityTokenInstance = liquidityTokenInstance;
|
|
424
|
-
this.amm = AMMContract.at(ammAddress, this.adminWallet);
|
|
425
|
-
this.ammInstance = ammInstance;
|
|
426
|
-
return Promise.resolve();
|
|
427
|
-
},
|
|
428
|
-
);
|
|
345
|
+
public async applyDeployAmm() {
|
|
346
|
+
this.logger.info('Applying AMM deployment');
|
|
347
|
+
const { contract: liquidityToken, instance: liquidityTokenInstance } = await TokenContract.deploy(
|
|
348
|
+
this.adminWallet,
|
|
349
|
+
this.adminAddress,
|
|
350
|
+
'LPT',
|
|
351
|
+
'LPT',
|
|
352
|
+
18n,
|
|
353
|
+
).send({ from: this.adminAddress, wait: { returnReceipt: true } });
|
|
354
|
+
const { contract: amm, instance: ammInstance } = await AMMContract.deploy(
|
|
355
|
+
this.adminWallet,
|
|
356
|
+
this.bananaCoin.address,
|
|
357
|
+
this.candyBarCoin.address,
|
|
358
|
+
liquidityToken.address,
|
|
359
|
+
).send({ from: this.adminAddress, wait: { returnReceipt: true } });
|
|
360
|
+
this.logger.info(`AMM deployed at ${amm.address}`);
|
|
361
|
+
await liquidityToken.methods.set_minter(amm.address, true).send({ from: this.adminAddress });
|
|
362
|
+
this.liquidityToken = liquidityToken;
|
|
363
|
+
this.liquidityTokenInstance = liquidityTokenInstance;
|
|
364
|
+
this.amm = amm;
|
|
365
|
+
this.ammInstance = ammInstance;
|
|
429
366
|
}
|
|
430
367
|
|
|
431
368
|
public async getBridgedFeeJuicePaymentMethodForWallet(_wallet: Wallet, sender: AztecAddress) {
|
|
@@ -436,7 +373,7 @@ export class ClientFlowsBenchmark {
|
|
|
436
373
|
public async getPrivateFPCPaymentMethodForWallet(wallet: Wallet, sender: AztecAddress) {
|
|
437
374
|
// The private fee paying method assembled on the app side requires knowledge of the maximum
|
|
438
375
|
// fee the user is willing to pay
|
|
439
|
-
const maxFeesPerGas = (await this.aztecNode.
|
|
376
|
+
const maxFeesPerGas = (await this.aztecNode.getCurrentMinFees()).mul(1.5);
|
|
440
377
|
const gasSettings = GasSettings.default({ maxFeesPerGas });
|
|
441
378
|
return new PrivateFeePaymentMethod(this.bananaFPC.address, sender, wallet, gasSettings);
|
|
442
379
|
}
|
|
@@ -22,7 +22,7 @@ async function main() {
|
|
|
22
22
|
logger.info(`Flows in ${ivcFolder}: \n${flows.map(flowName => `\t- ${flowName}`).join('\n')}`);
|
|
23
23
|
const simulator = new WASMSimulator();
|
|
24
24
|
const log = proxyLogger.createLogger('bb:prover');
|
|
25
|
-
const prover = new BBBundlePrivateKernelProver(simulator, log);
|
|
25
|
+
const prover = new BBBundlePrivateKernelProver(simulator, { logger: log });
|
|
26
26
|
|
|
27
27
|
const userLog = createLogger('chonk_flows:data_processor');
|
|
28
28
|
|