@aztec/simulator 0.66.0 → 0.67.1-devnet
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/acvm/acvm.js +3 -3
- package/dest/acvm/oracle/oracle.d.ts +2 -2
- package/dest/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.js +5 -5
- package/dest/acvm/oracle/typed_oracle.d.ts +3 -3
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +5 -5
- package/dest/acvm/serialize.js +2 -2
- package/dest/avm/avm_context.d.ts +2 -2
- package/dest/avm/avm_context.d.ts.map +1 -1
- package/dest/avm/avm_context.js +3 -4
- package/dest/avm/avm_execution_environment.d.ts +4 -6
- package/dest/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/avm/avm_execution_environment.js +8 -13
- package/dest/avm/avm_memory_types.d.ts +3 -3
- package/dest/avm/avm_memory_types.d.ts.map +1 -1
- package/dest/avm/avm_memory_types.js +29 -29
- package/dest/avm/avm_simulator.d.ts +3 -3
- package/dest/avm/avm_simulator.d.ts.map +1 -1
- package/dest/avm/avm_simulator.js +27 -15
- package/dest/avm/avm_tree.d.ts +2 -1
- package/dest/avm/avm_tree.d.ts.map +1 -1
- package/dest/avm/avm_tree.js +6 -2
- package/dest/avm/errors.d.ts +3 -3
- package/dest/avm/errors.d.ts.map +1 -1
- package/dest/avm/errors.js +8 -15
- package/dest/avm/fixtures/index.d.ts +2 -0
- package/dest/avm/fixtures/index.d.ts.map +1 -1
- package/dest/avm/fixtures/index.js +7 -7
- package/dest/avm/journal/journal.d.ts +31 -8
- package/dest/avm/journal/journal.d.ts.map +1 -1
- package/dest/avm/journal/journal.js +139 -42
- package/dest/avm/opcodes/conversion.d.ts +4 -4
- package/dest/avm/opcodes/conversion.d.ts.map +1 -1
- package/dest/avm/opcodes/conversion.js +22 -18
- package/dest/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/avm/opcodes/external_calls.js +4 -11
- package/dest/avm/opcodes/misc.d.ts.map +1 -1
- package/dest/avm/opcodes/misc.js +3 -3
- package/dest/avm/test_utils.d.ts +1 -0
- package/dest/avm/test_utils.d.ts.map +1 -1
- package/dest/avm/test_utils.js +4 -1
- package/dest/client/client_execution_context.d.ts +3 -3
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +15 -8
- package/dest/client/db_oracle.d.ts +9 -5
- package/dest/client/db_oracle.d.ts.map +1 -1
- package/dest/client/execution_note_cache.d.ts +9 -1
- package/dest/client/execution_note_cache.d.ts.map +1 -1
- package/dest/client/execution_note_cache.js +10 -3
- package/dest/client/index.d.ts +1 -0
- package/dest/client/index.d.ts.map +1 -1
- package/dest/client/index.js +2 -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.map +1 -1
- package/dest/client/simulator.js +4 -4
- package/dest/client/unconstrained_execution.d.ts.map +1 -1
- package/dest/client/unconstrained_execution.js +3 -3
- package/dest/client/view_data_oracle.d.ts +4 -4
- package/dest/client/view_data_oracle.d.ts.map +1 -1
- package/dest/client/view_data_oracle.js +9 -9
- package/dest/common/debug_fn_name.d.ts +2 -2
- package/dest/common/debug_fn_name.d.ts.map +1 -1
- package/dest/common/debug_fn_name.js +8 -14
- package/dest/providers/acvm_native.js +4 -4
- package/dest/providers/acvm_wasm.js +2 -2
- package/dest/providers/factory.d.ts +2 -2
- package/dest/providers/factory.d.ts.map +1 -1
- package/dest/providers/factory.js +4 -4
- package/dest/providers/index.d.ts +0 -1
- package/dest/providers/index.d.ts.map +1 -1
- package/dest/providers/index.js +1 -2
- package/dest/public/enqueued_call_side_effect_trace.d.ts +15 -26
- package/dest/public/enqueued_call_side_effect_trace.d.ts.map +1 -1
- package/dest/public/enqueued_call_side_effect_trace.js +42 -62
- package/dest/public/execution.d.ts +2 -2
- package/dest/public/execution.d.ts.map +1 -1
- package/dest/public/execution.js +1 -1
- package/dest/public/executor_metrics.d.ts.map +1 -1
- package/dest/public/executor_metrics.js +2 -5
- package/dest/public/fee_payment.d.ts.map +1 -1
- package/dest/public/fee_payment.js +4 -3
- package/dest/public/fixtures/index.d.ts +24 -1
- package/dest/public/fixtures/index.d.ts.map +1 -1
- package/dest/public/fixtures/index.js +17 -11
- package/dest/public/index.d.ts +0 -1
- package/dest/public/index.d.ts.map +1 -1
- package/dest/public/index.js +1 -2
- package/dest/public/public_db_sources.d.ts.map +1 -1
- package/dest/public/public_db_sources.js +10 -9
- package/dest/public/public_processor.d.ts +12 -12
- package/dest/public/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor.js +80 -68
- package/dest/public/public_processor_metrics.d.ts +1 -1
- package/dest/public/public_processor_metrics.d.ts.map +1 -1
- package/dest/public/public_tx_context.d.ts +13 -10
- package/dest/public/public_tx_context.d.ts.map +1 -1
- package/dest/public/public_tx_context.js +72 -45
- package/dest/public/public_tx_simulator.d.ts +2 -2
- package/dest/public/public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator.js +54 -23
- package/dest/public/side_effect_trace_interface.d.ts +6 -18
- package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
- package/dest/public/transitional_adapters.d.ts +2 -2
- package/dest/public/transitional_adapters.d.ts.map +1 -1
- package/dest/public/transitional_adapters.js +10 -39
- package/package.json +16 -9
- package/src/acvm/acvm.ts +2 -2
- package/src/acvm/oracle/oracle.ts +4 -4
- package/src/acvm/oracle/typed_oracle.ts +5 -5
- package/src/acvm/serialize.ts +1 -1
- package/src/avm/avm_context.ts +2 -3
- package/src/avm/avm_execution_environment.ts +6 -31
- package/src/avm/avm_memory_types.ts +31 -29
- package/src/avm/avm_simulator.ts +28 -22
- package/src/avm/avm_tree.ts +6 -1
- package/src/avm/errors.ts +12 -14
- package/src/avm/fixtures/index.ts +6 -5
- package/src/avm/journal/journal.ts +230 -71
- package/src/avm/opcodes/conversion.ts +21 -16
- package/src/avm/opcodes/external_calls.ts +3 -19
- package/src/avm/opcodes/misc.ts +2 -2
- package/src/avm/test_utils.ts +4 -0
- package/src/client/client_execution_context.ts +19 -9
- package/src/client/db_oracle.ts +10 -5
- package/src/client/execution_note_cache.ts +13 -3
- package/src/client/index.ts +1 -0
- package/src/client/private_execution.ts +3 -3
- package/src/client/simulator.ts +4 -4
- package/src/client/unconstrained_execution.ts +2 -2
- package/src/client/view_data_oracle.ts +11 -9
- package/src/common/debug_fn_name.ts +7 -13
- package/src/providers/acvm_native.ts +3 -3
- package/src/providers/acvm_wasm.ts +2 -2
- package/src/providers/factory.ts +3 -3
- package/src/providers/index.ts +0 -1
- package/src/public/enqueued_call_side_effect_trace.ts +62 -86
- package/src/public/execution.ts +1 -2
- package/src/public/executor_metrics.ts +0 -4
- package/src/public/fee_payment.ts +3 -2
- package/src/public/fixtures/index.ts +25 -12
- package/src/public/index.ts +0 -1
- package/src/public/public_db_sources.ts +9 -8
- package/src/public/public_processor.ts +109 -105
- package/src/public/public_processor_metrics.ts +1 -1
- package/src/public/public_tx_context.ts +97 -50
- package/src/public/public_tx_simulator.ts +69 -38
- package/src/public/side_effect_trace_interface.ts +10 -16
- package/src/public/transitional_adapters.ts +12 -48
- package/dest/public/dual_side_effect_trace.d.ts +0 -77
- package/dest/public/dual_side_effect_trace.d.ts.map +0 -1
- package/dest/public/dual_side_effect_trace.js +0 -119
- package/dest/public/side_effect_trace.d.ts +0 -96
- package/dest/public/side_effect_trace.d.ts.map +0 -1
- package/dest/public/side_effect_trace.js +0 -309
- package/src/public/dual_side_effect_trace.ts +0 -242
- package/src/public/side_effect_trace.ts +0 -536
package/dest/avm/errors.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Fr, FunctionSelector, PUBLIC_DISPATCH_SELECTOR } from '@aztec/circuits.js';
|
|
2
1
|
import { ExecutionError } from '../common/errors.js';
|
|
3
2
|
/**
|
|
4
3
|
* Avm-specific errors should derive from this
|
|
@@ -119,16 +118,9 @@ export class AvmRevertReason extends ExecutionError {
|
|
|
119
118
|
super(message, failingFunction, noirCallStack, options);
|
|
120
119
|
}
|
|
121
120
|
}
|
|
122
|
-
function createRevertReason(message, revertData, context) {
|
|
123
|
-
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/8985): Properly fix this.
|
|
124
|
-
// If the function selector is the public dispatch selector, we need to extract the actual function selector from the calldata.
|
|
125
|
-
// We should remove this because the AVM (or public protocol) shouldn't be aware of the public dispatch calling convention.
|
|
126
|
-
let functionSelector = context.environment.functionSelector;
|
|
121
|
+
async function createRevertReason(message, revertData, context) {
|
|
127
122
|
// We drop the returnPc information.
|
|
128
123
|
const internalCallStack = context.machineState.internalCallStack.map(entry => entry.callPc);
|
|
129
|
-
if (functionSelector.toField().equals(new Fr(PUBLIC_DISPATCH_SELECTOR)) && context.environment.calldata.length > 0) {
|
|
130
|
-
functionSelector = FunctionSelector.fromField(context.environment.calldata[0]);
|
|
131
|
-
}
|
|
132
124
|
// If we are reverting due to the same error that we have been tracking, we use the nested error as the cause.
|
|
133
125
|
let nestedError = undefined;
|
|
134
126
|
const revertDataEquals = (a, b) => a.length === b.length && a.every((v, i) => v.equals(b[i]));
|
|
@@ -137,10 +129,11 @@ function createRevertReason(message, revertData, context) {
|
|
|
137
129
|
nestedError = context.machineState.collectedRevertInfo.recursiveRevertReason;
|
|
138
130
|
message = context.machineState.collectedRevertInfo.recursiveRevertReason.message;
|
|
139
131
|
}
|
|
132
|
+
const fnName = await context.persistableState.getPublicFunctionDebugName(context.environment);
|
|
140
133
|
return new AvmRevertReason(message,
|
|
141
134
|
/*failingFunction=*/ {
|
|
142
135
|
contractAddress: context.environment.address,
|
|
143
|
-
|
|
136
|
+
functionName: fnName,
|
|
144
137
|
},
|
|
145
138
|
/*noirCallStack=*/ [...internalCallStack, context.machineState.pc].map(pc => `0.${pc}`),
|
|
146
139
|
/*options=*/ { cause: nestedError });
|
|
@@ -151,8 +144,8 @@ function createRevertReason(message, revertData, context) {
|
|
|
151
144
|
* @param haltingError - the lower-level error causing the exceptional halt
|
|
152
145
|
* @param context - the context of the AVM execution used to extract the failingFunction and noirCallStack
|
|
153
146
|
*/
|
|
154
|
-
export function revertReasonFromExceptionalHalt(haltingError, context) {
|
|
155
|
-
return createRevertReason(haltingError.message, [], context);
|
|
147
|
+
export async function revertReasonFromExceptionalHalt(haltingError, context) {
|
|
148
|
+
return await createRevertReason(haltingError.message, [], context);
|
|
156
149
|
}
|
|
157
150
|
/**
|
|
158
151
|
* Create a "revert reason" error for an explicit revert (a root cause).
|
|
@@ -160,7 +153,7 @@ export function revertReasonFromExceptionalHalt(haltingError, context) {
|
|
|
160
153
|
* @param revertData - output data of the explicit REVERT instruction
|
|
161
154
|
* @param context - the context of the AVM execution used to extract the failingFunction and noirCallStack
|
|
162
155
|
*/
|
|
163
|
-
export function revertReasonFromExplicitRevert(revertData, context) {
|
|
164
|
-
return createRevertReason('Assertion failed: ', revertData, context);
|
|
156
|
+
export async function revertReasonFromExplicitRevert(revertData, context) {
|
|
157
|
+
return await createRevertReason('Assertion failed: ', revertData, context);
|
|
165
158
|
}
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F2bS9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3JEOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixpQkFBa0IsU0FBUSxLQUFLO0lBQ25ELFlBQVksT0FBZTtRQUN6QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxpQkFBaUI7SUFDL0QsWUFBWSxlQUE2QjtRQUN2QyxLQUFLLENBQUMseUJBQXlCLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLElBQUksR0FBRyxpQ0FBaUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxpQkFBaUI7SUFDcEQsWUFBWSxPQUFlO1FBQ3pCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztDQUNGO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQUMvRCxZQUFZLEVBQVUsRUFBRSxHQUFXO1FBQ2pDLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxZQUFZLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLElBQUksR0FBRyw0QkFBNEIsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsaUJBQWlCO0lBQ3ZELFlBQVksR0FBVztRQUNyQixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxJQUFJLENBQUMsSUFBSSxHQUFHLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7Q0FD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
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
import { TxHash } from '@aztec/circuit-types';
|
|
3
4
|
import { GlobalVariables } from '@aztec/circuits.js';
|
|
4
5
|
import { type FunctionArtifact, FunctionSelector } from '@aztec/foundation/abi';
|
|
5
6
|
import { Fr } from '@aztec/foundation/fields';
|
|
@@ -30,6 +31,7 @@ export declare function initPersistableStateManager(overrides?: {
|
|
|
30
31
|
nullifiers?: NullifierManager;
|
|
31
32
|
doMerkleOperations?: boolean;
|
|
32
33
|
merkleTrees?: AvmEphemeralForest;
|
|
34
|
+
txHash?: TxHash;
|
|
33
35
|
}): AvmPersistableStateManager;
|
|
34
36
|
/**
|
|
35
37
|
* Create an empty instance of the Execution Environment where all values are zero, unless overridden in the overrides object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/avm/fixtures/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/avm/fixtures/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { isNoirCallStackUnresolved } from '@aztec/circuit-types';
|
|
2
|
-
import { GasFees, GlobalVariables,
|
|
1
|
+
import { TxHash, isNoirCallStackUnresolved } from '@aztec/circuit-types';
|
|
2
|
+
import { GasFees, GlobalVariables, MAX_L2_GAS_PER_TX_PUBLIC_PORTION } from '@aztec/circuits.js';
|
|
3
3
|
import { FunctionSelector } from '@aztec/foundation/abi';
|
|
4
4
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
5
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
6
6
|
import { Fr } from '@aztec/foundation/fields';
|
|
7
|
-
import { AvmTestContractArtifact } from '@aztec/noir-contracts.js';
|
|
7
|
+
import { AvmTestContractArtifact } from '@aztec/noir-contracts.js/AvmTest';
|
|
8
8
|
import { strict as assert } from 'assert';
|
|
9
9
|
import { mock } from 'jest-mock-extended';
|
|
10
10
|
import merge from 'lodash.merge';
|
|
@@ -25,13 +25,13 @@ export function initContext(overrides) {
|
|
|
25
25
|
/** Creates an empty state manager with mocked host storage. */
|
|
26
26
|
export function initPersistableStateManager(overrides) {
|
|
27
27
|
const worldStateDB = overrides?.worldStateDB || mock();
|
|
28
|
-
return new AvmPersistableStateManager(worldStateDB, overrides?.trace || mock(), overrides?.publicStorage || new PublicStorage(worldStateDB), overrides?.nullifiers || new NullifierManager(worldStateDB), overrides?.doMerkleOperations || false, overrides?.merkleTrees || mock());
|
|
28
|
+
return new AvmPersistableStateManager(worldStateDB, overrides?.trace || mock(), overrides?.publicStorage || new PublicStorage(worldStateDB), overrides?.nullifiers || new NullifierManager(worldStateDB), overrides?.doMerkleOperations || false, overrides?.merkleTrees || mock(), overrides?.txHash || new TxHash(new Fr(27).toBuffer()));
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
31
|
* Create an empty instance of the Execution Environment where all values are zero, unless overridden in the overrides object
|
|
32
32
|
*/
|
|
33
33
|
export function initExecutionEnvironment(overrides) {
|
|
34
|
-
return new AvmExecutionEnvironment(overrides?.address ?? AztecAddress.zero(), overrides?.sender ?? AztecAddress.zero(), overrides?.
|
|
34
|
+
return new AvmExecutionEnvironment(overrides?.address ?? AztecAddress.zero(), overrides?.sender ?? AztecAddress.zero(), overrides?.contractCallDepth ?? Fr.zero(), overrides?.transactionFee ?? Fr.zero(), overrides?.globals ?? GlobalVariables.empty(), overrides?.isStaticCall ?? false, overrides?.calldata ?? []);
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
37
|
* Create an empty instance of the Execution Environment where all values are zero, unless overridden in the overrides object
|
|
@@ -44,7 +44,7 @@ export function initGlobalVariables(overrides) {
|
|
|
44
44
|
*/
|
|
45
45
|
export function initMachineState(overrides) {
|
|
46
46
|
return AvmMachineState.fromState({
|
|
47
|
-
l2GasLeft: overrides?.l2GasLeft ??
|
|
47
|
+
l2GasLeft: overrides?.l2GasLeft ?? MAX_L2_GAS_PER_TX_PUBLIC_PORTION,
|
|
48
48
|
daGasLeft: overrides?.daGasLeft ?? 1e8,
|
|
49
49
|
});
|
|
50
50
|
}
|
|
@@ -91,4 +91,4 @@ export function resolveAvmTestContractAssertionMessage(functionName, revertReaso
|
|
|
91
91
|
}
|
|
92
92
|
return resolveAssertionMessageFromRevertData(output, functionArtifact);
|
|
93
93
|
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXZtL2ZpeHR1cmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hHLE9BQU8sRUFBeUIsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUUzRSxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBRWpDLE9BQU8sRUFBcUIscUNBQXFDLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUd0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFP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
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
import { type
|
|
3
|
+
import { type TxHash } from '@aztec/circuit-types';
|
|
4
|
+
import { AztecAddress, type PublicCallRequest, SerializableContractInstance } from '@aztec/circuits.js';
|
|
4
5
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
6
|
import { type WorldStateDB } from '../../public/public_db_sources.js';
|
|
6
7
|
import { type PublicSideEffectTraceInterface } from '../../public/side_effect_trace_interface.js';
|
|
7
|
-
import { type AvmContractCallResult } from '../avm_contract_call_result.js';
|
|
8
8
|
import { type AvmExecutionEnvironment } from '../avm_execution_environment.js';
|
|
9
9
|
import { AvmEphemeralForest } from '../avm_tree.js';
|
|
10
10
|
import { NullifierManager } from './nullifiers.js';
|
|
@@ -30,6 +30,7 @@ export declare class AvmPersistableStateManager {
|
|
|
30
30
|
private readonly doMerkleOperations;
|
|
31
31
|
/** Ephmeral forest for merkle tree operations */
|
|
32
32
|
merkleTrees: AvmEphemeralForest;
|
|
33
|
+
readonly txHash: TxHash;
|
|
33
34
|
private readonly log;
|
|
34
35
|
/** Make sure a forked state is never merged twice. */
|
|
35
36
|
private alreadyMergedIntoParent;
|
|
@@ -43,15 +44,15 @@ export declare class AvmPersistableStateManager {
|
|
|
43
44
|
/** Nullifier set, including cached/recently-emitted nullifiers */
|
|
44
45
|
nullifiers: NullifierManager, doMerkleOperations: boolean,
|
|
45
46
|
/** Ephmeral forest for merkle tree operations */
|
|
46
|
-
merkleTrees: AvmEphemeralForest);
|
|
47
|
+
merkleTrees: AvmEphemeralForest, txHash: TxHash);
|
|
47
48
|
/**
|
|
48
49
|
* Create a new state manager with some preloaded pending siloed nullifiers
|
|
49
50
|
*/
|
|
50
|
-
static newWithPendingSiloedNullifiers(worldStateDB: WorldStateDB, trace: PublicSideEffectTraceInterface, pendingSiloedNullifiers: Fr[], doMerkleOperations
|
|
51
|
+
static newWithPendingSiloedNullifiers(worldStateDB: WorldStateDB, trace: PublicSideEffectTraceInterface, pendingSiloedNullifiers: Fr[], doMerkleOperations: boolean | undefined, txHash: TxHash): Promise<AvmPersistableStateManager>;
|
|
51
52
|
/**
|
|
52
53
|
* Create a new state manager
|
|
53
54
|
*/
|
|
54
|
-
static create(worldStateDB: WorldStateDB, trace: PublicSideEffectTraceInterface, doMerkleOperations
|
|
55
|
+
static create(worldStateDB: WorldStateDB, trace: PublicSideEffectTraceInterface, doMerkleOperations: boolean | undefined, txHash: TxHash): Promise<AvmPersistableStateManager>;
|
|
55
56
|
/**
|
|
56
57
|
* Create a new state manager forked from this one
|
|
57
58
|
*/
|
|
@@ -72,7 +73,7 @@ export declare class AvmPersistableStateManager {
|
|
|
72
73
|
* @param slot - the slot in the contract's storage being written to
|
|
73
74
|
* @param value - the value being written to the slot
|
|
74
75
|
*/
|
|
75
|
-
writeStorage(contractAddress: AztecAddress, slot: Fr, value: Fr): Promise<void>;
|
|
76
|
+
writeStorage(contractAddress: AztecAddress, slot: Fr, value: Fr, protocolWrite?: boolean): Promise<void>;
|
|
76
77
|
/**
|
|
77
78
|
* Read from public storage, trace the read.
|
|
78
79
|
*
|
|
@@ -99,10 +100,20 @@ export declare class AvmPersistableStateManager {
|
|
|
99
100
|
*/
|
|
100
101
|
checkNoteHashExists(contractAddress: AztecAddress, noteHash: Fr, leafIndex: Fr): Promise<boolean>;
|
|
101
102
|
/**
|
|
102
|
-
* Write a note hash, trace the write.
|
|
103
|
+
* Write a raw note hash, silo it and make it unique, then trace the write.
|
|
103
104
|
* @param noteHash - the unsiloed note hash to write
|
|
104
105
|
*/
|
|
105
106
|
writeNoteHash(contractAddress: AztecAddress, noteHash: Fr): void;
|
|
107
|
+
/**
|
|
108
|
+
* Write a note hash, make it unique, trace the write.
|
|
109
|
+
* @param noteHash - the non unique note hash to write
|
|
110
|
+
*/
|
|
111
|
+
writeSiloedNoteHash(noteHash: Fr): void;
|
|
112
|
+
/**
|
|
113
|
+
* Write a note hash, trace the write.
|
|
114
|
+
* @param noteHash - the siloed unique hash to write
|
|
115
|
+
*/
|
|
116
|
+
writeUniqueNoteHash(noteHash: Fr): void;
|
|
106
117
|
/**
|
|
107
118
|
* Check if a nullifier exists, trace the check.
|
|
108
119
|
* @param contractAddress - address of the contract that the nullifier is associated with
|
|
@@ -110,6 +121,18 @@ export declare class AvmPersistableStateManager {
|
|
|
110
121
|
* @returns exists - whether the nullifier exists in the nullifier set
|
|
111
122
|
*/
|
|
112
123
|
checkNullifierExists(contractAddress: AztecAddress, nullifier: Fr): Promise<boolean>;
|
|
124
|
+
/**
|
|
125
|
+
* Helper to get membership information for a siloed nullifier when checking its existence.
|
|
126
|
+
* Optionally trace the nullifier check.
|
|
127
|
+
*
|
|
128
|
+
* @param siloedNullifier - the siloed nullifier to get membership information for
|
|
129
|
+
* @returns
|
|
130
|
+
* - exists - whether the nullifier exists in the nullifier set
|
|
131
|
+
* - leafOrLowLeafPreimage - the preimage of the nullifier leaf or its low-leaf if it doesn't exist
|
|
132
|
+
* - leafOrLowLeafIndex - the leaf index of the nullifier leaf or its low-leaf if it doesn't exist
|
|
133
|
+
* - leafOrLowLeafPath - the sibling path of the nullifier leaf or its low-leaf if it doesn't exist
|
|
134
|
+
*/
|
|
135
|
+
private getNullifierMembership;
|
|
113
136
|
/**
|
|
114
137
|
* Write a nullifier to the nullifier set, trace the write.
|
|
115
138
|
* @param contractAddress - address of the contract that the nullifier is associated with
|
|
@@ -153,7 +176,7 @@ export declare class AvmPersistableStateManager {
|
|
|
153
176
|
* Get a contract's bytecode from the contracts DB, also trace the contract class and instance
|
|
154
177
|
*/
|
|
155
178
|
getBytecode(contractAddress: AztecAddress): Promise<Buffer | undefined>;
|
|
156
|
-
traceNestedCall(forkedState: AvmPersistableStateManager, nestedEnvironment: AvmExecutionEnvironment, startGasLeft: Gas, bytecode: Buffer, avmCallResults: AvmContractCallResult): Promise<void>;
|
|
157
179
|
traceEnqueuedCall(publicCallRequest: PublicCallRequest, calldata: Fr[], reverted: boolean): void;
|
|
180
|
+
getPublicFunctionDebugName(avmEnvironment: AvmExecutionEnvironment): Promise<string>;
|
|
158
181
|
}
|
|
159
182
|
//# sourceMappingURL=journal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../../src/avm/journal/journal.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../../src/avm/journal/journal.ts"],"names":[],"mappings":"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"}
|