@nuggetslife/vc-rn 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 (137) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +31 -0
  3. package/android/build.gradle +101 -0
  4. package/android/gradle.properties +5 -0
  5. package/android/src/main/AndroidManifest.xml +3 -0
  6. package/android/src/main/AndroidManifestNew.xml +2 -0
  7. package/android/src/main/java/com/nuggetslife/bindings/vc/vc.kt +673 -0
  8. package/android/src/main/java/com/nuggetslife/vc/VcModule.kt +30 -0
  9. package/android/src/main/java/com/nuggetslife/vc/VcPackage.kt +17 -0
  10. package/android/src/main/jniLibs/arm64-v8a/libvc.so +0 -0
  11. package/android/src/main/jniLibs/armeabi-v7a/libvc.so +0 -0
  12. package/android/src/main/jniLibs/x86/libvc.so +0 -0
  13. package/android/src/main/jniLibs/x86_64/libvc.so +0 -0
  14. package/ios/Vc-Bridging-Header.h +2 -0
  15. package/ios/VcModule.mm +14 -0
  16. package/ios/VcModule.swift +23 -0
  17. package/ios/vc.swift +446 -0
  18. package/ios/vc.xcframework/Info.plist +48 -0
  19. package/ios/vc.xcframework/ios-arm64/Headers/module.modulemap +6 -0
  20. package/ios/vc.xcframework/ios-arm64/Headers/vcFFI.h +174 -0
  21. package/ios/vc.xcframework/ios-arm64/libvc.a +0 -0
  22. package/ios/vc.xcframework/ios-arm64_x86_64-simulator/Headers/module.modulemap +6 -0
  23. package/ios/vc.xcframework/ios-arm64_x86_64-simulator/Headers/vcFFI.h +174 -0
  24. package/ios/vc.xcframework/ios-arm64_x86_64-simulator/libvc.a +0 -0
  25. package/ios/vcFFI.h +174 -0
  26. package/lib/commonjs/Bls12381G2KeyPair.js +405 -0
  27. package/lib/commonjs/Bls12381G2KeyPair.js.map +1 -0
  28. package/lib/commonjs/index.d.js +18 -0
  29. package/lib/commonjs/index.d.js.map +1 -0
  30. package/lib/commonjs/index.js +20 -0
  31. package/lib/commonjs/index.js.map +1 -0
  32. package/lib/commonjs/types/BlsCurveName.js +14 -0
  33. package/lib/commonjs/types/BlsCurveName.js.map +1 -0
  34. package/lib/commonjs/types/GenerateKeyPairOptions.js +2 -0
  35. package/lib/commonjs/types/GenerateKeyPairOptions.js.map +1 -0
  36. package/lib/commonjs/types/JsonWebKey.js +2 -0
  37. package/lib/commonjs/types/JsonWebKey.js.map +1 -0
  38. package/lib/commonjs/types/JwkKeyPairOptions.js +6 -0
  39. package/lib/commonjs/types/JwkKeyPairOptions.js.map +1 -0
  40. package/lib/commonjs/types/JwkKty.js +13 -0
  41. package/lib/commonjs/types/JwkKty.js.map +1 -0
  42. package/lib/commonjs/types/KeyPairOptions.js +2 -0
  43. package/lib/commonjs/types/KeyPairOptions.js.map +1 -0
  44. package/lib/commonjs/types/KeyPairSigner.js +2 -0
  45. package/lib/commonjs/types/KeyPairSigner.js.map +1 -0
  46. package/lib/commonjs/types/KeyPairVerifier.js +2 -0
  47. package/lib/commonjs/types/KeyPairVerifier.js.map +1 -0
  48. package/lib/commonjs/types/index.js +20 -0
  49. package/lib/commonjs/types/index.js.map +1 -0
  50. package/lib/commonjs/utils/codec.js +22 -0
  51. package/lib/commonjs/utils/codec.js.map +1 -0
  52. package/lib/commonjs/utils/index.js +19 -0
  53. package/lib/commonjs/utils/index.js.map +1 -0
  54. package/lib/commonjs/validators/Bls12381G2Jwk.js +19 -0
  55. package/lib/commonjs/validators/Bls12381G2Jwk.js.map +1 -0
  56. package/lib/commonjs/validators/JsonWebKey.js +27 -0
  57. package/lib/commonjs/validators/JsonWebKey.js.map +1 -0
  58. package/lib/module/Bls12381G2KeyPair.js +398 -0
  59. package/lib/module/Bls12381G2KeyPair.js.map +1 -0
  60. package/lib/module/index.d.js +9 -0
  61. package/lib/module/index.d.js.map +1 -0
  62. package/lib/module/index.js +14 -0
  63. package/lib/module/index.js.map +1 -0
  64. package/lib/module/types/BlsCurveName.js +8 -0
  65. package/lib/module/types/BlsCurveName.js.map +1 -0
  66. package/lib/module/types/GenerateKeyPairOptions.js +2 -0
  67. package/lib/module/types/GenerateKeyPairOptions.js.map +1 -0
  68. package/lib/module/types/JsonWebKey.js +2 -0
  69. package/lib/module/types/JsonWebKey.js.map +1 -0
  70. package/lib/module/types/JwkKeyPairOptions.js +2 -0
  71. package/lib/module/types/JwkKeyPairOptions.js.map +1 -0
  72. package/lib/module/types/JwkKty.js +7 -0
  73. package/lib/module/types/JwkKty.js.map +1 -0
  74. package/lib/module/types/KeyPairOptions.js +2 -0
  75. package/lib/module/types/KeyPairOptions.js.map +1 -0
  76. package/lib/module/types/KeyPairSigner.js +2 -0
  77. package/lib/module/types/KeyPairSigner.js.map +1 -0
  78. package/lib/module/types/KeyPairVerifier.js +2 -0
  79. package/lib/module/types/KeyPairVerifier.js.map +1 -0
  80. package/lib/module/types/index.js +3 -0
  81. package/lib/module/types/index.js.map +1 -0
  82. package/lib/module/utils/codec.js +13 -0
  83. package/lib/module/utils/codec.js.map +1 -0
  84. package/lib/module/utils/index.js +2 -0
  85. package/lib/module/utils/index.js.map +1 -0
  86. package/lib/module/validators/Bls12381G2Jwk.js +11 -0
  87. package/lib/module/validators/Bls12381G2Jwk.js.map +1 -0
  88. package/lib/module/validators/JsonWebKey.js +19 -0
  89. package/lib/module/validators/JsonWebKey.js.map +1 -0
  90. package/lib/typescript/src/Bls12381G2KeyPair.d.ts +104 -0
  91. package/lib/typescript/src/Bls12381G2KeyPair.d.ts.map +1 -0
  92. package/lib/typescript/src/index.d.ts +2 -0
  93. package/lib/typescript/src/index.d.ts.map +1 -0
  94. package/lib/typescript/src/types/BlsCurveName.d.ts +7 -0
  95. package/lib/typescript/src/types/BlsCurveName.d.ts.map +1 -0
  96. package/lib/typescript/src/types/GenerateKeyPairOptions.d.ts +18 -0
  97. package/lib/typescript/src/types/GenerateKeyPairOptions.d.ts.map +1 -0
  98. package/lib/typescript/src/types/JsonWebKey.d.ts +60 -0
  99. package/lib/typescript/src/types/JsonWebKey.d.ts.map +1 -0
  100. package/lib/typescript/src/types/JwkKeyPairOptions.d.ts +23 -0
  101. package/lib/typescript/src/types/JwkKeyPairOptions.d.ts.map +1 -0
  102. package/lib/typescript/src/types/JwkKty.d.ts +6 -0
  103. package/lib/typescript/src/types/JwkKty.d.ts.map +1 -0
  104. package/lib/typescript/src/types/KeyPairOptions.d.ts +22 -0
  105. package/lib/typescript/src/types/KeyPairOptions.d.ts.map +1 -0
  106. package/lib/typescript/src/types/KeyPairSigner.d.ts +7 -0
  107. package/lib/typescript/src/types/KeyPairSigner.d.ts.map +1 -0
  108. package/lib/typescript/src/types/KeyPairVerifier.d.ts +8 -0
  109. package/lib/typescript/src/types/KeyPairVerifier.d.ts.map +1 -0
  110. package/lib/typescript/src/types/index.d.ts +9 -0
  111. package/lib/typescript/src/types/index.d.ts.map +1 -0
  112. package/lib/typescript/src/utils/codec.d.ts +3 -0
  113. package/lib/typescript/src/utils/codec.d.ts.map +1 -0
  114. package/lib/typescript/src/utils/index.d.ts +2 -0
  115. package/lib/typescript/src/utils/index.d.ts.map +1 -0
  116. package/lib/typescript/src/validators/Bls12381G2Jwk.d.ts +4 -0
  117. package/lib/typescript/src/validators/Bls12381G2Jwk.d.ts.map +1 -0
  118. package/lib/typescript/src/validators/JsonWebKey.d.ts +4 -0
  119. package/lib/typescript/src/validators/JsonWebKey.d.ts.map +1 -0
  120. package/nuggetslife-vc.podspec +42 -0
  121. package/package.json +164 -0
  122. package/src/Bls12381G2KeyPair.ts +447 -0
  123. package/src/index.d.ts +126 -0
  124. package/src/index.tsx +22 -0
  125. package/src/types/BlsCurveName.ts +6 -0
  126. package/src/types/GenerateKeyPairOptions.ts +17 -0
  127. package/src/types/JsonWebKey.ts +68 -0
  128. package/src/types/JwkKeyPairOptions.ts +24 -0
  129. package/src/types/JwkKty.ts +5 -0
  130. package/src/types/KeyPairOptions.ts +21 -0
  131. package/src/types/KeyPairSigner.ts +6 -0
  132. package/src/types/KeyPairVerifier.ts +8 -0
  133. package/src/types/index.ts +8 -0
  134. package/src/utils/codec.ts +12 -0
  135. package/src/utils/index.ts +1 -0
  136. package/src/validators/Bls12381G2Jwk.ts +21 -0
  137. package/src/validators/JsonWebKey.ts +28 -0
@@ -0,0 +1,405 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Bls12381G2KeyPair = void 0;
7
+ var _ = require(".");
8
+ var _bs = _interopRequireDefault(require("bs58"));
9
+ var _Bls12381G2Jwk = require("./validators/Bls12381G2Jwk");
10
+ var _utils = require("./utils");
11
+ var _types = require("./types");
12
+ var _rfc = require("rfc4648");
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ /**
15
+ * z represents the multibase encoding scheme of base58 encoding
16
+ * @see https://github.com/multiformats/multibase/blob/master/multibase.csv#L18
17
+ * @ignore
18
+ */
19
+ const MULTIBASE_ENCODED_BASE58_IDENTIFIER = 'z';
20
+
21
+ /**
22
+ * 0x01 indicates the end of the leading bytes according to variable integer spec
23
+ * @see https://github.com/multiformats/multicodec
24
+ * @ignore
25
+ */
26
+ const VARIABLE_INTEGER_TRAILING_BYTE = 0x01;
27
+
28
+ /**
29
+ * 0xeb indicates a BLS 12-381 G2 public key
30
+ *
31
+ */
32
+ const BLS12381G2_MULTICODEC_IDENTIFIER = 0xeb;
33
+ const DEFAULT_BLS12381_G2_PUBLIC_KEY_LENGTH = 96;
34
+
35
+ /**
36
+ * Returns an object with an async sign function for producing BBS+ signatures.
37
+ * The sign function is bound to the KeyPair
38
+ * and then returned by the KeyPair's signer method.
39
+ * @param key - A Bls12381G2KeyPair.
40
+ *
41
+ * @returns An object with an async function sign
42
+ * using the private key passed in.
43
+ */
44
+
45
+ const signerFactory = key => {
46
+ if (!key.privateKeyInner) {
47
+ return {
48
+ async sign() {
49
+ throw new Error('No private key to sign with.');
50
+ }
51
+ };
52
+ }
53
+ return {
54
+ async sign({
55
+ data
56
+ }) {
57
+ const messages = data.map(m => _bs.default.encode(m));
58
+ let sig_bs58 = await (0, _.vc_facade)('bls_sign', JSON.stringify({
59
+ messages,
60
+ keyPair: {
61
+ secretKey: key.privateKey,
62
+ publicKey: key.publicKey
63
+ }
64
+ }));
65
+ return _bs.default.decode(sig_bs58);
66
+ }
67
+ };
68
+ };
69
+
70
+ /**
71
+ * @ignore
72
+ * Returns an object with an async verify function for verifying BBS+ signatures.
73
+ * The verify function is bound to the KeyPair
74
+ * and then returned by the KeyPair's verifier method.
75
+ * @param key - A Bls12381G2KeyPair.
76
+ *
77
+ * @returns An async verifier specific
78
+ * to the key passed in.
79
+ */
80
+ const verifierFactory = key => {
81
+ if (!key.publicKeyInner) {
82
+ return {
83
+ async verify() {
84
+ throw new Error('No public key to verify with.');
85
+ }
86
+ };
87
+ }
88
+ return {
89
+ async verify({
90
+ data,
91
+ signature
92
+ }) {
93
+ const messages = data.map(m => _bs.default.encode(m));
94
+ const sig_bs58 = _bs.default.encode(signature);
95
+ let res = await (0, _.vc_facade)('bls_verify', JSON.stringify({
96
+ messages,
97
+ publicKey: key.publicKey,
98
+ signature: sig_bs58
99
+ }));
100
+ return JSON.parse(res);
101
+ }
102
+ };
103
+ };
104
+ class Bls12381G2KeyPair {
105
+ type = 'Bls12381G2Key2020';
106
+ constructor(options) {
107
+ var _options$publicKeyBas, _options$publicKeyBas2;
108
+ /**
109
+ * The provided publicKey needs to be 384 bits / 5.85 = 65.6
110
+ * which means the base58 encoded publicKey can be either 65 or 66 chars
111
+ * 5.85 = log base 2 (58) which is equivalent to the number of bits
112
+ * encoded per character of a base58 encoded string.
113
+ *
114
+ */
115
+ if ((options === null || options === void 0 || (_options$publicKeyBas = options.publicKeyBase58) === null || _options$publicKeyBas === void 0 ? void 0 : _options$publicKeyBas.length) !== 131 && (options === null || options === void 0 || (_options$publicKeyBas2 = options.publicKeyBase58) === null || _options$publicKeyBas2 === void 0 ? void 0 : _options$publicKeyBas2.length) !== 132) {
116
+ var _options$publicKeyBas3;
117
+ throw new Error(`The size of the public key is incorrect. Expected 131 or 132 chars got: ${options === null || options === void 0 || (_options$publicKeyBas3 = options.publicKeyBase58) === null || _options$publicKeyBas3 === void 0 ? void 0 : _options$publicKeyBas3.length}`);
118
+ }
119
+
120
+ /**
121
+ * Validates the size of the private key if one is included
122
+ * This is done by 256 bits / 5.85 = 43.7 which means
123
+ * the base58 encoded privateKey can be either 43 or 44 chars
124
+ */
125
+ if (typeof options.privateKeyBase58 !== 'undefined' && options.privateKeyBase58.length !== 43 && options.privateKeyBase58.length !== 44) {
126
+ throw new Error(`The size of the private key is incorrect. Expected 65 or 66 chars got: ${options.privateKeyBase58.length}`);
127
+ }
128
+ this.id = options.id;
129
+ this.controller = options.controller;
130
+ this.privateKeyInner = options.privateKeyBase58 ? Array.from(_bs.default.decode(options.privateKeyBase58)) : undefined;
131
+ this.publicKeyInner = Array.from(_bs.default.decode(options.publicKeyBase58));
132
+ //TODO assert if key pair is the wrong length?
133
+ }
134
+ /**
135
+ * Generates a BLS 12-381 key pair
136
+ * @param options [Optional] options for the key pair generation
137
+ *
138
+ * @returns A BLS 12-381 key pair
139
+ */
140
+ static async generate(options) {
141
+ const res = options !== null && options !== void 0 && options.seed ? await (0, _.vc_facade)('bls_generate_g2_key', JSON.stringify({
142
+ seed: _bs.default.encode(options.seed)
143
+ })) : await (0, _.vc_facade)('bls_generate_g2_key', JSON.stringify({}));
144
+ const keyPair = JSON.parse(res);
145
+ return new Bls12381G2KeyPair({
146
+ ...options,
147
+ privateKeyBase58: keyPair.secretKey,
148
+ publicKeyBase58: keyPair.publicKey
149
+ });
150
+ }
151
+ /**
152
+ * Constructs a BLS 12-381 key pair from options
153
+ * @param options [Optional] options for key pair
154
+ *
155
+ * @returns A BLS 12-381 key pair
156
+ */
157
+ static async from(options) {
158
+ return new Bls12381G2KeyPair(options);
159
+ }
160
+ /**
161
+ * Constructs a BLS 12-381 key pair from options
162
+ * @param options [Optional] options for key pair
163
+ *
164
+ * @returns A BLS 12-381 G2 key pair
165
+ */
166
+ static async fromJwk(options) {
167
+ const {
168
+ id,
169
+ controller,
170
+ publicKeyJwk,
171
+ privateKeyJwk
172
+ } = options;
173
+ if (typeof privateKeyJwk !== 'undefined' &&
174
+ /**
175
+ * The type casting is verified through the use of this assert function
176
+ * However because the returned interface leaves the properties as optional
177
+ * they need to be cast to pass to the convert function.
178
+ **/
179
+ (0, _Bls12381G2Jwk.assertBls12381G2PrivateJwk)(privateKeyJwk)) {
180
+ return new Bls12381G2KeyPair({
181
+ id,
182
+ controller,
183
+ publicKeyBase58: (0, _utils.convertBase64urlToBase58)(privateKeyJwk.x),
184
+ privateKeyBase58: (0, _utils.convertBase64urlToBase58)(privateKeyJwk.d)
185
+ });
186
+ }
187
+ if ((0, _Bls12381G2Jwk.assertBls12381G2PublicJwk)(publicKeyJwk)) {
188
+ return new Bls12381G2KeyPair({
189
+ id,
190
+ controller,
191
+ publicKeyBase58: (0, _utils.convertBase64urlToBase58)(publicKeyJwk.x)
192
+ });
193
+ }
194
+ throw Error('The JWK provided is not a valid');
195
+ }
196
+ /**
197
+ * Constructs a BLS 12-381 key pair from a public key fingerprint
198
+ * @param fingerprint [Optional] public key fingerprint
199
+ *
200
+ * TODO this interface needs to be refactored, there should be no
201
+ * hard coded notion of DIDs at this layer
202
+ *
203
+ * @returns A BLS 12-381 key pair
204
+ */
205
+ static fromFingerprint({
206
+ id,
207
+ controller,
208
+ fingerprint
209
+ }) {
210
+ if (fingerprint.substr(0, 1) != MULTIBASE_ENCODED_BASE58_IDENTIFIER) {
211
+ throw new Error(`Unsupported fingerprint type: expected first character to be \`z\` indicating base58 encoding, received \`${fingerprint.substr(0, 1)}\``);
212
+ }
213
+
214
+ // parse of the multi-format public key removing the `z` that indicates base58 encoding
215
+ const buffer = _bs.default.decode(fingerprint.substr(1));
216
+ if (buffer.length !== DEFAULT_BLS12381_G2_PUBLIC_KEY_LENGTH + 2) {
217
+ throw new Error(`Unsupported public key length: expected \`${DEFAULT_BLS12381_G2_PUBLIC_KEY_LENGTH}\` received \`${buffer.length - 2}\``);
218
+ }
219
+ if (buffer[0] !== BLS12381G2_MULTICODEC_IDENTIFIER) {
220
+ throw new Error(`Unsupported public key identifier: expected second character to be \`${BLS12381G2_MULTICODEC_IDENTIFIER}\` indicating BLS12381G2 key pair, received \`${buffer[0]}\``);
221
+ }
222
+ if (buffer[1] !== VARIABLE_INTEGER_TRAILING_BYTE) {
223
+ throw new Error(`Missing variable integer trailing byte: expected third character to be \`${VARIABLE_INTEGER_TRAILING_BYTE}\` indicating trailing integer, received \`${buffer[1]}\``);
224
+ }
225
+ const publicKeyBase58 = _bs.default.encode(buffer.slice(2));
226
+
227
+ //Defaults the controller to a DID key based controller
228
+ if (!controller) {
229
+ controller = `did:key:${Bls12381G2KeyPair.fingerprintFromPublicKey({
230
+ publicKeyBase58
231
+ })}`;
232
+ }
233
+
234
+ //Defaults the id to the did key based fragment
235
+ if (!id) {
236
+ id = `#${Bls12381G2KeyPair.fingerprintFromPublicKey({
237
+ publicKeyBase58
238
+ })}`;
239
+ }
240
+ return new Bls12381G2KeyPair({
241
+ id,
242
+ controller,
243
+ publicKeyBase58
244
+ });
245
+ }
246
+
247
+ /**
248
+ * Returns the base58 encoded public key.
249
+ *
250
+ * @returns The base58 encoded public key.
251
+ */
252
+ get publicKey() {
253
+ return _bs.default.encode(this.publicKeyBuffer);
254
+ }
255
+
256
+ /**
257
+ * Returns the JWK structured public key.
258
+ *
259
+ * @returns The JWK public key.
260
+ */
261
+ get publicKeyJwk() {
262
+ return {
263
+ kid: this.id,
264
+ kty: 'EC',
265
+ crv: _types.BlsCurveName.G2,
266
+ x: _rfc.base64url.stringify(this.publicKeyBuffer, {
267
+ pad: false
268
+ })
269
+ };
270
+ }
271
+
272
+ /**
273
+ * Returns the base58 encoded private key.
274
+ *
275
+ * @returns The base58 encoded private key.
276
+ */
277
+ get privateKey() {
278
+ if (this.privateKeyInner) {
279
+ return _bs.default.encode(this.privateKeyBuffer);
280
+ }
281
+ return undefined;
282
+ }
283
+
284
+ /**
285
+ * Returns the JWK formatted private key.
286
+ *
287
+ * @returns The JWK formatted private key.
288
+ */
289
+ get privateKeyJwk() {
290
+ if (this.privateKeyInner) {
291
+ return {
292
+ kid: this.id,
293
+ kty: 'EC',
294
+ crv: _types.BlsCurveName.G2,
295
+ x: _rfc.base64url.stringify(this.publicKeyBuffer, {
296
+ pad: false
297
+ }),
298
+ d: _rfc.base64url.stringify(this.privateKeyBuffer, {
299
+ pad: false
300
+ })
301
+ };
302
+ }
303
+ return undefined;
304
+ }
305
+
306
+ /**
307
+ * Adds a public key base to a public key node.
308
+ *
309
+ * @param publicKeyNode - The public key node.
310
+ * @param publicKeyNode.publicKeyBase58 - Base58 public key.
311
+ *
312
+ * @returns A PublicKeyNode in a block.
313
+ */
314
+ addEncodedPublicKey(publicKeyNode) {
315
+ publicKeyNode.publicKeyBase58 = this.publicKey;
316
+ return publicKeyNode;
317
+ }
318
+ get publicKeyBuffer() {
319
+ return Buffer.from(this.publicKeyInner ?? []);
320
+ }
321
+ get privateKeyBuffer() {
322
+ return Buffer.from(this.privateKeyInner ?? []);
323
+ }
324
+
325
+ /**
326
+ * Returns a signer object for use with jsonld-signatures.
327
+ *
328
+ * @returns {{sign: Function}} A signer for the json-ld block.
329
+ */
330
+ signer() {
331
+ return signerFactory(this);
332
+ }
333
+
334
+ /**
335
+ * Returns a verifier object for use with jsonld-signatures.
336
+ *
337
+ * @returns {{verify: Function}} Used to verify jsonld-signatures.
338
+ */
339
+ verifier() {
340
+ return verifierFactory(this);
341
+ }
342
+
343
+ /**
344
+ * Generates and returns a public key fingerprint.
345
+ *
346
+ * @returns The fingerprint.
347
+ */
348
+ fingerprint() {
349
+ const publicKeyBase58 = this.publicKey;
350
+ return Bls12381G2KeyPair.fingerprintFromPublicKey({
351
+ publicKeyBase58
352
+ });
353
+ }
354
+ static fingerprintFromPublicKey({
355
+ publicKeyBase58
356
+ }) {
357
+ const keyBytes = _bs.default.decode(publicKeyBase58);
358
+ const buffer = new Uint8Array(2 + keyBytes.length);
359
+ buffer[0] = BLS12381G2_MULTICODEC_IDENTIFIER;
360
+ buffer[1] = VARIABLE_INTEGER_TRAILING_BYTE;
361
+ buffer.set(keyBytes, 2);
362
+ return `${MULTIBASE_ENCODED_BASE58_IDENTIFIER}${_bs.default.encode(buffer)}`;
363
+ }
364
+ /**
365
+ * Verifies whether the fingerprint was generated from a given key pair.
366
+ *
367
+ * @param fingerprint - A Base58 public key.
368
+ *
369
+ * @returns An object indicating valid is true or false.
370
+ */
371
+ verifyFingerprint(fingerprint) {
372
+ // fingerprint should have `z` prefix indicating
373
+ // that it's multi-base encoded
374
+ if (!(typeof fingerprint === 'string' && fingerprint[0] === MULTIBASE_ENCODED_BASE58_IDENTIFIER)) {
375
+ return {
376
+ error: new Error('`fingerprint` must be a multibase encoded string.'),
377
+ valid: false
378
+ };
379
+ }
380
+ let fingerprintBuffer;
381
+ try {
382
+ fingerprintBuffer = _bs.default.decode(fingerprint.slice(1));
383
+ } catch (e) {
384
+ return {
385
+ error: e,
386
+ valid: false
387
+ };
388
+ }
389
+ const publicKeyBuffer = this.publicKeyBuffer;
390
+
391
+ // validate the first two multicodec bytes 0xeb01
392
+ const valid = (0, _utils.uint8ArrayToHexString)(fingerprintBuffer.slice(0, 2)) === 'eb01' && publicKeyBuffer.equals(fingerprintBuffer.slice(2));
393
+ if (!valid) {
394
+ return {
395
+ error: new Error('The fingerprint does not match the public key.'),
396
+ valid: false
397
+ };
398
+ }
399
+ return {
400
+ valid
401
+ };
402
+ }
403
+ }
404
+ exports.Bls12381G2KeyPair = Bls12381G2KeyPair;
405
+ //# sourceMappingURL=Bls12381G2KeyPair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_","require","_bs","_interopRequireDefault","_Bls12381G2Jwk","_utils","_types","_rfc","e","__esModule","default","MULTIBASE_ENCODED_BASE58_IDENTIFIER","VARIABLE_INTEGER_TRAILING_BYTE","BLS12381G2_MULTICODEC_IDENTIFIER","DEFAULT_BLS12381_G2_PUBLIC_KEY_LENGTH","signerFactory","key","privateKeyInner","sign","Error","data","messages","map","m","bs58","encode","sig_bs58","vc_facade","JSON","stringify","keyPair","secretKey","privateKey","publicKey","decode","verifierFactory","publicKeyInner","verify","signature","res","parse","Bls12381G2KeyPair","type","constructor","options","_options$publicKeyBas","_options$publicKeyBas2","publicKeyBase58","length","_options$publicKeyBas3","privateKeyBase58","id","controller","Array","from","undefined","generate","seed","fromJwk","publicKeyJwk","privateKeyJwk","assertBls12381G2PrivateJwk","convertBase64urlToBase58","x","d","assertBls12381G2PublicJwk","fromFingerprint","fingerprint","substr","buffer","slice","fingerprintFromPublicKey","publicKeyBuffer","kid","kty","crv","BlsCurveName","G2","base64url","pad","privateKeyBuffer","addEncodedPublicKey","publicKeyNode","Buffer","signer","verifier","keyBytes","Uint8Array","set","verifyFingerprint","error","valid","fingerprintBuffer","uint8ArrayToHexString","equals","exports"],"sourceRoot":"../../src","sources":["Bls12381G2KeyPair.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.KeyPairVerifier = exports.KeyPairSigner = exports.Bls12381G2KeyPair = void 0;
7
+ /* tslint:disable */
8
+ /* eslint-disable */
9
+
10
+ /* auto-generated by NAPI-RS */
11
+
12
+ class Bls12381G2KeyPair {}
13
+ exports.Bls12381G2KeyPair = Bls12381G2KeyPair;
14
+ class KeyPairSigner {}
15
+ exports.KeyPairSigner = KeyPairSigner;
16
+ class KeyPairVerifier {}
17
+ exports.KeyPairVerifier = KeyPairVerifier;
18
+ //# sourceMappingURL=index.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Bls12381G2KeyPair","exports","KeyPairSigner","KeyPairVerifier"],"sourceRoot":"../../src","sources":["index.d.ts"],"mappings":";;;;;;AAAA;AACA;;AAEA;;AA6FO,MAAMA,iBAAiB,CAAC;AAsB9BC,OAAA,CAAAD,iBAAA,GAAAA,iBAAA;AACM,MAAME,aAAa,CAAC;AAE1BD,OAAA,CAAAC,aAAA,GAAAA,aAAA;AACM,MAAMC,eAAe,CAAC;AAE5BF,OAAA,CAAAE,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.vc_facade = vc_facade;
7
+ var _reactNative = require("react-native");
8
+ const LINKING_ERROR = `The package '@nuggetslife/vc' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
9
+ ios: "- You have run 'pod install'\n",
10
+ default: ''
11
+ }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
12
+ const Vc = _reactNative.NativeModules.Vc ? _reactNative.NativeModules.Vc : new Proxy({}, {
13
+ get() {
14
+ throw new Error(LINKING_ERROR);
15
+ }
16
+ });
17
+ function vc_facade(action, options) {
18
+ return Vc.vc_facade(action, options);
19
+ }
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","Vc","NativeModules","Proxy","get","Error","vc_facade","action","options"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GACjB,0EAA0E,GAC1EC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,EAAE,GAAGC,0BAAa,CAACD,EAAE,GACvBC,0BAAa,CAACD,EAAE,GAChB,IAAIE,KAAK,CACT,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEI,SAASU,SAASA,CAACC,MAAc,EAAEC,OAAe,EAAmB;EAC1E,OAAOP,EAAE,CAACK,SAAS,CAACC,MAAM,EAAEC,OAAO,CAAC;AACtC","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BlsCurveName = void 0;
7
+ let BlsCurveName = exports.BlsCurveName = /*#__PURE__*/function (BlsCurveName) {
8
+ BlsCurveName["DEPRECATED_G1"] = "BLS12381_G1";
9
+ BlsCurveName["DEPRECATED_G2"] = "BLS12381_G2";
10
+ BlsCurveName["G1"] = "Bls12381G1";
11
+ BlsCurveName["G2"] = "Bls12381G2";
12
+ return BlsCurveName;
13
+ }({});
14
+ //# sourceMappingURL=BlsCurveName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BlsCurveName","exports"],"sourceRoot":"../../../src","sources":["types/BlsCurveName.ts"],"mappings":";;;;;;IAAYA,YAAY,GAAAC,OAAA,CAAAD,YAAA,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=GenerateKeyPairOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/GenerateKeyPairOptions.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=JsonWebKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/JsonWebKey.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=JwkKeyPairOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/JwkKeyPairOptions.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.JwkKty = void 0;
7
+ let JwkKty = exports.JwkKty = /*#__PURE__*/function (JwkKty) {
8
+ JwkKty["OctetKeyPair"] = "OKP";
9
+ JwkKty["EC"] = "EC";
10
+ JwkKty["RSA"] = "RSA";
11
+ return JwkKty;
12
+ }({});
13
+ //# sourceMappingURL=JwkKty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["JwkKty","exports"],"sourceRoot":"../../../src","sources":["types/JwkKty.ts"],"mappings":";;;;;;IAAYA,MAAM,GAAAC,OAAA,CAAAD,MAAA,0BAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAAA,OAANA,MAAM;AAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=KeyPairOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/KeyPairOptions.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=KeyPairSigner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/KeyPairSigner.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=KeyPairVerifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/KeyPairVerifier.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "BlsCurveName", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _BlsCurveName.BlsCurveName;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "JwkKty", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _JwkKty.JwkKty;
16
+ }
17
+ });
18
+ var _BlsCurveName = require("./BlsCurveName");
19
+ var _JwkKty = require("./JwkKty");
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_BlsCurveName","require","_JwkKty"],"sourceRoot":"../../../src","sources":["types/index.ts"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAGA,IAAAC,OAAA,GAAAD,OAAA","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.convertBase64urlToBase58 = void 0;
7
+ exports.uint8ArrayToHexString = uint8ArrayToHexString;
8
+ var _rfc = require("rfc4648");
9
+ var _bs = _interopRequireDefault(require("bs58"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ const convertBase64urlToBase58 = value => {
12
+ return _bs.default.encode(_rfc.base64url.parse(value, {
13
+ loose: true
14
+ }));
15
+ };
16
+ exports.convertBase64urlToBase58 = convertBase64urlToBase58;
17
+ function uint8ArrayToHexString(arr) {
18
+ return Array.prototype.map.call(arr, function (byte) {
19
+ return ('0' + (byte & 0xFF).toString(16)).slice(-2);
20
+ }).join('');
21
+ }
22
+ //# sourceMappingURL=codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_rfc","require","_bs","_interopRequireDefault","e","__esModule","default","convertBase64urlToBase58","value","bs58","encode","base64url","parse","loose","exports","uint8ArrayToHexString","arr","Array","prototype","map","call","byte","toString","slice","join"],"sourceRoot":"../../../src","sources":["utils/codec.ts"],"mappings":";;;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAwB,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEjB,MAAMG,wBAAwB,GAAIC,KAAa,IAAa;EACjE,OAAOC,WAAI,CAACC,MAAM,CAACC,cAAS,CAACC,KAAK,CAACJ,KAAK,EAAE;IAAEK,KAAK,EAAE;EAAK,CAAC,CAAC,CAAC;AAC7D,CAAC;AAACC,OAAA,CAAAP,wBAAA,GAAAA,wBAAA;AAEK,SAASQ,qBAAqBA,CAACC,GAAe,EAAE;EACrD,OAAOC,KAAK,CAACC,SAAS,CAACC,GAAG,CAACC,IAAI,CAACJ,GAAG,EAAE,UAASK,IAAI,EAAE;IAClD,OAAO,CAAC,GAAG,GAAG,CAACA,IAAI,GAAG,IAAI,EAAEC,QAAQ,CAAC,EAAE,CAAC,EAAEC,KAAK,CAAC,CAAC,CAAC,CAAC;EACrD,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;AACb","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "convertBase64urlToBase58", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _codec.convertBase64urlToBase58;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "uint8ArrayToHexString", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _codec.uint8ArrayToHexString;
16
+ }
17
+ });
18
+ var _codec = require("./codec");
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_codec","require"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.assertBls12381G2PublicJwk = exports.assertBls12381G2PrivateJwk = void 0;
7
+ var _JsonWebKey = require("./JsonWebKey");
8
+ var _types = require("../types");
9
+ const assertBls12381G2PublicJwk = jwk => {
10
+ // Returns false because the BLS12-381 G2 x coordinate is not the proper length
11
+ return (0, _JsonWebKey.assertPublicBlsJwk)(jwk) && (jwk.crv === _types.BlsCurveName.DEPRECATED_G2 || jwk.crv === _types.BlsCurveName.G2) && jwk.x.length === 128;
12
+ };
13
+ exports.assertBls12381G2PublicJwk = assertBls12381G2PublicJwk;
14
+ const assertBls12381G2PrivateJwk = jwk => {
15
+ // Returns false because the BLS12-381 G2 x coordinate is not the proper length
16
+ return (0, _JsonWebKey.assertPrivateBlsJwk)(jwk) && (jwk.crv === _types.BlsCurveName.DEPRECATED_G2 || jwk.crv === _types.BlsCurveName.G2) && jwk.x.length === 128;
17
+ };
18
+ exports.assertBls12381G2PrivateJwk = assertBls12381G2PrivateJwk;
19
+ //# sourceMappingURL=Bls12381G2Jwk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_JsonWebKey","require","_types","assertBls12381G2PublicJwk","jwk","assertPublicBlsJwk","crv","BlsCurveName","DEPRECATED_G2","G2","x","length","exports","assertBls12381G2PrivateJwk","assertPrivateBlsJwk"],"sourceRoot":"../../../src","sources":["validators/Bls12381G2Jwk.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAGO,MAAME,yBAAyB,GAAIC,GAAe,IAAc;EACrE;EACA,OACE,IAAAC,8BAAkB,EAACD,GAAG,CAAC,KACtBA,GAAG,CAACE,GAAG,KAAKC,mBAAY,CAACC,aAAa,IAAIJ,GAAG,CAACE,GAAG,KAAKC,mBAAY,CAACE,EAAE,CAAC,IACvEL,GAAG,CAACM,CAAC,CAACC,MAAM,KAAK,GAAG;AAExB,CAAC;AAACC,OAAA,CAAAT,yBAAA,GAAAA,yBAAA;AAEK,MAAMU,0BAA0B,GAAIT,GAAe,IAAc;EACtE;EACA,OACE,IAAAU,+BAAmB,EAACV,GAAG,CAAC,KACvBA,GAAG,CAACE,GAAG,KAAKC,mBAAY,CAACC,aAAa,IAAIJ,GAAG,CAACE,GAAG,KAAKC,mBAAY,CAACE,EAAE,CAAC,IACvEL,GAAG,CAACM,CAAC,CAACC,MAAM,KAAK,GAAG;AAExB,CAAC;AAACC,OAAA,CAAAC,0BAAA,GAAAA,0BAAA","ignoreList":[]}