iso-signatures 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,27 +5,27 @@ export const NULL_TAG: 5;
5
5
  export const OBJECT_TAG: 6;
6
6
  export const SEQUENCE_TAG: 48;
7
7
  export const UNUSED_BIT_PAD: 0;
8
- export function encodeDERLength(length: number): Uint8Array;
9
- export function readDERLength(bytes: Uint8Array, offset?: number): {
8
+ export function encodeDERLength(length: number): Uint8Array<ArrayBuffer>;
9
+ export function readDERLength(bytes: Uint8Array<ArrayBuffer>, offset?: number): {
10
10
  number: number;
11
11
  consumed: number;
12
12
  };
13
- export function skip(input: Uint8Array, expectedTag: number, position: number): number;
14
- export function into(input: Uint8Array, expectedTag: number, offset: number): {
13
+ export function skip(input: Uint8Array<ArrayBuffer>, expectedTag: number, position: number): number;
14
+ export function into(input: Uint8Array<ArrayBuffer>, expectedTag: number, offset: number): {
15
15
  position: number;
16
16
  length: number;
17
17
  };
18
- export function encodeBitString(input: Uint8Array): Uint8Array<ArrayBuffer>;
19
- export function encodeOctetString(input: Uint8Array): Uint8Array<ArrayBuffer>;
20
- export function encodeSequence(sequence: Uint8Array[]): Uint8Array<ArrayBuffer>;
21
- export function readSequence(bytes: Uint8Array, offset?: number): Uint8Array<ArrayBufferLike>;
22
- export function encodeInt(input: Uint8Array): Uint8Array<ArrayBuffer>;
23
- export function enterSequence(bytes: Uint8Array, offset?: number): number;
24
- export function skipSequence(bytes: Uint8Array, offset?: number): number;
25
- export function skipInt(bytes: Uint8Array, offset?: number): number;
26
- export function readBitString(bytes: Uint8Array, offset?: number): Uint8Array;
27
- export function readInt(bytes: Uint8Array, byteOffset?: number): Uint8Array;
28
- export function readOctetString(bytes: Uint8Array, offset?: number): Uint8Array;
29
- export function readSequenceWith(readers: [Reader, ...Reader[]], source: Uint8Array, byteOffset?: number): Uint8Array<ArrayBufferLike>[];
30
- export type Reader = (bytes: Uint8Array, offset: number) => Uint8Array;
18
+ export function encodeBitString(input: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer>;
19
+ export function encodeOctetString(input: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer>;
20
+ export function encodeSequence(sequence: Uint8Array<ArrayBuffer>[]): Uint8Array<ArrayBuffer>;
21
+ export function readSequence(bytes: Uint8Array<ArrayBuffer>, offset?: number): Uint8Array<ArrayBuffer>;
22
+ export function encodeInt(input: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer>;
23
+ export function enterSequence(bytes: Uint8Array<ArrayBuffer>, offset?: number): number;
24
+ export function skipSequence(bytes: Uint8Array<ArrayBuffer>, offset?: number): number;
25
+ export function skipInt(bytes: Uint8Array<ArrayBuffer>, offset?: number): number;
26
+ export function readBitString(bytes: Uint8Array<ArrayBuffer>, offset?: number): Uint8Array<ArrayBuffer>;
27
+ export function readInt(bytes: Uint8Array<ArrayBuffer>, byteOffset?: number): Uint8Array<ArrayBuffer>;
28
+ export function readOctetString(bytes: Uint8Array<ArrayBuffer>, offset?: number): Uint8Array<ArrayBuffer>;
29
+ export function readSequenceWith(readers: [Reader, ...Reader[]], source: Uint8Array<ArrayBuffer>, byteOffset?: number): Uint8Array<ArrayBuffer>[];
30
+ export type Reader = (bytes: Uint8Array<ArrayBuffer>, offset: number) => Uint8Array<ArrayBuffer>;
31
31
  //# sourceMappingURL=asn1.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"asn1.d.ts","sourceRoot":"","sources":["../../src/asn1.js"],"names":[],"mappings":"AAIA,sBAAuB,CAAI,CAAA;AAC3B,4BAA6B,CAAI,CAAA;AACjC,+BAAgC,CAAI,CAAA;AACpC,uBAAwB,CAAI,CAAA;AAC5B,yBAA0B,CAAI,CAAA;AAC9B,2BAA4B,EAAI,CAAA;AAEhC,6BAA8B,CAAI,CAAA;AAM3B,wCAHI,MAAM,GACJ,UAAU,CAetB;AAOM,qCAJI,UAAU,WACV,MAAM,GACJ;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAsB9C;AAQM,4BALI,UAAU,eACV,MAAM,YACN,MAAM,GACJ,MAAM,CAKlB;AAQM,4BALI,UAAU,eACV,MAAM,UACN,MAAM,GACJ;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAmBhD;AAKM,uCAFI,UAAU,2BA8BpB;AAKM,yCAFI,UAAU,2BAqBpB;AAKM,yCAFI,UAAU,EAAE,2BAgCtB;AAMM,oCAHI,UAAU,WACV,MAAM,+BAMhB;AAKM,iCAFI,UAAU,2BAkCpB;AAQM,qCALI,UAAU,WACV,MAAM,GACJ,MAAM,CAIyB;AAOrC,oCAJI,UAAU,WACV,MAAM,GACJ,MAAM,CAGgB;AAO5B,+BAJI,UAAU,WACV,MAAM,GACJ,MAAM,CAEuD;AAOnE,qCAJI,UAAU,WACV,MAAM,GACJ,UAAU,CAiBtB;AAOM,+BAJI,UAAU,eACV,MAAM,GACJ,UAAU,CAgBtB;AAOM,uCAJI,UAAU,WACV,MAAM,GACJ,UAAU,CAMtB;AAQM,0CAJI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,UACrB,UAAU,eACV,MAAM,iCAYhB;qBAfY,CAAC,KAAK,EAAC,UAAU,EAAE,MAAM,EAAC,MAAM,KAAK,UAAU"}
1
+ {"version":3,"file":"asn1.d.ts","sourceRoot":"","sources":["../../src/asn1.js"],"names":[],"mappings":"AAIA,sBAAuB,CAAI,CAAA;AAC3B,4BAA6B,CAAI,CAAA;AACjC,+BAAgC,CAAI,CAAA;AACpC,uBAAwB,CAAI,CAAA;AAC5B,yBAA0B,CAAI,CAAA;AAC9B,2BAA4B,EAAI,CAAA;AAEhC,6BAA8B,CAAI,CAAA;AAK3B,wCAFI,MAAM,2BAehB;AAMM,qCAHI,UAAU,CAAC,WAAW,CAAC,WACvB,MAAM;;;EAsBhB;AAOM,4BAJI,UAAU,CAAC,WAAW,CAAC,eACvB,MAAM,YACN,MAAM,UAKhB;AAOM,4BAJI,UAAU,CAAC,WAAW,CAAC,eACvB,MAAM,UACN,MAAM;;;EAmBhB;AAKM,uCAFI,UAAU,CAAC,WAAW,CAAC,2BA8BjC;AAKM,yCAFI,UAAU,CAAC,WAAW,CAAC,2BAqBjC;AAKM,yCAFI,UAAU,CAAC,WAAW,CAAC,EAAE,2BAgCnC;AAMM,oCAHI,UAAU,CAAC,WAAW,CAAC,WACvB,MAAM,2BAMhB;AAKM,iCAFI,UAAU,CAAC,WAAW,CAAC,2BAkCjC;AAOM,qCAJI,UAAU,CAAC,WAAW,CAAC,WACvB,MAAM,UAI2B;AAMrC,oCAHI,UAAU,CAAC,WAAW,CAAC,WACvB,MAAM,UAGkB;AAM5B,+BAHI,UAAU,CAAC,WAAW,CAAC,WACvB,MAAM,UAEyD;AAKnE,qCAFI,UAAU,CAAC,WAAW,CAAC,4CAiBjC;AAMM,+BAHI,UAAU,CAAC,WAAW,CAAC,eACvB,MAAM,2BAgBhB;AAMM,uCAHI,UAAU,CAAC,WAAW,CAAC,WACvB,MAAM,2BAMhB;AAQM,0CAJI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,UACrB,UAAU,CAAC,WAAW,CAAC,eACvB,MAAM,6BAYhB;qBAfY,CAAC,KAAK,EAAC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAC,MAAM,KAAK,UAAU,CAAC,WAAW,CAAC"}
@@ -46,9 +46,9 @@ export class ECDSASigner extends DID implements ISigner {
46
46
  /**
47
47
  * Sign a message
48
48
  *
49
- * @param {Uint8Array} message
49
+ * @param {Uint8Array<ArrayBuffer>} message
50
50
  */
51
- sign(message: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
51
+ sign(message: Uint8Array<ArrayBuffer>): Promise<Uint8Array<ArrayBuffer>>;
52
52
  /**
53
53
  * Export the signer as a CryptoKeyPair
54
54
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../src/signers/ecdsa.js"],"names":[],"mappings":"AAwCA;;;;;GAKG;AACH,yCAHW,MAAM,GACJ;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;CAAC,CA8B7G;AAED;;;;GAIG;AACH,gDAFgB,OAAO;IAuBrB;;;;OAIG;IACH,uBAFW,MAAM,wBAkBhB;IAED;;;;;OAKG;IACH,sBAHW,OAAO,eAAe,EAAE,YAAY,QACpC,OAAO,eAAe,EAAE,aAAa,wBA2B/C;IAED;;;;;OAKG;IACH,mBAHW,aAAa,QACb,OAAO,eAAe,EAAE,aAAa,wBA2B/C;IAnGD;;;OAGG;IACH,iBAHW,OAAO,eAAe,EAAE,aAAa,WACrC,aAAa,EAQvB;IAZD,kDAAkD;IAClD,eADW,OAAO,aAAa,EAAE,aAAa,CACjC;IAOX,mCAA+C;IA+FjD;;;;OAIG;IACH,cAFW,UAAU,wCAUpB;IAED;;;;OAIG;IACH,UAFa,aAAa,CAIzB;;CAKF;sBAnNY,OAAO,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC;qBAC5C,OAAO,CAAC,OAAO,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;6BACrE,OAAO,CAAC,OAAO,aAAa,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;oBAPlE,SAAS"}
1
+ {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../src/signers/ecdsa.js"],"names":[],"mappings":"AAwCA;;;;;GAKG;AACH,yCAHW,MAAM,GACJ;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;CAAC,CA8B7G;AAED;;;;GAIG;AACH,gDAFgB,OAAO;IAuBrB;;;;OAIG;IACH,uBAFW,MAAM,wBAkBhB;IAED;;;;;OAKG;IACH,sBAHW,OAAO,eAAe,EAAE,YAAY,QACpC,OAAO,eAAe,EAAE,aAAa,wBA2B/C;IAED;;;;;OAKG;IACH,mBAHW,aAAa,QACb,OAAO,eAAe,EAAE,aAAa,wBA2B/C;IAnGD;;;OAGG;IACH,iBAHW,OAAO,eAAe,EAAE,aAAa,WACrC,aAAa,EAQvB;IAZD,kDAAkD;IAClD,eADW,OAAO,aAAa,EAAE,aAAa,CACjC;IAOX,mCAA+C;IA+FjD;;;;OAIG;IACH,cAFW,UAAU,CAAC,WAAW,CAAC,oCAUjC;IAED;;;;OAIG;IACH,UAFa,aAAa,CAIzB;;CAKF;sBAnNY,OAAO,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC;qBAC5C,OAAO,CAAC,OAAO,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;6BACrE,OAAO,CAAC,OAAO,aAAa,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;oBAPlE,SAAS"}
@@ -40,9 +40,9 @@ export class EdDSASigner extends DID implements ISigner {
40
40
  /**
41
41
  * Sign a message
42
42
  *
43
- * @param {Uint8Array} message
43
+ * @param {Uint8Array<ArrayBuffer>} message
44
44
  */
45
- sign(message: Uint8Array): Promise<import("@noble/ed25519").Bytes>;
45
+ sign(message: Uint8Array<ArrayBuffer>): Promise<Uint8Array<ArrayBuffer>>;
46
46
  /**
47
47
  * Export the signer as a encoded string
48
48
  */
@@ -1 +1 @@
1
- {"version":3,"file":"eddsa.d.ts","sourceRoot":"","sources":["../../../src/signers/eddsa.js"],"names":[],"mappings":"AA0BA;;;;GAIG;AACH,gDAFgB,OAAO;IAGrB;;;;OAIG;IACH,aAFU,MAAM,CAEI;IAmBpB;;;;OAIG;IACH,wBAFW,UAAU,wBASpB;IAED;;;;;OAKG;IACH,uBAHW,MAAM,QACN,OAAO,eAAe,EAAE,aAAa,wBAU/C;IAED;;;;;OAKG;IACH,sBAHW,OAAO,eAAe,EAAE,aAAa,QACrC,OAAO,eAAe,EAAE,aAAa,eAU/C;IAvDD;;;OAGG;IACH,iBAHW,OAAO,eAAe,EAAE,aAAa,cACrC,UAAU,EAOpB;IAZD,kDAAkD;IAClD,eADW,OAAO,aAAa,EAAE,aAAa,CACjC;IA2Db;;;;OAIG;IACH,cAFW,UAAU,2CAIpB;IAED;;OAEG;IACH,iBAEC;;CAKF;sBA5GY,OAAO,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;oBAR9B,SAAS"}
1
+ {"version":3,"file":"eddsa.d.ts","sourceRoot":"","sources":["../../../src/signers/eddsa.js"],"names":[],"mappings":"AAyBA;;;;GAIG;AACH,gDAFgB,OAAO;IAGrB;;;;OAIG;IACH,aAFU,MAAM,CAEI;IAmBpB;;;;OAIG;IACH,wBAFW,UAAU,wBAoBpB;IAED;;;;;OAKG;IACH,uBAHW,MAAM,QACN,OAAO,eAAe,EAAE,aAAa,wBAc/C;IAED;;;;;OAKG;IACH,sBAHW,OAAO,eAAe,EAAE,aAAa,QACrC,OAAO,eAAe,EAAE,aAAa,eAU/C;IAtED;;;OAGG;IACH,iBAHW,OAAO,eAAe,EAAE,aAAa,cACrC,UAAU,EAOpB;IAZD,kDAAkD;IAClD,eADW,OAAO,aAAa,EAAE,aAAa,CACjC;IA0Eb;;;;OAIG;IACH,cAFW,UAAU,CAAC,WAAW,CAAC,GAGd,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAGnD;IAED;;OAEG;IACH,iBAEC;;CAKF;sBA7HY,OAAO,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;oBAP9B,SAAS"}
@@ -534,9 +534,9 @@ export class EIP191Signer extends DID implements ISigner {
534
534
  /**
535
535
  * Sign a message
536
536
  *
537
- * @param {Uint8Array} message
537
+ * @param {Uint8Array<ArrayBuffer>} message
538
538
  */
539
- sign(message: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
539
+ sign(message: Uint8Array<ArrayBuffer>): Promise<Uint8Array<ArrayBuffer>>;
540
540
  /**
541
541
  * Export the signer as a encoded string
542
542
  */
@@ -1 +1 @@
1
- {"version":3,"file":"eip191.d.ts","sourceRoot":"","sources":["../../../src/signers/eip191.js"],"names":[],"mappings":"AAKA;;;GAGG;AAEH;;;;GAIG;AACH,iDAFgB,OAAO;IAuBrB;;;;;;;;;;;;;;;;;OAiBG;IACH,qBAdG;QAA0B,QAAQ,EAA1B,QAAQ;QACgB,OAAO;QACE,OAAO;QACvB,SAAS;KAElC,yBAwBF;IAlDD;;;;;;;OAOG;IACH,sBALW,QAAQ,WACR,KAAK,MAAM,EAAE,YACb,MAAM,GAAG,KAAK,MAAM,EAAE,cACtB,MAAM,EAShB;IAlBD,kDAAkD;IAClD,eADW,OAAO,aAAa,EAAE,aAAa,CACjC;IAaX;;;;sBAW4D,CAAC;;;;;;sBAQzD,CAAC;;;;;;sBAS2B,CAAC;;;;;;;;;;;;sBAqCwQ,CAAC;;;;;;sBAAmP,CAAC;;;;;;;;;;;;;;;;;;sBAA6jE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAqxP,CAAC;;;;;;sBAAkT,CAAC;;;;;;;;;;;;sBAAovB,CAAC;;;;;;sBAAuQ,CAAC;;;;;;sBAAwW,CAAC;;;;;;;;;;;;;;;;;;;;sCAA+4B,CAAC;6BAA2D,CAAC;sCAAmF,CAAC;;0CAA6F,CAAC;kCAAqD,CAAC;8BAAiD,CAAC;;;;qBAAkM,CAAC;yBAA8B,CAAC;4BAAwB,CAAC;;;;wBAAiI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;sBApExjb,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAoE+gC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA0Q,CAAC;;;;;;;;;;sBAA+Z,CAAC;;;;;;;;;;;;;;;sBAAmQ,CAAC;;;4BAAguI,CAAC;;;;;;;;gCAA4M,CAAC;;;;;;;;;;;;;;;;4BAA2f,CAAC;;;;;iCAA8H,CAAC;mCAAoD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAA+R,CAAC;;;0BAAgD,CAAC;4BAA+C,CAAC;6BAAwC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAA68B,CAAC;;;;;;;;MAjEn7Q;IACxB,uBAAsB;IACtB,gCAAsB;IACtB,kBAA0B;IAsC5B;;;;OAIG;IACH,cAFW,UAAU,wCAQpB;IAED;;OAEG;IACH,iBAEC;CAKF;sBAxFY,OAAO,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;uBACrC,OAAO,IAAI,EAAE,QAAQ,CAAC,QAAQ;oBANvB,SAAS;yBAEJ,IAAI"}
1
+ {"version":3,"file":"eip191.d.ts","sourceRoot":"","sources":["../../../src/signers/eip191.js"],"names":[],"mappings":"AAKA;;;GAGG;AAEH;;;;GAIG;AACH,iDAFgB,OAAO;IAuBrB;;;;;;;;;;;;;;;;;OAiBG;IACH,qBAdG;QAA0B,QAAQ,EAA1B,QAAQ;QACgB,OAAO;QACE,OAAO;QACvB,SAAS;KAElC,yBAwBF;IAlDD;;;;;;;OAOG;IACH,sBALW,QAAQ,WACR,KAAK,MAAM,EAAE,YACb,MAAM,GAAG,KAAK,MAAM,EAAE,cACtB,MAAM,EAShB;IAlBD,kDAAkD;IAClD,eADW,OAAO,aAAa,EAAE,aAAa,CACjC;IAaX;;;;sBAW4D,CAAC;;;;;;sBAQzD,CAAC;;;;;;sBAS2B,CAAC;;;;;;;;;;;;sBAqC2P,CAAC;;;;;;sBAAmP,CAAC;;;;;;;;;;;;;;;;;;sBAA6jE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAqxP,CAAC;;;;;;sBAAkT,CAAC;;;;;;;;;;;;sBAAovB,CAAC;;;;;;sBAAuQ,CAAC;;;;;;sBAAwW,CAAC;;;;;;;;;;;;;;;;;;;;sCAA+4B,CAAC;6BAA2D,CAAC;sCAAmF,CAAC;;0CAA6F,CAAC;kCAAqD,CAAC;8BAAiD,CAAC;;;;qBAAkM,CAAC;yBAA8B,CAAC;4BAAwB,CAAC;;;;wBAAiI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;sBApE3ib,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAoEkgC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA0Q,CAAC;;;;;;;;;;sBAA+Z,CAAC;;;;;;;;;;;;;;;sBAAmQ,CAAC;;;4BAAguI,CAAC;;;;;;;;gCAA4M,CAAC;;;;;;;;;;;;;;;;4BAA2f,CAAC;;;;;iCAA8H,CAAC;mCAAoD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAA+R,CAAC;;;0BAAgD,CAAC;4BAA+C,CAAC;6BAAwC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAA68B,CAAC;;;;;;;;MAjEt6Q;IACxB,uBAAsB;IACtB,gCAAsB;IACtB,kBAA0B;IAsC5B;;;;OAIG;IACH,cAFW,UAAU,CAAC,WAAW,CAAC,oCAQjC;IAED;;OAEG;IACH,iBAEC;CAKF;sBAxFY,OAAO,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;uBACrC,OAAO,IAAI,EAAE,QAAQ,CAAC,QAAQ;oBANvB,SAAS;yBAEJ,IAAI"}
@@ -13,9 +13,9 @@ export class ES256KSigner extends DID implements ISigner {
13
13
  /**
14
14
  * Generate a new signer
15
15
  *
16
- * @param {Uint8Array} [bytes]
16
+ * @param {Uint8Array<ArrayBuffer>} [bytes]
17
17
  */
18
- static generate(bytes?: Uint8Array): ES256KSigner;
18
+ static generate(bytes?: Uint8Array<ArrayBuffer>): ES256KSigner;
19
19
  /**
20
20
  * Import a signer from a JWK
21
21
  *
@@ -41,9 +41,9 @@ export class ES256KSigner extends DID implements ISigner {
41
41
  /**
42
42
  * Sign a message
43
43
  *
44
- * @param {Uint8Array} message
44
+ * @param {Uint8Array<ArrayBuffer>} message
45
45
  */
46
- sign(message: Uint8Array): Promise<import("@noble/secp256k1").Bytes>;
46
+ sign(message: Uint8Array<ArrayBuffer>): Promise<Uint8Array<ArrayBuffer>>;
47
47
  /**
48
48
  * Export the signer as a encoded string
49
49
  */
@@ -1 +1 @@
1
- {"version":3,"file":"es256k.d.ts","sourceRoot":"","sources":["../../../src/signers/es256k.js"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH,iDAFgB,OAAO;IAGrB;;;;OAIG;IACH,aAFU,MAAM,CAEI;IAoBpB;;;;OAIG;IACH,wBAFW,UAAU,gBAUpB;IAED;;;;;OAKG;IACH,sBAHW,OAAO,eAAe,EAAE,YAAY,QACpC,OAAO,eAAe,EAAE,aAAa,gBAU/C;IAED;;;;;OAKG;IACH,uBAHW,MAAM,QACN,OAAO,eAAe,EAAE,aAAa,gBAU/C;IAzDD;;;;OAIG;IACH,iBAHW,OAAO,eAAe,EAAE,aAAa,cACrC,UAAU,EAOpB;IAhBD,kDAAkD;IAClD,eADW,OAAO,aAAa,EAAE,aAAa,CACjC;IAgEb;;;;OAIG;IACH,cAFW,UAAU,6CAMpB;IAED;;OAEG;IACH,iBAEC;;CAKF;sBA/GY,OAAO,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;oBAL9B,SAAS"}
1
+ {"version":3,"file":"es256k.d.ts","sourceRoot":"","sources":["../../../src/signers/es256k.js"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,iDAFgB,OAAO;IAGrB;;;;OAIG;IACH,aAFU,MAAM,CAEI;IAoBpB;;;;OAIG;IACH,wBAFW,UAAU,CAAC,WAAW,CAAC,gBAajC;IAED;;;;;OAKG;IACH,sBAHW,OAAO,eAAe,EAAE,YAAY,QACpC,OAAO,eAAe,EAAE,aAAa,gBAc/C;IAED;;;;;OAKG;IACH,uBAHW,MAAM,QACN,OAAO,eAAe,EAAE,aAAa,gBAc/C;IApED;;;;OAIG;IACH,iBAHW,OAAO,eAAe,EAAE,aAAa,cACrC,UAAU,EAOpB;IAhBD,kDAAkD;IAClD,eADW,OAAO,aAAa,EAAE,aAAa,CACjC;IA2Eb;;;;OAIG;IACH,cAFW,UAAU,CAAC,WAAW,CAAC,oCAKjC;IAED;;OAEG;IACH,iBAEC;;CAKF;sBAzHY,OAAO,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;oBAL9B,SAAS"}
@@ -33,9 +33,9 @@ export class RSASigner extends DID implements ISigner {
33
33
  /**
34
34
  * Sign a message
35
35
  *
36
- * @param {Uint8Array} message
36
+ * @param {Uint8Array<ArrayBuffer>} message
37
37
  */
38
- sign(message: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
38
+ sign(message: Uint8Array<ArrayBuffer>): Promise<Uint8Array<ArrayBuffer>>;
39
39
  /**
40
40
  * Export the signer as a crypto key pair
41
41
  */
@@ -1 +1 @@
1
- {"version":3,"file":"rsa.d.ts","sourceRoot":"","sources":["../../../src/signers/rsa.js"],"names":[],"mappings":"AAsBA;;;;GAIG;AACH,8CAFgB,OAAO;IAIrB,oBAAoB;IAmBpB;;OAEG;IACH,sCAqBC;IAED;;;;;OAKG;IACH,sBAHW,OAAO,eAAe,EAAE,aAAa,QACrC,OAAO,eAAe,EAAE,aAAa,sBA+B/C;IAED;;;;;OAKG;IACH,uBAHW,aAAa,QACb,OAAO,eAAe,EAAE,aAAa,sBAc/C;IA5FD;;;OAGG;IACH,iBAHW,OAAO,eAAe,EAAE,aAAa,WACrC,aAAa,EAOvB;IAZD,kDAAkD;IAClD,eADW,OAAO,aAAa,EAAE,aAAa,CACjC;IAgGb;;;;OAIG;IACH,cAFW,UAAU,wCAUpB;IAED;;OAEG;IACH,wBAEC;;CAKF;sBAnJY,OAAO,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC;oBANrC,SAAS"}
1
+ {"version":3,"file":"rsa.d.ts","sourceRoot":"","sources":["../../../src/signers/rsa.js"],"names":[],"mappings":"AAsBA;;;;GAIG;AACH,8CAFgB,OAAO;IAIrB,oBAAoB;IAmBpB;;OAEG;IACH,sCAqBC;IAED;;;;;OAKG;IACH,sBAHW,OAAO,eAAe,EAAE,aAAa,QACrC,OAAO,eAAe,EAAE,aAAa,sBA+B/C;IAED;;;;;OAKG;IACH,uBAHW,aAAa,QACb,OAAO,eAAe,EAAE,aAAa,sBAc/C;IA5FD;;;OAGG;IACH,iBAHW,OAAO,eAAe,EAAE,aAAa,WACrC,aAAa,EAOvB;IAZD,kDAAkD;IAClD,eADW,OAAO,aAAa,EAAE,aAAa,CACjC;IAgGb;;;;OAIG;IACH,cAFW,UAAU,CAAC,WAAW,CAAC,oCAUjC;IAED;;OAEG;IACH,wBAEC;;CAKF;sBAnJY,OAAO,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC;oBANrC,SAAS"}
@@ -3,12 +3,12 @@ export namespace spki {
3
3
  export { decode };
4
4
  }
5
5
  /**
6
- * @param {Uint8Array} key
6
+ * @param {Uint8Array<ArrayBuffer>} key
7
7
  */
8
- declare function encode(key: Uint8Array): Uint8Array<ArrayBuffer>;
8
+ declare function encode(key: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer>;
9
9
  /**
10
- * @param {Uint8Array} info
10
+ * @param {Uint8Array<ArrayBuffer>} info
11
11
  */
12
- declare function decode(info: Uint8Array): Uint8Array<ArrayBufferLike>;
12
+ declare function decode(info: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer>;
13
13
  export {};
14
14
  //# sourceMappingURL=spki.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spki.d.ts","sourceRoot":"","sources":["../../src/spki.js"],"names":[],"mappings":";;;;AAgBA;;GAEG;AACH,6BAFW,UAAU,2BAIpB;AAED;;GAEG;AACH,8BAFW,UAAU,+BAUpB"}
1
+ {"version":3,"file":"spki.d.ts","sourceRoot":"","sources":["../../src/spki.js"],"names":[],"mappings":";;;;AAgBA;;GAEG;AACH,6BAFW,UAAU,CAAC,WAAW,CAAC,2BAIjC;AAED;;GAEG;AACH,8BAFW,UAAU,CAAC,WAAW,CAAC,2BAUjC"}
@@ -1,15 +1,15 @@
1
1
  import type { VerifiableDID } from 'iso-did/types';
2
2
  export type SignatureType = 'Ed25519' | 'ES256' | 'ES384' | 'ES512' | 'ES256K' | 'RS256' | 'EIP191';
3
3
  export interface Sign {
4
- sign: (message: Uint8Array) => Promise<Uint8Array>;
4
+ sign: (message: Uint8Array<ArrayBuffer>) => Promise<Uint8Array<ArrayBuffer>>;
5
5
  }
6
6
  export interface ISigner<Export extends CryptoKeyPair | string = string> extends VerifiableDID, Sign {
7
7
  export: () => Export;
8
8
  signatureType: SignatureType;
9
9
  }
10
10
  export interface VerifyInput {
11
- signature: Uint8Array;
12
- message: Uint8Array;
11
+ signature: Uint8Array<ArrayBuffer>;
12
+ message: Uint8Array<ArrayBuffer>;
13
13
  did: VerifiableDID;
14
14
  }
15
15
  export type Verify = (input: VerifyInput) => Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,OAAO,GACP,OAAO,GACP,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,CAAA;AAEZ,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;CACnD;AAED,MAAM,WAAW,OAAO,CAAC,MAAM,SAAS,aAAa,GAAG,MAAM,GAAG,MAAM,CACrE,SAAQ,aAAa,EACnB,IAAI;IACN,MAAM,EAAE,MAAM,MAAM,CAAA;IACpB,aAAa,EAAE,aAAa,CAAA;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,UAAU,CAAA;IACrB,OAAO,EAAE,UAAU,CAAA;IACnB,GAAG,EAAE,aAAa,CAAA;CACnB;AACD,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAE7D,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,aAAa,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AAEjE,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAE5E,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD;;OAEG;IACH,IAAI,EAAE,aAAa,CAAA;CACpB;AACD,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAE7E,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACzD;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAAA;CACpC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,OAAO,GACP,OAAO,GACP,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,CAAA;AAEZ,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;CAC7E;AAED,MAAM,WAAW,OAAO,CAAC,MAAM,SAAS,aAAa,GAAG,MAAM,GAAG,MAAM,CACrE,SAAQ,aAAa,EACnB,IAAI;IACN,MAAM,EAAE,MAAM,MAAM,CAAA;IACpB,aAAa,EAAE,aAAa,CAAA;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;IAClC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;IAChC,GAAG,EAAE,aAAa,CAAA;CACnB;AACD,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAE7D,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,aAAa,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AAEjE,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAE5E,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD;;OAEG;IACH,IAAI,EAAE,aAAa,CAAA;CACpB;AACD,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAE7E,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACzD;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAAA;CACpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../src/verifiers/ecdsa.js"],"names":[],"mappings":"AA4DA;;;;;GAKG;AACH,6BAJW,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,+BACtC,OAAO,aAAa,EAAE,WAAW,oBAK3C;AAhBD,qFAAqF;AACrF,uBADW,OAAO,aAAa,EAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC,CAMhF"}
1
+ {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../src/verifiers/ecdsa.js"],"names":[],"mappings":"AAyDA;;;;;GAKG;AACH,6BAJW,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,+BACtC,OAAO,aAAa,EAAE,WAAW,oBAK3C;AAhBD,qFAAqF;AACrF,uBADW,OAAO,aAAa,EAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC,CAMhF"}
@@ -2,13 +2,12 @@
2
2
  * Convert a 0x signature to a Uint8Array
3
3
  *
4
4
  * @param {`0x${string}`} signature
5
- * @returns {Uint8Array}
6
5
  */
7
- export function hexToBytes(signature: `0x${string}`): Uint8Array;
6
+ export function hexToBytes(signature: `0x${string}`): Uint8Array<ArrayBuffer>;
8
7
  /**
9
- * @param { Uint8Array} data
8
+ * @param {Uint8Array<ArrayBuffer>} data
10
9
  */
11
- export function getSignPayload(data: Uint8Array): Uint8Array<ArrayBufferLike>;
10
+ export function getSignPayload(data: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBufferLike>;
12
11
  export function verify(input: import("../types.js").VerifyInput): Promise<boolean>;
13
12
  /** @type {import('../types').Verifier<'EIP191'>} */
14
13
  export const verifier: import("../types").Verifier<"EIP191">;
@@ -1 +1 @@
1
- {"version":3,"file":"eip191.d.ts","sourceRoot":"","sources":["../../../src/verifiers/eip191.js"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,sCAHW,KAAK,MAAM,EAAE,GACX,UAAU,CAItB;AAED;;GAEG;AACH,qCAFY,UAAU,+BAKrB;;AAeD,oDAAoD;AACpD,uBADW,OAAO,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAG/C"}
1
+ {"version":3,"file":"eip191.d.ts","sourceRoot":"","sources":["../../../src/verifiers/eip191.js"],"names":[],"mappings":"AASA;;;;GAIG;AACH,sCAFW,KAAK,MAAM,EAAE,2BAIvB;AAED;;GAEG;AACH,qCAFW,UAAU,CAAC,WAAW,CAAC,+BAKjC;;AAkBD,oDAAoD;AACpD,uBADW,OAAO,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAG/C"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "iso-signatures",
3
3
  "type": "module",
4
- "version": "0.4.0",
4
+ "version": "0.5.0",
5
5
  "description": "Signatures tooling.",
6
6
  "author": "Hugo Dias <hugomrdias@gmail.com> (hugodias.me)",
7
7
  "license": "MIT",
@@ -81,23 +81,23 @@
81
81
  "dist/src/**/*.d.ts.map"
82
82
  ],
83
83
  "dependencies": {
84
- "@noble/ed25519": "^2.3.0",
85
- "@noble/hashes": "^1.8.0",
86
- "@noble/secp256k1": "^2.3.0",
87
- "ox": "^0.8.5",
88
- "iso-base": "^4.1.0",
89
- "iso-did": "^2.0.0"
84
+ "@noble/ed25519": "^3.0.0",
85
+ "@noble/hashes": "^2.0.0",
86
+ "@noble/secp256k1": "^3.0.0",
87
+ "ox": "^0.9.1",
88
+ "iso-base": "^4.2.0",
89
+ "iso-did": "^2.1.0"
90
90
  },
91
91
  "devDependencies": {
92
92
  "@types/assert": "^1.5.11",
93
93
  "@types/mocha": "^10.0.10",
94
- "@types/node": "^24.1.0",
94
+ "@types/node": "^24.3.0",
95
95
  "assert": "^2.1.0",
96
96
  "mocha": "^11.7.1",
97
- "playwright-test": "^14.1.11",
97
+ "playwright-test": "^14.1.12",
98
98
  "type-fest": "^4.34.1",
99
- "typescript": "5.8.3",
100
- "viem": "^2.33.0"
99
+ "typescript": "5.9.2",
100
+ "viem": "^2.35.1"
101
101
  },
102
102
  "publishConfig": {
103
103
  "provenance": true
package/src/asn1.js CHANGED
@@ -13,7 +13,6 @@ export const UNUSED_BIT_PAD = 0x00
13
13
 
14
14
  /**
15
15
  * @param {number} length
16
- * @returns {Uint8Array}
17
16
  */
18
17
  export const encodeDERLength = (length) => {
19
18
  if (length <= 127) {
@@ -31,9 +30,8 @@ export const encodeDERLength = (length) => {
31
30
  }
32
31
 
33
32
  /**
34
- * @param {Uint8Array} bytes
33
+ * @param {Uint8Array<ArrayBuffer>} bytes
35
34
  * @param {number} offset
36
- * @returns {{number: number, consumed: number}}
37
35
  */
38
36
  export const readDERLength = (bytes, offset = 0) => {
39
37
  if ((bytes[offset] & 0x80) === 0) {
@@ -58,10 +56,9 @@ export const readDERLength = (bytes, offset = 0) => {
58
56
  }
59
57
 
60
58
  /**
61
- * @param {Uint8Array} input
59
+ * @param {Uint8Array<ArrayBuffer>} input
62
60
  * @param {number} expectedTag
63
61
  * @param {number} position
64
- * @returns {number}
65
62
  */
66
63
  export const skip = (input, expectedTag, position) => {
67
64
  const parsed = into(input, expectedTag, position)
@@ -69,10 +66,9 @@ export const skip = (input, expectedTag, position) => {
69
66
  }
70
67
 
71
68
  /**
72
- * @param {Uint8Array} input
69
+ * @param {Uint8Array<ArrayBuffer>} input
73
70
  * @param {number} expectedTag
74
71
  * @param {number} offset
75
- * @returns {{ position: number, length: number }}
76
72
  */
77
73
  export const into = (input, expectedTag, offset) => {
78
74
  const actualTag = input[offset]
@@ -94,7 +90,7 @@ export const into = (input, expectedTag, offset) => {
94
90
  }
95
91
 
96
92
  /**
97
- * @param {Uint8Array} input
93
+ * @param {Uint8Array<ArrayBuffer>} input
98
94
  */
99
95
  export const encodeBitString = (input) => {
100
96
  // encode input length + 1 for unused bit pad
@@ -127,7 +123,7 @@ export const encodeBitString = (input) => {
127
123
  }
128
124
 
129
125
  /**
130
- * @param {Uint8Array} input
126
+ * @param {Uint8Array<ArrayBuffer>} input
131
127
  */
132
128
  export const encodeOctetString = (input) => {
133
129
  // encode input length
@@ -151,7 +147,7 @@ export const encodeOctetString = (input) => {
151
147
  }
152
148
 
153
149
  /**
154
- * @param {Uint8Array[]} sequence
150
+ * @param {Uint8Array<ArrayBuffer>[]} sequence
155
151
  */
156
152
  export const encodeSequence = (sequence) => {
157
153
  // calculate bytelength for all the parts
@@ -186,7 +182,7 @@ export const encodeSequence = (sequence) => {
186
182
  }
187
183
 
188
184
  /**
189
- * @param {Uint8Array} bytes
185
+ * @param {Uint8Array<ArrayBuffer>} bytes
190
186
  * @param {number} offset
191
187
  */
192
188
  export const readSequence = (bytes, offset = 0) => {
@@ -196,7 +192,7 @@ export const readSequence = (bytes, offset = 0) => {
196
192
  }
197
193
 
198
194
  /**
199
- * @param {Uint8Array} input
195
+ * @param {Uint8Array<ArrayBuffer>} input
200
196
  */
201
197
  export const encodeInt = (input) => {
202
198
  const extra = input.byteLength === 0 || input[0] & 0x80 ? 1 : 0
@@ -233,33 +229,28 @@ export const encodeInt = (input) => {
233
229
  }
234
230
 
235
231
  /**
236
- * @param {Uint8Array} bytes
232
+ * @param {Uint8Array<ArrayBuffer>} bytes
237
233
  * @param {number} offset
238
- * @returns {number}
239
234
  */
240
235
 
241
236
  export const enterSequence = (bytes, offset = 0) =>
242
237
  into(bytes, SEQUENCE_TAG, offset).position
243
238
 
244
239
  /**
245
- * @param {Uint8Array} bytes
240
+ * @param {Uint8Array<ArrayBuffer>} bytes
246
241
  * @param {number} offset
247
- * @returns {number}
248
242
  */
249
243
  export const skipSequence = (bytes, offset = 0) =>
250
244
  skip(bytes, SEQUENCE_TAG, offset)
251
245
 
252
246
  /**
253
- * @param {Uint8Array} bytes
247
+ * @param {Uint8Array<ArrayBuffer>} bytes
254
248
  * @param {number} offset
255
- * @returns {number}
256
249
  */
257
250
  export const skipInt = (bytes, offset = 0) => skip(bytes, INT_TAG, offset)
258
251
 
259
252
  /**
260
- * @param {Uint8Array} bytes
261
- * @param {number} offset
262
- * @returns {Uint8Array}
253
+ * @param {Uint8Array<ArrayBuffer>} bytes
263
254
  */
264
255
  export const readBitString = (bytes, offset = 0) => {
265
256
  const { position, length } = into(bytes, BITSTRING_TAG, offset)
@@ -279,9 +270,8 @@ export const readBitString = (bytes, offset = 0) => {
279
270
  }
280
271
 
281
272
  /**
282
- * @param {Uint8Array} bytes
273
+ * @param {Uint8Array<ArrayBuffer>} bytes
283
274
  * @param {number} byteOffset
284
- * @returns {Uint8Array}
285
275
  */
286
276
  export const readInt = (bytes, byteOffset = 0) => {
287
277
  const { position, length } = into(bytes, INT_TAG, byteOffset)
@@ -300,9 +290,8 @@ export const readInt = (bytes, byteOffset = 0) => {
300
290
  }
301
291
 
302
292
  /**
303
- * @param {Uint8Array} bytes
293
+ * @param {Uint8Array<ArrayBuffer>} bytes
304
294
  * @param {number} offset
305
- * @returns {Uint8Array}
306
295
  */
307
296
  export const readOctetString = (bytes, offset = 0) => {
308
297
  const { position, length } = into(bytes, OCTET_STRING_TAG, offset)
@@ -311,9 +300,9 @@ export const readOctetString = (bytes, offset = 0) => {
311
300
  }
312
301
 
313
302
  /**
314
- * @typedef {(bytes:Uint8Array, offset:number) => Uint8Array} Reader
303
+ * @typedef {(bytes:Uint8Array<ArrayBuffer>, offset:number) => Uint8Array<ArrayBuffer>} Reader
315
304
  * @param {[Reader, ...Reader[]]} readers
316
- * @param {Uint8Array} source
305
+ * @param {Uint8Array<ArrayBuffer>} source
317
306
  * @param {number} byteOffset
318
307
  */
319
308
  export const readSequenceWith = (readers, source, byteOffset = 0) => {
@@ -192,7 +192,7 @@ export class ECDSASigner extends DID {
192
192
  /**
193
193
  * Sign a message
194
194
  *
195
- * @param {Uint8Array} message
195
+ * @param {Uint8Array<ArrayBuffer>} message
196
196
  */
197
197
  async sign(message) {
198
198
  const buf = await webcrypto.subtle.sign(
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable unicorn/numeric-separators-style */
2
- import { getPublicKeyAsync, signAsync, utils } from '@noble/ed25519'
2
+ import { getPublicKeyAsync, keygenAsync, signAsync } from '@noble/ed25519'
3
3
  import { webcrypto } from 'iso-base/crypto'
4
4
  import { base64pad, base64url } from 'iso-base/rfc4648'
5
5
  import { tag, untag } from 'iso-base/varint'
@@ -7,7 +7,6 @@ import { DID } from 'iso-did'
7
7
  import { DIDKey } from 'iso-did/key'
8
8
  import { didKeyOrVerifiableDID } from '../utils.js'
9
9
 
10
- // @ts-ignore
11
10
  if (!globalThis.crypto) globalThis.crypto = webcrypto
12
11
 
13
12
  /**
@@ -60,10 +59,21 @@ export class EdDSASigner extends DID {
60
59
  * @param {Uint8Array} [bytes]
61
60
  */
62
61
  static async generate(bytes) {
63
- const privateKey = bytes || utils.randomPrivateKey()
64
- const publicKey = await getPublicKeyAsync(privateKey)
62
+ let privateKey
63
+ let publicKey
64
+ if (bytes) {
65
+ privateKey = bytes
66
+ publicKey = await getPublicKeyAsync(privateKey)
67
+ } else {
68
+ const key = await keygenAsync()
69
+ privateKey = key.secretKey
70
+ publicKey = key.publicKey
71
+ }
65
72
  return new EdDSASigner(
66
- DIDKey.fromPublicKey('Ed25519', publicKey),
73
+ DIDKey.fromPublicKey(
74
+ 'Ed25519',
75
+ /** @type {Uint8Array<ArrayBuffer>} */ (publicKey)
76
+ ),
67
77
  privateKey
68
78
  )
69
79
  }
@@ -79,7 +89,11 @@ export class EdDSASigner extends DID {
79
89
  const publicKey = await getPublicKeyAsync(privateKey)
80
90
 
81
91
  return new EdDSASigner(
82
- didKeyOrVerifiableDID('Ed25519', publicKey, did),
92
+ didKeyOrVerifiableDID(
93
+ 'Ed25519',
94
+ /** @type {Uint8Array<ArrayBuffer>} */ (publicKey),
95
+ did
96
+ ),
83
97
  privateKey
84
98
  )
85
99
  }
@@ -103,10 +117,12 @@ export class EdDSASigner extends DID {
103
117
  /**
104
118
  * Sign a message
105
119
  *
106
- * @param {Uint8Array} message
120
+ * @param {Uint8Array<ArrayBuffer>} message
107
121
  */
108
122
  sign(message) {
109
- return signAsync(message, this.#privateKey)
123
+ return /** @type {Promise<Uint8Array<ArrayBuffer>>} */ (
124
+ signAsync(message, this.#privateKey)
125
+ )
110
126
  }
111
127
 
112
128
  /**
@@ -72,7 +72,7 @@ export class EIP191Signer extends DID {
72
72
  /**
73
73
  * Sign a message
74
74
  *
75
- * @param {Uint8Array} message
75
+ * @param {Uint8Array<ArrayBuffer>} message
76
76
  */
77
77
  async sign(message) {
78
78
  const result = await this.provider.request({
@@ -1,6 +1,5 @@
1
1
  import { getPublicKey, signAsync, utils } from '@noble/secp256k1'
2
2
  import { base64pad, base64url } from 'iso-base/rfc4648'
3
- import { u8 } from 'iso-base/utils'
4
3
  import { tag, untag } from 'iso-base/varint'
5
4
  import { DID } from 'iso-did'
6
5
  import { DIDKey } from 'iso-did/key'
@@ -53,14 +52,17 @@ export class ES256KSigner extends DID {
53
52
  /**
54
53
  * Generate a new signer
55
54
  *
56
- * @param {Uint8Array} [bytes]
55
+ * @param {Uint8Array<ArrayBuffer>} [bytes]
57
56
  */
58
57
  static generate(bytes) {
59
- const privateKey = bytes || utils.randomPrivateKey()
58
+ const privateKey = bytes || utils.randomSecretKey()
60
59
  const publicKey = getPublicKey(privateKey)
61
60
 
62
61
  return new ES256KSigner(
63
- DIDKey.fromPublicKey('secp256k1', publicKey),
62
+ DIDKey.fromPublicKey(
63
+ 'secp256k1',
64
+ /** @type {Uint8Array<ArrayBuffer>} */ (publicKey)
65
+ ),
64
66
  privateKey
65
67
  )
66
68
  }
@@ -76,7 +78,11 @@ export class ES256KSigner extends DID {
76
78
  const publicKey = getPublicKey(privateKey)
77
79
 
78
80
  return new ES256KSigner(
79
- didKeyOrVerifiableDID('secp256k1', publicKey, did),
81
+ didKeyOrVerifiableDID(
82
+ 'secp256k1',
83
+ /** @type {Uint8Array<ArrayBuffer>} */ (publicKey),
84
+ did
85
+ ),
80
86
  privateKey
81
87
  )
82
88
  }
@@ -92,7 +98,11 @@ export class ES256KSigner extends DID {
92
98
  const publicKey = getPublicKey(privateKey)
93
99
 
94
100
  return new ES256KSigner(
95
- didKeyOrVerifiableDID('secp256k1', publicKey, did),
101
+ didKeyOrVerifiableDID(
102
+ 'secp256k1',
103
+ /** @type {Uint8Array<ArrayBuffer>} */ (publicKey),
104
+ did
105
+ ),
96
106
  privateKey
97
107
  )
98
108
  }
@@ -100,12 +110,11 @@ export class ES256KSigner extends DID {
100
110
  /**
101
111
  * Sign a message
102
112
  *
103
- * @param {Uint8Array} message
113
+ * @param {Uint8Array<ArrayBuffer>} message
104
114
  */
105
115
  async sign(message) {
106
- const hash = await globalThis.crypto.subtle.digest('SHA-256', message)
107
- const sig = await signAsync(u8(hash), this.#privateKey)
108
- return sig.toCompactRawBytes()
116
+ const sig = await signAsync(message, this.#privateKey)
117
+ return /** @type {Uint8Array<ArrayBuffer>} */ (sig)
109
118
  }
110
119
 
111
120
  /**
@@ -132,7 +132,7 @@ export class RSASigner extends DID {
132
132
  /**
133
133
  * Sign a message
134
134
  *
135
- * @param {Uint8Array} message
135
+ * @param {Uint8Array<ArrayBuffer>} message
136
136
  */
137
137
  async sign(message) {
138
138
  const buf = await webcrypto.subtle.sign(
package/src/spki.js CHANGED
@@ -15,14 +15,14 @@ const SPKI_PARAMS_ENCODED = new Uint8Array([
15
15
  ])
16
16
 
17
17
  /**
18
- * @param {Uint8Array} key
18
+ * @param {Uint8Array<ArrayBuffer>} key
19
19
  */
20
20
  function encode(key) {
21
21
  return encodeSequence([SPKI_PARAMS_ENCODED, encodeBitString(key)])
22
22
  }
23
23
 
24
24
  /**
25
- * @param {Uint8Array} info
25
+ * @param {Uint8Array<ArrayBuffer>} info
26
26
  */
27
27
  function decode(info) {
28
28
  // go into the top-level SEQUENCE
package/src/types.ts CHANGED
@@ -10,7 +10,7 @@ export type SignatureType =
10
10
  | 'EIP191'
11
11
 
12
12
  export interface Sign {
13
- sign: (message: Uint8Array) => Promise<Uint8Array>
13
+ sign: (message: Uint8Array<ArrayBuffer>) => Promise<Uint8Array<ArrayBuffer>>
14
14
  }
15
15
 
16
16
  export interface ISigner<Export extends CryptoKeyPair | string = string>
@@ -21,8 +21,8 @@ export interface ISigner<Export extends CryptoKeyPair | string = string>
21
21
  }
22
22
 
23
23
  export interface VerifyInput {
24
- signature: Uint8Array
25
- message: Uint8Array
24
+ signature: Uint8Array<ArrayBuffer>
25
+ message: Uint8Array<ArrayBuffer>
26
26
  did: VerifiableDID
27
27
  }
28
28
  export type Verify = (input: VerifyInput) => Promise<boolean>
@@ -1,7 +1,6 @@
1
- import { verify as secpVerify } from '@noble/secp256k1'
1
+ import { verifyAsync as secpVerify } from '@noble/secp256k1'
2
2
  import { webcrypto } from 'iso-base/crypto'
3
3
  import { decompress, isCompressed } from 'iso-base/ec-compression'
4
- import { u8 } from 'iso-base/utils'
5
4
  import { createEcdsaParams } from '../signers/ecdsa.js'
6
5
 
7
6
  /**
@@ -45,9 +44,7 @@ async function es256kVerify({ signature, message, did }) {
45
44
  throw new Error('Invalid signature length')
46
45
  }
47
46
 
48
- const hash = await globalThis.crypto.subtle.digest('SHA-256', message)
49
-
50
- return secpVerify(signature, u8(hash), did.verifiableDid.publicKey)
47
+ return await secpVerify(signature, message, did.verifiableDid.publicKey)
51
48
  }
52
49
 
53
50
  /** @type {import('../types.js').Verifier<'ES256' | 'ES384' | 'ES512' | 'ES256K'>} */
@@ -1,11 +1,8 @@
1
1
  import { keccak_256 } from '@noble/hashes/sha3'
2
- import { Signature } from '@noble/secp256k1'
2
+ import { recoverPublicKeyAsync, Signature, verifyAsync } from '@noble/secp256k1'
3
3
  import { hex } from 'iso-base/rfc4648'
4
4
  import { utf8 } from 'iso-base/utf8'
5
5
  import { concat } from 'iso-base/utils'
6
- import { DIDPkh } from 'iso-did/pkh'
7
- import * as Address from 'ox/Address'
8
- import * as PublicKey from 'ox/PublicKey'
9
6
  import * as SignatureOx from 'ox/Signature'
10
7
 
11
8
  const PREFIX = '\x19Ethereum Signed Message:\n'
@@ -14,14 +11,13 @@ const PREFIX = '\x19Ethereum Signed Message:\n'
14
11
  * Convert a 0x signature to a Uint8Array
15
12
  *
16
13
  * @param {`0x${string}`} signature
17
- * @returns {Uint8Array}
18
14
  */
19
15
  export function hexToBytes(signature) {
20
16
  return hex.decode(signature.slice(2))
21
17
  }
22
18
 
23
19
  /**
24
- * @param { Uint8Array} data
20
+ * @param {Uint8Array<ArrayBuffer>} data
25
21
  */
26
22
  export function getSignPayload(data) {
27
23
  const prefixBytes = utf8.decode(`${PREFIX}${data.length}`)
@@ -29,16 +25,19 @@ export function getSignPayload(data) {
29
25
  }
30
26
 
31
27
  /** @type {import('../types.js').Verify} */
32
- export function verify({ signature, message, did }) {
33
- const didPkh = DIDPkh.fromString(did.did)
34
- const pubKey = Signature.fromCompact(signature.slice(0, 64))
28
+ export async function verify({ signature, message }) {
29
+ const msgHash = getSignPayload(message)
30
+ const sigRecovered = Signature.fromBytes(signature.slice(0, 64))
35
31
  .addRecoveryBit(SignatureOx.vToYParity(signature[64]))
36
- .recoverPublicKey(getSignPayload(message))
37
- .toRawBytes(false)
32
+ .toBytes('recovered')
33
+ const pubKey = await recoverPublicKeyAsync(sigRecovered, msgHash, {
34
+ prehash: false,
35
+ })
38
36
 
39
- const address = Address.fromPublicKey(PublicKey.fromBytes(pubKey))
40
-
41
- return Promise.resolve(Address.isEqual(address, didPkh.address))
37
+ return await verifyAsync(sigRecovered, msgHash, pubKey, {
38
+ prehash: false,
39
+ format: 'recovered',
40
+ })
42
41
  }
43
42
 
44
43
  /** @type {import('../types').Verifier<'EIP191'>} */