@haneullabs/seal 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.
Files changed (109) hide show
  1. package/CHANGELOG.md +459 -0
  2. package/README.md +4 -0
  3. package/dist/cjs/bcs.d.ts +71 -0
  4. package/dist/cjs/bcs.js +74 -0
  5. package/dist/cjs/bcs.js.map +7 -0
  6. package/dist/cjs/bls12381.d.ts +44 -0
  7. package/dist/cjs/bls12381.js +151 -0
  8. package/dist/cjs/bls12381.js.map +7 -0
  9. package/dist/cjs/client.d.ts +84 -0
  10. package/dist/cjs/client.js +414 -0
  11. package/dist/cjs/client.js.map +7 -0
  12. package/dist/cjs/decrypt.d.ts +22 -0
  13. package/dist/cjs/decrypt.js +109 -0
  14. package/dist/cjs/decrypt.js.map +7 -0
  15. package/dist/cjs/dem.d.ts +38 -0
  16. package/dist/cjs/dem.js +185 -0
  17. package/dist/cjs/dem.js.map +7 -0
  18. package/dist/cjs/elgamal.d.ts +13 -0
  19. package/dist/cjs/elgamal.js +46 -0
  20. package/dist/cjs/elgamal.js.map +7 -0
  21. package/dist/cjs/encrypt.d.ts +32 -0
  22. package/dist/cjs/encrypt.js +104 -0
  23. package/dist/cjs/encrypt.js.map +7 -0
  24. package/dist/cjs/error.d.ts +86 -0
  25. package/dist/cjs/error.js +239 -0
  26. package/dist/cjs/error.js.map +7 -0
  27. package/dist/cjs/ibe.d.ts +98 -0
  28. package/dist/cjs/ibe.js +167 -0
  29. package/dist/cjs/ibe.js.map +7 -0
  30. package/dist/cjs/index.d.ts +6 -0
  31. package/dist/cjs/index.js +33 -0
  32. package/dist/cjs/index.js.map +7 -0
  33. package/dist/cjs/kdf.d.ts +30 -0
  34. package/dist/cjs/kdf.js +97 -0
  35. package/dist/cjs/kdf.js.map +7 -0
  36. package/dist/cjs/key-server.d.ts +98 -0
  37. package/dist/cjs/key-server.js +171 -0
  38. package/dist/cjs/key-server.js.map +7 -0
  39. package/dist/cjs/package.json +5 -0
  40. package/dist/cjs/session-key.d.ts +74 -0
  41. package/dist/cjs/session-key.js +245 -0
  42. package/dist/cjs/session-key.js.map +7 -0
  43. package/dist/cjs/shamir.d.ts +91 -0
  44. package/dist/cjs/shamir.js +770 -0
  45. package/dist/cjs/shamir.js.map +7 -0
  46. package/dist/cjs/types.d.ts +83 -0
  47. package/dist/cjs/types.js +17 -0
  48. package/dist/cjs/types.js.map +7 -0
  49. package/dist/cjs/utils.d.ts +47 -0
  50. package/dist/cjs/utils.js +106 -0
  51. package/dist/cjs/utils.js.map +7 -0
  52. package/dist/cjs/version.d.ts +1 -0
  53. package/dist/cjs/version.js +25 -0
  54. package/dist/cjs/version.js.map +7 -0
  55. package/dist/esm/bcs.d.ts +71 -0
  56. package/dist/esm/bcs.js +54 -0
  57. package/dist/esm/bcs.js.map +7 -0
  58. package/dist/esm/bls12381.d.ts +44 -0
  59. package/dist/esm/bls12381.js +131 -0
  60. package/dist/esm/bls12381.js.map +7 -0
  61. package/dist/esm/client.d.ts +84 -0
  62. package/dist/esm/client.js +407 -0
  63. package/dist/esm/client.js.map +7 -0
  64. package/dist/esm/decrypt.d.ts +22 -0
  65. package/dist/esm/decrypt.js +94 -0
  66. package/dist/esm/decrypt.js.map +7 -0
  67. package/dist/esm/dem.d.ts +38 -0
  68. package/dist/esm/dem.js +165 -0
  69. package/dist/esm/dem.js.map +7 -0
  70. package/dist/esm/elgamal.d.ts +13 -0
  71. package/dist/esm/elgamal.js +26 -0
  72. package/dist/esm/elgamal.js.map +7 -0
  73. package/dist/esm/encrypt.d.ts +32 -0
  74. package/dist/esm/encrypt.js +84 -0
  75. package/dist/esm/encrypt.js.map +7 -0
  76. package/dist/esm/error.d.ts +86 -0
  77. package/dist/esm/error.js +219 -0
  78. package/dist/esm/error.js.map +7 -0
  79. package/dist/esm/ibe.d.ts +98 -0
  80. package/dist/esm/ibe.js +147 -0
  81. package/dist/esm/ibe.js.map +7 -0
  82. package/dist/esm/index.d.ts +6 -0
  83. package/dist/esm/index.js +12 -0
  84. package/dist/esm/index.js.map +7 -0
  85. package/dist/esm/kdf.d.ts +30 -0
  86. package/dist/esm/kdf.js +83 -0
  87. package/dist/esm/kdf.js.map +7 -0
  88. package/dist/esm/key-server.d.ts +98 -0
  89. package/dist/esm/key-server.js +151 -0
  90. package/dist/esm/key-server.js.map +7 -0
  91. package/dist/esm/package.json +5 -0
  92. package/dist/esm/session-key.d.ts +74 -0
  93. package/dist/esm/session-key.js +230 -0
  94. package/dist/esm/session-key.js.map +7 -0
  95. package/dist/esm/shamir.d.ts +91 -0
  96. package/dist/esm/shamir.js +750 -0
  97. package/dist/esm/shamir.js.map +7 -0
  98. package/dist/esm/types.d.ts +83 -0
  99. package/dist/esm/types.js +1 -0
  100. package/dist/esm/types.js.map +7 -0
  101. package/dist/esm/utils.d.ts +47 -0
  102. package/dist/esm/utils.js +86 -0
  103. package/dist/esm/utils.js.map +7 -0
  104. package/dist/esm/version.d.ts +1 -0
  105. package/dist/esm/version.js +5 -0
  106. package/dist/esm/version.js.map +7 -0
  107. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  108. package/dist/tsconfig.tsbuildinfo +1 -0
  109. package/package.json +58 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,459 @@
1
+ # @haneullabs/seal
2
+
3
+ ## 0.9.6
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [29e8b92]
8
+ - @haneullabs/haneul@1.45.2
9
+
10
+ ## 0.9.5
11
+
12
+ ### Patch Changes
13
+
14
+ - 2a0d7e5: More input validation and add missing docs
15
+ - Updated dependencies [e3811f1]
16
+ - @haneullabs/haneul@1.45.1
17
+
18
+ ## 0.9.4
19
+
20
+ ### Patch Changes
21
+
22
+ - Updated dependencies [88bdbac]
23
+ - @haneullabs/haneul@1.45.0
24
+
25
+ ## 0.9.3
26
+
27
+ ### Patch Changes
28
+
29
+ - Updated dependencies [44d9b4f]
30
+ - @haneullabs/haneul@1.44.0
31
+
32
+ ## 0.9.2
33
+
34
+ ### Patch Changes
35
+
36
+ - Updated dependencies [89fa2dc]
37
+ - @haneullabs/bcs@1.9.2
38
+ - @haneullabs/haneul@1.43.2
39
+
40
+ ## 0.9.1
41
+
42
+ ### Patch Changes
43
+
44
+ - Updated dependencies [a37829f]
45
+ - @haneullabs/bcs@1.9.1
46
+ - @haneullabs/haneul@1.43.1
47
+
48
+ ## 0.9.0
49
+
50
+ ### Minor Changes
51
+
52
+ - f3b19a7: Use bcs.byteVector and bcs.bytes instead of bcs.vector(bcs.u8()) and bcs.fixedArrray(n,
53
+ bcs.u8()) to improve performance
54
+ - bf9f85c: deprecate asClientExtension methods
55
+
56
+ ### Patch Changes
57
+
58
+ - Updated dependencies [f3b19a7]
59
+ - Updated dependencies [f3b19a7]
60
+ - Updated dependencies [bf9f85c]
61
+ - @haneullabs/haneul@1.43.0
62
+ - @haneullabs/bcs@1.9.0
63
+
64
+ ## 0.8.6
65
+
66
+ ### Patch Changes
67
+
68
+ - Updated dependencies [98c8a27]
69
+ - @haneullabs/haneul@1.42.0
70
+
71
+ ## 0.8.5
72
+
73
+ ### Patch Changes
74
+
75
+ - Updated dependencies [a17c337]
76
+ - Updated dependencies [d554cd2]
77
+ - Updated dependencies [04fcfbc]
78
+ - @haneullabs/bcs@1.8.1
79
+ - @haneullabs/haneul@1.41.0
80
+
81
+ ## 0.8.4
82
+
83
+ ### Patch Changes
84
+
85
+ - Updated dependencies [f5fc0c0]
86
+ - @haneullabs/haneul@1.40.0
87
+
88
+ ## 0.8.3
89
+
90
+ ### Patch Changes
91
+
92
+ - Updated dependencies [a9f9035]
93
+ - @haneullabs/haneul@1.39.1
94
+
95
+ ## 0.8.2
96
+
97
+ ### Patch Changes
98
+
99
+ - Updated dependencies [ca92487]
100
+ - Updated dependencies [5ab3c0a]
101
+ - @haneullabs/haneul@1.39.0
102
+
103
+ ## 0.8.1
104
+
105
+ ### Patch Changes
106
+
107
+ - 8d577a1: Fix generation of random BLS scalars which would fail, and likely cause encryption to
108
+ fail, for some versions of the @noble/curves dependency.
109
+
110
+ ## 0.8.0
111
+
112
+ ### Minor Changes
113
+
114
+ - 4c53e73: Force scalar encoding in BLS to big-endian since versions >=1.9.6 of noble/curves changed
115
+ the default encoding to little-endian. Encryptions created by previous versions of Seal SDK and
116
+ with noble/curves versions >=1.9.6 might fail to `decrypt` with the default call arguments. In
117
+ case you need to decrypt such ciphertexts, set `checkShareConsistency=false` and
118
+ `checkLEEncoding=true` on `DecryptOptions`.
119
+
120
+ ## 0.7.0
121
+
122
+ ### Minor Changes
123
+
124
+ - 7c623e5: [seal] export DemType
125
+
126
+ ## 0.6.0
127
+
128
+ ### Minor Changes
129
+
130
+ - ea1ac70: Update dependencies and improve support for typescript 5.9
131
+
132
+ ### Patch Changes
133
+
134
+ - Updated dependencies [3c1741f]
135
+ - Updated dependencies [ea1ac70]
136
+ - @haneullabs/haneul@1.38.0
137
+ - @haneullabs/bcs@1.8.0
138
+
139
+ ## 0.5.2
140
+
141
+ ### Patch Changes
142
+
143
+ - cb66a10: [seal] fix apiKeyName variable
144
+
145
+ ## 0.5.1
146
+
147
+ ### Patch Changes
148
+
149
+ - Updated dependencies [c689b98]
150
+ - Updated dependencies [5b9ff1a]
151
+ - @haneullabs/haneul@1.37.6
152
+
153
+ ## 0.5.0
154
+
155
+ ### Minor Changes
156
+
157
+ - d1a7a5f: [seal] Mainnet release cut
158
+
159
+ ### Patch Changes
160
+
161
+ - Updated dependencies [3980d04]
162
+ - @haneullabs/haneul@1.37.5
163
+
164
+ ## 0.4.24
165
+
166
+ ### Patch Changes
167
+
168
+ - Updated dependencies [6b03e57]
169
+ - @haneullabs/haneul@1.37.4
170
+
171
+ ## 0.4.23
172
+
173
+ ### Patch Changes
174
+
175
+ - b14e58e: Remove getAllowlistedKeyServers, see seal docs for available key server ids
176
+
177
+ ## 0.4.22
178
+
179
+ ### Patch Changes
180
+
181
+ - Updated dependencies [8ff1471]
182
+ - @haneullabs/haneul@1.37.3
183
+
184
+ ## 0.4.21
185
+
186
+ ### Patch Changes
187
+
188
+ - Updated dependencies [660377c]
189
+ - @haneullabs/haneul@1.37.2
190
+
191
+ ## 0.4.20
192
+
193
+ ### Patch Changes
194
+
195
+ - Updated dependencies [33230ed]
196
+ - Updated dependencies [33230ed]
197
+ - Updated dependencies [33230ed]
198
+ - @haneullabs/bcs@1.7.0
199
+ - @haneullabs/haneul@1.37.1
200
+
201
+ ## 0.4.19
202
+
203
+ ### Patch Changes
204
+
205
+ - Updated dependencies [72168f0]
206
+ - @haneullabs/haneul@1.37.0
207
+
208
+ ## 0.4.18
209
+
210
+ ### Patch Changes
211
+
212
+ - Updated dependencies [44354ab]
213
+ - @haneullabs/haneul@1.36.2
214
+
215
+ ## 0.4.17
216
+
217
+ ### Patch Changes
218
+
219
+ - Updated dependencies [c76ddc5]
220
+ - @haneullabs/haneul@1.36.1
221
+
222
+ ## 0.4.16
223
+
224
+ ### Patch Changes
225
+
226
+ - 1c4a82d: update links in package.json
227
+ - Updated dependencies [1c4a82d]
228
+ - Updated dependencies [783bb9e]
229
+ - Updated dependencies [783bb9e]
230
+ - Updated dependencies [5cbbb21]
231
+ - @haneullabs/bcs@1.6.4
232
+ - @haneullabs/haneul@1.36.0
233
+
234
+ ## 0.4.15
235
+
236
+ ### Patch Changes
237
+
238
+ - Updated dependencies [888afe6]
239
+ - @haneullabs/haneul@1.35.0
240
+
241
+ ## 0.4.14
242
+
243
+ ### Patch Changes
244
+
245
+ - Updated dependencies [3fb7a83]
246
+ - @haneullabs/haneul@1.34.0
247
+
248
+ ## 0.4.13
249
+
250
+ ### Patch Changes
251
+
252
+ - Updated dependencies [a00522b]
253
+ - @haneullabs/haneul@1.33.0
254
+ - @haneullabs/bcs@1.6.3
255
+
256
+ ## 0.4.12
257
+
258
+ ### Patch Changes
259
+
260
+ - Updated dependencies [6b7deb8]
261
+ - @haneullabs/haneul@1.32.0
262
+
263
+ ## 0.4.11
264
+
265
+ ### Patch Changes
266
+
267
+ - c15d220: Use versioned key server objects
268
+ - Updated dependencies [1ff4e57]
269
+ - Updated dependencies [550e2e3]
270
+ - Updated dependencies [550e2e3]
271
+ - @haneullabs/haneul@1.31.0
272
+
273
+ ## 0.4.10
274
+
275
+ ### Patch Changes
276
+
277
+ - 5bd6ca3: Accept SealCompatibleClient for SealClient and SessionKey
278
+ - 5bd6ca3: fix(seal): throw error early if package is not first version
279
+ - Updated dependencies [5bd6ca3]
280
+ - @haneullabs/haneul@1.30.5
281
+
282
+ ## 0.4.9
283
+
284
+ ### Patch Changes
285
+
286
+ - Updated dependencies [5dce590]
287
+ - Updated dependencies [4a5aef6]
288
+ - @haneullabs/haneul@1.30.4
289
+
290
+ ## 0.4.8
291
+
292
+ ### Patch Changes
293
+
294
+ - bb7c03a: Update dependencies
295
+ - Updated dependencies [4457f10]
296
+ - Updated dependencies [bb7c03a]
297
+ - @haneullabs/haneul@1.30.3
298
+ - @haneullabs/bcs@1.6.2
299
+
300
+ ## 0.4.7
301
+
302
+ ### Patch Changes
303
+
304
+ - dc1dd67: Allow MVR names in signed message
305
+
306
+ ## 0.4.6
307
+
308
+ ### Patch Changes
309
+
310
+ - 1926114: Require suiClient in SessionKey constructor
311
+ - 83d03f2: Add optional API key to seal client
312
+ - Updated dependencies [b265f7e]
313
+ - @haneullabs/haneul@1.30.2
314
+
315
+ ## 0.4.5
316
+
317
+ ### Patch Changes
318
+
319
+ - Updated dependencies [ec519fc]
320
+ - @haneullabs/haneul@1.30.1
321
+
322
+ ## 0.4.4
323
+
324
+ ### Patch Changes
325
+
326
+ - ee1bfd8: Better handling of weighted/duplicate key servers.
327
+ - 5264038: expose ZkLoginCompatibleClient, use ZkLoginCompatibleClient for SessionKey constructor
328
+ - Updated dependencies [2456052]
329
+ - Updated dependencies [5264038]
330
+ - Updated dependencies [2456052]
331
+ - Updated dependencies [2456052]
332
+ - Updated dependencies [2456052]
333
+ - Updated dependencies [2456052]
334
+ - @haneullabs/haneul@1.30.0
335
+
336
+ ## 0.4.3
337
+
338
+ ### Patch Changes
339
+
340
+ - d3f0e8d: Export SessionKeyType
341
+
342
+ ## 0.4.2
343
+
344
+ ### Patch Changes
345
+
346
+ - Updated dependencies [7e1c525]
347
+ - @haneullabs/bcs@1.6.1
348
+ - @haneullabs/haneul@1.29.1
349
+
350
+ ## 0.4.1
351
+
352
+ ### Patch Changes
353
+
354
+ - 81f406a: Add more details to InvalidPTB error
355
+ - 7f108cb: feat(seal): add import export to session key
356
+ - Updated dependencies [7d66a32]
357
+ - Updated dependencies [eb91fba]
358
+ - Updated dependencies [19a8045]
359
+ - @haneullabs/haneul@1.29.0
360
+
361
+ ## 0.4.0
362
+
363
+ ### Minor Changes
364
+
365
+ - 9a94aea: Add experimental client extension support
366
+
367
+ ### Patch Changes
368
+
369
+ - Updated dependencies [9a94aea]
370
+ - @haneullabs/haneul@1.28.2
371
+
372
+ ## 0.3.9
373
+
374
+ ### Patch Changes
375
+
376
+ - Updated dependencies [3cd4e53]
377
+ - @haneullabs/haneul@1.28.1
378
+
379
+ ## 0.3.8
380
+
381
+ ### Patch Changes
382
+
383
+ - Updated dependencies [2705dc8]
384
+ - @haneullabs/haneul@1.28.0
385
+
386
+ ## 0.3.7
387
+
388
+ ### Patch Changes
389
+
390
+ - Updated dependencies [5cea435]
391
+ - @haneullabs/haneul@1.27.1
392
+
393
+ ## 0.3.6
394
+
395
+ ### Patch Changes
396
+
397
+ - ad8b845: Increase max session key TTL to 30 min
398
+ - Updated dependencies [4d13ef8]
399
+ - Updated dependencies [4d13ef8]
400
+ - @haneullabs/haneul@1.27.0
401
+
402
+ ## 0.3.5
403
+
404
+ ### Patch Changes
405
+
406
+ - ed7333b: Add readme
407
+
408
+ ## 0.3.4
409
+
410
+ ### Patch Changes
411
+
412
+ - 7ba32a4: update dependencies
413
+ - Updated dependencies [7ba32a4]
414
+ - Updated dependencies [c3a788c]
415
+ - @haneullabs/haneul@1.26.1
416
+ - @haneullabs/bcs@1.6.0
417
+
418
+ ## 0.3.3
419
+
420
+ ### Patch Changes
421
+
422
+ - Updated dependencies [906dd14]
423
+ - @haneullabs/haneul@1.26.0
424
+
425
+ ## 0.3.2
426
+
427
+ ### Patch Changes
428
+
429
+ - d899c1d: Expose EncryptedObject
430
+
431
+ ## 0.3.1
432
+
433
+ ### Patch Changes
434
+
435
+ - d2ef9ef: Update encryption format, and export errors
436
+
437
+ ## 0.3.0
438
+
439
+ ### Minor Changes
440
+
441
+ - ecc8b7e: New interfaces
442
+
443
+ ## 0.2.0
444
+
445
+ ### Minor Changes
446
+
447
+ - 0886b3e: export KeyServer type
448
+
449
+ ## 0.1.0
450
+
451
+ ### Minor Changes
452
+
453
+ - 8ca8df3: First publish
454
+
455
+ ### Patch Changes
456
+
457
+ - Updated dependencies [95b1ea5]
458
+ - @haneullabs/bcs@1.4.0
459
+ - @haneullabs/haneul@1.21.2
package/README.md ADDED
@@ -0,0 +1,4 @@
1
+ # `@haneullabs/seal`
2
+
3
+ See https://seal-docs.wal.app/ for information on how to use the SDK to encrypt and decrypt
4
+ sensitive data by interacting with Seal key servers.
@@ -0,0 +1,71 @@
1
+ export declare const IBEEncryptions: import("@haneullabs/bcs").BcsEnum<{
2
+ BonehFranklinBLS12381: import("@haneullabs/bcs").BcsStruct<{
3
+ nonce: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[96]">;
4
+ encryptedShares: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike>[], Iterable<Iterable<number>> & {
5
+ length: number;
6
+ }, string>;
7
+ encryptedRandomness: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[32]">;
8
+ }, string>;
9
+ }, "IBEEncryptions">;
10
+ export declare const Ciphertext: import("@haneullabs/bcs").BcsEnum<{
11
+ Aes256Gcm: import("@haneullabs/bcs").BcsStruct<{
12
+ blob: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "vector<u8>">;
13
+ aad: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike> | null, Iterable<number> | null | undefined, "Option<vector<u8>>">;
14
+ }, string>;
15
+ Hmac256Ctr: import("@haneullabs/bcs").BcsStruct<{
16
+ blob: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "vector<u8>">;
17
+ aad: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike> | null, Iterable<number> | null | undefined, "Option<vector<u8>>">;
18
+ mac: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[32]">;
19
+ }, string>;
20
+ Plain: import("@haneullabs/bcs").BcsStruct<{}, string>;
21
+ }, "Ciphertext">;
22
+ /**
23
+ * The encrypted object format. Should be aligned with the Rust implementation.
24
+ */
25
+ export declare const EncryptedObject: import("@haneullabs/bcs").BcsStruct<{
26
+ version: import("@haneullabs/bcs").BcsType<number, number, "u8">;
27
+ packageId: import("@haneullabs/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
28
+ id: import("@haneullabs/bcs").BcsType<string, string, string>;
29
+ services: import("@haneullabs/bcs").BcsType<[string, number][], Iterable<readonly [string | Uint8Array<ArrayBufferLike>, number]> & {
30
+ length: number;
31
+ }, string>;
32
+ threshold: import("@haneullabs/bcs").BcsType<number, number, "u8">;
33
+ encryptedShares: import("@haneullabs/bcs").BcsEnum<{
34
+ BonehFranklinBLS12381: import("@haneullabs/bcs").BcsStruct<{
35
+ nonce: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[96]">;
36
+ encryptedShares: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike>[], Iterable<Iterable<number>> & {
37
+ length: number;
38
+ }, string>;
39
+ encryptedRandomness: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[32]">;
40
+ }, string>;
41
+ }, "IBEEncryptions">;
42
+ ciphertext: import("@haneullabs/bcs").BcsEnum<{
43
+ Aes256Gcm: import("@haneullabs/bcs").BcsStruct<{
44
+ blob: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "vector<u8>">;
45
+ aad: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike> | null, Iterable<number> | null | undefined, "Option<vector<u8>>">;
46
+ }, string>;
47
+ Hmac256Ctr: import("@haneullabs/bcs").BcsStruct<{
48
+ blob: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "vector<u8>">;
49
+ aad: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike> | null, Iterable<number> | null | undefined, "Option<vector<u8>>">;
50
+ mac: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[32]">;
51
+ }, string>;
52
+ Plain: import("@haneullabs/bcs").BcsStruct<{}, string>;
53
+ }, "Ciphertext">;
54
+ }, string>;
55
+ /**
56
+ * The Move struct for the KeyServerV1 object.
57
+ */
58
+ export declare const KeyServerMoveV1: import("@haneullabs/bcs").BcsStruct<{
59
+ name: import("@haneullabs/bcs").BcsType<string, string, "string">;
60
+ url: import("@haneullabs/bcs").BcsType<string, string, "string">;
61
+ keyType: import("@haneullabs/bcs").BcsType<number, number, "u8">;
62
+ pk: import("@haneullabs/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "vector<u8>">;
63
+ }, string>;
64
+ /**
65
+ * The Move struct for the parent object.
66
+ */
67
+ export declare const KeyServerMove: import("@haneullabs/bcs").BcsStruct<{
68
+ id: import("@haneullabs/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
69
+ firstVersion: import("@haneullabs/bcs").BcsType<string, string | number | bigint, "u64">;
70
+ lastVersion: import("@haneullabs/bcs").BcsType<string, string | number | bigint, "u64">;
71
+ }, string>;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var bcs_exports = {};
20
+ __export(bcs_exports, {
21
+ Ciphertext: () => Ciphertext,
22
+ EncryptedObject: () => EncryptedObject,
23
+ IBEEncryptions: () => IBEEncryptions,
24
+ KeyServerMove: () => KeyServerMove,
25
+ KeyServerMoveV1: () => KeyServerMoveV1
26
+ });
27
+ module.exports = __toCommonJS(bcs_exports);
28
+ var import_bcs = require("@haneullabs/bcs");
29
+ var import_bcs2 = require("@haneullabs/haneul/bcs");
30
+ const IBEEncryptions = import_bcs2.bcs.enum("IBEEncryptions", {
31
+ BonehFranklinBLS12381: import_bcs2.bcs.struct("BonehFranklinBLS12381", {
32
+ nonce: import_bcs2.bcs.bytes(96),
33
+ encryptedShares: import_bcs2.bcs.vector(import_bcs2.bcs.bytes(32)),
34
+ encryptedRandomness: import_bcs2.bcs.bytes(32)
35
+ })
36
+ });
37
+ const Ciphertext = import_bcs2.bcs.enum("Ciphertext", {
38
+ Aes256Gcm: import_bcs2.bcs.struct("Aes256Gcm", {
39
+ blob: import_bcs2.bcs.byteVector(),
40
+ aad: import_bcs2.bcs.option(import_bcs2.bcs.byteVector())
41
+ }),
42
+ Hmac256Ctr: import_bcs2.bcs.struct("Hmac256Ctr", {
43
+ blob: import_bcs2.bcs.byteVector(),
44
+ aad: import_bcs2.bcs.option(import_bcs2.bcs.byteVector()),
45
+ mac: import_bcs2.bcs.bytes(32)
46
+ }),
47
+ Plain: import_bcs2.bcs.struct("Plain", {})
48
+ });
49
+ const EncryptedObject = import_bcs2.bcs.struct("EncryptedObject", {
50
+ version: import_bcs2.bcs.u8(),
51
+ packageId: import_bcs2.bcs.Address,
52
+ id: import_bcs2.bcs.byteVector().transform({
53
+ output: (val) => (0, import_bcs.toHex)(val),
54
+ input: (val) => (0, import_bcs.fromHex)(val)
55
+ }),
56
+ services: import_bcs2.bcs.vector(import_bcs2.bcs.tuple([import_bcs2.bcs.Address, import_bcs2.bcs.u8()])),
57
+ threshold: import_bcs2.bcs.u8(),
58
+ encryptedShares: IBEEncryptions,
59
+ ciphertext: Ciphertext
60
+ });
61
+ const KeyServerMoveV1 = import_bcs2.bcs.struct("KeyServerV1", {
62
+ name: import_bcs2.bcs.string(),
63
+ url: import_bcs2.bcs.string(),
64
+ keyType: import_bcs2.bcs.u8(),
65
+ pk: import_bcs2.bcs.byteVector()
66
+ });
67
+ const KeyServerMove = import_bcs2.bcs.struct("KeyServer", {
68
+ id: import_bcs2.bcs.Address,
69
+ firstVersion: import_bcs2.bcs.u64(),
70
+ // latest version
71
+ lastVersion: import_bcs2.bcs.u64()
72
+ // oldest version
73
+ });
74
+ //# sourceMappingURL=bcs.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/bcs.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromHex, toHex } from '@haneullabs/bcs';\nimport { bcs } from '@haneullabs/haneul/bcs';\n\nexport const IBEEncryptions = bcs.enum('IBEEncryptions', {\n\tBonehFranklinBLS12381: bcs.struct('BonehFranklinBLS12381', {\n\t\tnonce: bcs.bytes(96),\n\t\tencryptedShares: bcs.vector(bcs.bytes(32)),\n\t\tencryptedRandomness: bcs.bytes(32),\n\t}),\n});\n\nexport const Ciphertext = bcs.enum('Ciphertext', {\n\tAes256Gcm: bcs.struct('Aes256Gcm', {\n\t\tblob: bcs.byteVector(),\n\t\taad: bcs.option(bcs.byteVector()),\n\t}),\n\tHmac256Ctr: bcs.struct('Hmac256Ctr', {\n\t\tblob: bcs.byteVector(),\n\t\taad: bcs.option(bcs.byteVector()),\n\t\tmac: bcs.bytes(32),\n\t}),\n\tPlain: bcs.struct('Plain', {}),\n});\n\n/**\n * The encrypted object format. Should be aligned with the Rust implementation.\n */\nexport const EncryptedObject = bcs.struct('EncryptedObject', {\n\tversion: bcs.u8(),\n\tpackageId: bcs.Address,\n\tid: bcs.byteVector().transform({\n\t\toutput: (val) => toHex(val),\n\t\tinput: (val: string) => fromHex(val),\n\t}),\n\tservices: bcs.vector(bcs.tuple([bcs.Address, bcs.u8()])),\n\tthreshold: bcs.u8(),\n\tencryptedShares: IBEEncryptions,\n\tciphertext: Ciphertext,\n});\n\n/**\n * The Move struct for the KeyServerV1 object.\n */\nexport const KeyServerMoveV1 = bcs.struct('KeyServerV1', {\n\tname: bcs.string(),\n\turl: bcs.string(),\n\tkeyType: bcs.u8(),\n\tpk: bcs.byteVector(),\n});\n\n/**\n * The Move struct for the parent object.\n */\nexport const KeyServerMove = bcs.struct('KeyServer', {\n\tid: bcs.Address,\n\tfirstVersion: bcs.u64(), // latest version\n\tlastVersion: bcs.u64(), // oldest version\n});\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,iBAA+B;AAC/B,IAAAA,cAAoB;AAEb,MAAM,iBAAiB,gBAAI,KAAK,kBAAkB;AAAA,EACxD,uBAAuB,gBAAI,OAAO,yBAAyB;AAAA,IAC1D,OAAO,gBAAI,MAAM,EAAE;AAAA,IACnB,iBAAiB,gBAAI,OAAO,gBAAI,MAAM,EAAE,CAAC;AAAA,IACzC,qBAAqB,gBAAI,MAAM,EAAE;AAAA,EAClC,CAAC;AACF,CAAC;AAEM,MAAM,aAAa,gBAAI,KAAK,cAAc;AAAA,EAChD,WAAW,gBAAI,OAAO,aAAa;AAAA,IAClC,MAAM,gBAAI,WAAW;AAAA,IACrB,KAAK,gBAAI,OAAO,gBAAI,WAAW,CAAC;AAAA,EACjC,CAAC;AAAA,EACD,YAAY,gBAAI,OAAO,cAAc;AAAA,IACpC,MAAM,gBAAI,WAAW;AAAA,IACrB,KAAK,gBAAI,OAAO,gBAAI,WAAW,CAAC;AAAA,IAChC,KAAK,gBAAI,MAAM,EAAE;AAAA,EAClB,CAAC;AAAA,EACD,OAAO,gBAAI,OAAO,SAAS,CAAC,CAAC;AAC9B,CAAC;AAKM,MAAM,kBAAkB,gBAAI,OAAO,mBAAmB;AAAA,EAC5D,SAAS,gBAAI,GAAG;AAAA,EAChB,WAAW,gBAAI;AAAA,EACf,IAAI,gBAAI,WAAW,EAAE,UAAU;AAAA,IAC9B,QAAQ,CAAC,YAAQ,kBAAM,GAAG;AAAA,IAC1B,OAAO,CAAC,YAAgB,oBAAQ,GAAG;AAAA,EACpC,CAAC;AAAA,EACD,UAAU,gBAAI,OAAO,gBAAI,MAAM,CAAC,gBAAI,SAAS,gBAAI,GAAG,CAAC,CAAC,CAAC;AAAA,EACvD,WAAW,gBAAI,GAAG;AAAA,EAClB,iBAAiB;AAAA,EACjB,YAAY;AACb,CAAC;AAKM,MAAM,kBAAkB,gBAAI,OAAO,eAAe;AAAA,EACxD,MAAM,gBAAI,OAAO;AAAA,EACjB,KAAK,gBAAI,OAAO;AAAA,EAChB,SAAS,gBAAI,GAAG;AAAA,EAChB,IAAI,gBAAI,WAAW;AACpB,CAAC;AAKM,MAAM,gBAAgB,gBAAI,OAAO,aAAa;AAAA,EACpD,IAAI,gBAAI;AAAA,EACR,cAAc,gBAAI,IAAI;AAAA;AAAA,EACtB,aAAa,gBAAI,IAAI;AAAA;AACtB,CAAC;",
6
+ "names": ["import_bcs"]
7
+ }
@@ -0,0 +1,44 @@
1
+ import type { Fp2, Fp12 } from '@noble/curves/abstract/tower';
2
+ import type { WeierstrassPoint } from '@noble/curves/abstract/weierstrass';
3
+ export declare class G1Element {
4
+ point: WeierstrassPoint<bigint>;
5
+ static readonly SIZE = 48;
6
+ constructor(point: WeierstrassPoint<bigint>);
7
+ static generator(): G1Element;
8
+ static fromBytes(bytes: Uint8Array): G1Element;
9
+ toBytes(): Uint8Array<ArrayBuffer>;
10
+ multiply(scalar: Scalar): G1Element;
11
+ add(other: G1Element): G1Element;
12
+ subtract(other: G1Element): G1Element;
13
+ static hashToCurve(data: Uint8Array): G1Element;
14
+ pairing(other: G2Element): GTElement;
15
+ }
16
+ export declare class G2Element {
17
+ point: WeierstrassPoint<Fp2>;
18
+ static readonly SIZE = 96;
19
+ constructor(point: WeierstrassPoint<Fp2>);
20
+ static generator(): G2Element;
21
+ static fromBytes(bytes: Uint8Array): G2Element;
22
+ toBytes(): Uint8Array<ArrayBuffer>;
23
+ multiply(scalar: Scalar): G2Element;
24
+ add(other: G2Element): G2Element;
25
+ static hashToCurve(data: Uint8Array): G2Element;
26
+ equals(other: G2Element): boolean;
27
+ }
28
+ export declare class GTElement {
29
+ element: Fp12;
30
+ static readonly SIZE = 576;
31
+ constructor(element: Fp12);
32
+ toBytes(): Uint8Array<ArrayBuffer>;
33
+ equals(other: GTElement): boolean;
34
+ }
35
+ export declare class Scalar {
36
+ scalar: bigint;
37
+ static readonly SIZE = 32;
38
+ constructor(scalar: bigint);
39
+ static fromBigint(scalar: bigint): Scalar;
40
+ static random(): Scalar;
41
+ toBytes(): Uint8Array;
42
+ static fromBytes(bytes: Uint8Array): Scalar;
43
+ static fromBytesLE(bytes: Uint8Array): Scalar;
44
+ }