@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.
@@ -210,7 +210,7 @@ function makeMutClosure(arg0, arg1, dtor, f) {
210
210
  }
211
211
  __name(makeMutClosure, "makeMutClosure");
212
212
  function __wbg_adapter_26(arg0, arg1, arg2) {
213
- wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__heb2947e09b459f26(arg0, arg1, addHeapObject(arg2));
213
+ wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hae32635367f5810e(arg0, arg1, addHeapObject(arg2));
214
214
  }
215
215
  __name(__wbg_adapter_26, "__wbg_adapter_26");
216
216
  function didResolver(did, input_metadata) {
@@ -340,43 +340,51 @@ function didToVerificationMethod(did) {
340
340
  return takeObject(ret);
341
341
  }
342
342
  __name(didToVerificationMethod, "didToVerificationMethod");
343
- function issueCredential(credential, proof_options, key) {
343
+ function issueCredential(credential, proof_options, key, context_map) {
344
344
  const ptr0 = passStringToWasm0(credential, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
345
345
  const len0 = WASM_VECTOR_LEN;
346
346
  const ptr1 = passStringToWasm0(proof_options, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
347
347
  const len1 = WASM_VECTOR_LEN;
348
348
  const ptr2 = passStringToWasm0(key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
349
349
  const len2 = WASM_VECTOR_LEN;
350
- const ret = wasm.issueCredential(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.issueCredential(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
351
353
  return takeObject(ret);
352
354
  }
353
355
  __name(issueCredential, "issueCredential");
354
- function verifyCredential(vc, proof_options) {
356
+ function verifyCredential(vc, proof_options, context_map) {
355
357
  const ptr0 = passStringToWasm0(vc, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
356
358
  const len0 = WASM_VECTOR_LEN;
357
359
  const ptr1 = passStringToWasm0(proof_options, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
358
360
  const len1 = WASM_VECTOR_LEN;
359
- const ret = wasm.verifyCredential(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.verifyCredential(ptr0, len0, ptr1, len1, ptr2, len2);
360
364
  return takeObject(ret);
361
365
  }
362
366
  __name(verifyCredential, "verifyCredential");
363
- function issuePresentation(presentation, proof_options, key) {
367
+ function issuePresentation(presentation, proof_options, key, context_map) {
364
368
  const ptr0 = passStringToWasm0(presentation, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
365
369
  const len0 = WASM_VECTOR_LEN;
366
370
  const ptr1 = passStringToWasm0(proof_options, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
367
371
  const len1 = WASM_VECTOR_LEN;
368
372
  const ptr2 = passStringToWasm0(key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
369
373
  const len2 = WASM_VECTOR_LEN;
370
- const ret = wasm.issuePresentation(ptr0, len0, ptr1, len1, ptr2, len2);
374
+ const ptr3 = passStringToWasm0(context_map, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
375
+ const len3 = WASM_VECTOR_LEN;
376
+ const ret = wasm.issuePresentation(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
371
377
  return takeObject(ret);
372
378
  }
373
379
  __name(issuePresentation, "issuePresentation");
374
- function verifyPresentation(vp, proof_options) {
380
+ function verifyPresentation(vp, proof_options, context_map) {
375
381
  const ptr0 = passStringToWasm0(vp, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
376
382
  const len0 = WASM_VECTOR_LEN;
377
383
  const ptr1 = passStringToWasm0(proof_options, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
378
384
  const len1 = WASM_VECTOR_LEN;
379
- const ret = wasm.verifyPresentation(ptr0, len0, ptr1, len1);
385
+ const ptr2 = passStringToWasm0(context_map, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
386
+ const len2 = WASM_VECTOR_LEN;
387
+ const ret = wasm.verifyPresentation(ptr0, len0, ptr1, len1, ptr2, len2);
380
388
  return takeObject(ret);
381
389
  }
382
390
  __name(verifyPresentation, "verifyPresentation");
@@ -401,7 +409,7 @@ function getArrayU8FromWasm0(ptr, len) {
401
409
  }
402
410
  __name(getArrayU8FromWasm0, "getArrayU8FromWasm0");
403
411
  function __wbg_adapter_139(arg0, arg1, arg2, arg3) {
404
- wasm.wasm_bindgen__convert__closures__invoke2_mut__h37b98ed5001919e7(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
412
+ wasm.wasm_bindgen__convert__closures__invoke2_mut__h6e6bc1a8c3634b3b(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
405
413
  }
406
414
  __name(__wbg_adapter_139, "__wbg_adapter_139");
407
415
  async function __wbg_load(module2, imports) {
@@ -448,42 +456,18 @@ function __wbg_get_imports() {
448
456
  const ret = false;
449
457
  return ret;
450
458
  };
451
- imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
452
- const ret = getObject(arg0);
453
- return addHeapObject(ret);
454
- };
455
459
  imports.wbg.__wbg_fetch_57429b87be3dcc33 = function(arg0) {
456
460
  const ret = fetch(getObject(arg0));
457
461
  return addHeapObject(ret);
458
462
  };
459
- imports.wbg.__wbg_fetch_8eaf01857a5bb21f = function(arg0, arg1) {
460
- const ret = getObject(arg0).fetch(getObject(arg1));
463
+ imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
464
+ const ret = getObject(arg0);
461
465
  return addHeapObject(ret);
462
466
  };
463
- imports.wbg.__wbg_signal_4bd18fb489af2d4c = function(arg0) {
464
- const ret = getObject(arg0).signal;
467
+ imports.wbg.__wbg_fetch_8eaf01857a5bb21f = function(arg0, arg1) {
468
+ const ret = getObject(arg0).fetch(getObject(arg1));
465
469
  return addHeapObject(ret);
466
470
  };
467
- imports.wbg.__wbg_new_55c9955722952374 = function() {
468
- return handleError(function() {
469
- const ret = new AbortController();
470
- return addHeapObject(ret);
471
- }, arguments);
472
- };
473
- imports.wbg.__wbg_abort_654b796176d117aa = function(arg0) {
474
- getObject(arg0).abort();
475
- };
476
- imports.wbg.__wbg_new_1eead62f64ca15ce = function() {
477
- return handleError(function() {
478
- const ret = new Headers();
479
- return addHeapObject(ret);
480
- }, arguments);
481
- };
482
- imports.wbg.__wbg_append_fda9e3432e3e88da = function() {
483
- return handleError(function(arg0, arg1, arg2, arg3, arg4) {
484
- getObject(arg0).append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
485
- }, arguments);
486
- };
487
471
  imports.wbg.__wbg_instanceof_Response_fc4327dbfcdf5ced = function(arg0) {
488
472
  let result;
489
473
  try {
@@ -515,6 +499,10 @@ function __wbg_get_imports() {
515
499
  return addHeapObject(ret);
516
500
  }, arguments);
517
501
  };
502
+ imports.wbg.__wbg_now_0cfdc90c97d0c24b = function(arg0) {
503
+ const ret = getObject(arg0).now();
504
+ return ret;
505
+ };
518
506
  imports.wbg.__wbg_newwithstrandinit_cad5cd6038c7ff5d = function() {
519
507
  return handleError(function(arg0, arg1, arg2) {
520
508
  const ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2));
@@ -529,15 +517,29 @@ function __wbg_get_imports() {
529
517
  getInt32Memory0()[arg0 / 4 + 1] = len1;
530
518
  getInt32Memory0()[arg0 / 4 + 0] = ptr1;
531
519
  };
532
- imports.wbg.__wbg_now_0cfdc90c97d0c24b = function(arg0) {
533
- const ret = getObject(arg0).now();
534
- return ret;
520
+ imports.wbg.__wbg_signal_4bd18fb489af2d4c = function(arg0) {
521
+ const ret = getObject(arg0).signal;
522
+ return addHeapObject(ret);
535
523
  };
536
- imports.wbg.__wbg_randomFillSync_85b3f4c52c56c313 = function(arg0, arg1, arg2) {
537
- getObject(arg0).randomFillSync(getArrayU8FromWasm0(arg1, arg2));
524
+ imports.wbg.__wbg_new_55c9955722952374 = function() {
525
+ return handleError(function() {
526
+ const ret = new AbortController();
527
+ return addHeapObject(ret);
528
+ }, arguments);
538
529
  };
539
- imports.wbg.__wbg_getRandomValues_cd175915511f705e = function(arg0, arg1) {
540
- getObject(arg0).getRandomValues(getObject(arg1));
530
+ imports.wbg.__wbg_abort_654b796176d117aa = function(arg0) {
531
+ getObject(arg0).abort();
532
+ };
533
+ imports.wbg.__wbg_new_1eead62f64ca15ce = function() {
534
+ return handleError(function() {
535
+ const ret = new Headers();
536
+ return addHeapObject(ret);
537
+ }, arguments);
538
+ };
539
+ imports.wbg.__wbg_append_fda9e3432e3e88da = function() {
540
+ return handleError(function(arg0, arg1, arg2, arg3, arg4) {
541
+ getObject(arg0).append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
542
+ }, arguments);
541
543
  };
542
544
  imports.wbg.__wbg_self_7eede1f4488bf346 = function() {
543
545
  return handleError(function() {
@@ -569,6 +571,12 @@ function __wbg_get_imports() {
569
571
  const ret = getObject(arg0).getRandomValues;
570
572
  return addHeapObject(ret);
571
573
  };
574
+ imports.wbg.__wbg_getRandomValues_cd175915511f705e = function(arg0, arg1) {
575
+ getObject(arg0).getRandomValues(getObject(arg1));
576
+ };
577
+ imports.wbg.__wbg_randomFillSync_85b3f4c52c56c313 = function(arg0, arg1, arg2) {
578
+ getObject(arg0).randomFillSync(getArrayU8FromWasm0(arg1, arg2));
579
+ };
572
580
  imports.wbg.__wbg_crypto_c48a774b022d20ac = function(arg0) {
573
581
  const ret = getObject(arg0).crypto;
574
582
  return addHeapObject(ret);
@@ -755,6 +763,12 @@ function __wbg_get_imports() {
755
763
  const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);
756
764
  return addHeapObject(ret);
757
765
  };
766
+ imports.wbg.__wbg_stringify_e25465938f3f611f = function() {
767
+ return handleError(function(arg0) {
768
+ const ret = JSON.stringify(getObject(arg0));
769
+ return addHeapObject(ret);
770
+ }, arguments);
771
+ };
758
772
  imports.wbg.__wbg_has_c5fcd020291e56b8 = function() {
759
773
  return handleError(function(arg0, arg1) {
760
774
  const ret = Reflect.has(getObject(arg0), getObject(arg1));
@@ -767,12 +781,6 @@ function __wbg_get_imports() {
767
781
  return ret;
768
782
  }, arguments);
769
783
  };
770
- imports.wbg.__wbg_stringify_e25465938f3f611f = function() {
771
- return handleError(function(arg0) {
772
- const ret = JSON.stringify(getObject(arg0));
773
- return addHeapObject(ret);
774
- }, arguments);
775
- };
776
784
  imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
777
785
  const ret = debugString(getObject(arg1));
778
786
  const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
@@ -787,8 +795,8 @@ function __wbg_get_imports() {
787
795
  const ret = wasm.memory;
788
796
  return addHeapObject(ret);
789
797
  };
790
- imports.wbg.__wbindgen_closure_wrapper12815 = function(arg0, arg1, arg2) {
791
- const ret = makeMutClosure(arg0, arg1, 3699, __wbg_adapter_26);
798
+ imports.wbg.__wbindgen_closure_wrapper12794 = function(arg0, arg1, arg2) {
799
+ const ret = makeMutClosure(arg0, arg1, 3868, __wbg_adapter_26);
792
800
  return addHeapObject(ret);
793
801
  };
794
802
  return imports;
@@ -825,7 +833,7 @@ var didkit_wasm_default = __wbg_init;
825
833
  // src/didkit/index.ts
826
834
  var initialized = false;
827
835
  var generating = false;
828
- var init = /* @__PURE__ */ __name(async (arg = "https://cdn.filestackcontent.com/QFBywVQzSdKk5HClOzfg") => {
836
+ var init = /* @__PURE__ */ __name(async (arg = "https://cdn.filestackcontent.com/H678qYhTQLK7BPiqglZK") => {
829
837
  while (generating)
830
838
  await new Promise((res) => setTimeout(res, 250));
831
839
  if (initialized)
@@ -842,14 +850,54 @@ var init = /* @__PURE__ */ __name(async (arg = "https://cdn.filestackcontent.com
842
850
  }, "init");
843
851
  var didkit_default = init;
844
852
 
853
+ // src/helpers.ts
854
+ var getContextURIs = /* @__PURE__ */ __name((jsonld) => {
855
+ const contexts = [];
856
+ const traverse = /* @__PURE__ */ __name((obj) => {
857
+ if (typeof obj !== "object" || obj === null)
858
+ return;
859
+ if (obj["@context"]) {
860
+ if (Array.isArray(obj["@context"]))
861
+ contexts.push(...obj["@context"]);
862
+ else
863
+ contexts.push(obj["@context"]);
864
+ }
865
+ Object.keys(obj).forEach((key) => {
866
+ traverse(obj[key]);
867
+ });
868
+ }, "traverse");
869
+ traverse(jsonld);
870
+ return contexts;
871
+ }, "getContextURIs");
872
+ var getDocumentMap = /* @__PURE__ */ __name(async (learnCard, obj, allowRemoteContexts = false) => {
873
+ const uris = getContextURIs(obj);
874
+ const resolvedDocs = await Promise.all(uris.map(async (uri) => learnCard.context.resolveDocument(uri, allowRemoteContexts)));
875
+ return uris.reduce((acc, cur, index) => {
876
+ const resolvedDoc = resolvedDocs[index];
877
+ if (resolvedDoc)
878
+ acc[cur] = JSON.stringify(resolvedDoc);
879
+ return acc;
880
+ }, {});
881
+ }, "getDocumentMap");
882
+
845
883
  // src/plugin.ts
846
- var getDidKitPlugin = /* @__PURE__ */ __name(async (input) => {
884
+ var getDidKitPlugin = /* @__PURE__ */ __name(async (input, allowRemoteContexts = false) => {
847
885
  await didkit_default(input);
848
886
  const memoizedDids = {};
849
887
  return {
850
888
  name: "DIDKit",
851
889
  displayName: "DIDKit",
852
890
  description: "Provides an interface to DIDKit, which allows for the generation of key material, as well as signing and verifying credentials and presentations",
891
+ context: {
892
+ resolveStaticDocument: async (_learnCard, url) => {
893
+ try {
894
+ return JSON.parse(await contextLoader(url) ?? "") || void 0;
895
+ } catch (error) {
896
+ _learnCard.debug?.(error);
897
+ return void 0;
898
+ }
899
+ }
900
+ },
853
901
  methods: {
854
902
  generateEd25519KeyFromBytes: (_learnCard, bytes) => JSON.parse(generateEd25519KeyFromBytes(bytes)),
855
903
  generateSecp256k1KeyFromBytes: (_learnCard, bytes) => JSON.parse(generateSecp256k1KeyFromBytes(bytes)),
@@ -864,18 +912,29 @@ var getDidKitPlugin = /* @__PURE__ */ __name(async (input) => {
864
912
  },
865
913
  keyToVerificationMethod: async (_learnCard, type, keypair) => keyToVerificationMethod(type, JSON.stringify(keypair)),
866
914
  didToVerificationMethod: async (_learnCard, did) => didToVerificationMethod(did),
867
- issueCredential: async (_learnCard, credential, options, keypair) => JSON.parse(await issueCredential(JSON.stringify(credential), JSON.stringify(options), JSON.stringify(keypair))),
868
- verifyCredential: async (_learnCard, credential, options = {}) => JSON.parse(await verifyCredential(JSON.stringify(credential), JSON.stringify(options))),
915
+ issueCredential: async (_learnCard, credential, options, keypair) => {
916
+ return JSON.parse(await issueCredential(JSON.stringify(credential), JSON.stringify(options), JSON.stringify(keypair), JSON.stringify(await getDocumentMap(_learnCard, credential, allowRemoteContexts))));
917
+ },
918
+ verifyCredential: async (_learnCard, credential, options = {}) => {
919
+ return JSON.parse(await verifyCredential(JSON.stringify(credential), JSON.stringify(options), JSON.stringify(await getDocumentMap(_learnCard, credential, allowRemoteContexts))));
920
+ },
869
921
  issuePresentation: async (_learnCard, presentation, options, keypair) => {
870
922
  const isJwt = options.proofFormat === "jwt";
871
- const result = await issuePresentation(JSON.stringify(presentation), JSON.stringify(options), JSON.stringify(keypair));
923
+ const result = await issuePresentation(JSON.stringify(presentation), JSON.stringify(options), JSON.stringify(keypair), JSON.stringify(await getDocumentMap(_learnCard, presentation, allowRemoteContexts)));
872
924
  return isJwt ? result : JSON.parse(result);
873
925
  },
874
926
  verifyPresentation: async (_learnCard, presentation, options = {}) => {
875
927
  const isJwt = typeof presentation === "string";
876
- return JSON.parse(await verifyPresentation(isJwt ? presentation : JSON.stringify(presentation), JSON.stringify(options)));
928
+ return JSON.parse(await verifyPresentation(isJwt ? presentation : JSON.stringify(presentation), JSON.stringify(options), isJwt ? "{}" : JSON.stringify(await getDocumentMap(_learnCard, presentation, allowRemoteContexts))));
929
+ },
930
+ contextLoader: async (_learnCard, url) => {
931
+ try {
932
+ return JSON.parse(await contextLoader(url) ?? "") || void 0;
933
+ } catch (error) {
934
+ _learnCard.debug?.(error);
935
+ return void 0;
936
+ }
877
937
  },
878
- contextLoader: async (_learnCard, url) => JSON.parse(await contextLoader(url)),
879
938
  resolveDid: async (_learnCard, did, inputMetadata = {}) => JSON.parse(await resolveDID(did, JSON.stringify(inputMetadata))),
880
939
  didResolver: async (_learnCard, did, inputMetadata = {}) => JSON.parse(await didResolver(did, JSON.stringify(inputMetadata)))
881
940
  }