@blockcerts/blockcerts-verifier 1.72.2 → 1.72.4

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 (34) hide show
  1. package/bundle-stats.html +1 -1
  2. package/coverage/lcov.info +2100 -1424
  3. package/dist/{DataIntegrityProof-BhL7Kkhm-affsdujn.js → DataIntegrityProof-x-pKdBCc-B_YUlE0Z.js} +1 -1
  4. package/dist/{EcdsaSd2023-CUjrjGzC-Cx7ejHu-.js → EcdsaSd2023-CU35O_1w-CISk0lEt.js} +6 -6
  5. package/dist/{EcdsaSecp256k1Signature2019-D90cAynb-Bf5kILPF.js → EcdsaSecp256k1Signature2019-DiXIv8yq-B2kEN_Qo.js} +1 -1
  6. package/dist/{Ed25519Signature2020-fJGvlbIp-B6XhFwr4.js → Ed25519Signature2020-B6yblwC5-BRlzT2Yc.js} +5 -5
  7. package/dist/EddsaRdfc2022-Csk9U_qt-B798omlR.js +14 -0
  8. package/dist/{HashlinkVerifier-udsj5z09-BTqOkVoD.js → HashlinkVerifier-Bi7nn19S-DMjUYzMR.js} +1 -1
  9. package/dist/{MerkleProof2017-C0RhRNNx-zjQMRSQY.js → MerkleProof2017-BIJKwMk5-CLYAJK4G.js} +1 -1
  10. package/dist/{MerkleProof2019-B7f1hhem-CjLDyx6Q.js → MerkleProof2019-CeAt2OGM-DOuISx_E.js} +1 -1
  11. package/dist/_polyfill-node.crypto-MVmI5M_M-exGcp6nW.js +1 -0
  12. package/dist/{checkCredentialSchemaConformity-CgpOS3eC-AjSPoJub.js → checkCredentialSchemaConformity-CECtM4WI-C1vg05zb.js} +1 -1
  13. package/dist/{checkRevocationStatusList2021-D4VNDRlW-DgNfOAoI.js → checkRevocationStatusList2021-B7NFlV-5-C3Zng1tA.js} +1 -1
  14. package/dist/controlVerificationMethod-Cuyek_Vk-C_Uq2iA5.js +1 -0
  15. package/dist/{index-DjD0A6uJ-BdFUkPCF.js → index-D7PA_QcD-CyttRwCk.js} +4 -4
  16. package/dist/{index-DZ7aUhT_-D0G2DVsh.js → index-DFOHyoZq-BCuOIg2Z.js} +11 -11
  17. package/dist/{jsonld-signatures-D4X_Irzi-D_wBqxSl.js → jsonld-signatures-BtZPa7MV-DTekMXP5.js} +2 -2
  18. package/dist/main.js +118 -118
  19. package/dist/{retrieveVerificationMethodPublicKey-D_autuwE-DGbK-RPm.js → retrieveVerificationMethodPublicKey-DcEGtx_h-D1zuvtQB.js} +1 -1
  20. package/dist/verifyIssuerProfile-DQji41Fc-l31-7imR.js +1 -0
  21. package/dist/webcrypto.es-aoUxIxUm-gGk5JRJH.js +40 -0
  22. package/package.json +4 -4
  23. package/dist/EddsaRdfc2022-XufziFi3-D5IoKiRE.js +0 -14
  24. package/dist/_polyfill-node.crypto-DGISCHrB-C5-OOGc0.js +0 -1
  25. package/dist/controlVerificationMethod-CSwPoUL8-CvUADmjg.js +0 -1
  26. package/dist/ed25519-key-pair.esm-DxoBwwVJ-D8j8wFfG.js +0 -1
  27. package/dist/tslib.es6--gQC4x5c-CmLYFWVC.js +0 -1
  28. package/dist/verifyIssuerProfile-2PhdMtQZ-CfqcAkBL.js +0 -1
  29. package/dist/webcrypto.es-BOyMRPOj-CAxP3jJR.js +0 -40
  30. /package/dist/{Suite-Bu3gszvt-Dmvbh142.js → Suite-CBLHluYK-Dmvbh142.js} +0 -0
  31. /package/dist/{ensureNotRevoked-ByWaYoog-BheL-ZKZ.js → ensureNotRevoked-CNUfpW4F-BheL-ZKZ.js} +0 -0
  32. /package/dist/{ensureValidIssuingKey-DEV9E0Ph-DY8BTObG.js → ensureValidIssuingKey-DN2kpCwj-DY8BTObG.js} +0 -0
  33. /package/dist/{index-CyNtT_1q-Dgus2xdV.js → index-6G1g4ypj-Dgus2xdV.js} +0 -0
  34. /package/dist/{index-tlZQQ_rg-CYTlxhyY.js → index-DNlz8u7B-CYTlxhyY.js} +0 -0
@@ -1,29 +1,29 @@
1
- import{s as e,f as t,u as r}from"./main.js";import{a as n,r as i,b as o,c as s,h as c,d as u,i as a,e as f,f as l,g as d,s as y}from"./sha2-JcCWfgvE-By1_saxP.js";
1
+ import{t as e,f as t,v as r}from"./main.js";import{a as n,r as i,b as o,c as s,h as c,d as u,i as a,e as f,f as l,g as d,s as y}from"./sha2-JcCWfgvE-By1_saxP.js";
2
2
  /*!
3
3
  * Copyright (c) 2023 Digital Bazaar, Inc. All rights reserved.
4
4
  */
5
- const h="ECDSA",p=!0,w="https://w3id.org/security/suites/ecdsa-2019/v1",b="https://w3id.org/security/multikey/v1",g="z",m=new Uint8Array([231,1]),E=new Uint8Array([128,36]),v=new Uint8Array([129,36]),B=new Uint8Array([130,36]),k=new Uint8Array([129,38]),x=new Uint8Array([134,38]),K=new Uint8Array([135,38]),O=new Uint8Array([136,38]),R="P-256",A="P-384",S="P-521",U="K-256",I="SHA-256",M="SHA-384",q="SHA-512",j=globalThis.crypto,C=globalThis.CryptoKey??j.CryptoKey;function N({curve:e}){if(e===R||e===U)return I;if(e===A)return M;if(e===S)return q;throw new TypeError(`Unsupported curve "${e}".`)}
5
+ const h="ECDSA",p=!0,w="https://w3id.org/security/suites/ecdsa-2019/v1",b="https://w3id.org/security/multikey/v1",g="z",m=new Uint8Array([231,1]),E=new Uint8Array([128,36]),v=new Uint8Array([129,36]),B=new Uint8Array([130,36]),x=new Uint8Array([129,38]),k=new Uint8Array([134,38]),K=new Uint8Array([135,38]),R=new Uint8Array([136,38]),O="P-256",A="P-384",U="P-521",S="K-256",I="SHA-256",q="SHA-384",C="SHA-512",M=globalThis.crypto,N=globalThis.CryptoKey??M.CryptoKey;function j({curve:e}){if(e===O||e===S)return I;if(e===A)return q;if(e===U)return C;throw new TypeError(`Unsupported curve "${e}".`)}
6
6
  /*!
7
7
  * Copyright (c) 2022-2023 Digital Bazaar, Inc. All rights reserved.
8
- */function P({publicMultikey:e}){if(e[0]===E[0]&&e[1]===E[1])return R;if(e[0]===v[0]&&e[1]===v[1])return A;if(e[0]===B[0]&&e[1]===B[1])return S;if(e[0]===m[0]&&e[1]===m[1])return U;throw new TypeError("Unsupported public multikey header.")}function T({secretMultikey:e}){if(e[0]===x[0]&&e[1]===x[1])return R;if(e[0]===K[0]&&e[1]===K[1])return A;if(e[0]===O[0]&&e[1]===O[1])return S;if(e[0]===k[0]&&e[1]===k[1])return U;throw new TypeError("Unsupported secret multikey header.")}function F({curve:e}){if(e===R||e===U)return 32;if(e===A)return 48;if(e===S)return 66;throw new TypeError(`Unsupported curve "${e}".`)}
8
+ */function T({publicMultikey:e}){if(e[0]===E[0]&&e[1]===E[1])return O;if(e[0]===v[0]&&e[1]===v[1])return A;if(e[0]===B[0]&&e[1]===B[1])return U;if(e[0]===m[0]&&e[1]===m[1])return S;throw new TypeError("Unsupported public multikey header.")}function F({secretMultikey:e}){if(e[0]===k[0]&&e[1]===k[1])return O;if(e[0]===K[0]&&e[1]===K[1])return A;if(e[0]===R[0]&&e[1]===R[1])return U;if(e[0]===x[0]&&e[1]===x[1])return S;throw new TypeError("Unsupported secret multikey header.")}function P({curve:e}){if(e===O||e===S)return 32;if(e===A)return 48;if(e===U)return 66;throw new TypeError(`Unsupported curve "${e}".`)}
9
9
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
10
10
  const H=BigInt(0),Z=BigInt(1);function V(e,t=""){if("boolean"!=typeof e){throw new Error((t&&`"${t}" `)+"expected boolean, got type="+typeof e)}return e}function D(e){if("bigint"==typeof e){if(!G(e))throw new Error("positive bigint expected, got "+e)}else d(e);return e}function L(e){const t=D(e).toString(16);return 1&t.length?"0"+t:t}function _(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);return""===e?H:BigInt("0x"+e)}function $(e){return _(o(e))}function Y(e){return _(o(function(e){return Uint8Array.from(e)}(s(e)).reverse()))}function z(e,t){d(t),e=D(e);const r=c(e.toString(16).padStart(2*t,"0"));if(r.length!==t)throw new Error("number too large");return r}function X(e,t){return z(e,t).reverse()}const G=e=>"bigint"==typeof e&&H<=e;function W(e,t,r,n){if(!function(e,t,r){return G(e)&&G(t)&&G(r)&&t<=e&&e<r}(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}const J=e=>(Z<<BigInt(e))-Z;function Q(e,t={},r={}){if(!e||"object"!=typeof e)throw new Error("expected valid options object");const n=(t,r)=>Object.entries(t).forEach(([t,n])=>function(t,r,n){const i=e[t];if(n&&void 0===i)return;const o=typeof i;if(o!==r||null===i)throw new Error(`param "${t}" is invalid: expected ${r}, got ${o}`)}(t,n,r));n(t,!1),n(r,!0)}function ee(e){const t=new WeakMap;return(r,...n)=>{const i=t.get(r);if(void 0!==i)return i;const o=e(r,...n);return t.set(r,o),o}}
11
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const te=BigInt(0),re=BigInt(1),ne=BigInt(2),ie=BigInt(3),oe=BigInt(4),se=BigInt(5),ce=BigInt(7),ue=BigInt(8),ae=BigInt(9),fe=BigInt(16);function le(e,t){const r=e%t;return r>=te?r:t+r}function de(e,t,r){let n=e;for(;t-- >te;)n*=n,n%=r;return n}function ye(e,t){if(e===te)throw new Error("invert: expected non-zero number");if(t<=te)throw new Error("invert: expected positive modulus, got "+t);let r=le(e,t),n=t,i=te,o=re;for(;r!==te;){const e=n%r,t=i-o*(n/r);n=r,r=e,i=o,o=t}if(n!==re)throw new Error("invert: does not exist");return le(i,t)}function he(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function pe(e,t){const r=(e.ORDER+re)/oe,n=e.pow(t,r);return he(e,n,t),n}function we(e,t){const r=(e.ORDER-se)/ue,n=e.mul(t,ne),i=e.pow(n,r),o=e.mul(t,i),s=e.mul(e.mul(o,ne),i),c=e.mul(o,e.sub(s,e.ONE));return he(e,c,t),c}function be(e){if(e<ie)throw new Error("sqrt is not defined for small field");let t=e-re,r=0;for(;t%ne===te;)t/=ne,r++;let n=ne;const i=ke(e);for(;1===ve(i,n);)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(1===r)return pe;let o=i.pow(n,t);const s=(t+re)/ne;return function(e,n){if(e.is0(n))return n;if(1!==ve(e,n))throw new Error("Cannot find square root");let i=r,c=e.mul(e.ONE,o),u=e.pow(n,t),a=e.pow(n,s);for(;!e.eql(u,e.ONE);){if(e.is0(u))return e.ZERO;let t=1,r=e.sqr(u);for(;!e.eql(r,e.ONE);)if(t++,r=e.sqr(r),t===i)throw new Error("Cannot find square root");const n=re<<BigInt(i-t-1),o=e.pow(c,n);i=t,c=e.sqr(o),u=e.mul(u,c),a=e.mul(a,o)}return a}}function ge(e){return e%oe===ie?pe:e%ue===se?we:e%fe===ae?function(e){const t=ke(e),r=be(e),n=r(t,t.neg(t.ONE)),i=r(t,n),o=r(t,t.neg(n)),s=(e+ce)/fe;return(e,t)=>{let r=e.pow(t,s),c=e.mul(r,n);const u=e.mul(r,i),a=e.mul(r,o),f=e.eql(e.sqr(c),t),l=e.eql(e.sqr(u),t);r=e.cmov(r,c,f),c=e.cmov(a,u,l);const d=e.eql(e.sqr(c),t),y=e.cmov(r,c,d);return he(e,y,t),y}}(e):be(e)}const me=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ee(e,t,r=!1){const n=new Array(t.length).fill(r?e.ZERO:void 0),i=t.reduce((t,r,i)=>e.is0(r)?t:(n[i]=t,e.mul(t,r)),e.ONE),o=e.inv(i);return t.reduceRight((t,r,i)=>e.is0(r)?t:(n[i]=e.mul(t,n[i]),e.mul(t,r)),o),n}function ve(e,t){const r=(e.ORDER-re)/ne,n=e.pow(t,r),i=e.eql(n,e.ONE),o=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!i&&!o&&!s)throw new Error("invalid Legendre symbol result");return i?1:o?0:-1}class Be{ORDER;BITS;BYTES;isLE;ZERO=te;ONE=re;_lengths;_sqrt;_mod;constructor(e,t={}){if(e<=te)throw new Error("invalid field: expected ORDER > 0, got "+e);let r;this.isLE=!1,null!=t&&"object"==typeof t&&("number"==typeof t.BITS&&(r=t.BITS),"function"==typeof t.sqrt&&(this.sqrt=t.sqrt),"boolean"==typeof t.isLE&&(this.isLE=t.isLE),t.allowedLengths&&(this._lengths=t.allowedLengths?.slice()),"boolean"==typeof t.modFromBytes&&(this._mod=t.modFromBytes));const{nBitLength:n,nByteLength:i}=function(e,t){void 0!==t&&d(t);const r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}(e,r);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=n,this.BYTES=i,this._sqrt=void 0,Object.preventExtensions(this)}create(e){return le(e,this.ORDER)}isValid(e){if("bigint"!=typeof e)throw new Error("invalid field element: expected bigint, got "+typeof e);return te<=e&&e<this.ORDER}is0(e){return e===te}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&re)===re}neg(e){return le(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return le(e*e,this.ORDER)}add(e,t){return le(e+t,this.ORDER)}sub(e,t){return le(e-t,this.ORDER)}mul(e,t){return le(e*t,this.ORDER)}pow(e,t){return function(e,t,r){if(r<te)throw new Error("invalid exponent, negatives unsupported");if(r===te)return e.ONE;if(r===re)return t;let n=e.ONE,i=t;for(;r>te;)r&re&&(n=e.mul(n,i)),i=e.sqr(i),r>>=re;return n}(this,e,t)}div(e,t){return le(e*ye(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return ye(e,this.ORDER)}sqrt(e){return this._sqrt||(this._sqrt=ge(this.ORDER)),this._sqrt(this,e)}toBytes(e){return this.isLE?X(e,this.BYTES):z(e,this.BYTES)}fromBytes(e,t=!1){s(e);const{_lengths:r,BYTES:n,isLE:i,ORDER:o,_mod:c}=this;if(r){if(!r.includes(e.length)||e.length>n)throw new Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);const t=new Uint8Array(n);t.set(e,i?0:t.length-e.length),e=t}if(e.length!==n)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+e.length);let u=i?Y(e):$(e);if(c&&(u=le(u,o)),!t&&!this.isValid(u))throw new Error("invalid field element: outside of range 0..ORDER");return u}invertBatch(e){return Ee(this,e)}cmov(e,t,r){return r?t:e}}function ke(e,t={}){return new Be(e,t)}function xe(e){if("bigint"!=typeof e)throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function Ke(e){const t=xe(e);return t+Math.ceil(t/2)}
11
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const te=BigInt(0),re=BigInt(1),ne=BigInt(2),ie=BigInt(3),oe=BigInt(4),se=BigInt(5),ce=BigInt(7),ue=BigInt(8),ae=BigInt(9),fe=BigInt(16);function le(e,t){const r=e%t;return r>=te?r:t+r}function de(e,t,r){let n=e;for(;t-- >te;)n*=n,n%=r;return n}function ye(e,t){if(e===te)throw new Error("invert: expected non-zero number");if(t<=te)throw new Error("invert: expected positive modulus, got "+t);let r=le(e,t),n=t,i=te,o=re;for(;r!==te;){const e=n%r,t=i-o*(n/r);n=r,r=e,i=o,o=t}if(n!==re)throw new Error("invert: does not exist");return le(i,t)}function he(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function pe(e,t){const r=(e.ORDER+re)/oe,n=e.pow(t,r);return he(e,n,t),n}function we(e,t){const r=(e.ORDER-se)/ue,n=e.mul(t,ne),i=e.pow(n,r),o=e.mul(t,i),s=e.mul(e.mul(o,ne),i),c=e.mul(o,e.sub(s,e.ONE));return he(e,c,t),c}function be(e){if(e<ie)throw new Error("sqrt is not defined for small field");let t=e-re,r=0;for(;t%ne===te;)t/=ne,r++;let n=ne;const i=xe(e);for(;1===ve(i,n);)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(1===r)return pe;let o=i.pow(n,t);const s=(t+re)/ne;return function(e,n){if(e.is0(n))return n;if(1!==ve(e,n))throw new Error("Cannot find square root");let i=r,c=e.mul(e.ONE,o),u=e.pow(n,t),a=e.pow(n,s);for(;!e.eql(u,e.ONE);){if(e.is0(u))return e.ZERO;let t=1,r=e.sqr(u);for(;!e.eql(r,e.ONE);)if(t++,r=e.sqr(r),t===i)throw new Error("Cannot find square root");const n=re<<BigInt(i-t-1),o=e.pow(c,n);i=t,c=e.sqr(o),u=e.mul(u,c),a=e.mul(a,o)}return a}}function ge(e){return e%oe===ie?pe:e%ue===se?we:e%fe===ae?function(e){const t=xe(e),r=be(e),n=r(t,t.neg(t.ONE)),i=r(t,n),o=r(t,t.neg(n)),s=(e+ce)/fe;return(e,t)=>{let r=e.pow(t,s),c=e.mul(r,n);const u=e.mul(r,i),a=e.mul(r,o),f=e.eql(e.sqr(c),t),l=e.eql(e.sqr(u),t);r=e.cmov(r,c,f),c=e.cmov(a,u,l);const d=e.eql(e.sqr(c),t),y=e.cmov(r,c,d);return he(e,y,t),y}}(e):be(e)}const me=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ee(e,t,r=!1){const n=new Array(t.length).fill(r?e.ZERO:void 0),i=t.reduce((t,r,i)=>e.is0(r)?t:(n[i]=t,e.mul(t,r)),e.ONE),o=e.inv(i);return t.reduceRight((t,r,i)=>e.is0(r)?t:(n[i]=e.mul(t,n[i]),e.mul(t,r)),o),n}function ve(e,t){const r=(e.ORDER-re)/ne,n=e.pow(t,r),i=e.eql(n,e.ONE),o=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!i&&!o&&!s)throw new Error("invalid Legendre symbol result");return i?1:o?0:-1}class Be{ORDER;BITS;BYTES;isLE;ZERO=te;ONE=re;_lengths;_sqrt;_mod;constructor(e,t={}){if(e<=te)throw new Error("invalid field: expected ORDER > 0, got "+e);let r;this.isLE=!1,null!=t&&"object"==typeof t&&("number"==typeof t.BITS&&(r=t.BITS),"function"==typeof t.sqrt&&(this.sqrt=t.sqrt),"boolean"==typeof t.isLE&&(this.isLE=t.isLE),t.allowedLengths&&(this._lengths=t.allowedLengths?.slice()),"boolean"==typeof t.modFromBytes&&(this._mod=t.modFromBytes));const{nBitLength:n,nByteLength:i}=function(e,t){void 0!==t&&d(t);const r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}(e,r);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=n,this.BYTES=i,this._sqrt=void 0,Object.preventExtensions(this)}create(e){return le(e,this.ORDER)}isValid(e){if("bigint"!=typeof e)throw new Error("invalid field element: expected bigint, got "+typeof e);return te<=e&&e<this.ORDER}is0(e){return e===te}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&re)===re}neg(e){return le(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return le(e*e,this.ORDER)}add(e,t){return le(e+t,this.ORDER)}sub(e,t){return le(e-t,this.ORDER)}mul(e,t){return le(e*t,this.ORDER)}pow(e,t){return function(e,t,r){if(r<te)throw new Error("invalid exponent, negatives unsupported");if(r===te)return e.ONE;if(r===re)return t;let n=e.ONE,i=t;for(;r>te;)r&re&&(n=e.mul(n,i)),i=e.sqr(i),r>>=re;return n}(this,e,t)}div(e,t){return le(e*ye(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return ye(e,this.ORDER)}sqrt(e){return this._sqrt||(this._sqrt=ge(this.ORDER)),this._sqrt(this,e)}toBytes(e){return this.isLE?X(e,this.BYTES):z(e,this.BYTES)}fromBytes(e,t=!1){s(e);const{_lengths:r,BYTES:n,isLE:i,ORDER:o,_mod:c}=this;if(r){if(!r.includes(e.length)||e.length>n)throw new Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);const t=new Uint8Array(n);t.set(e,i?0:t.length-e.length),e=t}if(e.length!==n)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+e.length);let u=i?Y(e):$(e);if(c&&(u=le(u,o)),!t&&!this.isValid(u))throw new Error("invalid field element: outside of range 0..ORDER");return u}invertBatch(e){return Ee(this,e)}cmov(e,t,r){return r?t:e}}function xe(e,t={}){return new Be(e,t)}function ke(e){if("bigint"!=typeof e)throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function Ke(e){const t=ke(e);return t+Math.ceil(t/2)}
12
12
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
13
- const Oe=BigInt(0),Re=BigInt(1);function Ae(e,t){const r=t.negate();return e?r:t}function Se(e,t){const r=Ee(e.Fp,t.map(e=>e.Z));return t.map((t,n)=>e.fromAffine(t.toAffine(r[n])))}function Ue(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Ie(e,t){Ue(e,t);const r=2**e;return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1),mask:J(e),maxNumber:r,shiftBy:BigInt(e)}}function Me(e,t,r){const{windowSize:n,mask:i,maxNumber:o,shiftBy:s}=r;let c=Number(e&i),u=e>>s;c>n&&(c-=o,u+=Re);const a=t*n;return{nextN:u,offset:a+Math.abs(c)-1,isZero:0===c,isNeg:c<0,isNegF:t%2!=0,offsetF:a}}const qe=new WeakMap,je=new WeakMap;function Ce(e){return je.get(e)||1}function Ne(e){if(e!==Oe)throw new Error("invalid wNAF")}class Pe{BASE;ZERO;Fn;bits;constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let n=e;for(;t>Oe;)t&Re&&(r=r.add(n)),n=n.double(),t>>=Re;return r}precomputeWindow(e,t){const{windows:r,windowSize:n}=Ie(t,this.bits),i=[];let o=e,s=o;for(let e=0;e<r;e++){s=o,i.push(s);for(let e=1;e<n;e++)s=s.add(o),i.push(s);o=s.double()}return i}wNAF(e,t,r){if(!this.Fn.isValid(r))throw new Error("invalid scalar");let n=this.ZERO,i=this.BASE;const o=Ie(e,this.bits);for(let e=0;e<o.windows;e++){const{nextN:s,offset:c,isZero:u,isNeg:a,isNegF:f,offsetF:l}=Me(r,e,o);r=s,u?i=i.add(Ae(f,t[l])):n=n.add(Ae(a,t[c]))}return Ne(r),{p:n,f:i}}wNAFUnsafe(e,t,r,n=this.ZERO){const i=Ie(e,this.bits);for(let e=0;e<i.windows&&r!==Oe;e++){const{nextN:o,offset:s,isZero:c,isNeg:u}=Me(r,e,i);if(r=o,!c){const e=t[s];n=n.add(u?e.negate():e)}}return Ne(r),n}getPrecomputes(e,t,r){let n=qe.get(t);return n||(n=this.precomputeWindow(t,e),1!==e&&("function"==typeof r&&(n=r(n)),qe.set(t,n))),n}cached(e,t,r){const n=Ce(e);return this.wNAF(n,this.getPrecomputes(n,e,r),t)}unsafe(e,t,r,n){const i=Ce(e);return 1===i?this._unsafeLadder(e,t,n):this.wNAFUnsafe(i,this.getPrecomputes(i,e,r),t,n)}createCache(e,t){Ue(t,this.bits),je.set(e,t),qe.delete(e)}hasCache(e){return 1!==Ce(e)}}function Te(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return function(e){Q(e,me.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",BYTES:"number",BITS:"number"}))}(t),t}return ke(e,{isLE:r})}class Fe{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(e,t){if(n(e),s(t,void 0,"key"),this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const r=this.blockLen,i=new Uint8Array(r);i.set(t.length>r?e.create().update(t).digest():t);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),f(i)}update(e){return l(this),this.iHash.update(e),this}digestInto(e){l(this),s(e,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});const{oHash:t,iHash:r,finished:n,destroyed:i,blockLen:o,outputLen:s}=this;return e.finished=n,e.destroyed=i,e.blockLen=o,e.outputLen=s,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const He=(e,t,r)=>new Fe(e,t).update(r).digest();He.create=(e,t)=>new Fe(e,t);
13
+ const Re=BigInt(0),Oe=BigInt(1);function Ae(e,t){const r=t.negate();return e?r:t}function Ue(e,t){const r=Ee(e.Fp,t.map(e=>e.Z));return t.map((t,n)=>e.fromAffine(t.toAffine(r[n])))}function Se(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Ie(e,t){Se(e,t);const r=2**e;return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1),mask:J(e),maxNumber:r,shiftBy:BigInt(e)}}function qe(e,t,r){const{windowSize:n,mask:i,maxNumber:o,shiftBy:s}=r;let c=Number(e&i),u=e>>s;c>n&&(c-=o,u+=Oe);const a=t*n;return{nextN:u,offset:a+Math.abs(c)-1,isZero:0===c,isNeg:c<0,isNegF:t%2!=0,offsetF:a}}const Ce=new WeakMap,Me=new WeakMap;function Ne(e){return Me.get(e)||1}function je(e){if(e!==Re)throw new Error("invalid wNAF")}class Te{BASE;ZERO;Fn;bits;constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let n=e;for(;t>Re;)t&Oe&&(r=r.add(n)),n=n.double(),t>>=Oe;return r}precomputeWindow(e,t){const{windows:r,windowSize:n}=Ie(t,this.bits),i=[];let o=e,s=o;for(let e=0;e<r;e++){s=o,i.push(s);for(let e=1;e<n;e++)s=s.add(o),i.push(s);o=s.double()}return i}wNAF(e,t,r){if(!this.Fn.isValid(r))throw new Error("invalid scalar");let n=this.ZERO,i=this.BASE;const o=Ie(e,this.bits);for(let e=0;e<o.windows;e++){const{nextN:s,offset:c,isZero:u,isNeg:a,isNegF:f,offsetF:l}=qe(r,e,o);r=s,u?i=i.add(Ae(f,t[l])):n=n.add(Ae(a,t[c]))}return je(r),{p:n,f:i}}wNAFUnsafe(e,t,r,n=this.ZERO){const i=Ie(e,this.bits);for(let e=0;e<i.windows&&r!==Re;e++){const{nextN:o,offset:s,isZero:c,isNeg:u}=qe(r,e,i);if(r=o,!c){const e=t[s];n=n.add(u?e.negate():e)}}return je(r),n}getPrecomputes(e,t,r){let n=Ce.get(t);return n||(n=this.precomputeWindow(t,e),1!==e&&("function"==typeof r&&(n=r(n)),Ce.set(t,n))),n}cached(e,t,r){const n=Ne(e);return this.wNAF(n,this.getPrecomputes(n,e,r),t)}unsafe(e,t,r,n){const i=Ne(e);return 1===i?this._unsafeLadder(e,t,n):this.wNAFUnsafe(i,this.getPrecomputes(i,e,r),t,n)}createCache(e,t){Se(t,this.bits),Me.set(e,t),Ce.delete(e)}hasCache(e){return 1!==Ne(e)}}function Fe(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return function(e){Q(e,me.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",BYTES:"number",BITS:"number"}))}(t),t}return xe(e,{isLE:r})}class Pe{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(e,t){if(n(e),s(t,void 0,"key"),this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const r=this.blockLen,i=new Uint8Array(r);i.set(t.length>r?e.create().update(t).digest():t);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),f(i)}update(e){return l(this),this.iHash.update(e),this}digestInto(e){l(this),s(e,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});const{oHash:t,iHash:r,finished:n,destroyed:i,blockLen:o,outputLen:s}=this;return e.finished=n,e.destroyed=i,e.blockLen=o,e.outputLen=s,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const He=(e,t,r)=>new Pe(e,t).update(r).digest();He.create=(e,t)=>new Pe(e,t);
14
14
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
15
- const Ze=(e,t)=>(e+(e>=0?t:-t)/Xe)/t;function Ve(e,t,r){const[[n,i],[o,s]]=t,c=Ze(s*e,r),u=Ze(-i*e,r);let a=e-c*n-u*o,f=-c*i-u*s;const l=a<Ye,d=f<Ye;l&&(a=-a),d&&(f=-f);const y=J(Math.ceil(function(e){let t;for(t=0;e>H;e>>=Z,t+=1);return t}(r)/2))+ze;if(a<Ye||a>=y||f<Ye||f>=y)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:l,k1:a,k2neg:d,k2:f}}function De(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function Le(e,t){const r={};for(let n of Object.keys(t))r[n]=void 0===e[n]?t[n]:e[n];return V(r.lowS,"lowS"),V(r.prehash,"prehash"),void 0!==r.format&&De(r.format),r}class _e extends Error{constructor(e=""){super(e)}}const $e={Err:_e,_tlv:{encode:(e,t)=>{const{Err:r}=$e;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(1&t.length)throw new r("tlv.encode: unpadded data");const n=t.length/2,i=L(n);if(i.length/2&128)throw new r("tlv.encode: long form length too big");const o=n>127?L(i.length/2|128):"";return L(e)+o+i+t},decode(e,t){const{Err:r}=$e;let n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");const i=t[n++];let o=0;if(!!(128&i)){const e=127&i;if(!e)throw new r("tlv.decode(long): indefinite length not supported");if(e>4)throw new r("tlv.decode(long): byte length is too big");const s=t.subarray(n,n+e);if(s.length!==e)throw new r("tlv.decode: length bytes not complete");if(0===s[0])throw new r("tlv.decode(long): zero leftmost byte");for(const e of s)o=o<<8|e;if(n+=e,o<128)throw new r("tlv.decode(long): not minimal encoding")}else o=i;const s=t.subarray(n,n+o);if(s.length!==o)throw new r("tlv.decode: wrong value length");return{v:s,l:t.subarray(n+o)}}},_int:{encode(e){const{Err:t}=$e;if(e<Ye)throw new t("integer: negative integers are not allowed");let r=L(e);if(8&Number.parseInt(r[0],16)&&(r="00"+r),1&r.length)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){const{Err:t}=$e;if(128&e[0])throw new t("invalid signature integer: negative");if(0===e[0]&&!(128&e[1]))throw new t("invalid signature integer: unnecessary leading zero");return $(e)}},toSig(e){const{Err:t,_int:r,_tlv:n}=$e,i=s(e,void 0,"signature"),{v:o,l:c}=n.decode(48,i);if(c.length)throw new t("invalid signature: left bytes after parsing");const{v:u,l:a}=n.decode(2,o),{v:f,l:l}=n.decode(2,a);if(l.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(u),s:r.decode(f)}},hexFromSig(e){const{_tlv:t,_int:r}=$e,n=t.encode(2,r.encode(e.r))+t.encode(2,r.encode(e.s));return t.encode(48,n)}},Ye=BigInt(0),ze=BigInt(1),Xe=BigInt(2),Ge=BigInt(3),We=BigInt(4);function Je(e,t={}){const r=function(e,t,r={},n){if(void 0===n&&(n="edwards"===e),!t||"object"!=typeof t)throw new Error(`expected valid ${e} CURVE object`);for(const e of["p","n","h"]){const r=t[e];if(!("bigint"==typeof r&&r>Oe))throw new Error(`CURVE.${e} must be positive bigint`)}const i=Te(t.p,r.Fp,n),o=Te(t.n,r.Fn,n),s=["Gx","Gy","a","b"];for(const e of s)if(!i.isValid(t[e]))throw new Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return{CURVE:t=Object.freeze(Object.assign({},t)),Fp:i,Fn:o}}("weierstrass",e,t),{Fp:n,Fn:i}=r;let a=r.CURVE;const{h:f,n:l}=a;Q(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});const{endo:d}=t;if(d&&(!n.is0(a.a)||"bigint"!=typeof d.beta||!Array.isArray(d.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const y=et(n,i);function h(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}const p=t.toBytes||function(e,t,r){const{x:i,y:o}=t.toAffine(),s=n.toBytes(i);if(V(r,"isCompressed"),r){h();const e=!n.isOdd(o);return u(Qe(e),s)}return u(Uint8Array.of(4),s,n.toBytes(o))},w=t.fromBytes||function(e){s(e,void 0,"Point");const{publicKey:t,publicKeyUncompressed:r}=y,i=e.length,o=e[0],c=e.subarray(1);if(i!==t||2!==o&&3!==o){if(i===r&&4===o){const e=n.BYTES,t=n.fromBytes(c.subarray(0,e)),r=n.fromBytes(c.subarray(e,2*e));if(!g(t,r))throw new Error("bad point: is not on curve");return{x:t,y:r}}throw new Error(`bad point: got length ${i}, expected compressed=${t} or uncompressed=${r}`)}{const e=n.fromBytes(c);if(!n.isValid(e))throw new Error("bad point: is not on curve, wrong x");const t=b(e);let r;try{r=n.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw new Error("bad point: is not on curve, sqrt error"+t)}h();return!(1&~o)!==n.isOdd(r)&&(r=n.neg(r)),{x:e,y:r}}};function b(e){const t=n.sqr(e),r=n.mul(t,e);return n.add(n.add(r,n.mul(e,a.a)),a.b)}function g(e,t){const r=n.sqr(t),i=b(e);return n.eql(r,i)}if(!g(a.Gx,a.Gy))throw new Error("bad curve params: generator point");const m=n.mul(n.pow(a.a,Ge),We),E=n.mul(n.sqr(a.b),BigInt(27));if(n.is0(n.add(m,E)))throw new Error("bad curve params: a or b");function v(e,t,r=!1){if(!n.isValid(t)||r&&n.is0(t))throw new Error(`bad point coordinate ${e}`);return t}function B(e){if(!(e instanceof R))throw new Error("Weierstrass Point expected")}function k(e){if(!d||!d.basises)throw new Error("no endo");return Ve(e,d.basises,i.ORDER)}const x=ee((e,t)=>{const{X:r,Y:i,Z:o}=e;if(n.eql(o,n.ONE))return{x:r,y:i};const s=e.is0();null==t&&(t=s?n.ONE:n.inv(o));const c=n.mul(r,t),u=n.mul(i,t),a=n.mul(o,t);if(s)return{x:n.ZERO,y:n.ZERO};if(!n.eql(a,n.ONE))throw new Error("invZ was invalid");return{x:c,y:u}}),K=ee(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.Y))return;throw new Error("bad point: ZERO")}const{x:r,y:i}=e.toAffine();if(!n.isValid(r)||!n.isValid(i))throw new Error("bad point: x or y not field elements");if(!g(r,i))throw new Error("bad point: equation left != right");if(!e.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function O(e,t,r,i,o){return r=new R(n.mul(r.X,e),r.Y,r.Z),t=Ae(i,t),r=Ae(o,r),t.add(r)}class R{static BASE=new R(a.Gx,a.Gy,n.ONE);static ZERO=new R(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=i;X;Y;Z;constructor(e,t,r){this.X=v("x",e),this.Y=v("y",t,!0),this.Z=v("z",r),Object.freeze(this)}static CURVE(){return a}static fromAffine(e){const{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw new Error("invalid affine point");if(e instanceof R)throw new Error("projective point not allowed");return n.is0(t)&&n.is0(r)?R.ZERO:new R(t,r,n.ONE)}static fromBytes(e){const t=R.fromAffine(w(s(e,void 0,"point")));return t.assertValidity(),t}static fromHex(e){return R.fromBytes(c(e))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return S.createCache(this,e),t||this.multiply(Ge),this}assertValidity(){K(this)}hasEvenY(){const{y:e}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(e)}equals(e){B(e);const{X:t,Y:r,Z:i}=this,{X:o,Y:s,Z:c}=e,u=n.eql(n.mul(t,c),n.mul(o,i)),a=n.eql(n.mul(r,c),n.mul(s,i));return u&&a}negate(){return new R(this.X,n.neg(this.Y),this.Z)}double(){const{a:e,b:t}=a,r=n.mul(t,Ge),{X:i,Y:o,Z:s}=this;let c=n.ZERO,u=n.ZERO,f=n.ZERO,l=n.mul(i,i),d=n.mul(o,o),y=n.mul(s,s),h=n.mul(i,o);return h=n.add(h,h),f=n.mul(i,s),f=n.add(f,f),c=n.mul(e,f),u=n.mul(r,y),u=n.add(c,u),c=n.sub(d,u),u=n.add(d,u),u=n.mul(c,u),c=n.mul(h,c),f=n.mul(r,f),y=n.mul(e,y),h=n.sub(l,y),h=n.mul(e,h),h=n.add(h,f),f=n.add(l,l),l=n.add(f,l),l=n.add(l,y),l=n.mul(l,h),u=n.add(u,l),y=n.mul(o,s),y=n.add(y,y),l=n.mul(y,h),c=n.sub(c,l),f=n.mul(y,d),f=n.add(f,f),f=n.add(f,f),new R(c,u,f)}add(e){B(e);const{X:t,Y:r,Z:i}=this,{X:o,Y:s,Z:c}=e;let u=n.ZERO,f=n.ZERO,l=n.ZERO;const d=a.a,y=n.mul(a.b,Ge);let h=n.mul(t,o),p=n.mul(r,s),w=n.mul(i,c),b=n.add(t,r),g=n.add(o,s);b=n.mul(b,g),g=n.add(h,p),b=n.sub(b,g),g=n.add(t,i);let m=n.add(o,c);return g=n.mul(g,m),m=n.add(h,w),g=n.sub(g,m),m=n.add(r,i),u=n.add(s,c),m=n.mul(m,u),u=n.add(p,w),m=n.sub(m,u),l=n.mul(d,g),u=n.mul(y,w),l=n.add(u,l),u=n.sub(p,l),l=n.add(p,l),f=n.mul(u,l),p=n.add(h,h),p=n.add(p,h),w=n.mul(d,w),g=n.mul(y,g),p=n.add(p,w),w=n.sub(h,w),w=n.mul(d,w),g=n.add(g,w),h=n.mul(p,g),f=n.add(f,h),h=n.mul(m,g),u=n.mul(b,u),u=n.sub(u,h),h=n.mul(b,p),l=n.mul(m,l),l=n.add(l,h),new R(u,f,l)}subtract(e){return this.add(e.negate())}is0(){return this.equals(R.ZERO)}multiply(e){const{endo:r}=t;if(!i.isValidNot0(e))throw new Error("invalid scalar: out of range");let n,o;const s=e=>S.cached(this,e,e=>Se(R,e));if(r){const{k1neg:t,k1:i,k2neg:c,k2:u}=k(e),{p:a,f:f}=s(i),{p:l,f:d}=s(u);o=f.add(d),n=O(r.beta,a,l,t,c)}else{const{p:t,f:r}=s(e);n=t,o=r}return Se(R,[n,o])[0]}multiplyUnsafe(e){const{endo:r}=t,n=this;if(!i.isValid(e))throw new Error("invalid scalar: out of range");if(e===Ye||n.is0())return R.ZERO;if(e===ze)return n;if(S.hasCache(this))return this.multiply(e);if(r){const{k1neg:t,k1:i,k2neg:o,k2:s}=k(e),{p1:c,p2:u}=function(e,t,r,n){let i=t,o=e.ZERO,s=e.ZERO;for(;r>Oe||n>Oe;)r&Re&&(o=o.add(i)),n&Re&&(s=s.add(i)),i=i.double(),r>>=Re,n>>=Re;return{p1:o,p2:s}}(R,n,i,s);return O(r.beta,c,u,t,o)}return S.unsafe(n,e)}toAffine(e){return x(this,e)}isTorsionFree(){const{isTorsionFree:e}=t;return f===ze||(e?e(R,this):S.unsafe(this,l).is0())}clearCofactor(){const{clearCofactor:e}=t;return f===ze?this:e?e(R,this):this.multiplyUnsafe(f)}isSmallOrder(){return this.multiplyUnsafe(f).is0()}toBytes(e=!0){return V(e,"isCompressed"),this.assertValidity(),p(R,this,e)}toHex(e=!0){return o(this.toBytes(e))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}const A=i.BITS,S=new Pe(R,t.endo?Math.ceil(A/2):A);return R.BASE.precompute(8),R}function Qe(e){return Uint8Array.of(e?2:3)}function et(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function tt(e,t={}){const{Fn:r}=e,n=t.randomBytes||i,o=Object.assign(et(e.Fp,r),{seed:Ke(r.ORDER)});function c(e=n(o.seed)){return function(e,t,r=!1){s(e);const n=e.length,i=xe(t),o=Ke(t);if(n<16||n<o||n>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+n);const c=le(r?Y(e):$(e),t-re)+re;return r?X(c,i):z(c,i)}(s(e,o.seed,"seed"),r.ORDER)}function u(t,n=!0){return e.BASE.multiply(r.fromBytes(t)).toBytes(n)}function f(e){const{secretKey:t,publicKey:n,publicKeyUncompressed:i}=o;if(!a(e))return;if("_lengths"in r&&r._lengths||t===n)return;const c=s(e,void 0,"key").length;return c===n||c===i}const l={isValidSecretKey:function(e){try{const t=r.fromBytes(e);return r.isValidNot0(t)}catch(e){return!1}},isValidPublicKey:function(t,r){const{publicKey:n,publicKeyUncompressed:i}=o;try{const o=t.length;return(!0!==r||o===n)&&((!1!==r||o===i)&&!!e.fromBytes(t))}catch(e){return!1}},randomSecretKey:c},d=function(e,t){return function(r){const n=e(r);return{secretKey:n,publicKey:t(n)}}}(c,u);return Object.freeze({getPublicKey:u,getSharedSecret:function(t,n,i=!0){if(!0===f(t))throw new Error("first arg must be private key");if(!1===f(n))throw new Error("second arg must be public key");const o=r.fromBytes(t);return e.fromBytes(n).multiply(o).toBytes(i)},keygen:d,Point:e,utils:l,lengths:o})}function rt(e,t,r={}){n(t),Q(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const f=(r=Object.assign({},r)).randomBytes||i,l=r.hmac||((e,r)=>He(t,e,r)),{Fp:y,Fn:h}=e,{ORDER:p,BITS:w}=h,{keygen:b,getPublicKey:g,getSharedSecret:m,utils:E,lengths:v}=tt(e,r),B={prehash:!0,lowS:"boolean"!=typeof r.lowS||r.lowS,format:"compact",extraEntropy:!1},k=p*Xe<y.ORDER;function x(e){return e>p>>ze}function K(e,t){if(!h.isValidNot0(t))throw new Error(`invalid signature ${e}: out of range 1..Point.Fn.ORDER`);return t}function O(){if(k)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function R(e,t){De(t);const r=v.signature;return s(e,"compact"===t?r:"recovered"===t?r+1:void 0)}class A{r;s;recovery;constructor(e,t,r){if(this.r=K("r",e),this.s=K("s",t),null!=r){if(O(),![0,1,2,3].includes(r))throw new Error("invalid recovery id");this.recovery=r}Object.freeze(this)}static fromBytes(e,t=B.format){let r;if(R(e,t),"der"===t){const{r:t,s:r}=$e.toSig(s(e));return new A(t,r)}"recovered"===t&&(r=e[0],t="compact",e=e.subarray(1));const n=v.signature/2,i=e.subarray(0,n),o=e.subarray(n,2*n);return new A(h.fromBytes(i),h.fromBytes(o),r)}static fromHex(e,t){return this.fromBytes(c(e),t)}assertRecovery(){const{recovery:e}=this;if(null==e)throw new Error("invalid recovery id: must be present");return e}addRecoveryBit(e){return new A(this.r,this.s,e)}recoverPublicKey(t){const{r:r,s:n}=this,i=this.assertRecovery(),o=2===i||3===i?r+p:r;if(!y.isValid(o))throw new Error("invalid recovery id: sig.r+curve.n != R.x");const c=y.toBytes(o),a=e.fromBytes(u(Qe(!(1&i)),c)),f=h.inv(o),l=U(s(t,void 0,"msgHash")),d=h.create(-l*f),w=h.create(n*f),b=e.BASE.multiplyUnsafe(d).add(a.multiplyUnsafe(w));if(b.is0())throw new Error("invalid recovery: point at infinify");return b.assertValidity(),b}hasHighS(){return x(this.s)}toBytes(e=B.format){if(De(e),"der"===e)return c($e.hexFromSig(this));const{r:t,s:r}=this,n=h.toBytes(t),i=h.toBytes(r);return"recovered"===e?(O(),u(Uint8Array.of(this.assertRecovery()),n,i)):u(n,i)}toHex(e){return o(this.toBytes(e))}}const S=r.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const t=$(e),r=8*e.length-w;return r>0?t>>BigInt(r):t},U=r.bits2int_modN||function(e){return h.create(S(e))},I=J(w);function M(e){return W("num < 2^"+w,e,Ye,I),h.toBytes(e)}function q(e,r){return s(e,void 0,"message"),r?s(t(e),void 0,"prehashed message"):e}return Object.freeze({keygen:b,getPublicKey:g,getSharedSecret:m,utils:E,lengths:v,Point:e,sign:function(r,n,i={}){const{seed:o,k2sig:c}=function(t,r,n){const{lowS:i,prehash:o,extraEntropy:c}=Le(n,B);t=q(t,o);const a=U(t),l=h.fromBytes(r);if(!h.isValidNot0(l))throw new Error("invalid private key");const d=[M(l),M(a)];if(null!=c&&!1!==c){const e=!0===c?f(v.secretKey):c;d.push(s(e,void 0,"extraEntropy"))}const y=u(...d),p=a;return{seed:y,k2sig:function(t){const r=S(t);if(!h.isValidNot0(r))return;const n=h.inv(r),o=e.BASE.multiply(r).toAffine(),s=h.create(o.x);if(s===Ye)return;const c=h.create(n*h.create(p+s*l));if(c===Ye)return;let u=(o.x===s?0:2)|Number(o.y&ze),a=c;return i&&x(c)&&(a=h.neg(c),u^=1),new A(s,a,k?void 0:u)}}}(r,n,i);return function(e,t,r){if(d(e,"hashLen"),d(t,"qByteLen"),"function"!=typeof r)throw new Error("hmacFn must be a function");const n=e=>new Uint8Array(e),i=Uint8Array.of(),o=Uint8Array.of(0),s=Uint8Array.of(1);let c=n(e),a=n(e),f=0;const l=()=>{c.fill(1),a.fill(0),f=0},y=(...e)=>r(a,u(c,...e)),h=(e=i)=>{a=y(o,e),c=y(),0!==e.length&&(a=y(s,e),c=y())},p=()=>{if(f++>=1e3)throw new Error("drbg: tried max amount of iterations");let e=0;const r=[];for(;e<t;){c=y();const t=c.slice();r.push(t),e+=c.length}return u(...r)};return(e,t)=>{let r;for(l(),h(e);!(r=t(p()));)h();return l(),r}}(t.outputLen,h.BYTES,l)(o,c).toBytes(i.format)},verify:function(t,r,n,i={}){const{lowS:o,prehash:c,format:u}=Le(i,B);if(n=s(n,void 0,"publicKey"),r=q(r,c),!a(t)){throw new Error("verify expects Uint8Array signature"+(t instanceof A?", use sig.toBytes()":""))}R(t,u);try{const i=A.fromBytes(t,u),s=e.fromBytes(n);if(o&&i.hasHighS())return!1;const{r:c,s:a}=i,f=U(r),l=h.inv(a),d=h.create(f*l),y=h.create(c*l),p=e.BASE.multiplyUnsafe(d).add(s.multiplyUnsafe(y));if(p.is0())return!1;return h.create(p.x)===c}catch(e){return!1}},recoverPublicKey:function(e,t,r={}){const{prehash:n}=Le(r,B);return t=q(t,n),A.fromBytes(e,"recovered").recoverPublicKey(t).toBytes()},Signature:A,hash:t})}
16
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const nt={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},it={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},ot=BigInt(2);const st=ke(nt.p,{sqrt:function(e){const t=nt.p,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),c=BigInt(44),u=BigInt(88),a=e*e*e%t,f=a*a*e%t,l=de(f,r,t)*f%t,d=de(l,r,t)*f%t,y=de(d,ot,t)*a%t,h=de(y,i,t)*y%t,p=de(h,o,t)*h%t,w=de(p,c,t)*p%t,b=de(w,u,t)*w%t,g=de(b,c,t)*p%t,m=de(g,r,t)*f%t,E=de(m,s,t)*h%t,v=de(E,n,t)*a%t,B=de(v,ot,t);if(!st.eql(st.sqr(B),e))throw new Error("Cannot find square root");return B}}),ct=rt(Je(nt,{Fp:st,endo:it}),y);class ut{constructor(e){this.ec={...ct},null!=e.priv&&(this.priv=e.priv),null!=e.pub&&(this.pub=e.pub)}static hexToBytes(e){if("string"!=typeof e)throw new Error("hex string expected");if(e.length%2)throw new Error("hex string must have even length");const t=e.length/2,r=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=parseInt(e.substr(2*n,2),16);return r}static bytesToHex(e){return Array.from(e||[]).map(e=>e.toString(16).padStart(2,"0")).join("")}static keyFromPublic(e,t="hex"){const r="hex"===t?ut.hexToBytes(e):e;return new ut({pub:r})}getPublic(e=!0,t="hex"){this.pub||(this.pub=this.ec.getPublicKey(this.priv,!1));let r=this.pub;const n=this.ec.Point.fromHex(ut.bytesToHex(r)).toHex(e);return r=ut.hexToBytes(n),"hex"===t?ut.bytesToHex(r):r}}
15
+ const Ze=(e,t)=>(e+(e>=0?t:-t)/Xe)/t;function Ve(e,t,r){const[[n,i],[o,s]]=t,c=Ze(s*e,r),u=Ze(-i*e,r);let a=e-c*n-u*o,f=-c*i-u*s;const l=a<Ye,d=f<Ye;l&&(a=-a),d&&(f=-f);const y=J(Math.ceil(function(e){let t;for(t=0;e>H;e>>=Z,t+=1);return t}(r)/2))+ze;if(a<Ye||a>=y||f<Ye||f>=y)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:l,k1:a,k2neg:d,k2:f}}function De(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function Le(e,t){const r={};for(let n of Object.keys(t))r[n]=void 0===e[n]?t[n]:e[n];return V(r.lowS,"lowS"),V(r.prehash,"prehash"),void 0!==r.format&&De(r.format),r}class _e extends Error{constructor(e=""){super(e)}}const $e={Err:_e,_tlv:{encode:(e,t)=>{const{Err:r}=$e;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(1&t.length)throw new r("tlv.encode: unpadded data");const n=t.length/2,i=L(n);if(i.length/2&128)throw new r("tlv.encode: long form length too big");const o=n>127?L(i.length/2|128):"";return L(e)+o+i+t},decode(e,t){const{Err:r}=$e;let n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");const i=t[n++];let o=0;if(!!(128&i)){const e=127&i;if(!e)throw new r("tlv.decode(long): indefinite length not supported");if(e>4)throw new r("tlv.decode(long): byte length is too big");const s=t.subarray(n,n+e);if(s.length!==e)throw new r("tlv.decode: length bytes not complete");if(0===s[0])throw new r("tlv.decode(long): zero leftmost byte");for(const e of s)o=o<<8|e;if(n+=e,o<128)throw new r("tlv.decode(long): not minimal encoding")}else o=i;const s=t.subarray(n,n+o);if(s.length!==o)throw new r("tlv.decode: wrong value length");return{v:s,l:t.subarray(n+o)}}},_int:{encode(e){const{Err:t}=$e;if(e<Ye)throw new t("integer: negative integers are not allowed");let r=L(e);if(8&Number.parseInt(r[0],16)&&(r="00"+r),1&r.length)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){const{Err:t}=$e;if(128&e[0])throw new t("invalid signature integer: negative");if(0===e[0]&&!(128&e[1]))throw new t("invalid signature integer: unnecessary leading zero");return $(e)}},toSig(e){const{Err:t,_int:r,_tlv:n}=$e,i=s(e,void 0,"signature"),{v:o,l:c}=n.decode(48,i);if(c.length)throw new t("invalid signature: left bytes after parsing");const{v:u,l:a}=n.decode(2,o),{v:f,l:l}=n.decode(2,a);if(l.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(u),s:r.decode(f)}},hexFromSig(e){const{_tlv:t,_int:r}=$e,n=t.encode(2,r.encode(e.r))+t.encode(2,r.encode(e.s));return t.encode(48,n)}},Ye=BigInt(0),ze=BigInt(1),Xe=BigInt(2),Ge=BigInt(3),We=BigInt(4);function Je(e,t={}){const r=function(e,t,r={},n){if(void 0===n&&(n="edwards"===e),!t||"object"!=typeof t)throw new Error(`expected valid ${e} CURVE object`);for(const e of["p","n","h"]){const r=t[e];if(!("bigint"==typeof r&&r>Re))throw new Error(`CURVE.${e} must be positive bigint`)}const i=Fe(t.p,r.Fp,n),o=Fe(t.n,r.Fn,n),s=["Gx","Gy","a","b"];for(const e of s)if(!i.isValid(t[e]))throw new Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return{CURVE:t=Object.freeze(Object.assign({},t)),Fp:i,Fn:o}}("weierstrass",e,t),{Fp:n,Fn:i}=r;let a=r.CURVE;const{h:f,n:l}=a;Q(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});const{endo:d}=t;if(d&&(!n.is0(a.a)||"bigint"!=typeof d.beta||!Array.isArray(d.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const y=et(n,i);function h(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}const p=t.toBytes||function(e,t,r){const{x:i,y:o}=t.toAffine(),s=n.toBytes(i);if(V(r,"isCompressed"),r){h();const e=!n.isOdd(o);return u(Qe(e),s)}return u(Uint8Array.of(4),s,n.toBytes(o))},w=t.fromBytes||function(e){s(e,void 0,"Point");const{publicKey:t,publicKeyUncompressed:r}=y,i=e.length,o=e[0],c=e.subarray(1);if(i!==t||2!==o&&3!==o){if(i===r&&4===o){const e=n.BYTES,t=n.fromBytes(c.subarray(0,e)),r=n.fromBytes(c.subarray(e,2*e));if(!g(t,r))throw new Error("bad point: is not on curve");return{x:t,y:r}}throw new Error(`bad point: got length ${i}, expected compressed=${t} or uncompressed=${r}`)}{const e=n.fromBytes(c);if(!n.isValid(e))throw new Error("bad point: is not on curve, wrong x");const t=b(e);let r;try{r=n.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw new Error("bad point: is not on curve, sqrt error"+t)}h();return!(1&~o)!==n.isOdd(r)&&(r=n.neg(r)),{x:e,y:r}}};function b(e){const t=n.sqr(e),r=n.mul(t,e);return n.add(n.add(r,n.mul(e,a.a)),a.b)}function g(e,t){const r=n.sqr(t),i=b(e);return n.eql(r,i)}if(!g(a.Gx,a.Gy))throw new Error("bad curve params: generator point");const m=n.mul(n.pow(a.a,Ge),We),E=n.mul(n.sqr(a.b),BigInt(27));if(n.is0(n.add(m,E)))throw new Error("bad curve params: a or b");function v(e,t,r=!1){if(!n.isValid(t)||r&&n.is0(t))throw new Error(`bad point coordinate ${e}`);return t}function B(e){if(!(e instanceof O))throw new Error("Weierstrass Point expected")}function x(e){if(!d||!d.basises)throw new Error("no endo");return Ve(e,d.basises,i.ORDER)}const k=ee((e,t)=>{const{X:r,Y:i,Z:o}=e;if(n.eql(o,n.ONE))return{x:r,y:i};const s=e.is0();null==t&&(t=s?n.ONE:n.inv(o));const c=n.mul(r,t),u=n.mul(i,t),a=n.mul(o,t);if(s)return{x:n.ZERO,y:n.ZERO};if(!n.eql(a,n.ONE))throw new Error("invZ was invalid");return{x:c,y:u}}),K=ee(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.Y))return;throw new Error("bad point: ZERO")}const{x:r,y:i}=e.toAffine();if(!n.isValid(r)||!n.isValid(i))throw new Error("bad point: x or y not field elements");if(!g(r,i))throw new Error("bad point: equation left != right");if(!e.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function R(e,t,r,i,o){return r=new O(n.mul(r.X,e),r.Y,r.Z),t=Ae(i,t),r=Ae(o,r),t.add(r)}class O{static BASE=new O(a.Gx,a.Gy,n.ONE);static ZERO=new O(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=i;X;Y;Z;constructor(e,t,r){this.X=v("x",e),this.Y=v("y",t,!0),this.Z=v("z",r),Object.freeze(this)}static CURVE(){return a}static fromAffine(e){const{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw new Error("invalid affine point");if(e instanceof O)throw new Error("projective point not allowed");return n.is0(t)&&n.is0(r)?O.ZERO:new O(t,r,n.ONE)}static fromBytes(e){const t=O.fromAffine(w(s(e,void 0,"point")));return t.assertValidity(),t}static fromHex(e){return O.fromBytes(c(e))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return U.createCache(this,e),t||this.multiply(Ge),this}assertValidity(){K(this)}hasEvenY(){const{y:e}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(e)}equals(e){B(e);const{X:t,Y:r,Z:i}=this,{X:o,Y:s,Z:c}=e,u=n.eql(n.mul(t,c),n.mul(o,i)),a=n.eql(n.mul(r,c),n.mul(s,i));return u&&a}negate(){return new O(this.X,n.neg(this.Y),this.Z)}double(){const{a:e,b:t}=a,r=n.mul(t,Ge),{X:i,Y:o,Z:s}=this;let c=n.ZERO,u=n.ZERO,f=n.ZERO,l=n.mul(i,i),d=n.mul(o,o),y=n.mul(s,s),h=n.mul(i,o);return h=n.add(h,h),f=n.mul(i,s),f=n.add(f,f),c=n.mul(e,f),u=n.mul(r,y),u=n.add(c,u),c=n.sub(d,u),u=n.add(d,u),u=n.mul(c,u),c=n.mul(h,c),f=n.mul(r,f),y=n.mul(e,y),h=n.sub(l,y),h=n.mul(e,h),h=n.add(h,f),f=n.add(l,l),l=n.add(f,l),l=n.add(l,y),l=n.mul(l,h),u=n.add(u,l),y=n.mul(o,s),y=n.add(y,y),l=n.mul(y,h),c=n.sub(c,l),f=n.mul(y,d),f=n.add(f,f),f=n.add(f,f),new O(c,u,f)}add(e){B(e);const{X:t,Y:r,Z:i}=this,{X:o,Y:s,Z:c}=e;let u=n.ZERO,f=n.ZERO,l=n.ZERO;const d=a.a,y=n.mul(a.b,Ge);let h=n.mul(t,o),p=n.mul(r,s),w=n.mul(i,c),b=n.add(t,r),g=n.add(o,s);b=n.mul(b,g),g=n.add(h,p),b=n.sub(b,g),g=n.add(t,i);let m=n.add(o,c);return g=n.mul(g,m),m=n.add(h,w),g=n.sub(g,m),m=n.add(r,i),u=n.add(s,c),m=n.mul(m,u),u=n.add(p,w),m=n.sub(m,u),l=n.mul(d,g),u=n.mul(y,w),l=n.add(u,l),u=n.sub(p,l),l=n.add(p,l),f=n.mul(u,l),p=n.add(h,h),p=n.add(p,h),w=n.mul(d,w),g=n.mul(y,g),p=n.add(p,w),w=n.sub(h,w),w=n.mul(d,w),g=n.add(g,w),h=n.mul(p,g),f=n.add(f,h),h=n.mul(m,g),u=n.mul(b,u),u=n.sub(u,h),h=n.mul(b,p),l=n.mul(m,l),l=n.add(l,h),new O(u,f,l)}subtract(e){return this.add(e.negate())}is0(){return this.equals(O.ZERO)}multiply(e){const{endo:r}=t;if(!i.isValidNot0(e))throw new Error("invalid scalar: out of range");let n,o;const s=e=>U.cached(this,e,e=>Ue(O,e));if(r){const{k1neg:t,k1:i,k2neg:c,k2:u}=x(e),{p:a,f:f}=s(i),{p:l,f:d}=s(u);o=f.add(d),n=R(r.beta,a,l,t,c)}else{const{p:t,f:r}=s(e);n=t,o=r}return Ue(O,[n,o])[0]}multiplyUnsafe(e){const{endo:r}=t,n=this;if(!i.isValid(e))throw new Error("invalid scalar: out of range");if(e===Ye||n.is0())return O.ZERO;if(e===ze)return n;if(U.hasCache(this))return this.multiply(e);if(r){const{k1neg:t,k1:i,k2neg:o,k2:s}=x(e),{p1:c,p2:u}=function(e,t,r,n){let i=t,o=e.ZERO,s=e.ZERO;for(;r>Re||n>Re;)r&Oe&&(o=o.add(i)),n&Oe&&(s=s.add(i)),i=i.double(),r>>=Oe,n>>=Oe;return{p1:o,p2:s}}(O,n,i,s);return R(r.beta,c,u,t,o)}return U.unsafe(n,e)}toAffine(e){return k(this,e)}isTorsionFree(){const{isTorsionFree:e}=t;return f===ze||(e?e(O,this):U.unsafe(this,l).is0())}clearCofactor(){const{clearCofactor:e}=t;return f===ze?this:e?e(O,this):this.multiplyUnsafe(f)}isSmallOrder(){return this.multiplyUnsafe(f).is0()}toBytes(e=!0){return V(e,"isCompressed"),this.assertValidity(),p(O,this,e)}toHex(e=!0){return o(this.toBytes(e))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}const A=i.BITS,U=new Te(O,t.endo?Math.ceil(A/2):A);return O.BASE.precompute(8),O}function Qe(e){return Uint8Array.of(e?2:3)}function et(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function tt(e,t={}){const{Fn:r}=e,n=t.randomBytes||i,o=Object.assign(et(e.Fp,r),{seed:Ke(r.ORDER)});function c(e=n(o.seed)){return function(e,t,r=!1){s(e);const n=e.length,i=ke(t),o=Ke(t);if(n<16||n<o||n>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+n);const c=le(r?Y(e):$(e),t-re)+re;return r?X(c,i):z(c,i)}(s(e,o.seed,"seed"),r.ORDER)}function u(t,n=!0){return e.BASE.multiply(r.fromBytes(t)).toBytes(n)}function f(e){const{secretKey:t,publicKey:n,publicKeyUncompressed:i}=o;if(!a(e))return;if("_lengths"in r&&r._lengths||t===n)return;const c=s(e,void 0,"key").length;return c===n||c===i}const l={isValidSecretKey:function(e){try{const t=r.fromBytes(e);return r.isValidNot0(t)}catch(e){return!1}},isValidPublicKey:function(t,r){const{publicKey:n,publicKeyUncompressed:i}=o;try{const o=t.length;return(!0!==r||o===n)&&((!1!==r||o===i)&&!!e.fromBytes(t))}catch(e){return!1}},randomSecretKey:c},d=function(e,t){return function(r){const n=e(r);return{secretKey:n,publicKey:t(n)}}}(c,u);return Object.freeze({getPublicKey:u,getSharedSecret:function(t,n,i=!0){if(!0===f(t))throw new Error("first arg must be private key");if(!1===f(n))throw new Error("second arg must be public key");const o=r.fromBytes(t);return e.fromBytes(n).multiply(o).toBytes(i)},keygen:d,Point:e,utils:l,lengths:o})}function rt(e,t,r={}){n(t),Q(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const f=(r=Object.assign({},r)).randomBytes||i,l=r.hmac||((e,r)=>He(t,e,r)),{Fp:y,Fn:h}=e,{ORDER:p,BITS:w}=h,{keygen:b,getPublicKey:g,getSharedSecret:m,utils:E,lengths:v}=tt(e,r),B={prehash:!0,lowS:"boolean"!=typeof r.lowS||r.lowS,format:"compact",extraEntropy:!1},x=p*Xe<y.ORDER;function k(e){return e>p>>ze}function K(e,t){if(!h.isValidNot0(t))throw new Error(`invalid signature ${e}: out of range 1..Point.Fn.ORDER`);return t}function R(){if(x)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function O(e,t){De(t);const r=v.signature;return s(e,"compact"===t?r:"recovered"===t?r+1:void 0)}class A{r;s;recovery;constructor(e,t,r){if(this.r=K("r",e),this.s=K("s",t),null!=r){if(R(),![0,1,2,3].includes(r))throw new Error("invalid recovery id");this.recovery=r}Object.freeze(this)}static fromBytes(e,t=B.format){let r;if(O(e,t),"der"===t){const{r:t,s:r}=$e.toSig(s(e));return new A(t,r)}"recovered"===t&&(r=e[0],t="compact",e=e.subarray(1));const n=v.signature/2,i=e.subarray(0,n),o=e.subarray(n,2*n);return new A(h.fromBytes(i),h.fromBytes(o),r)}static fromHex(e,t){return this.fromBytes(c(e),t)}assertRecovery(){const{recovery:e}=this;if(null==e)throw new Error("invalid recovery id: must be present");return e}addRecoveryBit(e){return new A(this.r,this.s,e)}recoverPublicKey(t){const{r:r,s:n}=this,i=this.assertRecovery(),o=2===i||3===i?r+p:r;if(!y.isValid(o))throw new Error("invalid recovery id: sig.r+curve.n != R.x");const c=y.toBytes(o),a=e.fromBytes(u(Qe(!(1&i)),c)),f=h.inv(o),l=S(s(t,void 0,"msgHash")),d=h.create(-l*f),w=h.create(n*f),b=e.BASE.multiplyUnsafe(d).add(a.multiplyUnsafe(w));if(b.is0())throw new Error("invalid recovery: point at infinify");return b.assertValidity(),b}hasHighS(){return k(this.s)}toBytes(e=B.format){if(De(e),"der"===e)return c($e.hexFromSig(this));const{r:t,s:r}=this,n=h.toBytes(t),i=h.toBytes(r);return"recovered"===e?(R(),u(Uint8Array.of(this.assertRecovery()),n,i)):u(n,i)}toHex(e){return o(this.toBytes(e))}}const U=r.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const t=$(e),r=8*e.length-w;return r>0?t>>BigInt(r):t},S=r.bits2int_modN||function(e){return h.create(U(e))},I=J(w);function q(e){return W("num < 2^"+w,e,Ye,I),h.toBytes(e)}function C(e,r){return s(e,void 0,"message"),r?s(t(e),void 0,"prehashed message"):e}return Object.freeze({keygen:b,getPublicKey:g,getSharedSecret:m,utils:E,lengths:v,Point:e,sign:function(r,n,i={}){const{seed:o,k2sig:c}=function(t,r,n){const{lowS:i,prehash:o,extraEntropy:c}=Le(n,B);t=C(t,o);const a=S(t),l=h.fromBytes(r);if(!h.isValidNot0(l))throw new Error("invalid private key");const d=[q(l),q(a)];if(null!=c&&!1!==c){const e=!0===c?f(v.secretKey):c;d.push(s(e,void 0,"extraEntropy"))}const y=u(...d),p=a;return{seed:y,k2sig:function(t){const r=U(t);if(!h.isValidNot0(r))return;const n=h.inv(r),o=e.BASE.multiply(r).toAffine(),s=h.create(o.x);if(s===Ye)return;const c=h.create(n*h.create(p+s*l));if(c===Ye)return;let u=(o.x===s?0:2)|Number(o.y&ze),a=c;return i&&k(c)&&(a=h.neg(c),u^=1),new A(s,a,x?void 0:u)}}}(r,n,i);return function(e,t,r){if(d(e,"hashLen"),d(t,"qByteLen"),"function"!=typeof r)throw new Error("hmacFn must be a function");const n=e=>new Uint8Array(e),i=Uint8Array.of(),o=Uint8Array.of(0),s=Uint8Array.of(1);let c=n(e),a=n(e),f=0;const l=()=>{c.fill(1),a.fill(0),f=0},y=(...e)=>r(a,u(c,...e)),h=(e=i)=>{a=y(o,e),c=y(),0!==e.length&&(a=y(s,e),c=y())},p=()=>{if(f++>=1e3)throw new Error("drbg: tried max amount of iterations");let e=0;const r=[];for(;e<t;){c=y();const t=c.slice();r.push(t),e+=c.length}return u(...r)};return(e,t)=>{let r;for(l(),h(e);!(r=t(p()));)h();return l(),r}}(t.outputLen,h.BYTES,l)(o,c).toBytes(i.format)},verify:function(t,r,n,i={}){const{lowS:o,prehash:c,format:u}=Le(i,B);if(n=s(n,void 0,"publicKey"),r=C(r,c),!a(t)){throw new Error("verify expects Uint8Array signature"+(t instanceof A?", use sig.toBytes()":""))}O(t,u);try{const i=A.fromBytes(t,u),s=e.fromBytes(n);if(o&&i.hasHighS())return!1;const{r:c,s:a}=i,f=S(r),l=h.inv(a),d=h.create(f*l),y=h.create(c*l),p=e.BASE.multiplyUnsafe(d).add(s.multiplyUnsafe(y));if(p.is0())return!1;return h.create(p.x)===c}catch(e){return!1}},recoverPublicKey:function(e,t,r={}){const{prehash:n}=Le(r,B);return t=C(t,n),A.fromBytes(e,"recovered").recoverPublicKey(t).toBytes()},Signature:A,hash:t})}
16
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const nt={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},it={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},ot=BigInt(2);const st=xe(nt.p,{sqrt:function(e){const t=nt.p,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),c=BigInt(44),u=BigInt(88),a=e*e*e%t,f=a*a*e%t,l=de(f,r,t)*f%t,d=de(l,r,t)*f%t,y=de(d,ot,t)*a%t,h=de(y,i,t)*y%t,p=de(h,o,t)*h%t,w=de(p,c,t)*p%t,b=de(w,u,t)*w%t,g=de(b,c,t)*p%t,m=de(g,r,t)*f%t,E=de(m,s,t)*h%t,v=de(E,n,t)*a%t,B=de(v,ot,t);if(!st.eql(st.sqr(B),e))throw new Error("Cannot find square root");return B}}),ct=rt(Je(nt,{Fp:st,endo:it}),y);class ut{constructor(e){this.ec={...ct},null!=e.priv&&(this.priv=e.priv),null!=e.pub&&(this.pub=e.pub)}static hexToBytes(e){if("string"!=typeof e)throw new Error("hex string expected");if(e.length%2)throw new Error("hex string must have even length");const t=e.length/2,r=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=parseInt(e.substr(2*n,2),16);return r}static bytesToHex(e){return Array.from(e||[]).map(e=>e.toString(16).padStart(2,"0")).join("")}static keyFromPublic(e,t="hex"){const r="hex"===t?ut.hexToBytes(e):e;return new ut({pub:r})}getPublic(e=!0,t="hex"){this.pub||(this.pub=this.ec.getPublicKey(this.priv,!1));let r=this.pub;const n=this.ec.Point.fromHex(ut.bytesToHex(r)).toHex(e);return r=ut.hexToBytes(n),"hex"===t?ut.bytesToHex(r):r}}
17
17
  /*!
18
18
  * Copyright (c) 2022-2023 Digital Bazaar, Inc. All rights reserved.
19
- */const at=new Map([[R,{secret:new Uint8Array([48,103,2,1,0,48,19,6,7,42,134,72,206,61,2,1,6,8,42,134,72,206,61,3,1,7,4,77,48,75,2,1,1,4,32]),public:new Uint8Array([161,36,3,34,0])}],[A,{secret:new Uint8Array([48,129,132,2,1,0,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,34,4,109,48,107,2,1,1,4,48]),public:new Uint8Array([161,52,3,50,0])}],[S,{secret:new Uint8Array([48,129,170,2,1,0,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,35,4,129,146,48,129,143,2,1,1,4,66]),public:new Uint8Array([161,70,3,68,0])}],[U,{secret:new Uint8Array([48,129,132,2,1,0,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10,4,109,48,107,2,1,1,4,32]),public:new Uint8Array([161,68,3,66,0])}]]),ft=new Map([[R,new Uint8Array([48,57,48,19,6,7,42,134,72,206,61,2,1,6,8,42,134,72,206,61,3,1,7,3,34,0])],[A,new Uint8Array([48,70,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,34,3,50,0])],[S,new Uint8Array([48,88,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,35,3,68,0])],[U,new Uint8Array([48,86,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10,3,66,0])]]);function lt(e){return Uint8Array.from(ut.keyFromPublic(e,"bytes").getPublic(!1,"array"))}async function dt({id:e,controller:r,secretKeyMultibase:n,publicKeyMultibase:i,keyAgreement:o=!1}){if(!i)throw new TypeError('The "publicKeyMultibase" property is required.');const s={id:e,controller:r};if(!i||"string"!=typeof i||i[0]!==g)throw new TypeError('"publicKeyMultibase" must be a multibase, base58-encoded string.');const c=t(i.slice(1)),u={name:o?"ECDH":h,namedCurve:P({publicMultikey:c})},a=function({publicMultikey:e}){const t=P({publicMultikey:e});let r=e.subarray(2);t===U&&(r=lt(r));return function({curve:e,publicKey:t}){const r=ft.get(e),n=new Uint8Array(r.length+t.length);let i=0;return n.set(r,i),i+=r.length,n.set(t,i),n}
19
+ */const at=new Map([[O,{secret:new Uint8Array([48,103,2,1,0,48,19,6,7,42,134,72,206,61,2,1,6,8,42,134,72,206,61,3,1,7,4,77,48,75,2,1,1,4,32]),public:new Uint8Array([161,36,3,34,0])}],[A,{secret:new Uint8Array([48,129,132,2,1,0,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,34,4,109,48,107,2,1,1,4,48]),public:new Uint8Array([161,52,3,50,0])}],[U,{secret:new Uint8Array([48,129,170,2,1,0,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,35,4,129,146,48,129,143,2,1,1,4,66]),public:new Uint8Array([161,70,3,68,0])}],[S,{secret:new Uint8Array([48,129,132,2,1,0,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10,4,109,48,107,2,1,1,4,32]),public:new Uint8Array([161,68,3,66,0])}]]),ft=new Map([[O,new Uint8Array([48,57,48,19,6,7,42,134,72,206,61,2,1,6,8,42,134,72,206,61,3,1,7,3,34,0])],[A,new Uint8Array([48,70,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,34,3,50,0])],[U,new Uint8Array([48,88,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,35,3,68,0])],[S,new Uint8Array([48,86,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10,3,66,0])]]);function lt(e){return Uint8Array.from(ut.keyFromPublic(e,"bytes").getPublic(!1,"array"))}async function dt({id:e,controller:r,secretKeyMultibase:n,publicKeyMultibase:i,keyAgreement:o=!1}){if(!i)throw new TypeError('The "publicKeyMultibase" property is required.');const s={id:e,controller:r};if(!i||"string"!=typeof i||i[0]!==g)throw new TypeError('"publicKeyMultibase" must be a multibase, base58-encoded string.');const c=t(i.slice(1)),u={name:o?"ECDH":h,namedCurve:T({publicMultikey:c})},a=function({publicMultikey:e}){const t=T({publicMultikey:e});let r=e.subarray(2);t===S&&(r=lt(r));return function({curve:e,publicKey:t}){const r=ft.get(e),n=new Uint8Array(r.length+t.length);let i=0;return n.set(r,i),i+=r.length,n.set(t,i),n}
20
20
  /*!
21
21
  * Copyright (c) 2023 Digital Bazaar, Inc. All rights reserved.
22
- */({curve:t,publicKey:r})}({publicMultikey:c}),f=o?[]:["verify"];if(u.namedCurve===U){const{Crypto:e}=await import("./webcrypto.es-BOyMRPOj-CAxP3jJR.js"),t=new e;s.publicKey=await t.subtle.importKey("spki",a,u,p,f)}else s.publicKey=await j.subtle.importKey("spki",a,u,p,f);if(n){if("string"!=typeof n||n[0]!==g)throw new TypeError('"secretKeyMultibase" must be a multibase, base58-encoded string.');const e=t(n.slice(1));!function({secretMultikey:e,publicMultikey:t}){const r=P({publicMultikey:t}),n=T({secretMultikey:e});if(r!==n)throw new Error(`Public key curve ('${r}') does not match secret key curve ('${n}').`)}({secretMultikey:e,publicMultikey:c});const r=function({secretMultikey:e,publicMultikey:t}){const r=T({secretMultikey:e}),n=e.subarray(2),i=t.subarray(2);return function({curve:e,secretKey:t,publicKey:r}){const n=at.get(e);if(!n)throw new Error(`Unsupported curve "${e}".`);e===U&&(r=lt(r));const i=new Uint8Array(n.secret.length+t.length+n.public.length+r.length);let o=0;return i.set(n.secret,o),o+=n.secret.length,i.set(t,o),o+=t.length,i.set(n.public,o),o+=n.public.length,i.set(r,o),i}({curve:r,secretKey:n,publicKey:i})}({secretMultikey:e,publicMultikey:c}),i=o?["deriveBits"]:["sign"];if(u.namedCurve===U){const{Crypto:e}=await import("./webcrypto.es-BOyMRPOj-CAxP3jJR.js"),t=new e;s.secretKey=await t.subtle.importKey("pkcs8",r,u,p,i)}else s.secretKey=await j.subtle.importKey("pkcs8",r,u,p,i)}return s}function yt({jwk:t}={}){if("EC"!==t?.kty)throw new TypeError('"jwk.kty" must be "EC".');const{crv:r}=t,n=F({curve:r}),i=e(t.x),o=e(t.y),s=new Uint8Array(n+1),c=o[o.length-1]%2==0;return s[0]=c?2:3,s.set(i,s.length-i.length),s}function ht({jwk:t}={}){if("EC"!==t?.kty)throw new TypeError('"jwk.kty" must be "EC".');const{crv:n}=t,i=F({curve:n}),o=e(t.x),s=e(t.y),c=new Uint8Array(2+(i+1));!function({curve:e,buffer:t}){if(e===R)t[0]=E[0],t[1]=E[1];else if(e===A)t[0]=v[0],t[1]=v[1];else if(e===S)t[0]=B[0],t[1]=B[1];else{if(e!==U)throw new TypeError(`Unsupported curve "${e}".`);t[0]=m[0],t[1]=m[1]}}({curve:n,buffer:c});const u=s[s.length-1]%2==0;c[2]=u?2:3,c.set(o,c.length-o.length);return g+r(c)}function pt({jwk:t}={}){if("EC"!==t?.kty)throw new TypeError('"jwk.kty" must be "EC".');const{crv:n}=t,i=F({curve:n}),o=e(t.d),s=new Uint8Array(2+i);!function({curve:e,buffer:t}){if(e===R)t[0]=x[0],t[1]=x[1];else if(e===A)t[0]=K[0],t[1]=K[1];else if(e===S)t[0]=O[0],t[1]=O[1];else{if(e!==U)throw new TypeError(`Unsupported curve "${e}".`);t[0]=k[0],t[1]=k[1]}}({curve:t.crv,buffer:s}),s.set(o,s.length-o.length);return g+r(s)}const wt=new Set(["EcdsaSecp256r1VerificationKey2019","EcdsaSecp384r1VerificationKey2019","EcdsaSecp521r1VerificationKey2019","EcdsaSecp256k1VerificationKey2019"]);async function bt({keyPair:e}){if(!wt.has(e.type))throw new TypeError(`Unsupported key type "${e.type}".`);if(e["@context"]||(e["@context"]=w),!function({document:e,contextUrl:t}){const r=e["@context"];return r===t||Array.isArray(r)&&r.includes(t)}
22
+ */({curve:t,publicKey:r})}({publicMultikey:c}),f=o?[]:["verify"];if(u.namedCurve===S){const{Crypto:e}=await import("./webcrypto.es-aoUxIxUm-gGk5JRJH.js"),t=new e;s.publicKey=await t.subtle.importKey("spki",a,u,p,f)}else s.publicKey=await M.subtle.importKey("spki",a,u,p,f);if(n){if("string"!=typeof n||n[0]!==g)throw new TypeError('"secretKeyMultibase" must be a multibase, base58-encoded string.');const e=t(n.slice(1));!function({secretMultikey:e,publicMultikey:t}){const r=T({publicMultikey:t}),n=F({secretMultikey:e});if(r!==n)throw new Error(`Public key curve ('${r}') does not match secret key curve ('${n}').`)}({secretMultikey:e,publicMultikey:c});const r=function({secretMultikey:e,publicMultikey:t}){const r=F({secretMultikey:e}),n=e.subarray(2),i=t.subarray(2);return function({curve:e,secretKey:t,publicKey:r}){const n=at.get(e);if(!n)throw new Error(`Unsupported curve "${e}".`);e===S&&(r=lt(r));const i=new Uint8Array(n.secret.length+t.length+n.public.length+r.length);let o=0;return i.set(n.secret,o),o+=n.secret.length,i.set(t,o),o+=t.length,i.set(n.public,o),o+=n.public.length,i.set(r,o),i}({curve:r,secretKey:n,publicKey:i})}({secretMultikey:e,publicMultikey:c}),i=o?["deriveBits"]:["sign"];if(u.namedCurve===S){const{Crypto:e}=await import("./webcrypto.es-aoUxIxUm-gGk5JRJH.js"),t=new e;s.secretKey=await t.subtle.importKey("pkcs8",r,u,p,i)}else s.secretKey=await M.subtle.importKey("pkcs8",r,u,p,i)}return s}function yt({jwk:t}={}){if("EC"!==t?.kty)throw new TypeError('"jwk.kty" must be "EC".');const{crv:r}=t,n=P({curve:r}),i=e(t.x),o=e(t.y),s=new Uint8Array(n+1),c=o[o.length-1]%2==0;return s[0]=c?2:3,s.set(i,s.length-i.length),s}function ht({jwk:t}={}){if("EC"!==t?.kty)throw new TypeError('"jwk.kty" must be "EC".');const{crv:n}=t,i=P({curve:n}),o=e(t.x),s=e(t.y),c=new Uint8Array(2+(i+1));!function({curve:e,buffer:t}){if(e===O)t[0]=E[0],t[1]=E[1];else if(e===A)t[0]=v[0],t[1]=v[1];else if(e===U)t[0]=B[0],t[1]=B[1];else{if(e!==S)throw new TypeError(`Unsupported curve "${e}".`);t[0]=m[0],t[1]=m[1]}}({curve:n,buffer:c});const u=s[s.length-1]%2==0;c[2]=u?2:3,c.set(o,c.length-o.length);return g+r(c)}function pt({jwk:t}={}){if("EC"!==t?.kty)throw new TypeError('"jwk.kty" must be "EC".');const{crv:n}=t,i=P({curve:n}),o=e(t.d),s=new Uint8Array(2+i);!function({curve:e,buffer:t}){if(e===O)t[0]=k[0],t[1]=k[1];else if(e===A)t[0]=K[0],t[1]=K[1];else if(e===U)t[0]=R[0],t[1]=R[1];else{if(e!==S)throw new TypeError(`Unsupported curve "${e}".`);t[0]=x[0],t[1]=x[1]}}({curve:t.crv,buffer:s}),s.set(o,s.length-o.length);return g+r(s)}const wt=new Set(["EcdsaSecp256r1VerificationKey2019","EcdsaSecp384r1VerificationKey2019","EcdsaSecp521r1VerificationKey2019","EcdsaSecp256k1VerificationKey2019"]);async function bt({keyPair:e}){if(!wt.has(e.type))throw new TypeError(`Unsupported key type "${e.type}".`);if(e["@context"]||(e["@context"]=w),!function({document:e,contextUrl:t}){const r=e["@context"];return r===t||Array.isArray(r)&&r.includes(t)}
23
23
  /*!
24
24
  * Copyright (c) 2022-2023 Digital Bazaar, Inc. All rights reserved.
25
- */({document:e,contextUrl:w}))throw new TypeError(`Context not supported "${e["@context"]}".`);return{"@context":b,id:e.id,type:"Multikey",controller:e.controller,publicKeyMultibase:e.publicKeyMultibase,secretKeyMultibase:e.secretKeyMultibase}}async function gt(e,t={}){"boolean"==typeof t&&(t={keyAgreement:t});const{keyAgreement:r}=t;let n={...e};if("Multikey"!==n.type){if(n.publicKeyJwk)return async function({jwk:e,secretKey:t=!1}={}){const r={"@context":b,type:"Multikey",publicKeyMultibase:ht({jwk:e})};t&&e.d&&(r.secretKeyMultibase=pt({jwk:e}));const n=!e.key_ops||e.key_ops.includes("deriveBits");return gt(r,n)}({jwk:n.publicKeyJwk,secretKey:!1});if(n.type)return n=await bt({keyPair:n}),Et({keyPair:n,keyAgreement:r})}return n.type||(n.type="Multikey"),n["@context"]||(n["@context"]=b),n.controller&&!n.id&&(n.id=`${e.controller}#${e.publicKeyMultibase}`),function(e){if(!e||"object"!=typeof e)throw new TypeError('"key" must be an object.');if("Multikey"!==e.type)throw new TypeError('"key" must be a Multikey with type "Multikey".');if(!(e["@context"]===b||Array.isArray(e["@context"])&&e["@context"].includes(b)))throw new TypeError(`"key" must be a Multikey with context "${b}".`)}(n),Et({keyPair:n,keyAgreement:r})}async function mt({keyPair:e,secretKey:t=!1}={}){e?.publicKey instanceof C||(e=await dt(e));const r=t&&!!e.secretKey?e.secretKey:e.publicKey;let n;if(e.publicKey.algorithm.namedCurve===U){const{Crypto:e}=await import("./webcrypto.es-BOyMRPOj-CAxP3jJR.js"),t=new e;n=await t.subtle.exportKey("jwk",r)}else n=await j.subtle.exportKey("jwk",r);return n}async function Et({keyPair:t,keyAgreement:r=!1}){t?.publicKey instanceof C||t.publicKey?.algorithm.namedCurve===U||(t=await dt(t));const n=async({publicKey:r=!0,secretKey:n=!1,includeContext:i=!0,raw:o=!1}={})=>{if(o){const i=await mt({keyPair:t,secretKey:n}),o={};return r&&(o.publicKey=yt({jwk:i})),n&&(o.secretKey=function({jwk:t}={}){if("EC"!==t?.kty)throw new TypeError('"jwk.kty" must be "EC".');const{crv:r}=t,n=F({curve:r}),i=e(t.d),o=new Uint8Array(n);return o.set(i,o.length-i.length),o}({jwk:i})),o}return async function({keyPair:e,secretKey:t,publicKey:r,includeContext:n}={}){if(!r&&!t)throw new TypeError('Export requires specifying either "publicKey" or "secretKey".');const i=t&&!!e.secretKey,o=i?e.secretKey:e.publicKey;let s;if(o.algorithm.namedCurve===U){const{Crypto:e}=await import("./webcrypto.es-BOyMRPOj-CAxP3jJR.js"),t=new e;s=await t.subtle.exportKey("jwk",o)}else s=await j.subtle.exportKey("jwk",o);const c={};return n&&(c["@context"]=b),c.id=e.id,c.type="Multikey",c.controller=e.controller,r&&(c.publicKeyMultibase=ht({jwk:s})),i&&(c.secretKeyMultibase=pt({jwk:s})),c}({keyPair:t,publicKey:r,secretKey:n,includeContext:i})},{publicKeyMultibase:i,secretKeyMultibase:o}=await n({publicKey:!0,secretKey:!0,includeContext:!0});return t={...t,publicKeyMultibase:i,secretKeyMultibase:o,keyAgreement:r,export:n,signer(){const{id:e,secretKey:r}=t;
25
+ */({document:e,contextUrl:w}))throw new TypeError(`Context not supported "${e["@context"]}".`);return{"@context":b,id:e.id,type:"Multikey",controller:e.controller,publicKeyMultibase:e.publicKeyMultibase,secretKeyMultibase:e.secretKeyMultibase}}async function gt(e,t={}){"boolean"==typeof t&&(t={keyAgreement:t});const{keyAgreement:r}=t;let n={...e};if("Multikey"!==n.type){if(n.publicKeyJwk)return async function({jwk:e,secretKey:t=!1}={}){const r={"@context":b,type:"Multikey",publicKeyMultibase:ht({jwk:e})};t&&e.d&&(r.secretKeyMultibase=pt({jwk:e}));const n=!e.key_ops||e.key_ops.includes("deriveBits");return gt(r,n)}({jwk:n.publicKeyJwk,secretKey:!1});if(n.type)return n=await bt({keyPair:n}),Et({keyPair:n,keyAgreement:r})}return n.type||(n.type="Multikey"),n["@context"]||(n["@context"]=b),n.controller&&!n.id&&(n.id=`${e.controller}#${e.publicKeyMultibase}`),function(e){if(!e||"object"!=typeof e)throw new TypeError('"key" must be an object.');if("Multikey"!==e.type)throw new TypeError('"key" must be a Multikey with type "Multikey".');if(!(e["@context"]===b||Array.isArray(e["@context"])&&e["@context"].includes(b)))throw new TypeError(`"key" must be a Multikey with context "${b}".`)}(n),Et({keyPair:n,keyAgreement:r})}async function mt({keyPair:e,secretKey:t=!1}={}){e?.publicKey instanceof N||(e=await dt(e));const r=t&&!!e.secretKey?e.secretKey:e.publicKey;let n;if(e.publicKey.algorithm.namedCurve===S){const{Crypto:e}=await import("./webcrypto.es-aoUxIxUm-gGk5JRJH.js"),t=new e;n=await t.subtle.exportKey("jwk",r)}else n=await M.subtle.exportKey("jwk",r);return n}async function Et({keyPair:t,keyAgreement:r=!1}){t?.publicKey instanceof N||t.publicKey?.algorithm.namedCurve===S||(t=await dt(t));const n=async({publicKey:r=!0,secretKey:n=!1,includeContext:i=!0,raw:o=!1}={})=>{if(o){const i=await mt({keyPair:t,secretKey:n}),o={};return r&&(o.publicKey=yt({jwk:i})),n&&(o.secretKey=function({jwk:t}={}){if("EC"!==t?.kty)throw new TypeError('"jwk.kty" must be "EC".');const{crv:r}=t,n=P({curve:r}),i=e(t.d),o=new Uint8Array(n);return o.set(i,o.length-i.length),o}({jwk:i})),o}return async function({keyPair:e,secretKey:t,publicKey:r,includeContext:n}={}){if(!r&&!t)throw new TypeError('Export requires specifying either "publicKey" or "secretKey".');const i=t&&!!e.secretKey,o=i?e.secretKey:e.publicKey;let s;if(o.algorithm.namedCurve===S){const{Crypto:e}=await import("./webcrypto.es-aoUxIxUm-gGk5JRJH.js"),t=new e;s=await t.subtle.exportKey("jwk",o)}else s=await M.subtle.exportKey("jwk",o);const c={};return n&&(c["@context"]=b),c.id=e.id,c.type="Multikey",c.controller=e.controller,r&&(c.publicKeyMultibase=ht({jwk:s})),i&&(c.secretKeyMultibase=pt({jwk:s})),c}({keyPair:t,publicKey:r,secretKey:n,includeContext:i})},{publicKeyMultibase:i,secretKeyMultibase:o}=await n({publicKey:!0,secretKey:!0,includeContext:!0});return t={...t,publicKeyMultibase:i,secretKeyMultibase:o,keyAgreement:r,export:n,signer(){const{id:e,secretKey:r}=t;
26
26
  /*!
27
27
  * Copyright (c) 2022-2023 Digital Bazaar, Inc. All rights reserved.
28
28
  */
29
- return function({id:e,secretKey:t}){if(!t)throw new Error('"secretKey" is required for signing.');const{namedCurve:r}=t.algorithm,n={name:h,hash:{name:N({curve:r})}};return{algorithm:r,id:e,async sign({data:e}={}){if(r===U){const{Crypto:r}=await import("./webcrypto.es-BOyMRPOj-CAxP3jJR.js"),i=new r;return new Uint8Array(await i.subtle.sign(n,t,e))}return new Uint8Array(await j.subtle.sign(n,t,e))}}}({id:e,secretKey:r})},verifier(){const{id:e,publicKey:r}=t;return function({id:e,publicKey:t}){if(!t)throw new Error('"publicKey" is required for verifying.');const{namedCurve:r}=t.algorithm,n={name:h,hash:{name:N({curve:r})}};return{algorithm:r,id:e,async verify({data:e,signature:i}={}){if(r===U){const{Crypto:r}=await import("./webcrypto.es-BOyMRPOj-CAxP3jJR.js");return(new r).subtle.verify(n,t,i,e)}return j.subtle.verify(n,t,i,e)}}}({id:e,publicKey:r})},async deriveSecret({publicKey:e,remotePublicKey:r}={}){if(r&&e)throw new Error('Only one of "remotePublicKey" and "publicKey" must be given.');if(!t.keyAgreement){const e=Error('"keyAgreement" is not supported by this keypair.');throw e.name="NotSupportedError",e}return async function({localKeyPair:e,remoteKeyPair:t}){if(!e.secretKey){const e=Error('"secretKey" required to derive secret.');throw e.name="NotSupportedError",e}e=await dt({...e,keyAgreement:!0}),t=await dt({...t,keyAgreement:!0});const{namedCurve:r}=e.secretKey.algorithm,n=F({curve:r});if(r===U){const{Crypto:i}=await import("./webcrypto.es-BOyMRPOj-CAxP3jJR.js"),o=new i,s=await o.subtle.deriveBits({name:"ECDH",namedCurve:r,public:t.publicKey},e.secretKey,8*n);return new Uint8Array(s,0,n)}const i=await j.subtle.deriveBits({name:"ECDH",namedCurve:r,public:t.publicKey},e.secretKey,8*n);return new Uint8Array(i,0,n)}({localKeyPair:this,remoteKeyPair:r||e})}}}export{yt as a,gt as f,mt as t};
29
+ return function({id:e,secretKey:t}){if(!t)throw new Error('"secretKey" is required for signing.');const{namedCurve:r}=t.algorithm,n={name:h,hash:{name:j({curve:r})}};return{algorithm:r,id:e,async sign({data:e}={}){if(r===S){const{Crypto:r}=await import("./webcrypto.es-aoUxIxUm-gGk5JRJH.js"),i=new r;return new Uint8Array(await i.subtle.sign(n,t,e))}return new Uint8Array(await M.subtle.sign(n,t,e))}}}({id:e,secretKey:r})},verifier(){const{id:e,publicKey:r}=t;return function({id:e,publicKey:t}){if(!t)throw new Error('"publicKey" is required for verifying.');const{namedCurve:r}=t.algorithm,n={name:h,hash:{name:j({curve:r})}};return{algorithm:r,id:e,async verify({data:e,signature:i}={}){if(r===S){const{Crypto:r}=await import("./webcrypto.es-aoUxIxUm-gGk5JRJH.js");return(new r).subtle.verify(n,t,i,e)}return M.subtle.verify(n,t,i,e)}}}({id:e,publicKey:r})},async deriveSecret({publicKey:e,remotePublicKey:r}={}){if(r&&e)throw new Error('Only one of "remotePublicKey" and "publicKey" must be given.');if(!t.keyAgreement){const e=Error('"keyAgreement" is not supported by this keypair.');throw e.name="NotSupportedError",e}return async function({localKeyPair:e,remoteKeyPair:t}){if(!e.secretKey){const e=Error('"secretKey" required to derive secret.');throw e.name="NotSupportedError",e}e=await dt({...e,keyAgreement:!0}),t=await dt({...t,keyAgreement:!0});const{namedCurve:r}=e.secretKey.algorithm,n=P({curve:r});if(r===S){const{Crypto:i}=await import("./webcrypto.es-aoUxIxUm-gGk5JRJH.js"),o=new i,s=await o.subtle.deriveBits({name:"ECDH",namedCurve:r,public:t.publicKey},e.secretKey,8*n);return new Uint8Array(s,0,n)}const i=await M.subtle.deriveBits({name:"ECDH",namedCurve:r,public:t.publicKey},e.secretKey,8*n);return new Uint8Array(i,0,n)}({localKeyPair:this,remoteKeyPair:r||e})}}}export{yt as a,gt as f,mt as t};
@@ -1,4 +1,4 @@
1
- import{h as e,y as t,B as r}from"./main.js";import{a as o,r as n}from"./Suite-Bu3gszvt-Dmvbh142.js";var i,a,s,c,p,u,d,f,l,h,y,m,w,g,v,T,E,x,b,S,L,_,C,M,O,R,U,D,K,N,P,A,V,I,j,k,X=(function(e,t){!function(e,t){for(var r in t)e[r]=t[r]}(t,function(e){var t={};function r(o){if(t[o])return t[o].exports;var n=t[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,o){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(o,n,function(t){return e[t]}.bind(null,n));return o},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){
1
+ import{h as e,y as t,B as r}from"./main.js";import{a as o,r as n}from"./Suite-CBLHluYK-Dmvbh142.js";var i,a,s,c,p,u,d,f,l,h,y,m,w,g,v,T,E,x,b,S,L,_,C,M,O,R,U,D,K,N,P,A,V,I,j,k,X=(function(e,t){!function(e,t){for(var r in t)e[r]=t[r]}(t,function(e){var t={};function r(o){if(t[o])return t[o].exports;var n=t[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,o){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(o,n,function(t){return e[t]}.bind(null,n));return o},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){
2
2
  /*!
3
3
  * Copyright (c) 2021 Digital Bazaar, Inc. All rights reserved.
4
4
  */
@@ -14,7 +14,7 @@ e.exports={"@context":[{"@version":1.1},"https://w3id.org/security/v1",{AesKeyWr
14
14
  /*!
15
15
  * Copyright (c) 2021 Digital Bazaar, Inc. All rights reserved.
16
16
  */
17
- e.exports={SECURITY_CONTEXT_V1_URL:"https://w3id.org/security/v1",SECURITY_CONTEXT_V2_URL:"https://w3id.org/security/v2",CONTEXT_URL:"https://w3id.org/security/v2"}}]))}(i={exports:{}},i.exports),i.exports),z=(a=X)&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a,Y=X.contexts,q=X.constants,$=X.CONTEXT,B=X.CONTEXT_URL,F=X.SECURITY_CONTEXT_V1_URL,J=X.SECURITY_CONTEXT_V2_URL,G=t(Object.freeze({__proto__:null,CONTEXT:$,CONTEXT_URL:B,SECURITY_CONTEXT_V1_URL:F,SECURITY_CONTEXT_V2_URL:J,constants:q,contexts:Y,default:z}));function W(){if(c)return s;c=1;const{constants:e}=G;return s={SECURITY_CONTEXT_URL:e.SECURITY_CONTEXT_V2_URL,SECURITY_CONTEXT_V1_URL:e.SECURITY_CONTEXT_V1_URL,SECURITY_CONTEXT_V2_URL:e.SECURITY_CONTEXT_V2_URL,SECURITY_PROOF_URL:"https://w3id.org/security#proof",SECURITY_SIGNATURE_URL:"https://w3id.org/security#signature"}}
17
+ e.exports={SECURITY_CONTEXT_V1_URL:"https://w3id.org/security/v1",SECURITY_CONTEXT_V2_URL:"https://w3id.org/security/v2",CONTEXT_URL:"https://w3id.org/security/v2"}}]))}(i={exports:{}},i.exports),i.exports),Y=(a=X)&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a,z=X.contexts,q=X.constants,$=X.CONTEXT,B=X.CONTEXT_URL,F=X.SECURITY_CONTEXT_V1_URL,J=X.SECURITY_CONTEXT_V2_URL,G=t(Object.freeze({__proto__:null,CONTEXT:$,CONTEXT_URL:B,SECURITY_CONTEXT_V1_URL:F,SECURITY_CONTEXT_V2_URL:J,constants:q,contexts:z,default:Y}));function W(){if(c)return s;c=1;const{constants:e}=G;return s={SECURITY_CONTEXT_URL:e.SECURITY_CONTEXT_V2_URL,SECURITY_CONTEXT_V1_URL:e.SECURITY_CONTEXT_V1_URL,SECURITY_CONTEXT_V2_URL:e.SECURITY_CONTEXT_V2_URL,SECURITY_PROOF_URL:"https://w3id.org/security#proof",SECURITY_SIGNATURE_URL:"https://w3id.org/security#signature"}}
18
18
  /*!
19
19
  * Copyright (c) 2017-2023 Digital Bazaar, Inc. All rights reserved.
20
20
  */function H(){if(u)return p;u=1;const e=W(),{contexts:t}=G;return p=new Map([[e.SECURITY_CONTEXT_V1_URL,t.get(e.SECURITY_CONTEXT_V1_URL)],[e.SECURITY_CONTEXT_V2_URL,t.get(e.SECURITY_CONTEXT_V2_URL)]])}