@aztec/simulator 0.23.0 → 0.26.1
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/deserialize.d.ts +5 -0
- package/dest/acvm/deserialize.d.ts.map +1 -1
- package/dest/acvm/deserialize.js +8 -1
- package/dest/acvm/oracle/oracle.d.ts +7 -6
- package/dest/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.js +28 -15
- package/dest/acvm/oracle/typed_oracle.d.ts +9 -11
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +11 -11
- package/dest/avm/avm_context.d.ts +4 -4
- package/dest/avm/avm_context.d.ts.map +1 -1
- package/dest/avm/avm_context.js +6 -6
- package/dest/avm/avm_execution_environment.d.ts +3 -2
- package/dest/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/avm/avm_execution_environment.js +6 -5
- package/dest/avm/avm_memory_types.d.ts +127 -37
- package/dest/avm/avm_memory_types.d.ts.map +1 -1
- package/dest/avm/avm_memory_types.js +98 -106
- package/dest/avm/avm_simulator.d.ts +6 -4
- package/dest/avm/avm_simulator.d.ts.map +1 -1
- package/dest/avm/avm_simulator.js +17 -19
- package/dest/avm/errors.d.ts +3 -1
- package/dest/avm/errors.d.ts.map +1 -1
- package/dest/avm/errors.js +9 -3
- package/dest/avm/fixtures/index.d.ts +21 -5
- package/dest/avm/fixtures/index.d.ts.map +1 -1
- package/dest/avm/fixtures/index.js +28 -9
- package/dest/avm/journal/host_storage.d.ts +1 -1
- package/dest/avm/journal/host_storage.d.ts.map +1 -1
- package/dest/avm/journal/host_storage.js +1 -1
- package/dest/avm/journal/journal.d.ts +78 -50
- package/dest/avm/journal/journal.d.ts.map +1 -1
- package/dest/avm/journal/journal.js +125 -169
- package/dest/avm/journal/nullifiers.d.ts +85 -0
- package/dest/avm/journal/nullifiers.d.ts.map +1 -0
- package/dest/avm/journal/nullifiers.js +147 -0
- package/dest/avm/journal/public_storage.d.ts +88 -0
- package/dest/avm/journal/public_storage.d.ts.map +1 -0
- package/dest/avm/journal/public_storage.js +135 -0
- package/dest/avm/journal/trace.d.ts +43 -0
- package/dest/avm/journal/trace.d.ts.map +1 -0
- package/dest/avm/journal/trace.js +204 -0
- package/dest/avm/journal/trace_types.d.ts +26 -0
- package/dest/avm/journal/trace_types.d.ts.map +1 -0
- package/dest/avm/journal/trace_types.js +6 -0
- package/dest/avm/opcodes/accrued_substate.d.ts +37 -4
- package/dest/avm/opcodes/accrued_substate.d.ts.map +1 -1
- package/dest/avm/opcodes/accrued_substate.js +109 -12
- package/dest/avm/opcodes/addressing_mode.d.ts +24 -0
- package/dest/avm/opcodes/addressing_mode.d.ts.map +1 -0
- package/dest/avm/opcodes/addressing_mode.js +62 -0
- package/dest/avm/opcodes/environment_getters.d.ts +14 -13
- package/dest/avm/opcodes/environment_getters.d.ts.map +1 -1
- package/dest/avm/opcodes/environment_getters.js +1 -1
- package/dest/avm/opcodes/external_calls.js +5 -5
- package/dest/avm/opcodes/hashing.d.ts +48 -0
- package/dest/avm/opcodes/hashing.d.ts.map +1 -0
- package/dest/avm/opcodes/hashing.js +127 -0
- package/dest/avm/opcodes/instruction.d.ts +4 -4
- package/dest/avm/opcodes/instruction.d.ts.map +1 -1
- package/dest/avm/opcodes/instruction.js +1 -1
- package/dest/avm/opcodes/memory.d.ts.map +1 -1
- package/dest/avm/opcodes/memory.js +5 -3
- package/dest/avm/opcodes/storage.d.ts.map +1 -1
- package/dest/avm/opcodes/storage.js +3 -3
- package/dest/avm/serialization/bytecode_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/bytecode_serialization.js +28 -22
- package/dest/avm/serialization/instruction_serialization.d.ts +21 -16
- package/dest/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/instruction_serialization.js +23 -18
- package/dest/avm/temporary_executor_migration.d.ts +25 -0
- package/dest/avm/temporary_executor_migration.d.ts.map +1 -0
- package/dest/avm/temporary_executor_migration.js +71 -0
- package/dest/client/client_execution_context.d.ts +13 -7
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +52 -27
- package/dest/client/db_oracle.d.ts +7 -0
- package/dest/client/db_oracle.d.ts.map +1 -1
- package/dest/client/db_oracle.js +1 -1
- package/dest/client/execution_note_cache.js +1 -1
- package/dest/client/execution_result.d.ts +4 -2
- package/dest/client/execution_result.d.ts.map +1 -1
- package/dest/client/execution_result.js +1 -1
- package/dest/client/private_execution.d.ts.map +1 -1
- package/dest/client/private_execution.js +4 -4
- package/dest/client/simulator.d.ts +11 -6
- package/dest/client/simulator.d.ts.map +1 -1
- package/dest/client/simulator.js +21 -12
- package/dest/client/unconstrained_execution.js +2 -2
- package/dest/client/view_data_oracle.d.ts +9 -2
- package/dest/client/view_data_oracle.d.ts.map +1 -1
- package/dest/client/view_data_oracle.js +13 -5
- package/dest/public/db.d.ts +17 -4
- package/dest/public/db.d.ts.map +1 -1
- package/dest/public/execution.d.ts +9 -4
- package/dest/public/execution.d.ts.map +1 -1
- package/dest/public/execution.js +18 -5
- package/dest/public/executor.d.ts +7 -0
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +40 -6
- package/dest/public/public_execution_context.d.ts +5 -4
- package/dest/public/public_execution_context.d.ts.map +1 -1
- package/dest/public/public_execution_context.js +24 -13
- package/dest/public/state_actions.d.ts +1 -1
- package/dest/public/state_actions.d.ts.map +1 -1
- package/dest/public/state_actions.js +6 -7
- package/dest/test/utils.js +4 -4
- package/dest/utils.d.ts +5 -20
- package/dest/utils.d.ts.map +1 -1
- package/dest/utils.js +4 -21
- package/package.json +9 -6
- package/src/acvm/acvm.ts +156 -0
- package/src/acvm/acvm_types.ts +11 -0
- package/src/acvm/deserialize.ts +44 -0
- package/src/acvm/index.ts +5 -0
- package/src/acvm/oracle/debug.ts +109 -0
- package/src/acvm/oracle/index.ts +17 -0
- package/src/acvm/oracle/oracle.ts +356 -0
- package/src/acvm/oracle/typed_oracle.ts +225 -0
- package/src/acvm/serialize.ts +75 -0
- package/src/avm/avm_context.ts +63 -0
- package/src/avm/avm_execution_environment.ts +98 -0
- package/src/avm/avm_machine_state.ts +93 -0
- package/src/avm/avm_memory_types.ts +324 -0
- package/src/avm/avm_message_call_result.ts +29 -0
- package/src/avm/avm_simulator.ts +87 -0
- package/src/avm/errors.ts +57 -0
- package/src/avm/fixtures/index.ts +115 -0
- package/src/avm/journal/host_storage.ts +14 -0
- package/src/avm/journal/index.ts +2 -0
- package/src/avm/journal/journal.ts +231 -0
- package/src/avm/journal/nullifiers.ts +170 -0
- package/src/avm/journal/public_storage.ts +149 -0
- package/src/avm/journal/trace.ts +223 -0
- package/src/avm/journal/trace_types.ts +79 -0
- package/src/avm/opcodes/.eslintrc.cjs +8 -0
- package/src/avm/opcodes/accrued_substate.ts +214 -0
- package/src/avm/opcodes/addressing_mode.ts +66 -0
- package/src/avm/opcodes/arithmetic.ts +79 -0
- package/src/avm/opcodes/bitwise.ts +129 -0
- package/src/avm/opcodes/comparators.ts +69 -0
- package/src/avm/opcodes/control_flow.ts +129 -0
- package/src/avm/opcodes/environment_getters.ts +201 -0
- package/src/avm/opcodes/external_calls.ts +122 -0
- package/src/avm/opcodes/hashing.ts +170 -0
- package/src/avm/opcodes/index.ts +10 -0
- package/src/avm/opcodes/instruction.ts +64 -0
- package/src/avm/opcodes/instruction_impl.ts +52 -0
- package/src/avm/opcodes/memory.ts +194 -0
- package/src/avm/opcodes/storage.ts +79 -0
- package/src/avm/serialization/buffer_cursor.ts +109 -0
- package/src/avm/serialization/bytecode_serialization.ts +179 -0
- package/src/avm/serialization/instruction_serialization.ts +170 -0
- package/src/avm/temporary_executor_migration.ts +109 -0
- package/src/client/client_execution_context.ts +502 -0
- package/src/client/db_oracle.ts +192 -0
- package/src/client/execution_note_cache.ts +90 -0
- package/src/client/execution_result.ts +89 -0
- package/src/client/index.ts +3 -0
- package/src/client/pick_notes.ts +125 -0
- package/src/client/private_execution.ts +79 -0
- package/src/client/simulator.ts +317 -0
- package/src/client/unconstrained_execution.ts +49 -0
- package/src/client/view_data_oracle.ts +253 -0
- package/src/common/errors.ts +61 -0
- package/src/common/index.ts +3 -0
- package/src/common/packed_args_cache.ts +55 -0
- package/src/common/side_effect_counter.ts +12 -0
- package/src/index.ts +3 -0
- package/src/public/db.ts +100 -0
- package/src/public/execution.ts +161 -0
- package/src/public/executor.ts +178 -0
- package/src/public/index.ts +9 -0
- package/src/public/public_execution_context.ts +241 -0
- package/src/public/state_actions.ts +100 -0
- package/src/test/utils.ts +38 -0
- package/src/utils.ts +18 -0
|
@@ -38,7 +38,7 @@ export declare class AcirSimulator {
|
|
|
38
38
|
* @param msgSender - The address calling the function. This can be replaced to simulate a call from another contract or a specific account.
|
|
39
39
|
* @returns The result of the execution.
|
|
40
40
|
*/
|
|
41
|
-
run(request: TxExecutionRequest, entryPointArtifact: FunctionArtifactWithDebugMetadata, contractAddress: AztecAddress, portalContractAddress: EthAddress, msgSender?:
|
|
41
|
+
run(request: TxExecutionRequest, entryPointArtifact: FunctionArtifactWithDebugMetadata, contractAddress: AztecAddress, portalContractAddress: EthAddress, msgSender?: AztecAddress): Promise<ExecutionResult>;
|
|
42
42
|
/**
|
|
43
43
|
* Runs an unconstrained function.
|
|
44
44
|
* @param request - The transaction request.
|
|
@@ -52,10 +52,11 @@ export declare class AcirSimulator {
|
|
|
52
52
|
* @param contractAddress - The address of the contract.
|
|
53
53
|
* @param nonce - The nonce of the note hash.
|
|
54
54
|
* @param storageSlot - The storage slot.
|
|
55
|
+
* @param noteTypeId - The note type identifier.
|
|
55
56
|
* @param note - The note.
|
|
56
57
|
* @returns The nullifier.
|
|
57
58
|
*/
|
|
58
|
-
computeNoteHashAndNullifier(contractAddress: AztecAddress, nonce: Fr, storageSlot: Fr, note: Note): Promise<{
|
|
59
|
+
computeNoteHashAndNullifier(contractAddress: AztecAddress, nonce: Fr, storageSlot: Fr, noteTypeId: Fr, note: Note): Promise<{
|
|
59
60
|
innerNoteHash: Fr;
|
|
60
61
|
siloedNoteHash: Fr;
|
|
61
62
|
uniqueSiloedNoteHash: Fr;
|
|
@@ -65,36 +66,40 @@ export declare class AcirSimulator {
|
|
|
65
66
|
* Computes the inner note hash of a note, which contains storage slot and the custom note hash.
|
|
66
67
|
* @param contractAddress - The address of the contract.
|
|
67
68
|
* @param storageSlot - The storage slot.
|
|
69
|
+
* @param noteTypeId - The note type identifier.
|
|
68
70
|
* @param note - The note.
|
|
69
71
|
* @returns The note hash.
|
|
70
72
|
*/
|
|
71
|
-
computeInnerNoteHash(contractAddress: AztecAddress, storageSlot: Fr, note: Note): Promise<Fr>;
|
|
73
|
+
computeInnerNoteHash(contractAddress: AztecAddress, storageSlot: Fr, noteTypeId: Fr, note: Note): Promise<Fr>;
|
|
72
74
|
/**
|
|
73
75
|
* Computes the unique note hash of a note.
|
|
74
76
|
* @param contractAddress - The address of the contract.
|
|
75
77
|
* @param nonce - The nonce of the note hash.
|
|
76
78
|
* @param storageSlot - The storage slot.
|
|
79
|
+
* @param noteTypeId - The note type identifier.
|
|
77
80
|
* @param note - The note.
|
|
78
81
|
* @returns The note hash.
|
|
79
82
|
*/
|
|
80
|
-
computeUniqueSiloedNoteHash(contractAddress: AztecAddress, nonce: Fr, storageSlot: Fr, note: Note): Promise<Fr>;
|
|
83
|
+
computeUniqueSiloedNoteHash(contractAddress: AztecAddress, nonce: Fr, storageSlot: Fr, noteTypeId: Fr, note: Note): Promise<Fr>;
|
|
81
84
|
/**
|
|
82
85
|
* Computes the siloed note hash of a note.
|
|
83
86
|
* @param contractAddress - The address of the contract.
|
|
84
87
|
* @param nonce - The nonce of the note hash.
|
|
85
88
|
* @param storageSlot - The storage slot.
|
|
89
|
+
* @param noteTypeId - The note type identifier.
|
|
86
90
|
* @param note - The note.
|
|
87
91
|
* @returns The note hash.
|
|
88
92
|
*/
|
|
89
|
-
computeSiloedNoteHash(contractAddress: AztecAddress, nonce: Fr, storageSlot: Fr, note: Note): Promise<Fr>;
|
|
93
|
+
computeSiloedNoteHash(contractAddress: AztecAddress, nonce: Fr, storageSlot: Fr, noteTypeId: Fr, note: Note): Promise<Fr>;
|
|
90
94
|
/**
|
|
91
95
|
* Computes the inner note hash of a note, which contains storage slot and the custom note hash.
|
|
92
96
|
* @param contractAddress - The address of the contract.
|
|
93
97
|
* @param nonce - The nonce of the unique note hash.
|
|
94
98
|
* @param storageSlot - The storage slot.
|
|
99
|
+
* @param noteTypeId - The note type identifier.
|
|
95
100
|
* @param note - The note.
|
|
96
101
|
* @returns The note hash.
|
|
97
102
|
*/
|
|
98
|
-
computeInnerNullifier(contractAddress: AztecAddress, nonce: Fr, storageSlot: Fr, note: Note): Promise<Fr>;
|
|
103
|
+
computeInnerNullifier(contractAddress: AztecAddress, nonce: Fr, storageSlot: Fr, noteTypeId: Fr, note: Note): Promise<Fr>;
|
|
99
104
|
}
|
|
100
105
|
//# 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,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGzF,OAAO,EAEL,iCAAiC,EAIlC,MAAM,uBAAuB,CAAC;AAC/B,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;AAG9C,OAAO,EAAE,0BAA0B,EAAwB,MAAM,oBAAoB,CAAC;AAKtF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD;;GAEG;AACH,qBAAa,aAAa;IAIZ,OAAO,CAAC,EAAE;IAAY,OAAO,CAAC,IAAI;IAH9C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAsC;IAC3D,OAAO,CAAC,GAAG,CAAc;gBAEL,EAAE,EAAE,QAAQ,EAAU,IAAI,EAAE,SAAS;IAIzD;;;;;;;;;;;;OAYG;WACW,SAAS,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAO9D;;;;;;;;OAQG;IACU,GAAG,CACd,OAAO,EAAE,kBAAkB,EAC3B,kBAAkB,EAAE,iCAAiC,EACrD,eAAe,EAAE,YAAY,EAC7B,qBAAqB,EAAE,UAAU,EACjC,SAAS,
|
|
1
|
+
{"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../../src/client/simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGzF,OAAO,EAEL,iCAAiC,EAIlC,MAAM,uBAAuB,CAAC;AAC/B,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;AAG9C,OAAO,EAAE,0BAA0B,EAAwB,MAAM,oBAAoB,CAAC;AAKtF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD;;GAEG;AACH,qBAAa,aAAa;IAIZ,OAAO,CAAC,EAAE;IAAY,OAAO,CAAC,IAAI;IAH9C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAsC;IAC3D,OAAO,CAAC,GAAG,CAAc;gBAEL,EAAE,EAAE,QAAQ,EAAU,IAAI,EAAE,SAAS;IAIzD;;;;;;;;;;;;OAYG;WACW,SAAS,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAO9D;;;;;;;;OAQG;IACU,GAAG,CACd,OAAO,EAAE,kBAAkB,EAC3B,kBAAkB,EAAE,iCAAiC,EACrD,eAAe,EAAE,YAAY,EAC7B,qBAAqB,EAAE,UAAU,EACjC,SAAS,eAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC;IAqD3B;;;;;;OAMG;IACU,gBAAgB,CAC3B,OAAO,EAAE,YAAY,EACrB,kBAAkB,EAAE,iCAAiC,EACrD,eAAe,EAAE,YAAY;IAqB/B;;;;;;;;OAQG;IACU,2BAA2B,CACtC,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI;;;;;;IAiDZ;;;;;;;OAOG;IACU,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI;IAW5G;;;;;;;;OAQG;IACU,2BAA2B,CACtC,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI;IAYZ;;;;;;;;OAQG;IACU,qBAAqB,CAChC,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI;IAYZ;;;;;;;;OAQG;IACU,qBAAqB,CAChC,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI;CAWb"}
|
package/dest/client/simulator.js
CHANGED
|
@@ -60,7 +60,8 @@ export class AcirSimulator {
|
|
|
60
60
|
const header = await this.db.getHeader();
|
|
61
61
|
const callContext = new CallContext(msgSender, contractAddress, portalContractAddress, FunctionSelector.fromNameAndParameters(entryPointArtifact.name, entryPointArtifact.parameters), false, false, request.functionData.isConstructor,
|
|
62
62
|
// TODO: when contract deployment is done in-app, we should only reserve one counter for the tx hash
|
|
63
|
-
2
|
|
63
|
+
// 2 counters are reserved for tx hash and contract deployment nullifier
|
|
64
|
+
request.txContext.isContractDeploymentTx ? 2 : 1);
|
|
64
65
|
const context = new ClientExecutionContext(contractAddress, request.argsHash, request.txContext, callContext, header, request.authWitnesses, PackedArgsCache.create(request.packedArguments), new ExecutionNoteCache(), this.db, curve, this.node);
|
|
65
66
|
try {
|
|
66
67
|
const executionResult = await executePrivateFunction(context, entryPointArtifact, contractAddress, request.functionData);
|
|
@@ -94,14 +95,18 @@ export class AcirSimulator {
|
|
|
94
95
|
* @param contractAddress - The address of the contract.
|
|
95
96
|
* @param nonce - The nonce of the note hash.
|
|
96
97
|
* @param storageSlot - The storage slot.
|
|
98
|
+
* @param noteTypeId - The note type identifier.
|
|
97
99
|
* @param note - The note.
|
|
98
100
|
* @returns The nullifier.
|
|
99
101
|
*/
|
|
100
|
-
async computeNoteHashAndNullifier(contractAddress, nonce, storageSlot, note) {
|
|
102
|
+
async computeNoteHashAndNullifier(contractAddress, nonce, storageSlot, noteTypeId, note) {
|
|
101
103
|
const artifact = await this.db.getFunctionArtifactByName(contractAddress, 'compute_note_hash_and_nullifier');
|
|
102
104
|
if (!artifact) {
|
|
103
105
|
throw new Error(`Mandatory implementation of "compute_note_hash_and_nullifier" missing in noir contract ${contractAddress.toString()}.`);
|
|
104
106
|
}
|
|
107
|
+
if (artifact.parameters.length != 5) {
|
|
108
|
+
throw new Error(`Expected 5 parameters in mandatory implementation of "compute_note_hash_and_nullifier", but found ${artifact.parameters.length} in noir contract ${contractAddress.toString()}.`);
|
|
109
|
+
}
|
|
105
110
|
const maxNoteFields = artifact.parameters[artifact.parameters.length - 1].type.length;
|
|
106
111
|
if (maxNoteFields < note.items.length) {
|
|
107
112
|
throw new Error(`The note being processed has ${note.items.length} fields, while "compute_note_hash_and_nullifier" can only handle a maximum of ${maxNoteFields} fields. Please consider increasing the allowed field size to accommodate all notes generated from the contract.`);
|
|
@@ -110,7 +115,7 @@ export class AcirSimulator {
|
|
|
110
115
|
const execRequest = {
|
|
111
116
|
to: contractAddress,
|
|
112
117
|
functionData: FunctionData.empty(),
|
|
113
|
-
args: encodeArguments(artifact, [contractAddress, nonce, storageSlot, extendedNoteItems]),
|
|
118
|
+
args: encodeArguments(artifact, [contractAddress, nonce, storageSlot, noteTypeId, extendedNoteItems]),
|
|
114
119
|
};
|
|
115
120
|
const [innerNoteHash, siloedNoteHash, uniqueSiloedNoteHash, innerNullifier] = (await this.runUnconstrained(execRequest, artifact, contractAddress));
|
|
116
121
|
return {
|
|
@@ -124,11 +129,12 @@ export class AcirSimulator {
|
|
|
124
129
|
* Computes the inner note hash of a note, which contains storage slot and the custom note hash.
|
|
125
130
|
* @param contractAddress - The address of the contract.
|
|
126
131
|
* @param storageSlot - The storage slot.
|
|
132
|
+
* @param noteTypeId - The note type identifier.
|
|
127
133
|
* @param note - The note.
|
|
128
134
|
* @returns The note hash.
|
|
129
135
|
*/
|
|
130
|
-
async computeInnerNoteHash(contractAddress, storageSlot, note) {
|
|
131
|
-
const { innerNoteHash } = await this.computeNoteHashAndNullifier(contractAddress, Fr.ZERO, storageSlot, note);
|
|
136
|
+
async computeInnerNoteHash(contractAddress, storageSlot, noteTypeId, note) {
|
|
137
|
+
const { innerNoteHash } = await this.computeNoteHashAndNullifier(contractAddress, Fr.ZERO, storageSlot, noteTypeId, note);
|
|
132
138
|
return innerNoteHash;
|
|
133
139
|
}
|
|
134
140
|
/**
|
|
@@ -136,11 +142,12 @@ export class AcirSimulator {
|
|
|
136
142
|
* @param contractAddress - The address of the contract.
|
|
137
143
|
* @param nonce - The nonce of the note hash.
|
|
138
144
|
* @param storageSlot - The storage slot.
|
|
145
|
+
* @param noteTypeId - The note type identifier.
|
|
139
146
|
* @param note - The note.
|
|
140
147
|
* @returns The note hash.
|
|
141
148
|
*/
|
|
142
|
-
async computeUniqueSiloedNoteHash(contractAddress, nonce, storageSlot, note) {
|
|
143
|
-
const { uniqueSiloedNoteHash } = await this.computeNoteHashAndNullifier(contractAddress, nonce, storageSlot, note);
|
|
149
|
+
async computeUniqueSiloedNoteHash(contractAddress, nonce, storageSlot, noteTypeId, note) {
|
|
150
|
+
const { uniqueSiloedNoteHash } = await this.computeNoteHashAndNullifier(contractAddress, nonce, storageSlot, noteTypeId, note);
|
|
144
151
|
return uniqueSiloedNoteHash;
|
|
145
152
|
}
|
|
146
153
|
/**
|
|
@@ -148,11 +155,12 @@ export class AcirSimulator {
|
|
|
148
155
|
* @param contractAddress - The address of the contract.
|
|
149
156
|
* @param nonce - The nonce of the note hash.
|
|
150
157
|
* @param storageSlot - The storage slot.
|
|
158
|
+
* @param noteTypeId - The note type identifier.
|
|
151
159
|
* @param note - The note.
|
|
152
160
|
* @returns The note hash.
|
|
153
161
|
*/
|
|
154
|
-
async computeSiloedNoteHash(contractAddress, nonce, storageSlot, note) {
|
|
155
|
-
const { siloedNoteHash } = await this.computeNoteHashAndNullifier(contractAddress, nonce, storageSlot, note);
|
|
162
|
+
async computeSiloedNoteHash(contractAddress, nonce, storageSlot, noteTypeId, note) {
|
|
163
|
+
const { siloedNoteHash } = await this.computeNoteHashAndNullifier(contractAddress, nonce, storageSlot, noteTypeId, note);
|
|
156
164
|
return siloedNoteHash;
|
|
157
165
|
}
|
|
158
166
|
/**
|
|
@@ -160,12 +168,13 @@ export class AcirSimulator {
|
|
|
160
168
|
* @param contractAddress - The address of the contract.
|
|
161
169
|
* @param nonce - The nonce of the unique note hash.
|
|
162
170
|
* @param storageSlot - The storage slot.
|
|
171
|
+
* @param noteTypeId - The note type identifier.
|
|
163
172
|
* @param note - The note.
|
|
164
173
|
* @returns The note hash.
|
|
165
174
|
*/
|
|
166
|
-
async computeInnerNullifier(contractAddress, nonce, storageSlot, note) {
|
|
167
|
-
const { innerNullifier } = await this.computeNoteHashAndNullifier(contractAddress, nonce, storageSlot, note);
|
|
175
|
+
async computeInnerNullifier(contractAddress, nonce, storageSlot, noteTypeId, note) {
|
|
176
|
+
const { innerNullifier } = await this.computeNoteHashAndNullifier(contractAddress, nonce, storageSlot, noteTypeId, note);
|
|
168
177
|
return innerNullifier;
|
|
169
178
|
}
|
|
170
179
|
}
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltdWxhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9zaW11bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUdMLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osZUFBZSxHQUNoQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUvRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxFQUFlLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkUsT0FBTyxFQUE4QixvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQUl4QixZQUFvQixFQUFZLEVBQVUsSUFBZTtRQUFyQyxPQUFFLEdBQUYsRUFBRSxDQUFVO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBVztRQUN2RCxJQUFJLENBQUMsR0FBRyxH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
|
|
@@ -3,7 +3,7 @@ import { createDebugLogger } from '@aztec/foundation/log';
|
|
|
3
3
|
import { extractReturnWitness } from '../acvm/deserialize.js';
|
|
4
4
|
import { Oracle, acvm, extractCallStack, toACVMWitness } from '../acvm/index.js';
|
|
5
5
|
import { ExecutionError } from '../common/errors.js';
|
|
6
|
-
import { AcirSimulator } from '
|
|
6
|
+
import { AcirSimulator } from './simulator.js';
|
|
7
7
|
// docs:start:execute_unconstrained_function
|
|
8
8
|
/**
|
|
9
9
|
* Execute an unconstrained function and return the decoded values.
|
|
@@ -22,4 +22,4 @@ export async function executeUnconstrainedFunction(oracle, artifact, contractAdd
|
|
|
22
22
|
return decodeReturnValues(artifact, extractReturnWitness(acir, partialWitness));
|
|
23
23
|
}
|
|
24
24
|
// docs:end:execute_unconstrained_function
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5jb25zdHJhaW5lZF9leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L3VuY29uc3RyYWluZWRfZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBb0Qsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUc3RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRy9DLDRDQUE0QztBQUM1Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsNEJBQTRCLENBQ2hELE1BQXNCLEVBQ3RCLFFBQTJDLEVBQzNDLGVBQTZCLEVBQzdCLFlBQTBCLEVBQzFCLElBQVUsRUFDVixHQUFHLEdBQUcsaUJBQWlCLENBQUMseUNBQXlDLENBQUM7SUFFbEUsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQy9DLEdBQUcsQ0FBQyxvQ0FBb0MsZUFBZSxJQUFJLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUUvRSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEQsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QyxNQUFNLEVBQUUsY0FBYyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQ25DLE1BQU0sYUFBYSxDQUFDLFNBQVMsRUFBRSxFQUMvQixJQUFJLEVBQ0osY0FBYyxFQUNkLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUNuQixDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQVUsRUFBRSxFQUFFO1FBQ3JCLE1BQU0sSUFBSSxjQUFjLENBQ3RCLEdBQUcsQ0FBQyxPQUFPLEVBQ1g7WUFDRSxlQUFlO1lBQ2YsZ0JBQWdCO1NBQ2pCLEVBQ0QsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFDckMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQ2YsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7QUFDbEYsQ0FBQztBQUNELDBDQUEwQyJ9
|
|
@@ -2,6 +2,7 @@ import { AuthWitness, AztecNode, CompleteAddress, MerkleTreeId, NoteStatus, Null
|
|
|
2
2
|
import { Header } from '@aztec/circuits.js';
|
|
3
3
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
|
+
import { ContractInstance } from '@aztec/types/contracts';
|
|
5
6
|
import { NoteData, TypedOracle } from '../acvm/index.js';
|
|
6
7
|
import { DBOracle } from './db_oracle.js';
|
|
7
8
|
/**
|
|
@@ -75,6 +76,12 @@ export declare class ViewDataOracle extends TypedOracle {
|
|
|
75
76
|
* @returns A complete address associated with the input address.
|
|
76
77
|
*/
|
|
77
78
|
getCompleteAddress(address: AztecAddress): Promise<CompleteAddress>;
|
|
79
|
+
/**
|
|
80
|
+
* Returns a contract instance associated with an address or throws if not found.
|
|
81
|
+
* @param address - Address.
|
|
82
|
+
* @returns A contract instance.
|
|
83
|
+
*/
|
|
84
|
+
getContractInstance(address: AztecAddress): Promise<ContractInstance>;
|
|
78
85
|
/**
|
|
79
86
|
* Returns an auth witness for the given message hash. Checks on the list of transient witnesses
|
|
80
87
|
* for this transaction first, and falls back to the local database if not found.
|
|
@@ -118,10 +125,10 @@ export declare class ViewDataOracle extends TypedOracle {
|
|
|
118
125
|
checkNullifierExists(innerNullifier: Fr): Promise<boolean>;
|
|
119
126
|
/**
|
|
120
127
|
* Fetches the a message from the db, given its key.
|
|
121
|
-
* @param
|
|
128
|
+
* @param entryKey - A buffer representing the entry key.
|
|
122
129
|
* @returns The l1 to l2 message data
|
|
123
130
|
*/
|
|
124
|
-
|
|
131
|
+
getL1ToL2MembershipWitness(entryKey: Fr): Promise<import("../acvm/index.js").MessageLoadOracleInputs<16>>;
|
|
125
132
|
/**
|
|
126
133
|
* Retrieves the portal contract address associated with the given contract address.
|
|
127
134
|
* Throws an error if the input contract address is not found or invalid.
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"view_data_oracle.d.ts","sourceRoot":"","sources":["../../src/client/view_data_oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MerkleTreeId, } from '@aztec/circuit-types';
|
|
2
|
-
import { siloNullifier } from '@aztec/circuits.js/
|
|
2
|
+
import { siloNullifier } from '@aztec/circuits.js/hash';
|
|
3
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
4
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
5
5
|
import { TypedOracle } from '../acvm/index.js';
|
|
@@ -101,6 +101,14 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
101
101
|
getCompleteAddress(address) {
|
|
102
102
|
return this.db.getCompleteAddress(address);
|
|
103
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Returns a contract instance associated with an address or throws if not found.
|
|
106
|
+
* @param address - Address.
|
|
107
|
+
* @returns A contract instance.
|
|
108
|
+
*/
|
|
109
|
+
getContractInstance(address) {
|
|
110
|
+
return this.db.getContractInstance(address);
|
|
111
|
+
}
|
|
104
112
|
/**
|
|
105
113
|
* Returns an auth witness for the given message hash. Checks on the list of transient witnesses
|
|
106
114
|
* for this transaction first, and falls back to the local database if not found.
|
|
@@ -162,11 +170,11 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
162
170
|
}
|
|
163
171
|
/**
|
|
164
172
|
* Fetches the a message from the db, given its key.
|
|
165
|
-
* @param
|
|
173
|
+
* @param entryKey - A buffer representing the entry key.
|
|
166
174
|
* @returns The l1 to l2 message data
|
|
167
175
|
*/
|
|
168
|
-
async
|
|
169
|
-
return await this.db.
|
|
176
|
+
async getL1ToL2MembershipWitness(entryKey) {
|
|
177
|
+
return await this.db.getL1ToL2MembershipWitness(entryKey);
|
|
170
178
|
}
|
|
171
179
|
/**
|
|
172
180
|
* Retrieves the portal contract address associated with the given contract address.
|
|
@@ -193,4 +201,4 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
193
201
|
return values;
|
|
194
202
|
}
|
|
195
203
|
}
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld19kYXRhX29yYWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvdmlld19kYXRhX29yYWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsWUFBWSxHQUliLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQVksV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDOzs7R0FHRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBVztJQUM3QyxZQUNxQixlQUE2QjtJQUNoRCx5RUFBeUU7SUFDdEQsYUFBNEIsRUFDNUIsRUFBWSxFQUNaLFNBQW9CLEVBQzdCLE1BQU0saUJBQWlCLENBQUMscUNBQXFDLENBQUM7UUFFeEUsS0FBSyxFQUFFLENBQUM7UUFQVyxvQkFBZSxHQUFmLGVBQWUsQ0FBYztRQUU3QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixPQUFFLEdBQUYsRUFBRSxDQUFVO1FBQ1osY0FBUyxHQUFULFNBQVMsQ0FBVztRQUM3QixRQUFHLEdBQUgsR0FBRyxDQUEyRDtJQUcxRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksbUJBQW1CLENBQUMsT0FBcUI7UUFDOUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxXQUFtQixFQUFFLE1BQW9CLEVBQUUsU0FBYTtRQUN4RixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLFNBQVMsaUJBQWlCLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkYsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3RSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxXQUFXLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksY0FBYyxDQUFDLFdBQW1CLEVBQUUsTUFBb0IsRUFBRSxTQUFhO1FBQzVFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxLQUFLLENBQUMsNkJBQTZCLENBQ3hDLFdBQW1CLEVBQ25CLFNBQWE7UUFFYixPQUFPLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksS0FBSyxDQUFDLGdDQUFnQyxDQUMzQyxXQUFtQixFQUNuQixTQUFhO1FBRWIsT0FBTyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsZ0NBQWdDLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxXQUFtQixFQUFFLFFBQVk7UUFDckUsT0FBTyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFtQjtRQUN4QyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxrQkFBa0IsQ0FBQyxPQUFxQjtRQUM3QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxtQkFBbUIsQ0FBQyxPQUFxQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksY0FBYyxDQUFDLFdBQWU7UUFDbkMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUNoSCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FvQkc7SUFDSSxLQUFLLENBQUMsUUFBUSxDQUNuQixXQUFlLEVBQ2YsVUFBa0IsRUFDbEIsUUFBa0IsRUFDbEIsWUFBa0IsRUFDbEIsaUJBQTJCLEVBQzNCLE1BQWdCLEVBQ2hCLFNBQW1CLEVBQ25CLEtBQWEsRUFDYixNQUFjLEVBQ2QsTUFBa0I7UUFFbEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRixPQUFPLFNBQVMsQ0FBVyxPQUFPLEVBQUU7WUFDbEMsT0FBTyxFQUFFLFFBQVE7aUJBQ2QsS0FBSyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUM7aUJBQ3BCLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNGLEtBQUssRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqRSxLQUFLO1lBQ0wsTUFBTTtTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLG9CQUFvQixDQUFDLGNBQWtCO1FBQ2xELE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGNBQWUsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCxPQUFPLEtBQUssS0FBSyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsUUFBWTtRQUNsRCxPQUFPLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSx3QkFBd0IsQ0FBQyxlQUE2QjtRQUMzRCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsV0FBVyxDQUFDLGdCQUFvQixFQUFFLGdCQUF3QjtRQUNyRSxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDM0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBRXpGLElBQUksQ0FBQyxHQUFHLENBQUMsNkJBQTZCLFdBQVcsQ0FBQyxRQUFRLEVBQUUsVUFBVSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQy9FLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiJ9
|
package/dest/public/db.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { NullifierMembershipWitness } from '@aztec/circuit-types';
|
|
2
3
|
import { EthAddress, FunctionSelector, L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/circuits.js';
|
|
3
4
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
5
|
import { Fr } from '@aztec/foundation/fields';
|
|
@@ -58,20 +59,32 @@ export interface PublicContractsDB {
|
|
|
58
59
|
*/
|
|
59
60
|
getPortalContractAddress(address: AztecAddress): Promise<EthAddress | undefined>;
|
|
60
61
|
}
|
|
61
|
-
/** Database interface for providing access to commitment tree
|
|
62
|
+
/** Database interface for providing access to commitment tree, l1 to l2 message tree, and nullifier tree. */
|
|
62
63
|
export interface CommitmentsDB {
|
|
63
64
|
/**
|
|
64
|
-
* Gets a confirmed L1 to L2 message for the given
|
|
65
|
+
* Gets a confirmed L1 to L2 message for the given entry key.
|
|
65
66
|
* TODO(Maddiaa): Can be combined with aztec-node method that does the same thing.
|
|
66
|
-
* @param
|
|
67
|
+
* @param entryKey - The entry key.
|
|
67
68
|
* @returns - The l1 to l2 message object
|
|
68
69
|
*/
|
|
69
|
-
|
|
70
|
+
getL1ToL2MembershipWitness(entryKey: Fr): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
|
|
70
71
|
/**
|
|
71
72
|
* Gets the index of a commitment in the note hash tree.
|
|
72
73
|
* @param commitment - The commitment.
|
|
73
74
|
* @returns - The index of the commitment. Undefined if it does not exist in the tree.
|
|
74
75
|
*/
|
|
75
76
|
getCommitmentIndex(commitment: Fr): Promise<bigint | undefined>;
|
|
77
|
+
/**
|
|
78
|
+
* Gets the index of a nullifier in the nullifier tree.
|
|
79
|
+
* @param nullifier - The nullifier.
|
|
80
|
+
* @returns - The index of the nullifier. Undefined if it does not exist in the tree.
|
|
81
|
+
*/
|
|
82
|
+
getNullifierIndex(nullifier: Fr): Promise<bigint | undefined>;
|
|
83
|
+
/**
|
|
84
|
+
* Returns a nullifier membership witness for the given nullifier or undefined if not found.
|
|
85
|
+
* REFACTOR: Same as getL1ToL2MembershipWitness, can be combined with aztec-node method that does almost the same thing.
|
|
86
|
+
* @param nullifier - Nullifier we're looking for.
|
|
87
|
+
*/
|
|
88
|
+
getNullifierMembershipWitnessAtLatestBlock(nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
|
|
76
89
|
}
|
|
77
90
|
//# sourceMappingURL=db.d.ts.map
|
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,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;AAE9C,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;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;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;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAE/F;;;;OAIG;IACH,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;CAClF;AAED,
|
|
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;AAE9C,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;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;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;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAE/F;;;;OAIG;IACH,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;CAClF;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,5 +1,5 @@
|
|
|
1
1
|
import { FunctionL2Logs } from '@aztec/circuit-types';
|
|
2
|
-
import { AztecAddress, CallContext, ContractStorageRead, ContractStorageUpdateRequest, Fr, FunctionData, PublicDataRead, PublicDataUpdateRequest, SideEffect, SideEffectLinkedToNoteHash } from '@aztec/circuits.js';
|
|
2
|
+
import { AztecAddress, CallContext, ContractStorageRead, ContractStorageUpdateRequest, Fr, FunctionData, L2ToL1Message, PublicDataRead, PublicDataUpdateRequest, SideEffect, SideEffectLinkedToNoteHash } from '@aztec/circuits.js';
|
|
3
3
|
/**
|
|
4
4
|
* The public function execution result.
|
|
5
5
|
*/
|
|
@@ -8,10 +8,10 @@ export interface PublicExecutionResult {
|
|
|
8
8
|
execution: PublicExecution;
|
|
9
9
|
/** The return values of the function. */
|
|
10
10
|
returnValues: Fr[];
|
|
11
|
-
/** The new
|
|
12
|
-
|
|
11
|
+
/** The new note hashes to be inserted into the note hashes tree. */
|
|
12
|
+
newNoteHashes: SideEffect[];
|
|
13
13
|
/** The new l2 to l1 messages generated in this call. */
|
|
14
|
-
newL2ToL1Messages:
|
|
14
|
+
newL2ToL1Messages: L2ToL1Message[];
|
|
15
15
|
/** The new nullifiers to be inserted into the nullifier tree. */
|
|
16
16
|
newNullifiers: SideEffectLinkedToNoteHash[];
|
|
17
17
|
/** The contract storage reads performed by the function. */
|
|
@@ -59,4 +59,9 @@ export declare function collectPublicDataReads(execResult: PublicExecutionResult
|
|
|
59
59
|
* @returns All public data reads (in execution order).
|
|
60
60
|
*/
|
|
61
61
|
export declare function collectPublicDataUpdateRequests(execResult: PublicExecutionResult): PublicDataUpdateRequest[];
|
|
62
|
+
/**
|
|
63
|
+
* Checks whether the child execution result is valid for a static call (no state modifications).
|
|
64
|
+
* @param executionResult - The execution result of a public function
|
|
65
|
+
*/
|
|
66
|
+
export declare function checkValidStaticCall(newNoteHashes: SideEffect[], newNullifiers: SideEffectLinkedToNoteHash[], contractStorageUpdateRequests: ContractStorageUpdateRequest[], newL2ToL1Messages: L2ToL1Message[], unencryptedLogs: FunctionL2Logs): void;
|
|
62
67
|
//# sourceMappingURL=execution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/public/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,4BAA4B,EAC5B,EAAE,EACF,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,UAAU,EACV,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAG5B;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gDAAgD;IAChD,SAAS,EAAE,eAAe,CAAC;IAC3B,yCAAyC;IACzC,YAAY,EAAE,EAAE,EAAE,CAAC;IACnB,oEAAoE;IACpE,
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/public/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,4BAA4B,EAC5B,EAAE,EACF,YAAY,EACZ,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,UAAU,EACV,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAG5B;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gDAAgD;IAChD,SAAS,EAAE,eAAe,CAAC;IAC3B,yCAAyC;IACzC,YAAY,EAAE,EAAE,EAAE,CAAC;IACnB,oEAAoE;IACpE,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,wDAAwD;IACxD,iBAAiB,EAAE,aAAa,EAAE,CAAC;IACnC,iEAAiE;IACjE,aAAa,EAAE,0BAA0B,EAAE,CAAC;IAC5C,4DAA4D;IAC5D,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,sEAAsE;IACtE,6BAA6B,EAAE,4BAA4B,EAAE,CAAC;IAC9D,mCAAmC;IACnC,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACzB;;;OAGG;IACH,eAAe,EAAE,cAAc,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,eAAe,EAAE,YAAY,CAAC;IAC9B,6CAA6C;IAC7C,YAAY,EAAE,YAAY,CAAC;IAC3B,8BAA8B;IAC9B,IAAI,EAAE,EAAE,EAAE,CAAC;IACX,2BAA2B;IAC3B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,eAAe,GAAG,qBAAqB,GAC7C,KAAK,IAAI,qBAAqB,CAEhC;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,qBAAqB,GAAG,cAAc,EAAE,CAY1F;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,qBAAqB,GAAG,uBAAuB,EAAE,CAY5G;AAiCD;;;GAGG;AAEH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,UAAU,EAAE,EAC3B,aAAa,EAAE,0BAA0B,EAAE,EAC3C,6BAA6B,EAAE,4BAA4B,EAAE,EAC7D,iBAAiB,EAAE,aAAa,EAAE,EAClC,eAAe,EAAE,cAAc,QAWhC"}
|
package/dest/public/execution.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PublicDataRead, PublicDataUpdateRequest, } from '@aztec/circuits.js';
|
|
2
|
-
import { computePublicDataTreeLeafSlot, computePublicDataTreeValue } from '@aztec/circuits.js/
|
|
2
|
+
import { computePublicDataTreeLeafSlot, computePublicDataTreeValue } from '@aztec/circuits.js/hash';
|
|
3
3
|
/**
|
|
4
4
|
* Returns if the input is a public execution result and not just a public execution.
|
|
5
5
|
* @param input - Public execution or public execution result.
|
|
@@ -16,7 +16,7 @@ export function isPublicExecutionResult(input) {
|
|
|
16
16
|
*/
|
|
17
17
|
export function collectPublicDataReads(execResult) {
|
|
18
18
|
// HACK(#1622): part of temporary hack - may be able to remove this function after public state ordering is fixed
|
|
19
|
-
const contractAddress = execResult.execution.
|
|
19
|
+
const contractAddress = execResult.execution.callContext.storageContractAddress;
|
|
20
20
|
const thisExecPublicDataReads = execResult.contractStorageReads.map(read => contractStorageReadToPublicDataRead(read, contractAddress));
|
|
21
21
|
const unsorted = [
|
|
22
22
|
...thisExecPublicDataReads,
|
|
@@ -32,7 +32,7 @@ export function collectPublicDataReads(execResult) {
|
|
|
32
32
|
*/
|
|
33
33
|
export function collectPublicDataUpdateRequests(execResult) {
|
|
34
34
|
// HACK(#1622): part of temporary hack - may be able to remove this function after public state ordering is fixed
|
|
35
|
-
const contractAddress = execResult.execution.
|
|
35
|
+
const contractAddress = execResult.execution.callContext.storageContractAddress;
|
|
36
36
|
const thisExecPublicDataUpdateRequests = execResult.contractStorageUpdateRequests.map(update => contractStorageUpdateRequestToPublicDataUpdateRequest(update, contractAddress));
|
|
37
37
|
const unsorted = [
|
|
38
38
|
...thisExecPublicDataUpdateRequests,
|
|
@@ -56,6 +56,19 @@ function contractStorageReadToPublicDataRead(read, contractAddress) {
|
|
|
56
56
|
* @returns The public data update request.
|
|
57
57
|
*/
|
|
58
58
|
function contractStorageUpdateRequestToPublicDataUpdateRequest(update, contractAddress) {
|
|
59
|
-
return new PublicDataUpdateRequest(computePublicDataTreeLeafSlot(contractAddress, update.storageSlot), computePublicDataTreeValue(update.
|
|
59
|
+
return new PublicDataUpdateRequest(computePublicDataTreeLeafSlot(contractAddress, update.storageSlot), computePublicDataTreeValue(update.newValue), update.sideEffectCounter);
|
|
60
60
|
}
|
|
61
|
-
|
|
61
|
+
/**
|
|
62
|
+
* Checks whether the child execution result is valid for a static call (no state modifications).
|
|
63
|
+
* @param executionResult - The execution result of a public function
|
|
64
|
+
*/
|
|
65
|
+
export function checkValidStaticCall(newNoteHashes, newNullifiers, contractStorageUpdateRequests, newL2ToL1Messages, unencryptedLogs) {
|
|
66
|
+
if (contractStorageUpdateRequests.length > 0 ||
|
|
67
|
+
newNoteHashes.length > 0 ||
|
|
68
|
+
newNullifiers.length > 0 ||
|
|
69
|
+
newL2ToL1Messages.length > 0 ||
|
|
70
|
+
unencryptedLogs.logs.length > 0) {
|
|
71
|
+
throw new Error('Static call cannot update the state, emit L2->L1 messages or generate logs');
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQVFMLGNBQWMsRUFDZCx1QkFBdUIsR0FHeEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQTJDcEc7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FDckMsS0FBOEM7SUFFOUMsT0FBTyxDQUFDLENBQUUsS0FBK0IsQ0FBQyxTQUFTLENBQUM7QUFDdEQsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLFVBQWlDO0lBQ3RFLGlIQUFpSDtJQUNqSCxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQztJQUVoRixNQUFNLHVCQUF1QixHQUFHLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDekUsbUNBQW1DLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUMzRCxDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUc7UUFDZixHQUFHLHVCQUF1QjtRQUMxQixHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN0RixDQUFDO0lBQ0YsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFrQixHQUFHLENBQUMsQ0FBQyxpQkFBa0IsQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxVQUFpQztJQUMvRSxpSEFBaUg7SUFDakgsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsc0JBQXNCLENBQUM7SUFFaEYsTUFBTSxnQ0FBZ0MsR0FBRyxVQUFVLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQzdGLHFEQUFxRCxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FDL0UsQ0FBQztJQUNGLE1BQU0sUUFBUSxHQUFHO1FBQ2YsR0FBRyxnQ0FBZ0M7UUFDbkMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsK0JBQStCLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDL0YsQ0FBQztJQUNGLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBa0IsR0FBRyxDQUFDLENBQUMsaUJBQWtCLENBQUMsQ0FBQztBQUM5RSxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLG1DQUFtQyxDQUFDLElBQXlCLEVBQUUsZUFBNkI7SUFDbkcsT0FBTyxJQUFJLGNBQWMsQ0FDdkIsNkJBQTZCLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDaEUsMEJBQTBCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUM3QyxJQUFJLENBQUMsaUJBQWtCLENBQ3hCLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLHFEQUFxRCxDQUM1RCxNQUFvQyxFQUNwQyxlQUE2QjtJQUU3QixPQUFPLElBQUksdUJBQXVCLENBQ2hDLDZCQUE2QixDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQ2xFLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFDM0MsTUFBTSxDQUFDLGlCQUFrQixDQUMxQixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUVILE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsYUFBMkIsRUFDM0IsYUFBMkMsRUFDM0MsNkJBQTZELEVBQzdELGlCQUFrQyxFQUNsQyxlQUErQjtJQUUvQixJQUNFLDZCQUE2QixDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQ3hDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUN4QixhQUFhLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDeEIsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDNUIsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUMvQixDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -23,5 +23,12 @@ export declare class PublicExecutor {
|
|
|
23
23
|
* @returns The result of the run plus all nested runs.
|
|
24
24
|
*/
|
|
25
25
|
simulate(execution: PublicExecution, globalVariables: GlobalVariables): Promise<PublicExecutionResult>;
|
|
26
|
+
/**
|
|
27
|
+
* Executes a public execution request in the avm.
|
|
28
|
+
* @param execution - The execution to run.
|
|
29
|
+
* @param globalVariables - The global variables to use.
|
|
30
|
+
* @returns The result of the run plus all nested runs.
|
|
31
|
+
*/
|
|
32
|
+
simulateAvm(execution: PublicExecution, globalVariables: GlobalVariables): Promise<PublicExecutionResult>;
|
|
26
33
|
}
|
|
27
34
|
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/public/executor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAA6B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/public/executor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAA6B,MAAM,oBAAoB,CAAC;AAiBxF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAwB,MAAM,gBAAgB,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,MAAM,EACZ,GAAG,8CAAwD,GAC1D,OAAO,CAAC,qBAAqB,CAAC,CA6DhC;AAED;;GAEG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAHN,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,iBAAiB,EAC9B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM;IAGjC;;;;;OAKG;IACU,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA6CnH;;;;;OAKG;IACU,WAAW,CACtB,SAAS,EAAE,eAAe,EAC1B,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,qBAAqB,CAAC;CAelC"}
|