@aztec/builder 0.74.0 → 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2

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.
package/dest/bin/cli.js CHANGED
@@ -3,7 +3,7 @@ import { createConsoleLogger } from '@aztec/foundation/log';
3
3
  import { Command } from 'commander';
4
4
  import { injectCommands as injectBuilderCommands } from '../index.js';
5
5
  const log = createConsoleLogger('aztec:builder');
6
- const main = async () => {
6
+ const main = async ()=>{
7
7
  const program = new Command('aztec-builder');
8
8
  injectBuilderCommands(program);
9
9
  await program.parseAsync(process.argv);
@@ -11,9 +11,8 @@ const main = async () => {
11
11
  // it without success and I think it doesn't make sense to invest more time in this.
12
12
  process.exit(0);
13
13
  };
14
- main().catch(err => {
14
+ main().catch((err)=>{
15
15
  log(`Error running command`);
16
16
  log(err);
17
17
  process.exit(1);
18
18
  });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsT0FBTyxFQUFFLGNBQWMsSUFBSSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV0RSxNQUFNLEdBQUcsR0FBRyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUVqRCxNQUFNLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtJQUN0QixNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUU3QyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLG9IQUFvSDtJQUNwSCxvRkFBb0Y7SUFDcEYsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7SUFDakIsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDN0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyJ9
@@ -1,5 +1,4 @@
1
- /* eslint-disable no-console */
2
- import { loadContractArtifact } from '@aztec/types/abi';
1
+ /* eslint-disable no-console */ import { loadContractArtifact } from '@aztec/types/abi';
3
2
  import crypto from 'crypto';
4
3
  import { access, mkdir, readFile, readdir, stat, writeFile } from 'fs/promises';
5
4
  import path from 'path';
@@ -8,19 +7,20 @@ const cacheFilePath = './codegenCache.json';
8
7
  let cache = {};
9
8
  /**
10
9
  * Generates Noir interface or Typescript interface for a folder or single file from a Noir compilation artifact.
11
- */
12
- export async function generateCode(outputPath, fileOrDirPath, opts = {}) {
10
+ */ export async function generateCode(outputPath, fileOrDirPath, opts = {}) {
13
11
  await readCache();
14
12
  const results = [];
15
13
  const stats = await stat(fileOrDirPath);
16
14
  if (stats.isDirectory()) {
17
- const files = (await readdir(fileOrDirPath, { recursive: true, encoding: 'utf-8' })).filter(file => file.endsWith('.json') && !file.startsWith('debug_'));
18
- for (const file of files) {
15
+ const files = (await readdir(fileOrDirPath, {
16
+ recursive: true,
17
+ encoding: 'utf-8'
18
+ })).filter((file)=>file.endsWith('.json') && !file.startsWith('debug_'));
19
+ for (const file of files){
19
20
  const fullPath = path.join(fileOrDirPath, file);
20
21
  results.push(await generateFromNoirAbi(outputPath, fullPath, opts));
21
22
  }
22
- }
23
- else if (stats.isFile()) {
23
+ } else if (stats.isFile()) {
24
24
  results.push(await generateFromNoirAbi(outputPath, fileOrDirPath, opts));
25
25
  }
26
26
  await writeCache();
@@ -28,8 +28,7 @@ export async function generateCode(outputPath, fileOrDirPath, opts = {}) {
28
28
  }
29
29
  /**
30
30
  * Generates Noir interface or Typescript interface for a single file Noir compilation artifact.
31
- */
32
- async function generateFromNoirAbi(outputPath, noirAbiPath, opts = {}) {
31
+ */ async function generateFromNoirAbi(outputPath, noirAbiPath, opts = {}) {
33
32
  const fileName = path.basename(noirAbiPath);
34
33
  const currentHash = await generateFileHash(noirAbiPath);
35
34
  const cachedInstance = isCacheValid(fileName, currentHash);
@@ -40,7 +39,9 @@ async function generateFromNoirAbi(outputPath, noirAbiPath, opts = {}) {
40
39
  const file = await readFile(noirAbiPath, 'utf8');
41
40
  const contract = JSON.parse(file);
42
41
  const aztecAbi = loadContractArtifact(contract);
43
- await mkdir(outputPath, { recursive: true });
42
+ await mkdir(outputPath, {
43
+ recursive: true
44
+ });
44
45
  let relativeArtifactPath = path.relative(outputPath, noirAbiPath);
45
46
  if (relativeArtifactPath === path.basename(noirAbiPath)) {
46
47
  // Prepend ./ for local import if the folder is the same
@@ -72,15 +73,16 @@ function isCacheValid(contractName, currentHash) {
72
73
  return cache[contractName]?.hash === currentHash && cache[contractName];
73
74
  }
74
75
  function updateCache(fileName, contractName, hash) {
75
- cache[fileName] = { contractName, hash };
76
+ cache[fileName] = {
77
+ contractName,
78
+ hash
79
+ };
76
80
  }
77
81
  async function exists(filePath) {
78
82
  try {
79
83
  await access(filePath);
80
84
  return true;
81
- }
82
- catch {
85
+ } catch {
83
86
  return false;
84
87
  }
85
88
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWdlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC1pbnRlcmZhY2UtZ2VuL2NvZGVnZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXhELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEYsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRFLE1BQU0sYUFBYSxHQUFHLHFCQUFxQixDQUFDO0FBQzVDLElBQUksS0FBSyxHQUEyRCxFQUFFLENBQUM7QUFLdkU7O0dBRUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFlBQVksQ0FBQyxVQUFrQixFQUFFLGFBQXFCLEVBQUUsT0FBNEIsRUFBRTtJQUMxRyxNQUFNLFNBQVMsRUFBRSxDQUFDO0lBQ2xCLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNuQixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUV4QyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDekYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FDN0QsQ0FB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
@@ -1,11 +1,10 @@
1
- import { EventSelector, decodeFunctionSignature, getDefaultInitializer, isAztecAddressStruct, isEthAddressStruct, isFunctionSelectorStruct, isU128Struct, isWrappedFieldStruct, } from '@aztec/foundation/abi';
1
+ import { EventSelector, decodeFunctionSignature, getDefaultInitializer, isAztecAddressStruct, isEthAddressStruct, isFunctionSelectorStruct, isU128Struct, isWrappedFieldStruct } from '@aztec/foundation/abi';
2
2
  /**
3
3
  * Returns the corresponding typescript type for a given Noir type.
4
4
  * @param type - The input Noir type.
5
5
  * @returns An equivalent typescript type.
6
- */
7
- function abiTypeToTypescript(type) {
8
- switch (type.kind) {
6
+ */ function abiTypeToTypescript(type) {
7
+ switch(type.kind){
9
8
  case 'field':
10
9
  return 'FieldLike';
11
10
  case 'boolean':
@@ -32,7 +31,7 @@ function abiTypeToTypescript(type) {
32
31
  if (isWrappedFieldStruct(type)) {
33
32
  return 'WrappedFieldLike';
34
33
  }
35
- return `{ ${type.fields.map(f => `${f.name}: ${abiTypeToTypescript(f.type)}`).join(', ')} }`;
34
+ return `{ ${type.fields.map((f)=>`${f.name}: ${abiTypeToTypescript(f.type)}`).join(', ')} }`;
36
35
  default:
37
36
  throw new Error(`Unknown type ${type}`);
38
37
  }
@@ -41,27 +40,24 @@ function abiTypeToTypescript(type) {
41
40
  * Generates the typescript code to represent a Noir parameter.
42
41
  * @param param - A Noir parameter with name and type.
43
42
  * @returns The corresponding ts code.
44
- */
45
- function generateParameter(param) {
43
+ */ function generateParameter(param) {
46
44
  return `${param.name}: ${abiTypeToTypescript(param.type)}`;
47
45
  }
48
46
  /**
49
47
  * Generates the typescript code to represent a Noir function as a type.
50
48
  * @param param - A Noir function.
51
49
  * @returns The corresponding ts code.
52
- */
53
- function generateMethod(entry) {
50
+ */ function generateMethod(entry) {
54
51
  const args = entry.parameters.map(generateParameter).join(', ');
55
52
  return `
56
- /** ${entry.name}(${entry.parameters.map(p => `${p.name}: ${p.type.kind}`).join(', ')}) */
53
+ /** ${entry.name}(${entry.parameters.map((p)=>`${p.name}: ${p.type.kind}`).join(', ')}) */
57
54
  ${entry.name}: ((${args}) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;`;
58
55
  }
59
56
  /**
60
57
  * Generates a deploy method for this contract.
61
58
  * @param input - Build artifact of the contract.
62
59
  * @returns A type-safe deploy method in ts.
63
- */
64
- function generateDeploy(input) {
60
+ */ function generateDeploy(input) {
65
61
  const ctor = getDefaultInitializer(input);
66
62
  const args = (ctor?.parameters ?? []).map(generateParameter).join(', ');
67
63
  const contractName = `${input.name}Contract`;
@@ -104,8 +100,7 @@ function generateDeploy(input) {
104
100
  * @param name - Name of the contract to derive the ABI name from.
105
101
  * @returns A constructor method.
106
102
  * @remarks The constructor is private because we want to force the user to use the create method.
107
- */
108
- function generateConstructor(name) {
103
+ */ function generateConstructor(name) {
109
104
  return `
110
105
  private constructor(
111
106
  instance: ContractInstanceWithAddress,
@@ -120,8 +115,7 @@ function generateConstructor(name) {
120
115
  * @param name - Name of the contract to derive the ABI name from.
121
116
  * @returns An at method.
122
117
  * @remarks We don't use constructor directly because of the async `wallet.getContractData` call.
123
- */
124
- function generateAt(name) {
118
+ */ function generateAt(name) {
125
119
  return `
126
120
  /**
127
121
  * Creates a contract instance.
@@ -139,8 +133,7 @@ function generateAt(name) {
139
133
  /**
140
134
  * Generates a static getter for the contract's artifact.
141
135
  * @param name - Name of the contract used to derive name of the artifact import.
142
- */
143
- function generateArtifactGetter(name) {
136
+ */ function generateArtifactGetter(name) {
144
137
  const artifactName = `${name}ContractArtifact`;
145
138
  return `
146
139
  /**
@@ -156,29 +149,25 @@ function generateArtifactGetter(name) {
156
149
  * @param name - Name of the contract.
157
150
  * @param artifactImportPath - Path to load the ABI from.
158
151
  * @returns Code.
159
- */
160
- function generateAbiStatement(name, artifactImportPath) {
152
+ */ function generateAbiStatement(name, artifactImportPath) {
161
153
  const stmts = [
162
154
  `import ${name}ContractArtifactJson from '${artifactImportPath}' assert { type: 'json' };`,
163
- `export const ${name}ContractArtifact = loadContractArtifact(${name}ContractArtifactJson as NoirCompiledContract);`,
155
+ `export const ${name}ContractArtifact = loadContractArtifact(${name}ContractArtifactJson as NoirCompiledContract);`
164
156
  ];
165
157
  return stmts.join('\n');
166
158
  }
167
159
  /**
168
160
  * Generates a getter for the contract's storage layout.
169
161
  * @param input - The contract artifact.
170
- */
171
- function generateStorageLayoutGetter(input) {
162
+ */ function generateStorageLayoutGetter(input) {
172
163
  const entries = Object.entries(input.storageLayout);
173
164
  if (entries.length === 0) {
174
165
  return '';
175
166
  }
176
- const storageFieldsUnionType = entries.map(([name]) => `'${name}'`).join(' | ');
177
- const layout = entries
178
- .map(([name, { slot }]) => `${name}: {
167
+ const storageFieldsUnionType = entries.map(([name])=>`'${name}'`).join(' | ');
168
+ const layout = entries.map(([name, { slot }])=>`${name}: {
179
169
  slot: new Fr(${slot.toBigInt()}n),
180
- }`)
181
- .join(',\n');
170
+ }`).join(',\n');
182
171
  return `public static get storage(): ContractStorageLayout<${storageFieldsUnionType}> {
183
172
  return {
184
173
  ${layout}
@@ -189,18 +178,15 @@ function generateStorageLayoutGetter(input) {
189
178
  /**
190
179
  * Generates a getter for the contract notes
191
180
  * @param input - The contract artifact.
192
- */
193
- function generateNotesGetter(input) {
181
+ */ function generateNotesGetter(input) {
194
182
  const entries = Object.entries(input.notes);
195
183
  if (entries.length === 0) {
196
184
  return '';
197
185
  }
198
- const notesUnionType = entries.map(([name]) => `'${name}'`).join(' | ');
199
- const noteMetadata = entries
200
- .map(([name, { id }]) => `${name}: {
186
+ const notesUnionType = entries.map(([name])=>`'${name}'`).join(' | ');
187
+ const noteMetadata = entries.map(([name, { id }])=>`${name}: {
201
188
  id: new NoteSelector(${id.value}),
202
- }`)
203
- .join(',\n');
189
+ }`).join(',\n');
204
190
  return `public static get notes(): ContractNotes<${notesUnionType}> {
205
191
  return {
206
192
  ${noteMetadata}
@@ -211,17 +197,20 @@ function generateNotesGetter(input) {
211
197
  // events is of type AbiType
212
198
  async function generateEvents(events) {
213
199
  if (events === undefined) {
214
- return { events: '', eventDefs: '' };
200
+ return {
201
+ events: '',
202
+ eventDefs: ''
203
+ };
215
204
  }
216
- const eventsMetadata = await Promise.all(events.map(async (event) => {
205
+ const eventsMetadata = await Promise.all(events.map(async (event)=>{
217
206
  const eventName = event.path.split('::').at(-1);
218
- const eventDefProps = event.fields.map((field) => `${field.name}: ${abiTypeToTypescript(field.type)}`);
207
+ const eventDefProps = event.fields.map((field)=>`${field.name}: ${abiTypeToTypescript(field.type)}`);
219
208
  const eventDef = `
220
209
  export type ${eventName} = {
221
210
  ${eventDefProps.join('\n')}
222
211
  }
223
212
  `;
224
- const fieldNames = event.fields.map((field) => `"${field.name}"`);
213
+ const fieldNames = event.fields.map((field)=>`"${field.name}"`);
225
214
  const eventType = `${eventName}: {abiType: AbiType, eventSelector: EventSelector, fieldNames: string[] }`;
226
215
  // Reusing the decodeFunctionSignature
227
216
  const eventSignature = decodeFunctionSignature(eventName, event.fields);
@@ -234,18 +223,18 @@ async function generateEvents(events) {
234
223
  return {
235
224
  eventDef,
236
225
  eventType,
237
- eventImpl,
226
+ eventImpl
238
227
  };
239
228
  }));
240
229
  return {
241
- eventDefs: eventsMetadata.map(({ eventDef }) => eventDef).join('\n'),
230
+ eventDefs: eventsMetadata.map(({ eventDef })=>eventDef).join('\n'),
242
231
  events: `
243
- public static get events(): { ${eventsMetadata.map(({ eventType }) => eventType).join(', ')} } {
232
+ public static get events(): { ${eventsMetadata.map(({ eventType })=>eventType).join(', ')} } {
244
233
  return {
245
- ${eventsMetadata.map(({ eventImpl }) => eventImpl).join(',\n')}
234
+ ${eventsMetadata.map(({ eventImpl })=>eventImpl).join(',\n')}
246
235
  };
247
236
  }
248
- `,
237
+ `
249
238
  };
250
239
  }
251
240
  /**
@@ -253,12 +242,8 @@ async function generateEvents(events) {
253
242
  * @param input - The compiled Noir artifact.
254
243
  * @param artifactImportPath - Optional path to import the artifact (if not set, will be required in the constructor).
255
244
  * @returns The corresponding ts code.
256
- */
257
- export async function generateTypescriptContractInterface(input, artifactImportPath) {
258
- const methods = input.functions
259
- .filter(f => !f.isInternal)
260
- .sort((a, b) => a.name.localeCompare(b.name))
261
- .map(generateMethod);
245
+ */ export async function generateTypescriptContractInterface(input, artifactImportPath) {
246
+ const methods = input.functions.filter((f)=>!f.isInternal).sort((a, b)=>a.name.localeCompare(b.name)).map(generateMethod);
262
247
  const deploy = artifactImportPath && generateDeploy(input);
263
248
  const ctor = artifactImportPath && generateConstructor(input.name);
264
249
  const at = artifactImportPath && generateAt(input.name);
@@ -333,4 +318,3 @@ export class ${input.name}Contract extends ContractBase {
333
318
  }
334
319
  `;
335
320
  }
336
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC1pbnRlcmZhY2UtZ2VuL3R5cGVzY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLGFBQWEsRUFFYix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLFlBQVksRUFDWixvQkFBb0IsR0FDckIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQjs7OztHQUlHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxJQUEwQjtJQUNyRCxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQixLQUFLLE9BQU87WUFDVixPQUFPLFdBQVcsQ0FBQztRQUNyQixLQUFLLFNBQVM7WUFDWixPQUFPLFNBQVMsQ0FBQztRQUNuQixLQUFLLFNBQVM7WUFDWixPQUFPLG1CQUFtQixDQUFDO1FBQzdCLEtBQUssUUFBUTtZQUNYLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLEtBQUssT0FBTztZQUNWLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMvQyxLQUFLLFFBQVE7WUFDWCxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLE9BQU8sZ0JBQWdCLENBQUM7WUFDMUIsQ0FBQztZQUNELElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsT0FBTyxrQkFBa0IsQ0FBQztZQUM1QixDQUFDO1lBQ0QsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNuQyxPQUFPLHNCQUFzQixDQUFDO1lBQ2hDLENBQUM7WUFDRCxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN2QixPQUFPLFVBQVUsQ0FBQztZQUNwQixDQUFDO1lBQ0QsSUFBSSxvQkFBb0Is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
package/dest/index.js CHANGED
@@ -1,15 +1,10 @@
1
1
  import { dirname } from 'path';
2
2
  export function injectCommands(program) {
3
- program
4
- .command('codegen')
5
- .argument('<noir-abi-path>', 'Path to the Noir ABI or project dir.')
6
- .option('-o, --outdir <path>', 'Output folder for the generated code.')
7
- .option('-f, --force', 'Force code generation even when the contract has not changed.')
8
- .description('Validates and generates an Aztec Contract ABI from Noir ABI.')
9
- .action(async (noirAbiPath, { outdir, force }) => {
3
+ program.command('codegen').argument('<noir-abi-path>', 'Path to the Noir ABI or project dir.').option('-o, --outdir <path>', 'Output folder for the generated code.').option('-f, --force', 'Force code generation even when the contract has not changed.').description('Validates and generates an Aztec Contract ABI from Noir ABI.').action(async (noirAbiPath, { outdir, force })=>{
10
4
  const { generateCode } = await import('./contract-interface-gen/codegen.js');
11
- await generateCode(outdir || dirname(noirAbiPath), noirAbiPath, { force });
5
+ await generateCode(outdir || dirname(noirAbiPath), noirAbiPath, {
6
+ force
7
+ });
12
8
  });
13
9
  return program;
14
10
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixNQUFNLFVBQVUsY0FBYyxDQUFDLE9BQWdCO0lBQzdDLE9BQU87U0FDSixPQUFPLENBQUMsU0FBUyxDQUFDO1NBQ2xCLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxzQ0FBc0MsQ0FBQztTQUNuRSxNQUFNLENBQUMscUJBQXFCLEVBQUUsdUNBQXVDLENBQUM7U0FDdEUsTUFBTSxDQUFDLGFBQWEsRUFBRSwrREFBK0QsQ0FBQztTQUN0RixXQUFXLENBQUMsOERBQThELENBQUM7U0FDM0UsTUFBTSxDQUFDLEtBQUssRUFBRSxXQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7UUFDdkQsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDN0UsTUFBTSxZQUFZLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/builder",
3
- "version": "0.74.0",
3
+ "version": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -23,7 +23,7 @@
23
23
  "clean": "rm -rf ./dest .tsbuildinfo",
24
24
  "formatting": "run -T prettier --check ./src && run -T eslint ./src",
25
25
  "formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
26
- "test": "HARDWARE_CONCURRENCY=${HARDWARE_CONCURRENCY:-16} RAYON_NUM_THREADS=${RAYON_NUM_THREADS:-4} NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
26
+ "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
27
27
  },
28
28
  "inherits": [
29
29
  "../package.common.json"
@@ -67,8 +67,8 @@
67
67
  ]
68
68
  },
69
69
  "dependencies": {
70
- "@aztec/foundation": "0.74.0",
71
- "@aztec/types": "0.74.0",
70
+ "@aztec/foundation": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
71
+ "@aztec/types": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
72
72
  "commander": "^12.1.0"
73
73
  },
74
74
  "devDependencies": {
package/dest/bin/cli.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=cli.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- /** Generate code options */
2
- export type GenerateCodeOptions = {
3
- force?: boolean;
4
- };
5
- /**
6
- * Generates Noir interface or Typescript interface for a folder or single file from a Noir compilation artifact.
7
- */
8
- export declare function generateCode(outputPath: string, fileOrDirPath: string, opts?: GenerateCodeOptions): Promise<string[]>;
9
- //# sourceMappingURL=codegen.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/contract-interface-gen/codegen.ts"],"names":[],"mappings":"AAYA,4BAA4B;AAC5B,MAAM,MAAM,mBAAmB,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtD;;GAEG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,GAAE,mBAAwB,qBAkB3G"}
@@ -1,9 +0,0 @@
1
- import { type ContractArtifact } from '@aztec/foundation/abi';
2
- /**
3
- * Generates the typescript code to represent a contract.
4
- * @param input - The compiled Noir artifact.
5
- * @param artifactImportPath - Optional path to import the artifact (if not set, will be required in the constructor).
6
- * @returns The corresponding ts code.
7
- */
8
- export declare function generateTypescriptContractInterface(input: ContractArtifact, artifactImportPath?: string): Promise<string>;
9
- //# sourceMappingURL=typescript.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/contract-interface-gen/typescript.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EAUtB,MAAM,uBAAuB,CAAC;AA4R/B;;;;;GAKG;AACH,wBAAsB,mCAAmC,CAAC,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,MAAM,mBA+E7G"}
package/dest/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { type Command } from 'commander';
2
- export declare function injectCommands(program: Command): Command;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,WAY9C"}