@aztec/simulator 0.40.1 → 0.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/acvm/acvm.d.ts +2 -2
- package/dest/acvm/acvm.d.ts.map +1 -1
- package/dest/acvm/acvm.js +3 -3
- package/dest/acvm/oracle/oracle.d.ts +6 -2
- package/dest/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.js +31 -19
- package/dest/acvm/oracle/typed_oracle.d.ts +8 -11
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +17 -5
- package/dest/acvm/serialize.js +2 -2
- package/dest/avm/avm_execution_environment.d.ts +4 -3
- package/dest/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/avm/avm_execution_environment.js +7 -5
- package/dest/avm/avm_gas.d.ts +1 -5
- package/dest/avm/avm_gas.d.ts.map +1 -1
- package/dest/avm/avm_gas.js +67 -73
- package/dest/avm/avm_simulator.d.ts +5 -0
- package/dest/avm/avm_simulator.d.ts.map +1 -1
- package/dest/avm/avm_simulator.js +12 -4
- package/dest/avm/errors.d.ts +6 -0
- package/dest/avm/errors.d.ts.map +1 -1
- package/dest/avm/errors.js +10 -1
- package/dest/avm/fixtures/index.d.ts +3 -0
- package/dest/avm/fixtures/index.d.ts.map +1 -1
- package/dest/avm/fixtures/index.js +15 -3
- package/dest/avm/index.d.ts +2 -0
- package/dest/avm/index.d.ts.map +1 -0
- package/dest/avm/index.js +2 -0
- 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/journal.d.ts +4 -3
- package/dest/avm/journal/journal.d.ts.map +1 -1
- package/dest/avm/journal/journal.js +10 -11
- package/dest/avm/journal/nullifiers.d.ts +17 -5
- package/dest/avm/journal/nullifiers.d.ts.map +1 -1
- package/dest/avm/journal/nullifiers.js +27 -10
- package/dest/avm/journal/public_storage.d.ts +19 -6
- package/dest/avm/journal/public_storage.d.ts.map +1 -1
- package/dest/avm/journal/public_storage.js +30 -12
- package/dest/avm/journal/trace.d.ts +2 -0
- package/dest/avm/journal/trace.d.ts.map +1 -1
- package/dest/avm/journal/trace.js +7 -1
- package/dest/avm/journal/trace_types.d.ts +1 -0
- package/dest/avm/journal/trace_types.d.ts.map +1 -1
- package/dest/avm/journal/trace_types.js +1 -1
- package/dest/avm/opcodes/accrued_substate.d.ts.map +1 -1
- package/dest/avm/opcodes/accrued_substate.js +6 -7
- package/dest/avm/opcodes/arithmetic.d.ts +1 -7
- package/dest/avm/opcodes/arithmetic.d.ts.map +1 -1
- package/dest/avm/opcodes/arithmetic.js +1 -12
- package/dest/avm/opcodes/conversion.js +2 -2
- package/dest/avm/opcodes/external_calls.d.ts +2 -2
- package/dest/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/avm/opcodes/external_calls.js +25 -13
- package/dest/avm/opcodes/instruction.d.ts +1 -1
- package/dest/avm/opcodes/instruction.d.ts.map +1 -1
- package/dest/avm/opcodes/instruction.js +6 -4
- package/dest/avm/opcodes/memory.d.ts +0 -4
- package/dest/avm/opcodes/memory.d.ts.map +1 -1
- package/dest/avm/opcodes/memory.js +1 -7
- package/dest/avm/opcodes/storage.d.ts +0 -12
- package/dest/avm/opcodes/storage.d.ts.map +1 -1
- package/dest/avm/opcodes/storage.js +3 -18
- package/dest/avm/serialization/bytecode_serialization.js +2 -2
- package/dest/client/client_execution_context.d.ts +30 -20
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +59 -39
- package/dest/client/db_oracle.d.ts +17 -12
- package/dest/client/db_oracle.d.ts.map +1 -1
- package/dest/client/execution_note_cache.js +2 -2
- package/dest/client/execution_result.d.ts +17 -2
- package/dest/client/execution_result.d.ts.map +1 -1
- package/dest/client/execution_result.js +32 -4
- package/dest/client/private_execution.d.ts +2 -3
- package/dest/client/private_execution.d.ts.map +1 -1
- package/dest/client/private_execution.js +22 -8
- package/dest/client/simulator.d.ts +0 -16
- package/dest/client/simulator.d.ts.map +1 -1
- package/dest/client/simulator.js +13 -30
- package/dest/client/unconstrained_execution.d.ts +2 -3
- package/dest/client/unconstrained_execution.d.ts.map +1 -1
- package/dest/client/unconstrained_execution.js +5 -7
- package/dest/client/view_data_oracle.d.ts +12 -10
- package/dest/client/view_data_oracle.d.ts.map +1 -1
- package/dest/client/view_data_oracle.js +17 -11
- package/dest/common/index.d.ts +1 -0
- package/dest/common/index.d.ts.map +1 -1
- package/dest/common/index.js +2 -1
- package/dest/common/return_values.d.ts +11 -0
- package/dest/common/return_values.d.ts.map +1 -0
- package/dest/common/return_values.js +13 -0
- package/dest/index.d.ts +3 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +4 -2
- package/dest/mocks/fixtures.d.ts +15 -10
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +22 -17
- package/dest/{simulator → providers}/acvm_native.d.ts.map +1 -1
- package/dest/{simulator → providers}/acvm_native.js +13 -14
- package/dest/providers/acvm_wasm.d.ts.map +1 -0
- package/dest/providers/acvm_wasm.js +15 -0
- package/dest/providers/index.d.ts.map +1 -0
- package/dest/{simulator → providers}/index.js +1 -1
- package/dest/{simulator → providers}/simulation_provider.d.ts.map +1 -1
- package/dest/{simulator → providers}/simulation_provider.js +1 -1
- package/dest/public/abstract_phase_manager.d.ts +43 -42
- package/dest/public/abstract_phase_manager.d.ts.map +1 -1
- package/dest/public/abstract_phase_manager.js +81 -103
- package/dest/public/app_logic_phase_manager.d.ts +7 -8
- package/dest/public/app_logic_phase_manager.d.ts.map +1 -1
- package/dest/public/app_logic_phase_manager.js +14 -14
- package/dest/public/{db.d.ts → db_interfaces.d.ts} +3 -3
- package/dest/public/db_interfaces.d.ts.map +1 -0
- package/dest/public/db_interfaces.js +2 -0
- package/dest/public/execution.d.ts +17 -14
- package/dest/public/execution.d.ts.map +1 -1
- package/dest/public/execution.js +1 -1
- package/dest/public/executor.d.ts +3 -30
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +32 -279
- package/dest/public/fee_payment.d.ts +11 -0
- package/dest/public/fee_payment.d.ts.map +1 -0
- package/dest/public/fee_payment.js +24 -0
- package/dest/public/hints_builder.d.ts +3 -2
- package/dest/public/hints_builder.d.ts.map +1 -1
- package/dest/public/hints_builder.js +8 -4
- package/dest/public/index.d.ts +4 -2
- package/dest/public/index.d.ts.map +1 -1
- package/dest/public/index.js +5 -3
- package/dest/public/phase_manager_factory.d.ts +1 -1
- package/dest/public/phase_manager_factory.d.ts.map +1 -1
- package/dest/public/{public_executor.d.ts → public_db_sources.d.ts} +3 -2
- package/dest/public/public_db_sources.d.ts.map +1 -0
- package/dest/public/public_db_sources.js +198 -0
- package/dest/public/public_kernel.js +14 -14
- package/dest/public/public_processor.d.ts +8 -6
- package/dest/public/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor.js +48 -29
- package/dest/public/setup_phase_manager.d.ts +7 -9
- package/dest/public/setup_phase_manager.d.ts.map +1 -1
- package/dest/public/setup_phase_manager.js +11 -20
- package/dest/public/tail_phase_manager.d.ts +5 -11
- package/dest/public/tail_phase_manager.d.ts.map +1 -1
- package/dest/public/tail_phase_manager.js +16 -36
- package/dest/public/teardown_phase_manager.d.ts +7 -9
- package/dest/public/teardown_phase_manager.d.ts.map +1 -1
- package/dest/public/teardown_phase_manager.js +15 -21
- package/dest/public/transitional_adaptors.d.ts +3 -2
- package/dest/public/transitional_adaptors.d.ts.map +1 -1
- package/dest/public/transitional_adaptors.js +24 -8
- package/dest/public/utils.d.ts +2 -2
- package/dest/public/utils.d.ts.map +1 -1
- package/dest/public/utils.js +21 -14
- package/package.json +12 -9
- package/src/acvm/acvm.ts +0 -3
- package/src/acvm/oracle/oracle.ts +53 -27
- package/src/acvm/oracle/typed_oracle.ts +25 -16
- package/src/acvm/serialize.ts +1 -1
- package/src/avm/avm_execution_environment.ts +9 -5
- package/src/avm/avm_gas.ts +66 -73
- package/src/avm/avm_simulator.ts +14 -3
- package/src/avm/errors.ts +10 -0
- package/src/avm/fixtures/index.ts +22 -2
- package/src/avm/index.ts +1 -0
- package/src/avm/journal/host_storage.ts +1 -1
- package/src/avm/journal/journal.ts +15 -14
- package/src/avm/journal/nullifiers.ts +27 -14
- package/src/avm/journal/public_storage.ts +30 -16
- package/src/avm/journal/trace.ts +12 -0
- package/src/avm/journal/trace_types.ts +1 -0
- package/src/avm/opcodes/accrued_substate.ts +5 -6
- package/src/avm/opcodes/arithmetic.ts +1 -14
- package/src/avm/opcodes/conversion.ts +1 -1
- package/src/avm/opcodes/external_calls.ts +26 -10
- package/src/avm/opcodes/instruction.ts +5 -3
- package/src/avm/opcodes/memory.ts +1 -8
- package/src/avm/opcodes/storage.ts +3 -20
- package/src/avm/serialization/bytecode_serialization.ts +1 -1
- package/src/client/client_execution_context.ts +70 -44
- package/src/client/db_oracle.ts +18 -12
- package/src/client/execution_note_cache.ts +1 -1
- package/src/client/execution_result.ts +41 -3
- package/src/client/private_execution.ts +38 -20
- package/src/client/simulator.ts +11 -32
- package/src/client/unconstrained_execution.ts +9 -12
- package/src/client/view_data_oracle.ts +20 -12
- package/src/common/index.ts +1 -0
- package/src/common/return_values.ts +18 -0
- package/src/index.ts +3 -1
- package/src/mocks/fixtures.ts +31 -33
- package/src/{simulator → providers}/acvm_native.ts +21 -19
- package/src/{simulator → providers}/acvm_wasm.ts +2 -16
- package/src/public/abstract_phase_manager.ts +146 -207
- package/src/public/app_logic_phase_manager.ts +23 -39
- package/src/public/{db.ts → db_interfaces.ts} +2 -2
- package/src/public/execution.ts +17 -14
- package/src/public/executor.ts +51 -391
- package/src/public/fee_payment.ts +26 -0
- package/src/public/hints_builder.ts +17 -3
- package/src/public/index.ts +4 -2
- package/src/public/phase_manager_factory.ts +1 -1
- package/src/public/{public_executor.ts → public_db_sources.ts} +3 -2
- package/src/public/public_kernel.ts +24 -24
- package/src/public/public_processor.ts +82 -38
- package/src/public/setup_phase_manager.ts +20 -45
- package/src/public/tail_phase_manager.ts +18 -68
- package/src/public/teardown_phase_manager.ts +22 -41
- package/src/public/transitional_adaptors.ts +24 -13
- package/src/public/utils.ts +20 -14
- package/dest/client/logs_cache.d.ts +0 -33
- package/dest/client/logs_cache.d.ts.map +0 -1
- package/dest/client/logs_cache.js +0 -59
- package/dest/public/db.d.ts.map +0 -1
- package/dest/public/db.js +0 -2
- package/dest/public/public_execution_context.d.ts +0 -121
- package/dest/public/public_execution_context.d.ts.map +0 -1
- package/dest/public/public_execution_context.js +0 -214
- package/dest/public/public_executor.d.ts.map +0 -1
- package/dest/public/public_executor.js +0 -197
- package/dest/public/state_actions.d.ts +0 -39
- package/dest/public/state_actions.d.ts.map +0 -1
- package/dest/public/state_actions.js +0 -80
- package/dest/simulator/acvm_wasm.d.ts.map +0 -1
- package/dest/simulator/acvm_wasm.js +0 -22
- package/dest/simulator/index.d.ts.map +0 -1
- package/src/client/logs_cache.ts +0 -65
- package/src/public/public_execution_context.ts +0 -289
- package/src/public/state_actions.ts +0 -102
- /package/dest/{simulator → providers}/acvm_native.d.ts +0 -0
- /package/dest/{simulator → providers}/acvm_wasm.d.ts +0 -0
- /package/dest/{simulator → providers}/index.d.ts +0 -0
- /package/dest/{simulator → providers}/simulation_provider.d.ts +0 -0
- /package/src/{simulator → providers}/index.ts +0 -0
- /package/src/{simulator → providers}/simulation_provider.ts +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// TODO(5818): Rename file and all uses of "journal"
|
|
2
2
|
import { UnencryptedL2Log } from '@aztec/circuit-types';
|
|
3
|
-
import { AztecAddress, ContractStorageRead, ContractStorageUpdateRequest, EthAddress, L2ToL1Message, NoteHash, Nullifier, ReadRequest,
|
|
3
|
+
import { AztecAddress, ContractStorageRead, ContractStorageUpdateRequest, EthAddress, L2ToL1Message, LogHash, NoteHash, Nullifier, ReadRequest, } from '@aztec/circuits.js';
|
|
4
4
|
import { EventSelector } from '@aztec/foundation/abi';
|
|
5
5
|
import { Fr } from '@aztec/foundation/fields';
|
|
6
6
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
@@ -27,8 +27,10 @@ export class AvmPersistableStateManager {
|
|
|
27
27
|
this.nullifiers = new Nullifiers(hostStorage.commitmentsDb, parent?.nullifiers);
|
|
28
28
|
this.trace = new WorldStateAccessTrace(parent?.trace);
|
|
29
29
|
this.transitionalExecutionResult = {
|
|
30
|
+
noteHashReadRequests: [],
|
|
30
31
|
nullifierReadRequests: [],
|
|
31
32
|
nullifierNonExistentReadRequests: [],
|
|
33
|
+
l1ToL2MsgReadRequests: [],
|
|
32
34
|
newNoteHashes: [],
|
|
33
35
|
newL2ToL1Messages: [],
|
|
34
36
|
startSideEffectCounter: this.trace.accessCounter,
|
|
@@ -37,8 +39,6 @@ export class AvmPersistableStateManager {
|
|
|
37
39
|
contractStorageUpdateRequests: [],
|
|
38
40
|
unencryptedLogsHashes: [],
|
|
39
41
|
unencryptedLogs: [],
|
|
40
|
-
// The length starts at 4 because it will always include the size.
|
|
41
|
-
unencryptedLogPreimagesLength: new Fr(4),
|
|
42
42
|
allUnencryptedLogs: [],
|
|
43
43
|
nestedExecutions: [],
|
|
44
44
|
};
|
|
@@ -57,7 +57,7 @@ export class AvmPersistableStateManager {
|
|
|
57
57
|
* @param value - the value being written to the slot
|
|
58
58
|
*/
|
|
59
59
|
writeStorage(storageAddress, slot, value) {
|
|
60
|
-
this.log.debug(`
|
|
60
|
+
this.log.debug(`Storage write (address=${storageAddress}, slot=${slot}): value=${value}`);
|
|
61
61
|
// Cache storage writes for later reference/reads
|
|
62
62
|
this.publicStorage.write(storageAddress, slot, value);
|
|
63
63
|
// TRANSITIONAL: This should be removed once the kernel handles and entire enqueued call per circuit
|
|
@@ -79,7 +79,7 @@ export class AvmPersistableStateManager {
|
|
|
79
79
|
*/
|
|
80
80
|
async readStorage(storageAddress, slot) {
|
|
81
81
|
const { value, exists, cached } = await this.publicStorage.read(storageAddress, slot);
|
|
82
|
-
this.log.debug(`
|
|
82
|
+
this.log.debug(`Storage read (address=${storageAddress}, slot=${slot}): value=${value}, exists=${exists}, cached=${cached}`);
|
|
83
83
|
// TRANSITIONAL: This should be removed once the kernel handles and entire enqueued call per circuit
|
|
84
84
|
// The current info to the kernel kernel does not consider cached reads.
|
|
85
85
|
if (!cached) {
|
|
@@ -144,7 +144,7 @@ export class AvmPersistableStateManager {
|
|
|
144
144
|
*/
|
|
145
145
|
async writeNullifier(storageAddress, nullifier) {
|
|
146
146
|
// TRANSITIONAL: This should be removed once the kernel handles and entire enqueued call per circuit
|
|
147
|
-
this.transitionalExecutionResult.newNullifiers.push(new Nullifier(nullifier, this.trace.accessCounter, Fr.ZERO));
|
|
147
|
+
this.transitionalExecutionResult.newNullifiers.push(new Nullifier(nullifier, this.trace.accessCounter, /*noteHash=*/ Fr.ZERO));
|
|
148
148
|
this.log.debug(`nullifiers(${storageAddress}) += ${nullifier}.`);
|
|
149
149
|
// Cache pending nullifiers for later access
|
|
150
150
|
await this.nullifiers.append(storageAddress, nullifier);
|
|
@@ -185,10 +185,9 @@ export class AvmPersistableStateManager {
|
|
|
185
185
|
this.transitionalExecutionResult.unencryptedLogs.push(ulog);
|
|
186
186
|
this.transitionalExecutionResult.allUnencryptedLogs.push(ulog);
|
|
187
187
|
// this duplicates exactly what happens in the trace just for the purpose of transitional integration with the kernel
|
|
188
|
-
this.transitionalExecutionResult.unencryptedLogsHashes.push(
|
|
189
|
-
//
|
|
190
|
-
|
|
191
|
-
this.transitionalExecutionResult.unencryptedLogPreimagesLength = new Fr(this.transitionalExecutionResult.unencryptedLogPreimagesLength.toNumber() + 44 + log.length * Fr.SIZE_IN_BYTES);
|
|
188
|
+
this.transitionalExecutionResult.unencryptedLogsHashes.push(
|
|
189
|
+
// TODO(6578): explain magic number 4 here
|
|
190
|
+
new LogHash(logHash, this.trace.accessCounter, new Fr(ulog.length + 4)));
|
|
192
191
|
// TODO(6206): likely need to track this here and not just in the transitional logic.
|
|
193
192
|
// TODO(6205): why are logs pushed here but logs hashes are traced?
|
|
194
193
|
this.newLogs.push(ulog);
|
|
@@ -238,4 +237,4 @@ export class AvmPersistableStateManager {
|
|
|
238
237
|
};
|
|
239
238
|
}
|
|
240
239
|
}
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vam91cm5hbC9qb3VybmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9EQUFvRDtBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLG1CQUFtQixFQUNuQiw0QkFBNEIsRUFDNUIsVUFBVSxFQUNWLGFBQWEsRUFDYixRQUFRLEVBQ1IsU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEdBQ1gsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUk1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQW9EbkQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBc0JyQyxZQUFZLFdBQXdCLEVBQUUsTUFBbUM7UUFyQnhELFFBQUcsR0FBZ0IsaUJBQWlCLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQWMzRix3QkFBd0I7UUFDakIsa0JBQWEsR0FBb0IsRUFBRSxDQUFDO1FBQ3BDLFlBQU8sR0FBdUIsRUFBRSxDQUFDO1FBTXRDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFVBQVUsR0FB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
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vam91cm5hbC9qb3VybmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9EQUFvRDtBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLG1CQUFtQixFQUNuQiw0QkFBNEIsRUFDNUIsVUFBVSxFQUNWLGFBQWEsRUFDYixPQUFPLEVBQ1AsUUFBUSxFQUNSLFNBQVMsRUFDVCxXQUFXLEdBQ1osTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUk1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQXFEbkQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBc0JyQyxZQUFZLFdBQXdCLEVBQUUsTUFBbUM7UUFyQnhELFFBQUcsR0FBZ0IsaUJBQWlCLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQWMzRix3QkFBd0I7UUFDakIsa0JBQWEsR0FBb0IsRUFBRSxDQUFDO1FBQ3BDLFlBQU8sR0FBdUIsRUFBRSxDQUFDO1FBTXRDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFVBQVUsR0FB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
|
|
@@ -6,17 +6,29 @@ import type { CommitmentsDB } from '../../index.js';
|
|
|
6
6
|
* When a contract call completes, its cached nullifier set can be merged into its parent's.
|
|
7
7
|
*/
|
|
8
8
|
export declare class Nullifiers {
|
|
9
|
+
/** Reference to node storage. Checked on parent cache-miss. */
|
|
10
|
+
private readonly hostNullifiers;
|
|
11
|
+
/** Parent's nullifiers. Checked on this' cache-miss. */
|
|
12
|
+
private readonly parent?;
|
|
9
13
|
/** Cached nullifiers. */
|
|
10
14
|
cache: NullifierCache;
|
|
11
|
-
|
|
12
|
-
private readonly parentCache;
|
|
15
|
+
constructor(
|
|
13
16
|
/** Reference to node storage. Checked on parent cache-miss. */
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
hostNullifiers: CommitmentsDB,
|
|
18
|
+
/** Parent's nullifiers. Checked on this' cache-miss. */
|
|
19
|
+
parent?: Nullifiers | undefined);
|
|
20
|
+
/**
|
|
21
|
+
* Get a nullifier's existence in this' cache or parent's (recursively).
|
|
22
|
+
* DOES NOT CHECK HOST STORAGE!
|
|
23
|
+
* @param storageAddress - the address of the contract whose storage is being read from
|
|
24
|
+
* @param nullifier - the nullifier to check for
|
|
25
|
+
* @returns exists: whether the nullifier exists in cache here or in parent's
|
|
26
|
+
*/
|
|
27
|
+
private checkExistsHereOrParent;
|
|
16
28
|
/**
|
|
17
29
|
* Get a nullifier's existence status.
|
|
18
30
|
* 1. Check cache.
|
|
19
|
-
* 2. Check parent
|
|
31
|
+
* 2. Check parent cache.
|
|
20
32
|
* 3. Fall back to the host state.
|
|
21
33
|
* 4. Not found! Nullifier does not exist.
|
|
22
34
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nullifiers.d.ts","sourceRoot":"","sources":["../../../src/avm/journal/nullifiers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;;;GAIG;AACH,qBAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"nullifiers.d.ts","sourceRoot":"","sources":["../../../src/avm/journal/nullifiers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;;;GAIG;AACH,qBAAa,UAAU;IAKnB,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,wDAAwD;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAP1B,yBAAyB;IAClB,KAAK,EAAE,cAAc,CAAC;;IAG3B,+DAA+D;IAC9C,cAAc,EAAE,aAAa;IAC9C,wDAAwD;IACvC,MAAM,CAAC,wBAAwB;IAKlD;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;;;;;;;;;;OAYG;IACU,WAAW,CACtB,cAAc,EAAE,EAAE,EAClB,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;IAe5E;;;;;OAKG;IACU,MAAM,CAAC,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;IAUrD;;;;OAIG;IACI,cAAc,CAAC,kBAAkB,EAAE,UAAU;CAGrD;AAED;;;;GAIG;AACH,qBAAa,cAAc;IACzB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAAuC;IAC/D,OAAO,CAAC,gBAAgB,CAA0B;IAElD;;;;;;OAMG;IACI,MAAM,CAAC,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO;IAOzD;;;;;OAKG;IACI,MAAM,CAAC,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;IAgBxC,YAAY,CAAC,eAAe,EAAE,EAAE;IAIvC;;;;;;;;OAQG;IACI,cAAc,CAAC,kBAAkB,EAAE,cAAc;CAwBzD;AAED,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;CAI5C"}
|
|
@@ -7,15 +7,36 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
7
7
|
* When a contract call completes, its cached nullifier set can be merged into its parent's.
|
|
8
8
|
*/
|
|
9
9
|
export class Nullifiers {
|
|
10
|
-
constructor(
|
|
10
|
+
constructor(
|
|
11
|
+
/** Reference to node storage. Checked on parent cache-miss. */
|
|
12
|
+
hostNullifiers,
|
|
13
|
+
/** Parent's nullifiers. Checked on this' cache-miss. */
|
|
14
|
+
parent) {
|
|
11
15
|
this.hostNullifiers = hostNullifiers;
|
|
12
|
-
this.
|
|
16
|
+
this.parent = parent;
|
|
13
17
|
this.cache = new NullifierCache();
|
|
14
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Get a nullifier's existence in this' cache or parent's (recursively).
|
|
21
|
+
* DOES NOT CHECK HOST STORAGE!
|
|
22
|
+
* @param storageAddress - the address of the contract whose storage is being read from
|
|
23
|
+
* @param nullifier - the nullifier to check for
|
|
24
|
+
* @returns exists: whether the nullifier exists in cache here or in parent's
|
|
25
|
+
*/
|
|
26
|
+
checkExistsHereOrParent(storageAddress, nullifier) {
|
|
27
|
+
// First check this cache
|
|
28
|
+
let existsAsPending = this.cache.exists(storageAddress, nullifier);
|
|
29
|
+
// Then try parent's nullifier cache
|
|
30
|
+
if (!existsAsPending && this.parent) {
|
|
31
|
+
// Note: this will recurse to grandparent/etc until a cache-hit is encountered.
|
|
32
|
+
existsAsPending = this.parent.checkExistsHereOrParent(storageAddress, nullifier);
|
|
33
|
+
}
|
|
34
|
+
return existsAsPending;
|
|
35
|
+
}
|
|
15
36
|
/**
|
|
16
37
|
* Get a nullifier's existence status.
|
|
17
38
|
* 1. Check cache.
|
|
18
|
-
* 2. Check parent
|
|
39
|
+
* 2. Check parent cache.
|
|
19
40
|
* 3. Fall back to the host state.
|
|
20
41
|
* 4. Not found! Nullifier does not exist.
|
|
21
42
|
*
|
|
@@ -26,12 +47,8 @@ export class Nullifiers {
|
|
|
26
47
|
* leafIndex: the nullifier's leaf index if it exists and is not pending (comes from host state).
|
|
27
48
|
*/
|
|
28
49
|
async checkExists(storageAddress, nullifier) {
|
|
29
|
-
//
|
|
30
|
-
|
|
31
|
-
// Then check parent's cache
|
|
32
|
-
if (!existsAsPending && this.parentCache) {
|
|
33
|
-
existsAsPending = this.parentCache?.exists(storageAddress, nullifier);
|
|
34
|
-
}
|
|
50
|
+
// Check this cache and parent's (recursively)
|
|
51
|
+
const existsAsPending = this.checkExistsHereOrParent(storageAddress, nullifier);
|
|
35
52
|
// Finally try the host's Aztec state (a trip to the database)
|
|
36
53
|
// If the value is found in the database, it will be associated with a leaf index!
|
|
37
54
|
let leafIndex = undefined;
|
|
@@ -152,4 +169,4 @@ export class NullifierCollisionError extends Error {
|
|
|
152
169
|
this.name = 'NullifierCollisionError';
|
|
153
170
|
}
|
|
154
171
|
}
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbGlmaWVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vam91cm5hbC9udWxsaWZpZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSTlDOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQUlyQjtJQUNFLCtEQUErRDtJQUM5QyxjQUE2QjtJQUM5Qyx3REFBd0Q7SUFDdkMsTUFBK0I7UUFGL0IsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFFN0IsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFFaEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyx1QkFBdUIsQ0FBQyxjQUFrQixFQUFFLFNBQWE7UUFDL0QseUJBQXlCO1FBQ3pCLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNuRSxvQ0FBb0M7UUFDcEMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEMsK0VBQStFO1lBQy9FLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBQ0QsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNJLEtBQUssQ0FBQyxXQUFXLENBQ3RCLGNBQWtCLEVBQ2xCLFNBQWE7UUFFYiw4Q0FBOEM7UUFDOUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNoRiw4REFBOEQ7UUFDOUQsa0ZBQWtGO1FBQ2xGLElBQUksU0FBUyxHQUF1QixTQUFTLENBQUM7UUFDOUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3JCLG1FQUFtRTtZQUNuRSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNwRyxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsZUFBZSxJQUFJLFNBQVMsS0FBSyxTQUFTLENBQUM7UUFDMUQsU0FBUyxHQUFHLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzVELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBa0IsRUFBRSxTQUFhO1FBQ25ELE1BQU0sQ0FBQyxNQUFNLEVBQUUsQUFBRCxFQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN0RSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLHVCQUF1QixDQUMvQixhQUFhLFNBQVMsZ0JBQWdCLGNBQWMsMENBQTBDLENBQy9GLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYyxDQUFDLGtCQUE4QjtRQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0Y7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFBM0I7UUFDRTs7OztXQUlHO1FBQ0sscUJBQWdCLEdBQTZCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDdkQscUJBQWdCLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7SUEyRXBELENBQUM7SUF6RUM7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLGNBQWtCLEVBQUUsU0FBYTtRQUM3QyxNQUFNLE1BQU0sR0FDVixJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDL0UsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3pHLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsY0FBa0IsRUFBRSxTQUFhO1FBQzdDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMzQyxNQUFNLElBQUksdUJBQXVCLENBQy9CLGFBQWEsU0FBUyxnQkFBZ0IsY0FBYywyQkFBMkIsQ0FDaEYsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLHFCQUFxQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDakYsNEZBQTRGO1FBQzVGLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzNCLHFCQUFxQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEVBQUUscUJBQXFCLENBQUMsQ0FBQztRQUM5RSxDQUFDO1FBQ0QscUJBQXFCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTSxZQUFZLENBQUMsZUFBbUI7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxjQUFjLENBQUMsa0JBQWtDO1FBQ3RELDJCQUEyQjtRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUNwRyw4REFBOEQ7UUFDOUQsS0FBSyxNQUFNLENBQUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLElBQUksa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM3RixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDdkUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3pCLDhDQUE4QztnQkFDOUMseURBQXlEO2dCQUN6RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1lBQ3RFLENBQUM7aUJBQU0sQ0FBQztnQkFDTix1RUFBdUU7Z0JBQ3ZFLHNFQUFzRTtnQkFDdEUsS0FBSyxNQUFNLFNBQVMsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO29CQUNoRCxJQUFJLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO3dCQUN2QyxNQUFNLElBQUksdUJBQXVCLENBQy9CLHVEQUF1RCxTQUFTLCtCQUErQixlQUFlLEdBQUcsQ0FDbEgsQ0FBQztvQkFDSixDQUFDO29CQUNELG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDckMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLEtBQUs7SUFDaEQsWUFBWSxPQUFlLEVBQUUsR0FBRyxJQUFXO1FBQ3pDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLHlCQUF5QixDQUFDO0lBQ3hDLENBQUM7Q0FDRiJ9
|
|
@@ -11,21 +11,34 @@ type PublicStorageReadResult = {
|
|
|
11
11
|
* When a contract call completes, its storage cache can be merged into its parent's.
|
|
12
12
|
*/
|
|
13
13
|
export declare class PublicStorage {
|
|
14
|
+
/** Reference to node storage. Checked on parent cache-miss. */
|
|
15
|
+
private readonly hostPublicStorage;
|
|
16
|
+
/** Parent's storage. Checked on this' cache-miss. */
|
|
17
|
+
private readonly parent?;
|
|
14
18
|
/** Cached storage writes. */
|
|
15
19
|
private cache;
|
|
16
|
-
|
|
17
|
-
private readonly parentCache;
|
|
20
|
+
constructor(
|
|
18
21
|
/** Reference to node storage. Checked on parent cache-miss. */
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
hostPublicStorage: PublicStateDB,
|
|
23
|
+
/** Parent's storage. Checked on this' cache-miss. */
|
|
24
|
+
parent?: PublicStorage | undefined);
|
|
21
25
|
/**
|
|
22
26
|
* Get the pending storage.
|
|
23
27
|
*/
|
|
24
28
|
getCache(): PublicStorageCache;
|
|
29
|
+
/**
|
|
30
|
+
* Read a storage value from this' cache or parent's (recursively).
|
|
31
|
+
* DOES NOT CHECK HOST STORAGE!
|
|
32
|
+
*
|
|
33
|
+
* @param storageAddress - the address of the contract whose storage is being read from
|
|
34
|
+
* @param slot - the slot in the contract's storage being read from
|
|
35
|
+
* @returns value: the latest value written according to this cache or the parent's. undefined on cache miss.
|
|
36
|
+
*/
|
|
37
|
+
readHereOrParent(storageAddress: Fr, slot: Fr): Fr | undefined;
|
|
25
38
|
/**
|
|
26
39
|
* Read a value from storage.
|
|
27
40
|
* 1. Check cache.
|
|
28
|
-
* 2. Check parent
|
|
41
|
+
* 2. Check parent cache.
|
|
29
42
|
* 3. Fall back to the host state.
|
|
30
43
|
* 4. Not found! Value has never been written to before. Flag it as non-existent and return value zero.
|
|
31
44
|
*
|
|
@@ -41,7 +54,7 @@ export declare class PublicStorage {
|
|
|
41
54
|
* @param slot - the slot in the contract's storage being written to
|
|
42
55
|
* @param value - the value being written to the slot
|
|
43
56
|
*/
|
|
44
|
-
write(storageAddress: Fr,
|
|
57
|
+
write(storageAddress: Fr, slot: Fr, value: Fr): void;
|
|
45
58
|
/**
|
|
46
59
|
* Merges another PublicStorage's cache (pending writes) into this one.
|
|
47
60
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_storage.d.ts","sourceRoot":"","sources":["../../../src/avm/journal/public_storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,KAAK,uBAAuB,GAAG;IAC7B,KAAK,EAAE,EAAE,CAAC;IACV,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"public_storage.d.ts","sourceRoot":"","sources":["../../../src/avm/journal/public_storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,KAAK,uBAAuB,GAAG;IAC7B,KAAK,EAAE,EAAE,CAAC;IACV,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,aAAa;IAKtB,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAP1B,6BAA6B;IAC7B,OAAO,CAAC,KAAK,CAAqB;;IAGhC,+DAA+D;IAC9C,iBAAiB,EAAE,aAAa;IACjD,qDAAqD;IACpC,MAAM,CAAC,2BAAe;IAKzC;;OAEG;IACI,QAAQ;IAIf;;;;;;;OAOG;IACI,gBAAgB,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS;IAWrE;;;;;;;;;;OAUG;IACU,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAgBjF;;;;;;OAMG;IACI,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;IAIpD;;;;OAIG;IACI,cAAc,CAAC,qBAAqB,EAAE,aAAa;IAI1D;;OAEG;IACU,UAAU;CAOxB;AAED;;;;GAIG;AACH,cAAM,kBAAkB;IACtB;;;;OAIG;IACI,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAa;IAGlE;;;;;;OAMG;IACI,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS;IAIzD;;;;;;OAMG;IACI,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;IAUpD;;;;;;;;;OASG;IACI,cAAc,CAAC,oBAAoB,EAAE,kBAAkB;CAiB/D"}
|
|
@@ -6,9 +6,13 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
6
6
|
* When a contract call completes, its storage cache can be merged into its parent's.
|
|
7
7
|
*/
|
|
8
8
|
export class PublicStorage {
|
|
9
|
-
constructor(
|
|
9
|
+
constructor(
|
|
10
|
+
/** Reference to node storage. Checked on parent cache-miss. */
|
|
11
|
+
hostPublicStorage,
|
|
12
|
+
/** Parent's storage. Checked on this' cache-miss. */
|
|
13
|
+
parent) {
|
|
10
14
|
this.hostPublicStorage = hostPublicStorage;
|
|
11
|
-
this.
|
|
15
|
+
this.parent = parent;
|
|
12
16
|
this.cache = new PublicStorageCache();
|
|
13
17
|
}
|
|
14
18
|
/**
|
|
@@ -17,10 +21,28 @@ export class PublicStorage {
|
|
|
17
21
|
getCache() {
|
|
18
22
|
return this.cache;
|
|
19
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Read a storage value from this' cache or parent's (recursively).
|
|
26
|
+
* DOES NOT CHECK HOST STORAGE!
|
|
27
|
+
*
|
|
28
|
+
* @param storageAddress - the address of the contract whose storage is being read from
|
|
29
|
+
* @param slot - the slot in the contract's storage being read from
|
|
30
|
+
* @returns value: the latest value written according to this cache or the parent's. undefined on cache miss.
|
|
31
|
+
*/
|
|
32
|
+
readHereOrParent(storageAddress, slot) {
|
|
33
|
+
// First try check this storage cache
|
|
34
|
+
let value = this.cache.read(storageAddress, slot);
|
|
35
|
+
// Then try parent's storage cache
|
|
36
|
+
if (!value && this.parent) {
|
|
37
|
+
// Note: this will recurse to grandparent/etc until a cache-hit is encountered.
|
|
38
|
+
value = this.parent.readHereOrParent(storageAddress, slot);
|
|
39
|
+
}
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
20
42
|
/**
|
|
21
43
|
* Read a value from storage.
|
|
22
44
|
* 1. Check cache.
|
|
23
|
-
* 2. Check parent
|
|
45
|
+
* 2. Check parent cache.
|
|
24
46
|
* 3. Fall back to the host state.
|
|
25
47
|
* 4. Not found! Value has never been written to before. Flag it as non-existent and return value zero.
|
|
26
48
|
*
|
|
@@ -30,12 +52,8 @@ export class PublicStorage {
|
|
|
30
52
|
*/
|
|
31
53
|
async read(storageAddress, slot) {
|
|
32
54
|
let cached = false;
|
|
33
|
-
//
|
|
34
|
-
let value = this.
|
|
35
|
-
// Then try parent's storage cache (if it exists / written to earlier in this TX)
|
|
36
|
-
if (!value && this.parentCache) {
|
|
37
|
-
value = this.parentCache?.read(storageAddress, slot);
|
|
38
|
-
}
|
|
55
|
+
// Check this cache and parent's (recursively)
|
|
56
|
+
let value = this.readHereOrParent(storageAddress, slot);
|
|
39
57
|
// Finally try the host's Aztec state (a trip to the database)
|
|
40
58
|
if (!value) {
|
|
41
59
|
value = await this.hostPublicStorage.storageRead(storageAddress, slot);
|
|
@@ -55,8 +73,8 @@ export class PublicStorage {
|
|
|
55
73
|
* @param slot - the slot in the contract's storage being written to
|
|
56
74
|
* @param value - the value being written to the slot
|
|
57
75
|
*/
|
|
58
|
-
write(storageAddress,
|
|
59
|
-
this.cache.write(storageAddress,
|
|
76
|
+
write(storageAddress, slot, value) {
|
|
77
|
+
this.cache.write(storageAddress, slot, value);
|
|
60
78
|
}
|
|
61
79
|
/**
|
|
62
80
|
* Merges another PublicStorage's cache (pending writes) into this one.
|
|
@@ -147,4 +165,4 @@ class PublicStorageCache {
|
|
|
147
165
|
}
|
|
148
166
|
}
|
|
149
167
|
}
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3N0b3JhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXZtL2pvdXJuYWwvcHVibGljX3N0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVU5Qzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFJeEI7SUFDRSwrREFBK0Q7SUFDOUMsaUJBQWdDO0lBQ2pELHFEQUFxRDtJQUNwQyxNQUFzQjtRQUZ0QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWU7UUFFaEMsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFFdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLGdCQUFnQixDQUFDLGNBQWtCLEVBQUUsSUFBUTtRQUNsRCxxQ0FBcUM7UUFDckMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xELGtDQUFrQztRQUNsQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQiwrRUFBK0U7WUFDL0UsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFrQixFQUFFLElBQVE7UUFDNUMsSUFBSSxNQUFNLEdBQUcs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
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AvmExecutionHints } from '@aztec/circuits.js';
|
|
1
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
3
|
import { type TracedL1toL2MessageCheck, type TracedNoteHash, type TracedNoteHashCheck, type TracedNullifier, type TracedNullifierCheck, type TracedPublicStorageRead, type TracedPublicStorageWrite, type TracedUnencryptedL2Log } from './trace_types.js';
|
|
3
4
|
export declare class WorldStateAccessTrace {
|
|
@@ -27,5 +28,6 @@ export declare class WorldStateAccessTrace {
|
|
|
27
28
|
* @param incomingTrace - the incoming trace to merge into this instance
|
|
28
29
|
*/
|
|
29
30
|
acceptAndMerge(incomingTrace: WorldStateAccessTrace): void;
|
|
31
|
+
toHints(): AvmExecutionHints;
|
|
30
32
|
}
|
|
31
33
|
//# sourceMappingURL=trace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../src/avm/journal/trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,qBAAqB;IACzB,aAAa,EAAE,MAAM,CAAC;IAEtB,kBAAkB,EAAE,uBAAuB,EAAE,CAAM;IACnD,mBAAmB,EAAE,wBAAwB,EAAE,CAAM;IAErD,cAAc,EAAE,mBAAmB,EAAE,CAAM;IAC3C,aAAa,EAAE,cAAc,EAAE,CAAM;IACrC,eAAe,EAAE,oBAAoB,EAAE,CAAM;IAC7C,aAAa,EAAE,eAAe,EAAE,CAAM;IACtC,mBAAmB,EAAE,wBAAwB,EAAE,CAAM;IACrD,aAAa,EAAE,sBAAsB,EAAE,CAAM;gBAKxC,WAAW,CAAC,EAAE,qBAAqB;IAKxC,gBAAgB;IAIhB,sBAAsB,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;IAiBhG,uBAAuB,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;IAe/D,kBAAkB,CAAC,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IAcnF,gBAAgB,CAAC,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;IAajD,mBAAmB,CAAC,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IAgBzG,iBAAiB,CAAC,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;IAanD,uBAAuB,CAAC,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../src/avm/journal/trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,qBAAqB;IACzB,aAAa,EAAE,MAAM,CAAC;IAEtB,kBAAkB,EAAE,uBAAuB,EAAE,CAAM;IACnD,mBAAmB,EAAE,wBAAwB,EAAE,CAAM;IAErD,cAAc,EAAE,mBAAmB,EAAE,CAAM;IAC3C,aAAa,EAAE,cAAc,EAAE,CAAM;IACrC,eAAe,EAAE,oBAAoB,EAAE,CAAM;IAC7C,aAAa,EAAE,eAAe,EAAE,CAAM;IACtC,mBAAmB,EAAE,wBAAwB,EAAE,CAAM;IACrD,aAAa,EAAE,sBAAsB,EAAE,CAAM;gBAKxC,WAAW,CAAC,EAAE,qBAAqB;IAKxC,gBAAgB;IAIhB,sBAAsB,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;IAiBhG,uBAAuB,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;IAe/D,kBAAkB,CAAC,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IAcnF,gBAAgB,CAAC,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;IAajD,mBAAmB,CAAC,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IAgBzG,iBAAiB,CAAC,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;IAanD,uBAAuB,CAAC,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO;IActE,WAAW,CAAC,OAAO,EAAE,EAAE;IAS9B,OAAO,CAAC,sBAAsB;IAI9B;;;;OAIG;IACI,cAAc,CAAC,aAAa,EAAE,qBAAqB;IAgBnD,OAAO,IAAI,iBAAiB;CAQpC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AvmExecutionHints, AvmHint, Vector } from '@aztec/circuits.js';
|
|
1
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
3
|
export class WorldStateAccessTrace {
|
|
3
4
|
//public contractCalls: TracedContractCall[] = [];
|
|
@@ -106,6 +107,7 @@ export class WorldStateAccessTrace {
|
|
|
106
107
|
leafIndex: msgLeafIndex,
|
|
107
108
|
msgHash: msgHash,
|
|
108
109
|
exists: exists,
|
|
110
|
+
counter: new Fr(this.accessCounter),
|
|
109
111
|
//endLifetime: Fr.ZERO, // FIXME
|
|
110
112
|
};
|
|
111
113
|
this.l1ToL2MessageChecks.push(traced);
|
|
@@ -141,5 +143,9 @@ export class WorldStateAccessTrace {
|
|
|
141
143
|
// it is assumed that the incoming trace was initialized with this as parent, so accept counter
|
|
142
144
|
this.accessCounter = incomingTrace.accessCounter;
|
|
143
145
|
}
|
|
146
|
+
// TODO(dbanks12): should only return hints for one call.... shouldn't include nested calls (merged in traces)
|
|
147
|
+
toHints() {
|
|
148
|
+
return new AvmExecutionHints(new Vector(this.publicStorageReads.map(read => new AvmHint(read.counter, read.value))), new Vector(this.noteHashChecks.map(check => new AvmHint(check.counter, new Fr(check.exists ? 1 : 0)))), new Vector(this.nullifierChecks.map(check => new AvmHint(check.counter, new Fr(check.exists ? 1 : 0)))), new Vector(this.l1ToL2MessageChecks.map(check => new AvmHint(check.counter, new Fr(check.exists ? 1 : 0)))));
|
|
149
|
+
}
|
|
144
150
|
}
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXZtL2pvdXJuYWwvdHJhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFhOUMsTUFBTSxPQUFPLHFCQUFxQjtJQWFoQyxrREFBa0Q7SUFDbEQsc0RBQXNEO0lBRXRELFlBQVksV0FBbUM7UUFieEMsdUJBQWtCLEdBQThCLEVBQUUsQ0FBQztRQUNuRCx3QkFBbUIsR0FBK0IsRUFBRSxDQUFDO1FBRXJELG1CQUFjLEdBQTBCLEVBQUUsQ0FBQztRQUMzQyxrQkFBYSxHQUFxQixFQUFFLENBQUM7UUFDckMsb0JBQWUsR0FBMkIsRUFBRSxDQUFDO1FBQzdDLGtCQUFhLEdBQXNCLEVBQUUsQ0FBQztRQUN0Qyx3QkFBbUIsR0FBK0IsRUFBRSxDQUFDO1FBQ3JELGtCQUFhLEdBQTZCLEVBQUUsQ0FBQztRQU1sRCxJQUFJLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLDJGQUEyRjtJQUM3RixDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRU0sc0JBQXNCLENBQUMsY0FBa0IsRUFBRSxJQUFRLEVBQUUsS0FBUyxFQUFFLE1BQWUsRUFBRSxNQUFlO1FBQ3JHLHVFQUF1RTtRQUN2RSwwRkFBMEY7UUFDMUYsTUFBTSxNQUFNLEdBQTRCO1lBQ3RDLHlCQUF5QjtZQUN6QixjQUFjO1lBQ2QsSUFBSTtZQUNKLEtBQUs7WUFDTCxNQUFNO1lBQ04sTUFBTTtZQUNOLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace_types.d.ts","sourceRoot":"","sources":["../../../src/avm/journal/trace_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AASnD,MAAM,MAAM,uBAAuB,GAAG;IAEpC,cAAc,EAAE,EAAE,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,EAAE,CAAC;IACT,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,EAAE,CAAC;CAEb,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IAErC,cAAc,EAAE,EAAE,CAAC;IACnB,IAAI,EAAE,EAAE,CAAC;IACT,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,EAAE,CAAC;CAEb,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAEhC,cAAc,EAAE,EAAE,CAAC;IACnB,SAAS,EAAE,EAAE,CAAC;IACd,QAAQ,EAAE,EAAE,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,EAAE,CAAC;CAEb,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAE3B,cAAc,EAAE,EAAE,CAAC;IACnB,QAAQ,EAAE,EAAE,CAAC;IACb,OAAO,EAAE,EAAE,CAAC;CAEb,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAEjC,cAAc,EAAE,EAAE,CAAC;IACnB,SAAS,EAAE,EAAE,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,EAAE,CAAC;IAIZ,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,EAAE,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAE5B,cAAc,EAAE,EAAE,CAAC;IACnB,SAAS,EAAE,EAAE,CAAC;IACd,OAAO,EAAE,EAAE,CAAC;CAEb,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IAErC,SAAS,EAAE,EAAE,CAAC;IACd,OAAO,EAAE,EAAE,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"trace_types.d.ts","sourceRoot":"","sources":["../../../src/avm/journal/trace_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AASnD,MAAM,MAAM,uBAAuB,GAAG;IAEpC,cAAc,EAAE,EAAE,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,EAAE,CAAC;IACT,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,EAAE,CAAC;CAEb,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IAErC,cAAc,EAAE,EAAE,CAAC;IACnB,IAAI,EAAE,EAAE,CAAC;IACT,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,EAAE,CAAC;CAEb,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAEhC,cAAc,EAAE,EAAE,CAAC;IACnB,SAAS,EAAE,EAAE,CAAC;IACd,QAAQ,EAAE,EAAE,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,EAAE,CAAC;CAEb,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAE3B,cAAc,EAAE,EAAE,CAAC;IACnB,QAAQ,EAAE,EAAE,CAAC;IACb,OAAO,EAAE,EAAE,CAAC;CAEb,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAEjC,cAAc,EAAE,EAAE,CAAC;IACnB,SAAS,EAAE,EAAE,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,EAAE,CAAC;IAIZ,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,EAAE,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAE5B,cAAc,EAAE,EAAE,CAAC;IACnB,SAAS,EAAE,EAAE,CAAC;IACd,OAAO,EAAE,EAAE,CAAC;CAEb,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IAErC,SAAS,EAAE,EAAE,CAAC;IACd,OAAO,EAAE,EAAE,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,EAAE,CAAC;CAEb,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IAEnC,OAAO,EAAE,EAAE,CAAC;IACZ,OAAO,EAAE,EAAE,CAAC;CAEb,CAAC"}
|
|
@@ -3,4 +3,4 @@ export {};
|
|
|
3
3
|
// leafIndex: Fr;
|
|
4
4
|
// leaf: Fr;
|
|
5
5
|
//};
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2VfdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXZtL2pvdXJuYWwvdHJhY2VfdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQW9GQSx3Q0FBd0M7QUFDeEMsa0JBQWtCO0FBQ2xCLGFBQWE7QUFDYixJQUFJIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accrued_substate.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/accrued_substate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"accrued_substate.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/accrued_substate.ts"],"names":[],"mappings":"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"}
|