@aztec/pxe 3.0.0-canary.a9708bd → 3.0.0-devnet.2-patch.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/README.md +5 -5
- package/dest/bin/check_oracle_version.d.ts +1 -1
- package/dest/bin/check_oracle_version.js +110 -10
- package/dest/config/index.d.ts +9 -17
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +10 -16
- package/dest/config/package_info.d.ts +1 -1
- package/dest/config/package_info.js +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +6 -6
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +97 -42
- package/dest/contract_function_simulator/execution_data_provider.d.ts +40 -57
- package/dest/contract_function_simulator/execution_data_provider.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.d.ts +11 -9
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +28 -17
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +16 -0
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -0
- package/dest/contract_function_simulator/execution_tagging_index_cache.js +26 -0
- package/dest/contract_function_simulator/hashed_values_cache.d.ts +2 -2
- package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.d.ts +4 -2
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +2 -1
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +2 -2
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +2 -2
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +3 -3
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +8 -4
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +6 -3
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/note_validation_request.js +12 -3
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +22 -0
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/utility_context.js +33 -0
- package/dest/contract_function_simulator/oracle/index.d.ts +2 -2
- package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/index.js +1 -1
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +104 -0
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/interfaces.js +4 -0
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +2 -4
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +10 -4
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +10 -5
- package/dest/contract_function_simulator/oracle/oracle.d.ts +17 -15
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +101 -81
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +6 -5
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.js +7 -16
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +34 -22
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +89 -25
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +23 -33
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +38 -42
- package/dest/contract_function_simulator/pick_notes.d.ts +2 -2
- package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
- package/dest/contract_function_simulator/pick_notes.js +1 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +1 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
- package/dest/contract_function_simulator/proxied_node.d.ts +1 -1
- package/dest/contract_function_simulator/proxied_node.d.ts.map +1 -1
- package/dest/contract_function_simulator/pxe_oracle_interface.d.ts +34 -68
- package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +1 -1
- package/dest/contract_function_simulator/pxe_oracle_interface.js +220 -208
- package/dest/entrypoints/client/bundle/index.d.ts +4 -2
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.js +2 -1
- package/dest/entrypoints/client/bundle/utils.d.ts +9 -9
- package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/utils.js +21 -12
- package/dest/entrypoints/client/lazy/index.d.ts +4 -2
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/index.js +2 -1
- package/dest/entrypoints/client/lazy/utils.d.ts +8 -8
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/utils.js +20 -11
- package/dest/entrypoints/pxe_creation_options.d.ts +5 -2
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/server/index.d.ts +4 -2
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +2 -1
- package/dest/entrypoints/server/utils.d.ts +5 -24
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +17 -45
- package/dest/error_enriching.d.ts +11 -0
- package/dest/error_enriching.d.ts.map +1 -0
- package/dest/{pxe_service/error_enriching.js → error_enriching.js} +3 -0
- package/dest/events/index.d.ts +2 -0
- package/dest/events/index.d.ts.map +1 -0
- package/dest/events/index.js +1 -0
- package/dest/events/private_event_filter_validator.d.ts +8 -0
- package/dest/events/private_event_filter_validator.d.ts.map +1 -0
- package/dest/events/private_event_filter_validator.js +39 -0
- package/dest/oracle_version.d.ts +3 -3
- package/dest/oracle_version.js +2 -2
- package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +3 -3
- package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +1 -1
- package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.js +7 -7
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +1 -1
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.js +6 -6
- package/dest/private_kernel/hints/index.d.ts +1 -1
- package/dest/private_kernel/index.d.ts +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.d.ts +9 -2
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.js +38 -32
- package/dest/private_kernel/private_kernel_oracle.d.ts +3 -2
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle_impl.d.ts +8 -7
- package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +1 -1
- package/dest/pxe.d.ts +240 -0
- package/dest/pxe.d.ts.map +1 -0
- package/dest/{pxe_service/pxe_service.js → pxe.js} +227 -241
- package/dest/storage/address_data_provider/address_data_provider.d.ts +2 -4
- package/dest/storage/address_data_provider/address_data_provider.d.ts.map +1 -1
- package/dest/storage/address_data_provider/address_data_provider.js +0 -3
- package/dest/storage/address_data_provider/index.d.ts +1 -1
- package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +3 -5
- package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +1 -1
- package/dest/storage/capsule_data_provider/capsule_data_provider.js +1 -5
- package/dest/storage/capsule_data_provider/index.d.ts +1 -1
- package/dest/storage/contract_data_provider/contract_data_provider.d.ts +6 -17
- package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +1 -1
- package/dest/storage/contract_data_provider/contract_data_provider.js +0 -15
- package/dest/storage/contract_data_provider/index.d.ts +1 -1
- package/dest/storage/contract_data_provider/private_functions_tree.d.ts +1 -1
- package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +1 -1
- package/dest/storage/contract_data_provider/private_functions_tree.js +1 -1
- package/dest/storage/index.d.ts +1 -2
- package/dest/storage/index.d.ts.map +1 -1
- package/dest/storage/index.js +0 -1
- package/dest/storage/metadata.d.ts +1 -1
- package/dest/storage/note_data_provider/index.d.ts +2 -2
- package/dest/storage/note_data_provider/index.d.ts.map +1 -1
- package/dest/storage/note_data_provider/index.js +1 -1
- package/dest/storage/note_data_provider/note_data_provider.d.ts +75 -11
- package/dest/storage/note_data_provider/note_data_provider.d.ts.map +1 -1
- package/dest/storage/note_data_provider/note_data_provider.js +143 -81
- package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +31 -17
- package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +1 -1
- package/dest/storage/private_event_data_provider/private_event_data_provider.js +47 -28
- package/dest/storage/sync_data_provider/index.d.ts +1 -1
- package/dest/storage/sync_data_provider/sync_data_provider.d.ts +4 -5
- package/dest/storage/sync_data_provider/sync_data_provider.d.ts.map +1 -1
- package/dest/storage/sync_data_provider/sync_data_provider.js +0 -3
- package/dest/storage/tagging_data_provider/index.d.ts +1 -1
- package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts +29 -7
- package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts.map +1 -1
- package/dest/storage/tagging_data_provider/tagging_data_provider.js +46 -39
- package/dest/synchronizer/index.d.ts +1 -1
- package/dest/synchronizer/synchronizer.d.ts +3 -2
- package/dest/synchronizer/synchronizer.d.ts.map +1 -1
- package/dest/synchronizer/synchronizer.js +4 -4
- package/dest/tagging/constants.d.ts +2 -0
- package/dest/tagging/constants.d.ts.map +1 -0
- package/dest/tagging/constants.js +2 -0
- package/dest/tagging/index.d.ts +7 -0
- package/dest/tagging/index.d.ts.map +1 -0
- package/dest/tagging/index.js +5 -0
- package/dest/tagging/siloed_tag.d.ts +14 -0
- package/dest/tagging/siloed_tag.d.ts.map +1 -0
- package/dest/tagging/siloed_tag.js +20 -0
- package/dest/tagging/tag.d.ts +12 -0
- package/dest/tagging/tag.d.ts.map +1 -0
- package/dest/tagging/tag.js +17 -0
- package/dest/tagging/utils.d.ts +18 -0
- package/dest/tagging/utils.d.ts.map +1 -0
- package/dest/tagging/utils.js +24 -0
- package/package.json +22 -24
- package/src/bin/check_oracle_version.ts +134 -10
- package/src/config/index.ts +18 -32
- package/src/config/package_info.ts +1 -1
- package/src/contract_function_simulator/contract_function_simulator.ts +151 -62
- package/src/contract_function_simulator/execution_data_provider.ts +47 -65
- package/src/contract_function_simulator/execution_note_cache.ts +33 -17
- package/src/contract_function_simulator/execution_tagging_index_cache.ts +32 -0
- package/src/contract_function_simulator/hashed_values_cache.ts +1 -1
- package/src/contract_function_simulator/index.ts +3 -1
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +1 -1
- package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +1 -1
- package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +10 -5
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +14 -2
- package/src/contract_function_simulator/noir-structs/utility_context.ts +42 -0
- package/src/contract_function_simulator/oracle/index.ts +1 -1
- package/src/contract_function_simulator/oracle/interfaces.ts +176 -0
- package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +1 -1
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +21 -5
- package/src/contract_function_simulator/oracle/oracle.ts +135 -80
- package/src/contract_function_simulator/oracle/private_execution.ts +10 -17
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +123 -49
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +68 -80
- package/src/contract_function_simulator/pick_notes.ts +1 -1
- package/src/contract_function_simulator/pxe_oracle_interface.ts +291 -271
- package/src/entrypoints/client/bundle/index.ts +3 -1
- package/src/entrypoints/client/bundle/utils.ts +21 -23
- package/src/entrypoints/client/lazy/index.ts +3 -1
- package/src/entrypoints/client/lazy/utils.ts +20 -23
- package/src/entrypoints/pxe_creation_options.ts +4 -1
- package/src/entrypoints/server/index.ts +3 -1
- package/src/entrypoints/server/utils.ts +20 -68
- package/src/{pxe_service/error_enriching.ts → error_enriching.ts} +5 -1
- package/src/events/index.ts +1 -0
- package/src/events/private_event_filter_validator.ts +47 -0
- package/src/oracle_version.ts +2 -2
- package/src/private_kernel/hints/build_private_kernel_reset_private_inputs.ts +5 -9
- package/src/private_kernel/hints/compute_tx_include_by_timestamp.ts +6 -6
- package/src/private_kernel/private_kernel_execution_prover.ts +51 -43
- package/src/private_kernel/private_kernel_oracle.ts +2 -1
- package/src/private_kernel/private_kernel_oracle_impl.ts +4 -3
- package/src/{pxe_service/pxe_service.ts → pxe.ts} +256 -308
- package/src/storage/address_data_provider/address_data_provider.ts +1 -7
- package/src/storage/capsule_data_provider/capsule_data_provider.ts +2 -12
- package/src/storage/contract_data_provider/contract_data_provider.ts +4 -27
- package/src/storage/contract_data_provider/private_functions_tree.ts +1 -1
- package/src/storage/index.ts +0 -1
- package/src/storage/note_data_provider/index.ts +1 -1
- package/src/storage/note_data_provider/note_data_provider.ts +171 -109
- package/src/storage/private_event_data_provider/private_event_data_provider.ts +69 -41
- package/src/storage/sync_data_provider/sync_data_provider.ts +3 -8
- package/src/storage/tagging_data_provider/tagging_data_provider.ts +52 -55
- package/src/synchronizer/synchronizer.ts +4 -4
- package/src/tagging/constants.ts +2 -0
- package/src/tagging/index.ts +6 -0
- package/src/tagging/siloed_tag.ts +22 -0
- package/src/tagging/tag.ts +16 -0
- package/src/tagging/utils.ts +31 -0
- package/dest/bin/index.d.ts +0 -3
- package/dest/bin/index.d.ts.map +0 -1
- package/dest/bin/index.js +0 -48
- package/dest/contract_function_simulator/oracle/typed_oracle.d.ts +0 -87
- package/dest/contract_function_simulator/oracle/typed_oracle.d.ts.map +0 -1
- package/dest/contract_function_simulator/oracle/typed_oracle.js +0 -146
- package/dest/contract_function_simulator/tagging_utils.d.ts +0 -17
- package/dest/contract_function_simulator/tagging_utils.d.ts.map +0 -1
- package/dest/contract_function_simulator/tagging_utils.js +0 -23
- package/dest/pxe_service/error_enriching.d.ts +0 -11
- package/dest/pxe_service/error_enriching.d.ts.map +0 -1
- package/dest/pxe_service/index.d.ts +0 -3
- package/dest/pxe_service/index.d.ts.map +0 -1
- package/dest/pxe_service/index.js +0 -2
- package/dest/pxe_service/pxe_service.d.ts +0 -100
- package/dest/pxe_service/pxe_service.d.ts.map +0 -1
- package/dest/storage/data_provider.d.ts +0 -4
- package/dest/storage/data_provider.d.ts.map +0 -1
- package/dest/storage/data_provider.js +0 -1
- package/dest/storage/note_data_provider/note_dao.d.ts +0 -100
- package/dest/storage/note_data_provider/note_dao.d.ts.map +0 -1
- package/dest/storage/note_data_provider/note_dao.js +0 -102
- package/dest/test/pxe_test_suite.d.ts +0 -3
- package/dest/test/pxe_test_suite.d.ts.map +0 -1
- package/dest/test/pxe_test_suite.js +0 -97
- package/src/bin/index.ts +0 -62
- package/src/contract_function_simulator/oracle/typed_oracle.ts +0 -289
- package/src/contract_function_simulator/tagging_utils.ts +0 -32
- package/src/pxe_service/index.ts +0 -2
- package/src/storage/data_provider.ts +0 -3
- package/src/storage/note_data_provider/note_dao.ts +0 -154
- package/src/test/pxe_test_suite.ts +0 -113
|
@@ -1,22 +1,50 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
2
4
|
import { arrayOfArraysToBoundedVecOfArrays, bufferToBoundedVec, fromUintArray, fromUintBoundedVec, toACVMField } from '@aztec/simulator/client';
|
|
3
5
|
import { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
|
|
4
6
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
7
|
import { ContractClassLog, ContractClassLogFields } from '@aztec/stdlib/logs';
|
|
6
8
|
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
7
9
|
import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
10
|
+
export class UnavailableOracleError extends Error {
|
|
11
|
+
constructor(oracleName){
|
|
12
|
+
super(`${oracleName} oracles not available with the current handler`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
8
15
|
/**
|
|
9
16
|
* A data source that has all the apis required by Aztec.nr.
|
|
10
17
|
*/ export class Oracle {
|
|
11
|
-
|
|
12
|
-
constructor(
|
|
13
|
-
this.
|
|
18
|
+
handler;
|
|
19
|
+
constructor(handler){
|
|
20
|
+
this.handler = handler;
|
|
21
|
+
}
|
|
22
|
+
handlerAsMisc() {
|
|
23
|
+
if (!('isMisc' in this.handler)) {
|
|
24
|
+
throw new UnavailableOracleError('Misc');
|
|
25
|
+
}
|
|
26
|
+
return this.handler;
|
|
27
|
+
}
|
|
28
|
+
handlerAsUtility() {
|
|
29
|
+
if (!('isUtility' in this.handler)) {
|
|
30
|
+
throw new UnavailableOracleError('Utility');
|
|
31
|
+
}
|
|
32
|
+
return this.handler;
|
|
33
|
+
}
|
|
34
|
+
handlerAsPrivate() {
|
|
35
|
+
if (!('isPrivate' in this.handler)) {
|
|
36
|
+
throw new UnavailableOracleError('Private');
|
|
37
|
+
}
|
|
38
|
+
return this.handler;
|
|
14
39
|
}
|
|
15
40
|
toACIRCallback() {
|
|
16
41
|
const excludedProps = [
|
|
17
|
-
'
|
|
42
|
+
'handler',
|
|
18
43
|
'constructor',
|
|
19
|
-
'toACIRCallback'
|
|
44
|
+
'toACIRCallback',
|
|
45
|
+
'handlerAsMisc',
|
|
46
|
+
'handlerAsUtility',
|
|
47
|
+
'handlerAsPrivate'
|
|
20
48
|
];
|
|
21
49
|
// Get all the oracle function names
|
|
22
50
|
const oracleNames = Object.getOwnPropertyNames(Oracle.prototype).filter((name)=>!excludedProps.includes(name));
|
|
@@ -39,57 +67,35 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
39
67
|
}, {});
|
|
40
68
|
}
|
|
41
69
|
utilityAssertCompatibleOracleVersion([version]) {
|
|
42
|
-
this.
|
|
70
|
+
this.handlerAsMisc().utilityAssertCompatibleOracleVersion(Fr.fromString(version).toNumber());
|
|
43
71
|
return Promise.resolve([]);
|
|
44
72
|
}
|
|
45
73
|
utilityGetRandomField() {
|
|
46
|
-
const val = this.
|
|
74
|
+
const val = this.handlerAsMisc().utilityGetRandomField();
|
|
47
75
|
return Promise.resolve([
|
|
48
76
|
toACVMField(val)
|
|
49
77
|
]);
|
|
50
78
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
this.typedOracle.privateStoreInExecutionCache(values.map(Fr.fromString), Fr.fromString(hash));
|
|
79
|
+
privateStoreInExecutionCache(values, [hash]) {
|
|
80
|
+
this.handlerAsPrivate().privateStoreInExecutionCache(values.map(Fr.fromString), Fr.fromString(hash));
|
|
54
81
|
return Promise.resolve([]);
|
|
55
82
|
}
|
|
56
83
|
async privateLoadFromExecutionCache([returnsHash]) {
|
|
57
|
-
const values = await this.
|
|
84
|
+
const values = await this.handlerAsPrivate().privateLoadFromExecutionCache(Fr.fromString(returnsHash));
|
|
58
85
|
return [
|
|
59
86
|
values.map(toACVMField)
|
|
60
87
|
];
|
|
61
88
|
}
|
|
62
|
-
async
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
];
|
|
66
|
-
}
|
|
67
|
-
async utilityGetTimestamp() {
|
|
68
|
-
return [
|
|
69
|
-
toACVMField(await this.typedOracle.utilityGetTimestamp())
|
|
70
|
-
];
|
|
71
|
-
}
|
|
72
|
-
async utilityGetContractAddress() {
|
|
73
|
-
return [
|
|
74
|
-
toACVMField(await this.typedOracle.utilityGetContractAddress())
|
|
75
|
-
];
|
|
76
|
-
}
|
|
77
|
-
async utilityGetVersion() {
|
|
78
|
-
return [
|
|
79
|
-
toACVMField(await this.typedOracle.utilityGetVersion())
|
|
80
|
-
];
|
|
81
|
-
}
|
|
82
|
-
async utilityGetChainId() {
|
|
83
|
-
return [
|
|
84
|
-
toACVMField(await this.typedOracle.utilityGetChainId())
|
|
85
|
-
];
|
|
89
|
+
async utilityGetUtilityContext() {
|
|
90
|
+
const context = await this.handlerAsUtility().utilityGetUtilityContext();
|
|
91
|
+
return context.toNoirRepresentation();
|
|
86
92
|
}
|
|
87
93
|
async utilityGetKeyValidationRequest([pkMHash]) {
|
|
88
|
-
const keyValidationRequest = await this.
|
|
94
|
+
const keyValidationRequest = await this.handlerAsUtility().utilityGetKeyValidationRequest(Fr.fromString(pkMHash));
|
|
89
95
|
return keyValidationRequest.toFields().map(toACVMField);
|
|
90
96
|
}
|
|
91
97
|
async utilityGetContractInstance([address]) {
|
|
92
|
-
const instance = await this.
|
|
98
|
+
const instance = await this.handlerAsUtility().utilityGetContractInstance(AztecAddress.fromField(Fr.fromString(address)));
|
|
93
99
|
return [
|
|
94
100
|
instance.salt,
|
|
95
101
|
instance.deployer,
|
|
@@ -102,7 +108,7 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
102
108
|
const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
|
|
103
109
|
const parsedTreeId = Fr.fromString(treeId).toNumber();
|
|
104
110
|
const parsedLeafValue = Fr.fromString(leafValue);
|
|
105
|
-
const witness = await this.
|
|
111
|
+
const witness = await this.handlerAsUtility().utilityGetMembershipWitness(BlockNumber(parsedBlockNumber), parsedTreeId, parsedLeafValue);
|
|
106
112
|
if (!witness) {
|
|
107
113
|
throw new Error(`Leaf ${leafValue} not found in the tree ${MerkleTreeId[parsedTreeId]} at block ${parsedBlockNumber}.`);
|
|
108
114
|
}
|
|
@@ -114,7 +120,7 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
114
120
|
async utilityGetNullifierMembershipWitness([blockNumber], [nullifier]) {
|
|
115
121
|
const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
|
|
116
122
|
const parsedNullifier = Fr.fromString(nullifier);
|
|
117
|
-
const witness = await this.
|
|
123
|
+
const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(BlockNumber(parsedBlockNumber), parsedNullifier);
|
|
118
124
|
if (!witness) {
|
|
119
125
|
throw new Error(`Nullifier witness not found for nullifier ${parsedNullifier} at block ${parsedBlockNumber}.`);
|
|
120
126
|
}
|
|
@@ -123,7 +129,7 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
123
129
|
async utilityGetLowNullifierMembershipWitness([blockNumber], [nullifier]) {
|
|
124
130
|
const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
|
|
125
131
|
const parsedNullifier = Fr.fromString(nullifier);
|
|
126
|
-
const witness = await this.
|
|
132
|
+
const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(BlockNumber(parsedBlockNumber), parsedNullifier);
|
|
127
133
|
if (!witness) {
|
|
128
134
|
throw new Error(`Low nullifier witness not found for nullifier ${parsedNullifier} at block ${parsedBlockNumber}.`);
|
|
129
135
|
}
|
|
@@ -132,7 +138,7 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
132
138
|
async utilityGetPublicDataWitness([blockNumber], [leafSlot]) {
|
|
133
139
|
const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
|
|
134
140
|
const parsedLeafSlot = Fr.fromString(leafSlot);
|
|
135
|
-
const witness = await this.
|
|
141
|
+
const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(BlockNumber(parsedBlockNumber), parsedLeafSlot);
|
|
136
142
|
if (!witness) {
|
|
137
143
|
throw new Error(`Public data witness not found for slot ${parsedLeafSlot} at block ${parsedBlockNumber}.`);
|
|
138
144
|
}
|
|
@@ -140,7 +146,7 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
140
146
|
}
|
|
141
147
|
async utilityGetBlockHeader([blockNumber]) {
|
|
142
148
|
const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
|
|
143
|
-
const header = await this.
|
|
149
|
+
const header = await this.handlerAsUtility().utilityGetBlockHeader(BlockNumber(parsedBlockNumber));
|
|
144
150
|
if (!header) {
|
|
145
151
|
throw new Error(`Block header not found for block ${parsedBlockNumber}.`);
|
|
146
152
|
}
|
|
@@ -148,7 +154,7 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
148
154
|
}
|
|
149
155
|
async utilityGetAuthWitness([messageHash]) {
|
|
150
156
|
const messageHashField = Fr.fromString(messageHash);
|
|
151
|
-
const witness = await this.
|
|
157
|
+
const witness = await this.handlerAsUtility().utilityGetAuthWitness(messageHashField);
|
|
152
158
|
if (!witness) {
|
|
153
159
|
throw new Error(`Unknown auth witness for message hash ${messageHashField}`);
|
|
154
160
|
}
|
|
@@ -156,10 +162,9 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
156
162
|
witness.map(toACVMField)
|
|
157
163
|
];
|
|
158
164
|
}
|
|
159
|
-
// TODO(benesjan): This doesn't map to the underlying oracle name which is just ugly.
|
|
160
165
|
async utilityGetPublicKeysAndPartialAddress([address]) {
|
|
161
166
|
const parsedAddress = AztecAddress.fromField(Fr.fromString(address));
|
|
162
|
-
const { publicKeys, partialAddress } = await this.
|
|
167
|
+
const { publicKeys, partialAddress } = await this.handlerAsUtility().utilityGetPublicKeysAndPartialAddress(parsedAddress);
|
|
163
168
|
return [
|
|
164
169
|
[
|
|
165
170
|
...publicKeys.toFields(),
|
|
@@ -167,38 +172,48 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
167
172
|
].map(toACVMField)
|
|
168
173
|
];
|
|
169
174
|
}
|
|
170
|
-
async utilityGetNotes([storageSlot], [numSelects], selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, [limit], [offset], [status], [maxNotes], [packedRetrievedNoteLength]) {
|
|
171
|
-
|
|
172
|
-
const
|
|
175
|
+
async utilityGetNotes([ownerSome], [ownerValue], [storageSlot], [numSelects], selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, [limit], [offset], [status], [maxNotes], [packedRetrievedNoteLength]) {
|
|
176
|
+
// Parse Option<AztecAddress>: ownerSome is 0 for None, 1 for Some
|
|
177
|
+
const owner = Fr.fromString(ownerSome).toNumber() === 1 ? AztecAddress.fromString(ownerValue) : undefined;
|
|
178
|
+
const noteDatas = await this.handlerAsUtility().utilityGetNotes(owner, Fr.fromString(storageSlot), +numSelects, selectByIndexes.map((s)=>+s), selectByOffsets.map((s)=>+s), selectByLengths.map((s)=>+s), selectValues.map(Fr.fromString), selectComparators.map((s)=>+s), sortByIndexes.map((s)=>+s), sortByOffsets.map((s)=>+s), sortByLengths.map((s)=>+s), sortOrder.map((s)=>+s), +limit, +offset, +status);
|
|
179
|
+
const returnDataAsArrayOfPackedRetrievedNotes = noteDatas.map((noteData)=>packAsRetrievedNote({
|
|
180
|
+
contractAddress: noteData.contractAddress,
|
|
181
|
+
owner: noteData.owner,
|
|
182
|
+
randomness: noteData.randomness,
|
|
183
|
+
storageSlot: noteData.storageSlot,
|
|
184
|
+
noteNonce: noteData.noteNonce,
|
|
185
|
+
index: noteData.index,
|
|
186
|
+
note: noteData.note
|
|
187
|
+
}));
|
|
173
188
|
// Now we convert each sub-array to an array of ACVMField
|
|
174
189
|
const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedRetrievedNotes.map((subArray)=>subArray.map(toACVMField));
|
|
175
190
|
// At last we convert the array of arrays to a bounded vec of arrays
|
|
176
191
|
return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedRetrievedNoteLength);
|
|
177
192
|
}
|
|
178
|
-
privateNotifyCreatedNote([storageSlot], [noteTypeId], note, [noteHash], [counter]) {
|
|
179
|
-
this.
|
|
193
|
+
privateNotifyCreatedNote([owner], [storageSlot], [randomness], [noteTypeId], note, [noteHash], [counter]) {
|
|
194
|
+
this.handlerAsPrivate().privateNotifyCreatedNote(AztecAddress.fromString(owner), Fr.fromString(storageSlot), Fr.fromString(randomness), NoteSelector.fromField(Fr.fromString(noteTypeId)), note.map(Fr.fromString), Fr.fromString(noteHash), +counter);
|
|
180
195
|
return Promise.resolve([]);
|
|
181
196
|
}
|
|
182
197
|
async privateNotifyNullifiedNote([innerNullifier], [noteHash], [counter]) {
|
|
183
|
-
await this.
|
|
198
|
+
await this.handlerAsPrivate().privateNotifyNullifiedNote(Fr.fromString(innerNullifier), Fr.fromString(noteHash), +counter);
|
|
184
199
|
return [];
|
|
185
200
|
}
|
|
186
201
|
async privateNotifyCreatedNullifier([innerNullifier]) {
|
|
187
|
-
await this.
|
|
202
|
+
await this.handlerAsPrivate().privateNotifyCreatedNullifier(Fr.fromString(innerNullifier));
|
|
188
203
|
return [];
|
|
189
204
|
}
|
|
190
205
|
async utilityCheckNullifierExists([innerNullifier]) {
|
|
191
|
-
const exists = await this.
|
|
206
|
+
const exists = await this.handlerAsUtility().utilityCheckNullifierExists(Fr.fromString(innerNullifier));
|
|
192
207
|
return [
|
|
193
208
|
toACVMField(exists)
|
|
194
209
|
];
|
|
195
210
|
}
|
|
196
211
|
async utilityGetL1ToL2MembershipWitness([contractAddress], [messageHash], [secret]) {
|
|
197
|
-
const message = await this.
|
|
212
|
+
const message = await this.handlerAsUtility().utilityGetL1ToL2MembershipWitness(AztecAddress.fromString(contractAddress), Fr.fromString(messageHash), Fr.fromString(secret));
|
|
198
213
|
return message.toNoirRepresentation();
|
|
199
214
|
}
|
|
200
215
|
async utilityStorageRead([contractAddress], [startStorageSlot], [blockNumber], [numberOfElements]) {
|
|
201
|
-
const values = await this.
|
|
216
|
+
const values = await this.handlerAsUtility().utilityStorageRead(new AztecAddress(Fr.fromString(contractAddress)), Fr.fromString(startStorageSlot), BlockNumber(+blockNumber), +numberOfElements);
|
|
202
217
|
return [
|
|
203
218
|
values.map(toACVMField)
|
|
204
219
|
];
|
|
@@ -206,19 +221,20 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
206
221
|
privateNotifyCreatedContractClassLog([contractAddress], message, [length], [counter]) {
|
|
207
222
|
const logFields = new ContractClassLogFields(message.map(Fr.fromString));
|
|
208
223
|
const log = new ContractClassLog(new AztecAddress(Fr.fromString(contractAddress)), logFields, +length);
|
|
209
|
-
this.
|
|
224
|
+
this.handlerAsPrivate().privateNotifyCreatedContractClassLog(log, +counter);
|
|
210
225
|
return Promise.resolve([]);
|
|
211
226
|
}
|
|
212
|
-
utilityDebugLog(message, _ignoredFieldsSize, fields) {
|
|
227
|
+
utilityDebugLog(level, message, _ignoredFieldsSize, fields) {
|
|
228
|
+
const levelFr = Fr.fromString(level[0]);
|
|
213
229
|
const messageStr = message.map((acvmField)=>String.fromCharCode(Fr.fromString(acvmField).toNumber())).join('');
|
|
214
230
|
const fieldsFr = fields.map(Fr.fromString);
|
|
215
|
-
this.
|
|
231
|
+
this.handlerAsMisc().utilityDebugLog(levelFr.toNumber(), messageStr, fieldsFr);
|
|
216
232
|
return Promise.resolve([]);
|
|
217
233
|
}
|
|
218
234
|
// This function's name is directly hardcoded in `circuit_recorder.ts`. Don't forget to update it there if you
|
|
219
235
|
// change the name here.
|
|
220
236
|
async privateCallPrivateFunction([contractAddress], [functionSelector], [argsHash], [sideEffectCounter], [isStaticCall]) {
|
|
221
|
-
const { endSideEffectCounter, returnsHash } = await this.
|
|
237
|
+
const { endSideEffectCounter, returnsHash } = await this.handlerAsPrivate().privateCallPrivateFunction(AztecAddress.fromField(Fr.fromString(contractAddress)), FunctionSelector.fromField(Fr.fromString(functionSelector)), Fr.fromString(argsHash), Fr.fromString(sideEffectCounter).toNumber(), Fr.fromString(isStaticCall).toBool());
|
|
222
238
|
return [
|
|
223
239
|
[
|
|
224
240
|
endSideEffectCounter,
|
|
@@ -227,43 +243,47 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
227
243
|
];
|
|
228
244
|
}
|
|
229
245
|
async privateNotifyEnqueuedPublicFunctionCall([contractAddress], [calldataHash], [sideEffectCounter], [isStaticCall]) {
|
|
230
|
-
await this.
|
|
246
|
+
await this.handlerAsPrivate().privateNotifyEnqueuedPublicFunctionCall(AztecAddress.fromString(contractAddress), Fr.fromString(calldataHash), Fr.fromString(sideEffectCounter).toNumber(), Fr.fromString(isStaticCall).toBool());
|
|
231
247
|
return [];
|
|
232
248
|
}
|
|
233
249
|
async privateNotifySetPublicTeardownFunctionCall([contractAddress], [calldataHash], [sideEffectCounter], [isStaticCall]) {
|
|
234
|
-
await this.
|
|
250
|
+
await this.handlerAsPrivate().privateNotifySetPublicTeardownFunctionCall(AztecAddress.fromString(contractAddress), Fr.fromString(calldataHash), Fr.fromString(sideEffectCounter).toNumber(), Fr.fromString(isStaticCall).toBool());
|
|
235
251
|
return [];
|
|
236
252
|
}
|
|
237
253
|
async privateNotifySetMinRevertibleSideEffectCounter([minRevertibleSideEffectCounter]) {
|
|
238
|
-
await this.
|
|
254
|
+
await this.handlerAsPrivate().privateNotifySetMinRevertibleSideEffectCounter(Fr.fromString(minRevertibleSideEffectCounter).toNumber());
|
|
239
255
|
return Promise.resolve([]);
|
|
240
256
|
}
|
|
241
|
-
async
|
|
242
|
-
const
|
|
243
|
-
return
|
|
257
|
+
async privateIsSideEffectCounterRevertible([sideEffectCounter]) {
|
|
258
|
+
const isRevertible = await this.handlerAsPrivate().privateIsSideEffectCounterRevertible(Fr.fromString(sideEffectCounter).toNumber());
|
|
259
|
+
return Promise.resolve([
|
|
260
|
+
toACVMField(isRevertible)
|
|
261
|
+
]);
|
|
244
262
|
}
|
|
245
|
-
async
|
|
246
|
-
await this.
|
|
247
|
-
return [
|
|
263
|
+
async privateGetNextAppTagAsSender([sender], [recipient]) {
|
|
264
|
+
const tag = await this.handlerAsPrivate().privateGetNextAppTagAsSender(AztecAddress.fromString(sender), AztecAddress.fromString(recipient));
|
|
265
|
+
return [
|
|
266
|
+
toACVMField(tag.value)
|
|
267
|
+
];
|
|
248
268
|
}
|
|
249
269
|
async utilityFetchTaggedLogs([pendingTaggedLogArrayBaseSlot]) {
|
|
250
|
-
await this.
|
|
270
|
+
await this.handlerAsUtility().utilityFetchTaggedLogs(Fr.fromString(pendingTaggedLogArrayBaseSlot));
|
|
251
271
|
return [];
|
|
252
272
|
}
|
|
253
273
|
async utilityValidateEnqueuedNotesAndEvents([contractAddress], [noteValidationRequestsArrayBaseSlot], [eventValidationRequestsArrayBaseSlot]) {
|
|
254
|
-
await this.
|
|
274
|
+
await this.handlerAsUtility().utilityValidateEnqueuedNotesAndEvents(AztecAddress.fromString(contractAddress), Fr.fromString(noteValidationRequestsArrayBaseSlot), Fr.fromString(eventValidationRequestsArrayBaseSlot));
|
|
255
275
|
return [];
|
|
256
276
|
}
|
|
257
277
|
async utilityBulkRetrieveLogs([contractAddress], [logRetrievalRequestsArrayBaseSlot], [logRetrievalResponsesArrayBaseSlot]) {
|
|
258
|
-
await this.
|
|
278
|
+
await this.handlerAsUtility().utilityBulkRetrieveLogs(AztecAddress.fromString(contractAddress), Fr.fromString(logRetrievalRequestsArrayBaseSlot), Fr.fromString(logRetrievalResponsesArrayBaseSlot));
|
|
259
279
|
return [];
|
|
260
280
|
}
|
|
261
281
|
async utilityStoreCapsule([contractAddress], [slot], capsule) {
|
|
262
|
-
await this.
|
|
282
|
+
await this.handlerAsUtility().utilityStoreCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot), capsule.map(Fr.fromString));
|
|
263
283
|
return [];
|
|
264
284
|
}
|
|
265
285
|
async utilityLoadCapsule([contractAddress], [slot], [tSize]) {
|
|
266
|
-
const values = await this.
|
|
286
|
+
const values = await this.handlerAsUtility().utilityLoadCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot));
|
|
267
287
|
// We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
|
|
268
288
|
// with two fields: `some` (a boolean) and `value` (a field array in this case).
|
|
269
289
|
if (values === null) {
|
|
@@ -281,22 +301,22 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
281
301
|
}
|
|
282
302
|
}
|
|
283
303
|
async utilityDeleteCapsule([contractAddress], [slot]) {
|
|
284
|
-
await this.
|
|
304
|
+
await this.handlerAsUtility().utilityDeleteCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot));
|
|
285
305
|
return [];
|
|
286
306
|
}
|
|
287
307
|
async utilityCopyCapsule([contractAddress], [srcSlot], [dstSlot], [numEntries]) {
|
|
288
|
-
await this.
|
|
308
|
+
await this.handlerAsUtility().utilityCopyCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(srcSlot), Fr.fromString(dstSlot), Fr.fromString(numEntries).toNumber());
|
|
289
309
|
return [];
|
|
290
310
|
}
|
|
291
311
|
async utilityAes128Decrypt(ciphertextBVecStorage, [ciphertextLength], iv, symKey) {
|
|
292
312
|
const ciphertext = fromUintBoundedVec(ciphertextBVecStorage, ciphertextLength, 8);
|
|
293
313
|
const ivBuffer = fromUintArray(iv, 8);
|
|
294
314
|
const symKeyBuffer = fromUintArray(symKey, 8);
|
|
295
|
-
const plaintext = await this.
|
|
315
|
+
const plaintext = await this.handlerAsUtility().utilityAes128Decrypt(ciphertext, ivBuffer, symKeyBuffer);
|
|
296
316
|
return bufferToBoundedVec(plaintext, ciphertextBVecStorage.length);
|
|
297
317
|
}
|
|
298
318
|
async utilityGetSharedSecret([address], [ephPKField0], [ephPKField1], [ephPKField2]) {
|
|
299
|
-
const secret = await this.
|
|
319
|
+
const secret = await this.handlerAsUtility().utilityGetSharedSecret(AztecAddress.fromField(Fr.fromString(address)), Point.fromFields([
|
|
300
320
|
ephPKField0,
|
|
301
321
|
ephPKField1,
|
|
302
322
|
ephPKField2
|
|
@@ -304,11 +324,11 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
304
324
|
return secret.toFields().map(toACVMField);
|
|
305
325
|
}
|
|
306
326
|
async utilityEmitOffchainEffect(data) {
|
|
307
|
-
await this.
|
|
327
|
+
await this.handlerAsPrivate().utilityEmitOffchainEffect(data.map(Fr.fromString));
|
|
308
328
|
return [];
|
|
309
329
|
}
|
|
310
330
|
async privateGetSenderForTags() {
|
|
311
|
-
const sender = await this.
|
|
331
|
+
const sender = await this.handlerAsPrivate().privateGetSenderForTags();
|
|
312
332
|
// Return [1, address] for Some(address), [0, 0] for None
|
|
313
333
|
return sender ? [
|
|
314
334
|
toACVMField(1n),
|
|
@@ -319,7 +339,7 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
319
339
|
];
|
|
320
340
|
}
|
|
321
341
|
async privateSetSenderForTags([senderForTags]) {
|
|
322
|
-
await this.
|
|
342
|
+
await this.handlerAsPrivate().privateSetSenderForTags(AztecAddress.fromField(Fr.fromString(senderForTags)));
|
|
323
343
|
return [];
|
|
324
344
|
}
|
|
325
345
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
3
|
import { type ACVMWitness, type CircuitSimulator } from '@aztec/simulator/client';
|
|
3
4
|
import { type FunctionArtifact, type FunctionArtifactWithContractName, type FunctionSelector } from '@aztec/stdlib/abi';
|
|
4
5
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
@@ -35,14 +36,14 @@ export declare function extractPrivateCircuitPublicInputs(artifact: FunctionArti
|
|
|
35
36
|
* @param timestamp - The timestamp at which to obtain the class id from the DelayedPublicMutable.
|
|
36
37
|
* @returns The current class id.
|
|
37
38
|
*/
|
|
38
|
-
export declare function readCurrentClassId(contractAddress: AztecAddress, instance: ContractInstance, executionDataProvider: ExecutionDataProvider | AztecNode, blockNumber:
|
|
39
|
+
export declare function readCurrentClassId(contractAddress: AztecAddress, instance: ContractInstance, executionDataProvider: ExecutionDataProvider | AztecNode, blockNumber: BlockNumber, timestamp: UInt64): Promise<Fr>;
|
|
39
40
|
/**
|
|
40
41
|
* Verify that the current class id of a contract obtained from AztecNode is the same as the one in the execution data
|
|
41
42
|
* provider (i.e. PXE).
|
|
42
43
|
* @param contractAddress - The address of the contract to verify class id for.
|
|
43
44
|
* @param executionDataProvider - The execution data provider.
|
|
44
|
-
* @param header - The header of the block at which to verify the current class id. If not provided, the
|
|
45
|
-
*
|
|
45
|
+
* @param header - The header of the block at which to verify the current class id. If not provided, the anchor block
|
|
46
|
+
* header of the execution data provider is used.
|
|
46
47
|
*/
|
|
47
48
|
export declare function verifyCurrentClassId(contractAddress: AztecAddress, executionDataProvider: ExecutionDataProvider, header?: BlockHeader): Promise<void>;
|
|
48
|
-
//# sourceMappingURL=
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivb3JhY2xlL3ByaXZhdGVfZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJcEQsT0FBTyxFQUNMLEtBQUssV0FBVyxFQUNoQixLQUFLLGdCQUFnQixFQUt0QixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQUNyQixLQUFLLGdDQUFnQyxFQUNyQyxLQUFLLGdCQUFnQixFQUV0QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFL0QsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sS0FBSyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0UsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU1RTs7Ozs7OztHQU9HO0FBQ0gsd0JBQXNCLHNCQUFzQixDQUMxQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQzNCLHNCQUFzQixFQUFFLHNCQUFzQixFQUM5QyxRQUFRLEVBQUUsZ0NBQWdDLEVBQzFDLGVBQWUsRUFBRSxZQUFZLEVBQzdCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxHQUFHLHlDQUE4QyxHQUNoRCxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0E2RXJDO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsaUNBQWlDLENBQy9DLFFBQVEsRUFBRSxnQkFBZ0IsRUFDMUIsY0FBYyxFQUFFLFdBQVcsR0FDMUIsMEJBQTBCLENBYTVCO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsd0JBQXNCLGtCQUFrQixDQUN0QyxlQUFlLEVBQUUsWUFBWSxFQUM3QixRQUFRLEVBQUUsZ0JBQWdCLEVBQzFCLHFCQUFxQixFQUFFLHFCQUFxQixHQUFHLFNBQVMsRUFDeEQsV0FBVyxFQUFFLFdBQVcsRUFDeEIsU0FBUyxFQUFFLE1BQU0sZUFXbEI7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQXNCLG9CQUFvQixDQUN4QyxlQUFlLEVBQUUsWUFBWSxFQUM3QixxQkFBcUIsRUFBRSxxQkFBcUIsRUFDNUMsTUFBTSxDQUFDLEVBQUUsV0FBVyxpQkFpQnJCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_execution.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"private_execution.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAIpD,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EAKtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gCAAgC,EACrC,KAAK,gBAAgB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,gBAAgB,EAC3B,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,gCAAgC,EAC1C,eAAe,EAAE,YAAY,EAC7B,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,yCAA8C,GAChD,OAAO,CAAC,0BAA0B,CAAC,CA6ErC;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,WAAW,GAC1B,0BAA0B,CAa5B;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,EAC1B,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,EACxD,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,eAWlB;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,YAAY,EAC7B,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,CAAC,EAAE,WAAW,iBAiBrB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH, PRIVATE_CONTEXT_INPUTS_LENGTH } from '@aztec/constants';
|
|
2
|
-
import { Fr } from '@aztec/foundation/
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { Timer } from '@aztec/foundation/timer';
|
|
5
5
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
@@ -52,6 +52,7 @@ import { Oracle } from './oracle.js';
|
|
|
52
52
|
const newNotes = privateExecutionOracle.getNewNotes();
|
|
53
53
|
const noteHashNullifierCounterMap = privateExecutionOracle.getNoteHashNullifierCounterMap();
|
|
54
54
|
const offchainEffects = privateExecutionOracle.getOffchainEffects();
|
|
55
|
+
const preTags = privateExecutionOracle.getUsedPreTags();
|
|
55
56
|
const nestedExecutionResults = privateExecutionOracle.getNestedExecutionResults();
|
|
56
57
|
let timerSubtractionList = nestedExecutionResults;
|
|
57
58
|
let witgenTime = duration;
|
|
@@ -61,7 +62,7 @@ import { Oracle } from './oracle.js';
|
|
|
61
62
|
timerSubtractionList = timerSubtractionList.flatMap((nested)=>nested.nestedExecutionResults ?? []);
|
|
62
63
|
}
|
|
63
64
|
log.debug(`Returning from call to ${contractAddress.toString()}:${functionSelector}`);
|
|
64
|
-
return new PrivateCallExecutionResult(artifact.bytecode, Buffer.from(artifact.verificationKey, 'base64'), partialWitness, publicInputs, noteHashLeafIndexMap, newNotes, noteHashNullifierCounterMap, rawReturnValues, offchainEffects, nestedExecutionResults, contractClassLogs, {
|
|
65
|
+
return new PrivateCallExecutionResult(artifact.bytecode, Buffer.from(artifact.verificationKey, 'base64'), partialWitness, publicInputs, noteHashLeafIndexMap, newNotes, noteHashNullifierCounterMap, rawReturnValues, offchainEffects, preTags, nestedExecutionResults, contractClassLogs, {
|
|
65
66
|
timings: {
|
|
66
67
|
witgen: witgenTime,
|
|
67
68
|
oracles: acirExecutionResult.oracles
|
|
@@ -110,22 +111,12 @@ import { Oracle } from './oracle.js';
|
|
|
110
111
|
* provider (i.e. PXE).
|
|
111
112
|
* @param contractAddress - The address of the contract to verify class id for.
|
|
112
113
|
* @param executionDataProvider - The execution data provider.
|
|
113
|
-
* @param header - The header of the block at which to verify the current class id. If not provided, the
|
|
114
|
-
*
|
|
114
|
+
* @param header - The header of the block at which to verify the current class id. If not provided, the anchor block
|
|
115
|
+
* header of the execution data provider is used.
|
|
115
116
|
*/ export async function verifyCurrentClassId(contractAddress, executionDataProvider, header) {
|
|
116
|
-
|
|
117
|
-
let timestamp;
|
|
118
|
-
if (header) {
|
|
119
|
-
blockNumber = header.globalVariables.blockNumber;
|
|
120
|
-
timestamp = header.globalVariables.timestamp;
|
|
121
|
-
} else {
|
|
122
|
-
[blockNumber, timestamp] = await Promise.all([
|
|
123
|
-
executionDataProvider.getBlockNumber(),
|
|
124
|
-
executionDataProvider.getTimestamp()
|
|
125
|
-
]);
|
|
126
|
-
}
|
|
117
|
+
header = header ?? await executionDataProvider.getAnchorBlockHeader();
|
|
127
118
|
const instance = await executionDataProvider.getContractInstance(contractAddress);
|
|
128
|
-
const currentClassId = await readCurrentClassId(contractAddress, instance, executionDataProvider, blockNumber, timestamp);
|
|
119
|
+
const currentClassId = await readCurrentClassId(contractAddress, instance, executionDataProvider, header.globalVariables.blockNumber, header.globalVariables.timestamp);
|
|
129
120
|
if (!instance.currentContractClassId.equals(currentClassId)) {
|
|
130
121
|
throw new Error(`Contract ${contractAddress} is outdated, current class id is ${currentClassId}, local class id is ${instance.currentContractClassId}`);
|
|
131
122
|
}
|
|
@@ -1,31 +1,37 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { type CircuitSimulator } from '@aztec/simulator/client';
|
|
3
3
|
import { type FunctionAbi, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
|
|
4
4
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
5
5
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
6
|
-
import
|
|
6
|
+
import { PrivateContextInputs } from '@aztec/stdlib/kernel';
|
|
7
|
+
import type { ContractClassLog, PreTag } from '@aztec/stdlib/logs';
|
|
7
8
|
import { type NoteStatus } from '@aztec/stdlib/note';
|
|
8
9
|
import { type BlockHeader, CallContext, Capsule, CountedContractClassLog, NoteAndSlot, PrivateCallExecutionResult, type TxContext } from '@aztec/stdlib/tx';
|
|
10
|
+
import { Tag } from '../../tagging/tag.js';
|
|
9
11
|
import type { ExecutionDataProvider } from '../execution_data_provider.js';
|
|
10
12
|
import type { ExecutionNoteCache } from '../execution_note_cache.js';
|
|
13
|
+
import { ExecutionTaggingIndexCache } from '../execution_tagging_index_cache.js';
|
|
11
14
|
import type { HashedValuesCache } from '../hashed_values_cache.js';
|
|
12
|
-
import type { NoteData } from './
|
|
15
|
+
import type { IPrivateExecutionOracle, NoteData } from './interfaces.js';
|
|
13
16
|
import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
14
17
|
/**
|
|
15
18
|
* The execution oracle for the private part of a transaction.
|
|
16
19
|
*/
|
|
17
|
-
export declare class PrivateExecutionOracle extends UtilityExecutionOracle {
|
|
20
|
+
export declare class PrivateExecutionOracle extends UtilityExecutionOracle implements IPrivateExecutionOracle {
|
|
18
21
|
#private;
|
|
19
22
|
private readonly argsHash;
|
|
20
23
|
private readonly txContext;
|
|
21
24
|
private readonly callContext;
|
|
22
25
|
/** Header of a block whose state is used during private execution (not the block the transaction is included in). */
|
|
23
|
-
protected readonly
|
|
26
|
+
protected readonly anchorBlockHeader: BlockHeader;
|
|
24
27
|
private readonly executionCache;
|
|
25
28
|
private readonly noteCache;
|
|
26
|
-
private
|
|
29
|
+
private readonly taggingIndexCache;
|
|
27
30
|
private totalPublicCalldataCount;
|
|
28
31
|
protected sideEffectCounter: number;
|
|
32
|
+
private senderForTags?;
|
|
33
|
+
private simulator?;
|
|
34
|
+
isPrivate: true;
|
|
29
35
|
/**
|
|
30
36
|
* New notes created during this execution.
|
|
31
37
|
* It's possible that a note in this list has been nullified (in the same or other executions) and doesn't exist in
|
|
@@ -49,12 +55,12 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle {
|
|
|
49
55
|
private contractClassLogs;
|
|
50
56
|
private offchainEffects;
|
|
51
57
|
private nestedExecutionResults;
|
|
52
|
-
private senderForTags?;
|
|
53
58
|
constructor(argsHash: Fr, txContext: TxContext, callContext: CallContext,
|
|
54
59
|
/** Header of a block whose state is used during private execution (not the block the transaction is included in). */
|
|
55
|
-
|
|
60
|
+
anchorBlockHeader: BlockHeader,
|
|
56
61
|
/** List of transient auth witnesses to be used during this simulation */
|
|
57
|
-
authWitnesses: AuthWitness[], capsules: Capsule[], executionCache: HashedValuesCache, noteCache: ExecutionNoteCache,
|
|
62
|
+
authWitnesses: AuthWitness[], capsules: Capsule[], executionCache: HashedValuesCache, noteCache: ExecutionNoteCache, taggingIndexCache: ExecutionTaggingIndexCache, executionDataProvider: ExecutionDataProvider, totalPublicCalldataCount?: number, sideEffectCounter?: number, log?: import("@aztec/foundation/log").Logger, scopes?: AztecAddress[], senderForTags?: AztecAddress | undefined, simulator?: CircuitSimulator | undefined);
|
|
63
|
+
getPrivateContextInputs(): PrivateContextInputs;
|
|
58
64
|
/**
|
|
59
65
|
* Writes the function inputs to the initial witness.
|
|
60
66
|
* @param abi - The function ABI.
|
|
@@ -81,6 +87,10 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle {
|
|
|
81
87
|
getOffchainEffects(): {
|
|
82
88
|
data: Fr[];
|
|
83
89
|
}[];
|
|
90
|
+
/**
|
|
91
|
+
* Returns the pre tags that were used in this execution (and that need to be stored in the db).
|
|
92
|
+
*/
|
|
93
|
+
getUsedPreTags(): PreTag[];
|
|
84
94
|
/**
|
|
85
95
|
* Return the nested execution results during this execution.
|
|
86
96
|
*/
|
|
@@ -108,6 +118,13 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle {
|
|
|
108
118
|
* value (unless it is replaced by another call to this setter).
|
|
109
119
|
*/
|
|
110
120
|
privateSetSenderForTags(senderForTags: AztecAddress): Promise<void>;
|
|
121
|
+
/**
|
|
122
|
+
* Returns the next app tag for a given sender and recipient pair.
|
|
123
|
+
* @param sender - The address sending the log
|
|
124
|
+
* @param recipient - The address receiving the log
|
|
125
|
+
* @returns An app tag to be used in a log.
|
|
126
|
+
*/
|
|
127
|
+
privateGetNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag>;
|
|
111
128
|
/**
|
|
112
129
|
* Store values in the execution cache.
|
|
113
130
|
* @param values - Values to store.
|
|
@@ -120,6 +137,7 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle {
|
|
|
120
137
|
* @returns The values.
|
|
121
138
|
*/
|
|
122
139
|
privateLoadFromExecutionCache(hash: Fr): Promise<Fr[]>;
|
|
140
|
+
utilityCheckNullifierExists(innerNullifier: Fr): Promise<boolean>;
|
|
123
141
|
/**
|
|
124
142
|
* Gets some notes for a storage slot.
|
|
125
143
|
*
|
|
@@ -128,6 +146,7 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle {
|
|
|
128
146
|
* Real notes coming from DB will have a leafIndex which
|
|
129
147
|
* represents their index in the note hash tree.
|
|
130
148
|
*
|
|
149
|
+
* @param owner - The owner of the notes. If undefined, returns notes for all owners.
|
|
131
150
|
* @param storageSlot - The storage slot.
|
|
132
151
|
* @param numSelects - The number of valid selects in selectBy and selectValues.
|
|
133
152
|
* @param selectBy - An array of indices of the fields to selects.
|
|
@@ -140,18 +159,19 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle {
|
|
|
140
159
|
* @param status - The status of notes to fetch.
|
|
141
160
|
* @returns Array of note data.
|
|
142
161
|
*/
|
|
143
|
-
utilityGetNotes(storageSlot: Fr, numSelects: number, selectByIndexes: number[], selectByOffsets: number[], selectByLengths: number[], selectValues: Fr[], selectComparators: number[], sortByIndexes: number[], sortByOffsets: number[], sortByLengths: number[], sortOrder: number[], limit: number, offset: number, status: NoteStatus): Promise<NoteData[]>;
|
|
162
|
+
utilityGetNotes(owner: AztecAddress | undefined, storageSlot: Fr, numSelects: number, selectByIndexes: number[], selectByOffsets: number[], selectByLengths: number[], selectValues: Fr[], selectComparators: number[], sortByIndexes: number[], sortByOffsets: number[], sortByLengths: number[], sortOrder: number[], limit: number, offset: number, status: NoteStatus): Promise<NoteData[]>;
|
|
144
163
|
/**
|
|
145
164
|
* Keep track of the new note created during execution.
|
|
146
165
|
* It can be used in subsequent calls (or transactions when chaining txs is possible).
|
|
147
|
-
* @param
|
|
166
|
+
* @param owner - The owner of the note.
|
|
148
167
|
* @param storageSlot - The storage slot.
|
|
168
|
+
* @param randomness - The randomness injected into the note.
|
|
149
169
|
* @param noteTypeId - The type ID of the note.
|
|
150
170
|
* @param noteItems - The items to be included in a Note.
|
|
151
171
|
* @param noteHash - A hash of the new note.
|
|
152
172
|
* @returns
|
|
153
173
|
*/
|
|
154
|
-
privateNotifyCreatedNote(storageSlot: Fr, noteTypeId: NoteSelector, noteItems: Fr[], noteHash: Fr, counter: number): void;
|
|
174
|
+
privateNotifyCreatedNote(owner: AztecAddress, storageSlot: Fr, randomness: Fr, noteTypeId: NoteSelector, noteItems: Fr[], noteHash: Fr, counter: number): void;
|
|
155
175
|
/**
|
|
156
176
|
* Adding a siloed nullifier into the current set of all pending nullifiers created
|
|
157
177
|
* within the current transaction/execution.
|
|
@@ -204,17 +224,9 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle {
|
|
|
204
224
|
*/
|
|
205
225
|
privateNotifySetPublicTeardownFunctionCall(_targetContractAddress: AztecAddress, calldataHash: Fr, _sideEffectCounter: number, _isStaticCall: boolean): Promise<void>;
|
|
206
226
|
privateNotifySetMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter: number): Promise<void>;
|
|
207
|
-
|
|
208
|
-
* Derives the call context for a nested execution.
|
|
209
|
-
* @param targetContractAddress - The address of the contract being called.
|
|
210
|
-
* @param targetArtifact - The artifact of the function being called.
|
|
211
|
-
* @param isStaticCall - Whether the call is a static call.
|
|
212
|
-
* @returns The derived call context.
|
|
213
|
-
*/
|
|
227
|
+
privateIsSideEffectCounterRevertible(sideEffectCounter: number): Promise<boolean>;
|
|
214
228
|
private deriveCallContext;
|
|
215
229
|
getDebugFunctionName(): Promise<string>;
|
|
216
|
-
privateIncrementAppTaggingSecretIndexAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<void>;
|
|
217
|
-
utilityFetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
|
|
218
230
|
utilityEmitOffchainEffect(data: Fr[]): Promise<void>;
|
|
219
231
|
}
|
|
220
|
-
//# sourceMappingURL=
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcml2YXRlX2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFpQixNQUFNLHlCQUF5QixDQUFDO0FBQy9FLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFFaEIsZ0JBQWdCLEVBQ2hCLEtBQUssWUFBWSxFQUVsQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBK0IsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEcsT0FBTyxFQUFRLEtBQUssVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUNMLEtBQUssV0FBVyxFQUNoQixXQUFXLEVBQ1gsT0FBTyxFQUNQLHVCQUF1QixFQUN2QixXQUFXLEVBQ1gsMEJBQTBCLEVBQzFCLEtBQUssU0FBUyxFQUNmLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNDLE9BQU8sS0FBSyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0UsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXZFOztHQUVHO0FBQ0gscUJBQWEsc0JBQXVCLFNBQVEsc0JBQXVCLFlBQVcsdUJBQXVCOztJQTRCakcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRO0lBQ3pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVc7SUFDNUIscUhBQXFIO0lBQ3JILFNBQVMsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsV0FBVztJQUlqRCxPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWM7SUFDL0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTO0lBQzFCLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCO0lBRWxDLE9BQU8sQ0FBQyx3QkFBd0I7SUFDaEMsU0FBUyxDQUFDLGlCQUFpQixFQUFFLE1BQU07SUFHbkMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUN0QixPQUFPLENBQUMsU0FBUyxDQUFDO0lBNUNwQixTQUFTLE9BQWlCO0lBRTFCOzs7Ozs7O09BT0c7SUFDSCxPQUFPLENBQUMsUUFBUSxDQUFxQjtJQUNyQzs7Ozs7Ozs7T0FRRztJQUNILE9BQU8sQ0FBQyxvQkFBb0IsQ0FBa0M7SUFDOUQsT0FBTyxDQUFDLDJCQUEyQixDQUFrQztJQUNyRSxPQUFPLENBQUMsaUJBQWlCLENBQWlDO0lBQzFELE9BQU8sQ0FBQyxlQUFlLENBQXdCO0lBQy9DLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBb0M7SUFFbEUsWUFDbUIsUUFBUSxFQUFFLEVBQUUsRUFDWixTQUFTLEVBQUUsU0FBUyxFQUNwQixXQUFXLEVBQUUsV0FBVztJQUN6QyxxSEFBcUg7SUFDbEcsaUJBQWlCLEVBQUUsV0FBVztJQUNqRCx5RUFBeUU7SUFDekUsYUFBYSxFQUFFLFdBQVcsRUFBRSxFQUM1QixRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQ0YsY0FBYyxFQUFFLGlCQUFpQixFQUNqQyxTQUFTLEVBQUUsa0JBQWtCLEVBQzdCLGlCQUFpQixFQUFFLDBCQUEwQixFQUM5RCxxQkFBcUIsRUFBRSxxQkFBcUIsRUFDcEMsd0JBQXdCLEdBQUUsTUFBVSxFQUNsQyxpQkFBaUIsR0FBRSxNQUFVLEVBQ3ZDLEdBQUcseUNBQXFELEVBQ3hELE1BQU0sQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUNmLGFBQWEsQ0FBQywwQkFBYyxFQUM1QixTQUFTLENBQUMsOEJBQWtCLEVBR3JDO0lBRU0sdUJBQXVCLElBQUksb0JBQW9CLENBRXJEO0lBSUQ7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxXQUFXLHVCQWdCeEM7SUFFRDs7O09BR0c7SUFDSSx1QkFBdUIsd0JBRTdCO0lBRUQ7O09BRUc7SUFDSSxXQUFXLElBQUksV0FBVyxFQUFFLENBRWxDO0lBRU0sOEJBQThCLHdCQUVwQztJQUVEOztPQUVHO0lBQ0ksb0JBQW9CLDhCQUUxQjtJQUVEOztPQUVHO0lBQ0ksa0JBQWtCOztRQUV4QjtJQUVEOztPQUVHO0lBQ0ksY0FBYyxJQUFJLE1BQU0sRUFBRSxDQUVoQztJQUVEOztPQUVHO0lBQ0kseUJBQXlCLGlDQUUvQjtJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLENBRWxFO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLHVCQUF1QixDQUFDLGFBQWEsRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUd6RTtJQUVEOzs7OztPQUtHO0lBQ1UsNEJBQTRCLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0Fjckc7SUFvQkQ7Ozs7T0FJRztJQUNJLDRCQUE0QixDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUV6RDtJQUVEOzs7O09BSUc7SUFDSSw2QkFBNkIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQU01RDtJQUVjLDJCQUEyQixDQUFDLGNBQWMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQWUvRTtJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW9CRztJQUNtQixlQUFlLENBQ25DLEtBQUssRUFBRSxZQUFZLEdBQUcsU0FBUyxFQUMvQixXQUFXLEVBQUUsRUFBRSxFQUNmLFVBQVUsRUFBRSxNQUFNLEVBQ2xCLGVBQWUsRUFBRSxNQUFNLEVBQUUsRUFDekIsZUFBZSxFQUFFLE1BQU0sRUFBRSxFQUN6QixlQUFlLEVBQUUsTUFBTSxFQUFFLEVBQ3pCLFlBQVksRUFBRSxFQUFFLEVBQUUsRUFDbEIsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLEVBQzNCLGFBQWEsRUFBRSxNQUFNLEVBQUUsRUFDdkIsYUFBYSxFQUFFLE1BQU0sRUFBRSxFQUN2QixhQUFhLEVBQUUsTUFBTSxFQUFFLEVBQ3ZCLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsS0FBSyxFQUFFLE1BQU0sRUFDYixNQUFNLEVBQUUsTUFBTSxFQUNkLE1BQU0sRUFBRSxVQUFVLEdBQ2pCLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQW9EckI7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksd0JBQXdCLENBQzdCLEtBQUssRUFBRSxZQUFZLEVBQ25CLFdBQVcsRUFBRSxFQUFFLEVBQ2YsVUFBVSxFQUFFLEVBQUUsRUFDZCxVQUFVLEVBQUUsWUFBWSxFQUN4QixTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQ2YsUUFBUSxFQUFFLEVBQUUsRUFDWixPQUFPLEVBQUUsTUFBTSxRQXlCaEI7SUFFRDs7Ozs7T0FLRztJQUNVLDBCQUEwQixDQUFDLGNBQWMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFTeEY7SUFFRDs7Ozs7T0FLRztJQUNJLDZCQUE2QixDQUFDLGNBQWMsRUFBRSxFQUFFLGlCQUd0RDtJQUVEOzs7Ozs7T0FNRztJQUNJLG9DQUFvQyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxRQU1qRjtJQWNEOzs7Ozs7OztPQVFHO0lBQ0csMEJBQTBCLENBQzlCLHFCQUFxQixFQUFFLFlBQVksRUFDbkMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLFFBQVEsRUFBRSxFQUFFLEVBQ1osaUJBQWlCLEVBQUUsTUFBTSxFQUN6QixZQUFZLEVBQUUsT0FBTzs7O09Bd0V0QjtJQWNEOzs7Ozs7T0FNRztJQUNJLHVDQUF1QyxDQUM1QyxzQkFBc0IsRUFBRSxZQUFZLEVBQ3BDLFlBQVksRUFBRSxFQUFFLEVBQ2hCLGtCQUFrQixFQUFFLE1BQU0sRUFDMUIsYUFBYSxFQUFFLE9BQU8saUJBSXZCO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksMENBQTBDLENBQy9DLHNCQUFzQixFQUFFLFlBQVksRUFDcEMsWUFBWSxFQUFFLEVBQUUsRUFDaEIsa0JBQWtCLEVBQUUsTUFBTSxFQUMxQixhQUFhLEVBQUUsT0FBTyxpQkFJdkI7SUFFTSw4Q0FBOEMsQ0FBQyw4QkFBOEIsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUUzRztJQUVNLG9DQUFvQyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBRXZGO1lBU2EsaUJBQWlCO0lBYXhCLG9CQUFvQixvQkFFMUI7SUFFTSx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUcxRDtDQUNGIn0=
|