@aztec/end-to-end 0.0.1-commit.24de95ac → 0.0.1-commit.5476d83

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 +20 -18
  95. package/dest/spartan/utils.d.ts.map +1 -1
  96. package/dest/spartan/utils.js +59 -26
  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 +64 -24
@@ -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,8 @@ 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 getExternalIP(namespace: string, serviceName: string): Promise<string>;
54
+ export declare function startPortForwardForRPC(namespace: string, resourceType?: string, index?: number): Promise<{
54
55
  process: ChildProcess;
55
56
  port: number;
56
57
  }>;
@@ -58,20 +59,20 @@ export declare function startPortForwardForEthereum(namespace: string): Promise<
58
59
  process: ChildProcess;
59
60
  port: number;
60
61
  }>;
61
- export declare function deleteResourceByName({ resource, namespace, name, force, }: {
62
+ export declare function deleteResourceByName({ resource, namespace, name, force }: {
62
63
  resource: string;
63
64
  namespace: string;
64
65
  name: string;
65
66
  force?: boolean;
66
67
  }): Promise<string>;
67
- export declare function deleteResourceByLabel({ resource, namespace, label, timeout, force, }: {
68
+ export declare function deleteResourceByLabel({ resource, namespace, label, timeout, force }: {
68
69
  resource: string;
69
70
  namespace: string;
70
71
  label: string;
71
72
  timeout?: string;
72
73
  force?: boolean;
73
74
  }): Promise<string>;
74
- export declare function waitForResourceByLabel({ resource, label, namespace, condition, timeout, }: {
75
+ export declare function waitForResourceByLabel({ resource, label, namespace, condition, timeout }: {
75
76
  resource: string;
76
77
  label: string;
77
78
  namespace: string;
@@ -79,6 +80,7 @@ export declare function waitForResourceByLabel({ resource, label, namespace, con
79
80
  timeout?: string;
80
81
  }): Promise<string>;
81
82
  export declare function getChartDir(spartanDir: string, chartName: string): string;
83
+ export declare function cleanHelm(instanceName: string, namespace: string, logger: Logger): Promise<void>;
82
84
  /**
83
85
  * Installs a Helm chart with the given parameters.
84
86
  * @param instanceName - The name of the Helm chart instance.
@@ -96,7 +98,7 @@ export declare function getChartDir(spartanDir: string, chartName: string): stri
96
98
  * console.log(stdout);
97
99
  * ```
98
100
  */
99
- export declare function installChaosMeshChart({ instanceName, targetNamespace, valuesFile, helmChartDir, chaosMeshNamespace, timeout, clean, values, logger, }: {
101
+ export declare function installChaosMeshChart({ instanceName, targetNamespace, valuesFile, helmChartDir, timeout, clean, values, logger }: {
100
102
  instanceName: string;
101
103
  targetNamespace: string;
102
104
  valuesFile: string;
@@ -107,35 +109,35 @@ export declare function installChaosMeshChart({ instanceName, targetNamespace, v
107
109
  values?: Record<string, string | number>;
108
110
  logger: Logger;
109
111
  }): Promise<string>;
110
- export declare function applyProverFailure({ namespace, spartanDir, durationSeconds, logger, }: {
112
+ export declare function applyProverFailure({ namespace, spartanDir, durationSeconds, logger }: {
111
113
  namespace: string;
112
114
  spartanDir: string;
113
115
  durationSeconds: number;
114
116
  logger: Logger;
115
117
  }): Promise<string>;
116
- export declare function applyProverKill({ namespace, spartanDir, logger, }: {
118
+ export declare function applyProverKill({ namespace, spartanDir, logger }: {
117
119
  namespace: string;
118
120
  spartanDir: string;
119
121
  logger: Logger;
120
122
  }): Promise<string>;
121
- export declare function applyProverBrokerKill({ namespace, spartanDir, logger, }: {
123
+ export declare function applyProverBrokerKill({ namespace, spartanDir, logger }: {
122
124
  namespace: string;
123
125
  spartanDir: string;
124
126
  logger: Logger;
125
127
  }): Promise<string>;
126
- export declare function applyBootNodeFailure({ namespace, spartanDir, durationSeconds, logger, }: {
128
+ export declare function applyBootNodeFailure({ namespace, spartanDir, durationSeconds, logger }: {
127
129
  namespace: string;
128
130
  spartanDir: string;
129
131
  durationSeconds: number;
130
132
  logger: Logger;
131
133
  }): Promise<string>;
132
- export declare function applyValidatorKill({ namespace, spartanDir, logger, values, }: {
134
+ export declare function applyValidatorKill({ namespace, spartanDir, logger, values }: {
133
135
  namespace: string;
134
136
  spartanDir: string;
135
137
  logger: Logger;
136
138
  values?: Record<string, string | number>;
137
139
  }): Promise<string>;
138
- export declare function applyNetworkShaping({ valuesFile, namespace, spartanDir, logger, }: {
140
+ export declare function applyNetworkShaping({ valuesFile, namespace, spartanDir, logger }: {
139
141
  valuesFile: string;
140
142
  namespace: string;
141
143
  spartanDir: string;
@@ -147,7 +149,7 @@ export declare function restartBot(namespace: string, logger: Logger): Promise<v
147
149
  * Installs or upgrades the transfer bot Helm release for the given namespace.
148
150
  * Intended for test setup to enable L2 traffic generation only when needed.
149
151
  */
150
- export declare function installTransferBot({ namespace, spartanDir, logger, replicas, txIntervalSeconds, followChain, mnemonic, mnemonicStartIndex, botPrivateKey, nodeUrl, timeout, reuseValues, aztecSlotDuration, }: {
152
+ export declare function installTransferBot({ namespace, spartanDir, logger, replicas, txIntervalSeconds, followChain, mnemonic, mnemonicStartIndex, botPrivateKey, nodeUrl, timeout, reuseValues, aztecSlotDuration }: {
151
153
  namespace: string;
152
154
  spartanDir: string;
153
155
  logger: Logger;
@@ -171,7 +173,7 @@ export declare function uninstallTransferBot(namespace: string, logger: Logger):
171
173
  * Enables or disables probabilistic transaction dropping on validators and waits for rollout.
172
174
  * Wired to env vars P2P_DROP_TX and P2P_DROP_TX_CHANCE via Helm values.
173
175
  */
174
- export declare function setValidatorTxDrop({ namespace, enabled, probability, logger, }: {
176
+ export declare function setValidatorTxDrop({ namespace, enabled, probability, logger }: {
175
177
  namespace: string;
176
178
  enabled: boolean;
177
179
  probability: number;
@@ -215,4 +217,4 @@ export declare function getNodeClient(env: TestConfig, index?: number): Promise<
215
217
  process: ChildProcess;
216
218
  }>;
217
219
  export {};
218
- //# sourceMappingURL=utils.d.ts.map
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcGFydGFuL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUtwRCxPQUFPLEVBQ0wsS0FBSyxjQUFjLEVBQ25CLEtBQUssb0JBQW9CLEVBRXpCLHFCQUFxQixFQUN0QixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxZQUFZLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBSXBFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFNeEIsUUFBQSxNQUFNLGdCQUFnQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBUXBCLENBQUM7QUFFSCxNQUFNLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRTFELHdCQUFnQixnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsT0FBTyxHQUFHLFVBQVUsQ0FJekQ7QUF5QkQsd0JBQWdCLFdBQVcsV0FFMUI7QUFFRDs7Ozs7O0dBTUc7QUFDSCx3QkFBZ0IsV0FBVyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLG1CQUV2RjtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFB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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":"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"}
@@ -1,4 +1,5 @@
1
1
  import { createLogger } from '@aztec/aztec.js/log';
2
+ import { promiseWithResolvers } from '@aztec/foundation/promise';
2
3
  import { makeBackoff, retry } from '@aztec/foundation/retry';
3
4
  import { schemas } from '@aztec/foundation/schemas';
4
5
  import { sleep } from '@aztec/foundation/sleep';
@@ -137,9 +138,35 @@ export async function startPortForward({ resource, namespace, containerPort, hos
137
138
  port
138
139
  };
139
140
  }
140
- export function startPortForwardForRPC(namespace) {
141
+ export function getExternalIP(namespace, serviceName) {
142
+ const { promise, resolve, reject } = promiseWithResolvers();
143
+ const process1 = spawn('kubectl', [
144
+ 'get',
145
+ 'service',
146
+ '-n',
147
+ namespace,
148
+ `${namespace}-${serviceName}`,
149
+ '--output',
150
+ "jsonpath='{.status.loadBalancer.ingress[0].ip}'"
151
+ ], {
152
+ stdio: 'pipe'
153
+ });
154
+ let ip = '';
155
+ process1.stdout.on('data', (data)=>{
156
+ ip += data;
157
+ });
158
+ process1.on('error', (err)=>{
159
+ reject(err);
160
+ });
161
+ process1.on('exit', ()=>{
162
+ // kubectl prints JSON. Remove the quotes
163
+ resolve(ip.replace(/"|'/g, ''));
164
+ });
165
+ return promise;
166
+ }
167
+ export function startPortForwardForRPC(namespace, resourceType = 'services', index = 0) {
141
168
  return startPortForward({
142
- resource: `services/${namespace}-rpc-aztec-node`,
169
+ resource: `${resourceType}/${namespace}-rpc-aztec-node-${index}`,
143
170
  namespace,
144
171
  containerPort: 8080
145
172
  });
@@ -197,6 +224,33 @@ async function execHelmCommand(args) {
197
224
  const { stdout } = await execAsync(helmCommand);
198
225
  return stdout;
199
226
  }
227
+ export async function cleanHelm(instanceName, namespace, logger) {
228
+ // uninstall the helm chart if it exists
229
+ logger.info(`Uninstalling helm chart ${instanceName}`);
230
+ await execAsync(`helm uninstall ${instanceName} --namespace ${namespace} --wait --ignore-not-found`);
231
+ // and delete the chaos-mesh resources created by this release
232
+ const deleteByLabel = async (resource)=>{
233
+ const args = {
234
+ resource,
235
+ namespace: namespace,
236
+ label: `app.kubernetes.io/instance=${instanceName}`
237
+ };
238
+ logger.info(`Deleting ${resource} resources for release ${instanceName}`);
239
+ await deleteResourceByLabel(args).catch((e)=>{
240
+ logger.error(`Error deleting ${resource}: ${e}`);
241
+ logger.info(`Force deleting ${resource}`);
242
+ return deleteResourceByLabel({
243
+ ...args,
244
+ force: true
245
+ });
246
+ });
247
+ };
248
+ await deleteByLabel('podchaos');
249
+ await deleteByLabel('networkchaos');
250
+ await deleteByLabel('podnetworkchaos');
251
+ await deleteByLabel('workflows');
252
+ await deleteByLabel('workflownodes');
253
+ }
200
254
  /**
201
255
  * Installs a Helm chart with the given parameters.
202
256
  * @param instanceName - The name of the Helm chart instance.
@@ -213,35 +267,14 @@ async function execHelmCommand(args) {
213
267
  * const stdout = await installChaosMeshChart({ instanceName: 'force-reorg', targetNamespace: 'smoke', valuesFile: 'prover-failure.yaml'});
214
268
  * console.log(stdout);
215
269
  * ```
216
- */ export async function installChaosMeshChart({ instanceName, targetNamespace, valuesFile, helmChartDir, chaosMeshNamespace = 'chaos-mesh', timeout = '10m', clean = true, values = {}, logger }) {
270
+ */ export async function installChaosMeshChart({ instanceName, targetNamespace, valuesFile, helmChartDir, timeout = '10m', clean = true, values = {}, logger }) {
217
271
  if (clean) {
218
- // uninstall the helm chart if it exists
219
- logger.info(`Uninstalling helm chart ${instanceName}`);
220
- await execAsync(`helm uninstall ${instanceName} --namespace ${chaosMeshNamespace} --wait --ignore-not-found`);
221
- // and delete the chaos-mesh resources created by this release
222
- const deleteByLabel = async (resource)=>{
223
- const args = {
224
- resource,
225
- namespace: chaosMeshNamespace,
226
- label: `app.kubernetes.io/instance=${instanceName}`
227
- };
228
- logger.info(`Deleting ${resource} resources for release ${instanceName}`);
229
- await deleteResourceByLabel(args).catch((e)=>{
230
- logger.error(`Error deleting ${resource}: ${e}`);
231
- logger.info(`Force deleting ${resource}`);
232
- return deleteResourceByLabel({
233
- ...args,
234
- force: true
235
- });
236
- });
237
- };
238
- await deleteByLabel('podchaos');
239
- await deleteByLabel('networkchaos');
272
+ await cleanHelm(instanceName, targetNamespace, logger);
240
273
  }
241
274
  return execHelmCommand({
242
275
  instanceName,
243
276
  helmChartDir,
244
- namespace: chaosMeshNamespace,
277
+ namespace: targetNamespace,
245
278
  valuesFile,
246
279
  timeout,
247
280
  values: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/end-to-end",
3
- "version": "0.0.1-commit.24de95ac",
3
+ "version": "0.0.1-commit.5476d83",
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.24de95ac",
29
- "@aztec/archiver": "0.0.1-commit.24de95ac",
30
- "@aztec/aztec": "0.0.1-commit.24de95ac",
31
- "@aztec/aztec-node": "0.0.1-commit.24de95ac",
32
- "@aztec/aztec.js": "0.0.1-commit.24de95ac",
33
- "@aztec/bb-prover": "0.0.1-commit.24de95ac",
34
- "@aztec/blob-lib": "0.0.1-commit.24de95ac",
35
- "@aztec/blob-sink": "0.0.1-commit.24de95ac",
36
- "@aztec/bot": "0.0.1-commit.24de95ac",
37
- "@aztec/cli": "0.0.1-commit.24de95ac",
38
- "@aztec/constants": "0.0.1-commit.24de95ac",
39
- "@aztec/entrypoints": "0.0.1-commit.24de95ac",
40
- "@aztec/epoch-cache": "0.0.1-commit.24de95ac",
41
- "@aztec/ethereum": "0.0.1-commit.24de95ac",
42
- "@aztec/foundation": "0.0.1-commit.24de95ac",
43
- "@aztec/kv-store": "0.0.1-commit.24de95ac",
44
- "@aztec/l1-artifacts": "0.0.1-commit.24de95ac",
45
- "@aztec/merkle-tree": "0.0.1-commit.24de95ac",
46
- "@aztec/node-keystore": "0.0.1-commit.24de95ac",
47
- "@aztec/noir-contracts.js": "0.0.1-commit.24de95ac",
48
- "@aztec/noir-noirc_abi": "0.0.1-commit.24de95ac",
49
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.24de95ac",
50
- "@aztec/noir-test-contracts.js": "0.0.1-commit.24de95ac",
51
- "@aztec/p2p": "0.0.1-commit.24de95ac",
52
- "@aztec/protocol-contracts": "0.0.1-commit.24de95ac",
53
- "@aztec/prover-client": "0.0.1-commit.24de95ac",
54
- "@aztec/prover-node": "0.0.1-commit.24de95ac",
55
- "@aztec/pxe": "0.0.1-commit.24de95ac",
56
- "@aztec/sequencer-client": "0.0.1-commit.24de95ac",
57
- "@aztec/simulator": "0.0.1-commit.24de95ac",
58
- "@aztec/slasher": "0.0.1-commit.24de95ac",
59
- "@aztec/stdlib": "0.0.1-commit.24de95ac",
60
- "@aztec/telemetry-client": "0.0.1-commit.24de95ac",
61
- "@aztec/test-wallet": "0.0.1-commit.24de95ac",
62
- "@aztec/validator-client": "0.0.1-commit.24de95ac",
63
- "@aztec/world-state": "0.0.1-commit.24de95ac",
28
+ "@aztec/accounts": "0.0.1-commit.5476d83",
29
+ "@aztec/archiver": "0.0.1-commit.5476d83",
30
+ "@aztec/aztec": "0.0.1-commit.5476d83",
31
+ "@aztec/aztec-node": "0.0.1-commit.5476d83",
32
+ "@aztec/aztec.js": "0.0.1-commit.5476d83",
33
+ "@aztec/bb-prover": "0.0.1-commit.5476d83",
34
+ "@aztec/bb.js": "0.0.1-commit.5476d83",
35
+ "@aztec/blob-lib": "0.0.1-commit.5476d83",
36
+ "@aztec/blob-sink": "0.0.1-commit.5476d83",
37
+ "@aztec/bot": "0.0.1-commit.5476d83",
38
+ "@aztec/cli": "0.0.1-commit.5476d83",
39
+ "@aztec/constants": "0.0.1-commit.5476d83",
40
+ "@aztec/entrypoints": "0.0.1-commit.5476d83",
41
+ "@aztec/epoch-cache": "0.0.1-commit.5476d83",
42
+ "@aztec/ethereum": "0.0.1-commit.5476d83",
43
+ "@aztec/foundation": "0.0.1-commit.5476d83",
44
+ "@aztec/kv-store": "0.0.1-commit.5476d83",
45
+ "@aztec/l1-artifacts": "0.0.1-commit.5476d83",
46
+ "@aztec/merkle-tree": "0.0.1-commit.5476d83",
47
+ "@aztec/node-keystore": "0.0.1-commit.5476d83",
48
+ "@aztec/noir-contracts.js": "0.0.1-commit.5476d83",
49
+ "@aztec/noir-noirc_abi": "0.0.1-commit.5476d83",
50
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.5476d83",
51
+ "@aztec/noir-test-contracts.js": "0.0.1-commit.5476d83",
52
+ "@aztec/p2p": "0.0.1-commit.5476d83",
53
+ "@aztec/protocol-contracts": "0.0.1-commit.5476d83",
54
+ "@aztec/prover-client": "0.0.1-commit.5476d83",
55
+ "@aztec/prover-node": "0.0.1-commit.5476d83",
56
+ "@aztec/pxe": "0.0.1-commit.5476d83",
57
+ "@aztec/sequencer-client": "0.0.1-commit.5476d83",
58
+ "@aztec/simulator": "0.0.1-commit.5476d83",
59
+ "@aztec/slasher": "0.0.1-commit.5476d83",
60
+ "@aztec/stdlib": "0.0.1-commit.5476d83",
61
+ "@aztec/telemetry-client": "0.0.1-commit.5476d83",
62
+ "@aztec/test-wallet": "0.0.1-commit.5476d83",
63
+ "@aztec/validator-client": "0.0.1-commit.5476d83",
64
+ "@aztec/world-state": "0.0.1-commit.5476d83",
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
  }