@sig-net/midnight-contract 0.0.4 → 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
|
@@ -49,91 +49,70 @@ const _descriptor_6 = new _SignatureResponse_0();
|
|
|
49
49
|
|
|
50
50
|
const _descriptor_7 = new __compactRuntime.CompactTypeBytes(128);
|
|
51
51
|
|
|
52
|
-
const _descriptor_8 = __compactRuntime.CompactTypeJubjubPoint;
|
|
53
|
-
|
|
54
|
-
const _descriptor_9 = __compactRuntime.CompactTypeField;
|
|
55
|
-
|
|
56
52
|
class _RespondBidirectional_0 {
|
|
57
53
|
alignment() {
|
|
58
|
-
return _descriptor_7.alignment().concat(_descriptor_5.alignment().concat(
|
|
54
|
+
return _descriptor_7.alignment().concat(_descriptor_5.alignment().concat(_descriptor_0.alignment().concat(_descriptor_0.alignment())));
|
|
59
55
|
}
|
|
60
56
|
fromValue(value_0) {
|
|
61
57
|
return {
|
|
62
58
|
serializedOutput: _descriptor_7.fromValue(value_0),
|
|
63
59
|
outputLen: _descriptor_5.fromValue(value_0),
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
response: _descriptor_9.fromValue(value_0)
|
|
60
|
+
sigR: _descriptor_0.fromValue(value_0),
|
|
61
|
+
sigS: _descriptor_0.fromValue(value_0)
|
|
67
62
|
}
|
|
68
63
|
}
|
|
69
64
|
toValue(value_0) {
|
|
70
|
-
return _descriptor_7.toValue(value_0.serializedOutput).concat(_descriptor_5.toValue(value_0.outputLen).concat(
|
|
65
|
+
return _descriptor_7.toValue(value_0.serializedOutput).concat(_descriptor_5.toValue(value_0.outputLen).concat(_descriptor_0.toValue(value_0.sigR).concat(_descriptor_0.toValue(value_0.sigS))));
|
|
71
66
|
}
|
|
72
67
|
}
|
|
73
68
|
|
|
74
|
-
const
|
|
69
|
+
const _descriptor_8 = new _RespondBidirectional_0();
|
|
75
70
|
|
|
76
|
-
const
|
|
71
|
+
const _descriptor_9 = __compactRuntime.CompactTypeSecp256k1Point;
|
|
77
72
|
|
|
78
|
-
const
|
|
73
|
+
const _descriptor_10 = new __compactRuntime.CompactTypeBytes(65);
|
|
79
74
|
|
|
80
75
|
class _SignBidirectionalNotification_0 {
|
|
81
76
|
alignment() {
|
|
82
|
-
return _descriptor_5.alignment().concat(
|
|
77
|
+
return _descriptor_5.alignment().concat(_descriptor_10.alignment());
|
|
83
78
|
}
|
|
84
79
|
fromValue(value_0) {
|
|
85
80
|
return {
|
|
86
81
|
version: _descriptor_5.fromValue(value_0),
|
|
87
|
-
payload:
|
|
82
|
+
payload: _descriptor_10.fromValue(value_0)
|
|
88
83
|
}
|
|
89
84
|
}
|
|
90
85
|
toValue(value_0) {
|
|
91
|
-
return _descriptor_5.toValue(value_0.version).concat(
|
|
86
|
+
return _descriptor_5.toValue(value_0.version).concat(_descriptor_10.toValue(value_0.payload));
|
|
92
87
|
}
|
|
93
88
|
}
|
|
94
89
|
|
|
95
|
-
const
|
|
90
|
+
const _descriptor_11 = new _SignBidirectionalNotification_0();
|
|
96
91
|
|
|
97
|
-
const
|
|
92
|
+
const _descriptor_12 = __compactRuntime.CompactTypeSecp256k1Scalar;
|
|
98
93
|
|
|
99
|
-
const
|
|
94
|
+
const _descriptor_13 = __compactRuntime.CompactTypeSecp256k1Base;
|
|
100
95
|
|
|
101
|
-
|
|
102
|
-
alignment() {
|
|
103
|
-
return _descriptor_8.alignment().concat(_descriptor_9.alignment());
|
|
104
|
-
}
|
|
105
|
-
fromValue(value_0) {
|
|
106
|
-
return {
|
|
107
|
-
announcement: _descriptor_8.fromValue(value_0),
|
|
108
|
-
response: _descriptor_9.fromValue(value_0)
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
toValue(value_0) {
|
|
112
|
-
return _descriptor_8.toValue(value_0.announcement).concat(_descriptor_9.toValue(value_0.response));
|
|
113
|
-
}
|
|
114
|
-
}
|
|
96
|
+
const _descriptor_14 = new __compactRuntime.CompactTypeVector(3, _descriptor_0);
|
|
115
97
|
|
|
116
|
-
const
|
|
98
|
+
const _descriptor_15 = new __compactRuntime.CompactTypeVector(2, _descriptor_0);
|
|
117
99
|
|
|
118
|
-
class
|
|
100
|
+
class _Secp256k1EcdsaSignature_0 {
|
|
119
101
|
alignment() {
|
|
120
|
-
return
|
|
102
|
+
return _descriptor_12.alignment().concat(_descriptor_12.alignment());
|
|
121
103
|
}
|
|
122
104
|
fromValue(value_0) {
|
|
123
105
|
return {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
pkX: _descriptor_9.fromValue(value_0),
|
|
127
|
-
pkY: _descriptor_9.fromValue(value_0),
|
|
128
|
-
msg: _descriptor_11.fromValue(value_0)
|
|
106
|
+
r: _descriptor_12.fromValue(value_0),
|
|
107
|
+
s: _descriptor_12.fromValue(value_0)
|
|
129
108
|
}
|
|
130
109
|
}
|
|
131
110
|
toValue(value_0) {
|
|
132
|
-
return
|
|
111
|
+
return _descriptor_12.toValue(value_0.r).concat(_descriptor_12.toValue(value_0.s));
|
|
133
112
|
}
|
|
134
113
|
}
|
|
135
114
|
|
|
136
|
-
const
|
|
115
|
+
const _descriptor_16 = new _Secp256k1EcdsaSignature_0();
|
|
137
116
|
|
|
138
117
|
class _Either_0 {
|
|
139
118
|
alignment() {
|
|
@@ -151,9 +130,9 @@ class _Either_0 {
|
|
|
151
130
|
}
|
|
152
131
|
}
|
|
153
132
|
|
|
154
|
-
const
|
|
133
|
+
const _descriptor_17 = new _Either_0();
|
|
155
134
|
|
|
156
|
-
const
|
|
135
|
+
const _descriptor_18 = new __compactRuntime.CompactTypeUnsignedInteger(340282366920938463463374607431768211455n, 16);
|
|
157
136
|
|
|
158
137
|
class _ContractAddress_0 {
|
|
159
138
|
alignment() {
|
|
@@ -169,9 +148,9 @@ class _ContractAddress_0 {
|
|
|
169
148
|
}
|
|
170
149
|
}
|
|
171
150
|
|
|
172
|
-
const
|
|
151
|
+
const _descriptor_19 = new _ContractAddress_0();
|
|
173
152
|
|
|
174
|
-
const
|
|
153
|
+
const _descriptor_20 = new __compactRuntime.CompactTypeUnsignedInteger(4294967295n, 4);
|
|
175
154
|
|
|
176
155
|
export class Contract {
|
|
177
156
|
witnesses;
|
|
@@ -216,8 +195,8 @@ export class Contract {
|
|
|
216
195
|
const context = __compactRuntime.copyCircuitContext(contextOrig_0);
|
|
217
196
|
const partialProofData = {
|
|
218
197
|
input: {
|
|
219
|
-
value: _descriptor_0.toValue(requestId_0).concat(
|
|
220
|
-
alignment: _descriptor_0.alignment().concat(
|
|
198
|
+
value: _descriptor_0.toValue(requestId_0).concat(_descriptor_11.toValue(notification_0)),
|
|
199
|
+
alignment: _descriptor_0.alignment().concat(_descriptor_11.alignment())
|
|
221
200
|
},
|
|
222
201
|
output: undefined,
|
|
223
202
|
publicTranscript: [],
|
|
@@ -278,38 +257,39 @@ export class Contract {
|
|
|
278
257
|
return { result: result_0, context: context, gasCost: context.callContext.currentGasCost };
|
|
279
258
|
},
|
|
280
259
|
postRespondBidirectional: async (...args_1) => {
|
|
281
|
-
if (args_1.length !==
|
|
282
|
-
throw new __compactRuntime.CompactError(`postRespondBidirectional: expected
|
|
260
|
+
if (args_1.length !== 4) {
|
|
261
|
+
throw new __compactRuntime.CompactError(`postRespondBidirectional: expected 4 arguments (as invoked from Typescript), received ${args_1.length}`);
|
|
283
262
|
}
|
|
284
263
|
const contextOrig_0 = args_1[0];
|
|
285
264
|
const requestId_0 = args_1[1];
|
|
286
265
|
const respondBidirectional_0 = args_1[2];
|
|
266
|
+
const pk_0 = args_1[3];
|
|
287
267
|
if (!(typeof(contextOrig_0) === 'object' && contextOrig_0.callContext.currentQueryContext != undefined)) {
|
|
288
268
|
__compactRuntime.typeError('postRespondBidirectional',
|
|
289
269
|
'argument 1 (as invoked from Typescript)',
|
|
290
|
-
'signet-contract.compact line
|
|
270
|
+
'signet-contract.compact line 89 char 1',
|
|
291
271
|
'CircuitContext',
|
|
292
272
|
contextOrig_0)
|
|
293
273
|
}
|
|
294
274
|
if (!(requestId_0.buffer instanceof ArrayBuffer && requestId_0.BYTES_PER_ELEMENT === 1 && requestId_0.length === 32)) {
|
|
295
275
|
__compactRuntime.typeError('postRespondBidirectional',
|
|
296
276
|
'argument 1 (argument 2 as invoked from Typescript)',
|
|
297
|
-
'signet-contract.compact line
|
|
277
|
+
'signet-contract.compact line 89 char 1',
|
|
298
278
|
'Bytes<32>',
|
|
299
279
|
requestId_0)
|
|
300
280
|
}
|
|
301
|
-
if (!(typeof(respondBidirectional_0) === 'object' && respondBidirectional_0.serializedOutput.buffer instanceof ArrayBuffer && respondBidirectional_0.serializedOutput.BYTES_PER_ELEMENT === 1 && respondBidirectional_0.serializedOutput.length === 128 && typeof(respondBidirectional_0.outputLen) === 'bigint' && respondBidirectional_0.outputLen >= 0n && respondBidirectional_0.outputLen <= 255n &&
|
|
281
|
+
if (!(typeof(respondBidirectional_0) === 'object' && respondBidirectional_0.serializedOutput.buffer instanceof ArrayBuffer && respondBidirectional_0.serializedOutput.BYTES_PER_ELEMENT === 1 && respondBidirectional_0.serializedOutput.length === 128 && typeof(respondBidirectional_0.outputLen) === 'bigint' && respondBidirectional_0.outputLen >= 0n && respondBidirectional_0.outputLen <= 255n && respondBidirectional_0.sigR.buffer instanceof ArrayBuffer && respondBidirectional_0.sigR.BYTES_PER_ELEMENT === 1 && respondBidirectional_0.sigR.length === 32 && respondBidirectional_0.sigS.buffer instanceof ArrayBuffer && respondBidirectional_0.sigS.BYTES_PER_ELEMENT === 1 && respondBidirectional_0.sigS.length === 32)) {
|
|
302
282
|
__compactRuntime.typeError('postRespondBidirectional',
|
|
303
283
|
'argument 2 (argument 3 as invoked from Typescript)',
|
|
304
|
-
'signet-contract.compact line
|
|
305
|
-
'struct RespondBidirectional<serializedOutput: Bytes<128>, outputLen: Uint<0..256>,
|
|
284
|
+
'signet-contract.compact line 89 char 1',
|
|
285
|
+
'struct RespondBidirectional<serializedOutput: Bytes<128>, outputLen: Uint<0..256>, sigR: Bytes<32>, sigS: Bytes<32>>',
|
|
306
286
|
respondBidirectional_0)
|
|
307
287
|
}
|
|
308
288
|
const context = __compactRuntime.copyCircuitContext(contextOrig_0);
|
|
309
289
|
const partialProofData = {
|
|
310
290
|
input: {
|
|
311
|
-
value: _descriptor_0.toValue(requestId_0).concat(
|
|
312
|
-
alignment: _descriptor_0.alignment().concat(
|
|
291
|
+
value: _descriptor_0.toValue(requestId_0).concat(_descriptor_8.toValue(respondBidirectional_0).concat(_descriptor_9.toValue(pk_0))),
|
|
292
|
+
alignment: _descriptor_0.alignment().concat(_descriptor_8.alignment().concat(_descriptor_9.alignment()))
|
|
313
293
|
},
|
|
314
294
|
output: undefined,
|
|
315
295
|
publicTranscript: [],
|
|
@@ -318,7 +298,8 @@ export class Contract {
|
|
|
318
298
|
const result_0 = await this._postRespondBidirectional_0(context,
|
|
319
299
|
partialProofData,
|
|
320
300
|
requestId_0,
|
|
321
|
-
respondBidirectional_0
|
|
301
|
+
respondBidirectional_0,
|
|
302
|
+
pk_0);
|
|
322
303
|
partialProofData.output = { value: [], alignment: [] };
|
|
323
304
|
__compactRuntime.finalizeCallProofData(context, partialProofData);
|
|
324
305
|
return { result: result_0, context: context, gasCost: context.callContext.currentGasCost };
|
|
@@ -440,28 +421,69 @@ export class Contract {
|
|
|
440
421
|
currentZswapLocalState: context.callContext.currentZswapLocalState
|
|
441
422
|
}
|
|
442
423
|
}
|
|
443
|
-
|
|
444
|
-
const
|
|
445
|
-
const
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
424
|
+
_hashToSecp256k1Scalar_0(digest_0) {
|
|
425
|
+
const v_0 = Array.from(digest_0, BigInt);
|
|
426
|
+
const beReversed_0 = Uint8Array.from([v_0[31],
|
|
427
|
+
v_0[30],
|
|
428
|
+
v_0[29],
|
|
429
|
+
v_0[28],
|
|
430
|
+
v_0[27],
|
|
431
|
+
v_0[26],
|
|
432
|
+
v_0[25],
|
|
433
|
+
v_0[24],
|
|
434
|
+
v_0[23],
|
|
435
|
+
v_0[22],
|
|
436
|
+
v_0[21],
|
|
437
|
+
v_0[20],
|
|
438
|
+
v_0[19],
|
|
439
|
+
v_0[18],
|
|
440
|
+
v_0[17],
|
|
441
|
+
v_0[16],
|
|
442
|
+
v_0[15],
|
|
443
|
+
v_0[14],
|
|
444
|
+
v_0[13],
|
|
445
|
+
v_0[12],
|
|
446
|
+
v_0[11],
|
|
447
|
+
v_0[10],
|
|
448
|
+
v_0[9],
|
|
449
|
+
v_0[8],
|
|
450
|
+
v_0[7],
|
|
451
|
+
v_0[6],
|
|
452
|
+
v_0[5],
|
|
453
|
+
v_0[4],
|
|
454
|
+
v_0[3],
|
|
455
|
+
v_0[2],
|
|
456
|
+
v_0[1],
|
|
457
|
+
v_0[0]],
|
|
458
|
+
Number);
|
|
459
|
+
return __compactRuntime.convertBytesToField(115792089237316195423570985008687907852837564279074904382605163141518161494336n,
|
|
460
|
+
32,
|
|
461
|
+
beReversed_0,
|
|
462
|
+
'Secp256k1Scalar',
|
|
463
|
+
'<standard library>');
|
|
458
464
|
}
|
|
459
|
-
|
|
460
|
-
const
|
|
461
|
-
|
|
465
|
+
_secp256k1EcdsaVerify_0(msgHash_0, sig_0, pk_0) {
|
|
466
|
+
const z_0 = this._hashToSecp256k1Scalar_0(msgHash_0);
|
|
467
|
+
const __compact_pattern_tmp1_0 = sig_0;
|
|
468
|
+
const r_0 = __compact_pattern_tmp1_0.r;
|
|
469
|
+
const s_0 = __compact_pattern_tmp1_0.s;
|
|
470
|
+
const w_0 = this._inv_0(s_0);
|
|
471
|
+
const u1_0 = this._mul_0(z_0, w_0);
|
|
472
|
+
const u2_0 = this._mul_0(r_0, w_0);
|
|
473
|
+
const point_0 = this._ecAdd_0(this._ecMulGenerator_0(u1_0),
|
|
474
|
+
this._ecMul_0(pk_0, u2_0));
|
|
475
|
+
return __compactRuntime.convertBytesToField(115792089237316195423570985008687907852837564279074904382605163141518161494336n,
|
|
476
|
+
32,
|
|
477
|
+
__compactRuntime.convertBigintToBytes(32,
|
|
478
|
+
this._secp256k1PointX_0(point_0),
|
|
479
|
+
'<standard library>'),
|
|
480
|
+
'Secp256k1Scalar',
|
|
481
|
+
'<standard library>')
|
|
482
|
+
===
|
|
483
|
+
r_0;
|
|
462
484
|
}
|
|
463
485
|
_persistentHash_0(value_0) {
|
|
464
|
-
const result_0 = __compactRuntime.persistentHash(
|
|
486
|
+
const result_0 = __compactRuntime.persistentHash(_descriptor_9, value_0);
|
|
465
487
|
return result_0;
|
|
466
488
|
}
|
|
467
489
|
_persistentHash_1(value_0) {
|
|
@@ -472,56 +494,42 @@ export class Contract {
|
|
|
472
494
|
const result_0 = __compactRuntime.persistentHash(_descriptor_7, value_0);
|
|
473
495
|
return result_0;
|
|
474
496
|
}
|
|
475
|
-
|
|
476
|
-
const result_0 = __compactRuntime.
|
|
497
|
+
_persistentHash_3(value_0) {
|
|
498
|
+
const result_0 = __compactRuntime.persistentHash(_descriptor_14, value_0);
|
|
499
|
+
return result_0;
|
|
500
|
+
}
|
|
501
|
+
_mul_0(x_0, y_0) {
|
|
502
|
+
const result_0 = __compactRuntime.secp256k1ScalarMul(x_0, y_0);
|
|
477
503
|
return result_0;
|
|
478
504
|
}
|
|
479
|
-
|
|
480
|
-
const result_0 = __compactRuntime.
|
|
505
|
+
_inv_0(s_0) {
|
|
506
|
+
const result_0 = __compactRuntime.secp256k1ScalarInv(s_0);
|
|
507
|
+
return result_0;
|
|
508
|
+
}
|
|
509
|
+
_secp256k1PointX_0(pt_0) {
|
|
510
|
+
const result_0 = __compactRuntime.secp256k1PointX(pt_0);
|
|
481
511
|
return result_0;
|
|
482
512
|
}
|
|
483
513
|
_ecAdd_0(a_0, b_0) {
|
|
484
|
-
const result_0 = __compactRuntime.
|
|
514
|
+
const result_0 = __compactRuntime.secp256k1Add(a_0, b_0);
|
|
485
515
|
return result_0;
|
|
486
516
|
}
|
|
487
517
|
_ecMul_0(a_0, b_0) {
|
|
488
|
-
const result_0 = __compactRuntime.
|
|
518
|
+
const result_0 = __compactRuntime.secp256k1Mul(a_0, b_0);
|
|
489
519
|
return result_0;
|
|
490
520
|
}
|
|
491
521
|
_ecMulGenerator_0(b_0) {
|
|
492
|
-
const result_0 = __compactRuntime.
|
|
522
|
+
const result_0 = __compactRuntime.secp256k1MulGenerator(b_0);
|
|
493
523
|
return result_0;
|
|
494
524
|
}
|
|
495
525
|
_signetAttestationMessage_0(requestId_0, serializedOutput_0, outputLen_0) {
|
|
496
|
-
const rid_0 = requestId_0;
|
|
497
526
|
const outHash_0 = this._persistentHash_1([this._persistentHash_2(serializedOutput_0),
|
|
498
527
|
__compactRuntime.convertBigintToBytes(32,
|
|
499
528
|
outputLen_0,
|
|
500
|
-
'Signet.compact line
|
|
501
|
-
return
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
Number(0n)),
|
|
505
|
-
'Field',
|
|
506
|
-
'Signet.compact line 372 char 7'),
|
|
507
|
-
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
508
|
-
16,
|
|
509
|
-
((e, i) => e.slice(i, i+16))(rid_0,
|
|
510
|
-
Number(16n)),
|
|
511
|
-
'Field',
|
|
512
|
-
'Signet.compact line 373 char 7'),
|
|
513
|
-
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
514
|
-
16,
|
|
515
|
-
((e, i) => e.slice(i, i+16))(outHash_0,
|
|
516
|
-
Number(0n)),
|
|
517
|
-
'Field',
|
|
518
|
-
'Signet.compact line 374 char 7'),
|
|
519
|
-
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
520
|
-
16,
|
|
521
|
-
((e, i) => e.slice(i, i+16))(outHash_0,
|
|
522
|
-
Number(16n)),
|
|
523
|
-
'Field',
|
|
524
|
-
'Signet.compact line 375 char 7')];
|
|
529
|
+
'Signet.compact line 380 char 7')]);
|
|
530
|
+
return this._persistentHash_3([new Uint8Array([115, 105, 103, 110, 101, 116, 58, 109, 105, 100, 110, 105, 103, 104, 116, 58, 97, 116, 116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
|
|
531
|
+
requestId_0,
|
|
532
|
+
outHash_0]);
|
|
525
533
|
}
|
|
526
534
|
async _notifyBidirectionalSignatureRequest_0(context,
|
|
527
535
|
partialProofData,
|
|
@@ -541,8 +549,8 @@ export class Contract {
|
|
|
541
549
|
value: __compactRuntime.StateValue.newCell({ value: _descriptor_0.toValue(requestId_0),
|
|
542
550
|
alignment: _descriptor_0.alignment() }).encode() } },
|
|
543
551
|
{ push: { storage: true,
|
|
544
|
-
value: __compactRuntime.StateValue.newCell({ value:
|
|
545
|
-
alignment:
|
|
552
|
+
value: __compactRuntime.StateValue.newCell({ value: _descriptor_11.toValue(notification_0),
|
|
553
|
+
alignment: _descriptor_11.alignment() }).encode() } },
|
|
546
554
|
{ ins: { cached: false, n: 1 } },
|
|
547
555
|
{ ins: { cached: true, n: 1 } }]);
|
|
548
556
|
return [];
|
|
@@ -645,11 +653,13 @@ export class Contract {
|
|
|
645
653
|
async _postRespondBidirectional_0(context,
|
|
646
654
|
partialProofData,
|
|
647
655
|
requestId_0,
|
|
648
|
-
respondBidirectional_0
|
|
656
|
+
respondBidirectional_0,
|
|
657
|
+
pk_0)
|
|
649
658
|
{
|
|
650
659
|
const disclosedRequestId_0 = requestId_0;
|
|
651
660
|
const disclosedResponse_0 = respondBidirectional_0;
|
|
652
|
-
|
|
661
|
+
const disclosedPk_0 = pk_0;
|
|
662
|
+
__compactRuntime.assert(this._equal_0(this._persistentHash_0(disclosedPk_0),
|
|
653
663
|
_descriptor_0.fromValue(__compactRuntime.queryLedgerState(context,
|
|
654
664
|
partialProofData,
|
|
655
665
|
[
|
|
@@ -663,14 +673,22 @@ export class Contract {
|
|
|
663
673
|
{ popeq: { cached: false,
|
|
664
674
|
result: undefined } }]).value)),
|
|
665
675
|
'unauthorized: attestation pk is not the MPC key');
|
|
666
|
-
__compactRuntime.assert(this.
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
676
|
+
__compactRuntime.assert(this._secp256k1EcdsaVerify_0(this._signetAttestationMessage_0(disclosedRequestId_0,
|
|
677
|
+
disclosedResponse_0.serializedOutput,
|
|
678
|
+
disclosedResponse_0.outputLen),
|
|
679
|
+
{ r:
|
|
680
|
+
__compactRuntime.convertBytesToField(115792089237316195423570985008687907852837564279074904382605163141518161494336n,
|
|
681
|
+
32,
|
|
682
|
+
disclosedResponse_0.sigR,
|
|
683
|
+
'Secp256k1Scalar',
|
|
684
|
+
'signet-contract.compact line 116 char 20'),
|
|
685
|
+
s:
|
|
686
|
+
__compactRuntime.convertBytesToField(115792089237316195423570985008687907852837564279074904382605163141518161494336n,
|
|
687
|
+
32,
|
|
688
|
+
disclosedResponse_0.sigS,
|
|
689
|
+
'Secp256k1Scalar',
|
|
690
|
+
'signet-contract.compact line 117 char 20') },
|
|
691
|
+
disclosedPk_0),
|
|
674
692
|
'Invalid attestation signature');
|
|
675
693
|
if (_descriptor_2.fromValue(__compactRuntime.queryLedgerState(context,
|
|
676
694
|
partialProofData,
|
|
@@ -704,20 +722,14 @@ export class Contract {
|
|
|
704
722
|
value: __compactRuntime.StateValue.newCell({ value: _descriptor_0.toValue(disclosedRequestId_0),
|
|
705
723
|
alignment: _descriptor_0.alignment() }).encode() } },
|
|
706
724
|
{ push: { storage: true,
|
|
707
|
-
value: __compactRuntime.StateValue.newCell({ value:
|
|
708
|
-
alignment:
|
|
725
|
+
value: __compactRuntime.StateValue.newCell({ value: _descriptor_8.toValue(disclosedResponse_0),
|
|
726
|
+
alignment: _descriptor_8.alignment() }).encode() } },
|
|
709
727
|
{ ins: { cached: false, n: 1 } },
|
|
710
728
|
{ ins: { cached: true, n: 1 } }]);
|
|
711
729
|
return [];
|
|
712
730
|
}
|
|
713
731
|
}
|
|
714
732
|
_equal_0(x0, y0) {
|
|
715
|
-
if (x0.x != y0.x || x0.y != y0.y) {
|
|
716
|
-
return false;
|
|
717
|
-
}
|
|
718
|
-
return true;
|
|
719
|
-
}
|
|
720
|
-
_equal_1(x0, y0) {
|
|
721
733
|
if (!x0.every((x, i) => y0[i] === x)) { return false; }
|
|
722
734
|
return true;
|
|
723
735
|
}
|
|
@@ -1037,31 +1049,31 @@ export function ledger(stateOrChargedState) {
|
|
|
1037
1049
|
'Bytes<32>',
|
|
1038
1050
|
key_0)
|
|
1039
1051
|
}
|
|
1040
|
-
return
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1052
|
+
return _descriptor_8.fromValue(__compactRuntime.queryLedgerState(context,
|
|
1053
|
+
partialProofData,
|
|
1054
|
+
[
|
|
1055
|
+
{ dup: { n: 0 } },
|
|
1056
|
+
{ idx: { cached: false,
|
|
1057
|
+
pushPath: false,
|
|
1058
|
+
path: [
|
|
1059
|
+
{ tag: 'value',
|
|
1060
|
+
value: { value: _descriptor_5.toValue(2n),
|
|
1061
|
+
alignment: _descriptor_5.alignment() } }] } },
|
|
1062
|
+
{ idx: { cached: false,
|
|
1063
|
+
pushPath: false,
|
|
1064
|
+
path: [
|
|
1065
|
+
{ tag: 'value',
|
|
1066
|
+
value: { value: _descriptor_0.toValue(key_0),
|
|
1067
|
+
alignment: _descriptor_0.alignment() } }] } },
|
|
1068
|
+
{ popeq: { cached: false,
|
|
1069
|
+
result: undefined } }]).value);
|
|
1058
1070
|
},
|
|
1059
1071
|
[Symbol.iterator](...args_0) {
|
|
1060
1072
|
if (args_0.length !== 0) {
|
|
1061
1073
|
throw new __compactRuntime.CompactError(`iter: expected 0 arguments, received ${args_0.length}`);
|
|
1062
1074
|
}
|
|
1063
1075
|
const self_0 = state.asArray()[2];
|
|
1064
|
-
return self_0.asMap().keys().map( (key) => { const value = self_0.asMap().get(key).asCell(); return [ _descriptor_0.fromValue(key.value),
|
|
1076
|
+
return self_0.asMap().keys().map( (key) => { const value = self_0.asMap().get(key).asCell(); return [ _descriptor_0.fromValue(key.value), _descriptor_8.fromValue(value.value) ]; })[Symbol.iterator]();
|
|
1065
1077
|
}
|
|
1066
1078
|
},
|
|
1067
1079
|
get mpcPubKeyHash() {
|
|
@@ -1160,7 +1172,7 @@ export function ledger(stateOrChargedState) {
|
|
|
1160
1172
|
'Bytes<32>',
|
|
1161
1173
|
key_0)
|
|
1162
1174
|
}
|
|
1163
|
-
return
|
|
1175
|
+
return _descriptor_11.fromValue(__compactRuntime.queryLedgerState(context,
|
|
1164
1176
|
partialProofData,
|
|
1165
1177
|
[
|
|
1166
1178
|
{ dup: { n: 0 } },
|
|
@@ -1184,7 +1196,7 @@ export function ledger(stateOrChargedState) {
|
|
|
1184
1196
|
throw new __compactRuntime.CompactError(`iter: expected 0 arguments, received ${args_0.length}`);
|
|
1185
1197
|
}
|
|
1186
1198
|
const self_0 = state.asArray()[4];
|
|
1187
|
-
return self_0.asMap().keys().map( (key) => { const value = self_0.asMap().get(key).asCell(); return [ _descriptor_0.fromValue(key.value),
|
|
1199
|
+
return self_0.asMap().keys().map( (key) => { const value = self_0.asMap().get(key).asCell(); return [ _descriptor_0.fromValue(key.value), _descriptor_11.fromValue(value.value) ]; })[Symbol.iterator]();
|
|
1188
1200
|
}
|
|
1189
1201
|
}
|
|
1190
1202
|
};
|
|
@@ -1197,9 +1209,9 @@ export const pureCircuits = {};
|
|
|
1197
1209
|
export const contractReferenceLocations =
|
|
1198
1210
|
{ tag: 'publicLedgerArray', indices: { } };
|
|
1199
1211
|
export const expectedVk = {
|
|
1200
|
-
'notifyBidirectionalSignatureRequest': '
|
|
1201
|
-
'postRespondBidirectional': '
|
|
1202
|
-
'postSignatureResponse': '
|
|
1212
|
+
'notifyBidirectionalSignatureRequest': '79a18d16c3486302eeb8ec7129d928778a408b9e5eba7d45bec6fea4594311bc',
|
|
1213
|
+
'postRespondBidirectional': '02f784f3fde56567349ba646b0afb3bfdd70af5da4d822764b9d9f1c2138ab88',
|
|
1214
|
+
'postSignatureResponse': '493513937e36c24eb3b921e44e26be057b6160a5c9c89fecf0a738e1bb216a80',
|
|
1203
1215
|
};
|
|
1204
1216
|
|
|
1205
1217
|
//# sourceMappingURL=index.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"file": "index.js",
|
|
4
4
|
"sourceRoot": "../../../",
|
|
5
|
-
"sources": ["src/signet-contract.compact", "compiler/
|
|
5
|
+
"sources": ["src/signet-contract.compact", "compiler/zkir-v3-library.compact", "../../node_modules/@sig-net/midnight/src/Signet.compact"],
|
|
6
6
|
"names": [],
|
|
7
|
-
"mappings": "
|
|
7
|
+
"mappings": "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"
|
|
8
8
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|