@aztec/simulator 0.87.4 → 0.87.5
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/client.d.ts +0 -2
- package/dest/client.d.ts.map +1 -1
- package/dest/client.js +0 -2
- package/dest/private/acvm/acvm.d.ts +0 -4
- package/dest/private/acvm/acvm.d.ts.map +1 -1
- package/dest/private/acvm/oracle/oracle.d.ts +1 -1
- package/dest/private/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/private/acvm/oracle/oracle.js +2 -2
- package/dest/private/acvm/oracle/typed_oracle.d.ts +1 -1
- package/dest/private/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/private/acvm/oracle/typed_oracle.js +2 -2
- package/dest/private/private_execution.d.ts.map +1 -1
- package/dest/private/private_execution.js +1 -2
- package/dest/private/private_execution_oracle.d.ts +1 -1
- package/dest/private/private_execution_oracle.d.ts.map +1 -1
- package/dest/private/private_execution_oracle.js +1 -1
- package/dest/private/providers/circuit_recording/circuit_recorder.d.ts +19 -39
- package/dest/private/providers/circuit_recording/circuit_recorder.d.ts.map +1 -1
- package/dest/private/providers/circuit_recording/circuit_recorder.js +126 -90
- package/dest/private/providers/circuit_recording/simulation_provider_recorder_wrapper.d.ts +1 -3
- package/dest/private/providers/circuit_recording/simulation_provider_recorder_wrapper.d.ts.map +1 -1
- package/dest/private/providers/circuit_recording/simulation_provider_recorder_wrapper.js +11 -16
- package/dest/private/utility_execution_oracle.d.ts +1 -1
- package/dest/private/utility_execution_oracle.d.ts.map +1 -1
- package/dest/private/utility_execution_oracle.js +1 -1
- package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts +0 -1
- package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -1
- package/dest/public/avm/fixtures/base_avm_simulation_tester.js +0 -6
- package/dest/public/public_tx_simulator/apps_tests/amm_test.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/apps_tests/amm_test.js +55 -27
- package/dest/server.d.ts +0 -2
- package/dest/server.d.ts.map +1 -1
- package/dest/server.js +0 -2
- package/dest/testing.d.ts +1 -1
- package/dest/testing.d.ts.map +1 -1
- package/dest/testing.js +1 -1
- package/package.json +15 -15
- package/src/client.ts +0 -2
- package/src/private/acvm/acvm.ts +0 -3
- package/src/private/acvm/oracle/oracle.ts +2 -2
- package/src/private/acvm/oracle/typed_oracle.ts +2 -2
- package/src/private/private_execution.ts +0 -1
- package/src/private/private_execution_oracle.ts +1 -1
- package/src/private/providers/circuit_recording/circuit_recorder.ts +136 -114
- package/src/private/providers/circuit_recording/simulation_provider_recorder_wrapper.ts +14 -22
- package/src/private/utility_execution_oracle.ts +1 -1
- package/src/public/avm/fixtures/base_avm_simulation_tester.ts +0 -5
- package/src/public/public_tx_simulator/apps_tests/amm_test.ts +44 -49
- package/src/server.ts +0 -2
- package/src/testing.ts +1 -1
- package/dest/private/providers/circuit_recording/file_circuit_recorder.d.ts +0 -31
- package/dest/private/providers/circuit_recording/file_circuit_recorder.d.ts.map +0 -1
- package/dest/private/providers/circuit_recording/file_circuit_recorder.js +0 -135
- package/dest/private/providers/circuit_recording/memory_circuit_recorder.d.ts +0 -5
- package/dest/private/providers/circuit_recording/memory_circuit_recorder.d.ts.map +0 -1
- package/dest/private/providers/circuit_recording/memory_circuit_recorder.js +0 -9
- package/src/private/providers/circuit_recording/file_circuit_recorder.ts +0 -158
- package/src/private/providers/circuit_recording/memory_circuit_recorder.ts +0 -11
package/dest/private/providers/circuit_recording/simulation_provider_recorder_wrapper.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulation_provider_recorder_wrapper.d.ts","sourceRoot":"","sources":["../../../../src/private/providers/circuit_recording/simulation_provider_recorder_wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,KAAK,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"simulation_provider_recorder_wrapper.d.ts","sourceRoot":"","sources":["../../../../src/private/providers/circuit_recording/simulation_provider_recorder_wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE;;;GAGG;AACH,qBAAa,iCAAkC,YAAW,kBAAkB;;IAC9D,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,kBAAkB;IAEjD,sBAAsB,CACpB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,2BAA2B,EACrC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,GACvC,OAAO,CAAC,WAAW,CAAC;IAavB,kBAAkB,CAChB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,gCAAgC,EAC1C,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,CAAC;CA4ChC"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
+
import { CircuitRecorder } from './circuit_recorder.js';
|
|
1
2
|
/**
|
|
2
3
|
* Takes a simulation provider and wraps it in a circuit recorder. See CircuitRecorder for more details on how circuit
|
|
3
4
|
* recording works.
|
|
4
5
|
*/ export class SimulationProviderRecorderWrapper {
|
|
5
6
|
simulator;
|
|
6
|
-
|
|
7
|
-
constructor(simulator, recorder){
|
|
7
|
+
constructor(simulator){
|
|
8
8
|
this.simulator = simulator;
|
|
9
|
-
this.recorder = recorder;
|
|
10
9
|
}
|
|
11
10
|
executeProtocolCircuit(input, artifact, callback) {
|
|
12
11
|
const bytecode = Buffer.from(artifact.bytecode, 'base64');
|
|
@@ -16,29 +15,25 @@
|
|
|
16
15
|
return this.#simulate((wrappedCallback)=>this.simulator.executeUserCircuit(input, artifact, wrappedCallback), input, artifact.bytecode, artifact.contractName, artifact.name, callback);
|
|
17
16
|
}
|
|
18
17
|
async #simulate(simulateFn, input, bytecode, contractName, functionName, callback) {
|
|
18
|
+
const recordDir = process.env.CIRCUIT_RECORD_DIR;
|
|
19
|
+
if (!recordDir) {
|
|
20
|
+
// Recording is not enabled so we just execute the circuit
|
|
21
|
+
return simulateFn(callback);
|
|
22
|
+
}
|
|
19
23
|
// Start recording circuit execution
|
|
20
|
-
await
|
|
24
|
+
const recorder = await CircuitRecorder.start(recordDir, input, bytecode, contractName, functionName);
|
|
21
25
|
// If callback was provided, we wrap it in a circuit recorder callback wrapper
|
|
22
|
-
const wrappedCallback =
|
|
26
|
+
const wrappedCallback = recorder.wrapCallback(callback);
|
|
23
27
|
let result;
|
|
24
28
|
try {
|
|
25
29
|
result = await simulateFn(wrappedCallback);
|
|
26
30
|
} catch (error) {
|
|
27
31
|
// If an error occurs, we finalize the recording file with the error
|
|
28
|
-
await
|
|
32
|
+
await recorder.finishWithError(error);
|
|
29
33
|
throw error;
|
|
30
34
|
}
|
|
31
35
|
// Witness generation is complete so we finish the circuit recorder
|
|
32
|
-
|
|
33
|
-
result.oracles = recording.oracleCalls?.reduce((acc, { time, name })=>{
|
|
34
|
-
if (!acc[name]) {
|
|
35
|
-
acc[name] = {
|
|
36
|
-
times: []
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
acc[name].times.push(time);
|
|
40
|
-
return acc;
|
|
41
|
-
}, {});
|
|
36
|
+
await recorder.finish();
|
|
42
37
|
return result;
|
|
43
38
|
}
|
|
44
39
|
}
|
|
@@ -149,7 +149,7 @@ export declare class UtilityExecutionOracle extends TypedOracle {
|
|
|
149
149
|
* @returns A tagging secret that can be used to tag notes.
|
|
150
150
|
*/
|
|
151
151
|
getIndexedTaggingSecretAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<IndexedTaggingSecret>;
|
|
152
|
-
|
|
152
|
+
syncPrivateState(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
|
|
153
153
|
deliverNote(contractAddress: AztecAddress, storageSlot: Fr, nonce: Fr, content: Fr[], noteHash: Fr, nullifier: Fr, txHash: TxHash, recipient: AztecAddress): Promise<void>;
|
|
154
154
|
getLogByTag(tag: Fr): Promise<LogWithTxData | null>;
|
|
155
155
|
storeCapsule(contractAddress: AztecAddress, slot: Fr, capsule: Fr[]): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility_execution_oracle.d.ts","sourceRoot":"","sources":["../../src/private/utility_execution_oracle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utility_execution_oracle.d.ts","sourceRoot":"","sources":["../../src/private/utility_execution_oracle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC5G,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,KAAK,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAG1E;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,WAAW;IAEnD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY;IAChD,yEAAyE;IACzE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,EAAE;IAC/C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE;IACtC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IAC/D,SAAS,CAAC,GAAG;IACb,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE;gBANvB,eAAe,EAAE,YAAY;IAChD,yEAAyE;IACtD,aAAa,EAAE,WAAW,EAAE,EAC5B,QAAQ,EAAE,OAAO,EAAE,EAAE,4CAA4C;IACjE,qBAAqB,EAAE,qBAAqB,EACrD,GAAG,yCAAgD,EAC1C,MAAM,CAAC,EAAE,YAAY,EAAE,YAAA;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;IACa,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAI7G;;;;;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,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,EAAE,GACX,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAIzC;;;;OAIG;IACmB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAQ3F;;;;;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;IAI1E;;;;;;;;;;;;;;;;;;;;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,YAAY,EAC7B,gBAAgB,EAAE,EAAE,EACpB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM;IAeV,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI;IAI7D;;;;;;;OAOG;IACmB,+BAA+B,CACnD,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,oBAAoB,CAAC;IAIV,gBAAgB,CAAC,6BAA6B,EAAE,EAAE;IAMlD,WAAW,CAC/B,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,KAAK,EAAE,EAAE,EACT,OAAO,EAAE,EAAE,EAAE,EACb,QAAQ,EAAE,EAAE,EACZ,SAAS,EAAE,EAAE,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,YAAY;IAmBT,WAAW,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAInD,YAAY,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7E,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC;IAYhF,aAAa,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrE,WAAW,CACzB,eAAe,EAAE,YAAY,EAC7B,OAAO,EAAE,EAAE,EACX,OAAO,EAAE,EAAE,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IASA,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9E,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAIpE,oBAAoB,CAClC,eAAe,EAAE,YAAY,EAC7B,SAAS,EAAE,YAAY,EACvB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,EAAE,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;CAWjB"}
|
|
@@ -200,7 +200,7 @@ import { pickNotes } from './pick_notes.js';
|
|
|
200
200
|
*/ async getIndexedTaggingSecretAsSender(sender, recipient) {
|
|
201
201
|
return await this.executionDataProvider.getIndexedTaggingSecretAsSender(this.contractAddress, sender, recipient);
|
|
202
202
|
}
|
|
203
|
-
async
|
|
203
|
+
async syncPrivateState(pendingTaggedLogArrayBaseSlot) {
|
|
204
204
|
await this.executionDataProvider.syncTaggedLogs(this.contractAddress, pendingTaggedLogArrayBaseSlot, this.scopes);
|
|
205
205
|
await this.executionDataProvider.removeNullifiedNotes(this.contractAddress);
|
|
206
206
|
}
|
|
@@ -31,6 +31,5 @@ export declare abstract class BaseAvmSimulationTester {
|
|
|
31
31
|
registerFeeJuiceContract(): Promise<ContractInstanceWithAddress>;
|
|
32
32
|
addContractInstance(contractInstance: ContractInstanceWithAddress, skipNullifierInsertion?: boolean): Promise<void>;
|
|
33
33
|
private insertContractAddressNullifier;
|
|
34
|
-
insertNullifier(contractThatEmitted: AztecAddress, nullifier: Fr): Promise<void>;
|
|
35
34
|
}
|
|
36
35
|
//# sourceMappingURL=base_avm_simulation_tester.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_avm_simulation_tester.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/fixtures/base_avm_simulation_tester.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAI9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAGjF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAG9F;;;;;;;;;;GAUG;AACH,8BAAsB,uBAAuB;IAIlC,kBAAkB,EAAE,wBAAwB;IAC5C,WAAW,EAAE,yBAAyB;IAC7C,OAAO,CAAC,sBAAsB;IALzB,MAAM,yCAAyC;gBAG7C,kBAAkB,EAAE,wBAAwB,EAC5C,WAAW,EAAE,yBAAyB,EACrC,sBAAsB,KAAmB;IAG7C,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,KAA8B;IAMhF,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;IAOjE;;;OAGG;IACG,yBAAyB,CAC7B,eAAe,EAAE,GAAG,EAAE,EACtB,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,sBAAsB,UAAQ,EAC9B,IAAI,SAAI,EACR,uBAAuB,CAAC,EAAE,EAAE,GAC3B,OAAO,CAAC,2BAA2B,CAAC;IAiBjC,wBAAwB,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAWhE,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,sBAAsB,UAAQ;YAOzF,8BAA8B;
|
|
1
|
+
{"version":3,"file":"base_avm_simulation_tester.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/fixtures/base_avm_simulation_tester.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAI9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAGjF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAG9F;;;;;;;;;;GAUG;AACH,8BAAsB,uBAAuB;IAIlC,kBAAkB,EAAE,wBAAwB;IAC5C,WAAW,EAAE,yBAAyB;IAC7C,OAAO,CAAC,sBAAsB;IALzB,MAAM,yCAAyC;gBAG7C,kBAAkB,EAAE,wBAAwB,EAC5C,WAAW,EAAE,yBAAyB,EACrC,sBAAsB,KAAmB;IAG7C,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,KAA8B;IAMhF,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;IAOjE;;;OAGG;IACG,yBAAyB,CAC7B,eAAe,EAAE,GAAG,EAAE,EACtB,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,sBAAsB,UAAQ,EAC9B,IAAI,SAAI,EACR,uBAAuB,CAAC,EAAE,EAAE,GAC3B,OAAO,CAAC,2BAA2B,CAAC;IAiBjC,wBAAwB,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAWhE,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,sBAAsB,UAAQ;YAOzF,8BAA8B;CAO7C"}
|
|
@@ -75,10 +75,4 @@ import { createContractClassAndInstance } from './index.js';
|
|
|
75
75
|
contractAddressNullifier.toBuffer()
|
|
76
76
|
]);
|
|
77
77
|
}
|
|
78
|
-
async insertNullifier(contractThatEmitted, nullifier) {
|
|
79
|
-
const siloedNullifier = await siloNullifier(contractThatEmitted, nullifier);
|
|
80
|
-
await this.merkleTrees.sequentialInsert(MerkleTreeId.NULLIFIER_TREE, [
|
|
81
|
-
siloedNullifier.toBuffer()
|
|
82
|
-
]);
|
|
83
|
-
}
|
|
84
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amm_test.d.ts","sourceRoot":"","sources":["../../../../src/public/public_tx_simulator/apps_tests/amm_test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"amm_test.d.ts","sourceRoot":"","sources":["../../../../src/public/public_tx_simulator/apps_tests/amm_test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAKpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAIzF;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,iBAoG7E"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { GeneratorIndex } from '@aztec/constants';
|
|
2
|
-
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
|
|
3
1
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
2
|
import { AMMContractArtifact } from '@aztec/noir-contracts.js/AMM';
|
|
5
3
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
@@ -71,14 +69,6 @@ async function addLiquidity(tester, sender, amm, token0, token1, liquidityToken,
|
|
|
71
69
|
const liquidityPartialNote = {
|
|
72
70
|
commitment: new Fr(99)
|
|
73
71
|
};
|
|
74
|
-
const refundToken0PartialNoteValidityCommitment = await computePartialNoteValidityCommitment(refundToken0PartialNote, amm.address);
|
|
75
|
-
const refundToken1PartialNoteValidityCommitment = await computePartialNoteValidityCommitment(refundToken1PartialNote, amm.address);
|
|
76
|
-
const liquidityPartialNoteValidityCommitment = await computePartialNoteValidityCommitment(liquidityPartialNote, amm.address);
|
|
77
|
-
// We need to inject the validity commitments into the nullifier tree as that would be performed by the private token
|
|
78
|
-
// functions that are not invoked in this test.
|
|
79
|
-
await tester.insertNullifier(token0.address, refundToken0PartialNoteValidityCommitment);
|
|
80
|
-
await tester.insertNullifier(token1.address, refundToken1PartialNoteValidityCommitment);
|
|
81
|
-
await tester.insertNullifier(liquidityToken.address, liquidityPartialNoteValidityCommitment);
|
|
82
72
|
return await tester.simulateTxWithLabel(/*txLabel=*/ 'AMM/add_liquidity', /*sender=*/ sender, /*setupCalls=*/ [], /*appCalls=*/ [
|
|
83
73
|
// token0.transfer_to_public enqueues a call to _increase_public_balance
|
|
84
74
|
{
|
|
@@ -90,6 +80,15 @@ async function addLiquidity(tester, sender, amm, token0, token1, liquidityToken,
|
|
|
90
80
|
],
|
|
91
81
|
address: token0.address
|
|
92
82
|
},
|
|
83
|
+
// token0.prepare_private_balance_increase enqueues a call to _store_balances_set_partial_note
|
|
84
|
+
{
|
|
85
|
+
sender: token0.address,
|
|
86
|
+
fnName: '_store_balances_set_partial_note',
|
|
87
|
+
args: [
|
|
88
|
+
refundToken0PartialNote
|
|
89
|
+
],
|
|
90
|
+
address: token0.address
|
|
91
|
+
},
|
|
93
92
|
// token1.transfer_to_public enqueues a call to _increase_public_balance
|
|
94
93
|
{
|
|
95
94
|
sender: token1.address,
|
|
@@ -100,6 +99,24 @@ async function addLiquidity(tester, sender, amm, token0, token1, liquidityToken,
|
|
|
100
99
|
],
|
|
101
100
|
address: token1.address
|
|
102
101
|
},
|
|
102
|
+
// token1.prepare_private_balance_increase enqueues a call to _store_balances_set_partial_note
|
|
103
|
+
{
|
|
104
|
+
sender: token1.address,
|
|
105
|
+
fnName: '_store_balances_set_partial_note',
|
|
106
|
+
args: [
|
|
107
|
+
refundToken1PartialNote
|
|
108
|
+
],
|
|
109
|
+
address: token1.address
|
|
110
|
+
},
|
|
111
|
+
// liquidityToken.prepare_private_balance_increase enqueues a call to _store_balances_set_partial_note
|
|
112
|
+
{
|
|
113
|
+
sender: liquidityToken.address,
|
|
114
|
+
fnName: '_store_balances_set_partial_note',
|
|
115
|
+
args: [
|
|
116
|
+
liquidityPartialNote
|
|
117
|
+
],
|
|
118
|
+
address: liquidityToken.address
|
|
119
|
+
},
|
|
103
120
|
// amm.add_liquidity enqueues a call to _add_liquidity
|
|
104
121
|
{
|
|
105
122
|
sender: amm.address,
|
|
@@ -125,12 +142,8 @@ async function addLiquidity(tester, sender, amm, token0, token1, liquidityToken,
|
|
|
125
142
|
}
|
|
126
143
|
async function swapExactTokensForTokens(tester, sender, amm, tokenIn, tokenOut, amountIn, amountOutMin, _nonce) {
|
|
127
144
|
const tokenOutPartialNote = {
|
|
128
|
-
commitment: new Fr(
|
|
145
|
+
commitment: new Fr(66)
|
|
129
146
|
};
|
|
130
|
-
const tokenOutPartialNoteValidityCommitment = await computePartialNoteValidityCommitment(tokenOutPartialNote, amm.address);
|
|
131
|
-
// We need to inject the validity commitment into the nullifier tree as that would be performed by the private token
|
|
132
|
-
// function that is not invoked in this test.
|
|
133
|
-
await tester.insertNullifier(tokenOut.address, tokenOutPartialNoteValidityCommitment);
|
|
134
147
|
return await tester.simulateTxWithLabel(/*txLabel=*/ 'AMM/swap_exact_tokens_for_tokens', /*sender=*/ sender, /*setupCalls=*/ [], /*appCalls=*/ [
|
|
135
148
|
// tokenIn.transfer_to_public enqueues a call to _increase_public_balance
|
|
136
149
|
{
|
|
@@ -142,6 +155,15 @@ async function swapExactTokensForTokens(tester, sender, amm, tokenIn, tokenOut,
|
|
|
142
155
|
],
|
|
143
156
|
address: tokenIn.address
|
|
144
157
|
},
|
|
158
|
+
// tokenOut.prepare_private_balance_increase enqueues a call to _store_balances_set_partial_note
|
|
159
|
+
{
|
|
160
|
+
sender: tokenOut.address,
|
|
161
|
+
fnName: '_store_balances_set_partial_note',
|
|
162
|
+
args: [
|
|
163
|
+
tokenOutPartialNote
|
|
164
|
+
],
|
|
165
|
+
address: tokenOut.address
|
|
166
|
+
},
|
|
145
167
|
{
|
|
146
168
|
sender: amm.address,
|
|
147
169
|
fnName: '_swap_exact_tokens_for_tokens',
|
|
@@ -163,12 +185,6 @@ async function removeLiquidity(tester, sender, amm, token0, token1, liquidityTok
|
|
|
163
185
|
const token1PartialNote = {
|
|
164
186
|
commitment: new Fr(222)
|
|
165
187
|
};
|
|
166
|
-
const token0PartialNoteValidityCommitment = await computePartialNoteValidityCommitment(token0PartialNote, amm.address);
|
|
167
|
-
const token1PartialNoteValidityCommitment = await computePartialNoteValidityCommitment(token1PartialNote, amm.address);
|
|
168
|
-
// We need to inject the validity commitments into the nullifier tree as that would be performed by the private token
|
|
169
|
-
// functions that are not invoked in this test.
|
|
170
|
-
await tester.insertNullifier(token0.address, token0PartialNoteValidityCommitment);
|
|
171
|
-
await tester.insertNullifier(token1.address, token1PartialNoteValidityCommitment);
|
|
172
188
|
return await tester.simulateTxWithLabel(/*txLabel=*/ 'AMM/remove_liquidity', /*sender=*/ sender, /*setupCalls=*/ [], /*appCalls=*/ [
|
|
173
189
|
// liquidityToken.transfer_to_public enqueues a call to _increase_public_balance
|
|
174
190
|
{
|
|
@@ -180,6 +196,24 @@ async function removeLiquidity(tester, sender, amm, token0, token1, liquidityTok
|
|
|
180
196
|
],
|
|
181
197
|
address: liquidityToken.address
|
|
182
198
|
},
|
|
199
|
+
// token0.prepare_private_balance_increase enqueues a call to _store_balances_set_partial_note
|
|
200
|
+
{
|
|
201
|
+
sender: token0.address,
|
|
202
|
+
fnName: '_store_balances_set_partial_note',
|
|
203
|
+
args: [
|
|
204
|
+
token0PartialNote
|
|
205
|
+
],
|
|
206
|
+
address: token0.address
|
|
207
|
+
},
|
|
208
|
+
// token1.prepare_private_balance_increase enqueues a call to _store_balances_set_partial_note
|
|
209
|
+
{
|
|
210
|
+
sender: token1.address,
|
|
211
|
+
fnName: '_store_balances_set_partial_note',
|
|
212
|
+
args: [
|
|
213
|
+
token1PartialNote
|
|
214
|
+
],
|
|
215
|
+
address: token1.address
|
|
216
|
+
},
|
|
183
217
|
// amm.remove_liquidity enqueues a call to _remove_liquidity
|
|
184
218
|
{
|
|
185
219
|
sender: amm.address,
|
|
@@ -201,9 +235,3 @@ async function removeLiquidity(tester, sender, amm, token0, token1, liquidityTok
|
|
|
201
235
|
}
|
|
202
236
|
]);
|
|
203
237
|
}
|
|
204
|
-
async function computePartialNoteValidityCommitment(partialNote, completer) {
|
|
205
|
-
return await poseidon2HashWithSeparator([
|
|
206
|
-
partialNote.commitment,
|
|
207
|
-
completer
|
|
208
|
-
], GeneratorIndex.PARTIAL_NOTE_VALIDITY_COMMITMENT);
|
|
209
|
-
}
|
package/dest/server.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export * from './public/index.js';
|
|
2
2
|
export { WASMSimulatorWithBlobs } from './private/providers/acvm_wasm_with_blobs.js';
|
|
3
3
|
export { NativeACVMSimulator } from './private/providers/acvm_native.js';
|
|
4
|
-
export { SimulationProviderRecorderWrapper } from './private/providers/circuit_recording/simulation_provider_recorder_wrapper.js';
|
|
5
|
-
export { MemoryCircuitRecorder } from './private/providers/circuit_recording/memory_circuit_recorder.js';
|
|
6
4
|
export { type SimulationProvider } from './private/providers/simulation_provider.js';
|
|
7
5
|
export * from './common/index.js';
|
|
8
6
|
//# sourceMappingURL=server.d.ts.map
|
package/dest/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AACrF,cAAc,mBAAmB,CAAC"}
|
package/dest/server.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
export * from './public/index.js';
|
|
2
2
|
export { WASMSimulatorWithBlobs } from './private/providers/acvm_wasm_with_blobs.js';
|
|
3
3
|
export { NativeACVMSimulator } from './private/providers/acvm_native.js';
|
|
4
|
-
export { SimulationProviderRecorderWrapper } from './private/providers/circuit_recording/simulation_provider_recorder_wrapper.js';
|
|
5
|
-
export { MemoryCircuitRecorder } from './private/providers/circuit_recording/memory_circuit_recorder.js';
|
|
6
4
|
export * from './common/index.js';
|
package/dest/testing.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { SimulationProviderRecorderWrapper } from './private/providers/circuit_recording/simulation_provider_recorder_wrapper.js';
|
|
2
2
|
//# sourceMappingURL=testing.d.ts.map
|
package/dest/testing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,+EAA+E,CAAC"}
|
package/dest/testing.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { SimulationProviderRecorderWrapper } from './private/providers/circuit_recording/simulation_provider_recorder_wrapper.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/simulator",
|
|
3
|
-
"version": "0.87.
|
|
3
|
+
"version": "0.87.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./server": "./dest/server.js",
|
|
@@ -58,25 +58,25 @@
|
|
|
58
58
|
]
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@aztec/constants": "0.87.
|
|
62
|
-
"@aztec/foundation": "0.87.
|
|
63
|
-
"@aztec/noir-acvm_js": "0.87.
|
|
64
|
-
"@aztec/noir-noirc_abi": "0.87.
|
|
65
|
-
"@aztec/noir-protocol-circuits-types": "0.87.
|
|
66
|
-
"@aztec/noir-types": "0.87.
|
|
67
|
-
"@aztec/protocol-contracts": "0.87.
|
|
68
|
-
"@aztec/stdlib": "0.87.
|
|
69
|
-
"@aztec/telemetry-client": "0.87.
|
|
70
|
-
"@aztec/world-state": "0.87.
|
|
61
|
+
"@aztec/constants": "0.87.5",
|
|
62
|
+
"@aztec/foundation": "0.87.5",
|
|
63
|
+
"@aztec/noir-acvm_js": "0.87.5",
|
|
64
|
+
"@aztec/noir-noirc_abi": "0.87.5",
|
|
65
|
+
"@aztec/noir-protocol-circuits-types": "0.87.5",
|
|
66
|
+
"@aztec/noir-types": "0.87.5",
|
|
67
|
+
"@aztec/protocol-contracts": "0.87.5",
|
|
68
|
+
"@aztec/stdlib": "0.87.5",
|
|
69
|
+
"@aztec/telemetry-client": "0.87.5",
|
|
70
|
+
"@aztec/world-state": "0.87.5",
|
|
71
71
|
"lodash.clonedeep": "^4.5.0",
|
|
72
72
|
"lodash.merge": "^4.6.2",
|
|
73
73
|
"tslib": "^2.4.0"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
|
-
"@aztec/kv-store": "0.87.
|
|
77
|
-
"@aztec/merkle-tree": "0.87.
|
|
78
|
-
"@aztec/noir-contracts.js": "0.87.
|
|
79
|
-
"@aztec/noir-test-contracts.js": "0.87.
|
|
76
|
+
"@aztec/kv-store": "0.87.5",
|
|
77
|
+
"@aztec/merkle-tree": "0.87.5",
|
|
78
|
+
"@aztec/noir-contracts.js": "0.87.5",
|
|
79
|
+
"@aztec/noir-test-contracts.js": "0.87.5",
|
|
80
80
|
"@jest/globals": "^29.5.0",
|
|
81
81
|
"@types/jest": "^29.5.0",
|
|
82
82
|
"@types/lodash.clonedeep": "^4.5.7",
|
package/src/client.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
export * from './private/index.js';
|
|
2
2
|
export { WASMSimulator } from './private/providers/acvm_wasm.js';
|
|
3
|
-
export { SimulationProviderRecorderWrapper } from './private/providers/circuit_recording/simulation_provider_recorder_wrapper.js';
|
|
4
|
-
export { MemoryCircuitRecorder } from './private/providers/circuit_recording/memory_circuit_recorder.js';
|
|
5
3
|
export { type SimulationProvider, type DecodedError } from './private/providers/simulation_provider.js';
|
|
6
4
|
export * from './common/index.js';
|
package/src/private/acvm/acvm.ts
CHANGED
|
@@ -17,8 +17,6 @@ import type { ORACLE_NAMES } from './oracle/index.js';
|
|
|
17
17
|
*/
|
|
18
18
|
export type ACIRCallback = Record<ORACLE_NAMES, (...args: ForeignCallInput[]) => Promise<ForeignCallOutput[]>>;
|
|
19
19
|
|
|
20
|
-
export type ACIRCallbackStats = { times: number[] };
|
|
21
|
-
|
|
22
20
|
/**
|
|
23
21
|
* The result of executing an ACIR.
|
|
24
22
|
*/
|
|
@@ -30,7 +28,6 @@ export interface ACIRExecutionResult {
|
|
|
30
28
|
*/
|
|
31
29
|
partialWitness: ACVMWitness;
|
|
32
30
|
returnWitness: ACVMWitness;
|
|
33
|
-
oracles?: Record<string, ACIRCallbackStats>;
|
|
34
31
|
}
|
|
35
32
|
|
|
36
33
|
/**
|
|
@@ -379,8 +379,8 @@ export class Oracle {
|
|
|
379
379
|
return [];
|
|
380
380
|
}
|
|
381
381
|
|
|
382
|
-
async
|
|
383
|
-
await this.typedOracle.
|
|
382
|
+
async syncPrivateState([pendingTaggedLogArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]> {
|
|
383
|
+
await this.typedOracle.syncPrivateState(Fr.fromString(pendingTaggedLogArrayBaseSlot));
|
|
384
384
|
return [];
|
|
385
385
|
}
|
|
386
386
|
|
|
@@ -214,8 +214,8 @@ export abstract class TypedOracle {
|
|
|
214
214
|
return Promise.reject(new OracleMethodNotAvailableError('incrementAppTaggingSecretIndexAsSender'));
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
|
|
218
|
-
return Promise.reject(new OracleMethodNotAvailableError('
|
|
217
|
+
syncPrivateState(_pendingTaggedLogArrayBaseSlot: Fr): Promise<void> {
|
|
218
|
+
return Promise.reject(new OracleMethodNotAvailableError('syncPrivateState'));
|
|
219
219
|
}
|
|
220
220
|
|
|
221
221
|
deliverNote(
|
|
@@ -97,7 +97,6 @@ export async function executePrivateFunction(
|
|
|
97
97
|
// Due to the recursive nature of execution, we have to subtract the time taken by the first level of
|
|
98
98
|
// child executions
|
|
99
99
|
duration - nestedExecutions.reduce((acc, nested) => acc + (nested.profileResult?.timings.witgen ?? 0), 0),
|
|
100
|
-
oracles: acirExecutionResult.oracles,
|
|
101
100
|
},
|
|
102
101
|
},
|
|
103
102
|
);
|
|
@@ -500,7 +500,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle {
|
|
|
500
500
|
await this.executionDataProvider.incrementAppTaggingSecretIndexAsSender(this.contractAddress, sender, recipient);
|
|
501
501
|
}
|
|
502
502
|
|
|
503
|
-
public override async
|
|
503
|
+
public override async syncPrivateState(pendingTaggedLogArrayBaseSlot: Fr) {
|
|
504
504
|
await this.executionDataProvider.syncTaggedLogs(this.contractAddress, pendingTaggedLogArrayBaseSlot, this.scopes);
|
|
505
505
|
|
|
506
506
|
await this.executionDataProvider.removeNullifiedNotes(this.contractAddress);
|