@learncard/didkit-plugin 1.1.1 → 1.2.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.
@@ -186,7 +186,7 @@ function makeMutClosure(arg0, arg1, dtor, f) {
186
186
  }
187
187
  __name(makeMutClosure, "makeMutClosure");
188
188
  function __wbg_adapter_26(arg0, arg1, arg2) {
189
- wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__heb2947e09b459f26(arg0, arg1, addHeapObject(arg2));
189
+ wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hae32635367f5810e(arg0, arg1, addHeapObject(arg2));
190
190
  }
191
191
  __name(__wbg_adapter_26, "__wbg_adapter_26");
192
192
  function didResolver(did, input_metadata) {
@@ -316,43 +316,51 @@ function didToVerificationMethod(did) {
316
316
  return takeObject(ret);
317
317
  }
318
318
  __name(didToVerificationMethod, "didToVerificationMethod");
319
- function issueCredential(credential, proof_options, key) {
319
+ function issueCredential(credential, proof_options, key, context_map) {
320
320
  const ptr0 = passStringToWasm0(credential, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
321
321
  const len0 = WASM_VECTOR_LEN;
322
322
  const ptr1 = passStringToWasm0(proof_options, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
323
323
  const len1 = WASM_VECTOR_LEN;
324
324
  const ptr2 = passStringToWasm0(key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
325
325
  const len2 = WASM_VECTOR_LEN;
326
- const ret = wasm.issueCredential(ptr0, len0, ptr1, len1, ptr2, len2);
326
+ const ptr3 = passStringToWasm0(context_map, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
327
+ const len3 = WASM_VECTOR_LEN;
328
+ const ret = wasm.issueCredential(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
327
329
  return takeObject(ret);
328
330
  }
329
331
  __name(issueCredential, "issueCredential");
330
- function verifyCredential(vc, proof_options) {
332
+ function verifyCredential(vc, proof_options, context_map) {
331
333
  const ptr0 = passStringToWasm0(vc, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
332
334
  const len0 = WASM_VECTOR_LEN;
333
335
  const ptr1 = passStringToWasm0(proof_options, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
334
336
  const len1 = WASM_VECTOR_LEN;
335
- const ret = wasm.verifyCredential(ptr0, len0, ptr1, len1);
337
+ const ptr2 = passStringToWasm0(context_map, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
338
+ const len2 = WASM_VECTOR_LEN;
339
+ const ret = wasm.verifyCredential(ptr0, len0, ptr1, len1, ptr2, len2);
336
340
  return takeObject(ret);
337
341
  }
338
342
  __name(verifyCredential, "verifyCredential");
339
- function issuePresentation(presentation, proof_options, key) {
343
+ function issuePresentation(presentation, proof_options, key, context_map) {
340
344
  const ptr0 = passStringToWasm0(presentation, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
341
345
  const len0 = WASM_VECTOR_LEN;
342
346
  const ptr1 = passStringToWasm0(proof_options, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
343
347
  const len1 = WASM_VECTOR_LEN;
344
348
  const ptr2 = passStringToWasm0(key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
345
349
  const len2 = WASM_VECTOR_LEN;
346
- const ret = wasm.issuePresentation(ptr0, len0, ptr1, len1, ptr2, len2);
350
+ const ptr3 = passStringToWasm0(context_map, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
351
+ const len3 = WASM_VECTOR_LEN;
352
+ const ret = wasm.issuePresentation(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
347
353
  return takeObject(ret);
348
354
  }
349
355
  __name(issuePresentation, "issuePresentation");
350
- function verifyPresentation(vp, proof_options) {
356
+ function verifyPresentation(vp, proof_options, context_map) {
351
357
  const ptr0 = passStringToWasm0(vp, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
352
358
  const len0 = WASM_VECTOR_LEN;
353
359
  const ptr1 = passStringToWasm0(proof_options, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
354
360
  const len1 = WASM_VECTOR_LEN;
355
- const ret = wasm.verifyPresentation(ptr0, len0, ptr1, len1);
361
+ const ptr2 = passStringToWasm0(context_map, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
362
+ const len2 = WASM_VECTOR_LEN;
363
+ const ret = wasm.verifyPresentation(ptr0, len0, ptr1, len1, ptr2, len2);
356
364
  return takeObject(ret);
357
365
  }
358
366
  __name(verifyPresentation, "verifyPresentation");
@@ -377,7 +385,7 @@ function getArrayU8FromWasm0(ptr, len) {
377
385
  }
378
386
  __name(getArrayU8FromWasm0, "getArrayU8FromWasm0");
379
387
  function __wbg_adapter_139(arg0, arg1, arg2, arg3) {
380
- wasm.wasm_bindgen__convert__closures__invoke2_mut__h37b98ed5001919e7(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
388
+ wasm.wasm_bindgen__convert__closures__invoke2_mut__h6e6bc1a8c3634b3b(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
381
389
  }
382
390
  __name(__wbg_adapter_139, "__wbg_adapter_139");
383
391
  async function __wbg_load(module2, imports) {
@@ -424,42 +432,18 @@ function __wbg_get_imports() {
424
432
  const ret = false;
425
433
  return ret;
426
434
  };
427
- imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
428
- const ret = getObject(arg0);
429
- return addHeapObject(ret);
430
- };
431
435
  imports.wbg.__wbg_fetch_57429b87be3dcc33 = function(arg0) {
432
436
  const ret = fetch(getObject(arg0));
433
437
  return addHeapObject(ret);
434
438
  };
435
- imports.wbg.__wbg_fetch_8eaf01857a5bb21f = function(arg0, arg1) {
436
- const ret = getObject(arg0).fetch(getObject(arg1));
439
+ imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
440
+ const ret = getObject(arg0);
437
441
  return addHeapObject(ret);
438
442
  };
439
- imports.wbg.__wbg_signal_4bd18fb489af2d4c = function(arg0) {
440
- const ret = getObject(arg0).signal;
443
+ imports.wbg.__wbg_fetch_8eaf01857a5bb21f = function(arg0, arg1) {
444
+ const ret = getObject(arg0).fetch(getObject(arg1));
441
445
  return addHeapObject(ret);
442
446
  };
443
- imports.wbg.__wbg_new_55c9955722952374 = function() {
444
- return handleError(function() {
445
- const ret = new AbortController();
446
- return addHeapObject(ret);
447
- }, arguments);
448
- };
449
- imports.wbg.__wbg_abort_654b796176d117aa = function(arg0) {
450
- getObject(arg0).abort();
451
- };
452
- imports.wbg.__wbg_new_1eead62f64ca15ce = function() {
453
- return handleError(function() {
454
- const ret = new Headers();
455
- return addHeapObject(ret);
456
- }, arguments);
457
- };
458
- imports.wbg.__wbg_append_fda9e3432e3e88da = function() {
459
- return handleError(function(arg0, arg1, arg2, arg3, arg4) {
460
- getObject(arg0).append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
461
- }, arguments);
462
- };
463
447
  imports.wbg.__wbg_instanceof_Response_fc4327dbfcdf5ced = function(arg0) {
464
448
  let result;
465
449
  try {
@@ -491,6 +475,10 @@ function __wbg_get_imports() {
491
475
  return addHeapObject(ret);
492
476
  }, arguments);
493
477
  };
478
+ imports.wbg.__wbg_now_0cfdc90c97d0c24b = function(arg0) {
479
+ const ret = getObject(arg0).now();
480
+ return ret;
481
+ };
494
482
  imports.wbg.__wbg_newwithstrandinit_cad5cd6038c7ff5d = function() {
495
483
  return handleError(function(arg0, arg1, arg2) {
496
484
  const ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2));
@@ -505,15 +493,29 @@ function __wbg_get_imports() {
505
493
  getInt32Memory0()[arg0 / 4 + 1] = len1;
506
494
  getInt32Memory0()[arg0 / 4 + 0] = ptr1;
507
495
  };
508
- imports.wbg.__wbg_now_0cfdc90c97d0c24b = function(arg0) {
509
- const ret = getObject(arg0).now();
510
- return ret;
496
+ imports.wbg.__wbg_signal_4bd18fb489af2d4c = function(arg0) {
497
+ const ret = getObject(arg0).signal;
498
+ return addHeapObject(ret);
511
499
  };
512
- imports.wbg.__wbg_randomFillSync_85b3f4c52c56c313 = function(arg0, arg1, arg2) {
513
- getObject(arg0).randomFillSync(getArrayU8FromWasm0(arg1, arg2));
500
+ imports.wbg.__wbg_new_55c9955722952374 = function() {
501
+ return handleError(function() {
502
+ const ret = new AbortController();
503
+ return addHeapObject(ret);
504
+ }, arguments);
514
505
  };
515
- imports.wbg.__wbg_getRandomValues_cd175915511f705e = function(arg0, arg1) {
516
- getObject(arg0).getRandomValues(getObject(arg1));
506
+ imports.wbg.__wbg_abort_654b796176d117aa = function(arg0) {
507
+ getObject(arg0).abort();
508
+ };
509
+ imports.wbg.__wbg_new_1eead62f64ca15ce = function() {
510
+ return handleError(function() {
511
+ const ret = new Headers();
512
+ return addHeapObject(ret);
513
+ }, arguments);
514
+ };
515
+ imports.wbg.__wbg_append_fda9e3432e3e88da = function() {
516
+ return handleError(function(arg0, arg1, arg2, arg3, arg4) {
517
+ getObject(arg0).append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
518
+ }, arguments);
517
519
  };
518
520
  imports.wbg.__wbg_self_7eede1f4488bf346 = function() {
519
521
  return handleError(function() {
@@ -545,6 +547,12 @@ function __wbg_get_imports() {
545
547
  const ret = getObject(arg0).getRandomValues;
546
548
  return addHeapObject(ret);
547
549
  };
550
+ imports.wbg.__wbg_getRandomValues_cd175915511f705e = function(arg0, arg1) {
551
+ getObject(arg0).getRandomValues(getObject(arg1));
552
+ };
553
+ imports.wbg.__wbg_randomFillSync_85b3f4c52c56c313 = function(arg0, arg1, arg2) {
554
+ getObject(arg0).randomFillSync(getArrayU8FromWasm0(arg1, arg2));
555
+ };
548
556
  imports.wbg.__wbg_crypto_c48a774b022d20ac = function(arg0) {
549
557
  const ret = getObject(arg0).crypto;
550
558
  return addHeapObject(ret);
@@ -731,6 +739,12 @@ function __wbg_get_imports() {
731
739
  const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);
732
740
  return addHeapObject(ret);
733
741
  };
742
+ imports.wbg.__wbg_stringify_e25465938f3f611f = function() {
743
+ return handleError(function(arg0) {
744
+ const ret = JSON.stringify(getObject(arg0));
745
+ return addHeapObject(ret);
746
+ }, arguments);
747
+ };
734
748
  imports.wbg.__wbg_has_c5fcd020291e56b8 = function() {
735
749
  return handleError(function(arg0, arg1) {
736
750
  const ret = Reflect.has(getObject(arg0), getObject(arg1));
@@ -743,12 +757,6 @@ function __wbg_get_imports() {
743
757
  return ret;
744
758
  }, arguments);
745
759
  };
746
- imports.wbg.__wbg_stringify_e25465938f3f611f = function() {
747
- return handleError(function(arg0) {
748
- const ret = JSON.stringify(getObject(arg0));
749
- return addHeapObject(ret);
750
- }, arguments);
751
- };
752
760
  imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
753
761
  const ret = debugString(getObject(arg1));
754
762
  const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
@@ -763,8 +771,8 @@ function __wbg_get_imports() {
763
771
  const ret = wasm.memory;
764
772
  return addHeapObject(ret);
765
773
  };
766
- imports.wbg.__wbindgen_closure_wrapper12815 = function(arg0, arg1, arg2) {
767
- const ret = makeMutClosure(arg0, arg1, 3699, __wbg_adapter_26);
774
+ imports.wbg.__wbindgen_closure_wrapper12794 = function(arg0, arg1, arg2) {
775
+ const ret = makeMutClosure(arg0, arg1, 3868, __wbg_adapter_26);
768
776
  return addHeapObject(ret);
769
777
  };
770
778
  return imports;
@@ -801,7 +809,7 @@ var didkit_wasm_default = __wbg_init;
801
809
  // src/didkit/index.ts
802
810
  var initialized = false;
803
811
  var generating = false;
804
- var init = /* @__PURE__ */ __name(async (arg = "https://cdn.filestackcontent.com/QFBywVQzSdKk5HClOzfg") => {
812
+ var init = /* @__PURE__ */ __name(async (arg = "https://cdn.filestackcontent.com/H678qYhTQLK7BPiqglZK") => {
805
813
  while (generating)
806
814
  await new Promise((res) => setTimeout(res, 250));
807
815
  if (initialized)
@@ -818,14 +826,54 @@ var init = /* @__PURE__ */ __name(async (arg = "https://cdn.filestackcontent.com
818
826
  }, "init");
819
827
  var didkit_default = init;
820
828
 
829
+ // src/helpers.ts
830
+ var getContextURIs = /* @__PURE__ */ __name((jsonld) => {
831
+ const contexts = [];
832
+ const traverse = /* @__PURE__ */ __name((obj) => {
833
+ if (typeof obj !== "object" || obj === null)
834
+ return;
835
+ if (obj["@context"]) {
836
+ if (Array.isArray(obj["@context"]))
837
+ contexts.push(...obj["@context"]);
838
+ else
839
+ contexts.push(obj["@context"]);
840
+ }
841
+ Object.keys(obj).forEach((key) => {
842
+ traverse(obj[key]);
843
+ });
844
+ }, "traverse");
845
+ traverse(jsonld);
846
+ return contexts;
847
+ }, "getContextURIs");
848
+ var getDocumentMap = /* @__PURE__ */ __name(async (learnCard, obj, allowRemoteContexts = false) => {
849
+ const uris = getContextURIs(obj);
850
+ const resolvedDocs = await Promise.all(uris.map(async (uri) => learnCard.context.resolveDocument(uri, allowRemoteContexts)));
851
+ return uris.reduce((acc, cur, index) => {
852
+ const resolvedDoc = resolvedDocs[index];
853
+ if (resolvedDoc)
854
+ acc[cur] = JSON.stringify(resolvedDoc);
855
+ return acc;
856
+ }, {});
857
+ }, "getDocumentMap");
858
+
821
859
  // src/plugin.ts
822
- var getDidKitPlugin = /* @__PURE__ */ __name(async (input) => {
860
+ var getDidKitPlugin = /* @__PURE__ */ __name(async (input, allowRemoteContexts = false) => {
823
861
  await didkit_default(input);
824
862
  const memoizedDids = {};
825
863
  return {
826
864
  name: "DIDKit",
827
865
  displayName: "DIDKit",
828
866
  description: "Provides an interface to DIDKit, which allows for the generation of key material, as well as signing and verifying credentials and presentations",
867
+ context: {
868
+ resolveStaticDocument: async (_learnCard, url) => {
869
+ try {
870
+ return JSON.parse(await contextLoader(url) ?? "") || void 0;
871
+ } catch (error) {
872
+ _learnCard.debug?.(error);
873
+ return void 0;
874
+ }
875
+ }
876
+ },
829
877
  methods: {
830
878
  generateEd25519KeyFromBytes: (_learnCard, bytes) => JSON.parse(generateEd25519KeyFromBytes(bytes)),
831
879
  generateSecp256k1KeyFromBytes: (_learnCard, bytes) => JSON.parse(generateSecp256k1KeyFromBytes(bytes)),
@@ -840,18 +888,29 @@ var getDidKitPlugin = /* @__PURE__ */ __name(async (input) => {
840
888
  },
841
889
  keyToVerificationMethod: async (_learnCard, type, keypair) => keyToVerificationMethod(type, JSON.stringify(keypair)),
842
890
  didToVerificationMethod: async (_learnCard, did) => didToVerificationMethod(did),
843
- issueCredential: async (_learnCard, credential, options, keypair) => JSON.parse(await issueCredential(JSON.stringify(credential), JSON.stringify(options), JSON.stringify(keypair))),
844
- verifyCredential: async (_learnCard, credential, options = {}) => JSON.parse(await verifyCredential(JSON.stringify(credential), JSON.stringify(options))),
891
+ issueCredential: async (_learnCard, credential, options, keypair) => {
892
+ return JSON.parse(await issueCredential(JSON.stringify(credential), JSON.stringify(options), JSON.stringify(keypair), JSON.stringify(await getDocumentMap(_learnCard, credential, allowRemoteContexts))));
893
+ },
894
+ verifyCredential: async (_learnCard, credential, options = {}) => {
895
+ return JSON.parse(await verifyCredential(JSON.stringify(credential), JSON.stringify(options), JSON.stringify(await getDocumentMap(_learnCard, credential, allowRemoteContexts))));
896
+ },
845
897
  issuePresentation: async (_learnCard, presentation, options, keypair) => {
846
898
  const isJwt = options.proofFormat === "jwt";
847
- const result = await issuePresentation(JSON.stringify(presentation), JSON.stringify(options), JSON.stringify(keypair));
899
+ const result = await issuePresentation(JSON.stringify(presentation), JSON.stringify(options), JSON.stringify(keypair), JSON.stringify(await getDocumentMap(_learnCard, presentation, allowRemoteContexts)));
848
900
  return isJwt ? result : JSON.parse(result);
849
901
  },
850
902
  verifyPresentation: async (_learnCard, presentation, options = {}) => {
851
903
  const isJwt = typeof presentation === "string";
852
- return JSON.parse(await verifyPresentation(isJwt ? presentation : JSON.stringify(presentation), JSON.stringify(options)));
904
+ return JSON.parse(await verifyPresentation(isJwt ? presentation : JSON.stringify(presentation), JSON.stringify(options), isJwt ? "{}" : JSON.stringify(await getDocumentMap(_learnCard, presentation, allowRemoteContexts))));
905
+ },
906
+ contextLoader: async (_learnCard, url) => {
907
+ try {
908
+ return JSON.parse(await contextLoader(url) ?? "") || void 0;
909
+ } catch (error) {
910
+ _learnCard.debug?.(error);
911
+ return void 0;
912
+ }
853
913
  },
854
- contextLoader: async (_learnCard, url) => JSON.parse(await contextLoader(url)),
855
914
  resolveDid: async (_learnCard, did, inputMetadata = {}) => JSON.parse(await resolveDID(did, JSON.stringify(inputMetadata))),
856
915
  didResolver: async (_learnCard, did, inputMetadata = {}) => JSON.parse(await didResolver(did, JSON.stringify(inputMetadata)))
857
916
  }