@aztec/simulator 0.47.0 → 0.48.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/acvm.d.ts +1 -1
- package/dest/acvm/acvm.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.d.ts +5 -5
- package/dest/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.js +13 -16
- package/dest/acvm/oracle/typed_oracle.d.ts +12 -9
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +6 -6
- package/dest/acvm/serialize.d.ts +0 -11
- package/dest/acvm/serialize.d.ts.map +1 -1
- package/dest/acvm/serialize.js +1 -26
- package/dest/avm/avm_gas.d.ts.map +1 -1
- package/dest/avm/avm_gas.js +2 -1
- package/dest/avm/fixtures/index.d.ts.map +1 -1
- package/dest/avm/fixtures/index.js +2 -2
- package/dest/avm/opcodes/commitment.d.ts +16 -0
- package/dest/avm/opcodes/commitment.d.ts.map +1 -0
- package/dest/avm/opcodes/commitment.js +50 -0
- package/dest/avm/serialization/bytecode_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/bytecode_serialization.js +3 -1
- package/dest/avm/serialization/instruction_serialization.d.ts +4 -3
- package/dest/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/instruction_serialization.js +6 -5
- package/dest/client/client_execution_context.d.ts +20 -17
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +42 -45
- package/dest/client/db_oracle.d.ts +4 -3
- package/dest/client/db_oracle.d.ts.map +1 -1
- package/dest/client/execution_note_cache.d.ts +17 -13
- package/dest/client/execution_note_cache.d.ts.map +1 -1
- package/dest/client/execution_note_cache.js +65 -26
- package/dest/client/execution_result.d.ts +15 -8
- package/dest/client/execution_result.d.ts.map +1 -1
- package/dest/client/execution_result.js +40 -16
- package/dest/client/private_execution.js +3 -3
- package/dest/client/simulator.d.ts +7 -6
- package/dest/client/simulator.d.ts.map +1 -1
- package/dest/client/simulator.js +14 -12
- package/dest/client/test_utils.d.ts +9 -0
- package/dest/client/test_utils.d.ts.map +1 -0
- package/dest/client/test_utils.js +21 -0
- package/dest/client/view_data_oracle.d.ts +2 -1
- package/dest/client/view_data_oracle.d.ts.map +1 -1
- package/dest/client/view_data_oracle.js +4 -3
- package/dest/index.d.ts +0 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -2
- package/dest/mocks/fixtures.d.ts +5 -5
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +6 -9
- package/dest/public/abstract_phase_manager.d.ts +4 -5
- package/dest/public/abstract_phase_manager.d.ts.map +1 -1
- package/dest/public/abstract_phase_manager.js +17 -84
- package/dest/public/execution.d.ts +8 -10
- package/dest/public/execution.d.ts.map +1 -1
- package/dest/public/execution.js +10 -1
- package/dest/public/executor.d.ts +6 -2
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +12 -4
- package/dest/public/executor_metrics.d.ts +10 -0
- package/dest/public/executor_metrics.d.ts.map +1 -0
- package/dest/public/executor_metrics.js +32 -0
- package/dest/public/fee_payment.d.ts +2 -2
- package/dest/public/fee_payment.d.ts.map +1 -1
- package/dest/public/fee_payment.js +9 -10
- package/dest/public/hints_builder.d.ts.map +1 -1
- package/dest/public/hints_builder.js +1 -1
- package/dest/public/index.d.ts +1 -1
- package/dest/public/index.d.ts.map +1 -1
- package/dest/public/index.js +1 -1
- package/dest/public/public_processor.d.ts +3 -3
- package/dest/public/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor.js +33 -14
- package/dest/public/public_processor_metrics.d.ts +19 -0
- package/dest/public/public_processor_metrics.d.ts.map +1 -0
- package/dest/public/public_processor_metrics.js +57 -0
- package/dest/public/side_effect_trace.d.ts +1 -0
- package/dest/public/side_effect_trace.d.ts.map +1 -1
- package/dest/public/side_effect_trace.js +9 -9
- package/package.json +9 -9
- package/src/acvm/acvm.ts +1 -1
- package/src/acvm/oracle/oracle.ts +13 -30
- package/src/acvm/oracle/typed_oracle.ts +12 -31
- package/src/acvm/serialize.ts +0 -29
- package/src/avm/avm_gas.ts +1 -0
- package/src/avm/fixtures/index.ts +1 -0
- package/src/avm/opcodes/commitment.ts +66 -0
- package/src/avm/serialization/bytecode_serialization.ts +2 -0
- package/src/avm/serialization/instruction_serialization.ts +2 -1
- package/src/client/client_execution_context.ts +51 -49
- package/src/client/db_oracle.ts +9 -3
- package/src/client/execution_note_cache.ts +76 -25
- package/src/client/execution_result.ts +54 -19
- package/src/client/private_execution.ts +2 -2
- package/src/client/simulator.ts +18 -14
- package/src/client/test_utils.ts +30 -0
- package/src/client/view_data_oracle.ts +2 -1
- package/src/index.ts +0 -1
- package/src/mocks/fixtures.ts +13 -11
- package/src/public/abstract_phase_manager.ts +23 -104
- package/src/public/execution.ts +30 -14
- package/src/public/executor.ts +18 -4
- package/src/public/executor_metrics.ts +48 -0
- package/src/public/fee_payment.ts +8 -10
- package/src/public/hints_builder.ts +2 -2
- package/src/public/index.ts +1 -1
- package/src/public/public_processor.ts +46 -15
- package/src/public/public_processor_metrics.ts +90 -0
- package/src/public/side_effect_trace.ts +13 -7
- package/dest/utils.d.ts +0 -12
- package/dest/utils.d.ts.map +0 -1
- package/dest/utils.js +0 -11
- package/src/utils.ts +0 -18
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { EncryptedFunctionL2Logs, type EncryptedL2Log, type EncryptedL2NoteLog, EncryptedNoteFunctionL2Logs, type Note, UnencryptedFunctionL2Logs, type UnencryptedL2Log } from '@aztec/circuit-types';
|
|
3
|
-
import { type IsEmpty, type PrivateCallStackItem
|
|
2
|
+
import { EncryptedFunctionL2Logs, type EncryptedL2Log, type EncryptedL2NoteLog, EncryptedNoteFunctionL2Logs, type Note, PublicExecutionRequest, UnencryptedFunctionL2Logs, type UnencryptedL2Log } from '@aztec/circuit-types';
|
|
3
|
+
import { type IsEmpty, type PrivateCallStackItem } from '@aztec/circuits.js';
|
|
4
4
|
import { type NoteSelector } from '@aztec/foundation/abi';
|
|
5
5
|
import { type Fr } from '@aztec/foundation/fields';
|
|
6
6
|
import { type ACVMField } from '../acvm/index.js';
|
|
@@ -25,6 +25,12 @@ export declare class CountedNoteLog extends CountedLog<EncryptedL2NoteLog> {
|
|
|
25
25
|
noteHashCounter: number;
|
|
26
26
|
constructor(log: EncryptedL2NoteLog, counter: number, noteHashCounter: number);
|
|
27
27
|
}
|
|
28
|
+
export declare class CountedPublicExecutionRequest {
|
|
29
|
+
request: PublicExecutionRequest;
|
|
30
|
+
counter: number;
|
|
31
|
+
constructor(request: PublicExecutionRequest, counter: number);
|
|
32
|
+
isEmpty(): boolean;
|
|
33
|
+
}
|
|
28
34
|
/**
|
|
29
35
|
* The result of executing a private function.
|
|
30
36
|
*/
|
|
@@ -42,15 +48,15 @@ export interface ExecutionResult {
|
|
|
42
48
|
/** The notes created in the executed function. */
|
|
43
49
|
newNotes: NoteAndSlot[];
|
|
44
50
|
/** Mapping of note hash counter to the counter of its nullifier. */
|
|
45
|
-
|
|
51
|
+
noteHashNullifierCounterMap: Map<number, number>;
|
|
46
52
|
/** The raw return values of the executed function. */
|
|
47
53
|
returnValues: Fr[];
|
|
48
54
|
/** The nested executions. */
|
|
49
55
|
nestedExecutions: this[];
|
|
50
56
|
/** Enqueued public function execution requests to be picked up by the sequencer. */
|
|
51
|
-
enqueuedPublicFunctionCalls:
|
|
57
|
+
enqueuedPublicFunctionCalls: CountedPublicExecutionRequest[];
|
|
52
58
|
/** Public function execution requested for teardown */
|
|
53
|
-
publicTeardownFunctionCall:
|
|
59
|
+
publicTeardownFunctionCall: PublicExecutionRequest;
|
|
54
60
|
/**
|
|
55
61
|
* Encrypted note logs emitted during execution of this function call.
|
|
56
62
|
* Note: These are preimages to `noteEncryptedLogsHashes`.
|
|
@@ -68,7 +74,7 @@ export interface ExecutionResult {
|
|
|
68
74
|
unencryptedLogs: CountedLog<UnencryptedL2Log>[];
|
|
69
75
|
}
|
|
70
76
|
export declare function collectNoteHashLeafIndexMap(execResult: ExecutionResult, accum?: Map<bigint, bigint>): Map<bigint, bigint>;
|
|
71
|
-
export declare function
|
|
77
|
+
export declare function collectNoteHashNullifierCounterMap(execResult: ExecutionResult, accum?: Map<number, number>): Map<number, number>;
|
|
72
78
|
/**
|
|
73
79
|
* Collect all encrypted logs across all nested executions and sorts by counter.
|
|
74
80
|
* @param execResult - The topmost execution result.
|
|
@@ -92,6 +98,7 @@ export declare function collectSortedUnencryptedLogs(execResult: ExecutionResult
|
|
|
92
98
|
* @param execResult - The topmost execution result.
|
|
93
99
|
* @returns All enqueued public function calls.
|
|
94
100
|
*/
|
|
95
|
-
export declare function collectEnqueuedPublicFunctionCalls(execResult: ExecutionResult):
|
|
96
|
-
export declare function collectPublicTeardownFunctionCall(execResult: ExecutionResult):
|
|
101
|
+
export declare function collectEnqueuedPublicFunctionCalls(execResult: ExecutionResult): PublicExecutionRequest[];
|
|
102
|
+
export declare function collectPublicTeardownFunctionCall(execResult: ExecutionResult): PublicExecutionRequest;
|
|
103
|
+
export declare function getFinalMinRevertibleSideEffectCounter(execResult: ExecutionResult): number;
|
|
97
104
|
//# sourceMappingURL=execution_result.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution_result.d.ts","sourceRoot":"","sources":["../../src/client/execution_result.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,2BAA2B,EAC3B,KAAK,IAAI,EACT,yBAAyB,EACzB,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,oBAAoB,
|
|
1
|
+
{"version":3,"file":"execution_result.d.ts","sourceRoot":"","sources":["../../src/client/execution_result.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EncryptedFunctionL2Logs, EncryptedNoteFunctionL2Logs, UnencryptedFunctionL2Logs, } from '@aztec/circuit-types';
|
|
2
|
-
import {
|
|
1
|
+
import { EncryptedFunctionL2Logs, EncryptedNoteFunctionL2Logs, PublicExecutionRequest, UnencryptedFunctionL2Logs, } from '@aztec/circuit-types';
|
|
2
|
+
import { sortByCounter } from '@aztec/circuits.js';
|
|
3
3
|
export class CountedLog {
|
|
4
4
|
constructor(log, counter) {
|
|
5
5
|
this.log = log;
|
|
@@ -15,14 +15,23 @@ export class CountedNoteLog extends CountedLog {
|
|
|
15
15
|
this.noteHashCounter = noteHashCounter;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
+
export class CountedPublicExecutionRequest {
|
|
19
|
+
constructor(request, counter) {
|
|
20
|
+
this.request = request;
|
|
21
|
+
this.counter = counter;
|
|
22
|
+
}
|
|
23
|
+
isEmpty() {
|
|
24
|
+
return this.request.isEmpty() && !this.counter;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
18
27
|
export function collectNoteHashLeafIndexMap(execResult, accum = new Map()) {
|
|
19
28
|
execResult.noteHashLeafIndexMap.forEach((value, key) => accum.set(key, value));
|
|
20
29
|
execResult.nestedExecutions.forEach(nested => collectNoteHashLeafIndexMap(nested, accum));
|
|
21
30
|
return accum;
|
|
22
31
|
}
|
|
23
|
-
export function
|
|
24
|
-
execResult.
|
|
25
|
-
execResult.nestedExecutions.forEach(nested =>
|
|
32
|
+
export function collectNoteHashNullifierCounterMap(execResult, accum = new Map()) {
|
|
33
|
+
execResult.noteHashNullifierCounterMap.forEach((value, key) => accum.set(key, value));
|
|
34
|
+
execResult.nestedExecutions.forEach(nested => collectNoteHashNullifierCounterMap(nested, accum));
|
|
26
35
|
return accum;
|
|
27
36
|
}
|
|
28
37
|
/**
|
|
@@ -30,10 +39,14 @@ export function collectNullifiedNoteHashCounters(execResult, accum = new Map())
|
|
|
30
39
|
* @param execResult - The topmost execution result.
|
|
31
40
|
* @returns All encrypted logs.
|
|
32
41
|
*/
|
|
33
|
-
function collectNoteEncryptedLogs(execResult,
|
|
42
|
+
function collectNoteEncryptedLogs(execResult, noteHashNullifierCounterMap, minRevertibleSideEffectCounter) {
|
|
34
43
|
return [
|
|
35
|
-
execResult.noteEncryptedLogs.filter(noteLog =>
|
|
36
|
-
|
|
44
|
+
execResult.noteEncryptedLogs.filter(noteLog => {
|
|
45
|
+
const nullifierCounter = noteHashNullifierCounterMap.get(noteLog.noteHashCounter);
|
|
46
|
+
return (nullifierCounter === undefined ||
|
|
47
|
+
(noteLog.noteHashCounter < minRevertibleSideEffectCounter && nullifierCounter >= minRevertibleSideEffectCounter));
|
|
48
|
+
}),
|
|
49
|
+
...execResult.nestedExecutions.flatMap(res => collectNoteEncryptedLogs(res, noteHashNullifierCounterMap, minRevertibleSideEffectCounter)),
|
|
37
50
|
].flat();
|
|
38
51
|
}
|
|
39
52
|
/**
|
|
@@ -42,8 +55,9 @@ function collectNoteEncryptedLogs(execResult, nullifiedNoteHashCounters) {
|
|
|
42
55
|
* @returns All encrypted logs.
|
|
43
56
|
*/
|
|
44
57
|
export function collectSortedNoteEncryptedLogs(execResult) {
|
|
45
|
-
const
|
|
46
|
-
const
|
|
58
|
+
const noteHashNullifierCounterMap = collectNoteHashNullifierCounterMap(execResult);
|
|
59
|
+
const minRevertibleSideEffectCounter = getFinalMinRevertibleSideEffectCounter(execResult);
|
|
60
|
+
const allLogs = collectNoteEncryptedLogs(execResult, noteHashNullifierCounterMap, minRevertibleSideEffectCounter);
|
|
47
61
|
const sortedLogs = sortByCounter(allLogs);
|
|
48
62
|
return new EncryptedNoteFunctionL2Logs(sortedLogs.map(l => l.log));
|
|
49
63
|
}
|
|
@@ -83,18 +97,22 @@ export function collectSortedUnencryptedLogs(execResult) {
|
|
|
83
97
|
const sortedLogs = sortByCounter(allLogs);
|
|
84
98
|
return new UnencryptedFunctionL2Logs(sortedLogs.map(l => l.log));
|
|
85
99
|
}
|
|
100
|
+
function collectEnqueuedCountedPublicExecutionRequests(execResult) {
|
|
101
|
+
return [
|
|
102
|
+
...execResult.enqueuedPublicFunctionCalls,
|
|
103
|
+
...execResult.nestedExecutions.flatMap(collectEnqueuedCountedPublicExecutionRequests),
|
|
104
|
+
];
|
|
105
|
+
}
|
|
86
106
|
/**
|
|
87
107
|
* Collect all enqueued public function calls across all nested executions.
|
|
88
108
|
* @param execResult - The topmost execution result.
|
|
89
109
|
* @returns All enqueued public function calls.
|
|
90
110
|
*/
|
|
91
111
|
export function collectEnqueuedPublicFunctionCalls(execResult) {
|
|
112
|
+
const countedRequests = collectEnqueuedCountedPublicExecutionRequests(execResult);
|
|
92
113
|
// without the reverse sort, the logs will be in a queue like fashion which is wrong
|
|
93
114
|
// as the kernel processes it like a stack, popping items off and pushing them to output
|
|
94
|
-
return
|
|
95
|
-
...execResult.enqueuedPublicFunctionCalls,
|
|
96
|
-
...execResult.nestedExecutions.flatMap(collectEnqueuedPublicFunctionCalls),
|
|
97
|
-
].sort((a, b) => b.sideEffectCounter - a.sideEffectCounter);
|
|
115
|
+
return sortByCounter(countedRequests, false).map(r => r.request);
|
|
98
116
|
}
|
|
99
117
|
export function collectPublicTeardownFunctionCall(execResult) {
|
|
100
118
|
const teardownCalls = [
|
|
@@ -107,6 +125,12 @@ export function collectPublicTeardownFunctionCall(execResult) {
|
|
|
107
125
|
if (teardownCalls.length > 1) {
|
|
108
126
|
throw new Error('Multiple public teardown calls detected');
|
|
109
127
|
}
|
|
110
|
-
return
|
|
128
|
+
return PublicExecutionRequest.empty();
|
|
129
|
+
}
|
|
130
|
+
export function getFinalMinRevertibleSideEffectCounter(execResult) {
|
|
131
|
+
return execResult.nestedExecutions.reduce((counter, exec) => {
|
|
132
|
+
const nestedCounter = getFinalMinRevertibleSideEffectCounter(exec);
|
|
133
|
+
return nestedCounter ? nestedCounter : counter;
|
|
134
|
+
}, execResult.callStackItem.publicInputs.minRevertibleSideEffectCounter.toNumber());
|
|
111
135
|
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uX3Jlc3VsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvZXhlY3V0aW9uX3Jlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBR3ZCLDJCQUEyQixFQUUzQixzQkFBc0IsRUFDdEIseUJBQXlCLEdBRTFCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUEyQyxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWtCNUYsTUFBTSxPQUFPLFVBQVU7SUFDckIsWUFBbUIsR0FBUyxFQUFTLE9BQWU7UUFBakMsUUFBRyxHQUFILEdBQUcsQ0FBTTtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDO0lBRXhELE9BQU87UUFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNoRCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sY0FBZSxTQUFRLFVBQThCO0lBQ2hFLFlBQVksR0FBdUIsRUFBRSxPQUFlLEVBQVMsZUFBdUI7UUFDbEYsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUR1QyxvQkFBZSxHQUFmLGVBQWUsQ0FBUTtJQUVwRixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDLFlBQW1CLE9BQStCLEVBQVMsT0FBZTtRQUF2RCxZQUFPLEdBQVAsT0FBTyxDQUF3QjtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDO0lBRTlFLE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2pELENBQUM7Q0FDRjtBQStDRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsVUFBMkIsRUFBRSxRQUE2QixJQUFJLEdBQUcsRUFBRTtJ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
|
|
@@ -41,7 +41,7 @@ export async function executePrivateFunction(context, artifact, contractAddress,
|
|
|
41
41
|
const rawReturnValues = await context.unpackReturns(publicInputs.returnsHash);
|
|
42
42
|
const noteHashLeafIndexMap = context.getNoteHashLeafIndexMap();
|
|
43
43
|
const newNotes = context.getNewNotes();
|
|
44
|
-
const
|
|
44
|
+
const noteHashNullifierCounterMap = context.getNoteHashNullifierCounterMap();
|
|
45
45
|
const nestedExecutions = context.getNestedExecutions();
|
|
46
46
|
const enqueuedPublicFunctionCalls = context.getEnqueuedPublicFunctionCalls();
|
|
47
47
|
const publicTeardownFunctionCall = context.getPublicTeardownFunctionCall();
|
|
@@ -53,7 +53,7 @@ export async function executePrivateFunction(context, artifact, contractAddress,
|
|
|
53
53
|
returnValues: rawReturnValues,
|
|
54
54
|
noteHashLeafIndexMap,
|
|
55
55
|
newNotes,
|
|
56
|
-
|
|
56
|
+
noteHashNullifierCounterMap,
|
|
57
57
|
vk: Buffer.from(artifact.verificationKey, 'hex'),
|
|
58
58
|
nestedExecutions,
|
|
59
59
|
enqueuedPublicFunctionCalls,
|
|
@@ -63,4 +63,4 @@ export async function executePrivateFunction(context, artifact, contractAddress,
|
|
|
63
63
|
unencryptedLogs,
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L3ByaXZhdGVfZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSXJEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxzQkFBc0IsQ0FDMUMsT0FBK0IsRUFDL0IsUUFBMEIsRUFDMUIsZUFBNkIsRUFDN0IsZ0JBQWtDLEVBQ2xDLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxrQ0FBa0MsQ0FBQztJQUUzRCxNQUFNLFlBQVksR0FBRyxNQUFNLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzFELEdBQUcsQ0FBQyxPQUFPLENBQUMsK0JBQStCLGVBQWUsSUFBSSxnQkFBZ0IsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQ25HLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDL0IsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNELE1BQU0sWUFBWSxHQUFHLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENB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
|
|
@@ -18,17 +18,18 @@ export declare class AcirSimulator {
|
|
|
18
18
|
* @param entryPointArtifact - The artifact of the entry point function.
|
|
19
19
|
* @param contractAddress - The address of the contract (should match request.origin)
|
|
20
20
|
* @param msgSender - The address calling the function. This can be replaced to simulate a call from another contract or a specific account.
|
|
21
|
+
* @param scopes - The accounts whose notes we can access in this call. Currently optional and will default to all.
|
|
21
22
|
* @returns The result of the execution.
|
|
22
23
|
*/
|
|
23
|
-
run(request: TxExecutionRequest, entryPointArtifact: FunctionArtifact, contractAddress: AztecAddress, msgSender?: AztecAddress): Promise<ExecutionResult>;
|
|
24
|
+
run(request: TxExecutionRequest, entryPointArtifact: FunctionArtifact, contractAddress: AztecAddress, msgSender?: AztecAddress, scopes?: AztecAddress[]): Promise<ExecutionResult>;
|
|
24
25
|
/**
|
|
25
26
|
* Runs an unconstrained function.
|
|
26
27
|
* @param request - The transaction request.
|
|
27
28
|
* @param entryPointArtifact - The artifact of the entry point function.
|
|
28
29
|
* @param contractAddress - The address of the contract.
|
|
29
|
-
* @param
|
|
30
|
+
* @param scopes - The accounts whose notes we can access in this call. Currently optional and will default to all.
|
|
30
31
|
*/
|
|
31
|
-
runUnconstrained(request: FunctionCall, entryPointArtifact: FunctionArtifact, contractAddress: AztecAddress): Promise<import("@aztec/foundation/abi").DecodedReturn>;
|
|
32
|
+
runUnconstrained(request: FunctionCall, entryPointArtifact: FunctionArtifact, contractAddress: AztecAddress, scopes?: AztecAddress[]): Promise<import("@aztec/foundation/abi").DecodedReturn>;
|
|
32
33
|
/**
|
|
33
34
|
* Computes the inner nullifier of a note.
|
|
34
35
|
* @param contractAddress - The address of the contract.
|
|
@@ -40,19 +41,19 @@ export declare class AcirSimulator {
|
|
|
40
41
|
* @returns The nullifier.
|
|
41
42
|
*/
|
|
42
43
|
computeNoteHashAndOptionallyANullifier(contractAddress: AztecAddress, nonce: Fr, storageSlot: Fr, noteTypeId: NoteSelector, computeNullifier: boolean, note: Note): Promise<{
|
|
43
|
-
|
|
44
|
+
noteHash: Fr;
|
|
44
45
|
uniqueNoteHash: Fr;
|
|
45
46
|
siloedNoteHash: Fr;
|
|
46
47
|
innerNullifier: Fr;
|
|
47
48
|
}>;
|
|
48
49
|
/**
|
|
49
|
-
* Computes
|
|
50
|
+
* Computes a hash of the note.
|
|
50
51
|
* @param contractAddress - The address of the contract.
|
|
51
52
|
* @param storageSlot - The storage slot.
|
|
52
53
|
* @param noteTypeId - The note type identifier.
|
|
53
54
|
* @param note - The note.
|
|
54
55
|
* @returns The note hash.
|
|
55
56
|
*/
|
|
56
|
-
|
|
57
|
+
computeNoteHash(contractAddress: AztecAddress, storageSlot: Fr, noteTypeId: NoteSelector, note: Note): Promise<Fr>;
|
|
57
58
|
}
|
|
58
59
|
//# sourceMappingURL=simulator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../../src/client/simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE7G,OAAO,EAEL,KAAK,gBAAgB,EAGrB,KAAK,YAAY,EAElB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAM9C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAK7D;;GAEG;AACH,qBAAa,aAAa;IAGZ,OAAO,CAAC,EAAE;IAAY,OAAO,CAAC,IAAI;IAF9C,OAAO,CAAC,GAAG,CAAc;gBAEL,EAAE,EAAE,QAAQ,EAAU,IAAI,EAAE,SAAS;IAIzD
|
|
1
|
+
{"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../../src/client/simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE7G,OAAO,EAEL,KAAK,gBAAgB,EAGrB,KAAK,YAAY,EAElB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAM9C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAK7D;;GAEG;AACH,qBAAa,aAAa;IAGZ,OAAO,CAAC,EAAE;IAAY,OAAO,CAAC,IAAI;IAF9C,OAAO,CAAC,GAAG,CAAc;gBAEL,EAAE,EAAE,QAAQ,EAAU,IAAI,EAAE,SAAS;IAIzD;;;;;;;;OAQG;IACU,GAAG,CACd,OAAO,EAAE,kBAAkB,EAC3B,kBAAkB,EAAE,gBAAgB,EACpC,eAAe,EAAE,YAAY,EAC7B,SAAS,eAA6C,EACtD,MAAM,CAAC,EAAE,YAAY,EAAE,GACtB,OAAO,CAAC,eAAe,CAAC;IAuD3B;;;;;;OAMG;IACU,gBAAgB,CAC3B,OAAO,EAAE,YAAY,EACrB,kBAAkB,EAAE,gBAAgB,EACpC,eAAe,EAAE,YAAY,EAC7B,MAAM,CAAC,EAAE,YAAY,EAAE;IAqBzB;;;;;;;;;OASG;IACU,sCAAsC,CACjD,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,YAAY,EACxB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,IAAI;;;;;;IA6DZ;;;;;;;OAOG;IACU,eAAe,CAAC,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI;CAWlH"}
|
package/dest/client/simulator.js
CHANGED
|
@@ -25,9 +25,10 @@ export class AcirSimulator {
|
|
|
25
25
|
* @param entryPointArtifact - The artifact of the entry point function.
|
|
26
26
|
* @param contractAddress - The address of the contract (should match request.origin)
|
|
27
27
|
* @param msgSender - The address calling the function. This can be replaced to simulate a call from another contract or a specific account.
|
|
28
|
+
* @param scopes - The accounts whose notes we can access in this call. Currently optional and will default to all.
|
|
28
29
|
* @returns The result of the execution.
|
|
29
30
|
*/
|
|
30
|
-
async run(request, entryPointArtifact, contractAddress, msgSender = AztecAddress.fromField(Fr.MAX_FIELD_VALUE)) {
|
|
31
|
+
async run(request, entryPointArtifact, contractAddress, msgSender = AztecAddress.fromField(Fr.MAX_FIELD_VALUE), scopes) {
|
|
31
32
|
if (entryPointArtifact.functionType !== FunctionType.PRIVATE) {
|
|
32
33
|
throw new Error(`Cannot run ${entryPointArtifact.functionType} function as private`);
|
|
33
34
|
}
|
|
@@ -38,7 +39,8 @@ export class AcirSimulator {
|
|
|
38
39
|
// reserve the first side effect for the tx hash (inserted by the private kernel)
|
|
39
40
|
const startSideEffectCounter = 1;
|
|
40
41
|
const callContext = new CallContext(msgSender, contractAddress, FunctionSelector.fromNameAndParameters(entryPointArtifact.name, entryPointArtifact.parameters), false, entryPointArtifact.isStatic);
|
|
41
|
-
const
|
|
42
|
+
const txHash = request.toTxRequest().hash();
|
|
43
|
+
const context = new ClientExecutionContext(contractAddress, request.firstCallArgsHash, request.txContext, callContext, header, request.authWitnesses, PackedValuesCache.create(request.argsOfCalls), new ExecutionNoteCache(txHash), this.db, this.node, startSideEffectCounter, undefined, scopes);
|
|
42
44
|
try {
|
|
43
45
|
const executionResult = await executePrivateFunction(context, entryPointArtifact, contractAddress, request.functionSelector);
|
|
44
46
|
return executionResult;
|
|
@@ -52,13 +54,13 @@ export class AcirSimulator {
|
|
|
52
54
|
* @param request - The transaction request.
|
|
53
55
|
* @param entryPointArtifact - The artifact of the entry point function.
|
|
54
56
|
* @param contractAddress - The address of the contract.
|
|
55
|
-
* @param
|
|
57
|
+
* @param scopes - The accounts whose notes we can access in this call. Currently optional and will default to all.
|
|
56
58
|
*/
|
|
57
|
-
async runUnconstrained(request, entryPointArtifact, contractAddress) {
|
|
59
|
+
async runUnconstrained(request, entryPointArtifact, contractAddress, scopes) {
|
|
58
60
|
if (entryPointArtifact.functionType !== FunctionType.UNCONSTRAINED) {
|
|
59
61
|
throw new Error(`Cannot run ${entryPointArtifact.functionType} function as unconstrained`);
|
|
60
62
|
}
|
|
61
|
-
const context = new ViewDataOracle(contractAddress, [], this.db, this.node);
|
|
63
|
+
const context = new ViewDataOracle(contractAddress, [], this.db, this.node, undefined, scopes);
|
|
62
64
|
try {
|
|
63
65
|
return await executeUnconstrainedFunction(context, entryPointArtifact, contractAddress, request.selector, request.args);
|
|
64
66
|
}
|
|
@@ -105,25 +107,25 @@ export class AcirSimulator {
|
|
|
105
107
|
]),
|
|
106
108
|
returnTypes: artifact.returnTypes,
|
|
107
109
|
};
|
|
108
|
-
const [
|
|
110
|
+
const [noteHash, uniqueNoteHash, siloedNoteHash, innerNullifier] = (await this.runUnconstrained(execRequest, artifact, contractAddress));
|
|
109
111
|
return {
|
|
110
|
-
|
|
112
|
+
noteHash: new Fr(noteHash),
|
|
111
113
|
uniqueNoteHash: new Fr(uniqueNoteHash),
|
|
112
114
|
siloedNoteHash: new Fr(siloedNoteHash),
|
|
113
115
|
innerNullifier: new Fr(innerNullifier),
|
|
114
116
|
};
|
|
115
117
|
}
|
|
116
118
|
/**
|
|
117
|
-
* Computes
|
|
119
|
+
* Computes a hash of the note.
|
|
118
120
|
* @param contractAddress - The address of the contract.
|
|
119
121
|
* @param storageSlot - The storage slot.
|
|
120
122
|
* @param noteTypeId - The note type identifier.
|
|
121
123
|
* @param note - The note.
|
|
122
124
|
* @returns The note hash.
|
|
123
125
|
*/
|
|
124
|
-
async
|
|
125
|
-
const {
|
|
126
|
-
return
|
|
126
|
+
async computeNoteHash(contractAddress, storageSlot, noteTypeId, note) {
|
|
127
|
+
const { noteHash } = await this.computeNoteHashAndOptionallyANullifier(contractAddress, Fr.ZERO, storageSlot, noteTypeId, false, note);
|
|
128
|
+
return noteHash;
|
|
127
129
|
}
|
|
128
130
|
}
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltdWxhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9zaW11bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFHTCxnQkFBZ0IsRUFDaEIsWUFBWSxFQUVaLGVBQWUsR0FDaEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQUd4QixZQUFvQixFQUFZLEVBQVUsSUFBZTtRQUFyQyxPQUFFLEdBQUYsRUFBRSxDQUFVO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBVztRQUN2RCxJQUFJLENBQUMsR0FBRyxHQUFHLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksS0FBSyxDQUFDLEdBQUcsQ0FDZCxPQUEyQixFQUMz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
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Fr } from '@aztec/circuits.js';
|
|
2
|
+
/**
|
|
3
|
+
* Computes a note hiding point as is done by the default implementation injected by macros.
|
|
4
|
+
* @param storageSlot - The slot to which the note was inserted.
|
|
5
|
+
* @param noteContent - The note content (e.g. note.items).
|
|
6
|
+
* @returns A note hash.
|
|
7
|
+
*/
|
|
8
|
+
export declare function computeNoteHash(storageSlot: Fr, noteContent: Fr[]): Fr;
|
|
9
|
+
//# sourceMappingURL=test_utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test_utils.d.ts","sourceRoot":"","sources":["../../src/client/test_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,EAAE,EAAyB,MAAM,oBAAoB,CAAC;AAWnE;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,EAAE,CAYtE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Fq, Fr, GeneratorIndex, Point } from '@aztec/circuits.js';
|
|
2
|
+
import { Grumpkin } from '@aztec/circuits.js/barretenberg';
|
|
3
|
+
import { pedersenCommit } from '@aztec/foundation/crypto';
|
|
4
|
+
// Copied over from `noir-projects/aztec-nr/aztec/src/generators.nr`
|
|
5
|
+
const G_SLOT = new Point(new Fr(0x041223147b680850dc82e8a55a952d4df20256fe0593d949a9541ca00f0abf15n), new Fr(0x0a8c72e60d0e60f5d804549d48f3044d06140b98ed717a9b532af630c1530791n), false);
|
|
6
|
+
/**
|
|
7
|
+
* Computes a note hiding point as is done by the default implementation injected by macros.
|
|
8
|
+
* @param storageSlot - The slot to which the note was inserted.
|
|
9
|
+
* @param noteContent - The note content (e.g. note.items).
|
|
10
|
+
* @returns A note hash.
|
|
11
|
+
*/
|
|
12
|
+
export function computeNoteHash(storageSlot, noteContent) {
|
|
13
|
+
// TODO(#7771): update this to do only 1 MSM call
|
|
14
|
+
const c = pedersenCommit(noteContent.map(f => f.toBuffer()), GeneratorIndex.NOTE_HIDING_POINT);
|
|
15
|
+
const noteHidingPointBeforeSlotting = new Point(new Fr(c[0]), new Fr(c[1]), false);
|
|
16
|
+
const grumpkin = new Grumpkin();
|
|
17
|
+
const slotPoint = grumpkin.mul(G_SLOT, new Fq(storageSlot.toBigInt()));
|
|
18
|
+
const noteHidingPoint = grumpkin.add(noteHidingPointBeforeSlotting, slotPoint);
|
|
19
|
+
return noteHidingPoint.x;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF91dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvdGVzdF91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxvRUFBb0U7QUFDcEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQ3RCLElBQUksRUFBRSxDQUFDLG1FQUFtRSxDQUFDLEVBQzNFLElBQUksRUFBRSxDQUFDLG1FQUFtRSxDQUFDLEVBQzNFLEtBQUssQ0FDTixDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLFdBQWUsRUFBRSxXQUFpQjtJQUNoRSxpREFBaUQ7SUFDakQsTUFBTSxDQUFDLEdBQUcsY0FBYyxDQUN0QixXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQ2xDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FDakMsQ0FBQztJQUNGLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFbkYsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUNoQyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDL0UsT0FBTyxlQUFlLENBQUMsQ0FBQyxDQUFDO0FBQzNCLENBQUMifQ==
|
|
@@ -16,9 +16,10 @@ export declare class ViewDataOracle extends TypedOracle {
|
|
|
16
16
|
protected readonly db: DBOracle;
|
|
17
17
|
protected readonly aztecNode: AztecNode;
|
|
18
18
|
protected log: import("@aztec/foundation/log").Logger;
|
|
19
|
+
protected readonly scopes?: AztecAddress[] | undefined;
|
|
19
20
|
constructor(contractAddress: AztecAddress,
|
|
20
21
|
/** List of transient auth witnesses to be used during this simulation */
|
|
21
|
-
authWitnesses: AuthWitness[], db: DBOracle, aztecNode: AztecNode, log?: import("@aztec/foundation/log").Logger);
|
|
22
|
+
authWitnesses: AuthWitness[], db: DBOracle, aztecNode: AztecNode, log?: import("@aztec/foundation/log").Logger, scopes?: AztecAddress[] | undefined);
|
|
22
23
|
getBlockNumber(): Promise<number>;
|
|
23
24
|
getContractAddress(): Promise<AztecAddress>;
|
|
24
25
|
getChainId(): Promise<Fr>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view_data_oracle.d.ts","sourceRoot":"","sources":["../../src/client/view_data_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,KAAK,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C;;;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;
|
|
1
|
+
{"version":3,"file":"view_data_oracle.d.ts","sourceRoot":"","sources":["../../src/client/view_data_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,KAAK,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C;;;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;IACb,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;gBANP,eAAe,EAAE,YAAY;IAChD,yEAAyE;IACtD,aAAa,EAAE,WAAW,EAAE,EAC5B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,SAAS,EAC7B,GAAG,yCAA2D,EACrD,MAAM,CAAC,4BAAgB;IAK5B,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjC,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC;IAI3C,UAAU,IAAI,OAAO,CAAC,EAAE,CAAC;IAIzB,UAAU,IAAI,OAAO,CAAC,EAAE,CAAC;IAIzC;;;;;OAKG;IACa,uBAAuB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAInF;;;;;;OAMG;IACmB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IASnH;;;;;;OAMG;IACa,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAIvG;;;;;OAKG;IACmB,6BAA6B,CACjD,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAIlD;;;;;;;;OAQG;IACmB,gCAAgC,CACpD,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAIlD;;;;;OAKG;IACmB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,EAAE,GACX,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAIzC;;;;OAIG;IACmB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAQjF;;;;;OAKG;IACa,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAInF;;;;OAIG;IACa,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIrF;;;;;OAKG;IACa,cAAc,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;IAM1E;;;;OAIG;IACa,UAAU,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;IAI3C;;;;;;;;;;;;;;;;;;;;OAoBG;IACmB,QAAQ,CAC5B,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EAAE,EACzB,eAAe,EAAE,MAAM,EAAE,EACzB,eAAe,EAAE,MAAM,EAAE,EACzB,YAAY,EAAE,EAAE,EAAE,EAClB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,aAAa,EAAE,MAAM,EAAE,EACvB,aAAa,EAAE,MAAM,EAAE,EACvB,aAAa,EAAE,MAAM,EAAE,EACvB,SAAS,EAAE,MAAM,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,QAAQ,EAAE,CAAC;IAiBtB;;;;OAIG;IACmB,oBAAoB,CAAC,cAAc,EAAE,EAAE;IAM7D;;;;;;;OAOG;IACmB,0BAA0B,CAAC,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;IAI3G;;;;;;OAMG;IACmB,WAAW,CAC/B,eAAe,EAAE,EAAE,EACnB,gBAAgB,EAAE,EAAE,EACpB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM;IAeV,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI;CAI9D"}
|
|
@@ -11,13 +11,14 @@ import { pickNotes } from './pick_notes.js';
|
|
|
11
11
|
export class ViewDataOracle extends TypedOracle {
|
|
12
12
|
constructor(contractAddress,
|
|
13
13
|
/** List of transient auth witnesses to be used during this simulation */
|
|
14
|
-
authWitnesses, db, aztecNode, log = createDebugLogger('aztec:simulator:client_view_context')) {
|
|
14
|
+
authWitnesses, db, aztecNode, log = createDebugLogger('aztec:simulator:client_view_context'), scopes) {
|
|
15
15
|
super();
|
|
16
16
|
this.contractAddress = contractAddress;
|
|
17
17
|
this.authWitnesses = authWitnesses;
|
|
18
18
|
this.db = db;
|
|
19
19
|
this.aztecNode = aztecNode;
|
|
20
20
|
this.log = log;
|
|
21
|
+
this.scopes = scopes;
|
|
21
22
|
}
|
|
22
23
|
getBlockNumber() {
|
|
23
24
|
return this.aztecNode.getBlockNumber();
|
|
@@ -163,7 +164,7 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
163
164
|
* @returns Array of note data.
|
|
164
165
|
*/
|
|
165
166
|
async getNotes(storageSlot, numSelects, selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, limit, offset, status) {
|
|
166
|
-
const dbNotes = await this.db.getNotes(this.contractAddress, storageSlot, status);
|
|
167
|
+
const dbNotes = await this.db.getNotes(this.contractAddress, storageSlot, status, this.scopes);
|
|
167
168
|
return pickNotes(dbNotes, {
|
|
168
169
|
selects: selectByIndexes.slice(0, numSelects).map((index, i) => ({
|
|
169
170
|
selector: { index, offset: selectByOffsets[i], length: selectByLengths[i] },
|
|
@@ -221,4 +222,4 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
221
222
|
this.log.verbose(`debug_log ${formattedStr}`);
|
|
222
223
|
}
|
|
223
224
|
}
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld19kYXRhX29yYWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvdmlld19kYXRhX29yYWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsWUFBWSxHQUliLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdqRixPQUFPLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLFdBQVc7SUFDN0MsWUFDcUIsZUFBNkI7SUFDaEQseUVBQXlFO0lBQ3RELGFBQTRCLEVBQzVCLEVBQVksRUFDWixTQUFvQixFQUM3QixNQUFNLGlCQUFpQixDQUFDLHFDQUFxQyxDQUFDLEVBQ3JELE1BQXVCO1FBRTFDLEtBQUssRUFBRSxDQUFDO1FBUlcsb0JBQWUsR0FBZixlQUFlLENBQWM7UUFFN0Isa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsT0FBRSxHQUFGLEVBQUUsQ0FBVTtRQUNaLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDN0IsUUFBRyxHQUFILEdBQUcsQ0FBMkQ7UUFDckQsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7SUFHNUMsQ0FBQztJQUVlLGNBQWM7UUFDNUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFZSxrQkFBa0I7UUFDaEMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRWUs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
|
package/dest/index.d.ts
CHANGED
package/dest/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
|
package/dest/index.js
CHANGED
|
@@ -6,5 +6,4 @@ export * from './public/index.js';
|
|
|
6
6
|
export * from './providers/index.js';
|
|
7
7
|
export * from './mocks/index.js';
|
|
8
8
|
export * from './stats/index.js';
|
|
9
|
-
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsWUFBWSxDQUFDIn0=
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGtCQUFrQixDQUFDIn0=
|
package/dest/mocks/fixtures.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { type FunctionCall, type SimulationError } from '@aztec/circuit-types';
|
|
2
|
-
import { type AztecAddress, type ContractStorageRead, type ContractStorageUpdateRequest, Fr
|
|
1
|
+
import { type FunctionCall, PublicExecutionRequest, type SimulationError } from '@aztec/circuit-types';
|
|
2
|
+
import { type AztecAddress, type ContractStorageRead, type ContractStorageUpdateRequest, Fr } from '@aztec/circuits.js';
|
|
3
3
|
import { FunctionType } from '@aztec/foundation/abi';
|
|
4
|
-
import { type
|
|
4
|
+
import { type PublicExecutionResult } from '../public/execution.js';
|
|
5
5
|
export declare class PublicExecutionResultBuilder {
|
|
6
6
|
private _executionRequest;
|
|
7
7
|
private _nestedExecutions;
|
|
@@ -11,8 +11,8 @@ export declare class PublicExecutionResultBuilder {
|
|
|
11
11
|
private _reverted;
|
|
12
12
|
private _revertReason;
|
|
13
13
|
constructor(executionRequest: PublicExecutionRequest);
|
|
14
|
-
static
|
|
15
|
-
request:
|
|
14
|
+
static fromPublicExecutionRequest({ request, returnValues, nestedExecutions, contractStorageUpdateRequests, contractStorageReads, revertReason, }: {
|
|
15
|
+
request: PublicExecutionRequest;
|
|
16
16
|
returnValues?: Fr[];
|
|
17
17
|
nestedExecutions?: PublicExecutionResult[];
|
|
18
18
|
contractStorageUpdateRequests?: ContractStorageUpdateRequest[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/mocks/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/mocks/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,sBAAsB,EACtB,KAAK,eAAe,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,YAAY,EAEjB,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EACjC,EAAE,EAEH,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,KAAK,qBAAqB,EAA6B,MAAM,wBAAwB,CAAC;AAE/F,qBAAa,4BAA4B;IACvC,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,8BAA8B,CAAsC;IAC5E,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAA0C;gBAEnD,gBAAgB,EAAE,sBAAsB;IAIpD,MAAM,CAAC,0BAA0B,CAAC,EAChC,OAAO,EACP,YAA2B,EAC3B,gBAAqB,EACrB,6BAAkC,EAClC,oBAAyB,EACzB,YAAwB,GACzB,EAAE;QACD,OAAO,EAAE,sBAAsB,CAAC;QAChC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC;QACpB,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,CAAC;QAC3C,6BAA6B,CAAC,EAAE,4BAA4B,EAAE,CAAC;QAC/D,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;QAC7C,YAAY,CAAC,EAAE,eAAe,CAAC;KAChC,GAAG,4BAA4B;IAchC,MAAM,CAAC,gBAAgB,CAAC,EACtB,IAAI,EACJ,EAAE,EACF,YAA2B,EAC3B,gBAAqB,EACrB,6BAAkC,EAClC,oBAAyB,EACzB,YAAY,GACb,EAAE;QACD,IAAI,EAAE,YAAY,CAAC;QACnB,EAAE,EAAE,YAAY,CAAC;QACjB,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC;QACpB,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,CAAC;QAC3C,6BAA6B,CAAC,EAAE,4BAA4B,EAAE,CAAC;QAC/D,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;QAC7C,YAAY,CAAC,EAAE,eAAe,CAAC;KAChC;IAgBD,oBAAoB,CAAC,GAAG,MAAM,EAAE,qBAAqB,EAAE,GAAG,4BAA4B;IAKtF,gCAAgC,CAAC,GAAG,OAAO,EAAE,4BAA4B,EAAE,GAAG,4BAA4B;IAK1G,uBAAuB,CAAC,GAAG,KAAK,EAAE,mBAAmB,EAAE,GAAG,4BAA4B;IAKtF,gBAAgB,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,GAAG,4BAA4B;IAK/D,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,4BAA4B;IAMnE,KAAK,CAAC,SAAS,GAAE,OAAO,CAAC,qBAAqB,CAAM,GAAG,qBAAqB;CA+B7E;AAED,eAAO,MAAM,gBAAgB;;;;;;;;CAQmC,CAAC"}
|