@aztec/aztec 0.0.1-commit.e3c1de76 → 0.0.1-commit.e588bc7e5

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 (130) hide show
  1. package/dest/bin/index.js +7 -3
  2. package/dest/cli/admin_api_key_store.d.ts +45 -0
  3. package/dest/cli/admin_api_key_store.d.ts.map +1 -0
  4. package/dest/cli/admin_api_key_store.js +98 -0
  5. package/dest/cli/aztec_start_action.d.ts +1 -1
  6. package/dest/cli/aztec_start_action.d.ts.map +1 -1
  7. package/dest/cli/aztec_start_action.js +61 -16
  8. package/dest/cli/aztec_start_options.d.ts +1 -1
  9. package/dest/cli/aztec_start_options.d.ts.map +1 -1
  10. package/dest/cli/aztec_start_options.js +25 -9
  11. package/dest/cli/cli.d.ts +1 -1
  12. package/dest/cli/cli.d.ts.map +1 -1
  13. package/dest/cli/cli.js +3 -4
  14. package/dest/cli/cmds/compile.d.ts +4 -0
  15. package/dest/cli/cmds/compile.d.ts.map +1 -0
  16. package/dest/cli/cmds/compile.js +168 -0
  17. package/dest/cli/cmds/profile.d.ts +4 -0
  18. package/dest/cli/cmds/profile.d.ts.map +1 -0
  19. package/dest/cli/cmds/profile.js +8 -0
  20. package/dest/cli/cmds/profile_flamegraph.d.ts +4 -0
  21. package/dest/cli/cmds/profile_flamegraph.d.ts.map +1 -0
  22. package/dest/cli/cmds/profile_flamegraph.js +52 -0
  23. package/dest/cli/cmds/profile_gates.d.ts +4 -0
  24. package/dest/cli/cmds/profile_gates.d.ts.map +1 -0
  25. package/dest/cli/cmds/profile_gates.js +58 -0
  26. package/dest/cli/cmds/profile_utils.d.ts +18 -0
  27. package/dest/cli/cmds/profile_utils.d.ts.map +1 -0
  28. package/dest/cli/cmds/profile_utils.js +50 -0
  29. package/dest/cli/cmds/standby.d.ts +32 -0
  30. package/dest/cli/cmds/standby.d.ts.map +1 -0
  31. package/dest/cli/cmds/standby.js +97 -0
  32. package/dest/cli/cmds/start_archiver.d.ts +2 -2
  33. package/dest/cli/cmds/start_archiver.d.ts.map +1 -1
  34. package/dest/cli/cmds/start_archiver.js +1 -1
  35. package/dest/cli/cmds/start_bot.d.ts +3 -3
  36. package/dest/cli/cmds/start_bot.d.ts.map +1 -1
  37. package/dest/cli/cmds/start_bot.js +9 -5
  38. package/dest/cli/cmds/start_node.d.ts +3 -2
  39. package/dest/cli/cmds/start_node.d.ts.map +1 -1
  40. package/dest/cli/cmds/start_node.js +71 -27
  41. package/dest/cli/cmds/start_prover_agent.d.ts +1 -1
  42. package/dest/cli/cmds/start_prover_agent.d.ts.map +1 -1
  43. package/dest/cli/cmds/start_prover_agent.js +4 -16
  44. package/dest/cli/cmds/start_prover_broker.d.ts +1 -1
  45. package/dest/cli/cmds/start_prover_broker.d.ts.map +1 -1
  46. package/dest/cli/cmds/start_prover_broker.js +14 -8
  47. package/dest/cli/cmds/utils/artifacts.d.ts +21 -0
  48. package/dest/cli/cmds/utils/artifacts.d.ts.map +1 -0
  49. package/dest/cli/cmds/utils/artifacts.js +24 -0
  50. package/dest/cli/cmds/utils/collect_crate_dirs.d.ts +21 -0
  51. package/dest/cli/cmds/utils/collect_crate_dirs.d.ts.map +1 -0
  52. package/dest/cli/cmds/utils/collect_crate_dirs.js +114 -0
  53. package/dest/cli/cmds/utils/needs_recompile.d.ts +10 -0
  54. package/dest/cli/cmds/utils/needs_recompile.d.ts.map +1 -0
  55. package/dest/cli/cmds/utils/needs_recompile.js +90 -0
  56. package/dest/cli/cmds/utils/spawn.d.ts +3 -0
  57. package/dest/cli/cmds/utils/spawn.d.ts.map +1 -0
  58. package/dest/cli/cmds/utils/spawn.js +16 -0
  59. package/dest/cli/cmds/utils/warn_if_aztec_version_mismatch.d.ts +4 -0
  60. package/dest/cli/cmds/utils/warn_if_aztec_version_mismatch.d.ts.map +1 -0
  61. package/dest/cli/cmds/utils/warn_if_aztec_version_mismatch.js +41 -0
  62. package/dest/cli/util.d.ts +7 -18
  63. package/dest/cli/util.d.ts.map +1 -1
  64. package/dest/cli/util.js +50 -86
  65. package/dest/examples/token.js +6 -6
  66. package/dest/local-network/banana_fpc.js +1 -1
  67. package/dest/local-network/local-network.d.ts +4 -2
  68. package/dest/local-network/local-network.d.ts.map +1 -1
  69. package/dest/local-network/local-network.js +50 -18
  70. package/dest/testing/anvil_test_watcher.d.ts +9 -1
  71. package/dest/testing/anvil_test_watcher.d.ts.map +1 -1
  72. package/dest/testing/anvil_test_watcher.js +53 -16
  73. package/dest/testing/cheat_codes.js +1 -1
  74. package/dest/testing/epoch_test_settler.d.ts +1 -1
  75. package/dest/testing/epoch_test_settler.d.ts.map +1 -1
  76. package/dest/testing/epoch_test_settler.js +3 -4
  77. package/dest/testing/index.d.ts +2 -1
  78. package/dest/testing/index.d.ts.map +1 -1
  79. package/dest/testing/index.js +1 -0
  80. package/dest/testing/token_allowed_setup.d.ts +7 -0
  81. package/dest/testing/token_allowed_setup.d.ts.map +1 -0
  82. package/dest/testing/token_allowed_setup.js +20 -0
  83. package/package.json +34 -34
  84. package/scripts/add_crate.sh +102 -0
  85. package/scripts/aztec.sh +11 -5
  86. package/scripts/init.sh +23 -19
  87. package/scripts/new.sh +48 -24
  88. package/scripts/setup_workspace.sh +68 -0
  89. package/src/bin/index.ts +7 -3
  90. package/src/cli/admin_api_key_store.ts +128 -0
  91. package/src/cli/aztec_start_action.ts +60 -12
  92. package/src/cli/aztec_start_options.ts +27 -8
  93. package/src/cli/cli.ts +3 -4
  94. package/src/cli/cmds/compile.ts +194 -0
  95. package/src/cli/cmds/profile.ts +25 -0
  96. package/src/cli/cmds/profile_flamegraph.ts +64 -0
  97. package/src/cli/cmds/profile_gates.ts +68 -0
  98. package/src/cli/cmds/profile_utils.ts +58 -0
  99. package/src/cli/cmds/standby.ts +132 -0
  100. package/src/cli/cmds/start_archiver.ts +1 -1
  101. package/src/cli/cmds/start_bot.ts +8 -5
  102. package/src/cli/cmds/start_node.ts +83 -33
  103. package/src/cli/cmds/start_prover_agent.ts +5 -8
  104. package/src/cli/cmds/start_prover_broker.ts +19 -15
  105. package/src/cli/cmds/utils/artifacts.ts +44 -0
  106. package/src/cli/cmds/utils/collect_crate_dirs.ts +118 -0
  107. package/src/cli/cmds/utils/needs_recompile.ts +98 -0
  108. package/src/cli/cmds/utils/spawn.ts +16 -0
  109. package/src/cli/cmds/utils/warn_if_aztec_version_mismatch.ts +54 -0
  110. package/src/cli/util.ts +57 -95
  111. package/src/examples/token.ts +8 -6
  112. package/src/local-network/banana_fpc.ts +1 -1
  113. package/src/local-network/local-network.ts +54 -17
  114. package/src/testing/anvil_test_watcher.ts +60 -16
  115. package/src/testing/cheat_codes.ts +1 -1
  116. package/src/testing/epoch_test_settler.ts +3 -4
  117. package/src/testing/index.ts +1 -0
  118. package/src/testing/token_allowed_setup.ts +19 -0
  119. package/dest/cli/cmds/start_prover_node.d.ts +0 -7
  120. package/dest/cli/cmds/start_prover_node.d.ts.map +0 -1
  121. package/dest/cli/cmds/start_prover_node.js +0 -108
  122. package/dest/cli/release_version.d.ts +0 -2
  123. package/dest/cli/release_version.d.ts.map +0 -1
  124. package/dest/cli/release_version.js +0 -14
  125. package/scripts/compile.sh +0 -44
  126. package/scripts/extract_function.js +0 -47
  127. package/scripts/flamegraph.sh +0 -59
  128. package/scripts/setup_project.sh +0 -31
  129. package/src/cli/cmds/start_prover_node.ts +0 -124
  130. package/src/cli/release_version.ts +0 -21
@@ -0,0 +1,41 @@
1
+ import { getPackageVersion } from '@aztec/stdlib/update-checker';
2
+ import TOML from '@iarna/toml';
3
+ import { readFile } from 'fs/promises';
4
+ import { join } from 'path';
5
+ import { collectCrateDirs } from './collect_crate_dirs.js';
6
+ /** Warns if the `aztec` dependency tag in any crate's Nargo.toml doesn't match the CLI version. */ export async function warnIfAztecVersionMismatch(log, cliVersion) {
7
+ const version = cliVersion ?? getPackageVersion();
8
+ if (!version) {
9
+ log(`WARNING: aztec CLI version not found. Skipping dependency compatibility check.`);
10
+ return;
11
+ }
12
+ const expectedTag = `v${version}`;
13
+ const mismatches = [];
14
+ const crateDirs = await collectCrateDirs('.', {
15
+ skipGitDeps: true
16
+ });
17
+ for (const dir of crateDirs){
18
+ const tomlPath = join(dir, 'Nargo.toml');
19
+ let content;
20
+ try {
21
+ content = await readFile(tomlPath, 'utf-8');
22
+ } catch {
23
+ continue;
24
+ }
25
+ const parsed = TOML.parse(content);
26
+ const aztecDep = parsed.dependencies?.aztec;
27
+ if (!aztecDep || typeof aztecDep !== 'object' || typeof aztecDep.tag !== 'string') {
28
+ continue;
29
+ }
30
+ if (aztecDep.tag !== expectedTag) {
31
+ mismatches.push({
32
+ file: tomlPath,
33
+ tag: aztecDep.tag
34
+ });
35
+ }
36
+ }
37
+ if (mismatches.length > 0) {
38
+ const details = mismatches.map((m)=>` ${m.file} (${m.tag})`).join('\n');
39
+ log(`WARNING: Aztec dependency version mismatch detected.\n` + `The following crates have an aztec dependency that does not match the CLI version (${expectedTag}):\n` + `${details}\n\n` + `See https://docs.aztec.network/errors/9 for how to update your dependencies.`);
40
+ }
41
+ }
@@ -1,13 +1,10 @@
1
1
  import type { AztecNodeConfig } from '@aztec/aztec-node';
2
2
  import type { AccountManager } from '@aztec/aztec.js/wallet';
3
3
  import type { ViemClient } from '@aztec/ethereum/types';
4
- import type { ConfigMappingsType } from '@aztec/foundation/config';
5
- import { Fr } from '@aztec/foundation/curves/bn254';
6
- import { EthAddress } from '@aztec/foundation/eth-address';
4
+ import type { ConfigMappingsType, NetworkNames } from '@aztec/foundation/config';
7
5
  import { type LogFn } from '@aztec/foundation/log';
8
- import type { SharedNodeConfig } from '@aztec/node-lib/config';
9
6
  import type { ProverConfig } from '@aztec/stdlib/interfaces/server';
10
- import type { TestWallet } from '@aztec/test-wallet/server';
7
+ import type { EmbeddedWallet } from '@aztec/wallets/embedded';
11
8
  import type { Command } from 'commander';
12
9
  import { type AztecStartOption } from './aztec_start_options.js';
13
10
  export declare const enum ExitCode {
@@ -26,19 +23,10 @@ export declare const installSignalHandlers: (logFn: LogFn, cb?: (() => Promise<v
26
23
  /**
27
24
  * Creates logs for the initial accounts
28
25
  * @param accounts - The initial accounts
29
- * @param wallet - A TestWallet instance to get the registered accounts
26
+ * @param wallet - A EmbeddedWallet instance to get the registered accounts
30
27
  * @returns A string array containing the initial accounts details
31
28
  */
32
- export declare function createAccountLogs(accountsWithSecretKeys: {
33
- /**
34
- * The account object
35
- */
36
- account: AccountManager;
37
- /**
38
- * The secret key of the account
39
- */
40
- secretKey: Fr;
41
- }[], wallet: TestWallet): Promise<string[]>;
29
+ export declare function createAccountLogs(accountManagers: AccountManager[], wallet: EmbeddedWallet): Promise<string[]>;
42
30
  export declare function getMaxLengths(sections: {
43
31
  [key: string]: AztecStartOption[];
44
32
  }): [number, number];
@@ -73,5 +61,6 @@ export declare function preloadCrsDataForVerifying({ realProofs }: Pick<AztecNod
73
61
  * @param log - Logging function
74
62
  */
75
63
  export declare function preloadCrsDataForServerSideProving({ realProofs }: Pick<ProverConfig, 'realProofs'>, log: LogFn): Promise<void>;
76
- export declare function setupUpdateMonitor(autoUpdateMode: SharedNodeConfig['autoUpdate'], updatesLocation: URL, followsCanonicalRollup: boolean, publicClient: ViemClient, registryContractAddress: EthAddress, signalHandlers: Array<() => Promise<void>>, updateNodeConfig?: (config: object) => Promise<void>): Promise<void>;
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxLQUFLLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVwRSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc1RCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFekMsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQXFCLE1BQU0sMEJBQTBCLENBQUM7QUFFcEYsMEJBQWtCLFFBQVE7SUFDeEIsT0FBTyxJQUFJO0lBQ1gsS0FBSyxJQUFJO0lBQ1QsY0FBYyxLQUFLO0lBQ25CLGVBQWUsS0FBSztJQUVwQixNQUFNLE1BQU07SUFDWixNQUFNLE1BQU07SUFDWixPQUFPLE1BQU07SUFDYixPQUFPLE1BQU07Q0FDZDtBQUdELHdCQUFnQixRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FnQjFHO0FBRUQsd0JBQWdCLGNBQWMsSUFBSSxPQUFPLENBRXhDO0FBRUQsZUFBTyxNQUFNLHFCQUFxQixrRUFhakMsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsd0JBQXNCLGlCQUFpQixDQUNyQyxzQkFBc0IsRUFBRTtJQUN0Qjs7T0FFRztJQUNILE9BQU8sRUFBRSxjQUFjLENBQUM7SUFDeEI7O09BRUc7SUFDSCxTQUFTLEVBQUUsRUFBRSxDQUFDO0NBQ2YsRUFBRSxFQUNILE1BQU0sRUFBRSxVQUFVLHFCQXlCbkI7QUFFRCx3QkFBZ0IsYUFBYSxDQUFDLFFBQVEsRUFBRTtJQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsRUFBRSxDQUFBO0NBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FpQi9GO0FBRUQsd0JBQWdCLGNBQWMsQ0FDNUIsTUFBTSxFQUFFLE1BQU0sRUFDZCxZQUFZLEVBQUUsTUFBTSxFQUNwQixNQUFNLEVBQUUsTUFBTSxFQUNkLGVBQWUsRUFBRSxNQUFNLEVBQ3ZCLGdCQUFnQixFQUFFLE1BQU0sR0FDdkIsTUFBTSxDQUtSO0FBaUNELGVBQU8sTUFBTSxVQUFVLHFEQVN0QixDQUFDO0FBRUYsZUFBTyxNQUFNLHVCQUF1QixjQXlCbkMsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsZUFBTyxNQUFNLHdCQUF3QiwwRUFTcEMsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCxlQUFPLE1BQU0sc0JBQXNCLEdBQUksQ0FBQyx3RkFrQ3ZDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsd0JBQXNCLDBCQUEwQixDQUM5QyxFQUFFLFVBQVUsRUFBRSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDLEVBQ25ELEdBQUcsRUFBRSxLQUFLLEdBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUtmO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFzQixrQ0FBa0MsQ0FDdEQsRUFBRSxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxFQUNoRCxHQUFHLEVBQUUsS0FBSyxHQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FLZjtBQUVELHdCQUFzQixrQkFBa0IsQ0FDdEMsY0FBYyxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxFQUM5QyxlQUFlLEVBQUUsR0FBRyxFQUNwQixzQkFBc0IsRUFBRSxPQUFPLEVBQy9CLFlBQVksRUFBRSxVQUFVLEVBQ3hCLHVCQUF1QixFQUFFLFVBQVUsRUFDbkMsY0FBYyxFQUFFLEtBQUssQ0FBQyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUMxQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQStFckQifQ==
64
+ export declare function setupVersionChecker(network: NetworkNames, followsCanonicalRollup: boolean, publicClient: ViemClient, signalHandlers: Array<() => Promise<void>>, cacheDir?: string): Promise<void>;
65
+ export declare function stringifyConfig(config: object): string;
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRzdELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWpGLE9BQU8sRUFBRSxLQUFLLEtBQUssRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVwRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHekMsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQXFCLE1BQU0sMEJBQTBCLENBQUM7QUFFcEYsMEJBQWtCLFFBQVE7SUFDeEIsT0FBTyxJQUFJO0lBQ1gsS0FBSyxJQUFJO0lBQ1QsY0FBYyxLQUFLO0lBQ25CLGVBQWUsS0FBSztJQUVwQixNQUFNLE1BQU07SUFDWixNQUFNLE1BQU07SUFDWixPQUFPLE1BQU07SUFDYixPQUFPLE1BQU07Q0FDZDtBQUdELHdCQUFnQixRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FnQjFHO0FBRUQsd0JBQWdCLGNBQWMsSUFBSSxPQUFPLENBRXhDO0FBRUQsZUFBTyxNQUFNLHFCQUFxQixrRUFhakMsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsd0JBQXNCLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsY0FBYyxxQkF5QmhHO0FBRUQsd0JBQWdCLGFBQWEsQ0FBQyxRQUFRLEVBQUU7SUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQTtDQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBaUIvRjtBQUVELHdCQUFnQixjQUFjLENBQzVCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsWUFBWSxFQUFFLE1BQU0sRUFDcEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxlQUFlLEVBQUUsTUFBTSxFQUN2QixnQkFBZ0IsRUFBRSxNQUFNLEdBQ3ZCLE1BQU0sQ0FLUjtBQWlDRCxlQUFPLE1BQU0sVUFBVSxxREFTdEIsQ0FBQztBQUVGLGVBQU8sTUFBTSx1QkFBdUIsY0F5Qm5DLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILGVBQU8sTUFBTSx3QkFBd0IsMEVBU3BDLENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsZUFBTyxNQUFNLHNCQUFzQixHQUFJLENBQUMsd0ZBa0N2QyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILHdCQUFzQiwwQkFBMEIsQ0FDOUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQyxFQUNuRCxHQUFHLEVBQUUsS0FBSyxHQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FLZjtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBc0Isa0NBQWtDLENBQ3RELEVBQUUsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsRUFDaEQsR0FBRyxFQUFFLEtBQUssR0FDVCxPQUFPLENBQUMsSUFBSSxDQUFDLENBS2Y7QUFFRCx3QkFBc0IsbUJBQW1CLENBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQ3JCLHNCQUFzQixFQUFFLE9BQU8sRUFDL0IsWUFBWSxFQUFFLFVBQVUsRUFDeEIsY0FBYyxFQUFFLEtBQUssQ0FBQyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUMxQyxRQUFRLENBQUMsRUFBRSxNQUFNLEdBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0E4Q2Y7QUFFRCx3QkFBZ0IsZUFBZSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUl0RCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/cli/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,KAAK,gBAAgB,EAAqB,MAAM,0BAA0B,CAAC;AAEpF,0BAAkB,QAAQ;IACxB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,cAAc,KAAK;IACnB,eAAe,KAAK;IAEpB,MAAM,MAAM;IACZ,MAAM,MAAM;IACZ,OAAO,MAAM;IACb,OAAO,MAAM;CACd;AAGD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAgB1G;AAED,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,eAAO,MAAM,qBAAqB,kEAajC,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,sBAAsB,EAAE;IACtB;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IACxB;;OAEG;IACH,SAAS,EAAE,EAAE,CAAC;CACf,EAAE,EACH,MAAM,EAAE,UAAU,qBAyBnB;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAiB/F;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAKR;AAiCD,eAAO,MAAM,UAAU,qDAStB,CAAC;AAEF,eAAO,MAAM,uBAAuB,cAyBnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,0EASpC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,CAAC,wFAkCvC,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,EACnD,GAAG,EAAE,KAAK,GACT,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;GAIG;AACH,wBAAsB,kCAAkC,CACtD,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EAChD,GAAG,EAAE,KAAK,GACT,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,kBAAkB,CACtC,cAAc,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAC9C,eAAe,EAAE,GAAG,EACpB,sBAAsB,EAAE,OAAO,EAC/B,YAAY,EAAE,UAAU,EACxB,uBAAuB,EAAE,UAAU,EACnC,cAAc,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAC1C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,iBA+ErD"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/cli/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EAAE,KAAK,gBAAgB,EAAqB,MAAM,0BAA0B,CAAC;AAEpF,0BAAkB,QAAQ;IACxB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,cAAc,KAAK;IACnB,eAAe,KAAK;IAEpB,MAAM,MAAM;IACZ,MAAM,MAAM;IACZ,OAAO,MAAM;IACb,OAAO,MAAM;CACd;AAGD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAgB1G;AAED,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,eAAO,MAAM,qBAAqB,kEAajC,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,eAAe,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,cAAc,qBAyBhG;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAiB/F;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAKR;AAiCD,eAAO,MAAM,UAAU,qDAStB,CAAC;AAEF,eAAO,MAAM,uBAAuB,cAyBnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,0EASpC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,CAAC,wFAkCvC,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,EACnD,GAAG,EAAE,KAAK,GACT,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;GAIG;AACH,wBAAsB,kCAAkC,CACtD,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EAChD,GAAG,EAAE,KAAK,GACT,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,YAAY,EACrB,sBAAsB,EAAE,OAAO,EAC/B,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAC1C,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAItD"}
package/dest/cli/util.js CHANGED
@@ -1,5 +1,8 @@
1
+ import { getNetworkConfig } from '@aztec/cli/config';
2
+ import { RegistryContract } from '@aztec/ethereum/contracts';
3
+ import { jsonStringify } from '@aztec/foundation/json-rpc';
1
4
  import { createLogger } from '@aztec/foundation/log';
2
- import { getTelemetryClient } from '@aztec/telemetry-client/start';
5
+ import { getPackageVersion } from '@aztec/stdlib/update-checker';
3
6
  import chalk from 'chalk';
4
7
  import { aztecStartOptions } from './aztec_start_options.js';
5
8
  export var ExitCode = /*#__PURE__*/ function(ExitCode) {
@@ -63,19 +66,20 @@ export const installSignalHandlers = (logFn, cb)=>{
63
66
  /**
64
67
  * Creates logs for the initial accounts
65
68
  * @param accounts - The initial accounts
66
- * @param wallet - A TestWallet instance to get the registered accounts
69
+ * @param wallet - A EmbeddedWallet instance to get the registered accounts
67
70
  * @returns A string array containing the initial accounts details
68
- */ export async function createAccountLogs(accountsWithSecretKeys, wallet) {
71
+ */ export async function createAccountLogs(accountManagers, wallet) {
69
72
  const registeredAccounts = await wallet.getAccounts();
70
73
  const accountLogStrings = [
71
74
  `Initial Accounts:\n\n`
72
75
  ];
73
- for (const accountWithSecretKey of accountsWithSecretKeys){
74
- const completeAddress = await accountWithSecretKey.account.getCompleteAddress();
76
+ for (const accountManager of accountManagers){
77
+ const account = await accountManager.getAccount();
78
+ const completeAddress = account.getCompleteAddress();
75
79
  if (registeredAccounts.find((a)=>a.item.equals(completeAddress.address))) {
76
80
  accountLogStrings.push(` Address: ${completeAddress.address.toString()}\n`);
77
81
  accountLogStrings.push(` Partial Address: ${completeAddress.partialAddress.toString()}\n`);
78
- accountLogStrings.push(` Secret Key: ${accountWithSecretKey.secretKey.toString()}\n`);
82
+ accountLogStrings.push(` Secret Key: ${account.getSecretKey().toString()}\n`);
79
83
  accountLogStrings.push(` Master nullifier public key: ${completeAddress.publicKeys.masterNullifierPublicKey.toString()}\n`);
80
84
  accountLogStrings.push(` Master incoming viewing public key: ${completeAddress.publicKeys.masterIncomingViewingPublicKey.toString()}\n\n`);
81
85
  accountLogStrings.push(` Master outgoing viewing public key: ${completeAddress.publicKeys.masterOutgoingViewingPublicKey.toString()}\n\n`);
@@ -218,7 +222,7 @@ export const printAztecStartHelpText = ()=>{
218
222
  const { Crs, GrumpkinCrs } = await import('@aztec/bb.js');
219
223
  await Promise.all([
220
224
  Crs.new(2 ** 1, undefined, log),
221
- GrumpkinCrs.new(2 ** 16 + 1, undefined, log)
225
+ GrumpkinCrs.new(2 ** 16, undefined, log)
222
226
  ]);
223
227
  }
224
228
  }
@@ -230,95 +234,55 @@ export const printAztecStartHelpText = ()=>{
230
234
  if (realProofs) {
231
235
  const { Crs, GrumpkinCrs } = await import('@aztec/bb.js');
232
236
  await Promise.all([
233
- Crs.new(2 ** 25 + 1, undefined, log),
234
- GrumpkinCrs.new(2 ** 18 + 1, undefined, log)
237
+ Crs.new(2 ** 25, undefined, log),
238
+ GrumpkinCrs.new(2 ** 18, undefined, log)
235
239
  ]);
236
240
  }
237
241
  }
238
- export async function setupUpdateMonitor(autoUpdateMode, updatesLocation, followsCanonicalRollup, publicClient, registryContractAddress, signalHandlers, updateNodeConfig) {
239
- const logger = createLogger('update-check');
240
- const { UpdateChecker } = await import('@aztec/stdlib/update-checker');
241
- const checker = await UpdateChecker.new({
242
- baseURL: updatesLocation,
243
- publicClient,
244
- registryContractAddress
245
- });
246
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
247
- checker.on('newRollupVersion', async ({ latestVersion, currentVersion })=>{
248
- if (isShuttingDown()) {
249
- return;
250
- }
251
- // if node follows canonical rollup then this is equivalent to a config update
252
- if (!followsCanonicalRollup) {
253
- return;
254
- }
255
- if (autoUpdateMode === 'config' || autoUpdateMode === 'config-and-version') {
256
- logger.info(`New rollup version detected. Please restart the node`, {
257
- latestVersion,
258
- currentVersion
259
- });
260
- await shutdown(logger.info, 78, signalHandlers);
261
- } else if (autoUpdateMode === 'notify') {
262
- logger.warn(`New rollup detected. Please restart the node`, {
263
- latestVersion,
264
- currentVersion
265
- });
242
+ export async function setupVersionChecker(network, followsCanonicalRollup, publicClient, signalHandlers, cacheDir) {
243
+ const networkConfig = await getNetworkConfig(network, cacheDir);
244
+ if (!networkConfig) {
245
+ return;
246
+ }
247
+ const { VersionChecker } = await import('@aztec/stdlib/update-checker');
248
+ const logger = createLogger('version_check');
249
+ const registry = new RegistryContract(publicClient, networkConfig.registryAddress);
250
+ const checks = [];
251
+ checks.push({
252
+ name: 'node',
253
+ currentVersion: getPackageVersion() ?? 'unknown',
254
+ getLatestVersion: async ()=>{
255
+ const cfg = await getNetworkConfig(network, cacheDir);
256
+ return cfg?.nodeVersion;
266
257
  }
267
258
  });
268
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
269
- checker.on('newNodeVersion', async ({ latestVersion, currentVersion })=>{
270
- if (isShuttingDown()) {
271
- return;
272
- }
273
- if (autoUpdateMode === 'config-and-version') {
274
- logger.info(`New node version detected. Please update and restart the node`, {
275
- latestVersion,
276
- currentVersion
277
- });
278
- await shutdown(logger.info, 79, signalHandlers);
279
- } else if (autoUpdateMode === 'notify') {
280
- logger.info(`New node version detected. Please update and restart the node`, {
281
- latestVersion,
282
- currentVersion
259
+ if (followsCanonicalRollup) {
260
+ const getLatestVersion = async ()=>{
261
+ const version = (await registry.getRollupVersions()).at(-1);
262
+ return version !== undefined ? String(version) : undefined;
263
+ };
264
+ const currentVersion = await getLatestVersion();
265
+ if (currentVersion !== undefined) {
266
+ checks.push({
267
+ name: 'rollup',
268
+ currentVersion,
269
+ getLatestVersion
283
270
  });
284
271
  }
285
- });
286
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
287
- checker.on('updateNodeConfig', async (config)=>{
272
+ }
273
+ const checker = new VersionChecker(checks, 600_000, logger);
274
+ checker.on('newVersion', ({ name, latestVersion, currentVersion })=>{
288
275
  if (isShuttingDown()) {
289
276
  return;
290
277
  }
291
- if ((autoUpdateMode === 'config' || autoUpdateMode === 'config-and-version') && updateNodeConfig) {
292
- logger.warn(`Config change detected. Updating node`, config);
293
- try {
294
- await updateNodeConfig(config);
295
- } catch (err) {
296
- logger.warn('Failed to update config', {
297
- err
298
- });
299
- }
300
- }
301
- // don't notify on these config changes
302
- });
303
- checker.on('updatePublicTelemetryConfig', (config)=>{
304
- if (autoUpdateMode === 'config' || autoUpdateMode === 'config-and-version') {
305
- logger.warn(`Public telemetry config change detected. Updating telemetry client`, config);
306
- try {
307
- const publicIncludeMetrics = config.publicIncludeMetrics;
308
- if (Array.isArray(publicIncludeMetrics) && publicIncludeMetrics.every((m)=>typeof m === 'string')) {
309
- getTelemetryClient().setExportedPublicTelemetry(publicIncludeMetrics);
310
- }
311
- const publicMetricsCollectFrom = config.publicMetricsCollectFrom;
312
- if (Array.isArray(publicMetricsCollectFrom) && publicMetricsCollectFrom.every((m)=>typeof m === 'string')) {
313
- getTelemetryClient().setPublicTelemetryCollectFrom(publicMetricsCollectFrom);
314
- }
315
- } catch (err) {
316
- logger.warn('Failed to update config', {
317
- err
318
- });
319
- }
320
- }
321
- // don't notify on these config changes
278
+ logger.warn(`New ${name} version available`, {
279
+ latestVersion,
280
+ currentVersion
281
+ });
322
282
  });
323
283
  checker.start();
284
+ signalHandlers.push(()=>checker.stop());
285
+ }
286
+ export function stringifyConfig(config) {
287
+ return Object.entries(config).map(([key, value])=>`${key}=${jsonStringify(value)}`).join(' ');
324
288
  }
@@ -2,7 +2,7 @@ import { getInitialTestAccountsData } from '@aztec/accounts/testing';
2
2
  import { createAztecNodeClient } from '@aztec/aztec.js/node';
3
3
  import { createLogger } from '@aztec/foundation/log';
4
4
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
5
- import { TestWallet } from '@aztec/test-wallet/server';
5
+ import { EmbeddedWallet } from '@aztec/wallets/embedded';
6
6
  const logger = createLogger('example:token');
7
7
  const nodeUrl = 'http://localhost:8080';
8
8
  const node = createAztecNodeClient(nodeUrl);
@@ -12,7 +12,7 @@ const TRANSFER_AMOUNT = 33n;
12
12
  * Main function.
13
13
  */ async function main() {
14
14
  logger.info('Running token contract test on HTTP interface.');
15
- const wallet = await TestWallet.create(node);
15
+ const wallet = await EmbeddedWallet.create(node);
16
16
  // During local network setup we deploy a few accounts. Below we add them to our wallet.
17
17
  const [aliceInitialAccountData, bobInitialAccountData] = await getInitialTestAccountsData();
18
18
  await wallet.createSchnorrAccount(aliceInitialAccountData.secret, aliceInitialAccountData.salt);
@@ -21,7 +21,7 @@ const TRANSFER_AMOUNT = 33n;
21
21
  const bob = bobInitialAccountData.address;
22
22
  logger.info(`Fetched Alice and Bob accounts: ${alice.toString()}, ${bob.toString()}`);
23
23
  logger.info('Deploying Token...');
24
- const token = await TokenContract.deploy(wallet, alice, 'TokenName', 'TokenSymbol', 18).send({
24
+ const { contract: token } = await TokenContract.deploy(wallet, alice, 'TokenName', 'TokenSymbol', 18).send({
25
25
  from: alice
26
26
  });
27
27
  logger.info('Token deployed');
@@ -31,7 +31,7 @@ const TRANSFER_AMOUNT = 33n;
31
31
  from: alice
32
32
  });
33
33
  logger.info(`${ALICE_MINT_BALANCE} tokens were successfully minted by Alice and transferred to private`);
34
- const balanceAfterMint = await token.methods.balance_of_private(alice).simulate({
34
+ const { result: balanceAfterMint } = await token.methods.balance_of_private(alice).simulate({
35
35
  from: alice
36
36
  });
37
37
  logger.info(`Tokens successfully minted. New Alice's balance: ${balanceAfterMint}`);
@@ -41,11 +41,11 @@ const TRANSFER_AMOUNT = 33n;
41
41
  from: alice
42
42
  });
43
43
  // Check the new balances
44
- const aliceBalance = await token.methods.balance_of_private(alice).simulate({
44
+ const { result: aliceBalance } = await token.methods.balance_of_private(alice).simulate({
45
45
  from: alice
46
46
  });
47
47
  logger.info(`Alice's balance ${aliceBalance}`);
48
- const bobBalance = await token.methods.balance_of_private(bob).simulate({
48
+ const { result: bobBalance } = await token.methods.balance_of_private(bob).simulate({
49
49
  from: bob
50
50
  });
51
51
  logger.info(`Bob's balance ${bobBalance}`);
@@ -46,7 +46,7 @@ export async function getBananaFPCAddress(initialAccounts) {
46
46
  export async function setupBananaFPC(initialAccounts, wallet, log) {
47
47
  const bananaCoinAddress = await getBananaCoinAddress(initialAccounts);
48
48
  const admin = getBananaAdmin(initialAccounts);
49
- const [bananaCoin, fpc] = await Promise.all([
49
+ const [{ contract: bananaCoin }, { contract: fpc }] = await Promise.all([
50
50
  TokenContract.deploy(wallet, admin, bananaCoinArgs.name, bananaCoinArgs.symbol, bananaCoinArgs.decimal).send({
51
51
  from: admin,
52
52
  contractAddressSalt: BANANA_COIN_SALT,
@@ -6,6 +6,7 @@ import { type BlobClientInterface } from '@aztec/blob-client/client';
6
6
  import { EthAddress } from '@aztec/foundation/eth-address';
7
7
  import type { LogFn } from '@aztec/foundation/log';
8
8
  import { DateProvider } from '@aztec/foundation/timer';
9
+ import type { ProvingJobBroker } from '@aztec/stdlib/interfaces/server';
9
10
  import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
10
11
  import { type TelemetryClient } from '@aztec/telemetry-client';
11
12
  import { type Hex } from 'viem';
@@ -38,7 +39,7 @@ export declare function deployContractsToL1(aztecNodeConfig: AztecNodeConfig, pr
38
39
  dateGatedRelayerAddress?: EthAddress | undefined;
39
40
  } & {
40
41
  rollupAddress: EthAddress;
41
- } & {
42
+ } & Pick<import("@aztec/ethereum/l1-contract-addresses").L1ContractAddresses, "rollupAddress"> & {
42
43
  rollupAddress: EthAddress;
43
44
  }>;
44
45
  /** Local network settings. */
@@ -65,7 +66,8 @@ export declare function createAztecNode(config?: Partial<AztecNodeConfig>, deps?
65
66
  telemetry?: TelemetryClient;
66
67
  blobClient?: BlobClientInterface;
67
68
  dateProvider?: DateProvider;
69
+ proverBroker?: ProvingJobBroker;
68
70
  }, options?: {
69
71
  prefilledPublicData?: PublicDataTreeLeaf[];
70
72
  }): Promise<AztecNodeService>;
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtbmV0d29yay5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvY2FsLW5ldHdvcmsvbG9jYWwtbmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFvQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsS0FBSyxtQkFBbUIsRUFBb0IsTUFBTSwyQkFBMkIsQ0FBQztBQVN2RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBb0IsTUFBTSx5QkFBeUIsQ0FBQztBQUd6RSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFDTCxLQUFLLGVBQWUsRUFHckIsTUFBTSx5QkFBeUIsQ0FBQztBQUlqQyxPQUFPLEVBQUUsS0FBSyxHQUFHLEVBQTJELE1BQU0sTUFBTSxDQUFDO0FBZXpGOzs7O0dBSUc7QUFDSCx3QkFBc0IsbUJBQW1CLENBQ3ZDLGVBQWUsRUFBRSxlQUFlLEVBQ2hDLFVBQVUsRUFBRSxHQUFHLEVBQ2YsSUFBSSxHQUFFO0lBQ0osa0JBQWtCLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDeEIsNEJBQTRCLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDbEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JQO0FBRUQsOEJBQThCO0FBQzlCLE1BQU0sTUFBTSxrQkFBa0IsR0FBRyxlQUFlLEdBQUc7SUFDakQsMERBQTBEO0lBQzFELFVBQVUsRUFBRSxNQUFNLENBQUM7SUFDbkIsNkRBQTZEO0lBQzdELFlBQVksRUFBRSxPQUFPLENBQUM7Q0FDdkIsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCx3QkFBc0Isa0JBQWtCLENBQUMsTUFBTSx5Q0FBa0MsRUFBRSxPQUFPLEVBQUUsS0FBSzs7O0dBaUloRztBQUVEOzs7R0FHRztBQUNILHdCQUFzQixlQUFlLENBQ25DLE1BQU0sR0FBRSxPQUFPLENBQUMsZUFBZSxDQUFNLEVBQ3JDLElBQUksR0FBRTtJQUFFLFNBQVMsQ0FBQyxFQUFFLGVBQWUsQ0FBQztJQUFDLFVBQVUsQ0FBQyxFQUFFLG1CQUFtQixDQUFDO0lBQUMsWUFBWSxDQUFDLEVBQUUsWUFBWSxDQUFBO0NBQU8sRUFDekcsT0FBTyxHQUFFO0lBQUUsbUJBQW1CLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxDQUFBO0NBQU8sNkJBVzdEIn0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtbmV0d29yay5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvY2FsLW5ldHdvcmsvbG9jYWwtbmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFvQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsS0FBSyxtQkFBbUIsRUFBb0IsTUFBTSwyQkFBMkIsQ0FBQztBQVN2RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBb0IsTUFBTSx5QkFBeUIsQ0FBQztBQUt6RSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxFQUNMLEtBQUssZUFBZSxFQUdyQixNQUFNLHlCQUF5QixDQUFDO0FBS2pDLE9BQU8sRUFBRSxLQUFLLEdBQUcsRUFBMkQsTUFBTSxNQUFNLENBQUM7QUFnQnpGOzs7O0dBSUc7QUFDSCx3QkFBc0IsbUJBQW1CLENBQ3ZDLGVBQWUsRUFBRSxlQUFlLEVBQ2hDLFVBQVUsRUFBRSxHQUFHLEVBQ2YsSUFBSSxHQUFFO0lBQ0osa0JBQWtCLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDeEIsNEJBQTRCLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDbEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JQO0FBRUQsOEJBQThCO0FBQzlCLE1BQU0sTUFBTSxrQkFBa0IsR0FBRyxlQUFlLEdBQUc7SUFDakQsMERBQTBEO0lBQzFELFVBQVUsRUFBRSxNQUFNLENBQUM7SUFDbkIsNkRBQTZEO0lBQzdELFlBQVksRUFBRSxPQUFPLENBQUM7Q0FDdkIsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCx3QkFBc0Isa0JBQWtCLENBQUMsTUFBTSx5Q0FBa0MsRUFBRSxPQUFPLEVBQUUsS0FBSzs7O0dBd0poRztBQUVEOzs7R0FHRztBQUNILHdCQUFzQixlQUFlLENBQ25DLE1BQU0sR0FBRSxPQUFPLENBQUMsZUFBZSxDQUFNLEVBQ3JDLElBQUksR0FBRTtJQUNKLFNBQVMsQ0FBQyxFQUFFLGVBQWUsQ0FBQztJQUM1QixVQUFVLENBQUMsRUFBRSxtQkFBbUIsQ0FBQztJQUNqQyxZQUFZLENBQUMsRUFBRSxZQUFZLENBQUM7SUFDNUIsWUFBWSxDQUFDLEVBQUUsZ0JBQWdCLENBQUM7Q0FDNUIsRUFDTixPQUFPLEdBQUU7SUFBRSxtQkFBbUIsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLENBQUE7Q0FBTyw2QkFlN0QifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"local-network.d.ts","sourceRoot":"","sources":["../../src/local-network/local-network.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,eAAe,EAAoB,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,2BAA2B,CAAC;AASvF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAoB,MAAM,yBAAyB,CAAC;AAGzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,KAAK,GAAG,EAA2D,MAAM,MAAM,CAAC;AAezF;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,GAAG,EACf,IAAI,GAAE;IACJ,kBAAkB,CAAC,EAAE,EAAE,CAAC;IACxB,4BAA4B,CAAC,EAAE,MAAM,CAAC;CAClC;;;;;;;;;;;;;;;;;;;;;;;GAoBP;AAED,8BAA8B;AAC9B,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IACjD,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,yCAAkC,EAAE,OAAO,EAAE,KAAK;;;GAiIhG;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,EACrC,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,eAAe,CAAC;IAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CAAO,EACzG,OAAO,GAAE;IAAE,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAAO,6BAW7D"}
1
+ {"version":3,"file":"local-network.d.ts","sourceRoot":"","sources":["../../src/local-network/local-network.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,eAAe,EAAoB,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,2BAA2B,CAAC;AASvF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAoB,MAAM,yBAAyB,CAAC;AAKzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,KAAK,GAAG,EAA2D,MAAM,MAAM,CAAC;AAgBzF;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,GAAG,EACf,IAAI,GAAE;IACJ,kBAAkB,CAAC,EAAE,EAAE,CAAC;IACxB,4BAA4B,CAAC,EAAE,MAAM,CAAC;CAClC;;;;;;;;;;;;;;;;;;;;;;;GAoBP;AAED,8BAA8B;AAC9B,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IACjD,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,yCAAkC,EAAE,OAAO,EAAE,KAAK;;;GAwJhG;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,EACrC,IAAI,GAAE;IACJ,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,gBAAgB,CAAC;CAC5B,EACN,OAAO,GAAE;IAAE,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAAO,6BAe7D"}
@@ -17,8 +17,11 @@ import { EthAddress } from '@aztec/foundation/eth-address';
17
17
  import { TestDateProvider } from '@aztec/foundation/timer';
18
18
  import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
19
19
  import { protocolContractsHash } from '@aztec/protocol-contracts';
20
+ import { SequencerState } from '@aztec/sequencer-client';
21
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
20
22
  import { getConfigEnvVars as getTelemetryClientConfig, initTelemetryClient } from '@aztec/telemetry-client';
21
- import { TestWallet, deployFundedSchnorrAccounts } from '@aztec/test-wallet/server';
23
+ import { EmbeddedWallet } from '@aztec/wallets/embedded';
24
+ import { deployFundedSchnorrAccounts } from '@aztec/wallets/testing';
22
25
  import { getGenesisValues } from '@aztec/world-state/testing';
23
26
  import { createPublicClient, fallback, http as httpViemTransport } from 'viem';
24
27
  import { mnemonicToAccount, privateKeyToAddress } from 'viem/accounts';
@@ -27,6 +30,7 @@ import { createAccountLogs } from '../cli/util.js';
27
30
  import { DefaultMnemonic } from '../mnemonic.js';
28
31
  import { AnvilTestWatcher } from '../testing/anvil_test_watcher.js';
29
32
  import { EpochTestSettler } from '../testing/epoch_test_settler.js';
33
+ import { getTokenAllowedSetupFunctions } from '../testing/token_allowed_setup.js';
30
34
  import { getBananaFPCAddress, setupBananaFPC } from './banana_fpc.js';
31
35
  import { getSponsoredFPCAddress } from './sponsored_fpc.js';
32
36
  const logger = createLogger('local-network');
@@ -65,14 +69,21 @@ const localAnvil = foundry;
65
69
  if ((config.l1RpcUrls?.length || 0) > 1) {
66
70
  logger.warn(`Multiple L1 RPC URLs provided. Local networks will only use the first one: ${l1RpcUrl}`);
67
71
  }
72
+ // The local network deploys a banana FPC with Token contracts, so include Token entries
73
+ // in the setup allowlist so FPC-based fee payments work out of the box.
74
+ const tokenAllowList = await getTokenAllowedSetupFunctions();
68
75
  const aztecNodeConfig = {
69
76
  ...getConfigEnvVars(),
70
- ...config
77
+ ...config,
78
+ txPublicSetupAllowListExtend: [
79
+ ...tokenAllowList,
80
+ ...config.txPublicSetupAllowListExtend ?? []
81
+ ]
71
82
  };
72
83
  const hdAccount = mnemonicToAccount(config.l1Mnemonic || DefaultMnemonic);
73
- if (aztecNodeConfig.publisherPrivateKeys == undefined || !aztecNodeConfig.publisherPrivateKeys.length || aztecNodeConfig.publisherPrivateKeys[0].getValue() === NULL_KEY) {
84
+ if (aztecNodeConfig.sequencerPublisherPrivateKeys == undefined || !aztecNodeConfig.sequencerPublisherPrivateKeys.length || aztecNodeConfig.sequencerPublisherPrivateKeys[0].getValue() === NULL_KEY) {
74
85
  const privKey = hdAccount.getHdKey().privateKey;
75
- aztecNodeConfig.publisherPrivateKeys = [
86
+ aztecNodeConfig.sequencerPublisherPrivateKeys = [
76
87
  new SecretValue(`0x${Buffer.from(privKey).toString('hex')}`)
77
88
  ];
78
89
  }
@@ -96,11 +107,15 @@ const localAnvil = foundry;
96
107
  })();
97
108
  const bananaFPC = await getBananaFPCAddress(initialAccounts);
98
109
  const sponsoredFPC = await getSponsoredFPCAddress();
99
- const fundedAddresses = initialAccounts.length ? [
110
+ const prefundAddresses = (aztecNodeConfig.prefundAddresses ?? []).map((a)=>AztecAddress.fromString(a));
111
+ const fundedAddresses = [
100
112
  ...initialAccounts.map((a)=>a.address),
101
- bananaFPC,
102
- sponsoredFPC
103
- ] : [];
113
+ ...initialAccounts.length ? [
114
+ bananaFPC,
115
+ sponsoredFPC
116
+ ] : [],
117
+ ...prefundAddresses
118
+ ];
104
119
  const { genesisArchiveRoot, prefilledPublicData, fundingNeeded } = await getGenesisValues(fundedAddresses);
105
120
  const dateProvider = new TestDateProvider();
106
121
  let cheatcodes;
@@ -140,6 +155,20 @@ const localAnvil = foundry;
140
155
  }, {
141
156
  prefilledPublicData
142
157
  });
158
+ // Now that the node is up, let the watcher check for pending txs so it can skip unfilled slots faster when
159
+ // transactions are waiting in the mempool. Also let it check if the sequencer is actively building, to avoid
160
+ // warping time out from under an in-progress block.
161
+ watcher?.setGetPendingTxCount(()=>node.getPendingTxCount());
162
+ const sequencer = node.getSequencer()?.getSequencer();
163
+ if (sequencer) {
164
+ const idleStates = new Set([
165
+ SequencerState.STOPPED,
166
+ SequencerState.STOPPING,
167
+ SequencerState.IDLE,
168
+ SequencerState.SYNCHRONIZING
169
+ ]);
170
+ watcher?.setIsSequencerBuilding(()=>!idleStates.has(sequencer.getState()));
171
+ }
143
172
  let epochTestSettler;
144
173
  if (!aztecNodeConfig.p2pEnabled) {
145
174
  epochTestSettler = new EpochTestSettler(cheatcodes, rollupAddress, node.getBlockSource(), logger.createChild('epoch-settler'), {
@@ -148,17 +177,15 @@ const localAnvil = foundry;
148
177
  await epochTestSettler.start();
149
178
  }
150
179
  if (initialAccounts.length) {
151
- const PXEConfig = {
152
- proverEnabled: aztecNodeConfig.realProofs
153
- };
154
- const wallet = await TestWallet.create(node, PXEConfig);
180
+ const wallet = await EmbeddedWallet.create(node, {
181
+ pxeConfig: {
182
+ proverEnabled: aztecNodeConfig.realProofs
183
+ },
184
+ ephemeral: true
185
+ });
155
186
  userLog('Setting up funded test accounts...');
156
187
  const accountManagers = await deployFundedSchnorrAccounts(wallet, initialAccounts);
157
- const accountsWithSecrets = accountManagers.map((manager, i)=>({
158
- account: manager,
159
- secretKey: initialAccounts[i].secret
160
- }));
161
- const accLogs = await createAccountLogs(accountsWithSecrets, wallet);
188
+ const accLogs = await createAccountLogs(accountManagers, wallet);
162
189
  userLog(accLogs.join(''));
163
190
  await setupBananaFPC(initialAccounts, wallet, userLog);
164
191
  userLog(`SponsoredFPC: ${await getSponsoredFPCAddress()}`);
@@ -189,6 +216,11 @@ const localAnvil = foundry;
189
216
  ...config.l1Contracts
190
217
  }
191
218
  };
192
- const node = await AztecNodeService.createAndSync(aztecNodeConfig, deps, options);
219
+ const node = await AztecNodeService.createAndSync(aztecNodeConfig, {
220
+ ...deps,
221
+ proverNodeDeps: {
222
+ broker: deps.proverBroker
223
+ }
224
+ }, options);
193
225
  return node;
194
226
  }
@@ -21,14 +21,22 @@ export declare class AnvilTestWatcher {
21
21
  private markingAsProvenRunningPromise?;
22
22
  private logger;
23
23
  private isMarkingAsProven;
24
+ private getPendingTxCount?;
25
+ private isSequencerBuilding?;
26
+ private unfilledSlotFirstSeen?;
24
27
  constructor(cheatcodes: EthCheatCodes, rollupAddress: EthAddress, l1Client: ViemClient, dateProvider?: TestDateProvider | undefined);
25
28
  setIsMarkingAsProven(isMarkingAsProven: boolean): void;
26
29
  setisLocalNetwork(isLocalNetwork: boolean): void;
30
+ /** Sets a callback to check for pending txs, used to skip unfilled slots faster when txs are waiting. */
31
+ setGetPendingTxCount(fn: () => Promise<number>): void;
32
+ /** Sets a callback to check if the sequencer is actively building, to avoid warping while it works. */
33
+ setIsSequencerBuilding(fn: () => boolean): void;
27
34
  start(): Promise<void>;
28
35
  stop(): Promise<void>;
29
36
  trigger(): Promise<void>;
30
37
  markAsProven(): Promise<void>;
31
38
  syncDateProviderToL1IfBehind(): Promise<void>;
32
39
  warpTimeIfNeeded(): Promise<void>;
40
+ private warpToTimestamp;
33
41
  }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW52aWxfdGVzdF93YXRjaGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGluZy9hbnZpbF90ZXN0X3dhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBb0IsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdoRSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBS2hFOzs7Ozs7R0FNRztBQUNILHFCQUFhLGdCQUFnQjtJQWdCekIsT0FBTyxDQUFDLFVBQVU7SUFHbEIsT0FBTyxDQUFDLFlBQVksQ0FBQztJQWxCdkIsT0FBTyxDQUFDLGNBQWMsQ0FBa0I7SUFFeEMsT0FBTyxDQUFDLE1BQU0sQ0FBc0Q7SUFDcEUsT0FBTyxDQUFDLGdCQUFnQixDQUFtQjtJQUMzQyxPQUFPLENBQUMsY0FBYyxDQUFVO0lBRWhDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFpQjtJQUM5QyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBaUI7SUFDakQsT0FBTyxDQUFDLDZCQUE2QixDQUFDLENBQWlCO0lBRXZELE9BQU8sQ0FBQyxNQUFNLENBQWlEO0lBRS9ELE9BQU8sQ0FBQyxpQkFBaUIsQ0FBUTtJQUVqQyxZQUNVLFVBQVUsRUFBRSxhQUFhLEVBQ2pDLGFBQWEsRUFBRSxVQUFVLEVBQ3pCLFFBQVEsRUFBRSxVQUFVLEVBQ1osWUFBWSxDQUFDLDhCQUFrQixFQWF4QztJQUVELG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLE9BQU8sUUFHOUM7SUFFRCxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsT0FBTyxRQUV4QztJQUVLLEtBQUssa0JBeUJWO0lBRUssSUFBSSxrQkFJVDtJQUVLLE9BQU8sa0JBSVo7SUFFSyxZQUFZLGtCQUtqQjtJQUVLLDRCQUE0QixrQkFlakM7SUFFSyxnQkFBZ0Isa0JBd0NyQjtDQUNGIn0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW52aWxfdGVzdF93YXRjaGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGluZy9hbnZpbF90ZXN0X3dhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBb0IsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdoRSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBS2hFOzs7Ozs7R0FNRztBQUNILHFCQUFhLGdCQUFnQjtJQXlCekIsT0FBTyxDQUFDLFVBQVU7SUFHbEIsT0FBTyxDQUFDLFlBQVksQ0FBQztJQTNCdkIsT0FBTyxDQUFDLGNBQWMsQ0FBa0I7SUFFeEMsT0FBTyxDQUFDLE1BQU0sQ0FBc0Q7SUFDcEUsT0FBTyxDQUFDLGdCQUFnQixDQUFtQjtJQUMzQyxPQUFPLENBQUMsY0FBYyxDQUFVO0lBRWhDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFpQjtJQUM5QyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBaUI7SUFDakQsT0FBTyxDQUFDLDZCQUE2QixDQUFDLENBQWlCO0lBRXZELE9BQU8sQ0FBQyxNQUFNLENBQWlEO0lBRS9ELE9BQU8sQ0FBQyxpQkFBaUIsQ0FBUTtJQUdqQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBd0I7SUFHbEQsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQWdCO0lBRzVDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFxQztJQUVuRSxZQUNVLFVBQVUsRUFBRSxhQUFhLEVBQ2pDLGFBQWEsRUFBRSxVQUFVLEVBQ3pCLFFBQVEsRUFBRSxVQUFVLEVBQ1osWUFBWSxDQUFDLDhCQUFrQixFQWF4QztJQUVELG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLE9BQU8sUUFHOUM7SUFFRCxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsT0FBTyxRQUV4QztJQUVELHlHQUF5RztJQUN6RyxvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLFFBRTdDO0lBRUQsdUdBQXVHO0lBQ3ZHLHNCQUFzQixDQUFDLEVBQUUsRUFBRSxNQUFNLE9BQU8sUUFFdkM7SUFFSyxLQUFLLGtCQXlCVjtJQUVLLElBQUksa0JBSVQ7SUFFSyxPQUFPLGtCQUlaO0lBRUssWUFBWSxrQkFLakI7SUFFSyw0QkFBNEIsa0JBZWpDO0lBRUssZ0JBQWdCLGtCQXlEckI7WUFFYSxlQUFlO0NBTzlCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"anvil_test_watcher.d.ts","sourceRoot":"","sources":["../../src/testing/anvil_test_watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKhE;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAgBzB,OAAO,CAAC,UAAU;IAGlB,OAAO,CAAC,YAAY,CAAC;IAlBvB,OAAO,CAAC,cAAc,CAAkB;IAExC,OAAO,CAAC,MAAM,CAAsD;IACpE,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,cAAc,CAAU;IAEhC,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAC9C,OAAO,CAAC,uBAAuB,CAAC,CAAiB;IACjD,OAAO,CAAC,6BAA6B,CAAC,CAAiB;IAEvD,OAAO,CAAC,MAAM,CAAiD;IAE/D,OAAO,CAAC,iBAAiB,CAAQ;IAEjC,YACU,UAAU,EAAE,aAAa,EACjC,aAAa,EAAE,UAAU,EACzB,QAAQ,EAAE,UAAU,EACZ,YAAY,CAAC,8BAAkB,EAaxC;IAED,oBAAoB,CAAC,iBAAiB,EAAE,OAAO,QAG9C;IAED,iBAAiB,CAAC,cAAc,EAAE,OAAO,QAExC;IAEK,KAAK,kBAyBV;IAEK,IAAI,kBAIT;IAEK,OAAO,kBAIZ;IAEK,YAAY,kBAKjB;IAEK,4BAA4B,kBAejC;IAEK,gBAAgB,kBAwCrB;CACF"}
1
+ {"version":3,"file":"anvil_test_watcher.d.ts","sourceRoot":"","sources":["../../src/testing/anvil_test_watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKhE;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAyBzB,OAAO,CAAC,UAAU;IAGlB,OAAO,CAAC,YAAY,CAAC;IA3BvB,OAAO,CAAC,cAAc,CAAkB;IAExC,OAAO,CAAC,MAAM,CAAsD;IACpE,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,cAAc,CAAU;IAEhC,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAC9C,OAAO,CAAC,uBAAuB,CAAC,CAAiB;IACjD,OAAO,CAAC,6BAA6B,CAAC,CAAiB;IAEvD,OAAO,CAAC,MAAM,CAAiD;IAE/D,OAAO,CAAC,iBAAiB,CAAQ;IAGjC,OAAO,CAAC,iBAAiB,CAAC,CAAwB;IAGlD,OAAO,CAAC,mBAAmB,CAAC,CAAgB;IAG5C,OAAO,CAAC,qBAAqB,CAAC,CAAqC;IAEnE,YACU,UAAU,EAAE,aAAa,EACjC,aAAa,EAAE,UAAU,EACzB,QAAQ,EAAE,UAAU,EACZ,YAAY,CAAC,8BAAkB,EAaxC;IAED,oBAAoB,CAAC,iBAAiB,EAAE,OAAO,QAG9C;IAED,iBAAiB,CAAC,cAAc,EAAE,OAAO,QAExC;IAED,yGAAyG;IACzG,oBAAoB,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,QAE7C;IAED,uGAAuG;IACvG,sBAAsB,CAAC,EAAE,EAAE,MAAM,OAAO,QAEvC;IAEK,KAAK,kBAyBV;IAEK,IAAI,kBAIT;IAEK,OAAO,kBAIZ;IAEK,YAAY,kBAKjB;IAEK,4BAA4B,kBAejC;IAEK,gBAAgB,kBAyDrB;YAEa,eAAe;CAO9B"}