@aztec/simulator 0.53.0 → 0.54.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/avm/avm_execution_environment.d.ts +2 -2
- package/dest/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/avm/avm_execution_environment.js +5 -6
- package/dest/avm/avm_gas.d.ts.map +1 -1
- package/dest/avm/avm_gas.js +73 -35
- package/dest/avm/avm_memory_types.d.ts +1 -1
- package/dest/avm/avm_memory_types.d.ts.map +1 -1
- package/dest/avm/avm_memory_types.js +5 -3
- package/dest/avm/bytecode_utils.js +5 -5
- package/dest/avm/opcodes/arithmetic.d.ts +9 -16
- package/dest/avm/opcodes/arithmetic.d.ts.map +1 -1
- package/dest/avm/opcodes/arithmetic.js +12 -37
- package/dest/avm/opcodes/bitwise.d.ts +5 -5
- package/dest/avm/opcodes/bitwise.d.ts.map +1 -1
- package/dest/avm/opcodes/bitwise.js +6 -6
- package/dest/avm/opcodes/comparators.d.ts +3 -3
- package/dest/avm/opcodes/comparators.d.ts.map +1 -1
- package/dest/avm/opcodes/comparators.js +4 -4
- package/dest/avm/opcodes/control_flow.d.ts.map +1 -1
- package/dest/avm/opcodes/control_flow.js +6 -6
- package/dest/avm/opcodes/instruction.d.ts +18 -12
- package/dest/avm/opcodes/instruction.d.ts.map +1 -1
- package/dest/avm/opcodes/instruction.js +36 -19
- package/dest/avm/opcodes/instruction_impl.d.ts +4 -2
- package/dest/avm/opcodes/instruction_impl.d.ts.map +1 -1
- package/dest/avm/opcodes/instruction_impl.js +15 -7
- package/dest/avm/opcodes/memory.d.ts +8 -9
- package/dest/avm/opcodes/memory.d.ts.map +1 -1
- package/dest/avm/opcodes/memory.js +59 -59
- package/dest/avm/serialization/bytecode_serialization.d.ts +7 -8
- package/dest/avm/serialization/bytecode_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/bytecode_serialization.js +83 -63
- package/dest/avm/serialization/instruction_serialization.d.ts +84 -64
- package/dest/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/instruction_serialization.js +102 -67
- package/dest/public/hints_builder.d.ts +3 -4
- package/dest/public/hints_builder.d.ts.map +1 -1
- package/dest/public/hints_builder.js +2 -5
- package/dest/public/tail_phase_manager.d.ts.map +1 -1
- package/dest/public/tail_phase_manager.js +2 -3
- package/package.json +9 -9
- package/src/avm/avm_execution_environment.ts +3 -4
- package/src/avm/avm_gas.ts +72 -34
- package/src/avm/avm_memory_types.ts +4 -2
- package/src/avm/bytecode_utils.ts +4 -4
- package/src/avm/opcodes/arithmetic.ts +12 -41
- package/src/avm/opcodes/bitwise.ts +5 -5
- package/src/avm/opcodes/comparators.ts +3 -3
- package/src/avm/opcodes/control_flow.ts +5 -5
- package/src/avm/opcodes/instruction.ts +41 -19
- package/src/avm/opcodes/instruction_impl.ts +14 -6
- package/src/avm/opcodes/memory.ts +60 -66
- package/src/avm/serialization/bytecode_serialization.ts +93 -73
- package/src/avm/serialization/instruction_serialization.ts +58 -21
- package/src/public/hints_builder.ts +0 -11
- package/src/public/tail_phase_manager.ts +0 -7
|
@@ -5,75 +5,95 @@ import { BufferCursor } from './buffer_cursor.js';
|
|
|
5
5
|
* Source: https://yp-aztec.netlify.app/docs/public-vm/instruction-set
|
|
6
6
|
*/
|
|
7
7
|
export declare enum Opcode {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
8
|
+
ADD_8 = 0,
|
|
9
|
+
ADD_16 = 1,
|
|
10
|
+
SUB_8 = 2,
|
|
11
|
+
SUB_16 = 3,
|
|
12
|
+
MUL_8 = 4,
|
|
13
|
+
MUL_16 = 5,
|
|
14
|
+
DIV_8 = 6,
|
|
15
|
+
DIV_16 = 7,
|
|
16
|
+
FDIV_8 = 8,
|
|
17
|
+
FDIV_16 = 9,
|
|
18
|
+
EQ_8 = 10,
|
|
19
|
+
EQ_16 = 11,
|
|
20
|
+
LT_8 = 12,
|
|
21
|
+
LT_16 = 13,
|
|
22
|
+
LTE_8 = 14,
|
|
23
|
+
LTE_16 = 15,
|
|
24
|
+
AND_8 = 16,
|
|
25
|
+
AND_16 = 17,
|
|
26
|
+
OR_8 = 18,
|
|
27
|
+
OR_16 = 19,
|
|
28
|
+
XOR_8 = 20,
|
|
29
|
+
XOR_16 = 21,
|
|
30
|
+
NOT = 22,
|
|
31
|
+
SHL_8 = 23,
|
|
32
|
+
SHL_16 = 24,
|
|
33
|
+
SHR_8 = 25,
|
|
34
|
+
SHR_16 = 26,
|
|
35
|
+
CAST = 27,
|
|
36
|
+
ADDRESS = 28,
|
|
37
|
+
STORAGEADDRESS = 29,
|
|
38
|
+
SENDER = 30,
|
|
39
|
+
FUNCTIONSELECTOR = 31,
|
|
40
|
+
TRANSACTIONFEE = 32,
|
|
41
|
+
CHAINID = 33,
|
|
42
|
+
VERSION = 34,
|
|
43
|
+
BLOCKNUMBER = 35,
|
|
44
|
+
TIMESTAMP = 36,
|
|
45
|
+
FEEPERL2GAS = 37,
|
|
46
|
+
FEEPERDAGAS = 38,
|
|
47
|
+
CALLDATACOPY = 39,
|
|
48
|
+
L2GASLEFT = 40,
|
|
49
|
+
DAGASLEFT = 41,
|
|
50
|
+
JUMP_16 = 42,
|
|
51
|
+
JUMPI_16 = 43,
|
|
52
|
+
INTERNALCALL = 44,
|
|
53
|
+
INTERNALRETURN = 45,
|
|
54
|
+
SET_8 = 46,
|
|
55
|
+
SET_16 = 47,
|
|
56
|
+
SET_32 = 48,
|
|
57
|
+
SET_64 = 49,
|
|
58
|
+
SET_128 = 50,
|
|
59
|
+
SET_FF = 51,
|
|
60
|
+
MOV_8 = 52,
|
|
61
|
+
MOV_16 = 53,
|
|
62
|
+
CMOV = 54,
|
|
63
|
+
SLOAD = 55,
|
|
64
|
+
SSTORE = 56,
|
|
65
|
+
NOTEHASHEXISTS = 57,
|
|
66
|
+
EMITNOTEHASH = 58,
|
|
67
|
+
NULLIFIEREXISTS = 59,
|
|
68
|
+
EMITNULLIFIER = 60,
|
|
69
|
+
L1TOL2MSGEXISTS = 61,
|
|
70
|
+
GETCONTRACTINSTANCE = 62,
|
|
71
|
+
EMITUNENCRYPTEDLOG = 63,
|
|
72
|
+
SENDL2TOL1MSG = 64,
|
|
73
|
+
CALL = 65,
|
|
74
|
+
STATICCALL = 66,
|
|
75
|
+
DELEGATECALL = 67,
|
|
76
|
+
RETURN = 68,
|
|
77
|
+
REVERT = 69,
|
|
78
|
+
DEBUGLOG = 70,
|
|
79
|
+
KECCAK = 71,
|
|
80
|
+
POSEIDON2 = 72,
|
|
81
|
+
SHA256 = 73,// temp - may be removed, but alot of contracts rely on it
|
|
82
|
+
PEDERSEN = 74,// temp - may be removed, but alot of contracts rely on it
|
|
83
|
+
ECADD = 75,
|
|
84
|
+
MSM = 76,
|
|
85
|
+
PEDERSENCOMMITMENT = 77,
|
|
86
|
+
TORADIXLE = 78,
|
|
87
|
+
SHA256COMPRESSION = 79,
|
|
88
|
+
KECCAKF1600 = 80
|
|
70
89
|
}
|
|
71
90
|
export declare enum OperandType {
|
|
72
91
|
UINT8 = 0,
|
|
73
92
|
UINT16 = 1,
|
|
74
93
|
UINT32 = 2,
|
|
75
94
|
UINT64 = 3,
|
|
76
|
-
UINT128 = 4
|
|
95
|
+
UINT128 = 4,
|
|
96
|
+
FF = 5
|
|
77
97
|
}
|
|
78
98
|
/**
|
|
79
99
|
* Reads an array of operands from a buffer.
|
|
@@ -92,5 +112,5 @@ export declare function deserialize(cursor: BufferCursor | Buffer, operands: Ope
|
|
|
92
112
|
* @param cls The class to be serialized.
|
|
93
113
|
* @returns
|
|
94
114
|
*/
|
|
95
|
-
export declare function
|
|
115
|
+
export declare function serializeAs(operands: OperandType[], opcode: Opcode, cls: any): Buffer;
|
|
96
116
|
//# sourceMappingURL=instruction_serialization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instruction_serialization.d.ts","sourceRoot":"","sources":["../../../src/avm/serialization/instruction_serialization.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,oBAAY,MAAM;IAEhB,
|
|
1
|
+
{"version":3,"file":"instruction_serialization.d.ts","sourceRoot":"","sources":["../../../src/avm/serialization/instruction_serialization.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,oBAAY,MAAM;IAEhB,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,OAAO,IAAA;IACP,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,GAAG,KAAA;IACH,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,IAAI,KAAA;IAEJ,OAAO,KAAA;IACP,cAAc,KAAA;IACd,MAAM,KAAA;IACN,gBAAgB,KAAA;IAChB,cAAc,KAAA;IACd,OAAO,KAAA;IACP,OAAO,KAAA;IACP,WAAW,KAAA;IACX,SAAS,KAAA;IACT,WAAW,KAAA;IACX,WAAW,KAAA;IACX,YAAY,KAAA;IAEZ,SAAS,KAAA;IACT,SAAS,KAAA;IAET,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,YAAY,KAAA;IACZ,cAAc,KAAA;IAEd,KAAK,KAAA;IACL,MAAM,KAAA;IACN,MAAM,KAAA;IACN,MAAM,KAAA;IACN,OAAO,KAAA;IACP,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,IAAI,KAAA;IAEJ,KAAK,KAAA;IACL,MAAM,KAAA;IACN,cAAc,KAAA;IACd,YAAY,KAAA;IACZ,eAAe,KAAA;IACf,aAAa,KAAA;IACb,eAAe,KAAA;IACf,mBAAmB,KAAA;IACnB,kBAAkB,KAAA;IAClB,aAAa,KAAA;IAEb,IAAI,KAAA;IACJ,UAAU,KAAA;IACV,YAAY,KAAA;IACZ,MAAM,KAAA;IACN,MAAM,KAAA;IAEN,QAAQ,KAAA;IAER,MAAM,KAAA;IACN,SAAS,KAAA;IACT,MAAM,KAAA,CAAE,0DAA0D;IAClE,QAAQ,KAAA,CAAE,0DAA0D;IACpE,KAAK,KAAA;IACL,GAAG,KAAA;IACH,kBAAkB,KAAA;IAElB,SAAS,KAAA;IAET,iBAAiB,KAAA;IACjB,WAAW,KAAA;CACZ;AAMD,oBAAY,WAAW;IACrB,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,OAAO,IAAA;IACP,EAAE,IAAA;CACH;AAmDD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAcvG;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAmBrF"}
|
|
@@ -7,78 +7,97 @@ import { BufferCursor } from './buffer_cursor.js';
|
|
|
7
7
|
export var Opcode;
|
|
8
8
|
(function (Opcode) {
|
|
9
9
|
// Compute
|
|
10
|
-
Opcode[Opcode["
|
|
11
|
-
Opcode[Opcode["
|
|
12
|
-
Opcode[Opcode["
|
|
13
|
-
Opcode[Opcode["
|
|
14
|
-
Opcode[Opcode["
|
|
15
|
-
Opcode[Opcode["
|
|
16
|
-
Opcode[Opcode["
|
|
17
|
-
Opcode[Opcode["
|
|
18
|
-
Opcode[Opcode["
|
|
19
|
-
Opcode[Opcode["
|
|
20
|
-
Opcode[Opcode["
|
|
21
|
-
Opcode[Opcode["
|
|
22
|
-
Opcode[Opcode["
|
|
23
|
-
Opcode[Opcode["
|
|
24
|
-
Opcode[Opcode["
|
|
10
|
+
Opcode[Opcode["ADD_8"] = 0] = "ADD_8";
|
|
11
|
+
Opcode[Opcode["ADD_16"] = 1] = "ADD_16";
|
|
12
|
+
Opcode[Opcode["SUB_8"] = 2] = "SUB_8";
|
|
13
|
+
Opcode[Opcode["SUB_16"] = 3] = "SUB_16";
|
|
14
|
+
Opcode[Opcode["MUL_8"] = 4] = "MUL_8";
|
|
15
|
+
Opcode[Opcode["MUL_16"] = 5] = "MUL_16";
|
|
16
|
+
Opcode[Opcode["DIV_8"] = 6] = "DIV_8";
|
|
17
|
+
Opcode[Opcode["DIV_16"] = 7] = "DIV_16";
|
|
18
|
+
Opcode[Opcode["FDIV_8"] = 8] = "FDIV_8";
|
|
19
|
+
Opcode[Opcode["FDIV_16"] = 9] = "FDIV_16";
|
|
20
|
+
Opcode[Opcode["EQ_8"] = 10] = "EQ_8";
|
|
21
|
+
Opcode[Opcode["EQ_16"] = 11] = "EQ_16";
|
|
22
|
+
Opcode[Opcode["LT_8"] = 12] = "LT_8";
|
|
23
|
+
Opcode[Opcode["LT_16"] = 13] = "LT_16";
|
|
24
|
+
Opcode[Opcode["LTE_8"] = 14] = "LTE_8";
|
|
25
|
+
Opcode[Opcode["LTE_16"] = 15] = "LTE_16";
|
|
26
|
+
Opcode[Opcode["AND_8"] = 16] = "AND_8";
|
|
27
|
+
Opcode[Opcode["AND_16"] = 17] = "AND_16";
|
|
28
|
+
Opcode[Opcode["OR_8"] = 18] = "OR_8";
|
|
29
|
+
Opcode[Opcode["OR_16"] = 19] = "OR_16";
|
|
30
|
+
Opcode[Opcode["XOR_8"] = 20] = "XOR_8";
|
|
31
|
+
Opcode[Opcode["XOR_16"] = 21] = "XOR_16";
|
|
32
|
+
Opcode[Opcode["NOT"] = 22] = "NOT";
|
|
33
|
+
Opcode[Opcode["SHL_8"] = 23] = "SHL_8";
|
|
34
|
+
Opcode[Opcode["SHL_16"] = 24] = "SHL_16";
|
|
35
|
+
Opcode[Opcode["SHR_8"] = 25] = "SHR_8";
|
|
36
|
+
Opcode[Opcode["SHR_16"] = 26] = "SHR_16";
|
|
37
|
+
Opcode[Opcode["CAST"] = 27] = "CAST";
|
|
25
38
|
// Execution environment
|
|
26
|
-
Opcode[Opcode["ADDRESS"] =
|
|
27
|
-
Opcode[Opcode["STORAGEADDRESS"] =
|
|
28
|
-
Opcode[Opcode["SENDER"] =
|
|
29
|
-
Opcode[Opcode["FUNCTIONSELECTOR"] =
|
|
30
|
-
Opcode[Opcode["TRANSACTIONFEE"] =
|
|
31
|
-
Opcode[Opcode["CHAINID"] =
|
|
32
|
-
Opcode[Opcode["VERSION"] =
|
|
33
|
-
Opcode[Opcode["BLOCKNUMBER"] =
|
|
34
|
-
Opcode[Opcode["TIMESTAMP"] =
|
|
35
|
-
Opcode[Opcode["FEEPERL2GAS"] =
|
|
36
|
-
Opcode[Opcode["FEEPERDAGAS"] =
|
|
37
|
-
Opcode[Opcode["CALLDATACOPY"] =
|
|
39
|
+
Opcode[Opcode["ADDRESS"] = 28] = "ADDRESS";
|
|
40
|
+
Opcode[Opcode["STORAGEADDRESS"] = 29] = "STORAGEADDRESS";
|
|
41
|
+
Opcode[Opcode["SENDER"] = 30] = "SENDER";
|
|
42
|
+
Opcode[Opcode["FUNCTIONSELECTOR"] = 31] = "FUNCTIONSELECTOR";
|
|
43
|
+
Opcode[Opcode["TRANSACTIONFEE"] = 32] = "TRANSACTIONFEE";
|
|
44
|
+
Opcode[Opcode["CHAINID"] = 33] = "CHAINID";
|
|
45
|
+
Opcode[Opcode["VERSION"] = 34] = "VERSION";
|
|
46
|
+
Opcode[Opcode["BLOCKNUMBER"] = 35] = "BLOCKNUMBER";
|
|
47
|
+
Opcode[Opcode["TIMESTAMP"] = 36] = "TIMESTAMP";
|
|
48
|
+
Opcode[Opcode["FEEPERL2GAS"] = 37] = "FEEPERL2GAS";
|
|
49
|
+
Opcode[Opcode["FEEPERDAGAS"] = 38] = "FEEPERDAGAS";
|
|
50
|
+
Opcode[Opcode["CALLDATACOPY"] = 39] = "CALLDATACOPY";
|
|
38
51
|
// Gas
|
|
39
|
-
Opcode[Opcode["L2GASLEFT"] =
|
|
40
|
-
Opcode[Opcode["DAGASLEFT"] =
|
|
52
|
+
Opcode[Opcode["L2GASLEFT"] = 40] = "L2GASLEFT";
|
|
53
|
+
Opcode[Opcode["DAGASLEFT"] = 41] = "DAGASLEFT";
|
|
41
54
|
// Control flow
|
|
42
|
-
Opcode[Opcode["
|
|
43
|
-
Opcode[Opcode["
|
|
44
|
-
Opcode[Opcode["INTERNALCALL"] =
|
|
45
|
-
Opcode[Opcode["INTERNALRETURN"] =
|
|
55
|
+
Opcode[Opcode["JUMP_16"] = 42] = "JUMP_16";
|
|
56
|
+
Opcode[Opcode["JUMPI_16"] = 43] = "JUMPI_16";
|
|
57
|
+
Opcode[Opcode["INTERNALCALL"] = 44] = "INTERNALCALL";
|
|
58
|
+
Opcode[Opcode["INTERNALRETURN"] = 45] = "INTERNALRETURN";
|
|
46
59
|
// Memory
|
|
47
|
-
Opcode[Opcode["
|
|
48
|
-
Opcode[Opcode["
|
|
49
|
-
Opcode[Opcode["
|
|
60
|
+
Opcode[Opcode["SET_8"] = 46] = "SET_8";
|
|
61
|
+
Opcode[Opcode["SET_16"] = 47] = "SET_16";
|
|
62
|
+
Opcode[Opcode["SET_32"] = 48] = "SET_32";
|
|
63
|
+
Opcode[Opcode["SET_64"] = 49] = "SET_64";
|
|
64
|
+
Opcode[Opcode["SET_128"] = 50] = "SET_128";
|
|
65
|
+
Opcode[Opcode["SET_FF"] = 51] = "SET_FF";
|
|
66
|
+
Opcode[Opcode["MOV_8"] = 52] = "MOV_8";
|
|
67
|
+
Opcode[Opcode["MOV_16"] = 53] = "MOV_16";
|
|
68
|
+
Opcode[Opcode["CMOV"] = 54] = "CMOV";
|
|
50
69
|
// World state
|
|
51
|
-
Opcode[Opcode["SLOAD"] =
|
|
52
|
-
Opcode[Opcode["SSTORE"] =
|
|
53
|
-
Opcode[Opcode["NOTEHASHEXISTS"] =
|
|
54
|
-
Opcode[Opcode["EMITNOTEHASH"] =
|
|
55
|
-
Opcode[Opcode["NULLIFIEREXISTS"] =
|
|
56
|
-
Opcode[Opcode["EMITNULLIFIER"] =
|
|
57
|
-
Opcode[Opcode["L1TOL2MSGEXISTS"] =
|
|
58
|
-
Opcode[Opcode["GETCONTRACTINSTANCE"] =
|
|
59
|
-
Opcode[Opcode["EMITUNENCRYPTEDLOG"] =
|
|
60
|
-
Opcode[Opcode["SENDL2TOL1MSG"] =
|
|
70
|
+
Opcode[Opcode["SLOAD"] = 55] = "SLOAD";
|
|
71
|
+
Opcode[Opcode["SSTORE"] = 56] = "SSTORE";
|
|
72
|
+
Opcode[Opcode["NOTEHASHEXISTS"] = 57] = "NOTEHASHEXISTS";
|
|
73
|
+
Opcode[Opcode["EMITNOTEHASH"] = 58] = "EMITNOTEHASH";
|
|
74
|
+
Opcode[Opcode["NULLIFIEREXISTS"] = 59] = "NULLIFIEREXISTS";
|
|
75
|
+
Opcode[Opcode["EMITNULLIFIER"] = 60] = "EMITNULLIFIER";
|
|
76
|
+
Opcode[Opcode["L1TOL2MSGEXISTS"] = 61] = "L1TOL2MSGEXISTS";
|
|
77
|
+
Opcode[Opcode["GETCONTRACTINSTANCE"] = 62] = "GETCONTRACTINSTANCE";
|
|
78
|
+
Opcode[Opcode["EMITUNENCRYPTEDLOG"] = 63] = "EMITUNENCRYPTEDLOG";
|
|
79
|
+
Opcode[Opcode["SENDL2TOL1MSG"] = 64] = "SENDL2TOL1MSG";
|
|
61
80
|
// External calls
|
|
62
|
-
Opcode[Opcode["CALL"] =
|
|
63
|
-
Opcode[Opcode["STATICCALL"] =
|
|
64
|
-
Opcode[Opcode["DELEGATECALL"] =
|
|
65
|
-
Opcode[Opcode["RETURN"] =
|
|
66
|
-
Opcode[Opcode["REVERT"] =
|
|
81
|
+
Opcode[Opcode["CALL"] = 65] = "CALL";
|
|
82
|
+
Opcode[Opcode["STATICCALL"] = 66] = "STATICCALL";
|
|
83
|
+
Opcode[Opcode["DELEGATECALL"] = 67] = "DELEGATECALL";
|
|
84
|
+
Opcode[Opcode["RETURN"] = 68] = "RETURN";
|
|
85
|
+
Opcode[Opcode["REVERT"] = 69] = "REVERT";
|
|
67
86
|
// Misc
|
|
68
|
-
Opcode[Opcode["DEBUGLOG"] =
|
|
87
|
+
Opcode[Opcode["DEBUGLOG"] = 70] = "DEBUGLOG";
|
|
69
88
|
// Gadgets
|
|
70
|
-
Opcode[Opcode["KECCAK"] =
|
|
71
|
-
Opcode[Opcode["POSEIDON2"] =
|
|
72
|
-
Opcode[Opcode["SHA256"] =
|
|
73
|
-
Opcode[Opcode["PEDERSEN"] =
|
|
74
|
-
Opcode[Opcode["ECADD"] =
|
|
75
|
-
Opcode[Opcode["MSM"] =
|
|
76
|
-
Opcode[Opcode["PEDERSENCOMMITMENT"] =
|
|
89
|
+
Opcode[Opcode["KECCAK"] = 71] = "KECCAK";
|
|
90
|
+
Opcode[Opcode["POSEIDON2"] = 72] = "POSEIDON2";
|
|
91
|
+
Opcode[Opcode["SHA256"] = 73] = "SHA256";
|
|
92
|
+
Opcode[Opcode["PEDERSEN"] = 74] = "PEDERSEN";
|
|
93
|
+
Opcode[Opcode["ECADD"] = 75] = "ECADD";
|
|
94
|
+
Opcode[Opcode["MSM"] = 76] = "MSM";
|
|
95
|
+
Opcode[Opcode["PEDERSENCOMMITMENT"] = 77] = "PEDERSENCOMMITMENT";
|
|
77
96
|
// Conversion
|
|
78
|
-
Opcode[Opcode["TORADIXLE"] =
|
|
97
|
+
Opcode[Opcode["TORADIXLE"] = 78] = "TORADIXLE";
|
|
79
98
|
// Future Gadgets -- pending changes in noir
|
|
80
|
-
Opcode[Opcode["SHA256COMPRESSION"] =
|
|
81
|
-
Opcode[Opcode["KECCAKF1600"] =
|
|
99
|
+
Opcode[Opcode["SHA256COMPRESSION"] = 79] = "SHA256COMPRESSION";
|
|
100
|
+
Opcode[Opcode["KECCAKF1600"] = 80] = "KECCAKF1600";
|
|
82
101
|
})(Opcode || (Opcode = {}));
|
|
83
102
|
// Possible types for an instruction's operand in its wire format. (Keep in sync with CPP code.
|
|
84
103
|
// See vm/avm_trace/deserialization.cpp)
|
|
@@ -91,6 +110,7 @@ export var OperandType;
|
|
|
91
110
|
OperandType[OperandType["UINT32"] = 2] = "UINT32";
|
|
92
111
|
OperandType[OperandType["UINT64"] = 3] = "UINT64";
|
|
93
112
|
OperandType[OperandType["UINT128"] = 4] = "UINT128";
|
|
113
|
+
OperandType[OperandType["FF"] = 5] = "FF";
|
|
94
114
|
})(OperandType || (OperandType = {}));
|
|
95
115
|
// Specifies how to read and write each operand type.
|
|
96
116
|
const OPERAND_SPEC = new Map([
|
|
@@ -99,7 +119,24 @@ const OPERAND_SPEC = new Map([
|
|
|
99
119
|
[OperandType.UINT32, [4, Buffer.prototype.readUint32BE, Buffer.prototype.writeUint32BE]],
|
|
100
120
|
[OperandType.UINT64, [8, Buffer.prototype.readBigInt64BE, Buffer.prototype.writeBigInt64BE]],
|
|
101
121
|
[OperandType.UINT128, [16, readBigInt128BE, writeBigInt128BE]],
|
|
122
|
+
[OperandType.FF, [32, readBigInt254BE, writeBigInt254BE]],
|
|
102
123
|
]);
|
|
124
|
+
function readBigInt254BE() {
|
|
125
|
+
const totalBytes = 32;
|
|
126
|
+
let ret = 0n;
|
|
127
|
+
for (let i = 0; i < totalBytes; ++i) {
|
|
128
|
+
ret <<= 8n;
|
|
129
|
+
ret |= BigInt(this.readUint8(i));
|
|
130
|
+
}
|
|
131
|
+
return ret;
|
|
132
|
+
}
|
|
133
|
+
function writeBigInt254BE(value) {
|
|
134
|
+
const totalBytes = 32;
|
|
135
|
+
for (let offset = totalBytes - 1; offset >= 0; --offset) {
|
|
136
|
+
this.writeUint8(Number(value & 0xffn), offset);
|
|
137
|
+
value >>= 8n;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
103
140
|
function readBigInt128BE() {
|
|
104
141
|
const totalBytes = 16;
|
|
105
142
|
let ret = 0n;
|
|
@@ -145,11 +182,9 @@ export function deserialize(cursor, operands) {
|
|
|
145
182
|
* @param cls The class to be serialized.
|
|
146
183
|
* @returns
|
|
147
184
|
*/
|
|
148
|
-
export function
|
|
185
|
+
export function serializeAs(operands, opcode, cls) {
|
|
149
186
|
const chunks = [];
|
|
150
|
-
|
|
151
|
-
assert(cls.constructor.opcode !== undefined && cls.constructor.opcode !== null);
|
|
152
|
-
const rawClassValues = [cls.constructor.opcode, ...Object.values(cls)];
|
|
187
|
+
const rawClassValues = [opcode, ...Object.values(cls)];
|
|
153
188
|
assert(rawClassValues.length === operands.length, `Got ${rawClassValues.length} values but only ${operands.length} serialization operands are specified!`);
|
|
154
189
|
const classValues = rawClassValues;
|
|
155
190
|
for (let i = 0; i < operands.length; i++) {
|
|
@@ -161,4 +196,4 @@ export function serialize(operands, cls) {
|
|
|
161
196
|
}
|
|
162
197
|
return Buffer.concat(chunks);
|
|
163
198
|
}
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1Y3Rpb25fc2VyaWFsaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vc2VyaWFsaXphdGlvbi9pbnN0cnVjdGlvbl9zZXJpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLElBQUksTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRDs7O0dBR0c7QUFDSCxNQUFNLENBQU4sSUFBWSxNQTZGWDtBQTdGRCxXQUFZLE1BQU07SUFDaEIsVUFBVTtJQUNWLHFDQUFLLENBQUE7SUFDTCx1Q0FBTSxDQUFBO0lBQ04scUNBQUssQ0FBQTtJQUNMLHVDQUFNLENBQUE7SUFDTixxQ0FBSyxDQUFBO0lBQ0wsdUNBQU0sQ0FBQTtJQUNOLHFDQUFLLENBQUE7SUFDTCx1Q0FBTSxDQUFBO0lBQ04sdUNBQU0sQ0FBQTtJQUNOLHlDQUFPLENBQUE7SUFDUCxvQ0FBSSxDQUFBO0lBQ0osc0NBQUssQ0FBQTtJQUNMLG9DQUFJLENBQUE7SUFDSixzQ0FBSyxDQUFBO0lBQ0wsc0NBQUssQ0FBQTtJQUNMLHdDQUFNLENBQUE7SUFDTixzQ0FBSyxDQUFBO0lBQ0wsd0NBQU0sQ0FBQTtJQUNOLG9DQUFJLENBQUE7SUFDSixzQ0FBSyxDQUFBO0lBQ0wsc0NBQUssQ0FBQTtJQUNMLHdDQUFNLENBQUE7SUFDTixrQ0FBRyxDQUFBO0lBQ0gsc0NBQUssQ0FBQTtJQUNMLHdDQUFNLENBQUE7SUFDTixzQ0FBSyxDQUFBO0lBQ0wsd0NBQU0sQ0FBQTtJQUNOLG9DQUFJLENBQUE7SUFDSix3QkFBd0I7SUFDeEIsMENBQU8sQ0FBQTtJQUNQLHdEQUFjLENBQUE7SUFDZCx3Q0FBTSxDQUFBO0lBQ04sNERBQWdCLENBQUE7SUFDaEIsd0RBQWMsQ0FBQTtJQUNkLDBDQUFPLENBQUE7SUFDUCwwQ0FBTyxDQUFBO0lB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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Fr, MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_TX, type MAX_NULLIFIERS_PER_TX, type MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX, type
|
|
1
|
+
import { type Fr, MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_TX, type MAX_NULLIFIERS_PER_TX, type MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX, type MAX_PUBLIC_DATA_READS_PER_TX, type MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, MembershipWitness, type Nullifier, type PublicDataRead, type PublicDataTreeLeafPreimage, type PublicDataUpdateRequest, type ScopedReadRequest, type TreeLeafReadRequest, TreeLeafReadRequestHint } from '@aztec/circuits.js';
|
|
2
2
|
import { type Tuple } from '@aztec/foundation/serialize';
|
|
3
3
|
import { type MerkleTreeOperations } from '@aztec/world-state';
|
|
4
4
|
export declare class HintsBuilder {
|
|
@@ -8,9 +8,8 @@ export declare class HintsBuilder {
|
|
|
8
8
|
getNullifierReadRequestHints(nullifierReadRequests: Tuple<ScopedReadRequest, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>, pendingNullifiers: Tuple<Nullifier, typeof MAX_NULLIFIERS_PER_TX>): Promise<import("@aztec/circuits.js").NullifierReadRequestHints<64, 64>>;
|
|
9
9
|
getNullifierNonExistentReadRequestHints(nullifierNonExistentReadRequests: Tuple<ScopedReadRequest, typeof MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_TX>, pendingNullifiers: Tuple<Nullifier, typeof MAX_NULLIFIERS_PER_TX>): Promise<import("@aztec/circuits.js").NullifierNonExistentReadRequestHints>;
|
|
10
10
|
getL1ToL2MsgReadRequestsHints(readRequests: Tuple<TreeLeafReadRequest, typeof MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_TX>): Promise<[TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>, TreeLeafReadRequestHint<16>]>;
|
|
11
|
-
getPublicDataHints(publicDataReads: Tuple<PublicDataRead, typeof MAX_PUBLIC_DATA_READS_PER_TX>, publicDataUpdateRequests: Tuple<PublicDataUpdateRequest, typeof MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX>): Promise<[
|
|
12
|
-
getPublicDataHint(dataAction: PublicDataRead | PublicDataUpdateRequest | bigint): Promise<PublicDataHint>;
|
|
13
|
-
getPublicDataReadRequestHints(publicDataReads: Tuple<PublicDataRead, typeof MAX_PUBLIC_DATA_READS_PER_TX>, publicDataUpdateRequests: Tuple<PublicDataUpdateRequest, typeof MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX>, publicDataHints: Tuple<PublicDataHint, typeof MAX_PUBLIC_DATA_HINTS>): import("@aztec/circuits.js").PublicDataReadRequestHints;
|
|
11
|
+
getPublicDataHints(publicDataReads: Tuple<PublicDataRead, typeof MAX_PUBLIC_DATA_READS_PER_TX>, publicDataUpdateRequests: Tuple<PublicDataUpdateRequest, typeof MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX>): Promise<[import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint, import("@aztec/circuits.js").PublicDataLeafHint]>;
|
|
12
|
+
getPublicDataHint(dataAction: PublicDataRead | PublicDataUpdateRequest | bigint): Promise<import("@aztec/circuits.js").PublicDataHint>;
|
|
14
13
|
getNullifierMembershipWitness(nullifier: Fr): Promise<{
|
|
15
14
|
membershipWitness: MembershipWitness<20>;
|
|
16
15
|
leafPreimage: import("@aztec/foundation/trees").IndexedTreeLeafPreimage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hints_builder.d.ts","sourceRoot":"","sources":["../../src/public/hints_builder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EAAE,EAEP,qCAAqC,EACrC,kCAAkC,EAClC,KAAK,qBAAqB,EAC1B,KAAK,+CAA+C,EACpD,kCAAkC,EAClC,KAAK,
|
|
1
|
+
{"version":3,"file":"hints_builder.d.ts","sourceRoot":"","sources":["../../src/public/hints_builder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EAAE,EAEP,qCAAqC,EACrC,kCAAkC,EAClC,KAAK,qBAAqB,EAC1B,KAAK,+CAA+C,EACpD,kCAAkC,EAClC,KAAK,4BAA4B,EACjC,KAAK,sCAAsC,EAC3C,iBAAiB,EAGjB,KAAK,SAAS,EAEd,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,uBAAuB,EAKxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,qBAAa,YAAY;IACX,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,oBAAoB;IAEtC,4BAA4B,CAChC,YAAY,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,kCAAkC,CAAC;IAU/E,4BAA4B,CAChC,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EAC1F,iBAAiB,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,qBAAqB,CAAC;IAanE,uCAAuC,CACrC,gCAAgC,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,+CAA+C,CAAC,EAClH,iBAAiB,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,qBAAqB,CAAC;IAK7D,6BAA6B,CACjC,YAAY,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,qCAAqC,CAAC;IAUxF,kBAAkB,CAChB,eAAe,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,4BAA4B,CAAC,EAC3E,wBAAwB,EAAE,KAAK,CAAC,uBAAuB,EAAE,OAAO,sCAAsC,CAAC;IAKzG,iBAAiB,CAAC,UAAU,EAAE,cAAc,GAAG,uBAAuB,GAAG,MAAM;IAKzE,6BAA6B,CAAC,SAAS,EAAE,EAAE;;;;IAa3C,gCAAgC,CAAC,SAAS,EAAE,EAAE;;;;IAkB9C,wCAAwC,CAAC,QAAQ,EAAE,MAAM;;;;YAcjD,gCAAgC;YAgBhC,4BAA4B;CAgB3C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MerkleTreeId } from '@aztec/circuit-types';
|
|
2
|
-
import { L1_TO_L2_MSG_TREE_HEIGHT, MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX, MembershipWitness, NOTE_HASH_TREE_HEIGHT, NULLIFIER_TREE_HEIGHT, PUBLIC_DATA_TREE_HEIGHT, TreeLeafReadRequestHint, buildNullifierNonExistentReadRequestHints, buildPublicDataHint, buildPublicDataHints,
|
|
2
|
+
import { L1_TO_L2_MSG_TREE_HEIGHT, MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX, MembershipWitness, NOTE_HASH_TREE_HEIGHT, NULLIFIER_TREE_HEIGHT, PUBLIC_DATA_TREE_HEIGHT, TreeLeafReadRequestHint, buildNullifierNonExistentReadRequestHints, buildPublicDataHint, buildPublicDataHints, buildSiloedNullifierReadRequestHints, } from '@aztec/circuits.js';
|
|
3
3
|
import { makeTuple } from '@aztec/foundation/array';
|
|
4
4
|
export class HintsBuilder {
|
|
5
5
|
constructor(db) {
|
|
@@ -24,9 +24,6 @@ export class HintsBuilder {
|
|
|
24
24
|
const slot = typeof dataAction === 'bigint' ? dataAction : dataAction.leafSlot.toBigInt();
|
|
25
25
|
return buildPublicDataHint(this, slot);
|
|
26
26
|
}
|
|
27
|
-
getPublicDataReadRequestHints(publicDataReads, publicDataUpdateRequests, publicDataHints) {
|
|
28
|
-
return buildPublicDataReadRequestHints(publicDataReads, publicDataUpdateRequests, publicDataHints);
|
|
29
|
-
}
|
|
30
27
|
async getNullifierMembershipWitness(nullifier) {
|
|
31
28
|
const index = await this.db.findLeafIndex(MerkleTreeId.NULLIFIER_TREE, nullifier.toBuffer());
|
|
32
29
|
if (index === undefined) {
|
|
@@ -75,4 +72,4 @@ export class HintsBuilder {
|
|
|
75
72
|
return hints;
|
|
76
73
|
}
|
|
77
74
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludHNfYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvaGludHNfYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hFLE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIscUNBQXFDLEVBQ3JDLGtDQUFrQyxFQUdsQyxrQ0FBa0MsRUFHbEMsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFFckIsdUJBQXVCLEVBTXZCLHVCQUF1QixFQUN2Qix5Q0FBeUMsRUFDekMsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixvQ0FBb0MsR0FDckMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJcEQsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsRUFBd0I7UUFBeEIsT0FBRSxHQUFGLEVBQUUsQ0FBc0I7SUFBRyxDQUFDO0lBRWhELEtBQUssQ0FBQyw0QkFBNEIsQ0FDaEMsWUFBbUY7UUFFbkYsT0FBTyxNQUFNLElBQUksQ0FBQyw0QkFBNEIsQ0FDNUMsWUFBWSxFQUNaLGtDQUFrQyxFQUNsQyxxQkFBcUIsRUFDckIsWUFBWSxDQUFDLGNBQWMsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsNEJBQTRCLENBQ2hDLHFCQUEwRixFQUMxRixpQkFBaUU7UUFFakUsT0FBTyxDQUNMLE1BQU0sb0NBQW9DLENBQ3hDLElBQUksRUFDSixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLGtDQUFrQyxFQUNsQyxrQ0FBa0MsQ0FDbkMsQ0FDRixDQUFDLEtBQUssQ0FBQztJQUNWLENBQUM7SUFFRCx1Q0FBdUMsQ0FDckMsZ0NBQWtILEVBQ2xILGlCQUFpRTtRQUVqRSxPQUFPLHlDQUF5QyxDQUFDLElBQUksRUFBRSxnQ0FBZ0MsRUFBRSxpQkFBaUIs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tail_phase_manager.d.ts","sourceRoot":"","sources":["../../src/public/tail_phase_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,gBAAgB,EAAE,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,yBAAyB,EAG9B,KAAK,+BAA+B,EAGrC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEzF,qBAAa,gBAAiB,SAAQ,oBAAoB;IAOtD,SAAS,CAAC,iBAAiB,EAAE,2BAA2B;IACxD,SAAS,CAAC,aAAa,EAAE,aAAa;gBANtC,EAAE,EAAE,oBAAoB,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,4BAA4B,EAC1C,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,MAAM,EACd,iBAAiB,EAAE,2BAA2B,EAC9C,aAAa,EAAE,aAAa,EACtC,KAAK,GAAE,gBAAwC;IAKlC,MAAM,CACnB,EAAE,EAAE,EAAE,EACN,0BAA0B,EAAE,+BAA+B,EAC3D,sBAAsB,EAAE,gBAAgB;;;;;;;YA0B5B,QAAQ;YASR,kBAAkB;
|
|
1
|
+
{"version":3,"file":"tail_phase_manager.d.ts","sourceRoot":"","sources":["../../src/public/tail_phase_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,gBAAgB,EAAE,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,yBAAyB,EAG9B,KAAK,+BAA+B,EAGrC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEzF,qBAAa,gBAAiB,SAAQ,oBAAoB;IAOtD,SAAS,CAAC,iBAAiB,EAAE,2BAA2B;IACxD,SAAS,CAAC,aAAa,EAAE,aAAa;gBANtC,EAAE,EAAE,oBAAoB,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,4BAA4B,EAC1C,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,MAAM,EACd,iBAAiB,EAAE,2BAA2B,EAC9C,aAAa,EAAE,aAAa,EACtC,KAAK,GAAE,gBAAwC;IAKlC,MAAM,CACnB,EAAE,EAAE,EAAE,EACN,0BAA0B,EAAE,+BAA+B,EAC3D,sBAAsB,EAAE,gBAAgB;;;;;;;YA0B5B,QAAQ;YASR,kBAAkB;CAuDjC"}
|
|
@@ -43,9 +43,8 @@ export class TailPhaseManager extends AbstractPhaseManager {
|
|
|
43
43
|
const l1ToL2MsgReadRequestHints = await this.hintsBuilder.getL1ToL2MsgReadRequestsHints(validationRequests.l1ToL2MsgReadRequests);
|
|
44
44
|
const pendingPublicDataWrites = mergeAccumulatedData(nonRevertibleData.publicDataUpdateRequests, revertibleData.publicDataUpdateRequests, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX);
|
|
45
45
|
const publicDataHints = await this.hintsBuilder.getPublicDataHints(validationRequests.publicDataReads, pendingPublicDataWrites);
|
|
46
|
-
const publicDataReadRequestHints = this.hintsBuilder.getPublicDataReadRequestHints(validationRequests.publicDataReads, pendingPublicDataWrites, publicDataHints);
|
|
47
46
|
const currentState = await this.db.getStateReference();
|
|
48
|
-
return new PublicKernelTailCircuitPrivateInputs(previousKernel, noteHashReadRequestHints, nullifierReadRequestHints, nullifierNonExistentReadRequestHints, l1ToL2MsgReadRequestHints, publicDataHints,
|
|
47
|
+
return new PublicKernelTailCircuitPrivateInputs(previousKernel, noteHashReadRequestHints, nullifierReadRequestHints, nullifierNonExistentReadRequestHints, l1ToL2MsgReadRequestHints, publicDataHints, currentState.partial);
|
|
49
48
|
}
|
|
50
49
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpbF9waGFzZV9tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy90YWlsX3BoYXNlX21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QixnQkFBZ0IsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQzNGLE9BQU8sRUFJTCxxQkFBcUIsRUFDckIsc0NBQXNDLEVBRXRDLG9DQUFvQyxFQUNwQyxvQkFBb0IsR0FDckIsTUFBTSxvQkFBb0IsQ0FBQztBQUs1QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUluRSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsb0JBQW9CO0lBQ3hELFlBQ0UsRUFBd0IsRUFDeEIsY0FBOEIsRUFDOUIsWUFBMEMsRUFDMUMsZUFBZ0MsRUFDaEMsZ0JBQXdCLEVBQ2QsaUJBQThDLEVBQzlDLGFBQTRCLEVBQ3RDLFFBQTBCLGdCQUFnQixDQUFDLElBQUk7UUFFL0MsS0FBSyxDQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUp4RSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTZCO1FBQzlDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBSXhDLENBQUM7SUFFUSxLQUFLLENBQUMsTUFBTSxDQUNuQixFQUFNLEVBQ04sMEJBQTJELEVBQzNELHNCQUF3QztRQUV4QyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwRCxNQUFNLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLDBCQUEwQixFQUFFLHNCQUFzQixDQUFDLENBQUMsS0FBSztRQUMvRyxzRkFBc0Y7UUFDdEYsS0FBSyxFQUFDLEdBQUcsRUFBQyxFQUFFO1lB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/simulator",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.54.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -56,14 +56,14 @@
|
|
|
56
56
|
]
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@aztec/circuit-types": "0.
|
|
60
|
-
"@aztec/circuits.js": "0.
|
|
61
|
-
"@aztec/foundation": "0.
|
|
62
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
63
|
-
"@aztec/protocol-contracts": "0.
|
|
64
|
-
"@aztec/telemetry-client": "0.
|
|
65
|
-
"@aztec/types": "0.
|
|
66
|
-
"@aztec/world-state": "0.
|
|
59
|
+
"@aztec/circuit-types": "0.54.0",
|
|
60
|
+
"@aztec/circuits.js": "0.54.0",
|
|
61
|
+
"@aztec/foundation": "0.54.0",
|
|
62
|
+
"@aztec/noir-protocol-circuits-types": "0.54.0",
|
|
63
|
+
"@aztec/protocol-contracts": "0.54.0",
|
|
64
|
+
"@aztec/telemetry-client": "0.54.0",
|
|
65
|
+
"@aztec/types": "0.54.0",
|
|
66
|
+
"@aztec/world-state": "0.54.0",
|
|
67
67
|
"@noir-lang/acvm_js": "portal:../../noir/packages/acvm_js",
|
|
68
68
|
"@noir-lang/types": "portal:../../noir/packages/types",
|
|
69
69
|
"levelup": "^5.1.1",
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { FunctionSelector, type GlobalVariables, type Header } from '@aztec/circuits.js';
|
|
2
|
-
import { computeVarArgsHash } from '@aztec/circuits.js/hash';
|
|
3
2
|
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
4
|
|
|
6
5
|
export class AvmContextInputs {
|
|
7
6
|
static readonly SIZE = 2;
|
|
8
7
|
|
|
9
|
-
constructor(private
|
|
8
|
+
constructor(private calldataSize: Fr, private isStaticCall: boolean) {}
|
|
10
9
|
|
|
11
10
|
public toFields(): Fr[] {
|
|
12
|
-
return [this.
|
|
11
|
+
return [this.calldataSize, new Fr(this.isStaticCall)];
|
|
13
12
|
}
|
|
14
13
|
}
|
|
15
14
|
|
|
@@ -33,7 +32,7 @@ export class AvmExecutionEnvironment {
|
|
|
33
32
|
) {
|
|
34
33
|
// We encode some extra inputs (AvmContextInputs) in calldata.
|
|
35
34
|
// This will have to go once we move away from one proof per call.
|
|
36
|
-
const inputs = new AvmContextInputs(
|
|
35
|
+
const inputs = new AvmContextInputs(new Fr(calldata.length), isStaticCall).toFields();
|
|
37
36
|
this.calldata = [...inputs, ...calldata];
|
|
38
37
|
}
|
|
39
38
|
|