@aztec/end-to-end 0.0.1-commit.b655e406 → 0.0.1-commit.fce3e4f

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 (121) hide show
  1. package/dest/bench/client_flows/benchmark.d.ts +1 -1
  2. package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
  3. package/dest/bench/client_flows/client_flows_benchmark.d.ts +8 -1
  4. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  5. package/dest/bench/client_flows/client_flows_benchmark.js +53 -30
  6. package/dest/bench/client_flows/config.d.ts +1 -1
  7. package/dest/bench/client_flows/data_extractor.d.ts +1 -1
  8. package/dest/bench/client_flows/data_extractor.js +5 -27
  9. package/dest/bench/utils.d.ts +2 -2
  10. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +1 -1
  11. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  12. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +2 -2
  13. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +1 -1
  14. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  15. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +4 -3
  16. package/dest/e2e_deploy_contract/deploy_test.d.ts +2 -2
  17. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  18. package/dest/e2e_epochs/epochs_test.d.ts +1 -1
  19. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  20. package/dest/e2e_epochs/epochs_test.js +6 -5
  21. package/dest/e2e_fees/bridging_race.notest.d.ts +1 -1
  22. package/dest/e2e_fees/bridging_race.notest.js +1 -1
  23. package/dest/e2e_fees/fees_test.d.ts +1 -1
  24. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  25. package/dest/e2e_fees/fees_test.js +12 -9
  26. package/dest/e2e_l1_publisher/write_json.d.ts +1 -1
  27. package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
  28. package/dest/e2e_l1_publisher/write_json.js +5 -4
  29. package/dest/e2e_multi_validator/utils.d.ts +1 -1
  30. package/dest/e2e_nested_contract/nested_contract_test.d.ts +1 -1
  31. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  32. package/dest/e2e_nested_contract/nested_contract_test.js +4 -3
  33. package/dest/e2e_p2p/inactivity_slash_test.d.ts +2 -2
  34. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -1
  35. package/dest/e2e_p2p/inactivity_slash_test.js +6 -2
  36. package/dest/e2e_p2p/p2p_network.d.ts +214 -9
  37. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  38. package/dest/e2e_p2p/p2p_network.js +5 -3
  39. package/dest/e2e_p2p/shared.d.ts +5 -5
  40. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  41. package/dest/e2e_p2p/shared.js +6 -5
  42. package/dest/e2e_token_contract/token_contract_test.d.ts +1 -1
  43. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  44. package/dest/e2e_token_contract/token_contract_test.js +2 -2
  45. package/dest/fixtures/e2e_prover_test.d.ts +3 -1
  46. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  47. package/dest/fixtures/e2e_prover_test.js +18 -14
  48. package/dest/fixtures/fixtures.d.ts +1 -1
  49. package/dest/fixtures/get_acvm_config.d.ts +1 -1
  50. package/dest/fixtures/get_bb_config.d.ts +1 -1
  51. package/dest/fixtures/get_bb_config.d.ts.map +1 -1
  52. package/dest/fixtures/index.d.ts +1 -1
  53. package/dest/fixtures/l1_to_l2_messaging.d.ts +1 -1
  54. package/dest/fixtures/logging.d.ts +1 -1
  55. package/dest/fixtures/setup_l1_contracts.d.ts +475 -4
  56. package/dest/fixtures/setup_l1_contracts.d.ts.map +1 -1
  57. package/dest/fixtures/setup_p2p_test.d.ts +4 -4
  58. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  59. package/dest/fixtures/setup_p2p_test.js +15 -7
  60. package/dest/fixtures/snapshot_manager.d.ts +2 -2
  61. package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
  62. package/dest/fixtures/token_utils.d.ts +5 -2
  63. package/dest/fixtures/token_utils.d.ts.map +1 -1
  64. package/dest/fixtures/token_utils.js +7 -4
  65. package/dest/fixtures/utils.d.ts +449 -4
  66. package/dest/fixtures/utils.d.ts.map +1 -1
  67. package/dest/fixtures/utils.js +11 -12
  68. package/dest/fixtures/web3signer.d.ts +1 -1
  69. package/dest/fixtures/with_telemetry_utils.d.ts +1 -1
  70. package/dest/index.d.ts +1 -1
  71. package/dest/quality_of_service/alert_checker.d.ts +1 -1
  72. package/dest/quality_of_service/alert_checker.d.ts.map +1 -1
  73. package/dest/shared/cross_chain_test_harness.d.ts +1 -12
  74. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  75. package/dest/shared/gas_portal_test_harness.d.ts +1 -11
  76. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  77. package/dest/shared/gas_portal_test_harness.js +1 -1
  78. package/dest/shared/index.d.ts +1 -1
  79. package/dest/shared/jest_setup.d.ts +1 -1
  80. package/dest/shared/submit-transactions.d.ts +1 -1
  81. package/dest/shared/submit-transactions.d.ts.map +1 -1
  82. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  83. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  84. package/dest/shared/uniswap_l1_l2.js +11 -11
  85. package/dest/simulators/index.d.ts +1 -1
  86. package/dest/simulators/lending_simulator.d.ts +1 -5
  87. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  88. package/dest/simulators/lending_simulator.js +4 -2
  89. package/dest/simulators/token_simulator.d.ts +1 -1
  90. package/dest/simulators/token_simulator.d.ts.map +1 -1
  91. package/dest/spartan/setup_test_wallets.d.ts +5 -3
  92. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  93. package/dest/spartan/setup_test_wallets.js +43 -9
  94. package/dest/spartan/utils.d.ts +18 -18
  95. package/dest/spartan/utils.d.ts.map +1 -1
  96. package/dest/spartan/utils.js +2 -2
  97. package/package.json +42 -40
  98. package/src/bench/client_flows/client_flows_benchmark.ts +75 -30
  99. package/src/bench/client_flows/data_extractor.ts +6 -28
  100. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +2 -2
  101. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +4 -3
  102. package/src/e2e_deploy_contract/deploy_test.ts +1 -1
  103. package/src/e2e_epochs/epochs_test.ts +6 -5
  104. package/src/e2e_fees/bridging_race.notest.ts +1 -1
  105. package/src/e2e_fees/fees_test.ts +12 -9
  106. package/src/e2e_l1_publisher/write_json.ts +5 -4
  107. package/src/e2e_nested_contract/nested_contract_test.ts +4 -3
  108. package/src/e2e_p2p/inactivity_slash_test.ts +6 -2
  109. package/src/e2e_p2p/p2p_network.ts +7 -3
  110. package/src/e2e_p2p/shared.ts +8 -5
  111. package/src/e2e_token_contract/token_contract_test.ts +2 -2
  112. package/src/fixtures/e2e_prover_test.ts +15 -16
  113. package/src/fixtures/setup_p2p_test.ts +20 -6
  114. package/src/fixtures/token_utils.ts +4 -4
  115. package/src/fixtures/utils.ts +35 -16
  116. package/src/guides/up_quick_start.sh +1 -1
  117. package/src/shared/gas_portal_test_harness.ts +1 -1
  118. package/src/shared/uniswap_l1_l2.ts +11 -11
  119. package/src/simulators/lending_simulator.ts +4 -2
  120. package/src/spartan/setup_test_wallets.ts +47 -11
  121. package/src/spartan/utils.ts +2 -2
@@ -13,20 +13,20 @@ declare const testConfigSchema: z.ZodObject<{
13
13
  AZTEC_SLOT_DURATION: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
14
14
  AZTEC_PROOF_SUBMISSION_WINDOW: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
15
15
  }, "strip", z.ZodTypeAny, {
16
- AZTEC_SLOT_DURATION: number;
17
16
  NAMESPACE: string;
18
17
  REAL_VERIFIER: boolean;
19
18
  CREATE_ETH_DEVNET: boolean;
20
- AZTEC_PROOF_SUBMISSION_WINDOW: number;
21
19
  L1_RPC_URLS_JSON?: string | undefined;
22
20
  L1_ACCOUNT_MNEMONIC?: string | undefined;
21
+ AZTEC_SLOT_DURATION: number;
22
+ AZTEC_PROOF_SUBMISSION_WINDOW: number;
23
23
  }, {
24
- AZTEC_SLOT_DURATION?: number | undefined;
25
24
  NAMESPACE?: string | undefined;
26
25
  REAL_VERIFIER?: string | number | boolean | undefined;
27
26
  CREATE_ETH_DEVNET?: string | number | boolean | undefined;
28
27
  L1_RPC_URLS_JSON?: string | undefined;
29
28
  L1_ACCOUNT_MNEMONIC?: string | undefined;
29
+ AZTEC_SLOT_DURATION?: number | undefined;
30
30
  AZTEC_PROOF_SUBMISSION_WINDOW?: number | undefined;
31
31
  }>;
32
32
  export type TestConfig = z.infer<typeof testConfigSchema>;
@@ -41,7 +41,7 @@ export declare function getAztecBin(): string;
41
41
  */
42
42
  export declare function runAztecBin(args: string[], logger: Logger, env?: Record<string, string>): Promise<number>;
43
43
  export declare function runProjectScript(script: string, args: string[], logger: Logger, env?: Record<string, string>): Promise<number>;
44
- export declare function startPortForward({ resource, namespace, containerPort, hostPort, }: {
44
+ export declare function startPortForward({ resource, namespace, containerPort, hostPort }: {
45
45
  resource: string;
46
46
  namespace: string;
47
47
  containerPort: number;
@@ -50,7 +50,7 @@ export declare function startPortForward({ resource, namespace, containerPort, h
50
50
  process: ChildProcess;
51
51
  port: number;
52
52
  }>;
53
- export declare function startPortForwardForRPC(namespace: string): Promise<{
53
+ export declare function startPortForwardForRPC(namespace: string, resourceType?: string, index?: number): Promise<{
54
54
  process: ChildProcess;
55
55
  port: number;
56
56
  }>;
@@ -58,20 +58,20 @@ export declare function startPortForwardForEthereum(namespace: string): Promise<
58
58
  process: ChildProcess;
59
59
  port: number;
60
60
  }>;
61
- export declare function deleteResourceByName({ resource, namespace, name, force, }: {
61
+ export declare function deleteResourceByName({ resource, namespace, name, force }: {
62
62
  resource: string;
63
63
  namespace: string;
64
64
  name: string;
65
65
  force?: boolean;
66
66
  }): Promise<string>;
67
- export declare function deleteResourceByLabel({ resource, namespace, label, timeout, force, }: {
67
+ export declare function deleteResourceByLabel({ resource, namespace, label, timeout, force }: {
68
68
  resource: string;
69
69
  namespace: string;
70
70
  label: string;
71
71
  timeout?: string;
72
72
  force?: boolean;
73
73
  }): Promise<string>;
74
- export declare function waitForResourceByLabel({ resource, label, namespace, condition, timeout, }: {
74
+ export declare function waitForResourceByLabel({ resource, label, namespace, condition, timeout }: {
75
75
  resource: string;
76
76
  label: string;
77
77
  namespace: string;
@@ -96,7 +96,7 @@ export declare function getChartDir(spartanDir: string, chartName: string): stri
96
96
  * console.log(stdout);
97
97
  * ```
98
98
  */
99
- export declare function installChaosMeshChart({ instanceName, targetNamespace, valuesFile, helmChartDir, chaosMeshNamespace, timeout, clean, values, logger, }: {
99
+ export declare function installChaosMeshChart({ instanceName, targetNamespace, valuesFile, helmChartDir, chaosMeshNamespace, timeout, clean, values, logger }: {
100
100
  instanceName: string;
101
101
  targetNamespace: string;
102
102
  valuesFile: string;
@@ -107,35 +107,35 @@ export declare function installChaosMeshChart({ instanceName, targetNamespace, v
107
107
  values?: Record<string, string | number>;
108
108
  logger: Logger;
109
109
  }): Promise<string>;
110
- export declare function applyProverFailure({ namespace, spartanDir, durationSeconds, logger, }: {
110
+ export declare function applyProverFailure({ namespace, spartanDir, durationSeconds, logger }: {
111
111
  namespace: string;
112
112
  spartanDir: string;
113
113
  durationSeconds: number;
114
114
  logger: Logger;
115
115
  }): Promise<string>;
116
- export declare function applyProverKill({ namespace, spartanDir, logger, }: {
116
+ export declare function applyProverKill({ namespace, spartanDir, logger }: {
117
117
  namespace: string;
118
118
  spartanDir: string;
119
119
  logger: Logger;
120
120
  }): Promise<string>;
121
- export declare function applyProverBrokerKill({ namespace, spartanDir, logger, }: {
121
+ export declare function applyProverBrokerKill({ namespace, spartanDir, logger }: {
122
122
  namespace: string;
123
123
  spartanDir: string;
124
124
  logger: Logger;
125
125
  }): Promise<string>;
126
- export declare function applyBootNodeFailure({ namespace, spartanDir, durationSeconds, logger, }: {
126
+ export declare function applyBootNodeFailure({ namespace, spartanDir, durationSeconds, logger }: {
127
127
  namespace: string;
128
128
  spartanDir: string;
129
129
  durationSeconds: number;
130
130
  logger: Logger;
131
131
  }): Promise<string>;
132
- export declare function applyValidatorKill({ namespace, spartanDir, logger, values, }: {
132
+ export declare function applyValidatorKill({ namespace, spartanDir, logger, values }: {
133
133
  namespace: string;
134
134
  spartanDir: string;
135
135
  logger: Logger;
136
136
  values?: Record<string, string | number>;
137
137
  }): Promise<string>;
138
- export declare function applyNetworkShaping({ valuesFile, namespace, spartanDir, logger, }: {
138
+ export declare function applyNetworkShaping({ valuesFile, namespace, spartanDir, logger }: {
139
139
  valuesFile: string;
140
140
  namespace: string;
141
141
  spartanDir: string;
@@ -147,7 +147,7 @@ export declare function restartBot(namespace: string, logger: Logger): Promise<v
147
147
  * Installs or upgrades the transfer bot Helm release for the given namespace.
148
148
  * Intended for test setup to enable L2 traffic generation only when needed.
149
149
  */
150
- export declare function installTransferBot({ namespace, spartanDir, logger, replicas, txIntervalSeconds, followChain, mnemonic, mnemonicStartIndex, botPrivateKey, nodeUrl, timeout, reuseValues, aztecSlotDuration, }: {
150
+ export declare function installTransferBot({ namespace, spartanDir, logger, replicas, txIntervalSeconds, followChain, mnemonic, mnemonicStartIndex, botPrivateKey, nodeUrl, timeout, reuseValues, aztecSlotDuration }: {
151
151
  namespace: string;
152
152
  spartanDir: string;
153
153
  logger: Logger;
@@ -171,7 +171,7 @@ export declare function uninstallTransferBot(namespace: string, logger: Logger):
171
171
  * Enables or disables probabilistic transaction dropping on validators and waits for rollout.
172
172
  * Wired to env vars P2P_DROP_TX and P2P_DROP_TX_CHANCE via Helm values.
173
173
  */
174
- export declare function setValidatorTxDrop({ namespace, enabled, probability, logger, }: {
174
+ export declare function setValidatorTxDrop({ namespace, enabled, probability, logger }: {
175
175
  namespace: string;
176
176
  enabled: boolean;
177
177
  probability: number;
@@ -215,4 +215,4 @@ export declare function getNodeClient(env: TestConfig, index?: number): Promise<
215
215
  process: ChildProcess;
216
216
  }>;
217
217
  export {};
218
- //# sourceMappingURL=utils.d.ts.map
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcGFydGFuL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUlwRCxPQUFPLEVBQ0wsS0FBSyxjQUFjLEVBQ25CLEtBQUssb0JBQW9CLEVBRXpCLHFCQUFxQixFQUN0QixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxZQUFZLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBSXBFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFNeEIsUUFBQSxNQUFNLGdCQUFnQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBUXBCLENBQUM7QUFFSCxNQUFNLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRTFELHdCQUFnQixnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsT0FBTyxHQUFHLFVBQVUsQ0FJekQ7QUF5QkQsd0JBQWdCLFdBQVcsV0FFMUI7QUFFRDs7Ozs7O0dBTUc7QUFDSCx3QkFBZ0IsV0FBVyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLG1CQUV2RjtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFB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
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/spartan/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/spartan/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIpD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAEzB,qBAAqB,EACtB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAyB,MAAM,eAAe,CAAC;AAIpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;EAQpB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAIzD;AAyBD,wBAAgB,WAAW,WAE1B;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,mBAEvF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,mBAG5G;AAED,wBAAsB,gBAAgB,CAAC,EACrC,QAAQ,EACR,SAAS,EACT,aAAa,EACb,QAAQ,EACT,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CA6DD;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,SAAa,EAAE,KAAK,SAAI;;;GAM7F;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM;;;GAM5D;AAED,wBAAsB,oBAAoB,CAAC,EACzC,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,KAAa,EACd,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,mBAOA;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,QAAQ,EACR,SAAS,EACT,KAAK,EACL,OAAc,EACd,KAAa,EACd,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,mBAiBA;AAED,wBAAsB,sBAAsB,CAAC,EAC3C,QAAQ,EACR,KAAK,EACL,SAAS,EACT,SAAmB,EACnB,OAAe,EAChB,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,mBAKA;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAEhE;AAgDD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,YAAY,EACZ,eAAe,EACf,UAAU,EACV,YAAY,EACZ,kBAAiC,EACjC,OAAe,EACf,KAAY,EACZ,MAAW,EACX,MAAM,EACP,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;CAChB,mBAgCA;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,UAAU,EACV,eAAe,EACf,MAAM,EACP,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB,mBAWA;AAED,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,UAAU,EACV,MAAM,EACP,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,mBASA;AAED,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,UAAU,EACV,MAAM,EACP,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,mBASA;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,UAAU,EACV,eAAe,EACf,MAAM,EACP,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB,mBAWA;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,UAAU,EACV,MAAM,EACN,MAAM,EACP,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CAC1C,mBASA;AAED,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,EACV,SAAS,EACT,UAAU,EACV,MAAM,EACP,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,mBAQA;AAED,wBAAsB,kBAAkB,CACtC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,iBAef;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAajE;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,SAAS,EACT,UAAU,EACV,MAAM,EACN,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,iBAsFA;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAQ3E;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,SAAS,EACT,OAAO,EACP,WAAW,EACX,MAAM,EACP,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,iBAgCA;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBA+BxE;AAED,wBAAsB,8BAA8B,CAClD,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,iBAgBf;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,qBAMpD;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,mCAK5F;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,mCAElD;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CA2BpH;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,UAAU;AACf,gDAAgD;AAChD,SAAS,CAAC,EAAE,YAAY,EAAE,GACzB,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAuB5E;AAED,4DAA4D;AAC5D,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsB5F;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,iBAcpD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAW1C;AAED,6EAA6E;AAC7E,wBAAsB,aAAa,CACjC,GAAG,EAAE,UAAU,EACf,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,CA0BlG"}
@@ -137,9 +137,9 @@ export async function startPortForward({ resource, namespace, containerPort, hos
137
137
  port
138
138
  };
139
139
  }
140
- export function startPortForwardForRPC(namespace) {
140
+ export function startPortForwardForRPC(namespace, resourceType = 'services', index = 0) {
141
141
  return startPortForward({
142
- resource: `services/${namespace}-rpc-aztec-node`,
142
+ resource: `${resourceType}/${namespace}-rpc-aztec-node-${index}`,
143
143
  namespace,
144
144
  containerPort: 8080
145
145
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/end-to-end",
3
- "version": "0.0.1-commit.b655e406",
3
+ "version": "0.0.1-commit.fce3e4f",
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 && tsc -b",
12
- "build:dev": "tsc -b --watch",
11
+ "build": "yarn clean && tsgo -b",
12
+ "build:dev": "tsgo -b --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",
@@ -25,42 +25,43 @@
25
25
  "formatting": "run -T prettier --check ./src && run -T eslint ./src"
26
26
  },
27
27
  "dependencies": {
28
- "@aztec/accounts": "0.0.1-commit.b655e406",
29
- "@aztec/archiver": "0.0.1-commit.b655e406",
30
- "@aztec/aztec": "0.0.1-commit.b655e406",
31
- "@aztec/aztec-node": "0.0.1-commit.b655e406",
32
- "@aztec/aztec.js": "0.0.1-commit.b655e406",
33
- "@aztec/bb-prover": "0.0.1-commit.b655e406",
34
- "@aztec/blob-lib": "0.0.1-commit.b655e406",
35
- "@aztec/blob-sink": "0.0.1-commit.b655e406",
36
- "@aztec/bot": "0.0.1-commit.b655e406",
37
- "@aztec/cli": "0.0.1-commit.b655e406",
38
- "@aztec/constants": "0.0.1-commit.b655e406",
39
- "@aztec/entrypoints": "0.0.1-commit.b655e406",
40
- "@aztec/epoch-cache": "0.0.1-commit.b655e406",
41
- "@aztec/ethereum": "0.0.1-commit.b655e406",
42
- "@aztec/foundation": "0.0.1-commit.b655e406",
43
- "@aztec/kv-store": "0.0.1-commit.b655e406",
44
- "@aztec/l1-artifacts": "0.0.1-commit.b655e406",
45
- "@aztec/merkle-tree": "0.0.1-commit.b655e406",
46
- "@aztec/node-keystore": "0.0.1-commit.b655e406",
47
- "@aztec/noir-contracts.js": "0.0.1-commit.b655e406",
48
- "@aztec/noir-noirc_abi": "0.0.1-commit.b655e406",
49
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.b655e406",
50
- "@aztec/noir-test-contracts.js": "0.0.1-commit.b655e406",
51
- "@aztec/p2p": "0.0.1-commit.b655e406",
52
- "@aztec/protocol-contracts": "0.0.1-commit.b655e406",
53
- "@aztec/prover-client": "0.0.1-commit.b655e406",
54
- "@aztec/prover-node": "0.0.1-commit.b655e406",
55
- "@aztec/pxe": "0.0.1-commit.b655e406",
56
- "@aztec/sequencer-client": "0.0.1-commit.b655e406",
57
- "@aztec/simulator": "0.0.1-commit.b655e406",
58
- "@aztec/slasher": "0.0.1-commit.b655e406",
59
- "@aztec/stdlib": "0.0.1-commit.b655e406",
60
- "@aztec/telemetry-client": "0.0.1-commit.b655e406",
61
- "@aztec/test-wallet": "0.0.1-commit.b655e406",
62
- "@aztec/validator-client": "0.0.1-commit.b655e406",
63
- "@aztec/world-state": "0.0.1-commit.b655e406",
28
+ "@aztec/accounts": "0.0.1-commit.fce3e4f",
29
+ "@aztec/archiver": "0.0.1-commit.fce3e4f",
30
+ "@aztec/aztec": "0.0.1-commit.fce3e4f",
31
+ "@aztec/aztec-node": "0.0.1-commit.fce3e4f",
32
+ "@aztec/aztec.js": "0.0.1-commit.fce3e4f",
33
+ "@aztec/bb-prover": "0.0.1-commit.fce3e4f",
34
+ "@aztec/bb.js": "0.0.1-commit.fce3e4f",
35
+ "@aztec/blob-lib": "0.0.1-commit.fce3e4f",
36
+ "@aztec/blob-sink": "0.0.1-commit.fce3e4f",
37
+ "@aztec/bot": "0.0.1-commit.fce3e4f",
38
+ "@aztec/cli": "0.0.1-commit.fce3e4f",
39
+ "@aztec/constants": "0.0.1-commit.fce3e4f",
40
+ "@aztec/entrypoints": "0.0.1-commit.fce3e4f",
41
+ "@aztec/epoch-cache": "0.0.1-commit.fce3e4f",
42
+ "@aztec/ethereum": "0.0.1-commit.fce3e4f",
43
+ "@aztec/foundation": "0.0.1-commit.fce3e4f",
44
+ "@aztec/kv-store": "0.0.1-commit.fce3e4f",
45
+ "@aztec/l1-artifacts": "0.0.1-commit.fce3e4f",
46
+ "@aztec/merkle-tree": "0.0.1-commit.fce3e4f",
47
+ "@aztec/node-keystore": "0.0.1-commit.fce3e4f",
48
+ "@aztec/noir-contracts.js": "0.0.1-commit.fce3e4f",
49
+ "@aztec/noir-noirc_abi": "0.0.1-commit.fce3e4f",
50
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.fce3e4f",
51
+ "@aztec/noir-test-contracts.js": "0.0.1-commit.fce3e4f",
52
+ "@aztec/p2p": "0.0.1-commit.fce3e4f",
53
+ "@aztec/protocol-contracts": "0.0.1-commit.fce3e4f",
54
+ "@aztec/prover-client": "0.0.1-commit.fce3e4f",
55
+ "@aztec/prover-node": "0.0.1-commit.fce3e4f",
56
+ "@aztec/pxe": "0.0.1-commit.fce3e4f",
57
+ "@aztec/sequencer-client": "0.0.1-commit.fce3e4f",
58
+ "@aztec/simulator": "0.0.1-commit.fce3e4f",
59
+ "@aztec/slasher": "0.0.1-commit.fce3e4f",
60
+ "@aztec/stdlib": "0.0.1-commit.fce3e4f",
61
+ "@aztec/telemetry-client": "0.0.1-commit.fce3e4f",
62
+ "@aztec/test-wallet": "0.0.1-commit.fce3e4f",
63
+ "@aztec/validator-client": "0.0.1-commit.fce3e4f",
64
+ "@aztec/world-state": "0.0.1-commit.fce3e4f",
64
65
  "@iarna/toml": "^2.2.5",
65
66
  "@jest/globals": "^30.0.0",
66
67
  "@noble/curves": "=1.0.0",
@@ -97,7 +98,7 @@
97
98
  "tslib": "^2.4.0",
98
99
  "typescript": "^5.3.3",
99
100
  "util": "^0.12.5",
100
- "viem": "npm:@spalladino/viem@2.38.2-eip7594.0",
101
+ "viem": "npm:@aztec/viem@2.38.2",
101
102
  "zod": "^3.23.8"
102
103
  },
103
104
  "devDependencies": {
@@ -106,6 +107,7 @@
106
107
  "@types/jest": "^30.0.0",
107
108
  "@types/js-yaml": "^4.0.9",
108
109
  "@types/lodash.chunk": "^4.2.9",
110
+ "@typescript/native-preview": "7.0.0-dev.20251126.1",
109
111
  "concurrently": "^7.6.0",
110
112
  "jest": "^30.0.0",
111
113
  "jest-extended": "^6.0.0",
@@ -20,6 +20,7 @@ import { TokenContract as BananaCoin, TokenContract } from '@aztec/noir-contract
20
20
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
21
21
  import { getCanonicalFeeJuice } from '@aztec/protocol-contracts/fee-juice';
22
22
  import { type PXEConfig, getPXEConfig } from '@aztec/pxe/server';
23
+ import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
23
24
  import { GasSettings } from '@aztec/stdlib/gas';
24
25
  import { deriveSigningKey } from '@aztec/stdlib/keys';
25
26
  import { TestWallet } from '@aztec/test-wallet/server';
@@ -69,15 +70,21 @@ export class ClientFlowsBenchmark {
69
70
  public feeJuiceContract!: FeeJuiceContract;
70
71
  // Asset in which fees are paid via FPC
71
72
  public bananaCoin!: BananaCoin;
73
+ public bananaCoinInstance!: ContractInstanceWithAddress;
72
74
  public bananaFPC!: FPCContract;
75
+ public bananaFPCInstance!: ContractInstanceWithAddress;
73
76
  // Random asset we want to trade
74
77
  public candyBarCoin!: TokenContract;
78
+ public candyBarCoinInstance!: ContractInstanceWithAddress;
75
79
  // AMM contract
76
80
  public amm!: AMMContract;
81
+ public ammInstance!: ContractInstanceWithAddress;
77
82
  // Liquidity token for AMM
78
83
  public liquidityToken!: TokenContract;
84
+ public liquidityTokenInstance!: ContractInstanceWithAddress;
79
85
  // Sponsored FPC contract
80
86
  public sponsoredFPC!: SponsoredFPCContract;
87
+ public sponsoredFPCInstance!: ContractInstanceWithAddress;
81
88
 
82
89
  // PXE and Wallet used by the benchmarking user. It can be set up with client-side proving enabled
83
90
  public userWallet!: TestWallet;
@@ -204,7 +211,7 @@ export class ClientFlowsBenchmark {
204
211
  this.sequencerAddress = sequencerAddress;
205
212
 
206
213
  const canonicalFeeJuice = await getCanonicalFeeJuice();
207
- this.feeJuiceContract = await FeeJuiceContract.at(canonicalFeeJuice.address, this.adminWallet);
214
+ this.feeJuiceContract = FeeJuiceContract.at(canonicalFeeJuice.address, this.adminWallet);
208
215
  this.coinbase = EthAddress.random();
209
216
 
210
217
  const userPXEConfig = getPXEConfig();
@@ -229,7 +236,7 @@ export class ClientFlowsBenchmark {
229
236
  async (_data, context) => {
230
237
  this.context = context;
231
238
 
232
- this.feeJuiceContract = await FeeJuiceContract.at(ProtocolContractAddress.FeeJuice, this.adminWallet);
239
+ this.feeJuiceContract = FeeJuiceContract.at(ProtocolContractAddress.FeeJuice, this.adminWallet);
233
240
 
234
241
  this.feeJuiceBridgeTestHarness = await FeeJuicePortalTestingHarnessFactory.create({
235
242
  aztecNode: context.aztecNode,
@@ -246,14 +253,22 @@ export class ClientFlowsBenchmark {
246
253
  await this.snapshotManager.snapshot(
247
254
  'deploy_banana_token',
248
255
  async () => {
249
- const bananaCoin = await BananaCoin.deploy(this.adminWallet, this.adminAddress, 'BC', 'BC', 18n)
256
+ const { contract: bananaCoin, instance: bananaCoinInstance } = await BananaCoin.deploy(
257
+ this.adminWallet,
258
+ this.adminAddress,
259
+ 'BC',
260
+ 'BC',
261
+ 18n,
262
+ )
250
263
  .send({ from: this.adminAddress })
251
- .deployed();
264
+ .wait();
252
265
  this.logger.info(`BananaCoin deployed at ${bananaCoin.address}`);
253
- return { bananaCoinAddress: bananaCoin.address };
266
+ return { bananaCoinAddress: bananaCoin.address, bananaCoinInstance };
254
267
  },
255
- async ({ bananaCoinAddress }) => {
256
- this.bananaCoin = await BananaCoin.at(bananaCoinAddress, this.adminWallet);
268
+ ({ bananaCoinAddress, bananaCoinInstance }) => {
269
+ this.bananaCoin = BananaCoin.at(bananaCoinAddress, this.adminWallet);
270
+ this.bananaCoinInstance = bananaCoinInstance;
271
+ return Promise.resolve();
257
272
  },
258
273
  );
259
274
  }
@@ -262,14 +277,22 @@ export class ClientFlowsBenchmark {
262
277
  await this.snapshotManager.snapshot(
263
278
  'deploy_candy_bar_token',
264
279
  async () => {
265
- const candyBarCoin = await TokenContract.deploy(this.adminWallet, this.adminAddress, 'CBC', 'CBC', 18n)
280
+ const { contract: candyBarCoin, instance: candyBarCoinInstance } = await TokenContract.deploy(
281
+ this.adminWallet,
282
+ this.adminAddress,
283
+ 'CBC',
284
+ 'CBC',
285
+ 18n,
286
+ )
266
287
  .send({ from: this.adminAddress })
267
- .deployed();
288
+ .wait();
268
289
  this.logger.info(`CandyBarCoin deployed at ${candyBarCoin.address}`);
269
- return { candyBarCoinAddress: candyBarCoin.address };
290
+ return { candyBarCoinAddress: candyBarCoin.address, candyBarCoinInstance };
270
291
  },
271
- async ({ candyBarCoinAddress }) => {
272
- this.candyBarCoin = await TokenContract.at(candyBarCoinAddress, this.adminWallet);
292
+ ({ candyBarCoinAddress, candyBarCoinInstance }) => {
293
+ this.candyBarCoin = TokenContract.at(candyBarCoinAddress, this.adminWallet);
294
+ this.candyBarCoinInstance = candyBarCoinInstance;
295
+ return Promise.resolve();
273
296
  },
274
297
  );
275
298
  }
@@ -282,18 +305,24 @@ export class ClientFlowsBenchmark {
282
305
  expect((await context.wallet.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
283
306
 
284
307
  const bananaCoin = this.bananaCoin;
285
- const bananaFPC = await FPCContract.deploy(this.adminWallet, bananaCoin.address, this.adminAddress)
308
+ const { contract: bananaFPC, instance: bananaFPCInstance } = await FPCContract.deploy(
309
+ this.adminWallet,
310
+ bananaCoin.address,
311
+ this.adminAddress,
312
+ )
286
313
  .send({ from: this.adminAddress })
287
- .deployed();
314
+ .wait();
288
315
 
289
316
  this.logger.info(`BananaPay deployed at ${bananaFPC.address}`);
290
317
 
291
318
  await this.feeJuiceBridgeTestHarness.bridgeFromL1ToL2(bananaFPC.address, this.adminAddress);
292
319
 
293
- return { bananaFPCAddress: bananaFPC.address };
320
+ return { bananaFPCAddress: bananaFPC.address, bananaFPCInstance };
294
321
  },
295
- async data => {
296
- this.bananaFPC = await FPCContract.at(data.bananaFPCAddress, this.adminWallet);
322
+ data => {
323
+ this.bananaFPC = FPCContract.at(data.bananaFPCAddress, this.adminWallet);
324
+ this.bananaFPCInstance = data.bananaFPCInstance;
325
+ return Promise.resolve();
297
326
  },
298
327
  );
299
328
  }
@@ -302,12 +331,14 @@ export class ClientFlowsBenchmark {
302
331
  await this.snapshotManager.snapshot(
303
332
  'deploy_sponsored_fpc',
304
333
  async () => {
305
- const sponsoredFPC = await setupSponsoredFPC(this.adminWallet);
306
- this.logger.info(`SponsoredFPC at ${sponsoredFPC.address}`);
307
- return { sponsoredFPCAddress: sponsoredFPC.address };
334
+ const sponsoredFPCInstance = await setupSponsoredFPC(this.adminWallet);
335
+ this.logger.info(`SponsoredFPC at ${sponsoredFPCInstance.address}`);
336
+ return { sponsoredFPCAddress: sponsoredFPCInstance.address, sponsoredFPCInstance };
308
337
  },
309
- async ({ sponsoredFPCAddress }) => {
310
- this.sponsoredFPC = await SponsoredFPCContract.at(sponsoredFPCAddress, this.adminWallet);
338
+ ({ sponsoredFPCAddress, sponsoredFPCInstance }) => {
339
+ this.sponsoredFPC = SponsoredFPCContract.at(sponsoredFPCAddress, this.adminWallet);
340
+ this.sponsoredFPCInstance = sponsoredFPCInstance;
341
+ return Promise.resolve();
311
342
  },
312
343
  );
313
344
  }
@@ -361,24 +392,38 @@ export class ClientFlowsBenchmark {
361
392
  await this.snapshotManager.snapshot(
362
393
  'deploy_amm',
363
394
  async () => {
364
- const liquidityToken = await TokenContract.deploy(this.adminWallet, this.adminAddress, 'LPT', 'LPT', 18n)
395
+ const { contract: liquidityToken, instance: liquidityTokenInstance } = await TokenContract.deploy(
396
+ this.adminWallet,
397
+ this.adminAddress,
398
+ 'LPT',
399
+ 'LPT',
400
+ 18n,
401
+ )
365
402
  .send({ from: this.adminAddress })
366
- .deployed();
367
- const amm = await AMMContract.deploy(
403
+ .wait();
404
+ const { contract: amm, instance: ammInstance } = await AMMContract.deploy(
368
405
  this.adminWallet,
369
406
  this.bananaCoin.address,
370
407
  this.candyBarCoin.address,
371
408
  liquidityToken.address,
372
409
  )
373
410
  .send({ from: this.adminAddress })
374
- .deployed();
411
+ .wait();
375
412
  this.logger.info(`AMM deployed at ${amm.address}`);
376
413
  await liquidityToken.methods.set_minter(amm.address, true).send({ from: this.adminAddress }).wait();
377
- return { ammAddress: amm.address, liquidityTokenAddress: liquidityToken.address };
414
+ return {
415
+ ammAddress: amm.address,
416
+ ammInstance,
417
+ liquidityTokenAddress: liquidityToken.address,
418
+ liquidityTokenInstance,
419
+ };
378
420
  },
379
- async ({ ammAddress, liquidityTokenAddress }) => {
380
- this.liquidityToken = await TokenContract.at(liquidityTokenAddress, this.adminWallet);
381
- this.amm = await AMMContract.at(ammAddress, this.adminWallet);
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();
382
427
  },
383
428
  );
384
429
  }
@@ -1,6 +1,4 @@
1
- import type { Logger } from '@aztec/aztec.js/log';
2
- import { BBNativePrivateKernelProver } from '@aztec/bb-prover/client/native';
3
- import { BBWASMBundlePrivateKernelProver } from '@aztec/bb-prover/client/wasm/bundle';
1
+ import { BBBundlePrivateKernelProver } from '@aztec/bb-prover/client/bundle';
4
2
  import { createLogger, logger } from '@aztec/foundation/log';
5
3
  import { Timer } from '@aztec/foundation/timer';
6
4
  import { WASMSimulator } from '@aztec/simulator/client';
@@ -11,26 +9,7 @@ import { Decoder } from 'msgpackr';
11
9
  import { readFile, readdir, writeFile } from 'node:fs/promises';
12
10
  import { join } from 'node:path';
13
11
 
14
- import { type Log, type ProverType, ProxyLogger, generateBenchmark } from './benchmark.js';
15
-
16
- type NativeProverConfig = { bbBinaryPath?: string; bbWorkingDirectory?: string };
17
-
18
- async function createProver(config: NativeProverConfig = {}, log: Logger) {
19
- const simulator = new WASMSimulator();
20
- if (!config.bbBinaryPath || !config.bbWorkingDirectory) {
21
- return { prover: new BBWASMBundlePrivateKernelProver(simulator, 16, log), type: 'wasm' as ProverType };
22
- } else {
23
- const bbConfig = config as Required<NativeProverConfig>;
24
- return {
25
- prover: await BBNativePrivateKernelProver.new(
26
- { bbSkipCleanup: false, numConcurrentIVCVerifiers: 1, bbIVCConcurrency: 1, ...bbConfig },
27
- simulator,
28
- log,
29
- ),
30
- type: 'native' as ProverType,
31
- };
32
- }
33
- }
12
+ import { type Log, ProxyLogger, generateBenchmark } from './benchmark.js';
34
13
 
35
14
  async function main() {
36
15
  ProxyLogger.create();
@@ -41,10 +20,9 @@ async function main() {
41
20
  }
42
21
  const flows = await readdir(ivcFolder);
43
22
  logger.info(`Flows in ${ivcFolder}: \n${flows.map(flowName => `\t- ${flowName}`).join('\n')}`);
44
- const { prover, type: proverType } = await createProver(
45
- { bbBinaryPath: process.env.BB_BINARY_PATH, bbWorkingDirectory: process.env.BB_WORKING_DIRECTORY },
46
- proxyLogger.createLogger('bb:prover'),
47
- );
23
+ const simulator = new WASMSimulator();
24
+ const log = proxyLogger.createLogger('bb:prover');
25
+ const prover = new BBBundlePrivateKernelProver(simulator, log);
48
26
 
49
27
  const userLog = createLogger('chonk_flows:data_processor');
50
28
 
@@ -96,7 +74,7 @@ async function main() {
96
74
  if (!(profile.stats.timings as ProvingTimings).proving) {
97
75
  (profile.stats.timings as ProvingTimings).proving = provingTime;
98
76
  }
99
- const benchmark = generateBenchmark(flow, currentLogs, profile.stats, privateExecutionSteps, proverType, error);
77
+ const benchmark = generateBenchmark(flow, currentLogs, profile.stats, privateExecutionSteps, 'native', error);
100
78
  await writeFile(join(ivcFolder, flow, 'benchmark.json'), JSON.stringify(benchmark, null, 2));
101
79
  proxyLogger.flushLogs();
102
80
  }
@@ -130,7 +130,7 @@ export class BlacklistTokenContractTest {
130
130
  },
131
131
  async ({ tokenContractAddress, badAccountAddress }) => {
132
132
  // Restore the token contract state.
133
- this.asset = await TokenBlacklistContract.at(tokenContractAddress, this.wallet);
133
+ this.asset = TokenBlacklistContract.at(tokenContractAddress, this.wallet);
134
134
  this.logger.verbose(`Token contract address: ${this.asset.address}`);
135
135
 
136
136
  this.tokenSim = new TokenSimulator(
@@ -141,7 +141,7 @@ export class BlacklistTokenContractTest {
141
141
  [this.adminAddress, this.otherAddress, this.blacklistedAddress],
142
142
  );
143
143
 
144
- this.badAccount = await InvalidAccountContract.at(badAccountAddress, this.wallet);
144
+ this.badAccount = InvalidAccountContract.at(badAccountAddress, this.wallet);
145
145
  this.logger.verbose(`Bad account address: ${this.badAccount.address}`);
146
146
 
147
147
  expect(await this.asset.methods.get_roles(this.adminAddress).simulate({ from: this.adminAddress })).toEqual(
@@ -134,9 +134,9 @@ export class CrossChainMessagingTest {
134
134
 
135
135
  return this.crossChainTestHarness.toCrossChainContext();
136
136
  },
137
- async crossChainContext => {
138
- this.l2Token = await TokenContract.at(crossChainContext.l2Token, this.wallet);
139
- this.l2Bridge = await TokenBridgeContract.at(crossChainContext.l2Bridge, this.wallet);
137
+ crossChainContext => {
138
+ this.l2Token = TokenContract.at(crossChainContext.l2Token, this.wallet);
139
+ this.l2Bridge = TokenBridgeContract.at(crossChainContext.l2Bridge, this.wallet);
140
140
 
141
141
  // There is an issue with the reviver so we are getting strings sometimes. Working around it here.
142
142
  this.ethAccount = EthAddress.fromString(crossChainContext.ethAccount.toString());
@@ -172,6 +172,7 @@ export class CrossChainMessagingTest {
172
172
  this.l1Client = l1Client;
173
173
  this.inbox = inbox;
174
174
  this.outbox = outbox;
175
+ return Promise.resolve();
175
176
  },
176
177
  );
177
178
  }
@@ -73,6 +73,6 @@ export class DeployTest {
73
73
  export type StatefulContractCtorArgs = Parameters<StatefulTestContract['methods']['constructor']>;
74
74
 
75
75
  export type ContractArtifactClass<T extends ContractBase> = {
76
- at(address: AztecAddress, wallet: Wallet): Promise<T>;
76
+ at(address: AztecAddress, wallet: Wallet): T;
77
77
  artifact: ContractArtifact;
78
78
  };