@aztec/builder 0.43.0 → 0.45.0
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/contract-interface-gen/typescript.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EAOtB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/contract-interface-gen/typescript.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EAOtB,MAAM,uBAAuB,CAAC;AA8S/B;;;;;GAKG;AACH,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,MAAM,UAuEvG"}
|
|
@@ -172,9 +172,8 @@ function generateStorageLayoutGetter(input) {
|
|
|
172
172
|
}
|
|
173
173
|
const storageFieldsUnionType = entries.map(([name]) => `'${name}'`).join(' | ');
|
|
174
174
|
const layout = entries
|
|
175
|
-
.map(([name, { slot
|
|
175
|
+
.map(([name, { slot }]) => `${name}: {
|
|
176
176
|
slot: new Fr(${slot.toBigInt()}n),
|
|
177
|
-
typ: "${typ}",
|
|
178
177
|
}`)
|
|
179
178
|
.join(',\n');
|
|
180
179
|
return `public static get storage(): ContractStorageLayout<${storageFieldsUnionType}> {
|
|
@@ -196,7 +195,7 @@ function generateNotesGetter(input) {
|
|
|
196
195
|
const notesUnionType = entries.map(([name]) => `'${name}'`).join(' | ');
|
|
197
196
|
const noteMetadata = entries
|
|
198
197
|
.map(([name, { id }]) => `${name}: {
|
|
199
|
-
id: new
|
|
198
|
+
id: new NoteSelector(${id.value}),
|
|
200
199
|
}`)
|
|
201
200
|
.join(',\n');
|
|
202
201
|
return `public static get notes(): ContractNotes<${notesUnionType}> {
|
|
@@ -220,12 +219,12 @@ function generateEvents(events) {
|
|
|
220
219
|
}
|
|
221
220
|
`;
|
|
222
221
|
const fieldNames = event.fields.map((field) => `"${field.name}"`);
|
|
223
|
-
const eventType = `${eventName}: {decode: (payload: L1EventPayload | undefined) => ${eventName} | undefined,
|
|
222
|
+
const eventType = `${eventName}: {decode: (payload: L1EventPayload | undefined) => ${eventName} | undefined, eventSelector: EventSelector, fieldNames: string[] }`;
|
|
224
223
|
const eventImpl = `${eventName}: {
|
|
225
|
-
decode: this.decodeEvent(${event.fields.length},
|
|
224
|
+
decode: this.decodeEvent(${event.fields.length}, EventSelector.fromSignature('${eventName}(${event.fields
|
|
226
225
|
.map(() => 'Field')
|
|
227
226
|
.join(',')})'), [${fieldNames}]),
|
|
228
|
-
|
|
227
|
+
eventSelector: EventSelector.fromSignature('${eventName}(${event.fields.map(() => 'Field').join(',')})'),
|
|
229
228
|
fieldNames: [${fieldNames}],
|
|
230
229
|
}`;
|
|
231
230
|
return {
|
|
@@ -238,21 +237,17 @@ function generateEvents(events) {
|
|
|
238
237
|
eventDefs: eventsMetadata.map(({ eventDef }) => eventDef).join('\n'),
|
|
239
238
|
events: `
|
|
240
239
|
// Partial application is chosen is to avoid the duplication of so much codegen.
|
|
241
|
-
private static decodeEvent<T>(fieldsLength: number,
|
|
240
|
+
private static decodeEvent<T>(fieldsLength: number, eventSelector: EventSelector, fields: string[]): (payload: L1EventPayload | undefined) => T | undefined {
|
|
242
241
|
return (payload: L1EventPayload | undefined): T | undefined => {
|
|
243
242
|
if (payload === undefined) {
|
|
244
243
|
return undefined;
|
|
245
244
|
}
|
|
246
|
-
if (
|
|
247
|
-
!functionSelector.equals(
|
|
248
|
-
FunctionSelector.fromField(payload.eventTypeId),
|
|
249
|
-
)
|
|
250
|
-
) {
|
|
245
|
+
if (!eventSelector.equals(payload.eventTypeId)) {
|
|
251
246
|
return undefined;
|
|
252
247
|
}
|
|
253
248
|
if (payload.event.items.length !== fieldsLength) {
|
|
254
249
|
throw new Error(
|
|
255
|
-
'Something is weird here, we have matching
|
|
250
|
+
'Something is weird here, we have matching EventSelectors, but the actual payload has mismatched length',
|
|
256
251
|
);
|
|
257
252
|
}
|
|
258
253
|
|
|
@@ -309,13 +304,14 @@ import {
|
|
|
309
304
|
DeployMethod,
|
|
310
305
|
EthAddress,
|
|
311
306
|
EthAddressLike,
|
|
307
|
+
EventSelector,
|
|
312
308
|
FieldLike,
|
|
313
309
|
Fr,
|
|
314
|
-
FunctionSelector,
|
|
315
310
|
FunctionSelectorLike,
|
|
316
311
|
L1EventPayload,
|
|
317
312
|
loadContractArtifact,
|
|
318
313
|
NoirCompiledContract,
|
|
314
|
+
NoteSelector,
|
|
319
315
|
Point,
|
|
320
316
|
PublicKey,
|
|
321
317
|
Wallet,
|
|
@@ -350,4 +346,4 @@ export class ${input.name}Contract extends ContractBase {
|
|
|
350
346
|
}
|
|
351
347
|
`;
|
|
352
348
|
}
|
|
353
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
349
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC1pbnRlcmZhY2UtZ2VuL3R5cGVzY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4QixvQkFBb0IsR0FDckIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQjs7OztHQUlHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxJQUEwQjtJQUNyRCxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQixLQUFLLE9BQU87WUFDVixPQUFPLFdBQVcsQ0FBQztRQUNyQixLQUFLLFNBQVM7WUFDWixPQUFPLFNBQVMsQ0FBQztRQUNuQixLQUFLLFNBQVM7WUFDWixPQUFPLG1CQUFtQixDQUFDO1FBQzdCLEtBQUssUUFBUTtZQUNYLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLEtBQUssT0FBTztZQUNWLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMvQyxLQUFLLFFBQVE7WUFDWCxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLE9BQU8sZ0JBQWdCLENBQUM7WUFDMUIsQ0FBQztZQUNELElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsT0FBTyxrQkFBa0IsQ0FBQztZQUM1QixDQUFDO1lBQ0QsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNuQyxPQUFPLHNCQUFzQixDQUFDO1lBQ2hDLENBQUM7WUFDRCxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sa0JBQWtCLENBQUM7WUFDNUIsQ0FBQztZQUNELE9BQU8sS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxD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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/builder",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.45.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -41,7 +41,15 @@
|
|
|
41
41
|
"rootDir": "./src",
|
|
42
42
|
"transform": {
|
|
43
43
|
"^.+\\.tsx?$": [
|
|
44
|
-
"@swc/jest"
|
|
44
|
+
"@swc/jest",
|
|
45
|
+
{
|
|
46
|
+
"jsc": {
|
|
47
|
+
"parser": {
|
|
48
|
+
"syntax": "typescript",
|
|
49
|
+
"decorators": true
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
45
53
|
]
|
|
46
54
|
},
|
|
47
55
|
"extensionsToTreatAsEsm": [
|
|
@@ -57,9 +65,9 @@
|
|
|
57
65
|
]
|
|
58
66
|
},
|
|
59
67
|
"dependencies": {
|
|
60
|
-
"@aztec/circuits.js": "0.
|
|
61
|
-
"@aztec/foundation": "0.
|
|
62
|
-
"@aztec/types": "0.
|
|
68
|
+
"@aztec/circuits.js": "0.45.0",
|
|
69
|
+
"@aztec/foundation": "0.45.0",
|
|
70
|
+
"@aztec/types": "0.45.0",
|
|
63
71
|
"@iarna/toml": "^2.2.5",
|
|
64
72
|
"base64-js": "^1.5.1",
|
|
65
73
|
"commander": "^9.0.0",
|
|
@@ -194,10 +194,9 @@ function generateStorageLayoutGetter(input: ContractArtifact) {
|
|
|
194
194
|
const storageFieldsUnionType = entries.map(([name]) => `'${name}'`).join(' | ');
|
|
195
195
|
const layout = entries
|
|
196
196
|
.map(
|
|
197
|
-
([name, { slot
|
|
197
|
+
([name, { slot }]) =>
|
|
198
198
|
`${name}: {
|
|
199
199
|
slot: new Fr(${slot.toBigInt()}n),
|
|
200
|
-
typ: "${typ}",
|
|
201
200
|
}`,
|
|
202
201
|
)
|
|
203
202
|
.join(',\n');
|
|
@@ -226,7 +225,7 @@ function generateNotesGetter(input: ContractArtifact) {
|
|
|
226
225
|
.map(
|
|
227
226
|
([name, { id }]) =>
|
|
228
227
|
`${name}: {
|
|
229
|
-
id: new
|
|
228
|
+
id: new NoteSelector(${id.value}),
|
|
230
229
|
}`,
|
|
231
230
|
)
|
|
232
231
|
.join(',\n');
|
|
@@ -256,13 +255,13 @@ function generateEvents(events: any[] | undefined) {
|
|
|
256
255
|
`;
|
|
257
256
|
|
|
258
257
|
const fieldNames = event.fields.map((field: any) => `"${field.name}"`);
|
|
259
|
-
const eventType = `${eventName}: {decode: (payload: L1EventPayload | undefined) => ${eventName} | undefined,
|
|
258
|
+
const eventType = `${eventName}: {decode: (payload: L1EventPayload | undefined) => ${eventName} | undefined, eventSelector: EventSelector, fieldNames: string[] }`;
|
|
260
259
|
|
|
261
260
|
const eventImpl = `${eventName}: {
|
|
262
|
-
decode: this.decodeEvent(${event.fields.length},
|
|
261
|
+
decode: this.decodeEvent(${event.fields.length}, EventSelector.fromSignature('${eventName}(${event.fields
|
|
263
262
|
.map(() => 'Field')
|
|
264
263
|
.join(',')})'), [${fieldNames}]),
|
|
265
|
-
|
|
264
|
+
eventSelector: EventSelector.fromSignature('${eventName}(${event.fields.map(() => 'Field').join(',')})'),
|
|
266
265
|
fieldNames: [${fieldNames}],
|
|
267
266
|
}`;
|
|
268
267
|
|
|
@@ -277,21 +276,17 @@ function generateEvents(events: any[] | undefined) {
|
|
|
277
276
|
eventDefs: eventsMetadata.map(({ eventDef }) => eventDef).join('\n'),
|
|
278
277
|
events: `
|
|
279
278
|
// Partial application is chosen is to avoid the duplication of so much codegen.
|
|
280
|
-
private static decodeEvent<T>(fieldsLength: number,
|
|
279
|
+
private static decodeEvent<T>(fieldsLength: number, eventSelector: EventSelector, fields: string[]): (payload: L1EventPayload | undefined) => T | undefined {
|
|
281
280
|
return (payload: L1EventPayload | undefined): T | undefined => {
|
|
282
281
|
if (payload === undefined) {
|
|
283
282
|
return undefined;
|
|
284
283
|
}
|
|
285
|
-
if (
|
|
286
|
-
!functionSelector.equals(
|
|
287
|
-
FunctionSelector.fromField(payload.eventTypeId),
|
|
288
|
-
)
|
|
289
|
-
) {
|
|
284
|
+
if (!eventSelector.equals(payload.eventTypeId)) {
|
|
290
285
|
return undefined;
|
|
291
286
|
}
|
|
292
287
|
if (payload.event.items.length !== fieldsLength) {
|
|
293
288
|
throw new Error(
|
|
294
|
-
'Something is weird here, we have matching
|
|
289
|
+
'Something is weird here, we have matching EventSelectors, but the actual payload has mismatched length',
|
|
295
290
|
);
|
|
296
291
|
}
|
|
297
292
|
|
|
@@ -350,13 +345,14 @@ import {
|
|
|
350
345
|
DeployMethod,
|
|
351
346
|
EthAddress,
|
|
352
347
|
EthAddressLike,
|
|
348
|
+
EventSelector,
|
|
353
349
|
FieldLike,
|
|
354
350
|
Fr,
|
|
355
|
-
FunctionSelector,
|
|
356
351
|
FunctionSelectorLike,
|
|
357
352
|
L1EventPayload,
|
|
358
353
|
loadContractArtifact,
|
|
359
354
|
NoirCompiledContract,
|
|
355
|
+
NoteSelector,
|
|
360
356
|
Point,
|
|
361
357
|
PublicKey,
|
|
362
358
|
Wallet,
|