@@ -15,124 +15,166 @@ pub fn verify_signature(
1515 client_data_json : BoundedVec <u8 , CLIENT_DATA_JSON_MAX_LEN >,
1616 authenticator_data : BoundedVec <u8 , AUTHENTICATOR_DATA_MAX_LEN >,
1717 challenge : [u8 ; 32 ],
18- challenge_index : u32
18+ challenge_index : u32 ,
1919) -> bool {
20- let client_data_json_hash : [u8 ; 32 ] = std::hash:: sha256_var (client_data_json .storage (), client_data_json .len () as u64 );
21- let concatenated : BoundedVec <u8 , AUTHENTICATOR_DATA_MAX_LEN + 32 > = concat (authenticator_data , client_data_json_hash );
20+ let client_data_json_hash : [u8 ; 32 ] =
21+ std::hash:: sha256_var (client_data_json .storage (), client_data_json .len () as u64 );
22+ let concatenated : BoundedVec <u8 , AUTHENTICATOR_DATA_MAX_LEN + 32 > =
23+ concat (authenticator_data , client_data_json_hash );
2224 let hashed_message = std::hash:: sha256_var (concatenated .storage (), concatenated .len () as u64 );
2325
2426 let challenge_base64_url : [_ ; 40 ] = base64::BASE64_ENCODER_URL_SAFE_NO_PAD .encode (challenge );
2527 str_contains_base64_url (
2628 client_data_json .storage (),
2729 challenge_base64_url ,
28- challenge_index
30+ challenge_index ,
2931 );
3032
31- let verification = std::ecdsa_secp256r1:: verify_signature (public_key_x , public_key_y , signature , hashed_message );
33+ let verification = std::ecdsa_secp256r1:: verify_signature (
34+ public_key_x ,
35+ public_key_y ,
36+ signature ,
37+ hashed_message ,
38+ );
3239 verification
3340}
3441
3542fn str_contains_base64_url <let N : u32 , let H : u32 >(haystack : [u8 ; H ], needle : [u8 ; N ], index : u32 ) {
3643 for i in 0 ..needle .len () {
37- if (needle [i ] != 61 ) { // ignore padding (61 is '=')
44+ if (needle [i ] != 61 ) {
45+ // ignore padding (61 is '=')
3846 assert (haystack [index + i ] == needle [i ]);
3947 }
4048 }
4149}
4250
4351#[test]
4452fn my_test () {
45- assert (
46- verify_signature (
47- [
48- 91 , 200 , 36 , 72 , 14 , 85 , 105 , 189 , 204 , 19 , 185 , 157 , 161 , 241 , 56 , 107 , 228 , 8 , 67 , 156 , 7 , 183 , 173 , 111 , 146 , 216 , 51 , 2 , 244 , 251 , 78 , 203
49- ],
50- [
51- 30 , 52 , 243 , 79 , 92 , 114 , 5 , 253 , 138 , 212 , 14 , 51 , 122 , 247 , 225 , 82 , 193 , 243 , 157 , 70 , 225 , 62 , 254 , 206 , 247 , 110 , 252 , 111 , 188 , 128 , 142 , 226
52- ],
53- [
54- 47 , 222 , 74 , 22 , 26 , 2 , 142 , 123 , 25 , 179 , 68 , 61 , 58 , 204 , 200 , 245 , 241 , 176 , 227 , 237 , 173 , 115 , 147 , 229 , 128 , 165 , 63 , 170 , 148 , 250 , 171 , 141 , 115 , 50 , 249 , 181 , 84 , 62 , 116 , 119 , 139 , 101 , 89 , 14 , 140 , 246 , 186 , 29 , 143 , 146 , 13 , 198 , 186 , 85 , 47 , 213 , 235 , 176 , 236 , 26 , 88 , 231 , 191 , 129
55- ],
56- BoundedVec ::from (
57- [
58- 123 , 34 , 116 , 121 , 112 , 101 , 34 , 58 , 34 , 119 , 101 , 98 , 97 , 117 , 116 , 104 , 110 , 46 , 103 , 101 , 116 , 34 , 44 , 34 , 99 , 104 , 97 , 108 , 108 , 101 , 110 , 103 , 101 , 34 , 58 , 34 , 85 , 76 , 76 , 69 , 80 , 57 , 79 , 82 , 66 , 114 , 114 , 55 , 117 , 103 , 50 , 106 , 84 , 56 , 81 , 119 , 52 , 102 , 107 , 101 , 80 , 74 , 98 , 113 , 75 , 115 , 55 , 105 , 118 , 68 , 81 , 82 , 110 , 53 , 75 , 122 , 100 , 49 , 65 , 34 , 44 , 34 , 111 , 114 , 105 , 103 , 105 , 110 , 34 , 58 , 34 , 104 , 116 , 116 , 112 , 58 , 47 , 47 , 108 , 111 , 99 , 97 , 108 , 104 , 111 , 115 , 116 , 58 , 53 , 49 , 56 , 52 , 34 , 44 , 34 , 99 , 114 , 111 , 115 , 115 , 79 , 114 , 105 , 103 , 105 , 110 , 34 , 58 , 102 , 97 , 108 , 115 , 101 , 125
59- ]
60- ),
61- BoundedVec ::from (
62- [
63- 73 , 150 , 13 , 229 , 136 , 14 , 140 , 104 , 116 , 52 , 23 , 15 , 100 , 118 , 96 , 91 , 143 , 228 , 174 , 185 , 162 , 134 , 50 , 199 , 153 , 92 , 243 , 186 , 131 , 29 , 151 , 99 , 29 , 0 , 0 , 0 , 0
64- ]
65- ),
66- [
67- 80 , 178 , 196 , 63 , 211 , 145 , 6 , 186 , 251 , 186 , 13 , 163 , 79 , 196 , 48 , 225 , 249 , 30 , 60 , 150 , 234 , 42 , 206 , 226 , 188 , 52 , 17 , 159 , 146 , 179 , 119 , 80
68- ],
69- 36
70- )
71- );
53+ assert (verify_signature (
54+ [
55+ 91 , 200 , 36 , 72 , 14 , 85 , 105 , 189 , 204 , 19 , 185 , 157 , 161 , 241 , 56 , 107 , 228 , 8 , 67 ,
56+ 156 , 7 , 183 , 173 , 111 , 146 , 216 , 51 , 2 , 244 , 251 , 78 , 203 ,
57+ ],
58+ [
59+ 30 , 52 , 243 , 79 , 92 , 114 , 5 , 253 , 138 , 212 , 14 , 51 , 122 , 247 , 225 , 82 , 193 , 243 , 157 ,
60+ 70 , 225 , 62 , 254 , 206 , 247 , 110 , 252 , 111 , 188 , 128 , 142 , 226 ,
61+ ],
62+ [
63+ 47 , 222 , 74 , 22 , 26 , 2 , 142 , 123 , 25 , 179 , 68 , 61 , 58 , 204 , 200 , 245 , 241 , 176 , 227 ,
64+ 237 , 173 , 115 , 147 , 229 , 128 , 165 , 63 , 170 , 148 , 250 , 171 , 141 , 115 , 50 , 249 , 181 , 84 ,
65+ 62 , 116 , 119 , 139 , 101 , 89 , 14 , 140 , 246 , 186 , 29 , 143 , 146 , 13 , 198 , 186 , 85 , 47 , 213 ,
66+ 235 , 176 , 236 , 26 , 88 , 231 , 191 , 129 ,
67+ ],
68+ BoundedVec ::from ([
69+ 123 , 34 , 116 , 121 , 112 , 101 , 34 , 58 , 34 , 119 , 101 , 98 , 97 , 117 , 116 , 104 , 110 , 46 , 103 ,
70+ 101 , 116 , 34 , 44 , 34 , 99 , 104 , 97 , 108 , 108 , 101 , 110 , 103 , 101 , 34 , 58 , 34 , 85 , 76 , 76 ,
71+ 69 , 80 , 57 , 79 , 82 , 66 , 114 , 114 , 55 , 117 , 103 , 50 , 106 , 84 , 56 , 81 , 119 , 52 , 102 , 107 ,
72+ 101 , 80 , 74 , 98 , 113 , 75 , 115 , 55 , 105 , 118 , 68 , 81 , 82 , 110 , 53 , 75 , 122 , 100 , 49 , 65 ,
73+ 34 , 44 , 34 , 111 , 114 , 105 , 103 , 105 , 110 , 34 , 58 , 34 , 104 , 116 , 116 , 112 , 58 , 47 , 47 ,
74+ 108 , 111 , 99 , 97 , 108 , 104 , 111 , 115 , 116 , 58 , 53 , 49 , 56 , 52 , 34 , 44 , 34 , 99 , 114 , 111 ,
75+ 115 , 115 , 79 , 114 , 105 , 103 , 105 , 110 , 34 , 58 , 102 , 97 , 108 , 115 , 101 , 125 ,
76+ ]),
77+ BoundedVec ::from ([
78+ 73 , 150 , 13 , 229 , 136 , 14 , 140 , 104 , 116 , 52 , 23 , 15 , 100 , 118 , 96 , 91 , 143 , 228 , 174 ,
79+ 185 , 162 , 134 , 50 , 199 , 153 , 92 , 243 , 186 , 131 , 29 , 151 , 99 , 29 , 0 , 0 , 0 , 0 ,
80+ ]),
81+ [
82+ 80 , 178 , 196 , 63 , 211 , 145 , 6 , 186 , 251 , 186 , 13 , 163 , 79 , 196 , 48 , 225 , 249 , 30 , 60 ,
83+ 150 , 234 , 42 , 206 , 226 , 188 , 52 , 17 , 159 , 146 , 179 , 119 , 80 ,
84+ ],
85+ 36 ,
86+ ));
7287}
7388
7489#[test]
7590fn test_fail () {
7691 assert (
7792 !verify_signature (
7893 [
79- 90 , 200 , 36 , 72 , 14 , 85 , 105 , 189 , 204 , 19 , 185 , 157 , 161 , 241 , 56 , 107 , 228 , 8 , 67 , 156 , 7 , 183 , 173 , 111 , 146 , 216 , 51 , 2 , 244 , 251 , 78 , 203
80- ],
94+ 90 , 200 , 36 , 72 , 14 , 85 , 105 , 189 , 204 , 19 , 185 , 157 , 161 , 241 , 56 , 107 , 228 , 8 , 67 ,
95+ 156 , 7 , 183 , 173 , 111 , 146 , 216 , 51 , 2 , 244 , 251 , 78 , 203 ,
96+ ],
8197 [
82- 30 , 52 , 243 , 79 , 92 , 114 , 5 , 253 , 138 , 212 , 14 , 51 , 122 , 247 , 225 , 82 , 193 , 243 , 157 , 70 , 225 , 62 , 254 , 206 , 247 , 110 , 252 , 111 , 188 , 128 , 142 , 226
83- ],
98+ 30 , 52 , 243 , 79 , 92 , 114 , 5 , 253 , 138 , 212 , 14 , 51 , 122 , 247 , 225 , 82 , 193 , 243 ,
99+ 157 , 70 , 225 , 62 , 254 , 206 , 247 , 110 , 252 , 111 , 188 , 128 , 142 , 226 ,
100+ ],
84101 [
85- 47 , 222 , 74 , 22 , 26 , 2 , 142 , 123 , 25 , 179 , 68 , 61 , 58 , 204 , 200 , 245 , 241 , 176 , 227 , 237 , 173 , 115 , 147 , 229 , 128 , 165 , 63 , 170 , 148 , 250 , 171 , 141 , 115 , 50 , 249 , 181 , 84 , 62 , 116 , 119 , 139 , 101 , 89 , 14 , 140 , 246 , 186 , 29 , 143 , 146 , 13 , 198 , 186 , 85 , 47 , 213 , 235 , 176 , 236 , 26 , 88 , 231 , 191 , 129
86- ],
87- BoundedVec ::from (
88- [
89- 123 , 34 , 116 , 121 , 112 , 101 , 34 , 58 , 34 , 119 , 101 , 98 , 97 , 117 , 116 , 104 , 110 , 46 , 103 , 101 , 116 , 34 , 44 , 34 , 99 , 104 , 97 , 108 , 108 , 101 , 110 , 103 , 101 , 34 , 58 , 34 , 85 , 76 , 76 , 69 , 80 , 57 , 79 , 82 , 66 , 114 , 114 , 55 , 117 , 103 , 50 , 106 , 84 , 56 , 81 , 119 , 52 , 102 , 107 , 101 , 80 , 74 , 98 , 113 , 75 , 115 , 55 , 105 , 118 , 68 , 81 , 82 , 110 , 53 , 75 , 122 , 100 , 49 , 65 , 34 , 44 , 34 , 111 , 114 , 105 , 103 , 105 , 110 , 34 , 58 , 34 , 104 , 116 , 116 , 112 , 58 , 47 , 47 , 108 , 111 , 99 , 97 , 108 , 104 , 111 , 115 , 116 , 58 , 53 , 49 , 56 , 52 , 34 , 44 , 34 , 99 , 114 , 111 , 115 , 115 , 79 , 114 , 105 , 103 , 105 , 110 , 34 , 58 , 102 , 97 , 108 , 115 , 101 , 125
90- ]
91- ),
92- BoundedVec ::from (
93- [
94- 73 , 150 , 13 , 229 , 136 , 14 , 140 , 104 , 116 , 52 , 23 , 15 , 100 , 118 , 96 , 91 , 143 , 228 , 174 , 185 , 162 , 134 , 50 , 199 , 153 , 92 , 243 , 186 , 131 , 29 , 151 , 99 , 29 , 0 , 0 , 0 , 0
95- ]
96- ),
102+ 47 , 222 , 74 , 22 , 26 , 2 , 142 , 123 , 25 , 179 , 68 , 61 , 58 , 204 , 200 , 245 , 241 , 176 , 227 ,
103+ 237 , 173 , 115 , 147 , 229 , 128 , 165 , 63 , 170 , 148 , 250 , 171 , 141 , 115 , 50 , 249 , 181 ,
104+ 84 , 62 , 116 , 119 , 139 , 101 , 89 , 14 , 140 , 246 , 186 , 29 , 143 , 146 , 13 , 198 , 186 , 85 ,
105+ 47 , 213 , 235 , 176 , 236 , 26 , 88 , 231 , 191 , 129 ,
106+ ],
107+ BoundedVec ::from ([
108+ 123 , 34 , 116 , 121 , 112 , 101 , 34 , 58 , 34 , 119 , 101 , 98 , 97 , 117 , 116 , 104 , 110 , 46 ,
109+ 103 , 101 , 116 , 34 , 44 , 34 , 99 , 104 , 97 , 108 , 108 , 101 , 110 , 103 , 101 , 34 , 58 , 34 ,
110+ 85 , 76 , 76 , 69 , 80 , 57 , 79 , 82 , 66 , 114 , 114 , 55 , 117 , 103 , 50 , 106 , 84 , 56 , 81 ,
111+ 119 , 52 , 102 , 107 , 101 , 80 , 74 , 98 , 113 , 75 , 115 , 55 , 105 , 118 , 68 , 81 , 82 , 110 , 53 ,
112+ 75 , 122 , 100 , 49 , 65 , 34 , 44 , 34 , 111 , 114 , 105 , 103 , 105 , 110 , 34 , 58 , 34 , 104 ,
113+ 116 , 116 , 112 , 58 , 47 , 47 , 108 , 111 , 99 , 97 , 108 , 104 , 111 , 115 , 116 , 58 , 53 , 49 ,
114+ 56 , 52 , 34 , 44 , 34 , 99 , 114 , 111 , 115 , 115 , 79 , 114 , 105 , 103 , 105 , 110 , 34 , 58 ,
115+ 102 , 97 , 108 , 115 , 101 , 125 ,
116+ ]),
117+ BoundedVec ::from ([
118+ 73 , 150 , 13 , 229 , 136 , 14 , 140 , 104 , 116 , 52 , 23 , 15 , 100 , 118 , 96 , 91 , 143 , 228 ,
119+ 174 , 185 , 162 , 134 , 50 , 199 , 153 , 92 , 243 , 186 , 131 , 29 , 151 , 99 , 29 , 0 , 0 , 0 , 0 ,
120+ ]),
97121 [
98- 80 , 178 , 196 , 63 , 211 , 145 , 6 , 186 , 251 , 186 , 13 , 163 , 79 , 196 , 48 , 225 , 249 , 30 , 60 , 150 , 234 , 42 , 206 , 226 , 188 , 52 , 17 , 159 , 146 , 179 , 119 , 80
99- ],
100- 36
101- )
122+ 80 , 178 , 196 , 63 , 211 , 145 , 6 , 186 , 251 , 186 , 13 , 163 , 79 , 196 , 48 , 225 , 249 , 30 ,
123+ 60 , 150 , 234 , 42 , 206 , 226 , 188 , 52 , 17 , 159 , 146 , 179 , 119 , 80 ,
124+ ],
125+ 36 ,
126+ ),
102127 );
103128}
104129
105130#[test]
106131fn some_test () {
107- assert (
108- verify_signature (
109- [
110- 139 , 86 , 118 , 230 , 15 , 13 , 30 , 204 , 6 , 133 , 248 , 82 , 54 , 101 , 178 , 189 , 126 , 170 , 84 , 48 , 0 , 106 , 149 , 40 , 133 , 99 , 30 , 73 , 2 , 210 , 205 , 200
111- ],
112- [
113- 184 , 8 , 42 , 248 , 97 , 207 , 125 , 175 , 201 , 50 , 10 , 102 , 148 , 60 , 53 , 169 , 208 , 70 , 112 , 255 , 179 , 218 , 110 , 33 , 33 , 135 , 156 , 9 , 30 , 230 , 17 , 26
114- ],
115- [
116- 182 , 153 , 194 , 137 , 148 , 109 , 190 , 71 , 178 , 33 , 99 , 179 , 75 , 12 , 9 , 132 , 225 , 154 , 15 , 237 , 58 , 248 , 132 , 130 , 94 , 16 , 155 , 206 , 77 , 21 , 66 , 223 , 79 , 248 , 19 , 205 , 57 , 183 , 65 , 109 , 45 , 135 , 165 , 109 , 50 , 56 , 84 , 208 , 76 , 252 , 111 , 240 , 6 , 114 , 169 , 202 , 193 , 130 , 20 , 17 , 144 , 51 , 55 , 254
117- ],
118- BoundedVec {
119- storage : [
120- 123 , 34 , 116 , 121 , 112 , 101 , 34 , 58 , 34 , 119 , 101 , 98 , 97 , 117 , 116 , 104 , 110 , 46 , 103 , 101 , 116 , 34 , 44 , 34 , 99 , 104 , 97 , 108 , 108 , 101 , 110 , 103 , 101 , 34 , 58 , 34 , 67 , 70 , 99 , 69 , 97 , 110 , 104 , 100 , 102 , 45 , 57 , 74 , 106 , 84 , 51 , 48 , 89 , 100 , 116 , 98 , 78 , 87 , 54 , 53 , 81 , 117 , 88 , 52 , 85 , 84 , 80 , 57 , 79 , 118 , 122 , 66 , 85 , 97 , 74 , 95 , 87 , 111 , 111 , 34 , 44 , 34 , 111 , 114 , 105 , 103 , 105 , 110 , 34 , 58 , 34 , 104 , 116 , 116 , 112 , 58 , 47 , 47 , 108 , 111 , 99 , 97 , 108 , 104 , 111 , 115 , 116 , 58 , 53 , 49 , 56 , 52 , 34 , 44 , 34 , 99 , 114 , 111 , 115 , 115 , 79 , 114 , 105 , 103 , 105 , 110 , 34 , 58 , 102 , 97 , 108 , 115 , 101 , 125 , 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 , 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 , 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 , 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 , 0 , 0 , 0 , 0 , 0 , 0
132+ assert (verify_signature (
133+ [
134+ 139 , 86 , 118 , 230 , 15 , 13 , 30 , 204 , 6 , 133 , 248 , 82 , 54 , 101 , 178 , 189 , 126 , 170 , 84 ,
135+ 48 , 0 , 106 , 149 , 40 , 133 , 99 , 30 , 73 , 2 , 210 , 205 , 200 ,
121136 ],
122- len : 134
123- },
124- BoundedVec {
125- storage : [
126- 73 , 150 , 13 , 229 , 136 , 14 , 140 , 104 , 116 , 52 , 23 , 15 , 100 , 118 , 96 , 91 , 143 , 228 , 174 , 185 , 162 , 134 , 50 , 199 , 153 , 92 , 243 , 186 , 131 , 29 , 151 , 99 , 29 , 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 , 0 , 0
127- ] ,
128- len : 37
129- },
130- [
131- 8 , 87 , 4 , 106 , 120 , 93 , 127 , 239 , 73 , 141 , 61 , 244 , 97 , 219 , 91 , 53 , 110 , 185 , 66 , 229 , 248 , 81 , 51 , 253 , 58 , 252 , 193 , 81 , 162 , 127 , 90 , 138
132- ],
133- 36
134- )
135- );
137+ [
138+ 184 , 8 , 42 , 248 , 97 , 207 , 125 , 175 , 201 , 50 , 10 , 102 , 148 , 60 , 53 , 169 , 208 , 70 , 112 ,
139+ 255 , 179 , 218 , 110 , 33 , 33 , 135 , 156 , 9 , 30 , 230 , 17 , 26 ,
140+ ],
141+ [
142+ 182 , 153 , 194 , 137 , 148 , 109 , 190 , 71 , 178 , 33 , 99 , 179 , 75 , 12 , 9 , 132 , 225 , 154 , 15 ,
143+ 237 , 58 , 248 , 132 , 130 , 94 , 16 , 155 , 206 , 77 , 21 , 66 , 223 , 79 , 248 , 19 , 205 , 57 , 183 ,
144+ 65 , 109 , 45 , 135 , 165 , 109 , 50 , 56 , 84 , 208 , 76 , 252 , 111 , 240 , 6 , 114 , 169 , 202 , 193 ,
145+ 130 , 20 , 17 , 144 , 51 , 55 , 254 ,
146+ ],
147+ BoundedVec {
148+ storage : [
149+ 123 , 34 , 116 , 121 , 112 , 101 , 34 , 58 , 34 , 119 , 101 , 98 , 97 , 117 , 116 , 104 , 110 , 46 ,
150+ 103 , 101 , 116 , 34 , 44 , 34 , 99 , 104 , 97 , 108 , 108 , 101 , 110 , 103 , 101 , 34 , 58 , 34 ,
151+ 67 , 70 , 99 , 69 , 97 , 110 , 104 , 100 , 102 , 45 , 57 , 74 , 106 , 84 , 51 , 48 , 89 , 100 , 116 ,
152+ 98 , 78 , 87 , 54 , 53 , 81 , 117 , 88 , 52 , 85 , 84 , 80 , 57 , 79 , 118 , 122 , 66 , 85 , 97 , 74 ,
153+ 95 , 87 , 111 , 111 , 34 , 44 , 34 , 111 , 114 , 105 , 103 , 105 , 110 , 34 , 58 , 34 , 104 , 116 ,
154+ 116 , 112 , 58 , 47 , 47 , 108 , 111 , 99 , 97 , 108 , 104 , 111 , 115 , 116 , 58 , 53 , 49 , 56 , 52 ,
155+ 34 , 44 , 34 , 99 , 114 , 111 , 115 , 115 , 79 , 114 , 105 , 103 , 105 , 110 , 34 , 58 , 102 , 97 ,
156+ 108 , 115 , 101 , 125 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
157+ 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 ,
158+ 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 ,
159+ 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 ,
160+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
161+ ],
162+ len : 134 ,
163+ },
164+ BoundedVec {
165+ storage : [
166+ 73 , 150 , 13 , 229 , 136 , 14 , 140 , 104 , 116 , 52 , 23 , 15 , 100 , 118 , 96 , 91 , 143 , 228 ,
167+ 174 , 185 , 162 , 134 , 50 , 199 , 153 , 92 , 243 , 186 , 131 , 29 , 151 , 99 , 29 , 0 , 0 , 0 , 0 , 0 ,
168+ 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 ,
169+ ],
170+ len : 37 ,
171+ },
172+ [
173+ 8 , 87 , 4 , 106 , 120 , 93 , 127 , 239 , 73 , 141 , 61 , 244 , 97 , 219 , 91 , 53 , 110 , 185 , 66 , 229 ,
174+ 248 , 81 , 51 , 253 , 58 , 252 , 193 , 81 , 162 , 127 , 90 , 138 ,
175+ ],
176+ 36 ,
177+ ));
136178}
137179
138180fn concat <let N : u32 , let S : u32 >(a : BoundedVec <u8 , N >, b : [u8 ; 32 ]) -> BoundedVec <u8 , S > {
0 commit comments