@aztec/simulator 0.41.0 → 0.43.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 +7 -4
- package/dest/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.js +32 -12
- package/dest/acvm/oracle/typed_oracle.d.ts +6 -3
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +15 -6
- package/dest/acvm/serialize.js +2 -2
- 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 +69 -73
- package/dest/avm/avm_memory_types.d.ts.map +1 -1
- package/dest/avm/avm_memory_types.js +2 -4
- 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 +8 -1
- package/dest/avm/fixtures/index.d.ts +6 -0
- package/dest/avm/fixtures/index.d.ts.map +1 -1
- package/dest/avm/fixtures/index.js +18 -1
- 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 +5 -3
- package/dest/avm/journal/journal.d.ts.map +1 -1
- package/dest/avm/journal/journal.js +23 -14
- package/dest/avm/journal/trace.d.ts +3 -1
- package/dest/avm/journal/trace.d.ts.map +1 -1
- package/dest/avm/journal/trace.js +8 -1
- package/dest/avm/journal/trace_types.d.ts +5 -0
- package/dest/avm/journal/trace_types.d.ts.map +1 -1
- package/dest/avm/journal/trace_types.js +1 -5
- package/dest/avm/opcodes/accrued_substate.d.ts +2 -2
- package/dest/avm/opcodes/accrued_substate.d.ts.map +1 -1
- package/dest/avm/opcodes/accrued_substate.js +36 -21
- 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 +12 -20
- package/dest/avm/opcodes/bitwise.d.ts.map +1 -1
- package/dest/avm/opcodes/bitwise.js +11 -8
- package/dest/avm/opcodes/comparators.d.ts.map +1 -1
- package/dest/avm/opcodes/comparators.js +7 -5
- package/dest/avm/opcodes/contract.d.ts.map +1 -1
- package/dest/avm/opcodes/contract.js +20 -24
- package/dest/avm/opcodes/control_flow.d.ts.map +1 -1
- package/dest/avm/opcodes/control_flow.js +4 -2
- package/dest/avm/opcodes/conversion.js +2 -2
- package/dest/avm/opcodes/ec_add.d.ts +19 -0
- package/dest/avm/opcodes/ec_add.d.ts.map +1 -0
- package/dest/avm/opcodes/ec_add.js +78 -0
- package/dest/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/avm/opcodes/external_calls.js +11 -5
- package/dest/avm/opcodes/hashing.d.ts.map +1 -1
- package/dest/avm/opcodes/hashing.js +10 -2
- 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/instruction_impl.d.ts.map +1 -1
- package/dest/avm/opcodes/instruction_impl.js +4 -2
- package/dest/avm/opcodes/memory.d.ts +1 -5
- package/dest/avm/opcodes/memory.d.ts.map +1 -1
- package/dest/avm/opcodes/memory.js +14 -18
- package/dest/avm/opcodes/multi_scalar_mul.d.ts +16 -0
- package/dest/avm/opcodes/multi_scalar_mul.d.ts.map +1 -0
- package/dest/avm/opcodes/multi_scalar_mul.js +95 -0
- package/dest/avm/opcodes/storage.d.ts +1 -6
- package/dest/avm/opcodes/storage.d.ts.map +1 -1
- package/dest/avm/opcodes/storage.js +11 -14
- package/dest/avm/serialization/bytecode_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/bytecode_serialization.js +6 -2
- package/dest/avm/serialization/instruction_serialization.d.ts +3 -1
- package/dest/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/instruction_serialization.js +4 -2
- package/dest/client/client_execution_context.d.ts +24 -20
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +52 -55
- package/dest/client/db_oracle.d.ts +7 -1
- package/dest/client/db_oracle.d.ts.map +1 -1
- package/dest/client/execution_note_cache.d.ts +0 -17
- package/dest/client/execution_note_cache.d.ts.map +1 -1
- package/dest/client/execution_note_cache.js +1 -24
- package/dest/client/execution_result.d.ts +8 -4
- package/dest/client/execution_result.d.ts.map +1 -1
- package/dest/client/execution_result.js +16 -6
- 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 +20 -9
- package/dest/client/simulator.d.ts +2 -17
- package/dest/client/simulator.d.ts.map +1 -1
- package/dest/client/simulator.js +24 -33
- 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 +2 -0
- package/dest/client/view_data_oracle.d.ts.map +1 -1
- package/dest/client/view_data_oracle.js +7 -1
- 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 +14 -10
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +22 -16
- 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 +53 -53
- package/dest/public/abstract_phase_manager.d.ts.map +1 -1
- package/dest/public/abstract_phase_manager.js +146 -153
- package/dest/public/app_logic_phase_manager.d.ts +8 -9
- package/dest/public/app_logic_phase_manager.d.ts.map +1 -1
- package/dest/public/app_logic_phase_manager.js +15 -15
- package/dest/public/{db.d.ts → db_interfaces.d.ts} +4 -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 +16 -23
- package/dest/public/execution.d.ts.map +1 -1
- package/dest/public/execution.js +1 -51
- package/dest/public/executor.d.ts +4 -31
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +40 -283
- 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 +2 -1
- package/dest/public/hints_builder.d.ts.map +1 -1
- package/dest/public/hints_builder.js +6 -2
- package/dest/public/index.d.ts +8 -6
- package/dest/public/index.d.ts.map +1 -1
- package/dest/public/index.js +9 -7
- package/dest/public/phase_manager_factory.d.ts +4 -4
- package/dest/public/phase_manager_factory.d.ts.map +1 -1
- package/dest/public/phase_manager_factory.js +5 -5
- package/dest/public/{public_executor.d.ts → public_db_sources.d.ts} +6 -3
- package/dest/public/public_db_sources.d.ts.map +1 -0
- package/dest/public/public_db_sources.js +244 -0
- package/dest/public/public_kernel.js +14 -14
- package/dest/public/public_processor.d.ts +6 -4
- package/dest/public/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor.js +48 -30
- package/dest/public/setup_phase_manager.d.ts +8 -10
- package/dest/public/setup_phase_manager.d.ts.map +1 -1
- package/dest/public/setup_phase_manager.js +12 -21
- package/dest/public/tail_phase_manager.d.ts +7 -13
- package/dest/public/tail_phase_manager.d.ts.map +1 -1
- package/dest/public/tail_phase_manager.js +17 -37
- package/dest/public/teardown_phase_manager.d.ts +8 -10
- package/dest/public/teardown_phase_manager.d.ts.map +1 -1
- package/dest/public/teardown_phase_manager.js +16 -22
- package/dest/public/transitional_adaptors.d.ts +2 -2
- package/dest/public/transitional_adaptors.d.ts.map +1 -1
- package/dest/public/transitional_adaptors.js +14 -6
- package/package.json +12 -9
- package/src/acvm/acvm.ts +0 -3
- package/src/acvm/oracle/oracle.ts +68 -16
- package/src/acvm/oracle/typed_oracle.ts +31 -6
- package/src/acvm/serialize.ts +1 -1
- package/src/avm/avm_gas.ts +68 -73
- package/src/avm/avm_memory_types.ts +1 -3
- package/src/avm/avm_simulator.ts +9 -0
- package/src/avm/fixtures/index.ts +24 -0
- package/src/avm/index.ts +1 -0
- package/src/avm/journal/host_storage.ts +1 -1
- package/src/avm/journal/journal.ts +32 -22
- package/src/avm/journal/trace.ts +9 -0
- package/src/avm/journal/trace_types.ts +4 -0
- package/src/avm/opcodes/accrued_substate.ts +53 -20
- package/src/avm/opcodes/arithmetic.ts +18 -22
- package/src/avm/opcodes/bitwise.ts +13 -8
- package/src/avm/opcodes/comparators.ts +9 -4
- package/src/avm/opcodes/contract.ts +22 -26
- package/src/avm/opcodes/control_flow.ts +3 -1
- package/src/avm/opcodes/conversion.ts +1 -1
- package/src/avm/opcodes/ec_add.ts +92 -0
- package/src/avm/opcodes/external_calls.ts +11 -3
- package/src/avm/opcodes/hashing.ts +11 -1
- package/src/avm/opcodes/instruction.ts +5 -3
- package/src/avm/opcodes/instruction_impl.ts +4 -1
- package/src/avm/opcodes/memory.ts +19 -19
- package/src/avm/opcodes/multi_scalar_mul.ts +114 -0
- package/src/avm/opcodes/storage.ts +10 -17
- package/src/avm/serialization/bytecode_serialization.ts +5 -1
- package/src/avm/serialization/instruction_serialization.ts +2 -0
- package/src/client/client_execution_context.ts +76 -60
- package/src/client/db_oracle.ts +8 -1
- package/src/client/execution_note_cache.ts +0 -28
- package/src/client/execution_result.ts +21 -7
- package/src/client/private_execution.ts +36 -21
- package/src/client/simulator.ts +25 -35
- package/src/client/unconstrained_execution.ts +9 -12
- package/src/client/view_data_oracle.ts +8 -0
- package/src/index.ts +3 -1
- package/src/mocks/fixtures.ts +30 -32
- 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 +209 -258
- package/src/public/app_logic_phase_manager.ts +24 -40
- package/src/public/{db.ts → db_interfaces.ts} +4 -2
- package/src/public/execution.ts +15 -77
- package/src/public/executor.ts +61 -399
- package/src/public/fee_payment.ts +26 -0
- package/src/public/hints_builder.ts +6 -0
- package/src/public/index.ts +8 -12
- package/src/public/phase_manager_factory.ts +7 -7
- package/src/public/{public_executor.ts → public_db_sources.ts} +65 -9
- package/src/public/public_kernel.ts +24 -24
- package/src/public/public_processor.ts +81 -40
- package/src/public/setup_phase_manager.ts +21 -46
- package/src/public/tail_phase_manager.ts +19 -67
- package/src/public/teardown_phase_manager.ts +23 -42
- package/src/public/transitional_adaptors.ts +41 -5
- 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/public/utils.d.ts +0 -8
- package/dest/public/utils.d.ts.map +0 -1
- package/dest/public/utils.js +0 -31
- 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/public/public_execution_context.ts +0 -289
- package/src/public/state_actions.ts +0 -102
- package/src/public/utils.ts +0 -33
- /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
package/dest/mocks/fixtures.js
CHANGED
|
@@ -1,32 +1,39 @@
|
|
|
1
1
|
import { UnencryptedFunctionL2Logs } from '@aztec/circuit-types';
|
|
2
|
-
import { ARGS_LENGTH,
|
|
2
|
+
import { ARGS_LENGTH, AvmExecutionHints, CallContext, Fr, Gas, } from '@aztec/circuits.js';
|
|
3
3
|
import { makeAztecAddress, makeSelector } from '@aztec/circuits.js/testing';
|
|
4
|
+
import { FunctionType } from '@aztec/foundation/abi';
|
|
4
5
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
5
6
|
export class PublicExecutionResultBuilder {
|
|
6
7
|
constructor(execution) {
|
|
7
8
|
this._nestedExecutions = [];
|
|
8
9
|
this._contractStorageUpdateRequests = [];
|
|
10
|
+
this._contractStorageReads = [];
|
|
9
11
|
this._returnValues = [];
|
|
10
12
|
this._reverted = false;
|
|
11
13
|
this._revertReason = undefined;
|
|
12
14
|
this._execution = execution;
|
|
13
15
|
}
|
|
14
|
-
static fromPublicCallRequest({ request, returnValues = [new Fr(1n)], nestedExecutions = [], contractStorageUpdateRequests = [], }) {
|
|
16
|
+
static fromPublicCallRequest({ request, returnValues = [new Fr(1n)], nestedExecutions = [], contractStorageUpdateRequests = [], contractStorageReads = [], revertReason = undefined, }) {
|
|
15
17
|
const builder = new PublicExecutionResultBuilder(request);
|
|
16
18
|
builder.withNestedExecutions(...nestedExecutions);
|
|
17
19
|
builder.withContractStorageUpdateRequest(...contractStorageUpdateRequests);
|
|
20
|
+
builder.withContractStorageRead(...contractStorageReads);
|
|
18
21
|
builder.withReturnValues(...returnValues);
|
|
22
|
+
if (revertReason) {
|
|
23
|
+
builder.withReverted(revertReason);
|
|
24
|
+
}
|
|
19
25
|
return builder;
|
|
20
26
|
}
|
|
21
|
-
static fromFunctionCall({ from, tx, returnValues = [new Fr(1n)], nestedExecutions = [], contractStorageUpdateRequests = [], revertReason, }) {
|
|
27
|
+
static fromFunctionCall({ from, tx, returnValues = [new Fr(1n)], nestedExecutions = [], contractStorageUpdateRequests = [], contractStorageReads = [], revertReason, }) {
|
|
22
28
|
const builder = new PublicExecutionResultBuilder({
|
|
23
|
-
callContext: new CallContext(from, tx.to, tx.
|
|
29
|
+
callContext: new CallContext(from, tx.to, tx.selector, false, false, 0),
|
|
24
30
|
contractAddress: tx.to,
|
|
25
|
-
|
|
31
|
+
functionSelector: tx.selector,
|
|
26
32
|
args: tx.args,
|
|
27
33
|
});
|
|
28
34
|
builder.withNestedExecutions(...nestedExecutions);
|
|
29
35
|
builder.withContractStorageUpdateRequest(...contractStorageUpdateRequests);
|
|
36
|
+
builder.withContractStorageRead(...contractStorageReads);
|
|
30
37
|
builder.withReturnValues(...returnValues);
|
|
31
38
|
if (revertReason) {
|
|
32
39
|
builder.withReverted(revertReason);
|
|
@@ -41,6 +48,10 @@ export class PublicExecutionResultBuilder {
|
|
|
41
48
|
this._contractStorageUpdateRequests.push(...request);
|
|
42
49
|
return this;
|
|
43
50
|
}
|
|
51
|
+
withContractStorageRead(...reads) {
|
|
52
|
+
this._contractStorageReads.push(...reads);
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
44
55
|
withReturnValues(...values) {
|
|
45
56
|
this._returnValues.push(...values);
|
|
46
57
|
return this;
|
|
@@ -54,8 +65,10 @@ export class PublicExecutionResultBuilder {
|
|
|
54
65
|
return {
|
|
55
66
|
execution: this._execution,
|
|
56
67
|
nestedExecutions: this._nestedExecutions,
|
|
68
|
+
noteHashReadRequests: [],
|
|
57
69
|
nullifierReadRequests: [],
|
|
58
70
|
nullifierNonExistentReadRequests: [],
|
|
71
|
+
l1ToL2MsgReadRequests: [],
|
|
59
72
|
contractStorageUpdateRequests: this._contractStorageUpdateRequests,
|
|
60
73
|
returnValues: padArrayEnd(this._returnValues, Fr.ZERO, 4), // TODO(#5450) Need to use the proper return values here
|
|
61
74
|
newNoteHashes: [],
|
|
@@ -72,18 +85,11 @@ export class PublicExecutionResultBuilder {
|
|
|
72
85
|
startGasLeft: Gas.test(),
|
|
73
86
|
endGasLeft: Gas.test(),
|
|
74
87
|
transactionFee: Fr.ZERO,
|
|
88
|
+
calldata: [],
|
|
89
|
+
avmHints: AvmExecutionHints.empty(),
|
|
75
90
|
...overrides,
|
|
76
91
|
};
|
|
77
92
|
}
|
|
78
93
|
}
|
|
79
|
-
export const makeFunctionCall = (to = makeAztecAddress(30), selector = makeSelector(5), args = new Array(ARGS_LENGTH).fill(Fr.ZERO), isStatic = false) => ({ to,
|
|
80
|
-
|
|
81
|
-
// the first two calls are non-revertible
|
|
82
|
-
// the first is for setup, the second is for teardown
|
|
83
|
-
kernelOutput.forPublic.endNonRevertibleData.publicCallStack = padArrayEnd(
|
|
84
|
-
// this is a stack, so the first item is the last call
|
|
85
|
-
// and callRequests is in the order of the calls
|
|
86
|
-
[calls.teardownCall.toCallRequest(), ...calls.setupCalls.map(c => c.toCallRequest())], CallRequest.empty(), MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX);
|
|
87
|
-
kernelOutput.forPublic.end.publicCallStack = padArrayEnd(calls.appLogicCalls.map(c => c.toCallRequest()), CallRequest.empty(), MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX);
|
|
88
|
-
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQyx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFHLE9BQU8sRUFDTCxXQUFXLEVBRVgsV0FBVyxFQUNYLFdBQVcsRUFFWCxFQUFFLEVBQ0YsWUFBWSxFQUNaLEdBQUcsRUFDSCxtQ0FBbUMsR0FHcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBSTNELE1BQU0sT0FBTyw0QkFBNEI7SUFRdkMsWUFBWSxTQUEwQjtRQU45QixzQkFBaUIsR0FBNEIsRUFBRSxDQUFDO1FBQ2hELG1DQUE4QixHQUFtQyxFQUFFLENBQUM7UUFDcEUsa0JBQWEsR0FBUyxFQUFFLENBQUM7UUFDekIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixrQkFBYSxHQUFnQyxTQUFTLENBQUM7UUFHN0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDOUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxFQUMzQixPQUFPLEVBQ1AsWUFBWSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDM0IsZ0JBQWdCLEdBQUcsRUFBRSxFQUNyQiw2QkFBNkIsR0FBRyxFQUFFLEdBTW5DO1FBQ0MsTUFBTSxPQUFPLEdBQUcsSUFBSSw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUxRCxPQUFPLENBQUMsb0JBQW9CLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxHQUFHLDZCQUE2QixDQUFDLENBQUM7UUFDM0UsT0FBTyxDQUFDLGdC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
|
|
94
|
+
export const makeFunctionCall = (name = 'function', to = makeAztecAddress(30), selector = makeSelector(5), type = FunctionType.PUBLIC, args = new Array(ARGS_LENGTH).fill(Fr.ZERO), isStatic = false, returnTypes = []) => ({ name, to, selector, type, args, isStatic, returnTypes });
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQyx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFHLE9BQU8sRUFDTCxXQUFXLEVBQ1gsaUJBQWlCLEVBRWpCLFdBQVcsRUFHWCxFQUFFLEVBQ0YsR0FBRyxHQUVKLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJM0QsTUFBTSxPQUFPLDRCQUE0QjtJQVN2QyxZQUFZLFNBQTBCO1FBUDlCLHNCQUFpQixHQUE0QixFQUFFLENBQUM7UUFDaEQsbUNBQThCLEdBQW1DLEVBQUUsQ0FBQztRQUNwRSwwQkFBcUIsR0FBMEIsRUFBRSxDQUFDO1FBQ2xELGtCQUFhLEdBQVMsRUFBRSxDQUFDO1FBQ3pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsa0JBQWEsR0FBZ0MsU0FBUyxDQUFDO1FBRzdELElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFFRCxNQUFNLENBQUMscUJBQXFCLENBQUMsRUFDM0IsT0FBTyxFQUNQLFlBQVksR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQzNCLGdCQUFnQixHQUFHLEVBQUUsRUFDckIsNkJBQTZCLEdBQUcsRUFBRSxFQUNsQyxvQkFBb0IsR0FBRyxFQUFFLEVBQ3pCLFlBQVksR0FBRyxTQUFTLEdBUXpCO1FBQ0MsTUFBTSxPQUFPLEdBQUcsSUFBSSw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUxRCxPQUFPLENBQUMsb0JBQW9C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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acvm_native.d.ts","sourceRoot":"","sources":["../../src/
|
|
1
|
+
{"version":3,"file":"acvm_native.d.ts","sourceRoot":"","sources":["../../src/providers/acvm_native.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAInE,oBAAY,WAAW;IACrB,OAAO,IAAA;IACP,OAAO,IAAA;CACR;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;AAmBnD;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,UAAU,EACxB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,UAAU,CAAC,CAqErB;AAED,qBAAa,mBAAoB,YAAW,kBAAkB;IAChD,OAAO,CAAC,gBAAgB;IAAU,OAAO,CAAC,UAAU;IAAU,OAAO,CAAC,eAAe,CAAC;gBAA9E,gBAAgB,EAAE,MAAM,EAAU,UAAU,EAAE,MAAM,EAAU,eAAe,CAAC,oBAAQ;IACpG,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;CAwBpG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { runInDirectory } from '@aztec/foundation/fs';
|
|
2
2
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
3
3
|
import { Timer } from '@aztec/foundation/timer';
|
|
4
4
|
import * as proc from 'child_process';
|
|
@@ -106,18 +106,17 @@ export class NativeACVMSimulator {
|
|
|
106
106
|
}
|
|
107
107
|
async simulateCircuit(input, compiledCircuit) {
|
|
108
108
|
// Execute the circuit on those initial witness values
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
return result.witness;
|
|
109
|
+
const operation = async (directory) => {
|
|
110
|
+
// Decode the bytecode from base64 since the acvm does not know about base64 encoding
|
|
111
|
+
const decodedBytecode = Buffer.from(compiledCircuit.bytecode, 'base64');
|
|
112
|
+
// Execute the circuit
|
|
113
|
+
const result = await executeNativeCircuit(input, decodedBytecode, directory, this.pathToAcvm, this.witnessFilename);
|
|
114
|
+
if (result.status == ACVM_RESULT.FAILURE) {
|
|
115
|
+
throw new Error(`Failed to generate witness: ${result.reason}`);
|
|
116
|
+
}
|
|
117
|
+
return result.witness;
|
|
118
|
+
};
|
|
119
|
+
return await runInDirectory(this.workingDirectory, operation);
|
|
121
120
|
}
|
|
122
121
|
}
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN2bV9uYXRpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL2Fjdm1fbmF0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJaEQsT0FBTyxLQUFLLElBQUksTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTdCLE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFFdEQsTUFBTSxDQUFOLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQixtREFBTyxDQUFBO0lBQ1AsbURBQU8sQ0FBQTtBQUNULENBQUMsRUFIVyxXQUFXLEtBQVgsV0FBVyxRQUd0QjtBQWVEOzs7O0dBSUc7QUFDSCxTQUFTLG1CQUFtQixDQUFDLFlBQW9CO0lBQy9DLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsT0FBTyxJQUFJLEdBQUcsQ0FDWixLQUFLO1NBQ0YsTUFBTSxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3JDLEdBQUcsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFO1FBQ3BCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEVB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acvm_wasm.d.ts","sourceRoot":"","sources":["../../src/providers/acvm_wasm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,qBAAa,aAAc,YAAW,kBAAkB;IAChD,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;CAepG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { foreignCallHandler } from '@aztec/noir-protocol-circuits-types';
|
|
2
|
+
import { executeCircuit } from '@noir-lang/acvm_js';
|
|
3
|
+
export class WASMSimulator {
|
|
4
|
+
async simulateCircuit(input, compiledCircuit) {
|
|
5
|
+
// Execute the circuit on those initial witness values
|
|
6
|
+
//
|
|
7
|
+
// Decode the bytecode from base64 since the acvm does not know about base64 encoding
|
|
8
|
+
const decodedBytecode = Buffer.from(compiledCircuit.bytecode, 'base64');
|
|
9
|
+
//
|
|
10
|
+
// Execute the circuit
|
|
11
|
+
const _witnessMap = await executeCircuit(decodedBytecode, input, foreignCallHandler);
|
|
12
|
+
return _witnessMap;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN2bV93YXNtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy9hY3ZtX3dhc20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBS3BELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBaUIsRUFBRSxlQUFvQztRQUMzRSxzREFBc0Q7UUFDdEQsRUFBRTtRQUNGLHFGQUFxRjtRQUNyRixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEUsRUFBRTtRQUNGLHNCQUFzQjtRQUN0QixNQUFNLFdBQVcsR0FBRyxNQUFNLGNBQWMsQ0FDdEMsZUFBZSxFQUNmLEtBQUssRUFDTCxrQkFBa0IsQ0FDbkIsQ0FBQztRQUVGLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from './acvm_native.js';
|
|
2
2
|
export * from './acvm_wasm.js';
|
|
3
3
|
export * from './simulation_provider.js';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDBCQUEwQixDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulation_provider.d.ts","sourceRoot":"","sources":["../../src/
|
|
1
|
+
{"version":3,"file":"simulation_provider.d.ts","sourceRoot":"","sources":["../../src/providers/simulation_provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC/F"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltdWxhdGlvbl9wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aWRlcnMvc2ltdWxhdGlvbl9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { type AvmProvingRequest, type NestedProcessReturnValues, type PublicKernelNonTailRequest, PublicKernelType, type PublicProvingRequest, type SimulationError, type Tx, type UnencryptedFunctionL2Logs } from '@aztec/circuit-types';
|
|
3
|
+
import { type AvmExecutionHints, Fr, Gas, type GlobalVariables, type Header, type KernelCircuitPublicInputs, PublicCallData, type PublicCallRequest, PublicCallStackItem, PublicKernelCircuitPrivateInputs, type PublicKernelCircuitPublicInputs, PublicKernelData } from '@aztec/circuits.js';
|
|
3
4
|
import { type DebugLogger } from '@aztec/foundation/log';
|
|
4
5
|
import { type PublicExecutionResult, type PublicExecutor } from '@aztec/simulator';
|
|
5
6
|
import { type MerkleTreeOperations } from '@aztec/world-state';
|
|
6
7
|
import { HintsBuilder } from './hints_builder.js';
|
|
7
8
|
import { type PublicKernelCircuitSimulator } from './public_kernel_circuit_simulator.js';
|
|
8
|
-
export declare
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export declare function
|
|
9
|
+
export declare const PhaseIsRevertible: Record<PublicKernelType, boolean>;
|
|
10
|
+
export type PublicProvingInformation = {
|
|
11
|
+
calldata: Fr[];
|
|
12
|
+
bytecode: Buffer;
|
|
13
|
+
inputs: PublicKernelCircuitPrivateInputs;
|
|
14
|
+
avmHints: AvmExecutionHints;
|
|
15
|
+
};
|
|
16
|
+
export declare function makeAvmProvingRequest(info: PublicProvingInformation, kernelType: PublicKernelNonTailRequest['type']): AvmProvingRequest;
|
|
17
|
+
export type TxPublicCallsResult = {
|
|
18
|
+
/** Inputs to be used for proving */
|
|
19
|
+
publicProvingInformation: PublicProvingInformation[];
|
|
20
|
+
/** The public kernel output at the end of the Tx */
|
|
21
|
+
kernelOutput: PublicKernelCircuitPublicInputs;
|
|
22
|
+
/** Unencrypted logs generated during the execution of this Tx */
|
|
23
|
+
newUnencryptedLogs: UnencryptedFunctionL2Logs[];
|
|
24
|
+
/** Revert reason, if any */
|
|
25
|
+
revertReason?: SimulationError;
|
|
26
|
+
/** Return values of simulating complete callstack */
|
|
27
|
+
returnValues: NestedProcessReturnValues[];
|
|
28
|
+
/** Gas used during the execution this Tx */
|
|
29
|
+
gasUsed?: Gas;
|
|
30
|
+
};
|
|
31
|
+
export type PhaseResult = {
|
|
32
|
+
/** The collection of public proving requests */
|
|
33
|
+
publicProvingRequests: PublicProvingRequest[];
|
|
34
|
+
/** The output of the public kernel circuit simulation for this phase */
|
|
35
|
+
publicKernelOutput: PublicKernelCircuitPublicInputs;
|
|
36
|
+
/** The final output of the public kernel circuit for this phase */
|
|
37
|
+
finalKernelOutput?: KernelCircuitPublicInputs;
|
|
38
|
+
/** Revert reason, if any */
|
|
39
|
+
revertReason?: SimulationError;
|
|
40
|
+
/** Return values of simulating complete callstack */
|
|
41
|
+
returnValues: NestedProcessReturnValues[];
|
|
42
|
+
/** Gas used during the execution this phase */
|
|
43
|
+
gasUsed?: Gas;
|
|
44
|
+
};
|
|
16
45
|
export declare abstract class AbstractPhaseManager {
|
|
17
46
|
protected db: MerkleTreeOperations;
|
|
18
47
|
protected publicExecutor: PublicExecutor;
|
|
19
48
|
protected publicKernel: PublicKernelCircuitSimulator;
|
|
20
49
|
protected globalVariables: GlobalVariables;
|
|
21
50
|
protected historicalHeader: Header;
|
|
22
|
-
phase:
|
|
51
|
+
phase: PublicKernelType;
|
|
23
52
|
protected hintsBuilder: HintsBuilder;
|
|
24
53
|
protected log: DebugLogger;
|
|
25
|
-
constructor(db: MerkleTreeOperations, publicExecutor: PublicExecutor, publicKernel: PublicKernelCircuitSimulator, globalVariables: GlobalVariables, historicalHeader: Header, phase:
|
|
54
|
+
constructor(db: MerkleTreeOperations, publicExecutor: PublicExecutor, publicKernel: PublicKernelCircuitSimulator, globalVariables: GlobalVariables, historicalHeader: Header, phase: PublicKernelType);
|
|
26
55
|
/**
|
|
27
|
-
*
|
|
28
56
|
* @param tx - the tx to be processed
|
|
29
57
|
* @param publicKernelPublicInputs - the output of the public kernel circuit for the previous phase
|
|
30
|
-
* @param previousPublicKernelProof - the proof of the public kernel circuit for the previous phase
|
|
31
58
|
*/
|
|
32
|
-
abstract handle(tx: Tx, publicKernelPublicInputs: PublicKernelCircuitPublicInputs
|
|
33
|
-
|
|
34
|
-
* The collection of public kernel requests
|
|
35
|
-
*/
|
|
36
|
-
kernelRequests: PublicKernelRequest[];
|
|
37
|
-
/**
|
|
38
|
-
* the output of the public kernel circuit for this phase
|
|
39
|
-
*/
|
|
40
|
-
publicKernelOutput: PublicKernelCircuitPublicInputs;
|
|
41
|
-
/**
|
|
42
|
-
* the final output of the public kernel circuit for this phase
|
|
43
|
-
*/
|
|
44
|
-
finalKernelOutput?: KernelCircuitPublicInputs;
|
|
45
|
-
/**
|
|
46
|
-
* the proof of the public kernel circuit for this phase
|
|
47
|
-
*/
|
|
48
|
-
publicKernelProof: Proof;
|
|
49
|
-
/**
|
|
50
|
-
* revert reason, if any
|
|
51
|
-
*/
|
|
52
|
-
revertReason: SimulationError | undefined;
|
|
53
|
-
returnValues: NestedProcessReturnValues[];
|
|
54
|
-
/** Gas used during the execution this particular phase. */
|
|
55
|
-
gasUsed: Gas | undefined;
|
|
56
|
-
}>;
|
|
57
|
-
static extractEnqueuedPublicCallsByPhase(tx: Tx): Record<PublicKernelPhase, PublicCallRequest[]>;
|
|
59
|
+
abstract handle(tx: Tx, publicKernelPublicInputs: PublicKernelCircuitPublicInputs): Promise<PhaseResult>;
|
|
60
|
+
static extractEnqueuedPublicCallsByPhase(tx: Tx): Record<PublicKernelType, PublicCallRequest[]>;
|
|
58
61
|
protected extractEnqueuedPublicCalls(tx: Tx): PublicCallRequest[];
|
|
59
|
-
protected processEnqueuedPublicCalls(tx: Tx, previousPublicKernelOutput: PublicKernelCircuitPublicInputs
|
|
60
|
-
|
|
61
|
-
PublicKernelCircuitPublicInputs,
|
|
62
|
-
Proof,
|
|
63
|
-
UnencryptedFunctionL2Logs[],
|
|
64
|
-
SimulationError | undefined,
|
|
65
|
-
NestedProcessReturnValues[],
|
|
66
|
-
Gas
|
|
67
|
-
]>;
|
|
68
|
-
/** Returns all pending private and public nullifiers. */
|
|
62
|
+
protected processEnqueuedPublicCalls(tx: Tx, previousPublicKernelOutput: PublicKernelCircuitPublicInputs): Promise<TxPublicCallsResult>;
|
|
63
|
+
/** Returns all pending private and public nullifiers. */
|
|
69
64
|
private getSiloedPendingNullifiers;
|
|
70
65
|
protected getAvailableGas(tx: Tx, previousPublicKernelOutput: PublicKernelCircuitPublicInputs): Gas;
|
|
71
66
|
protected getTransactionFee(_tx: Tx, _previousPublicKernelOutput: PublicKernelCircuitPublicInputs): Fr;
|
|
72
|
-
|
|
73
|
-
protected
|
|
74
|
-
protected getPreviousKernelData(previousOutput: PublicKernelCircuitPublicInputs, previousProof: Proof): PublicKernelData;
|
|
67
|
+
private runKernelCircuit;
|
|
68
|
+
protected getPreviousKernelData(previousOutput: PublicKernelCircuitPublicInputs): PublicKernelData;
|
|
75
69
|
protected getPublicCallStackItem(result: PublicExecutionResult, isExecutionRequest?: boolean): Promise<PublicCallStackItem>;
|
|
76
70
|
protected getPublicCallStackPreimages(result: PublicExecutionResult): Promise<PublicCallStackItem[]>;
|
|
71
|
+
/**
|
|
72
|
+
* Looks at the side effects of a transaction and returns the highest counter
|
|
73
|
+
* @param tx - A transaction
|
|
74
|
+
* @returns The highest side effect counter in the transaction so far
|
|
75
|
+
*/
|
|
76
|
+
static getMaxSideEffectCounter(inputs: PublicKernelCircuitPublicInputs): number;
|
|
77
77
|
protected getBytecodeHash(_result: PublicExecutionResult): Promise<Fr>;
|
|
78
78
|
/**
|
|
79
79
|
* Calculates the PublicCircuitOutput for this execution result along with its proof,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract_phase_manager.d.ts","sourceRoot":"","sources":["../../src/public/abstract_phase_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,
|
|
1
|
+
{"version":3,"file":"abstract_phase_manager.d.ts","sourceRoot":"","sources":["../../src/public/abstract_phase_manager.ts"],"names":[],"mappings":"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"}
|