@aztec/end-to-end 0.0.1-commit.a072138 → 0.0.1-commit.a4600f49

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 (344) hide show
  1. package/README.md +217 -14
  2. package/dest/automine/automine_test_context.d.ts +85 -0
  3. package/dest/automine/automine_test_context.d.ts.map +1 -0
  4. package/dest/automine/automine_test_context.js +98 -0
  5. package/dest/automine/contracts/fixtures/storage_proof_fetcher.d.ts +2 -0
  6. package/dest/automine/contracts/fixtures/storage_proof_fetcher.d.ts.map +1 -0
  7. package/dest/automine/contracts/fixtures/storage_proof_fetcher.js +184 -0
  8. package/dest/automine/contracts/fixtures/storage_proof_fixture.d.ts +18 -0
  9. package/dest/automine/contracts/fixtures/storage_proof_fixture.d.ts.map +1 -0
  10. package/dest/automine/contracts/fixtures/storage_proof_fixture.js +120 -0
  11. package/dest/automine/delivery/onchain_delivery_harness.d.ts +17 -0
  12. package/dest/automine/delivery/onchain_delivery_harness.d.ts.map +1 -0
  13. package/dest/automine/delivery/onchain_delivery_harness.js +123 -0
  14. package/dest/automine/token/blacklist_token_contract_test.d.ts +49 -0
  15. package/dest/automine/token/blacklist_token_contract_test.d.ts.map +1 -0
  16. package/dest/{e2e_blacklist_token_contract → automine/token}/blacklist_token_contract_test.js +45 -48
  17. package/dest/automine/token/token_contract_test.d.ts +40 -0
  18. package/dest/automine/token/token_contract_test.d.ts.map +1 -0
  19. package/dest/{e2e_token_contract → automine/token}/token_contract_test.js +43 -48
  20. package/dest/automine/token/token_test_helpers.d.ts +73 -0
  21. package/dest/automine/token/token_test_helpers.d.ts.map +1 -0
  22. package/dest/automine/token/token_test_helpers.js +97 -0
  23. package/dest/bench/client_flows/benchmark.d.ts +15 -1
  24. package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
  25. package/dest/bench/client_flows/benchmark.js +19 -0
  26. package/dest/bench/client_flows/client_flows_benchmark.d.ts +6 -6
  27. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  28. package/dest/bench/client_flows/client_flows_benchmark.js +63 -54
  29. package/dest/bench/client_flows/config.d.ts +2 -2
  30. package/dest/bench/client_flows/config.d.ts.map +1 -1
  31. package/dest/bench/client_flows/config.js +18 -0
  32. package/dest/bench/client_flows/data_extractor.js +1 -0
  33. package/dest/bench/utils.d.ts +3 -3
  34. package/dest/bench/utils.d.ts.map +1 -1
  35. package/dest/bench/utils.js +102 -8
  36. package/dest/composed/ha/ha_full_setup.d.ts +77 -0
  37. package/dest/composed/ha/ha_full_setup.d.ts.map +1 -0
  38. package/dest/composed/ha/ha_full_setup.js +383 -0
  39. package/dest/composed/web3signer/multi_validator_keystore_utils.d.ts +12 -0
  40. package/dest/composed/web3signer/multi_validator_keystore_utils.d.ts.map +1 -0
  41. package/dest/fixtures/authwit_proxy.d.ts +15 -0
  42. package/dest/fixtures/authwit_proxy.d.ts.map +1 -0
  43. package/dest/fixtures/authwit_proxy.js +34 -0
  44. package/dest/fixtures/e2e_prover_test.d.ts +18 -14
  45. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  46. package/dest/fixtures/e2e_prover_test.js +82 -74
  47. package/dest/fixtures/elu_monitor.d.ts +21 -0
  48. package/dest/fixtures/elu_monitor.d.ts.map +1 -0
  49. package/dest/fixtures/elu_monitor.js +102 -0
  50. package/dest/fixtures/fixtures.d.ts +82 -1
  51. package/dest/fixtures/fixtures.d.ts.map +1 -1
  52. package/dest/fixtures/fixtures.js +84 -0
  53. package/dest/fixtures/get_bb_config.d.ts +1 -1
  54. package/dest/fixtures/get_bb_config.d.ts.map +1 -1
  55. package/dest/fixtures/get_bb_config.js +5 -5
  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 +119 -0
  59. package/dest/fixtures/index.d.ts +3 -1
  60. package/dest/fixtures/index.d.ts.map +1 -1
  61. package/dest/fixtures/index.js +2 -0
  62. package/dest/fixtures/schnorr_hardcoded_account_contract.d.ts +25 -0
  63. package/dest/fixtures/schnorr_hardcoded_account_contract.d.ts.map +1 -0
  64. package/dest/fixtures/schnorr_hardcoded_account_contract.js +37 -0
  65. package/dest/fixtures/setup.d.ts +111 -60
  66. package/dest/fixtures/setup.d.ts.map +1 -1
  67. package/dest/fixtures/setup.js +320 -327
  68. package/dest/fixtures/setup_p2p_test.d.ts +22 -10
  69. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  70. package/dest/fixtures/setup_p2p_test.js +26 -20
  71. package/dest/fixtures/timing.d.ts +42 -0
  72. package/dest/fixtures/timing.d.ts.map +1 -0
  73. package/dest/fixtures/timing.js +72 -0
  74. package/dest/fixtures/token_utils.d.ts +22 -4
  75. package/dest/fixtures/token_utils.d.ts.map +1 -1
  76. package/dest/fixtures/token_utils.js +26 -8
  77. package/dest/fixtures/utils.d.ts +2 -2
  78. package/dest/fixtures/utils.d.ts.map +1 -1
  79. package/dest/fixtures/utils.js +1 -1
  80. package/dest/fixtures/wait_helpers.d.ts +135 -0
  81. package/dest/fixtures/wait_helpers.d.ts.map +1 -0
  82. package/dest/fixtures/wait_helpers.js +154 -0
  83. package/dest/forward-compatibility/wallet_rpc_client.d.ts +7 -0
  84. package/dest/forward-compatibility/wallet_rpc_client.d.ts.map +1 -0
  85. package/dest/forward-compatibility/wallet_rpc_client.js +15 -0
  86. package/dest/forward-compatibility/wallet_service.d.ts +3 -0
  87. package/dest/forward-compatibility/wallet_service.d.ts.map +1 -0
  88. package/dest/forward-compatibility/wallet_service.js +109 -0
  89. package/dest/install_legacy_contracts.d.cts +10 -0
  90. package/dest/install_legacy_contracts.d.cts.map +1 -0
  91. package/dest/legacy-jest-resolver.d.cts +3 -0
  92. package/dest/legacy-jest-resolver.d.cts.map +1 -0
  93. package/dest/multi-node/block-production/setup.d.ts +97 -0
  94. package/dest/multi-node/block-production/setup.d.ts.map +1 -0
  95. package/dest/multi-node/block-production/setup.js +158 -0
  96. package/dest/multi-node/governance/setup.d.ts +67 -0
  97. package/dest/multi-node/governance/setup.d.ts.map +1 -0
  98. package/dest/multi-node/governance/setup.js +126 -0
  99. package/dest/multi-node/multi_node_test_context.d.ts +212 -0
  100. package/dest/multi-node/multi_node_test_context.d.ts.map +1 -0
  101. package/dest/multi-node/multi_node_test_context.js +347 -0
  102. package/dest/multi-node/slashing/inactivity_setup.d.ts +27 -0
  103. package/dest/multi-node/slashing/inactivity_setup.d.ts.map +1 -0
  104. package/dest/multi-node/slashing/inactivity_setup.js +111 -0
  105. package/dest/multi-node/slashing/setup.d.ts +167 -0
  106. package/dest/multi-node/slashing/setup.d.ts.map +1 -0
  107. package/dest/multi-node/slashing/setup.js +275 -0
  108. package/dest/{e2e_p2p → p2p}/p2p_network.d.ts +22 -12
  109. package/dest/p2p/p2p_network.d.ts.map +1 -0
  110. package/dest/{e2e_p2p → p2p}/p2p_network.js +97 -37
  111. package/dest/p2p/reqresp/utils.d.ts +19 -0
  112. package/dest/p2p/reqresp/utils.d.ts.map +1 -0
  113. package/dest/{e2e_p2p → p2p}/reqresp/utils.js +67 -27
  114. package/dest/p2p/shared.d.ts +72 -0
  115. package/dest/p2p/shared.d.ts.map +1 -0
  116. package/dest/p2p/shared.js +212 -0
  117. package/dest/shared/cross_chain_test_harness.d.ts +6 -4
  118. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  119. package/dest/shared/cross_chain_test_harness.js +36 -31
  120. package/dest/shared/gas_portal_test_harness.d.ts +8 -5
  121. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  122. package/dest/shared/gas_portal_test_harness.js +26 -14
  123. package/dest/shared/index.d.ts +2 -1
  124. package/dest/shared/index.d.ts.map +1 -1
  125. package/dest/shared/index.js +1 -0
  126. package/dest/shared/jest_setup.js +41 -1
  127. package/dest/shared/mock_state_view.d.ts +86 -0
  128. package/dest/shared/mock_state_view.d.ts.map +1 -0
  129. package/dest/shared/mock_state_view.js +186 -0
  130. package/dest/shared/submit-transactions.d.ts +2 -2
  131. package/dest/shared/submit-transactions.d.ts.map +1 -1
  132. package/dest/shared/submit-transactions.js +12 -5
  133. package/dest/shared/timing_env.d.js +5 -0
  134. package/dest/shared/timing_env.js +365 -0
  135. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  136. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  137. package/dest/shared/uniswap_l1_l2.js +56 -44
  138. package/dest/shared/wait_for_l1_to_l2_message.d.ts +13 -0
  139. package/dest/shared/wait_for_l1_to_l2_message.d.ts.map +1 -0
  140. package/dest/shared/wait_for_l1_to_l2_message.js +10 -0
  141. package/dest/simulators/lending_simulator.d.ts +10 -3
  142. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  143. package/dest/simulators/lending_simulator.js +27 -15
  144. package/dest/simulators/token_simulator.d.ts +1 -1
  145. package/dest/simulators/token_simulator.d.ts.map +1 -1
  146. package/dest/simulators/token_simulator.js +3 -24
  147. package/dest/single-node/cross-chain/cross_chain_messaging_test.d.ts +75 -0
  148. package/dest/single-node/cross-chain/cross_chain_messaging_test.d.ts.map +1 -0
  149. package/dest/single-node/cross-chain/cross_chain_messaging_test.js +209 -0
  150. package/dest/single-node/cross-chain/message_test_helpers.d.ts +38 -0
  151. package/dest/single-node/cross-chain/message_test_helpers.d.ts.map +1 -0
  152. package/dest/single-node/cross-chain/message_test_helpers.js +70 -0
  153. package/dest/{e2e_fees → single-node/fees}/bridging_race.notest.d.ts +1 -1
  154. package/dest/single-node/fees/bridging_race.notest.d.ts.map +1 -0
  155. package/dest/{e2e_fees → single-node/fees}/bridging_race.notest.js +17 -4
  156. package/dest/single-node/fees/fees_test.d.ts +93 -0
  157. package/dest/single-node/fees/fees_test.d.ts.map +1 -0
  158. package/dest/{e2e_fees → single-node/fees}/fees_test.js +94 -68
  159. package/dest/single-node/l1-reorgs/setup.d.ts +42 -0
  160. package/dest/single-node/l1-reorgs/setup.d.ts.map +1 -0
  161. package/dest/single-node/l1-reorgs/setup.js +57 -0
  162. package/dest/single-node/partial-proofs/setup.d.ts +5 -0
  163. package/dest/single-node/partial-proofs/setup.d.ts.map +1 -0
  164. package/dest/single-node/partial-proofs/setup.js +5 -0
  165. package/dest/single-node/proving/setup.d.ts +5 -0
  166. package/dest/single-node/proving/setup.d.ts.map +1 -0
  167. package/dest/single-node/proving/setup.js +5 -0
  168. package/dest/single-node/recovery/setup.d.ts +5 -0
  169. package/dest/single-node/recovery/setup.d.ts.map +1 -0
  170. package/dest/single-node/recovery/setup.js +5 -0
  171. package/dest/single-node/setup.d.ts +49 -0
  172. package/dest/single-node/setup.d.ts.map +1 -0
  173. package/dest/single-node/setup.js +56 -0
  174. package/dest/single-node/single_node_test_context.d.ts +360 -0
  175. package/dest/single-node/single_node_test_context.d.ts.map +1 -0
  176. package/dest/single-node/single_node_test_context.js +833 -0
  177. package/dest/spartan/setup_test_wallets.d.ts +12 -3
  178. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  179. package/dest/spartan/setup_test_wallets.js +118 -41
  180. package/dest/spartan/tx_metrics.d.ts +27 -4
  181. package/dest/spartan/tx_metrics.d.ts.map +1 -1
  182. package/dest/spartan/tx_metrics.js +106 -21
  183. package/dest/spartan/utils/bot.d.ts +3 -2
  184. package/dest/spartan/utils/bot.d.ts.map +1 -1
  185. package/dest/spartan/utils/bot.js +2 -1
  186. package/dest/spartan/utils/config.d.ts +11 -28
  187. package/dest/spartan/utils/config.d.ts.map +1 -1
  188. package/dest/spartan/utils/config.js +4 -1
  189. package/dest/spartan/utils/index.d.ts +5 -3
  190. package/dest/spartan/utils/index.d.ts.map +1 -1
  191. package/dest/spartan/utils/index.js +5 -1
  192. package/dest/spartan/utils/k8s.d.ts +3 -1
  193. package/dest/spartan/utils/k8s.d.ts.map +1 -1
  194. package/dest/spartan/utils/k8s.js +6 -0
  195. package/dest/spartan/utils/nodes.d.ts +4 -5
  196. package/dest/spartan/utils/nodes.d.ts.map +1 -1
  197. package/dest/spartan/utils/nodes.js +11 -11
  198. package/dest/spartan/utils/pod_logs.d.ts +25 -0
  199. package/dest/spartan/utils/pod_logs.d.ts.map +1 -0
  200. package/dest/spartan/utils/pod_logs.js +74 -0
  201. package/dest/spartan/utils/scripts.d.ts +18 -4
  202. package/dest/spartan/utils/scripts.d.ts.map +1 -1
  203. package/dest/spartan/utils/scripts.js +19 -4
  204. package/dest/test-wallet/test_wallet.d.ts +105 -0
  205. package/dest/test-wallet/test_wallet.d.ts.map +1 -0
  206. package/dest/test-wallet/test_wallet.js +323 -0
  207. package/dest/test-wallet/utils.d.ts +76 -0
  208. package/dest/test-wallet/utils.d.ts.map +1 -0
  209. package/dest/test-wallet/utils.js +126 -0
  210. package/dest/test-wallet/wallet_worker_script.d.ts +2 -0
  211. package/dest/test-wallet/wallet_worker_script.d.ts.map +1 -0
  212. package/dest/test-wallet/wallet_worker_script.js +56 -0
  213. package/dest/test-wallet/worker_wallet.d.ts +53 -0
  214. package/dest/test-wallet/worker_wallet.d.ts.map +1 -0
  215. package/dest/test-wallet/worker_wallet.js +155 -0
  216. package/dest/test-wallet/worker_wallet_schema.d.ts +4 -0
  217. package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -0
  218. package/dest/test-wallet/worker_wallet_schema.js +22 -0
  219. package/package.json +53 -46
  220. package/src/automine/README.md +60 -0
  221. package/src/automine/automine_test_context.ts +153 -0
  222. package/src/automine/contracts/fixtures/storage_proof.json +915 -0
  223. package/src/automine/contracts/fixtures/storage_proof_fetcher.ts +190 -0
  224. package/src/automine/contracts/fixtures/storage_proof_fixture.ts +173 -0
  225. package/src/automine/delivery/onchain_delivery_harness.ts +177 -0
  226. package/src/{e2e_blacklist_token_contract → automine/token}/blacklist_token_contract_test.ts +51 -61
  227. package/src/{e2e_token_contract → automine/token}/token_contract_test.ts +50 -56
  228. package/src/automine/token/token_test_helpers.ts +138 -0
  229. package/src/bench/client_flows/benchmark.ts +21 -0
  230. package/src/bench/client_flows/client_flows_benchmark.ts +104 -70
  231. package/src/bench/client_flows/config.ts +9 -1
  232. package/src/bench/client_flows/data_extractor.ts +1 -0
  233. package/src/bench/utils.ts +117 -8
  234. package/src/composed/ha/ha_full_setup.ts +466 -0
  235. package/src/fixtures/authwit_proxy.ts +54 -0
  236. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  237. package/src/fixtures/e2e_prover_test.ts +94 -95
  238. package/src/fixtures/elu_monitor.ts +126 -0
  239. package/src/fixtures/fixtures.ts +108 -0
  240. package/src/fixtures/get_bb_config.ts +7 -6
  241. package/src/fixtures/ha_setup.ts +192 -0
  242. package/src/fixtures/index.ts +2 -0
  243. package/src/fixtures/schnorr_hardcoded_account_contract.ts +49 -0
  244. package/src/fixtures/setup.ts +412 -442
  245. package/src/fixtures/setup_p2p_test.ts +39 -34
  246. package/src/fixtures/timing.ts +97 -0
  247. package/src/fixtures/token_utils.ts +42 -7
  248. package/src/fixtures/utils.ts +2 -3
  249. package/src/fixtures/wait_helpers.ts +333 -0
  250. package/src/forward-compatibility/wallet_rpc_client.ts +14 -0
  251. package/src/forward-compatibility/wallet_service.ts +106 -0
  252. package/src/guides/up_quick_start.sh +7 -4
  253. package/src/infra/README.md +12 -0
  254. package/src/install_legacy_contracts.cjs +75 -0
  255. package/src/legacy-jest-resolver.cjs +112 -0
  256. package/src/multi-node/README.md +95 -0
  257. package/src/multi-node/block-production/setup.ts +272 -0
  258. package/src/multi-node/governance/setup.ts +172 -0
  259. package/src/multi-node/multi_node_test_context.ts +447 -0
  260. package/src/multi-node/slashing/inactivity_setup.ts +139 -0
  261. package/src/multi-node/slashing/setup.ts +433 -0
  262. package/src/p2p/README.md +78 -0
  263. package/src/{e2e_p2p → p2p}/p2p_network.ts +121 -52
  264. package/src/{e2e_p2p → p2p}/reqresp/utils.ts +86 -30
  265. package/src/p2p/shared.ts +329 -0
  266. package/src/shared/cross_chain_test_harness.ts +42 -17
  267. package/src/shared/gas_portal_test_harness.ts +33 -15
  268. package/src/shared/index.ts +1 -0
  269. package/src/shared/jest_setup.ts +51 -1
  270. package/src/shared/mock_state_view.ts +188 -0
  271. package/src/shared/submit-transactions.ts +15 -6
  272. package/src/shared/timing_env.d.mts +39 -0
  273. package/src/shared/timing_env.mjs +363 -0
  274. package/src/shared/uniswap_l1_l2.ts +98 -56
  275. package/src/shared/wait_for_l1_to_l2_message.ts +23 -0
  276. package/src/simulators/lending_simulator.ts +33 -15
  277. package/src/simulators/token_simulator.ts +6 -30
  278. package/src/single-node/README.md +60 -0
  279. package/src/single-node/cross-chain/cross_chain_messaging_test.ts +302 -0
  280. package/src/single-node/cross-chain/message_test_helpers.ts +125 -0
  281. package/src/{e2e_fees → single-node/fees}/bridging_race.notest.ts +19 -5
  282. package/src/{e2e_fees → single-node/fees}/fees_test.ts +118 -89
  283. package/src/single-node/l1-reorgs/setup.ts +93 -0
  284. package/src/single-node/partial-proofs/setup.ts +8 -0
  285. package/src/single-node/proving/setup.ts +15 -0
  286. package/src/single-node/recovery/setup.ts +8 -0
  287. package/src/single-node/setup.ts +63 -0
  288. package/src/single-node/single_node_test_context.ts +1041 -0
  289. package/src/spartan/setup_test_wallets.ts +156 -36
  290. package/src/spartan/tx_metrics.ts +108 -24
  291. package/src/spartan/utils/bot.ts +4 -1
  292. package/src/spartan/utils/config.ts +3 -0
  293. package/src/spartan/utils/index.ts +8 -1
  294. package/src/spartan/utils/k8s.ts +8 -0
  295. package/src/spartan/utils/nodes.ts +17 -12
  296. package/src/spartan/utils/pod_logs.ts +99 -0
  297. package/src/spartan/utils/scripts.ts +43 -7
  298. package/src/test-wallet/test_wallet.ts +429 -0
  299. package/src/test-wallet/utils.ts +205 -0
  300. package/src/test-wallet/wallet_worker_script.ts +66 -0
  301. package/src/test-wallet/worker_wallet.ts +214 -0
  302. package/src/test-wallet/worker_wallet_schema.ts +14 -0
  303. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +0 -53
  304. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +0 -1
  305. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +0 -47
  306. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +0 -1
  307. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +0 -128
  308. package/dest/e2e_deploy_contract/deploy_test.d.ts +0 -37
  309. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +0 -1
  310. package/dest/e2e_deploy_contract/deploy_test.js +0 -50
  311. package/dest/e2e_epochs/epochs_test.d.ts +0 -100
  312. package/dest/e2e_epochs/epochs_test.d.ts.map +0 -1
  313. package/dest/e2e_epochs/epochs_test.js +0 -361
  314. package/dest/e2e_fees/bridging_race.notest.d.ts.map +0 -1
  315. package/dest/e2e_fees/fees_test.d.ts +0 -88
  316. package/dest/e2e_fees/fees_test.d.ts.map +0 -1
  317. package/dest/e2e_l1_publisher/write_json.d.ts +0 -11
  318. package/dest/e2e_l1_publisher/write_json.d.ts.map +0 -1
  319. package/dest/e2e_l1_publisher/write_json.js +0 -56
  320. package/dest/e2e_multi_validator/utils.d.ts +0 -12
  321. package/dest/e2e_multi_validator/utils.d.ts.map +0 -1
  322. package/dest/e2e_nested_contract/nested_contract_test.d.ts +0 -26
  323. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +0 -1
  324. package/dest/e2e_nested_contract/nested_contract_test.js +0 -56
  325. package/dest/e2e_p2p/inactivity_slash_test.d.ts +0 -31
  326. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +0 -1
  327. package/dest/e2e_p2p/inactivity_slash_test.js +0 -136
  328. package/dest/e2e_p2p/p2p_network.d.ts.map +0 -1
  329. package/dest/e2e_p2p/reqresp/utils.d.ts +0 -22
  330. package/dest/e2e_p2p/reqresp/utils.d.ts.map +0 -1
  331. package/dest/e2e_p2p/shared.d.ts +0 -46
  332. package/dest/e2e_p2p/shared.d.ts.map +0 -1
  333. package/dest/e2e_p2p/shared.js +0 -177
  334. package/dest/e2e_token_contract/token_contract_test.d.ts +0 -42
  335. package/dest/e2e_token_contract/token_contract_test.d.ts.map +0 -1
  336. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +0 -194
  337. package/src/e2e_deploy_contract/deploy_test.ts +0 -85
  338. package/src/e2e_epochs/epochs_test.ts +0 -477
  339. package/src/e2e_l1_publisher/write_json.ts +0 -77
  340. package/src/e2e_nested_contract/nested_contract_test.ts +0 -73
  341. package/src/e2e_p2p/inactivity_slash_test.ts +0 -179
  342. package/src/e2e_p2p/shared.ts +0 -288
  343. /package/dest/{e2e_multi_validator/utils.js → composed/web3signer/multi_validator_keystore_utils.js} +0 -0
  344. /package/src/{e2e_multi_validator/utils.ts → composed/web3signer/multi_validator_keystore_utils.ts} +0 -0
@@ -3,7 +3,8 @@ import { type FeePaymentMethod } from '@aztec/aztec.js/fee';
3
3
  import { type AztecNode } from '@aztec/aztec.js/node';
4
4
  import type { Logger } from '@aztec/foundation/log';
5
5
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
6
- import { TestWallet } from '@aztec/test-wallet/server';
6
+ import { TestWallet } from '../test-wallet/test_wallet.js';
7
+ import { WorkerWallet } from '../test-wallet/worker_wallet.js';
7
8
  export interface TestAccounts {
8
9
  aztecNode: AztecNode;
9
10
  wallet: TestWallet;
@@ -17,7 +18,9 @@ export interface TestAccounts {
17
18
  export type TestAccountsWithoutTokens = Omit<TestAccounts, 'tokenAddress' | 'tokenContract' | 'tokenName' | 'tokenAdminAddress'>;
18
19
  export declare function setupTestAccountsWithTokens(nodeUrl: string, mintAmount: bigint, logger: Logger): Promise<TestAccounts>;
19
20
  export declare function deploySponsoredTestAccountsWithTokens(wallet: TestWallet, aztecNode: AztecNode, mintAmount: bigint, logger: Logger, numberOfFundedWallets?: number): Promise<TestAccounts>;
20
- export declare function deploySponsoredTestAccounts(wallet: TestWallet, aztecNode: AztecNode, logger: Logger, numberOfFundedWallets?: number): Promise<TestAccountsWithoutTokens>;
21
+ export declare function deploySponsoredTestAccounts(wallet: TestWallet, aztecNode: AztecNode, logger: Logger, numberOfFundedWallets?: number, opts?: {
22
+ estimateGas?: boolean;
23
+ }): Promise<TestAccountsWithoutTokens>;
21
24
  export declare function deployTestAccountsWithTokens(nodeUrl: string, l1RpcUrls: string[], mnemonicOrPrivateKey: string, mintAmount: bigint, logger: Logger, numberOfFundedWallets?: number): Promise<TestAccounts>;
22
25
  export declare function performTransfers({ wallet, testAccounts, rounds, transferAmount, logger, feePaymentMethod }: {
23
26
  wallet: TestWallet;
@@ -33,4 +36,10 @@ export type WalletWrapper = {
33
36
  cleanup: () => Promise<void>;
34
37
  };
35
38
  export declare function createWalletAndAztecNodeClient(nodeUrl: string, proverEnabled: boolean, logger: Logger): Promise<WalletWrapper>;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfdGVzdF93YWxsZXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BhcnRhbi9zZXR1cF90ZXN0X3dhbGxldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXpELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE2QixNQUFNLHFCQUFxQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBb0MsTUFBTSxzQkFBc0IsQ0FBQztBQUl4RixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFL0QsT0FBTyxFQUFFLFVBQVUsRUFBaUUsTUFBTSwyQkFBMkIsQ0FBQztBQU10SCxNQUFNLFdBQVcsWUFBWTtJQUMzQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3pCLGFBQWEsRUFBRSxhQUFhLENBQUM7SUFDN0IsaUJBQWlCLEVBQUUsWUFBWSxDQUFDO0lBQ2hDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO0lBQy9CLFlBQVksRUFBRSxZQUFZLENBQUM7Q0FDNUI7QUFFRCxNQUFNLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxDQUMxQyxZQUFZLEVBQ1osY0FBYyxHQUFHLGVBQWUsR0FBRyxXQUFXLEdBQUcsbUJBQW1CLENBQ3JFLENBQUM7QUFNRix3QkFBc0IsMkJBQTJCLENBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQ2YsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sR0FDYixPQUFPLENBQUMsWUFBWSxDQUFDLENBeUJ2QjtBQUVELHdCQUFzQixxQ0FBcUMsQ0FDekQsTUFBTSxFQUFFLFVBQVUsRUFDbEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxxQkFBcUIsU0FBSSxHQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLENBdUN2QjtBQW1ERCx3QkFBc0IsMkJBQTJCLENBQy9DLE1BQU0sRUFBRSxVQUFVLEVBQ2xCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sRUFBRSxNQUFNLEVBQ2QscUJBQXFCLFNBQUksR0FDeEIsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBa0JwQztBQUVELHdCQUFzQiw0QkFBNEIsQ0FDaEQsT0FBTyxFQUFFLE1BQU0sRUFDZixTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQ25CLG9CQUFvQixFQUFFLE1BQU0sRUFDNUIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxxQkFBcUIsU0FBSSxHQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLENBK0N2QjtBQWlGRCx3QkFBc0IsZ0JBQWdCLENBQUMsRUFDckMsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sY0FBYyxFQUNkLE1BQU0sRUFDTixnQkFBZ0IsRUFDakIsRUFBRTtJQUNELE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsWUFBWSxFQUFFLFlBQVksQ0FBQztJQUMzQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsY0FBYyxFQUFFLE1BQU0sQ0FBQztJQUN2QixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsZ0JBQWdCLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztDQUNyQyxpQkFxQkE7QUFFRCxNQUFNLE1BQU0sYUFBYSxHQUFHO0lBQzFCLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsU0FBUyxFQUFFLFNBQVMsQ0FBQztJQUNyQixPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDOUIsQ0FBQztBQUVGLHdCQUFzQiw4QkFBOEIsQ0FDbEQsT0FBTyxFQUFFLE1BQU0sRUFDZixhQUFhLEVBQUUsT0FBTyxFQUN0QixNQUFNLEVBQUUsTUFBTSxHQUNiLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FxQnhCIn0=
39
+ export type WorkerWalletWrapper = {
40
+ wallet: WorkerWallet;
41
+ aztecNode: AztecNode;
42
+ cleanup: () => Promise<void>;
43
+ };
44
+ export declare function createWorkerWalletClient(nodeUrl: string, proverEnabled: boolean, logger: Logger): Promise<WorkerWalletWrapper>;
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfdGVzdF93YWxsZXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BhcnRhbi9zZXR1cF90ZXN0X3dhbGxldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXpELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE2QixNQUFNLHFCQUFxQixDQUFDO0FBR3ZGLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBb0MsTUFBTSxzQkFBc0IsQ0FBQztBQUl4RixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFVL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUvRCxNQUFNLFdBQVcsWUFBWTtJQUMzQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3pCLGFBQWEsRUFBRSxhQUFhLENBQUM7SUFDN0IsaUJBQWlCLEVBQUUsWUFBWSxDQUFDO0lBQ2hDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO0lBQy9CLFlBQVksRUFBRSxZQUFZLENBQUM7Q0FDNUI7QUFFRCxNQUFNLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxDQUMxQyxZQUFZLEVBQ1osY0FBYyxHQUFHLGVBQWUsR0FBRyxXQUFXLEdBQUcsbUJBQW1CLENBQ3JFLENBQUM7QUFNRix3QkFBc0IsMkJBQTJCLENBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQ2YsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sR0FDYixPQUFPLENBQUMsWUFBWSxDQUFDLENBMkJ2QjtBQUVELHdCQUFzQixxQ0FBcUMsQ0FDekQsTUFBTSxFQUFFLFVBQVUsRUFDbEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxxQkFBcUIsU0FBSSxHQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLENBK0N2QjtBQThGRCx3QkFBc0IsMkJBQTJCLENBQy9DLE1BQU0sRUFBRSxVQUFVLEVBQ2xCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sRUFBRSxNQUFNLEVBQ2QscUJBQXFCLFNBQUksRUFDekIsSUFBSSxDQUFDLEVBQUU7SUFBRSxXQUFXLENBQUMsRUFBRSxPQUFPLENBQUE7Q0FBRSxHQUMvQixPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FpQ3BDO0FBRUQsd0JBQXNCLDRCQUE0QixDQUNoRCxPQUFPLEVBQUUsTUFBTSxFQUNmLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixVQUFVLEVBQUUsTUFBTSxFQUNsQixNQUFNLEVBQUUsTUFBTSxFQUNkLHFCQUFxQixTQUFJLEdBQ3hCLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FpRHZCO0FBK0VELHdCQUFzQixnQkFBZ0IsQ0FBQyxFQUNyQyxNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixjQUFjLEVBQ2QsTUFBTSxFQUNOLGdCQUFnQixFQUNqQixFQUFFO0lBQ0QsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUNuQixZQUFZLEVBQUUsWUFBWSxDQUFDO0lBQzNCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixnQkFBZ0IsQ0FBQyxFQUFFLGdCQUFnQixDQUFDO0NBQ3JDLGlCQXVCQTtBQUVELE1BQU0sTUFBTSxhQUFhLEdBQUc7SUFDMUIsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUNuQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUM5QixDQUFDO0FBRUYsd0JBQXNCLDhCQUE4QixDQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxPQUFPLEVBQ3RCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQXVCeEI7QUFFRCxNQUFNLE1BQU0sbUJBQW1CLEdBQUc7SUFDaEMsTUFBTSxFQUFFLFlBQVksQ0FBQztJQUNyQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUM5QixDQUFDO0FBRUYsd0JBQXNCLHdCQUF3QixDQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxPQUFPLEVBQ3RCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBMkI5QiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"setup_test_wallets.d.ts","sourceRoot":"","sources":["../../src/spartan/setup_test_wallets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIzD,OAAO,EAAE,KAAK,gBAAgB,EAA6B,MAAM,qBAAqB,CAAC;AAEvF,OAAO,EAAE,KAAK,SAAS,EAAoC,MAAM,sBAAsB,CAAC;AAIxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAiE,MAAM,2BAA2B,CAAC;AAMtH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,YAAY,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,YAAY,EACZ,cAAc,GAAG,eAAe,GAAG,WAAW,GAAG,mBAAmB,CACrE,CAAC;AAMF,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAyBvB;AAED,wBAAsB,qCAAqC,CACzD,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CAuCvB;AAmDD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,yBAAyB,CAAC,CAkBpC;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,EACnB,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CA+CvB;AAiFD,wBAAsB,gBAAgB,CAAC,EACrC,MAAM,EACN,YAAY,EACZ,MAAM,EACN,cAAc,EACd,MAAM,EACN,gBAAgB,EACjB,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,iBAqBA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAqBxB"}
1
+ {"version":3,"file":"setup_test_wallets.d.ts","sourceRoot":"","sources":["../../src/spartan/setup_test_wallets.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,26 @@
1
1
  import { generateSchnorrAccounts } from '@aztec/accounts/testing';
2
- import { AztecAddress } from '@aztec/aztec.js/addresses';
3
- import { NO_WAIT } from '@aztec/aztec.js/contracts';
2
+ import { NO_FROM } from '@aztec/aztec.js/account';
3
+ import { DefaultWaitOpts, NO_WAIT } from '@aztec/aztec.js/contracts';
4
4
  import { L1FeeJuicePortalManager } from '@aztec/aztec.js/ethereum';
5
5
  import { FeeJuicePaymentMethodWithClaim } from '@aztec/aztec.js/fee';
6
6
  import { SponsoredFeePaymentMethod } from '@aztec/aztec.js/fee';
7
7
  import { Fr } from '@aztec/aztec.js/fields';
8
+ import { waitForL1ToL2MessageReady } from '@aztec/aztec.js/messaging';
8
9
  import { createAztecNodeClient, waitForTx } from '@aztec/aztec.js/node';
9
10
  import { createEthereumChain } from '@aztec/ethereum/chain';
10
11
  import { createExtendedL1Client } from '@aztec/ethereum/client';
11
- import { retryUntil } from '@aztec/foundation/retry';
12
+ import { makeBackoff, retry, retryUntil } from '@aztec/foundation/retry';
12
13
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
13
- import { TestWallet, proveInteraction, registerInitialLocalNetworkAccountsInWallet } from '@aztec/test-wallet/server';
14
+ import { Gas } from '@aztec/stdlib/gas';
15
+ import { TxStatus } from '@aztec/stdlib/tx';
16
+ import { getGasLimits } from '@aztec/wallet-sdk/base-wallet';
17
+ import { registerInitialLocalNetworkAccountsInWallet } from '@aztec/wallets/testing';
14
18
  import { getACVMConfig } from '../fixtures/get_acvm_config.js';
15
19
  import { getBBConfig } from '../fixtures/get_bb_config.js';
16
20
  import { getSponsoredFPCAddress, registerSponsoredFPC } from '../fixtures/utils.js';
21
+ import { TestWallet } from '../test-wallet/test_wallet.js';
22
+ import { proveInteraction } from '../test-wallet/utils.js';
23
+ import { WorkerWallet } from '../test-wallet/worker_wallet.js';
17
24
  const TOKEN_NAME = 'USDC';
18
25
  const TOKEN_SYMBOL = 'USD';
19
26
  const TOKEN_DECIMALS = 18n;
@@ -21,6 +28,8 @@ export async function setupTestAccountsWithTokens(nodeUrl, mintAmount, logger) {
21
28
  const ACCOUNT_COUNT = 1; // TODO fix this to allow for 16 wallets again
22
29
  const aztecNode = createAztecNodeClient(nodeUrl);
23
30
  const wallet = await TestWallet.create(aztecNode);
31
+ // Remote JSON-RPC node: keep the 1s poll cadence rather than the in-process TestWallet fast default.
32
+ wallet.setDefaultWaitInterval(DefaultWaitOpts.interval);
24
33
  const [recipientAccount, ...accounts] = (await registerInitialLocalNetworkAccountsInWallet(wallet)).slice(0, ACCOUNT_COUNT + 1);
25
34
  const tokenAdmin = accounts[0];
26
35
  const tokenAddress = await deployTokenAndMint(wallet, accounts, tokenAdmin, mintAmount, undefined, logger);
@@ -44,7 +53,7 @@ export async function deploySponsoredTestAccountsWithTokens(wallet, aztecNode, m
44
53
  const paymentMethod = new SponsoredFeePaymentMethod(await getSponsoredFPCAddress());
45
54
  const recipientDeployMethod = await recipientAccount.getDeployMethod();
46
55
  await recipientDeployMethod.send({
47
- from: AztecAddress.ZERO,
56
+ from: NO_FROM,
48
57
  fee: {
49
58
  paymentMethod
50
59
  },
@@ -55,7 +64,7 @@ export async function deploySponsoredTestAccountsWithTokens(wallet, aztecNode, m
55
64
  await Promise.all(fundedAccounts.map(async (a)=>{
56
65
  const deployMethod = await a.getDeployMethod();
57
66
  await deployMethod.send({
58
- from: AztecAddress.ZERO,
67
+ from: NO_FROM,
59
68
  fee: {
60
69
  paymentMethod
61
70
  },
@@ -79,52 +88,86 @@ export async function deploySponsoredTestAccountsWithTokens(wallet, aztecNode, m
79
88
  recipientAddress: recipientAccount.address
80
89
  };
81
90
  }
82
- async function deployAccountWithDiagnostics(account, paymentMethod, aztecNode, logger, accountLabel) {
91
+ async function deployAccountWithDiagnostics(account, paymentMethod, aztecNode, logger, accountLabel, estimateGas) {
83
92
  const deployMethod = await account.getDeployMethod();
84
- let txHash;
85
- try {
86
- txHash = await deployMethod.send({
87
- from: AztecAddress.ZERO,
93
+ let gasSettings;
94
+ if (estimateGas) {
95
+ const sim = await deployMethod.simulate({
96
+ from: NO_FROM,
88
97
  fee: {
89
98
  paymentMethod
90
99
  },
91
- wait: NO_WAIT
100
+ includeMetadata: true
92
101
  });
93
- await waitForTx(aztecNode, txHash, {
94
- timeout: 2400
95
- });
96
- logger.info(`${accountLabel} deployed at ${account.address}`);
97
- } catch (error) {
98
- const blockNumber = await aztecNode.getBlockNumber();
99
- let receipt;
100
- try {
101
- receipt = await aztecNode.getTxReceipt(txHash);
102
- } catch {
103
- receipt = 'unavailable';
102
+ const { txsLimits } = await aztecNode.getNodeInfo();
103
+ gasSettings = getGasLimits(sim.gasUsed, Gas.from(txsLimits.gas));
104
+ logger.info(`${accountLabel} estimated gas: DA=${gasSettings.gasLimits.daGas} L2=${gasSettings.gasLimits.l2Gas}`);
105
+ }
106
+ // Track the tx hash across retries so we don't re-send when the previous tx is still pending.
107
+ let sentTxHash;
108
+ await retry(async ()=>{
109
+ // Check if already deployed (handles case where previous attempt succeeded but waitForTx timed out)
110
+ const existing = await aztecNode.getContract(account.address);
111
+ if (existing) {
112
+ logger.info(`${accountLabel} already deployed at ${account.address}, skipping`);
113
+ return;
114
+ }
115
+ // If we already sent a tx, check if it was dropped before deciding to re-send.
116
+ if (sentTxHash) {
117
+ const prevReceipt = await aztecNode.getTxReceipt(sentTxHash.txHash);
118
+ if (prevReceipt.isDropped()) {
119
+ logger.info(`${accountLabel} previous tx ${sentTxHash.txHash} was dropped, re-sending`);
120
+ sentTxHash = undefined;
121
+ } else {
122
+ logger.info(`${accountLabel} previous tx ${sentTxHash.txHash} still pending, waiting again...`);
123
+ }
124
+ }
125
+ if (!sentTxHash) {
126
+ const deployResult = await deployMethod.send({
127
+ from: NO_FROM,
128
+ fee: {
129
+ paymentMethod,
130
+ gasSettings
131
+ },
132
+ wait: NO_WAIT
133
+ });
134
+ sentTxHash = {
135
+ txHash: deployResult.txHash
136
+ };
137
+ logger.info(`${accountLabel} tx sent`, {
138
+ txHash: sentTxHash.txHash.toString()
139
+ });
104
140
  }
105
- logger.error(`${accountLabel} deployment failed`, {
106
- txHash: txHash.toString(),
107
- receipt: JSON.stringify(receipt),
108
- currentBlockNumber: blockNumber,
109
- error: String(error)
141
+ const receipt = await waitForTx(aztecNode, sentTxHash.txHash, {
142
+ timeout: 600
110
143
  });
111
- throw error;
112
- }
144
+ if (receipt.isDropped()) {
145
+ sentTxHash = undefined;
146
+ throw new Error(`${accountLabel} tx was dropped, retrying...`);
147
+ }
148
+ logger.info(`${accountLabel} deployed at ${account.address}`);
149
+ }, `deploy ${accountLabel}`, makeBackoff([
150
+ 1,
151
+ 2,
152
+ 4,
153
+ 8,
154
+ 16
155
+ ]), logger);
113
156
  }
114
- async function deployAccountsInBatches(accounts, paymentMethod, aztecNode, logger, labelPrefix, batchSize = 2) {
157
+ async function deployAccountsInBatches(accounts, paymentMethod, aztecNode, logger, labelPrefix, batchSize = 2, estimateGas) {
115
158
  for(let i = 0; i < accounts.length; i += batchSize){
116
159
  const batch = accounts.slice(i, i + batchSize);
117
- await Promise.all(batch.map((account, idx)=>deployAccountWithDiagnostics(account, paymentMethod, aztecNode, logger, `${labelPrefix}${i + idx + 1}`)));
160
+ await Promise.all(batch.map((account, idx)=>deployAccountWithDiagnostics(account, paymentMethod, aztecNode, logger, `${labelPrefix}${i + idx + 1}`, estimateGas)));
118
161
  }
119
162
  }
120
- export async function deploySponsoredTestAccounts(wallet, aztecNode, logger, numberOfFundedWallets = 1) {
163
+ export async function deploySponsoredTestAccounts(wallet, aztecNode, logger, numberOfFundedWallets = 1, opts) {
121
164
  const [recipient, ...funded] = await generateSchnorrAccounts(numberOfFundedWallets + 1);
122
165
  const recipientAccount = await wallet.createSchnorrAccount(recipient.secret, recipient.salt);
123
166
  const fundedAccounts = await Promise.all(funded.map((a)=>wallet.createSchnorrAccount(a.secret, a.salt)));
124
167
  await registerSponsoredFPC(wallet);
125
168
  const paymentMethod = new SponsoredFeePaymentMethod(await getSponsoredFPCAddress());
126
- await deployAccountWithDiagnostics(recipientAccount, paymentMethod, aztecNode, logger, 'Recipient account');
127
- await deployAccountsInBatches(fundedAccounts, paymentMethod, aztecNode, logger, 'Funded account ', 2);
169
+ await deployAccountWithDiagnostics(recipientAccount, paymentMethod, aztecNode, logger, 'Recipient account', opts?.estimateGas);
170
+ await deployAccountsInBatches(fundedAccounts, paymentMethod, aztecNode, logger, 'Funded account ', 2, opts?.estimateGas);
128
171
  return {
129
172
  aztecNode,
130
173
  wallet,
@@ -135,6 +178,8 @@ export async function deploySponsoredTestAccounts(wallet, aztecNode, logger, num
135
178
  export async function deployTestAccountsWithTokens(nodeUrl, l1RpcUrls, mnemonicOrPrivateKey, mintAmount, logger, numberOfFundedWallets = 1) {
136
179
  const aztecNode = createAztecNodeClient(nodeUrl);
137
180
  const wallet = await TestWallet.create(aztecNode);
181
+ // Remote JSON-RPC node: keep the 1s poll cadence rather than the in-process TestWallet fast default.
182
+ wallet.setDefaultWaitInterval(DefaultWaitOpts.interval);
138
183
  const [recipient, ...funded] = await generateSchnorrAccounts(numberOfFundedWallets + 1);
139
184
  const recipientAccount = await wallet.createSchnorrAccount(recipient.secret, recipient.salt);
140
185
  const fundedAccounts = await Promise.all(funded.map((a)=>wallet.createSchnorrAccount(a.secret, a.salt)));
@@ -147,7 +192,7 @@ export async function deployTestAccountsWithTokens(nodeUrl, l1RpcUrls, mnemonicO
147
192
  const paymentMethod = new FeeJuicePaymentMethodWithClaim(a.address, claims[i]);
148
193
  const deployMethod = await a.getDeployMethod();
149
194
  await deployMethod.send({
150
- from: AztecAddress.ZERO,
195
+ from: NO_FROM,
151
196
  fee: {
152
197
  paymentMethod
153
198
  }
@@ -174,8 +219,9 @@ async function bridgeL1FeeJuice(l1RpcUrls, mnemonicOrPrivateKey, aztecNode, reci
174
219
  const l1Client = createExtendedL1Client(chain.rpcUrls, mnemonicOrPrivateKey, chain.chainInfo);
175
220
  const portal = await L1FeeJuicePortalManager.new(aztecNode, l1Client, log);
176
221
  const claim = await portal.bridgeTokensPublic(recipient, amount, true);
177
- const isSynced = async ()=>await aztecNode.getL1ToL2MessageBlock(Fr.fromHexString(claim.messageHash)) !== undefined;
178
- await retryUntil(isSynced, `message ${claim.messageHash} sync`, 24, 0.5);
222
+ await waitForL1ToL2MessageReady(aztecNode, Fr.fromHexString(claim.messageHash), {
223
+ timeoutSeconds: 24
224
+ });
179
225
  log.info(`Created a claim for ${amount} L1 fee juice to ${recipient}.`, claim);
180
226
  return claim;
181
227
  }
@@ -203,8 +249,7 @@ async function deployTokenAndMint(wallet, accounts, admin, mintAmount, paymentMe
203
249
  paymentMethod
204
250
  },
205
251
  wait: {
206
- timeout: 600,
207
- returnReceipt: true
252
+ timeout: 600
208
253
  }
209
254
  });
210
255
  const tokenAddress = tokenContract.address;
@@ -236,9 +281,12 @@ export async function performTransfers({ wallet, testAccounts, rounds, transferA
236
281
  });
237
282
  });
238
283
  const provenTxs = await Promise.all(txs);
284
+ // Wait only for the txs to be proposed, not checkpointed. This is enough to keep the chain
285
+ // loaded for the reorg scenario, and avoids each round blocking on the (slower) checkpoint lag.
239
286
  await Promise.all(provenTxs.map((t)=>t.send({
240
287
  wait: {
241
- timeout: 600
288
+ timeout: 600,
289
+ waitForStatus: TxStatus.PROPOSED
242
290
  }
243
291
  })));
244
292
  logger.info(`Completed round ${i + 1} / ${rounds}`);
@@ -258,6 +306,8 @@ export async function createWalletAndAztecNodeClient(nodeUrl, proverEnabled, log
258
306
  proverEnabled
259
307
  };
260
308
  const wallet = await TestWallet.create(aztecNode, pxeConfig);
309
+ // Remote JSON-RPC node: keep the 1s poll cadence rather than the in-process TestWallet fast default.
310
+ wallet.setDefaultWaitInterval(DefaultWaitOpts.interval);
261
311
  return {
262
312
  wallet,
263
313
  aztecNode,
@@ -268,3 +318,30 @@ export async function createWalletAndAztecNodeClient(nodeUrl, proverEnabled, log
268
318
  }
269
319
  };
270
320
  }
321
+ export async function createWorkerWalletClient(nodeUrl, proverEnabled, logger) {
322
+ const aztecNode = createAztecNodeClient(nodeUrl);
323
+ const [bbConfig, acvmConfig] = await Promise.all([
324
+ getBBConfig(logger),
325
+ getACVMConfig(logger)
326
+ ]);
327
+ // Strip cleanup functions — they can't be structured-cloned for worker transfer
328
+ const { cleanup: bbCleanup, ...bbPaths } = bbConfig ?? {};
329
+ const { cleanup: acvmCleanup, ...acvmPaths } = acvmConfig ?? {};
330
+ const pxeConfig = {
331
+ dataDirectory: undefined,
332
+ dataStoreMapSizeKb: 1024 * 1024,
333
+ ...bbPaths,
334
+ ...acvmPaths,
335
+ proverEnabled
336
+ };
337
+ const wallet = await WorkerWallet.create(nodeUrl, pxeConfig);
338
+ return {
339
+ wallet,
340
+ aztecNode,
341
+ async cleanup () {
342
+ await wallet.stop();
343
+ await bbCleanup?.();
344
+ await acvmCleanup?.();
345
+ }
346
+ };
347
+ }
@@ -38,9 +38,12 @@ export declare class ProvingMetrics {
38
38
  }
39
39
  export type TxInclusionData = {
40
40
  txHash: string;
41
- sentAt: number;
42
- minedAt: number;
43
- attestedAt: number;
41
+ /** Wall-clock at client when the tx was submitted, in ms (Date.now()). */
42
+ sentAtMs: number;
43
+ /** Wall-clock at client when the block containing the tx first became visible, in ms (Date.now()). -1 if never observed. */
44
+ minedAtMs: number;
45
+ /** Reserved for future attestation-observed-at signal; -1 today. */
46
+ attestedAtMs: number;
44
47
  blocknumber: number;
45
48
  priorityFee: number;
46
49
  totalFee: number;
@@ -59,9 +62,27 @@ export declare class TxInclusionMetrics {
59
62
  private reqRespStats;
60
63
  private peerStats;
61
64
  private mempoolMinedDelay;
65
+ private inclusionOutcome;
62
66
  constructor(aztecNode: AztecNode, logger?: Logger | undefined);
63
67
  recordSentTx(tx: Tx, group: string): void;
68
+ /**
69
+ * Stamp mined-at metadata for any tracked tx contained in this block, using
70
+ * `observedAtMs` (caller-supplied wall-clock at the moment they first saw the
71
+ * block). Idempotent: existing minedAtMs is preserved so the first observer
72
+ * wins (typically the block-watcher; recordMinedTx is a fallback).
73
+ */
74
+ observeBlockForMinedTxs(blockNumber: number, txHashes: ReadonlyArray<{
75
+ toString(): string;
76
+ }>, observedAtMs: number): void;
64
77
  recordMinedTx(txReceipt: TxReceipt): Promise<void>;
78
+ /**
79
+ * Whether this tx was ever observed in a block (by the block-watcher or a mined receipt).
80
+ * Idempotent first-sighting semantics: a later reorg / pool eviction never clears it, so callers
81
+ * can treat "ever mined" as included regardless of what happens to the tx afterwards.
82
+ */
83
+ wasMined(txHash: string): boolean;
84
+ /** Per-tx inclusion records for a group. Used to serialise out for downstream tooling. */
85
+ getInclusionRecords(group?: string): TxInclusionData[];
65
86
  inclusionTimeInSeconds(group: string): {
66
87
  count: number;
67
88
  group: string;
@@ -77,6 +98,8 @@ export declare class TxInclusionMetrics {
77
98
  recordReqRespStats(fraction: number, delayP50: number, delayP95: number): void;
78
99
  recordPeerStats(avgCount: number, connectionDurationP50: number, connectionDurationP95: number): void;
79
100
  recordMempoolMinedDelay(txP50: number, txP95: number, attestationP50: number, attestationP95: number): void;
101
+ /** Mined vs failed counts for the high-value lane — recorded instead of asserting strict 1:1 inclusion. */
102
+ recordInclusionOutcome(mined: number, failed: number): void;
80
103
  toGithubActionBenchmarkJSON(): Array<{
81
104
  name: string;
82
105
  unit: string;
@@ -85,4 +108,4 @@ export declare class TxInclusionMetrics {
85
108
  extra?: string;
86
109
  }>;
87
110
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfbWV0cmljcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NwYXJ0YW4vdHhfbWV0cmljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJdEQsb0RBQW9EO0FBQ3BELHFCQUFhLGNBQWM7SUFjYixPQUFPLENBQUMsTUFBTTtJQWIxQixPQUFPLENBQUMsYUFBYSxDQUFxQjtJQUMxQyxPQUFPLENBQUMsYUFBYSxDQUFxQjtJQUMxQyxPQUFPLENBQUMsWUFBWSxDQUFxQjtJQUN6QyxPQUFPLENBQUMsWUFBWSxDQUFxQjtJQUN6QyxPQUFPLENBQUMsVUFBVSxDQUFxQjtJQUN2QyxPQUFPLENBQUMsV0FBVyxDQUFxQjtJQUN4QyxPQUFPLENBQUMsWUFBWSxDQUFxQjtJQUN6QyxPQUFPLENBQUMsWUFBWSxDQUFxQjtJQUN6QyxPQUFPLENBQUMsWUFBWSxDQUFxQjtJQUN6QyxPQUFPLENBQUMsb0JBQW9CLENBQXFCO0lBQ2pELE9BQU8sQ0FBQyxrQkFBa0IsQ0FBcUI7SUFDL0MsT0FBTyxDQUFDLFlBQVksQ0FBcUI7SUFFekMsWUFBb0IsTUFBTSxFQUFFLE1BQU0sRUFBSTtJQUV0QyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFdkM7SUFFRCxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFekM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFdEM7SUFFRCxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFbkM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFcEM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFbEM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFdEM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFdEM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFdEM7SUFFRCwwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFaEQ7SUFFRCx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFNUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFdEM7SUFFRCwyQkFBMkIsSUFBSSxLQUFLLENBQUM7UUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDO1FBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztRQUFDLEtBQUssRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFDLENBMERsRjtDQUNGO0FBRUQsTUFBTSxNQUFNLGVBQWUsR0FBRztJQUM1QixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixXQUFXLEVBQUUsTUFBTSxDQUFDO0lBQ3BCLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsUUFBUSxFQUFFLE1BQU0sQ0FBQztJQUNqQixlQUFlLEVBQUUsTUFBTSxDQUFDO0lBQ3hCLEtBQUssRUFBRSxNQUFNLENBQUM7Q0FDZixDQUFDO0FBRUYscUJBQWEsa0JBQWtCO0lBZ0IzQixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsTUFBTSxDQUFDO0lBaEJqQixPQUFPLENBQUMsSUFBSSxDQUFzQztJQUNsRCxPQUFPLENBQUMsTUFBTSxDQUFxQjtJQUNuQyxPQUFPLENBQUMsTUFBTSxDQUFtRDtJQUVqRSxPQUFPLENBQUMsdUJBQXVCLENBQWdFO0lBRS9GLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBMkM7SUFDckUsT0FBTyxDQUFDLGlCQUFpQixDQUF5RTtJQUNsRyxPQUFPLENBQUMsWUFBWSxDQUF1RTtJQUMzRixPQUFPLENBQUMsU0FBUyxDQUFpRztJQUNsSCxPQUFPLENBQUMsaUJBQWlCLENBRVg7SUFFZCxZQUNVLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sQ0FBQyxvQkFBUSxFQUNyQjtJQUVKLFlBQVksQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsSUFBSSxDQW9CeEM7SUFFSyxhQUFhLENBQUMsU0FBUyxFQUFFLFNBQVMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBK0J2RDtJQUVNLHNCQUFzQixDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUc7UUFDNUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztRQUNkLEtBQUssRUFBRSxNQUFNLENBQUM7UUFDZCxHQUFHLEVBQUUsTUFBTSxDQUFDO1FBQ1osSUFBSSxFQUFFLE1BQU0sQ0FBQztRQUNiLEdBQUcsRUFBRSxNQUFNLENBQUM7UUFDWixNQUFNLEVBQUUsTUFBTSxDQUFDO1FBQ2YsR0FBRyxFQUFFLE1BQU0sQ0FBQztLQUNiLENBK0JBO0lBRU0sc0JBQXNCLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUVsRjtJQUVNLHdCQUF3QixDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sR0FBRyxJQUFJLENBRTlEO0lBRU0sdUJBQXVCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUUzRjtJQUVNLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFcEY7SUFFTSxlQUFlLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFM0c7SUFFTSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFakg7SUFFRCwyQkFBMkIsSUFBSSxLQUFLLENBQUM7UUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDO1FBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztRQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7UUFBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUM7UUFBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFDLENBd0ZsSDtDQUNGIn0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfbWV0cmljcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NwYXJ0YW4vdHhfbWV0cmljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJdEQsb0RBQW9EO0FBQ3BELHFCQUFhLGNBQWM7SUFjYixPQUFPLENBQUMsTUFBTTtJQWIxQixPQUFPLENBQUMsYUFBYSxDQUFxQjtJQUMxQyxPQUFPLENBQUMsYUFBYSxDQUFxQjtJQUMxQyxPQUFPLENBQUMsWUFBWSxDQUFxQjtJQUN6QyxPQUFPLENBQUMsWUFBWSxDQUFxQjtJQUN6QyxPQUFPLENBQUMsVUFBVSxDQUFxQjtJQUN2QyxPQUFPLENBQUMsV0FBVyxDQUFxQjtJQUN4QyxPQUFPLENBQUMsWUFBWSxDQUFxQjtJQUN6QyxPQUFPLENBQUMsWUFBWSxDQUFxQjtJQUN6QyxPQUFPLENBQUMsWUFBWSxDQUFxQjtJQUN6QyxPQUFPLENBQUMsb0JBQW9CLENBQXFCO0lBQ2pELE9BQU8sQ0FBQyxrQkFBa0IsQ0FBcUI7SUFDL0MsT0FBTyxDQUFDLFlBQVksQ0FBcUI7SUFFekMsWUFBb0IsTUFBTSxFQUFFLE1BQU0sRUFBSTtJQUV0QyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFdkM7SUFFRCxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFekM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFdEM7SUFFRCxrQkFBa0IsQ0FBQyxFQUFF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
@@ -1 +1 @@
1
- {"version":3,"file":"tx_metrics.d.ts","sourceRoot":"","sources":["../../src/spartan/tx_metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tx_metrics.d.ts","sourceRoot":"","sources":["../../src/spartan/tx_metrics.ts"],"names":[],"mappings":"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"}
@@ -161,6 +161,7 @@ export class TxInclusionMetrics {
161
161
  reqRespStats;
162
162
  peerStats;
163
163
  mempoolMinedDelay;
164
+ inclusionOutcome;
164
165
  constructor(aztecNode, logger){
165
166
  this.aztecNode = aztecNode;
166
167
  this.logger = logger;
@@ -180,9 +181,9 @@ export class TxInclusionMetrics {
180
181
  }
181
182
  this.data.set(txHash, {
182
183
  txHash,
183
- sentAt: Math.trunc(Date.now() / 1000),
184
- minedAt: -1,
185
- attestedAt: -1,
184
+ sentAtMs: Date.now(),
185
+ minedAtMs: -1,
186
+ attestedAtMs: -1,
186
187
  blocknumber: -1,
187
188
  priorityFee: Number(priorityFees.feePerDaGas + priorityFees.feePerL2Gas),
188
189
  totalFee: -1,
@@ -191,6 +192,22 @@ export class TxInclusionMetrics {
191
192
  });
192
193
  this.groups.add(group);
193
194
  }
195
+ /**
196
+ * Stamp mined-at metadata for any tracked tx contained in this block, using
197
+ * `observedAtMs` (caller-supplied wall-clock at the moment they first saw the
198
+ * block). Idempotent: existing minedAtMs is preserved so the first observer
199
+ * wins (typically the block-watcher; recordMinedTx is a fallback).
200
+ */ observeBlockForMinedTxs(blockNumber, txHashes, observedAtMs) {
201
+ txHashes.forEach((txHash, position)=>{
202
+ const data = this.data.get(txHash.toString());
203
+ if (!data || data.minedAtMs !== -1) {
204
+ return;
205
+ }
206
+ data.blocknumber = blockNumber;
207
+ data.minedAtMs = observedAtMs;
208
+ data.positionInBlock = position;
209
+ });
210
+ }
194
211
  async recordMinedTx(txReceipt) {
195
212
  const { txHash, blockNumber } = txReceipt;
196
213
  if (!txReceipt.isMined() || !txReceipt.hasExecutionSucceeded() || !blockNumber) {
@@ -201,17 +218,6 @@ export class TxInclusionMetrics {
201
218
  });
202
219
  return;
203
220
  }
204
- if (!this.blocks.has(blockNumber)) {
205
- this.blocks.set(blockNumber, this.aztecNode.getBlock(blockNumber));
206
- }
207
- const block = await this.blocks.get(blockNumber);
208
- if (!block) {
209
- this.logger?.warn('Failed to load block for mined tx receipt', {
210
- txHash: txHash.toString(),
211
- blockNumber
212
- });
213
- return;
214
- }
215
221
  const data = this.data.get(txHash.toString());
216
222
  if (!data) {
217
223
  const message = `Missing sent tx record for mined tx ${txHash.toString()}`;
@@ -221,19 +227,75 @@ export class TxInclusionMetrics {
221
227
  });
222
228
  throw new Error(message);
223
229
  }
224
- data.blocknumber = blockNumber;
225
- data.minedAt = Number(block.header.globalVariables.timestamp);
226
- data.attestedAt = -1;
227
230
  data.totalFee = Number(txReceipt.transactionFee ?? 0n);
228
- data.positionInBlock = block.body.txEffects.findIndex((txEffect)=>txEffect.txHash.equals(txHash));
231
+ // Fallback path for txs the block-watcher missed (e.g. observed only after
232
+ // the watcher stopped). Stamp with the block's L2 slot timestamp; this is
233
+ // earlier than the true client-observed time by attestation+propagation
234
+ // lag, but it's the only deterministic timestamp available post-hoc.
235
+ if (data.minedAtMs === -1) {
236
+ if (!this.blocks.has(blockNumber)) {
237
+ this.blocks.set(blockNumber, this.aztecNode.getBlock(blockNumber, {
238
+ includeTransactions: true
239
+ }));
240
+ }
241
+ const block = await this.blocks.get(blockNumber);
242
+ if (!block) {
243
+ this.logger?.warn('Failed to load block for mined tx receipt', {
244
+ txHash: txHash.toString(),
245
+ blockNumber
246
+ });
247
+ return;
248
+ }
249
+ data.blocknumber = blockNumber;
250
+ data.minedAtMs = Number(block.header.globalVariables.timestamp) * 1000;
251
+ data.positionInBlock = block.body.txEffects.findIndex((txEffect)=>txEffect.txHash.equals(txHash));
252
+ }
253
+ }
254
+ /**
255
+ * Whether this tx was ever observed in a block (by the block-watcher or a mined receipt).
256
+ * Idempotent first-sighting semantics: a later reorg / pool eviction never clears it, so callers
257
+ * can treat "ever mined" as included regardless of what happens to the tx afterwards.
258
+ */ wasMined(txHash) {
259
+ const d = this.data.get(txHash);
260
+ return !!d && d.minedAtMs !== -1;
261
+ }
262
+ /** Per-tx inclusion records for a group. Used to serialise out for downstream tooling. */ getInclusionRecords(group) {
263
+ const out = [];
264
+ for (const tx of this.data.values()){
265
+ if (group !== undefined && tx.group !== group) {
266
+ continue;
267
+ }
268
+ out.push({
269
+ ...tx
270
+ });
271
+ }
272
+ return out;
229
273
  }
230
274
  inclusionTimeInSeconds(group) {
231
275
  const histogram = createHistogram({});
276
+ let nonPositive = 0;
232
277
  for (const tx of this.data.values()){
233
- if (!tx.blocknumber || tx.group !== group || tx.minedAt === -1) {
278
+ if (!tx.blocknumber || tx.group !== group || tx.minedAtMs === -1) {
234
279
  continue;
235
280
  }
236
- histogram.record(tx.minedAt - tx.sentAt);
281
+ // Both timestamps are client wall-clock (ms). A negative delta should be
282
+ // impossible since the watcher stamps minedAtMs strictly after sentAtMs,
283
+ // but the fallback path (recordMinedTx via L2 slot timestamp) can stamp
284
+ // earlier than sentAtMs. perf_hooks.createHistogram rejects <=0; skip
285
+ // those instead of crashing.
286
+ const deltaMs = tx.minedAtMs - tx.sentAtMs;
287
+ if (deltaMs <= 0) {
288
+ nonPositive++;
289
+ continue;
290
+ }
291
+ // Histogram is recorded in seconds (rounded) to match the existing
292
+ // toGithubActionBenchmarkJSON output unit; per-tx records carry the raw ms.
293
+ histogram.record(Math.max(1, Math.round(deltaMs / 1000)));
294
+ }
295
+ if (nonPositive > 0) {
296
+ this.logger?.debug(`Dropped ${nonPositive} tx inclusion samples with non-positive delta`, {
297
+ group
298
+ });
237
299
  }
238
300
  if (histogram.count === 0) {
239
301
  return {
@@ -297,6 +359,12 @@ export class TxInclusionMetrics {
297
359
  attestationP95
298
360
  };
299
361
  }
362
+ /** Mined vs failed counts for the high-value lane — recorded instead of asserting strict 1:1 inclusion. */ recordInclusionOutcome(mined, failed) {
363
+ this.inclusionOutcome = {
364
+ mined,
365
+ failed
366
+ };
367
+ }
300
368
  toGithubActionBenchmarkJSON() {
301
369
  const data = [];
302
370
  for (const group of this.groups){
@@ -306,7 +374,7 @@ export class TxInclusionMetrics {
306
374
  unit: 's',
307
375
  value: stats.mean
308
376
  }, {
309
- name: `${group}/median_inclusion`,
377
+ name: `${group}/p50_inclusion`,
310
378
  unit: 's',
311
379
  value: stats.median
312
380
  }, {
@@ -409,6 +477,23 @@ export class TxInclusionMetrics {
409
477
  value: this.mempoolMinedDelay.attestationP95
410
478
  });
411
479
  }
480
+ if (this.inclusionOutcome) {
481
+ const { mined, failed } = this.inclusionOutcome;
482
+ const total = mined + failed;
483
+ data.push({
484
+ name: 'inclusion/mined_count',
485
+ unit: 'count',
486
+ value: mined
487
+ }, {
488
+ name: 'inclusion/failed_count',
489
+ unit: 'count',
490
+ value: failed
491
+ }, {
492
+ name: 'inclusion/success_ratio',
493
+ unit: 'ratio',
494
+ value: total > 0 ? mined / total : 0
495
+ });
496
+ }
412
497
  const scenario = process.env.BENCH_SCENARIO?.trim();
413
498
  if (!scenario) {
414
499
  return data;
@@ -4,13 +4,14 @@ export declare function restartBot(namespace: string, log: Logger): Promise<void
4
4
  * Installs or upgrades the transfer bot Helm release for the given namespace.
5
5
  * Intended for test setup to enable L2 traffic generation only when needed.
6
6
  */
7
- export declare function installTransferBot({ namespace, spartanDir, logger: log, replicas, txIntervalSeconds, followChain, mnemonic, mnemonicStartIndex, botPrivateKey, nodeUrl, timeout, reuseValues, aztecSlotDuration }: {
7
+ export declare function installTransferBot({ namespace, spartanDir, logger: log, replicas, txIntervalSeconds, followChain, pxeSyncChainTip, mnemonic, mnemonicStartIndex, botPrivateKey, nodeUrl, timeout, reuseValues, aztecSlotDuration }: {
8
8
  namespace: string;
9
9
  spartanDir: string;
10
10
  logger: Logger;
11
11
  replicas?: number;
12
12
  txIntervalSeconds?: number;
13
13
  followChain?: string;
14
+ pxeSyncChainTip?: string;
14
15
  mnemonic?: string;
15
16
  mnemonicStartIndex?: number | string;
16
17
  botPrivateKey?: string;
@@ -24,4 +25,4 @@ export declare function installTransferBot({ namespace, spartanDir, logger: log,
24
25
  * Intended for test teardown to clean up bot resources.
25
26
  */
26
27
  export declare function uninstallTransferBot(namespace: string, log: Logger): Promise<void>;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BhcnRhbi91dGlscy9ib3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFXcEQsd0JBQXNCLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGlCQWE5RDtBQUVEOzs7R0FHRztBQUNILHdCQUFzQixrQkFBa0IsQ0FBQyxFQUN2QyxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFBRSxHQUFHLEVBQ1gsUUFBWSxFQUNaLGlCQUFzQixFQUN0QixXQUF1QixFQUN2QixRQUEyRyxFQUMzRyxrQkFBa0IsRUFDbEIsYUFBc0UsRUFDdEUsT0FBTyxFQUNQLE9BQWUsRUFDZixXQUFrQixFQUNsQixpQkFBaUUsRUFDbEUsRUFBRTtJQUNELFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGlCQUFpQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQzNCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEIsa0JBQWtCLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3JDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN2QixPQUFPLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDakIsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLFdBQVcsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN0QixpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUM1QixpQkFnSEE7QUFFRDs7O0dBR0c7QUFDSCx3QkFBc0Isb0JBQW9CLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxpQkFReEUifQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BhcnRhbi91dGlscy9ib3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFXcEQsd0JBQXNCLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGlCQWE5RDtBQUVEOzs7R0FHRztBQUNILHdCQUFzQixrQkFBa0IsQ0FBQyxFQUN2QyxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFBRSxHQUFHLEVBQ1gsUUFBWSxFQUNaLGlCQUFzQixFQUN0QixXQUE0QixFQUM1QixlQUE0QixFQUM1QixRQUEyRyxFQUMzRyxrQkFBa0IsRUFDbEIsYUFBc0UsRUFDdEUsT0FBTyxFQUNQLE9BQWUsRUFDZixXQUFrQixFQUNsQixpQkFBaUUsRUFDbEUsRUFBRTtJQUNELFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGlCQUFpQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQzNCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQixlQUFlLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDekIsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGtCQUFrQixDQUFDLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUNyQyxhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdkIsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNqQixXQUFXLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDdEIsaUJBQWlCLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDNUIsaUJBaUhBO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQXNCLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0saUJBUXhFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../../src/spartan/utils/bot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAWpD,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAa9D;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,SAAS,EACT,UAAU,EACV,MAAM,EAAE,GAAG,EACX,QAAY,EACZ,iBAAsB,EACtB,WAAuB,EACvB,QAA2G,EAC3G,kBAAkB,EAClB,aAAsE,EACtE,OAAO,EACP,OAAe,EACf,WAAkB,EAClB,iBAAiE,EAClE,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,iBAgHA;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAQxE"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../../src/spartan/utils/bot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAWpD,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAa9D;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,SAAS,EACT,UAAU,EACV,MAAM,EAAE,GAAG,EACX,QAAY,EACZ,iBAAsB,EACtB,WAA4B,EAC5B,eAA4B,EAC5B,QAA2G,EAC3G,kBAAkB,EAClB,aAAsE,EACtE,OAAO,EACP,OAAe,EACf,WAAkB,EAClB,iBAAiE,EAClE,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,iBAiHA;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAQxE"}