@aztec/accounts 0.74.0 → 0.75.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/artifacts/EcdsaKAccount.json +506 -506
- package/artifacts/EcdsaRAccount.json +659 -659
- package/artifacts/SchnorrAccount.json +470 -470
- package/artifacts/SchnorrSingleKeyAccount.json +173 -173
- package/dest/defaults/index.d.ts +1 -1
- package/dest/defaults/index.js +1 -1
- package/package.json +8 -8
- package/src/defaults/index.ts +1 -1
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"transpiled": true,
|
|
3
|
-
"noir_version": "1.0.0-beta.1+
|
|
3
|
+
"noir_version": "1.0.0-beta.1+4144a8dce4789d85",
|
|
4
4
|
"name": "EcdsaKAccount",
|
|
5
5
|
"functions": [
|
|
6
6
|
{
|
|
7
|
-
"name": "
|
|
7
|
+
"name": "compute_note_hash_and_optionally_a_nullifier",
|
|
8
8
|
"is_unconstrained": true,
|
|
9
9
|
"custom_attributes": [],
|
|
10
10
|
"abi": {
|
|
11
11
|
"error_types": {
|
|
12
|
+
"11091894166229312484": {
|
|
13
|
+
"error_kind": "fmtstring",
|
|
14
|
+
"item_types": [],
|
|
15
|
+
"length": 20
|
|
16
|
+
},
|
|
12
17
|
"16761564377371454734": {
|
|
13
18
|
"error_kind": "string",
|
|
14
19
|
"string": "Array index out of bounds"
|
|
15
20
|
},
|
|
16
|
-
"16954218183513903507": {
|
|
17
|
-
"error_kind": "string",
|
|
18
|
-
"string": "Attempted to read past end of BoundedVec"
|
|
19
|
-
},
|
|
20
21
|
"17843811134343075018": {
|
|
21
22
|
"error_kind": "string",
|
|
22
23
|
"string": "Stack too deep"
|
|
@@ -29,164 +30,92 @@
|
|
|
29
30
|
"error_kind": "string",
|
|
30
31
|
"string": "attempt to add with overflow"
|
|
31
32
|
},
|
|
32
|
-
"6753155520859132764": {
|
|
33
|
-
"error_kind": "string",
|
|
34
|
-
"string": "Failed to deliver note"
|
|
35
|
-
},
|
|
36
33
|
"8270195893599566439": {
|
|
37
34
|
"error_kind": "string",
|
|
38
35
|
"string": "Invalid public keys hint for address"
|
|
39
|
-
},
|
|
40
|
-
"8861757336002045335": {
|
|
41
|
-
"error_kind": "fmtstring",
|
|
42
|
-
"item_types": [
|
|
43
|
-
{
|
|
44
|
-
"kind": "integer",
|
|
45
|
-
"sign": "unsigned",
|
|
46
|
-
"width": 32
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"kind": "integer",
|
|
50
|
-
"sign": "unsigned",
|
|
51
|
-
"width": 32
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"kind": "field"
|
|
55
|
-
}
|
|
56
|
-
],
|
|
57
|
-
"length": 99
|
|
58
|
-
},
|
|
59
|
-
"9862881900111276825": {
|
|
60
|
-
"error_kind": "fmtstring",
|
|
61
|
-
"item_types": [
|
|
62
|
-
{
|
|
63
|
-
"kind": "field"
|
|
64
|
-
}
|
|
65
|
-
],
|
|
66
|
-
"length": 35
|
|
67
36
|
}
|
|
68
37
|
},
|
|
69
38
|
"parameters": [
|
|
70
39
|
{
|
|
71
|
-
"name": "
|
|
40
|
+
"name": "contract_address",
|
|
72
41
|
"type": {
|
|
73
42
|
"fields": [
|
|
74
43
|
{
|
|
75
|
-
"name": "
|
|
76
|
-
"type": {
|
|
77
|
-
"kind": "array",
|
|
78
|
-
"length": 18,
|
|
79
|
-
"type": {
|
|
80
|
-
"kind": "field"
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
"name": "len",
|
|
44
|
+
"name": "inner",
|
|
86
45
|
"type": {
|
|
87
|
-
"kind": "
|
|
88
|
-
"sign": "unsigned",
|
|
89
|
-
"width": 32
|
|
46
|
+
"kind": "field"
|
|
90
47
|
}
|
|
91
48
|
}
|
|
92
49
|
],
|
|
93
50
|
"kind": "struct",
|
|
94
|
-
"path": "
|
|
51
|
+
"path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress"
|
|
95
52
|
},
|
|
96
53
|
"visibility": "private"
|
|
97
54
|
},
|
|
98
55
|
{
|
|
99
|
-
"name": "
|
|
56
|
+
"name": "nonce",
|
|
100
57
|
"type": {
|
|
101
58
|
"kind": "field"
|
|
102
59
|
},
|
|
103
60
|
"visibility": "private"
|
|
104
61
|
},
|
|
105
62
|
{
|
|
106
|
-
"name": "
|
|
63
|
+
"name": "storage_slot",
|
|
107
64
|
"type": {
|
|
108
|
-
"
|
|
109
|
-
{
|
|
110
|
-
"name": "storage",
|
|
111
|
-
"type": {
|
|
112
|
-
"kind": "array",
|
|
113
|
-
"length": 64,
|
|
114
|
-
"type": {
|
|
115
|
-
"kind": "field"
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
"name": "len",
|
|
121
|
-
"type": {
|
|
122
|
-
"kind": "integer",
|
|
123
|
-
"sign": "unsigned",
|
|
124
|
-
"width": 32
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
],
|
|
128
|
-
"kind": "struct",
|
|
129
|
-
"path": "std::collections::bounded_vec::BoundedVec"
|
|
65
|
+
"kind": "field"
|
|
130
66
|
},
|
|
131
67
|
"visibility": "private"
|
|
132
68
|
},
|
|
133
69
|
{
|
|
134
|
-
"name": "
|
|
70
|
+
"name": "note_type_id",
|
|
135
71
|
"type": {
|
|
136
72
|
"kind": "field"
|
|
137
73
|
},
|
|
138
74
|
"visibility": "private"
|
|
139
75
|
},
|
|
140
76
|
{
|
|
141
|
-
"name": "
|
|
77
|
+
"name": "compute_nullifier",
|
|
142
78
|
"type": {
|
|
143
|
-
"
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
"
|
|
152
|
-
"
|
|
79
|
+
"kind": "boolean"
|
|
80
|
+
},
|
|
81
|
+
"visibility": "private"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "packed_note_content",
|
|
85
|
+
"type": {
|
|
86
|
+
"kind": "array",
|
|
87
|
+
"length": 5,
|
|
88
|
+
"type": {
|
|
89
|
+
"kind": "field"
|
|
90
|
+
}
|
|
153
91
|
},
|
|
154
92
|
"visibility": "private"
|
|
155
93
|
}
|
|
156
94
|
],
|
|
157
|
-
"return_type":
|
|
158
|
-
|
|
159
|
-
"bytecode": "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",
|
|
160
|
-
"debug_symbols": "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",
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
"is_unconstrained": true,
|
|
168
|
-
"custom_attributes": [],
|
|
169
|
-
"abi": {
|
|
170
|
-
"error_types": {
|
|
171
|
-
"17843811134343075018": {
|
|
172
|
-
"error_kind": "string",
|
|
173
|
-
"string": "Stack too deep"
|
|
174
|
-
}
|
|
175
|
-
},
|
|
176
|
-
"parameters": [],
|
|
177
|
-
"return_type": null
|
|
95
|
+
"return_type": {
|
|
96
|
+
"abi_type": {
|
|
97
|
+
"kind": "array",
|
|
98
|
+
"length": 4,
|
|
99
|
+
"type": {
|
|
100
|
+
"kind": "field"
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"visibility": "public"
|
|
104
|
+
}
|
|
178
105
|
},
|
|
179
|
-
"bytecode": "H4sIAAAAAAAA/7WTyw7CIBBFqcUo0sTEx39MU0y7dOHafyCtLHVRN+766dZkJkyI0QVwEzJMgMNcHoXwKjBKESGCHDEqjAs2Xs7tjDnEqVbBvin5HRijvvhLWH+jkFnk4QPxM50/rJBzmTyfe6F913PTrF8J/z5y+af7y+l//8OzRq9bzCvh/8P4uvfXx/M2ij/SbJGc0ptoOwAqvkT+EvmhJBvn8w+Yb4Svj6KMqNO1tnaNdfZkh8H0dhfwP+KH/QbzqHp4zgQAAA==",
|
|
180
|
-
"debug_symbols": "bY/dCoMwDIXfJde9aKob01eRIVWjFEortQ6G+O5Lh0j3cxPOCV8OORsM1K1Ta9zoF6ibDazvdTTesdt2AV0w1pqpzdcg08DizS+zdskuUYcItSoKAeQGViXy/WgsQX1Vu/hBUaJUB8xaVSeO5e0/X+HJK5Qf/H1n+9DB6M7S8fy4uj7rEp8zfdWag+9pWAOlglk3ng1ehJIcy9Ev",
|
|
106
|
+
"bytecode": "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",
|
|
107
|
+
"debug_symbols": "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",
|
|
181
108
|
"brillig_names": [
|
|
182
|
-
"
|
|
109
|
+
"compute_note_hash_and_optionally_a_nullifier"
|
|
183
110
|
]
|
|
184
111
|
},
|
|
185
112
|
{
|
|
186
|
-
"name": "
|
|
113
|
+
"name": "verify_private_authwit",
|
|
187
114
|
"is_unconstrained": false,
|
|
188
115
|
"custom_attributes": [
|
|
189
|
-
"private"
|
|
116
|
+
"private",
|
|
117
|
+
"noinitcheck",
|
|
118
|
+
"view"
|
|
190
119
|
],
|
|
191
120
|
"abi": {
|
|
192
121
|
"error_types": {
|
|
@@ -211,17 +140,21 @@
|
|
|
211
140
|
"error_kind": "string",
|
|
212
141
|
"string": "Stack too deep"
|
|
213
142
|
},
|
|
143
|
+
"19458536156181958": {
|
|
144
|
+
"error_kind": "string",
|
|
145
|
+
"string": "Function verify_private_authwit can only be called statically"
|
|
146
|
+
},
|
|
214
147
|
"2920182694213909827": {
|
|
215
148
|
"error_kind": "string",
|
|
216
149
|
"string": "attempt to subtract with overflow"
|
|
217
150
|
},
|
|
218
|
-
"
|
|
151
|
+
"4939791462094160055": {
|
|
219
152
|
"error_kind": "string",
|
|
220
|
-
"string": "
|
|
153
|
+
"string": "Message not authorized by account"
|
|
221
154
|
},
|
|
222
|
-
"
|
|
155
|
+
"5019202896831570965": {
|
|
223
156
|
"error_kind": "string",
|
|
224
|
-
"string": "
|
|
157
|
+
"string": "attempt to add with overflow"
|
|
225
158
|
},
|
|
226
159
|
"6869395374906889440": {
|
|
227
160
|
"error_kind": "string",
|
|
@@ -715,173 +648,9 @@
|
|
|
715
648
|
"visibility": "private"
|
|
716
649
|
},
|
|
717
650
|
{
|
|
718
|
-
"name": "
|
|
719
|
-
"type": {
|
|
720
|
-
"fields": [
|
|
721
|
-
{
|
|
722
|
-
"name": "function_calls",
|
|
723
|
-
"type": {
|
|
724
|
-
"kind": "array",
|
|
725
|
-
"length": 4,
|
|
726
|
-
"type": {
|
|
727
|
-
"fields": [
|
|
728
|
-
{
|
|
729
|
-
"name": "args_hash",
|
|
730
|
-
"type": {
|
|
731
|
-
"kind": "field"
|
|
732
|
-
}
|
|
733
|
-
},
|
|
734
|
-
{
|
|
735
|
-
"name": "function_selector",
|
|
736
|
-
"type": {
|
|
737
|
-
"fields": [
|
|
738
|
-
{
|
|
739
|
-
"name": "inner",
|
|
740
|
-
"type": {
|
|
741
|
-
"kind": "integer",
|
|
742
|
-
"sign": "unsigned",
|
|
743
|
-
"width": 32
|
|
744
|
-
}
|
|
745
|
-
}
|
|
746
|
-
],
|
|
747
|
-
"kind": "struct",
|
|
748
|
-
"path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"
|
|
749
|
-
}
|
|
750
|
-
},
|
|
751
|
-
{
|
|
752
|
-
"name": "target_address",
|
|
753
|
-
"type": {
|
|
754
|
-
"fields": [
|
|
755
|
-
{
|
|
756
|
-
"name": "inner",
|
|
757
|
-
"type": {
|
|
758
|
-
"kind": "field"
|
|
759
|
-
}
|
|
760
|
-
}
|
|
761
|
-
],
|
|
762
|
-
"kind": "struct",
|
|
763
|
-
"path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress"
|
|
764
|
-
}
|
|
765
|
-
},
|
|
766
|
-
{
|
|
767
|
-
"name": "is_public",
|
|
768
|
-
"type": {
|
|
769
|
-
"kind": "boolean"
|
|
770
|
-
}
|
|
771
|
-
},
|
|
772
|
-
{
|
|
773
|
-
"name": "is_static",
|
|
774
|
-
"type": {
|
|
775
|
-
"kind": "boolean"
|
|
776
|
-
}
|
|
777
|
-
}
|
|
778
|
-
],
|
|
779
|
-
"kind": "struct",
|
|
780
|
-
"path": "authwit::entrypoint::function_call::FunctionCall"
|
|
781
|
-
}
|
|
782
|
-
}
|
|
783
|
-
},
|
|
784
|
-
{
|
|
785
|
-
"name": "nonce",
|
|
786
|
-
"type": {
|
|
787
|
-
"kind": "field"
|
|
788
|
-
}
|
|
789
|
-
}
|
|
790
|
-
],
|
|
791
|
-
"kind": "struct",
|
|
792
|
-
"path": "authwit::entrypoint::app::AppPayload"
|
|
793
|
-
},
|
|
794
|
-
"visibility": "private"
|
|
795
|
-
},
|
|
796
|
-
{
|
|
797
|
-
"name": "fee_payload",
|
|
798
|
-
"type": {
|
|
799
|
-
"fields": [
|
|
800
|
-
{
|
|
801
|
-
"name": "function_calls",
|
|
802
|
-
"type": {
|
|
803
|
-
"kind": "array",
|
|
804
|
-
"length": 2,
|
|
805
|
-
"type": {
|
|
806
|
-
"fields": [
|
|
807
|
-
{
|
|
808
|
-
"name": "args_hash",
|
|
809
|
-
"type": {
|
|
810
|
-
"kind": "field"
|
|
811
|
-
}
|
|
812
|
-
},
|
|
813
|
-
{
|
|
814
|
-
"name": "function_selector",
|
|
815
|
-
"type": {
|
|
816
|
-
"fields": [
|
|
817
|
-
{
|
|
818
|
-
"name": "inner",
|
|
819
|
-
"type": {
|
|
820
|
-
"kind": "integer",
|
|
821
|
-
"sign": "unsigned",
|
|
822
|
-
"width": 32
|
|
823
|
-
}
|
|
824
|
-
}
|
|
825
|
-
],
|
|
826
|
-
"kind": "struct",
|
|
827
|
-
"path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"
|
|
828
|
-
}
|
|
829
|
-
},
|
|
830
|
-
{
|
|
831
|
-
"name": "target_address",
|
|
832
|
-
"type": {
|
|
833
|
-
"fields": [
|
|
834
|
-
{
|
|
835
|
-
"name": "inner",
|
|
836
|
-
"type": {
|
|
837
|
-
"kind": "field"
|
|
838
|
-
}
|
|
839
|
-
}
|
|
840
|
-
],
|
|
841
|
-
"kind": "struct",
|
|
842
|
-
"path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress"
|
|
843
|
-
}
|
|
844
|
-
},
|
|
845
|
-
{
|
|
846
|
-
"name": "is_public",
|
|
847
|
-
"type": {
|
|
848
|
-
"kind": "boolean"
|
|
849
|
-
}
|
|
850
|
-
},
|
|
851
|
-
{
|
|
852
|
-
"name": "is_static",
|
|
853
|
-
"type": {
|
|
854
|
-
"kind": "boolean"
|
|
855
|
-
}
|
|
856
|
-
}
|
|
857
|
-
],
|
|
858
|
-
"kind": "struct",
|
|
859
|
-
"path": "authwit::entrypoint::function_call::FunctionCall"
|
|
860
|
-
}
|
|
861
|
-
}
|
|
862
|
-
},
|
|
863
|
-
{
|
|
864
|
-
"name": "nonce",
|
|
865
|
-
"type": {
|
|
866
|
-
"kind": "field"
|
|
867
|
-
}
|
|
868
|
-
},
|
|
869
|
-
{
|
|
870
|
-
"name": "is_fee_payer",
|
|
871
|
-
"type": {
|
|
872
|
-
"kind": "boolean"
|
|
873
|
-
}
|
|
874
|
-
}
|
|
875
|
-
],
|
|
876
|
-
"kind": "struct",
|
|
877
|
-
"path": "authwit::entrypoint::fee::FeePayload"
|
|
878
|
-
},
|
|
879
|
-
"visibility": "private"
|
|
880
|
-
},
|
|
881
|
-
{
|
|
882
|
-
"name": "cancellable",
|
|
651
|
+
"name": "inner_hash",
|
|
883
652
|
"type": {
|
|
884
|
-
"kind": "
|
|
653
|
+
"kind": "field"
|
|
885
654
|
},
|
|
886
655
|
"visibility": "private"
|
|
887
656
|
}
|
|
@@ -1991,34 +1760,34 @@
|
|
|
1991
1760
|
"visibility": "databus"
|
|
1992
1761
|
}
|
|
1993
1762
|
},
|
|
1994
|
-
"bytecode": "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z53mJNwpAsbcgiTmYmDMLUliLgHG3Iok5qbAmFuTxNwMGHM5ScylwJjbkMRcBoy5LUnMzYExtyOJuQUw5vYkMbcExtyBJOZWwJg7ksTcGhjzSiQxlwNj7kQScxtgzJ1JYm4LjHllkpjbAWNehSTm9sCYVyWJuQMw5tVIYu4IjHl1kphXAsa8BknMnYAxdyGJuTMw5jVJYl4ZGPNaJDGvAox5bZKYVwXGvA5JzKsBY16XJObVgTGvRxLzGsCYu5LE3AUYczeSmNcExrw+ScxrAWPegCTmtYExb0gS8zrAmLuTxLwuMOYeJDGvB4x5I2DMuimznDPyUSrgLbQN1baltq20ba1tG23battO2zBt22vbQdtwbTtq20nbztp20TZC267adtO2u7Y9tI3UNkpbtbYabbXa6rTVa2vQNlrbntrGaBurbS9te2sbp228tgnaJmrbR9skbZO1TdG2r7ap2qZp20/b/tqmaztA2wxtB2o7SNvB2mZqO0TbLG2HajtM2+HajtA2W9uR2o7SdrS2Y7Qdq+04bcdrO0HbidpO0naytlO0nartNG2naztD25naztJ2trZztJ2r7Txt52u7QNscbRdqu0jbxdou0Xaptsu0Xa7tCm1XartK29XartF2rbbrtF2v7QZtN2q7SdvN2m7Rdqu227T9T9vt2u7Qdqe2u7Tdre0ebfdqu0/b/doe0PagtrnaHtI2T9vD2h7R9qi2x7Q9ru0JbU9qe0rb09qe0fastue0Pa/tBW0vantJ28vaXtH2qrbXtL2u7Q1tb2p7S9vb2t7R9q6297S9r+0DbR9q+0jbx9o+0fapts+0fa7tC21favtK29favtH2rbbvtH2v7QdtP2r7SdvP2n7R9qu237T9ru0PbX9q+0vb39r+0WYWOBVoa6KtUFuRtmJtJdqaamumrVRbmbbm2lpoa6mtlbbW2sq1tdHWVls7be21ddDWUdtK2jpp66xtZW2raFtV22raVte2hrYu2tbUtpa2tbWto21dbetp66qtm7b1tW2gbUNt3bX10LaRto21edqUtqi2mLa4tgptldqqtCW0JbX11NZLW29tfbT11baJtn7a+msboG2gtkHaBmsbom1TbZtp21zbFtqGattS21batta2jbZttW2nbZi27bXtoG24th217aRtZ227aBuhbVdtu2nbXdse2kZqG6WtWluN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",
|
|
1995
|
-
"debug_symbols": "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",
|
|
1763
|
+
"bytecode": "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",
|
|
1764
|
+
"debug_symbols": "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",
|
|
1996
1765
|
"brillig_names": [
|
|
1997
1766
|
"get_note_internal",
|
|
1998
1767
|
"decompose_hint",
|
|
1999
1768
|
"get_auth_witness",
|
|
2000
1769
|
"build_msg_block",
|
|
2001
1770
|
"attach_len_to_msg_block",
|
|
2002
|
-
"
|
|
2003
|
-
"call_private_function_internal",
|
|
2004
|
-
"debug_log_oracle_wrapper",
|
|
2005
|
-
"notify_set_min_revertible_side_effect_counter_oracle_wrapper",
|
|
2006
|
-
"notify_created_nullifier_oracle_wrapper",
|
|
1771
|
+
"store_in_execution_cache_oracle_wrapper",
|
|
2007
1772
|
"directive_invert",
|
|
2008
1773
|
"directive_integer_quotient",
|
|
2009
1774
|
"directive_to_radix"
|
|
2010
1775
|
],
|
|
2011
|
-
"verification_key": "
|
|
1776
|
+
"verification_key": "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"
|
|
2012
1777
|
},
|
|
2013
1778
|
{
|
|
2014
|
-
"name": "
|
|
1779
|
+
"name": "entrypoint",
|
|
2015
1780
|
"is_unconstrained": false,
|
|
2016
1781
|
"custom_attributes": [
|
|
2017
|
-
"private"
|
|
2018
|
-
"initializer"
|
|
1782
|
+
"private"
|
|
2019
1783
|
],
|
|
2020
1784
|
"abi": {
|
|
2021
1785
|
"error_types": {
|
|
1786
|
+
"11091894166229312484": {
|
|
1787
|
+
"error_kind": "fmtstring",
|
|
1788
|
+
"item_types": [],
|
|
1789
|
+
"length": 20
|
|
1790
|
+
},
|
|
2022
1791
|
"14514982005979867414": {
|
|
2023
1792
|
"error_kind": "string",
|
|
2024
1793
|
"string": "attempt to bit-shift with overflow"
|
|
@@ -2027,22 +1796,14 @@
|
|
|
2027
1796
|
"error_kind": "string",
|
|
2028
1797
|
"string": "Array index out of bounds"
|
|
2029
1798
|
},
|
|
2030
|
-
"
|
|
1799
|
+
"1705275289401561847": {
|
|
2031
1800
|
"error_kind": "string",
|
|
2032
|
-
"string": "
|
|
1801
|
+
"string": "Mismatch note header storage slot."
|
|
2033
1802
|
},
|
|
2034
1803
|
"17843811134343075018": {
|
|
2035
1804
|
"error_kind": "string",
|
|
2036
1805
|
"string": "Stack too deep"
|
|
2037
1806
|
},
|
|
2038
|
-
"2233873454491509486": {
|
|
2039
|
-
"error_kind": "string",
|
|
2040
|
-
"string": "Initializer address is not the contract deployer"
|
|
2041
|
-
},
|
|
2042
|
-
"2709101749560550278": {
|
|
2043
|
-
"error_kind": "string",
|
|
2044
|
-
"string": "Cannot serialize point at infinity as bytes."
|
|
2045
|
-
},
|
|
2046
1807
|
"2920182694213909827": {
|
|
2047
1808
|
"error_kind": "string",
|
|
2048
1809
|
"string": "attempt to subtract with overflow"
|
|
@@ -2051,9 +1812,13 @@
|
|
|
2051
1812
|
"error_kind": "string",
|
|
2052
1813
|
"string": "attempt to add with overflow"
|
|
2053
1814
|
},
|
|
2054
|
-
"
|
|
1815
|
+
"5727012404371710682": {
|
|
2055
1816
|
"error_kind": "string",
|
|
2056
|
-
"string": "
|
|
1817
|
+
"string": "push out of bounds"
|
|
1818
|
+
},
|
|
1819
|
+
"6869395374906889440": {
|
|
1820
|
+
"error_kind": "string",
|
|
1821
|
+
"string": "Mismatch note header contract address."
|
|
2057
1822
|
},
|
|
2058
1823
|
"7233212735005103307": {
|
|
2059
1824
|
"error_kind": "string",
|
|
@@ -2529,42 +2294,187 @@
|
|
|
2529
2294
|
}
|
|
2530
2295
|
},
|
|
2531
2296
|
{
|
|
2532
|
-
"name": "start_side_effect_counter",
|
|
2297
|
+
"name": "start_side_effect_counter",
|
|
2298
|
+
"type": {
|
|
2299
|
+
"kind": "integer",
|
|
2300
|
+
"sign": "unsigned",
|
|
2301
|
+
"width": 32
|
|
2302
|
+
}
|
|
2303
|
+
}
|
|
2304
|
+
],
|
|
2305
|
+
"kind": "struct",
|
|
2306
|
+
"path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs"
|
|
2307
|
+
},
|
|
2308
|
+
"visibility": "private"
|
|
2309
|
+
},
|
|
2310
|
+
{
|
|
2311
|
+
"name": "app_payload",
|
|
2312
|
+
"type": {
|
|
2313
|
+
"fields": [
|
|
2314
|
+
{
|
|
2315
|
+
"name": "function_calls",
|
|
2316
|
+
"type": {
|
|
2317
|
+
"kind": "array",
|
|
2318
|
+
"length": 4,
|
|
2319
|
+
"type": {
|
|
2320
|
+
"fields": [
|
|
2321
|
+
{
|
|
2322
|
+
"name": "args_hash",
|
|
2323
|
+
"type": {
|
|
2324
|
+
"kind": "field"
|
|
2325
|
+
}
|
|
2326
|
+
},
|
|
2327
|
+
{
|
|
2328
|
+
"name": "function_selector",
|
|
2329
|
+
"type": {
|
|
2330
|
+
"fields": [
|
|
2331
|
+
{
|
|
2332
|
+
"name": "inner",
|
|
2333
|
+
"type": {
|
|
2334
|
+
"kind": "integer",
|
|
2335
|
+
"sign": "unsigned",
|
|
2336
|
+
"width": 32
|
|
2337
|
+
}
|
|
2338
|
+
}
|
|
2339
|
+
],
|
|
2340
|
+
"kind": "struct",
|
|
2341
|
+
"path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"
|
|
2342
|
+
}
|
|
2343
|
+
},
|
|
2344
|
+
{
|
|
2345
|
+
"name": "target_address",
|
|
2346
|
+
"type": {
|
|
2347
|
+
"fields": [
|
|
2348
|
+
{
|
|
2349
|
+
"name": "inner",
|
|
2350
|
+
"type": {
|
|
2351
|
+
"kind": "field"
|
|
2352
|
+
}
|
|
2353
|
+
}
|
|
2354
|
+
],
|
|
2355
|
+
"kind": "struct",
|
|
2356
|
+
"path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress"
|
|
2357
|
+
}
|
|
2358
|
+
},
|
|
2359
|
+
{
|
|
2360
|
+
"name": "is_public",
|
|
2361
|
+
"type": {
|
|
2362
|
+
"kind": "boolean"
|
|
2363
|
+
}
|
|
2364
|
+
},
|
|
2365
|
+
{
|
|
2366
|
+
"name": "is_static",
|
|
2367
|
+
"type": {
|
|
2368
|
+
"kind": "boolean"
|
|
2369
|
+
}
|
|
2370
|
+
}
|
|
2371
|
+
],
|
|
2372
|
+
"kind": "struct",
|
|
2373
|
+
"path": "authwit::entrypoint::function_call::FunctionCall"
|
|
2374
|
+
}
|
|
2375
|
+
}
|
|
2376
|
+
},
|
|
2377
|
+
{
|
|
2378
|
+
"name": "nonce",
|
|
2533
2379
|
"type": {
|
|
2534
|
-
"kind": "
|
|
2535
|
-
"sign": "unsigned",
|
|
2536
|
-
"width": 32
|
|
2380
|
+
"kind": "field"
|
|
2537
2381
|
}
|
|
2538
2382
|
}
|
|
2539
2383
|
],
|
|
2540
2384
|
"kind": "struct",
|
|
2541
|
-
"path": "
|
|
2385
|
+
"path": "authwit::entrypoint::app::AppPayload"
|
|
2542
2386
|
},
|
|
2543
2387
|
"visibility": "private"
|
|
2544
2388
|
},
|
|
2545
2389
|
{
|
|
2546
|
-
"name": "
|
|
2390
|
+
"name": "fee_payload",
|
|
2547
2391
|
"type": {
|
|
2548
|
-
"
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2392
|
+
"fields": [
|
|
2393
|
+
{
|
|
2394
|
+
"name": "function_calls",
|
|
2395
|
+
"type": {
|
|
2396
|
+
"kind": "array",
|
|
2397
|
+
"length": 2,
|
|
2398
|
+
"type": {
|
|
2399
|
+
"fields": [
|
|
2400
|
+
{
|
|
2401
|
+
"name": "args_hash",
|
|
2402
|
+
"type": {
|
|
2403
|
+
"kind": "field"
|
|
2404
|
+
}
|
|
2405
|
+
},
|
|
2406
|
+
{
|
|
2407
|
+
"name": "function_selector",
|
|
2408
|
+
"type": {
|
|
2409
|
+
"fields": [
|
|
2410
|
+
{
|
|
2411
|
+
"name": "inner",
|
|
2412
|
+
"type": {
|
|
2413
|
+
"kind": "integer",
|
|
2414
|
+
"sign": "unsigned",
|
|
2415
|
+
"width": 32
|
|
2416
|
+
}
|
|
2417
|
+
}
|
|
2418
|
+
],
|
|
2419
|
+
"kind": "struct",
|
|
2420
|
+
"path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"
|
|
2421
|
+
}
|
|
2422
|
+
},
|
|
2423
|
+
{
|
|
2424
|
+
"name": "target_address",
|
|
2425
|
+
"type": {
|
|
2426
|
+
"fields": [
|
|
2427
|
+
{
|
|
2428
|
+
"name": "inner",
|
|
2429
|
+
"type": {
|
|
2430
|
+
"kind": "field"
|
|
2431
|
+
}
|
|
2432
|
+
}
|
|
2433
|
+
],
|
|
2434
|
+
"kind": "struct",
|
|
2435
|
+
"path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress"
|
|
2436
|
+
}
|
|
2437
|
+
},
|
|
2438
|
+
{
|
|
2439
|
+
"name": "is_public",
|
|
2440
|
+
"type": {
|
|
2441
|
+
"kind": "boolean"
|
|
2442
|
+
}
|
|
2443
|
+
},
|
|
2444
|
+
{
|
|
2445
|
+
"name": "is_static",
|
|
2446
|
+
"type": {
|
|
2447
|
+
"kind": "boolean"
|
|
2448
|
+
}
|
|
2449
|
+
}
|
|
2450
|
+
],
|
|
2451
|
+
"kind": "struct",
|
|
2452
|
+
"path": "authwit::entrypoint::function_call::FunctionCall"
|
|
2453
|
+
}
|
|
2454
|
+
}
|
|
2455
|
+
},
|
|
2456
|
+
{
|
|
2457
|
+
"name": "nonce",
|
|
2458
|
+
"type": {
|
|
2459
|
+
"kind": "field"
|
|
2460
|
+
}
|
|
2461
|
+
},
|
|
2462
|
+
{
|
|
2463
|
+
"name": "is_fee_payer",
|
|
2464
|
+
"type": {
|
|
2465
|
+
"kind": "boolean"
|
|
2466
|
+
}
|
|
2467
|
+
}
|
|
2468
|
+
],
|
|
2469
|
+
"kind": "struct",
|
|
2470
|
+
"path": "authwit::entrypoint::fee::FeePayload"
|
|
2555
2471
|
},
|
|
2556
2472
|
"visibility": "private"
|
|
2557
2473
|
},
|
|
2558
2474
|
{
|
|
2559
|
-
"name": "
|
|
2475
|
+
"name": "cancellable",
|
|
2560
2476
|
"type": {
|
|
2561
|
-
"kind": "
|
|
2562
|
-
"length": 32,
|
|
2563
|
-
"type": {
|
|
2564
|
-
"kind": "integer",
|
|
2565
|
-
"sign": "unsigned",
|
|
2566
|
-
"width": 8
|
|
2567
|
-
}
|
|
2477
|
+
"kind": "boolean"
|
|
2568
2478
|
},
|
|
2569
2479
|
"visibility": "private"
|
|
2570
2480
|
}
|
|
@@ -3671,46 +3581,216 @@
|
|
|
3671
3581
|
"kind": "struct",
|
|
3672
3582
|
"path": "authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"
|
|
3673
3583
|
},
|
|
3674
|
-
"visibility": "databus"
|
|
3675
|
-
}
|
|
3584
|
+
"visibility": "databus"
|
|
3585
|
+
}
|
|
3586
|
+
},
|
|
3587
|
+
"bytecode": "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wJjrksScBYy5HknMNYEx1yeJuRYw5lySmLOBMTcgiTkHGHNDkphrA2NuRBJzHWDMjUlirguMuQlJzPWAMTclibk+MOatSGLOBcbcjCTmBsCYm5PE3BAY89YkMTcCxrwNScyNgTFvSxJzE2DM25HE3BQYcwuSmLcCxrw9SczNgDG3JIm5OTDmHUhi3hoY844kMW8DjHknkpi3Bca8M0nM2wFj3oUk5hbAmHcliXl7YMytSGJuCYy5NUnMOwBjbkMS847AmNuSxLwTMOZ2JDHvDIy5PUnMuwBj7kAS867AmHcDxqybMss5Qx9FAx6obZC2wdqGaBuqbZi24dpGaBupbQ9to7SN1rantjHa9tI2Vts4bXtrG69tH20TtE3UNklbqbYybeXaKrRVaqvSNlnbFG1TtU3Ttq+2/bRN1zZD20xt+2s7QNuB2mZpm63tIG0Ha5uj7RBth2o7TNvh2o7QdqS2udqO0jZP29Ha5ms7Rtux2o7Tdry2BdpO0HaitpO0naztFG2najtN2+naztB2praztJ2t7Rxt52o7T9v52i7QdqG2i7RdrO0SbZdqu0zb5doWartC25XartJ2tbZrtF2r7Tpt12u7QduN2m7SdrO2W7Tdqu02bbdru0Pbndru0na3tnu03avtf9ru03a/tge0PajtIW0Pa3tE26PaHtP2uLYntC3S9qS2xdqe0va0tme0PavtOW1LtD2vbam2F7Qt0/aituXaXtK2QttKbS9re0XbKm2vantN2+va3tD2pra3tL2t7R1t72p7T9v72j7Q9qG2j7R9rO0TbZ9q+0zb59q+0Paltq+0fa3tG23favtO2/faftD2o7aftP2s7Rdtv2r7Tdvv2v7Q9qe2v7T9re0fbWaBU5q2GtrStWVoy9SWpa2mtlrasrXlaKutrY62utrqaauvLVdbA20NtTXS1lhbE21NtW2lrZm25tq21raNtm21baethbbttbXUtoO2HbXtpG1nbbto21VbK22ttbXR1lZbO23ttXXQtpu23bWFtSltEW152vK1FWgr1FakrVhbibaO2jpp66yti7au2rpp666th7ae2npp662tj7a+2vpp669tgLaB2gZpG6xtiLah2oZpG65thLaR2vbQNkrbaG17ahujbS9tY7WN07a3tvHa9tE2QdtEbZO0lWor01aurUJbpbYqbZO1TdE2Vds0bftq20/bdG0ztM3Utr+2A7QdqG2WttnaDtJ2sLY52g7Rdqi2w7Qdru0IbUdqm6vtKG3ztB2tbb62Y7Qdq+04bcdrW6DtBG0najtJ28naTtF2qrbTtJ2u7QxtZ2o7S9vZ2s7Rdq6287Sdr+0CbRdqu0jbxdou0Xaptsu0Xa5tobYrtF2p7SptV2u7Rtu12q7Tdr22G7TdqO0mbTdru0Xbrdpu03a7tju03antLm13a7tH273a/qftPm33a3tA24PaHtL2sLZHtD2q7TFtj2t7QtsibU9qW6ztKW1Pa3tG27PantO2RNvz2pZqe0HbMm0valuu7SVtK7St1Paytle0rdL2qrbXtL2u7Q1tb2p7S9vb2t7R9q6297S9r+0DbR9q+0jbx9o+0fapts+0fa7tC21favtK29favtH2rbbvtH2v7QdtP2r7SdvP2n7R9qu237T9ru0PbX9q+0vb39r+0WYEPU1bDW3p2jK0ZWrL0lZTWy1t2dpytNXWVkdbXW31tNXXlqutgbaG2hppa6ytibam2rbS1kxbc21ba9tG27battPWQtv22lpq20Hbjtp20raztl207aqtlbbW2tpoa6utnbb22jpo203b7trC2pS2iLY8bfnaCrQVaivSVqytRFtHbZ20ddbWRVtXbd20ddfWQ1tPbb209dbWR1tfbf209dc2QNtAbYO0DdY2RNtQbcO0Ddc2QttIbXtoG6VttLY9tY3Rtpe2sdrGadtb23ht+2iboG2itknaSrWVaSvXVqGtUluVtsnapmibqm2atn217adturYZ2mZq21/bAdoO1DZL22xtB2k7WNscbYdoO1TbYdoO13aEtiO1zdV2lLZ52o7WNl/bMdqO1XactuO1LdB2grYTtZ2k7WRtp2gz75c3724370U37xw37/M278o276E273g270827yY27/0179Q176s174I171k17zA17wc1794077VcqM28j9G869C8R9C8o8+8/868W868t828E828b8y8y8u8J8u8g8q838m8O8m8l8i888e8T8e8q8a8B8a8Y8W8v8S8G8S8d8O808K8L8K8i8G858C8Q8A8n988+948V/4xbeZ56OZZ4+Y53uYZ2eb50+bZzua5yeaZxOZ5v+ZZuuY5teYZsOb5qubZpea5oOaZm+Z5luZZkeY5jOYZh+b5gebZfOa5d+aZcuZ5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",
|
|
3588
|
+
"debug_symbols": "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Pdau7LF2ZY+1K3usXdlj7coea1f2WLuyx9qVPdauHLB2ZazevojV2xexevsiVm9fxOrti1i9fRGrty9i9fZFrN6+iNXbF7F6+yJWb1/E6u2LWL19Eau3L2L19kWs3r6I1dsXsXr7IlZvX8Tq7YtYvX0Rq7cvYvX2RazevojV2xexevsiVm9fxOrti1i9fRGrty9i9fZFrN6+iNXbF7F6+yJWb1/E6u2LWL19Eau3L2L19kWs3r6I1dsXsXr7IlZvX8Tq7YtYvX0Rq7cvYvX2RazevojV2xexevsiVm9fxOrti1i9fRGrty9i9fZFrN6+iNXbF7F6+yJWb1/E6u2LWL19Eau3L2L19kWs3r6I1dsXsXr7IlZvX8Tq7YtYvX0Rq7cvYvX2RazevojV2xexevsiVm9fxOrti1i9fRGrt0+wevsEq7dPsHr7BKu3TxzUrixYvX2C1dsnWL19gtXbJ1i9fYLV2ydYvX2C1dsnWL19gtXbJ1i9fYLV2ydYvX2C1dsnWL19gtXbJ1i9fYLV2ydYvX2C1dsnWL19gtXbJ1i9fYLV2ydYvX2C1dsnWL19gtXbJ1i9fYLV2ydYvX2C1dsnWL19gtXbJ1i9fYLV2ydYvX2C1dsnWL19gtXbJ1i9fYLV2ydYvX2C1dsnWL19gtXbJ1i9fYLV2ydYvX2C1dsnWL19gtXbJ1i9fYLV2ydYvX2C1dsnWL19gtXbJ1i9fYLV2ydYvX2C1dsnWL19gtXbJ1i9fYLV2ydYvX2C1dsnWL19gtXbJ1i9fYLV2ydYvX2C1dsnWL19gtXbJ1i9fYLV2ydYvX2C1dsnWL19gtXbJ1i9fYLV2ydYvX2C1dsnWL19gtXbJ1i9fYLV2ydYvX2C1dsnWL19gtXbJ1i9fQmrty9h9fYlrN6+hNXblxzUrpywevsSVm9fwurtS1i9fQmrty9h9fYlrN6+hNXbl7B6+xJWb1/C6u1LWL19Cau3L2H19iWs3r6E1duXsHr7ElZvX8Lq7UtYvX0Jq7cvYfX2JazevoTV25ewevsSVm9fwurtS1i9fQmrty9h9fYlrN6+hNXbl7B6+xJWb1/C6u1LWL19Cau3L2H19iWs3r6E1duXsHr7ElZvX8Lq7UtYvX0Jq7cvYfX2JazevoTV25ewevsSVm9fwurtS1i9fQmrty9h9fYlrN6+hNXbl7B6+xJWb1/C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",
|
|
3589
|
+
"brillig_names": [
|
|
3590
|
+
"get_note_internal",
|
|
3591
|
+
"decompose_hint",
|
|
3592
|
+
"get_auth_witness",
|
|
3593
|
+
"build_msg_block",
|
|
3594
|
+
"attach_len_to_msg_block",
|
|
3595
|
+
"enqueue_public_function_call_internal",
|
|
3596
|
+
"call_private_function_internal",
|
|
3597
|
+
"debug_log_oracle_wrapper",
|
|
3598
|
+
"notify_set_min_revertible_side_effect_counter_oracle_wrapper",
|
|
3599
|
+
"notify_created_nullifier_oracle_wrapper",
|
|
3600
|
+
"directive_invert",
|
|
3601
|
+
"directive_integer_quotient",
|
|
3602
|
+
"directive_to_radix"
|
|
3603
|
+
],
|
|
3604
|
+
"verification_key": "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"
|
|
3605
|
+
},
|
|
3606
|
+
{
|
|
3607
|
+
"name": "process_log",
|
|
3608
|
+
"is_unconstrained": true,
|
|
3609
|
+
"custom_attributes": [],
|
|
3610
|
+
"abi": {
|
|
3611
|
+
"error_types": {
|
|
3612
|
+
"16761564377371454734": {
|
|
3613
|
+
"error_kind": "string",
|
|
3614
|
+
"string": "Array index out of bounds"
|
|
3615
|
+
},
|
|
3616
|
+
"16954218183513903507": {
|
|
3617
|
+
"error_kind": "string",
|
|
3618
|
+
"string": "Attempted to read past end of BoundedVec"
|
|
3619
|
+
},
|
|
3620
|
+
"17843811134343075018": {
|
|
3621
|
+
"error_kind": "string",
|
|
3622
|
+
"string": "Stack too deep"
|
|
3623
|
+
},
|
|
3624
|
+
"2920182694213909827": {
|
|
3625
|
+
"error_kind": "string",
|
|
3626
|
+
"string": "attempt to subtract with overflow"
|
|
3627
|
+
},
|
|
3628
|
+
"5019202896831570965": {
|
|
3629
|
+
"error_kind": "string",
|
|
3630
|
+
"string": "attempt to add with overflow"
|
|
3631
|
+
},
|
|
3632
|
+
"6753155520859132764": {
|
|
3633
|
+
"error_kind": "string",
|
|
3634
|
+
"string": "Failed to deliver note"
|
|
3635
|
+
},
|
|
3636
|
+
"8270195893599566439": {
|
|
3637
|
+
"error_kind": "string",
|
|
3638
|
+
"string": "Invalid public keys hint for address"
|
|
3639
|
+
},
|
|
3640
|
+
"8861757336002045335": {
|
|
3641
|
+
"error_kind": "fmtstring",
|
|
3642
|
+
"item_types": [
|
|
3643
|
+
{
|
|
3644
|
+
"kind": "integer",
|
|
3645
|
+
"sign": "unsigned",
|
|
3646
|
+
"width": 32
|
|
3647
|
+
},
|
|
3648
|
+
{
|
|
3649
|
+
"kind": "integer",
|
|
3650
|
+
"sign": "unsigned",
|
|
3651
|
+
"width": 32
|
|
3652
|
+
},
|
|
3653
|
+
{
|
|
3654
|
+
"kind": "field"
|
|
3655
|
+
}
|
|
3656
|
+
],
|
|
3657
|
+
"length": 99
|
|
3658
|
+
},
|
|
3659
|
+
"9862881900111276825": {
|
|
3660
|
+
"error_kind": "fmtstring",
|
|
3661
|
+
"item_types": [
|
|
3662
|
+
{
|
|
3663
|
+
"kind": "field"
|
|
3664
|
+
}
|
|
3665
|
+
],
|
|
3666
|
+
"length": 35
|
|
3667
|
+
}
|
|
3668
|
+
},
|
|
3669
|
+
"parameters": [
|
|
3670
|
+
{
|
|
3671
|
+
"name": "log_plaintext",
|
|
3672
|
+
"type": {
|
|
3673
|
+
"fields": [
|
|
3674
|
+
{
|
|
3675
|
+
"name": "storage",
|
|
3676
|
+
"type": {
|
|
3677
|
+
"kind": "array",
|
|
3678
|
+
"length": 18,
|
|
3679
|
+
"type": {
|
|
3680
|
+
"kind": "field"
|
|
3681
|
+
}
|
|
3682
|
+
}
|
|
3683
|
+
},
|
|
3684
|
+
{
|
|
3685
|
+
"name": "len",
|
|
3686
|
+
"type": {
|
|
3687
|
+
"kind": "integer",
|
|
3688
|
+
"sign": "unsigned",
|
|
3689
|
+
"width": 32
|
|
3690
|
+
}
|
|
3691
|
+
}
|
|
3692
|
+
],
|
|
3693
|
+
"kind": "struct",
|
|
3694
|
+
"path": "std::collections::bounded_vec::BoundedVec"
|
|
3695
|
+
},
|
|
3696
|
+
"visibility": "private"
|
|
3697
|
+
},
|
|
3698
|
+
{
|
|
3699
|
+
"name": "tx_hash",
|
|
3700
|
+
"type": {
|
|
3701
|
+
"kind": "field"
|
|
3702
|
+
},
|
|
3703
|
+
"visibility": "private"
|
|
3704
|
+
},
|
|
3705
|
+
{
|
|
3706
|
+
"name": "unique_note_hashes_in_tx",
|
|
3707
|
+
"type": {
|
|
3708
|
+
"fields": [
|
|
3709
|
+
{
|
|
3710
|
+
"name": "storage",
|
|
3711
|
+
"type": {
|
|
3712
|
+
"kind": "array",
|
|
3713
|
+
"length": 64,
|
|
3714
|
+
"type": {
|
|
3715
|
+
"kind": "field"
|
|
3716
|
+
}
|
|
3717
|
+
}
|
|
3718
|
+
},
|
|
3719
|
+
{
|
|
3720
|
+
"name": "len",
|
|
3721
|
+
"type": {
|
|
3722
|
+
"kind": "integer",
|
|
3723
|
+
"sign": "unsigned",
|
|
3724
|
+
"width": 32
|
|
3725
|
+
}
|
|
3726
|
+
}
|
|
3727
|
+
],
|
|
3728
|
+
"kind": "struct",
|
|
3729
|
+
"path": "std::collections::bounded_vec::BoundedVec"
|
|
3730
|
+
},
|
|
3731
|
+
"visibility": "private"
|
|
3732
|
+
},
|
|
3733
|
+
{
|
|
3734
|
+
"name": "first_nullifier_in_tx",
|
|
3735
|
+
"type": {
|
|
3736
|
+
"kind": "field"
|
|
3737
|
+
},
|
|
3738
|
+
"visibility": "private"
|
|
3739
|
+
},
|
|
3740
|
+
{
|
|
3741
|
+
"name": "recipient",
|
|
3742
|
+
"type": {
|
|
3743
|
+
"fields": [
|
|
3744
|
+
{
|
|
3745
|
+
"name": "inner",
|
|
3746
|
+
"type": {
|
|
3747
|
+
"kind": "field"
|
|
3748
|
+
}
|
|
3749
|
+
}
|
|
3750
|
+
],
|
|
3751
|
+
"kind": "struct",
|
|
3752
|
+
"path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress"
|
|
3753
|
+
},
|
|
3754
|
+
"visibility": "private"
|
|
3755
|
+
}
|
|
3756
|
+
],
|
|
3757
|
+
"return_type": null
|
|
3676
3758
|
},
|
|
3677
|
-
"bytecode": "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",
|
|
3678
|
-
"debug_symbols": "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aaJX9vYKORa9srdXSMnola1emfpVr0xkcPTK917J3bWeSPjolb29Qn5Ir+ztFdJJemVvrxi9Qq/s7BWS1fP2yjT1N9Zhyjz8ciXLbxT0qZvWvUJuS69875WUFiChCxu9Qm5Lr+ztFXJbemVvr5Db0is7eyWS29Ire3uF3JZe2dsr5Lb0yt5eIbelV/b2itErp+2VNNxYpymui08Q23DxSVZPW/y5Swvr+bIJrItPVPpKxZ/GYSn+nLv/Ng9xXv609ev7b5Hs87zFH7vbO38cMhcype6Kekr97ULePjFWD55vDTKHKdw/+FtbEZPSVv5tNZOo0lZPaCvCV9rqCW1FTktbPaGtiHRpqye0ldFWtJV/W5Er01ZPaCsSa9rqCW1FFk5bPaGtSNlpqye0FSk7beXfVomUnbZ6QluRstNWT2grUnba6gltRcpOWz2hrYy2oq3824qUnbZ6QluRstNWT2grUnba6gltRcpOWz2hrUjZaSv3tpo6Unba6gltRcpOWz2hrUjZaasntBUpO231hLYy2oq28m8rUnba6gltRcpOWz2hrUjZaasntBUpO231hLYiZaet/NuqJ2WnrZ7QVqTstNUT2oqUnbZ6QluRstNWT2gro61oK/+2ImWnrZ7QVqTstNUT2oqUnbZ6QluRstNWT2grUnbayr+tAik7bfWEtiJlp62e0Fak7LTVE9qKlJ22ekJbGW1FW/m3FSk7bfWEtqo8ZR+HBfowxnj/8G/XX3eca8O49K4NW9dfd26Yv/66A6rs9Q91JyH566/bcuevv25vl7/+uk1E/vrtxa+/blmUv/6699/89b/4/ju8+P47vPj+ay++/9qL77/24vuvvfj+ay++/9qL77/24vuvvfj+ay++/1rd++/UjUscNnWpW13/WPf+e7nmebn+y/9//PAU4vWy02Dj7Vrs+mrr3q2nyx30Wx4Z0rpade/W+euve7fOX3/du3X++uverfPXX/dunb/+z96tYz/crv/uxoJI2+OwvNwhjrY8PG7dWghhTtfNMYQU5vuHf3u5c1svd1sLXDphaYoYHr/cub8+xWy3za7vtx479cvePl1uGz2++v72l/t5Suutceo+9+LDfP3DlzdK+ln0U/+qV3/5lz///bfff//tv/799z/+8qd//vbH3/7xtrh7+z/bb6AxXN8/450i6oevldxuwodLtkv/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",
|
|
3759
|
+
"bytecode": "H4sIAAAAAAAA/+19W4wkR3ZdVndXz3TP9HQNOXwOH00Ol48ldzezMuvFx0z1THNe5JDDp23AsF3PXcoUuSZnF15AWJS8MCz7YwXIEiQvvPr0h7yAf2RDBgzo3zAsQwYMWIBlGPrwhwBbP2sY+hBUwclbdfrUrejM7ojqyp0JYKayMyLuPXHjxo0bNyIzS8Hd9PH4Xym9Xkt/T6S/5v4Dwf4kZdvpb3i0FDmkFfrCWCoAxpUCYFwtAMa1AmAsFwDjegEwnigAxpMFwLhRAIybBcB4qgAYTxcA41YBMJ4pAMbtAmCsFADjWQ8YfeB8oCA4H3SIE317X3jPBcuvow8VAOPDBcD4SAEwPloAjI8VAOPjBcB4vgAYnygAxicLgPGpAmB8ugAYdwqA8ZkCYHy2ABgvFADjcwXA+LUCYHy+ABhfKADGFwuA8aUCYPx6ATC+XACMrxQA4zcKgPGbBcD4rQJgDAuAMSoAxmoBMMYFwJgUAGOtABjrBcDYKADGZgEwtgqA8dUCYHytABhfLwDGNwqA8WIBMF4qAMZ2ATDuFgDj5QJgvFIAjHsFwPhmATBeLQDGawXAeL0AGG8UAOPNAmB8qwAY3y4AxlsFwPhOATC+WwCMtwuA8b0CYHy/ABg/8IDRB84PC4Lzo4Lg/NgTzuBvEOiV8T/z4JZ5MMo8eGQe7DEPzpgHU8yDH+bBCvPggnkwwBy8NwfbzcHxyvifOfhsDhWbA7vmEKw5ZGoOcZpDkuYQojnkZw7RmUNq5hCYOWRlDjGZQ0I743/PjP+ZQyTmkIY5BGEOGZhNfLNJbjahzSav2UQ1m5RmE9BssplNLLNJZFplNjnMJoIJ0psguAkymyCuCZKaIKQJ8pkgmglSmSCQCbKYIIYECcwi1ywizSLNLILMIsM48cZJNk6ocfKME2WcFOMEmEnWTGJmkjBG2Bg5Y0TMIDUDwCjXx8H8JEryLzfu/qY/X/WB5Dt8iC7aIL4u6TfDTn9DaZ9D/PFGSvOkF/q1htDf8IM/lAdtPx5N6WNbhO9q+vud0VSW3xntxyRlfg/K/B6Vkfb46e9a3a+8ouoWySiAtgjvTT+84xLxw37BPOG/GfjUzbsPJSM/wcPyEduxJWVGUzwlylsbzbZD8sqQJ/1r+HwdyrFunaQ8wWKS6O8WyEbSJ2me9Oka0HSnr/WOX31NwuPT1yT6RdTXNcpbG822I6++om6xvpaDaRJbKnnrkPevKe8E5P1sNOVdAxw30mu/NvnuHIxjz/Uc9qCCH3mZdGI0lYfo4CrcK4P8vpIPlqe8DchbG+3ns5n+vQZ8kJbgKFP5JP17O/1dhzpSv6LwXyf++3Ar91guG0r5DaW80bVvpNfG1xZ9vjKa0nPYp1Whvwf0A3f0Q6H/5mjaVqEdh0m1PqgnncEgDgetVrMXxb1mbzDo9Ttxp9Foho1+d9Dp16rdXnUYd4fhoDNo1qJu0m1EYW/i015VaEdRHNXqnbDeHNbDOKzG1STsterdpN+pJY2kXh+TjrvNRhT1atWo10ia1ajaiWrdXhgng05daF9TaFeb1Vqv0er16p1ar9sdDIaNfr3THEbdeieqduMxoU4cN5Mk7AyGg24St+pR0uw1W1HS6IVJS2hf13BXW91hPzIou42wXu3Xu7UkGTQGcb3bChtxPa6Fw/qw2xn7SNVmLxlDr4atVi1sDWuNMBoI7RsK7XDQ70aDaivuxb1BK+oOx2AG48tOpxb2q71aEg07rX7YMjTHsMN4MOxGvWGn2uvGca0xFNo3NdxxEvXrjdqwM5b2oDeIxx0w7rm414mTcXvibtTq1getRr0aJvXG+F4yFkk16SVjyfUHcU1ov6XiDvudfrVaC2vNeFjttIZhp9cdY+8P+sNo3Opus9YN43G7OoNGLR6OpRUl3WazM2xGvW5touNva7Rbjbgbjhvf63R6cdwaDJIx7H6nW4viaqtVDYeN7lcdG46Jjm8Pav1hvTGe8LtxGLbqE9q3FNpjnY2T6qAVhoNxT43xVJutOOp0BvVmqzHuy+aw36uPUfbHfRKF/UGjG1fDXjjW07AaNhuTNdU7mry7w1atOa4fjyXR6tda1TgcK3onrNZb40FS79eHrWrSGqt7NUnG1ONaNBx3SbU/HDepFzaF9ruaTJKxbsVjZe3Wm2FzrBu9ZnXQ7NRqnVat2k8MiWqtPhyEtVbcbyWt8e2xHnbCcNwvY2FN+vK2RrvTNNpVD/vh+L9hrd8Mk1rS6ifN4dgcJP1wPFTCbqs56DeiRqfVrcXVzrAej0d7LQ4brcmYfy+l7dgeJkL/fT/0Y6H/gSYbe4oOIi60P8xP+8AktD86Ou2Zdph5zvhJP06dKRNfOpPS/vbgzuVPP+/9/Xe+98vdwRfo4bI3j/dxhSHJUH1gSvXK55/d+aLTu7Pb738x+PJLprCpUA7mUN0Eqt/pfPLZjT5TO3U4ah8Pvvjyk88/Y2qnM1ITX23iJwdTPxzXZ+hbmH8ie/SXt6D83mhKD8t/kP6KH7oN9V36oQ8A3YB4bRBe17xZRihT5LlikUXgDk/EffA3018znn7zxJSn+Sd+bQCYUYfQZzX/zirlK1BG2rtNGLDuhlLPx1pT+JXnYF2BfCz/dy3yeiCnvB5UyqOuVkheZyFP6m4pvDmO8CDcdxj3yhxHEP6bSht99K1NribxWDvnRz6TsX9OwXNOkY/05UNKntB6OP0b9RbLn4M2Ynm8lvp477vpb4VomiT+QUnJW1Xu4dr0l6ht2DelOb9Cl++tEEaUjfTvRuBTx6KZuB3aNdPe78N97A/sr5MK7jKV//LElOYP0nvbSn3WDx7rB83d5wD7qlJmZQ6+H6a/Bstvkx1cUdr8gAWz5KH/gJj3RvsxSPkfpb9+x7HuPwivbcLL/cNt0fqE9fqkIocNpV7bSfuSXhDoung2Aw5poxss9ZbWl+7oNyYxz4f84J/scz3sh/5kX/MRP/SrQv9RP/R7Qv8xP/2bCP3H/dCvCf3zfuQz2Vd+wg/9iXye9EI/mcjnKT/4I6H/tB/6TaG/44V+NRT6z/jRzwn+Z/3Qn9iHC37od4X+c376dyD0v+YH/6R/n/dDfzI/vuCFfm0o9F/0I/8J/Zf80K+Jfy57ucLDJOH9Mtx35yfWkxLxCwJ9PSz8NwmrY791sh5+mfCwfHBf3eS9omCtKHk8h7yi8HlF4aPResYhra85pPWSQ1oPO6T12JK28QmHtHYc0nrOIa0XHdJa1n7ccUjLpd67lL1LnVjWflzWNu44pOVSJx5a0jY+6pDWsurXeYe0XOrq0w5p7TikdcEhLZc68YxDWvd9ueNro0tf7gWHtO4FW3jOIa0dh7QecUjrcYe0ltU3cTmnLeu6Y8chLZdz2lMOaS2rvXc5hlzKy6WNvj93/GLMHS7XVi5t4bMOae04pHU/ZnV8snfZxucd0lrW9dCOQ1orDmktazzapZ9z307ko+XSn7hvJ45P9stqJ9j/elihpT3XLOUfUcrj+oPP0aNf9UgGWjbejyrlkSafSUdcj2agZeP9uFIeaci51G0F1+MZaNl4n1fKI433iTe29XwGWjbeTyrlkcZ7xBvbKnX9nksLJ+eeEWuJeOP60d05hmrm5wyE/yZhdYtneq7iKcLD8lkh+TztRz6T5wyeVvA8rchH+vIZJU9oyZoIz3Bj+aehjVger6U+3vu1tMMqCk3W3WeU9uA9ka85u/6PUrrbCi0+p6KNz/MK3YpSX8p5Pgfa9XuOstHwe46yVmMdEx4oO9QZh+Mh8zks4b8ZzOqiD3vxLOGZp88iu5cVrBUlj/tQO+/1ssJHo/WcQ1rnlxTXiw5pPbWkbdxZUlwuZf+YQ1ovOaS145CWyzY+75DW1xzSWlbZrzik9cSStvGCQ1r37UQ+Wi8saRvvBTvhUvbLaickDqW9Y7GU/np+drZWIn7SDryH/DeDWZn68MW1Z/JXFLmK7B5TsFYoz6QPR9NynLeq3FspMC3WHZPa6W94pBQnWwpf1llcXzjUkUFWnRX+m8GsjvjQWS1uofWZ9gypQzz9EtFHPE8o8pG+fErJE1qyhsV4E5Z/AtqI5fFa6uO9n6cdVlFocpxei+fhPYw3/d+Urr8xEEas5xba1d4wimuDRi2sd5Javx5X+9VG2E9qwyhqRtVW0ozjYS9p9pvVeFhtVHtbwWwf8vjyE88NM8dnOJ7rSZ+t8VyUD88JWmy1ouSxntnitMhHo3XeES2T9kZ3fz3a8UkcEHV4QXpWPayeeZpXrHqmxZ8Pq2cebVLiuc9qfvdKkpCf7z+CbGK+wXHtI9Duz6N9wY/ce9pz9w7pd7Tn7h3Sb2rP3bujHw35ufsj9C2nqvbMvUPZdLVn7h3Sr/Nz9Q5lM5H7K36wT94H9A332Cfv6vmmH+yTd0F8yw/9hvbdBnzX2ZMr0/vmX5jmoQ+PddHHx/LPrExp7qTXp3LQLc+h+xzQvZ2+lF/2hyOoz+/rkrwA+OE99qmwvpSTvqlCnst5TLDGB8imSrKR8i+njTDYf0Lvb5M62P41pf2MActXqYxJmuyl7pbCuzTnV/jwPe4XxLC+ID4bC+KzSXxih3xiKHN6QXxOLYjPGeKTOOSTQBmZT7aVPLY3CfHhezZ7kyyoPfz9k5pDPjUow+9CrTvkU4cyZxfEZ5X4NBzyaUCZE1DP/N2EPKQhOFoKDpmzXiX87fTv8Ggp83eyhP8mYXWMZ7Ief5XwsHx4Pf6agrWi5K3DNeYhn9cUPhqtJmFoQr0F9V/1sP3X9IPH2n9NRa55++8FkutrXtoRT2KxrwezSfLeAN6sCxchD8cKp1X6G9tk7PtPT0zpcjnGgzom2LaD2f7Gctwvtr6qKPWl3EYwKxOH/TFguQZK+y8B7x245qTJXHAbmf+7HDJHuV6iPOz3NuWh3u5S3uuQdzm93g7m61yJ8qSNfI/7Eeu/QRiw3lHnRA2zppctak9evWwpfGy2+bDt0TDb5vDD8sH2vEZ8XnPIB3XxdeITQh7GGX6d4gxSD9e8IfCUZzXKVP5vwzvVfyOluRHMjoPjtCU8NtqQx3q2C3msG5chD2XOSbNPIgtjn/77IecEaRO/s/3fQ0zmd6lfpX0Ya9gbTctsE00p//vUl378xWrdNh786lG1nmW8aWMK8QjuTSVv7QhYm83+cDjo16JaL652oxaPU8HK9ziOpM0pzyjlRdYX/cg61r4viuPSpDXIe53yypAnGPH7on79l2qcRf7Iv6LkVeA6T19qtM4ektYDwaz9krGtzemsT3nndKzPtjZU+Bgb1lrfz1PwrQFP/N6F7JuWqfx/JRvmZ61Rb2prDbZhb3jindWGzfMPEfemkncUG9boDLtJq9ZsVKN+tdZq2GyS5udK+YtKee1dyyLrS35krdqwiyBXk9Ygj+0b2jDBqNkwPza4HmeRP/KvKOXxm4x5+lJbS/BzPkeh9aBDWmcPSUtsq+YfiG1FP4qfoWwpfFoWzFh/UeuYJ6k9r1nakzc2h/UXtV7iZ72XJf6B7x/gdFD84//lWF+grgp/LVaB5Q4zvjQfSYvB4Br1z1d0nrhGxbrPQz6W34U16v9Z2d9GxCV67tcOx0Pub0zaGhXfB8FJ0wX0j8snp3S5HPPE/m7DNWPNMme3lfKo39JX28GsrNuA66v6o2me9JfsCa9BnkN/PzJiO3dSl49JOJf7lE8lmO0Pnp/RPr8B8lkme4bvFeF0r9izrVWdZ1579jzYs8rq/jZqvsey2TN8zwun+/Zsmnev2jP0z3gfzBa30OLtJcpDfDbfOiufN47I5417oD3Lth/Aa4u20n5tP+BxysP9AD47dgXyXqW8Pcjjs1NvQh5+y5zTQXsMX89hJ7H/eQ/UFtPyM59kP9Mi/LXYu48zEVocSouxajrHNg7zNuF6nu29pPDRaHEcADFz//mJk2U/0yL8NwOv+hTZ5HpRkatmF6SuNn/xM0JtL+1IIrZJmDSbdJHy0CbhWOGk2ZZ2ep33TAvqGJ+F0Hz1UjA7rrLsjWB99Km43Q77I2F7HijtR3u+A9ecNJkL7rxnWlCub1JeG/KuUt4u5F2jPNSr6+n1dmDXK8yTNvI927rqCmHAeqU5v8KH7zEfDbOml+1gf3vy6mVb4WObWw/bHg0z97kLPm0os0t8dh3yQV28THzmra+/T+trqaetr03iMy0T+wTr6x+kNDeC2XFwnLaEx8ZVyGM9uwZ5bcq7Dnkoc06afRJZ5D3Tgraa7ZPN32zD/ePwN4XfovzNNuGZZ2s0+y11tfHE50d3FT67Ch+NFq8X2lCP+2/Xj7wy+5vCfzPwqk+RTa7tYFau2hwrdStK3jdIrp5sUqzNuwFhxrVsm/LQXuX1N9G25PE3UccEmzavYzkeV1nmdazP/ia222F/1NnWB0r70dbvwDUnTeaC+yj+Zha/UVuP3KA81Kub6fV2YNcrzJM28j2b38RzEdYrzfkVPnyP+WiYNb28TO3Jq5eXFT6+/U32zy475IPtWdR6YI/4zPM3/wP5m1Ivq78p5f//+pTmH5K/iePgOG0Jjw30G1nPbkAe68ZNyEOZc9Lsk8gir7+5C3nSpmWbOzkmjfaCY9Lo63NMGvuMY9LYZxyTxj7jmDT2Wd6YNM7jeWLSaF94PNrOivvZ786+RhD+m4TVMZ6Jj6ntW2tnrLT5mM8qa/sZpWDWpq8q97LMQ9p8d5H45J3vLip8/OpCUtXmOUmab8NxWG3cZx1PeC7ip4f00QSbtqfK/lTeM3y28wf3WhwW5crzJ+omx2FRpw8bh+X94rxxWKy/KL+Lz8pq5wAOq5dvKHxs88lh26Nh5j53wUc7r23b8zssH9TFrHHYU2vT+1gvbxz2f4FffCalWaQ4LOsZ+masG+ibocw5uYzD2ta+932sw/tYFxWs2njiOKx2vkDbn7b5Povaw1o2H6tNefeqj7Us69kduOZ0kA07rI/F60TUTbZvOHbY/2pDntjs7WBWvuxj5V0jYf1FxdDu+1jZ+RyHj9UmPvN8rFvkY0m9rD6WlP+P4GPdJh+rDbyP05bw2ED/i/UM/S/WDfS/8vpY7fT6KD7WEsSxMn+HYVl9LPPuRHlu9NuDO7e/1/30k95bgx98uftZ/3bnizufdD7d7fe/GHz5JbaGtYFby1qgRTnN9ePKfaRxMWMreNRiedRMwaE9wdLOQMvGW5utkGaFeGsrQRstG28tGoE0+KvEbah/heppXmBpDm3mbcNjw7+nlEca71vw72WgZeOt7XAiDf6yMcrnzQy0bLyvKuWRpozM7WC2rVepHlpqLDePtsZ7b07bEPO1IF8bryvlceZ4idqI7biegZaN9w2lPNL8FvFGXDcy0LLxvqmUR5pfI96I6ybVwx0jLDePNvK24bHhf0spjzi+acH/VgZaNt5vK+WR5nPEG3G9nYGWjfctpTzSfJF4I65bVO8W5GG5ebSRtw2PDf87SnnEccGCX+pm8aiQpkMPpl8iftIOvIf8F+VRZe2HLZIl1q0oebxK1PrvHYWPRuuiQ1qXHdJqO6R1xSEtnr+PQuuqQ1rXHNK64ZDWdYe0bjqkJTZUO9H2GPHJe6IN6y/qRNtjxGde1OLfUtRCdHDeE/AXIB/L/xuIWvxBSlOLaAlGTc4cvcsrZ42PzDWoww4jJ5O3GqOPIEnycJ57Fq45aVEOwZ03CotyvUV5aGd4vka78S7l4di9nV5vB7PyZZuo+b14z6bHfAoV6x11vGiYNb1ku5xXL68qfHyPf46gX3XIB9vDpyGuOeSDusgnlefZsz8heyb15tmzVyAfy/8O2LP/QVFYHAfHaUt4bGh+ieS9C3msG7chD2XOSbNPIou8UVi01WyftDGxEczq3nHsdAv/zWB2zPlYM9jiOybxmuGaglUbTzzXajGZawofjdZbhMG25vPUf9XD9p/vNZ/Wf7Y1X9b+e5nkes1LO5Imz/2YeE7GtmknlTkeGJBsMGGb8u76o44JNs0X5Xk97+6qdrLIs7/ZYbkGSvsxHrMD15xc+psoV7YH2O9vUx7qLc8DOM/K3Kb5m2zL8vqbWH9R/qZt15/957x6aduN9bXrvyi/dtn8zZ3y9D7Wy7rrL+V/FfzNCylNsSU4npfV32Q9Q3+TdeMo/qbIIq+/ifOQtMnz3NllexwouDB2f1PBb5MFzo9/keNJHhy3bI+1uIG2t/UEXPM4zOI/PqG0wzam/c6r2f1/4b8Z+NSdqf94I6NcNT2/QTLHPJ4ztb29mwofjVaek8qe1ktJ1v4T/ovy/7VY0ROKXBeh3/P6+ZoFj5+55+56jecem29j3gC/HszqkLZnzbjfBvpyb57NynsWAMc/nw2ah3MeraOcBeCzQYjrZgZah93HN4nPBiGut+bU43Ializt1k6S433xs7Av2lT2JpVF2V2Ba2zPyhwMNyEfdY/bUlLKa/RQd5ke9pnc4/1/29rrbSprkox79O2Ow04L/02l3T7stLZ3iPJBO3SCZM06g/3XhmvUpT2lrWyfsmKS8u8q5bEf2T4h/ncz0LLxvq2UR5psnxCX1LXpZRa9QVy8DnFB67YDWuI/aWd2KsGs3N6hPFw78ZrrPQWfjOf34f5xjGfhv0lYfY3n9wkPy0cbz1qcgeebLGXeB75yz/z7ICMmKf+hUv4DKMPjGfv4wwy0bLw/UsojTR7PiEvqynwqc+Y/TuMaxo/71fRai6/k2a/GGKGMB0P/n1rov2+h/8Ec+ibtjWbpa+NZeGnjmWP6OJ4xdoQ69WOQ229Y+LYtfK9Y+MpchPT5jTi/CRh+x4LhTQuGaxYMN4JZ+uJDafFZzG8rbZG/se3zfKw2lX9NKa+9JUc7S87niHDO5zn2TYXPDaUtJfr75Jx2sOxd6gbzE/14XOFRprL/qjzF/Vf0xQNbrKAN949jzhJ+i4oVtAkPy4f9kSsKVu0tDnw+9IrC54rCR6N10SGty+n1vfo2EpdPw/JTqjifaLboqDqB9a8QBqxXmvMrfPieTV/4yyPa06AlysP22L4epL0hYEupd9T2LMMTrG2HfNpQ5jLxmbdn9ke0Zyb18r6N5Jdgz+yPac8Mx8Fx2hIeG3mfhtX83DZcc9Lsk8jiKGe05r0tCet6/gpJLeu8zV8h8fTkrvUrJJqtMU/KylfXvj2489bgBx93Pv2k37nzyeefvT/4B98bfHkHm4Gk15RmcvevETspx2HCD0ez5TAt6kUEecUn5dtKeaTBj3pqrv4xqvGhP6azLGqsuSH8MR3M45ertBU+bYWPRst2bOY88cmro+cVPn4/lJX/pTrnKQ+XiKgfnLRpAT9O9dNDTgu8FNZehFOiPMHD92zHi/glR56m96V9qY7tpRW+X6rD4/cytZHvcT8ex4upbS/f4rksr15qHy3dUuodtT22D5reKy/VeXJ9eh/r5X2pzgewVNhJr8WW+AnruH2pDuuZr5fqiCzyLhWw//K8VMfTB1syLxWE/6JCfJqtsYX4NFujjVv8YCTbhyzhD6S165DWJYe0RMdENiHk4dZPi2yG9sHUUOFZCmb7YzWYlS9vuzUVHDZaNt42/TDXvO2GuF7PQMvGW+sbpGFbV/F8JHzKCs6I8qTsm/jis/X9vLCvq8H+vAjyYsqrQl5CeTHk1Sgvgbw65dUgrwHXWNakVcJgEoYCTqXX/cGnn3x/8MU7n9+ZvAtMIx/Q9QbdC+nviP5+dQ7UCpWL6e8m/c3mPKG/awo+LQkOTIxlNTg4iRqJrN5NVcdMYaUUBKqU8EV5rQb78eBQ21LypO5XLsrKfhztNO8jUOdvk8vhZ6djesrT9t0T5M+7vH8LZPeTE/vlpe0QHPaNXIjH9kauZdsZYhct6zf+srxbmp84YplwOmgnam1jSpfLSULdLBFP4cG6w+OiqeBF152j9p/CuPghjQs/39aZjgvpy3njAscNlv+uZVy4fFucNi5wWctvtfD0LaLaloJVkqb7vMvhUve1JxtQJpy0cYEnJ7KOix/SuNDCHlnHxWWg+0d0wkbk8SMYF79F4wLb7mNcyAmteeOCT0hL+X9iGRfayW18GprHxUFvi+Nxob0tzq+88j/RxU/M3YI8Pr2Z9e0NvOOPp3X4zX6YtHEhcsozLn6LxoX2RsWs4+I60N2ZMy5+AuPiZ4sZF31pm/Rl1nEh5X8357jI+ybDrONC6noeF0v15hI+Db2ocfEzT+PiT+htWtrbhITntYw8SwofrbzQ4zH5+6Dfu6l8PD/B1uPxM29M3iDMUv4PLGPS9dNYtjEpdY/ThmlPh7EN+0NFXjIGVkfT+lehPSatjby0Z2BwnKPTo9hvZeB7UB+ZlNfO8ullnOevU57tyT/tjTBZ7YLUxTf3cdzhP8F8+acFiTv8l5xxB217jjFg+V/kuMNRv2l1XHGHP/UUd7hF40Jk92cwLn5ekLjD/84Zd7CNi3st7sDjAnWfxwXqPo+LRccdfu4p7nCKxoVg+0sYF6dTHVvE2/awv+aNC3wbLZb/K8u40ObXXbjH40LzmbHdPC5Q9/nb1X7klTS2FKySNP3mNRTqN8epNf3mOIc21tD/4a9FYNLGhcgpz7g4ncH+ZR0X+MSbfDOe54uzJ6ZlLtC4WNb54qEUZ9b54hLcu9fnCx4X2ol7bTztUt6i54sL1M+u5ovvpwC1p22yHOG2xR0uAR+tvNArU/mXQb857tCG+u50rBoK5l3AtEo4kX+Zyn/LMialDsrN5sPtKuXbity2SW5Y9zjl1cwgr7oiLy3u8Aa0x6S1kZf2RFrcAfW9DHzn9an2zdisfcpPk+9C3iXKw3GZ5Ym4rHZB6prxumWxC3wMbVF24WoB7cLN+3Yhl114775dOLRdwHHpyy78OZ2DEn39O+BHf5f8aJ+PWKEcUNdCRRZsT7qWsanZtFfhHvfjJaU8tlvwaI8qSF2/8oqHWwpWSdrjIhw/Qd3jY7roA7coD+OrHK/BNQPKhJPmR4uc8vjR36V+th2f1cZFqOA1dH89VQjp33NQ7sFgP8+HFJ4n4Z68aU/KPwx8uDzSK1P5f2iZLx+B+u50LJq88fFRwLRKOJF/mcr/imVMSh2UG/Yvj8lHlfKPKHLbJrlhXc/yCm3yOplBXj/KOF+eg/aYtDby0h51vkR95/lS61Msn7dPRWYVKo/9K3k4Lh8iPucUPtgfbBcwT+p+tb5Or33KvdEMQxkH0ueiR5zWIB/L//NUdzahHfK7dgScw0YnGsadYafW6feTXucBom+S9PEpD/wH3aTV6LZ6tbAftqJWvGj+1Waz3qp2x9Hdfm/YTxbOf9BsjRs+HHSiKKr2w8FB/I0e/5j8t1Wo49B/m9i+MmDJYtfXlfJlwmjSNsgvoLo23isOeZcU3p7lGtmw2tp2Qim/bmkbtlvqbil8Sotpd+Y3fsm9TcLqqx9WFblq/bBlkXlFyUO9ntff6wofjVbJIa0ytQdpz7M19/Xm6HqzpmCtUJ5J8mqYkpK3qtxbWTCt7WC2v9lWabJZtfDhvjJpS6nHOscybad/h0dLmR9dFv6bwWLmjLWMchXZlRWsFcozifVEm3fLCp+i0EI7txHM2j2XftOWhbfN5rKNtY0FzY6jbuyN7v6yHdd8g3nz1JrCC2mXqfz/JL/0BLWjnf4dHjGxj4y8NpT2OeRdZx8A05bSbu53XIdyv28QZszDdQe/hgyTFocTWRjeexnicJqOlChvXWmH5HG/m1QJZvW+THmo9+uUh3rPfc22up3+hkdLEc+Bi7QhtnlU8/OyzA9aP2J9qZvHL9wIPPpaURhq83wQuLfVNh/Djy2pRqy3QaD7GMJ/UT6GNsdqPobIZ92PfELzVQDNbqwosmEcoi/aOp/HQ0lpb0lpbyWYP562LHzuj5n7Y+b+mNlf36SDxsx2er0+Al6jaVmTTqR/r0FdLC84ylT+0dQRM+1/HPZDviqr8DPlXrKUK835/YqGcm9ttP/exmi2/Opotrzw3hzNYpS8U5BXJj6n079RXkhLcJSp/PNp26VPTkIdqV9R+J8k/vtwK/dQT5nWqnJPypv+eTrFKL4ytt31mP+KJ9HHe4xNdGdeXI3fI6T9ogxsYw1pyfqZ1xEu+Gxa+JxywEds5WnIa6e/4dHSxLc/BfxPz+Hr2kYL/S0v9KOh0D/jhX4YCf1t1/0STX0LXCdLO8w4eu3k9D7OWfP25U9DPpb/z2D/LxLNvPtd2r4MzrH8qjr0y07M4YPlDsKWd8/osNi0teK8uhuUhzzFbnC8RPKDYDoGsS8djpHMr/8W/puE1cecgvwED8vHFjPisxU4D7w5mpbjvFXlnm1OueqQ1p5DWtcc0rrukNaeQ1o3HNK66ZDWnkNabzmk9bZDWnsOad1ySOsdh7T2HNJ61yGt2w5p7aW0ZI7B2LpDm97VfGFJkoc+Zt64vuA2dv+fZYjra77VacrD+URobVA7HMupx7IIFMzoK2tztyRNToI7r5zWFFlo+zHin/pdN4R9lkWgYEafH30uTpqcBHdeOZUUWbDum2tZL/hd/4QDlkWgYN4G3hxzwKTJSXDnlVNZkYVmBySO4nkdN2RZBArmCvGWa06anAR3XjmtKLLQ7MDZ9JrXo27lFIUsi0DBfBZ4Y0yVkyanSUwtyCenVUUWmh14gPLWFbp+ZXj3PVjcDm29Jfw3g1lZ+lhvbRMelg+vtyoK1oqSh3Ms686qcm/FQmvDIa01h7Q2HdIqOaR1yiGtskNapx3SWnFIa8shrVWHtNiXQNvBdsvTWc/MZ0+F/2Ywq88+7NaKIlctTuT3bO70eTLt3Mm6BY+n81mT91NqcbSSgudsilPToSCYtZmI+yTQx7Z50sXQJmutbSXCjOWxTXx+a1Vp70F7tSWFrvDaUmTG2OY9OznZa6Xyf5wWMj+/vZBzh9Nn5yuASZPnCcIs5f8bYOZnJ7U4va1PNbuK7ea9fNTbiqUe6opWl+P62rwrf58F7MynQmV5D6Cs0OFYDtZbVN8Llqx9L+X/LGff2/Z0zirls/b9Wao374yvbd+G27qi0OL+5b0s7dkk3lfW6q0RT5s/fkqpZ7Oh2p6jFjOTurgfiXv6fP5HeGJ9bU9NWxsyDaSzQmVLgc7fpI9G+/PWMmDT5sBAuadhWz0A25qCjemuWNoxj482r2lxhRLlzZvXXD/v2aj2ap241gp7g1qjU28s+nnTWr/bHIPotPq9ej+u9fI8b6qd/RZZaWe/WT9kDGn20qS90d3fMpU/Re9G4HPy7UPKgpP2XAGvvU9AGzQ/Vz7P5vecXxiVCc8LKVDDbzu91vpE2rYdzNo19gNZzpin2WjP8e/J+2TQJ1xVsPKZDyn/SFrooHcxoE9h0trIS3sS7V0M6EOVgS+2Kwim7cbybN+2lPLYN9K+CpXn+Rn/Rlooc35WVWS4Pqe80GM9fhb6SN6Jop1nPUXYse18DkJbz2jPdmwC5jbZHE/nPprsX2DS9uR43sJxyPMd79dh3lH2HUUWeZ8ncmGH2NZ42rsN72W7IDK12QWXY5Kf9dLOkeGY9OEXJbVOo9dpRFEriQZJVDvMezg8zfWhZxsUafuT6yD3GxvT+5iH8y/OD/z5byn/98BHeZt8FJfPGmo2hZ9t085be7YpmZ8pF/6bwaz98xFL3iQ8KPMgmI3dejoHktjsmXa2x8QyzgSzfaad6cb15nuju7+afvFcm/c9G5pPlPfZV/bLUEc4VoK2crJeCuxrtRKV18Yx150nCy2Ow+u3AYz7X6Nxz/FgzENZ8rjnMYp5WtzH85mTie6eOUCmHM+W8r+srE1s87U2HhgDltfmcJEXzv18lsnT2ZPJWm77AHmdIXlJ+TsWeWntP2mRl3YG4IxFXihLrMu8WbZ8ns63Lh4kW9ZFKf8rGdfJG9Aek9ZGXtpT0/xhnCPKwHfeeMHyWfrf5vPiGZkzlIc2nn1e5Hua8tA2s/+NNl5sG9rSrP6b5rP6en8OY8LE55BYbpy0NajgNm36C9ANLsc8sQ/WKU+bZ5mf1P9gNM3jGHSZ/p733Az+LWNQ8xH42aV/QbEJX+sOLR7KMisp7dRkjTH1vwakvG6M9cEBAA==",
|
|
3760
|
+
"debug_symbols": "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",
|
|
3679
3761
|
"brillig_names": [
|
|
3680
|
-
"
|
|
3681
|
-
|
|
3682
|
-
"lte_hint",
|
|
3683
|
-
"notify_created_nullifier_oracle_wrapper",
|
|
3684
|
-
"notify_created_note_oracle_wrapper",
|
|
3685
|
-
"debug_log_oracle_wrapper",
|
|
3686
|
-
"random",
|
|
3687
|
-
"field_less_than",
|
|
3688
|
-
"build_msg_block",
|
|
3689
|
-
"attach_len_to_msg_block",
|
|
3690
|
-
"get_random_bytes",
|
|
3691
|
-
"get_app_tag_as_sender",
|
|
3692
|
-
"increment_app_tagging_secret_index_as_sender_wrapper",
|
|
3693
|
-
"directive_integer_quotient",
|
|
3694
|
-
"directive_invert",
|
|
3695
|
-
"directive_to_radix"
|
|
3696
|
-
],
|
|
3697
|
-
"verification_key": "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"
|
|
3762
|
+
"process_log"
|
|
3763
|
+
]
|
|
3698
3764
|
},
|
|
3699
3765
|
{
|
|
3700
|
-
"name": "
|
|
3766
|
+
"name": "sync_notes",
|
|
3767
|
+
"is_unconstrained": true,
|
|
3768
|
+
"custom_attributes": [],
|
|
3769
|
+
"abi": {
|
|
3770
|
+
"error_types": {
|
|
3771
|
+
"17843811134343075018": {
|
|
3772
|
+
"error_kind": "string",
|
|
3773
|
+
"string": "Stack too deep"
|
|
3774
|
+
}
|
|
3775
|
+
},
|
|
3776
|
+
"parameters": [],
|
|
3777
|
+
"return_type": null
|
|
3778
|
+
},
|
|
3779
|
+
"bytecode": "H4sIAAAAAAAA/7WTyw7CIBBFqcUo0sTEx39MU0y7dOHafyCtLHVRN+766dZkJkyI0QVwEzJMgMNcHoXwKjBKESGCHDEqjAs2Xs7tjDnEqVbBvin5HRijvvhLWH+jkFnk4QPxM50/rJBzmTyfe6F913PTrF8J/z5y+af7y+l//8OzRq9bzCvh/8P4uvfXx/M2ij/SbJGc0ptoOwAqvkT+EvmhJBvn8w+Yb4Svj6KMqNO1tnaNdfZkh8H0dhfwP+KH/QbzqHp4zgQAAA==",
|
|
3780
|
+
"debug_symbols": "bY/dCoMwDIXfJde9aKob01eRIVWjFEortQ6G+O5Lh0j3cxPOCV8OORsM1K1Ta9zoF6ibDazvdTTesdt2AV0w1pqpzdcg08DizS+zdskuUYcItSoKAeQGViXy/WgsQX1Vu/hBUaJUB8xaVSeO5e0/X+HJK5Qf/H1n+9DB6M7S8fy4uj7rEp8zfdWag+9pWAOlglk3ng1ehJIcy9Ev",
|
|
3781
|
+
"brillig_names": [
|
|
3782
|
+
"sync_notes"
|
|
3783
|
+
]
|
|
3784
|
+
},
|
|
3785
|
+
{
|
|
3786
|
+
"name": "constructor",
|
|
3701
3787
|
"is_unconstrained": false,
|
|
3702
3788
|
"custom_attributes": [
|
|
3703
3789
|
"private",
|
|
3704
|
-
"
|
|
3705
|
-
"view"
|
|
3790
|
+
"initializer"
|
|
3706
3791
|
],
|
|
3707
3792
|
"abi": {
|
|
3708
3793
|
"error_types": {
|
|
3709
|
-
"11091894166229312484": {
|
|
3710
|
-
"error_kind": "fmtstring",
|
|
3711
|
-
"item_types": [],
|
|
3712
|
-
"length": 20
|
|
3713
|
-
},
|
|
3714
3794
|
"14514982005979867414": {
|
|
3715
3795
|
"error_kind": "string",
|
|
3716
3796
|
"string": "attempt to bit-shift with overflow"
|
|
@@ -3719,33 +3799,33 @@
|
|
|
3719
3799
|
"error_kind": "string",
|
|
3720
3800
|
"string": "Array index out of bounds"
|
|
3721
3801
|
},
|
|
3722
|
-
"
|
|
3802
|
+
"17618083556256589634": {
|
|
3723
3803
|
"error_kind": "string",
|
|
3724
|
-
"string": "
|
|
3804
|
+
"string": "Initialization hash does not match"
|
|
3725
3805
|
},
|
|
3726
3806
|
"17843811134343075018": {
|
|
3727
3807
|
"error_kind": "string",
|
|
3728
3808
|
"string": "Stack too deep"
|
|
3729
3809
|
},
|
|
3730
|
-
"
|
|
3810
|
+
"2233873454491509486": {
|
|
3731
3811
|
"error_kind": "string",
|
|
3732
|
-
"string": "
|
|
3812
|
+
"string": "Initializer address is not the contract deployer"
|
|
3733
3813
|
},
|
|
3734
|
-
"
|
|
3814
|
+
"2709101749560550278": {
|
|
3735
3815
|
"error_kind": "string",
|
|
3736
|
-
"string": "
|
|
3816
|
+
"string": "Cannot serialize point at infinity as bytes."
|
|
3737
3817
|
},
|
|
3738
|
-
"
|
|
3818
|
+
"2920182694213909827": {
|
|
3739
3819
|
"error_kind": "string",
|
|
3740
|
-
"string": "
|
|
3820
|
+
"string": "attempt to subtract with overflow"
|
|
3741
3821
|
},
|
|
3742
3822
|
"5019202896831570965": {
|
|
3743
3823
|
"error_kind": "string",
|
|
3744
3824
|
"string": "attempt to add with overflow"
|
|
3745
3825
|
},
|
|
3746
|
-
"
|
|
3826
|
+
"6485997221020871071": {
|
|
3747
3827
|
"error_kind": "string",
|
|
3748
|
-
"string": "
|
|
3828
|
+
"string": "call to assert_max_bit_size"
|
|
3749
3829
|
},
|
|
3750
3830
|
"7233212735005103307": {
|
|
3751
3831
|
"error_kind": "string",
|
|
@@ -4235,9 +4315,28 @@
|
|
|
4235
4315
|
"visibility": "private"
|
|
4236
4316
|
},
|
|
4237
4317
|
{
|
|
4238
|
-
"name": "
|
|
4318
|
+
"name": "signing_pub_key_x",
|
|
4239
4319
|
"type": {
|
|
4240
|
-
"kind": "
|
|
4320
|
+
"kind": "array",
|
|
4321
|
+
"length": 32,
|
|
4322
|
+
"type": {
|
|
4323
|
+
"kind": "integer",
|
|
4324
|
+
"sign": "unsigned",
|
|
4325
|
+
"width": 8
|
|
4326
|
+
}
|
|
4327
|
+
},
|
|
4328
|
+
"visibility": "private"
|
|
4329
|
+
},
|
|
4330
|
+
{
|
|
4331
|
+
"name": "signing_pub_key_y",
|
|
4332
|
+
"type": {
|
|
4333
|
+
"kind": "array",
|
|
4334
|
+
"length": 32,
|
|
4335
|
+
"type": {
|
|
4336
|
+
"kind": "integer",
|
|
4337
|
+
"sign": "unsigned",
|
|
4338
|
+
"width": 8
|
|
4339
|
+
}
|
|
4241
4340
|
},
|
|
4242
4341
|
"visibility": "private"
|
|
4243
4342
|
}
|
|
@@ -5347,126 +5446,27 @@
|
|
|
5347
5446
|
"visibility": "databus"
|
|
5348
5447
|
}
|
|
5349
5448
|
},
|
|
5350
|
-
"bytecode": "H4sIAAAAAAAA/+19BZgUx/P2Hrt73KGHQxISiBHPzPqGkEASkgABIkSIQFaBGCEhbsSIu7sLcXd3d5df3N2dfNVk5q6ur2e5Y6vmpv7fzfO8XNPT2/N2dXe9XaM1of+2x2tDoWXr/kvXAMLO306AIVpe1JDX1ZDX3ZDX05DXy5DXHzBSy1vKUG6IIW+oIW9pQ94wJw9vNc7fkc7fuJVKJErpWMmO2zkrls1nklYimU9l7IydzCSLsUw8XsokMulsPpu2snYiXrLLyWy8bP239Qg31WVVtcUKnDx7kvG0LE6eDYvOM6ZnKG69ARHEVfXXfCe9Qqgp3RPlNzhp93e94P+9AX0AfcNN+e7WSbOBVd1mDyO0Zz+6frfx3FL1DtHsUENshzChHUKMY7Y/nQ8ocfIcsOg8k3qGaW71R3NIbW56MEoP0ObWQPj/IMBigMUNcytMPKaWJKxrYJiub5Zg8s/U9luBsK5BhPYbTGg/09heAo3twSi9GEovro3tJeH/Syk/CRjqjG1cp9c2ksi+ndGxhjjppYHHMoBlAcsBlgcMA6wAWBGwEmBlwCqAVQGrAVYHWADlkGOAOCABSAJSgDQgA8gC1gAMB6wJGAFYC7C26hvAqHBzLuvA/9cFrAcYDVgfsAFgQ8AYwFjAOMBGgPGACYCJgI0BmwA2BWwGmATYHLAFYEvAVoDJgK0B2wC2BWwHmAKYCtgekHMmRt75W3D+Fp2/Jedv2RW8xoUmJOq0vGUMecsa8pYz5C1vyBtmyFvBkLeiIW8lQ97KhrxVDHmrGvJWM+StbsizDHm2IS9myIsb8hKGvKQhL2XISxvyMoa8rCFvDUPecEPemoa8EYa8tQx5axvyRhryRhny1jHkrWvIW8+QN9qQt74hbwND3oaGvDGGvLGGvHGGvI0MeeMNeRMMeRMNeRsb8jYx5G1qyNvMkDfJkLe5IW8LQ96WhrytDHmTDXlbG/K2MeRta8jbzpA3xZA31ZC3vSEvZ8hTDnFIqPmmB0DVinlNiE4ElWMnqqtiEGFVt9mlMJ39Ig6/mlDLbamWvG2rim1p3b5V1LZMy75a5NqWNfX7Ita2nHkMLVJty3uNx0WobZj32G5zbStUmidtrG3FynOuTbWttLD524baVl64L2h1bau0xq+0srZVW+ejWlXbaq31d62obfXW+86F19YWP7yQ2uy2+fSKtcXaqg8Vaou3XWs8a0ssim551JZcNA001pZaVD011JZedG1uUVumGp3XastWt2ZoVtsa1a4/UG3Dq1/LNNa2JsW6yKltBM0aa0Fta1Gt16C2tenWfvZIwnWku15W27Twf3+nh0PNt6HOX3TQjoXaQraOhZrVpq1joda22joWam2rrWOh1rbaOhZqbautY6HWttr+f1uoVXsibVrr6yospC57OuECstIJPuoTk6OYFr4znAXvDvrCN8zYgGoHxAzCAbGDTwOC+ozvOoSBxLqEgcR6hIHEaMJAYn3CQGIDwkBiQ8JAYgxhIDGWMJAYRxhIbEQYSIwnDCQmEAYSEwkDiY0JA4lNCAOJTQkDic0IA4lJhIHE5oSBxBaEgcSWhIHEVoSBxGTCQGJrwkBiG8JAYlvCQGI7wkBiCmEgMZUwkNieaeG7o7PA3Ulf+FKf8e1YqLVt61iodSzU9K1joda22joWam2rrWOh1rbaOhZqbavt/7eFWrUn+HYkPMG3E+EC0s8zvjmmhe/OzoJ3F33hS33GN0c4IHYmHBC7CB0QeaYBMdPp+F25B0SecEDMJBwQuxIaVnW6ulm/N7JjE89ELFVKJXKlUtwqZbOZgh0vZAqlUqGYi+fS6YyVLuZLuWIyli/EyvF82SrlSpmknU/k07ZVsOdr9dnQ3mQqZ6Uy5ZQVt2LxWMIqZFP5RDGXTKQTqRRUF89n0rZdSMbsQjqRidmxnJ3MF6x4opRLzaftX0sf8LFMLFlIZwuFVC5ZyOdLpXK6mMplynY+lbNj+TiQycXjmUTCypXKpXwink3ZiUwhAz2ULliJbIv2QteWi7ZqXT5tpWLFVD6pOr4UT+WzVjqeiietcqqcz1l2LJYpJKDJMSubTVrZcjJt2SXu9lqlYt4uxbLxQrxQytr5MjSiBMlcLmkVY4Vkwi7nskUYgMALmmvFS+W8XSjnYoV8PJ5Ml1u0N56wi6l0spyD3i0VSnHocBgd8UIungA7xPN2Np8qZdOpmJVIpSEvAeaLJQoJsHKxFE/yt9cq5oqxWNJKZuLlWC5btnKFPLS5WCqWbbA4TMS8FQd75ErpZLwMPWUn8plMrpyxC/lkrAW/bDqet8BQhVyuEI9nS6UENLeYyyfteCybjVnldH7B4LGgIsguJYvlVNpKWPm4ZWVTMfbxXI7HE7FS1rJKMLqgHbFMFjxOrpTKgF9JxzPlYiEFrSvCGLCtYimdj8esggVz0opZmXSxRf/my9lkBn4TB6tli8lsDDyZFQcXlsrCxE8VU+VsLJGF6RxLJKDGeNIuwxCIFctgioKVYe/fBMyjOExGcKUW+NRiIRMrZXLJZC6bjBUTikYsmSqXLPClxWwiC9kw53KWBeMAOqrl+Mtl1MhPWUUL/iknixlw04lsMZEpg2tMFC2Y/lY+mykV03Y6l80n47FcORUHz5eMW+mszdHebk5dKq3uM3CfIp6O0jNQegeU3hGld0LpnVF6F5SeidK7OmnC9pDbR9U3C3juBtg9/N9T07UhfxY75TD9uFbb7DAjYVU5db17EC6auNq9B1o5EtXL+qqQPekGV4KT516LzjOuZyhu+usU9kQOScFNz0L5e4Wbv05hb/j/PoB9AfuFW74qhNoG+9P1Vdxkg/1RW4sovXcFGxwA/z8QcBBgTpj/VUT9CH3AwYSnfPATyareIY6NOoX8EYklGUQCP/V8CNR/KOAwwOGAuYAjAEcCjgIcDTgGcCzgOMDxgBMAJwJOApwMOAVwKuA0wOmAMwBnAs4CnA04B3Au4DzA+YALABcCLgJcDLgEcCngMsDlgCsAVwLmAa4CXA24BnAt4DrA9YAbADcCbgLcDLgFcCvgNsDtgDsAdwLuAtwNuAdwL+A+wP2ABwAPhp3O7IwGNGdnHhLmEY8QJU+7+amThxzhe9idBe5fteNXLU8VqtNIhRmNuKieolRWm2U/ROh1HiY+59baZWi1vB9qxru62jDfR8KMhFXlLSWoupofIZSNR5mXtBQ2fNS4lK+u5keJPRx1ux/2aHe19T5GLNOuQ1X11of8ValDBarU446zeUJXqccNKvWEDyp1KKFKPU7oTJ4QqlKPM6nUk2FGwk8yqNSThCr1VMBVStnwKQaVeirgKvWER7urrfdpJpV6uh1U6jCBKvWM42ye1VXqGYNKPeuDSh1GqFLPEDqTZ4Wq1DNMKvVcmJHwcwwq9RyhSj0fcJVSNnyeQaWeD7hKPevR7mrrfYFJpV5oB5U6XKBKveg4m5d0lXrRoFIv+aBShxOq1IuEzuQloSr1IpNKvRxmJPwyg0q9TKhSrwRcpZQNX2FQqVcCrlIvebS72npfZVKpV9tBpeYKVKnXHGfzuq5SrxlU6nUfVGouoUq9RuhMXheqUq8xqdQbYUbCbzCo1BuEKvVmwFVK2fBNBpV6M+Aq9bpHu6ut9y0mlXqrHVTqCIEq9bbjbN7RVeptg0q944NKHUGoUm8TOpN3hKrU20wq9W6YkfC7DCr1LqFK/S/gKqVs+D8GlfpfwFXqHY92V1vve0wq9V47qNSRAlXqfcfZfKCr1PsGlfrAB5U6klCl3id0Jh8IVan3mVTqwzAj4Q8ZVOpDQpX6KOAqpWz4EYNKfRRwlfrAo93V1vsxk0p93A4qdZRAlfrEcTaf6ir1iUGlPvVBpY4iVKlPCJ3Jp0JV6hMmlfoszEj4MwaV+oxQpT4PuEopG37OoFKfB1ylPvVod7X1fsGkUl+0g0odLVClvnSczVe6Sn1pUKmvfFCpowlV6ktCZ/KVUJX6kkmlvg4zEv6aQaW+JlSpbwKuUsqG3zCo1DcBV6mvPNpdbb3fMqnUt+2gUscIVKnvHGfzva5S3xlU6nsfVOoYQpX6jtCZfC9Upb5jUqkfwoyEf2BQqR8IVerHgKuUsuGPDCr1Y8BV6nuPdldb709MKvVTO6jUsQJV6mfH2fyiq9TPBpX6xQeVOpZQpX4mdCa/CFWpn5lU6tcwI+FfGVTqV0KV+i3gKqVs+BuDSv0WcJX6xaPd1db7O5NK/d4OKnWcQJX6w3E2f+oq9YdBpf70QaWOI1SpPwidyZ9CVeoPJpX6K8xI+C8GlfqLUKX+DrhKKRv+zaBSfwdcpf70aHe19f7DpFL/tINKHS9QpeY7zuZfXaXmG1TqXx9U6nhClZpP6Ez+FapS85lUqtmrZKkJq8qpVUrVSTVIayLBVillQ8WRWqVqIsFWqX892l1tvZ0iPCql6vVbpU4QqFJhx9lE3K8ONapVpKVKqULcKnUCoUqFCZ1JJCJTpcIRHpWKRhgJRxlUKkqoUrUBVyllw1oGlaoNuEpFPNpdbb2dmVSqczuo1IkCVarOcTb1ukrVGVSq3geVOpFQpeoInUm9UJWqY1KpLhFGwl0YVKoLoUp1DbhKKRt2ZVCprgFXqXqPdldbbzcmlerWDip1kkCV6u44mx66SnU3qFQPH1TqJEKV6k7oTHoIVanuTCrVM8JIuCeDSvUkVKmGgKuUsmEDg0o1BFyleni0u9p6ezGpVK92UKmTBapUb8fZ9NFVqrdBpfr4oFInE6pUb0Jn0keoSvVmUqm+EUbCfRlUqi+hSvULuEopG/ZjUKl+AVepPh7trrbe/kwq1b8dVOoUgSo1wHE2A3WVGmBQqYE+qNQphCo1gNCZDBSqUgOYVGpQhJHwIAaVGkSoUosFXKWUDRdjUKnFAq5SAz3aXW29izOp1OLtoFKnClSpJRxnM1hXqSUMKjXYB5U6lVClliB0JoOFqtQSTCq1ZISR8JIMKrUkoUotFXCVUjZcikGllgq4Sg32aHe19Q5hUqkh7aBSpwlUqaGOs1laV6mhBpVa2geVOo1QpYYSOpOlharUUCaVWibCSHgZBpVahlCllg24SikbLsugUssGXKWW9mh3tfUux6RSy7WDSp0uUKWWd5zNMF2lljeo1DAfVOp0QpVantCZDBOqUsszqdQKEUbCKzCo1AqEKrViwFVK2XBFBpVaMeAqNcyj3dXWuxKTSq3UDip1hkCVWtlxNqvoKrWyQaVW8UGlziBUqZUJnckqQlVqZSaVWjXCSHhVBpValVClVgu4SikbrsagUqsFXKVW8Wh3tfWuzqRSq7eDSp0pUKUsx9nYukpZBpWyfVCpMwlVyiJ0JrZQlbKYVCoWYSQcY1CpGKFKxQOuUsqGcQaVigdcpWyPdldbb4JJpRLtoFJnCVSppONsUrpKJQ0qlfJBpc4iVKkkoTNJCVWpJJNKpSOMhNMMKpUmVKlMwFVK2TDDoFKZgKtUyqPd1dabZVKpbDuo1NkCVWoNx9kM11VqDYNKDfdBpc4mVKk1CJ3JcKEqtQaTSq0ZYSS8JoNKrUmoUiMCrlLKhiMYVGpEwFVquEe7q613LSaVWqsdVOocgSq1tuNsRuoqtbZBpUb6oFLnEKrU2oTOZKRQlVqbSaVGRRgJj2JQqVGEKrVOwFVK2XAdBpVaJ+AqNdKj3dXWuy6TSq3bDip1rkCVWs9xNqN1lVrPoFKjfVCpcwlVaj1CZzJaqEqtx6RS60cYCa/PoFLrE6rUBgFXKWXDDRhUaoOAq9Roj3ZXW++GTCq1YTuo1HkCVWqM42zG6io1xqBSY31QqfMIVWoMoTMZK1SlxjCp1LgII+FxDCo1jlClNgq4SikbbsSgUhsFXKXGerS72nrHM6nU+HZQqfMFqtQEx9lM1FVqgkGlJvqgUucTqtQEQmcyUahKTWBSqY0jjIQ3ZlCpjQlVapOAq5Sy4SYMKrVJwFVqoke7q613UyaV2rQdVOoCgSq1meNsJukqtZlBpSb5oFIXEKrUZoTOZJJQldqMSaU2jzAS3pxBpTYnVKktAq5SyoZbMKjUFgFXqUke7a623i2ZVGrLdlCpCwWq1FaOs5msq9RWBpWa7INKXUioUlsROpPJQlVqKyaV2jrCSHhrBpXamlCltgm4SikbbsOgUtsEXKUme7S72nq3ZVKpbdtBpS4SqFLbOc5miq5S2xlUaooPKnURoUptR+hMpghVqe2YVGpqhJHwVAaVmkqoUtsHXKWUDbdnUKntA65SUzzaXW29OSaVyrWDSl0sUKXyjrMp6CqVN6hUwQeVuphQpfKEzqQgVKXyTCpVjDASLjKoVJFQpUoBVyllwxKDSpUCrlIFj3ZXW2+ZSaXK7aBSlwhUqWmOs5muq9Q0g0pN90GlLiFUqWmEzmS6UJWaxqRSMyKMhGcwqNQMQpXaIeAqpWy4A4NK7RBwlZru0e5q692RSaV2bAeVulSgSu3kOJuddZXayaBSO/ugUpcSqtROhM5kZ6EqtROTSu0SYSS8C4NK7UKoUjMDrlLKhjMZVGpmwFVqZ492V1vvrkwqtWs7qNRlAlVqluNsdtNVapZBpXbzQaUuI1SpWYTOZDehKjWLSaV2jzAS3p1BpXYnVKnZAVcpZcPZDCo1O+AqtZtHu6utdw8mldqjHVTqcoEqtafjbPbSVWpPg0rt5YNKXU6oUnsSOpO9hKrUnkwqtXeEkfDeDCq1N6FK7RNwlVI23IdBpfYJuErt5dHuauvdl0ml9m0HlbpCoErt5zib/XWV2s+gUvv7oFJXEKrUfoTOZH+hKrUfk0odEGEkfACDSh1AqFIHBlyllA0PZFCpAwOuUvt7tLvaeg9iUqmD2kGlrhSoUnMcZ3OwrlJzDCp1sA8qdSWhSs0hdCYHC1WpOUwqdUiEkfAhDCp1CKFKHRpwlVI2PJRBpQ4NuEod7NHuaus9jEmlDmsHlZonUKUOd5zNXF2lDjeo1FwfVGoeoUodTuhM5gpVqcOZVOqICCPhIxhU6ghClToy4CqlbHgkg0odGXCVmuvR7mrrPYpJpY5qB5W6SqBKHe04m2N0lTraoFLH+KBSVxGq1NGEzuQYoSp1NJNKHRthJHwsg0odS6hSxwVcpZQNj2NQqeMCrlLHeLS72nqPZ1Kp49tBpa4WqFInOM7mRF2lTjCo1Ik+qNTVhCp1AqEzOVGoSp3ApFInRRgJn8SgUicRqtTJAVcpZcOTGVTq5ICr1Ike7a623lOYVOqUdlCpawSq1KmOszlNV6lTDSp1mg8qdQ2hSp1K6ExOE6pSpzKp1OkRRsKnM6jU6YQqdUbAVUrZ8AwGlToj4Cp1mke7q633TCaVOrMdVOpagSp1luNsztZV6iyDSp3tg0pdS6hSZxE6k7OFqtRZTCp1ToSR8DkMKnUOoUqdG3CVUjY8l0Glzg24Sp3t0e5q6z2PSaXOaweVuk6gSp3vOJsLdJU636BSF/igUtcRqtT5hM7kAqEqdT6TSl0YYSR8IYNKXUioUhcFXKWUDS9iUKmLAq5SF3i0u9p6L2ZSqYvbQaWuF6hSlzjO5lJdpS4xqNSlPqjU9YQqdQmhM7lUqEpdwqRSl0UYCV/GoFKXEarU5QFXKWXDyxlU6vKAq9SlHu2utt4rmFTqinZQqRsEqtSVjrOZp6vUlQaVmueDSt1AqFJXEjqTeUJV6komlboqwkj4KgaVuopQpa4OuEopG17NoFJXB1yl5nm0u9p6r2FSqWvaQaVuFKhS1zrO5jpdpa41qNR1PqjUjYQqdS2hM7lOqEpdy6RS10cYCV/PoFLXE6rUDQFXKWXDGxhU6oaAq9R1Hu2utt4bmVTqxnZQqZsEqtRNjrO5WVepmwwqdbMPKnUToUrdROhMbhaqUjcxqdQtEUbCtzCo1C2EKnVrwFVK2fBWBpW6NeAqdbNHu6ut9zYmlbqtHVTqZoEqdbvjbO7QVep2g0rd4YNK3UyoUrcTOpM7hKrU7UwqdWeEkfCdDCp1J6FK3RVwlVI2vItBpe4KuErd4dHuauu9m0ml7m4HlbpFoErd4zibe3WVusegUvf6oFK3EKrUPYTO5F6hKnUPk0rdF2EkfB+DSt1HqFL3B1yllA3vZ1Cp+wOuUvd6tLvaeh9gUqkH2kGlbhWoUg86zuYhXaUeNKjUQz6o1K2EKvUgoTN5SKhKPcikUg9HGAk/zKBSDxOq1CMBVyllw0cYVOqRgKvUQx7trrbeR5lU6tF2UKnbBKrUY46zeVxXqccMKvW4Dyp1G6FKPUboTB4XqlKPManUExFGwk8wqNQThCr1ZMBVStnwSQaVejLgKvW4R7urrfcpJpV6qh1U6naBKvW042ye0VXqaYNKPeODSt1OqFJPEzqTZ4Sq1NNMKvVshJHwswwq9SyhSj0XcJVSNnyOQaWeC7hKPePR7mrrfZ5JpZ5vB5W6Q6BKveA4mxd1lXrBoFIv+qBSdxCq1AuEzuRFoSr1ApNKvRRhJPwSg0q9RKhSLwdcpZQNX2ZQqZcDrlIverS72npfYVKpV9pBpe4UqFKvOs7mNV2lXjWo1Gs+qNSdhCr1KqEzeU2oSr3KpFKvRxgJv86gUq8TqtQbAVcpZcM3GFTqjYCr1Gse7a623jeZVOrNdlCpuwSq1FuOs3lbV6m3DCr1tg8qdRehSr1F6EzeFqpSbzGp1DsRRsLvMKjUO4Qq9W7AVUrZ8F0GlXo34Cr1tke7q633f0wq9b92UKm7BarUe46zeV9XqfcMKvW+Dyp1N6FKvUfoTN4XqlLvManUBxFGwh8wqNQHhCr1YcBVStnwQwaV+jDgKvW+R7urrfcjJpX6qB1U6h6BKvWx42w+0VXqY4NKfeKDSt1DqFIfEzqTT4Sq1MdMKvVphJHwpwwq9SmhSn0WcJVSNvyMQaU+C7hKfeLR7mrr/ZxJpT5vB5W6V6BKfeE4my91lfrCoFJf+qBS9xKq1BeEzuRLoSr1BZNKfRVhJPwVg0p9RahSXwdcpZQNv2ZQqa8DrlJferS72nq/YVKpb9pBpe4TqFLfOs7mO12lvjWo1Hc+qNR9hCr1LaEz+U6oSn3LpFLfRxgJf8+gUt8TqtQPAVcpZcMfGFTqh4Cr1Hce7a623h+ZVOrHdlCp+wWq1E+Os/lZV6mfDCr1sw8qdT+hSv1E6Ex+FqpSPzGp1C8RRsK/MKjUL4Qq9WvAVWrB5GVQqV8DrlI/e7S72np/Y1Kp39pBpR4QqFK/O87mD12lfjeo1B8+qNQDhCr1O6Ez+UOoSv3OpFJ/RhgJ/8mgUn8SqtRfAVcpZcO/GFTqr4Cr1B8e7a623r+ZVOrvdlCpBwWq1D+Os5mvq9Q/BpWa74NKPUioUv8QOpP5QlXqHyaV+jfCSPhfBpX6l1ClQtFgq9SCWR2lVyncbqvKjaPd8z3aXW29NVEelVL1uipVF2pypnijVqklJaiUFWNVwBpk2yFOuhP0RRgQAUQBtYDOgDrVR4AugK6AboDugB6AnoAGQC9Ab0AfQF9AP0B/wADAQMAgwGKAxQFLAAYDlgQsBRgCGBoNNVdaRaZOywsb8iKGvKghr9aQ19mQV2fIqzfkdTHkdTXkdTPkdTfk9TDk9TTkNRjyehnyehvy+hjy+hry+hny+hvyBhjyBhryBhnyFjPkLW7IW8KQN9iQt6QhbylD3hBD3tBoy1XdUOfvSOevVd3WzOlU64w7RelWiGGiulQbIyR1/WevaPV1xRx72bXV1pVotL3dubq6LNSPdl01dcWajQm7ftHrsrTxZXdZxLpS5RZj1e66aHVlDOPe7rYodWWMc8ju3va60h7z0e7R1rrSnnPb7tm2umIV/ITd0Ja60hV9jt2r9XUVFuK/7N6trSu9UF9o92ldXVYr/KrdtzV1Wa3y0Xa/hdeVbKW/t/svrK5Eq7XDHlCxrkS5DTpkD6xUV7pNmmYP8q4r00Z9tBfzqCtbbrPW2oub67IWQbftJUx1WYu0BrAHt6zLXsT1hL2kXldxkdcm9lLN64pXsc6xh6C6YuWq1kz2UMIAti1nr6zqtma8q1vrFW3Md+koI2FVuX72qlryS9N1oL0MgVErnb2yqtsW2HAZwrM4rg2XIZ4Efl1XoJu8Rd+uKyzrTLDl9DMbyzodi/OWi/JfV6DzJJa9LOEEWo64c6kHn5o0yxJORrfdywpVpCFk4yhbxHyXjzISXp5ckbLF5QkVaVjAFUnZcBi5ImWLw4Qq0hAy3tmCgS6LIq3gTLAVdUVawaBIK/qgSEMIFWkFwgm0IlPnUjkglydlm1cidGahEL1aLuM4oE7EY5AyFFiZ0JmZbGhVt9mqj1dmWMmsLHQlsxSZ/8nHMd9VooyEVyFfyeTjqxBO/lUDvpJRNlyVfCWTj6/KPPkpHOjKAXegqxHb0N2ohZdyjK9OOPf8XAEvRcY7HzPQZVkBW45jtvUVsGVYAds+rIDpFAiaSjgobabOpZ6IlG2OMa+Areo2WznH1RlWb/GAr1pVv8QFtJtrjMcJx3gi4GPca5FCsfihqitJLNh+RTtLkmlNpoz5pqKMhFPk0U6mnCLswHTAox1lwzR5tJMppwMe7ShHl4wG2xlniJ2xu1G3mXKMZ4VGO0uS8c6UDHRZop01HMc8XI921jBEO8N9iHboFMiy1yAclMOZOpd6IlK2ec2ArwSVc8wyrPpHBDzaUf0yQkC7ucb4CMIxvlbAx7jXIsWqbrMpFylrC722M5hMa2LNnvodGeUkTB7txKyRhJNgVMCjHWXDUeTRTswaFfBoRzm6taPBdsbrCIl2KMf4ukKjncFkvO2ygS5LtLOe45hH69HOeoZoZ7QP0Q6dAln2eoSDcjRT51JPRMo2rx/wlaByjusyrPo3CHi0o/plAwHt5hrjGxCO8Q0DPsa9FilWdZtNuUgZIzTaWYJMa4rNop2xUUbCY8mjnaI1lnASjAt4tKNsOI482ila4wIe7ShHNyYabGe8kZBoh3KMjxca7SxBxrvgW7QzwXHME/VoZ4Ih2pnoQ7RDp0CWPYFwUE5k6lzqiUjZ5o0DvhJUznE8w6p/k4BHO6pfNhHQbq4xvgnhGN804GPca5FiVbfZlIuUzYRGO4uTaU2q2TsxJkUZCU8ij3ZS9iTCSbB5wKMdZcPNyaOdVLN2W1VupnZTOLrNosF2xlsIiXYox/iWQqOdxcl4p3x7l8pWjmOerEc7Wxminck+RDt0CmTZWxEOyslMnUs9ESnbvHXAV4LKOW7JsOrfJuDRjuqXbQS0m2uMb0M4xrcN+Bj3WqRY1W025SJlO6HRzmJ013YymO+UKCPhKfTXdjJTCCfB1IBHO8qGU+mv7WSmBjzaUY5uu2iwnfH2QqIdyjGeExrtLEbGu5g20GWJdvKOYy7o0U7eEO0UfIh26BTIsvOEg7LA1LnUE5GyzcWArwSVc8wxrPpLAY92VL+UBLSba4yXCMd4OeBj3GuRYlW32ZSLlGlCo51BZFqTyGK+06OMhKeTRzuJ7HTCSTAj4NGOsuEM8mgnkZ0R8GhHObpp0WA74x2ERDuUY3xHodHOIDLeiYyBLku0s5PjmHfWo52dDNHOzj5EO3QKZNk7EQ7KnZk6l3oiUrZ5l4CvBJVz3JFh1T8z4NGO6peZAtrNNcZnEo7xXQM+xr0WKVZ1m025SJklNNoZSKY1+WZ3su0WZSS8G3m0k7d3I5wEuwc82lE23J082sk3a7dV5WZqN4WjmxUNtjOeLSTaoRzjewiNdgaS8c77difbno5j3kuPdvY0RDt7+RDt0CmQZe9JOCj3Yupc6olI2ea9A74SVM5xD4ZV/z4Bj3ZUv+wjoN1cY3wfwjG+b8DHuNcixapusykXKfsJjXYG0EU7Bcx3/ygj4f3po53C/oST4ICARzvKhgfQRzuFAwIe7ShHt1802M74QCHRDuUYP0hotDOAbkGcN9BliXbmOI75YD3amWOIdg72IdqhUyDLnkM4KA9m6lzqiUjZ5kMCvhJUzvEghlX/oQGPdlS/HCqg3Vxj/FDCMX5YwMe41yLFqm6zKRcphwuNdvrT3cmWx3znRhkJz6W/ky0/l3ASHBHwaEfZ8Aj6O9nyRwQ82lGO7vBosJ3xkUKiHcoxfpTQaKc/3c1OOQNdlmjnaMcxH6NHO0cbop1jfIh26BTIso8mHJTHMHUu9USkbPOxAV8JKud4FMOq/7iARzuqX44T0G6uMX4c4Rg/PuBj3GuRYlW32ZSLlBOERjv9yLQm0+wN1CdGGQmfSB7tZKwTCSfBSQGPdpQNTyKPdjLWSQGPdpSjOyEabGd8spBoh3KMnyI02ulHxjvt2xuoT3Uc82l6tHOqIdo5zYdoh06BLPtUwkF5GlPnUk9EyjafHvCVoHKOpzCs+s8IeLSj+uUMAe3mGuNnEI7xMwM+xr0WKVZ1m025SDlLaLTTlynaOTvKSPhshmjnbMJJcE7Aox1lw3MYop1zAh7tKEd3VjTYzvhcIdEO5Rg/T2i001dgtHO+45gv0KOd8w3RzgU+RDt0CmTZ5xMOyguERDuUbb4w4CtB5RzPY1j1XxTwaEf1y0UC2s01xi8iHOMXB3yMey1SrOo2m3KRconQaKcPmdbkmr2T7dIoI+FLyaOdXPZSwklwWcCjHWXDy8ijnVz2soBHO8rRXRINtjO+XEi0QznGrxAa7fQh453z7Z1sVzqOeZ4e7VxpiHbm+RDt0CmQZV9JOCjnMXUu9USkbPNVAV8JKud4BcOq/+qARzuqX64W0G6uMX414Ri/JuBj3GuRYlW32ZSLlGuFRju96aKdBOZ7XZSR8HX00U7iOsJJcH3Aox1lw+vpo53E9QGPdpSjuzYabGd8g5Boh3KM3yg02ulNtyCOG+iyRDs3OY75Zj3auckQ7dzsQ7RDp0CWfRPhoLyZqXOpJyJlm28J+EpQOccbGVb9twY82lH9cquAdnON8VsJx/htAR/jXosUq7rNplyk3C402ulFpjXFZtd27ogyEr6DPNopZu8gnAR3BjzaUTa8kzzaKWbvDHi0oxzd7dFgO+O7hEQ7lGP8bqHRTi8y3kXfru3c4zjme/Vo5x5DtHOvD9EOnQJZ9j2Eg/Jeps6lnoiUbb4v4CtB5RzvZlj13x/waEf1y/0C2s01xu8nHOMPBHyMey1SrOo2m3KR8qDQaKeBTGsKJcz3oSgj4YfIo51C6SHCSfBwwKMdZcOHyaOdQunhgEc7ytE9GA22M35ESLRDOcYfFRrtNJDxLhQNdFmincccx/y4Hu08Zoh2Hvch2qFTIMt+jHBQPs7UudQTkbLNTwR8Jaic46MMq/4nAx7tqH55UkC7ucb4k4Rj/KmAj3GvRYpV3WZTLlKeFhrt9CTTGrvZtZ1nooyEnyGPduzsM4ST4NmARzvKhs+SRzt29tmARzvK0T0dDbYzfk5ItEM5xp8XGu30JONt+3Zt5wXHMb+oRzsvGKKdF32IdugUyLJfIByULzJ1LvVEpGzzSwFfCSrn+DzDqv/lgEc7ql9eFtBurjH+MuEYfyXgY9xrkWJVt9mUi5RXhUY7Pci0Jt8s2nktykj4NfJoJ599jXASvB7waEfZ8HXyaCeffT3g0Y5ydK9Gg+2M3xAS7VCO8TeFRjs9yHjnfYt23nIc89t6tPOWIdp524doh06BLPstwkH5NlPnUk9Eyja/E/CVoHKObzKs+t8NeLSj+uVdAe3mGuPvEo7x/wV8jHstUqzqNptykfKe0GinO5nWZDKY7/tRRsLvk0c7mcz7hJPgg4BHO8qGH5BHO5nMBwGPdpSjey8abGf8oZBoh3KMfyQ02ulOxjuTNtBliXY+dhzzJ3q087Eh2vnEh2iHToEs+2PCQfkJU+dST0TKNn8a8JWgco4fMaz6Pwt4tKP65TMB7eYa458RjvHPAz7GvRYpVnWbTblI+UJotNONTGsSzaKdL6OMhL8kj3YSmS8JJ8FXAY92lA2/Io92EpmvAh7tKEf3RTTYzvhrIdEO5Rj/Rmi0042Md8K3aOdbxzF/p0c73xqine98iHboFMiyvyUclN8xdS71RKRs8/cBXwkq5/gNw6r/h4BHO6pffhDQbq4x/gPhGP8x4GPca5FiVbfZlIuUn4RGO13JtCZrY74/RxkJ/0we7WTtnwknwS8Bj3aUDX8hj3ayzdptVbmZ2k3h6H6KBtsZ/yok2qEc478JjXa6kvHOWga6LNHO745j/kOPdn43RDt/+BDt0CmQZf9OOCj/YOpc6olI2eY/A74SVM7xN4ZV/18Bj3ZUv/wloN1cY/wvwjH+d8DHuNcixapusykXKf8IjXa6kGlN2sJ850cZCc8nj3bS1nzCSfBvwKMdZcN/yaOdtPVvwKMd5ej+iQbbGauZT9XPIbRRt5lyjNcQttnPaKcL2XhPlQ10WaKdTrX//Q27CuNGNmqHHu2oQtzRDp0CWXanWrpBGa7l6VzqiUjZ5gix86GecMo51tTSC0O0lle4rOo2W/VLVEC7ucZ4lHCM1wZ8jHstUqzqNptykdKZcNz4Ge3Uk2lNvtkbqOtqGQmrymmjnXypjnAS1BNOTi4b1tdSRzv5Uj2zaFA4us61wXbGXYREO5RjvKvQaKeeLNrJ+/YG6m6OY+6uRzvdDNFOdx+inXrCaKcb4aDsXsvTudQTkbLNPQK+ElTOsSvDqr9nwKMd1S89BbSba4z3JBzjDQEf416LFKu6zaZcpPQSGu3UkWlNrNm1nd61jIR7k0c7Mas34SToE/BoR9mwD3m0E7P6BDzaUY6uV22wnXFfIdEO5RjvJzTaqSOLduyygS5LtNPfccwD9GinvyHaGeBDtFNHGO30JxyUA2p5Opd6IlK2eWDAV4LKOfZjWPUPCni0o/plkIB2c43xQYRjfLGAj3GvRYpV3WZTLlIWFxrtdKbTmgLmu0QtI+ElyKMdq7AE4SQYHPBoR9lwMHm0YxUGBzzaUY5u8dpgO+MlhUQ7lGN8KaHRTme6OzfzBros0c4QxzEP1aOdIYZoZ6gP0Q6hAtlDCAfl0FqezqWeiJRtXjrgK0HlHJdiWPUvE/BoR/XLMgLazTXGlyEc48sGfIx7LVKs6jabcpGynNBop5ZMa1LN7mRbvpaR8PLk0U6qtDzhJBgW8GhH2XAYebSTKg0LeLSjHN1ytcF2xisIiXYox/iKQqOdWrrndny7k20lxzGvrEc7KxminZV9iHZqCaOdlQgH5cq1PJ1LPREp27xKwFeCyjmuyLDqXzXg0Y7ql1UFtJtrjK9KOMZXC/gY91qkWNVtNuUiZXWh0U6UTGvsZu9ks2oZCVvk0Y5tW4STwA54tKNsaJNHO3azdltVbqZ2Uzi61WuD7YxjQqIdyjEeFxrtROnuZPPtnWwJxzEn9WgnYYh2kj5EO1HCaCdBOCiTtTydSz0RKducCvhKUDnHOMOqPx3waEf1S1pAu7nGeJpwjGcCPsa9FilWdZtNuUjJCo12IoSv0cJ816hlJLxGLX29wwMeoah2D69tMjBRvSxRhXIo2dpgO701hUQVlONyBLOjp+iTEQxj3E+HGmZyqGvVMhJei8Ghrh1wh6ravXaHQyWra6QQh0o5LkcF3KGqPhkl3KF2onz5J+K5Ti0j4XUYJus6hINt3YA7Z2XDdRnC+3UDfj5egqNfT4ijpxzjowN+ikT1yWiG+bJ+wE8DKj+xPtMijmtcrk84LjcI+Lj08mdWdZtN6c82DPgYV328IUOARjkO1YIwHGq6FLbg0ahQ842a/1CGz6dQcxwigONSAjguKYDjYAEclxDAcXEBHBcTwHGQAI4DBXAcIIBjfwEc+wng2FcAxz4COPYWwLGXAI4NAjj2FMCxhwCO3QVw7CaAY1cBHLsI4FgvgGOdAI6dBXCsFcAxKoBjRADHsACOnRg44o2m7hhj3U3PKCjbNjjpMXDOdixgHGAjwHjABMBEwMaATQCbAjYDTAJsDtgCsCVgK+c6yWT9OQdV6RAtb6whb5whbyND3nhD3gRD3kRD3saGvMm1LU8mUz9zQXai1rasoYR3LGxNeHEC23Rrg01JL9LYzblXa4dtmOywjQ9ji/AEu70NoU23ZbLptj6MrW0J7bAdkx2282FsEV4YsbcjtOkUJptO4R5bYIcxAbUD5zhaglD/BhPq31SmcTTVBx81lXAcbc9kh+198FGEF/Ts7QltmmOyac6HsZUjtEOeyQ55H8YW4YVYO09o0wKTTQs+6N/YgNqBcxwNJNS/QYT6V2QaR0UffFSRcByVmOxQ8sFHEd5AYJcIbVpmsmnZh7FVJrTDNCY7TPNhbBHe+GFPI7TpdCabTvdB/8YF1A6c46gvof71I9S/GUzjaIYPPmoG4TjagckOO/jgowhvWLJ3ILTpjkw23dGHsbUjoR12YrLDTj6MLcIbzeydCG26M5NNd/ZB/zYKqB04x1EDof71ItS/XZjG0S4++KhdCMfRTCY7zPTBRxHeIGnPJLTprkw23dWHsbUroR1mMdlhlg9ji/DGVnsWoU13Y7Lpbj7o3/iA2oFzHHUj1L/uhPq3O9M42t0HH7U74TiazWSH2T74KMIbsu3ZhDbdg8mme/gwtvYgtMOeTHbY04exRXgjvb0noU33YrLpXj7o34SA2oFzHNUR6l89of7tzTSO9vbBR+1NOI72YbLDPj74KMIHQOx9CG26L5NN9/VhbO1LaIf9mOywnw9ji/DBHXs/Qpvuz2TT/X3Qv4kBtQPnOIoQ6l+UUP8OYBpHB/jgow4gHEcHMtnhQB98FOEDZ/aBhDY9iMmmB/kwtg4itMMcJjvM8WFsET4oaM8htOnBTDY92Af92zigdsBtriFu8yZCeG4qhOdmQnhOEsJzcyE8txDCc0shPLci5Kle0um+qNPl2hBqvlHzH8NgZ2qOYwVwHCeA40YCOI4XwHGCAI4TBXDcmMnHU3DMMNXLxbej3v9b9dLVHbMZ6278YgteqxwC8/pQwGGAwwFzAUcAjgQcBTgacAzgWMBxgOMBJwBOBJxUG2r+cplDalu+cOZQQ95hhrzDDXlzDXlHGPKONOQdZcg70ZB3kpPn55edj64N+GC0//uDbXFy7X9/T9E7Xe3g/orz0QRnUUr/nUaxTyY8I3OKkMhHCs9jhPA8VgjP44TwPF4IzxOE8KTwl2mnLsxTPzterf8kPKNhH8LUN9RtJjxDYh8qpM2EZ1zsw4S0mfAMjn24kDYTnhGy5wppM+EZJvsIIW0mPGNlHymkzYRnwOyjfGqztWib7SZOJIyVTmW6io/rJbaDu9knEfb9qSSxrNqar81qiMf76QRtNp2ZpeZ5BgHPVM7KllKpNCfPMwl45vOpdK6USXLyPIuAZ7yQKpXj6Rgnz7MJeOaSiXI5Gc9x8jyHgGfStkrJWLrMyfNcAp7ZvJVMZTIFTp7nEfC0y5l4MZvLc/I8n6Lf8yWrULSzilufUMs3zOM3y+M3yuM3yeM3yOM3x+M3xuM3xZ+O0j3Di57GJ9tPQukzUPpMlD4Lpc9G6XNQ+lyUPg+lz3fSF8DfCwEXAS4GXAK4FHAZ4PLa/07yq3PV4VDLjfoczAVBP8n/35Zgq9u2ml1xijjpK8AuVwLmAa7SLyZc4VxMwHlXGvLmGfKuqm15ISJKa6xmnVqtg7iCcCF4JVFdqo3zCC+2XEV8y5Vfk/fCjslrnLxXg12uAVwLuE6fvFcbJuU1hrxrDXnX+TB5LyScvFcTTt5rCCfvtYST9zqhk/eijslrnLzXg11uANwIuEmfvNcbJuUNhrwbDXk3+TB5LyKcvNcTTt4bCCfvjYST9yahk/fijslrnLw3g11uAdwKuE2fvDcbJuUthrxbDXm3+TB5LyacvDcTTt5bCCfvrYST9zahk/eSjslrnLy3g13uANwJuEufvLcbJuUdhrw7DXl3+TB5LyGcvLcTTt47CCfvnYST9y6hk/fSjslrnLx3g13uAdwLuE+fvHcbJuU9hrx7DXn3+TB5LyWcvHcTTt57CCfvvYST9z6hk/eyjslrnLz3g10eADwIeEifvPcbJuUDhrwHDXkP+TB5LyOcvPcTTt4HCCfvg4ST9yGhk/fyjslrnLwPg10eATwKeEyfvA8bJuUjhrxHDXmP+TB5LyecvA8TTt5HCCfvo4ST9zHCSaD62B0vS4eb+n8ZlF4WpZdD6eVRehhKr4DSK6L0Sii9MkqvgtKrovRqKL06SlsobaN0DKXjKJ1A6SRKp1A6jdIZlM6i9BooPRyl10TpESi9FkqvjdIjUXoUSq+D0uui9HooPRql10fpDVB6Q5Qeg9JjUXocSm+E0uNRegJKT0TpjVF6E5TeFKU3Q+lJKL05Sm+B0lui9FYoPRmlt0bpbVB6W5TeDqWnoPRUlN4epXMo/TBKP4HSz6L0Syj9Okq/g9IfoPSnKP0VSn+P0r+g9J8o/S9KRyJN6XqU7oHSfVB6IEoPRumlUXoYSq+C0jZKp1B6OEqPROnRKD0WpSei9CSUnozSU1C6gNLTUXpnlN4NpfdC6f1R+mCUnovSx6D0iSh9GkqfjdIXoPSlKD0Ppa9D6ZtR+g6UvhelH0Lpx1H6GZR+EaVfQ+m3Ufp9lP4Epb9E6e9Q+meU/gOl56P0VUj/8W0j+LYSfNvJdSiNr1TjK9n4SvdNKI0vjuGLZ/ji2m0ojc/H4/P1+Hz+XSiNTwHiU4T4FOJ9KI3POuCzEvisxUMojQMdHAjhQOkxlMZrK7z2ctdmjysRRluN83ek89eqbrMfJ1xjqUWnWgN2CnlvVLxrkC2oj5FIF3OFYjpurJz6oQhKo6wY4omCqNtcQ9jmlYS0uRNhm1dmajO1c1mFeJ549Y1V3WavSsizV1hG36yG6oolc8lCKZkupOOZQq4Uz+Tj6WIqkcukSvl40bKKyXy5ZMVzpZSdisfiuXgxG7eyiWQplypZ2ViOk+fqIRn2tITwtIXwjBHzpPYZs2Ce7xGm8xuqrgPC9DzjITqOs8L+aK1V3WYnCNvcT4g/T4Zk8EwJ4ZkWwjMjhGdWCM81hPAcLoTnmkJ4jhDCcy0hPNcWwnOkEJ6jhPBcRwjPdYXwXE8Iz9FCeK4vhOcGQnhuKITnGCE8xwrhOU4Iz42E8BwvhOcEITwnCuG5sRCemwjhuakQnpsJ4TlJCM/NhfDcQgjPLYXw3EoIz8lCeG4thOc2QnhuK4TndkJ4ThHCc6oQntsL4ZkTwjMvhGdBCM+iEJ4lITzLQnhOE8JzuhCeM4Tw3EEIzx2F8NxJCM+dhfDcRQjPmUJ47iqE5ywhPHcTwnN3ITxnC+G5hxCeewrhuZcQnnsL4bmPEJ77CuG5nxCe+wvheYAQngcK4XmQEJ5zhPA8WAjPQ4TwPFQIz8OE8DxcCM+5QngeIYTnkUJ4HiWE59FCeB4jhOexQngeJ4Tn8UJ4niCE54lCeJ4khOfJQnieIoTnqUJ4niaE5+lCeJ4hhOeZQnieJYTn2UJ4niOE57lCeJ4nhOf5QnheIITnhUJ4XiSE58VCeF4ihOelQnheJoTn5UJ4XiGE55VCeM4TwvMqITyvFsLzGiE8rxXC8zohPK8XwvMGITxvFMLzJiE8bxbC8xYhPG8VwvM2ITxvF8LzDiE87xTC8y4hPO8WwvMeITzvFcLzPiE87xfC8wEhPB8UwvMhITwfFsLzESE8HxXC8zEhPB8XwvMJITyfFMLzKSE8nxbC8xkhPJ8VwvM5ITyfF8LzBSE8XxTC8yUhPF8WwvMVITxfFcLzNSE8XxfC8w0hPN8UwvMtITzfFsLzHSE83xXC839CeL4nhOf7Qnh+IITnh0J4fiSE58dCeH4ihOenQnh+JoTn50J4fiGE55dCeH4lhOfXQnh+I4Tnt0J4fieE5/dCeP4ghOePQnj+JITnz0J4/iKE569CeP4mhOfvQnj+IYTnn0J4/iWE599CeP4jhOd8ITz/FcJTVSiBZ40Qnp2E8AwL4RkRwjMqhGetEJ6dhfCsE8KzXgjPLkJ4dhXCs5sQnt2F8OwhhGdPITwbhPDsJYRnbyE8+wjh2VcIz35CePYXwnOAEJ4DhfAcJITnYkJ4Li6E5xJCeA4WwnNJITyXEsJziBCeQ4XwXFoIz2WE8FxWCM/lhPBcXgjPYUJ4riCE54pCeK4khOfKQniuIoTnqkJ4riaE5+pCeFpCeNpCeMaE8IwL4ZkQwjMphGdKCM+0EJ4ZITyzQniuIYTncCE81xTCc4QQnmsJ4bm2EJ4jhfAcJYTnOkJ4riuE53pCeI4WwnN9ITw3EMJzQyE8xwjhOVYIz3FCeG4khOd4ITwnCOE5UQjPjYXw3EQIz02F8NxMCM9JQnhuLoTnFkJ4bimE51ZCeE4WwnNrITy3EcJzWyE8txPCc4oQnlOF8NxeCM+cEJ55ITwLQngWhfAsCeFZFsJzmhCe04XwnCGE5w5CeO4ohOdOQnjuLITnLkJ4zhTCc1chPGcJ4bmbEJ67C+E5WwjPPYTw3FMIz72E8NxbCM99hPDcVwjP/YTw3F8IzwOE8DxQCM+DhPCcI4TnwUJ4HiKE56FCeB4mhOfhQnjOFcLzCCE8jxTC8yghPI8WwvMYITyPFcLzOCE8jxfC8wQhPE8UwvMkITxPFsLzFCE8TxXC8zQhPE8XwvMMITzPFMLzLCE8zxbC8xwhPM8VwvM8ITzPF8LzAiE8LxTC8yIhPC8WwvMSITwvFcLzMiE8LxfC8wohPK8UwnOeEJ5XCeF5tRCe1wjhea0QntcJ4Xm9EJ43COF5oxCeNwnhebMQnrcI4XmrEJ63CeF5uxCedwjheacQnncJ4Xm3EJ73COF5rxCe9wnheb8Qng8I4fmgEJ4PCeH5sBCejwjh+agQno8J4fm4EJ5PCOH5pBCeTwnh+bQQns8I4fmsEJ7PCeH5vBCeLwjh+aIQni8J4fmyEJ6vCOH5qhCerwnh+boQnm8I4fmmEJ5vCeH5thCe7wjh+a4Qnv8TwvM9ITzfF8LzAyE8PxTC8yMhPD8WwvMTITw/FcLzMyE8PxfC8wshPL8UwvMrITy/FsLzGyE8vxXC8zshPL8XwvMHITx/FMLzJyE8fxbC8xchPH8VwvM3ITx/F8LzDyE8/xTC8y8hPP8WwvMfITznC+H5rxCeoU4yeNYI4dlJCM+wEJ4RITyjQnjWCuHZWQjPOiE864Xw7CKEZ1chPLsJ4dldCM8eQnj2FMKzQQjPXkJ49hbCs48Qnn2F8OwnhGd/ITwHCOE5UAjPQUJ4LiaE5+JCeC4hhOdgITyXFMJzKSE8hwjhOVQIz6WF8FxGCM9lhfBcTgjP5YXwHCaE5wpCeK4ohOdKQniuLITnKkJ4riqE52pCeK4uhKclhKcthGdMCM+4EJ4JITyTQnimhPBMC+GZEcIzK4TnGkJ4DhfCc00hPEcI4bmWEJ5rC+E5UgjPUUJ4riOE57pCeK4nhOdoITzXF8JzAyE8NxTCc4wQnmOF8BwnhOdGQniOF8JzghCeE4Xw3FgIz02E8NxUCM/NhPCcJITn5kJ4biGE55ZCeG4lhOdkITy3FsJzGyE8txXCczshPKcI4TlVCM/thfDMCeGZF8KzIIRnUQjPkhCeZSE8pwnhOV0IzxlCeO4ghOeOQnjuJITnzkJ47iKE50whPHcVwnOWEJ67CeG5uxCes4Xw3EMIzz2F8NxLCM+9hfDcRwjPfYXw3E8Iz/2F8DxACM8DhfA8SAjPOUJ4HiyE5yFCeB4qhOdhQngeLoTnXCE8jxDC80ghPI8SwvNoITyPEcLzWCE8jxPC83ghPE8QwvNEITxPEsLzZCE8TxHC81QhPE8TwvN0ITzPEMLzTCE8zxLC82whPM8RwvNcITzPE8LzfCE8LxDC80IhPC8SwvNiITwvEcLzUiE8LxPC83IhPK8QwvNKITznCeF5lRCeVwvheY0QntcK4XmdEJ7XC+F5gxCeNwrheZMQnjcL4XmLEJ63CuF5mxCetwvheYcQnncK4XmXEJ53C+F5jxCe9wrheZ8QnvcL4fmAEJ4PCuH5kBCeDwvh+YgQno8K4fmYEJ6PC+H5hBCeTwrh+ZQQnk8L4fmMEJ7PCuH5nBCezwvh+YIQni8K4fmSEJ4vC+H5ihCerwrh+ZoQnq8L4fmGEJ5vCuH5lhCebwvh+Y4Qnu8K4fk/ITzfE8LzfSE8PxDC80MhPD8SwvNjITw/EcLzUyE8PxPC83Mmnp00nnErlUiU0rGSHbdzViybzyStRDKfytgZO5lJFmOZeLyUSWTS2Xw2bWXtRLxkl5PZeNmpexhhm7/wqc1WdZv9ZSc6+x0cltHPEUL7fSVkbEcJ2/y1kDbXErb5GyFt7kzY5m+FtLmOsM3fCWlzPWGbvxfS5i6Ebf5BSJu7Erb5RyFt7kbY5p+EtLk7YZt/FtLmHoRt/kVIm3sStvlXIW1uIGzzb0La3Iuwzb8LaXNvwjb/IaTNfQjb/KeQNvclbPNfQtrcj7DNfwtpc3/CNv8jpM0DCNs8X0ibBxK2+V8hbR5E2OaQkPOeixG2uUZImxcnbHMnIW1egrDNYSFtHkzY5oiQNi9J2OaokDYvRdjmWiFtHkLY5s5C2jyUsM11Qtq8NGGb64W0eRnCNncR0uZlCdvcVUiblyNsczchbV6esM3dCdsMVS24x+cTp8ErAlYCrAxYBbAqYDXA6upYABsQU/YAJABJQAqQBmQAWcAagOGANQEjAGsB1nbaPwqwDmBdwHqA0YD1ARsANgSMAYwFjANsBBgPmACYCNgYsAlgU8BmgEmAzQFbALYEbAWYDNgasA1gW8B2gCmAqYDtATlAHlAAFAElQBkwDTAdMAOwA2BHwE6AnQG7AGYCdgXMAuwG2B0wG7AHYE/AXoC9AfsA9gXsB9gfcADgQMBBgDmAgwGHAA4FHAY4HDAXcATgSMBRgKMBxwCOBRwHOB5wAuBEwEmAkwGnAE4FnAY4HXAG4EzAWYCzAecAzgWcBzgfcAHgQsBFgIsBlwAuBVwGuBxwBeBKwDzAVYCrAdcArgVcB7gecAPgRsBNgJsBtwBuBdwGuB1wB+BOwF2AuwH3AO4F3Ae4H/AA4EHAQ4CHAY8AHgU8Bngc8ATgScBTgKcBzwCeBTwHeB7wAuBFwEuAlwGvAF4FvAZ4HfAG4E3AW4C3Ae8A3gX8D/Ae4H3AB4APAR8BPgZ8AvgU8Bngc8AXgC8BXwG+BnwD+BbwHeB7wA+AHwE/AX4G/AL4FfAb4HfAH4A/AX8B/gb8A5gP+BegJloNoBMgDIgAooBaQGdAHaAe0AXQFdAN0B3QA9AT0ADoBegN6APoC+gH6A8YABgIGARYDLA4YAnAYMCSgKUAQwBDAUsDlgEsC1gOsDxgGGAFwIqAlQArA1YBrApYDbA6wALYgBggDkgAkoAUIA3IALKANQDDAWsCRgDWAqwNGAkYBVgHsC5gPcBowPqADQAbAsYAxgLGATYCjAdMAEwEbAzYBLApYDPAJMDmgC0AWwK2AkwGbA3YBrAtYDvAFMBUwPaAHCAPKACKgBKgDJgGmA6YAdgBsCNgJ8DOgF0AMwG7AmYBdgPsDpgN2AOwJ2AvwN6AfQD7AvYD7A84AHAg4CDAHMDBgEMAhwIOAxwOmAs4AnAk4CjA0YBjAMcCjgMcDzgBcCLgJMDJgFMApwJOA5wOOANwJuAswNmAcwDnAs4DnA+4AHAh4CLAxYBLAJcCLgNcDrgCcCVgHuAqwNWAawDXAq4DXA+4AXAj4CbAzYBbALcCbgPcDrgDcCfgLsDdgHsA9wLuA9wPeADwIOAhwMOARwCPAh4DPA54AvAk4CnA04BnAM8CngM8D3gB8CLgJcDLgFcArwJeA7wOeAPwJuAtwNuAdwDvAv4HeA/wPuADwIeAjwAfAz4BfAr4DPA54AvAl4CvAF8DvgF8C/gO8D3gB8CPgJ8APwN+AfwK+A3wO+APwJ+AvwB/A/4BzAf8C1CLihpAJ0AYEAFEAbWAzoA6QD2gC6AroBugO6AHoCegAdAL0BvQB9AX0A/QHzAAMBAwCLAYYHHAEoDBgCUBSwGGAIYClgYsA1gWsBxgecAwwAqAFQErAVYGrAJYFbAaYHWABbABMUAckAAkASlAGpABZAFrAIYD1gSMAKwFWBswEjAKsA5gXcB6gNGA9QEbADYEjAGMBYwDbAQYD5gAmAjYGLAJYFPAZoBJgM0BWwC2BGwFmAzYGrANYFvAdoApgKmA7QE5QB5QABQBJUAZMA0wHTADsANAfa9efQtefWddfcNcfR9cfXtbfddafTNafY9ZfetYfUdYfaNXff9WfVtWfbdVfRNVfW9UfctTfSdTfYNSfd9xDkB9l1B98099T099q059B059Y019v0x9G0x9d0t900p9L0p9i0l950h9Q0h9n0d9+0Z9V0Z9s0V9D0V9a0R9x0N9I0N9f0J920F9N0F9k0C971+9S1+9p169A169X/1CgHovuHrntnqftXpXtHoPs3rHsXp/sHo3r3rvrXqnrHpfq3oXqnrPqHqHp3o/pnr3pHqvo3pnonofoXrXn3qPnnpHnXr/m3q3mnpvmXonmHrflnqXlXpPlHoHk3q/0QMA9V4e9c4b9T4Z9a4W9R4U9Y4R9f4O9W4M9d4J9U4H9b4E9S4C9Zy/eoZePZ+unv1Wz1WrZ5bV88DqWVv1HKt6RlQ9f6mebVTPDapn8tTzbupZMvWclnoGSj1f9D5APRejnjlRz3OoZyXUulfd46/un1f3pqt7tdV90OpeXnVvq7rXU937qO4FVPfGqXvF1L1T6l4idW+NutdE3Xuh7kVQ1+bVtWp17VZdy1TX9tS1LnXtR10LUdcG1Llyde5YnUtV5xbVuTZ17kmdi1HnJlSsrmJXFcup2Eat9Tv9t3QIqXuV1bZiqGlz3IqqesF+dW+vutdV3fup7oVU9waqe+XUvWPqXip1b5G610bde6LuxVD3Jqhr9eratbqWq65tqmt96tqXuhakro2oawXq3Lk6l6zOrapzjerc2xDAUMDSABW7q1hWxXYq1lH3z68QarmtjtK9nL/9Ph41aNZTV4zG5Xo7fx9L7nrQzKHNdi1Y26vt/Un1V9w0f9JUvG9b5+9vvetGvL71VQPwvlkVjndIxHvfYc6+p099/rErj8wV8b65FX53ZIXfHV3hd8dV2HdChTpPqvC7Uyr87rQKvzuzwr6zK9R5boXfnV/hdxdW+N0lFfZdVqHOKyr8bl6F311d4XfXVdh3Q4U6b6rwu1sq/O62Cr+7s8K+uyvUeW+F391f4XcPVvjdIxX2PVahzicq/O6pCr97psLvnq+w78UKdb5c4XevVvjd6xV+92+F360Z/e/v7SMvunjFq45bz82vd/4qHcf/d/67wPcrvz/S+b9V3WbXo3qp689YuUR9qPlGzD9eH2rSQy77uHUy1L/geQ21TZnTVL/eFrV1d/5fg2zp/kZp/lKhpvRw9PsaJ8/dwoZ63OO5ba1naGvGSpbd+rsw1G9ZsQX3UC9o45ym+uuQ/dQWQfvqtX1RtK8LsudmnRZuz06+2zMt3p5uuQvmNOeP912I9kW0fRehfVFt38VoX6227xK0z51/9Vr7uMY+x1iw4KpEHwP/etQ2ta07J9S4VXvcRLqYKxTTcbfu9eZwtCtWcOsfzVN/ya1//eptY+sZbt0bsHBPNNa/IUv98Yxb/xiW+q3GsTMW1V8Tol/bjOPh37i22Yilfruxf8fz8G8c+xNQ/QTPRjfOA7f+iaj+EB3/xvo3durHdcetRCxVSiVypVLcKmWzmYIdL2QKpVKhmIvn0mnQz2K+lCsmY/lCrBzPl61SrpRJ2vlEPm1bhcaxs4mhbhuuBydTOSuVKaesuBWLxxJWIZvKJ4q5ZCKdSKWg6ng+k7btQjJmF9KJTMyO5exkvmDFE6Vcyq17U0PdsUwsWUhnC4VULlnI50ulcrqYymXKdj6Vs2P5OFSUi8cziYSVK5VL+UQ8m7ITmUIGrj6nC1Yi69a9mYk3XMIuF23FMp+2UrFiKp9UF7hL8VQ+a6XjqXjSKqfK+Zxlx2KZQgKox6xsNmlly8m0ZTeOl0mGuq1SMW+XYtl4IV4oZe18GciUIJnLJa1irJBM2OVctggXyaFOoG3FS+W8XSjnYoV8PJ78by2jts1NvOMJu5hKJ8s5sHapUIpDB0DPxQu5eALaE8/b2XyqlE2nYlYilYa8BJgkligkwHLFUjzp1r2FkbdVzBVjsaSVzMTLsVy2bOUKeeBeLBXLNrQaLvrnrTi0K1dKJ+NlsJadyGcyuXLGLuSTMbfuLU11Z9PxPGhYspDLFeLxbKmUANrFXD5px2PZbMwqp/MLOtaCSiG7lCyWU2lw7Pm4ZWVTjXVvZagbxmw8EStlYRpDTwGfWCYbt3O5UiqTTUNfZsrFQgpYFqFPbKtYSufjMatgwTiFhV0mXXTrnmyyd76cTWbg93GwRLaYzMbiFgz0nBVLZWGSpIqpcjaWyMJwjyUSUHs8aZehS2LFMjSpYDXqxtYmmyRgbMVhsOZTGSsDY6OQiZUyuWQyl03GiglVRSyZKpesZDZezCaykA3jMGdZ0C9grMa+3MZUdy6jRlfKKlrwTzlZzMDCKJEtJjJlcAeJogVTxcpnM6Vi2k7nsvlkPJYrp+Iw25NxK51tnPPbOnWT+lu7yV9tZ+K+0F9X3tS5XrX2m4LOG+ixJKG2Wt1Dzdfr7jHwsSMhBjtaMbtGO14o1Dw+D2nH7xJijeHtGu14Lh/dPnpcGOWxj1Wj1Y/5RA32cfuy1rDPrcuNk6KoLlw+itqIy+O0+3ucN87522CoUx+7taGW7cF5bnmV556I6xkyj0Vcr6nfIoZ6Gwy/d8vVG3430vlrVbnxjpemuYxtqc/lzjzHzrZ2LrvH7xJqOU445nJnjY/XWHNtV2fg2qDtUxteC3udS6ozHKchZD4/EcS6Ih11takufO5KH3v6POQ4PwXDPtPaeegev0uI1S/Yleza2WBX3vNrdrpGqx/zqTfYx+3LLoZ9bl1dnf9jTcXl8bUfXB6n3d/jvN2dvw2GOvVx2yXUsj04D2vqzlrbsNbVePx169Xz3Hq7hMz6PNL5v1XdVnEcmTS+Z4h+ruPf6+MD/65aG/L4hiYb1rey3T1DLeeFbsNK8wjXZbJhfYXj1FZ5nFrDcbobfreofdVQgXM3lL/7PrsUJsycXdo9tJCtp4E4dsp4n0tOz9PJdTaQqzcch9LB8l7MahrEXQ22MDkCt3y3Npbv3sbyPQzl6yqU79nG+hvaWL5XG8v3bmP5Pm0s39dQ3rQAcCdpP7RPXzz1R/ntsXhyj99F48o11vuHWtqun8F2aoy7Y25aafYCv4N547oGGNqF243L4LGnl6sJtezrrlo9pjmI87t75PfwyO/pkd/gkd/LI7+3R36fUMsN+zT3/1GtjHsBzN2vi5g7B0x21TmY7Mz5/5CPx6Lg6s41U7pGy680tl3dxWO4n1ZXJ/S7SjeKNBh+r88N00kq01x2y5s0Hy+iohXaUav9zuukXNijbtOx8e/0xX4lzpXaWOkkDZ53ppOAnbV9+romtBBeldZP+Pe1HnXhoA+f2NMDWqYb25LMJ/ZivCcsrJRbPw6KQ3T1N974142HfzqqjYdbnL/q/8fXNB8zpjVipXlhWiP2QGX0sd8d7evZiroqHdu03sR1uDeT9DTwatB+14D24XJhQ91ex+7h0bbwQjhXaqNpjYzrGKe1ER+3VyvqqnRs03ob16kH4diGvVtRV6Vjm9buuM467diYV59W1FXp2KY4ANfZTTs25uX+tt7wO8I5nXG5tnbd7ZYfYCiPY5U+Wtv6on36ekRvGz6OyeZ9DLxMOuaW6274XY3H31Ao1KqTISbObnv6hbzb08/Qnn6tbE8/rT39CNtj4swcg6bddjR7+klr40B0bOyT9C2s/R/zVnO8qN3AGzLUpd8ggI9v8ot635p0B+dV6lu3XL3HcUY6/7eq2uyy6cK5u5ZTeZ9qbXJt6HURvSfaj8tnOjXV+UWouQ3x7/to7R7A0+6MPp7w5u4bhI6NNUjfTGPN5a3G2m5tGGt4buHjL8zHqk33yQMN5bE93b4y6exAxGvB7+c07cPnU9UWQfsob5JRtpvTyWwftUXn+GOfhlBL39Og7cP+vz+yj25XwjGcMtnE3bob2oPXMvpmGsMu77b6SzyfdW3HttDjStMaFudVutDRoHHAvhT7s7oa8zGxPzP54ahWfjDyZ11rmrfRpNFBGwt4balvCxsLu1U5Flzbm+IG0zmJGo0zLo/HdCV/1hvxWvD7OU378PpGbRFt30gn36pqM/sz3F7dn3HZpyHUcgzo/gyv/9xjmsa3vq7nXg+ZjlNb5XFqW3mc/2vt0S9C674Jc2irb8a/b6hwHA4N+L/WHpPPwvGB2iJoH+H5gKzJZ2H+rfFZpva21mdFNftgn9UV2UD/Hcc5EffYXjc79UL7cfl1HWFUtjxd007cpw2oPWqLzGFpj7FPsT9pTZ+a/E9r+9S1malP9XMNPOulpj7FfaZfm8fHj2rlJ7SyT9tznuJ1nN6nJr+Ey7flfDG2WUOoZX/r99/wnMto6lN9Ta82/ACo15p+civ71J/1orlPK60XTeuESuvF1l7naAi17G/9fHR79Cl+KNarT4ut7FN/zmm0fZ6a+rTSPF1Yn7o2M/Wp/iAI0wMKGb1t2PearuFHtfIzBcxTfK+D3qeV7msIhVp3LdR0P0NDqOVc7I5s4EefNr44A3HF18/1PnXL79vKPsVjVG2ROSztafM8NfVppXlquscS941rswatvPt71wbYJlx9arrfA99TEEH7cfnDBcxT15YL+M9pbmPT/Uq4fFvvV3JtZor1emj76rW6Q6Hm91X01PaZfkPNX7/fCsfE/txj3TQm3bZ6xWK6n3HLn24Yk5XaX8lephvzW3vvln7updKDq229d8t0Hxvvw0VN/eK22Suewv2Gy19YoV9Mdq7UL6YHgnC7K903p/eZ6TmCGm1fyNBWzMs03/WXNvndL2rDMZFXv1zlU79gPibbd9HsxfSMhec6Rm043sD2xOVvrGAvU/sr2cu0RsB16Pdo4TGkr/u6M9urh2avGq092J64/B0V7GVqfyV7me4xxO3W7yvDY6hHAOxV1wp73e+jvfR74ToFzF7dWmGvx3y0l37/Xl0Fe9VodY8ksVc6Ybrnl67+VNLU34T1N96z3IOn/pLpfBVh/WnTeWu6+mOW6VoHIf+CW39vlvoTKdP9q4T8G19S2Zen/sb51Y+n/qzpPg7XVzDfE5es0Y4XCjWP8ULa8btoXIl9f+MzgK29r8t0jyh+3kzfp49x0/1gAw3HMdXVnbCufoR19SKsqxthXX0J62ogrKuGsK4+AW1jT8K6KMcEpe0p7UU5tyl59SCsi3KsUvajO77cdb2rR32dH5nW04Sa2HhfJX5+W9fj7kzHrtGOFwqZ9dg9fncDH5d3F8O+al6Um82WSslYOWdbyXgqXkrUaPW7XPW81sRUJm1nfg4iYbou0QPZVW0RtK+7ti+K9rkc8YviTXENJf/W2B8f33RdCT/D25a+7B0ya4FrH5XGz7jq6zV83C7aPjzeO2v78PlB/aVEpuvIpnuSu2r78LzSXy5pOn+vfm+6D1Bfw5nunwkb2u2Wd+dArUd5/V4zt/zSTsOVPc7Sxh5P3ND0ss6BiJPpvq8BGme3/PKIs36OxrT2r3RPy8Ke6XD59NTshn/bnvYKt8Jeqxrs1X73E5rva8fjHftGrz7F5dvap67NTOuH/to+PC/12KjSPXEL803ub/EzJqYxpq+zKo1vk18YiI5jKu81ZkZU8Av4OTOOcb4Y4mTqv0EaZ7f8qAp+wf0Ntlul+y0WM5QfZLBbz1DLMeT+tj3tVdsKe23YSr+An09TW2QOS3uMfgGPd90vmPoUl29rn7o2a9DK4/41Pb+nP6dkehbeNEdN6wus45+ifLV1ntO83gV/UZ5rH7cP63B5bV892heZ0/w4XZz/R9BxcF0uj6hWfjvH4O56thb9xv19g+H4tdrxm/E25OF+1esKG/Lc8sqmWzj/UeswzvGczliWy8+1Pb42jLcI2o/LFxyu2Ke7f6uJxcrpnF2O58q5ZK5YTBRypmf7XJt5vWRfjysXlYu+6etxfIygvmS/Ewufyi/Z72ToK+6X7Kv1j+v/sI3wxyNM93/h8WK6D0330zWG9prGZoPH79XWvcJxOsZ087yOMf1/Y0ybdBev49TmajfWdlzerS+qlT/M2aE0dK62VowajqfKnVahXI3H3wV1GPIic5rnmTQfr4Xc8u6xu8xpydHd1xXtw2tMtXVz/o/thetyeUS18idrayG8fnF/32A4fp12/Ga8DXn6WqiroXxXQ3nVP8do6wvcduo5v+CYWv04T+d2GlqnUa9/Shn1Wa5yKWfbdqxolRa2/qE+fiKZSxdyadvOJuxSwk4u7PhrOel6bR91P9Ub2klVf8a5VwdvxPw7Powc+m9d456zV+mV0G/UNhXVXaPt295wXM4244/EMj2TEutj4K8/E9TxkdgW9Xd8JNZz6/hI7EK2jo/EehF3Nrf+jo/EdnwktuMjsR0fiV1gk46PxLJ+JDbj1Ge6TqvHdfr5KFw+ZMirCXmfl9GPYbr26K6xwqGWa2Evbqb1bMiQZ+IWXgi3iIGbXm+nCu3wOg7m5NrHdP9NpfNdjec0QsG/fjPC+X97X78Z46Rlnz/IljvOH1TeqM4fuNe2VXp19Hvdr1U6jy37vEHCMt0HgX2W2iJzmh8b78PnUiPInhnNPhxjDduHZ6wlrD4h7/HVcV7Fs/6O8yqeW8d5lYVsHedVvIg7W8d5lY7zKh3nVTrOqzSzScd5FdbzKus69bXmHiemtWir73FqvH8ixBvn1YRanv+odI+Teg7KvWY7rTR71B6zp285Y/Yupd1bfJHWrXEkysf78aaX0cvp5Rd2d5GbH/S7kNdx/h/ku5CHO2kJZ7E2dP7f3mexRjg7hJ/F8u0uGKY7SmO8d2Saz2KZ7sAMa+X032B/ORWVmepRZntUZnuPMjlUJudRJo/K5D3KFFCZgkeZIipT9ChTQmVKHmXKqEzZo8w0VGaaR5npqMx0jzIzUJkZHmV2QGV28CizIyqzo0eZnVCZnTzK7IzK7OxRZhdUZhePMjNRmZkeZXZFZXb1KDMLlZnlUWY3VGY3jzK7ozK7e5SZjcrM9iizByqzh0eZPVGZPT3K7IXK7OVRZm9UZm+PMvugMvt4lNkXldnXo8x+qMx+HmX2R2X29yhzACpzgEeZA1GZA1GZMCpzECpzkFaG840UcCa4xH0HvekN5vrKn+ftvq1/usE9fpcQpzY2rfxb+8Z201WGGm1fZE7LdpiuMrj9a4rK9DUb3ocjEnf86k8sq80dt6r+CehYO4SaczdFPaY1Hec6BUJ9i3fc21alN5Ob+i6i7WtN36ntRFTOn6trTbbjmSe2XemuXHesBD3OHO/8P8hx5vpOGseZHVflWtTfcVXOc+u4KreQreOqnBdxZ+u4KtdxVa7jqlzHVblmNum4Ksd6Ve53pz7uc7X6G2zcY+Bjd2Y5tt3q2N89fpcQ57mIptjf9JUX0xvoXPvU8din8e1QdQY+dQb7uH1Zb9jn1mX6Wg8uX4faiMvjtPt7nLev89f0NSv9LZP1hvbgPBz/zNbahvumxuOvW6+e10njWOlLPwv7uhuOBbDdvN7eqH+dyi1/sPNX/X9+yFxna7+W6Jafi7gc5qRN5/jcNqhyp7Tx2GGPY5+Ajn2UR501C6lTHydeNu2kcXDLH+f8VcerqWneftMX91TeSSHvctEK5Uxf3jLZ0+UaDpnPJ7qxTSV/vKjj3PTlSNd34XlKGVPp/sbUbv34Cl1RG8Khlj5IL28aU7j+rlr5xmv1IbMvjWr24fHtlq2P2cucv6qvLvDgHAqZ502dVr4LqstU3q1P9+GXOH+xLzKNITwvXd6mL1JV+kJgTYh+DYPbiOfsPA/7RNton+tRnddo7cZzU9djXLc7NruGWr4pORSqfq7j8a7rbjf0G73danN9kNtfPG+uthrXNY3n2BGfHgY++hfX7tLa1YDsE9baiutxy/c0HBe/yVnXlZ7acdX8iGi6gn0UHnv3aFzxV6t0/1apzS+gOu930qavmulfOsRv6HbHRr1WN23/Nq1bF/ULcY86f5WdOyM7qw1fq8FfCFRbZA5Lexa81bSL1t94zkbRcXG7QqGmduPy2Ab6mA+HWvaNPsfxvNTfwG764qBJK0xrYP3N6Ph3WFPmtYJ/N8Nv9flX61Eejxtc/hXnr2mtbPqyOLZTxKPONxGX10PN24/7AK/tPvU4Nm5/2NAe3V95rWu9vmz/bqhl++tDLf0X5b0BLmf89vmwxhMfP6qV/wBxdueybgdstxqUp88T0xv1Gwx2c30ftrv7W1PfuuVw35rq0P0nj81t2/RG9ZDGv7eBv7uvDyqPr8noW1j7P26T6q8hmu/F5XQ+eCz0RvXrNtQ1p5LPxHW2Zg71NBxHn0M/o/bpa9yuHjy9+GG/pn+NoouhLrweCPo9w/84/2/ve4bb+8191MePZTKpbCyvrrsXysVE3O/jpxIpG64yZAqpQjmbKOT9Pn5b39zI+UbUHk4Fal42aL4uajieKrdUhXI1Hn8X1GHIi8xpnhf0N6Iu4VQQ5Dei9nN+FMQ3orpjx+saD9M9jY1rOLc/cdyrz+tQqEkz3fIpNE+Wq/HmXEPHOaNz7oSOYXoLjelaFSGfRhvWIhvWGI6pnztwy6+mrX1d/cf9EDXU4+6rMxwXn2vT+65OOy4+Z1GjHaNLyDwe9HOhNSEO2zbFGHobdJvUVOATCtHN7ajGJ4FsuAby/3jOY3uqPs9UKBepUA63qdHXheh1uJCFi//xeN6OZ4ulrJ1amA4fjOY93kftV+sN7aS+LxZvxPyZn92yxTy7FUZlvJ7dwmW8nt3CZbye3cJlvJ7dwmW8nt3CZYqoTNGjTAmVKXmUKaMyZY8y01CZaR5lvJ7dwmW8nt3CZbye3cJlvJ7dwmW8nt3CZbye3cJlvJ7dwmW8nt1S+2U/e2O347M3dsezN2gffn4jhsrpY6vSszfu+DU9e+OOW1X/CHSsyaHm3HF9lc6J8j4/kuZ+foTt7WwxzT4c6xRsHw77K/tUejubOx7c8xihkPl8gWuj9nq+Zk3n/0F+vibppDuer6lYf8fzNZ5bx/M1C9k6nq/xIu5sHc/XdDxf0/F8TcfzNc1s0vF8DevzNWs6Tta9z8Prjf167FkpHm0ILTxeNMX5rYnDTccxcXaPEyU8jum6BO+zQU33j9chnqb72fTrPfj8dFirw1ReP7ei11/vT3tbPOuDr9HVGvjr13nOd/6qsjtqbaxkQ7Xp98fqzwToZfT7uE33m9ca6tfvp97V+av4reMMwHqtDPVa0eXcFdnRNE7wPeK4/GzEeXSN2Q6hUOVzNzoHXN50T5Hro7Ddu2q/w/cu6c9ImOrG5cMe9ej3bdZ75I90/m9VtzVe88X3qddU4G66T52Qj/E+9RrDMfFYwuUP1Xjh+9T1tuq2V+hpOG6DoX/0e1rd46rxs6HHGO0aMvuXbpptMT9Cf1fU78PEm7uvh6GtpvsNsd30Laz9H7dJ2WdcTVO9ejmdD7aTy60+ZJ5PI53/W1VtTf7K5ezlr/Qx6JY/EbV1tNZW03lzP+6lL9U0t2uz50o1TpV8pNp0n9rNUB73jX7/Ox7ftdo+vL7SfV6N4TimdUONVrfXM1luffp9I+c6fxXv/Wqa8zPdG6F+564FehqOo/8GX8+ttDbgPJ+uBobpWgt+juYSD954PuA+cc8F6fcyrVLTVOfloeZtY7qmntHHAF6bmr5Gz/xsZsW1pmntp681rw817wu8FjFpSlgr38VwXNNza17P32FdCxuOgdeepmuoIUJbVoq3mJ8hzdZox3PtgfPw8buEWMe5rY8r3D/YPnoMyTTOM+r5iYZQ8/GhNnzeAvdNpWdXea7zWTGT33NjPMXhbpSPeZn8nmnOuuUfQHXe56RNz67i51Mr+S085nSNYBrvjX7LtY/pGW7MJ6qVfwLxwn7F5LdwPW5507Pj+roAH7deOy72Wz01btj2XvNIbePntDyezq/Wo3ydB79nET93jcEbhzdpoikOx77aKw5/EXFuTRxu8j86B1wet9vlY3rGXY/ZTMc2vX9BP3ZtqG3tfyPU1H69z5hitsY+q/QMMz6+Hg+/gzjrfWZat1fqM9PzWKZnTnuGWvaT/mzXwvpMX7+4x2ltn7nlPwo1tV/vM55nsZv6zPQstukZNf1Z7M8QZ73PTH1Qqc8W9pyz3memZ4Jb02dqw9fi8XFa22du+W9DTe2X0mc/Is5+95npHImJu77mY7ZpqbuhPe5mOqekn2/Czyq39ZnaxvuvQm0734Rt1BPVr9tSP/dUSddwnfraxTRHTFqnz5FwTVP7fFo/tPn8of5uA/zMflv7021TNf1ZaW7o+r2o/WnSqUr96ZZv8L8/C901DiGD/bobuJvmdXv0Z+NcCLW0k+kaI87Hv6vUn6a1oilm1deKg33vz+qvsw1FnCudt3bjp/Y4b42fJYqi4+J2hUIt+0pti3ot0PSugkrnrb3OQ+Pj1KAy+B5sfR8+h+2el3B1H59Tco/Pez6gaYzh93WZ2uQV99qtHGP4OUi1ReawtMc4xnB/6WPMdJ7N9J5S3U64vP7uOLWZ3uGp3zcRNdRlGkemMYmfw9B/ZzrnH/R3ZYxyKvi/9q6M9n5XRVvfFdHe78rA95UF/Zn+nFNIzbONK3CuCdHHtf9XnumfXNOcl1/P9E9GuqXf3+Eeo+OZ/mZbi2f6pyIbHqhpLj7fh58VKlQoF6lQDrfJ/Q33u21moPm9I+KzoKzheKrcvhXK1Xj8XVCHIS8yp3le0N9ts5dTQZDfbbOrts7Abae+jrvgmFr9OE/n5o6d/4vv7GrruzI2c9L12j7qfqo3tJOq/oyV8u1dGVzX1rnXYKZ3ZZg0IayVM/1G1wpchvdZ5mSZ2U626R4cynGkrytcm+tt0uNOHOO1Rd/wsbqEWMewXaltmH+lZzb09byprmgb62rPPjXd69XW9wlEtX1YS/H7BJZC5Uxz0C23Ekqvr9mI0z9z+QW19THw19cv7nozFDKv61y7ttc7CFZ0/h/kdxAs7aQ73kFQsf6OdxB4bh3vIFjI1vEOAi/iztbxDoKOdxB0vIOg4x0EzWzS8Q4C1ncQjA81cfeKdTqhPDdtemeBfl6fKS6L1YRaxp56DImPr+7n6eekd589c7fSmF1G710q7DF7xsxd1s0VppdwoK1XEjI03t1Xg/K9Trzovwmj8njDC+/InOblRzr5VhUbxUXmTZ3/t/dFZvxCBLX1C9Hby0ILwr489Vv4Q6IhrS34uPpJ3BAhB7c+dxxEQy03/QIPPumA+dXQ87ND2ma60ONu7kdn+qK8fh5cmW4ibBRhnoexzWMG3+jVVdvn9l3E8Lsaj/930v5WKltToV7TjbFunW5fYb5uO9yPDuGbqtx6KW2JH1ZiqL/RfzC9sCVuGgs4T5+vus5hTrpPJeaaazxZhziEtWPqHHEZ0/jtpP1f19xwK8qaxq+7r/GkXIXf6Te06Xn6yeGQoXzjCT7nb9SjLvziHVxevwGVqw/7GDi53P8fWvmrJCZbBwA=",
|
|
5351
|
-
"debug_symbols": "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",
|
|
5449
|
+
"bytecode": "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",
|
|
5450
|
+
"debug_symbols": "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",
|
|
5352
5451
|
"brillig_names": [
|
|
5353
|
-
"
|
|
5452
|
+
"get_contract_instance_internal",
|
|
5354
5453
|
"decompose_hint",
|
|
5355
|
-
"
|
|
5454
|
+
"lte_hint",
|
|
5455
|
+
"notify_created_nullifier_oracle_wrapper",
|
|
5456
|
+
"notify_created_note_oracle_wrapper",
|
|
5457
|
+
"debug_log_oracle_wrapper",
|
|
5458
|
+
"random",
|
|
5459
|
+
"field_less_than",
|
|
5356
5460
|
"build_msg_block",
|
|
5357
5461
|
"attach_len_to_msg_block",
|
|
5358
|
-
"
|
|
5359
|
-
"
|
|
5462
|
+
"get_random_bytes",
|
|
5463
|
+
"get_app_tag_as_sender",
|
|
5464
|
+
"increment_app_tagging_secret_index_as_sender_wrapper",
|
|
5360
5465
|
"directive_integer_quotient",
|
|
5466
|
+
"directive_invert",
|
|
5361
5467
|
"directive_to_radix"
|
|
5362
5468
|
],
|
|
5363
|
-
"verification_key": "
|
|
5364
|
-
},
|
|
5365
|
-
{
|
|
5366
|
-
"name": "compute_note_hash_and_optionally_a_nullifier",
|
|
5367
|
-
"is_unconstrained": true,
|
|
5368
|
-
"custom_attributes": [],
|
|
5369
|
-
"abi": {
|
|
5370
|
-
"error_types": {
|
|
5371
|
-
"11091894166229312484": {
|
|
5372
|
-
"error_kind": "fmtstring",
|
|
5373
|
-
"item_types": [],
|
|
5374
|
-
"length": 20
|
|
5375
|
-
},
|
|
5376
|
-
"16761564377371454734": {
|
|
5377
|
-
"error_kind": "string",
|
|
5378
|
-
"string": "Array index out of bounds"
|
|
5379
|
-
},
|
|
5380
|
-
"17843811134343075018": {
|
|
5381
|
-
"error_kind": "string",
|
|
5382
|
-
"string": "Stack too deep"
|
|
5383
|
-
},
|
|
5384
|
-
"2920182694213909827": {
|
|
5385
|
-
"error_kind": "string",
|
|
5386
|
-
"string": "attempt to subtract with overflow"
|
|
5387
|
-
},
|
|
5388
|
-
"5019202896831570965": {
|
|
5389
|
-
"error_kind": "string",
|
|
5390
|
-
"string": "attempt to add with overflow"
|
|
5391
|
-
},
|
|
5392
|
-
"8270195893599566439": {
|
|
5393
|
-
"error_kind": "string",
|
|
5394
|
-
"string": "Invalid public keys hint for address"
|
|
5395
|
-
}
|
|
5396
|
-
},
|
|
5397
|
-
"parameters": [
|
|
5398
|
-
{
|
|
5399
|
-
"name": "contract_address",
|
|
5400
|
-
"type": {
|
|
5401
|
-
"fields": [
|
|
5402
|
-
{
|
|
5403
|
-
"name": "inner",
|
|
5404
|
-
"type": {
|
|
5405
|
-
"kind": "field"
|
|
5406
|
-
}
|
|
5407
|
-
}
|
|
5408
|
-
],
|
|
5409
|
-
"kind": "struct",
|
|
5410
|
-
"path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress"
|
|
5411
|
-
},
|
|
5412
|
-
"visibility": "private"
|
|
5413
|
-
},
|
|
5414
|
-
{
|
|
5415
|
-
"name": "nonce",
|
|
5416
|
-
"type": {
|
|
5417
|
-
"kind": "field"
|
|
5418
|
-
},
|
|
5419
|
-
"visibility": "private"
|
|
5420
|
-
},
|
|
5421
|
-
{
|
|
5422
|
-
"name": "storage_slot",
|
|
5423
|
-
"type": {
|
|
5424
|
-
"kind": "field"
|
|
5425
|
-
},
|
|
5426
|
-
"visibility": "private"
|
|
5427
|
-
},
|
|
5428
|
-
{
|
|
5429
|
-
"name": "note_type_id",
|
|
5430
|
-
"type": {
|
|
5431
|
-
"kind": "field"
|
|
5432
|
-
},
|
|
5433
|
-
"visibility": "private"
|
|
5434
|
-
},
|
|
5435
|
-
{
|
|
5436
|
-
"name": "compute_nullifier",
|
|
5437
|
-
"type": {
|
|
5438
|
-
"kind": "boolean"
|
|
5439
|
-
},
|
|
5440
|
-
"visibility": "private"
|
|
5441
|
-
},
|
|
5442
|
-
{
|
|
5443
|
-
"name": "packed_note_content",
|
|
5444
|
-
"type": {
|
|
5445
|
-
"kind": "array",
|
|
5446
|
-
"length": 5,
|
|
5447
|
-
"type": {
|
|
5448
|
-
"kind": "field"
|
|
5449
|
-
}
|
|
5450
|
-
},
|
|
5451
|
-
"visibility": "private"
|
|
5452
|
-
}
|
|
5453
|
-
],
|
|
5454
|
-
"return_type": {
|
|
5455
|
-
"abi_type": {
|
|
5456
|
-
"kind": "array",
|
|
5457
|
-
"length": 4,
|
|
5458
|
-
"type": {
|
|
5459
|
-
"kind": "field"
|
|
5460
|
-
}
|
|
5461
|
-
},
|
|
5462
|
-
"visibility": "public"
|
|
5463
|
-
}
|
|
5464
|
-
},
|
|
5465
|
-
"bytecode": "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",
|
|
5466
|
-
"debug_symbols": "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",
|
|
5467
|
-
"brillig_names": [
|
|
5468
|
-
"compute_note_hash_and_optionally_a_nullifier"
|
|
5469
|
-
]
|
|
5469
|
+
"verification_key": "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"
|
|
5470
5470
|
}
|
|
5471
5471
|
],
|
|
5472
5472
|
"outputs": {
|
|
@@ -5941,7 +5941,7 @@
|
|
|
5941
5941
|
},
|
|
5942
5942
|
"18": {
|
|
5943
5943
|
"path": "std/field/bn254.nr",
|
|
5944
|
-
"source": "use crate::field::field_less_than;\nuse crate::runtime::is_unconstrained;\n\n// The low and high decomposition of the field modulus\nglobal PLO: Field = 53438638232309528389504892708671455233;\nglobal PHI: Field = 64323764613183177041862057485226039389;\n\npub(crate) global TWO_POW_128: Field = 0x100000000000000000000000000000000;\nglobal TWO_POW_64: Field = 0x10000000000000000;\n\n// Decomposes a single field into two 16 byte fields.\nfn compute_decomposition(mut x: Field) -> (Field, Field) {\n // Here's we're taking advantage of truncating 64 bit limbs from the input field\n // and then subtracting them from the input such the field division is equivalent to integer division.\n let low_lower_64 = (x as u64) as Field;\n x = (x - low_lower_64) / TWO_POW_64;\n let low_upper_64 = (x as u64) as Field;\n\n let high = (x - low_upper_64) / TWO_POW_64;\n let low = low_upper_64 * TWO_POW_64 + low_lower_64;\n\n (low, high)\n}\n\npub(crate) unconstrained fn decompose_hint(x: Field) -> (Field, Field) {\n compute_decomposition(x)\n}\n\nunconstrained fn lte_hint(x: Field, y: Field) -> bool {\n if x == y {\n true\n } else {\n field_less_than(x, y)\n }\n}\n\n// Assert that (alo > blo && ahi >= bhi) || (alo <= blo && ahi > bhi)\nfn assert_gt_limbs(a: (Field, Field), b: (Field, Field)) {\n let (alo, ahi) = a;\n let (blo, bhi) = b;\n /// Safety: borrow is enforced to be boolean due to its type.\n /// if borrow is 0, it asserts that (alo > blo && ahi >= bhi)\n /// if borrow is 1, it asserts that (alo <= blo && ahi > bhi)\n unsafe {\n
|
|
5944
|
+
"source": "use crate::field::field_less_than;\nuse crate::runtime::is_unconstrained;\n\n// The low and high decomposition of the field modulus\nglobal PLO: Field = 53438638232309528389504892708671455233;\nglobal PHI: Field = 64323764613183177041862057485226039389;\n\npub(crate) global TWO_POW_128: Field = 0x100000000000000000000000000000000;\nglobal TWO_POW_64: Field = 0x10000000000000000;\n\n// Decomposes a single field into two 16 byte fields.\nfn compute_decomposition(mut x: Field) -> (Field, Field) {\n // Here's we're taking advantage of truncating 64 bit limbs from the input field\n // and then subtracting them from the input such the field division is equivalent to integer division.\n let low_lower_64 = (x as u64) as Field;\n x = (x - low_lower_64) / TWO_POW_64;\n let low_upper_64 = (x as u64) as Field;\n\n let high = (x - low_upper_64) / TWO_POW_64;\n let low = low_upper_64 * TWO_POW_64 + low_lower_64;\n\n (low, high)\n}\n\npub(crate) unconstrained fn decompose_hint(x: Field) -> (Field, Field) {\n compute_decomposition(x)\n}\n\nunconstrained fn lte_hint(x: Field, y: Field) -> bool {\n if x == y {\n true\n } else {\n field_less_than(x, y)\n }\n}\n\n// Assert that (alo > blo && ahi >= bhi) || (alo <= blo && ahi > bhi)\nfn assert_gt_limbs(a: (Field, Field), b: (Field, Field)) {\n let (alo, ahi) = a;\n let (blo, bhi) = b;\n /// Safety: borrow is enforced to be boolean due to its type.\n /// if borrow is 0, it asserts that (alo > blo && ahi >= bhi)\n /// if borrow is 1, it asserts that (alo <= blo && ahi > bhi)\n unsafe {\n let borrow = lte_hint(alo, blo);\n\n let rlo = alo - blo - 1 + (borrow as Field) * TWO_POW_128;\n let rhi = ahi - bhi - (borrow as Field);\n\n rlo.assert_max_bit_size::<128>();\n rhi.assert_max_bit_size::<128>();\n }\n}\n\n/// Decompose a single field into two 16 byte fields.\npub fn decompose(x: Field) -> (Field, Field) {\n if is_unconstrained() {\n compute_decomposition(x)\n } else {\n /// Safety: decomposition is properly checked below\n unsafe {\n // Take hints of the decomposition\n let (xlo, xhi) = decompose_hint(x);\n\n // Range check the limbs\n xlo.assert_max_bit_size::<128>();\n xhi.assert_max_bit_size::<128>();\n\n // Check that the decomposition is correct\n assert_eq(x, xlo + TWO_POW_128 * xhi);\n\n // Assert that the decomposition of P is greater than the decomposition of x\n assert_gt_limbs((PLO, PHI), (xlo, xhi));\n (xlo, xhi)\n }\n }\n}\n\npub fn assert_gt(a: Field, b: Field) {\n if is_unconstrained() {\n assert(\n /// Safety: already unconstrained\n unsafe { field_less_than(b, a) },\n );\n } else {\n // Decompose a and b\n let a_limbs = decompose(a);\n let b_limbs = decompose(b);\n\n // Assert that a_limbs is greater than b_limbs\n assert_gt_limbs(a_limbs, b_limbs)\n }\n}\n\npub fn assert_lt(a: Field, b: Field) {\n assert_gt(b, a);\n}\n\npub fn gt(a: Field, b: Field) -> bool {\n if is_unconstrained() {\n /// Safety: unsafe in unconstrained\n unsafe {\n field_less_than(b, a)\n }\n } else if a == b {\n false\n } else {\n /// Safety: Take a hint of the comparison and verify it\n unsafe {\n if field_less_than(a, b) {\n assert_gt(b, a);\n false\n } else {\n assert_gt(a, b);\n true\n }\n }\n }\n}\n\npub fn lt(a: Field, b: Field) -> bool {\n gt(b, a)\n}\n\nmod tests {\n // TODO: Allow imports from \"super\"\n use crate::field::bn254::{assert_gt, decompose, gt, lte_hint, PHI, PLO, TWO_POW_128};\n\n #[test]\n fn check_decompose() {\n assert_eq(decompose(TWO_POW_128), (0, 1));\n assert_eq(decompose(TWO_POW_128 + 0x1234567890), (0x1234567890, 1));\n assert_eq(decompose(0x1234567890), (0x1234567890, 0));\n }\n\n #[test]\n unconstrained fn check_decompose_unconstrained() {\n assert_eq(decompose(TWO_POW_128), (0, 1));\n assert_eq(decompose(TWO_POW_128 + 0x1234567890), (0x1234567890, 1));\n assert_eq(decompose(0x1234567890), (0x1234567890, 0));\n }\n\n #[test]\n unconstrained fn check_lte_hint() {\n assert(lte_hint(0, 1));\n assert(lte_hint(0, 0x100));\n assert(lte_hint(0x100, TWO_POW_128 - 1));\n assert(!lte_hint(0 - 1, 0));\n\n assert(lte_hint(0, 0));\n assert(lte_hint(0x100, 0x100));\n assert(lte_hint(0 - 1, 0 - 1));\n }\n\n #[test]\n fn check_assert_gt() {\n assert_gt(1, 0);\n assert_gt(0x100, 0);\n assert_gt((0 - 1), (0 - 2));\n assert_gt(TWO_POW_128, 0);\n assert_gt(0 - 1, 0);\n }\n\n #[test]\n unconstrained fn check_assert_gt_unconstrained() {\n assert_gt(1, 0);\n assert_gt(0x100, 0);\n assert_gt((0 - 1), (0 - 2));\n assert_gt(TWO_POW_128, 0);\n assert_gt(0 - 1, 0);\n }\n\n #[test]\n fn check_gt() {\n assert(gt(1, 0));\n assert(gt(0x100, 0));\n assert(gt((0 - 1), (0 - 2)));\n assert(gt(TWO_POW_128, 0));\n assert(!gt(0, 0));\n assert(!gt(0, 0x100));\n assert(gt(0 - 1, 0 - 2));\n assert(!gt(0 - 2, 0 - 1));\n }\n\n #[test]\n unconstrained fn check_gt_unconstrained() {\n assert(gt(1, 0));\n assert(gt(0x100, 0));\n assert(gt((0 - 1), (0 - 2)));\n assert(gt(TWO_POW_128, 0));\n assert(!gt(0, 0));\n assert(!gt(0, 0x100));\n assert(gt(0 - 1, 0 - 2));\n assert(!gt(0 - 2, 0 - 1));\n }\n\n #[test]\n fn check_plo_phi() {\n assert_eq(PLO + PHI * TWO_POW_128, 0);\n let p_bytes = crate::field::modulus_le_bytes();\n let mut p_low: Field = 0;\n let mut p_high: Field = 0;\n\n let mut offset = 1;\n for i in 0..16 {\n p_low += (p_bytes[i] as Field) * offset;\n p_high += (p_bytes[i + 16] as Field) * offset;\n offset *= 256;\n }\n assert_eq(p_low, PLO);\n assert_eq(p_high, PHI);\n }\n}\n"
|
|
5945
5945
|
},
|
|
5946
5946
|
"182": {
|
|
5947
5947
|
"path": "/build-volume/noir-projects/aztec-nr/aztec/src/utils/array/subarray.nr",
|
|
@@ -5961,45 +5961,45 @@
|
|
|
5961
5961
|
},
|
|
5962
5962
|
"19": {
|
|
5963
5963
|
"path": "std/field/mod.nr",
|
|
5964
|
-
"source": "pub mod bn254;\nuse crate::{runtime::is_unconstrained, static_assert};\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n /// Asserts that `self` can be represented in `bit_size` bits.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{bit_size}`.\n // docs:start:assert_max_bit_size\n pub fn assert_max_bit_size<let BIT_SIZE: u32>(self) {\n // docs:end:assert_max_bit_size\n static_assert(\n BIT_SIZE < modulus_num_bits() as u32,\n \"BIT_SIZE must be less than modulus_num_bits\",\n );\n self.__assert_max_bit_size(BIT_SIZE);\n }\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n /// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n /// This slice will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n /// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n #[builtin(to_le_bits)]\n fn _to_le_bits<let N: u32>(self: Self) -> [u1; N] {}\n\n /// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n /// This array will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n /// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n #[builtin(to_be_bits)]\n fn _to_be_bits<let N: u32>(self: Self) -> [u1; N] {}\n\n /// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n /// This slice will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// The bit decomposition returned is canonical and is guaranteed to not overflow the modulus.\n // docs:start:to_le_bits\n pub fn to_le_bits<let N: u32>(self: Self) -> [u1; N] {\n // docs:end:to_le_bits\n let bits = self._to_le_bits();\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_le_bits();\n assert(bits.len() <= p.len());\n let mut ok = bits.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bits[N - 1 - i] != p[N - 1 - i]) {\n assert(p[N - 1 - i] == 1);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bits\n }\n\n /// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n /// This array will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// The bit decomposition returned is canonical and is guaranteed to not overflow the modulus.\n // docs:start:to_be_bits\n pub fn to_be_bits<let N: u32>(self: Self) -> [u1; N] {\n // docs:end:to_be_bits\n let bits = self._to_be_bits();\n\n if !is_unconstrained() {\n // Ensure that the decomposition does not overflow the modulus\n let p = modulus_be_bits();\n assert(bits.len() <= p.len());\n let mut ok = bits.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bits[i] != p[i]) {\n assert(p[i] == 1);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bits\n }\n\n /// Decomposes `self` into its little endian byte decomposition as a `[u8;N]` array\n /// This array will be zero padded should not all bytes be necessary to represent `self`.\n ///\n /// # Failures\n /// The length N of the array must be big enough to contain all the bytes of the 'self',\n /// and no more than the number of bytes required to represent the field modulus\n ///\n /// # Safety\n /// The result is ensured to be the canonical decomposition of the field element\n // docs:start:to_le_bytes\n pub fn to_le_bytes<let N: u32>(self: Self) -> [u8; N] {\n // docs:end:to_le_bytes\n static_assert(\n N <= modulus_le_bytes().len(),\n \"N must be less than or equal to modulus_le_bytes().len()\",\n );\n // Compute the byte decomposition\n let bytes = self.to_le_radix(256);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_le_bytes();\n assert(bytes.len() <= p.len());\n let mut ok = bytes.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bytes[N - 1 - i] != p[N - 1 - i]) {\n assert(bytes[N - 1 - i] < p[N - 1 - i]);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bytes\n }\n\n /// Decomposes `self` into its big endian byte decomposition as a `[u8;N]` array of length required to represent the field modulus\n /// This array will be zero padded should not all bytes be necessary to represent `self`.\n ///\n /// # Failures\n /// The length N of the array must be big enough to contain all the bytes of the 'self',\n /// and no more than the number of bytes required to represent the field modulus\n ///\n /// # Safety\n /// The result is ensured to be the canonical decomposition of the field element\n // docs:start:to_be_bytes\n pub fn to_be_bytes<let N: u32>(self: Self) -> [u8; N] {\n // docs:end:to_be_bytes\n static_assert(\n N <= modulus_le_bytes().len(),\n \"N must be less than or equal to modulus_le_bytes().len()\",\n );\n // Compute the byte decomposition\n let bytes = self.to_be_radix(256);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_be_bytes();\n assert(bytes.len() <= p.len());\n let mut ok = bytes.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bytes[i] != p[i]) {\n assert(bytes[i] < p[i]);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bytes\n }\n\n // docs:start:to_le_radix\n pub fn to_le_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n // Brillig does not need an immediate radix\n if !crate::runtime::is_unconstrained() {\n static_assert(1 < radix, \"radix must be greater than 1\");\n static_assert(radix <= 256, \"radix must be less than or equal to 256\");\n static_assert(radix & (radix - 1) == 0, \"radix must be a power of 2\");\n }\n self.__to_le_radix(radix)\n }\n // docs:end:to_le_radix\n\n // docs:start:to_be_radix\n pub fn to_be_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n // Brillig does not need an immediate radix\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(radix);\n }\n self.__to_be_radix(radix)\n }\n // docs:end:to_be_radix\n\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix<let N: u32>(self, radix: u32) -> [u8; N] {}\n\n // `_radix` must be less than 256\n #[builtin(to_be_radix)]\n fn __to_be_radix<let N: u32>(self, radix: u32) -> [u8; N] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b: [u1; 32] = exponent.to_le_bits();\n\n for i in 1..33 {\n r *= r;\n r = (b[32 - i] as Field) * (r * self) + (1 - b[32 - i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x `elem` {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n\n /// Convert a little endian byte array to a field element.\n /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n pub fn from_le_bytes<let N: u32>(bytes: [u8; N]) -> Field {\n static_assert(\n N <= modulus_le_bytes().len(),\n \"N must be less than or equal to modulus_le_bytes().len()\",\n );\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bytes[i] as Field) * v;\n v = v * 256;\n }\n result\n }\n\n /// Convert a big endian byte array to a field element.\n /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n pub fn from_be_bytes<let N: u32>(bytes: [u8; N]) -> Field {\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bytes[N - 1 - i] as Field) * v;\n v = v * 256;\n }\n result\n }\n}\n\n#[builtin(modulus_num_bits)]\npub comptime fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub comptime fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub comptime fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub comptime fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub comptime fn modulus_le_bytes() -> [u8] {}\n\n/// An unconstrained only built in to efficiently compare fields.\n#[builtin(field_less_than)]\nunconstrained fn __field_less_than(x: Field, y: Field) -> bool {}\n\npub(crate) unconstrained fn field_less_than(x: Field, y: Field) -> bool {\n __field_less_than(x, y)\n}\n\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n if is_unconstrained() {\n /// Safety: unconstrained context\n unsafe {\n //@safety : unconstrained context\n field_less_than(x, y)\n }\n } else {\n let x_bytes: [u8; 32] = x.to_le_bytes();\n let y_bytes: [u8; 32] = y.to_le_bytes();\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..32 {\n if (!done) {\n let x_byte = x_bytes[32 - 1 - i] as u8;\n let y_byte = y_bytes[32 - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n }\n}\n\nmod tests {\n use crate::{panic::panic, runtime};\n use super::field_less_than;\n\n #[test]\n // docs:start:to_be_bits_example\n fn test_to_be_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_be_bits();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 1, 0]);\n }\n // docs:end:to_be_bits_example\n\n #[test]\n // docs:start:to_le_bits_example\n fn test_to_le_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_le_bits();\n assert_eq(bits, [0, 1, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_bits_example\n\n #[test]\n // docs:start:to_be_bytes_example\n fn test_to_be_bytes() {\n let field = 2;\n let bytes: [u8; 8] = field.to_be_bytes();\n assert_eq(bytes, [0, 0, 0, 0, 0, 0, 0, 2]);\n assert_eq(Field::from_be_bytes::<8>(bytes), field);\n }\n // docs:end:to_be_bytes_example\n\n #[test]\n // docs:start:to_le_bytes_example\n fn test_to_le_bytes() {\n let field = 2;\n let bytes: [u8; 8] = field.to_le_bytes();\n assert_eq(bytes, [2, 0, 0, 0, 0, 0, 0, 0]);\n assert_eq(Field::from_le_bytes::<8>(bytes), field);\n }\n // docs:end:to_le_bytes_example\n\n #[test]\n // docs:start:to_be_radix_example\n fn test_to_be_radix() {\n let field = 2;\n let bytes: [u8; 8] = field.to_be_radix(256);\n assert_eq(bytes, [0, 0, 0, 0, 0, 0, 0, 2]);\n assert_eq(Field::from_be_bytes::<8>(bytes), field);\n }\n // docs:end:to_be_radix_example\n\n #[test]\n // docs:start:to_le_radix_example\n fn test_to_le_radix() {\n let field = 2;\n let bytes: [u8; 8] = field.to_le_radix(256);\n assert_eq(bytes, [2, 0, 0, 0, 0, 0, 0, 0]);\n assert_eq(Field::from_le_bytes::<8>(bytes), field);\n }\n // docs:end:to_le_radix_example\n\n #[test(should_fail_with = \"radix must be greater than 1\")]\n fn test_to_le_radix_1() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(1);\n } else {\n panic(f\"radix must be greater than 1\");\n }\n }\n\n // TODO: Update this test to account for the Brillig restriction that the radix must be greater than 2\n // #[test]\n // fn test_to_le_radix_brillig_1() {\n // // this test should only fail in constrained mode\n // if runtime::is_unconstrained() {\n // let field = 1;\n // let out: [u8; 8] = field.to_le_radix(1);\n // crate::println(out);\n // let expected = [0; 8];\n // assert(out == expected, \"unexpected result\");\n // }\n // }\n\n #[test(should_fail_with = \"radix must be a power of 2\")]\n fn test_to_le_radix_3() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(3);\n } else {\n panic(f\"radix must be a power of 2\");\n }\n }\n\n #[test]\n fn test_to_le_radix_brillig_3() {\n // this test should only fail in constrained mode\n if runtime::is_unconstrained() {\n let field = 1;\n let out: [u8; 8] = field.to_le_radix(3);\n let mut expected = [0; 8];\n expected[0] = 1;\n assert(out == expected, \"unexpected result\");\n }\n }\n\n #[test(should_fail_with = \"radix must be less than or equal to 256\")]\n fn test_to_le_radix_512() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(512);\n } else {\n panic(f\"radix must be less than or equal to 256\")\n }\n }\n\n // TODO: Update this test to account for the Brillig restriction that the radix must be less than 512\n // #[test]\n // fn test_to_le_radix_brillig_512() {\n // // this test should only fail in constrained mode\n // if runtime::is_unconstrained() {\n // let field = 1;\n // let out: [u8; 8] = field.to_le_radix(512);\n // let mut expected = [0; 8];\n // expected[0] = 1;\n // assert(out == expected, \"unexpected result\");\n // }\n // }\n\n #[test]\n unconstrained fn test_field_less_than() {\n assert(field_less_than(0, 1));\n assert(field_less_than(0, 0x100));\n assert(field_less_than(0x100, 0 - 1));\n assert(!field_less_than(0 - 1, 0));\n }\n}\n"
|
|
5964
|
+
"source": "pub mod bn254;\nuse crate::{runtime::is_unconstrained, static_assert};\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n /// Asserts that `self` can be represented in `bit_size` bits.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{bit_size}`.\n // docs:start:assert_max_bit_size\n pub fn assert_max_bit_size<let BIT_SIZE: u32>(self) {\n // docs:end:assert_max_bit_size\n static_assert(\n BIT_SIZE < modulus_num_bits() as u32,\n \"BIT_SIZE must be less than modulus_num_bits\",\n );\n self.__assert_max_bit_size(BIT_SIZE);\n }\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n /// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n /// This slice will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n /// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n #[builtin(to_le_bits)]\n fn _to_le_bits<let N: u32>(self: Self) -> [u1; N] {}\n\n /// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n /// This array will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n /// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n #[builtin(to_be_bits)]\n fn _to_be_bits<let N: u32>(self: Self) -> [u1; N] {}\n\n /// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n /// This slice will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// The bit decomposition returned is canonical and is guaranteed to not overflow the modulus.\n // docs:start:to_le_bits\n pub fn to_le_bits<let N: u32>(self: Self) -> [u1; N] {\n // docs:end:to_le_bits\n let bits = self._to_le_bits();\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_le_bits();\n assert(bits.len() <= p.len());\n let mut ok = bits.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bits[N - 1 - i] != p[N - 1 - i]) {\n assert(p[N - 1 - i] == 1);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bits\n }\n\n /// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n /// This array will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// The bit decomposition returned is canonical and is guaranteed to not overflow the modulus.\n // docs:start:to_be_bits\n pub fn to_be_bits<let N: u32>(self: Self) -> [u1; N] {\n // docs:end:to_be_bits\n let bits = self._to_be_bits();\n\n if !is_unconstrained() {\n // Ensure that the decomposition does not overflow the modulus\n let p = modulus_be_bits();\n assert(bits.len() <= p.len());\n let mut ok = bits.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bits[i] != p[i]) {\n assert(p[i] == 1);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bits\n }\n\n /// Decomposes `self` into its little endian byte decomposition as a `[u8;N]` array\n /// This array will be zero padded should not all bytes be necessary to represent `self`.\n ///\n /// # Failures\n /// The length N of the array must be big enough to contain all the bytes of the 'self',\n /// and no more than the number of bytes required to represent the field modulus\n ///\n /// # Safety\n /// The result is ensured to be the canonical decomposition of the field element\n // docs:start:to_le_bytes\n pub fn to_le_bytes<let N: u32>(self: Self) -> [u8; N] {\n // docs:end:to_le_bytes\n static_assert(\n N <= modulus_le_bytes().len(),\n \"N must be less than or equal to modulus_le_bytes().len()\",\n );\n // Compute the byte decomposition\n let bytes = self.to_le_radix(256);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_le_bytes();\n assert(bytes.len() <= p.len());\n let mut ok = bytes.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bytes[N - 1 - i] != p[N - 1 - i]) {\n assert(bytes[N - 1 - i] < p[N - 1 - i]);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bytes\n }\n\n /// Decomposes `self` into its big endian byte decomposition as a `[u8;N]` array of length required to represent the field modulus\n /// This array will be zero padded should not all bytes be necessary to represent `self`.\n ///\n /// # Failures\n /// The length N of the array must be big enough to contain all the bytes of the 'self',\n /// and no more than the number of bytes required to represent the field modulus\n ///\n /// # Safety\n /// The result is ensured to be the canonical decomposition of the field element\n // docs:start:to_be_bytes\n pub fn to_be_bytes<let N: u32>(self: Self) -> [u8; N] {\n // docs:end:to_be_bytes\n static_assert(\n N <= modulus_le_bytes().len(),\n \"N must be less than or equal to modulus_le_bytes().len()\",\n );\n // Compute the byte decomposition\n let bytes = self.to_be_radix(256);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_be_bytes();\n assert(bytes.len() <= p.len());\n let mut ok = bytes.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bytes[i] != p[i]) {\n assert(bytes[i] < p[i]);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bytes\n }\n\n // docs:start:to_le_radix\n pub fn to_le_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n // Brillig does not need an immediate radix\n if !crate::runtime::is_unconstrained() {\n static_assert(1 < radix, \"radix must be greater than 1\");\n static_assert(radix <= 256, \"radix must be less than or equal to 256\");\n static_assert(radix & (radix - 1) == 0, \"radix must be a power of 2\");\n }\n self.__to_le_radix(radix)\n }\n // docs:end:to_le_radix\n\n // docs:start:to_be_radix\n pub fn to_be_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n // Brillig does not need an immediate radix\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(radix);\n }\n self.__to_be_radix(radix)\n }\n // docs:end:to_be_radix\n\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix<let N: u32>(self, radix: u32) -> [u8; N] {}\n\n // `_radix` must be less than 256\n #[builtin(to_be_radix)]\n fn __to_be_radix<let N: u32>(self, radix: u32) -> [u8; N] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b: [u1; 32] = exponent.to_le_bits();\n\n for i in 1..33 {\n r *= r;\n r = (b[32 - i] as Field) * (r * self) + (1 - b[32 - i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x `elem` {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n\n /// Convert a little endian byte array to a field element.\n /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n pub fn from_le_bytes<let N: u32>(bytes: [u8; N]) -> Field {\n static_assert(\n N <= modulus_le_bytes().len(),\n \"N must be less than or equal to modulus_le_bytes().len()\",\n );\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bytes[i] as Field) * v;\n v = v * 256;\n }\n result\n }\n\n /// Convert a big endian byte array to a field element.\n /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n pub fn from_be_bytes<let N: u32>(bytes: [u8; N]) -> Field {\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bytes[N - 1 - i] as Field) * v;\n v = v * 256;\n }\n result\n }\n}\n\n#[builtin(modulus_num_bits)]\npub comptime fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub comptime fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub comptime fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub comptime fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub comptime fn modulus_le_bytes() -> [u8] {}\n\n/// An unconstrained only built in to efficiently compare fields.\n#[builtin(field_less_than)]\nunconstrained fn __field_less_than(x: Field, y: Field) -> bool {}\n\npub(crate) unconstrained fn field_less_than(x: Field, y: Field) -> bool {\n __field_less_than(x, y)\n}\n\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n if is_unconstrained() {\n /// Safety: unconstrained context\n unsafe {\n field_less_than(x, y)\n }\n } else {\n let x_bytes: [u8; 32] = x.to_le_bytes();\n let y_bytes: [u8; 32] = y.to_le_bytes();\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..32 {\n if (!done) {\n let x_byte = x_bytes[32 - 1 - i] as u8;\n let y_byte = y_bytes[32 - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n }\n}\n\nmod tests {\n use crate::{panic::panic, runtime};\n use super::field_less_than;\n\n #[test]\n // docs:start:to_be_bits_example\n fn test_to_be_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_be_bits();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 1, 0]);\n }\n // docs:end:to_be_bits_example\n\n #[test]\n // docs:start:to_le_bits_example\n fn test_to_le_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_le_bits();\n assert_eq(bits, [0, 1, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_bits_example\n\n #[test]\n // docs:start:to_be_bytes_example\n fn test_to_be_bytes() {\n let field = 2;\n let bytes: [u8; 8] = field.to_be_bytes();\n assert_eq(bytes, [0, 0, 0, 0, 0, 0, 0, 2]);\n assert_eq(Field::from_be_bytes::<8>(bytes), field);\n }\n // docs:end:to_be_bytes_example\n\n #[test]\n // docs:start:to_le_bytes_example\n fn test_to_le_bytes() {\n let field = 2;\n let bytes: [u8; 8] = field.to_le_bytes();\n assert_eq(bytes, [2, 0, 0, 0, 0, 0, 0, 0]);\n assert_eq(Field::from_le_bytes::<8>(bytes), field);\n }\n // docs:end:to_le_bytes_example\n\n #[test]\n // docs:start:to_be_radix_example\n fn test_to_be_radix() {\n // 259, in base 256, big endian, is [1, 3].\n // i.e. 3 * 256^0 + 1 * 256^1\n let field = 259;\n\n // The radix (in this example, 256) must be a power of 2.\n // The length of the returned byte array can be specified to be\n // >= the amount of space needed.\n let bytes: [u8; 8] = field.to_be_radix(256);\n assert_eq(bytes, [0, 0, 0, 0, 0, 0, 1, 3]);\n assert_eq(Field::from_be_bytes::<8>(bytes), field);\n }\n // docs:end:to_be_radix_example\n\n #[test]\n // docs:start:to_le_radix_example\n fn test_to_le_radix() {\n // 259, in base 256, little endian, is [3, 1].\n // i.e. 3 * 256^0 + 1 * 256^1\n let field = 259;\n\n // The radix (in this example, 256) must be a power of 2.\n // The length of the returned byte array can be specified to be\n // >= the amount of space needed.\n let bytes: [u8; 8] = field.to_le_radix(256);\n assert_eq(bytes, [3, 1, 0, 0, 0, 0, 0, 0]);\n assert_eq(Field::from_le_bytes::<8>(bytes), field);\n }\n // docs:end:to_le_radix_example\n\n #[test(should_fail_with = \"radix must be greater than 1\")]\n fn test_to_le_radix_1() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(1);\n } else {\n panic(f\"radix must be greater than 1\");\n }\n }\n\n // TODO: Update this test to account for the Brillig restriction that the radix must be greater than 2\n //#[test]\n //fn test_to_le_radix_brillig_1() {\n // // this test should only fail in constrained mode\n // if runtime::is_unconstrained() {\n // let field = 1;\n // let out: [u8; 8] = field.to_le_radix(1);\n // crate::println(out);\n // let expected = [0; 8];\n // assert(out == expected, \"unexpected result\");\n // }\n //}\n\n #[test(should_fail_with = \"radix must be a power of 2\")]\n fn test_to_le_radix_3() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(3);\n } else {\n panic(f\"radix must be a power of 2\");\n }\n }\n\n #[test]\n fn test_to_le_radix_brillig_3() {\n // this test should only fail in constrained mode\n if runtime::is_unconstrained() {\n let field = 1;\n let out: [u8; 8] = field.to_le_radix(3);\n let mut expected = [0; 8];\n expected[0] = 1;\n assert(out == expected, \"unexpected result\");\n }\n }\n\n #[test(should_fail_with = \"radix must be less than or equal to 256\")]\n fn test_to_le_radix_512() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(512);\n } else {\n panic(f\"radix must be less than or equal to 256\")\n }\n }\n\n // TODO: Update this test to account for the Brillig restriction that the radix must be less than 512\n //#[test]\n //fn test_to_le_radix_brillig_512() {\n // // this test should only fail in constrained mode\n // if runtime::is_unconstrained() {\n // let field = 1;\n // let out: [u8; 8] = field.to_le_radix(512);\n // let mut expected = [0; 8];\n // expected[0] = 1;\n // assert(out == expected, \"unexpected result\");\n // }\n //}\n\n #[test]\n unconstrained fn test_field_less_than() {\n assert(field_less_than(0, 1));\n assert(field_less_than(0, 0x100));\n assert(field_less_than(0x100, 0 - 1));\n assert(!field_less_than(0 - 1, 0));\n }\n}\n"
|
|
5965
5965
|
},
|
|
5966
5966
|
"21": {
|
|
5967
5967
|
"path": "std/hash/mod.nr",
|
|
5968
5968
|
"source": "pub mod poseidon;\npub mod poseidon2;\npub mod keccak;\npub mod sha256;\npub mod sha512;\n\nuse crate::default::Default;\nuse crate::embedded_curve_ops::{\n EmbeddedCurvePoint, EmbeddedCurveScalar, multi_scalar_mul, multi_scalar_mul_array_return,\n};\nuse crate::meta::derive_via;\nuse crate::uint128::U128;\n\n// Kept for backwards compatibility\npub use sha256::{digest, sha256, sha256_compression, sha256_var};\n\n#[foreign(blake2s)]\n// docs:start:blake2s\npub fn blake2s<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake2s\n{}\n\n#[foreign(blake3)]\n// docs:start:blake3\npub fn blake3<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake3\n{}\n\n// docs:start:pedersen_commitment\npub fn pedersen_commitment<let N: u32>(input: [Field; N]) -> EmbeddedCurvePoint {\n // docs:end:pedersen_commitment\n pedersen_commitment_with_separator(input, 0)\n}\n\n#[inline_always]\npub fn pedersen_commitment_with_separator<let N: u32>(\n input: [Field; N],\n separator: u32,\n) -> EmbeddedCurvePoint {\n let mut points = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N];\n for i in 0..N {\n // we use the unsafe version because the multi_scalar_mul will constrain the scalars.\n points[i] = from_field_unsafe(input[i]);\n }\n let generators = derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n multi_scalar_mul(generators, points)\n}\n\n// docs:start:pedersen_hash\npub fn pedersen_hash<let N: u32>(input: [Field; N]) -> Field\n// docs:end:pedersen_hash\n{\n pedersen_hash_with_separator(input, 0)\n}\n\n#[no_predicates]\npub fn pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {\n let mut scalars: [EmbeddedCurveScalar; N + 1] = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N + 1];\n let mut generators: [EmbeddedCurvePoint; N + 1] =\n [EmbeddedCurvePoint::point_at_infinity(); N + 1];\n let domain_generators: [EmbeddedCurvePoint; N] =\n derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n\n for i in 0..N {\n scalars[i] = from_field_unsafe(input[i]);\n generators[i] = domain_generators[i];\n }\n scalars[N] = EmbeddedCurveScalar { lo: N as Field, hi: 0 as Field };\n\n let length_generator: [EmbeddedCurvePoint; 1] =\n derive_generators(\"pedersen_hash_length\".as_bytes(), 0);\n generators[N] = length_generator[0];\n multi_scalar_mul_array_return(generators, scalars)[0]\n}\n\n#[field(bn254)]\n#[inline_always]\npub fn derive_generators<let N: u32, let M: u32>(\n domain_separator_bytes: [u8; M],\n starting_index: u32,\n) -> [EmbeddedCurvePoint; N] {\n crate::assert_constant(domain_separator_bytes);\n // TODO(https://github.com/noir-lang/noir/issues/5672): Add back assert_constant on starting_index\n __derive_generators(domain_separator_bytes, starting_index)\n}\n\n#[builtin(derive_pedersen_generators)]\n#[field(bn254)]\nfn __derive_generators<let N: u32, let M: u32>(\n domain_separator_bytes: [u8; M],\n starting_index: u32,\n) -> [EmbeddedCurvePoint; N] {}\n\n#[field(bn254)]\n// Same as from_field but:\n// does not assert the limbs are 128 bits\n// does not assert the decomposition does not overflow the EmbeddedCurveScalar\nfn from_field_unsafe(scalar: Field) -> EmbeddedCurveScalar {\n /// Safety: xlo and xhi decomposition is checked below\n let (xlo, xhi) = unsafe { crate::field::bn254::decompose_hint(scalar) };\n // Check that the decomposition is correct\n assert_eq(scalar, xlo + crate::field::bn254::TWO_POW_128 * xhi);\n EmbeddedCurveScalar { lo: xlo, hi: xhi }\n}\n\npub fn hash_to_field(inputs: [Field]) -> Field {\n let mut sum = 0;\n\n for input in inputs {\n let input_bytes: [u8; 32] = input.to_le_bytes();\n sum += crate::field::bytes32_to_field(blake2s(input_bytes));\n }\n\n sum\n}\n\n// docs:start:keccak256\npub fn keccak256<let N: u32>(input: [u8; N], message_size: u32) -> [u8; 32]\n// docs:end:keccak256\n{\n crate::hash::keccak::keccak256(input, message_size)\n}\n\n#[foreign(poseidon2_permutation)]\npub fn poseidon2_permutation<let N: u32>(_input: [Field; N], _state_length: u32) -> [Field; N] {}\n\n// Generic hashing support.\n// Partially ported and impacted by rust.\n\n// Hash trait shall be implemented per type.\n#[derive_via(derive_hash)]\npub trait Hash {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher;\n}\n\n// docs:start:derive_hash\ncomptime fn derive_hash(s: StructDefinition) -> Quoted {\n let name = quote { Hash };\n let signature = quote { fn hash<H>(_self: Self, _state: &mut H) where H: std::hash::Hasher };\n let for_each_field = |name| quote { _self.$name.hash(_state); };\n crate::meta::make_trait_impl(\n s,\n name,\n signature,\n for_each_field,\n quote {},\n |fields| fields,\n )\n}\n// docs:end:derive_hash\n\n// Hasher trait shall be implemented by algorithms to provide hash-agnostic means.\n// TODO: consider making the types generic here ([u8], [Field], etc.)\npub trait Hasher {\n fn finish(self) -> Field;\n\n fn write(&mut self, input: Field);\n}\n\n// BuildHasher is a factory trait, responsible for production of specific Hasher.\npub trait BuildHasher<H>\nwhere\n H: Hasher,\n{\n fn build_hasher(self) -> H;\n}\n\npub struct BuildHasherDefault<H>;\n\nimpl<H> BuildHasher<H> for BuildHasherDefault<H>\nwhere\n H: Hasher + Default,\n{\n fn build_hasher(_self: Self) -> H {\n H::default()\n }\n}\n\nimpl<H> Default for BuildHasherDefault<H>\nwhere\n H: Hasher + Default,\n{\n fn default() -> Self {\n BuildHasherDefault {}\n }\n}\n\nimpl Hash for Field {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self);\n }\n}\n\nimpl Hash for u1 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u8 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u16 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u32 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u64 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i8 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i16 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i32 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i64 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for bool {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for () {\n fn hash<H>(_self: Self, _state: &mut H)\n where\n H: Hasher,\n {}\n}\n\nimpl Hash for U128 {\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n H::write(state, self.lo as Field);\n H::write(state, self.hi as Field);\n }\n}\n\nimpl<T, let N: u32> Hash for [T; N]\nwhere\n T: Hash,\n{\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<T> Hash for [T]\nwhere\n T: Hash,\n{\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n self.len().hash(state);\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<A, B> Hash for (A, B)\nwhere\n A: Hash,\n B: Hash,\n{\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n self.0.hash(state);\n self.1.hash(state);\n }\n}\n\nimpl<A, B, C> Hash for (A, B, C)\nwhere\n A: Hash,\n B: Hash,\n C: Hash,\n{\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n }\n}\n\nimpl<A, B, C, D> Hash for (A, B, C, D)\nwhere\n A: Hash,\n B: Hash,\n C: Hash,\n D: Hash,\n{\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n }\n}\n\nimpl<A, B, C, D, E> Hash for (A, B, C, D, E)\nwhere\n A: Hash,\n B: Hash,\n C: Hash,\n D: Hash,\n E: Hash,\n{\n fn hash<H>(self, state: &mut H)\n where\n H: Hasher,\n {\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n self.4.hash(state);\n }\n}\n\n// Some test vectors for Pedersen hash and Pedersen Commitment.\n// They have been generated using the same functions so the tests are for now useless\n// but they will be useful when we switch to Noir implementation.\n#[test]\nfn assert_pedersen() {\n assert_eq(\n pedersen_hash_with_separator([1], 1),\n 0x1b3f4b1a83092a13d8d1a59f7acb62aba15e7002f4440f2275edb99ebbc2305f,\n );\n assert_eq(\n pedersen_commitment_with_separator([1], 1),\n EmbeddedCurvePoint {\n x: 0x054aa86a73cb8a34525e5bbed6e43ba1198e860f5f3950268f71df4591bde402,\n y: 0x209dcfbf2cfb57f9f6046f44d71ac6faf87254afc7407c04eb621a6287cac126,\n is_infinite: false,\n },\n );\n\n assert_eq(\n pedersen_hash_with_separator([1, 2], 2),\n 0x26691c129448e9ace0c66d11f0a16d9014a9e8498ee78f4d69f0083168188255,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2], 2),\n EmbeddedCurvePoint {\n x: 0x2e2b3b191e49541fe468ec6877721d445dcaffe41728df0a0eafeb15e87b0753,\n y: 0x2ff4482400ad3a6228be17a2af33e2bcdf41be04795f9782bd96efe7e24f8778,\n is_infinite: false,\n },\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3], 3),\n 0x0bc694b7a1f8d10d2d8987d07433f26bd616a2d351bc79a3c540d85b6206dbe4,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3], 3),\n EmbeddedCurvePoint {\n x: 0x1fee4e8cf8d2f527caa2684236b07c4b1bad7342c01b0f75e9a877a71827dc85,\n y: 0x2f9fedb9a090697ab69bf04c8bc15f7385b3e4b68c849c1536e5ae15ff138fd1,\n is_infinite: false,\n },\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4], 4),\n 0xdae10fb32a8408521803905981a2b300d6a35e40e798743e9322b223a5eddc,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4], 4),\n EmbeddedCurvePoint {\n x: 0x07ae3e202811e1fca39c2d81eabe6f79183978e6f12be0d3b8eda095b79bdbc9,\n y: 0x0afc6f892593db6fbba60f2da558517e279e0ae04f95758587760ba193145014,\n is_infinite: false,\n },\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5], 5),\n 0xfc375b062c4f4f0150f7100dfb8d9b72a6d28582dd9512390b0497cdad9c22,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5], 5),\n EmbeddedCurvePoint {\n x: 0x1754b12bd475a6984a1094b5109eeca9838f4f81ac89c5f0a41dbce53189bb29,\n y: 0x2da030e3cfcdc7ddad80eaf2599df6692cae0717d4e9f7bfbee8d073d5d278f7,\n is_infinite: false,\n },\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6], 6),\n 0x1696ed13dc2730062a98ac9d8f9de0661bb98829c7582f699d0273b18c86a572,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6], 6),\n EmbeddedCurvePoint {\n x: 0x190f6c0e97ad83e1e28da22a98aae156da083c5a4100e929b77e750d3106a697,\n y: 0x1f4b60f34ef91221a0b49756fa0705da93311a61af73d37a0c458877706616fb,\n is_infinite: false,\n },\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7], 7),\n 0x128c0ff144fc66b6cb60eeac8a38e23da52992fc427b92397a7dffd71c45ede3,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7], 7),\n EmbeddedCurvePoint {\n x: 0x015441e9d29491b06563fac16fc76abf7a9534c715421d0de85d20dbe2965939,\n y: 0x1d2575b0276f4e9087e6e07c2cb75aa1baafad127af4be5918ef8a2ef2fea8fc,\n is_infinite: false,\n },\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8),\n 0x2f960e117482044dfc99d12fece2ef6862fba9242be4846c7c9a3e854325a55c,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8),\n EmbeddedCurvePoint {\n x: 0x1657737676968887fceb6dd516382ea13b3a2c557f509811cd86d5d1199bc443,\n y: 0x1f39f0cb569040105fa1e2f156521e8b8e08261e635a2b210bdc94e8d6d65f77,\n is_infinite: false,\n },\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9),\n 0x0c96db0790602dcb166cc4699e2d306c479a76926b81c2cb2aaa92d249ec7be7,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9),\n EmbeddedCurvePoint {\n x: 0x0a3ceae42d14914a432aa60ec7fded4af7dad7dd4acdbf2908452675ec67e06d,\n y: 0xfc19761eaaf621ad4aec9a8b2e84a4eceffdba78f60f8b9391b0bd9345a2f2,\n is_infinite: false,\n },\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10),\n 0x2cd37505871bc460a62ea1e63c7fe51149df5d0801302cf1cbc48beb8dff7e94,\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10),\n EmbeddedCurvePoint {\n x: 0x2fb3f8b3d41ddde007c8c3c62550f9a9380ee546fcc639ffbb3fd30c8d8de30c,\n y: 0x300783be23c446b11a4c0fabf6c91af148937cea15fcf5fb054abf7f752ee245,\n is_infinite: false,\n },\n );\n}\n"
|
|
5969
5969
|
},
|
|
5970
|
-
"
|
|
5970
|
+
"243": {
|
|
5971
5971
|
"path": "/build-volume/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr",
|
|
5972
5972
|
"source": "use crate::{point::Point, traits::{Deserialize, Empty, Serialize}};\npub use crate::constants::KEY_VALIDATION_REQUEST_LENGTH;\n\npub struct KeyValidationRequest {\n pub pk_m: Point,\n pub sk_app: Field, // not a grumpkin scalar because it's output of poseidon2\n}\n\nimpl Eq for KeyValidationRequest {\n fn eq(self, request: KeyValidationRequest) -> bool {\n (request.pk_m.eq(self.pk_m)) & (request.sk_app.eq(self.sk_app))\n }\n}\n\nimpl Empty for KeyValidationRequest {\n fn empty() -> Self {\n KeyValidationRequest { pk_m: Point::empty(), sk_app: 0 }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {\n [self.pk_m.x, self.pk_m.y, self.pk_m.is_infinite as Field, self.sk_app]\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_LENGTH]) -> Self {\n Self {\n pk_m: Point { x: fields[0], y: fields[1], is_infinite: fields[2] as bool },\n sk_app: fields[3],\n }\n }\n}\n"
|
|
5973
5973
|
},
|
|
5974
|
-
"
|
|
5974
|
+
"250": {
|
|
5975
5975
|
"path": "/build-volume/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr",
|
|
5976
5976
|
"source": "use crate::{\n abis::function_selector::FunctionSelector,\n address::{\n partial_address::PartialAddress, salted_initialization_hash::SaltedInitializationHash,\n },\n constants::{\n AZTEC_ADDRESS_LENGTH, FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__CONTRACT_ADDRESS_V1,\n MAX_FIELD_VALUE,\n },\n contract_class_id::ContractClassId,\n hash::{poseidon2_hash_with_separator, private_functions_root_from_siblings},\n merkle_tree::membership::MembershipWitness,\n public_keys::{IvpkM, NpkM, OvpkM, PublicKeys, ToPoint, TpkM},\n traits::{Deserialize, Empty, FromField, Packable, Serialize, ToField},\n};\n\n// We do below because `use crate::point::Point;` does not work\nuse dep::std::embedded_curve_ops::EmbeddedCurvePoint as Point;\n\nuse crate::public_keys::AddressPoint;\nuse ec::{pow, sqrt};\nuse std::{\n embedded_curve_ops::{EmbeddedCurveScalar, fixed_base_scalar_mul as derive_public_key},\n ops::Add,\n};\n\n// Aztec address\npub struct AztecAddress {\n pub inner: Field,\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other: Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self { inner: 0 }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n FromField::from_field(fields[0])\n }\n}\n\n/// We implement the Packable trait for AztecAddress because it can be stored in contract's storage (and there\n/// the implementation of Packable is required).\nimpl Packable<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn pack(self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n self.serialize()\n }\n\n fn unpack(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n Self::deserialize(fields)\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn to_address_point(self) -> AddressPoint {\n // We compute the address point by taking our address, setting it to x, and then solving for y in the\n // equation which defines our bn curve:\n // y^2 = x^3 - 17; x = address\n let x = self.inner;\n let y_squared = pow(x, 3) - 17;\n\n // TODO (#8970): Handle cases where we cannot recover a point from an address\n let mut y = sqrt(y_squared);\n\n // If we get a negative y coordinate (any y where y > MAX_FIELD_VALUE / 2), we pin it to the\n // positive one (any value where y <= MAX_FIELD_VALUE / 2) by subtracting it from the Field modulus\n // note: The field modulus is MAX_FIELD_VALUE + 1\n if (!(y.lt(MAX_FIELD_VALUE / 2) | y.eq(MAX_FIELD_VALUE / 2))) {\n y = (MAX_FIELD_VALUE + 1) - y;\n }\n\n AddressPoint { inner: Point { x: self.inner, y, is_infinite: false } }\n }\n\n pub fn compute(public_keys: PublicKeys, partial_address: PartialAddress) -> AztecAddress {\n let public_keys_hash = public_keys.hash();\n\n let pre_address = poseidon2_hash_with_separator(\n [public_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS_V1,\n );\n\n let address_point = derive_public_key(EmbeddedCurveScalar::from_field(pre_address)).add(\n public_keys.ivpk_m.to_point(),\n );\n\n // Note that our address is only the x-coordinate of the full address_point. This is okay because when people want to encrypt something and send it to us\n // they can recover our full point using the x-coordinate (our address itself). To do this, they recompute the y-coordinate according to the equation y^2 = x^3 - 17.\n // When they do this, they may get a positive y-coordinate (a value that is less than or equal to MAX_FIELD_VALUE / 2) or\n // a negative y-coordinate (a value that is more than MAX_FIELD_VALUE), and we cannot dictate which one they get and hence the recovered point may sometimes be different than the one\n // our secrect can decrypt. Regardless though, they should and will always encrypt using point with the positive y-coordinate by convention.\n // This ensures that everyone encrypts to the same point given an arbitrary x-coordinate (address). This is allowed because even though our original point may not have a positive y-coordinate,\n // with our original secret, we will be able to derive the secret to the point with the flipped (and now positive) y-coordinate that everyone encrypts to.\n AztecAddress::from_field(address_point.x)\n }\n\n pub fn compute_from_private_function(\n function_selector: FunctionSelector,\n function_vk_hash: Field,\n function_leaf_membership_witness: MembershipWitness<FUNCTION_TREE_HEIGHT>,\n contract_class_artifact_hash: Field,\n contract_class_public_bytecode_commitment: Field,\n salted_initialization_hash: SaltedInitializationHash,\n public_keys: PublicKeys,\n ) -> Self {\n let private_functions_root = private_functions_root_from_siblings(\n function_selector,\n function_vk_hash,\n function_leaf_membership_witness.leaf_index,\n function_leaf_membership_witness.sibling_path,\n );\n\n let contract_class_id = ContractClassId::compute(\n contract_class_artifact_hash,\n private_functions_root,\n contract_class_public_bytecode_commitment,\n );\n\n // Compute contract address using the preimage which includes the class_id.\n let partial_address = PartialAddress::compute_from_salted_initialization_hash(\n contract_class_id,\n salted_initialization_hash,\n );\n\n AztecAddress::compute(public_keys, partial_address)\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n\n#[test]\nfn compute_address_from_partial_and_pub_keys() {\n let public_keys = PublicKeys {\n npk_m: NpkM {\n inner: Point {\n x: 0x22f7fcddfa3ce3e8f0cc8e82d7b94cdd740afa3e77f8e4a63ea78a239432dcab,\n y: 0x0471657de2b6216ade6c506d28fbc22ba8b8ed95c871ad9f3e3984e90d9723a7,\n is_infinite: false,\n },\n },\n ivpk_m: IvpkM {\n inner: Point {\n x: 0x111223493147f6785514b1c195bb37a2589f22a6596d30bb2bb145fdc9ca8f1e,\n y: 0x273bbffd678edce8fe30e0deafc4f66d58357c06fd4a820285294b9746c3be95,\n is_infinite: false,\n },\n },\n ovpk_m: OvpkM {\n inner: Point {\n x: 0x09115c96e962322ffed6522f57194627136b8d03ac7469109707f5e44190c484,\n y: 0x0c49773308a13d740a7f0d4f0e6163b02c5a408b6f965856b6a491002d073d5b,\n is_infinite: false,\n },\n },\n tpk_m: TpkM {\n inner: Point {\n x: 0x00d3d81beb009873eb7116327cf47c612d5758ef083d4fda78e9b63980b2a762,\n y: 0x2f567d22d2b02fe1f4ad42db9d58a36afd1983e7e2909d1cab61cafedad6193a,\n is_infinite: false,\n },\n },\n };\n\n let partial_address = PartialAddress::from_field(\n 0x0a7c585381b10f4666044266a02405bf6e01fa564c8517d4ad5823493abd31de,\n );\n\n let address = AztecAddress::compute(public_keys, partial_address);\n\n // The following value was generated by `derivation.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let expected_computed_address_from_partial_and_pubkeys =\n 0x24e4646f58b9fbe7d38e317db8d5636c423fbbdfbe119fc190fe9c64747e0c62;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkeys);\n}\n\n#[test]\nfn compute_preaddress_from_partial_and_pub_keys() {\n let pre_address = poseidon2_hash_with_separator([1, 2], GENERATOR_INDEX__CONTRACT_ADDRESS_V1);\n let expected_computed_preaddress_from_partial_and_pubkey =\n 0x23ce9be3fa3c846b0f9245cc796902e731d04f086e8a42473bb29e405fc98075;\n assert(pre_address == expected_computed_preaddress_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n"
|
|
5977
5977
|
},
|
|
5978
|
-
"
|
|
5978
|
+
"253": {
|
|
5979
5979
|
"path": "/build-volume/noir-projects/noir-protocol-circuits/crates/types/src/address/partial_address.nr",
|
|
5980
5980
|
"source": "use crate::{\n address::{aztec_address::AztecAddress, salted_initialization_hash::SaltedInitializationHash},\n constants::GENERATOR_INDEX__PARTIAL_ADDRESS,\n contract_class_id::ContractClassId,\n hash::poseidon2_hash_with_separator,\n traits::{Deserialize, Serialize, ToField},\n};\n\nglobal PARTIAL_ADDRESS_LENGTH: u32 = 1;\n\n// Partial address\npub struct PartialAddress {\n pub inner: Field,\n}\n\nimpl ToField for PartialAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn serialize(self: Self) -> [Field; PARTIAL_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn deserialize(fields: [Field; PARTIAL_ADDRESS_LENGTH]) -> Self {\n PartialAddress { inner: fields[0] }\n }\n}\n\nimpl PartialAddress {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(\n contract_class_id: ContractClassId,\n salt: Field,\n initialization_hash: Field,\n deployer: AztecAddress,\n ) -> Self {\n PartialAddress::compute_from_salted_initialization_hash(\n contract_class_id,\n SaltedInitializationHash::compute(salt, initialization_hash, deployer),\n )\n }\n\n pub fn compute_from_salted_initialization_hash(\n contract_class_id: ContractClassId,\n salted_initialization_hash: SaltedInitializationHash,\n ) -> Self {\n PartialAddress::from_field(poseidon2_hash_with_separator(\n [contract_class_id.to_field(), salted_initialization_hash.to_field()],\n GENERATOR_INDEX__PARTIAL_ADDRESS,\n ))\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn is_zero(self) -> bool {\n self.to_field() == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"
|
|
5981
5981
|
},
|
|
5982
|
-
"
|
|
5982
|
+
"255": {
|
|
5983
5983
|
"path": "/build-volume/noir-projects/noir-protocol-circuits/crates/types/src/address/salted_initialization_hash.nr",
|
|
5984
5984
|
"source": "use crate::{\n address::aztec_address::AztecAddress, constants::GENERATOR_INDEX__PARTIAL_ADDRESS,\n hash::poseidon2_hash_with_separator, traits::ToField,\n};\n\n// Salted initialization hash. Used in the computation of a partial address.\npub struct SaltedInitializationHash {\n pub inner: Field,\n}\n\nimpl ToField for SaltedInitializationHash {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl SaltedInitializationHash {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(salt: Field, initialization_hash: Field, deployer: AztecAddress) -> Self {\n SaltedInitializationHash::from_field(poseidon2_hash_with_separator(\n [salt, initialization_hash, deployer.to_field()],\n GENERATOR_INDEX__PARTIAL_ADDRESS,\n ))\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"
|
|
5985
5985
|
},
|
|
5986
|
-
"259": {
|
|
5987
|
-
"path": "/build-volume/noir-projects/noir-protocol-circuits/crates/types/src/contract_instance.nr",
|
|
5988
|
-
"source": "use crate::{\n address::{aztec_address::AztecAddress, partial_address::PartialAddress},\n constants::CONTRACT_INSTANCE_LENGTH,\n contract_class_id::ContractClassId,\n public_keys::PublicKeys,\n traits::{Deserialize, FromField, Hash, Serialize, ToField},\n};\n\npub struct ContractInstance {\n pub salt: Field,\n pub deployer: AztecAddress,\n pub contract_class_id: ContractClassId,\n pub initialization_hash: Field,\n pub public_keys: PublicKeys,\n}\n\nimpl Eq for ContractInstance {\n fn eq(self, other: Self) -> bool {\n self.public_keys.eq(other.public_keys)\n & self.initialization_hash.eq(other.initialization_hash)\n & self.contract_class_id.eq(other.contract_class_id)\n & self.salt.eq(other.salt)\n }\n}\n\nimpl Serialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn serialize(self) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n let public_keys_serialized = self.public_keys.serialize();\n [\n self.salt,\n self.deployer.to_field(),\n self.contract_class_id.to_field(),\n self.initialization_hash,\n public_keys_serialized[0],\n public_keys_serialized[1],\n public_keys_serialized[2],\n public_keys_serialized[3],\n public_keys_serialized[4],\n public_keys_serialized[5],\n public_keys_serialized[6],\n public_keys_serialized[7],\n public_keys_serialized[8],\n public_keys_serialized[9],\n public_keys_serialized[10],\n public_keys_serialized[11],\n ]\n }\n}\n\nimpl Deserialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn deserialize(serialized: [Field; CONTRACT_INSTANCE_LENGTH]) -> Self {\n Self {\n salt: serialized[0],\n deployer: AztecAddress::from_field(serialized[1]),\n contract_class_id: ContractClassId::from_field(serialized[2]),\n initialization_hash: serialized[3],\n public_keys: PublicKeys::deserialize([\n serialized[4],\n serialized[5],\n serialized[6],\n serialized[7],\n serialized[8],\n serialized[9],\n serialized[10],\n serialized[11],\n serialized[12],\n serialized[13],\n serialized[14],\n serialized[15],\n ]),\n }\n }\n}\n\nimpl Hash for ContractInstance {\n fn hash(self) -> Field {\n self.to_address().to_field()\n }\n}\n\nimpl ContractInstance {\n pub fn to_address(self) -> AztecAddress {\n AztecAddress::compute(\n self.public_keys,\n PartialAddress::compute(\n self.contract_class_id,\n self.salt,\n self.initialization_hash,\n self.deployer,\n ),\n )\n }\n}\n"
|
|
5989
|
-
},
|
|
5990
5986
|
"26": {
|
|
5991
5987
|
"path": "std/hash/poseidon2.nr",
|
|
5992
5988
|
"source": "use crate::default::Default;\nuse crate::hash::Hasher;\n\ncomptime global RATE: u32 = 3;\n\npub struct Poseidon2 {\n cache: [Field; 3],\n state: [Field; 4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n Poseidon2::hash_internal(input, message_size, message_size != N)\n }\n\n pub fn new(iv: Field) -> Poseidon2 {\n let mut result =\n Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) {\n // add the cache into sponge state\n for i in 0..RATE {\n // We effectively zero-pad the cache by only adding to the state\n // cache that is less than the specified `cache_size`\n if i < self.cache_size {\n self.state[i] += self.cache[i];\n }\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n }\n\n fn absorb(&mut self, input: Field) {\n assert(!self.squeeze_mode);\n if self.cache_size == RATE {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n assert(!self.squeeze_mode);\n // If we're in absorb mode, apply sponge permutation to compress the cache.\n self.perform_duplex();\n self.squeeze_mode = true;\n\n // Pop one item off the top of the permutation and return it.\n self.state[0]\n }\n\n fn hash_internal<let N: u32>(\n input: [Field; N],\n in_len: u32,\n is_variable_length: bool,\n ) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv: Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\npub struct Poseidon2Hasher {\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv: Field = (self._state.len() as Field) * 18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field) {\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher { _state: &[] }\n }\n}\n"
|
|
5993
5989
|
},
|
|
5994
|
-
"
|
|
5990
|
+
"260": {
|
|
5991
|
+
"path": "/build-volume/noir-projects/noir-protocol-circuits/crates/types/src/contract_instance.nr",
|
|
5992
|
+
"source": "use crate::{\n address::{aztec_address::AztecAddress, partial_address::PartialAddress},\n constants::CONTRACT_INSTANCE_LENGTH,\n contract_class_id::ContractClassId,\n public_keys::PublicKeys,\n traits::{Deserialize, FromField, Hash, Serialize, ToField},\n};\n\npub struct ContractInstance {\n pub salt: Field,\n pub deployer: AztecAddress,\n pub contract_class_id: ContractClassId,\n pub initialization_hash: Field,\n pub public_keys: PublicKeys,\n}\n\nimpl Eq for ContractInstance {\n fn eq(self, other: Self) -> bool {\n self.public_keys.eq(other.public_keys)\n & self.initialization_hash.eq(other.initialization_hash)\n & self.contract_class_id.eq(other.contract_class_id)\n & self.salt.eq(other.salt)\n }\n}\n\nimpl Serialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn serialize(self) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n let public_keys_serialized = self.public_keys.serialize();\n [\n self.salt,\n self.deployer.to_field(),\n self.contract_class_id.to_field(),\n self.initialization_hash,\n public_keys_serialized[0],\n public_keys_serialized[1],\n public_keys_serialized[2],\n public_keys_serialized[3],\n public_keys_serialized[4],\n public_keys_serialized[5],\n public_keys_serialized[6],\n public_keys_serialized[7],\n public_keys_serialized[8],\n public_keys_serialized[9],\n public_keys_serialized[10],\n public_keys_serialized[11],\n ]\n }\n}\n\nimpl Deserialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn deserialize(serialized: [Field; CONTRACT_INSTANCE_LENGTH]) -> Self {\n Self {\n salt: serialized[0],\n deployer: AztecAddress::from_field(serialized[1]),\n contract_class_id: ContractClassId::from_field(serialized[2]),\n initialization_hash: serialized[3],\n public_keys: PublicKeys::deserialize([\n serialized[4],\n serialized[5],\n serialized[6],\n serialized[7],\n serialized[8],\n serialized[9],\n serialized[10],\n serialized[11],\n serialized[12],\n serialized[13],\n serialized[14],\n serialized[15],\n ]),\n }\n }\n}\n\nimpl Hash for ContractInstance {\n fn hash(self) -> Field {\n self.to_address().to_field()\n }\n}\n\nimpl ContractInstance {\n pub fn to_address(self) -> AztecAddress {\n AztecAddress::compute(\n self.public_keys,\n PartialAddress::compute(\n self.contract_class_id,\n self.salt,\n self.initialization_hash,\n self.deployer,\n ),\n )\n }\n}\n"
|
|
5993
|
+
},
|
|
5994
|
+
"266": {
|
|
5995
5995
|
"path": "/build-volume/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr",
|
|
5996
5996
|
"source": "/// Utility function to console.log data in the acir simulator.\n/// Example:\n/// debug_log(\"blah blah this is a debug string\");\npub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n\n/// Utility function to console.log data in the acir simulator. This variant receives a format string in which the\n/// `${k}` tokens will be replaced with the k-eth value in the `args` array.\n/// Examples:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\npub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n /// Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe\n /// to call.\n unsafe { debug_log_oracle_wrapper(msg, args) };\n}\n\npub unconstrained fn debug_log_oracle_wrapper<let M: u32, let N: u32>(\n msg: str<M>,\n args: [Field; N],\n) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n"
|
|
5997
5997
|
},
|
|
5998
|
-
"
|
|
5998
|
+
"267": {
|
|
5999
5999
|
"path": "/build-volume/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr",
|
|
6000
6000
|
"source": "use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector,\n log_hash::{LogHash, ScopedLogHash},\n note_hash::ScopedNoteHash,\n nullifier::ScopedNullifier,\n private_log::{PrivateLog, PrivateLogData},\n side_effect::{OrderedValue, scoped::Scoped},\n },\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n },\n merkle_tree::root::root_from_sibling_path,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n poseidon2::Poseidon2Sponge,\n traits::{FromField, Hash, is_empty, ToField},\n utils::field::field_from_bytes_32_trunc,\n};\nuse super::{constants::TWO_POW_64, utils::{arrays::array_concat, field::field_from_bytes}};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256::digest(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(\n function_leaf,\n function_leaf_index,\n function_leaf_sibling_path,\n )\n}\n\npub fn compute_note_hash_nonce(first_nullifier_in_tx: Field, note_index_in_tx: u32) -> Field {\n // Hashing the first nullifier with note index in tx is guaranteed to be unique (because all nullifiers are also\n // unique).\n poseidon2_hash_with_separator(\n [first_nullifier_in_tx, note_index_in_tx as Field],\n GENERATOR_INDEX__NOTE_HASH_NONCE,\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n let inputs = [nonce, siloed_note_hash];\n poseidon2_hash_with_separator(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [app.to_field(), note_hash],\n GENERATOR_INDEX__SILOED_NOTE_HASH,\n )\n}\n\n/// Computes unique note hashes from siloed note hashes\npub fn compute_unique_siloed_note_hash(\n siloed_note_hash: Field,\n first_nullifier: Field,\n note_index_in_tx: u32,\n) -> Field {\n if siloed_note_hash == 0 {\n 0\n } else {\n let nonce = compute_note_hash_nonce(first_nullifier, note_index_in_tx);\n compute_unique_note_hash(nonce, siloed_note_hash)\n }\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\npub fn silo_note_hash(note_hash: ScopedNoteHash) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_note_hash(note_hash.contract_address, note_hash.value())\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [app.to_field(), nullifier],\n GENERATOR_INDEX__OUTER_NULLIFIER,\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn compute_siloed_private_log_field(contract_address: AztecAddress, field: Field) -> Field {\n poseidon2_hash([contract_address.to_field(), field])\n}\n\npub fn silo_private_log(private_log: Scoped<PrivateLogData>) -> PrivateLog {\n if private_log.contract_address.is_zero() {\n private_log.inner.log\n } else {\n let mut fields = private_log.inner.log.fields;\n fields[0] = compute_siloed_private_log_field(private_log.contract_address, fields[0]);\n PrivateLog { fields }\n }\n}\n\nfn compute_siloed_contract_class_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_contract_class_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_contract_class_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n poseidon2_hash([left, right])\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field,\n) -> Field {\n let mut bytes: [u8; 160] = std::mem::zeroed();\n\n let inputs =\n [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..5 {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes: [u8; 32] = inputs[i].to_be_bytes();\n for j in 0..32 {\n bytes[32 * i + j] = item_bytes[j];\n }\n }\n\n sha256_to_field(bytes)\n}\n\npub fn silo_l2_to_l1_message(\n msg: ScopedL2ToL1Message,\n rollup_version_id: Field,\n chain_id: Field,\n) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id,\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes: [u8; 32] = input[offset].to_be_bytes();\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\npub fn compute_tx_logs_hash<let N: u32>(logs: [LogHash; N]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; N * 32];\n for offset in 0..N {\n // TODO: This is not checking that the decomposition is smaller than P\n let input_as_bytes: [u8; 32] = logs[offset].value.to_be_radix(256);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn verification_key_hash<let N: u32>(key: [Field; N]) -> Field {\n crate::hash::poseidon2_hash(key)\n}\n\n#[inline_always]\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(inputs: [Field; N], separator: T) -> Field\nwhere\n T: ToField,\n{\n let inputs_with_separator = array_concat([separator.to_field()], inputs);\n poseidon2_hash(inputs_with_separator)\n}\n\n// Performs a fixed length hash with a subarray of the given input.\n// Useful for SpongeBlob in which we aborb M things and want to check it vs a hash of M elts of an N-len array.\n// Using stdlib poseidon, this will always absorb an extra 1 as a 'variable' hash, and not match spongeblob.squeeze()\n// or any ts implementation. Also checks that any remaining elts not hashed are empty.\n#[no_predicates]\npub fn poseidon2_hash_subarray<let N: u32>(input: [Field; N], in_len: u32) -> Field {\n let mut sponge = poseidon2_absorb_chunks(input, in_len, false);\n sponge.squeeze()\n}\n\n// NB the below is the same as std::hash::poseidon2::Poseidon2::hash(), but replacing a range check with a bit check,\n// and absorbing in chunks of 3 below.\n#[no_predicates]\npub fn poseidon2_cheaper_variable_hash<let N: u32>(input: [Field; N], in_len: u32) -> Field {\n let mut sponge = poseidon2_absorb_chunks(input, in_len, true);\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if in_len != N {\n sponge.absorb(1);\n }\n sponge.squeeze()\n}\n\n// The below fn reduces gates of a conditional poseidon2 hash by approx 3x (thank you ~* Giant Brain Dev @IlyasRidhuan *~ for the idea)\n// Why? Because when we call stdlib poseidon, we call absorb for each item. When absorbing is conditional, it seems the compiler does not know\n// what cache_size will be when calling absorb, so it assigns the permutation gates for /each i/ rather than /every 3rd i/, which is actually required.\n// The below code forces the compiler to:\n// - absorb normally up to 2 times to set cache_size to 1\n// - absorb in chunks of 3 to ensure perm. only happens every 3rd absorb\n// - absorb normally up to 2 times to add any remaining values to the hash\n// In fixed len hashes, the compiler is able to tell that it will only need to perform the permutation every 3 absorbs.\n// NB: it also replaces unnecessary range checks (i < thing) with a bit check (&= i != thing), which alone reduces the gates of a var. hash by half.\n\n#[no_predicates]\nfn poseidon2_absorb_chunks<let N: u32>(\n input: [Field; N],\n in_len: u32,\n variable: bool,\n) -> Poseidon2Sponge {\n let iv: Field = (in_len as Field) * TWO_POW_64;\n let mut sponge = Poseidon2Sponge::new(iv);\n // Even though shift is always 1 here, if we input in_len = 0 we get an underflow\n // since we cannot isolate computation branches. The below is just to avoid that.\n let shift = if in_len == 0 { 0 } else { 1 };\n if in_len != 0 {\n // cache_size = 0, init absorb\n sponge.cache[0] = input[0];\n sponge.cache_size = 1;\n // shift = num elts already added to make cache_size 1 = 1 for a fresh sponge\n // M = max_chunks = (N - 1 - (N - 1) % 3) / 3: (must be written as a fn of N to compile)\n // max_remainder = (N - 1) % 3;\n // max_chunks = (N - 1 - max_remainder) / 3;\n sponge = poseidon2_absorb_chunks_loop::<N, (N - 1 - (N - 1) % 3) / 3>(\n sponge,\n input,\n in_len,\n variable,\n shift,\n );\n }\n sponge\n}\n\n// NB: If it's not required to check that the non-absorbed elts of 'input' are 0s, set skip_0_check=true\n#[no_predicates]\npub fn poseidon2_absorb_chunks_existing_sponge<let N: u32>(\n in_sponge: Poseidon2Sponge,\n input: [Field; N],\n in_len: u32,\n skip_0_check: bool,\n) -> Poseidon2Sponge {\n let mut sponge = in_sponge;\n // 'shift' is to account for already added inputs\n let mut shift = 0;\n // 'stop' is to avoid an underflow when inputting in_len = 0\n let mut stop = false;\n for i in 0..3 {\n if shift == in_len {\n stop = true;\n }\n if (sponge.cache_size != 1) & (!stop) {\n sponge.absorb(input[i]);\n shift += 1;\n }\n }\n sponge = if stop {\n sponge\n } else {\n // max_chunks = (N - (N % 3)) / 3;\n poseidon2_absorb_chunks_loop::<N, (N - (N % 3)) / 3>(\n sponge,\n input,\n in_len,\n skip_0_check,\n shift,\n )\n };\n sponge\n}\n\n// The below is the loop to absorb elts into a poseidon sponge in chunks of 3\n// shift - the num of elts already absorbed to ensure the sponge's cache_size = 1\n// M - the max number of chunks required to absorb N things (must be comptime to compile)\n// NB: The 0 checks ('Found non-zero field...') are messy, but having a separate loop over N to check\n// for 0s costs 3N gates. Current approach is approx 2N gates.\n#[no_predicates]\nfn poseidon2_absorb_chunks_loop<let N: u32, let M: u32>(\n in_sponge: Poseidon2Sponge,\n input: [Field; N],\n in_len: u32,\n variable: bool,\n shift: u32,\n) -> Poseidon2Sponge {\n assert(in_len <= N, \"Given in_len to absorb is larger than the input array len\");\n // When we have an existing sponge, we may have a shift of 0, and the final 'k+2' below = N\n // The below avoids an overflow\n let skip_last = 3 * M == N;\n // Writing in_sponge: &mut does not compile\n let mut sponge = in_sponge;\n let mut should_add = true;\n // The num of things left over after absorbing in 3s\n let remainder = (in_len - shift) % 3;\n // The num of chunks of 3 to absorb (maximum M)\n let chunks = (in_len - shift - remainder) / 3;\n for i in 0..M {\n // Now we loop through cache size = 1 -> 3\n should_add &= i != chunks;\n // This is the index at the start of the chunk (for readability)\n let k = 3 * i + shift;\n if should_add {\n // cache_size = 1, 2 => just assign\n sponge.cache[1] = input[k];\n sponge.cache[2] = input[k + 1];\n // cache_size = 3 => duplex + perm\n for j in 0..3 {\n sponge.state[j] += sponge.cache[j];\n }\n sponge.state = std::hash::poseidon2_permutation(sponge.state, 4);\n sponge.cache[0] = input[k + 2];\n // cache_size is now 1 again, repeat loop\n } else if (!variable) & (i != chunks) {\n // if we are hashing a fixed len array which is a subarray, we check the remaining elts are 0\n // NB: we don't check at i == chunks, because that chunk contains elts to be absorbed or checked below\n let last_0 = if (i == M - 1) & (skip_last) {\n 0\n } else {\n input[k + 2]\n };\n let all_0 = (input[k] == 0) & (input[k + 1] == 0) & (last_0 == 0);\n assert(all_0, \"Found non-zero field after breakpoint\");\n }\n }\n // we have 'remainder' num of items left to absorb\n should_add = true;\n // below is to avoid overflows (i.e. if inlen is close to N)\n let mut should_check = !variable;\n for i in 0..3 {\n should_add &= i != remainder;\n should_check &= in_len - remainder + i != N;\n if should_add {\n // we want to absorb the final 'remainder' items\n sponge.absorb(input[in_len - remainder + i]);\n } else if should_check {\n assert(input[in_len - remainder + i] == 0, \"Found non-zero field after breakpoint\");\n }\n }\n sponge\n}\n\npub fn poseidon2_hash_with_separator_slice<T>(inputs: [Field], separator: T) -> Field\nwhere\n T: ToField,\n{\n let in_len = inputs.len() + 1;\n let iv: Field = (in_len as Field) * TWO_POW_64;\n let mut sponge = Poseidon2Sponge::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\n#[no_predicates]\npub fn poseidon2_hash_bytes<let N: u32>(inputs: [u8; N]) -> Field {\n let mut fields = [0; (N + 30) / 31];\n let mut field_index = 0;\n let mut current_field = [0; 31];\n for i in 0..inputs.len() {\n let index = i % 31;\n current_field[index] = inputs[i];\n if index == 30 {\n fields[field_index] = field_from_bytes(current_field, false);\n current_field = [0; 31];\n field_index += 1;\n }\n }\n if field_index != fields.len() {\n fields[field_index] = field_from_bytes(current_field, false);\n }\n poseidon2_hash(fields)\n}\n\n#[test]\nfn poseidon_chunks_matches_fixed() {\n let in_len = 501;\n let mut input: [Field; 4096] = [0; 4096];\n let mut fixed_input = [3; 501];\n assert(in_len == fixed_input.len()); // sanity check\n for i in 0..in_len {\n input[i] = 3;\n }\n let sub_chunk_hash = poseidon2_hash_subarray(input, in_len);\n let fixed_len_hash = std::hash::poseidon2::Poseidon2::hash(fixed_input, fixed_input.len());\n assert(sub_chunk_hash == fixed_len_hash);\n}\n\n#[test]\nfn poseidon_chunks_matches_variable() {\n let in_len = 501;\n let mut input: [Field; 4096] = [0; 4096];\n for i in 0..in_len {\n input[i] = 3;\n }\n let variable_chunk_hash = poseidon2_cheaper_variable_hash(input, in_len);\n let variable_len_hash = std::hash::poseidon2::Poseidon2::hash(input, in_len);\n assert(variable_chunk_hash == variable_len_hash);\n}\n\n#[test]\nfn existing_sponge_poseidon_chunks_matches_fixed() {\n let in_len = 501;\n let mut input: [Field; 4096] = [0; 4096];\n let mut fixed_input = [3; 501];\n assert(in_len == fixed_input.len()); // sanity check\n for i in 0..in_len {\n input[i] = 3;\n }\n // absorb 250 of the 501 things\n let empty_sponge = Poseidon2Sponge::new((in_len as Field) * TWO_POW_64);\n let first_sponge = poseidon2_absorb_chunks_existing_sponge(empty_sponge, input, 250, true);\n // now absorb the final 251 (since they are all 3s, im being lazy and not making a new array)\n let mut final_sponge = poseidon2_absorb_chunks_existing_sponge(first_sponge, input, 251, true);\n let fixed_len_hash = Poseidon2Sponge::hash(fixed_input, fixed_input.len());\n assert(final_sponge.squeeze() == fixed_len_hash);\n}\n\n#[test]\nfn poseidon_chunks_empty_inputs() {\n let in_len = 0;\n let mut input: [Field; 4096] = [0; 4096];\n let mut constructed_empty_sponge = poseidon2_absorb_chunks(input, in_len, true);\n let mut first_sponge =\n poseidon2_absorb_chunks_existing_sponge(constructed_empty_sponge, input, in_len, true);\n assert(first_sponge.squeeze() == constructed_empty_sponge.squeeze());\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,\n 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,\n 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,\n 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,\n 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,\n 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,\n 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256::digest(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result =\n compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(\n AztecAddress::from_field(1),\n EthAddress::from_field(3),\n 5,\n 2,\n 4,\n );\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n ScopedL2ToL1Message {\n message: L2ToL1Message { recipient: EthAddress::from_field(1), content: 2, counter: 0 },\n contract_address: AztecAddress::from_field(3),\n },\n version,\n chainId,\n );\n\n // The following value was generated by `l2_to_l1_message.test.ts`\n let hash_from_typescript = 0x00c6155d69febb9d5039b374dd4f77bf57b7c881709aa524a18acaa0bd57476a;\n\n assert_eq(hash, hash_from_typescript);\n}\n"
|
|
6001
6001
|
},
|
|
6002
|
-
"
|
|
6002
|
+
"268": {
|
|
6003
6003
|
"path": "/build-volume/noir-projects/noir-protocol-circuits/crates/types/src/indexed_tagging_secret.nr",
|
|
6004
6004
|
"source": "use crate::traits::{Deserialize, Serialize, ToField};\nuse super::{address::aztec_address::AztecAddress, hash::poseidon2_hash};\nuse std::meta::derive;\n\npub global INDEXED_TAGGING_SECRET_LENGTH: u32 = 2;\n\n#[derive(Serialize, Deserialize)]\npub struct IndexedTaggingSecret {\n app_tagging_secret: Field,\n index: u32,\n}\n\nimpl IndexedTaggingSecret {\n pub fn compute_tag(self, recipient: AztecAddress) -> Field {\n poseidon2_hash(\n [self.app_tagging_secret, recipient.to_field(), self.index as Field],\n )\n }\n}\n"
|
|
6005
6005
|
},
|
|
@@ -6007,35 +6007,35 @@
|
|
|
6007
6007
|
"path": "std/hash/sha256.nr",
|
|
6008
6008
|
"source": "use crate::runtime::is_unconstrained;\n\n// Implementation of SHA-256 mapping a byte array of variable length to\n// 32 bytes.\n\n// A message block is up to 64 bytes taken from the input.\nglobal BLOCK_SIZE: u32 = 64;\n\n// The first index in the block where the 8 byte message size will be written.\nglobal MSG_SIZE_PTR: u32 = 56;\n\n// Size of the message block when packed as 4-byte integer array.\nglobal INT_BLOCK_SIZE: u32 = 16;\n\n// A `u32` integer consists of 4 bytes.\nglobal INT_SIZE: u32 = 4;\n\n// Index of the integer in the `INT_BLOCK` where the length is written.\nglobal INT_SIZE_PTR: u32 = MSG_SIZE_PTR / INT_SIZE;\n\n// Magic numbers for bit shifting.\n// Works with actual bit shifting as well as the compiler turns them into * and /\n// but circuit execution appears to be 10% faster this way.\nglobal TWO_POW_8: u32 = 256;\nglobal TWO_POW_16: u32 = TWO_POW_8 * 256;\nglobal TWO_POW_24: u32 = TWO_POW_16 * 256;\nglobal TWO_POW_32: u64 = TWO_POW_24 as u64 * 256;\n\n// Index of a byte in a 64 byte block; ie. 0..=63\ntype BLOCK_BYTE_PTR = u32;\n\n// The foreign function to compress blocks works on 16 pieces of 4-byte integers, instead of 64 bytes.\ntype INT_BLOCK = [u32; INT_BLOCK_SIZE];\n\n// A message block is a slice of the original message of a fixed size,\n// potentially padded with zeros, with neighbouring 4 bytes packed into integers.\ntype MSG_BLOCK = INT_BLOCK;\n\n// The hash is 32 bytes.\ntype HASH = [u8; 32];\n\n// The state accumulates the blocks.\n// Its overall size is the same as the `HASH`.\ntype STATE = [u32; 8];\n\n// Deprecated in favour of `sha256_var`\n// docs:start:sha256\npub fn sha256<let N: u32>(input: [u8; N]) -> HASH\n// docs:end:sha256\n{\n digest(input)\n}\n\n#[foreign(sha256_compression)]\npub fn sha256_compression(_input: INT_BLOCK, _state: STATE) -> STATE {}\n\n// SHA-256 hash function\n#[no_predicates]\npub fn digest<let N: u32>(msg: [u8; N]) -> HASH {\n sha256_var(msg, N as u64)\n}\n\n// Variable size SHA-256 hash\npub fn sha256_var<let N: u32>(msg: [u8; N], message_size: u64) -> HASH {\n let message_size = message_size as u32;\n let num_blocks = N / BLOCK_SIZE;\n let mut msg_block: MSG_BLOCK = [0; INT_BLOCK_SIZE];\n // Intermediate hash, starting with the canonical initial value\n let mut h: STATE = [\n 1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635,\n 1541459225,\n ];\n // Pointer into msg_block on a 64 byte scale\n let mut msg_byte_ptr = 0;\n for i in 0..num_blocks {\n let msg_start = BLOCK_SIZE * i;\n /// Safety: the msg_block is checked below in verify_msg_block\n let (new_msg_block, new_msg_byte_ptr) =\n unsafe { build_msg_block(msg, message_size, msg_start) };\n\n if msg_start < message_size {\n msg_block = new_msg_block;\n }\n\n if !is_unconstrained() {\n // Verify the block we are compressing was appropriately constructed\n let new_msg_byte_ptr = verify_msg_block(msg, message_size, msg_block, msg_start);\n if msg_start < message_size {\n msg_byte_ptr = new_msg_byte_ptr;\n }\n } else if msg_start < message_size {\n msg_byte_ptr = new_msg_byte_ptr;\n }\n\n // If the block is filled, compress it.\n // An un-filled block is handled after this loop.\n if (msg_start < message_size) & (msg_byte_ptr == BLOCK_SIZE) {\n h = sha256_compression(msg_block, h);\n }\n }\n\n let modulo = N % BLOCK_SIZE;\n // Handle setup of the final msg block.\n // This case is only hit if the msg is less than the block size,\n // or our message cannot be evenly split into blocks.\n if modulo != 0 {\n let msg_start = BLOCK_SIZE * num_blocks;\n /// Safety: the msg_block is checked below in verify_msg_block\n let (new_msg_block, new_msg_byte_ptr) =\n unsafe { build_msg_block(msg, message_size, msg_start) };\n\n if msg_start < message_size {\n msg_block = new_msg_block;\n }\n\n if !is_unconstrained() {\n let new_msg_byte_ptr = verify_msg_block(msg, message_size, msg_block, msg_start);\n if msg_start < message_size {\n msg_byte_ptr = new_msg_byte_ptr;\n verify_msg_block_padding(msg_block, msg_byte_ptr);\n }\n } else if msg_start < message_size {\n msg_byte_ptr = new_msg_byte_ptr;\n }\n }\n\n // If we had modulo == 0 then it means the last block was full,\n // and we can reset the pointer to zero to overwrite it.\n if msg_byte_ptr == BLOCK_SIZE {\n msg_byte_ptr = 0;\n }\n\n // Pad the rest such that we have a [u32; 2] block at the end representing the length\n // of the message, and a block of 1 0 ... 0 following the message (i.e. [1 << 7, 0, ..., 0]).\n // Here we rely on the fact that everything beyond the available input is set to 0.\n msg_block = update_block_item(\n msg_block,\n msg_byte_ptr,\n |msg_item| set_item_byte_then_zeros(msg_item, msg_byte_ptr, 1 << 7),\n );\n msg_byte_ptr = msg_byte_ptr + 1;\n let last_block = msg_block;\n\n // If we don't have room to write the size, compress the block and reset it.\n if msg_byte_ptr > MSG_SIZE_PTR {\n h = sha256_compression(msg_block, h);\n // `attach_len_to_msg_block` will zero out everything after the `msg_byte_ptr`.\n msg_byte_ptr = 0;\n }\n\n /// Safety: the msg_len is checked below in verify_msg_len\n msg_block = unsafe { attach_len_to_msg_block(msg_block, msg_byte_ptr, message_size) };\n\n if !is_unconstrained() {\n verify_msg_len(msg_block, last_block, msg_byte_ptr, message_size);\n }\n\n hash_final_block(msg_block, h)\n}\n\n// Take `BLOCK_SIZE` number of bytes from `msg` starting at `msg_start`.\n// Returns the block and the length that has been copied rather than padded with zeros.\nunconstrained fn build_msg_block<let N: u32>(\n msg: [u8; N],\n message_size: u32,\n msg_start: u32,\n) -> (MSG_BLOCK, BLOCK_BYTE_PTR) {\n let mut msg_block: MSG_BLOCK = [0; INT_BLOCK_SIZE];\n\n // We insert `BLOCK_SIZE` bytes (or up to the end of the message)\n let block_input = if msg_start + BLOCK_SIZE > message_size {\n if message_size < msg_start {\n // This function is sometimes called with `msg_start` past the end of the message.\n // In this case we return an empty block and zero pointer to signal that the result should be ignored.\n 0\n } else {\n message_size - msg_start\n }\n } else {\n BLOCK_SIZE\n };\n\n // Figure out the number of items in the int array that we have to pack.\n // e.g. if the input is [0,1,2,3,4,5] then we need to pack it as 2 items: [0123, 4500]\n let mut int_input = block_input / INT_SIZE;\n if block_input % INT_SIZE != 0 {\n int_input = int_input + 1;\n };\n\n for i in 0..int_input {\n let mut msg_item: u32 = 0;\n // Always construct the integer as 4 bytes, even if it means going beyond the input.\n for j in 0..INT_SIZE {\n let k = i * INT_SIZE + j;\n let msg_byte = if k < block_input {\n msg[msg_start + k]\n } else {\n 0\n };\n msg_item = lshift8(msg_item, 1) + msg_byte as u32;\n }\n msg_block[i] = msg_item;\n }\n\n // Returning the index as if it was a 64 byte array.\n // We have to project it down to 16 items and bit shifting to get a byte back if we need it.\n (msg_block, block_input)\n}\n\n// Verify the block we are compressing was appropriately constructed by `build_msg_block`\n// and matches the input data. Returns the index of the first unset item.\n// If `message_size` is less than `msg_start` then this is called with the old non-empty block;\n// in that case we can skip verification, ie. no need to check that everything is zero.\nfn verify_msg_block<let N: u32>(\n msg: [u8; N],\n message_size: u32,\n msg_block: MSG_BLOCK,\n msg_start: u32,\n) -> BLOCK_BYTE_PTR {\n let mut msg_byte_ptr = 0;\n let mut msg_end = msg_start + BLOCK_SIZE;\n if msg_end > N {\n msg_end = N;\n }\n // We might have to go beyond the input to pad the fields.\n if msg_end % INT_SIZE != 0 {\n msg_end = msg_end + INT_SIZE - msg_end % INT_SIZE;\n }\n\n // Reconstructed packed item.\n let mut msg_item: u32 = 0;\n\n // Inclusive at the end so that we can compare the last item.\n let mut i: u32 = 0;\n for k in msg_start..=msg_end {\n if k % INT_SIZE == 0 {\n // If we consumed some input we can compare against the block.\n if (msg_start < message_size) & (k > msg_start) {\n assert_eq(msg_block[i], msg_item as u32);\n i = i + 1;\n msg_item = 0;\n }\n }\n // Shift the accumulator\n msg_item = lshift8(msg_item, 1);\n // If we have input to consume, add it at the rightmost position.\n if k < message_size & k < msg_end {\n msg_item = msg_item + msg[k] as u32;\n msg_byte_ptr = msg_byte_ptr + 1;\n }\n }\n\n msg_byte_ptr\n}\n\n// Verify the block we are compressing was appropriately padded with zeros by `build_msg_block`.\n// This is only relevant for the last, potentially partially filled block.\nfn verify_msg_block_padding(msg_block: MSG_BLOCK, msg_byte_ptr: BLOCK_BYTE_PTR) {\n // Check all the way to the end of the block.\n verify_msg_block_zeros(msg_block, msg_byte_ptr, INT_BLOCK_SIZE);\n}\n\n// Verify that a region of ints in the message block are (partially) zeroed,\n// up to an (exclusive) maximum which can either be the end of the block\n// or just where the size is to be written.\nfn verify_msg_block_zeros(\n msg_block: MSG_BLOCK,\n mut msg_byte_ptr: BLOCK_BYTE_PTR,\n max_int_byte_ptr: u32,\n) {\n // This variable is used to get around the compiler under-constrained check giving a warning.\n // We want to check against a constant zero, but if it does not come from the circuit inputs\n // or return values the compiler check will issue a warning.\n let zero = msg_block[0] - msg_block[0];\n\n // First integer which is supposed to be (partially) zero.\n let mut int_byte_ptr = msg_byte_ptr / INT_SIZE;\n\n // Check partial zeros.\n let modulo = msg_byte_ptr % INT_SIZE;\n if modulo != 0 {\n let zeros = INT_SIZE - modulo;\n let mask = if zeros == 3 {\n TWO_POW_24\n } else if zeros == 2 {\n TWO_POW_16\n } else {\n TWO_POW_8\n };\n assert_eq(msg_block[int_byte_ptr] % mask, zero);\n int_byte_ptr = int_byte_ptr + 1;\n }\n\n // Check the rest of the items.\n for i in 0..max_int_byte_ptr {\n if i >= int_byte_ptr {\n assert_eq(msg_block[i], zero);\n }\n }\n}\n\n// Verify that up to the byte pointer the two blocks are equal.\n// At the byte pointer the new block can be partially zeroed.\nfn verify_msg_block_equals_last(\n msg_block: MSG_BLOCK,\n last_block: MSG_BLOCK,\n mut msg_byte_ptr: BLOCK_BYTE_PTR,\n) {\n // msg_byte_ptr is the position at which they are no longer have to be the same.\n // First integer which is supposed to be (partially) zero contains that pointer.\n let mut int_byte_ptr = msg_byte_ptr / INT_SIZE;\n\n // Check partial zeros.\n let modulo = msg_byte_ptr % INT_SIZE;\n if modulo != 0 {\n // Reconstruct the partially zero item from the last block.\n let last_field = last_block[int_byte_ptr];\n let mut msg_item: u32 = 0;\n // Reset to where they are still equal.\n msg_byte_ptr = msg_byte_ptr - modulo;\n for i in 0..INT_SIZE {\n msg_item = lshift8(msg_item, 1);\n if i < modulo {\n msg_item = msg_item + get_item_byte(last_field, msg_byte_ptr) as u32;\n msg_byte_ptr = msg_byte_ptr + 1;\n }\n }\n assert_eq(msg_block[int_byte_ptr], msg_item);\n }\n\n for i in 0..INT_SIZE_PTR {\n if i < int_byte_ptr {\n assert_eq(msg_block[i], last_block[i]);\n }\n }\n}\n\n// Apply a function on the block item which the pointer indicates.\nfn update_block_item<Env>(\n mut msg_block: MSG_BLOCK,\n msg_byte_ptr: BLOCK_BYTE_PTR,\n f: fn[Env](u32) -> u32,\n) -> MSG_BLOCK {\n let i = msg_byte_ptr / INT_SIZE;\n msg_block[i] = f(msg_block[i]);\n msg_block\n}\n\n// Set the rightmost `zeros` number of bytes to 0.\nfn set_item_zeros(item: u32, zeros: u8) -> u32 {\n lshift8(rshift8(item, zeros), zeros)\n}\n\n// Replace one byte in the item with a value, and set everything after it to zero.\nfn set_item_byte_then_zeros(msg_item: u32, msg_byte_ptr: BLOCK_BYTE_PTR, msg_byte: u8) -> u32 {\n let zeros = INT_SIZE - msg_byte_ptr % INT_SIZE;\n let zeroed_item = set_item_zeros(msg_item, zeros as u8);\n let new_item = byte_into_item(msg_byte, msg_byte_ptr);\n zeroed_item + new_item\n}\n\n// Get a byte of a message item according to its overall position in the `BLOCK_SIZE` space.\nfn get_item_byte(mut msg_item: u32, msg_byte_ptr: BLOCK_BYTE_PTR) -> u8 {\n // How many times do we have to shift to the right to get to the position we want?\n let max_shifts = INT_SIZE - 1;\n let shifts = max_shifts - msg_byte_ptr % INT_SIZE;\n msg_item = rshift8(msg_item, shifts as u8);\n // At this point the byte we want is in the rightmost position.\n msg_item as u8\n}\n\n// Project a byte into a position in a field based on the overall block pointer.\n// For example putting 1 into pointer 5 would be 100, because overall we would\n// have [____, 0100] with indexes [0123,4567].\nfn byte_into_item(msg_byte: u8, msg_byte_ptr: BLOCK_BYTE_PTR) -> u32 {\n let mut msg_item = msg_byte as u32;\n // How many times do we have to shift to the left to get to the position we want?\n let max_shifts = INT_SIZE - 1;\n let shifts = max_shifts - msg_byte_ptr % INT_SIZE;\n lshift8(msg_item, shifts as u8)\n}\n\n// Construct a field out of 4 bytes.\nfn make_item(b0: u8, b1: u8, b2: u8, b3: u8) -> u32 {\n let mut item = b0 as u32;\n item = lshift8(item, 1) + b1 as u32;\n item = lshift8(item, 1) + b2 as u32;\n item = lshift8(item, 1) + b3 as u32;\n item\n}\n\n// Shift by 8 bits to the left between 0 and 4 times.\n// Checks `is_unconstrained()` to just use a bitshift if we're running in an unconstrained context,\n// otherwise multiplies by 256.\nfn lshift8(item: u32, shifts: u8) -> u32 {\n if is_unconstrained() {\n if item == 0 {\n 0\n } else {\n // Brillig wouldn't shift 0<<4 without overflow.\n item << (8 * shifts)\n }\n } else {\n // We can do a for loop up to INT_SIZE or an if-else.\n if shifts == 0 {\n item\n } else if shifts == 1 {\n item * TWO_POW_8\n } else if shifts == 2 {\n item * TWO_POW_16\n } else if shifts == 3 {\n item * TWO_POW_24\n } else {\n // Doesn't make sense, but it's most likely called on 0 anyway.\n 0\n }\n }\n}\n\n// Shift by 8 bits to the right between 0 and 4 times.\n// Checks `is_unconstrained()` to just use a bitshift if we're running in an unconstrained context,\n// otherwise divides by 256.\nfn rshift8(item: u32, shifts: u8) -> u32 {\n if is_unconstrained() {\n item >> (8 * shifts)\n } else {\n // Division wouldn't work on `Field`.\n if shifts == 0 {\n item\n } else if shifts == 1 {\n item / TWO_POW_8\n } else if shifts == 2 {\n item / TWO_POW_16\n } else if shifts == 3 {\n item / TWO_POW_24\n } else {\n 0\n }\n }\n}\n\n// Zero out all bytes between the end of the message and where the length is appended,\n// then write the length into the last 8 bytes of the block.\nunconstrained fn attach_len_to_msg_block(\n mut msg_block: MSG_BLOCK,\n mut msg_byte_ptr: BLOCK_BYTE_PTR,\n message_size: u32,\n) -> MSG_BLOCK {\n // We assume that `msg_byte_ptr` is less than 57 because if not then it is reset to zero before calling this function.\n // In any case, fill blocks up with zeros until the last 64 bits (i.e. until msg_byte_ptr = 56).\n // There can be one item which has to be partially zeroed.\n let modulo = msg_byte_ptr % INT_SIZE;\n if modulo != 0 {\n // Index of the block in which we find the item we need to partially zero.\n let i = msg_byte_ptr / INT_SIZE;\n let zeros = INT_SIZE - modulo;\n msg_block[i] = set_item_zeros(msg_block[i], zeros as u8);\n msg_byte_ptr = msg_byte_ptr + zeros;\n }\n\n // The rest can be zeroed without bit shifting anything.\n for i in (msg_byte_ptr / INT_SIZE)..INT_SIZE_PTR {\n msg_block[i] = 0;\n }\n\n // Set the last two 4 byte ints as the first/second half of the 8 bytes of the length.\n let len = 8 * message_size;\n let len_bytes: [u8; 8] = (len as Field).to_be_bytes();\n for i in 0..=1 {\n let shift = i * 4;\n msg_block[INT_SIZE_PTR + i] = make_item(\n len_bytes[shift],\n len_bytes[shift + 1],\n len_bytes[shift + 2],\n len_bytes[shift + 3],\n );\n }\n msg_block\n}\n\n// Verify that the message length was correctly written by `attach_len_to_msg_block`,\n// and that everything between the byte pointer and the size pointer was zeroed,\n// and that everything before the byte pointer was untouched.\nfn verify_msg_len(\n msg_block: MSG_BLOCK,\n last_block: MSG_BLOCK,\n msg_byte_ptr: BLOCK_BYTE_PTR,\n message_size: u32,\n) {\n // Check zeros up to the size pointer.\n verify_msg_block_zeros(msg_block, msg_byte_ptr, INT_SIZE_PTR);\n\n // Check that up to the pointer we match the last block.\n verify_msg_block_equals_last(msg_block, last_block, msg_byte_ptr);\n\n // We verify the message length was inserted correctly by reversing the byte decomposition.\n let mut reconstructed_len: u64 = 0;\n for i in INT_SIZE_PTR..INT_BLOCK_SIZE {\n reconstructed_len = reconstructed_len * TWO_POW_32;\n reconstructed_len = reconstructed_len + msg_block[i] as u64;\n }\n let len = 8 * message_size as u64;\n assert_eq(reconstructed_len, len);\n}\n\n// Perform the final compression, then transform the `STATE` into `HASH`.\nfn hash_final_block(msg_block: MSG_BLOCK, mut state: STATE) -> HASH {\n let mut out_h: HASH = [0; 32]; // Digest as sequence of bytes\n // Hash final padded block\n state = sha256_compression(msg_block, state);\n\n // Return final hash as byte array\n for j in 0..8 {\n let h_bytes: [u8; 4] = (state[j] as Field).to_be_bytes();\n for k in 0..4 {\n out_h[4 * j + k] = h_bytes[k];\n }\n }\n\n out_h\n}\n\nmod tests {\n use super::{\n attach_len_to_msg_block, build_msg_block, byte_into_item, get_item_byte, make_item,\n set_item_byte_then_zeros, set_item_zeros,\n };\n use super::INT_BLOCK;\n use super::sha256_var;\n\n #[test]\n fn smoke_test() {\n let input = [0xbd];\n let result = [\n 0x68, 0x32, 0x57, 0x20, 0xaa, 0xbd, 0x7c, 0x82, 0xf3, 0x0f, 0x55, 0x4b, 0x31, 0x3d,\n 0x05, 0x70, 0xc9, 0x5a, 0xcc, 0xbb, 0x7d, 0xc4, 0xb5, 0xaa, 0xe1, 0x12, 0x04, 0xc0,\n 0x8f, 0xfe, 0x73, 0x2b,\n ];\n assert_eq(sha256_var(input, input.len() as u64), result);\n }\n\n #[test]\n fn msg_just_over_block() {\n let input = [\n 102, 114, 111, 109, 58, 114, 117, 110, 110, 105, 101, 114, 46, 108, 101, 97, 103, 117,\n 101, 115, 46, 48, 106, 64, 105, 99, 108, 111, 117, 100, 46, 99, 111, 109, 13, 10, 99,\n 111, 110, 116, 101, 110, 116, 45, 116, 121, 112, 101, 58, 116, 101, 120, 116, 47, 112,\n 108, 97, 105, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116,\n ];\n let result = [\n 91, 122, 146, 93, 52, 109, 133, 148, 171, 61, 156, 70, 189, 238, 153, 7, 222, 184, 94,\n 24, 65, 114, 192, 244, 207, 199, 87, 232, 192, 224, 171, 207,\n ];\n assert_eq(sha256_var(input, input.len() as u64), result);\n }\n\n #[test]\n fn msg_multiple_over_block() {\n let input = [\n 102, 114, 111, 109, 58, 114, 117, 110, 110, 105, 101, 114, 46, 108, 101, 97, 103, 117,\n 101, 115, 46, 48, 106, 64, 105, 99, 108, 111, 117, 100, 46, 99, 111, 109, 13, 10, 99,\n 111, 110, 116, 101, 110, 116, 45, 116, 121, 112, 101, 58, 116, 101, 120, 116, 47, 112,\n 108, 97, 105, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 115, 45, 97, 115,\n 99, 105, 105, 13, 10, 109, 105, 109, 101, 45, 118, 101, 114, 115, 105, 111, 110, 58, 49,\n 46, 48, 32, 40, 77, 97, 99, 32, 79, 83, 32, 88, 32, 77, 97, 105, 108, 32, 49, 54, 46,\n 48, 32, 92, 40, 51, 55, 51, 49, 46, 53, 48, 48, 46, 50, 51, 49, 92, 41, 41, 13, 10, 115,\n 117, 98, 106, 101, 99, 116, 58, 72, 101, 108, 108, 111, 13, 10, 109, 101, 115, 115, 97,\n 103, 101, 45, 105, 100, 58, 60, 56, 70, 56, 49, 57, 68, 51, 50, 45, 66, 54, 65, 67, 45,\n 52, 56, 57, 68, 45, 57, 55, 55, 70, 45, 52, 51, 56, 66, 66, 67, 52, 67, 65, 66, 50, 55,\n 64, 109, 101, 46, 99, 111, 109, 62, 13, 10, 100, 97, 116, 101, 58, 83, 97, 116, 44, 32,\n 50, 54, 32, 65, 117, 103, 32, 50, 48, 50, 51, 32, 49, 50, 58, 50, 53, 58, 50, 50, 32,\n 43, 48, 52, 48, 48, 13, 10, 116, 111, 58, 122, 107, 101, 119, 116, 101, 115, 116, 64,\n 103, 109, 97, 105, 108, 46, 99, 111, 109, 13, 10, 100, 107, 105, 109, 45, 115, 105, 103,\n 110, 97, 116, 117, 114, 101, 58, 118, 61, 49, 59, 32, 97, 61, 114, 115, 97, 45, 115,\n 104, 97, 50, 53, 54, 59, 32, 99, 61, 114, 101, 108, 97, 120, 101, 100, 47, 114, 101,\n 108, 97, 120, 101, 100, 59, 32, 100, 61, 105, 99, 108, 111, 117, 100, 46, 99, 111, 109,\n 59, 32, 115, 61, 49, 97, 49, 104, 97, 105, 59, 32, 116, 61, 49, 54, 57, 51, 48, 51, 56,\n 51, 51, 55, 59, 32, 98, 104, 61, 55, 120, 81, 77, 68, 117, 111, 86, 86, 85, 52, 109, 48,\n 87, 48, 87, 82, 86, 83, 114, 86, 88, 77, 101, 71, 83, 73, 65, 83, 115, 110, 117, 99, 75,\n 57, 100, 74, 115, 114, 99, 43, 118, 85, 61, 59, 32, 104, 61, 102, 114, 111, 109, 58, 67,\n 111, 110, 116, 101, 110, 116, 45, 84, 121, 112, 101, 58, 77, 105, 109, 101, 45, 86, 101,\n 114, 115, 105, 111, 110, 58, 83, 117, 98, 106, 101, 99,\n ];\n let result = [\n 116, 90, 151, 31, 78, 22, 138, 180, 211, 189, 69, 76, 227, 200, 155, 29, 59, 123, 154,\n 60, 47, 153, 203, 129, 157, 251, 48, 2, 79, 11, 65, 47,\n ];\n assert_eq(sha256_var(input, input.len() as u64), result);\n }\n\n #[test]\n fn msg_just_under_block() {\n let input = [\n 102, 114, 111, 109, 58, 114, 117, 110, 110, 105, 101, 114, 46, 108, 101, 97, 103, 117,\n 101, 115, 46, 48, 106, 64, 105, 99, 108, 111, 117, 100, 46, 99, 111, 109, 13, 10, 99,\n 111, 110, 116, 101, 110, 116, 45, 116, 121, 112, 101, 58, 116, 101, 120, 116, 47, 112,\n 108, 97, 105, 110, 59,\n ];\n let result = [\n 143, 140, 76, 173, 222, 123, 102, 68, 70, 149, 207, 43, 39, 61, 34, 79, 216, 252, 213,\n 165, 74, 16, 110, 74, 29, 64, 138, 167, 30, 1, 9, 119,\n ];\n assert_eq(sha256_var(input, input.len() as u64), result);\n }\n\n #[test]\n fn msg_big_not_block_multiple() {\n let input = [\n 102, 114, 111, 109, 58, 114, 117, 110, 110, 105, 101, 114, 46, 108, 101, 97, 103, 117,\n 101, 115, 46, 48, 106, 64, 105, 99, 108, 111, 117, 100, 46, 99, 111, 109, 13, 10, 99,\n 111, 110, 116, 101, 110, 116, 45, 116, 121, 112, 101, 58, 116, 101, 120, 116, 47, 112,\n 108, 97, 105, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 115, 45, 97, 115,\n 99, 105, 105, 13, 10, 109, 105, 109, 101, 45, 118, 101, 114, 115, 105, 111, 110, 58, 49,\n 46, 48, 32, 40, 77, 97, 99, 32, 79, 83, 32, 88, 32, 77, 97, 105, 108, 32, 49, 54, 46,\n 48, 32, 92, 40, 51, 55, 51, 49, 46, 53, 48, 48, 46, 50, 51, 49, 92, 41, 41, 13, 10, 115,\n 117, 98, 106, 101, 99, 116, 58, 72, 101, 108, 108, 111, 13, 10, 109, 101, 115, 115, 97,\n 103, 101, 45, 105, 100, 58, 60, 56, 70, 56, 49, 57, 68, 51, 50, 45, 66, 54, 65, 67, 45,\n 52, 56, 57, 68, 45, 57, 55, 55, 70, 45, 52, 51, 56, 66, 66, 67, 52, 67, 65, 66, 50, 55,\n 64, 109, 101, 46, 99, 111, 109, 62, 13, 10, 100, 97, 116, 101, 58, 83, 97, 116, 44, 32,\n 50, 54, 32, 65, 117, 103, 32, 50, 48, 50, 51, 32, 49, 50, 58, 50, 53, 58, 50, 50, 32,\n 43, 48, 52, 48, 48, 13, 10, 116, 111, 58, 122, 107, 101, 119, 116, 101, 115, 116, 64,\n 103, 109, 97, 105, 108, 46, 99, 111, 109, 13, 10, 100, 107, 105, 109, 45, 115, 105, 103,\n 110, 97, 116, 117, 114, 101, 58, 118, 61, 49, 59, 32, 97, 61, 114, 115, 97, 45, 115,\n 104, 97, 50, 53, 54, 59, 32, 99, 61, 114, 101, 108, 97, 120, 101, 100, 47, 114, 101,\n 108, 97, 120, 101, 100, 59, 32, 100, 61, 105, 99, 108, 111, 117, 100, 46, 99, 111, 109,\n 59, 32, 115, 61, 49, 97, 49, 104, 97, 105, 59, 32, 116, 61, 49, 54, 57, 51, 48, 51, 56,\n 51, 51, 55, 59, 32, 98, 104, 61, 55, 120, 81, 77, 68, 117, 111, 86, 86, 85, 52, 109, 48,\n 87, 48, 87, 82, 86, 83, 114, 86, 88, 77, 101, 71, 83, 73, 65, 83, 115, 110, 117, 99, 75,\n 57, 100, 74, 115, 114, 99, 43, 118, 85, 61, 59, 32, 104, 61, 102, 114, 111, 109, 58, 67,\n 111, 110, 116, 101, 110, 116, 45, 84, 121, 112, 101, 58, 77, 105, 109, 101, 45, 86, 101,\n 114, 115, 105, 111, 110, 58, 83, 117, 98, 106, 101, 99, 116, 58, 77, 101, 115, 115, 97,\n 103, 101, 45, 73, 100, 58, 68, 97, 116, 101, 58, 116, 111, 59, 32, 98, 61,\n ];\n let result = [\n 112, 144, 73, 182, 208, 98, 9, 238, 54, 229, 61, 145, 222, 17, 72, 62, 148, 222, 186,\n 55, 192, 82, 220, 35, 66, 47, 193, 200, 22, 38, 26, 186,\n ];\n assert_eq(sha256_var(input, input.len() as u64), result);\n }\n\n #[test]\n fn msg_big_with_padding() {\n let input = [\n 48, 130, 1, 37, 2, 1, 0, 48, 11, 6, 9, 96, 134, 72, 1, 101, 3, 4, 2, 1, 48, 130, 1, 17,\n 48, 37, 2, 1, 1, 4, 32, 176, 223, 31, 133, 108, 84, 158, 102, 70, 11, 165, 175, 196, 12,\n 201, 130, 25, 131, 46, 125, 156, 194, 28, 23, 55, 133, 157, 164, 135, 136, 220, 78, 48,\n 37, 2, 1, 2, 4, 32, 190, 82, 180, 235, 222, 33, 79, 50, 152, 136, 142, 35, 116, 224, 6,\n 242, 156, 141, 128, 248, 10, 61, 98, 86, 248, 45, 207, 210, 90, 232, 175, 38, 48, 37, 2,\n 1, 3, 4, 32, 0, 194, 104, 108, 237, 246, 97, 230, 116, 198, 69, 110, 26, 87, 17, 89,\n 110, 199, 108, 250, 36, 21, 39, 87, 110, 102, 250, 213, 174, 131, 171, 174, 48, 37, 2,\n 1, 11, 4, 32, 136, 155, 87, 144, 111, 15, 152, 127, 85, 25, 154, 81, 20, 58, 51, 75,\n 193, 116, 234, 0, 60, 30, 29, 30, 183, 141, 72, 247, 255, 203, 100, 124, 48, 37, 2, 1,\n 12, 4, 32, 41, 234, 106, 78, 31, 11, 114, 137, 237, 17, 92, 71, 134, 47, 62, 78, 189,\n 233, 201, 214, 53, 4, 47, 189, 201, 133, 6, 121, 34, 131, 64, 142, 48, 37, 2, 1, 13, 4,\n 32, 91, 222, 210, 193, 62, 222, 104, 82, 36, 41, 138, 253, 70, 15, 148, 208, 156, 45,\n 105, 171, 241, 195, 185, 43, 217, 162, 146, 201, 222, 89, 238, 38, 48, 37, 2, 1, 14, 4,\n 32, 76, 123, 216, 13, 51, 227, 72, 245, 59, 193, 238, 166, 103, 49, 23, 164, 171, 188,\n 194, 197, 156, 187, 249, 28, 198, 95, 69, 15, 182, 56, 54, 38, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n ];\n let result = [\n 32, 85, 108, 174, 127, 112, 178, 182, 8, 43, 134, 123, 192, 211, 131, 66, 184, 240, 212,\n 181, 240, 180, 106, 195, 24, 117, 54, 129, 19, 10, 250, 53,\n ];\n let message_size = 297;\n assert_eq(sha256_var(input, message_size), result);\n }\n\n #[test]\n fn msg_big_no_padding() {\n let input = [\n 48, 130, 1, 37, 2, 1, 0, 48, 11, 6, 9, 96, 134, 72, 1, 101, 3, 4, 2, 1, 48, 130, 1, 17,\n 48, 37, 2, 1, 1, 4, 32, 176, 223, 31, 133, 108, 84, 158, 102, 70, 11, 165, 175, 196, 12,\n 201, 130, 25, 131, 46, 125, 156, 194, 28, 23, 55, 133, 157, 164, 135, 136, 220, 78, 48,\n 37, 2, 1, 2, 4, 32, 190, 82, 180, 235, 222, 33, 79, 50, 152, 136, 142, 35, 116, 224, 6,\n 242, 156, 141, 128, 248, 10, 61, 98, 86, 248, 45, 207, 210, 90, 232, 175, 38, 48, 37, 2,\n 1, 3, 4, 32, 0, 194, 104, 108, 237, 246, 97, 230, 116, 198, 69, 110, 26, 87, 17, 89,\n 110, 199, 108, 250, 36, 21, 39, 87, 110, 102, 250, 213, 174, 131, 171, 174, 48, 37, 2,\n 1, 11, 4, 32, 136, 155, 87, 144, 111, 15, 152, 127, 85, 25, 154, 81, 20, 58, 51, 75,\n 193, 116, 234, 0, 60, 30, 29, 30, 183, 141, 72, 247, 255, 203, 100, 124, 48, 37, 2, 1,\n 12, 4, 32, 41, 234, 106, 78, 31, 11, 114, 137, 237, 17, 92, 71, 134, 47, 62, 78, 189,\n 233, 201, 214, 53, 4, 47, 189, 201, 133, 6, 121, 34, 131, 64, 142, 48, 37, 2, 1, 13, 4,\n 32, 91, 222, 210, 193, 62, 222, 104, 82, 36, 41, 138, 253, 70, 15, 148, 208, 156, 45,\n 105, 171, 241, 195, 185, 43, 217, 162, 146, 201, 222, 89, 238, 38, 48, 37, 2, 1, 14, 4,\n 32, 76, 123, 216, 13, 51, 227, 72, 245, 59, 193, 238, 166, 103, 49, 23, 164, 171, 188,\n 194, 197, 156, 187, 249, 28, 198, 95, 69, 15, 182, 56, 54, 38,\n ];\n let result = [\n 32, 85, 108, 174, 127, 112, 178, 182, 8, 43, 134, 123, 192, 211, 131, 66, 184, 240, 212,\n 181, 240, 180, 106, 195, 24, 117, 54, 129, 19, 10, 250, 53,\n ];\n assert_eq(sha256_var(input, input.len() as u64), result);\n }\n\n #[test]\n fn same_msg_len_variable_padding() {\n let input = [\n 29, 81, 165, 84, 243, 114, 101, 37, 242, 146, 127, 99, 69, 145, 39, 72, 213, 39, 253,\n 179, 218, 37, 217, 201, 172, 93, 198, 50, 249, 70, 15, 30, 162, 112, 187, 40, 140, 9,\n 236, 53, 32, 44, 38, 163, 113, 254, 192, 197, 44, 89, 71, 130, 169, 242, 17, 211, 214,\n 72, 19, 178, 186, 168, 147, 127, 99, 101, 252, 227, 8, 147, 150, 85, 97, 158, 17, 107,\n 218, 244, 82, 113, 247, 91, 208, 214, 60, 244, 87, 137, 173, 201, 130, 18, 66, 56, 198,\n 149, 207, 189, 175, 120, 123, 224, 177, 167, 251, 159, 143, 110, 68, 183, 189, 70, 126,\n 32, 35, 164, 44, 30, 44, 12, 65, 18, 62, 239, 242, 2, 248, 104, 2, 178, 64, 28, 126, 36,\n 137, 24, 14, 116, 91, 98, 90, 159, 218, 102, 45, 11, 110, 223, 245, 184, 52, 99, 59,\n 245, 136, 175, 3, 72, 164, 146, 145, 116, 22, 66, 24, 49, 193, 121, 3, 60, 37, 41, 97,\n 3, 190, 66, 195, 225, 63, 46, 3, 118, 4, 208, 15, 1, 40, 254, 235, 151, 123, 70, 180,\n 170, 44, 172, 90, 4, 254, 53, 239, 116, 246, 67, 56, 129, 61, 22, 169, 213, 65, 27, 216,\n 116, 162, 239, 214, 207, 126, 177, 20, 100, 25, 48, 143, 84, 215, 70, 197, 53, 65, 70,\n 86, 172, 61, 62, 9, 212, 167, 169, 133, 41, 126, 213, 196, 33, 192, 238, 0, 63, 246,\n 215, 58, 128, 110, 101, 92, 3, 170, 214, 130, 149, 52, 81, 125, 118, 233, 3, 118, 193,\n 104, 207, 120, 115, 77, 253, 191, 122, 0, 107, 164, 207, 113, 81, 169, 36, 201, 228, 74,\n 134, 131, 218, 178, 35, 30, 216, 101, 2, 103, 174, 87, 95, 50, 50, 215, 157, 5, 210,\n 188, 54, 211, 78, 45, 199, 96, 121, 241, 241, 176, 226, 194, 134, 130, 89, 217, 210,\n 186, 32, 140, 39, 91, 103, 212, 26, 87, 32, 72, 144, 228, 230, 117, 99, 188, 50, 15, 69,\n 79, 179, 50, 12, 106, 86, 218, 101, 73, 142, 243, 29, 250, 122, 228, 233, 29, 255, 22,\n 121, 114, 125, 103, 41, 250, 241, 179, 126, 158, 198, 116, 209, 65, 94, 98, 228, 175,\n 169, 96, 3, 9, 233, 133, 214, 55, 161, 164, 103, 80, 85, 24, 186, 64, 167, 92, 131, 53,\n 101, 202, 47, 25, 104, 118, 155, 14, 12, 12, 25, 116, 45, 221, 249, 28, 246, 212, 200,\n 157, 167, 169, 56, 197, 181, 4, 245, 146, 1, 140, 234, 191, 212, 228, 125, 87, 81, 86,\n 119, 30, 63, 129, 143, 32, 96,\n ];\n\n // Prepare inputs of different lengths\n let mut input_511 = [0; 511];\n let mut input_512 = [0; 512]; // Next block\n let mut input_575 = [0; 575];\n let mut input_576 = [0; 576]; // Next block\n for i in 0..input.len() {\n input_511[i] = input[i];\n input_512[i] = input[i];\n input_575[i] = input[i];\n input_576[i] = input[i];\n }\n\n // Compute hashes of all inputs (with same message length)\n let fixed_length_hash = super::sha256(input);\n let var_full_length_hash = sha256_var(input, input.len() as u64);\n let var_length_hash_511 = sha256_var(input_511, input.len() as u64);\n let var_length_hash_512 = sha256_var(input_512, input.len() as u64);\n let var_length_hash_575 = sha256_var(input_575, input.len() as u64);\n let var_length_hash_576 = sha256_var(input_576, input.len() as u64);\n\n // All of the above should have produced the same hash\n assert_eq(var_full_length_hash, fixed_length_hash);\n assert_eq(var_length_hash_511, fixed_length_hash);\n assert_eq(var_length_hash_512, fixed_length_hash);\n assert_eq(var_length_hash_575, fixed_length_hash);\n assert_eq(var_length_hash_576, fixed_length_hash);\n }\n\n #[test]\n fn test_get_item_byte() {\n let fld = make_item(10, 20, 30, 40);\n assert_eq(fld, 0x0a141e28);\n assert_eq(get_item_byte(fld, 0), 10);\n assert_eq(get_item_byte(fld, 4), 10);\n assert_eq(get_item_byte(fld, 6), 30);\n }\n\n #[test]\n fn test_byte_into_item() {\n let fld = make_item(0, 20, 0, 0);\n assert_eq(byte_into_item(20, 1), fld);\n assert_eq(byte_into_item(20, 5), fld);\n }\n\n #[test]\n fn test_set_item_zeros() {\n let fld0 = make_item(10, 20, 30, 40);\n let fld1 = make_item(10, 0, 0, 0);\n assert_eq(set_item_zeros(fld0, 3), fld1);\n assert_eq(set_item_zeros(fld0, 4), 0);\n assert_eq(set_item_zeros(0, 4), 0);\n }\n\n #[test]\n fn test_set_item_byte_then_zeros() {\n let fld0 = make_item(10, 20, 30, 40);\n let fld1 = make_item(10, 50, 0, 0);\n assert_eq(set_item_byte_then_zeros(fld0, 1, 50), fld1);\n }\n\n #[test]\n fn test_build_msg_block_start_0() {\n let input = [\n 102, 114, 111, 109, 58, 114, 117, 110, 110, 105, 101, 114, 46, 108, 101, 97, 103, 117,\n 101, 115, 46, 48,\n ];\n assert_eq(input.len(), 22);\n\n /// Safety: testing context\n let (msg_block, msg_byte_ptr) = unsafe { build_msg_block(input, input.len(), 0) };\n assert_eq(msg_byte_ptr, input.len());\n assert_eq(msg_block[0], make_item(input[0], input[1], input[2], input[3]));\n assert_eq(msg_block[1], make_item(input[4], input[5], input[6], input[7]));\n assert_eq(msg_block[5], make_item(input[20], input[21], 0, 0));\n assert_eq(msg_block[6], 0);\n }\n\n #[test]\n fn test_build_msg_block_start_1() {\n let input = [\n 102, 114, 111, 109, 58, 114, 117, 110, 110, 105, 101, 114, 46, 108, 101, 97, 103, 117,\n 101, 115, 46, 48, 106, 64, 105, 99, 108, 111, 117, 100, 46, 99, 111, 109, 13, 10, 99,\n 111, 110, 116, 101, 110, 116, 45, 116, 121, 112, 101, 58, 116, 101, 120, 116, 47, 112,\n 108, 97, 105, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116,\n ];\n assert_eq(input.len(), 68);\n /// Safety: test context\n let (msg_block, msg_byte_ptr) = unsafe { build_msg_block(input, input.len(), 64) };\n assert_eq(msg_byte_ptr, 4);\n assert_eq(msg_block[0], make_item(input[64], input[65], input[66], input[67]));\n assert_eq(msg_block[1], 0);\n }\n\n #[test]\n fn test_attach_len_to_msg_block() {\n let input: INT_BLOCK = [\n 2152555847, 1397309779, 1936618851, 1262052426, 1936876331, 1985297723, 543702374,\n 1919905082, 1131376244, 1701737517, 1417244773, 978151789, 1697470053, 1920166255,\n 1849316213, 1651139939,\n ];\n /// Safety: testing context\n let msg_block = unsafe { attach_len_to_msg_block(input, 1, 448) };\n assert_eq(msg_block[0], ((1 << 7) as u32) * 256 * 256 * 256);\n assert_eq(msg_block[1], 0);\n assert_eq(msg_block[15], 3584);\n }\n}\n"
|
|
6009
6009
|
},
|
|
6010
|
-
"
|
|
6010
|
+
"283": {
|
|
6011
6011
|
"path": "/build-volume/noir-projects/noir-protocol-circuits/crates/types/src/point.nr",
|
|
6012
6012
|
"source": "pub use dep::std::embedded_curve_ops::EmbeddedCurvePoint as Point;\nuse crate::{hash::poseidon2_hash, traits::{Deserialize, Empty, Hash, Packable, Serialize}};\n\npub global POINT_LENGTH: u32 = 3;\n\nimpl Serialize<POINT_LENGTH> for Point {\n fn serialize(self: Self) -> [Field; POINT_LENGTH] {\n [self.x, self.y, self.is_infinite as Field]\n }\n}\n\nimpl Hash for Point {\n fn hash(self) -> Field {\n poseidon2_hash(self.serialize())\n }\n}\n\nimpl Empty for Point {\n /// Note: Does not return a valid point on curve - instead represents an empty/\"unpopulated\" point struct (e.g.\n /// empty/unpopulated value in an array of points).\n fn empty() -> Self {\n Point { x: 0, y: 0, is_infinite: false }\n }\n}\n\nimpl Deserialize<POINT_LENGTH> for Point {\n fn deserialize(serialized: [Field; POINT_LENGTH]) -> Point {\n Point { x: serialized[0], y: serialized[1], is_infinite: serialized[2] as bool }\n }\n}\n// TODO(#11356): use compact representation here.\nimpl Packable<POINT_LENGTH> for Point {\n fn pack(self) -> [Field; POINT_LENGTH] {\n self.serialize()\n }\n\n fn unpack(packed: [Field; POINT_LENGTH]) -> Self {\n Self::deserialize(packed)\n }\n}\n"
|
|
6013
6013
|
},
|
|
6014
|
-
"
|
|
6014
|
+
"284": {
|
|
6015
6015
|
"path": "/build-volume/noir-projects/noir-protocol-circuits/crates/types/src/poseidon2.nr",
|
|
6016
6016
|
"source": "use crate::constants::TWO_POW_64;\n\n// NB: This is a clone of noir/noir-repo/noir_stdlib/src/hash/poseidon2.nr\n// It exists as we sometimes need to perform custom absorption, but the stdlib version\n// has a private absorb() method (it's also designed to just be a hasher)\n// Can be removed when standalone noir poseidon lib exists: See noir#6679\n\ncomptime global RATE: u32 = 3;\n\npub struct Poseidon2Sponge {\n pub cache: [Field; 3],\n pub state: [Field; 4],\n pub cache_size: u32,\n pub squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2Sponge {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n Poseidon2Sponge::hash_internal(input, message_size, message_size != N)\n }\n\n pub(crate) fn new(iv: Field) -> Poseidon2Sponge {\n let mut result =\n Poseidon2Sponge { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) {\n // add the cache into sponge state\n for i in 0..RATE {\n // We effectively zero-pad the cache by only adding to the state\n // cache that is less than the specified `cache_size`\n if i < self.cache_size {\n self.state[i] += self.cache[i];\n }\n }\n self.state = std::hash::poseidon2_permutation(self.state, 4);\n }\n\n pub fn absorb(&mut self, input: Field) {\n assert(!self.squeeze_mode);\n if self.cache_size == RATE {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n }\n }\n\n pub fn squeeze(&mut self) -> Field {\n assert(!self.squeeze_mode);\n // If we're in absorb mode, apply sponge permutation to compress the cache.\n self.perform_duplex();\n self.squeeze_mode = true;\n\n // Pop one item off the top of the permutation and return it.\n self.state[0]\n }\n\n fn hash_internal<let N: u32>(\n input: [Field; N],\n in_len: u32,\n is_variable_length: bool,\n ) -> Field {\n let iv: Field = (in_len as Field) * TWO_POW_64;\n let mut sponge = Poseidon2Sponge::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n"
|
|
6017
6017
|
},
|
|
6018
|
-
"
|
|
6018
|
+
"293": {
|
|
6019
6019
|
"path": "/build-volume/noir-projects/noir-protocol-circuits/crates/types/src/public_keys.nr",
|
|
6020
6020
|
"source": "use crate::{\n address::public_keys_hash::PublicKeysHash,\n constants::{\n DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y, DEFAULT_NPK_M_X, DEFAULT_NPK_M_Y, DEFAULT_OVPK_M_X,\n DEFAULT_OVPK_M_Y, DEFAULT_TPK_M_X, DEFAULT_TPK_M_Y, GENERATOR_INDEX__PUBLIC_KEYS_HASH,\n },\n hash::poseidon2_hash_with_separator,\n point::POINT_LENGTH,\n traits::{Deserialize, Hash, Serialize},\n};\n\nuse dep::std::embedded_curve_ops::EmbeddedCurvePoint as Point;\nuse std::default::Default;\n\npub global PUBLIC_KEYS_LENGTH: u32 = 12;\n\npub struct PublicKeys {\n pub npk_m: NpkM,\n pub ivpk_m: IvpkM,\n pub ovpk_m: OvpkM,\n pub tpk_m: TpkM,\n}\n\npub trait ToPoint {\n fn to_point(self) -> Point;\n}\n\npub struct NpkM {\n pub inner: Point,\n}\n\nimpl ToPoint for NpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for NpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\n// Note: If we store npk_m_hash directly we can remove this trait implementation. See #8091\nimpl Hash for NpkM {\n fn hash(self) -> Field {\n self.inner.hash()\n }\n}\n\npub struct IvpkM {\n pub inner: Point,\n}\n\nimpl ToPoint for IvpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for IvpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\npub struct OvpkM {\n pub inner: Point,\n}\n\nimpl Hash for OvpkM {\n fn hash(self) -> Field {\n self.inner.hash()\n }\n}\n\nimpl ToPoint for OvpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for OvpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\npub struct TpkM {\n pub inner: Point,\n}\n\nimpl ToPoint for TpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for TpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\nimpl Default for PublicKeys {\n fn default() -> Self {\n PublicKeys {\n npk_m: NpkM {\n inner: Point { x: DEFAULT_NPK_M_X, y: DEFAULT_NPK_M_Y, is_infinite: false },\n },\n ivpk_m: IvpkM {\n inner: Point { x: DEFAULT_IVPK_M_X, y: DEFAULT_IVPK_M_Y, is_infinite: false },\n },\n ovpk_m: OvpkM {\n inner: Point { x: DEFAULT_OVPK_M_X, y: DEFAULT_OVPK_M_Y, is_infinite: false },\n },\n tpk_m: TpkM {\n inner: Point { x: DEFAULT_TPK_M_X, y: DEFAULT_TPK_M_Y, is_infinite: false },\n },\n }\n }\n}\n\nimpl Eq for PublicKeys {\n fn eq(self, other: PublicKeys) -> bool {\n (self.npk_m.inner == other.npk_m.inner)\n & (self.ivpk_m.inner == other.ivpk_m.inner)\n & (self.ovpk_m.inner == other.ovpk_m.inner)\n & (self.tpk_m.inner == other.tpk_m.inner)\n }\n}\n\nimpl PublicKeys {\n pub fn hash(self) -> PublicKeysHash {\n PublicKeysHash::from_field(poseidon2_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__PUBLIC_KEYS_HASH as Field,\n ))\n }\n}\n\nimpl Serialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn serialize(self) -> [Field; PUBLIC_KEYS_LENGTH] {\n [\n self.npk_m.inner.x,\n self.npk_m.inner.y,\n self.npk_m.inner.is_infinite as Field,\n self.ivpk_m.inner.x,\n self.ivpk_m.inner.y,\n self.ivpk_m.inner.is_infinite as Field,\n self.ovpk_m.inner.x,\n self.ovpk_m.inner.y,\n self.ovpk_m.inner.is_infinite as Field,\n self.tpk_m.inner.x,\n self.tpk_m.inner.y,\n self.tpk_m.inner.is_infinite as Field,\n ]\n }\n}\n\nimpl Deserialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn deserialize(serialized: [Field; PUBLIC_KEYS_LENGTH]) -> PublicKeys {\n PublicKeys {\n npk_m: NpkM {\n inner: Point {\n x: serialized[0],\n y: serialized[1],\n is_infinite: serialized[2] as bool,\n },\n },\n ivpk_m: IvpkM {\n inner: Point {\n x: serialized[3],\n y: serialized[4],\n is_infinite: serialized[5] as bool,\n },\n },\n ovpk_m: OvpkM {\n inner: Point {\n x: serialized[6],\n y: serialized[7],\n is_infinite: serialized[8] as bool,\n },\n },\n tpk_m: TpkM {\n inner: Point {\n x: serialized[9],\n y: serialized[10],\n is_infinite: serialized[11] as bool,\n },\n },\n }\n }\n}\n\npub struct AddressPoint {\n pub inner: Point,\n}\n\nimpl ToPoint for AddressPoint {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\n#[test]\nunconstrained fn compute_public_keys_hash() {\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } },\n };\n\n let actual = keys.hash();\n let expected_public_keys_hash =\n 0x0fecd9a32db731fec1fded1b9ff957a1625c069245a3613a2538bd527068b0ad;\n\n assert(actual.to_field() == expected_public_keys_hash);\n}\n\n#[test]\nunconstrained fn compute_default_hash() {\n let keys = PublicKeys::default();\n\n let actual = keys.hash();\n let test_data_default_hash = 0x1d3bf1fb93ae0e9cda83b203dd91c3bfb492a9aecf30ec90e1057eced0f0e62d;\n\n assert(actual.to_field() == test_data_default_hash);\n}\n\n#[test]\nunconstrained fn test_public_keys_serialization() {\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } },\n };\n\n let serialized = keys.serialize();\n let deserialized = PublicKeys::deserialize(serialized);\n\n assert_eq(keys.npk_m.inner.x, deserialized.npk_m.inner.x);\n assert_eq(keys.npk_m.inner.y, deserialized.npk_m.inner.y);\n assert_eq(keys.ivpk_m.inner.x, deserialized.ivpk_m.inner.x);\n assert_eq(keys.ivpk_m.inner.y, deserialized.ivpk_m.inner.y);\n assert_eq(keys.ovpk_m.inner.x, deserialized.ovpk_m.inner.x);\n assert_eq(keys.ovpk_m.inner.y, deserialized.ovpk_m.inner.y);\n assert_eq(keys.tpk_m.inner.x, deserialized.tpk_m.inner.x);\n assert_eq(keys.tpk_m.inner.y, deserialized.tpk_m.inner.y);\n}\n"
|
|
6021
6021
|
},
|
|
6022
|
-
"
|
|
6022
|
+
"330": {
|
|
6023
6023
|
"path": "/build-volume/noir-projects/noir-protocol-circuits/crates/types/src/utils/arrays.nr",
|
|
6024
6024
|
"source": "pub mod assert_array_appended;\npub mod assert_array_prepended;\npub mod assert_combined_array;\npub mod assert_combined_transformed_array;\npub mod assert_exposed_sorted_transformed_value_array;\npub mod assert_sorted_array;\npub mod assert_sorted_transformed_value_array;\npub mod assert_split_sorted_transformed_value_arrays;\npub mod assert_split_transformed_value_arrays;\npub mod get_sorted_result;\npub mod get_sorted_tuple;\npub mod sort_by;\npub mod sort_by_counter;\n\n// Re-exports.\npub use assert_array_appended::{\n assert_array_appended, assert_array_appended_and_scoped, assert_array_appended_reversed,\n assert_array_appended_scoped,\n};\npub use assert_array_prepended::assert_array_prepended;\npub use assert_combined_array::{assert_combined_array, combine_arrays};\npub use assert_combined_transformed_array::{\n assert_combined_transformed_array, combine_and_transform_arrays,\n};\npub use assert_exposed_sorted_transformed_value_array::{\n assert_exposed_sorted_transformed_value_array,\n get_order_hints::{get_order_hints_asc, get_order_hints_desc, OrderHint},\n};\npub use assert_sorted_array::assert_sorted_array;\npub use assert_sorted_transformed_value_array::{\n assert_sorted_transformed_value_array, assert_sorted_transformed_value_array_capped_size,\n};\npub use assert_split_sorted_transformed_value_arrays::{\n assert_split_sorted_transformed_value_arrays_asc,\n assert_split_sorted_transformed_value_arrays_desc,\n get_split_order_hints::{get_split_order_hints_asc, get_split_order_hints_desc, SplitOrderHints},\n};\npub use assert_split_transformed_value_arrays::assert_split_transformed_value_arrays;\npub use get_sorted_result::{get_sorted_result, SortedResult};\npub use sort_by_counter::{sort_by_counter_asc, sort_by_counter_desc};\n\nuse crate::traits::{Empty, is_empty};\n\npub fn subarray<let SRC_LEN: u32, let DST_LEN: u32>(\n src: [Field; SRC_LEN],\n offset: u32,\n) -> [Field; DST_LEN] {\n assert(offset + DST_LEN <= SRC_LEN, \"offset too large\");\n\n let mut dst: [Field; DST_LEN] = std::mem::zeroed();\n for i in 0..DST_LEN {\n dst[i] = src[i + offset];\n }\n\n dst\n}\n\n// Helper function to convert a validated array to BoundedVec.\n// Important: Only use it for validated arrays: validate_array(array) should be true.\npub unconstrained fn array_to_bounded_vec<T, let N: u32>(array: [T; N]) -> BoundedVec<T, N>\nwhere\n T: Empty + Eq,\n{\n let len = array_length(array);\n BoundedVec::from_parts_unchecked(array, len)\n}\n\n// Helper function to find the index of the first element in an array that satisfies a given predicate. If the element\n// is not found, the function returns N as the index.\npub unconstrained fn find_index_hint<T, let N: u32, Env>(\n array: [T; N],\n find: fn[Env](T) -> bool,\n) -> u32 {\n let mut index = N;\n for i in 0..N {\n // We check `index == N` to ensure that we only update the index if we haven't found a match yet.\n if (index == N) & find(array[i]) {\n index = i;\n }\n }\n index\n}\n\n// Routine which validates that all zero values of an array form a contiguous region at the end, i.e.,\n// of the form: [*,*,*...,0,0,0,0] where any * is non-zero. Note that a full array of non-zero values is\n// valid.\npub fn validate_array<T, let N: u32>(array: [T; N]) -> u32\nwhere\n T: Empty + Eq,\n{\n let mut seen_empty = false;\n let mut length = 0;\n for i in 0..N {\n if is_empty(array[i]) {\n seen_empty = true;\n } else {\n assert(seen_empty == false, \"invalid array\");\n length += 1;\n }\n }\n length\n}\n\n// Helper function to count the number of non-empty elements in a validated array.\n// Important: Only use it for validated arrays where validate_array(array) returns true,\n// which ensures that:\n// 1. All elements before the first empty element are non-empty\n// 2. All elements after and including the first empty element are empty\n// 3. The array forms a contiguous sequence of non-empty elements followed by empty elements\npub fn array_length<T, let N: u32>(array: [T; N]) -> u32\nwhere\n T: Empty + Eq,\n{\n // We get the length by checking the index of the first empty element.\n\n /// Safety: This is safe because we have validated the array (see function doc above) and the emptiness\n /// of the element and non-emptiness of the previous element is checked below.\n let length = unsafe { find_index_hint(array, |elem: T| is_empty(elem)) };\n if length != 0 {\n assert(!is_empty(array[length - 1]));\n }\n if length != N {\n assert(is_empty(array[length]));\n }\n length\n}\n\npub fn array_concat<T, let N: u32, let M: u32>(array1: [T; N], array2: [T; M]) -> [T; N + M] {\n let mut result = [array1[0]; N + M];\n for i in 1..N {\n result[i] = array1[i];\n }\n for i in 0..M {\n result[i + N] = array2[i];\n }\n result\n}\n\npub fn array_merge<T, let N: u32>(array1: [T; N], array2: [T; N]) -> [T; N]\nwhere\n T: Empty + Eq,\n{\n let mut result: [T; N] = [T::empty(); N];\n let mut i = 0;\n for elem in array1 {\n if !is_empty(elem) {\n result[i] = elem;\n i += 1;\n }\n }\n for elem in array2 {\n if !is_empty(elem) {\n result[i] = elem;\n i += 1;\n }\n }\n result\n}\n\n// Helper fn to create a subarray from a given array\npub fn array_splice<T, let N: u32, let M: u32>(array: [T; N], offset: u32) -> [T; M]\nwhere\n T: Empty,\n{\n assert(M + offset <= N, \"Subarray length larger than array length\");\n let mut result: [T; M] = [T::empty(); M];\n for i in 0..M {\n result[i] = array[offset + i];\n }\n result\n}\n\npub fn check_permutation<T, let N: u32>(\n original_array: [T; N],\n permuted_array: [T; N],\n original_indexes: [u32; N],\n)\nwhere\n T: Eq + Empty,\n{\n let mut seen_value = [false; N];\n for i in 0..N {\n let index = original_indexes[i];\n let original_value = original_array[index];\n assert(permuted_array[i].eq(original_value), \"Invalid index\");\n assert(!seen_value[index], \"Duplicated index\");\n seen_value[index] = true;\n }\n}\n\n#[test]\nfn smoke_validate_array() {\n let valid_array: [Field; 0] = [];\n assert(validate_array(valid_array) == 0);\n\n let valid_array = [0];\n assert(validate_array(valid_array) == 0);\n\n let valid_array = [3];\n assert(validate_array(valid_array) == 1);\n\n let valid_array = [1, 2, 3];\n assert(validate_array(valid_array) == 3);\n\n let valid_array = [1, 2, 3, 0];\n assert(validate_array(valid_array) == 3);\n\n let valid_array = [1, 2, 3, 0, 0];\n assert(validate_array(valid_array) == 3);\n}\n\n#[test(should_fail_with = \"invalid array\")]\nfn smoke_validate_array_invalid_case0() {\n let invalid_array = [0, 1];\n let _ = validate_array(invalid_array);\n}\n\n#[test(should_fail_with = \"invalid array\")]\nfn smoke_validate_array_invalid_case1() {\n let invalid_array = [1, 0, 0, 1, 0];\n let _ = validate_array(invalid_array);\n}\n\n#[test(should_fail_with = \"invalid array\")]\nfn smoke_validate_array_invalid_case2() {\n let invalid_array = [0, 0, 0, 0, 1];\n let _ = validate_array(invalid_array);\n}\n\n#[test]\nfn test_empty_array_length() {\n assert_eq(array_length([0]), 0);\n assert_eq(array_length([0, 0, 0]), 0);\n}\n\n#[test]\nfn test_array_length() {\n assert_eq(array_length([123]), 1);\n assert_eq(array_length([123, 0, 0]), 1);\n assert_eq(array_length([123, 456]), 2);\n assert_eq(array_length([123, 456, 0]), 2);\n}\n\n#[test]\nfn test_array_length_invalid_arrays() {\n // Result can be misleading (but correct) for invalid arrays.\n assert_eq(array_length([0, 0, 123]), 0);\n assert_eq(array_length([0, 123, 0]), 0);\n assert_eq(array_length([0, 123, 456]), 0);\n assert_eq(array_length([123, 0, 456]), 1);\n}\n\n#[test]\nunconstrained fn find_index_greater_than_min() {\n let values = [10, 20, 30, 40];\n let min = 22;\n let index = find_index_hint(values, |v: Field| min.lt(v));\n assert_eq(index, 2);\n}\n\n#[test]\nunconstrained fn find_index_not_found() {\n let values = [10, 20, 30, 40];\n let min = 100;\n let index = find_index_hint(values, |v: Field| min.lt(v));\n assert_eq(index, 4);\n}\n\n#[test]\nfn test_array_concat() {\n let array0 = [1, 2, 3];\n let array1 = [4, 5];\n let concatenated = array_concat(array0, array1);\n assert_eq(concatenated, [1, 2, 3, 4, 5]);\n}\n\n#[test]\nfn check_permutation_basic_test() {\n let original_array = [1, 2, 3];\n let permuted_array = [3, 1, 2];\n let indexes = [2, 0, 1];\n check_permutation(original_array, permuted_array, indexes);\n}\n\n#[test(should_fail_with = \"Duplicated index\")]\nfn check_permutation_duplicated_index() {\n let original_array = [0, 1, 0];\n let permuted_array = [1, 0, 0];\n let indexes = [1, 0, 0];\n check_permutation(original_array, permuted_array, indexes);\n}\n\n#[test(should_fail_with = \"Invalid index\")]\nfn check_permutation_invalid_index() {\n let original_array = [0, 1, 2];\n let permuted_array = [1, 0, 0];\n let indexes = [1, 0, 2];\n check_permutation(original_array, permuted_array, indexes);\n}\n"
|
|
6025
6025
|
},
|
|
6026
|
-
"
|
|
6026
|
+
"333": {
|
|
6027
6027
|
"path": "/build-volume/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr",
|
|
6028
6028
|
"source": "pub struct Reader<let N: u32> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<let N: u32> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_u32(&mut self) -> u32 {\n self.read() as u32\n }\n\n pub fn read_bool(&mut self) -> bool {\n self.read() as bool\n }\n\n pub fn read_array<let K: u32>(&mut self) -> [Field; K] {\n let mut result = [0; K];\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n pub fn read_struct<T, let K: u32>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array());\n result\n }\n\n pub fn read_struct_array<T, let K: u32, let C: u32>(\n &mut self,\n deserialise: fn([Field; K]) -> T,\n mut result: [T; C],\n ) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n }\n}\n"
|
|
6029
6029
|
},
|
|
6030
|
-
"
|
|
6030
|
+
"338": {
|
|
6031
6031
|
"path": "/root/nargo/github.com/noir-lang/ec/v0.1.2/src/lib.nr",
|
|
6032
6032
|
"source": "// Elliptic curve implementation\n// Overview\n// ========\n// The following three elliptic curve representations are admissible:\npub mod tecurve; // Twisted Edwards curves\npub mod swcurve; // Elliptic curves in Short Weierstrass form\npub mod montcurve; // Montgomery curves\npub mod consts; // Commonly used curve presets\n//\n// Note that Twisted Edwards and Montgomery curves are (birationally) equivalent, so that\n// they may be freely converted between one another, whereas Short Weierstrass curves are\n// more general. Diagramatically:\n//\n// tecurve == montcurve `subset` swcurve\n//\n// Each module is further divided into two submodules, 'affine' and 'curvegroup', depending\n// on the preferred coordinate representation. Affine coordinates are none other than the usual\n// two-dimensional Cartesian coordinates used in the definitions of these curves, whereas\n// 'CurveGroup' coordinates (terminology borrowed from Arkworks, whose conventions we try\n// to follow) are special coordinate systems with respect to which the group operations may be\n// implemented more efficiently, usually by means of an appropriate choice of projective coordinates.\n//\n// In each of these submodules, there is a Point struct and a Curve struct, the former\n// representing a point in the coordinate system and the latter a curve configuration.\n//\n// Points\n// ======\n// Points may be instantiated using the associated function `new`, which takes coordinates\n// as its arguments. For instance,\n//\n// `let p = swcurve::Point::new(1,1);`\n//\n// The additive identity may be constructed by a call to the associated function `zero` of no\n// arguments:\n//\n// `let zero = swcurve::Point::zero();`\n//\n// Points may be tested for equality by calling the method `eq`:\n//\n// `let pred = p.eq(zero);`\n//\n// There is also the method `is_zero` to explicitly check whether a point is the additive identity:\n//\n// `constrain pred == p.is_zero();`\n//\n// Points may be negated by calling the `negate` method and converted to CurveGroup (or affine)\n// coordinates by calling the `into_group` (resp. `into_affine`) method on them. Finally,\n// Points may be freely mapped between their respective Twisted Edwards and Montgomery\n// representations by calling the `into_montcurve` or `into_tecurve` methods. For mappings\n// between Twisted Edwards/Montgomery curves and Short Weierstrass curves, see the Curve section\n// below, as the underlying mappings are those of curves rather than ambient spaces.\n// As a rule, Points in affine (or CurveGroup) coordinates are mapped to Points in affine\n// (resp. CurveGroup) coordinates.\n//\n// Curves\n// ======\n// A curve configuration (Curve) is completely determined by the Field coefficients of its defining\n// equation (a and b in the case of swcurve, a and d in the case of tecurve, and j and k in\n// the case of montcurve) together with a generator (`gen`) in the corresponding coordinate system.\n// For example, the Baby Jubjub curve configuration as defined in ERC-2494 may be instantiated as a Twisted\n// Edwards curve in affine coordinates as follows:\n//\n// `let bjj_affine = tecurve::Curve::new(168700, 168696, tecurve::Point::new(995203441582195749578291179787384436505546430278305826713579947235728471134,5472060717959818805561601436314318772137091100104008585924551046643952123905));`\n//\n// The `contains` method may be used to check whether a Point lies on a given curve:\n//\n// `constrain bjj_affine.contains(tecurve::Point::zero());`\n//\n// The elliptic curve group's addition operation is exposed as the `add` method, e.g.\n//\n// `let p = bjj_affine.add(bjj_affine.gen, bjj_affine.gen);`\n//\n// subtraction as the `subtract` method, e.g.\n//\n// `constrain tecurve::Point::zero().eq(bjj_affine.subtract(bjj_affine.gen, bjj_affine.gen));`\n//\n// scalar multiplication as the `mul` method, where the scalar is assumed to be a Field* element, e.g.\n//\n// `constrain tecurve::Point::zero().eq(bjj_affine.mul(2, tecurve::Point::zero());`\n//\n// There is a scalar multiplication method (`bit_mul`) provided where the scalar input is expected to be\n// an array of bits (little-endian convention), as well as a multi-scalar multiplication method** (`msm`)\n// which takes an array of Field elements and an array of elliptic curve points as arguments, both assumed\n// to be of the same length.\n//\n// Curve configurations may be converted between different coordinate representations by calling the `into_group`\n// and `into_affine` methods on them, e.g.\n//\n// `let bjj_curvegroup = bjj_affine.into_group();`\n//\n// Curve configurations may also be converted between different curve representations by calling the `into_swcurve`,\n// `into_montcurve` and `into_tecurve` methods subject to the relation between the curve representations mentioned\n// above. Note that it is possible to map Points from a Twisted Edwards/Montgomery curve to the corresponding\n// Short Weierstrass representation and back, and the methods to do so are exposed as `map_into_swcurve` and\n// `map_from_swcurve`, which each take one argument, the point to be mapped.\n//\n// Curve maps\n// ==========\n// There are a few different ways of mapping Field elements to elliptic curves. Here we provide the simplified\n// Shallue-van de Woestijne-Ulas and Elligator 2 methods, the former being applicable to all curve types\n// provided above subject to the constraint that the coefficients of the corresponding Short Weierstrass curve satisfies\n// a*b != 0 and the latter being applicable to Montgomery and Twisted Edwards curves subject to the constraint that\n// the coefficients of the corresponding Montgomery curve satisfy j*k != 0 and (j^2 - 4)/k^2 is non-square.\n//\n// The simplified Shallue-van de Woestijne-Ulas method is exposed as the method `swu_map` on the Curve configuration and\n// depends on two parameters, a Field element z != -1 for which g(x) - z is irreducible over Field and g(b/(z*a)) is\n// square, where g(x) = x^3 + a*x + b is the right-hand side of the defining equation of the corresponding Short\n// Weierstrass curve, and a Field element u to be mapped onto the curve. For example, in the case of bjj_affine above,\n// it may be determined using the scripts provided at <https://github.com/cfrg/draft-irtf-cfrg-hash-to-curve> that z = 5.\n//\n// The Elligator 2 method is exposed as the method `elligator2_map` on the Curve configurations of Montgomery and\n// Twisted Edwards curves. Like the simplified SWU method above, it depends on a certain non-square element of Field,\n// but this element need not satisfy any further conditions, so it is included as the (Field-dependent) constant\n//`ZETA` below. Thus, the `elligator2_map` method depends only on one parameter, the Field element to be mapped onto\n// the curve.\n//\n// For details on all of the above in the context of hashing to elliptic curves, see <https://datatracker.ietf.org/doc/id/draft-irtf-cfrg-hash-to-curve-06.html>.\n//\n//\n// *TODO: Replace Field with Bigint.\n// **TODO: Support arrays of structs to make this work.\n// Field-dependent constant ZETA = a non-square element of Field\n// Required for Elligator 2 map\n// TODO: Replace with built-in constant.\nglobal ZETA: Field = 5;\n// Field-dependent constants for Tonelli-Shanks algorithm (see sqrt function below)\n// TODO: Possibly make this built-in.\nglobal C1: u32 = 28;\nglobal C3: Field = 40770029410420498293352137776570907027550720424234931066070132305055;\nglobal C5: Field = 19103219067921713944291392827692070036145651957329286315305642004821462161904;\n// Higher-order version of scalar multiplication\n// TODO: Make this work so that the submodules' bit_mul may be defined in terms of it.\n//fn bit_mul<T,N>(add: fn(T,T) -> T, e: T, bits: [u1; N], p: T) -> T {\n// let mut out = e;\n// let n = bits.len();\n//\n// for i in 0..n {\n// out = add(\n// add(out, out),\n// if(bits[n - i - 1] == 0) {e} else {p});\n// }\n//\n// out\n//}\n// TODO: Make this built-in.\npub fn safe_inverse(x: Field) -> Field {\n if x == 0 {\n 0\n } else {\n 1 / x\n }\n}\n// Boolean indicating whether Field element is a square, i.e. whether there exists a y in Field s.t. x = y*y.\npub fn is_square(x: Field) -> bool {\n let v = pow(x, 0 - 1 / 2);\n\n v * (v - 1) == 0\n}\n// Power function of two Field arguments of arbitrary size.\n// Adapted from std::field::pow_32.\npub fn pow(x: Field, y: Field) -> Field {\n let mut r = 1 as Field;\n let b: [u1; 254] = y.to_le_bits();\n\n for i in 0..254 {\n r *= r;\n r *= (b[254 - 1 - i] as Field) * x + (1 - b[254 - 1 - i] as Field);\n }\n\n r\n}\n// Tonelli-Shanks algorithm for computing the square root of a Field element.\n// Requires C1 = max{c: 2^c divides (p-1)}, where p is the order of Field\n// as well as C3 = (C2 - 1)/2, where C2 = (p-1)/(2^c1),\n// and C5 = ZETA^C2, where ZETA is a non-square element of Field.\n// These are pre-computed above as globals.\npub fn sqrt(x: Field) -> Field {\n let mut z = pow(x, C3);\n let mut t = z * z * x;\n z *= x;\n let mut b = t;\n let mut c = C5;\n\n for i in 0..(C1 - 1) {\n for _j in 1..(C1 - i - 1) {\n b *= b;\n }\n\n z *= if b == 1 { 1 } else { c };\n\n c *= c;\n\n t *= if b == 1 { 1 } else { c };\n\n b = t;\n }\n\n z\n}\n\nmod tests {\n use crate::montcurve::affine::Point as MGaffine;\n use crate::montcurve::curvegroup::Point as MG;\n use crate::swcurve::affine::Point as SWGaffine;\n use crate::swcurve::curvegroup::Point as SWG;\n use crate::tecurve::affine::Curve as AffineCurve;\n use crate::tecurve::affine::Point as Gaffine;\n use crate::tecurve::curvegroup::Point as G;\n\n #[test]\n fn smoke_test() {\n // Tests may be checked against https://github.com/cfrg/draft-irtf-cfrg-hash-to-curve/tree/main/poc\n // Define Baby Jubjub (ERC-2494) parameters in affine representation\n let bjj_affine = AffineCurve::new(\n 168700,\n 168696,\n Gaffine::new(\n 995203441582195749578291179787384436505546430278305826713579947235728471134,\n 5472060717959818805561601436314318772137091100104008585924551046643952123905,\n ),\n );\n // Test addition\n let p1_affine = Gaffine::new(\n 17777552123799933955779906779655732241715742912184938656739573121738514868268,\n 2626589144620713026669568689430873010625803728049924121243784502389097019475,\n );\n let p2_affine = Gaffine::new(\n 16540640123574156134436876038791482806971768689494387082833631921987005038935,\n 20819045374670962167435360035096875258406992893633759881276124905556507972311,\n );\n\n let p3_affine = bjj_affine.add(p1_affine, p2_affine);\n assert(p3_affine.eq(Gaffine::new(\n 7916061937171219682591368294088513039687205273691143098332585753343424131937,\n 14035240266687799601661095864649209771790948434046947201833777492504781204499,\n )));\n // Test scalar multiplication\n let p4_affine = bjj_affine.mul(2, p1_affine);\n assert(p4_affine.eq(Gaffine::new(\n 6890855772600357754907169075114257697580319025794532037257385534741338397365,\n 4338620300185947561074059802482547481416142213883829469920100239455078257889,\n )));\n assert(p4_affine.eq(bjj_affine.bit_mul([0, 1], p1_affine)));\n // Test subtraction\n let p5_affine = bjj_affine.subtract(p3_affine, p3_affine);\n assert(p5_affine.eq(Gaffine::zero()));\n // Check that these points are on the curve\n assert(\n bjj_affine.contains(bjj_affine.gen)\n & bjj_affine.contains(p1_affine)\n & bjj_affine.contains(p2_affine)\n & bjj_affine.contains(p3_affine)\n & bjj_affine.contains(p4_affine)\n & bjj_affine.contains(p5_affine),\n );\n // Test CurveGroup equivalents\n let bjj = bjj_affine.into_group(); // Baby Jubjub\n let p1 = p1_affine.into_group();\n let p2 = p2_affine.into_group();\n let p3 = p3_affine.into_group();\n let p4 = p4_affine.into_group();\n let p5 = p5_affine.into_group();\n // Test addition\n assert(p3.eq(bjj.add(p1, p2)));\n // Test scalar multiplication\n assert(p4.eq(bjj.mul(2, p1)));\n assert(p4.eq(bjj.bit_mul([0, 1], p1)));\n // Test subtraction\n assert(G::zero().eq(bjj.subtract(p3, p3)));\n assert(p5.eq(G::zero()));\n // Check that these points are on the curve\n assert(\n bjj.contains(bjj.gen)\n & bjj.contains(p1)\n & bjj.contains(p2)\n & bjj.contains(p3)\n & bjj.contains(p4)\n & bjj.contains(p5),\n );\n // Test SWCurve equivalents of the above\n // First the affine representation\n let bjj_swcurve_affine = bjj_affine.into_swcurve();\n\n let p1_swcurve_affine = bjj_affine.map_into_swcurve(p1_affine);\n let p2_swcurve_affine = bjj_affine.map_into_swcurve(p2_affine);\n let p3_swcurve_affine = bjj_affine.map_into_swcurve(p3_affine);\n let p4_swcurve_affine = bjj_affine.map_into_swcurve(p4_affine);\n let p5_swcurve_affine = bjj_affine.map_into_swcurve(p5_affine);\n // Addition\n assert(p3_swcurve_affine.eq(bjj_swcurve_affine.add(p1_swcurve_affine, p2_swcurve_affine)));\n // Doubling\n assert(p4_swcurve_affine.eq(bjj_swcurve_affine.mul(2, p1_swcurve_affine)));\n assert(p4_swcurve_affine.eq(bjj_swcurve_affine.bit_mul([0, 1], p1_swcurve_affine)));\n // Subtraction\n assert(SWGaffine::zero().eq(bjj_swcurve_affine.subtract(\n p3_swcurve_affine,\n p3_swcurve_affine,\n )));\n assert(p5_swcurve_affine.eq(SWGaffine::zero()));\n // Check that these points are on the curve\n assert(\n bjj_swcurve_affine.contains(bjj_swcurve_affine.gen)\n & bjj_swcurve_affine.contains(p1_swcurve_affine)\n & bjj_swcurve_affine.contains(p2_swcurve_affine)\n & bjj_swcurve_affine.contains(p3_swcurve_affine)\n & bjj_swcurve_affine.contains(p4_swcurve_affine)\n & bjj_swcurve_affine.contains(p5_swcurve_affine),\n );\n // Then the CurveGroup representation\n let bjj_swcurve = bjj.into_swcurve();\n\n let p1_swcurve = bjj.map_into_swcurve(p1);\n let p2_swcurve = bjj.map_into_swcurve(p2);\n let p3_swcurve = bjj.map_into_swcurve(p3);\n let p4_swcurve = bjj.map_into_swcurve(p4);\n let p5_swcurve = bjj.map_into_swcurve(p5);\n // Addition\n assert(p3_swcurve.eq(bjj_swcurve.add(p1_swcurve, p2_swcurve)));\n // Doubling\n assert(p4_swcurve.eq(bjj_swcurve.mul(2, p1_swcurve)));\n assert(p4_swcurve.eq(bjj_swcurve.bit_mul([0, 1], p1_swcurve)));\n // Subtraction\n assert(SWG::zero().eq(bjj_swcurve.subtract(p3_swcurve, p3_swcurve)));\n assert(p5_swcurve.eq(SWG::zero()));\n // Check that these points are on the curve\n assert(\n bjj_swcurve.contains(bjj_swcurve.gen)\n & bjj_swcurve.contains(p1_swcurve)\n & bjj_swcurve.contains(p2_swcurve)\n & bjj_swcurve.contains(p3_swcurve)\n & bjj_swcurve.contains(p4_swcurve)\n & bjj_swcurve.contains(p5_swcurve),\n );\n // Test MontCurve conversions\n // First the affine representation\n let bjj_montcurve_affine = bjj_affine.into_montcurve();\n\n let p1_montcurve_affine = p1_affine.into_montcurve();\n let p2_montcurve_affine = p2_affine.into_montcurve();\n let p3_montcurve_affine = p3_affine.into_montcurve();\n let p4_montcurve_affine = p4_affine.into_montcurve();\n let p5_montcurve_affine = p5_affine.into_montcurve();\n // Addition\n assert(p3_montcurve_affine.eq(bjj_montcurve_affine.add(\n p1_montcurve_affine,\n p2_montcurve_affine,\n )));\n // Doubling\n assert(p4_montcurve_affine.eq(bjj_montcurve_affine.mul(2, p1_montcurve_affine)));\n assert(p4_montcurve_affine.eq(bjj_montcurve_affine.bit_mul([0, 1], p1_montcurve_affine)));\n // Subtraction\n assert(MGaffine::zero().eq(bjj_montcurve_affine.subtract(\n p3_montcurve_affine,\n p3_montcurve_affine,\n )));\n assert(p5_montcurve_affine.eq(MGaffine::zero()));\n // Check that these points are on the curve\n assert(\n bjj_montcurve_affine.contains(bjj_montcurve_affine.gen)\n & bjj_montcurve_affine.contains(p1_montcurve_affine)\n & bjj_montcurve_affine.contains(p2_montcurve_affine)\n & bjj_montcurve_affine.contains(p3_montcurve_affine)\n & bjj_montcurve_affine.contains(p4_montcurve_affine)\n & bjj_montcurve_affine.contains(p5_montcurve_affine),\n );\n // Then the CurveGroup representation\n let bjj_montcurve = bjj.into_montcurve();\n\n let p1_montcurve = p1_montcurve_affine.into_group();\n let p2_montcurve = p2_montcurve_affine.into_group();\n let p3_montcurve = p3_montcurve_affine.into_group();\n let p4_montcurve = p4_montcurve_affine.into_group();\n let p5_montcurve = p5_montcurve_affine.into_group();\n // Addition\n assert(p3_montcurve.eq(bjj_montcurve.add(p1_montcurve, p2_montcurve)));\n // Doubling\n assert(p4_montcurve.eq(bjj_montcurve.mul(2, p1_montcurve)));\n assert(p4_montcurve.eq(bjj_montcurve.bit_mul([0, 1], p1_montcurve)));\n // Subtraction\n assert(MG::zero().eq(bjj_montcurve.subtract(p3_montcurve, p3_montcurve)));\n assert(p5_montcurve.eq(MG::zero()));\n // Check that these points are on the curve\n assert(\n bjj_montcurve.contains(bjj_montcurve.gen)\n & bjj_montcurve.contains(p1_montcurve)\n & bjj_montcurve.contains(p2_montcurve)\n & bjj_montcurve.contains(p3_montcurve)\n & bjj_montcurve.contains(p4_montcurve)\n & bjj_montcurve.contains(p5_montcurve),\n );\n // Elligator 2 map-to-curve\n let ell2_pt_map = bjj_affine.elligator2_map(27);\n\n assert(ell2_pt_map.eq(MGaffine::new(\n 7972459279704486422145701269802978968072470631857513331988813812334797879121,\n 8142420778878030219043334189293412482212146646099536952861607542822144507872,\n )\n .into_tecurve()));\n // SWU map-to-curve\n let swu_pt_map = bjj_affine.swu_map(5, 27);\n\n assert(swu_pt_map.eq(bjj_affine.map_from_swcurve(SWGaffine::new(\n 2162719247815120009132293839392097468339661471129795280520343931405114293888,\n 5341392251743377373758788728206293080122949448990104760111875914082289313973,\n ))));\n }\n\n}\n"
|
|
6033
6033
|
},
|
|
6034
|
-
"
|
|
6034
|
+
"344": {
|
|
6035
6035
|
"path": "/root/nargo/github.com/noir-lang/sha256/v0.1.0/src/sha256.nr",
|
|
6036
6036
|
"source": "use std::hash::sha256_compression;\nuse std::runtime::is_unconstrained;\n\nmod tests;\n\n// Implementation of SHA-256 mapping a byte array of variable length to\n// 32 bytes.\n\n// A message block is up to 64 bytes taken from the input.\nglobal BLOCK_SIZE: u32 = 64;\n\n// The first index in the block where the 8 byte message size will be written.\nglobal MSG_SIZE_PTR: u32 = 56;\n\n// Size of the message block when packed as 4-byte integer array.\nglobal INT_BLOCK_SIZE: u32 = 16;\n\n// A `u32` integer consists of 4 bytes.\nglobal INT_SIZE: u32 = 4;\n\n// Index of the integer in the `INT_BLOCK` where the length is written.\nglobal INT_SIZE_PTR: u32 = MSG_SIZE_PTR / INT_SIZE;\n\n// Magic numbers for bit shifting.\n// Works with actual bit shifting as well as the compiler turns them into * and /\n// but circuit execution appears to be 10% faster this way.\nglobal TWO_POW_8: u32 = 256;\nglobal TWO_POW_16: u32 = TWO_POW_8 * 256;\nglobal TWO_POW_24: u32 = TWO_POW_16 * 256;\nglobal TWO_POW_32: u64 = TWO_POW_24 as u64 * 256;\n\n// Index of a byte in a 64 byte block; ie. 0..=63\ntype BLOCK_BYTE_PTR = u32;\n\n// The foreign function to compress blocks works on 16 pieces of 4-byte integers, instead of 64 bytes.\ntype INT_BLOCK = [u32; INT_BLOCK_SIZE];\n\n// A message block is a slice of the original message of a fixed size,\n// potentially padded with zeros, with neighbouring 4 bytes packed into integers.\ntype MSG_BLOCK = INT_BLOCK;\n\n// The hash is 32 bytes.\ntype HASH = [u8; 32];\n\n// The state accumulates the blocks.\n// Its overall size is the same as the `HASH`.\ntype STATE = [u32; 8];\n\n// Deprecated in favour of `sha256_var`\n// docs:start:sha256\npub fn sha256<let N: u32>(input: [u8; N]) -> HASH\n// docs:end:sha256\n{\n digest(input)\n}\n\n// SHA-256 hash function\n#[no_predicates]\npub fn digest<let N: u32>(msg: [u8; N]) -> HASH {\n sha256_var(msg, N as u64)\n}\n\n// Variable size SHA-256 hash\npub fn sha256_var<let N: u32>(msg: [u8; N], message_size: u64) -> HASH {\n let message_size = message_size as u32;\n let num_blocks = N / BLOCK_SIZE;\n let mut msg_block: MSG_BLOCK = [0; INT_BLOCK_SIZE];\n // Intermediate hash, starting with the canonical initial value\n let mut h: STATE = [\n 1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635,\n 1541459225,\n ];\n // Pointer into msg_block on a 64 byte scale\n let mut msg_byte_ptr = 0;\n for i in 0..num_blocks {\n let msg_start = BLOCK_SIZE * i;\n let (new_msg_block, new_msg_byte_ptr) =\n unsafe { build_msg_block(msg, message_size, msg_start) };\n\n if msg_start < message_size {\n msg_block = new_msg_block;\n }\n\n if !is_unconstrained() {\n // Verify the block we are compressing was appropriately constructed\n let new_msg_byte_ptr = verify_msg_block(msg, message_size, msg_block, msg_start);\n if msg_start < message_size {\n msg_byte_ptr = new_msg_byte_ptr;\n }\n } else if msg_start < message_size {\n msg_byte_ptr = new_msg_byte_ptr;\n }\n\n // If the block is filled, compress it.\n // An un-filled block is handled after this loop.\n if (msg_start < message_size) & (msg_byte_ptr == BLOCK_SIZE) {\n h = sha256_compression(msg_block, h);\n }\n }\n\n let modulo = N % BLOCK_SIZE;\n // Handle setup of the final msg block.\n // This case is only hit if the msg is less than the block size,\n // or our message cannot be evenly split into blocks.\n if modulo != 0 {\n let msg_start = BLOCK_SIZE * num_blocks;\n let (new_msg_block, new_msg_byte_ptr) =\n unsafe { build_msg_block(msg, message_size, msg_start) };\n\n if msg_start < message_size {\n msg_block = new_msg_block;\n }\n\n if !is_unconstrained() {\n let new_msg_byte_ptr = verify_msg_block(msg, message_size, msg_block, msg_start);\n if msg_start < message_size {\n msg_byte_ptr = new_msg_byte_ptr;\n verify_msg_block_padding(msg_block, msg_byte_ptr);\n }\n } else if msg_start < message_size {\n msg_byte_ptr = new_msg_byte_ptr;\n }\n }\n\n // If we had modulo == 0 then it means the last block was full,\n // and we can reset the pointer to zero to overwrite it.\n if msg_byte_ptr == BLOCK_SIZE {\n msg_byte_ptr = 0;\n }\n\n // Pad the rest such that we have a [u32; 2] block at the end representing the length\n // of the message, and a block of 1 0 ... 0 following the message (i.e. [1 << 7, 0, ..., 0]).\n // Here we rely on the fact that everything beyond the available input is set to 0.\n msg_block = update_block_item(\n msg_block,\n msg_byte_ptr,\n |msg_item| set_item_byte_then_zeros(msg_item, msg_byte_ptr, 1 << 7),\n );\n msg_byte_ptr = msg_byte_ptr + 1;\n let last_block = msg_block;\n\n // If we don't have room to write the size, compress the block and reset it.\n if msg_byte_ptr > MSG_SIZE_PTR {\n h = sha256_compression(msg_block, h);\n // `attach_len_to_msg_block` will zero out everything after the `msg_byte_ptr`.\n msg_byte_ptr = 0;\n }\n\n msg_block = unsafe { attach_len_to_msg_block(msg_block, msg_byte_ptr, message_size) };\n\n if !is_unconstrained() {\n verify_msg_len(msg_block, last_block, msg_byte_ptr, message_size);\n }\n\n hash_final_block(msg_block, h)\n}\n\n// Take `BLOCK_SIZE` number of bytes from `msg` starting at `msg_start`.\n// Returns the block and the length that has been copied rather than padded with zeros.\nunconstrained fn build_msg_block<let N: u32>(\n msg: [u8; N],\n message_size: u32,\n msg_start: u32,\n) -> (MSG_BLOCK, BLOCK_BYTE_PTR) {\n let mut msg_block: MSG_BLOCK = [0; INT_BLOCK_SIZE];\n\n // We insert `BLOCK_SIZE` bytes (or up to the end of the message)\n let block_input = if msg_start + BLOCK_SIZE > message_size {\n if message_size < msg_start {\n // This function is sometimes called with `msg_start` past the end of the message.\n // In this case we return an empty block and zero pointer to signal that the result should be ignored.\n 0\n } else {\n message_size - msg_start\n }\n } else {\n BLOCK_SIZE\n };\n\n // Figure out the number of items in the int array that we have to pack.\n // e.g. if the input is [0,1,2,3,4,5] then we need to pack it as 2 items: [0123, 4500]\n let mut int_input = block_input / INT_SIZE;\n if block_input % INT_SIZE != 0 {\n int_input = int_input + 1;\n };\n\n for i in 0..int_input {\n let mut msg_item: u32 = 0;\n // Always construct the integer as 4 bytes, even if it means going beyond the input.\n for j in 0..INT_SIZE {\n let k = i * INT_SIZE + j;\n let msg_byte = if k < block_input {\n msg[msg_start + k]\n } else {\n 0\n };\n msg_item = lshift8(msg_item, 1) + msg_byte as u32;\n }\n msg_block[i] = msg_item;\n }\n\n // Returning the index as if it was a 64 byte array.\n // We have to project it down to 16 items and bit shifting to get a byte back if we need it.\n (msg_block, block_input)\n}\n\n// Verify the block we are compressing was appropriately constructed by `build_msg_block`\n// and matches the input data. Returns the index of the first unset item.\n// If `message_size` is less than `msg_start` then this is called with the old non-empty block;\n// in that case we can skip verification, ie. no need to check that everything is zero.\nfn verify_msg_block<let N: u32>(\n msg: [u8; N],\n message_size: u32,\n msg_block: MSG_BLOCK,\n msg_start: u32,\n) -> BLOCK_BYTE_PTR {\n let mut msg_byte_ptr = 0;\n let mut msg_end = msg_start + BLOCK_SIZE;\n if msg_end > N {\n msg_end = N;\n }\n // We might have to go beyond the input to pad the fields.\n if msg_end % INT_SIZE != 0 {\n msg_end = msg_end + INT_SIZE - msg_end % INT_SIZE;\n }\n\n // Reconstructed packed item.\n let mut msg_item: u32 = 0;\n\n // Inclusive at the end so that we can compare the last item.\n let mut i: u32 = 0;\n for k in msg_start..=msg_end {\n if k % INT_SIZE == 0 {\n // If we consumed some input we can compare against the block.\n if (msg_start < message_size) & (k > msg_start) {\n assert_eq(msg_block[i], msg_item as u32);\n i = i + 1;\n msg_item = 0;\n }\n }\n // Shift the accumulator\n msg_item = lshift8(msg_item, 1);\n // If we have input to consume, add it at the rightmost position.\n if k < message_size & k < msg_end {\n msg_item = msg_item + msg[k] as u32;\n msg_byte_ptr = msg_byte_ptr + 1;\n }\n }\n\n msg_byte_ptr\n}\n\n// Verify the block we are compressing was appropriately padded with zeros by `build_msg_block`.\n// This is only relevant for the last, potentially partially filled block.\nfn verify_msg_block_padding(msg_block: MSG_BLOCK, msg_byte_ptr: BLOCK_BYTE_PTR) {\n // Check all the way to the end of the block.\n verify_msg_block_zeros(msg_block, msg_byte_ptr, INT_BLOCK_SIZE);\n}\n\n// Verify that a region of ints in the message block are (partially) zeroed,\n// up to an (exclusive) maximum which can either be the end of the block\n// or just where the size is to be written.\nfn verify_msg_block_zeros(\n msg_block: MSG_BLOCK,\n mut msg_byte_ptr: BLOCK_BYTE_PTR,\n max_int_byte_ptr: u32,\n) {\n // This variable is used to get around the compiler under-constrained check giving a warning.\n // We want to check against a constant zero, but if it does not come from the circuit inputs\n // or return values the compiler check will issue a warning.\n let zero = msg_block[0] - msg_block[0];\n\n // First integer which is supposed to be (partially) zero.\n let mut int_byte_ptr = msg_byte_ptr / INT_SIZE;\n\n // Check partial zeros.\n let modulo = msg_byte_ptr % INT_SIZE;\n if modulo != 0 {\n let zeros = INT_SIZE - modulo;\n let mask = if zeros == 3 {\n TWO_POW_24\n } else if zeros == 2 {\n TWO_POW_16\n } else {\n TWO_POW_8\n };\n assert_eq(msg_block[int_byte_ptr] % mask, zero);\n int_byte_ptr = int_byte_ptr + 1;\n }\n\n // Check the rest of the items.\n for i in 0..max_int_byte_ptr {\n if i >= int_byte_ptr {\n assert_eq(msg_block[i], zero);\n }\n }\n}\n\n// Verify that up to the byte pointer the two blocks are equal.\n// At the byte pointer the new block can be partially zeroed.\nfn verify_msg_block_equals_last(\n msg_block: MSG_BLOCK,\n last_block: MSG_BLOCK,\n mut msg_byte_ptr: BLOCK_BYTE_PTR,\n) {\n // msg_byte_ptr is the position at which they are no longer have to be the same.\n // First integer which is supposed to be (partially) zero contains that pointer.\n let mut int_byte_ptr = msg_byte_ptr / INT_SIZE;\n\n // Check partial zeros.\n let modulo = msg_byte_ptr % INT_SIZE;\n if modulo != 0 {\n // Reconstruct the partially zero item from the last block.\n let last_field = last_block[int_byte_ptr];\n let mut msg_item: u32 = 0;\n // Reset to where they are still equal.\n msg_byte_ptr = msg_byte_ptr - modulo;\n for i in 0..INT_SIZE {\n msg_item = lshift8(msg_item, 1);\n if i < modulo {\n msg_item = msg_item + get_item_byte(last_field, msg_byte_ptr) as u32;\n msg_byte_ptr = msg_byte_ptr + 1;\n }\n }\n assert_eq(msg_block[int_byte_ptr], msg_item);\n }\n\n for i in 0..INT_SIZE_PTR {\n if i < int_byte_ptr {\n assert_eq(msg_block[i], last_block[i]);\n }\n }\n}\n\n// Apply a function on the block item which the pointer indicates.\nfn update_block_item<Env>(\n mut msg_block: MSG_BLOCK,\n msg_byte_ptr: BLOCK_BYTE_PTR,\n f: fn[Env](u32) -> u32,\n) -> MSG_BLOCK {\n let i = msg_byte_ptr / INT_SIZE;\n msg_block[i] = f(msg_block[i]);\n msg_block\n}\n\n// Set the rightmost `zeros` number of bytes to 0.\nfn set_item_zeros(item: u32, zeros: u8) -> u32 {\n lshift8(rshift8(item, zeros), zeros)\n}\n\n// Replace one byte in the item with a value, and set everything after it to zero.\nfn set_item_byte_then_zeros(msg_item: u32, msg_byte_ptr: BLOCK_BYTE_PTR, msg_byte: u8) -> u32 {\n let zeros = INT_SIZE - msg_byte_ptr % INT_SIZE;\n let zeroed_item = set_item_zeros(msg_item, zeros as u8);\n let new_item = byte_into_item(msg_byte, msg_byte_ptr);\n zeroed_item + new_item\n}\n\n// Get a byte of a message item according to its overall position in the `BLOCK_SIZE` space.\nfn get_item_byte(mut msg_item: u32, msg_byte_ptr: BLOCK_BYTE_PTR) -> u8 {\n // How many times do we have to shift to the right to get to the position we want?\n let max_shifts = INT_SIZE - 1;\n let shifts = max_shifts - msg_byte_ptr % INT_SIZE;\n msg_item = rshift8(msg_item, shifts as u8);\n // At this point the byte we want is in the rightmost position.\n msg_item as u8\n}\n\n// Project a byte into a position in a field based on the overall block pointer.\n// For example putting 1 into pointer 5 would be 100, because overall we would\n// have [____, 0100] with indexes [0123,4567].\nfn byte_into_item(msg_byte: u8, msg_byte_ptr: BLOCK_BYTE_PTR) -> u32 {\n let mut msg_item = msg_byte as u32;\n // How many times do we have to shift to the left to get to the position we want?\n let max_shifts = INT_SIZE - 1;\n let shifts = max_shifts - msg_byte_ptr % INT_SIZE;\n lshift8(msg_item, shifts as u8)\n}\n\n// Construct a field out of 4 bytes.\nfn make_item(b0: u8, b1: u8, b2: u8, b3: u8) -> u32 {\n let mut item = b0 as u32;\n item = lshift8(item, 1) + b1 as u32;\n item = lshift8(item, 1) + b2 as u32;\n item = lshift8(item, 1) + b3 as u32;\n item\n}\n\n// Shift by 8 bits to the left between 0 and 4 times.\n// Checks `is_unconstrained()` to just use a bitshift if we're running in an unconstrained context,\n// otherwise multiplies by 256.\nfn lshift8(item: u32, shifts: u8) -> u32 {\n if is_unconstrained() {\n if item == 0 {\n 0\n } else {\n // Brillig wouldn't shift 0<<4 without overflow.\n item << (8 * shifts)\n }\n } else {\n // We can do a for loop up to INT_SIZE or an if-else.\n if shifts == 0 {\n item\n } else if shifts == 1 {\n item * TWO_POW_8\n } else if shifts == 2 {\n item * TWO_POW_16\n } else if shifts == 3 {\n item * TWO_POW_24\n } else {\n // Doesn't make sense, but it's most likely called on 0 anyway.\n 0\n }\n }\n}\n\n// Shift by 8 bits to the right between 0 and 4 times.\n// Checks `is_unconstrained()` to just use a bitshift if we're running in an unconstrained context,\n// otherwise divides by 256.\nfn rshift8(item: u32, shifts: u8) -> u32 {\n if is_unconstrained() {\n item >> (8 * shifts)\n } else {\n // Division wouldn't work on `Field`.\n if shifts == 0 {\n item\n } else if shifts == 1 {\n item / TWO_POW_8\n } else if shifts == 2 {\n item / TWO_POW_16\n } else if shifts == 3 {\n item / TWO_POW_24\n } else {\n 0\n }\n }\n}\n\n// Zero out all bytes between the end of the message and where the length is appended,\n// then write the length into the last 8 bytes of the block.\nunconstrained fn attach_len_to_msg_block(\n mut msg_block: MSG_BLOCK,\n mut msg_byte_ptr: BLOCK_BYTE_PTR,\n message_size: u32,\n) -> MSG_BLOCK {\n // We assume that `msg_byte_ptr` is less than 57 because if not then it is reset to zero before calling this function.\n // In any case, fill blocks up with zeros until the last 64 bits (i.e. until msg_byte_ptr = 56).\n // There can be one item which has to be partially zeroed.\n let modulo = msg_byte_ptr % INT_SIZE;\n if modulo != 0 {\n // Index of the block in which we find the item we need to partially zero.\n let i = msg_byte_ptr / INT_SIZE;\n let zeros = INT_SIZE - modulo;\n msg_block[i] = set_item_zeros(msg_block[i], zeros as u8);\n msg_byte_ptr = msg_byte_ptr + zeros;\n }\n\n // The rest can be zeroed without bit shifting anything.\n for i in (msg_byte_ptr / INT_SIZE)..INT_SIZE_PTR {\n msg_block[i] = 0;\n }\n\n // Set the last two 4 byte ints as the first/second half of the 8 bytes of the length.\n let len = 8 * message_size;\n let len_bytes: [u8; 8] = (len as Field).to_be_bytes();\n for i in 0..=1 {\n let shift = i * 4;\n msg_block[INT_SIZE_PTR + i] = make_item(\n len_bytes[shift],\n len_bytes[shift + 1],\n len_bytes[shift + 2],\n len_bytes[shift + 3],\n );\n }\n msg_block\n}\n\n// Verify that the message length was correctly written by `attach_len_to_msg_block`,\n// and that everything between the byte pointer and the size pointer was zeroed,\n// and that everything before the byte pointer was untouched.\nfn verify_msg_len(\n msg_block: MSG_BLOCK,\n last_block: MSG_BLOCK,\n msg_byte_ptr: BLOCK_BYTE_PTR,\n message_size: u32,\n) {\n // Check zeros up to the size pointer.\n verify_msg_block_zeros(msg_block, msg_byte_ptr, INT_SIZE_PTR);\n\n // Check that up to the pointer we match the last block.\n verify_msg_block_equals_last(msg_block, last_block, msg_byte_ptr);\n\n // We verify the message length was inserted correctly by reversing the byte decomposition.\n let mut reconstructed_len: u64 = 0;\n for i in INT_SIZE_PTR..INT_BLOCK_SIZE {\n reconstructed_len = reconstructed_len * TWO_POW_32;\n reconstructed_len = reconstructed_len + msg_block[i] as u64;\n }\n let len = 8 * message_size as u64;\n assert_eq(reconstructed_len, len);\n}\n\n// Perform the final compression, then transform the `STATE` into `HASH`.\nfn hash_final_block(msg_block: MSG_BLOCK, mut state: STATE) -> HASH {\n let mut out_h: HASH = [0; 32]; // Digest as sequence of bytes\n // Hash final padded block\n state = sha256_compression(msg_block, state);\n\n // Return final hash as byte array\n for j in 0..8 {\n let h_bytes: [u8; 4] = (state[j] as Field).to_be_bytes();\n for k in 0..4 {\n out_h[4 * j + k] = h_bytes[k];\n }\n }\n\n out_h\n}\n\n"
|
|
6037
6037
|
},
|
|
6038
|
-
"
|
|
6038
|
+
"345": {
|
|
6039
6039
|
"path": "/build-volume/noir-projects/noir-contracts/contracts/ecdsa_public_key_note/src/lib.nr",
|
|
6040
6040
|
"source": "use dep::aztec::prelude::{NoteHeader, NoteInterface, NullifiableNote, PrivateContext};\n\nuse dep::aztec::{\n note::utils::compute_note_hash_for_nullify, keys::getters::{get_nsk_app, get_public_keys},\n protocol_types::{address::AztecAddress, constants::GENERATOR_INDEX__NOTE_NULLIFIER, hash::poseidon2_hash_with_separator},\n macros::notes::note_custom_interface, generators::Ga1 as Gx_1, generators::Ga2 as Gx_2,\n generators::Ga3 as Gy_1, generators::Ga4 as Gy_2, generators::Ga5 as G_owner, generators::G_slot\n};\n\nuse std::hash::from_field_unsafe;\n\nglobal ECDSA_PUBLIC_KEY_NOTE_LEN: u32 = 5;\n\n// Stores an ECDSA public key composed of two 32-byte elements\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\n#[note_custom_interface]\npub struct EcdsaPublicKeyNote {\n x: [u8; 32],\n y: [u8; 32],\n owner: AztecAddress,\n}\n\nimpl NoteInterface<ECDSA_PUBLIC_KEY_NOTE_LEN> for EcdsaPublicKeyNote {\n // Cannot use the automatic packing since x and y don't fit. Pack the note as 5 fields where:\n // [0] = x[0..31] (upper bound excluded)\n // [1] = x[31]\n // [2] = y[0..31]\n // [3] = y[31]\n // [4] = owner\n fn pack_content(self) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n\n for i in 1..32 {\n let byte_x: Field = self.x[31 - i] as Field;\n x = x + (byte_x * mul);\n let byte_y: Field = self.y[31 - i] as Field;\n y = y + (byte_y * mul);\n mul *= 256;\n }\n\n let last_x = self.x[31] as Field;\n let last_y = self.y[31] as Field;\n\n [x, last_x, y, last_y, self.owner.to_field()]\n }\n\n // Cannot use the automatic unpacking for the aforementioned reasons\n fn unpack_content(packed_content: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]) -> EcdsaPublicKeyNote {\n let mut x: [u8; 32] = [0; 32];\n let mut y: [u8; 32] = [0; 32];\n\n let part_x:[u8; 32] = packed_content[0].to_be_bytes();\n for i in 0..31 {\n x[i] = part_x[i + 1];\n }\n x[31] = packed_content[1].to_be_bytes::<32>()[31];\n\n let part_y:[u8; 32] = packed_content[2].to_be_bytes();\n for i in 0..31 {\n y[i] = part_y[i + 1];\n }\n y[31] = packed_content[3].to_be_bytes::<32>()[31];\n\n EcdsaPublicKeyNote { x, y, owner: AztecAddress::from_field(packed_content[4]), header: NoteHeader::empty() }\n }\n\n fn get_note_type_id() -> Field {\n // randomly chosen note type id --> has to fit within 7 bits\n 76\n }\n\n fn get_header(self) -> NoteHeader {\n self.header\n }\n\n fn set_header(&mut self, header: NoteHeader) {\n self.header = header;\n }\n\n fn compute_note_hash(self) -> Field {\n let packed_content = self.pack_content();\n std::embedded_curve_ops::multi_scalar_mul(\n [Gx_1, Gx_2, Gy_1, Gy_2, G_owner, G_slot],\n [\n from_field_unsafe(packed_content[0]),\n from_field_unsafe(packed_content[1]),\n from_field_unsafe(packed_content[2]),\n from_field_unsafe(packed_content[3]),\n from_field_unsafe(packed_content[4]),\n from_field_unsafe(self.get_header().storage_slot)\n ]\n ).x\n }\n}\n\nimpl NullifiableNote for EcdsaPublicKeyNote {\n\n fn compute_nullifier(self, context: &mut PrivateContext, note_hash_for_nullify: Field) -> Field {\n let owner_npk_m_hash = get_public_keys(self.owner).npk_m.hash();\n let secret = context.request_nsk_app(owner_npk_m_hash);\n poseidon2_hash_with_separator(\n [\n note_hash_for_nullify,\n secret\n ],\n GENERATOR_INDEX__NOTE_NULLIFIER as Field\n )\n }\n\n unconstrained fn compute_nullifier_without_context(self) -> Field {\n let note_hash_for_nullify = compute_note_hash_for_nullify(self);\n let owner_npk_m_hash = get_public_keys(self.owner).npk_m.hash();\n let secret = get_nsk_app(owner_npk_m_hash);\n poseidon2_hash_with_separator(\n [\n note_hash_for_nullify,\n secret\n ],\n GENERATOR_INDEX__NOTE_NULLIFIER as Field\n )\n }\n}\n\nimpl EcdsaPublicKeyNote {\n pub fn new(x: [u8; 32], y: [u8; 32], owner: AztecAddress) -> Self {\n EcdsaPublicKeyNote { x, y, owner, header: NoteHeader::empty() }\n }\n}\n"
|
|
6041
6041
|
},
|