@sig-net/midnight 0.14.0 → 0.16.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.
- package/README.md +133 -48
- package/dist/constants.d.ts +55 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +85 -5
- package/dist/constants.js.map +1 -1
- package/dist/ecdsa-attestation.d.ts +6 -5
- package/dist/ecdsa-attestation.d.ts.map +1 -1
- package/dist/ecdsa-attestation.js +5 -4
- package/dist/ecdsa-attestation.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/dist/managed/compiler/contract-info.json +12 -1
- package/dist/managed/compiler/contract-manifest.json +8 -8
- package/dist/managed/contract/index.d.ts +8 -6
- package/dist/managed/contract/index.js +76 -60
- package/dist/managed/contract/index.js.map +1 -1
- package/dist/signature-requests-state-reader.d.ts +29 -10
- package/dist/signature-requests-state-reader.d.ts.map +1 -1
- package/dist/signature-requests-state-reader.js +67 -21
- package/dist/signature-requests-state-reader.js.map +1 -1
- package/dist/signature-response-verification.d.ts +1 -1
- package/dist/signature-response-verification.d.ts.map +1 -1
- package/dist/signature-response-verification.js +3 -3
- package/dist/signature-response-verification.js.map +1 -1
- package/dist/signature-state-reading.d.ts +17 -25
- package/dist/signature-state-reading.d.ts.map +1 -1
- package/dist/signature-state-reading.js +39 -59
- package/dist/signature-state-reading.js.map +1 -1
- package/dist/signet-contract-events.d.ts +262 -0
- package/dist/signet-contract-events.d.ts.map +1 -0
- package/dist/signet-contract-events.js +266 -0
- package/dist/signet-contract-events.js.map +1 -0
- package/dist/signet-evtype2tx-requests.d.ts +4 -4
- package/dist/signet-evtype2tx-requests.d.ts.map +1 -1
- package/dist/signet-evtype2tx-requests.js +3 -3
- package/dist/signet-request-feed.d.ts +59 -34
- package/dist/signet-request-feed.d.ts.map +1 -1
- package/dist/signet-request-feed.js +95 -62
- package/dist/signet-request-feed.js.map +1 -1
- package/dist/signet-request-response-reader.d.ts +70 -62
- package/dist/signet-request-response-reader.d.ts.map +1 -1
- package/dist/signet-request-response-reader.js +88 -102
- package/dist/signet-request-response-reader.js.map +1 -1
- package/dist/signet-requests.js +2 -2
- package/dist/signet-requests.js.map +1 -1
- package/package.json +2 -2
- package/src/Signet.compact +90 -43
- package/dist/signet-contract-state-reader.d.ts +0 -241
- package/dist/signet-contract-state-reader.d.ts.map +0 -1
- package/dist/signet-contract-state-reader.js +0 -345
- package/dist/signet-contract-state-reader.js.map +0 -1
- package/dist/signet-request-resolver.d.ts +0 -60
- package/dist/signet-request-resolver.d.ts.map +0 -1
- package/dist/signet-request-resolver.js +0 -78
- package/dist/signet-request-resolver.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -3,10 +3,9 @@ export * from "./signet-requests.ts";
|
|
|
3
3
|
export * from "./signet-evtype2tx-requests.ts";
|
|
4
4
|
export * from "./signature-state-reading.ts";
|
|
5
5
|
export * from "./signature-requests-state-reader.ts";
|
|
6
|
-
export * from "./signet-contract-
|
|
6
|
+
export * from "./signet-contract-events.ts";
|
|
7
7
|
export * from "./signature-response-verification.ts";
|
|
8
8
|
export * from "./signet-request-response-reader.ts";
|
|
9
|
-
export * from "./signet-request-resolver.ts";
|
|
10
9
|
export * from "./signet-request-feed.ts";
|
|
11
10
|
export * from "./constants.ts";
|
|
12
11
|
export * from "./epsilon-derivation.ts";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AAEvC;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
// Midnight-side sig-net integration: the client-agnostic signet protocol
|
|
2
|
-
// library (wire structs, state readers, request feed
|
|
3
|
-
// the compiled pure circuits of the shared Compact module.
|
|
2
|
+
// library (wire structs, state readers, event decoders, request feed,
|
|
3
|
+
// crypto) plus the compiled pure circuits of the shared Compact module.
|
|
4
4
|
export * from "./abi-serde.js";
|
|
5
5
|
export * from "./signet-requests.js";
|
|
6
6
|
export * from "./signet-evtype2tx-requests.js";
|
|
7
7
|
export * from "./signature-state-reading.js";
|
|
8
8
|
export * from "./signature-requests-state-reader.js";
|
|
9
|
-
export * from "./signet-contract-
|
|
9
|
+
export * from "./signet-contract-events.js";
|
|
10
10
|
export * from "./signature-response-verification.js";
|
|
11
11
|
export * from "./signet-request-response-reader.js";
|
|
12
|
-
export * from "./signet-request-resolver.js";
|
|
13
12
|
export * from "./signet-request-feed.js";
|
|
14
13
|
export * from "./constants.js";
|
|
15
14
|
export * from "./epsilon-derivation.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,sEAAsE;AACtE,wEAAwE;AAExE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AAEvC;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC"}
|
|
@@ -25,11 +25,22 @@
|
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
|
-
"name": "
|
|
28
|
+
"name": "requestsPathDepth",
|
|
29
29
|
"type": {
|
|
30
30
|
"type-name": "Uint",
|
|
31
31
|
"maxval": 255
|
|
32
32
|
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "requestsPath",
|
|
36
|
+
"type": {
|
|
37
|
+
"type-name": "Vector",
|
|
38
|
+
"length": 4,
|
|
39
|
+
"type": {
|
|
40
|
+
"type-name": "Uint",
|
|
41
|
+
"maxval": 255
|
|
42
|
+
}
|
|
43
|
+
}
|
|
33
44
|
}
|
|
34
45
|
],
|
|
35
46
|
"result-type": {
|
|
@@ -7,26 +7,26 @@
|
|
|
7
7
|
"type": "directory",
|
|
8
8
|
"contract-info.json": {
|
|
9
9
|
"type": "file",
|
|
10
|
-
"size":
|
|
11
|
-
"hash": "
|
|
10
|
+
"size": 8200,
|
|
11
|
+
"hash": "07a63a0b166c651d4f9eb662029bacc81b0825311959ac67405d3996c064a84c"
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"contract": {
|
|
15
15
|
"type": "directory",
|
|
16
16
|
"index.d.ts": {
|
|
17
17
|
"type": "file",
|
|
18
|
-
"size":
|
|
19
|
-
"hash": "
|
|
18
|
+
"size": 6518,
|
|
19
|
+
"hash": "9c63efc21d21c87c4a1989454c35158c8d783fd86131a5697edfd5e8f9db4bba"
|
|
20
20
|
},
|
|
21
21
|
"index.js": {
|
|
22
22
|
"type": "file",
|
|
23
|
-
"size":
|
|
24
|
-
"hash": "
|
|
23
|
+
"size": 49867,
|
|
24
|
+
"hash": "9110102850ba6354a9b57ac35bd10c269c73cdea5248861b7c26f3108914d932"
|
|
25
25
|
},
|
|
26
26
|
"index.js.map": {
|
|
27
27
|
"type": "file",
|
|
28
|
-
"size":
|
|
29
|
-
"hash": "
|
|
28
|
+
"size": 4763,
|
|
29
|
+
"hash": "345928fecea5933a4f62f8a6ac11b1ff8a8827c118cc1848346a70fac822d4b4"
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -12,9 +12,10 @@ export type ProvableCircuits<PS> = {
|
|
|
12
12
|
export type PureCircuits = {
|
|
13
13
|
constructSignBidirectionalEventNotificationV1(callerAddress_0: { bytes: Uint8Array
|
|
14
14
|
},
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
requestsPathDepth_0: bigint,
|
|
16
|
+
requestsPath_0: bigint[]): { version: bigint,
|
|
17
|
+
payload: Uint8Array
|
|
18
|
+
};
|
|
18
19
|
signetKeyHash(pk_0: __compactRuntime.Secp256k1Point): Uint8Array;
|
|
19
20
|
evmAddressAbiWord(addr_0: Uint8Array): Uint8Array;
|
|
20
21
|
numericAbiWord(value_0: bigint): Uint8Array;
|
|
@@ -43,9 +44,10 @@ export type Circuits<PS> = {
|
|
|
43
44
|
constructSignBidirectionalEventNotificationV1(context: __compactRuntime.CircuitContext<PS>,
|
|
44
45
|
callerAddress_0: { bytes: Uint8Array
|
|
45
46
|
},
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
requestsPathDepth_0: bigint,
|
|
48
|
+
requestsPath_0: bigint[]): Promise<__compactRuntime.CircuitResults<PS, { version: bigint,
|
|
49
|
+
payload: Uint8Array
|
|
50
|
+
}>>;
|
|
49
51
|
signetKeyHash(context: __compactRuntime.CircuitContext<PS>,
|
|
50
52
|
pk_0: __compactRuntime.Secp256k1Point): Promise<__compactRuntime.CircuitResults<PS, Uint8Array>>;
|
|
51
53
|
evmAddressAbiWord(context: __compactRuntime.CircuitContext<PS>,
|
|
@@ -84,28 +84,30 @@ class _ContractAddress_0 {
|
|
|
84
84
|
|
|
85
85
|
const _descriptor_11 = new _ContractAddress_0();
|
|
86
86
|
|
|
87
|
-
const _descriptor_12 = new __compactRuntime.
|
|
87
|
+
const _descriptor_12 = new __compactRuntime.CompactTypeVector(4, _descriptor_3);
|
|
88
|
+
|
|
89
|
+
const _descriptor_13 = new __compactRuntime.CompactTypeBytes(128);
|
|
88
90
|
|
|
89
91
|
class _SignBidirectionalEventNotification_0 {
|
|
90
92
|
alignment() {
|
|
91
|
-
return _descriptor_3.alignment().concat(
|
|
93
|
+
return _descriptor_3.alignment().concat(_descriptor_13.alignment());
|
|
92
94
|
}
|
|
93
95
|
fromValue(value_0) {
|
|
94
96
|
return {
|
|
95
97
|
version: _descriptor_3.fromValue(value_0),
|
|
96
|
-
payload:
|
|
98
|
+
payload: _descriptor_13.fromValue(value_0)
|
|
97
99
|
}
|
|
98
100
|
}
|
|
99
101
|
toValue(value_0) {
|
|
100
|
-
return _descriptor_3.toValue(value_0.version).concat(
|
|
102
|
+
return _descriptor_3.toValue(value_0.version).concat(_descriptor_13.toValue(value_0.payload));
|
|
101
103
|
}
|
|
102
104
|
}
|
|
103
105
|
|
|
104
|
-
const
|
|
106
|
+
const _descriptor_14 = new _SignBidirectionalEventNotification_0();
|
|
105
107
|
|
|
106
|
-
const
|
|
108
|
+
const _descriptor_15 = __compactRuntime.CompactTypeSecp256k1Scalar;
|
|
107
109
|
|
|
108
|
-
const
|
|
110
|
+
const _descriptor_16 = __compactRuntime.CompactTypeSecp256k1Base;
|
|
109
111
|
|
|
110
112
|
class _tuple_0 {
|
|
111
113
|
alignment() {
|
|
@@ -122,7 +124,7 @@ class _tuple_0 {
|
|
|
122
124
|
}
|
|
123
125
|
}
|
|
124
126
|
|
|
125
|
-
const
|
|
127
|
+
const _descriptor_17 = new _tuple_0();
|
|
126
128
|
|
|
127
129
|
class _tuple_1 {
|
|
128
130
|
alignment() {
|
|
@@ -139,7 +141,7 @@ class _tuple_1 {
|
|
|
139
141
|
}
|
|
140
142
|
}
|
|
141
143
|
|
|
142
|
-
const
|
|
144
|
+
const _descriptor_18 = new _tuple_1();
|
|
143
145
|
|
|
144
146
|
class _tuple_2 {
|
|
145
147
|
alignment() {
|
|
@@ -156,26 +158,26 @@ class _tuple_2 {
|
|
|
156
158
|
}
|
|
157
159
|
}
|
|
158
160
|
|
|
159
|
-
const
|
|
161
|
+
const _descriptor_19 = new _tuple_2();
|
|
160
162
|
|
|
161
163
|
class _Secp256k1EcdsaSignature_0 {
|
|
162
164
|
alignment() {
|
|
163
|
-
return
|
|
165
|
+
return _descriptor_15.alignment().concat(_descriptor_15.alignment());
|
|
164
166
|
}
|
|
165
167
|
fromValue(value_0) {
|
|
166
168
|
return {
|
|
167
|
-
r:
|
|
168
|
-
s:
|
|
169
|
+
r: _descriptor_15.fromValue(value_0),
|
|
170
|
+
s: _descriptor_15.fromValue(value_0)
|
|
169
171
|
}
|
|
170
172
|
}
|
|
171
173
|
toValue(value_0) {
|
|
172
|
-
return
|
|
174
|
+
return _descriptor_15.toValue(value_0.r).concat(_descriptor_15.toValue(value_0.s));
|
|
173
175
|
}
|
|
174
176
|
}
|
|
175
177
|
|
|
176
|
-
const
|
|
178
|
+
const _descriptor_20 = new _Secp256k1EcdsaSignature_0();
|
|
177
179
|
|
|
178
|
-
const
|
|
180
|
+
const _descriptor_21 = new __compactRuntime.CompactTypeUnsignedInteger(18446744073709551615n, 8);
|
|
179
181
|
|
|
180
182
|
class _Either_0 {
|
|
181
183
|
alignment() {
|
|
@@ -193,9 +195,9 @@ class _Either_0 {
|
|
|
193
195
|
}
|
|
194
196
|
}
|
|
195
197
|
|
|
196
|
-
const
|
|
198
|
+
const _descriptor_22 = new _Either_0();
|
|
197
199
|
|
|
198
|
-
const
|
|
200
|
+
const _descriptor_23 = new __compactRuntime.CompactTypeUnsignedInteger(4294967295n, 4);
|
|
199
201
|
|
|
200
202
|
export class Contract {
|
|
201
203
|
witnesses;
|
|
@@ -343,15 +345,15 @@ export class Contract {
|
|
|
343
345
|
return result_0;
|
|
344
346
|
}
|
|
345
347
|
_keccak256_0(value_0) {
|
|
346
|
-
const result_0 = __compactRuntime.keccak256(
|
|
348
|
+
const result_0 = __compactRuntime.keccak256(_descriptor_19, value_0);
|
|
347
349
|
return result_0;
|
|
348
350
|
}
|
|
349
351
|
_keccak256_1(value_0) {
|
|
350
|
-
const result_0 = __compactRuntime.keccak256(
|
|
352
|
+
const result_0 = __compactRuntime.keccak256(_descriptor_17, value_0);
|
|
351
353
|
return result_0;
|
|
352
354
|
}
|
|
353
355
|
_keccak256_2(value_0) {
|
|
354
|
-
const result_0 = __compactRuntime.keccak256(
|
|
356
|
+
const result_0 = __compactRuntime.keccak256(_descriptor_18, value_0);
|
|
355
357
|
return result_0;
|
|
356
358
|
}
|
|
357
359
|
_mul_0(x_0, y_0) {
|
|
@@ -379,13 +381,18 @@ export class Contract {
|
|
|
379
381
|
return result_0;
|
|
380
382
|
}
|
|
381
383
|
_constructSignBidirectionalEventNotificationV1_0(callerAddress_0,
|
|
382
|
-
|
|
384
|
+
requestsPathDepth_0,
|
|
385
|
+
requestsPath_0)
|
|
383
386
|
{
|
|
384
387
|
return { version: 1n,
|
|
385
388
|
payload:
|
|
386
389
|
Uint8Array.from([...Array.from(callerAddress_0.bytes, BigInt),
|
|
387
|
-
|
|
388
|
-
|
|
390
|
+
requestsPathDepth_0,
|
|
391
|
+
requestsPath_0[0],
|
|
392
|
+
requestsPath_0[1],
|
|
393
|
+
requestsPath_0[2],
|
|
394
|
+
requestsPath_0[3],
|
|
395
|
+
...Array.from(new Uint8Array(91), BigInt)],
|
|
389
396
|
Number) };
|
|
390
397
|
}
|
|
391
398
|
_calculateSignetAttestationDigest_0(requestId_0, serializedOutput_0) {
|
|
@@ -446,13 +453,13 @@ export class Contract {
|
|
|
446
453
|
32,
|
|
447
454
|
this._reverseBytes32_0(respondBidirectionalEvent_0.signature.bigR.x),
|
|
448
455
|
'Secp256k1Scalar',
|
|
449
|
-
'Signet.compact line
|
|
456
|
+
'Signet.compact line 396 char 12'),
|
|
450
457
|
s:
|
|
451
458
|
__compactRuntime.convertBytesToField(115792089237316195423570985008687907852837564279074904382605163141518161494336n,
|
|
452
459
|
32,
|
|
453
460
|
this._reverseBytes32_0(respondBidirectionalEvent_0.signature.s),
|
|
454
461
|
'Secp256k1Scalar',
|
|
455
|
-
'Signet.compact line
|
|
462
|
+
'Signet.compact line 397 char 12') },
|
|
456
463
|
mpcResponseKey_0);
|
|
457
464
|
}
|
|
458
465
|
_signetKeyHash_0(pk_0) { return this._persistentHash_0(pk_0); }
|
|
@@ -464,7 +471,7 @@ export class Contract {
|
|
|
464
471
|
_numericAbiWord_0(value_0) {
|
|
465
472
|
const le_0 = Array.from(__compactRuntime.convertBigintToBytes(16,
|
|
466
473
|
value_0,
|
|
467
|
-
'Signet.compact line
|
|
474
|
+
'Signet.compact line 478 char 17'),
|
|
468
475
|
BigInt);
|
|
469
476
|
return Uint8Array.from([...Array.from(new Uint8Array(16), BigInt),
|
|
470
477
|
le_0[15],
|
|
@@ -496,7 +503,7 @@ export class Contract {
|
|
|
496
503
|
((e, i) => e.slice(i, i+16))(word_0,
|
|
497
504
|
Number(0n)),
|
|
498
505
|
'Field',
|
|
499
|
-
'Signet.compact line
|
|
506
|
+
'Signet.compact line 497 char 12')
|
|
500
507
|
===
|
|
501
508
|
0n,
|
|
502
509
|
'ABI word exceeds Uint<128>');
|
|
@@ -505,77 +512,77 @@ export class Contract {
|
|
|
505
512
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
506
513
|
Number(16n)),
|
|
507
514
|
'Field',
|
|
508
|
-
'Signet.compact line
|
|
515
|
+
'Signet.compact line 498 char 17');
|
|
509
516
|
const b1_0 = __compactRuntime.addField(__compactRuntime.mulField(b0_0, 256n),
|
|
510
517
|
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
511
518
|
1,
|
|
512
519
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
513
520
|
Number(17n)),
|
|
514
521
|
'Field',
|
|
515
|
-
'Signet.compact line
|
|
522
|
+
'Signet.compact line 499 char 30'));
|
|
516
523
|
const b2_0 = __compactRuntime.addField(__compactRuntime.mulField(b1_0, 256n),
|
|
517
524
|
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
518
525
|
1,
|
|
519
526
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
520
527
|
Number(18n)),
|
|
521
528
|
'Field',
|
|
522
|
-
'Signet.compact line
|
|
529
|
+
'Signet.compact line 500 char 30'));
|
|
523
530
|
const b3_0 = __compactRuntime.addField(__compactRuntime.mulField(b2_0, 256n),
|
|
524
531
|
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
525
532
|
1,
|
|
526
533
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
527
534
|
Number(19n)),
|
|
528
535
|
'Field',
|
|
529
|
-
'Signet.compact line
|
|
536
|
+
'Signet.compact line 501 char 30'));
|
|
530
537
|
const b4_0 = __compactRuntime.addField(__compactRuntime.mulField(b3_0, 256n),
|
|
531
538
|
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
532
539
|
1,
|
|
533
540
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
534
541
|
Number(20n)),
|
|
535
542
|
'Field',
|
|
536
|
-
'Signet.compact line
|
|
543
|
+
'Signet.compact line 502 char 30'));
|
|
537
544
|
const b5_0 = __compactRuntime.addField(__compactRuntime.mulField(b4_0, 256n),
|
|
538
545
|
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
539
546
|
1,
|
|
540
547
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
541
548
|
Number(21n)),
|
|
542
549
|
'Field',
|
|
543
|
-
'Signet.compact line
|
|
550
|
+
'Signet.compact line 503 char 30'));
|
|
544
551
|
const b6_0 = __compactRuntime.addField(__compactRuntime.mulField(b5_0, 256n),
|
|
545
552
|
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
546
553
|
1,
|
|
547
554
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
548
555
|
Number(22n)),
|
|
549
556
|
'Field',
|
|
550
|
-
'Signet.compact line
|
|
557
|
+
'Signet.compact line 504 char 30'));
|
|
551
558
|
const b7_0 = __compactRuntime.addField(__compactRuntime.mulField(b6_0, 256n),
|
|
552
559
|
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
553
560
|
1,
|
|
554
561
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
555
562
|
Number(23n)),
|
|
556
563
|
'Field',
|
|
557
|
-
'Signet.compact line
|
|
564
|
+
'Signet.compact line 505 char 30'));
|
|
558
565
|
const b8_0 = __compactRuntime.addField(__compactRuntime.mulField(b7_0, 256n),
|
|
559
566
|
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
560
567
|
1,
|
|
561
568
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
562
569
|
Number(24n)),
|
|
563
570
|
'Field',
|
|
564
|
-
'Signet.compact line
|
|
571
|
+
'Signet.compact line 506 char 30'));
|
|
565
572
|
const b9_0 = __compactRuntime.addField(__compactRuntime.mulField(b8_0, 256n),
|
|
566
573
|
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
567
574
|
1,
|
|
568
575
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
569
576
|
Number(25n)),
|
|
570
577
|
'Field',
|
|
571
|
-
'Signet.compact line
|
|
578
|
+
'Signet.compact line 507 char 30'));
|
|
572
579
|
const b10_0 = __compactRuntime.addField(__compactRuntime.mulField(b9_0, 256n),
|
|
573
580
|
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
574
581
|
1,
|
|
575
582
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
576
583
|
Number(26n)),
|
|
577
584
|
'Field',
|
|
578
|
-
'Signet.compact line
|
|
585
|
+
'Signet.compact line 508 char 30'));
|
|
579
586
|
const b11_0 = __compactRuntime.addField(__compactRuntime.mulField(b10_0,
|
|
580
587
|
256n),
|
|
581
588
|
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
@@ -583,7 +590,7 @@ export class Contract {
|
|
|
583
590
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
584
591
|
Number(27n)),
|
|
585
592
|
'Field',
|
|
586
|
-
'Signet.compact line
|
|
593
|
+
'Signet.compact line 509 char 30'));
|
|
587
594
|
const b12_0 = __compactRuntime.addField(__compactRuntime.mulField(b11_0,
|
|
588
595
|
256n),
|
|
589
596
|
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
@@ -591,7 +598,7 @@ export class Contract {
|
|
|
591
598
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
592
599
|
Number(28n)),
|
|
593
600
|
'Field',
|
|
594
|
-
'Signet.compact line
|
|
601
|
+
'Signet.compact line 510 char 30'));
|
|
595
602
|
const b13_0 = __compactRuntime.addField(__compactRuntime.mulField(b12_0,
|
|
596
603
|
256n),
|
|
597
604
|
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
@@ -599,7 +606,7 @@ export class Contract {
|
|
|
599
606
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
600
607
|
Number(29n)),
|
|
601
608
|
'Field',
|
|
602
|
-
'Signet.compact line
|
|
609
|
+
'Signet.compact line 511 char 30'));
|
|
603
610
|
const b14_0 = __compactRuntime.addField(__compactRuntime.mulField(b13_0,
|
|
604
611
|
256n),
|
|
605
612
|
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
@@ -607,7 +614,7 @@ export class Contract {
|
|
|
607
614
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
608
615
|
Number(30n)),
|
|
609
616
|
'Field',
|
|
610
|
-
'Signet.compact line
|
|
617
|
+
'Signet.compact line 512 char 30'));
|
|
611
618
|
const b15_0 = __compactRuntime.addField(__compactRuntime.mulField(b14_0,
|
|
612
619
|
256n),
|
|
613
620
|
__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
|
|
@@ -615,10 +622,10 @@ export class Contract {
|
|
|
615
622
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
616
623
|
Number(31n)),
|
|
617
624
|
'Field',
|
|
618
|
-
'Signet.compact line
|
|
625
|
+
'Signet.compact line 513 char 30'));
|
|
619
626
|
return ((t1) => {
|
|
620
627
|
if (t1 > 340282366920938463463374607431768211455n) {
|
|
621
|
-
throw new __compactRuntime.CompactError('Signet.compact line
|
|
628
|
+
throw new __compactRuntime.CompactError('Signet.compact line 514 char 12: cast from Field or Uint value to smaller Uint value failed: ' + t1 + ' is greater than 340282366920938463463374607431768211455');
|
|
622
629
|
}
|
|
623
630
|
return t1;
|
|
624
631
|
})(b15_0);
|
|
@@ -629,7 +636,7 @@ export class Contract {
|
|
|
629
636
|
((e, i) => e.slice(i, i+31))(word_0,
|
|
630
637
|
Number(0n)),
|
|
631
638
|
'Field',
|
|
632
|
-
'Signet.compact line
|
|
639
|
+
'Signet.compact line 520 char 12')
|
|
633
640
|
===
|
|
634
641
|
0n,
|
|
635
642
|
'ABI word is not a canonical Boolean');
|
|
@@ -638,7 +645,7 @@ export class Contract {
|
|
|
638
645
|
((e, i) => e.slice(i, i+1))(word_0,
|
|
639
646
|
Number(31n)),
|
|
640
647
|
'Field',
|
|
641
|
-
'Signet.compact line
|
|
648
|
+
'Signet.compact line 521 char 18');
|
|
642
649
|
__compactRuntime.assert(last_0 === 0n || last_0 === 1n,
|
|
643
650
|
'ABI word is not a canonical Boolean');
|
|
644
651
|
return last_0 === 1n;
|
|
@@ -688,27 +695,36 @@ const _emptyContext = {
|
|
|
688
695
|
const _dummyContract = new Contract({ });
|
|
689
696
|
export const pureCircuits = {
|
|
690
697
|
constructSignBidirectionalEventNotificationV1: (...args_0) => {
|
|
691
|
-
if (args_0.length !==
|
|
692
|
-
throw new __compactRuntime.CompactError(`constructSignBidirectionalEventNotificationV1: expected
|
|
698
|
+
if (args_0.length !== 3) {
|
|
699
|
+
throw new __compactRuntime.CompactError(`constructSignBidirectionalEventNotificationV1: expected 3 arguments (as invoked from Typescript), received ${args_0.length}`);
|
|
693
700
|
}
|
|
694
701
|
const callerAddress_0 = args_0[0];
|
|
695
|
-
const
|
|
702
|
+
const requestsPathDepth_0 = args_0[1];
|
|
703
|
+
const requestsPath_0 = args_0[2];
|
|
696
704
|
if (!(typeof(callerAddress_0) === 'object' && callerAddress_0.bytes.buffer instanceof ArrayBuffer && callerAddress_0.bytes.BYTES_PER_ELEMENT === 1 && callerAddress_0.bytes.length === 32)) {
|
|
697
705
|
__compactRuntime.typeError('constructSignBidirectionalEventNotificationV1',
|
|
698
706
|
'argument 1',
|
|
699
|
-
'Signet.compact line
|
|
707
|
+
'Signet.compact line 259 char 3',
|
|
700
708
|
'struct ContractAddress<bytes: Bytes<32>>',
|
|
701
709
|
callerAddress_0)
|
|
702
710
|
}
|
|
703
|
-
if (!(typeof(
|
|
711
|
+
if (!(typeof(requestsPathDepth_0) === 'bigint' && requestsPathDepth_0 >= 0n && requestsPathDepth_0 <= 255n)) {
|
|
704
712
|
__compactRuntime.typeError('constructSignBidirectionalEventNotificationV1',
|
|
705
713
|
'argument 2',
|
|
706
|
-
'Signet.compact line
|
|
714
|
+
'Signet.compact line 259 char 3',
|
|
707
715
|
'Uint<0..256>',
|
|
708
|
-
|
|
716
|
+
requestsPathDepth_0)
|
|
717
|
+
}
|
|
718
|
+
if (!(Array.isArray(requestsPath_0) && requestsPath_0.length === 4 && requestsPath_0.every((t) => typeof(t) === 'bigint' && t >= 0n && t <= 255n))) {
|
|
719
|
+
__compactRuntime.typeError('constructSignBidirectionalEventNotificationV1',
|
|
720
|
+
'argument 3',
|
|
721
|
+
'Signet.compact line 259 char 3',
|
|
722
|
+
'Vector<4, Uint<0..256>>',
|
|
723
|
+
requestsPath_0)
|
|
709
724
|
}
|
|
710
725
|
return _dummyContract._constructSignBidirectionalEventNotificationV1_0(callerAddress_0,
|
|
711
|
-
|
|
726
|
+
requestsPathDepth_0,
|
|
727
|
+
requestsPath_0);
|
|
712
728
|
},
|
|
713
729
|
signetKeyHash: (...args_0) => {
|
|
714
730
|
if (args_0.length !== 1) {
|
|
@@ -725,7 +741,7 @@ export const pureCircuits = {
|
|
|
725
741
|
if (!(addr_0.buffer instanceof ArrayBuffer && addr_0.BYTES_PER_ELEMENT === 1 && addr_0.length === 20)) {
|
|
726
742
|
__compactRuntime.typeError('evmAddressAbiWord',
|
|
727
743
|
'argument 1',
|
|
728
|
-
'Signet.compact line
|
|
744
|
+
'Signet.compact line 469 char 3',
|
|
729
745
|
'Bytes<20>',
|
|
730
746
|
addr_0)
|
|
731
747
|
}
|
|
@@ -739,7 +755,7 @@ export const pureCircuits = {
|
|
|
739
755
|
if (!(typeof(value_0) === 'bigint' && value_0 >= 0n && value_0 <= 340282366920938463463374607431768211455n)) {
|
|
740
756
|
__compactRuntime.typeError('numericAbiWord',
|
|
741
757
|
'argument 1',
|
|
742
|
-
'Signet.compact line
|
|
758
|
+
'Signet.compact line 475 char 3',
|
|
743
759
|
'Uint<0..340282366920938463463374607431768211456>',
|
|
744
760
|
value_0)
|
|
745
761
|
}
|
|
@@ -753,7 +769,7 @@ export const pureCircuits = {
|
|
|
753
769
|
if (!(typeof(value_0) === 'boolean')) {
|
|
754
770
|
__compactRuntime.typeError('boolAbiWord',
|
|
755
771
|
'argument 1',
|
|
756
|
-
'Signet.compact line
|
|
772
|
+
'Signet.compact line 488 char 3',
|
|
757
773
|
'Boolean',
|
|
758
774
|
value_0)
|
|
759
775
|
}
|
|
@@ -767,7 +783,7 @@ export const pureCircuits = {
|
|
|
767
783
|
if (!(word_0.buffer instanceof ArrayBuffer && word_0.BYTES_PER_ELEMENT === 1 && word_0.length === 32)) {
|
|
768
784
|
__compactRuntime.typeError('abiWordToUint128',
|
|
769
785
|
'argument 1',
|
|
770
|
-
'Signet.compact line
|
|
786
|
+
'Signet.compact line 496 char 3',
|
|
771
787
|
'Bytes<32>',
|
|
772
788
|
word_0)
|
|
773
789
|
}
|
|
@@ -781,7 +797,7 @@ export const pureCircuits = {
|
|
|
781
797
|
if (!(word_0.buffer instanceof ArrayBuffer && word_0.BYTES_PER_ELEMENT === 1 && word_0.length === 32)) {
|
|
782
798
|
__compactRuntime.typeError('abiWordToBool',
|
|
783
799
|
'argument 1',
|
|
784
|
-
'Signet.compact line
|
|
800
|
+
'Signet.compact line 519 char 3',
|
|
785
801
|
'Bytes<32>',
|
|
786
802
|
word_0)
|
|
787
803
|
}
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
"sourceRoot": "../../../",
|
|
5
5
|
"sources": ["src/circuits.compact", "src/./Signet.compact", "compiler/zkir-v3-library.compact"],
|
|
6
6
|
"names": [],
|
|
7
|
-
"mappings": "
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;;;;;;;;;;MCkQE,MAAA,6CAsBC;;OAAA;MA6HD,MAAA,aAEC;;OAAA;MA6DD,MAAA,iBAEC;;OAAA;MAID,MAAA,cASC;;OAAA;MAID,MAAA,WAEC;;OAAA;MAMD,MAAA,gBAmBC;;OAAA;MAID,MAAA,aAKC;;OAAA;MD1eH,MAAA,iCAKC;;OAAA;MAED,MAAA,kCAKC;;OAAA;MAED,MAAA,mCAKC;;OAAA;MAED,MAAA,iCAYC;;OAAA;;;;GACA;EAnED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEC;EEvCD,AAAA,yBAA8B;UACtB,iBAAI;UACJ,gCACQ;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;0CACA;;;;gDACP;;;;EAqBT,AAAA,wBACiB,WACA,OACA;UAET,oCAA2C;UAC3C,2BAAS;UAAT,MAAA;UAAA,MAAA;UACA,kBAAyB;UACzB,mBAA0B,KAAG;UAC7B,mBAA0B,KAAG;UAC7B,+CAA6C;gDAAW,MAAI;;;;8GAC1C;;;;;WAA2C;;EA/FrE,AAAA,kBAAA;oEAAA;;;EAAA,AAAA,aAAA;gEAAA;;;EAAA,AAAA,aAAA;gEAAA;;;EAAA,AAAA,aAAA;gEAAA;;;EAAA,AAAA,OAAA,KAAA;yDAAA,KAAA;;;EAAA,AAAA,OAAA;yDAAA;;;EAAA,AAAA,mBAAA;sDAAA;;;EAAA,AAAA,SAAA,KAAA;mDAAA,KAAA;;;EAAA,AAAA,SAAA,KAAA;mDAAA,KAAA;;;EAAA,AAAA,kBAAA;4DAAA;;;EDkQE,AAAA,gDAsBC,CAnBC,eAA8B;mDAG9B,mBAA0B;mDAI1B,cAAgC;;;;8CAMzB,eAAa;gCAChB,mBAAiB;gCACjB,cAAY;gCAAK,cAAY;gCAAK,cAAY;gCAAK,cAAY;;;GAIpE;EAoED,AAAA,mCAKC,CAJC,WAAoB,EACpB,kBAA+C;8BAEe,WAAS,EAAE,kBAAgB;GAC1F;EALD,AAAA,mCAKC,CAJC,WAAoB,EACpB,kBAA+C;8BAEe,WAAS,EAAE,kBAAgB;GAC1F;EALD,AAAA,mCAKC,CAJC,WAAoB,EACpB,kBAA+C;8BAEe,WAAS,EAAE,kBAAgB;GAC1F;EAKD,AAAA,iBAMC,CAN2B,GAAY;UAChC,GAA4B,cAAxB,GAAC;4BACE,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAClD,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAClD,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAClD,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;4BAAM,GAAC;;GAChE;EAiBD,AAAA,kCAmBC,CAlBC,WAAoB;qCACpB,kBAA+C;qCAC/C,2BAAoD;qCACpD,gBAA8B;;UAExB,QAGL,4CAFC,WAAS;8DACT,kBAAgB;wCAIhB,QAAM;;;;wGAEc,2BAAyB;;;;;;wGACzB,2BAAyB;;;wCAE7C,gBAAc;GAEjB;EAKD,AAAA,gBAEC,CAFiC,IAAkB,kCACZ,IAAE,IACzC;EA6DD,AAAA,oBAEC,CAFqC,MAAe;;0CACZ,MAAI;;GAC5C;EAID,AAAA,iBASC,CATkC,OAAgB;UAG3C,IAAgD;kEAA1C,OAAK;;;;4BAGf,IAAE;4BAAM,IAAE;4BAAM,IAAE;4BAAM,IAAE;4BAAM,IAAE;4BAAM,IAAE;4BAAM,IAAE;4BAAK,IAAE;4BACzD,IAAE;4BAAM,IAAE;4BAAM,IAAE;4BAAM,IAAE;4BAAM,IAAE;4BAAM,IAAE;4BAAM,IAAE;4BAAK,IAAE;;GAE5D;EAID,AAAA,cAEC,CAF+B,OAAc;;4BACR,OAAK;;GAC1C;EAMD,AAAA,mBAmBC,CAnBoC,MAAe;;;6FACjC,MAAI;;;;;;;UACf,IAAiC;;iFAAlB,MAAI;;;;UACnB,IAA+C,uDAAzC,IAAE;;;2GAAoB,MAAI;;;;UAChC,IAA+C,uDAAzC,IAAE;;;2GAAoB,MAAI;;;;UAChC,IAA+C,uDAAzC,IAAE;;;2GAAoB,MAAI;;;;UAChC,IAA+C,uDAAzC,IAAE;;;2GAAoB,MAAI;;;;UAChC,IAA+C,uDAAzC,IAAE;;;2GAAoB,MAAI;;;;UAChC,IAA+C,uDAAzC,IAAE;;;2GAAoB,MAAI;;;;UAChC,IAA+C,uDAAzC,IAAE;;;2GAAoB,MAAI;;;;UAChC,IAA+C,uDAAzC,IAAE;;;2GAAoB,MAAI;;;;UAChC,IAA+C,uDAAzC,IAAE;;;2GAAoB,MAAI;;;;UAChC,KAA+C,uDAAzC,IAAE;;;4GAAoB,MAAI;;;;UAChC,KAA+C,uDAAzC,KAAG;;;;4GAAmB,MAAI;;;;UAChC,KAA+C,uDAAzC,KAAG;;;;4GAAmB,MAAI;;;;UAChC,KAA+C,uDAAzC,KAAG;;;;4GAAmB,MAAI;;;;UAChC,KAA+C,uDAAzC,KAAG;;;;4GAAmB,MAAI;;;;UAChC,KAA+C,uDAAzC,KAAG;;;;4GAAmB,MAAI;;;;;;;;;cAC/B,KAAG;GACX;EAID,AAAA,gBAKC,CALiC,MAAe;;;6FAC9B,MAAI;;;;;;;UACf,MAAkC;;mFAAlB,MAAI;;;;4BACnB,MAAI,WAAkB,MAAI;;WAC1B,MAAI;GACZ;ED1eH,AAAA,oCAKC,CAJC,WAAoB,EACpB,kBAA0B;oDAEiB,WAAS;oDAAE,kBAAgB;GACvE;EAED,AAAA,qCAKC,CAJC,WAAoB,EACpB,kBAA2B;oDAEiB,WAAS;oDAAE,kBAAgB;GACxE;EAED,AAAA,sCAKC,CAJC,WAAoB,EACpB,kBAA4B;oDAEiB,WAAS;oDAAE,kBAAgB;GACzE;EAED,AAAA,oCAYC,CAXC,WAAoB;uCACpB,kBAA2B;uCAC3B,2BAAoD;uCACpD,gBAA8B;;mDAG5B,WAAS;mDACT,kBAAgB;mDAChB,2BAAyB;mDACzB,gBAAc;GAEjB;;;;;;;;;;;;;;;;;;;;;;;ECgMC,AAAA,6CAsBC;;;;UAnBC,eAA8B;UAG9B,mBAA0B;UAI1B,cAAgC;;;;;;;;;;;;;;;;;;;;;;2EAPhC,eAA8B;2EAG9B,mBAA0B;2EAI1B,cAAgC;GAYjC;EA6HD,AAAA,aAEC;;;;UAFiC,IAAkB;2CAAlB,IAAkB;GAEnD;EA6DD,AAAA,iBAEC;;;;UAFqC,MAAe;;;;;;;;+CAAf,MAAe;GAEpD;EAID,AAAA,cASC;;;;UATkC,OAAgB;;;;;;;;4CAAhB,OAAgB;GASlD;EAID,AAAA,WAEC;;;;UAF+B,OAAc;;;;;;;;yCAAd,OAAc;GAE7C;EAMD,AAAA,gBAmBC;;;;UAnBoC,MAAe;;;;;;;;8CAAf,MAAe;GAmBnD;EAID,AAAA,aAKC;;;;UALiC,MAAe;;;;;;;;2CAAf,MAAe;GAKhD;ED1eH,AAAA,iCAKC;;;;UAJC,WAAoB;UACpB,kBAA0B;;;;;;;;;;;;;;;+DAD1B,WAAoB;+DACpB,kBAA0B;GAG3B;EAED,AAAA,kCAKC;;;;UAJC,WAAoB;UACpB,kBAA2B;;;;;;;;;;;;;;;gEAD3B,WAAoB;gEACpB,kBAA2B;GAG5B;EAED,AAAA,mCAKC;;;;UAJC,WAAoB;UACpB,kBAA4B;;;;;;;;;;;;;;;iEAD5B,WAAoB;iEACpB,kBAA4B;GAG7B;EAED,AAAA,iCAYC;;;;UAXC,WAAoB;UACpB,kBAA2B;UAC3B,2BAAoD;UACpD,gBAA8B;;;;;;;;;;;;;;;;;;;;;;+DAH9B,WAAoB;+DACpB,kBAA2B;+DAC3B,2BAAoD;+DACpD,gBAA8B;GAQ/B;;;;;;"
|
|
8
8
|
}
|