@did-btcr2/common 7.0.0 → 8.0.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.
@@ -64,11 +64,11 @@ export function hash(canonicalized) {
64
64
  * Encodes hash bytes using the specified encoding.
65
65
  *
66
66
  * @param {HashBytes} hashBytes - The hash bytes to encode.
67
- * @param {CanonicalizationEncoding} [encoding='hex'] - The encoding format.
67
+ * @param {CanonicalizationEncoding} [encoding='base64url'] - The encoding format.
68
68
  * @returns {string} The encoded string.
69
69
  * @throws {CanonicalizationError} If the encoding is not supported.
70
70
  */
71
- export function encodeHash(hashBytes, encoding = 'hex') {
71
+ export function encode(hashBytes, encoding = 'base64url') {
72
72
  const normalized = normalizeEncoding(encoding);
73
73
  switch (normalized) {
74
74
  case 'hex': return hex.encode(hashBytes);
@@ -80,11 +80,11 @@ export function encodeHash(hashBytes, encoding = 'hex') {
80
80
  * Decodes an encoded hash string back to bytes.
81
81
  *
82
82
  * @param {string} encoded - The encoded hash string.
83
- * @param {CanonicalizationEncoding} [encoding='hex'] - The encoding format.
83
+ * @param {CanonicalizationEncoding} [encoding='base64url'] - The encoding format.
84
84
  * @returns {HashBytes} The decoded hash bytes.
85
85
  * @throws {CanonicalizationError} If the encoding is not supported.
86
86
  */
87
- export function decodeHash(encoded, encoding = 'hex') {
87
+ export function decode(encoded, encoding = 'base64url') {
88
88
  const normalized = normalizeEncoding(encoding);
89
89
  switch (normalized) {
90
90
  case 'hex': return hex.decode(encoded);
@@ -93,7 +93,7 @@ export function decodeHash(encoded, encoding = 'hex') {
93
93
  }
94
94
  }
95
95
  /**
96
- * Implements {@link http://dcdpr.github.io/did-btcr2/#json-canonicalization-and-hash | 9.2 JSON Canonicalization and Hash}.
96
+ * Implements {@link https://dcdpr.github.io/did-btcr2/algorithms.html#json-document-hashing | 8.c JSON Document Hashing}.
97
97
  *
98
98
  * Full pipeline: Canonicalize (JCS) -> Hash (SHA-256) -> Encode.
99
99
  *
@@ -103,7 +103,7 @@ export function decodeHash(encoded, encoding = 'hex') {
103
103
  */
104
104
  export function canonicalHash(object, options) {
105
105
  const algorithm = normalizeAlgorithm(options?.algorithm ?? 'jcs');
106
- const encoding = normalizeEncoding(options?.encoding ?? 'hex');
107
- return encodeHash(hash(canonicalize(object, algorithm)), encoding);
106
+ const encoding = normalizeEncoding(options?.encoding ?? 'base64url');
107
+ return encode(hash(canonicalize(object, algorithm)), encoding);
108
108
  }
109
109
  //# sourceMappingURL=canonicalization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"canonicalization.js","sourceRoot":"","sources":["../../src/canonicalization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonicalization.js","sourceRoot":"","sources":["../../src/canonicalization.ts"],"names":[],"mappings":"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"}
@@ -64,11 +64,11 @@ export function hash(canonicalized) {
64
64
  * Encodes hash bytes using the specified encoding.
65
65
  *
66
66
  * @param {HashBytes} hashBytes - The hash bytes to encode.
67
- * @param {CanonicalizationEncoding} [encoding='hex'] - The encoding format.
67
+ * @param {CanonicalizationEncoding} [encoding='base64url'] - The encoding format.
68
68
  * @returns {string} The encoded string.
69
69
  * @throws {CanonicalizationError} If the encoding is not supported.
70
70
  */
71
- export function encodeHash(hashBytes, encoding = 'hex') {
71
+ export function encode(hashBytes, encoding = 'base64url') {
72
72
  const normalized = normalizeEncoding(encoding);
73
73
  switch (normalized) {
74
74
  case 'hex': return hex.encode(hashBytes);
@@ -80,11 +80,11 @@ export function encodeHash(hashBytes, encoding = 'hex') {
80
80
  * Decodes an encoded hash string back to bytes.
81
81
  *
82
82
  * @param {string} encoded - The encoded hash string.
83
- * @param {CanonicalizationEncoding} [encoding='hex'] - The encoding format.
83
+ * @param {CanonicalizationEncoding} [encoding='base64url'] - The encoding format.
84
84
  * @returns {HashBytes} The decoded hash bytes.
85
85
  * @throws {CanonicalizationError} If the encoding is not supported.
86
86
  */
87
- export function decodeHash(encoded, encoding = 'hex') {
87
+ export function decode(encoded, encoding = 'base64url') {
88
88
  const normalized = normalizeEncoding(encoding);
89
89
  switch (normalized) {
90
90
  case 'hex': return hex.decode(encoded);
@@ -93,7 +93,7 @@ export function decodeHash(encoded, encoding = 'hex') {
93
93
  }
94
94
  }
95
95
  /**
96
- * Implements {@link http://dcdpr.github.io/did-btcr2/#json-canonicalization-and-hash | 9.2 JSON Canonicalization and Hash}.
96
+ * Implements {@link https://dcdpr.github.io/did-btcr2/algorithms.html#json-document-hashing | 8.c JSON Document Hashing}.
97
97
  *
98
98
  * Full pipeline: Canonicalize (JCS) -> Hash (SHA-256) -> Encode.
99
99
  *
@@ -103,7 +103,7 @@ export function decodeHash(encoded, encoding = 'hex') {
103
103
  */
104
104
  export function canonicalHash(object, options) {
105
105
  const algorithm = normalizeAlgorithm(options?.algorithm ?? 'jcs');
106
- const encoding = normalizeEncoding(options?.encoding ?? 'hex');
107
- return encodeHash(hash(canonicalize(object, algorithm)), encoding);
106
+ const encoding = normalizeEncoding(options?.encoding ?? 'base64url');
107
+ return encode(hash(canonicalize(object, algorithm)), encoding);
108
108
  }
109
109
  //# sourceMappingURL=canonicalization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"canonicalization.js","sourceRoot":"","sources":["../../src/canonicalization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonicalization.js","sourceRoot":"","sources":["../../src/canonicalization.ts"],"names":[],"mappings":"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"}
@@ -25,22 +25,22 @@ export declare function hash(canonicalized: string): HashBytes;
25
25
  * Encodes hash bytes using the specified encoding.
26
26
  *
27
27
  * @param {HashBytes} hashBytes - The hash bytes to encode.
28
- * @param {CanonicalizationEncoding} [encoding='hex'] - The encoding format.
28
+ * @param {CanonicalizationEncoding} [encoding='base64url'] - The encoding format.
29
29
  * @returns {string} The encoded string.
30
30
  * @throws {CanonicalizationError} If the encoding is not supported.
31
31
  */
32
- export declare function encodeHash(hashBytes: HashBytes, encoding?: CanonicalizationEncoding): string;
32
+ export declare function encode(hashBytes: HashBytes, encoding?: CanonicalizationEncoding): string;
33
33
  /**
34
34
  * Decodes an encoded hash string back to bytes.
35
35
  *
36
36
  * @param {string} encoded - The encoded hash string.
37
- * @param {CanonicalizationEncoding} [encoding='hex'] - The encoding format.
37
+ * @param {CanonicalizationEncoding} [encoding='base64url'] - The encoding format.
38
38
  * @returns {HashBytes} The decoded hash bytes.
39
39
  * @throws {CanonicalizationError} If the encoding is not supported.
40
40
  */
41
- export declare function decodeHash(encoded: string, encoding?: CanonicalizationEncoding): HashBytes;
41
+ export declare function decode(encoded: string, encoding?: CanonicalizationEncoding): HashBytes;
42
42
  /**
43
- * Implements {@link http://dcdpr.github.io/did-btcr2/#json-canonicalization-and-hash | 9.2 JSON Canonicalization and Hash}.
43
+ * Implements {@link https://dcdpr.github.io/did-btcr2/algorithms.html#json-document-hashing | 8.c JSON Document Hashing}.
44
44
  *
45
45
  * Full pipeline: Canonicalize (JCS) -> Hash (SHA-256) -> Encode.
46
46
  *
@@ -1 +1 @@
1
- {"version":3,"file":"canonicalization.d.ts","sourceRoot":"","sources":["../../src/canonicalization.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,MAAM,yBAAyB,GAAG,KAAK,GAAG,MAAM,CAAC;AACvD,MAAM,MAAM,wBAAwB,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEtE,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CACrC;AAiCD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,GAAE,yBAAiC,GAAG,MAAM,CAY3G;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAErD;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,GAAE,wBAAgC,GAAG,MAAM,CAOnG;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,wBAAgC,GAAG,SAAS,CAOjG;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,CAIjG"}
1
+ {"version":3,"file":"canonicalization.d.ts","sourceRoot":"","sources":["../../src/canonicalization.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,MAAM,yBAAyB,GAAG,KAAK,GAAG,MAAM,CAAC;AACvD,MAAM,MAAM,wBAAwB,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEtE,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CACrC;AAiCD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,GAAE,yBAAiC,GAAG,MAAM,CAY3G;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAErD;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,GAAE,wBAAsC,GAAG,MAAM,CAOrG;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,wBAAsC,GAAG,SAAS,CAOnG;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,CAIjG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@did-btcr2/common",
3
- "version": "7.0.0",
3
+ "version": "8.0.0",
4
4
  "type": "module",
5
5
  "description": "Common utilities, types, interfaces, etc. shared across the did-btcr2-js monorepo packages.",
6
6
  "main": "./dist/cjs/index.js",
@@ -79,11 +79,11 @@ export function hash(canonicalized: string): HashBytes {
79
79
  * Encodes hash bytes using the specified encoding.
80
80
  *
81
81
  * @param {HashBytes} hashBytes - The hash bytes to encode.
82
- * @param {CanonicalizationEncoding} [encoding='hex'] - The encoding format.
82
+ * @param {CanonicalizationEncoding} [encoding='base64url'] - The encoding format.
83
83
  * @returns {string} The encoded string.
84
84
  * @throws {CanonicalizationError} If the encoding is not supported.
85
85
  */
86
- export function encodeHash(hashBytes: HashBytes, encoding: CanonicalizationEncoding = 'hex'): string {
86
+ export function encode(hashBytes: HashBytes, encoding: CanonicalizationEncoding = 'base64url'): string {
87
87
  const normalized = normalizeEncoding(encoding);
88
88
  switch (normalized) {
89
89
  case 'hex': return hex.encode(hashBytes);
@@ -96,11 +96,11 @@ export function encodeHash(hashBytes: HashBytes, encoding: CanonicalizationEncod
96
96
  * Decodes an encoded hash string back to bytes.
97
97
  *
98
98
  * @param {string} encoded - The encoded hash string.
99
- * @param {CanonicalizationEncoding} [encoding='hex'] - The encoding format.
99
+ * @param {CanonicalizationEncoding} [encoding='base64url'] - The encoding format.
100
100
  * @returns {HashBytes} The decoded hash bytes.
101
101
  * @throws {CanonicalizationError} If the encoding is not supported.
102
102
  */
103
- export function decodeHash(encoded: string, encoding: CanonicalizationEncoding = 'hex'): HashBytes {
103
+ export function decode(encoded: string, encoding: CanonicalizationEncoding = 'base64url'): HashBytes {
104
104
  const normalized = normalizeEncoding(encoding);
105
105
  switch (normalized) {
106
106
  case 'hex': return hex.decode(encoded);
@@ -110,7 +110,7 @@ export function decodeHash(encoded: string, encoding: CanonicalizationEncoding =
110
110
  }
111
111
 
112
112
  /**
113
- * Implements {@link http://dcdpr.github.io/did-btcr2/#json-canonicalization-and-hash | 9.2 JSON Canonicalization and Hash}.
113
+ * Implements {@link https://dcdpr.github.io/did-btcr2/algorithms.html#json-document-hashing | 8.c JSON Document Hashing}.
114
114
  *
115
115
  * Full pipeline: Canonicalize (JCS) -> Hash (SHA-256) -> Encode.
116
116
  *
@@ -120,6 +120,6 @@ export function decodeHash(encoded: string, encoding: CanonicalizationEncoding =
120
120
  */
121
121
  export function canonicalHash(object: Record<any, any>, options?: CanonicalizationOptions): string {
122
122
  const algorithm = normalizeAlgorithm(options?.algorithm ?? 'jcs');
123
- const encoding = normalizeEncoding(options?.encoding ?? 'hex');
124
- return encodeHash(hash(canonicalize(object, algorithm)), encoding);
123
+ const encoding = normalizeEncoding(options?.encoding ?? 'base64url');
124
+ return encode(hash(canonicalize(object, algorithm)), encoding);
125
125
  }