circom/wasm/wasmmodule.c
wasm/wasmmodule.cRaw
1/*
2
3(module
4 (export "get_signal_ptr" (func $get_signal_ptr))
5 (export "solve" (func $solve))
6 (func $get_signal_ptr (result i32)
7 (i32.const 22)
8 )
9 (func $solve (result i32)
10 (i32.const 22)
11 )
12)
13
14 */
15
16
17typedef int u32;
18typedef u32 u256[8];
19
20struct Signals {
21 u256 one;
22 u256 output1;
23 u256 output2;
24 u256 pubInput1;
25 u256 pubInput2;
26 u256 prvInput1;
27 u256 prvInput2;
28 u256 internal1;
29 u256 internal2;
30};
31
32static Signals signals;
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
38u256 *get_signal_ptr() {
39 return (u256 *)&signals;
40}
41
42int solve() {
43 for (int i=0; i<8; i++) {
44 signals.internal1[i] = signals.pubInput1[i];
45 signals.internal2[i] = signals.pubInput2[i];
46 signals.output1[i] = signals.prvInput1[i];
47 signals.output2[i] = signals.prvInput2[i];
48 }
49}
50
51#ifdef __cplusplus
52} // extern "C"
53#endif