@aztec/end-to-end 0.0.1-commit.5476d83 → 0.0.1-commit.592b9384

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.
Files changed (205) hide show
  1. package/dest/bench/client_flows/benchmark.d.ts +3 -2
  2. package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
  3. package/dest/bench/client_flows/benchmark.js +21 -1
  4. package/dest/bench/client_flows/client_flows_benchmark.d.ts +14 -15
  5. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  6. package/dest/bench/client_flows/client_flows_benchmark.js +123 -136
  7. package/dest/bench/client_flows/data_extractor.js +3 -1
  8. package/dest/bench/utils.d.ts +9 -8
  9. package/dest/bench/utils.d.ts.map +1 -1
  10. package/dest/bench/utils.js +27 -18
  11. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +6 -7
  12. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  13. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +96 -112
  14. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +19 -13
  15. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  16. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +91 -71
  17. package/dest/e2e_deploy_contract/deploy_test.d.ts +4 -3
  18. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  19. package/dest/e2e_deploy_contract/deploy_test.js +18 -13
  20. package/dest/e2e_epochs/epochs_test.d.ts +17 -9
  21. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  22. package/dest/e2e_epochs/epochs_test.js +44 -20
  23. package/dest/e2e_fees/bridging_race.notest.js +4 -6
  24. package/dest/e2e_fees/fees_test.d.ts +20 -16
  25. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  26. package/dest/e2e_fees/fees_test.js +126 -141
  27. package/dest/e2e_l1_publisher/write_json.d.ts +4 -3
  28. package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
  29. package/dest/e2e_l1_publisher/write_json.js +14 -16
  30. package/dest/e2e_multi_validator/utils.js +1 -1
  31. package/dest/e2e_nested_contract/nested_contract_test.d.ts +6 -9
  32. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  33. package/dest/e2e_nested_contract/nested_contract_test.js +31 -39
  34. package/dest/e2e_p2p/inactivity_slash_test.d.ts +4 -4
  35. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -1
  36. package/dest/e2e_p2p/inactivity_slash_test.js +6 -9
  37. package/dest/e2e_p2p/p2p_network.d.ts +13 -11
  38. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  39. package/dest/e2e_p2p/p2p_network.js +120 -111
  40. package/dest/e2e_p2p/reqresp/utils.d.ts +22 -0
  41. package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -0
  42. package/dest/e2e_p2p/reqresp/utils.js +153 -0
  43. package/dest/e2e_p2p/shared.d.ts +7 -7
  44. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  45. package/dest/e2e_p2p/shared.js +13 -20
  46. package/dest/e2e_token_contract/token_contract_test.d.ts +16 -9
  47. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  48. package/dest/e2e_token_contract/token_contract_test.js +89 -91
  49. package/dest/fixtures/e2e_prover_test.d.ts +10 -18
  50. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  51. package/dest/fixtures/e2e_prover_test.js +91 -103
  52. package/dest/fixtures/fixtures.d.ts +2 -3
  53. package/dest/fixtures/fixtures.d.ts.map +1 -1
  54. package/dest/fixtures/fixtures.js +2 -3
  55. package/dest/fixtures/get_acvm_config.js +1 -1
  56. package/dest/fixtures/ha_setup.d.ts +71 -0
  57. package/dest/fixtures/ha_setup.d.ts.map +1 -0
  58. package/dest/fixtures/ha_setup.js +114 -0
  59. package/dest/fixtures/index.d.ts +2 -1
  60. package/dest/fixtures/index.d.ts.map +1 -1
  61. package/dest/fixtures/index.js +1 -0
  62. package/dest/fixtures/l1_to_l2_messaging.d.ts +4 -3
  63. package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
  64. package/dest/fixtures/l1_to_l2_messaging.js +2 -2
  65. package/dest/fixtures/setup.d.ts +218 -0
  66. package/dest/fixtures/setup.d.ts.map +1 -0
  67. package/dest/fixtures/setup.js +695 -0
  68. package/dest/fixtures/setup_p2p_test.d.ts +4 -5
  69. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  70. package/dest/fixtures/setup_p2p_test.js +27 -22
  71. package/dest/fixtures/token_utils.d.ts +1 -1
  72. package/dest/fixtures/token_utils.d.ts.map +1 -1
  73. package/dest/fixtures/token_utils.js +7 -4
  74. package/dest/fixtures/utils.d.ts +5 -637
  75. package/dest/fixtures/utils.d.ts.map +1 -1
  76. package/dest/fixtures/utils.js +4 -647
  77. package/dest/fixtures/web3signer.js +1 -1
  78. package/dest/fixtures/with_telemetry_utils.d.ts +2 -2
  79. package/dest/fixtures/with_telemetry_utils.d.ts.map +1 -1
  80. package/dest/fixtures/with_telemetry_utils.js +2 -2
  81. package/dest/quality_of_service/grafana_client.d.ts +41 -0
  82. package/dest/quality_of_service/grafana_client.d.ts.map +1 -0
  83. package/dest/quality_of_service/{alert_checker.js → grafana_client.js} +1 -1
  84. package/dest/quality_of_service/prometheus_client.d.ts +38 -0
  85. package/dest/quality_of_service/prometheus_client.d.ts.map +1 -0
  86. package/dest/quality_of_service/prometheus_client.js +67 -0
  87. package/dest/shared/cross_chain_test_harness.d.ts +18 -6
  88. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  89. package/dest/shared/cross_chain_test_harness.js +14 -14
  90. package/dest/shared/gas_portal_test_harness.d.ts +12 -2
  91. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  92. package/dest/shared/gas_portal_test_harness.js +1 -1
  93. package/dest/shared/index.d.ts +2 -2
  94. package/dest/shared/index.d.ts.map +1 -1
  95. package/dest/shared/submit-transactions.d.ts +3 -3
  96. package/dest/shared/submit-transactions.d.ts.map +1 -1
  97. package/dest/shared/submit-transactions.js +9 -11
  98. package/dest/shared/uniswap_l1_l2.d.ts +3 -27
  99. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  100. package/dest/shared/uniswap_l1_l2.js +55 -35
  101. package/dest/simulators/lending_simulator.d.ts +6 -2
  102. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  103. package/dest/simulators/lending_simulator.js +2 -2
  104. package/dest/spartan/setup_test_wallets.d.ts +4 -3
  105. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  106. package/dest/spartan/setup_test_wallets.js +63 -35
  107. package/dest/spartan/tx_metrics.d.ts +88 -0
  108. package/dest/spartan/tx_metrics.d.ts.map +1 -0
  109. package/dest/spartan/tx_metrics.js +422 -0
  110. package/dest/spartan/utils/bot.d.ts +27 -0
  111. package/dest/spartan/utils/bot.d.ts.map +1 -0
  112. package/dest/spartan/utils/bot.js +141 -0
  113. package/dest/spartan/utils/chaos.d.ts +79 -0
  114. package/dest/spartan/utils/chaos.d.ts.map +1 -0
  115. package/dest/spartan/utils/chaos.js +142 -0
  116. package/dest/spartan/utils/clients.d.ts +39 -0
  117. package/dest/spartan/utils/clients.d.ts.map +1 -0
  118. package/dest/spartan/utils/clients.js +90 -0
  119. package/dest/spartan/utils/config.d.ts +36 -0
  120. package/dest/spartan/utils/config.d.ts.map +1 -0
  121. package/dest/spartan/utils/config.js +20 -0
  122. package/dest/spartan/utils/health.d.ts +63 -0
  123. package/dest/spartan/utils/health.d.ts.map +1 -0
  124. package/dest/spartan/utils/health.js +202 -0
  125. package/dest/spartan/utils/helm.d.ts +15 -0
  126. package/dest/spartan/utils/helm.d.ts.map +1 -0
  127. package/dest/spartan/utils/helm.js +47 -0
  128. package/dest/spartan/utils/index.d.ts +9 -0
  129. package/dest/spartan/utils/index.d.ts.map +1 -0
  130. package/dest/spartan/utils/index.js +18 -0
  131. package/dest/spartan/utils/k8s.d.ts +126 -0
  132. package/dest/spartan/utils/k8s.d.ts.map +1 -0
  133. package/dest/spartan/utils/k8s.js +375 -0
  134. package/dest/spartan/utils/nodes.d.ts +41 -0
  135. package/dest/spartan/utils/nodes.d.ts.map +1 -0
  136. package/dest/spartan/utils/nodes.js +461 -0
  137. package/dest/spartan/utils/scripts.d.ts +16 -0
  138. package/dest/spartan/utils/scripts.d.ts.map +1 -0
  139. package/dest/spartan/utils/scripts.js +66 -0
  140. package/dest/spartan/utils.d.ts +2 -220
  141. package/dest/spartan/utils.d.ts.map +1 -1
  142. package/dest/spartan/utils.js +1 -782
  143. package/package.json +45 -41
  144. package/src/bench/client_flows/benchmark.ts +24 -2
  145. package/src/bench/client_flows/client_flows_benchmark.ts +145 -208
  146. package/src/bench/client_flows/data_extractor.ts +1 -1
  147. package/src/bench/utils.ts +30 -20
  148. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +104 -142
  149. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +140 -125
  150. package/src/e2e_deploy_contract/deploy_test.ts +21 -14
  151. package/src/e2e_epochs/epochs_test.ts +92 -53
  152. package/src/e2e_fees/bridging_race.notest.ts +4 -10
  153. package/src/e2e_fees/fees_test.ts +179 -221
  154. package/src/e2e_l1_publisher/write_json.ts +16 -16
  155. package/src/e2e_multi_validator/utils.ts +1 -1
  156. package/src/e2e_nested_contract/nested_contract_test.ts +33 -56
  157. package/src/e2e_p2p/inactivity_slash_test.ts +9 -12
  158. package/src/e2e_p2p/p2p_network.ts +180 -183
  159. package/src/e2e_p2p/reqresp/utils.ts +207 -0
  160. package/src/e2e_p2p/shared.ts +31 -28
  161. package/src/e2e_token_contract/token_contract_test.ts +103 -118
  162. package/src/fixtures/e2e_prover_test.ts +104 -141
  163. package/src/fixtures/fixtures.ts +2 -5
  164. package/src/fixtures/get_acvm_config.ts +1 -1
  165. package/src/fixtures/ha_setup.ts +184 -0
  166. package/src/fixtures/index.ts +1 -0
  167. package/src/fixtures/l1_to_l2_messaging.ts +4 -2
  168. package/src/fixtures/setup.ts +1017 -0
  169. package/src/fixtures/setup_p2p_test.ts +18 -23
  170. package/src/fixtures/token_utils.ts +6 -5
  171. package/src/fixtures/utils.ts +27 -966
  172. package/src/fixtures/web3signer.ts +1 -1
  173. package/src/fixtures/with_telemetry_utils.ts +2 -2
  174. package/src/quality_of_service/{alert_checker.ts → grafana_client.ts} +1 -1
  175. package/src/quality_of_service/prometheus_client.ts +113 -0
  176. package/src/shared/cross_chain_test_harness.ts +19 -36
  177. package/src/shared/gas_portal_test_harness.ts +2 -2
  178. package/src/shared/index.ts +1 -1
  179. package/src/shared/submit-transactions.ts +9 -15
  180. package/src/shared/uniswap_l1_l2.ts +65 -86
  181. package/src/simulators/lending_simulator.ts +3 -3
  182. package/src/spartan/DEVELOP.md +7 -0
  183. package/src/spartan/setup_test_wallets.ts +81 -26
  184. package/src/spartan/tx_metrics.ts +376 -0
  185. package/src/spartan/utils/bot.ts +185 -0
  186. package/src/spartan/utils/chaos.ts +253 -0
  187. package/src/spartan/utils/clients.ts +100 -0
  188. package/src/spartan/utils/config.ts +26 -0
  189. package/src/spartan/utils/health.ts +255 -0
  190. package/src/spartan/utils/helm.ts +84 -0
  191. package/src/spartan/utils/index.ts +64 -0
  192. package/src/spartan/utils/k8s.ts +527 -0
  193. package/src/spartan/utils/nodes.ts +538 -0
  194. package/src/spartan/utils/scripts.ts +63 -0
  195. package/src/spartan/utils.ts +1 -982
  196. package/dest/fixtures/setup_l1_contracts.d.ts +0 -477
  197. package/dest/fixtures/setup_l1_contracts.d.ts.map +0 -1
  198. package/dest/fixtures/setup_l1_contracts.js +0 -17
  199. package/dest/fixtures/snapshot_manager.d.ts +0 -95
  200. package/dest/fixtures/snapshot_manager.d.ts.map +0 -1
  201. package/dest/fixtures/snapshot_manager.js +0 -505
  202. package/dest/quality_of_service/alert_checker.d.ts +0 -41
  203. package/dest/quality_of_service/alert_checker.d.ts.map +0 -1
  204. package/src/fixtures/setup_l1_contracts.ts +0 -26
  205. 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.5476d83",
3
+ "version": "0.0.1-commit.592b9384",
4
4
  "type": "module",
5
5
  "exports": "./dest/index.js",
6
6
  "inherits": [
@@ -8,8 +8,8 @@
8
8
  "./package.local.json"
9
9
  ],
10
10
  "scripts": {
11
- "build": "yarn clean && tsgo -b",
12
- "build:dev": "tsgo -b --watch",
11
+ "build": "yarn clean && ../scripts/tsc.sh",
12
+ "build:dev": "../scripts/tsc.sh --watch",
13
13
  "clean": "rm -rf ./dest .tsbuildinfo",
14
14
  "test:with-alerts": "./scripts/test-with-alerts.sh",
15
15
  "test:e2e": "LOG_LEVEL=${LOG_LEVEL:-verbose} NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=300000 --forceExit",
@@ -22,46 +22,48 @@
22
22
  "test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --no-cache --runInBand --config jest.integration.config.json",
23
23
  "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests src/fixtures",
24
24
  "test:compose": "./scripts/run_test.sh compose",
25
+ "test:ha": "./scripts/run_test.sh ha",
25
26
  "formatting": "run -T prettier --check ./src && run -T eslint ./src"
26
27
  },
27
28
  "dependencies": {
28
- "@aztec/accounts": "0.0.1-commit.5476d83",
29
- "@aztec/archiver": "0.0.1-commit.5476d83",
30
- "@aztec/aztec": "0.0.1-commit.5476d83",
31
- "@aztec/aztec-node": "0.0.1-commit.5476d83",
32
- "@aztec/aztec.js": "0.0.1-commit.5476d83",
33
- "@aztec/bb-prover": "0.0.1-commit.5476d83",
34
- "@aztec/bb.js": "0.0.1-commit.5476d83",
35
- "@aztec/blob-lib": "0.0.1-commit.5476d83",
36
- "@aztec/blob-sink": "0.0.1-commit.5476d83",
37
- "@aztec/bot": "0.0.1-commit.5476d83",
38
- "@aztec/cli": "0.0.1-commit.5476d83",
39
- "@aztec/constants": "0.0.1-commit.5476d83",
40
- "@aztec/entrypoints": "0.0.1-commit.5476d83",
41
- "@aztec/epoch-cache": "0.0.1-commit.5476d83",
42
- "@aztec/ethereum": "0.0.1-commit.5476d83",
43
- "@aztec/foundation": "0.0.1-commit.5476d83",
44
- "@aztec/kv-store": "0.0.1-commit.5476d83",
45
- "@aztec/l1-artifacts": "0.0.1-commit.5476d83",
46
- "@aztec/merkle-tree": "0.0.1-commit.5476d83",
47
- "@aztec/node-keystore": "0.0.1-commit.5476d83",
48
- "@aztec/noir-contracts.js": "0.0.1-commit.5476d83",
49
- "@aztec/noir-noirc_abi": "0.0.1-commit.5476d83",
50
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.5476d83",
51
- "@aztec/noir-test-contracts.js": "0.0.1-commit.5476d83",
52
- "@aztec/p2p": "0.0.1-commit.5476d83",
53
- "@aztec/protocol-contracts": "0.0.1-commit.5476d83",
54
- "@aztec/prover-client": "0.0.1-commit.5476d83",
55
- "@aztec/prover-node": "0.0.1-commit.5476d83",
56
- "@aztec/pxe": "0.0.1-commit.5476d83",
57
- "@aztec/sequencer-client": "0.0.1-commit.5476d83",
58
- "@aztec/simulator": "0.0.1-commit.5476d83",
59
- "@aztec/slasher": "0.0.1-commit.5476d83",
60
- "@aztec/stdlib": "0.0.1-commit.5476d83",
61
- "@aztec/telemetry-client": "0.0.1-commit.5476d83",
62
- "@aztec/test-wallet": "0.0.1-commit.5476d83",
63
- "@aztec/validator-client": "0.0.1-commit.5476d83",
64
- "@aztec/world-state": "0.0.1-commit.5476d83",
29
+ "@aztec/accounts": "0.0.1-commit.592b9384",
30
+ "@aztec/archiver": "0.0.1-commit.592b9384",
31
+ "@aztec/aztec": "0.0.1-commit.592b9384",
32
+ "@aztec/aztec-node": "0.0.1-commit.592b9384",
33
+ "@aztec/aztec.js": "0.0.1-commit.592b9384",
34
+ "@aztec/bb-prover": "0.0.1-commit.592b9384",
35
+ "@aztec/bb.js": "0.0.1-commit.592b9384",
36
+ "@aztec/blob-client": "0.0.1-commit.592b9384",
37
+ "@aztec/blob-lib": "0.0.1-commit.592b9384",
38
+ "@aztec/bot": "0.0.1-commit.592b9384",
39
+ "@aztec/cli": "0.0.1-commit.592b9384",
40
+ "@aztec/constants": "0.0.1-commit.592b9384",
41
+ "@aztec/entrypoints": "0.0.1-commit.592b9384",
42
+ "@aztec/epoch-cache": "0.0.1-commit.592b9384",
43
+ "@aztec/ethereum": "0.0.1-commit.592b9384",
44
+ "@aztec/foundation": "0.0.1-commit.592b9384",
45
+ "@aztec/kv-store": "0.0.1-commit.592b9384",
46
+ "@aztec/l1-artifacts": "0.0.1-commit.592b9384",
47
+ "@aztec/merkle-tree": "0.0.1-commit.592b9384",
48
+ "@aztec/node-keystore": "0.0.1-commit.592b9384",
49
+ "@aztec/noir-contracts.js": "0.0.1-commit.592b9384",
50
+ "@aztec/noir-noirc_abi": "0.0.1-commit.592b9384",
51
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.592b9384",
52
+ "@aztec/noir-test-contracts.js": "0.0.1-commit.592b9384",
53
+ "@aztec/p2p": "0.0.1-commit.592b9384",
54
+ "@aztec/protocol-contracts": "0.0.1-commit.592b9384",
55
+ "@aztec/prover-client": "0.0.1-commit.592b9384",
56
+ "@aztec/prover-node": "0.0.1-commit.592b9384",
57
+ "@aztec/pxe": "0.0.1-commit.592b9384",
58
+ "@aztec/sequencer-client": "0.0.1-commit.592b9384",
59
+ "@aztec/simulator": "0.0.1-commit.592b9384",
60
+ "@aztec/slasher": "0.0.1-commit.592b9384",
61
+ "@aztec/stdlib": "0.0.1-commit.592b9384",
62
+ "@aztec/telemetry-client": "0.0.1-commit.592b9384",
63
+ "@aztec/test-wallet": "0.0.1-commit.592b9384",
64
+ "@aztec/validator-client": "0.0.1-commit.592b9384",
65
+ "@aztec/validator-ha-signer": "0.0.1-commit.592b9384",
66
+ "@aztec/world-state": "0.0.1-commit.592b9384",
65
67
  "@iarna/toml": "^2.2.5",
66
68
  "@jest/globals": "^30.0.0",
67
69
  "@noble/curves": "=1.0.0",
@@ -89,6 +91,7 @@
89
91
  "lodash.every": "^4.6.0",
90
92
  "lodash.omit": "^4.5.0",
91
93
  "msgpackr": "^1.11.2",
94
+ "pg": "^8.17.1",
92
95
  "process": "^0.11.10",
93
96
  "snappy": "^7.2.2",
94
97
  "stream-browserify": "^3.0.0",
@@ -107,7 +110,8 @@
107
110
  "@types/jest": "^30.0.0",
108
111
  "@types/js-yaml": "^4.0.9",
109
112
  "@types/lodash.chunk": "^4.2.9",
110
- "@typescript/native-preview": "7.0.0-dev.20251126.1",
113
+ "@types/pg": "^8",
114
+ "@typescript/native-preview": "7.0.0-dev.20260113.1",
111
115
  "concurrently": "^7.6.0",
112
116
  "jest": "^30.0.0",
113
117
  "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 { ProvingStats, ProvingTimings, SimulationStats, SimulationTimings } from '@aztec/stdlib/tx';
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(stats.nodeRPCCalls ?? {}).reduce(
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 { type DeployL1ContractsArgs, RollupContract, createExtendedL1Client, deployL1Contract } from '@aztec/ethereum';
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 { type SetupOptions, setupSponsoredFPC } from '../../fixtures/utils.js';
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 { E2E_DATA_PATH: dataPath, BENCHMARK_CONFIG } = process.env;
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!: SubsystemsContext;
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 & DeployL1ContractsArgs> = {}) {
123
+ constructor(testName?: string, setupOptions: Partial<SetupOptions & DeployAztecL1ContractsArgs> = {}) {
127
124
  this.logger = createLogger(`bench:client_flows${testName ? `:${testName}` : ''}`);
128
- this.snapshotManager = createSnapshotManager(
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
- const context = await this.snapshotManager.setup();
141
- await context.aztecNode.setConfig({ feeRecipient: this.sequencerAddress, coinbase: this.coinbase });
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.aztecNodeConfig);
144
- 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();
145
145
 
146
146
  return this;
147
147
  }
148
148
 
149
149
  async teardown() {
150
150
  await this.chainMonitor.stop();
151
- await this.snapshotManager.teardown();
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 applyBaseSnapshots() {
194
- await this.applyInitialAccountsSnapshot();
195
- await this.applySetupFeeJuiceSnapshot();
192
+ public async applyBaseSetup() {
193
+ await this.applyInitialAccounts();
194
+ await this.applySetupFeeJuice();
196
195
  }
197
196
 
198
- async applyInitialAccountsSnapshot() {
199
- await this.snapshotManager.snapshot(
200
- 'initial_accounts',
201
- deployAccounts(2, this.logger),
202
- async (
203
- { deployedAccounts: [{ address: adminAddress }, { address: sequencerAddress }] },
204
- { wallet, aztecNode, cheatCodes },
205
- ) => {
206
- this.adminWallet = wallet;
207
- this.aztecNode = aztecNode;
208
- this.cheatCodes = cheatCodes;
209
-
210
- this.adminAddress = adminAddress;
211
- this.sequencerAddress = sequencerAddress;
212
-
213
- const canonicalFeeJuice = await getCanonicalFeeJuice();
214
- this.feeJuiceContract = FeeJuiceContract.at(canonicalFeeJuice.address, this.adminWallet);
215
- this.coinbase = EthAddress.random();
216
-
217
- const userPXEConfig = getPXEConfig();
218
- const userPXEConfigWithContracts = {
219
- ...userPXEConfig,
220
- proverEnabled: this.realProofs,
221
- } as PXEConfig;
222
-
223
- this.userWallet = await TestWallet.create(this.aztecNode, userPXEConfigWithContracts, {
224
- loggers: {
225
- prover: this.proxyLogger.createLogger('pxe:bb:wasm:bundle:proxied'),
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 applySetupFeeJuiceSnapshot() {
233
- await this.snapshotManager.snapshot(
234
- 'setup_fee_juice',
235
- async () => {},
236
- async (_data, context) => {
237
- this.context = context;
238
-
239
- this.feeJuiceContract = FeeJuiceContract.at(ProtocolContractAddress.FeeJuice, this.adminWallet);
240
-
241
- this.feeJuiceBridgeTestHarness = await FeeJuicePortalTestingHarnessFactory.create({
242
- aztecNode: context.aztecNode,
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 applyDeployBananaTokenSnapshot() {
253
- await this.snapshotManager.snapshot(
254
- 'deploy_banana_token',
255
- async () => {
256
- const { contract: bananaCoin, instance: bananaCoinInstance } = await BananaCoin.deploy(
257
- this.adminWallet,
258
- this.adminAddress,
259
- 'BC',
260
- 'BC',
261
- 18n,
262
- )
263
- .send({ from: this.adminAddress })
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 applyDeployCandyBarTokenSnapshot() {
277
- await this.snapshotManager.snapshot(
278
- 'deploy_candy_bar_token',
279
- async () => {
280
- const { contract: candyBarCoin, instance: candyBarCoinInstance } = await TokenContract.deploy(
281
- this.adminWallet,
282
- this.adminAddress,
283
- 'CBC',
284
- 'CBC',
285
- 18n,
286
- )
287
- .send({ from: this.adminAddress })
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 applyFPCSetupSnapshot() {
301
- await this.snapshotManager.snapshot(
302
- 'fpc_setup',
303
- async context => {
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
- const bananaCoin = this.bananaCoin;
308
- const { contract: bananaFPC, instance: bananaFPCInstance } = await FPCContract.deploy(
309
- this.adminWallet,
310
- bananaCoin.address,
311
- this.adminAddress,
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
- this.logger.info(`BananaPay deployed at ${bananaFPC.address}`);
286
+ this.logger.info(`BananaPay deployed at ${bananaFPC.address}`);
317
287
 
318
- await this.feeJuiceBridgeTestHarness.bridgeFromL1ToL2(bananaFPC.address, this.adminAddress);
288
+ await this.feeJuiceBridgeTestHarness.bridgeFromL1ToL2(bananaFPC.address, this.adminAddress);
319
289
 
320
- return { bananaFPCAddress: bananaFPC.address, bananaFPCInstance };
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 applyDeploySponsoredFPCSnapshot() {
331
- await this.snapshotManager.snapshot(
332
- 'deploy_sponsored_fpc',
333
- async () => {
334
- const sponsoredFPCInstance = await setupSponsoredFPC(this.adminWallet);
335
- this.logger.info(`SponsoredFPC at ${sponsoredFPCInstance.address}`);
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.aztecNodeConfig.l1RpcUrls, MNEMONIC);
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
- .send({
378
- from: AztecAddress.ZERO,
379
- fee: { paymentMethod: new FeeJuicePaymentMethodWithClaim(benchysAddress, claim) },
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 applyDeployAmmSnapshot() {
392
- await this.snapshotManager.snapshot(
393
- 'deploy_amm',
394
- async () => {
395
- const { contract: liquidityToken, instance: liquidityTokenInstance } = await TokenContract.deploy(
396
- this.adminWallet,
397
- this.adminAddress,
398
- 'LPT',
399
- 'LPT',
400
- 18n,
401
- )
402
- .send({ from: this.adminAddress })
403
- .wait();
404
- const { contract: amm, instance: ammInstance } = await AMMContract.deploy(
405
- this.adminWallet,
406
- this.bananaCoin.address,
407
- this.candyBarCoin.address,
408
- liquidityToken.address,
409
- )
410
- .send({ from: this.adminAddress })
411
- .wait();
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.getCurrentBaseFees()).mul(1.5);
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
  }