@shieldedpools/contracts 0.0.0-stage → 0.1.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.
@@ -0,0 +1,8 @@
1
+ {
2
+ "version": 3,
3
+ "file": "index.js",
4
+ "sourceRoot": "../../../../",
5
+ "sources": ["contract/shielded-pools.compact", "compiler/standard-library.compact", "compiler/zkir-v3-library.compact"],
6
+ "names": [],
7
+ "mappings": "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"
8
+ }
@@ -0,0 +1,178 @@
1
+ {
2
+ "version": { "major": 2, "minor": 0 },
3
+ "do_communications_commitment": true,
4
+ "num_inputs": 5,
5
+ "instructions": [
6
+ { "op": "constrain_bits", "var": 0, "bits": 8 },
7
+ { "op": "constrain_bits", "var": 1, "bits": 248 },
8
+ { "op": "constrain_bits", "var": 2, "bits": 64 },
9
+ { "op": "constrain_bits", "var": 3, "bits": 8 },
10
+ { "op": "constrain_bits", "var": 4, "bits": 248 },
11
+ { "op": "load_imm", "imm": "01" },
12
+ { "op": "load_imm", "imm": "00" },
13
+ { "op": "load_imm", "imm": "40" },
14
+ { "op": "declare_pub_input", "var": 7 },
15
+ { "op": "pi_skip", "guard": 5, "count": 1 },
16
+ { "op": "load_imm", "imm": "80" },
17
+ { "op": "load_imm", "imm": "06" },
18
+ { "op": "declare_pub_input", "var": 8 },
19
+ { "op": "declare_pub_input", "var": 5 },
20
+ { "op": "declare_pub_input", "var": 5 },
21
+ { "op": "declare_pub_input", "var": 9 },
22
+ { "op": "pi_skip", "guard": 5, "count": 4 },
23
+ { "op": "load_imm", "imm": "10" },
24
+ { "op": "load_imm", "imm": "03" },
25
+ { "op": "load_imm", "imm": "20" },
26
+ { "op": "declare_pub_input", "var": 10 },
27
+ { "op": "declare_pub_input", "var": 5 },
28
+ { "op": "declare_pub_input", "var": 11 },
29
+ { "op": "declare_pub_input", "var": 5 },
30
+ { "op": "declare_pub_input", "var": 12 },
31
+ { "op": "declare_pub_input", "var": 12 },
32
+ { "op": "declare_pub_input", "var": 5 },
33
+ { "op": "declare_pub_input", "var": 0 },
34
+ { "op": "declare_pub_input", "var": 1 },
35
+ { "op": "declare_pub_input", "var": 6 },
36
+ { "op": "declare_pub_input", "var": 6 },
37
+ { "op": "pi_skip", "guard": 5, "count": 11 },
38
+ { "op": "load_imm", "imm": "31" },
39
+ { "op": "declare_pub_input", "var": 13 },
40
+ { "op": "pi_skip", "guard": 5, "count": 1 },
41
+ { "op": "declare_pub_input", "var": 13 },
42
+ { "op": "pi_skip", "guard": 5, "count": 1 },
43
+ { "op": "load_imm", "imm": "18" },
44
+ { "op": "declare_pub_input", "var": 14 },
45
+ { "op": "pi_skip", "guard": 5, "count": 1 },
46
+ { "op": "declare_pub_input", "var": 10 },
47
+ { "op": "declare_pub_input", "var": 5 },
48
+ { "op": "declare_pub_input", "var": 5 },
49
+ { "op": "declare_pub_input", "var": 10 },
50
+ { "op": "declare_pub_input", "var": 2 },
51
+ { "op": "pi_skip", "guard": 5, "count": 5 },
52
+ { "op": "declare_pub_input", "var": 7 },
53
+ { "op": "pi_skip", "guard": 5, "count": 1 },
54
+ { "op": "load_imm", "imm": "08" },
55
+ { "op": "declare_pub_input", "var": 15 },
56
+ { "op": "pi_skip", "guard": 5, "count": 1 },
57
+ { "op": "load_imm", "imm": "12" },
58
+ { "op": "load_imm", "imm": "04" },
59
+ { "op": "declare_pub_input", "var": 16 },
60
+ { "op": "declare_pub_input", "var": 17 },
61
+ { "op": "pi_skip", "guard": 5, "count": 2 },
62
+ { "op": "load_imm", "imm": "32" },
63
+ { "op": "declare_pub_input", "var": 18 },
64
+ { "op": "pi_skip", "guard": 5, "count": 1 },
65
+ { "op": "declare_pub_input", "var": 18 },
66
+ { "op": "pi_skip", "guard": 5, "count": 1 },
67
+ { "op": "load_imm", "imm": "60" },
68
+ { "op": "load_imm", "imm": "-01" },
69
+ { "op": "declare_pub_input", "var": 19 },
70
+ { "op": "declare_pub_input", "var": 20 },
71
+ { "op": "pi_skip", "guard": 5, "count": 2 },
72
+ { "op": "load_imm", "imm": "14" },
73
+ { "op": "declare_pub_input", "var": 21 },
74
+ { "op": "pi_skip", "guard": 5, "count": 1 },
75
+ { "op": "load_imm", "imm": "A2" },
76
+ { "op": "declare_pub_input", "var": 22 },
77
+ { "op": "pi_skip", "guard": 5, "count": 1 },
78
+ { "op": "declare_pub_input", "var": 7 },
79
+ { "op": "pi_skip", "guard": 5, "count": 1 },
80
+ { "op": "private_input", "guard": null },
81
+ { "op": "constrain_bits", "var": 23, "bits": 8 },
82
+ { "op": "private_input", "guard": null },
83
+ { "op": "constrain_bits", "var": 24, "bits": 248 },
84
+ { "op": "declare_pub_input", "var": 18 },
85
+ { "op": "pi_skip", "guard": 5, "count": 1 },
86
+ { "op": "declare_pub_input", "var": 19 },
87
+ { "op": "declare_pub_input", "var": 5 },
88
+ { "op": "declare_pub_input", "var": 5 },
89
+ { "op": "declare_pub_input", "var": 6 },
90
+ { "op": "pi_skip", "guard": 5, "count": 4 },
91
+ { "op": "public_input", "guard": null },
92
+ { "op": "public_input", "guard": null },
93
+ { "op": "load_imm", "imm": "0D" },
94
+ { "op": "declare_pub_input", "var": 27 },
95
+ { "op": "declare_pub_input", "var": 5 },
96
+ { "op": "declare_pub_input", "var": 12 },
97
+ { "op": "declare_pub_input", "var": 25 },
98
+ { "op": "declare_pub_input", "var": 26 },
99
+ { "op": "pi_skip", "guard": 5, "count": 5 },
100
+ { "op": "load_imm", "imm": "6D69646E696768743A6465726976655F746F6B656E" },
101
+ { "op": "persistent_hash", "alignment": [{ "tag": "atom", "value": { "length": 32, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 32, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 32, "tag": "bytes" } }], "inputs": [6, 28, 0, 1, 25, 26] },
102
+ { "op": "declare_pub_input", "var": 7 },
103
+ { "op": "pi_skip", "guard": 5, "count": 1 },
104
+ { "op": "declare_pub_input", "var": 8 },
105
+ { "op": "declare_pub_input", "var": 5 },
106
+ { "op": "declare_pub_input", "var": 5 },
107
+ { "op": "declare_pub_input", "var": 17 },
108
+ { "op": "pi_skip", "guard": 5, "count": 4 },
109
+ { "op": "declare_pub_input", "var": 10 },
110
+ { "op": "declare_pub_input", "var": 5 },
111
+ { "op": "declare_pub_input", "var": 5 },
112
+ { "op": "declare_pub_input", "var": 12 },
113
+ { "op": "declare_pub_input", "var": 0 },
114
+ { "op": "declare_pub_input", "var": 1 },
115
+ { "op": "pi_skip", "guard": 5, "count": 6 },
116
+ { "op": "declare_pub_input", "var": 13 },
117
+ { "op": "pi_skip", "guard": 5, "count": 1 },
118
+ { "op": "declare_pub_input", "var": 13 },
119
+ { "op": "pi_skip", "guard": 5, "count": 1 },
120
+ { "op": "declare_pub_input", "var": 14 },
121
+ { "op": "pi_skip", "guard": 5, "count": 1 },
122
+ { "op": "declare_pub_input", "var": 10 },
123
+ { "op": "declare_pub_input", "var": 5 },
124
+ { "op": "declare_pub_input", "var": 5 },
125
+ { "op": "declare_pub_input", "var": 15 },
126
+ { "op": "declare_pub_input", "var": 2 },
127
+ { "op": "pi_skip", "guard": 5, "count": 5 },
128
+ { "op": "declare_pub_input", "var": 7 },
129
+ { "op": "pi_skip", "guard": 5, "count": 1 },
130
+ { "op": "declare_pub_input", "var": 15 },
131
+ { "op": "pi_skip", "guard": 5, "count": 1 },
132
+ { "op": "declare_pub_input", "var": 16 },
133
+ { "op": "declare_pub_input", "var": 17 },
134
+ { "op": "pi_skip", "guard": 5, "count": 2 },
135
+ { "op": "declare_pub_input", "var": 18 },
136
+ { "op": "pi_skip", "guard": 5, "count": 1 },
137
+ { "op": "declare_pub_input", "var": 18 },
138
+ { "op": "pi_skip", "guard": 5, "count": 1 },
139
+ { "op": "declare_pub_input", "var": 19 },
140
+ { "op": "declare_pub_input", "var": 20 },
141
+ { "op": "pi_skip", "guard": 5, "count": 2 },
142
+ { "op": "declare_pub_input", "var": 21 },
143
+ { "op": "pi_skip", "guard": 5, "count": 1 },
144
+ { "op": "declare_pub_input", "var": 22 },
145
+ { "op": "pi_skip", "guard": 5, "count": 1 },
146
+ { "op": "declare_pub_input", "var": 7 },
147
+ { "op": "pi_skip", "guard": 5, "count": 1 },
148
+ { "op": "load_imm", "imm": "6D69646E696768743A7A737761702D63635B76315D" },
149
+ { "op": "persistent_hash", "alignment": [{ "tag": "atom", "value": { "length": 21, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 32, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 32, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 16, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 1, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 32, "tag": "bytes" } }], "inputs": [31, 3, 4, 29, 30, 2, 5, 23, 24] },
150
+ { "op": "declare_pub_input", "var": 7 },
151
+ { "op": "pi_skip", "guard": 5, "count": 1 },
152
+ { "op": "load_imm", "imm": "02" },
153
+ { "op": "declare_pub_input", "var": 8 },
154
+ { "op": "declare_pub_input", "var": 5 },
155
+ { "op": "declare_pub_input", "var": 5 },
156
+ { "op": "declare_pub_input", "var": 34 },
157
+ { "op": "pi_skip", "guard": 5, "count": 4 },
158
+ { "op": "declare_pub_input", "var": 10 },
159
+ { "op": "declare_pub_input", "var": 5 },
160
+ { "op": "declare_pub_input", "var": 5 },
161
+ { "op": "declare_pub_input", "var": 12 },
162
+ { "op": "declare_pub_input", "var": 32 },
163
+ { "op": "declare_pub_input", "var": 33 },
164
+ { "op": "pi_skip", "guard": 5, "count": 6 },
165
+ { "op": "declare_pub_input", "var": 10 },
166
+ { "op": "declare_pub_input", "var": 6 },
167
+ { "op": "pi_skip", "guard": 5, "count": 2 },
168
+ { "op": "declare_pub_input", "var": 22 },
169
+ { "op": "pi_skip", "guard": 5, "count": 1 },
170
+ { "op": "declare_pub_input", "var": 7 },
171
+ { "op": "pi_skip", "guard": 5, "count": 1 },
172
+ { "op": "output", "var": 3 },
173
+ { "op": "output", "var": 4 },
174
+ { "op": "output", "var": 29 },
175
+ { "op": "output", "var": 30 },
176
+ { "op": "output", "var": 2 }
177
+ ]
178
+ }
@@ -0,0 +1,210 @@
1
+ {
2
+ "version": { "major": 2, "minor": 0 },
3
+ "do_communications_commitment": true,
4
+ "num_inputs": 9,
5
+ "instructions": [
6
+ { "op": "constrain_bits", "var": 0, "bits": 8 },
7
+ { "op": "constrain_bits", "var": 1, "bits": 248 },
8
+ { "op": "constrain_bits", "var": 2, "bits": 8 },
9
+ { "op": "constrain_bits", "var": 3, "bits": 248 },
10
+ { "op": "constrain_bits", "var": 4, "bits": 8 },
11
+ { "op": "constrain_bits", "var": 5, "bits": 248 },
12
+ { "op": "constrain_bits", "var": 6, "bits": 128 },
13
+ { "op": "constrain_bits", "var": 7, "bits": 8 },
14
+ { "op": "constrain_bits", "var": 8, "bits": 248 },
15
+ { "op": "load_imm", "imm": "01" },
16
+ { "op": "load_imm", "imm": "32" },
17
+ { "op": "declare_pub_input", "var": 10 },
18
+ { "op": "pi_skip", "guard": 9, "count": 1 },
19
+ { "op": "load_imm", "imm": "60" },
20
+ { "op": "load_imm", "imm": "00" },
21
+ { "op": "declare_pub_input", "var": 11 },
22
+ { "op": "declare_pub_input", "var": 9 },
23
+ { "op": "declare_pub_input", "var": 9 },
24
+ { "op": "declare_pub_input", "var": 12 },
25
+ { "op": "pi_skip", "guard": 9, "count": 4 },
26
+ { "op": "public_input", "guard": null },
27
+ { "op": "public_input", "guard": null },
28
+ { "op": "load_imm", "imm": "20" },
29
+ { "op": "load_imm", "imm": "0D" },
30
+ { "op": "declare_pub_input", "var": 16 },
31
+ { "op": "declare_pub_input", "var": 9 },
32
+ { "op": "declare_pub_input", "var": 15 },
33
+ { "op": "declare_pub_input", "var": 13 },
34
+ { "op": "declare_pub_input", "var": 14 },
35
+ { "op": "pi_skip", "guard": 9, "count": 5 },
36
+ { "op": "load_imm", "imm": "6D69646E696768743A6465726976655F746F6B656E" },
37
+ { "op": "persistent_hash", "alignment": [{ "tag": "atom", "value": { "length": 32, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 32, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 32, "tag": "bytes" } }], "inputs": [12, 17, 0, 1, 13, 14] },
38
+ { "op": "test_eq", "a": 4, "b": 18 },
39
+ { "op": "test_eq", "a": 5, "b": 19 },
40
+ { "op": "cond_select", "bit": 20, "a": 21, "b": 12 },
41
+ { "op": "assert", "cond": 22 },
42
+ { "op": "test_eq", "a": 7, "b": 12 },
43
+ { "op": "test_eq", "a": 8, "b": 12 },
44
+ { "op": "cond_select", "bit": 23, "a": 24, "b": 12 },
45
+ { "op": "cond_select", "bit": 25, "a": 12, "b": 9 },
46
+ { "op": "assert", "cond": 26 },
47
+ { "op": "declare_pub_input", "var": 10 },
48
+ { "op": "pi_skip", "guard": 9, "count": 1 },
49
+ { "op": "declare_pub_input", "var": 11 },
50
+ { "op": "declare_pub_input", "var": 9 },
51
+ { "op": "declare_pub_input", "var": 9 },
52
+ { "op": "declare_pub_input", "var": 12 },
53
+ { "op": "pi_skip", "guard": 9, "count": 4 },
54
+ { "op": "public_input", "guard": null },
55
+ { "op": "public_input", "guard": null },
56
+ { "op": "declare_pub_input", "var": 16 },
57
+ { "op": "declare_pub_input", "var": 9 },
58
+ { "op": "declare_pub_input", "var": 15 },
59
+ { "op": "declare_pub_input", "var": 27 },
60
+ { "op": "declare_pub_input", "var": 28 },
61
+ { "op": "pi_skip", "guard": 9, "count": 5 },
62
+ { "op": "load_imm", "imm": "6D69646E696768743A7A737761702D63635B76315D" },
63
+ { "op": "persistent_hash", "alignment": [{ "tag": "atom", "value": { "length": 21, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 32, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 32, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 16, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 1, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 32, "tag": "bytes" } }], "inputs": [29, 2, 3, 4, 5, 6, 12, 27, 28] },
64
+ { "op": "load_imm", "imm": "40" },
65
+ { "op": "declare_pub_input", "var": 32 },
66
+ { "op": "pi_skip", "guard": 9, "count": 1 },
67
+ { "op": "load_imm", "imm": "80" },
68
+ { "op": "declare_pub_input", "var": 33 },
69
+ { "op": "declare_pub_input", "var": 9 },
70
+ { "op": "declare_pub_input", "var": 9 },
71
+ { "op": "declare_pub_input", "var": 9 },
72
+ { "op": "pi_skip", "guard": 9, "count": 4 },
73
+ { "op": "load_imm", "imm": "10" },
74
+ { "op": "declare_pub_input", "var": 34 },
75
+ { "op": "declare_pub_input", "var": 9 },
76
+ { "op": "declare_pub_input", "var": 9 },
77
+ { "op": "declare_pub_input", "var": 15 },
78
+ { "op": "declare_pub_input", "var": 30 },
79
+ { "op": "declare_pub_input", "var": 31 },
80
+ { "op": "pi_skip", "guard": 9, "count": 6 },
81
+ { "op": "declare_pub_input", "var": 34 },
82
+ { "op": "declare_pub_input", "var": 12 },
83
+ { "op": "pi_skip", "guard": 9, "count": 2 },
84
+ { "op": "load_imm", "imm": "A2" },
85
+ { "op": "declare_pub_input", "var": 35 },
86
+ { "op": "pi_skip", "guard": 9, "count": 1 },
87
+ { "op": "declare_pub_input", "var": 32 },
88
+ { "op": "pi_skip", "guard": 9, "count": 1 },
89
+ { "op": "declare_pub_input", "var": 32 },
90
+ { "op": "pi_skip", "guard": 9, "count": 1 },
91
+ { "op": "load_imm", "imm": "07" },
92
+ { "op": "declare_pub_input", "var": 33 },
93
+ { "op": "declare_pub_input", "var": 9 },
94
+ { "op": "declare_pub_input", "var": 9 },
95
+ { "op": "declare_pub_input", "var": 36 },
96
+ { "op": "pi_skip", "guard": 9, "count": 4 },
97
+ { "op": "load_imm", "imm": "03" },
98
+ { "op": "declare_pub_input", "var": 34 },
99
+ { "op": "declare_pub_input", "var": 9 },
100
+ { "op": "declare_pub_input", "var": 37 },
101
+ { "op": "declare_pub_input", "var": 9 },
102
+ { "op": "declare_pub_input", "var": 15 },
103
+ { "op": "declare_pub_input", "var": 15 },
104
+ { "op": "declare_pub_input", "var": 9 },
105
+ { "op": "declare_pub_input", "var": 0 },
106
+ { "op": "declare_pub_input", "var": 1 },
107
+ { "op": "declare_pub_input", "var": 12 },
108
+ { "op": "declare_pub_input", "var": 12 },
109
+ { "op": "pi_skip", "guard": 9, "count": 11 },
110
+ { "op": "load_imm", "imm": "31" },
111
+ { "op": "declare_pub_input", "var": 38 },
112
+ { "op": "pi_skip", "guard": 9, "count": 1 },
113
+ { "op": "declare_pub_input", "var": 38 },
114
+ { "op": "pi_skip", "guard": 9, "count": 1 },
115
+ { "op": "load_imm", "imm": "18" },
116
+ { "op": "declare_pub_input", "var": 39 },
117
+ { "op": "pi_skip", "guard": 9, "count": 1 },
118
+ { "op": "declare_pub_input", "var": 34 },
119
+ { "op": "declare_pub_input", "var": 9 },
120
+ { "op": "declare_pub_input", "var": 9 },
121
+ { "op": "declare_pub_input", "var": 34 },
122
+ { "op": "declare_pub_input", "var": 6 },
123
+ { "op": "pi_skip", "guard": 9, "count": 5 },
124
+ { "op": "declare_pub_input", "var": 32 },
125
+ { "op": "pi_skip", "guard": 9, "count": 1 },
126
+ { "op": "load_imm", "imm": "08" },
127
+ { "op": "declare_pub_input", "var": 40 },
128
+ { "op": "pi_skip", "guard": 9, "count": 1 },
129
+ { "op": "load_imm", "imm": "12" },
130
+ { "op": "load_imm", "imm": "04" },
131
+ { "op": "declare_pub_input", "var": 41 },
132
+ { "op": "declare_pub_input", "var": 42 },
133
+ { "op": "pi_skip", "guard": 9, "count": 2 },
134
+ { "op": "declare_pub_input", "var": 10 },
135
+ { "op": "pi_skip", "guard": 9, "count": 1 },
136
+ { "op": "declare_pub_input", "var": 10 },
137
+ { "op": "pi_skip", "guard": 9, "count": 1 },
138
+ { "op": "load_imm", "imm": "-01" },
139
+ { "op": "declare_pub_input", "var": 11 },
140
+ { "op": "declare_pub_input", "var": 43 },
141
+ { "op": "pi_skip", "guard": 9, "count": 2 },
142
+ { "op": "load_imm", "imm": "14" },
143
+ { "op": "declare_pub_input", "var": 44 },
144
+ { "op": "pi_skip", "guard": 9, "count": 1 },
145
+ { "op": "declare_pub_input", "var": 35 },
146
+ { "op": "pi_skip", "guard": 9, "count": 1 },
147
+ { "op": "declare_pub_input", "var": 32 },
148
+ { "op": "pi_skip", "guard": 9, "count": 1 },
149
+ { "op": "declare_pub_input", "var": 32 },
150
+ { "op": "pi_skip", "guard": 9, "count": 1 },
151
+ { "op": "declare_pub_input", "var": 33 },
152
+ { "op": "declare_pub_input", "var": 9 },
153
+ { "op": "declare_pub_input", "var": 9 },
154
+ { "op": "declare_pub_input", "var": 40 },
155
+ { "op": "pi_skip", "guard": 9, "count": 4 },
156
+ { "op": "load_imm", "imm": "06" },
157
+ { "op": "declare_pub_input", "var": 34 },
158
+ { "op": "declare_pub_input", "var": 9 },
159
+ { "op": "declare_pub_input", "var": 45 },
160
+ { "op": "declare_pub_input", "var": 9 },
161
+ { "op": "declare_pub_input", "var": 15 },
162
+ { "op": "declare_pub_input", "var": 15 },
163
+ { "op": "declare_pub_input", "var": 9 },
164
+ { "op": "declare_pub_input", "var": 15 },
165
+ { "op": "declare_pub_input", "var": 15 },
166
+ { "op": "declare_pub_input", "var": 9 },
167
+ { "op": "declare_pub_input", "var": 0 },
168
+ { "op": "declare_pub_input", "var": 1 },
169
+ { "op": "declare_pub_input", "var": 12 },
170
+ { "op": "declare_pub_input", "var": 12 },
171
+ { "op": "declare_pub_input", "var": 12 },
172
+ { "op": "declare_pub_input", "var": 12 },
173
+ { "op": "declare_pub_input", "var": 12 },
174
+ { "op": "declare_pub_input", "var": 7 },
175
+ { "op": "declare_pub_input", "var": 8 },
176
+ { "op": "pi_skip", "guard": 9, "count": 19 },
177
+ { "op": "declare_pub_input", "var": 38 },
178
+ { "op": "pi_skip", "guard": 9, "count": 1 },
179
+ { "op": "declare_pub_input", "var": 38 },
180
+ { "op": "pi_skip", "guard": 9, "count": 1 },
181
+ { "op": "declare_pub_input", "var": 39 },
182
+ { "op": "pi_skip", "guard": 9, "count": 1 },
183
+ { "op": "declare_pub_input", "var": 34 },
184
+ { "op": "declare_pub_input", "var": 9 },
185
+ { "op": "declare_pub_input", "var": 9 },
186
+ { "op": "declare_pub_input", "var": 34 },
187
+ { "op": "declare_pub_input", "var": 6 },
188
+ { "op": "pi_skip", "guard": 9, "count": 5 },
189
+ { "op": "declare_pub_input", "var": 32 },
190
+ { "op": "pi_skip", "guard": 9, "count": 1 },
191
+ { "op": "declare_pub_input", "var": 40 },
192
+ { "op": "pi_skip", "guard": 9, "count": 1 },
193
+ { "op": "declare_pub_input", "var": 41 },
194
+ { "op": "declare_pub_input", "var": 42 },
195
+ { "op": "pi_skip", "guard": 9, "count": 2 },
196
+ { "op": "declare_pub_input", "var": 10 },
197
+ { "op": "pi_skip", "guard": 9, "count": 1 },
198
+ { "op": "declare_pub_input", "var": 10 },
199
+ { "op": "pi_skip", "guard": 9, "count": 1 },
200
+ { "op": "declare_pub_input", "var": 11 },
201
+ { "op": "declare_pub_input", "var": 43 },
202
+ { "op": "pi_skip", "guard": 9, "count": 2 },
203
+ { "op": "declare_pub_input", "var": 44 },
204
+ { "op": "pi_skip", "guard": 9, "count": 1 },
205
+ { "op": "declare_pub_input", "var": 35 },
206
+ { "op": "pi_skip", "guard": 9, "count": 1 },
207
+ { "op": "declare_pub_input", "var": 32 },
208
+ { "op": "pi_skip", "guard": 9, "count": 1 }
209
+ ]
210
+ }
@@ -0,0 +1,31 @@
1
+ pragma language_version 0.27;
2
+
3
+ import CompactStandardLibrary;
4
+
5
+ // 1:1 wrapper for native unshielded tokens.
6
+ // Each wrapped-token colour is derived from its underlying token and this contract.
7
+
8
+ export circuit shield(token: Bytes<32>, amount: Uint<64>, nonce: Bytes<32>): ShieldedCoinInfo {
9
+ const underlying = disclose(token);
10
+ const value = disclose(amount);
11
+
12
+ receiveUnshielded(underlying, value);
13
+ return mintShieldedToken(
14
+ underlying,
15
+ value,
16
+ disclose(nonce),
17
+ left<ZswapCoinPublicKey, ContractAddress>(ownPublicKey())
18
+ );
19
+ }
20
+
21
+ export circuit unshield(token: Bytes<32>, coin: ShieldedCoinInfo, recipient: UserAddress): [] {
22
+ const underlying = disclose(token);
23
+ const paid = disclose(coin);
24
+ const to = disclose(recipient);
25
+ // Only this contract's wrapped form of `token` may release its backing.
26
+ assert(paid.color == tokenType(underlying, kernel.self()), "shielded-pools: wrong token");
27
+ assert(to != default<UserAddress>, "shielded-pools: zero recipient");
28
+
29
+ receiveShielded(paid);
30
+ sendUnshielded(underlying, paid.value, right<ContractAddress, UserAddress>(to));
31
+ }
package/package.json CHANGED
@@ -1,6 +1,55 @@
1
1
  {
2
2
  "name": "@shieldedpools/contracts",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.0",
4
+ "description": "The Shielded Pool protocol contract and release artifacts.",
5
+ "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/shieldedpools/shielded-pool-contract.git"
9
+ },
10
+ "type": "module",
11
+ "engines": {
12
+ "node": ">=24"
13
+ },
14
+ "exports": {
15
+ ".": {
16
+ "types": "./contract/managed/shielded-pools/contract/index.d.ts",
17
+ "default": "./contract/managed/shielded-pools/contract/index.js"
18
+ },
19
+ "./contract-info.json": "./contract/managed/shielded-pools/compiler/contract-info.json",
20
+ "./artifacts/*": "./contract/managed/shielded-pools/*",
21
+ "./package.json": "./package.json"
22
+ },
23
+ "files": [
24
+ "contract/shielded-pools.compact",
25
+ "contract/managed/shielded-pools"
26
+ ],
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
30
+ "scripts": {
31
+ "build": "compact compile +0.35.0 contract/shielded-pools.compact contract/managed/shielded-pools",
32
+ "test": "node --disable-warning=ExperimentalWarning --test test/*.test.ts",
33
+ "deploy": "node --disable-warning=ExperimentalWarning scripts/deploy.ts",
34
+ "prepublishOnly": "npm run build && npm test",
35
+ "release": "npm run build && npm test && mkdir -p release && npm pack --pack-destination release"
36
+ },
37
+ "overrides": {
38
+ "effect": "3.22.4"
39
+ },
40
+ "dependencies": {
41
+ "@midnight-ntwrk/compact-runtime": "0.20.0"
42
+ },
43
+ "devDependencies": {
44
+ "@midnightntwrk/ledger-v9": "1.0.0-rc.5",
45
+ "@midnightntwrk/wallet-sdk-abstractions": "3.0.0-rc.1",
46
+ "@midnightntwrk/wallet-sdk-dust-wallet": "5.0.0-rc.1",
47
+ "@midnightntwrk/wallet-sdk-facade": "5.0.0-rc.1",
48
+ "@midnightntwrk/wallet-sdk-hd": "3.1.0-rc.0",
49
+ "@midnightntwrk/wallet-sdk-shielded": "4.0.0-rc.1",
50
+ "@midnightntwrk/wallet-sdk-unshielded-wallet": "4.0.0-rc.1",
51
+ "@types/node": "24.19.2",
52
+ "rxjs": "7.8.2",
53
+ "ws": "8.22.0"
54
+ }
55
+ }