@aztec/simulator 0.86.0-starknet.1 → 0.87.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/common/errors.d.ts.map +1 -1
- package/dest/private/acvm/acvm.d.ts +0 -2
- package/dest/private/acvm/acvm.d.ts.map +1 -1
- package/dest/private/acvm/acvm.js +1 -1
- package/dest/private/acvm/deserialize.d.ts +0 -2
- package/dest/private/acvm/deserialize.d.ts.map +1 -1
- package/dest/private/acvm/oracle/oracle.d.ts +2 -2
- package/dest/private/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/private/acvm/oracle/oracle.js +30 -33
- package/dest/private/acvm/oracle/typed_oracle.d.ts +1 -3
- package/dest/private/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/private/acvm/serialize.d.ts +8 -2
- package/dest/private/acvm/serialize.d.ts.map +1 -1
- package/dest/private/acvm/serialize.js +26 -0
- package/dest/private/index.d.ts +3 -0
- package/dest/private/index.d.ts.map +1 -1
- package/dest/private/index.js +3 -0
- package/dest/private/providers/acvm_native.d.ts +0 -2
- package/dest/private/providers/acvm_native.d.ts.map +1 -1
- package/dest/private/providers/acvm_native.js +1 -1
- package/dest/private/providers/circuit_recording/circuit_recorder.d.ts +0 -2
- package/dest/private/providers/circuit_recording/circuit_recorder.d.ts.map +1 -1
- package/dest/private/providers/simulation_provider.js +2 -2
- package/dest/private/simulator.d.ts.map +1 -1
- package/dest/private/utility_execution_oracle.d.ts +0 -2
- package/dest/private/utility_execution_oracle.d.ts.map +1 -1
- package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -1
- package/dest/public/avm/avm_contract_call_result.js +2 -2
- package/dest/public/avm/avm_execution_environment.d.ts +2 -1
- package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/public/avm/avm_execution_environment.js +4 -2
- package/dest/public/avm/avm_gas.d.ts +0 -15
- package/dest/public/avm/avm_gas.d.ts.map +1 -1
- package/dest/public/avm/avm_gas.js +0 -18
- package/dest/public/avm/avm_memory_types.d.ts +84 -86
- package/dest/public/avm/avm_memory_types.d.ts.map +1 -1
- package/dest/public/avm/avm_simulator.d.ts +1 -3
- package/dest/public/avm/avm_simulator.d.ts.map +1 -1
- package/dest/public/avm/avm_simulator.js +3 -3
- package/dest/public/avm/avm_simulator_interface.d.ts +0 -2
- package/dest/public/avm/avm_simulator_interface.d.ts.map +1 -1
- package/dest/public/avm/fixtures/initializers.d.ts.map +1 -1
- package/dest/public/avm/fixtures/initializers.js +1 -1
- package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
- package/dest/public/avm/opcodes/accrued_substate.js +7 -7
- package/dest/public/avm/opcodes/addressing_mode.d.ts +7 -6
- package/dest/public/avm/opcodes/addressing_mode.d.ts.map +1 -1
- package/dest/public/avm/opcodes/addressing_mode.js +18 -15
- package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
- package/dest/public/avm/opcodes/arithmetic.js +1 -1
- package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -1
- package/dest/public/avm/opcodes/bitwise.js +2 -2
- package/dest/public/avm/opcodes/comparators.d.ts.map +1 -1
- package/dest/public/avm/opcodes/comparators.js +1 -1
- package/dest/public/avm/opcodes/contract.d.ts.map +1 -1
- package/dest/public/avm/opcodes/contract.js +1 -1
- package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -1
- package/dest/public/avm/opcodes/control_flow.js +1 -1
- package/dest/public/avm/opcodes/conversion.d.ts.map +1 -1
- package/dest/public/avm/opcodes/conversion.js +1 -1
- package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -1
- package/dest/public/avm/opcodes/ec_add.js +1 -1
- package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
- package/dest/public/avm/opcodes/environment_getters.js +1 -1
- package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/public/avm/opcodes/external_calls.js +4 -4
- package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
- package/dest/public/avm/opcodes/hashing.js +3 -3
- package/dest/public/avm/opcodes/instruction.d.ts +0 -2
- package/dest/public/avm/opcodes/instruction.d.ts.map +1 -1
- package/dest/public/avm/opcodes/memory.d.ts.map +1 -1
- package/dest/public/avm/opcodes/memory.js +6 -6
- package/dest/public/avm/opcodes/misc.d.ts.map +1 -1
- package/dest/public/avm/opcodes/misc.js +18 -11
- package/dest/public/avm/opcodes/storage.d.ts.map +1 -1
- package/dest/public/avm/opcodes/storage.js +2 -2
- package/dest/public/avm/serialization/buffer_cursor.d.ts +0 -2
- package/dest/public/avm/serialization/buffer_cursor.d.ts.map +1 -1
- package/dest/public/avm/serialization/bytecode_serialization.d.ts +0 -2
- package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +1 -1
- package/dest/public/avm/serialization/instruction_serialization.d.ts +0 -2
- package/dest/public/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
- package/dest/public/fixtures/public_tx_simulation_tester.js +1 -1
- package/dest/public/fixtures/utils.d.ts.map +1 -1
- package/dest/public/fixtures/utils.js +19 -26
- package/dest/public/hinting_db_sources.d.ts +0 -2
- package/dest/public/hinting_db_sources.d.ts.map +1 -1
- package/dest/public/public_processor/public_processor.d.ts +3 -5
- package/dest/public/public_processor/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor/public_processor.js +8 -5
- package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +1 -1
- package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +3 -3
- package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_context.js +5 -9
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +2 -1
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_simulator.js +15 -3
- package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +1 -1
- package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +2 -2
- package/dest/public/side_effect_trace.d.ts.map +1 -1
- package/dest/public/side_effect_trace.js +5 -5
- package/dest/public/state_manager/nullifiers.d.ts.map +1 -1
- package/dest/public/state_manager/public_storage.d.ts.map +1 -1
- package/dest/public/state_manager/state_manager.d.ts +6 -2
- package/dest/public/state_manager/state_manager.d.ts.map +1 -1
- package/dest/public/state_manager/state_manager.js +6 -0
- package/dest/public/unique_class_ids.d.ts.map +1 -1
- package/dest/test/utils.d.ts.map +1 -1
- package/package.json +18 -18
- package/src/private/acvm/acvm.ts +1 -1
- package/src/private/acvm/oracle/oracle.ts +38 -31
- package/src/private/acvm/oracle/typed_oracle.ts +1 -1
- package/src/private/acvm/serialize.ts +35 -0
- package/src/private/index.ts +3 -0
- package/src/private/pick_notes.ts +4 -4
- package/src/private/providers/acvm_native.ts +6 -2
- package/src/private/providers/simulation_provider.ts +2 -2
- package/src/private/simulator.ts +4 -1
- package/src/public/avm/avm_contract_call_result.ts +2 -2
- package/src/public/avm/avm_execution_environment.ts +7 -1
- package/src/public/avm/avm_gas.ts +0 -20
- package/src/public/avm/avm_simulator.ts +3 -1
- package/src/public/avm/fixtures/initializers.ts +1 -0
- package/src/public/avm/opcodes/accrued_substate.ts +31 -11
- package/src/public/avm/opcodes/addressing_mode.ts +23 -20
- package/src/public/avm/opcodes/arithmetic.ts +2 -1
- package/src/public/avm/opcodes/bitwise.ts +9 -3
- package/src/public/avm/opcodes/comparators.ts +2 -1
- package/src/public/avm/opcodes/contract.ts +2 -1
- package/src/public/avm/opcodes/control_flow.ts +7 -2
- package/src/public/avm/opcodes/conversion.ts +2 -1
- package/src/public/avm/opcodes/ec_add.ts +2 -1
- package/src/public/avm/opcodes/environment_getters.ts +7 -2
- package/src/public/avm/opcodes/external_calls.ts +19 -7
- package/src/public/avm/opcodes/hashing.ts +17 -5
- package/src/public/avm/opcodes/memory.ts +27 -9
- package/src/public/avm/opcodes/misc.ts +23 -15
- package/src/public/avm/opcodes/storage.ts +9 -3
- package/src/public/avm/serialization/buffer_cursor.ts +4 -1
- package/src/public/fixtures/public_tx_simulation_tester.ts +1 -0
- package/src/public/fixtures/utils.ts +21 -28
- package/src/public/hinting_db_sources.ts +8 -2
- package/src/public/public_processor/public_processor.ts +9 -3
- package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +3 -2
- package/src/public/public_tx_simulator/public_tx_context.ts +4 -23
- package/src/public/public_tx_simulator/public_tx_simulator.ts +14 -1
- package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +10 -1
- package/src/public/side_effect_trace.ts +5 -7
- package/src/public/state_manager/state_manager.ts +13 -0
- package/src/public/avm/opcodes/.eslintrc.cjs +0 -8
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
2
|
import { type Logger } from '@aztec/foundation/log';
|
|
5
3
|
import type { FunctionsOf } from '@aztec/foundation/types';
|
|
@@ -30,21 +28,21 @@ export declare abstract class IntegralValue extends MemoryValue {
|
|
|
30
28
|
abstract not(): IntegralValue;
|
|
31
29
|
}
|
|
32
30
|
declare const Uint1_base: {
|
|
33
|
-
new (n:
|
|
31
|
+
new (n: bigint | number): {
|
|
34
32
|
readonly n: bigint;
|
|
35
|
-
build(n: bigint): any;
|
|
36
|
-
add(rhs: any): any;
|
|
37
|
-
sub(rhs: any): any;
|
|
38
|
-
mul(rhs: any): any;
|
|
39
|
-
div(rhs: any): any;
|
|
40
|
-
shr(rhs: any): any;
|
|
41
|
-
shl(rhs: any): any;
|
|
42
|
-
and(rhs: any): any;
|
|
43
|
-
or(rhs: any): any;
|
|
44
|
-
xor(rhs: any): any;
|
|
45
|
-
not(): any;
|
|
46
|
-
equals(rhs: any): boolean;
|
|
47
|
-
lt(rhs: any): boolean;
|
|
33
|
+
build(n: bigint): /*elided*/ any;
|
|
34
|
+
add(rhs: /*elided*/ any): /*elided*/ any;
|
|
35
|
+
sub(rhs: /*elided*/ any): /*elided*/ any;
|
|
36
|
+
mul(rhs: /*elided*/ any): /*elided*/ any;
|
|
37
|
+
div(rhs: /*elided*/ any): /*elided*/ any;
|
|
38
|
+
shr(rhs: /*elided*/ any): /*elided*/ any;
|
|
39
|
+
shl(rhs: /*elided*/ any): /*elided*/ any;
|
|
40
|
+
and(rhs: /*elided*/ any): /*elided*/ any;
|
|
41
|
+
or(rhs: /*elided*/ any): /*elided*/ any;
|
|
42
|
+
xor(rhs: /*elided*/ any): /*elided*/ any;
|
|
43
|
+
not(): /*elided*/ any;
|
|
44
|
+
equals(rhs: /*elided*/ any): boolean;
|
|
45
|
+
lt(rhs: /*elided*/ any): boolean;
|
|
48
46
|
toBigInt(): bigint;
|
|
49
47
|
toBuffer(): Buffer;
|
|
50
48
|
toFr(): Fr;
|
|
@@ -58,21 +56,21 @@ declare const Uint1_base: {
|
|
|
58
56
|
export declare class Uint1 extends Uint1_base {
|
|
59
57
|
}
|
|
60
58
|
declare const Uint8_base: {
|
|
61
|
-
new (n:
|
|
59
|
+
new (n: bigint | number): {
|
|
62
60
|
readonly n: bigint;
|
|
63
|
-
build(n: bigint): any;
|
|
64
|
-
add(rhs: any): any;
|
|
65
|
-
sub(rhs: any): any;
|
|
66
|
-
mul(rhs: any): any;
|
|
67
|
-
div(rhs: any): any;
|
|
68
|
-
shr(rhs: any): any;
|
|
69
|
-
shl(rhs: any): any;
|
|
70
|
-
and(rhs: any): any;
|
|
71
|
-
or(rhs: any): any;
|
|
72
|
-
xor(rhs: any): any;
|
|
73
|
-
not(): any;
|
|
74
|
-
equals(rhs: any): boolean;
|
|
75
|
-
lt(rhs: any): boolean;
|
|
61
|
+
build(n: bigint): /*elided*/ any;
|
|
62
|
+
add(rhs: /*elided*/ any): /*elided*/ any;
|
|
63
|
+
sub(rhs: /*elided*/ any): /*elided*/ any;
|
|
64
|
+
mul(rhs: /*elided*/ any): /*elided*/ any;
|
|
65
|
+
div(rhs: /*elided*/ any): /*elided*/ any;
|
|
66
|
+
shr(rhs: /*elided*/ any): /*elided*/ any;
|
|
67
|
+
shl(rhs: /*elided*/ any): /*elided*/ any;
|
|
68
|
+
and(rhs: /*elided*/ any): /*elided*/ any;
|
|
69
|
+
or(rhs: /*elided*/ any): /*elided*/ any;
|
|
70
|
+
xor(rhs: /*elided*/ any): /*elided*/ any;
|
|
71
|
+
not(): /*elided*/ any;
|
|
72
|
+
equals(rhs: /*elided*/ any): boolean;
|
|
73
|
+
lt(rhs: /*elided*/ any): boolean;
|
|
76
74
|
toBigInt(): bigint;
|
|
77
75
|
toBuffer(): Buffer;
|
|
78
76
|
toFr(): Fr;
|
|
@@ -86,21 +84,21 @@ declare const Uint8_base: {
|
|
|
86
84
|
export declare class Uint8 extends Uint8_base {
|
|
87
85
|
}
|
|
88
86
|
declare const Uint16_base: {
|
|
89
|
-
new (n:
|
|
87
|
+
new (n: bigint | number): {
|
|
90
88
|
readonly n: bigint;
|
|
91
|
-
build(n: bigint): any;
|
|
92
|
-
add(rhs: any): any;
|
|
93
|
-
sub(rhs: any): any;
|
|
94
|
-
mul(rhs: any): any;
|
|
95
|
-
div(rhs: any): any;
|
|
96
|
-
shr(rhs: any): any;
|
|
97
|
-
shl(rhs: any): any;
|
|
98
|
-
and(rhs: any): any;
|
|
99
|
-
or(rhs: any): any;
|
|
100
|
-
xor(rhs: any): any;
|
|
101
|
-
not(): any;
|
|
102
|
-
equals(rhs: any): boolean;
|
|
103
|
-
lt(rhs: any): boolean;
|
|
89
|
+
build(n: bigint): /*elided*/ any;
|
|
90
|
+
add(rhs: /*elided*/ any): /*elided*/ any;
|
|
91
|
+
sub(rhs: /*elided*/ any): /*elided*/ any;
|
|
92
|
+
mul(rhs: /*elided*/ any): /*elided*/ any;
|
|
93
|
+
div(rhs: /*elided*/ any): /*elided*/ any;
|
|
94
|
+
shr(rhs: /*elided*/ any): /*elided*/ any;
|
|
95
|
+
shl(rhs: /*elided*/ any): /*elided*/ any;
|
|
96
|
+
and(rhs: /*elided*/ any): /*elided*/ any;
|
|
97
|
+
or(rhs: /*elided*/ any): /*elided*/ any;
|
|
98
|
+
xor(rhs: /*elided*/ any): /*elided*/ any;
|
|
99
|
+
not(): /*elided*/ any;
|
|
100
|
+
equals(rhs: /*elided*/ any): boolean;
|
|
101
|
+
lt(rhs: /*elided*/ any): boolean;
|
|
104
102
|
toBigInt(): bigint;
|
|
105
103
|
toBuffer(): Buffer;
|
|
106
104
|
toFr(): Fr;
|
|
@@ -114,21 +112,21 @@ declare const Uint16_base: {
|
|
|
114
112
|
export declare class Uint16 extends Uint16_base {
|
|
115
113
|
}
|
|
116
114
|
declare const Uint32_base: {
|
|
117
|
-
new (n:
|
|
115
|
+
new (n: bigint | number): {
|
|
118
116
|
readonly n: bigint;
|
|
119
|
-
build(n: bigint): any;
|
|
120
|
-
add(rhs: any): any;
|
|
121
|
-
sub(rhs: any): any;
|
|
122
|
-
mul(rhs: any): any;
|
|
123
|
-
div(rhs: any): any;
|
|
124
|
-
shr(rhs: any): any;
|
|
125
|
-
shl(rhs: any): any;
|
|
126
|
-
and(rhs: any): any;
|
|
127
|
-
or(rhs: any): any;
|
|
128
|
-
xor(rhs: any): any;
|
|
129
|
-
not(): any;
|
|
130
|
-
equals(rhs: any): boolean;
|
|
131
|
-
lt(rhs: any): boolean;
|
|
117
|
+
build(n: bigint): /*elided*/ any;
|
|
118
|
+
add(rhs: /*elided*/ any): /*elided*/ any;
|
|
119
|
+
sub(rhs: /*elided*/ any): /*elided*/ any;
|
|
120
|
+
mul(rhs: /*elided*/ any): /*elided*/ any;
|
|
121
|
+
div(rhs: /*elided*/ any): /*elided*/ any;
|
|
122
|
+
shr(rhs: /*elided*/ any): /*elided*/ any;
|
|
123
|
+
shl(rhs: /*elided*/ any): /*elided*/ any;
|
|
124
|
+
and(rhs: /*elided*/ any): /*elided*/ any;
|
|
125
|
+
or(rhs: /*elided*/ any): /*elided*/ any;
|
|
126
|
+
xor(rhs: /*elided*/ any): /*elided*/ any;
|
|
127
|
+
not(): /*elided*/ any;
|
|
128
|
+
equals(rhs: /*elided*/ any): boolean;
|
|
129
|
+
lt(rhs: /*elided*/ any): boolean;
|
|
132
130
|
toBigInt(): bigint;
|
|
133
131
|
toBuffer(): Buffer;
|
|
134
132
|
toFr(): Fr;
|
|
@@ -142,21 +140,21 @@ declare const Uint32_base: {
|
|
|
142
140
|
export declare class Uint32 extends Uint32_base {
|
|
143
141
|
}
|
|
144
142
|
declare const Uint64_base: {
|
|
145
|
-
new (n:
|
|
143
|
+
new (n: bigint | number): {
|
|
146
144
|
readonly n: bigint;
|
|
147
|
-
build(n: bigint): any;
|
|
148
|
-
add(rhs: any): any;
|
|
149
|
-
sub(rhs: any): any;
|
|
150
|
-
mul(rhs: any): any;
|
|
151
|
-
div(rhs: any): any;
|
|
152
|
-
shr(rhs: any): any;
|
|
153
|
-
shl(rhs: any): any;
|
|
154
|
-
and(rhs: any): any;
|
|
155
|
-
or(rhs: any): any;
|
|
156
|
-
xor(rhs: any): any;
|
|
157
|
-
not(): any;
|
|
158
|
-
equals(rhs: any): boolean;
|
|
159
|
-
lt(rhs: any): boolean;
|
|
145
|
+
build(n: bigint): /*elided*/ any;
|
|
146
|
+
add(rhs: /*elided*/ any): /*elided*/ any;
|
|
147
|
+
sub(rhs: /*elided*/ any): /*elided*/ any;
|
|
148
|
+
mul(rhs: /*elided*/ any): /*elided*/ any;
|
|
149
|
+
div(rhs: /*elided*/ any): /*elided*/ any;
|
|
150
|
+
shr(rhs: /*elided*/ any): /*elided*/ any;
|
|
151
|
+
shl(rhs: /*elided*/ any): /*elided*/ any;
|
|
152
|
+
and(rhs: /*elided*/ any): /*elided*/ any;
|
|
153
|
+
or(rhs: /*elided*/ any): /*elided*/ any;
|
|
154
|
+
xor(rhs: /*elided*/ any): /*elided*/ any;
|
|
155
|
+
not(): /*elided*/ any;
|
|
156
|
+
equals(rhs: /*elided*/ any): boolean;
|
|
157
|
+
lt(rhs: /*elided*/ any): boolean;
|
|
160
158
|
toBigInt(): bigint;
|
|
161
159
|
toBuffer(): Buffer;
|
|
162
160
|
toFr(): Fr;
|
|
@@ -170,21 +168,21 @@ declare const Uint64_base: {
|
|
|
170
168
|
export declare class Uint64 extends Uint64_base {
|
|
171
169
|
}
|
|
172
170
|
declare const Uint128_base: {
|
|
173
|
-
new (n:
|
|
171
|
+
new (n: bigint | number): {
|
|
174
172
|
readonly n: bigint;
|
|
175
|
-
build(n: bigint): any;
|
|
176
|
-
add(rhs: any): any;
|
|
177
|
-
sub(rhs: any): any;
|
|
178
|
-
mul(rhs: any): any;
|
|
179
|
-
div(rhs: any): any;
|
|
180
|
-
shr(rhs: any): any;
|
|
181
|
-
shl(rhs: any): any;
|
|
182
|
-
and(rhs: any): any;
|
|
183
|
-
or(rhs: any): any;
|
|
184
|
-
xor(rhs: any): any;
|
|
185
|
-
not(): any;
|
|
186
|
-
equals(rhs: any): boolean;
|
|
187
|
-
lt(rhs: any): boolean;
|
|
173
|
+
build(n: bigint): /*elided*/ any;
|
|
174
|
+
add(rhs: /*elided*/ any): /*elided*/ any;
|
|
175
|
+
sub(rhs: /*elided*/ any): /*elided*/ any;
|
|
176
|
+
mul(rhs: /*elided*/ any): /*elided*/ any;
|
|
177
|
+
div(rhs: /*elided*/ any): /*elided*/ any;
|
|
178
|
+
shr(rhs: /*elided*/ any): /*elided*/ any;
|
|
179
|
+
shl(rhs: /*elided*/ any): /*elided*/ any;
|
|
180
|
+
and(rhs: /*elided*/ any): /*elided*/ any;
|
|
181
|
+
or(rhs: /*elided*/ any): /*elided*/ any;
|
|
182
|
+
xor(rhs: /*elided*/ any): /*elided*/ any;
|
|
183
|
+
not(): /*elided*/ any;
|
|
184
|
+
equals(rhs: /*elided*/ any): boolean;
|
|
185
|
+
lt(rhs: /*elided*/ any): boolean;
|
|
188
186
|
toBigInt(): bigint;
|
|
189
187
|
toBuffer(): Buffer;
|
|
190
188
|
toFr(): Fr;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avm_memory_types.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_memory_types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"avm_memory_types.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_memory_types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
2
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
3
|
import type { GlobalVariables } from '@aztec/stdlib/tx';
|
|
@@ -20,7 +18,7 @@ export declare class AvmSimulator implements AvmSimulatorInterface {
|
|
|
20
18
|
private tallyInstructionFunction;
|
|
21
19
|
constructor(context: AvmContext, instructionSet?: InstructionSet, enableTallying?: boolean);
|
|
22
20
|
static build(context: AvmContext): Promise<AvmSimulator>;
|
|
23
|
-
static create(stateManager: PublicPersistableStateManager, address: AztecAddress, sender: AztecAddress, transactionFee: Fr, globals: GlobalVariables, isStaticCall: boolean, calldata: Fr[], allocatedGas: Gas): Promise<AvmSimulator>;
|
|
21
|
+
static create(stateManager: PublicPersistableStateManager, address: AztecAddress, sender: AztecAddress, transactionFee: Fr, globals: GlobalVariables, isStaticCall: boolean, calldata: Fr[], allocatedGas: Gas, clientInitiatedSimulation?: boolean): Promise<AvmSimulator>;
|
|
24
22
|
/**
|
|
25
23
|
* Fetch the bytecode and execute it in the current context.
|
|
26
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avm_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_simulator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"avm_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_simulator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKxD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAI1E,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,2CAA2C,CAAC;AAOnD,qBAAa,YAAa,YAAW,qBAAqB;IAatD,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;IAbxB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAuC;IAE5D,OAAO,CAAC,6BAA6B,CAAiD;IAEtF,OAAO,CAAC,kBAAkB,CAAY;IACtC,OAAO,CAAC,wBAAwB,CAA+B;gBAKrD,OAAO,EAAE,UAAU,EACnB,cAAc,GAAE,cAAgC,EACxD,cAAc,UAAQ;WAmBJ,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;WAQjD,MAAM,CACxB,YAAY,EAAE,6BAA6B,EAC3C,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,EAAE,EAClB,OAAO,EAAE,eAAe,EACxB,YAAY,EAAE,OAAO,EACrB,QAAQ,EAAE,EAAE,EAAE,EACd,YAAY,EAAE,GAAG,EACjB,yBAAyB,GAAE,OAAe;IAkB5C;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAuBtD;;OAEG;IACI,WAAW,IAAI,MAAM,GAAG,SAAS;IAIxC;;;OAGG;IACU,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;YAqHhE,+BAA+B;IAoB7C,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;CAS3B"}
|
|
@@ -48,8 +48,8 @@ export class AvmSimulator {
|
|
|
48
48
|
simulator.log = createLogger(`simulator:avm(f:${fnName})`);
|
|
49
49
|
return simulator;
|
|
50
50
|
}
|
|
51
|
-
static async create(stateManager, address, sender, transactionFee, globals, isStaticCall, calldata, allocatedGas) {
|
|
52
|
-
const avmExecutionEnv = new AvmExecutionEnvironment(address, sender, /*contractCallDepth=*/ Fr.zero(), transactionFee, globals, isStaticCall, calldata);
|
|
51
|
+
static async create(stateManager, address, sender, transactionFee, globals, isStaticCall, calldata, allocatedGas, clientInitiatedSimulation = false) {
|
|
52
|
+
const avmExecutionEnv = new AvmExecutionEnvironment(address, sender, /*contractCallDepth=*/ Fr.zero(), transactionFee, globals, isStaticCall, calldata, clientInitiatedSimulation);
|
|
53
53
|
const avmMachineState = new AvmMachineState(allocatedGas);
|
|
54
54
|
const avmContext = new AvmContext(stateManager, avmExecutionEnv, avmMachineState);
|
|
55
55
|
return await AvmSimulator.build(avmContext);
|
|
@@ -65,7 +65,7 @@ export class AvmSimulator {
|
|
|
65
65
|
this.log.error(`Unknown error thrown by AVM during bytecode retrieval: ${err}`);
|
|
66
66
|
throw err;
|
|
67
67
|
}
|
|
68
|
-
return await this.handleFailureToRetrieveBytecode(`Bytecode retrieval for contract '${this.context.environment.address}' failed with ${err}. Reverting...`);
|
|
68
|
+
return await this.handleFailureToRetrieveBytecode(`Bytecode retrieval for contract '${this.context.environment.address}' failed with ${err.message}. Reverting...`);
|
|
69
69
|
}
|
|
70
70
|
if (!bytecode) {
|
|
71
71
|
return await this.handleFailureToRetrieveBytecode(`No bytecode found at: ${this.context.environment.address}. Reverting...`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avm_simulator_interface.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_simulator_interface.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"avm_simulator_interface.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_simulator_interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,WAAW,IAAI,MAAM,GAAG,SAAS,CAAC;CACnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initializers.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/fixtures/initializers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,CAAC,EAAE;IACtC,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;IACjD,GAAG,CAAC,EAAE,uBAAuB,CAAC;IAC9B,YAAY,CAAC,EAAE,eAAe,CAAC;CAChC,GAAG,UAAU,CAQb;AAED,+DAA+D;AAC/D,wBAAgB,2BAA2B,CAAC,SAAS,CAAC,EAAE;IACtD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,KAAK,CAAC,EAAE,8BAA8B,CAAC;IACvC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,6BAA6B,CAYhC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,uBAAuB,
|
|
1
|
+
{"version":3,"file":"initializers.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/fixtures/initializers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,CAAC,EAAE;IACtC,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;IACjD,GAAG,CAAC,EAAE,uBAAuB,CAAC;IAC9B,YAAY,CAAC,EAAE,eAAe,CAAC;CAChC,GAAG,UAAU,CAQb;AAED,+DAA+D;AAC/D,wBAAgB,2BAA2B,CAAC,SAAS,CAAC,EAAE;IACtD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,KAAK,CAAC,EAAE,8BAA8B,CAAC;IACvC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,6BAA6B,CAYhC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,uBAAuB,CAW9G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAWzF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAKtF"}
|
|
@@ -25,7 +25,7 @@ import { DEFAULT_BLOCK_NUMBER } from './utils.js';
|
|
|
25
25
|
/**
|
|
26
26
|
* Create an empty instance of the Execution Environment where all values are zero, unless overridden in the overrides object
|
|
27
27
|
*/ export function initExecutionEnvironment(overrides) {
|
|
28
|
-
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 ?? []);
|
|
28
|
+
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 ?? [], overrides?.clientInitiatedSimulation ?? true);
|
|
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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accrued_substate.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/accrued_substate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,cAAe,SAAQ,WAAW;IAa3C,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,YAAY;IAftB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAoB;IACvC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAyB;IAEvD,MAAM,CAAC,QAAQ,CAAC,UAAU,gBAMxB;gBAGQ,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM;IAKjB,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"accrued_substate.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/accrued_substate.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,13 +24,13 @@ export class NoteHashExists extends Instruction {
|
|
|
24
24
|
}
|
|
25
25
|
async execute(context) {
|
|
26
26
|
const memory = context.machineState.memory;
|
|
27
|
+
const addressing = Addressing.fromWire(this.indirect);
|
|
27
28
|
context.machineState.consumeGas(this.gasCost());
|
|
28
29
|
const operands = [
|
|
29
30
|
this.noteHashOffset,
|
|
30
31
|
this.leafIndexOffset,
|
|
31
32
|
this.existsOffset
|
|
32
33
|
];
|
|
33
|
-
const addressing = Addressing.fromWire(this.indirect, operands.length);
|
|
34
34
|
const [noteHashOffset, leafIndexOffset, existsOffset] = addressing.resolve(operands, memory);
|
|
35
35
|
memory.checkTags(TypeTag.FIELD, noteHashOffset, leafIndexOffset);
|
|
36
36
|
// Note that this instruction accepts any type in memory, and converts to Field.
|
|
@@ -56,11 +56,11 @@ export class EmitNoteHash extends Instruction {
|
|
|
56
56
|
}
|
|
57
57
|
async execute(context) {
|
|
58
58
|
const memory = context.machineState.memory;
|
|
59
|
+
const addressing = Addressing.fromWire(this.indirect);
|
|
59
60
|
context.machineState.consumeGas(this.gasCost());
|
|
60
61
|
const operands = [
|
|
61
62
|
this.noteHashOffset
|
|
62
63
|
];
|
|
63
|
-
const addressing = Addressing.fromWire(this.indirect, operands.length);
|
|
64
64
|
const [noteHashOffset] = addressing.resolve(operands, memory);
|
|
65
65
|
memory.checkTag(TypeTag.FIELD, noteHashOffset);
|
|
66
66
|
if (context.environment.isStaticCall) {
|
|
@@ -90,13 +90,13 @@ export class NullifierExists extends Instruction {
|
|
|
90
90
|
}
|
|
91
91
|
async execute(context) {
|
|
92
92
|
const memory = context.machineState.memory;
|
|
93
|
+
const addressing = Addressing.fromWire(this.indirect);
|
|
93
94
|
context.machineState.consumeGas(this.gasCost());
|
|
94
95
|
const operands = [
|
|
95
96
|
this.nullifierOffset,
|
|
96
97
|
this.addressOffset,
|
|
97
98
|
this.existsOffset
|
|
98
99
|
];
|
|
99
|
-
const addressing = Addressing.fromWire(this.indirect, operands.length);
|
|
100
100
|
const [nullifierOffset, addressOffset, existsOffset] = addressing.resolve(operands, memory);
|
|
101
101
|
memory.checkTags(TypeTag.FIELD, nullifierOffset, addressOffset);
|
|
102
102
|
const nullifier = memory.get(nullifierOffset).toFr();
|
|
@@ -124,11 +124,11 @@ export class EmitNullifier extends Instruction {
|
|
|
124
124
|
throw new StaticCallAlterationError();
|
|
125
125
|
}
|
|
126
126
|
const memory = context.machineState.memory;
|
|
127
|
+
const addressing = Addressing.fromWire(this.indirect);
|
|
127
128
|
context.machineState.consumeGas(this.gasCost());
|
|
128
129
|
const operands = [
|
|
129
130
|
this.nullifierOffset
|
|
130
131
|
];
|
|
131
|
-
const addressing = Addressing.fromWire(this.indirect, operands.length);
|
|
132
132
|
const [nullifierOffset] = addressing.resolve(operands, memory);
|
|
133
133
|
memory.checkTag(TypeTag.FIELD, nullifierOffset);
|
|
134
134
|
const nullifier = memory.get(nullifierOffset).toFr();
|
|
@@ -164,13 +164,13 @@ export class L1ToL2MessageExists extends Instruction {
|
|
|
164
164
|
}
|
|
165
165
|
async execute(context) {
|
|
166
166
|
const memory = context.machineState.memory;
|
|
167
|
+
const addressing = Addressing.fromWire(this.indirect);
|
|
167
168
|
context.machineState.consumeGas(this.gasCost());
|
|
168
169
|
const operands = [
|
|
169
170
|
this.msgHashOffset,
|
|
170
171
|
this.msgLeafIndexOffset,
|
|
171
172
|
this.existsOffset
|
|
172
173
|
];
|
|
173
|
-
const addressing = Addressing.fromWire(this.indirect, operands.length);
|
|
174
174
|
const [msgHashOffset, msgLeafIndexOffset, existsOffset] = addressing.resolve(operands, memory);
|
|
175
175
|
memory.checkTags(TypeTag.FIELD, msgHashOffset, msgLeafIndexOffset);
|
|
176
176
|
const msgHash = memory.get(msgHashOffset).toFr();
|
|
@@ -201,11 +201,11 @@ export class EmitUnencryptedLog extends Instruction {
|
|
|
201
201
|
throw new StaticCallAlterationError();
|
|
202
202
|
}
|
|
203
203
|
const memory = context.machineState.memory;
|
|
204
|
+
const addressing = Addressing.fromWire(this.indirect);
|
|
204
205
|
const operands = [
|
|
205
206
|
this.logOffset,
|
|
206
207
|
this.logSizeOffset
|
|
207
208
|
];
|
|
208
|
-
const addressing = Addressing.fromWire(this.indirect, operands.length);
|
|
209
209
|
const [logOffset, logSizeOffset] = addressing.resolve(operands, memory);
|
|
210
210
|
memory.checkTag(TypeTag.UINT32, logSizeOffset);
|
|
211
211
|
const logSize = memory.get(logSizeOffset).toNumber();
|
|
@@ -237,12 +237,12 @@ export class SendL2ToL1Message extends Instruction {
|
|
|
237
237
|
throw new StaticCallAlterationError();
|
|
238
238
|
}
|
|
239
239
|
const memory = context.machineState.memory;
|
|
240
|
+
const addressing = Addressing.fromWire(this.indirect);
|
|
240
241
|
context.machineState.consumeGas(this.gasCost());
|
|
241
242
|
const operands = [
|
|
242
243
|
this.recipientOffset,
|
|
243
244
|
this.contentOffset
|
|
244
245
|
];
|
|
245
|
-
const addressing = Addressing.fromWire(this.indirect, operands.length);
|
|
246
246
|
const [recipientOffset, contentOffset] = addressing.resolve(operands, memory);
|
|
247
247
|
memory.checkTags(TypeTag.FIELD, recipientOffset, contentOffset);
|
|
248
248
|
const recipient = memory.get(recipientOffset).toFr();
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { AVM_MAX_OPERANDS } from '@aztec/constants';
|
|
2
|
+
import type { Tuple } from '@aztec/foundation/serialize';
|
|
1
3
|
import { type TaggedMemoryInterface } from '../avm_memory_types.js';
|
|
2
4
|
export declare enum AddressingMode {
|
|
3
5
|
DIRECT = 0,
|
|
@@ -7,15 +9,14 @@ export declare enum AddressingMode {
|
|
|
7
9
|
}
|
|
8
10
|
/** A class to represent the addressing mode of an instruction. */
|
|
9
11
|
export declare class Addressing {
|
|
10
|
-
/** The addressing mode for each operand.
|
|
12
|
+
/** The addressing mode for each possible operand. */
|
|
11
13
|
private readonly modePerOperand;
|
|
12
14
|
constructor(
|
|
13
|
-
/** The addressing mode for each operand.
|
|
14
|
-
modePerOperand: AddressingMode
|
|
15
|
-
static
|
|
15
|
+
/** The addressing mode for each possible operand. */
|
|
16
|
+
modePerOperand: Tuple<AddressingMode, typeof AVM_MAX_OPERANDS>);
|
|
17
|
+
static fromModes(modes: AddressingMode[]): Addressing;
|
|
18
|
+
static fromWire(wireModes: number): Addressing;
|
|
16
19
|
toWire(): number;
|
|
17
|
-
/** Returns how many operands use the given addressing mode. */
|
|
18
|
-
count(mode: AddressingMode): number;
|
|
19
20
|
/**
|
|
20
21
|
* Resolves the offsets using the addressing mode.
|
|
21
22
|
* @param offsets The offsets to resolve.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addressing_mode.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/addressing_mode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"addressing_mode.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/addressing_mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EAAgB,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAGlF,oBAAY,cAAc;IACxB,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,iBAAiB,IAAI;CACtB;AAED,kEAAkE;AAClE,qBAAa,UAAU;IAEnB,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc;;IAD/B,qDAAqD;IACpC,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,gBAAgB,CAAC;WAGnE,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,UAAU;WAO9C,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU;IAa9C,MAAM,IAAI,MAAM;IAevB;;;;;OAKG;IACI,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,qBAAqB,GAAG,MAAM,EAAE;CA2BxE"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AVM_MAX_OPERANDS } from '@aztec/constants';
|
|
2
|
+
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
2
3
|
import { TaggedMemory } from '../avm_memory_types.js';
|
|
3
4
|
import { RelativeAddressOutOfRangeError } from '../errors.js';
|
|
4
5
|
export var AddressingMode = /*#__PURE__*/ function(AddressingMode) {
|
|
@@ -10,17 +11,23 @@ export var AddressingMode = /*#__PURE__*/ function(AddressingMode) {
|
|
|
10
11
|
}({});
|
|
11
12
|
/** A class to represent the addressing mode of an instruction. */ export class Addressing {
|
|
12
13
|
modePerOperand;
|
|
13
|
-
constructor(/** The addressing mode for each operand.
|
|
14
|
+
constructor(/** The addressing mode for each possible operand. */ modePerOperand){
|
|
14
15
|
this.modePerOperand = modePerOperand;
|
|
15
16
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
static fromModes(modes) {
|
|
18
|
+
if (modes.length > AVM_MAX_OPERANDS) {
|
|
19
|
+
throw new Error('Too many operands for addressing mode');
|
|
20
|
+
}
|
|
21
|
+
return new Addressing(padArrayEnd(modes, 0, AVM_MAX_OPERANDS));
|
|
22
|
+
}
|
|
23
|
+
static fromWire(wireModes) {
|
|
24
|
+
// The modes are stored in the wire format as one or two bytes, with each two bits representing the modes for an operand.
|
|
25
|
+
// Even bits are indirect, odd bits are relative.
|
|
26
|
+
const modes = new Array(AVM_MAX_OPERANDS);
|
|
27
|
+
for(let i = 0; i < AVM_MAX_OPERANDS; i++){
|
|
28
|
+
modes[i] = (wireModes >> i * 2 & 1) * 1 | (wireModes >> i * 2 + 1 & 1) * 2;
|
|
23
29
|
}
|
|
30
|
+
// Casting the array to tuple since it should be more performant than using makeTuple
|
|
24
31
|
return new Addressing(modes);
|
|
25
32
|
}
|
|
26
33
|
toWire() {
|
|
@@ -29,24 +36,20 @@ export var AddressingMode = /*#__PURE__*/ function(AddressingMode) {
|
|
|
29
36
|
let wire = 0;
|
|
30
37
|
for(let i = 0; i < this.modePerOperand.length; i++){
|
|
31
38
|
if (this.modePerOperand[i] & 1) {
|
|
32
|
-
wire |= 1 << i;
|
|
39
|
+
wire |= 1 << i * 2;
|
|
33
40
|
}
|
|
34
41
|
if (this.modePerOperand[i] & 2) {
|
|
35
|
-
wire |= 1 <<
|
|
42
|
+
wire |= 1 << i * 2 + 1;
|
|
36
43
|
}
|
|
37
44
|
}
|
|
38
45
|
return wire;
|
|
39
46
|
}
|
|
40
|
-
/** Returns how many operands use the given addressing mode. */ count(mode) {
|
|
41
|
-
return this.modePerOperand.filter((m)=>(m & mode) !== 0).length;
|
|
42
|
-
}
|
|
43
47
|
/**
|
|
44
48
|
* Resolves the offsets using the addressing mode.
|
|
45
49
|
* @param offsets The offsets to resolve.
|
|
46
50
|
* @param mem The memory to use for resolution.
|
|
47
51
|
* @returns The resolved offsets. The length of the returned array is the same as the length of the input array.
|
|
48
52
|
*/ resolve(offsets, mem) {
|
|
49
|
-
assert(offsets.length <= this.modePerOperand.length);
|
|
50
53
|
const resolved = new Array(offsets.length);
|
|
51
54
|
let didRelativeOnce = false;
|
|
52
55
|
let baseAddr = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/arithmetic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,KAAK,KAAK,EACV,KAAK,WAAW,EAEhB,KAAK,qBAAqB,EAE3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,+CAA+C,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,8BAAsB,iCAAkC,SAAQ,uBAAuB;IACxE,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/arithmetic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,KAAK,KAAK,EACV,KAAK,WAAW,EAEhB,KAAK,qBAAqB,EAE3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,+CAA+C,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,8BAAsB,iCAAkC,SAAQ,uBAAuB;IACxE,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW;IACvE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAGpF;AAED,qBAAa,GAAI,SAAQ,iCAAiC;IACxD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW;CAG/D;AAED,qBAAa,GAAI,SAAQ,iCAAiC;IACxD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW;CAG/D;AAED,qBAAa,GAAI,SAAQ,iCAAiC;IACxD,MAAM,CAAC,IAAI,EAAE,MAAM,CAAS;IAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW;CAG/D;AAED,qBAAa,GAAI,SAAQ,iCAAiC;IACxD,MAAM,CAAC,IAAI,EAAE,MAAM,CAAS;IAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW;cAQ3C,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI7F;AAED,qBAAa,QAAS,SAAQ,iCAAiC;IAC7D,MAAM,CAAC,IAAI,EAAE,MAAM,CAAU;IAC7B,MAAM,CAAC,QAAQ,CAAC,MAAM,iBAAiB;IAEvC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK;cAKzB,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI7F"}
|
|
@@ -6,13 +6,13 @@ import { ThreeOperandInstruction } from './instruction_impl.js';
|
|
|
6
6
|
export class ThreeOperandArithmeticInstruction extends ThreeOperandInstruction {
|
|
7
7
|
async execute(context) {
|
|
8
8
|
const memory = context.machineState.memory;
|
|
9
|
+
const addressing = Addressing.fromWire(this.indirect);
|
|
9
10
|
context.machineState.consumeGas(this.gasCost());
|
|
10
11
|
const operands = [
|
|
11
12
|
this.aOffset,
|
|
12
13
|
this.bOffset,
|
|
13
14
|
this.dstOffset
|
|
14
15
|
];
|
|
15
|
-
const addressing = Addressing.fromWire(this.indirect, operands.length);
|
|
16
16
|
const [aOffset, bOffset, dstOffset] = addressing.resolve(operands, memory);
|
|
17
17
|
this.checkTags(memory, aOffset, bOffset);
|
|
18
18
|
const a = memory.get(aOffset);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitwise.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/bitwise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,aAAa,EAAgB,KAAK,qBAAqB,EAAW,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,uBAAe,8BAA+B,SAAQ,uBAAuB;IAC9D,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"bitwise.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/bitwise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,aAAa,EAAgB,KAAK,qBAAqB,EAAW,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,uBAAe,8BAA+B,SAAQ,uBAAuB;IAC9D,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;IAC7E,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAIpF;AAED,qBAAa,GAAI,SAAQ,8BAA8B;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;cAEnB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;CAG9E;AAED,qBAAa,EAAG,SAAQ,8BAA8B;IACpD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAQ;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,eAAe;cAElB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;CAG9E;AAED,qBAAa,GAAI,SAAQ,8BAA8B;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;cAEnB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;CAG9E;AAED,qBAAa,GAAI,SAAQ,8BAA8B;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;cAEnB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;cAG1D,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI7F;AAED,qBAAa,GAAI,SAAQ,8BAA8B;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;cAEnB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;cAG1D,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI7F;AAED,qBAAa,GAAI,SAAQ,WAAW;IAQhC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;IATnB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,MAAM,CAAC,QAAQ,CAAC,WAAW,gBAAgF;IAC3G,MAAM,CAAC,QAAQ,CAAC,YAAY,gBAAkF;gBAGpG,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM;IAKd,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAczD"}
|
|
@@ -6,13 +6,13 @@ import { ThreeOperandInstruction } from './instruction_impl.js';
|
|
|
6
6
|
class ThreeOperandBitwiseInstruction extends ThreeOperandInstruction {
|
|
7
7
|
async execute(context) {
|
|
8
8
|
const memory = context.machineState.memory;
|
|
9
|
+
const addressing = Addressing.fromWire(this.indirect);
|
|
9
10
|
context.machineState.consumeGas(this.gasCost());
|
|
10
11
|
const operands = [
|
|
11
12
|
this.aOffset,
|
|
12
13
|
this.bOffset,
|
|
13
14
|
this.dstOffset
|
|
14
15
|
];
|
|
15
|
-
const addressing = Addressing.fromWire(this.indirect, operands.length);
|
|
16
16
|
const [aOffset, bOffset, dstOffset] = addressing.resolve(operands, memory);
|
|
17
17
|
this.checkTags(memory, aOffset, bOffset);
|
|
18
18
|
const a = memory.getAs(aOffset);
|
|
@@ -91,12 +91,12 @@ export class Not extends Instruction {
|
|
|
91
91
|
}
|
|
92
92
|
async execute(context) {
|
|
93
93
|
const memory = context.machineState.memory;
|
|
94
|
+
const addressing = Addressing.fromWire(this.indirect);
|
|
94
95
|
context.machineState.consumeGas(this.gasCost());
|
|
95
96
|
const operands = [
|
|
96
97
|
this.srcOffset,
|
|
97
98
|
this.dstOffset
|
|
98
99
|
];
|
|
99
|
-
const addressing = Addressing.fromWire(this.indirect, operands.length);
|
|
100
100
|
const [srcOffset, dstOffset] = addressing.resolve(operands, memory);
|
|
101
101
|
TaggedMemory.checkIsIntegralTag(memory.getTag(srcOffset));
|
|
102
102
|
const value = memory.getAs(srcOffset);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comparators.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/comparators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAS,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,+CAA+C,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,uBAAe,qBAAsB,SAAQ,uBAAuB;IACrD,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"comparators.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/comparators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAS,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,+CAA+C,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,uBAAe,qBAAsB,SAAQ,uBAAuB;IACrD,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO;CACpE;AAED,qBAAa,EAAG,SAAQ,qBAAqB;IAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAQ;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,eAAe;IAErC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO;CAG3D;AAED,qBAAa,EAAG,SAAQ,qBAAqB;IAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAQ;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,eAAe;IAErC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO;CAG3D;AAED,qBAAa,GAAI,SAAQ,qBAAqB;IAC5C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO;CAG3D"}
|