@aztec/simulator 0.28.1 → 0.30.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.
- package/dest/acvm/oracle/oracle.d.ts +1 -1
- package/dest/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.js +4 -6
- package/dest/acvm/oracle/typed_oracle.d.ts +1 -1
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +2 -2
- package/dest/avm/opcodes/comparators.js +5 -5
- package/dest/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/avm/opcodes/external_calls.js +6 -6
- package/dest/avm/opcodes/memory.d.ts.map +1 -1
- package/dest/avm/opcodes/memory.js +3 -2
- package/dest/client/client_execution_context.d.ts +1 -1
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +11 -6
- package/dest/client/pick_notes.d.ts +9 -4
- package/dest/client/pick_notes.d.ts.map +1 -1
- package/dest/client/pick_notes.js +20 -11
- package/dest/client/view_data_oracle.d.ts +1 -1
- package/dest/client/view_data_oracle.d.ts.map +1 -1
- package/dest/client/view_data_oracle.js +11 -6
- package/dest/public/db.d.ts +0 -7
- package/dest/public/db.d.ts.map +1 -1
- package/dest/public/public_execution_context.d.ts.map +1 -1
- package/dest/public/public_execution_context.js +2 -6
- package/dest/test/utils.d.ts.map +1 -1
- package/dest/test/utils.js +2 -2
- package/package.json +5 -5
- package/src/acvm/oracle/oracle.ts +14 -7
- package/src/acvm/oracle/typed_oracle.ts +6 -2
- package/src/avm/opcodes/comparators.ts +4 -4
- package/src/avm/opcodes/external_calls.ts +7 -5
- package/src/avm/opcodes/memory.ts +3 -1
- package/src/client/client_execution_context.ts +15 -6
- package/src/client/pick_notes.ts +30 -14
- package/src/client/view_data_oracle.ts +15 -6
- package/src/public/db.ts +0 -8
- package/src/public/public_execution_context.ts +1 -5
- package/src/test/utils.ts +1 -8
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Comparator } from '@aztec/circuit-types';
|
|
2
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
2
3
|
/**
|
|
3
4
|
* The order to sort an array.
|
|
4
5
|
*/
|
|
@@ -8,14 +9,20 @@ export var SortOrder;
|
|
|
8
9
|
SortOrder[SortOrder["DESC"] = 1] = "DESC";
|
|
9
10
|
SortOrder[SortOrder["ASC"] = 2] = "ASC";
|
|
10
11
|
})(SortOrder || (SortOrder = {}));
|
|
11
|
-
const
|
|
12
|
+
const selectPropertyFromSerializedNote = (noteData, selector) => {
|
|
13
|
+
const noteValueBuffer = noteData[selector.index].toBuffer();
|
|
14
|
+
const noteValue = noteValueBuffer.subarray(selector.offset, selector.offset + selector.length);
|
|
15
|
+
return Fr.fromBuffer(noteValue);
|
|
16
|
+
};
|
|
17
|
+
const selectNotes = (noteDatas, selects) => noteDatas.filter(noteData => selects.every(({ selector, value, comparator }) => {
|
|
18
|
+
const noteValueFr = selectPropertyFromSerializedNote(noteData.note.items, selector);
|
|
12
19
|
const comparatorSelector = {
|
|
13
|
-
[Comparator.EQ]: () =>
|
|
14
|
-
[Comparator.NEQ]: () => !
|
|
15
|
-
[Comparator.LT]: () =>
|
|
16
|
-
[Comparator.LTE]: () =>
|
|
17
|
-
[Comparator.GT]: () => !
|
|
18
|
-
[Comparator.GTE]: () => !
|
|
20
|
+
[Comparator.EQ]: () => noteValueFr.equals(value),
|
|
21
|
+
[Comparator.NEQ]: () => !noteValueFr.equals(value),
|
|
22
|
+
[Comparator.LT]: () => noteValueFr.lt(value),
|
|
23
|
+
[Comparator.LTE]: () => noteValueFr.lt(value) || noteValueFr.equals(value),
|
|
24
|
+
[Comparator.GT]: () => !noteValueFr.lt(value) && !noteValueFr.equals(value),
|
|
25
|
+
[Comparator.GTE]: () => !noteValueFr.lt(value),
|
|
19
26
|
};
|
|
20
27
|
return comparatorSelector[comparator]();
|
|
21
28
|
}));
|
|
@@ -23,14 +30,16 @@ const sortNotes = (a, b, sorts, level = 0) => {
|
|
|
23
30
|
if (sorts[level] === undefined) {
|
|
24
31
|
return 0;
|
|
25
32
|
}
|
|
26
|
-
const {
|
|
33
|
+
const { selector, order } = sorts[level];
|
|
27
34
|
if (order === 0) {
|
|
28
35
|
return 0;
|
|
29
36
|
}
|
|
37
|
+
const aValue = selectPropertyFromSerializedNote(a, selector);
|
|
38
|
+
const bValue = selectPropertyFromSerializedNote(b, selector);
|
|
30
39
|
const dir = order === 1 ? [-1, 1] : [1, -1];
|
|
31
|
-
return
|
|
40
|
+
return aValue.toBigInt() === bValue.toBigInt()
|
|
32
41
|
? sortNotes(a, b, sorts, level + 1)
|
|
33
|
-
:
|
|
42
|
+
: aValue.toBigInt() > bValue.toBigInt()
|
|
34
43
|
? dir[0]
|
|
35
44
|
: dir[1];
|
|
36
45
|
};
|
|
@@ -42,4 +51,4 @@ export function pickNotes(noteDatas, { selects = [], sorts = [], limit = 0, offs
|
|
|
42
51
|
.sort((a, b) => sortNotes(a.note.items, b.note.items, sorts))
|
|
43
52
|
.slice(offset, limit ? offset + limit : undefined);
|
|
44
53
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja19ub3Rlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvcGlja19ub3Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFRLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBMEI5Qzs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDbkIseUNBQVEsQ0FBQTtJQUNSLHlDQUFRLENBQUE7SUFDUix1Q0FBTyxDQUFBO0FBQ1QsQ0FBQyxFQUpXLFNBQVMsS0FBVCxTQUFTLFFBSXBCO0FBb0RELE1BQU0sZ0NBQWdDLEdBQUcsQ0FBQyxRQUFjLEVBQUUsUUFBMEIsRUFBTSxFQUFFO0lBQzFGLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUQsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9GLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRyxDQUF5QixTQUFjLEVBQUUsT0FBaUIsRUFBTyxFQUFFLENBQ3JGLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDMUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO0lBQ2hELE1BQU0sV0FBVyxHQUFHLGdDQUFnQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BGLE1BQU0sa0JBQWtCLEdBQUc7UUFDekIsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDaEQsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNsRCxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUM1QyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzNFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7S0FDL0MsQ0FBQztJQUVGLE9BQU8sa0JBQWtCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztBQUMxQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBRUosTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFPLEVBQUUsQ0FBTyxFQUFFLEtBQWEsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFVLEVBQUU7SUFDdkUsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDL0IsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDaEIsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsZ0NBQWdDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdELE1BQU0sTUFBTSxHQUFHLGdDQUFnQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUU3RCxNQUFNLEdBQUcsR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDNUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN2QyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNSLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQ3ZCLFNBQWMsRUFDZCxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsS0FBSyxHQUFHLEVBQUUsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQWM7SUFFL0QsT0FBTyxXQUFXLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQztTQUNuQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDNUQsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3ZELENBQUMifQ==
|
|
@@ -116,7 +116,7 @@ export declare class ViewDataOracle extends TypedOracle {
|
|
|
116
116
|
* @param status - The status of notes to fetch.
|
|
117
117
|
* @returns Array of note data.
|
|
118
118
|
*/
|
|
119
|
-
getNotes(storageSlot: Fr, numSelects: number,
|
|
119
|
+
getNotes(storageSlot: Fr, numSelects: number, selectByIndexes: number[], selectByOffsets: number[], selectByLengths: number[], selectValues: Fr[], selectComparators: number[], sortByIndexes: number[], sortByOffsets: number[], sortByLengths: number[], sortOrder: number[], limit: number, offset: number, status: NoteStatus): Promise<NoteData[]>;
|
|
120
120
|
/**
|
|
121
121
|
* Check if a nullifier exists in the nullifier tree.
|
|
122
122
|
* @param innerNullifier - The inner nullifier.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view_data_oracle.d.ts","sourceRoot":"","sources":["../../src/client/view_data_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,eAAe,EACf,YAAY,EACZ,UAAU,EACV,0BAA0B,EAC1B,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C;;;GAGG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAE3C,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY;IAChD,yEAAyE;IACzE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,EAAE;IAC/C,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ;IAC/B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS;IACvC,SAAS,CAAC,GAAG;gBALM,eAAe,EAAE,YAAY;IAChD,yEAAyE;IACtD,aAAa,EAAE,WAAW,EAAE,EAC5B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,SAAS,EAC7B,GAAG,8CAA2D;IAK1E;;;OAGG;IACI,mBAAmB,CAAC,OAAO,EAAE,YAAY;IAIhD;;;;;;OAMG;IACU,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAS1G;;;;;;OAMG;IACI,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAI9F;;;;;OAKG;IACU,6BAA6B,CACxC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAIlD;;;;;;;;OAQG;IACU,gCAAgC,CAC3C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAIlD;;;;;OAKG;IACU,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAIhH;;;;OAIG;IACU,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAQxE;;;;OAIG;IACI,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAI1E;;;;OAIG;IACI,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI5E;;;;;OAKG;IACI,cAAc,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;IAMjE;;;;OAIG;IACI,UAAU,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;IAIlC;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,QAAQ,CACnB,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,
|
|
1
|
+
{"version":3,"file":"view_data_oracle.d.ts","sourceRoot":"","sources":["../../src/client/view_data_oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -147,13 +147,18 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
147
147
|
* @param status - The status of notes to fetch.
|
|
148
148
|
* @returns Array of note data.
|
|
149
149
|
*/
|
|
150
|
-
async getNotes(storageSlot, numSelects,
|
|
150
|
+
async getNotes(storageSlot, numSelects, selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, limit, offset, status) {
|
|
151
151
|
const dbNotes = await this.db.getNotes(this.contractAddress, storageSlot, status);
|
|
152
152
|
return pickNotes(dbNotes, {
|
|
153
|
-
selects:
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
153
|
+
selects: selectByIndexes.slice(0, numSelects).map((index, i) => ({
|
|
154
|
+
selector: { index, offset: selectByOffsets[i], length: selectByLengths[i] },
|
|
155
|
+
value: selectValues[i],
|
|
156
|
+
comparator: selectComparators[i],
|
|
157
|
+
})),
|
|
158
|
+
sorts: sortByIndexes.map((index, i) => ({
|
|
159
|
+
selector: { index, offset: sortByOffsets[i], length: sortByLengths[i] },
|
|
160
|
+
order: sortOrder[i],
|
|
161
|
+
})),
|
|
157
162
|
limit,
|
|
158
163
|
offset,
|
|
159
164
|
});
|
|
@@ -201,4 +206,4 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
201
206
|
return values;
|
|
202
207
|
}
|
|
203
208
|
}
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld19kYXRhX29yYWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvdmlld19kYXRhX29yYWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsWUFBWSxHQUliLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQVksV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDOzs7R0FHRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBVztJQUM3QyxZQUNxQixlQUE2QjtJQUNoRCx5RUFBeUU7SUFDdEQsYUFBNEIsRUFDNUIsRUFBWSxFQUNaLFNBQW9CLEVBQzdCLE1BQU0saUJBQWlCLENBQUMscUNBQXFDLENBQUM7UUFFeEUsS0FBSyxFQUFFLENBQUM7UUFQVyxvQkFBZSxHQUFmLGVBQWUsQ0FBYztRQUU3QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixPQUFFLEdBQUYsRUFBRSxDQUFVO1FBQ1osY0FBUyxHQUFULFNBQVMsQ0FBVztRQUM3QixRQUFHLEdBQUgsR0FBRyxDQUEyRDtJQUcxRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksbUJBQW1CLENBQUMsT0FBcUI7UUFDOUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxXQUFtQixFQUFFLE1BQW9CLEVBQUUsU0FBYTtRQUN4RixNQUFN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
|
package/dest/public/db.d.ts
CHANGED
|
@@ -53,13 +53,6 @@ export interface PublicContractsDB {
|
|
|
53
53
|
* @returns The bytecode or undefined if not found.
|
|
54
54
|
*/
|
|
55
55
|
getBytecode(address: AztecAddress, selector: FunctionSelector): Promise<Buffer | undefined>;
|
|
56
|
-
/**
|
|
57
|
-
* Returns whether a function is internal or not.
|
|
58
|
-
* @param address - The contract address that owns this function.
|
|
59
|
-
* @param selector - The selector for the function.
|
|
60
|
-
* @returns The `isInternal` flag found, undefined if not found.
|
|
61
|
-
*/
|
|
62
|
-
getIsInternal(address: AztecAddress, selector: FunctionSelector): Promise<boolean | undefined>;
|
|
63
56
|
/**
|
|
64
57
|
* Returns the portal contract address for an L2 address.
|
|
65
58
|
* @param address - The L2 contract address.
|
package/dest/public/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/public/db.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5E;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE5F
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/public/db.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5E;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE5F;;;;OAIG;IACH,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAEjF;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;CAC9F;AAED,6GAA6G;AAC7G,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,0BAA0B,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC;IAE5G;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEhE;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9D;;;;OAIG;IACH,0CAA0C,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;CAC5G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_execution_context.d.ts","sourceRoot":"","sources":["../../src/public/public_execution_context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAA6B,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC1G,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAiB,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAwB,MAAM,gBAAgB,CAAC;AAI9F;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,WAAW;IAMnD;;OAEG;aACa,SAAS,EAAE,eAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,GAAG;IAhBb,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,eAAe,CAA0B;;IAG/C;;OAEG;IACa,SAAS,EAAE,eAAe,EACzB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,iBAAiB,EAC9B,aAAa,EAAE,aAAa,EACrC,GAAG,8CAAgE;IAM7E;;;;;;;;OAQG;IACI,iBAAiB,CAAC,iBAAiB,SAAI;IAa9C;;OAEG;IACI,mBAAmB;IAI1B;;OAEG;IACI,kBAAkB;IAIzB;;OAEG;IACI,oBAAoB;;;;IAK3B;;;OAGG;IACI,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IAI7C;;;;OAIG;IACU,0BAA0B,CAAC,QAAQ,EAAE,EAAE;IAIpD;;;OAGG;IACI,kBAAkB,CAAC,GAAG,EAAE,gBAAgB;IAM/C;;;;;OAKG;IACU,wBAAwB,CAAC,eAAe,EAAE,YAAY;IAInE;;;;OAIG;IACU,WAAW,CAAC,gBAAgB,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM;IAYvE;;;;OAIG;IACU,YAAY,CAAC,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IAc5D;;;;;;OAMG;IACU,kBAAkB,CAC7B,qBAAqB,EAAE,YAAY,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,EAAE,EACZ,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"public_execution_context.d.ts","sourceRoot":"","sources":["../../src/public/public_execution_context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAA6B,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC1G,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAiB,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAwB,MAAM,gBAAgB,CAAC;AAI9F;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,WAAW;IAMnD;;OAEG;aACa,SAAS,EAAE,eAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,GAAG;IAhBb,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,eAAe,CAA0B;;IAG/C;;OAEG;IACa,SAAS,EAAE,eAAe,EACzB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,iBAAiB,EAC9B,aAAa,EAAE,aAAa,EACrC,GAAG,8CAAgE;IAM7E;;;;;;;;OAQG;IACI,iBAAiB,CAAC,iBAAiB,SAAI;IAa9C;;OAEG;IACI,mBAAmB;IAI1B;;OAEG;IACI,kBAAkB;IAIzB;;OAEG;IACI,oBAAoB;;;;IAK3B;;;OAGG;IACI,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IAI7C;;;;OAIG;IACU,0BAA0B,CAAC,QAAQ,EAAE,EAAE;IAIpD;;;OAGG;IACI,kBAAkB,CAAC,GAAG,EAAE,gBAAgB;IAM/C;;;;;OAKG;IACU,wBAAwB,CAAC,eAAe,EAAE,YAAY;IAInE;;;;OAIG;IACU,WAAW,CAAC,gBAAgB,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM;IAYvE;;;;OAIG;IACU,YAAY,CAAC,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IAc5D;;;;;;OAMG;IACU,kBAAkB,CAC7B,qBAAqB,EAAE,YAAY,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,EAAE,EACZ,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO;IA+DZ,6BAA6B,CACxC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAOrC,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAYnF"}
|
|
@@ -148,15 +148,11 @@ export class PublicExecutionContext extends TypedOracle {
|
|
|
148
148
|
const args = this.packedArgsCache.unpack(argsHash);
|
|
149
149
|
this.log(`Public function call: addr=${targetContractAddress} selector=${functionSelector} args=${args.join(',')}`);
|
|
150
150
|
const portalAddress = (await this.contractsDb.getPortalContractAddress(targetContractAddress)) ?? EthAddress.ZERO;
|
|
151
|
-
const isInternal = await this.contractsDb.getIsInternal(targetContractAddress, functionSelector);
|
|
152
|
-
if (isInternal === undefined) {
|
|
153
|
-
throw new Error(`ERR: Method not found - ${targetContractAddress.toString()}:${functionSelector.toString()}`);
|
|
154
|
-
}
|
|
155
151
|
const acir = await this.contractsDb.getBytecode(targetContractAddress, functionSelector);
|
|
156
152
|
if (!acir) {
|
|
157
153
|
throw new Error(`Bytecode not found for ${targetContractAddress}:${functionSelector}`);
|
|
158
154
|
}
|
|
159
|
-
const functionData = new FunctionData(functionSelector,
|
|
155
|
+
const functionData = new FunctionData(functionSelector, false);
|
|
160
156
|
const callContext = CallContext.from({
|
|
161
157
|
msgSender: isDelegateCall ? this.execution.callContext.msgSender : this.execution.contractAddress,
|
|
162
158
|
storageContractAddress: isDelegateCall ? this.execution.contractAddress : targetContractAddress,
|
|
@@ -200,4 +196,4 @@ export class PublicExecutionContext extends TypedOracle {
|
|
|
200
196
|
return instance;
|
|
201
197
|
}
|
|
202
198
|
}
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2V4ZWN1dGlvbl9jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfZXhlY3V0aW9uX2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBZ0QsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBNkMsTUFBTSxvQkFBb0IsQ0FBQztBQUUxRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHOUQsT0FBTyxFQUEwQyxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRTs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxXQUFXO0lBS3JEO0lBQ0U7O09BRUc7SUFDYSxTQUEwQixFQUN6QixNQUFjLEVBQ2QsZUFBZ0MsRUFDaEMsZUFBZ0MsRUFDaEMsaUJBQW9DLEVBQ3BDLE9BQXNCLEVBQ3RCLFdBQThCLEVBQzlCLGFBQTRCLEVBQ3JDLE1BQU0saUJBQWlCLENBQUMsMENBQTBDLENBQUM7UUFFM0UsS0FBSyxFQUFFLENBQUM7UUFWUSxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUN6QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxzQkFBaUIsR0FBakIs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
|
package/dest/test/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/test/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,aAAa,EAAW,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAc,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAIlE;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,aACnB,MAAM,mBACC,EAAE,EAAE,kBACL,YAAY,UACpB,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/test/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,aAAa,EAAW,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAc,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAIlE;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,aACnB,MAAM,mBACC,EAAE,EAAE,kBACL,YAAY,UACpB,EAAE,kBAaX,CAAC"}
|
package/dest/test/utils.js
CHANGED
|
@@ -18,6 +18,6 @@ export const buildL1ToL2Message = (selector, contentPreimage, targetContract, se
|
|
|
18
18
|
const secretHash = computeMessageSecretHash(secret);
|
|
19
19
|
// Eventually the kernel will need to prove the kernel portal pair exists within the contract tree,
|
|
20
20
|
// EthAddress.random() will need to be replaced when this happens
|
|
21
|
-
return new L1ToL2Message(new L1Actor(EthAddress.random(), 1), new L2Actor(targetContract, 1), content, secretHash
|
|
21
|
+
return new L1ToL2Message(new L1Actor(EthAddress.random(), 1), new L2Actor(targetContract, 1), content, secretHash);
|
|
22
22
|
};
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQWdCLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbEQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQ2hDLFFBQWdCLEVBQ2hCLGVBQXFCLEVBQ3JCLGNBQTRCLEVBQzVCLE1BQVUsRUFDVixFQUFFO0lBQ0Ysb0NBQW9DO0lBQ3BDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRWpELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25HLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUV4RCxNQUFNLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwRCxtR0FBbUc7SUFDbkcsaUVBQWlFO0lBQ2pFLE9BQU8sSUFBSSxhQUFhLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDckgsQ0FBQyxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/simulator",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"typedocOptions": {
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
"rootDir": "./src"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@aztec/circuit-types": "0.
|
|
34
|
-
"@aztec/circuits.js": "0.
|
|
35
|
-
"@aztec/foundation": "0.
|
|
36
|
-
"@aztec/types": "0.
|
|
33
|
+
"@aztec/circuit-types": "0.30.0",
|
|
34
|
+
"@aztec/circuits.js": "0.30.0",
|
|
35
|
+
"@aztec/foundation": "0.30.0",
|
|
36
|
+
"@aztec/types": "0.30.0",
|
|
37
37
|
"@noir-lang/acvm_js": "portal:../../noir/packages/acvm_js",
|
|
38
38
|
"levelup": "^5.1.1",
|
|
39
39
|
"memdown": "^6.1.1",
|
|
@@ -47,11 +47,10 @@ export class Oracle {
|
|
|
47
47
|
|
|
48
48
|
async getContractInstance([address]: ACVMField[]) {
|
|
49
49
|
const instance = await this.typedOracle.getContractInstance(AztecAddress.fromField(fromACVMField(address)));
|
|
50
|
-
|
|
51
|
-
const deployer = Fr.ZERO;
|
|
50
|
+
|
|
52
51
|
return [
|
|
53
52
|
instance.salt,
|
|
54
|
-
deployer,
|
|
53
|
+
instance.deployer,
|
|
55
54
|
instance.contractClassId,
|
|
56
55
|
instance.initializationHash,
|
|
57
56
|
instance.portalContractAddress,
|
|
@@ -161,10 +160,14 @@ export class Oracle {
|
|
|
161
160
|
async getNotes(
|
|
162
161
|
[storageSlot]: ACVMField[],
|
|
163
162
|
[numSelects]: ACVMField[],
|
|
164
|
-
|
|
163
|
+
selectByIndexes: ACVMField[],
|
|
164
|
+
selectByOffsets: ACVMField[],
|
|
165
|
+
selectByLengths: ACVMField[],
|
|
165
166
|
selectValues: ACVMField[],
|
|
166
167
|
selectComparators: ACVMField[],
|
|
167
|
-
|
|
168
|
+
sortByIndexes: ACVMField[],
|
|
169
|
+
sortByOffsets: ACVMField[],
|
|
170
|
+
sortByLengths: ACVMField[],
|
|
168
171
|
sortOrder: ACVMField[],
|
|
169
172
|
[limit]: ACVMField[],
|
|
170
173
|
[offset]: ACVMField[],
|
|
@@ -174,10 +177,14 @@ export class Oracle {
|
|
|
174
177
|
const noteDatas = await this.typedOracle.getNotes(
|
|
175
178
|
fromACVMField(storageSlot),
|
|
176
179
|
+numSelects,
|
|
177
|
-
|
|
180
|
+
selectByIndexes.map(s => +s),
|
|
181
|
+
selectByOffsets.map(s => +s),
|
|
182
|
+
selectByLengths.map(s => +s),
|
|
178
183
|
selectValues.map(fromACVMField),
|
|
179
184
|
selectComparators.map(s => +s),
|
|
180
|
-
|
|
185
|
+
sortByIndexes.map(s => +s),
|
|
186
|
+
sortByOffsets.map(s => +s),
|
|
187
|
+
sortByLengths.map(s => +s),
|
|
181
188
|
sortOrder.map(s => +s),
|
|
182
189
|
+limit,
|
|
183
190
|
+offset,
|
|
@@ -143,10 +143,14 @@ export abstract class TypedOracle {
|
|
|
143
143
|
getNotes(
|
|
144
144
|
_storageSlot: Fr,
|
|
145
145
|
_numSelects: number,
|
|
146
|
-
|
|
146
|
+
_selectByIndexes: number[],
|
|
147
|
+
_selectByOffsets: number[],
|
|
148
|
+
_selectByLengths: number[],
|
|
147
149
|
_selectValues: Fr[],
|
|
148
150
|
_selectComparators: number[],
|
|
149
|
-
|
|
151
|
+
_sortByIndexes: number[],
|
|
152
|
+
_sortByOffsets: number[],
|
|
153
|
+
_sortByLengths: number[],
|
|
150
154
|
_sortOrder: number[],
|
|
151
155
|
_limit: number,
|
|
152
156
|
_offset: number,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AvmContext } from '../avm_context.js';
|
|
2
|
-
import {
|
|
2
|
+
import { Uint8 } from '../avm_memory_types.js';
|
|
3
3
|
import { Opcode } from '../serialization/instruction_serialization.js';
|
|
4
4
|
import { ThreeOperandInstruction } from './instruction_impl.js';
|
|
5
5
|
|
|
@@ -17,7 +17,7 @@ export class Eq extends ThreeOperandInstruction {
|
|
|
17
17
|
const a = context.machineState.memory.get(this.aOffset);
|
|
18
18
|
const b = context.machineState.memory.get(this.bOffset);
|
|
19
19
|
|
|
20
|
-
const dest =
|
|
20
|
+
const dest = new Uint8(a.equals(b) ? 1 : 0);
|
|
21
21
|
context.machineState.memory.set(this.dstOffset, dest);
|
|
22
22
|
|
|
23
23
|
context.machineState.incrementPc();
|
|
@@ -38,7 +38,7 @@ export class Lt extends ThreeOperandInstruction {
|
|
|
38
38
|
const a = context.machineState.memory.get(this.aOffset);
|
|
39
39
|
const b = context.machineState.memory.get(this.bOffset);
|
|
40
40
|
|
|
41
|
-
const dest =
|
|
41
|
+
const dest = new Uint8(a.lt(b) ? 1 : 0);
|
|
42
42
|
context.machineState.memory.set(this.dstOffset, dest);
|
|
43
43
|
|
|
44
44
|
context.machineState.incrementPc();
|
|
@@ -59,7 +59,7 @@ export class Lte extends ThreeOperandInstruction {
|
|
|
59
59
|
const a = context.machineState.memory.get(this.aOffset);
|
|
60
60
|
const b = context.machineState.memory.get(this.bOffset);
|
|
61
61
|
|
|
62
|
-
const dest =
|
|
62
|
+
const dest = new Uint8(a.lt(b) || a.equals(b) ? 1 : 0);
|
|
63
63
|
context.machineState.memory.set(this.dstOffset, dest);
|
|
64
64
|
|
|
65
65
|
context.machineState.incrementPc();
|
|
@@ -165,14 +165,16 @@ export class Return extends Instruction {
|
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
async execute(context: AvmContext): Promise<void> {
|
|
168
|
-
const
|
|
168
|
+
const [returnOffset] = Addressing.fromWire(this.indirect).resolve([this.returnOffset], context.machineState.memory);
|
|
169
|
+
|
|
170
|
+
const output = context.machineState.memory.getSlice(returnOffset, this.copySize).map(word => word.toFr());
|
|
169
171
|
|
|
170
172
|
context.machineState.return(output);
|
|
171
173
|
}
|
|
172
174
|
}
|
|
173
175
|
|
|
174
176
|
export class Revert extends Instruction {
|
|
175
|
-
static type: string = '
|
|
177
|
+
static type: string = 'REVERT';
|
|
176
178
|
static readonly opcode: Opcode = Opcode.REVERT;
|
|
177
179
|
// Informs (de)serialization. See Instruction.deserialize.
|
|
178
180
|
static readonly wireFormat: OperandType[] = [
|
|
@@ -187,9 +189,9 @@ export class Revert extends Instruction {
|
|
|
187
189
|
}
|
|
188
190
|
|
|
189
191
|
async execute(context: AvmContext): Promise<void> {
|
|
190
|
-
const
|
|
191
|
-
|
|
192
|
-
|
|
192
|
+
const [returnOffset] = Addressing.fromWire(this.indirect).resolve([this.returnOffset], context.machineState.memory);
|
|
193
|
+
|
|
194
|
+
const output = context.machineState.memory.getSlice(returnOffset, this.retSize).map(word => word.toFr());
|
|
193
195
|
|
|
194
196
|
context.machineState.revert(output);
|
|
195
197
|
}
|
|
@@ -183,11 +183,13 @@ export class CalldataCopy extends Instruction {
|
|
|
183
183
|
}
|
|
184
184
|
|
|
185
185
|
async execute(context: AvmContext): Promise<void> {
|
|
186
|
+
const [dstOffset] = Addressing.fromWire(this.indirect).resolve([this.dstOffset], context.machineState.memory);
|
|
187
|
+
|
|
186
188
|
const transformedData = context.environment.calldata
|
|
187
189
|
.slice(this.cdOffset, this.cdOffset + this.copySize)
|
|
188
190
|
.map(f => new Field(f));
|
|
189
191
|
|
|
190
|
-
context.machineState.memory.setSlice(
|
|
192
|
+
context.machineState.memory.setSlice(dstOffset, transformedData);
|
|
191
193
|
|
|
192
194
|
context.machineState.incrementPc();
|
|
193
195
|
}
|
|
@@ -199,10 +199,14 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
199
199
|
public async getNotes(
|
|
200
200
|
storageSlot: Fr,
|
|
201
201
|
numSelects: number,
|
|
202
|
-
|
|
202
|
+
selectByIndexes: number[],
|
|
203
|
+
selectByOffsets: number[],
|
|
204
|
+
selectByLengths: number[],
|
|
203
205
|
selectValues: Fr[],
|
|
204
206
|
selectComparators: number[],
|
|
205
|
-
|
|
207
|
+
sortByIndexes: number[],
|
|
208
|
+
sortByOffsets: number[],
|
|
209
|
+
sortByLengths: number[],
|
|
206
210
|
sortOrder: number[],
|
|
207
211
|
limit: number,
|
|
208
212
|
offset: number,
|
|
@@ -216,10 +220,15 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
216
220
|
const dbNotesFiltered = dbNotes.filter(n => !pendingNullifiers.has((n.siloedNullifier as Fr).value));
|
|
217
221
|
|
|
218
222
|
const notes = pickNotes<NoteData>([...dbNotesFiltered, ...pendingNotes], {
|
|
219
|
-
selects:
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
+
selects: selectByIndexes.slice(0, numSelects).map((index, i) => ({
|
|
224
|
+
selector: { index, offset: selectByOffsets[i], length: selectByLengths[i] },
|
|
225
|
+
value: selectValues[i],
|
|
226
|
+
comparator: selectComparators[i],
|
|
227
|
+
})),
|
|
228
|
+
sorts: sortByIndexes.map((index, i) => ({
|
|
229
|
+
selector: { index, offset: sortByOffsets[i], length: sortByLengths[i] },
|
|
230
|
+
order: sortOrder[i],
|
|
231
|
+
})),
|
|
223
232
|
limit,
|
|
224
233
|
offset,
|
|
225
234
|
});
|
package/src/client/pick_notes.ts
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import { Comparator, Note } from '@aztec/circuit-types';
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
3
|
|
|
4
|
+
export interface PropertySelector {
|
|
5
|
+
index: number;
|
|
6
|
+
offset: number;
|
|
7
|
+
length: number;
|
|
8
|
+
}
|
|
9
|
+
|
|
4
10
|
/**
|
|
5
11
|
* Configuration for selecting values.
|
|
6
12
|
*/
|
|
7
13
|
export interface Select {
|
|
8
14
|
/**
|
|
9
|
-
*
|
|
15
|
+
* Selector of the field to select and match.
|
|
10
16
|
*/
|
|
11
|
-
|
|
17
|
+
selector: PropertySelector;
|
|
12
18
|
/**
|
|
13
19
|
* Required value of the field.
|
|
14
20
|
*/
|
|
@@ -33,9 +39,9 @@ export enum SortOrder {
|
|
|
33
39
|
*/
|
|
34
40
|
export interface Sort {
|
|
35
41
|
/**
|
|
36
|
-
*
|
|
42
|
+
* Selector of the field to sort.
|
|
37
43
|
*/
|
|
38
|
-
|
|
44
|
+
selector: PropertySelector;
|
|
39
45
|
/**
|
|
40
46
|
* Order to sort the field.
|
|
41
47
|
*/
|
|
@@ -78,16 +84,23 @@ interface ContainsNote {
|
|
|
78
84
|
note: Note;
|
|
79
85
|
}
|
|
80
86
|
|
|
87
|
+
const selectPropertyFromSerializedNote = (noteData: Fr[], selector: PropertySelector): Fr => {
|
|
88
|
+
const noteValueBuffer = noteData[selector.index].toBuffer();
|
|
89
|
+
const noteValue = noteValueBuffer.subarray(selector.offset, selector.offset + selector.length);
|
|
90
|
+
return Fr.fromBuffer(noteValue);
|
|
91
|
+
};
|
|
92
|
+
|
|
81
93
|
const selectNotes = <T extends ContainsNote>(noteDatas: T[], selects: Select[]): T[] =>
|
|
82
94
|
noteDatas.filter(noteData =>
|
|
83
|
-
selects.every(({
|
|
95
|
+
selects.every(({ selector, value, comparator }) => {
|
|
96
|
+
const noteValueFr = selectPropertyFromSerializedNote(noteData.note.items, selector);
|
|
84
97
|
const comparatorSelector = {
|
|
85
|
-
[Comparator.EQ]: () =>
|
|
86
|
-
[Comparator.NEQ]: () => !
|
|
87
|
-
[Comparator.LT]: () =>
|
|
88
|
-
[Comparator.LTE]: () =>
|
|
89
|
-
[Comparator.GT]: () => !
|
|
90
|
-
[Comparator.GTE]: () => !
|
|
98
|
+
[Comparator.EQ]: () => noteValueFr.equals(value),
|
|
99
|
+
[Comparator.NEQ]: () => !noteValueFr.equals(value),
|
|
100
|
+
[Comparator.LT]: () => noteValueFr.lt(value),
|
|
101
|
+
[Comparator.LTE]: () => noteValueFr.lt(value) || noteValueFr.equals(value),
|
|
102
|
+
[Comparator.GT]: () => !noteValueFr.lt(value) && !noteValueFr.equals(value),
|
|
103
|
+
[Comparator.GTE]: () => !noteValueFr.lt(value),
|
|
91
104
|
};
|
|
92
105
|
|
|
93
106
|
return comparatorSelector[comparator]();
|
|
@@ -99,15 +112,18 @@ const sortNotes = (a: Fr[], b: Fr[], sorts: Sort[], level = 0): number => {
|
|
|
99
112
|
return 0;
|
|
100
113
|
}
|
|
101
114
|
|
|
102
|
-
const {
|
|
115
|
+
const { selector, order } = sorts[level];
|
|
103
116
|
if (order === 0) {
|
|
104
117
|
return 0;
|
|
105
118
|
}
|
|
106
119
|
|
|
120
|
+
const aValue = selectPropertyFromSerializedNote(a, selector);
|
|
121
|
+
const bValue = selectPropertyFromSerializedNote(b, selector);
|
|
122
|
+
|
|
107
123
|
const dir = order === 1 ? [-1, 1] : [1, -1];
|
|
108
|
-
return
|
|
124
|
+
return aValue.toBigInt() === bValue.toBigInt()
|
|
109
125
|
? sortNotes(a, b, sorts, level + 1)
|
|
110
|
-
:
|
|
126
|
+
: aValue.toBigInt() > bValue.toBigInt()
|
|
111
127
|
? dir[0]
|
|
112
128
|
: dir[1];
|
|
113
129
|
};
|
|
@@ -184,10 +184,14 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
184
184
|
public async getNotes(
|
|
185
185
|
storageSlot: Fr,
|
|
186
186
|
numSelects: number,
|
|
187
|
-
|
|
187
|
+
selectByIndexes: number[],
|
|
188
|
+
selectByOffsets: number[],
|
|
189
|
+
selectByLengths: number[],
|
|
188
190
|
selectValues: Fr[],
|
|
189
191
|
selectComparators: number[],
|
|
190
|
-
|
|
192
|
+
sortByIndexes: number[],
|
|
193
|
+
sortByOffsets: number[],
|
|
194
|
+
sortByLengths: number[],
|
|
191
195
|
sortOrder: number[],
|
|
192
196
|
limit: number,
|
|
193
197
|
offset: number,
|
|
@@ -195,10 +199,15 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
195
199
|
): Promise<NoteData[]> {
|
|
196
200
|
const dbNotes = await this.db.getNotes(this.contractAddress, storageSlot, status);
|
|
197
201
|
return pickNotes<NoteData>(dbNotes, {
|
|
198
|
-
selects:
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
+
selects: selectByIndexes.slice(0, numSelects).map((index, i) => ({
|
|
203
|
+
selector: { index, offset: selectByOffsets[i], length: selectByLengths[i] },
|
|
204
|
+
value: selectValues[i],
|
|
205
|
+
comparator: selectComparators[i],
|
|
206
|
+
})),
|
|
207
|
+
sorts: sortByIndexes.map((index, i) => ({
|
|
208
|
+
selector: { index, offset: sortByOffsets[i], length: sortByLengths[i] },
|
|
209
|
+
order: sortOrder[i],
|
|
210
|
+
})),
|
|
202
211
|
limit,
|
|
203
212
|
offset,
|
|
204
213
|
});
|
package/src/public/db.ts
CHANGED
|
@@ -61,14 +61,6 @@ export interface PublicContractsDB {
|
|
|
61
61
|
*/
|
|
62
62
|
getBytecode(address: AztecAddress, selector: FunctionSelector): Promise<Buffer | undefined>;
|
|
63
63
|
|
|
64
|
-
/**
|
|
65
|
-
* Returns whether a function is internal or not.
|
|
66
|
-
* @param address - The contract address that owns this function.
|
|
67
|
-
* @param selector - The selector for the function.
|
|
68
|
-
* @returns The `isInternal` flag found, undefined if not found.
|
|
69
|
-
*/
|
|
70
|
-
getIsInternal(address: AztecAddress, selector: FunctionSelector): Promise<boolean | undefined>;
|
|
71
|
-
|
|
72
64
|
/**
|
|
73
65
|
* Returns the portal contract address for an L2 address.
|
|
74
66
|
* @param address - The L2 contract address.
|