@sig-net/midnight-contract 0.0.5 → 0.0.6
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/README.md +1 -1
- package/dist/managed/compiler/contract-info.json +23 -40
- package/dist/managed/compiler/contract-manifest.json +32 -32
- package/dist/managed/contract/index.d.ts +17 -19
- package/dist/managed/contract/index.js +166 -154
- package/dist/managed/contract/index.js.map +2 -2
- package/dist/managed/keys/notifyBidirectionalSignatureRequest.prover +0 -0
- package/dist/managed/keys/notifyBidirectionalSignatureRequest.verifier +0 -0
- package/dist/managed/keys/postRespondBidirectional.prover +0 -0
- package/dist/managed/keys/postRespondBidirectional.verifier +0 -0
- package/dist/managed/keys/postSignatureResponse.prover +0 -0
- package/dist/managed/keys/postSignatureResponse.verifier +0 -0
- package/dist/managed/zkir/notifyBidirectionalSignatureRequest.bzkir +0 -0
- package/dist/managed/zkir/notifyBidirectionalSignatureRequest.zkir +22 -44
- package/dist/managed/zkir/postRespondBidirectional.bzkir +0 -0
- package/dist/managed/zkir/postRespondBidirectional.zkir +143 -337
- package/dist/managed/zkir/postSignatureResponse.bzkir +0 -0
- package/dist/managed/zkir/postSignatureResponse.zkir +47 -150
- package/dist/witnesses.js +2 -2
- package/dist/witnesses.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,155 +1,52 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": { "major":
|
|
2
|
+
"version": { "major": 3, "minor": 0 },
|
|
3
3
|
"do_communications_commitment": true,
|
|
4
|
-
"
|
|
4
|
+
"inputs": [
|
|
5
|
+
{ "name": "%requestId.0", "type": "Scalar<BLS12-381>" },
|
|
6
|
+
{ "name": "%requestId.1", "type": "Scalar<BLS12-381>" },
|
|
7
|
+
{ "name": "%signatureResponse.2", "type": "Scalar<BLS12-381>" },
|
|
8
|
+
{ "name": "%signatureResponse.3", "type": "Scalar<BLS12-381>" },
|
|
9
|
+
{ "name": "%signatureResponse.4", "type": "Scalar<BLS12-381>" },
|
|
10
|
+
{ "name": "%signatureResponse.5", "type": "Scalar<BLS12-381>" },
|
|
11
|
+
{ "name": "%signatureResponse.6", "type": "Scalar<BLS12-381>" },
|
|
12
|
+
{ "name": "%signatureResponse.7", "type": "Scalar<BLS12-381>" },
|
|
13
|
+
{ "name": "%signatureResponse.8", "type": "Scalar<BLS12-381>" }
|
|
14
|
+
],
|
|
15
|
+
"outputs": [
|
|
16
|
+
],
|
|
5
17
|
"instructions": [
|
|
6
|
-
{ "op": "constrain_bits", "
|
|
7
|
-
{ "op": "constrain_bits", "
|
|
8
|
-
{ "op": "constrain_bits", "
|
|
9
|
-
{ "op": "constrain_bits", "
|
|
10
|
-
{ "op": "constrain_bits", "
|
|
11
|
-
{ "op": "constrain_bits", "
|
|
12
|
-
{ "op": "constrain_bits", "
|
|
13
|
-
{ "op": "constrain_bits", "
|
|
14
|
-
{ "op": "constrain_bits", "
|
|
15
|
-
{ "op": "
|
|
16
|
-
{ "op": "
|
|
17
|
-
{ "op": "
|
|
18
|
-
{ "op": "
|
|
19
|
-
{ "op": "
|
|
20
|
-
{ "op": "
|
|
21
|
-
{ "op": "
|
|
22
|
-
{ "op": "
|
|
23
|
-
{ "op": "
|
|
24
|
-
{ "op": "
|
|
25
|
-
{ "op": "
|
|
26
|
-
{ "op": "
|
|
27
|
-
{ "op": "
|
|
28
|
-
{ "op": "
|
|
29
|
-
{ "op": "
|
|
30
|
-
{ "op": "
|
|
31
|
-
{ "op": "
|
|
32
|
-
{ "op": "
|
|
33
|
-
{ "op": "
|
|
34
|
-
{ "op": "
|
|
35
|
-
{ "op": "
|
|
36
|
-
{ "op": "
|
|
37
|
-
{ "op": "
|
|
38
|
-
{ "op": "
|
|
39
|
-
{ "op": "load_imm", "imm": "0D" },
|
|
40
|
-
{ "op": "declare_pub_input", "var": 17 },
|
|
41
|
-
{ "op": "declare_pub_input", "var": 9 },
|
|
42
|
-
{ "op": "declare_pub_input", "var": 9 },
|
|
43
|
-
{ "op": "declare_pub_input", "var": 16 },
|
|
44
|
-
{ "op": "pi_skip", "guard": 9, "count": 4 },
|
|
45
|
-
{ "op": "cond_select", "bit": 16, "a": 12, "b": 9 },
|
|
46
|
-
{ "op": "load_imm", "imm": "70" },
|
|
47
|
-
{ "op": "cond_select", "bit": 18, "a": 19, "b": 12 },
|
|
48
|
-
{ "op": "declare_pub_input", "var": 20 },
|
|
49
|
-
{ "op": "declare_pub_input", "var": 18 },
|
|
50
|
-
{ "op": "declare_pub_input", "var": 18 },
|
|
51
|
-
{ "op": "cond_select", "bit": 18, "a": 12, "b": 12 },
|
|
52
|
-
{ "op": "declare_pub_input", "var": 21 },
|
|
53
|
-
{ "op": "pi_skip", "guard": 18, "count": 4 },
|
|
54
|
-
{ "op": "cond_select", "bit": 18, "a": 13, "b": 12 },
|
|
55
|
-
{ "op": "declare_pub_input", "var": 22 },
|
|
56
|
-
{ "op": "declare_pub_input", "var": 18 },
|
|
57
|
-
{ "op": "declare_pub_input", "var": 18 },
|
|
58
|
-
{ "op": "cond_select", "bit": 18, "a": 14, "b": 12 },
|
|
59
|
-
{ "op": "declare_pub_input", "var": 23 },
|
|
60
|
-
{ "op": "cond_select", "bit": 18, "a": 0, "b": 12 },
|
|
61
|
-
{ "op": "declare_pub_input", "var": 24 },
|
|
62
|
-
{ "op": "cond_select", "bit": 18, "a": 1, "b": 12 },
|
|
63
|
-
{ "op": "declare_pub_input", "var": 25 },
|
|
64
|
-
{ "op": "pi_skip", "guard": 18, "count": 6 },
|
|
65
|
-
{ "op": "load_imm", "imm": "11" },
|
|
66
|
-
{ "op": "load_imm", "imm": "08" },
|
|
67
|
-
{ "op": "cond_select", "bit": 18, "a": 26, "b": 12 },
|
|
68
|
-
{ "op": "declare_pub_input", "var": 28 },
|
|
69
|
-
{ "op": "declare_pub_input", "var": 18 },
|
|
70
|
-
{ "op": "declare_pub_input", "var": 18 },
|
|
71
|
-
{ "op": "cond_select", "bit": 18, "a": 27, "b": 12 },
|
|
72
|
-
{ "op": "declare_pub_input", "var": 29 },
|
|
73
|
-
{ "op": "cond_select", "bit": 18, "a": 12, "b": 12 },
|
|
74
|
-
{ "op": "declare_pub_input", "var": 30 },
|
|
75
|
-
{ "op": "pi_skip", "guard": 18, "count": 5 },
|
|
76
|
-
{ "op": "load_imm", "imm": "91" },
|
|
77
|
-
{ "op": "cond_select", "bit": 18, "a": 31, "b": 12 },
|
|
78
|
-
{ "op": "declare_pub_input", "var": 32 },
|
|
79
|
-
{ "op": "pi_skip", "guard": 18, "count": 1 },
|
|
80
|
-
{ "op": "load_imm", "imm": "A1" },
|
|
81
|
-
{ "op": "cond_select", "bit": 18, "a": 33, "b": 12 },
|
|
82
|
-
{ "op": "declare_pub_input", "var": 34 },
|
|
83
|
-
{ "op": "pi_skip", "guard": 18, "count": 1 },
|
|
84
|
-
{ "op": "declare_pub_input", "var": 10 },
|
|
85
|
-
{ "op": "pi_skip", "guard": 9, "count": 1 },
|
|
86
|
-
{ "op": "load_imm", "imm": "51" },
|
|
87
|
-
{ "op": "declare_pub_input", "var": 35 },
|
|
88
|
-
{ "op": "declare_pub_input", "var": 9 },
|
|
89
|
-
{ "op": "declare_pub_input", "var": 9 },
|
|
90
|
-
{ "op": "declare_pub_input", "var": 12 },
|
|
91
|
-
{ "op": "declare_pub_input", "var": 9 },
|
|
92
|
-
{ "op": "declare_pub_input", "var": 14 },
|
|
93
|
-
{ "op": "declare_pub_input", "var": 0 },
|
|
94
|
-
{ "op": "declare_pub_input", "var": 1 },
|
|
95
|
-
{ "op": "pi_skip", "guard": 9, "count": 8 },
|
|
96
|
-
{ "op": "public_input", "guard": null },
|
|
97
|
-
{ "op": "declare_pub_input", "var": 17 },
|
|
98
|
-
{ "op": "declare_pub_input", "var": 9 },
|
|
99
|
-
{ "op": "declare_pub_input", "var": 27 },
|
|
100
|
-
{ "op": "declare_pub_input", "var": 36 },
|
|
101
|
-
{ "op": "pi_skip", "guard": 9, "count": 4 },
|
|
102
|
-
{ "op": "load_imm", "imm": "71" },
|
|
103
|
-
{ "op": "declare_pub_input", "var": 37 },
|
|
104
|
-
{ "op": "declare_pub_input", "var": 9 },
|
|
105
|
-
{ "op": "declare_pub_input", "var": 9 },
|
|
106
|
-
{ "op": "declare_pub_input", "var": 12 },
|
|
107
|
-
{ "op": "declare_pub_input", "var": 9 },
|
|
108
|
-
{ "op": "declare_pub_input", "var": 14 },
|
|
109
|
-
{ "op": "declare_pub_input", "var": 0 },
|
|
110
|
-
{ "op": "declare_pub_input", "var": 1 },
|
|
111
|
-
{ "op": "pi_skip", "guard": 9, "count": 8 },
|
|
112
|
-
{ "op": "load_imm", "imm": "0E" },
|
|
113
|
-
{ "op": "declare_pub_input", "var": 38 },
|
|
114
|
-
{ "op": "declare_pub_input", "var": 9 },
|
|
115
|
-
{ "op": "pi_skip", "guard": 9, "count": 2 },
|
|
116
|
-
{ "op": "load_imm", "imm": "A2" },
|
|
117
|
-
{ "op": "declare_pub_input", "var": 39 },
|
|
118
|
-
{ "op": "pi_skip", "guard": 9, "count": 1 },
|
|
119
|
-
{ "op": "declare_pub_input", "var": 19 },
|
|
120
|
-
{ "op": "declare_pub_input", "var": 9 },
|
|
121
|
-
{ "op": "declare_pub_input", "var": 9 },
|
|
122
|
-
{ "op": "declare_pub_input", "var": 9 },
|
|
123
|
-
{ "op": "pi_skip", "guard": 9, "count": 4 },
|
|
124
|
-
{ "op": "load_imm", "imm": "02" },
|
|
125
|
-
{ "op": "declare_pub_input", "var": 13 },
|
|
126
|
-
{ "op": "declare_pub_input", "var": 9 },
|
|
127
|
-
{ "op": "declare_pub_input", "var": 40 },
|
|
128
|
-
{ "op": "declare_pub_input", "var": 27 },
|
|
129
|
-
{ "op": "declare_pub_input", "var": 14 },
|
|
130
|
-
{ "op": "declare_pub_input", "var": 36 },
|
|
131
|
-
{ "op": "declare_pub_input", "var": 0 },
|
|
132
|
-
{ "op": "declare_pub_input", "var": 1 },
|
|
133
|
-
{ "op": "pi_skip", "guard": 9, "count": 8 },
|
|
134
|
-
{ "op": "load_imm", "imm": "04" },
|
|
135
|
-
{ "op": "declare_pub_input", "var": 26 },
|
|
136
|
-
{ "op": "declare_pub_input", "var": 9 },
|
|
137
|
-
{ "op": "declare_pub_input", "var": 41 },
|
|
138
|
-
{ "op": "declare_pub_input", "var": 14 },
|
|
139
|
-
{ "op": "declare_pub_input", "var": 14 },
|
|
140
|
-
{ "op": "declare_pub_input", "var": 14 },
|
|
141
|
-
{ "op": "declare_pub_input", "var": 9 },
|
|
142
|
-
{ "op": "declare_pub_input", "var": 2 },
|
|
143
|
-
{ "op": "declare_pub_input", "var": 3 },
|
|
144
|
-
{ "op": "declare_pub_input", "var": 4 },
|
|
145
|
-
{ "op": "declare_pub_input", "var": 5 },
|
|
146
|
-
{ "op": "declare_pub_input", "var": 6 },
|
|
147
|
-
{ "op": "declare_pub_input", "var": 7 },
|
|
148
|
-
{ "op": "declare_pub_input", "var": 8 },
|
|
149
|
-
{ "op": "pi_skip", "guard": 9, "count": 14 },
|
|
150
|
-
{ "op": "declare_pub_input", "var": 31 },
|
|
151
|
-
{ "op": "pi_skip", "guard": 9, "count": 1 },
|
|
152
|
-
{ "op": "declare_pub_input", "var": 33 },
|
|
153
|
-
{ "op": "pi_skip", "guard": 9, "count": 1 }
|
|
18
|
+
{ "op": "constrain_bits", "val": "%requestId.0", "bits": 8 },
|
|
19
|
+
{ "op": "constrain_bits", "val": "%requestId.1", "bits": 248 },
|
|
20
|
+
{ "op": "constrain_bits", "val": "%signatureResponse.2", "bits": 8 },
|
|
21
|
+
{ "op": "constrain_bits", "val": "%signatureResponse.3", "bits": 248 },
|
|
22
|
+
{ "op": "constrain_bits", "val": "%signatureResponse.4", "bits": 8 },
|
|
23
|
+
{ "op": "constrain_bits", "val": "%signatureResponse.5", "bits": 248 },
|
|
24
|
+
{ "op": "constrain_bits", "val": "%signatureResponse.6", "bits": 8 },
|
|
25
|
+
{ "op": "constrain_bits", "val": "%signatureResponse.7", "bits": 248 },
|
|
26
|
+
{ "op": "constrain_bits", "val": "%signatureResponse.8", "bits": 8 },
|
|
27
|
+
{ "op": "public_input", "type": "Scalar<BLS12-381>", "output": "%t.9", "guard": null },
|
|
28
|
+
{ "op": "impact", "guard": "0x01", "inputs": ["0x30"] },
|
|
29
|
+
{ "op": "impact", "guard": "0x01", "inputs": ["0x50", "0x01", "0x01", "0x00"] },
|
|
30
|
+
{ "op": "impact", "guard": "0x01", "inputs": ["0x10", "0x01", "0x01", "0x20", "%requestId.0", "%requestId.1"] },
|
|
31
|
+
{ "op": "impact", "guard": "0x01", "inputs": ["0x18"] },
|
|
32
|
+
{ "op": "impact", "guard": "0x01", "inputs": ["0x0d", "0x01", "0x01", "%t.9"] },
|
|
33
|
+
{ "op": "cond_select", "output": "%t.10", "bit": "%t.9", "a": "0x00", "b": "0x01" },
|
|
34
|
+
{ "op": "impact", "guard": "%t.10", "inputs": ["0x70", "0x01", "0x01", "0x00"] },
|
|
35
|
+
{ "op": "impact", "guard": "%t.10", "inputs": ["0x10", "0x01", "0x01", "0x20", "%requestId.0", "%requestId.1"] },
|
|
36
|
+
{ "op": "impact", "guard": "%t.10", "inputs": ["0x11", "0x01", "0x01", "0x08", "0x00"] },
|
|
37
|
+
{ "op": "impact", "guard": "%t.10", "inputs": ["0x91"] },
|
|
38
|
+
{ "op": "impact", "guard": "%t.10", "inputs": ["0xa1"] },
|
|
39
|
+
{ "op": "public_input", "type": "Scalar<BLS12-381>", "output": "%count.11", "guard": null },
|
|
40
|
+
{ "op": "impact", "guard": "0x01", "inputs": ["0x30"] },
|
|
41
|
+
{ "op": "impact", "guard": "0x01", "inputs": ["0x51", "0x01", "0x01", "0x00", "0x01", "0x20", "%requestId.0", "%requestId.1"] },
|
|
42
|
+
{ "op": "impact", "guard": "0x01", "inputs": ["0x0d", "0x01", "0x08", "%count.11"] },
|
|
43
|
+
{ "op": "impact", "guard": "0x01", "inputs": ["0x71", "0x01", "0x01", "0x00", "0x01", "0x20", "%requestId.0", "%requestId.1"] },
|
|
44
|
+
{ "op": "impact", "guard": "0x01", "inputs": ["0x0e", "0x01"] },
|
|
45
|
+
{ "op": "impact", "guard": "0x01", "inputs": ["0xa2"] },
|
|
46
|
+
{ "op": "impact", "guard": "0x01", "inputs": ["0x70", "0x01", "0x01", "0x01"] },
|
|
47
|
+
{ "op": "impact", "guard": "0x01", "inputs": ["0x10", "0x01", "0x02", "0x08", "0x20", "%count.11", "%requestId.0", "%requestId.1"] },
|
|
48
|
+
{ "op": "impact", "guard": "0x01", "inputs": ["0x11", "0x01", "0x04", "0x20", "0x20", "0x20", "0x01", "%signatureResponse.2", "%signatureResponse.3", "%signatureResponse.4", "%signatureResponse.5", "%signatureResponse.6", "%signatureResponse.7", "%signatureResponse.8"] },
|
|
49
|
+
{ "op": "impact", "guard": "0x01", "inputs": ["0x91"] },
|
|
50
|
+
{ "op": "impact", "guard": "0x01", "inputs": ["0xa1"] }
|
|
154
51
|
]
|
|
155
52
|
}
|
package/dist/witnesses.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// The signet contract has no witnesses:
|
|
2
|
-
// CompactStandardLibrary's `
|
|
1
|
+
// The signet contract has no witnesses: attestation verification is
|
|
2
|
+
// CompactStandardLibrary's `secp256k1EcdsaVerify` (fully in-circuit), and
|
|
3
3
|
// there is no private state — posting carries no caller secrets.
|
|
4
4
|
/**
|
|
5
5
|
* Build the contract's (empty) private state.
|
package/dist/witnesses.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witnesses.js","sourceRoot":"","sources":["../src/witnesses.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"witnesses.js","sourceRoot":"","sources":["../src/witnesses.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,0EAA0E;AAC1E,iEAAiE;AAOjE;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAC3C,GAA+B,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAA0C,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sig-net/midnight-contract",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/sig-net/midnight-integration",
|
|
7
7
|
"directory": "packages/signet-contract"
|
|
8
8
|
},
|
|
9
9
|
"type": "module",
|
|
10
|
-
"description": "The central signet Compact contract on Midnight: the MPC posts signature responses (unauthenticated counted log, verified off-chain) and remote execution responses (
|
|
10
|
+
"description": "The central signet Compact contract on Midnight: the MPC posts signature responses (unauthenticated counted log, verified off-chain) and remote execution responses (secp256k1 ECDSA attestations, verified in-circuit at post time) here; clients poll it. src/index.ts is the curated export surface.",
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
13
|
"types": "./dist/index.d.ts",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"dist"
|
|
20
20
|
],
|
|
21
21
|
"scripts": {
|
|
22
|
-
"compile": "COMPACT_PATH=../../node_modules compact compile --skip-zk src/signet-contract.compact src/managed",
|
|
23
|
-
"compile:zk": "COMPACT_PATH=../../node_modules compact compile src/signet-contract.compact src/managed",
|
|
22
|
+
"compile": "COMPACT_PATH=../../node_modules compact compile --skip-zk --feature-zkir-v3 src/signet-contract.compact src/managed",
|
|
23
|
+
"compile:zk": "COMPACT_PATH=../../node_modules compact compile --feature-zkir-v3 src/signet-contract.compact src/managed",
|
|
24
24
|
"build": "rm -rf dist && ls src/managed/keys/*.prover >/dev/null 2>&1 || { echo 'signet-contract build: no prover keys in src/managed/keys — run `yarn compile:zk` first (compile uses --skip-zk)' >&2; exit 1; } && tsc -p tsconfig.json && tsc -p tsconfig.build.json && mkdir -p dist/managed && cp -R src/managed/contract src/managed/compiler src/managed/zkir src/managed/keys dist/managed/",
|
|
25
25
|
"prepack": "yarn build",
|
|
26
26
|
"test": "vitest run"
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"@midnight-ntwrk/midnight-js": "5.0.0-beta.4"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@sig-net/midnight": "
|
|
45
|
+
"@sig-net/midnight": "*",
|
|
46
46
|
"@types/node": "^26.1.0",
|
|
47
47
|
"typescript": "^6.0.3",
|
|
48
48
|
"vitest": "^4.1.9"
|