@aztec/aztec 0.0.1-commit.b1c78909e → 0.0.1-commit.b33fc05d0

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.
@@ -1,3 +1,3 @@
1
1
  import type { LogFn, Logger } from '@aztec/foundation/log';
2
2
  export declare function aztecStart(options: any, userLog: LogFn, debugLogger: Logger): Promise<void>;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWNfc3RhcnRfYWN0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL2F6dGVjX3N0YXJ0X2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFhM0Qsd0JBQXNCLFVBQVUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBeUlqRiJ9
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWNfc3RhcnRfYWN0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL2F6dGVjX3N0YXJ0X2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFhM0Qsd0JBQXNCLFVBQVUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBMElqRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"aztec_start_action.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_action.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAa3D,wBAAsB,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAyIjF"}
1
+ {"version":3,"file":"aztec_start_action.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_action.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAa3D,wBAAsB,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBA0IjF"}
@@ -1,6 +1,6 @@
1
1
  import { getActiveNetworkName } from '@aztec/foundation/config';
2
2
  import { createNamespacedSafeJsonRpcServer, getApiKeyAuthMiddleware, startHttpRpcServer } from '@aztec/foundation/json-rpc/server';
3
- import { AztecNodeApiSchema } from '@aztec/stdlib/interfaces/client';
3
+ import { AztecNodeAdminApiSchema, AztecNodeApiSchema } from '@aztec/stdlib/interfaces/client';
4
4
  import { getPackageVersion } from '@aztec/stdlib/update-checker';
5
5
  import { getVersioningMiddleware } from '@aztec/stdlib/versioning';
6
6
  import { getOtelJsonRpcPropagationMiddleware } from '@aztec/telemetry-client';
@@ -38,6 +38,10 @@ export async function aztecStart(options, userLog, debugLogger) {
38
38
  node,
39
39
  AztecNodeApiSchema
40
40
  ];
41
+ adminServices.node = [
42
+ node,
43
+ AztecNodeAdminApiSchema
44
+ ];
41
45
  } else {
42
46
  // Route --prover-node through startNode
43
47
  if (options.proverNode && !options.node) {
@@ -1,4 +1,4 @@
1
1
  import type { LogFn } from '@aztec/foundation/log';
2
2
  import type { Command } from 'commander';
3
3
  export declare function injectCompileCommand(program: Command, log: LogFn): Command;
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaS9jbWRzL2NvbXBpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHbkQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBb0t6Qyx3QkFBZ0Isb0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FzQjFFIn0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaS9jbWRzL2NvbXBpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHbkQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBb0t6Qyx3QkFBZ0Isb0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FzQjFFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/compile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoKzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO,CAsB1E"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/compile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoKzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO,CAsB1E"}
@@ -1,3 +1,4 @@
1
+ import { findBbBinary } from '@aztec/bb.js';
1
2
  import { execFileSync } from 'child_process';
2
3
  import { readFile, writeFile } from 'fs/promises';
3
4
  import { join } from 'path';
@@ -122,7 +123,7 @@ import { run } from './utils/spawn.js';
122
123
  return;
123
124
  }
124
125
  const nargo = process.env.NARGO ?? 'nargo';
125
- const bb = process.env.BB ?? 'bb';
126
+ const bb = process.env.BB ?? findBbBinary() ?? 'bb';
126
127
  await run(nargo, [
127
128
  'compile',
128
129
  ...nargoArgs
@@ -1,4 +1,4 @@
1
1
  import type { LogFn } from '@aztec/foundation/log';
2
2
  /** Generates a gate count flamegraph SVG for a single contract function. */
3
3
  export declare function profileFlamegraph(artifactPath: string, functionName: string, log: LogFn): Promise<void>;
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZV9mbGFtZWdyYXBoLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpL2NtZHMvcHJvZmlsZV9mbGFtZWdyYXBoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBU25ELDRFQUE0RTtBQUM1RSx3QkFBc0IsaUJBQWlCLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQW9EN0cifQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZV9mbGFtZWdyYXBoLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpL2NtZHMvcHJvZmlsZV9mbGFtZWdyYXBoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBU25ELDRFQUE0RTtBQUM1RSx3QkFBc0IsaUJBQWlCLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQW9EN0cifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"profile_flamegraph.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/profile_flamegraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AASnD,4EAA4E;AAC5E,wBAAsB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAoD7G"}
1
+ {"version":3,"file":"profile_flamegraph.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/profile_flamegraph.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AASnD,4EAA4E;AAC5E,wBAAsB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAoD7G"}
@@ -1,3 +1,4 @@
1
+ import { findBbBinary } from '@aztec/bb.js';
1
2
  import { readFile, rename, rm, writeFile } from 'fs/promises';
2
3
  import { basename, dirname, join } from 'path';
3
4
  import { makeFunctionArtifact } from './profile_utils.js';
@@ -22,7 +23,7 @@ import { run } from './utils/spawn.js';
22
23
  try {
23
24
  await writeFile(functionArtifact, makeFunctionArtifact(artifact, func));
24
25
  const profiler = process.env.PROFILER_PATH ?? 'noir-profiler';
25
- const bb = process.env.BB ?? 'bb';
26
+ const bb = process.env.BB ?? findBbBinary() ?? 'bb';
26
27
  await run(profiler, [
27
28
  'gates',
28
29
  '--artifact-path',
@@ -1,4 +1,4 @@
1
1
  import type { LogFn } from '@aztec/foundation/log';
2
2
  /** Profiles all compiled artifacts in a target directory and prints gate counts. */
3
3
  export declare function profileGates(targetDir: string, log: LogFn): Promise<void>;
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZV9nYXRlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaS9jbWRzL3Byb2ZpbGVfZ2F0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUErQm5ELG9GQUFvRjtBQUNwRix3QkFBc0IsWUFBWSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBaUMvRSJ9
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZV9nYXRlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaS9jbWRzL3Byb2ZpbGVfZ2F0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUErQm5ELG9GQUFvRjtBQUNwRix3QkFBc0IsWUFBWSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBaUMvRSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"profile_gates.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/profile_gates.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AA+BnD,oFAAoF;AACpF,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC/E"}
1
+ {"version":3,"file":"profile_gates.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/profile_gates.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AA+BnD,oFAAoF;AACpF,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC/E"}
@@ -1,3 +1,4 @@
1
+ import { findBbBinary } from '@aztec/bb.js';
1
2
  import { asyncPool } from '@aztec/foundation/async-pool';
2
3
  import { execFile as execFileCb } from 'child_process';
3
4
  import { rm } from 'fs/promises';
@@ -23,7 +24,7 @@ const execFile = promisify(execFileCb);
23
24
  return parseGateCount(stdout);
24
25
  }
25
26
  /** Profiles all compiled artifacts in a target directory and prints gate counts. */ export async function profileGates(targetDir, log) {
26
- const bb = process.env.BB ?? 'bb';
27
+ const bb = process.env.BB ?? findBbBinary() ?? 'bb';
27
28
  const { artifacts, tmpDir } = await discoverArtifacts(targetDir);
28
29
  if (artifacts.length === 0) {
29
30
  log('No artifacts found in target directory.');
@@ -61,17 +61,27 @@ import { join, resolve } from 'path';
61
61
  const content = await readFile(tomlPath, 'utf-8').catch(()=>{
62
62
  throw new Error(`Incorrectly defined dependency. Nargo.toml not found in ${absDir}`);
63
63
  });
64
- // We parse and iterate over the dependencies
65
64
  const parsed = TOML.parse(content);
66
- const deps = parsed.dependencies ?? {};
67
- for (const dep of Object.values(deps)){
68
- if (dep && typeof dep === 'object' && typeof dep.path === 'string') {
69
- const depPath = resolve(absDir, dep.path);
70
- const s = await stat(depPath);
71
- if (!s.isDirectory()) {
72
- throw new Error(`Dependency path "${dep.path}" in ${tomlPath} resolves to ${depPath} which is not a directory`);
65
+ const members = parsed.workspace?.members;
66
+ // A Nargo.toml is either a workspace root (has workspace.members) or a single crate (has dependencies).
67
+ if (Array.isArray(members)) {
68
+ // The crate is a workspace root and has members defined so we visit the members
69
+ for (const member of members){
70
+ const memberPath = resolve(absDir, member);
71
+ await visit(memberPath);
72
+ }
73
+ } else {
74
+ // The crate is not a workspace root so we check for dependencies
75
+ const deps = parsed.dependencies ?? {};
76
+ for (const dep of Object.values(deps)){
77
+ if (dep && typeof dep === 'object' && typeof dep.path === 'string') {
78
+ const depPath = resolve(absDir, dep.path);
79
+ const s = await stat(depPath);
80
+ if (!s.isDirectory()) {
81
+ throw new Error(`Dependency path "${dep.path}" in ${tomlPath} resolves to ${depPath} which is not a directory`);
82
+ }
83
+ await visit(depPath);
73
84
  }
74
- await visit(depPath);
75
85
  }
76
86
  }
77
87
  }
@@ -16,4 +16,4 @@ export declare class EpochTestSettler {
16
16
  stop(): Promise<void>;
17
17
  handleEpochReadyToProve(epoch: EpochNumber): Promise<boolean>;
18
18
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2hfdGVzdF9zZXR0bGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGluZy9lcG9jaF90ZXN0X3NldHRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBYyxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdyRSxxQkFBYSxnQkFBZ0I7SUFPekIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLEdBQUc7SUFDWCxPQUFPLENBQUMsT0FBTztJQVJqQixPQUFPLENBQUMsZ0JBQWdCLENBQW1CO0lBQzNDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBZTtJQUVwQyxZQUNFLFVBQVUsRUFBRSxhQUFhLEVBQ3pCLGFBQWEsRUFBRSxVQUFVLEVBQ2pCLGFBQWEsRUFBRSxhQUFhLEVBQzVCLEdBQUcsRUFBRSxNQUFNLEVBQ1gsT0FBTyxFQUFFO1FBQUUsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO1FBQUMsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQUUsRUFHeEU7SUFFSyxLQUFLLGtCQUlWO0lBRUssSUFBSSxrQkFFVDtJQUVLLHVCQUF1QixDQUFDLEtBQUssRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQXFDbEU7Q0FDRiJ9
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2hfdGVzdF9zZXR0bGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGluZy9lcG9jaF90ZXN0X3NldHRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBYyxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdyRSxxQkFBYSxnQkFBZ0I7SUFPekIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLEdBQUc7SUFDWCxPQUFPLENBQUMsT0FBTztJQVJqQixPQUFPLENBQUMsZ0JBQWdCLENBQW1CO0lBQzNDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBZTtJQUVwQyxZQUNFLFVBQVUsRUFBRSxhQUFhLEVBQ3pCLGFBQWEsRUFBRSxVQUFVLEVBQ2pCLGFBQWEsRUFBRSxhQUFhLEVBQzVCLEdBQUcsRUFBRSxNQUFNLEVBQ1gsT0FBTyxFQUFFO1FBQUUsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO1FBQUMsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQUUsRUFHeEU7SUFFSyxLQUFLLGtCQUlWO0lBRUssSUFBSSxrQkFFVDtJQUVLLHVCQUF1QixDQUFDLEtBQUssRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQW9DbEU7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"epoch_test_settler.d.ts","sourceRoot":"","sources":["../../src/testing/epoch_test_settler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGrE,qBAAa,gBAAgB;IAOzB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,OAAO;IARjB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC,YACE,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,UAAU,EACjB,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,EAGxE;IAEK,KAAK,kBAIV;IAEK,IAAI,kBAET;IAEK,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAqClE;CACF"}
1
+ {"version":3,"file":"epoch_test_settler.d.ts","sourceRoot":"","sources":["../../src/testing/epoch_test_settler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGrE,qBAAa,gBAAgB;IAOzB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,OAAO;IARjB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC,YACE,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,UAAU,EACjB,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,EAGxE;IAEK,KAAK,kBAIV;IAEK,IAAI,kBAET;IAEK,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAoClE;CACF"}
@@ -1,7 +1,7 @@
1
1
  import { RollupCheatCodes } from '@aztec/ethereum/test';
2
2
  import { SlotNumber } from '@aztec/foundation/branded-types';
3
3
  import { EpochMonitor } from '@aztec/prover-node';
4
- import { computeL2ToL1MembershipWitnessFromMessagesInEpoch } from '@aztec/stdlib/messaging';
4
+ import { computeEpochOutHash } from '@aztec/stdlib/messaging';
5
5
  export class EpochTestSettler {
6
6
  l2BlockSource;
7
7
  log;
@@ -44,9 +44,8 @@ export class EpochTestSettler {
44
44
  }
45
45
  messagesInEpoch[checkpointIndex].push(block.body.txEffects.map((txEffect)=>txEffect.l2ToL1Msgs));
46
46
  }
47
- const [firstMessage] = messagesInEpoch.flat(3);
48
- if (firstMessage) {
49
- const { root: outHash } = computeL2ToL1MembershipWitnessFromMessagesInEpoch(messagesInEpoch, firstMessage);
47
+ const outHash = computeEpochOutHash(messagesInEpoch);
48
+ if (!outHash.isZero()) {
50
49
  await this.rollupCheatCodes.insertOutbox(epoch, outHash.toBigInt());
51
50
  } else {
52
51
  this.log.info(`No L2 to L1 messages in epoch ${epoch}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/aztec",
3
- "version": "0.0.1-commit.b1c78909e",
3
+ "version": "0.0.1-commit.b33fc05d0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -28,39 +28,39 @@
28
28
  "../package.common.json"
29
29
  ],
30
30
  "dependencies": {
31
- "@aztec/accounts": "0.0.1-commit.b1c78909e",
32
- "@aztec/archiver": "0.0.1-commit.b1c78909e",
33
- "@aztec/aztec-faucet": "0.0.1-commit.b1c78909e",
34
- "@aztec/aztec-node": "0.0.1-commit.b1c78909e",
35
- "@aztec/aztec.js": "0.0.1-commit.b1c78909e",
36
- "@aztec/bb-prover": "0.0.1-commit.b1c78909e",
37
- "@aztec/bb.js": "0.0.1-commit.b1c78909e",
38
- "@aztec/blob-client": "0.0.1-commit.b1c78909e",
39
- "@aztec/bot": "0.0.1-commit.b1c78909e",
40
- "@aztec/builder": "0.0.1-commit.b1c78909e",
41
- "@aztec/cli": "0.0.1-commit.b1c78909e",
42
- "@aztec/constants": "0.0.1-commit.b1c78909e",
43
- "@aztec/entrypoints": "0.0.1-commit.b1c78909e",
44
- "@aztec/ethereum": "0.0.1-commit.b1c78909e",
45
- "@aztec/foundation": "0.0.1-commit.b1c78909e",
46
- "@aztec/kv-store": "0.0.1-commit.b1c78909e",
47
- "@aztec/l1-artifacts": "0.0.1-commit.b1c78909e",
48
- "@aztec/node-lib": "0.0.1-commit.b1c78909e",
49
- "@aztec/noir-contracts.js": "0.0.1-commit.b1c78909e",
50
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.b1c78909e",
51
- "@aztec/p2p": "0.0.1-commit.b1c78909e",
52
- "@aztec/p2p-bootstrap": "0.0.1-commit.b1c78909e",
53
- "@aztec/protocol-contracts": "0.0.1-commit.b1c78909e",
54
- "@aztec/prover-client": "0.0.1-commit.b1c78909e",
55
- "@aztec/prover-node": "0.0.1-commit.b1c78909e",
56
- "@aztec/pxe": "0.0.1-commit.b1c78909e",
57
- "@aztec/sequencer-client": "0.0.1-commit.b1c78909e",
58
- "@aztec/stdlib": "0.0.1-commit.b1c78909e",
59
- "@aztec/telemetry-client": "0.0.1-commit.b1c78909e",
60
- "@aztec/txe": "0.0.1-commit.b1c78909e",
61
- "@aztec/validator-ha-signer": "0.0.1-commit.b1c78909e",
62
- "@aztec/wallets": "0.0.1-commit.b1c78909e",
63
- "@aztec/world-state": "0.0.1-commit.b1c78909e",
31
+ "@aztec/accounts": "0.0.1-commit.b33fc05d0",
32
+ "@aztec/archiver": "0.0.1-commit.b33fc05d0",
33
+ "@aztec/aztec-faucet": "0.0.1-commit.b33fc05d0",
34
+ "@aztec/aztec-node": "0.0.1-commit.b33fc05d0",
35
+ "@aztec/aztec.js": "0.0.1-commit.b33fc05d0",
36
+ "@aztec/bb-prover": "0.0.1-commit.b33fc05d0",
37
+ "@aztec/bb.js": "0.0.1-commit.b33fc05d0",
38
+ "@aztec/blob-client": "0.0.1-commit.b33fc05d0",
39
+ "@aztec/bot": "0.0.1-commit.b33fc05d0",
40
+ "@aztec/builder": "0.0.1-commit.b33fc05d0",
41
+ "@aztec/cli": "0.0.1-commit.b33fc05d0",
42
+ "@aztec/constants": "0.0.1-commit.b33fc05d0",
43
+ "@aztec/entrypoints": "0.0.1-commit.b33fc05d0",
44
+ "@aztec/ethereum": "0.0.1-commit.b33fc05d0",
45
+ "@aztec/foundation": "0.0.1-commit.b33fc05d0",
46
+ "@aztec/kv-store": "0.0.1-commit.b33fc05d0",
47
+ "@aztec/l1-artifacts": "0.0.1-commit.b33fc05d0",
48
+ "@aztec/node-lib": "0.0.1-commit.b33fc05d0",
49
+ "@aztec/noir-contracts.js": "0.0.1-commit.b33fc05d0",
50
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.b33fc05d0",
51
+ "@aztec/p2p": "0.0.1-commit.b33fc05d0",
52
+ "@aztec/p2p-bootstrap": "0.0.1-commit.b33fc05d0",
53
+ "@aztec/protocol-contracts": "0.0.1-commit.b33fc05d0",
54
+ "@aztec/prover-client": "0.0.1-commit.b33fc05d0",
55
+ "@aztec/prover-node": "0.0.1-commit.b33fc05d0",
56
+ "@aztec/pxe": "0.0.1-commit.b33fc05d0",
57
+ "@aztec/sequencer-client": "0.0.1-commit.b33fc05d0",
58
+ "@aztec/stdlib": "0.0.1-commit.b33fc05d0",
59
+ "@aztec/telemetry-client": "0.0.1-commit.b33fc05d0",
60
+ "@aztec/txe": "0.0.1-commit.b33fc05d0",
61
+ "@aztec/validator-ha-signer": "0.0.1-commit.b33fc05d0",
62
+ "@aztec/wallets": "0.0.1-commit.b33fc05d0",
63
+ "@aztec/world-state": "0.0.1-commit.b33fc05d0",
64
64
  "@iarna/toml": "^2.2.5",
65
65
  "@types/chalk": "^2.2.0",
66
66
  "abitype": "^0.8.11",
@@ -7,7 +7,7 @@ import {
7
7
  } from '@aztec/foundation/json-rpc/server';
8
8
  import type { LogFn, Logger } from '@aztec/foundation/log';
9
9
  import type { ChainConfig } from '@aztec/stdlib/config';
10
- import { AztecNodeApiSchema } from '@aztec/stdlib/interfaces/client';
10
+ import { AztecNodeAdminApiSchema, AztecNodeApiSchema } from '@aztec/stdlib/interfaces/client';
11
11
  import { getPackageVersion } from '@aztec/stdlib/update-checker';
12
12
  import { getVersioningMiddleware } from '@aztec/stdlib/versioning';
13
13
  import { getOtelJsonRpcPropagationMiddleware } from '@aztec/telemetry-client';
@@ -50,6 +50,7 @@ export async function aztecStart(options: any, userLog: LogFn, debugLogger: Logg
50
50
  // Start Node and PXE JSON-RPC server
51
51
  signalHandlers.push(stop);
52
52
  services.node = [node, AztecNodeApiSchema];
53
+ adminServices.node = [node, AztecNodeAdminApiSchema];
53
54
  } else {
54
55
  // Route --prover-node through startNode
55
56
  if (options.proverNode && !options.node) {
@@ -1,3 +1,4 @@
1
+ import { findBbBinary } from '@aztec/bb.js';
1
2
  import type { LogFn } from '@aztec/foundation/log';
2
3
 
3
4
  import { execFileSync } from 'child_process';
@@ -144,7 +145,7 @@ async function compileAztecContract(nargoArgs: string[], log: LogFn): Promise<vo
144
145
  }
145
146
 
146
147
  const nargo = process.env.NARGO ?? 'nargo';
147
- const bb = process.env.BB ?? 'bb';
148
+ const bb = process.env.BB ?? findBbBinary() ?? 'bb';
148
149
 
149
150
  await run(nargo, ['compile', ...nargoArgs]);
150
151
 
@@ -1,3 +1,4 @@
1
+ import { findBbBinary } from '@aztec/bb.js';
1
2
  import type { LogFn } from '@aztec/foundation/log';
2
3
 
3
4
  import { readFile, rename, rm, writeFile } from 'fs/promises';
@@ -33,7 +34,7 @@ export async function profileFlamegraph(artifactPath: string, functionName: stri
33
34
  await writeFile(functionArtifact, makeFunctionArtifact(artifact, func));
34
35
 
35
36
  const profiler = process.env.PROFILER_PATH ?? 'noir-profiler';
36
- const bb = process.env.BB ?? 'bb';
37
+ const bb = process.env.BB ?? findBbBinary() ?? 'bb';
37
38
 
38
39
  await run(profiler, [
39
40
  'gates',
@@ -1,3 +1,4 @@
1
+ import { findBbBinary } from '@aztec/bb.js';
1
2
  import { asyncPool } from '@aztec/foundation/async-pool';
2
3
  import type { LogFn } from '@aztec/foundation/log';
3
4
 
@@ -32,7 +33,7 @@ async function getGateCount(bb: string, artifactPath: string): Promise<number> {
32
33
 
33
34
  /** Profiles all compiled artifacts in a target directory and prints gate counts. */
34
35
  export async function profileGates(targetDir: string, log: LogFn): Promise<void> {
35
- const bb = process.env.BB ?? 'bb';
36
+ const bb = process.env.BB ?? findBbBinary() ?? 'bb';
36
37
  const { artifacts, tmpDir } = await discoverArtifacts(targetDir);
37
38
 
38
39
  if (artifacts.length === 0) {
@@ -73,19 +73,31 @@ async function collectCrateDirs(startCrateDir: string): Promise<string[]> {
73
73
  throw new Error(`Incorrectly defined dependency. Nargo.toml not found in ${absDir}`);
74
74
  });
75
75
 
76
- // We parse and iterate over the dependencies
77
76
  const parsed = TOML.parse(content) as Record<string, any>;
78
- const deps = (parsed.dependencies as Record<string, any>) ?? {};
79
- for (const dep of Object.values(deps)) {
80
- if (dep && typeof dep === 'object' && typeof dep.path === 'string') {
81
- const depPath = resolve(absDir, dep.path);
82
- const s = await stat(depPath);
83
- if (!s.isDirectory()) {
84
- throw new Error(
85
- `Dependency path "${dep.path}" in ${tomlPath} resolves to ${depPath} which is not a directory`,
86
- );
77
+
78
+ const members = (parsed.workspace as Record<string, any>)?.members as string[] | undefined;
79
+
80
+ // A Nargo.toml is either a workspace root (has workspace.members) or a single crate (has dependencies).
81
+ if (Array.isArray(members)) {
82
+ // The crate is a workspace root and has members defined so we visit the members
83
+ for (const member of members) {
84
+ const memberPath = resolve(absDir, member);
85
+ await visit(memberPath);
86
+ }
87
+ } else {
88
+ // The crate is not a workspace root so we check for dependencies
89
+ const deps = (parsed.dependencies as Record<string, any>) ?? {};
90
+ for (const dep of Object.values(deps)) {
91
+ if (dep && typeof dep === 'object' && typeof dep.path === 'string') {
92
+ const depPath = resolve(absDir, dep.path);
93
+ const s = await stat(depPath);
94
+ if (!s.isDirectory()) {
95
+ throw new Error(
96
+ `Dependency path "${dep.path}" in ${tomlPath} resolves to ${depPath} which is not a directory`,
97
+ );
98
+ }
99
+ await visit(depPath);
87
100
  }
88
- await visit(depPath);
89
101
  }
90
102
  }
91
103
  }
@@ -4,7 +4,7 @@ import { type EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
4
4
  import type { Logger } from '@aztec/foundation/log';
5
5
  import { EpochMonitor } from '@aztec/prover-node';
6
6
  import type { EthAddress, L2BlockSource } from '@aztec/stdlib/block';
7
- import { computeL2ToL1MembershipWitnessFromMessagesInEpoch } from '@aztec/stdlib/messaging';
7
+ import { computeEpochOutHash } from '@aztec/stdlib/messaging';
8
8
 
9
9
  export class EpochTestSettler {
10
10
  private rollupCheatCodes: RollupCheatCodes;
@@ -51,9 +51,8 @@ export class EpochTestSettler {
51
51
  messagesInEpoch[checkpointIndex].push(block.body.txEffects.map(txEffect => txEffect.l2ToL1Msgs));
52
52
  }
53
53
 
54
- const [firstMessage] = messagesInEpoch.flat(3);
55
- if (firstMessage) {
56
- const { root: outHash } = computeL2ToL1MembershipWitnessFromMessagesInEpoch(messagesInEpoch, firstMessage);
54
+ const outHash = computeEpochOutHash(messagesInEpoch);
55
+ if (!outHash.isZero()) {
57
56
  await this.rollupCheatCodes.insertOutbox(epoch, outHash.toBigInt());
58
57
  } else {
59
58
  this.log.info(`No L2 to L1 messages in epoch ${epoch}`);