common_crypto_sha256.mjs raw
1 // Package common/crypto/sha256
2 // Generated by TinyJS — TinyGo JavaScript backend
3
4 import * as $rt from './$runtime/index.mjs';
5
6 // Package-level variables
7 export let k = { $value: $rt.builtin.makeSlice(64, 64, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
8 export let init0 = { $value: $rt.builtin.makeSlice(8, 8, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
9
10 $rt.types.registerType('common/crypto/sha256.digest', {
11 id: 'common/crypto/sha256.digest',
12 kind: 'struct',
13 methods: new Map(),
14 fields: [
15 { name: 'h', type: '[8]uint32', tag: '', embedded: false },
16 { name: 'buf', type: '[64]byte', tag: '', embedded: false },
17 { name: 'len', type: 'int', tag: '', embedded: false },
18 { name: 'tot', type: 'uint64', tag: '', embedded: false },
19 ],
20 zero: () => ({ h: $rt.builtin.makeSlice(8, 8, 0), buf: $rt.builtin.makeSlice(64, 64, 0), len: 0, tot: 0 }),
21 });
22 export function init() {
23 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72;
24 $t0_1 = k.$get().addr(0);
25 $t1_2 = k.$get().addr(1);
26 $t2_3 = k.$get().addr(2);
27 $t3_4 = k.$get().addr(3);
28 $t4_5 = k.$get().addr(4);
29 $t5_6 = k.$get().addr(5);
30 $t6_7 = k.$get().addr(6);
31 $t7_8 = k.$get().addr(7);
32 $t8_9 = k.$get().addr(8);
33 $t9_10 = k.$get().addr(9);
34 $t10_11 = k.$get().addr(10);
35 $t11_12 = k.$get().addr(11);
36 $t12_13 = k.$get().addr(12);
37 $t13_14 = k.$get().addr(13);
38 $t14_15 = k.$get().addr(14);
39 $t15_16 = k.$get().addr(15);
40 $t16_17 = k.$get().addr(16);
41 $t17_18 = k.$get().addr(17);
42 $t18_19 = k.$get().addr(18);
43 $t19_20 = k.$get().addr(19);
44 $t20_21 = k.$get().addr(20);
45 $t21_22 = k.$get().addr(21);
46 $t22_23 = k.$get().addr(22);
47 $t23_24 = k.$get().addr(23);
48 $t24_25 = k.$get().addr(24);
49 $t25_26 = k.$get().addr(25);
50 $t26_27 = k.$get().addr(26);
51 $t27_28 = k.$get().addr(27);
52 $t28_29 = k.$get().addr(28);
53 $t29_30 = k.$get().addr(29);
54 $t30_31 = k.$get().addr(30);
55 $t31_32 = k.$get().addr(31);
56 $t32_33 = k.$get().addr(32);
57 $t33_34 = k.$get().addr(33);
58 $t34_35 = k.$get().addr(34);
59 $t35_36 = k.$get().addr(35);
60 $t36_37 = k.$get().addr(36);
61 $t37_38 = k.$get().addr(37);
62 $t38_39 = k.$get().addr(38);
63 $t39_40 = k.$get().addr(39);
64 $t40_41 = k.$get().addr(40);
65 $t41_42 = k.$get().addr(41);
66 $t42_43 = k.$get().addr(42);
67 $t43_44 = k.$get().addr(43);
68 $t44_45 = k.$get().addr(44);
69 $t45_46 = k.$get().addr(45);
70 $t46_47 = k.$get().addr(46);
71 $t47_48 = k.$get().addr(47);
72 $t48_49 = k.$get().addr(48);
73 $t49_50 = k.$get().addr(49);
74 $t50_51 = k.$get().addr(50);
75 $t51_52 = k.$get().addr(51);
76 $t52_53 = k.$get().addr(52);
77 $t53_54 = k.$get().addr(53);
78 $t54_55 = k.$get().addr(54);
79 $t55_56 = k.$get().addr(55);
80 $t56_57 = k.$get().addr(56);
81 $t57_58 = k.$get().addr(57);
82 $t58_59 = k.$get().addr(58);
83 $t59_60 = k.$get().addr(59);
84 $t60_61 = k.$get().addr(60);
85 $t61_62 = k.$get().addr(61);
86 $t62_63 = k.$get().addr(62);
87 $t63_64 = k.$get().addr(63);
88 $t0_1.$set(1116352408);
89 $t1_2.$set(1899447441);
90 $t2_3.$set(3049323471);
91 $t3_4.$set(3921009573);
92 $t4_5.$set(961987163);
93 $t5_6.$set(1508970993);
94 $t6_7.$set(2453635748);
95 $t7_8.$set(2870763221);
96 $t8_9.$set(3624381080);
97 $t9_10.$set(310598401);
98 $t10_11.$set(607225278);
99 $t11_12.$set(1426881987);
100 $t12_13.$set(1925078388);
101 $t13_14.$set(2162078206);
102 $t14_15.$set(2614888103);
103 $t15_16.$set(3248222580);
104 $t16_17.$set(3835390401);
105 $t17_18.$set(4022224774);
106 $t18_19.$set(264347078);
107 $t19_20.$set(604807628);
108 $t20_21.$set(770255983);
109 $t21_22.$set(1249150122);
110 $t22_23.$set(1555081692);
111 $t23_24.$set(1996064986);
112 $t24_25.$set(2554220882);
113 $t25_26.$set(2821834349);
114 $t26_27.$set(2952996808);
115 $t27_28.$set(3210313671);
116 $t28_29.$set(3336571891);
117 $t29_30.$set(3584528711);
118 $t30_31.$set(113926993);
119 $t31_32.$set(338241895);
120 $t32_33.$set(666307205);
121 $t33_34.$set(773529912);
122 $t34_35.$set(1294757372);
123 $t35_36.$set(1396182291);
124 $t36_37.$set(1695183700);
125 $t37_38.$set(1986661051);
126 $t38_39.$set(2177026350);
127 $t39_40.$set(2456956037);
128 $t40_41.$set(2730485921);
129 $t41_42.$set(2820302411);
130 $t42_43.$set(3259730800);
131 $t43_44.$set(3345764771);
132 $t44_45.$set(3516065817);
133 $t45_46.$set(3600352804);
134 $t46_47.$set(4094571909);
135 $t47_48.$set(275423344);
136 $t48_49.$set(430227734);
137 $t49_50.$set(506948616);
138 $t50_51.$set(659060556);
139 $t51_52.$set(883997877);
140 $t52_53.$set(958139571);
141 $t53_54.$set(1322822218);
142 $t54_55.$set(1537002063);
143 $t55_56.$set(1747873779);
144 $t56_57.$set(1955562222);
145 $t57_58.$set(2024104815);
146 $t58_59.$set(2227730452);
147 $t59_60.$set(2361852424);
148 $t60_61.$set(2428436474);
149 $t61_62.$set(2756734187);
150 $t62_63.$set(3204031479);
151 $t63_64.$set(3329325298);
152 $t64_65 = init0.$get().addr(0);
153 $t65_66 = init0.$get().addr(1);
154 $t66_67 = init0.$get().addr(2);
155 $t67_68 = init0.$get().addr(3);
156 $t68_69 = init0.$get().addr(4);
157 $t69_70 = init0.$get().addr(5);
158 $t70_71 = init0.$get().addr(6);
159 $t71_72 = init0.$get().addr(7);
160 $t64_65.$set(1779033703);
161 $t65_66.$set(3144134277);
162 $t66_67.$set(1013904242);
163 $t67_68.$set(2773480762);
164 $t68_69.$set(1359893119);
165 $t69_70.$set(2600822924);
166 $t70_71.$set(528734635);
167 $t71_72.$set(1541459225);
168 return;
169 }
170
171 export function Sum(data) {
172 let $t0_1, $t1_2, $t2_3, $t3_4;
173 $t0_1 = { $value: { h: $rt.builtin.makeSlice(8, 8, 0), buf: $rt.builtin.makeSlice(64, 64, 0), len: 0, tot: 0 }, $get() { return this.$value; }, $set(v) { this.$value = v; } };
174 $t1_2 = digest$Reset($t0_1);
175 $t2_3 = digest$Write($t0_1, data);
176 $t3_4 = digest$Sum($t0_1);
177 return $t3_4;
178 }
179
180 export function SumHex(data) {
181 let $t0_1, $t1_2, $t2_3, $t3_4;
182 $t0_1 = { $value: $rt.builtin.makeSlice(32, 32, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
183 $t1_2 = Sum(data);
184 $t0_1.$set($rt.builtin.cloneValue($t1_2));
185 $t2_3 = $rt.builtin.sliceSlice($t0_1.$get(), undefined, undefined, undefined);
186 $t3_4 = bytesToHex($t2_3);
187 return $t3_4;
188 }
189
190 export function block(h, data) {
191 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101, $t101_102, $t102_103, $t103_104, $t104_105, $t105_106, $t106_107, $t107_108, $t108_109, $t109_110, $t110_111, $t111_112, $t112_113, $t113_114, $t114_115, $t115_116, $t116_117, $t117_118, $t118_119, $t119_120, $t120_121, $t121_122, $t122_123, $t123_124, $t124_125, $t125_126, $t126_127, $t127_128, $t128_129, $t129_130, $t130_131, $t131_132, $t132_133, $t133_134, $t134_135, $t135_136, $t136_137, $t137_138, $t138_139, $t139_140, $t140_141, $t141_142, $t142_143, $t143_144, $t144_145, $t145_146, $t146_147, $t147_148, $t148_149, $t149_150, $t150_151, $t151_152, $t152_153, $t153_154, $t154_155, $t155_156, $t156_157;
192 let $block = 0;
193 while (true) {
194 switch ($block) {
195 case 0: {
196 $t0_1 = { $value: $rt.builtin.makeSlice(64, 64, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
197 $t1_2 = 0;
198 $block = 1; break;
199 break;
200 }
201 case 1: {
202 $t2_3 = ($t1_2 < 16);
203 if ($t2_3) {
204 $block = 2; break;
205 }
206 else {
207 $block = 3; break;
208 }
209 break;
210 }
211 case 2: {
212 $t3_4 = ($t1_2 * 4);
213 $t4_5 = data.addr($t3_4);
214 $t5_6 = $t4_5.$get();
215 $t6_7 = ($t5_6 >>> 0);
216 $t7_8 = (($t6_7 << 24) >>> 0);
217 $t8_9 = ($t3_4 + 1);
218 $t9_10 = data.addr($t8_9);
219 $t10_11 = $t9_10.$get();
220 $t11_12 = ($t10_11 >>> 0);
221 $t12_13 = (($t11_12 << 16) >>> 0);
222 $t13_14 = (($t7_8 | $t12_13) >>> 0);
223 $t14_15 = ($t3_4 + 2);
224 $t15_16 = data.addr($t14_15);
225 $t16_17 = $t15_16.$get();
226 $t17_18 = ($t16_17 >>> 0);
227 $t18_19 = (($t17_18 << 8) >>> 0);
228 $t19_20 = (($t13_14 | $t18_19) >>> 0);
229 $t20_21 = ($t3_4 + 3);
230 $t21_22 = data.addr($t20_21);
231 $t22_23 = $t21_22.$get();
232 $t23_24 = ($t22_23 >>> 0);
233 $t24_25 = (($t19_20 | $t23_24) >>> 0);
234 $t25_26 = $t0_1.$get().addr($t1_2);
235 $t25_26.$set($t24_25);
236 $t26_27 = ($t1_2 + 1);
237 $t1_2 = $t26_27;
238 $block = 1; break;
239 break;
240 }
241 case 3: {
242 $t27_28 = 16;
243 $block = 4; break;
244 break;
245 }
246 case 4: {
247 $t28_29 = ($t27_28 < 64);
248 if ($t28_29) {
249 $block = 5; break;
250 }
251 else {
252 $block = 6; break;
253 }
254 break;
255 }
256 case 5: {
257 $t29_30 = ($t27_28 - 15);
258 $t30_31 = $t0_1.$get().addr($t29_30);
259 $t31_32 = $t30_31.$get();
260 $t32_33 = rotr($t31_32, 7);
261 $t33_34 = ($t27_28 - 15);
262 $t34_35 = $t0_1.$get().addr($t33_34);
263 $t35_36 = $t34_35.$get();
264 $t36_37 = rotr($t35_36, 18);
265 $t37_38 = (($t32_33 ^ $t36_37) >>> 0);
266 $t38_39 = ($t27_28 - 15);
267 $t39_40 = $t0_1.$get().addr($t38_39);
268 $t40_41 = $t39_40.$get();
269 $t41_42 = ($t40_41 >>> 3);
270 $t42_43 = (($t37_38 ^ $t41_42) >>> 0);
271 $t43_44 = ($t27_28 - 2);
272 $t44_45 = $t0_1.$get().addr($t43_44);
273 $t45_46 = $t44_45.$get();
274 $t46_47 = rotr($t45_46, 17);
275 $t47_48 = ($t27_28 - 2);
276 $t48_49 = $t0_1.$get().addr($t47_48);
277 $t49_50 = $t48_49.$get();
278 $t50_51 = rotr($t49_50, 19);
279 $t51_52 = (($t46_47 ^ $t50_51) >>> 0);
280 $t52_53 = ($t27_28 - 2);
281 $t53_54 = $t0_1.$get().addr($t52_53);
282 $t54_55 = $t53_54.$get();
283 $t55_56 = ($t54_55 >>> 10);
284 $t56_57 = (($t51_52 ^ $t55_56) >>> 0);
285 $t57_58 = ($t27_28 - 16);
286 $t58_59 = $t0_1.$get().addr($t57_58);
287 $t59_60 = $t58_59.$get();
288 $t60_61 = (($t59_60 + $t42_43) >>> 0);
289 $t61_62 = ($t27_28 - 7);
290 $t62_63 = $t0_1.$get().addr($t61_62);
291 $t63_64 = $t62_63.$get();
292 $t64_65 = (($t60_61 + $t63_64) >>> 0);
293 $t65_66 = (($t64_65 + $t56_57) >>> 0);
294 $t66_67 = $t0_1.$get().addr($t27_28);
295 $t66_67.$set($t65_66);
296 $t67_68 = ($t27_28 + 1);
297 $t27_28 = $t67_68;
298 $block = 4; break;
299 break;
300 }
301 case 6: {
302 $t68_69 = h.$get().addr(0);
303 $t69_70 = $t68_69.$get();
304 $t70_71 = h.$get().addr(1);
305 $t71_72 = $t70_71.$get();
306 $t72_73 = h.$get().addr(2);
307 $t73_74 = $t72_73.$get();
308 $t74_75 = h.$get().addr(3);
309 $t75_76 = $t74_75.$get();
310 $t76_77 = h.$get().addr(4);
311 $t77_78 = $t76_77.$get();
312 $t78_79 = h.$get().addr(5);
313 $t79_80 = $t78_79.$get();
314 $t80_81 = h.$get().addr(6);
315 $t81_82 = $t80_81.$get();
316 $t82_83 = h.$get().addr(7);
317 $t83_84 = $t82_83.$get();
318 $t84_85 = $t69_70;
319 $t85_86 = $t71_72;
320 $t86_87 = $t73_74;
321 $t87_88 = $t75_76;
322 $t88_89 = $t77_78;
323 $t89_90 = $t79_80;
324 $t90_91 = $t81_82;
325 $t91_92 = $t83_84;
326 $t92_93 = 0;
327 $block = 7; break;
328 break;
329 }
330 case 7: {
331 $t93_94 = ($t92_93 < 64);
332 if ($t93_94) {
333 $block = 8; break;
334 }
335 else {
336 $block = 9; break;
337 }
338 break;
339 }
340 case 8: {
341 $t94_95 = rotr($t88_89, 6);
342 $t95_96 = rotr($t88_89, 11);
343 $t96_97 = (($t94_95 ^ $t95_96) >>> 0);
344 $t97_98 = rotr($t88_89, 25);
345 $t98_99 = (($t96_97 ^ $t97_98) >>> 0);
346 $t99_100 = (($t88_89 & $t89_90) >>> 0);
347 $t100_101 = ~$t88_89;
348 $t101_102 = (($t100_101 & $t90_91) >>> 0);
349 $t102_103 = (($t99_100 ^ $t101_102) >>> 0);
350 $t103_104 = (($t91_92 + $t98_99) >>> 0);
351 $t104_105 = (($t103_104 + $t102_103) >>> 0);
352 $t105_106 = k.$get().addr($t92_93);
353 $t106_107 = $t105_106.$get();
354 $t107_108 = (($t104_105 + $t106_107) >>> 0);
355 $t108_109 = $t0_1.$get().addr($t92_93);
356 $t109_110 = $t108_109.$get();
357 $t110_111 = (($t107_108 + $t109_110) >>> 0);
358 $t111_112 = rotr($t84_85, 2);
359 $t112_113 = rotr($t84_85, 13);
360 $t113_114 = (($t111_112 ^ $t112_113) >>> 0);
361 $t114_115 = rotr($t84_85, 22);
362 $t115_116 = (($t113_114 ^ $t114_115) >>> 0);
363 $t116_117 = (($t84_85 & $t85_86) >>> 0);
364 $t117_118 = (($t84_85 & $t86_87) >>> 0);
365 $t118_119 = (($t116_117 ^ $t117_118) >>> 0);
366 $t119_120 = (($t85_86 & $t86_87) >>> 0);
367 $t120_121 = (($t118_119 ^ $t119_120) >>> 0);
368 $t121_122 = (($t115_116 + $t120_121) >>> 0);
369 $t122_123 = (($t87_88 + $t110_111) >>> 0);
370 $t123_124 = (($t110_111 + $t121_122) >>> 0);
371 $t124_125 = ($t92_93 + 1);
372 let $phi0 = $t123_124;
373 let $phi1 = $t84_85;
374 let $phi2 = $t85_86;
375 let $phi3 = $t86_87;
376 let $phi4 = $t122_123;
377 let $phi5 = $t88_89;
378 let $phi6 = $t89_90;
379 let $phi7 = $t90_91;
380 let $phi8 = $t124_125;
381 $t84_85 = $phi0;
382 $t85_86 = $phi1;
383 $t86_87 = $phi2;
384 $t87_88 = $phi3;
385 $t88_89 = $phi4;
386 $t89_90 = $phi5;
387 $t90_91 = $phi6;
388 $t91_92 = $phi7;
389 $t92_93 = $phi8;
390 $block = 7; break;
391 break;
392 }
393 case 9: {
394 $t125_126 = h.$get().addr(0);
395 $t126_127 = $t125_126.$get();
396 $t127_128 = (($t126_127 + $t84_85) >>> 0);
397 $t128_129 = h.$get().addr(0);
398 $t128_129.$set($t127_128);
399 $t129_130 = h.$get().addr(1);
400 $t130_131 = $t129_130.$get();
401 $t131_132 = (($t130_131 + $t85_86) >>> 0);
402 $t132_133 = h.$get().addr(1);
403 $t132_133.$set($t131_132);
404 $t133_134 = h.$get().addr(2);
405 $t134_135 = $t133_134.$get();
406 $t135_136 = (($t134_135 + $t86_87) >>> 0);
407 $t136_137 = h.$get().addr(2);
408 $t136_137.$set($t135_136);
409 $t137_138 = h.$get().addr(3);
410 $t138_139 = $t137_138.$get();
411 $t139_140 = (($t138_139 + $t87_88) >>> 0);
412 $t140_141 = h.$get().addr(3);
413 $t140_141.$set($t139_140);
414 $t141_142 = h.$get().addr(4);
415 $t142_143 = $t141_142.$get();
416 $t143_144 = (($t142_143 + $t88_89) >>> 0);
417 $t144_145 = h.$get().addr(4);
418 $t144_145.$set($t143_144);
419 $t145_146 = h.$get().addr(5);
420 $t146_147 = $t145_146.$get();
421 $t147_148 = (($t146_147 + $t89_90) >>> 0);
422 $t148_149 = h.$get().addr(5);
423 $t148_149.$set($t147_148);
424 $t149_150 = h.$get().addr(6);
425 $t150_151 = $t149_150.$get();
426 $t151_152 = (($t150_151 + $t90_91) >>> 0);
427 $t152_153 = h.$get().addr(6);
428 $t152_153.$set($t151_152);
429 $t153_154 = h.$get().addr(7);
430 $t154_155 = $t153_154.$get();
431 $t155_156 = (($t154_155 + $t91_92) >>> 0);
432 $t156_157 = h.$get().addr(7);
433 $t156_157.$set($t155_156);
434 return;
435 break;
436 }
437 }
438 }
439 }
440
441 export function rotr(x, n) {
442 let $t0_1, $t1_2, $t2_3, $t3_4;
443 $t0_1 = (x >>> n);
444 $t1_2 = (32 - n);
445 $t2_3 = ((x << $t1_2) >>> 0);
446 $t3_4 = (($t0_1 | $t2_3) >>> 0);
447 return $t3_4;
448 }
449
450 export function bytesToHex(b) {
451 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19;
452 let $block = 0;
453 while (true) {
454 switch ($block) {
455 case 0: {
456 $t0_1 = $rt.builtin.len(b);
457 $t1_2 = ($t0_1 * 2);
458 $t2_3 = $rt.builtin.makeSlice($t1_2, $t1_2, 0);
459 $t3_4 = $rt.builtin.len(b);
460 $t4_5 = -1;
461 $block = 1; break;
462 break;
463 }
464 case 1: {
465 $t5_6 = ($t4_5 + 1);
466 $t6_7 = ($t5_6 < $t3_4);
467 if ($t6_7) {
468 $block = 2; break;
469 }
470 else {
471 $block = 3; break;
472 }
473 break;
474 }
475 case 2: {
476 $t7_8 = b.addr($t5_6);
477 $t8_9 = $t7_8.$get();
478 $t9_10 = ($t5_6 * 2);
479 $t10_11 = (($t8_9 & 0xFF) >> 4);
480 $rt.runtime.boundsCheck($t10_11, $rt.builtin.byteLen('0123456789abcdef'));
481 $t11_12 = $rt.builtin.stringByteAt('0123456789abcdef', $t10_11);
482 $t12_13 = $t2_3.addr($t9_10);
483 $t12_13.$set($t11_12);
484 $t13_14 = ($t5_6 * 2);
485 $t14_15 = ($t13_14 + 1);
486 $t15_16 = ($t8_9 & 15);
487 $rt.runtime.boundsCheck($t15_16, $rt.builtin.byteLen('0123456789abcdef'));
488 $t16_17 = $rt.builtin.stringByteAt('0123456789abcdef', $t15_16);
489 $t17_18 = $t2_3.addr($t14_15);
490 $t17_18.$set($t16_17);
491 $t4_5 = $t5_6;
492 $block = 1; break;
493 break;
494 }
495 case 3: {
496 $t18_19 = $rt.builtin.bytesToString($t2_3);
497 return $t18_19;
498 break;
499 }
500 }
501 }
502 }
503
504 export function digest$Reset(d) {
505 let $t0_1, $t1_2, $t2_3, $t3_4;
506 $t0_1 = init0.$get();
507 $t1_2 = { $get() { return d.$get().h; }, $set(v) { const obj = d.$get(); obj.h = v; d.$set(obj); } };
508 $t1_2.$set($rt.builtin.cloneValue($t0_1));
509 $t2_3 = { $get() { return d.$get().len; }, $set(v) { const obj = d.$get(); obj.len = v; d.$set(obj); } };
510 $t2_3.$set(0);
511 $t3_4 = { $get() { return d.$get().tot; }, $set(v) { const obj = d.$get(); obj.tot = v; d.$set(obj); } };
512 $t3_4.$set(0);
513 return;
514 }
515
516 $rt.types.getType('common/crypto/sha256.digest')?.methods?.set('Reset', digest$Reset);
517 export function digest$Sum(d) {
518 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79;
519 let $block = 0;
520 while (true) {
521 switch ($block) {
522 case 0: {
523 $t0_1 = { $value: $rt.builtin.makeSlice(64, 64, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
524 $t1_2 = $t0_1.$get().addr(0);
525 $t1_2.$set(128);
526 $t2_3 = { $get() { return d.$get().tot; }, $set(v) { const obj = d.$get(); obj.tot = v; d.$set(obj); } };
527 $t3_4 = $t2_3.$get();
528 $t4_5 = ($t3_4 * 8);
529 $t5_6 = { $get() { return d.$get().len; }, $set(v) { const obj = d.$get(); obj.len = v; d.$set(obj); } };
530 $t6_7 = $t5_6.$get();
531 $t7_8 = ($t6_7 < 56);
532 if ($t7_8) {
533 $block = 1; break;
534 }
535 else {
536 $block = 3; break;
537 }
538 break;
539 }
540 case 1: {
541 $t8_9 = { $get() { return d.$get().len; }, $set(v) { const obj = d.$get(); obj.len = v; d.$set(obj); } };
542 $t9_10 = $t8_9.$get();
543 $t10_11 = (56 - $t9_10);
544 $t11_12 = $rt.builtin.sliceSlice($t0_1.$get(), undefined, $t10_11, undefined);
545 $t12_13 = digest$Write(d, $t11_12);
546 $block = 2; break;
547 break;
548 }
549 case 2: {
550 $t13_14 = { $value: $rt.builtin.makeSlice(8, 8, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
551 $t14_15 = Math.trunc($t4_5 / (2 ** 56));
552 $t15_16 = ($t14_15 & 0xFF);
553 $t16_17 = $t13_14.$get().addr(0);
554 $t16_17.$set($t15_16);
555 $t17_18 = Math.trunc($t4_5 / (2 ** 48));
556 $t18_19 = ($t17_18 & 0xFF);
557 $t19_20 = $t13_14.$get().addr(1);
558 $t19_20.$set($t18_19);
559 $t20_21 = Math.trunc($t4_5 / (2 ** 40));
560 $t21_22 = ($t20_21 & 0xFF);
561 $t22_23 = $t13_14.$get().addr(2);
562 $t22_23.$set($t21_22);
563 $t23_24 = Math.trunc($t4_5 / (2 ** 32));
564 $t24_25 = ($t23_24 & 0xFF);
565 $t25_26 = $t13_14.$get().addr(3);
566 $t25_26.$set($t24_25);
567 $t26_27 = Math.trunc($t4_5 / (2 ** 24));
568 $t27_28 = ($t26_27 & 0xFF);
569 $t28_29 = $t13_14.$get().addr(4);
570 $t28_29.$set($t27_28);
571 $t29_30 = Math.trunc($t4_5 / (2 ** 16));
572 $t30_31 = ($t29_30 & 0xFF);
573 $t31_32 = $t13_14.$get().addr(5);
574 $t31_32.$set($t30_31);
575 $t32_33 = Math.trunc($t4_5 / (2 ** 8));
576 $t33_34 = ($t32_33 & 0xFF);
577 $t34_35 = $t13_14.$get().addr(6);
578 $t34_35.$set($t33_34);
579 $t35_36 = ($t4_5 & 0xFF);
580 $t36_37 = $t13_14.$get().addr(7);
581 $t36_37.$set($t35_36);
582 $t37_38 = $rt.builtin.sliceSlice($t13_14.$get(), undefined, undefined, undefined);
583 $t38_39 = digest$Write(d, $t37_38);
584 $t39_40 = { $value: $rt.builtin.makeSlice(32, 32, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
585 $t45_46 = 0;
586 $block = 4; break;
587 break;
588 }
589 case 3: {
590 $t40_41 = { $get() { return d.$get().len; }, $set(v) { const obj = d.$get(); obj.len = v; d.$set(obj); } };
591 $t41_42 = $t40_41.$get();
592 $t42_43 = (120 - $t41_42);
593 $t43_44 = $rt.builtin.sliceSlice($t0_1.$get(), undefined, $t42_43, undefined);
594 $t44_45 = digest$Write(d, $t43_44);
595 $block = 2; break;
596 break;
597 }
598 case 4: {
599 $t46_47 = ($t45_46 < 8);
600 if ($t46_47) {
601 $block = 5; break;
602 }
603 else {
604 $block = 6; break;
605 }
606 break;
607 }
608 case 5: {
609 $t47_48 = ($t45_46 * 4);
610 $t48_49 = { $get() { return d.$get().h; }, $set(v) { const obj = d.$get(); obj.h = v; d.$set(obj); } };
611 $t49_50 = $t48_49.$get().addr($t45_46);
612 $t50_51 = $t49_50.$get();
613 $t51_52 = ($t50_51 >>> 24);
614 $t52_53 = ($t51_52 & 0xFF);
615 $t53_54 = $t39_40.$get().addr($t47_48);
616 $t53_54.$set($t52_53);
617 $t54_55 = ($t45_46 * 4);
618 $t55_56 = ($t54_55 + 1);
619 $t56_57 = { $get() { return d.$get().h; }, $set(v) { const obj = d.$get(); obj.h = v; d.$set(obj); } };
620 $t57_58 = $t56_57.$get().addr($t45_46);
621 $t58_59 = $t57_58.$get();
622 $t59_60 = ($t58_59 >>> 16);
623 $t60_61 = ($t59_60 & 0xFF);
624 $t61_62 = $t39_40.$get().addr($t55_56);
625 $t61_62.$set($t60_61);
626 $t62_63 = ($t45_46 * 4);
627 $t63_64 = ($t62_63 + 2);
628 $t64_65 = { $get() { return d.$get().h; }, $set(v) { const obj = d.$get(); obj.h = v; d.$set(obj); } };
629 $t65_66 = $t64_65.$get().addr($t45_46);
630 $t66_67 = $t65_66.$get();
631 $t67_68 = ($t66_67 >>> 8);
632 $t68_69 = ($t67_68 & 0xFF);
633 $t69_70 = $t39_40.$get().addr($t63_64);
634 $t69_70.$set($t68_69);
635 $t70_71 = ($t45_46 * 4);
636 $t71_72 = ($t70_71 + 3);
637 $t72_73 = { $get() { return d.$get().h; }, $set(v) { const obj = d.$get(); obj.h = v; d.$set(obj); } };
638 $t73_74 = $t72_73.$get().addr($t45_46);
639 $t74_75 = $t73_74.$get();
640 $t75_76 = ($t74_75 & 0xFF);
641 $t76_77 = $t39_40.$get().addr($t71_72);
642 $t76_77.$set($t75_76);
643 $t77_78 = ($t45_46 + 1);
644 $t45_46 = $t77_78;
645 $block = 4; break;
646 break;
647 }
648 case 6: {
649 $t78_79 = $t39_40.$get();
650 return $t78_79;
651 break;
652 }
653 }
654 }
655 }
656
657 $rt.types.getType('common/crypto/sha256.digest')?.methods?.set('Sum', digest$Sum);
658 export function digest$Write(d, p) {
659 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40;
660 let $block = 0;
661 while (true) {
662 switch ($block) {
663 case 0: {
664 $t0_1 = $rt.builtin.len(p);
665 $t1_2 = $t0_1;
666 $t2_3 = { $get() { return d.$get().tot; }, $set(v) { const obj = d.$get(); obj.tot = v; d.$set(obj); } };
667 $t3_4 = $t2_3.$get();
668 $t4_5 = ($t3_4 + $t1_2);
669 $t5_6 = { $get() { return d.$get().tot; }, $set(v) { const obj = d.$get(); obj.tot = v; d.$set(obj); } };
670 $t5_6.$set($t4_5);
671 $t6_7 = { $get() { return d.$get().len; }, $set(v) { const obj = d.$get(); obj.len = v; d.$set(obj); } };
672 $t7_8 = $t6_7.$get();
673 $t8_9 = ($t7_8 > 0);
674 if ($t8_9) {
675 $block = 1; break;
676 }
677 else {
678 $t33_34 = p;
679 $block = 5; break;
680 }
681 break;
682 }
683 case 1: {
684 $t9_10 = { $get() { return d.$get().buf; }, $set(v) { const obj = d.$get(); obj.buf = v; d.$set(obj); } };
685 $t10_11 = { $get() { return d.$get().len; }, $set(v) { const obj = d.$get(); obj.len = v; d.$set(obj); } };
686 $t11_12 = $t10_11.$get();
687 $t12_13 = $rt.builtin.sliceSlice($t9_10.$get(), $t11_12, undefined, undefined);
688 $t13_14 = $rt.builtin.copy($t12_13, p);
689 $t14_15 = { $get() { return d.$get().len; }, $set(v) { const obj = d.$get(); obj.len = v; d.$set(obj); } };
690 $t15_16 = $t14_15.$get();
691 $t16_17 = ($t15_16 + $t13_14);
692 $t17_18 = { $get() { return d.$get().len; }, $set(v) { const obj = d.$get(); obj.len = v; d.$set(obj); } };
693 $t17_18.$set($t16_17);
694 $t18_19 = $rt.builtin.sliceSlice(p, $t13_14, undefined, undefined);
695 $t19_20 = { $get() { return d.$get().len; }, $set(v) { const obj = d.$get(); obj.len = v; d.$set(obj); } };
696 $t20_21 = $t19_20.$get();
697 $t21_22 = ($t20_21 === 64);
698 if ($t21_22) {
699 $block = 2; break;
700 }
701 else {
702 $t33_34 = $t18_19;
703 $block = 5; break;
704 }
705 break;
706 }
707 case 2: {
708 $t22_23 = { $get() { return d.$get().h; }, $set(v) { const obj = d.$get(); obj.h = v; d.$set(obj); } };
709 $t23_24 = { $get() { return d.$get().buf; }, $set(v) { const obj = d.$get(); obj.buf = v; d.$set(obj); } };
710 $t24_25 = $rt.builtin.sliceSlice($t23_24.$get(), undefined, undefined, undefined);
711 $t25_26 = block($t22_23, $t24_25);
712 $t26_27 = { $get() { return d.$get().len; }, $set(v) { const obj = d.$get(); obj.len = v; d.$set(obj); } };
713 $t26_27.$set(0);
714 $t33_34 = $t18_19;
715 $block = 5; break;
716 break;
717 }
718 case 3: {
719 $t27_28 = { $get() { return d.$get().h; }, $set(v) { const obj = d.$get(); obj.h = v; d.$set(obj); } };
720 $t28_29 = $rt.builtin.sliceSlice($t33_34, undefined, 64, undefined);
721 $t29_30 = block($t27_28, $t28_29);
722 $t30_31 = $rt.builtin.sliceSlice($t33_34, 64, undefined, undefined);
723 $t33_34 = $t30_31;
724 $block = 5; break;
725 break;
726 }
727 case 4: {
728 $t31_32 = $rt.builtin.len($t33_34);
729 $t32_33 = ($t31_32 > 0);
730 if ($t32_33) {
731 $block = 6; break;
732 }
733 else {
734 $block = 7; break;
735 }
736 break;
737 }
738 case 5: {
739 $t34_35 = $rt.builtin.len($t33_34);
740 $t35_36 = ($t34_35 >= 64);
741 if ($t35_36) {
742 $block = 3; break;
743 }
744 else {
745 $block = 4; break;
746 }
747 break;
748 }
749 case 6: {
750 $t36_37 = { $get() { return d.$get().buf; }, $set(v) { const obj = d.$get(); obj.buf = v; d.$set(obj); } };
751 $t37_38 = $rt.builtin.sliceSlice($t36_37.$get(), undefined, undefined, undefined);
752 $t38_39 = $rt.builtin.copy($t37_38, $t33_34);
753 $t39_40 = { $get() { return d.$get().len; }, $set(v) { const obj = d.$get(); obj.len = v; d.$set(obj); } };
754 $t39_40.$set($t38_39);
755 $block = 7; break;
756 break;
757 }
758 case 7: {
759 return;
760 break;
761 }
762 }
763 }
764 }
765
766 $rt.types.getType('common/crypto/sha256.digest')?.methods?.set('Write', digest$Write);
767