@enbox/dids 0.0.1

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 (104) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1 -0
  3. package/dist/browser.js +77 -0
  4. package/dist/browser.js.map +7 -0
  5. package/dist/browser.mjs +77 -0
  6. package/dist/browser.mjs.map +7 -0
  7. package/dist/cjs/index.js +6303 -0
  8. package/dist/cjs/index.js.map +7 -0
  9. package/dist/cjs/package.json +1 -0
  10. package/dist/cjs/utils.js +245 -0
  11. package/dist/cjs/utils.js.map +7 -0
  12. package/dist/esm/bearer-did.js +201 -0
  13. package/dist/esm/bearer-did.js.map +1 -0
  14. package/dist/esm/did-error.js +62 -0
  15. package/dist/esm/did-error.js.map +1 -0
  16. package/dist/esm/did.js +114 -0
  17. package/dist/esm/did.js.map +1 -0
  18. package/dist/esm/index.js +16 -0
  19. package/dist/esm/index.js.map +1 -0
  20. package/dist/esm/methods/did-dht.js +1241 -0
  21. package/dist/esm/methods/did-dht.js.map +1 -0
  22. package/dist/esm/methods/did-ion.js +570 -0
  23. package/dist/esm/methods/did-ion.js.map +1 -0
  24. package/dist/esm/methods/did-jwk.js +298 -0
  25. package/dist/esm/methods/did-jwk.js.map +1 -0
  26. package/dist/esm/methods/did-key.js +983 -0
  27. package/dist/esm/methods/did-key.js.map +1 -0
  28. package/dist/esm/methods/did-method.js +53 -0
  29. package/dist/esm/methods/did-method.js.map +1 -0
  30. package/dist/esm/methods/did-web.js +83 -0
  31. package/dist/esm/methods/did-web.js.map +1 -0
  32. package/dist/esm/resolver/resolver-cache-level.js +101 -0
  33. package/dist/esm/resolver/resolver-cache-level.js.map +1 -0
  34. package/dist/esm/resolver/resolver-cache-noop.js +24 -0
  35. package/dist/esm/resolver/resolver-cache-noop.js.map +1 -0
  36. package/dist/esm/resolver/universal-resolver.js +187 -0
  37. package/dist/esm/resolver/universal-resolver.js.map +1 -0
  38. package/dist/esm/types/did-core.js +51 -0
  39. package/dist/esm/types/did-core.js.map +1 -0
  40. package/dist/esm/types/did-resolution.js +12 -0
  41. package/dist/esm/types/did-resolution.js.map +1 -0
  42. package/dist/esm/types/multibase.js +2 -0
  43. package/dist/esm/types/multibase.js.map +1 -0
  44. package/dist/esm/types/portable-did.js +2 -0
  45. package/dist/esm/types/portable-did.js.map +1 -0
  46. package/dist/esm/utils.js +458 -0
  47. package/dist/esm/utils.js.map +1 -0
  48. package/dist/types/bearer-did.d.ts +143 -0
  49. package/dist/types/bearer-did.d.ts.map +1 -0
  50. package/dist/types/did-error.d.ts +50 -0
  51. package/dist/types/did-error.d.ts.map +1 -0
  52. package/dist/types/did.d.ts +125 -0
  53. package/dist/types/did.d.ts.map +1 -0
  54. package/dist/types/index.d.ts +18 -0
  55. package/dist/types/index.d.ts.map +1 -0
  56. package/dist/types/methods/did-dht.d.ts +682 -0
  57. package/dist/types/methods/did-dht.d.ts.map +1 -0
  58. package/dist/types/methods/did-ion.d.ts +492 -0
  59. package/dist/types/methods/did-ion.d.ts.map +1 -0
  60. package/dist/types/methods/did-jwk.d.ts +236 -0
  61. package/dist/types/methods/did-jwk.d.ts.map +1 -0
  62. package/dist/types/methods/did-key.d.ts +499 -0
  63. package/dist/types/methods/did-key.d.ts.map +1 -0
  64. package/dist/types/methods/did-method.d.ts +238 -0
  65. package/dist/types/methods/did-method.d.ts.map +1 -0
  66. package/dist/types/methods/did-web.d.ts +37 -0
  67. package/dist/types/methods/did-web.d.ts.map +1 -0
  68. package/dist/types/resolver/resolver-cache-level.d.ts +86 -0
  69. package/dist/types/resolver/resolver-cache-level.d.ts.map +1 -0
  70. package/dist/types/resolver/resolver-cache-noop.d.ts +9 -0
  71. package/dist/types/resolver/resolver-cache-noop.d.ts.map +1 -0
  72. package/dist/types/resolver/universal-resolver.d.ts +109 -0
  73. package/dist/types/resolver/universal-resolver.d.ts.map +1 -0
  74. package/dist/types/types/did-core.d.ts +523 -0
  75. package/dist/types/types/did-core.d.ts.map +1 -0
  76. package/dist/types/types/did-resolution.d.ts +85 -0
  77. package/dist/types/types/did-resolution.d.ts.map +1 -0
  78. package/dist/types/types/multibase.d.ts +28 -0
  79. package/dist/types/types/multibase.d.ts.map +1 -0
  80. package/dist/types/types/portable-did.d.ts +59 -0
  81. package/dist/types/types/portable-did.d.ts.map +1 -0
  82. package/dist/types/utils.d.ts +378 -0
  83. package/dist/types/utils.d.ts.map +1 -0
  84. package/dist/utils.js +28 -0
  85. package/dist/utils.js.map +7 -0
  86. package/package.json +116 -0
  87. package/src/bearer-did.ts +287 -0
  88. package/src/did-error.ts +75 -0
  89. package/src/did.ts +186 -0
  90. package/src/index.ts +21 -0
  91. package/src/methods/did-dht.ts +1637 -0
  92. package/src/methods/did-ion.ts +887 -0
  93. package/src/methods/did-jwk.ts +410 -0
  94. package/src/methods/did-key.ts +1248 -0
  95. package/src/methods/did-method.ts +276 -0
  96. package/src/methods/did-web.ts +96 -0
  97. package/src/resolver/resolver-cache-level.ts +163 -0
  98. package/src/resolver/resolver-cache-noop.ts +26 -0
  99. package/src/resolver/universal-resolver.ts +238 -0
  100. package/src/types/did-core.ts +580 -0
  101. package/src/types/did-resolution.ts +93 -0
  102. package/src/types/multibase.ts +29 -0
  103. package/src/types/portable-did.ts +64 -0
  104. package/src/utils.ts +532 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did-ion.js","sourceRoot":"","sources":["../../../src/methods/did-ion.ts"],"names":[],"mappings":";;;;;;;;;AAQA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAatE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAsNzE;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,uBAuBX;AAvBD,WAAY,uBAAuB;IACjC;;;OAGG;IACH,8CAAmB,CAAA;IAEnB;;;OAGG;IACH,kDAAuB,CAAA;IAEvB;;;OAGG;IACH,kDAAuB,CAAA;IAEvB;;OAEG;IACH,4CAAiB,CAAA;AACnB,CAAC,EAvBW,uBAAuB,KAAvB,uBAAuB,QAuBlC;AAED;;;GAGG;AACH,MAAM,qBAAqB,GAAG;IAC5B,OAAO,EAAK,uBAAuB,CAAC,OAAO;IAC3C,MAAM,EAAM,uBAAuB,CAAC,SAAS;IAC7C,KAAK,EAAO,uBAAuB,CAAC,SAAS;IAC7C,OAAO,EAAK,uBAAuB,CAAC,SAAS;IAC7C,SAAS,EAAG,uBAAuB,CAAC,SAAS;IAC7C,SAAS,EAAG,uBAAuB,CAAC,SAAS;CACrC,CAAC;AAEX;;;GAGG;AACH,MAAM,mBAAmB,GAAG,6BAA6B,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,MAAM,OAAO,MAAO,SAAQ,SAAS;IAOnC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,MAAM,CAAO,MAAM;6DAAiD,EACzE,UAAU,GAAG,IAAI,eAAe,EAAE,EAClC,OAAO,GAAG,EAAE,KAIV,EAAE;YACJ,+FAA+F;YAC/F,2CAA2C;;YAE3C,6FAA6F;YAC7F,yBAAyB;YACzB,IAAI,MAAA,OAAO,CAAC,mBAAmB,0CAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,qBAAqB,CAAC,CAAC,EAAE,CAAC;gBACtF,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAClF,CAAC;YAED,6EAA6E;YAC7E,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,mBAAmB,0CAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9D,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACxE,CAAC;YAED,qFAAqF;YACrF,IAAI,MAAA,OAAO,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC;gBACxE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,CAAC;YAED,6FAA6F;YAC7F,MAAM,yBAAyB,GAAsC;gBACnE,SAAS,EAAG,SAAgB;gBAC5B,QAAQ,EAAI,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,sBAAsB,CAAC;aAClG,CAAC;YAEF,MAAM,wBAAwB,GAA+B,EAAE,CAAC;YAEhE,4EAA4E;YAC5E,KAAK,MAAM,EAAE,IAAI,MAAA,OAAO,CAAC,mBAAmB,mCAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBAC5E,qDAAqD;gBACrD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;gBACzE,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;gBAE5D,mDAAmD;gBACnD,wBAAwB,CAAC,IAAI,CAAC;oBAC5B,EAAE,EAAa,EAAE,CAAC,EAAE;oBACpB,YAAY,EAAG,SAAS;oBACxB,QAAQ,EAAO,MAAA,EAAE,CAAC,QAAQ,mCAAI,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,sBAAsB,CAAC;iBACpH,CAAC,CAAC;YACL,CAAC;YAED,6FAA6F;YAC7F,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,uBAAuB,CAAC,SAAS,EAAE,CAAC,CAAC;YACtG,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;YAE9E,yFAAyF;YACzF,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,uBAAuB,CAAC,SAAS,EAAE,CAAC,CAAC;YACpG,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;YAE1E,oEAAoE;YACpE,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,qBAAqB,CAAC;gBAC7D,WAAW;gBACX,SAAS;gBACT,QAAQ,EAAc,MAAA,OAAO,CAAC,QAAQ,mCAAI,EAAE;gBAC5C,mBAAmB,EAAG,wBAAwB;aAC/C,CAAC,CAAC;YAEH,+CAA+C;YAC/C,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;YACxH,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,0CAA0C,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,KAAK,EAAE,CAAC,CAAC;YAC5F,CAAC;YAED,6FAA6F;YAC7F,yEAAyE;YACzE,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC;gBACxB,GAAG,EAAQ,cAAc;gBACzB,QAAQ,EAAG,WAAW;gBACtB,QAAQ,EAAG;oBACT,SAAS,EAAK,KAAK;oBACnB,WAAW,EAAG,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;oBACpD,WAAW;oBACX,SAAS;iBACV;gBACD,UAAU;aACX,CAAC,CAAC;YAEH,sFAAsF;YACtF,IAAI,MAAA,OAAO,CAAC,OAAO,mCAAI,IAAI,EAAE,CAAC;gBAC5B,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;gBACzF,GAAG,CAAC,QAAQ,GAAG,kBAAkB,CAAC,mBAAmB,CAAC;YACxD,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAED;;;;;;;;;;OAUG;IACI,MAAM,CAAO,gBAAgB;6DAAC,EAAE,WAAW,EAAE,QAAQ,EAG3D;;YACC,sCAAsC;YACtC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtD,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,yBAAyB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YACnG,CAAC;YAED,0FAA0F;YAC1F,MAAM,kBAAkB,GAAG,MAAA,WAAW,CAAC,kBAAkB,0CAAE,IAAI,CAC7D,EAAE,CAAC,EAAE,WAAC,OAAA,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,MAAA,WAAW,CAAC,eAAe,0CAAG,CAAC,CAAC,CAAC,CAAA,EAAA,CAC/D,CAAC;YAEF,IAAI,CAAC,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,0FAA0F,CAAC,CAAC;YAC7I,CAAC;YAED,OAAO,kBAAkB,CAAC;QAC5B,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACI,MAAM,CAAO,MAAM;6DAAC,EAAE,WAAW,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAG3E;YACC,sCAAsC;YACtC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,MAAK,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC5C,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;YAEhE,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACI,MAAM,CAAO,OAAO;6DAAC,EAAE,GAAG,EAAE,UAAU,GAAG,mBAAmB,EAGlE;;YACC,6FAA6F;YAC7F,2CAA2C;YAC3C,MAAM,mBAAmB,GAA+B,MAAA,MAAA,GAAG,CAAC,QAAQ,CAAC,kBAAkB,0CAAE,GAAG,CAC1F,EAAE,CAAC,EAAE,CAAC,CAAC;gBACL,EAAE,EAAa,EAAE,CAAC,EAAE;gBACpB,YAAY,EAAG,EAAE,CAAC,YAAa;gBAC/B,QAAQ,EAAO,gCAAgC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;aAChG,CAAC,CACH,mCAAI,EAAE,CAAC;YAER,2BAA2B;YAC3B,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC;gBACtD,QAAQ,EAAE,MAAA,GAAG,CAAC,QAAQ,CAAC,OAAO,mCAAI,EAAE;gBACpC,mBAAmB;aACpB,CAAC,CAAC;YAEH,8CAA8C;YAC9C,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,sBAAsB,CAAC;gBAC/D,WAAW;gBACX,WAAW,EAAG,GAAG,CAAC,QAAQ,CAAC,WAAW;gBACtC,SAAS,EAAK,GAAG,CAAC,QAAQ,CAAC,SAAS;aACrC,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,gEAAgE;gBAChE,MAAM,aAAa,GAAG,WAAW,CAAC,eAAe,CAAC;oBAChD,OAAO,EAAG,UAAU;oBACpB,IAAI,EAAM,aAAa;iBACxB,CAAC,CAAC;gBAEH,0DAA0D;gBAC1D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE;oBAC1C,MAAM,EAAI,MAAM;oBAChB,IAAI,EAAM,MAAM;oBAChB,OAAO,EAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAChD,IAAI,EAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;iBAC1C,CAAC,CAAC;gBAEH,2FAA2F;gBAC3F,8BAA8B;gBAC9B,OAAO;oBACL,WAAW,EAAW,GAAG,CAAC,QAAQ;oBAClC,mBAAmB,kCACd,GAAG,CAAC,QAAQ,KACf,SAAS,EAAE,QAAQ,CAAC,EAAE,GACvB;oBACD,uBAAuB,EAAE,EAAE;iBAC5B,CAAC;YAEJ,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO;oBACL,WAAW,EAAW,IAAI;oBAC1B,mBAAmB,EAAG;wBACpB,SAAS,EAAE,KAAK;qBACjB;oBACD,uBAAuB,EAAE;wBACvB,KAAK,EAAU,YAAY,CAAC,aAAa;wBACzC,YAAY,EAAG,uCAAuC,GAAG,CAAC,GAAG,EAAE;qBAChE;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,MAAM,CAAO,OAAO;6DAAC,MAAc,EAAE,UAAgC,EAAE;;YAC5E,gCAAgC;YAChC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAEpC,yCAAyC;YACzC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,uCACK,2BAA2B,KAC9B,qBAAqB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAC9C;YACJ,CAAC;YAED,mDAAmD;YACnD,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC3C,uCACK,2BAA2B,KAC9B,qBAAqB,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,IACtD;YACJ,CAAC;YAED,8FAA8F;YAC9F,MAAM,UAAU,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,mBAAmB,CAAC;YAE9D,IAAI,CAAC;gBACH,0DAA0D;gBAC1D,MAAM,aAAa,GAAG,WAAW,CAAC,eAAe,CAAC;oBAChD,OAAO,EAAG,UAAU;oBACpB,IAAI,EAAM,gBAAgB,MAAM,EAAE;iBACnC,CAAC,CAAC;gBAEH,4EAA4E;gBAC5E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC;gBAE5C,sDAAsD;gBACtD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,oCAAoC,MAAM,EAAE,CAAC,CAAC;gBAC1F,CAAC;gBAED,6DAA6D;gBAC7D,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAyB,CAAC;gBAC1F,qDACK,2BAA2B,GAC3B,WAAW,IAAI,EAAE,WAAW,EAAE,KACjC,mBAAmB,kBACjB,SAAS,EAAE,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,0CAAE,SAAS,IAC9C,mBAAmB,KAExB;YAEJ,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,2DAA2D;gBAC3D,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;gBAEzD,kEAAkE;gBAClE,uCACK,2BAA2B,KAC9B,qBAAqB,kBACnB,KAAK,EAAE,KAAK,CAAC,IAAI,IACd,KAAK,CAAC,OAAO,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,KAErD;YACJ,CAAC;QACH,CAAC;KAAA;;AAtXD;;GAEG;AACW,iBAAU,GAAG,KAAK,CAAC;AAsXnC;;GAEG;AACH,MAAM,OAAO,WAAW;IACtB;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAG5C;QACC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC;QAC9E,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEhE,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED;;;;;;;;;;OAUG;IACI,MAAM,CAAO,qBAAqB;6DAAC,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,EAKhG;YACC,2BAA2B;YAC3B,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAE3F,8EAA8E;YAC9E,MAAM,qBAAqB,GAAG,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACpE,MAAM,mBAAmB,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAEhE,iCAAiC;YACjC,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC;gBACpD,QAAQ,EAAM,WAAW;gBACzB,WAAW,EAAG,qBAAkC;gBAChD,SAAS,EAAK,mBAAgC;aAC/C,CAAC,CAAC;YAEH,OAAO,cAAc,CAAC;QACxB,CAAC;KAAA;IAED;;;;;;;;;;;OAWG;IACI,MAAM,CAAO,sBAAsB;6DAAC,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAI/E;YACC,8CAA8C;YAC9C,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC;gBACzD,QAAQ,EAAM,WAAW;gBACzB,WAAW,EAAG,WAAW,CAAC,YAAY,CAAC,WAAW,CAAc;gBAChE,SAAS,EAAK,WAAW,CAAC,YAAY,CAAC,SAAS,CAAc;aAC/D,CAAwB,CAAC;YAE1B,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;IAED;;;;;;;;;;;;;OAaG;IACI,MAAM,CAAO,iBAAiB;6DAAC,EAAE,QAAQ,EAAE,mBAAmB,EAGpE;;YACC;;eAEG;YACH,MAAM,aAAa,GAAwB,EAAE,CAAC;YAE9C,KAAK,MAAM,EAAE,IAAI,mBAAmB,EAAE,CAAC;gBACrC,yFAAyF;gBACzF,IAAI,QAAQ,GAAG,MAAA,MAAA,EAAE,CAAC,EAAE,mCAAI,EAAE,CAAC,YAAY,CAAC,GAAG,mCAAI,MAAM,oBAAoB,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;gBACpG,QAAQ,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,kCAAkC;gBAE7E,wCAAwC;gBACxC,MAAM,SAAS,GAAsB;oBACnC,EAAE,EAAa,QAAQ;oBACvB,YAAY,EAAG,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC;oBACxD,QAAQ,EAAO,EAAE,CAAC,QAAiC;oBACnD,IAAI,EAAW,gBAAgB;iBAChC,CAAC;gBAEF,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;YAED;;eAEG;YACH,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,iCACvC,OAAO,KACV,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kCAAkC;gBACvE,CAAC,CAAC;YAEJ;;eAEG;YACH,MAAM,gBAAgB,GAAqB;gBACzC,UAAU,EAAG,aAAa;gBAC1B,QAAQ,EAAK,WAAW;aACzB,CAAC;YAEF,OAAO,gBAAgB,CAAC;QAC1B,CAAC;KAAA;IAED;;;;;OAKG;IACK,MAAM,CAAC,YAAY,CAAC,GAAQ;QAClC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;QACxB,IAAI,aAAkB,CAAC;QAEvB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,aAAa,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACrE,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YAC7B,aAAa,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAC7C,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YAC7B,aAAa,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QAC3D,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YAC7B,aAAa,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
@@ -0,0 +1,298 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { Convert } from '@enbox/common';
11
+ import { LocalKeyManager } from '@enbox/crypto';
12
+ import { Did } from '../did.js';
13
+ import { DidMethod } from './did-method.js';
14
+ import { BearerDid } from '../bearer-did.js';
15
+ import { DidError, DidErrorCode } from '../did-error.js';
16
+ import { EMPTY_DID_RESOLUTION_RESULT } from '../types/did-resolution.js';
17
+ /**
18
+ * The `DidJwk` class provides an implementation of the `did:jwk` DID method.
19
+ *
20
+ * Features:
21
+ * - DID Creation: Create new `did:jwk` DIDs.
22
+ * - DID Key Management: Instantiate a DID object from an existing verification method key set or
23
+ * or a key in a Key Management System (KMS). If supported by the KMS, a DID's
24
+ * key can be exported to a portable DID format.
25
+ * - DID Resolution: Resolve a `did:jwk` to its corresponding DID Document.
26
+ * - Signature Operations: Sign and verify messages using keys associated with a DID.
27
+ *
28
+ * @remarks
29
+ * The `did:jwk` DID method uses a single JSON Web Key (JWK) to generate a DID and does not rely
30
+ * on any external system such as a blockchain or centralized database. This characteristic makes
31
+ * it suitable for use cases where a assertions about a DID Subject can be self-verifiable by
32
+ * third parties.
33
+ *
34
+ * The DID URI is formed by Base64URL-encoding the JWK and prefixing with `did:jwk:`. The DID
35
+ * Document of a `did:jwk` DID contains a single verification method, which is the JWK used
36
+ * to generate the DID. The verification method is identified by the key ID `#0`.
37
+ *
38
+ * @see {@link https://github.com/quartzjer/did-jwk/blob/main/spec.md | DID JWK Specification}
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * // DID Creation
43
+ * const did = await DidJwk.create();
44
+ *
45
+ * // DID Creation with a KMS
46
+ * const keyManager = new LocalKeyManager();
47
+ * const did = await DidJwk.create({ keyManager });
48
+ *
49
+ * // DID Resolution
50
+ * const resolutionResult = await DidJwk.resolve({ did: did.uri });
51
+ *
52
+ * // Signature Operations
53
+ * const signer = await did.getSigner();
54
+ * const signature = await signer.sign({ data: new TextEncoder().encode('Message') });
55
+ * const isValid = await signer.verify({ data: new TextEncoder().encode('Message'), signature });
56
+ *
57
+ * // Key Management
58
+ *
59
+ * // Instantiate a DID object from an existing key in a KMS
60
+ * const did = await DidJwk.fromKeyManager({
61
+ * didUri: 'did:jwk:eyJrIjoiT0tQIiwidCI6IkV1c2UyNTYifQ',
62
+ * keyManager
63
+ * });
64
+ *
65
+ * // Instantiate a DID object from an existing verification method key
66
+ * const did = await DidJwk.fromKeys({
67
+ * verificationMethods: [{
68
+ * publicKeyJwk: {
69
+ * kty: 'OKP',
70
+ * crv: 'Ed25519',
71
+ * x: 'cHs7YMLQ3gCWjkacMURBsnEJBcEsvlsE5DfnsfTNDP4'
72
+ * },
73
+ * privateKeyJwk: {
74
+ * kty: 'OKP',
75
+ * crv: 'Ed25519',
76
+ * x: 'cHs7YMLQ3gCWjkacMURBsnEJBcEsvlsE5DfnsfTNDP4',
77
+ * d: 'bdcGE4KzEaekOwoa-ee3gAm1a991WvNj_Eq3WKyqTnE'
78
+ * }
79
+ * }]
80
+ * });
81
+ *
82
+ * // Convert a DID object to a portable format
83
+ * const portableDid = await DidJwk.toKeys({ did });
84
+ *
85
+ * // Reconstruct a DID object from a portable format
86
+ * const did = await DidJwk.fromKeys(portableDid);
87
+ * ```
88
+ */
89
+ export class DidJwk extends DidMethod {
90
+ /**
91
+ * Creates a new DID using the `did:jwk` method formed from a newly generated key.
92
+ *
93
+ * @remarks
94
+ * The DID URI is formed by Base64URL-encoding the JWK and prefixing with `did:jwk:`.
95
+ *
96
+ * Notes:
97
+ * - If no `options` are given, by default a new Ed25519 key will be generated.
98
+ * - The `algorithm` and `verificationMethods` options are mutually exclusive. If both are given,
99
+ * an error will be thrown.
100
+ *
101
+ * @example
102
+ * ```ts
103
+ * // DID Creation
104
+ * const did = await DidJwk.create();
105
+ *
106
+ * // DID Creation with a KMS
107
+ * const keyManager = new LocalKeyManager();
108
+ * const did = await DidJwk.create({ keyManager });
109
+ * ```
110
+ *
111
+ * @param params - The parameters for the create operation.
112
+ * @param params.keyManager - Optionally specify a Key Management System (KMS) used to generate
113
+ * keys and sign data.
114
+ * @param params.options - Optional parameters that can be specified when creating a new DID.
115
+ * @returns A Promise resolving to a {@link BearerDid} object representing the new DID.
116
+ */
117
+ static create() {
118
+ return __awaiter(this, arguments, void 0, function* ({ keyManager = new LocalKeyManager(), options = {} } = {}) {
119
+ // Before processing the create operation, validate DID-method-specific requirements to prevent
120
+ // keys from being generated unnecessarily.
121
+ var _a, _b, _c, _d;
122
+ // Check 1: Validate that `algorithm` or `verificationMethods` options are not both given.
123
+ if (options.algorithm && options.verificationMethods) {
124
+ throw new Error(`The 'algorithm' and 'verificationMethods' options are mutually exclusive`);
125
+ }
126
+ // Check 2: If `verificationMethods` is given, it must contain exactly one entry since DID JWK
127
+ // only supports a single verification method.
128
+ if (options.verificationMethods && options.verificationMethods.length !== 1) {
129
+ throw new Error(`The 'verificationMethods' option must contain exactly one entry`);
130
+ }
131
+ // Default to Ed25519 key generation if an algorithm is not given.
132
+ const algorithm = (_d = (_a = options.algorithm) !== null && _a !== void 0 ? _a : (_c = (_b = options.verificationMethods) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.algorithm) !== null && _d !== void 0 ? _d : 'Ed25519';
133
+ // Generate a new key using the specified `algorithm`.
134
+ const keyUri = yield keyManager.generateKey({ algorithm });
135
+ const publicKey = yield keyManager.getPublicKey({ keyUri });
136
+ // Compute the DID identifier from the public key by serializing the JWK to a UTF-8 string and
137
+ // encoding in Base64URL format.
138
+ const identifier = Convert.object(publicKey).toBase64Url();
139
+ // Attach the prefix `did:jwk` to form the complete DID URI.
140
+ const didUri = `did:${DidJwk.methodName}:${identifier}`;
141
+ // Expand the DID URI string to a DID document.
142
+ const didResolutionResult = yield DidJwk.resolve(didUri);
143
+ const document = didResolutionResult.didDocument;
144
+ // Create the BearerDid object from the generated key material.
145
+ const did = new BearerDid({
146
+ uri: didUri,
147
+ document,
148
+ metadata: {},
149
+ keyManager
150
+ });
151
+ return did;
152
+ });
153
+ }
154
+ /**
155
+ * Given the W3C DID Document of a `did:jwk` DID, return the verification method that will be used
156
+ * for signing messages and credentials. If given, the `methodId` parameter is used to select the
157
+ * verification method. If not given, the first verification method in the DID Document is used.
158
+ *
159
+ * Note that for DID JWK, only one verification method can exist so specifying `methodId` could be
160
+ * considered redundant or unnecessary. The option is provided for consistency with other DID
161
+ * method implementations.
162
+ *
163
+ * @param params - The parameters for the `getSigningMethod` operation.
164
+ * @param params.didDocument - DID Document to get the verification method from.
165
+ * @param params.methodId - ID of the verification method to use for signing.
166
+ * @returns Verification method to use for signing.
167
+ */
168
+ static getSigningMethod(_a) {
169
+ return __awaiter(this, arguments, void 0, function* ({ didDocument }) {
170
+ var _b;
171
+ // Verify the DID method is supported.
172
+ const parsedDid = Did.parse(didDocument.id);
173
+ if (parsedDid && parsedDid.method !== this.methodName) {
174
+ throw new DidError(DidErrorCode.MethodNotSupported, `Method not supported: ${parsedDid.method}`);
175
+ }
176
+ // Attempt to find the verification method in the DID Document.
177
+ const [verificationMethod] = (_b = didDocument.verificationMethod) !== null && _b !== void 0 ? _b : [];
178
+ if (!(verificationMethod && verificationMethod.publicKeyJwk)) {
179
+ throw new DidError(DidErrorCode.InternalError, 'A verification method intended for signing could not be determined from the DID Document');
180
+ }
181
+ return verificationMethod;
182
+ });
183
+ }
184
+ /**
185
+ * Instantiates a {@link BearerDid} object for the DID JWK method from a given {@link PortableDid}.
186
+ *
187
+ * This method allows for the creation of a `BearerDid` object using a previously created DID's
188
+ * key material, DID document, and metadata.
189
+ *
190
+ * @remarks
191
+ * The `verificationMethod` array of the DID document must contain exactly one key since the
192
+ * `did:jwk` method only supports a single verification method.
193
+ *
194
+ * @example
195
+ * ```ts
196
+ * // Export an existing BearerDid to PortableDid format.
197
+ * const portableDid = await did.export();
198
+ * // Reconstruct a BearerDid object from the PortableDid.
199
+ * const did = await DidJwk.import({ portableDid });
200
+ * ```
201
+ *
202
+ * @param params - The parameters for the import operation.
203
+ * @param params.portableDid - The PortableDid object to import.
204
+ * @param params.keyManager - Optionally specify an external Key Management System (KMS) used to
205
+ * generate keys and sign data. If not given, a new
206
+ * {@link LocalKeyManager} instance will be created and
207
+ * used.
208
+ * @returns A Promise resolving to a `BearerDid` object representing the DID formed from the provided keys.
209
+ * @throws An error if the DID document does not contain exactly one verification method.
210
+ */
211
+ static import(_a) {
212
+ return __awaiter(this, arguments, void 0, function* ({ portableDid, keyManager = new LocalKeyManager() }) {
213
+ // Verify the DID method is supported.
214
+ const parsedDid = Did.parse(portableDid.uri);
215
+ if ((parsedDid === null || parsedDid === void 0 ? void 0 : parsedDid.method) !== DidJwk.methodName) {
216
+ throw new DidError(DidErrorCode.MethodNotSupported, `Method not supported`);
217
+ }
218
+ // Use the given PortableDid to construct the BearerDid object.
219
+ const did = yield BearerDid.import({ portableDid, keyManager });
220
+ // Validate that the given DID document contains exactly one verification method.
221
+ // Note: The non-undefined assertion is necessary because the type system cannot infer that
222
+ // the `verificationMethod` property is defined -- which is checked by `BearerDid.import()`.
223
+ if (did.document.verificationMethod.length !== 1) {
224
+ throw new DidError(DidErrorCode.InvalidDidDocument, `DID document must contain exactly one verification method`);
225
+ }
226
+ return did;
227
+ });
228
+ }
229
+ /**
230
+ * Resolves a `did:jwk` identifier to a DID Document.
231
+ *
232
+ * @param didUri - The DID to be resolved.
233
+ * @param _options - Optional parameters for resolving the DID. Unused by this DID method.
234
+ * @returns A Promise resolving to a {@link DidResolutionResult} object representing the result of the resolution.
235
+ */
236
+ static resolve(didUri, _options) {
237
+ return __awaiter(this, void 0, void 0, function* () {
238
+ // Attempt to parse the DID URI.
239
+ const parsedDid = Did.parse(didUri);
240
+ // Attempt to decode the Base64URL-encoded JWK.
241
+ let publicKey;
242
+ try {
243
+ publicKey = Convert.base64Url(parsedDid.id).toObject();
244
+ }
245
+ catch ( /* Consume the error so that a DID resolution error can be returned later. */_a) { /* Consume the error so that a DID resolution error can be returned later. */ }
246
+ // If parsing or decoding failed, the DID is invalid.
247
+ if (!parsedDid || !publicKey) {
248
+ return Object.assign(Object.assign({}, EMPTY_DID_RESOLUTION_RESULT), { didResolutionMetadata: { error: 'invalidDid' } });
249
+ }
250
+ // If the DID method is not "jwk", return an error.
251
+ if (parsedDid.method !== DidJwk.methodName) {
252
+ return Object.assign(Object.assign({}, EMPTY_DID_RESOLUTION_RESULT), { didResolutionMetadata: { error: 'methodNotSupported' } });
253
+ }
254
+ const didDocument = {
255
+ '@context': [
256
+ 'https://www.w3.org/ns/did/v1'
257
+ ],
258
+ id: parsedDid.uri
259
+ };
260
+ const keyUri = `${didDocument.id}#0`;
261
+ // Set the Verification Method property.
262
+ didDocument.verificationMethod = [{
263
+ id: keyUri,
264
+ type: 'JsonWebKey',
265
+ controller: didDocument.id,
266
+ publicKeyJwk: publicKey
267
+ }];
268
+ // Set the Verification Relationship properties.
269
+ didDocument.authentication = [keyUri];
270
+ didDocument.assertionMethod = [keyUri];
271
+ didDocument.capabilityInvocation = [keyUri];
272
+ didDocument.capabilityDelegation = [keyUri];
273
+ didDocument.keyAgreement = [keyUri];
274
+ // If the JWK contains a `use` property with the value "sig" then the `keyAgreement` property
275
+ // is not included in the DID Document. If the `use` value is "enc" then only the `keyAgreement`
276
+ // property is included in the DID Document.
277
+ switch (publicKey.use) {
278
+ case 'sig': {
279
+ delete didDocument.keyAgreement;
280
+ break;
281
+ }
282
+ case 'enc': {
283
+ delete didDocument.authentication;
284
+ delete didDocument.assertionMethod;
285
+ delete didDocument.capabilityInvocation;
286
+ delete didDocument.capabilityDelegation;
287
+ break;
288
+ }
289
+ }
290
+ return Object.assign(Object.assign({}, EMPTY_DID_RESOLUTION_RESULT), { didDocument });
291
+ });
292
+ }
293
+ }
294
+ /**
295
+ * Name of the DID method, as defined in the DID JWK specification.
296
+ */
297
+ DidJwk.methodName = 'jwk';
298
+ //# sourceMappingURL=did-jwk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did-jwk.js","sourceRoot":"","sources":["../../../src/methods/did-jwk.ts"],"names":[],"mappings":"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"}