@did-btcr2/common 3.1.0 → 5.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.
@@ -1,31 +1,17 @@
1
1
  import { sha256 } from '@noble/hashes/sha2';
2
- import { bytesToHex } from '@noble/hashes/utils';
2
+ import { bytesToHex, hexToBytes } from '@noble/hashes/utils';
3
3
  import { canonicalize as jcsa } from 'json-canonicalize';
4
4
  import { base58btc } from 'multiformats/bases/base58';
5
5
  import { CanonicalizationError } from './errors.js';
6
+ import { base64url } from 'multiformats/bases/base64';
6
7
  /**
7
8
  * Canonicalization class provides methods for canonicalizing JSON objects
8
9
  * and hashing them using SHA-256. It supports different canonicalization
9
- * algorithms and encoding formats (hex and base58).
10
+ * algorithms and encoding formats (hex and base58btc).
10
11
  * @class Canonicalization
11
12
  * @type {Canonicalization}
12
13
  */
13
14
  export class Canonicalization {
14
- _defaultAlgorithm;
15
- /**
16
- * Initializes the Canonicalization class with the specified algorithm.
17
- * @param {CanonicalizationAlgorithm} algorithm The canonicalization algorithm to use ('jcs').
18
- */
19
- constructor(algorithm = 'jcs') {
20
- this._defaultAlgorithm = Canonicalization.normalizeAlgorithm(algorithm);
21
- }
22
- /**
23
- * Gets the canonicalization algorithm.
24
- * @returns {CanonicalizationAlgorithm} The current canonicalization algorithm.
25
- */
26
- get algorithm() {
27
- return this._defaultAlgorithm;
28
- }
29
15
  /**
30
16
  * Normalizes the canonicalization algorithm.
31
17
  * @param {CanonicalizationAlgorithm} algorithm
@@ -47,7 +33,7 @@ export class Canonicalization {
47
33
  */
48
34
  static normalizeEncoding(encoding) {
49
35
  const normalized = encoding.toLowerCase();
50
- if (normalized !== 'hex' && normalized !== 'base58') {
36
+ if (!['hex', 'base58btc', 'base64url'].includes(normalized)) {
51
37
  throw new CanonicalizationError(`Unsupported encoding: ${encoding}`, 'ENCODING_ERROR');
52
38
  }
53
39
  return normalized;
@@ -63,19 +49,21 @@ export class Canonicalization {
63
49
  *
64
50
  * @param {Record<any, any>} object The object to process.
65
51
  * @param {Object} [options] Options for processing.
66
- * @param {CanonicalizationEncoding} [options.encoding='hex'] The encoding format ('hex' or 'base58').
52
+ * @param {CanonicalizationEncoding} [options.encoding='hex'] The encoding format ('hex' or 'base58btc').
67
53
  * @param {CanonicalizationAlgorithm} [options.algorithm] The canonicalization algorithm to use.
68
54
  * @returns {string} The final SHA-256 hash bytes as a hex string.
69
55
  */
70
- process(object, options = {}) {
71
- const algorithm = Canonicalization.normalizeAlgorithm(options.algorithm ?? this._defaultAlgorithm);
72
- const encoding = Canonicalization.normalizeEncoding(options.encoding ?? 'hex');
56
+ static process(object, options) {
57
+ // Normalize the algorithm
58
+ const algorithm = Canonicalization.normalizeAlgorithm(options?.algorithm ?? 'jcs');
59
+ // Normalize the encoding
60
+ const encoding = Canonicalization.normalizeEncoding(options?.encoding ?? 'hex');
73
61
  // Step 1: Canonicalize
74
62
  const canonicalized = this.canonicalize(object, algorithm);
75
63
  // Step 2: Hash
76
- const hashed = this.hash(canonicalized);
64
+ const hashed = this.toHash(canonicalized);
77
65
  // Step 3: Encode
78
- const encoded = this.encode(hashed, encoding, options.multibase ?? false);
66
+ const encoded = this.encode(hashed, encoding);
79
67
  // Return the encoded string
80
68
  return encoded;
81
69
  }
@@ -85,7 +73,7 @@ export class Canonicalization {
85
73
  * @param {CanonicalizationAlgorithm} [algorithm] The algorithm to use.
86
74
  * @returns {string} The canonicalized object.
87
75
  */
88
- canonicalize(object, algorithm = this._defaultAlgorithm) {
76
+ static canonicalize(object, algorithm = 'jcs') {
89
77
  switch (Canonicalization.normalizeAlgorithm(algorithm)) {
90
78
  case 'jcs':
91
79
  return this.jcs(object);
@@ -98,7 +86,7 @@ export class Canonicalization {
98
86
  * @param {Record<any, any>} object The object to canonicalize.
99
87
  * @returns {string} The canonicalized object.
100
88
  */
101
- jcs(object) {
89
+ static jcs(object) {
102
90
  return jcsa(object);
103
91
  }
104
92
  /**
@@ -106,42 +94,105 @@ export class Canonicalization {
106
94
  * @param {string} canonicalized The canonicalized object.
107
95
  * @returns {HashBytes} The SHA-256 HashBytes (Uint8Array).
108
96
  */
109
- hash(canonicalized) {
97
+ static toHash(canonicalized) {
110
98
  return sha256(canonicalized);
111
99
  }
112
100
  /**
113
- * Step 3: Encodes SHA-256 hashed, canonicalized object as a hex or base58 string.
101
+ * Step 3: Encodes SHA-256 hashed, canonicalized object as a hex or base58btc string.
114
102
  * @param {string} canonicalizedhash The canonicalized object to encode.
115
- * @param {CanonicalizationEncoding} encoding The encoding format ('hex' or 'base58').
103
+ * @param {CanonicalizationEncoding} encoding The encoding format ('hex' or 'base58btc').
116
104
  * @throws {CanonicalizationError} If the encoding format is not supported.
117
105
  * @returns {string} The encoded string.
118
106
  */
119
- encode(canonicalizedhash, encoding = 'hex', multibase = false) {
107
+ static encode(canonicalizedhash, encoding = 'hex') {
108
+ // Normalize encoding
120
109
  const normalized = Canonicalization.normalizeEncoding(encoding);
121
- if (normalized === 'hex')
122
- return this.hex(canonicalizedhash);
123
- if (normalized === 'base58') {
124
- const encoded = this.base58(canonicalizedhash);
125
- return multibase ? `z${encoded}` : encoded;
110
+ // If encoding is hex, encode to hex
111
+ if (normalized === 'hex') {
112
+ return this.toHex(canonicalizedhash);
113
+ }
114
+ // If encoding is base58btc, encode to base58btc
115
+ if (normalized === 'base58btc') {
116
+ return this.toBase58(canonicalizedhash);
117
+ }
118
+ // If encoding is base64url, encode to base64url
119
+ if (normalized === 'base64url') {
120
+ return this.toBase64Url(canonicalizedhash);
126
121
  }
122
+ // Throw error if encoding is unsupported
127
123
  throw new CanonicalizationError(`Unsupported encoding: ${encoding}`, 'ENCODING_ERROR');
128
124
  }
125
+ /**
126
+ * Decodes SHA-256 hashed, canonicalized object as a hex or base58btc string.
127
+ * @param {string} canonicalizedhash The canonicalized object to encode.
128
+ * @param {CanonicalizationEncoding} encoding The encoding format ('hex' or 'base58btc').
129
+ * @throws {CanonicalizationError} If the encoding format is not supported.
130
+ * @returns {string} The encoded string.
131
+ */
132
+ static decode(canonicalizedhash, encoding = 'hex') {
133
+ // Normalize encoding
134
+ const normalized = Canonicalization.normalizeEncoding(encoding);
135
+ // If encoding is hex, decode from hex
136
+ if (normalized === 'hex') {
137
+ return this.fromHex(canonicalizedhash);
138
+ }
139
+ // If encoding is base58btc, decode from base58btc
140
+ if (normalized === 'base58btc') {
141
+ return this.fromBase58(canonicalizedhash);
142
+ }
143
+ if (normalized === 'base64url') {
144
+ return this.fromBase64Url(canonicalizedhash);
145
+ }
146
+ // Throw error if encoding is unsupported
147
+ throw new CanonicalizationError(`Unsupported encoding: ${encoding}`, 'DECODING_ERROR');
148
+ }
129
149
  /**
130
150
  * Step 3.1: Encodes HashBytes (Uint8Array) to a hex string.
131
151
  * @param {HashBytes} hashBytes The hash as a Uint8Array.
132
152
  * @returns {string} The hash as a hex string.
133
153
  */
134
- hex(hashBytes) {
154
+ static toHex(hashBytes) {
135
155
  return bytesToHex(hashBytes);
136
156
  }
157
+ /**
158
+ * Decodes a hex string to HashBytes (Uint8Array).
159
+ * @param {HexString} hexString The hash as a hex string.
160
+ * @returns {HashBytes} The hash bytes.
161
+ */
162
+ static fromHex(hexString) {
163
+ return hexToBytes(hexString);
164
+ }
137
165
  /**
138
166
  * Step 3.2: Encodes HashBytes (Uint8Array) to a base58btc string.
139
167
  * @param {HashBytes} hashBytes The hash as a Uint8Array.
140
168
  * @returns {string} The hash as a hex string.
141
169
  */
142
- base58(hashBytes) {
143
- const encoded = base58btc.encode(hashBytes);
144
- return encoded.startsWith('z') ? encoded.slice(1) : encoded;
170
+ static toBase58(hashBytes) {
171
+ return base58btc.encode(hashBytes);
172
+ }
173
+ /**
174
+ * Decodes a base58btc string to HashBytes (Uint8Array).
175
+ * @param {string} b58str The hash as a base58btc string.
176
+ * @returns {HashBytes} The hash bytes.
177
+ */
178
+ static fromBase58(b58str) {
179
+ return base58btc.decode(b58str);
180
+ }
181
+ /**
182
+ * Step 3.2: Encodes HashBytes (Uint8Array) to a base64url string.
183
+ * @param {HashBytes} hashBytes The hash as a Uint8Array.
184
+ * @returns {string} The hash as a base64url string.
185
+ */
186
+ static toBase64Url(hashBytes) {
187
+ return base64url.encode(hashBytes);
188
+ }
189
+ /**
190
+ * Decodes a base64url string to HashBytes (Uint8Array).
191
+ * @param {string} b64urlstr The hash as a base64url string.
192
+ * @returns {HashBytes} The hash bytes.
193
+ */
194
+ static fromBase64Url(b64urlstr) {
195
+ return base64url.decode(b64urlstr);
145
196
  }
146
197
  /**
147
198
  * Canonicalizes an object, hashes it and returns it as hash bytes.
@@ -149,9 +200,13 @@ export class Canonicalization {
149
200
  * @param {Record<any, any>} object The object to process.
150
201
  * @returns {Promise<HashBytes>} The final SHA-256 hash bytes.
151
202
  */
152
- canonicalhash(object, algorithm = this._defaultAlgorithm) {
203
+ static andHash(object, algorithm = 'jcs') {
204
+ // Step 1: Canonicalize
153
205
  const canonicalized = this.canonicalize(object, algorithm);
154
- return this.hash(canonicalized);
206
+ // Step 2: Hash
207
+ const hashed = this.toHash(canonicalized);
208
+ // Return canonicalized hash bytes
209
+ return hashed;
155
210
  }
156
211
  /**
157
212
  * Computes the SHA-256 hash of a canonicalized object and encodes it as a hex string.
@@ -159,17 +214,31 @@ export class Canonicalization {
159
214
  * @param {string} canonicalized The canonicalized object to hash.
160
215
  * @returns {string} The SHA-256 hash as a hex string.
161
216
  */
162
- hashhex(canonicalized) {
163
- return this.encode(this.hash(canonicalized), 'hex');
217
+ static andHashToHex(canonicalized) {
218
+ // Step 2: Hash
219
+ const hashed = this.toHash(canonicalized);
220
+ // Step 3: Encode (Hex)
221
+ const hexed = this.toHex(hashed);
222
+ // Return the hashed encoded string
223
+ return hexed;
224
+ }
225
+ /**
226
+ * Computes the SHA-256 hashes of canonicalized object and encodes it as a base58btc string.
227
+ * Step 2-3: Hash → Encode(base58btc).
228
+ * @param {string} canonicalized The canonicalized object to hash.
229
+ * @returns {string} The SHA-256 hash as a base58btc string.
230
+ */
231
+ static andHashToBase58(canonicalized) {
232
+ return this.encode(this.toHash(canonicalized), 'base58btc');
164
233
  }
165
234
  /**
166
- * Computes the SHA-256 hashes of canonicalized object and encodes it as a base58 string.
167
- * Step 2-3: Hash → Encode(base58).
235
+ * Computes the SHA-256 hashes of canonicalized object and encodes it as a base64url string.
236
+ * Step 2-3: Hash → Encode(base64url).
168
237
  * @param {string} canonicalized The canonicalized object to hash.
169
- * @returns {string} The SHA-256 hash as a base58 string.
238
+ * @returns {string} The SHA-256 hash as a base64url string.
170
239
  */
171
- hashbase58(canonicalized) {
172
- return this.encode(this.hash(canonicalized), 'base58', false);
240
+ static andHashToBase64Url(canonicalized) {
241
+ return this.toBase64Url(this.toHash(canonicalized));
173
242
  }
174
243
  }
175
244
  //# 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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"}
@@ -59,8 +59,10 @@ export var MethodErrorCode;
59
59
  MethodErrorCode["INVALID_UPDATE"] = "INVALID_UPDATE";
60
60
  /** The proof is missing or has a malformed domain field. */
61
61
  MethodErrorCode["INVALID_DOMAIN_ERROR"] = "INVALID_DOMAIN_ERROR";
62
+ /** Options required for resolution are missing. */
63
+ MethodErrorCode["MISSING_RESOLUTION_OPTIONS"] = "MISSING_RESOLUTION_OPTIONS";
62
64
  })(MethodErrorCode || (MethodErrorCode = {}));
63
- export const { INVALID_DID, METHOD_NOT_SUPPORTED, INTERNAL_ERROR, INVALID_DID_DOCUMENT, INVALID_DID_UPDATE, INVALID_DID_DOCUMENT_LENGTH, INVALID_DID_URL, INVALID_PREVIOUS_DID_PROOF, INVALID_PUBLIC_KEY, INVALID_PUBLIC_KEY_MULTIBASE, INVALID_PUBLIC_KEY_LENGTH, INVALID_PUBLIC_KEY_TYPE, INVALID_SIGNATURE, NOT_FOUND, REPRESENTATION_NOT_SUPPORTED, UNSUPPORTED_PUBLIC_KEY_TYPE, PROOF_VERIFICATION_ERROR, PROOF_GENERATION_ERROR, PROOF_SERIALIZATION_ERROR, PROOF_PARSING_ERROR, VERIFICATION_METHOD_ERROR, LATE_PUBLISHING_ERROR, INVALID_SIDECAR_DATA, MISSING_UPDATE_DATA, INVALID_UPDATE, INVALID_DOMAIN_ERROR } = MethodErrorCode;
65
+ export const { INVALID_DID, METHOD_NOT_SUPPORTED, INTERNAL_ERROR, INVALID_DID_DOCUMENT, INVALID_DID_UPDATE, INVALID_DID_DOCUMENT_LENGTH, INVALID_DID_URL, INVALID_PREVIOUS_DID_PROOF, INVALID_PUBLIC_KEY, INVALID_PUBLIC_KEY_MULTIBASE, INVALID_PUBLIC_KEY_LENGTH, INVALID_PUBLIC_KEY_TYPE, INVALID_SIGNATURE, NOT_FOUND, REPRESENTATION_NOT_SUPPORTED, UNSUPPORTED_PUBLIC_KEY_TYPE, PROOF_VERIFICATION_ERROR, PROOF_GENERATION_ERROR, PROOF_SERIALIZATION_ERROR, PROOF_PARSING_ERROR, VERIFICATION_METHOD_ERROR, LATE_PUBLISHING_ERROR, INVALID_SIDECAR_DATA, MISSING_UPDATE_DATA, INVALID_UPDATE, INVALID_DOMAIN_ERROR, MISSING_RESOLUTION_OPTIONS } = MethodErrorCode;
64
66
  export class NotImplementedError extends Error {
65
67
  name = 'NotImplementedError';
66
68
  type = 'NotImplementedError';
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  export * from './canonicalization.js';
2
2
  export * from './constants.js';
3
3
  export * from './errors.js';
4
- export * from './interfaces.js';
5
4
  export * from './json-patch.js';
6
5
  export * from './logger.js';
7
6
  export * from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"json-patch.js","sourceRoot":"","sources":["../../src/json-patch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-patch.js","sourceRoot":"","sources":["../../src/json-patch.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,17 @@
1
1
  import { sha256 } from '@noble/hashes/sha2';
2
- import { bytesToHex } from '@noble/hashes/utils';
2
+ import { bytesToHex, hexToBytes } from '@noble/hashes/utils';
3
3
  import { canonicalize as jcsa } from 'json-canonicalize';
4
4
  import { base58btc } from 'multiformats/bases/base58';
5
5
  import { CanonicalizationError } from './errors.js';
6
+ import { base64url } from 'multiformats/bases/base64';
6
7
  /**
7
8
  * Canonicalization class provides methods for canonicalizing JSON objects
8
9
  * and hashing them using SHA-256. It supports different canonicalization
9
- * algorithms and encoding formats (hex and base58).
10
+ * algorithms and encoding formats (hex and base58btc).
10
11
  * @class Canonicalization
11
12
  * @type {Canonicalization}
12
13
  */
13
14
  export class Canonicalization {
14
- _defaultAlgorithm;
15
- /**
16
- * Initializes the Canonicalization class with the specified algorithm.
17
- * @param {CanonicalizationAlgorithm} algorithm The canonicalization algorithm to use ('jcs').
18
- */
19
- constructor(algorithm = 'jcs') {
20
- this._defaultAlgorithm = Canonicalization.normalizeAlgorithm(algorithm);
21
- }
22
- /**
23
- * Gets the canonicalization algorithm.
24
- * @returns {CanonicalizationAlgorithm} The current canonicalization algorithm.
25
- */
26
- get algorithm() {
27
- return this._defaultAlgorithm;
28
- }
29
15
  /**
30
16
  * Normalizes the canonicalization algorithm.
31
17
  * @param {CanonicalizationAlgorithm} algorithm
@@ -47,7 +33,7 @@ export class Canonicalization {
47
33
  */
48
34
  static normalizeEncoding(encoding) {
49
35
  const normalized = encoding.toLowerCase();
50
- if (normalized !== 'hex' && normalized !== 'base58') {
36
+ if (!['hex', 'base58btc', 'base64url'].includes(normalized)) {
51
37
  throw new CanonicalizationError(`Unsupported encoding: ${encoding}`, 'ENCODING_ERROR');
52
38
  }
53
39
  return normalized;
@@ -63,19 +49,21 @@ export class Canonicalization {
63
49
  *
64
50
  * @param {Record<any, any>} object The object to process.
65
51
  * @param {Object} [options] Options for processing.
66
- * @param {CanonicalizationEncoding} [options.encoding='hex'] The encoding format ('hex' or 'base58').
52
+ * @param {CanonicalizationEncoding} [options.encoding='hex'] The encoding format ('hex' or 'base58btc').
67
53
  * @param {CanonicalizationAlgorithm} [options.algorithm] The canonicalization algorithm to use.
68
54
  * @returns {string} The final SHA-256 hash bytes as a hex string.
69
55
  */
70
- process(object, options = {}) {
71
- const algorithm = Canonicalization.normalizeAlgorithm(options.algorithm ?? this._defaultAlgorithm);
72
- const encoding = Canonicalization.normalizeEncoding(options.encoding ?? 'hex');
56
+ static process(object, options) {
57
+ // Normalize the algorithm
58
+ const algorithm = Canonicalization.normalizeAlgorithm(options?.algorithm ?? 'jcs');
59
+ // Normalize the encoding
60
+ const encoding = Canonicalization.normalizeEncoding(options?.encoding ?? 'hex');
73
61
  // Step 1: Canonicalize
74
62
  const canonicalized = this.canonicalize(object, algorithm);
75
63
  // Step 2: Hash
76
- const hashed = this.hash(canonicalized);
64
+ const hashed = this.toHash(canonicalized);
77
65
  // Step 3: Encode
78
- const encoded = this.encode(hashed, encoding, options.multibase ?? false);
66
+ const encoded = this.encode(hashed, encoding);
79
67
  // Return the encoded string
80
68
  return encoded;
81
69
  }
@@ -85,7 +73,7 @@ export class Canonicalization {
85
73
  * @param {CanonicalizationAlgorithm} [algorithm] The algorithm to use.
86
74
  * @returns {string} The canonicalized object.
87
75
  */
88
- canonicalize(object, algorithm = this._defaultAlgorithm) {
76
+ static canonicalize(object, algorithm = 'jcs') {
89
77
  switch (Canonicalization.normalizeAlgorithm(algorithm)) {
90
78
  case 'jcs':
91
79
  return this.jcs(object);
@@ -98,7 +86,7 @@ export class Canonicalization {
98
86
  * @param {Record<any, any>} object The object to canonicalize.
99
87
  * @returns {string} The canonicalized object.
100
88
  */
101
- jcs(object) {
89
+ static jcs(object) {
102
90
  return jcsa(object);
103
91
  }
104
92
  /**
@@ -106,42 +94,105 @@ export class Canonicalization {
106
94
  * @param {string} canonicalized The canonicalized object.
107
95
  * @returns {HashBytes} The SHA-256 HashBytes (Uint8Array).
108
96
  */
109
- hash(canonicalized) {
97
+ static toHash(canonicalized) {
110
98
  return sha256(canonicalized);
111
99
  }
112
100
  /**
113
- * Step 3: Encodes SHA-256 hashed, canonicalized object as a hex or base58 string.
101
+ * Step 3: Encodes SHA-256 hashed, canonicalized object as a hex or base58btc string.
114
102
  * @param {string} canonicalizedhash The canonicalized object to encode.
115
- * @param {CanonicalizationEncoding} encoding The encoding format ('hex' or 'base58').
103
+ * @param {CanonicalizationEncoding} encoding The encoding format ('hex' or 'base58btc').
116
104
  * @throws {CanonicalizationError} If the encoding format is not supported.
117
105
  * @returns {string} The encoded string.
118
106
  */
119
- encode(canonicalizedhash, encoding = 'hex', multibase = false) {
107
+ static encode(canonicalizedhash, encoding = 'hex') {
108
+ // Normalize encoding
120
109
  const normalized = Canonicalization.normalizeEncoding(encoding);
121
- if (normalized === 'hex')
122
- return this.hex(canonicalizedhash);
123
- if (normalized === 'base58') {
124
- const encoded = this.base58(canonicalizedhash);
125
- return multibase ? `z${encoded}` : encoded;
110
+ // If encoding is hex, encode to hex
111
+ if (normalized === 'hex') {
112
+ return this.toHex(canonicalizedhash);
113
+ }
114
+ // If encoding is base58btc, encode to base58btc
115
+ if (normalized === 'base58btc') {
116
+ return this.toBase58(canonicalizedhash);
117
+ }
118
+ // If encoding is base64url, encode to base64url
119
+ if (normalized === 'base64url') {
120
+ return this.toBase64Url(canonicalizedhash);
126
121
  }
122
+ // Throw error if encoding is unsupported
127
123
  throw new CanonicalizationError(`Unsupported encoding: ${encoding}`, 'ENCODING_ERROR');
128
124
  }
125
+ /**
126
+ * Decodes SHA-256 hashed, canonicalized object as a hex or base58btc string.
127
+ * @param {string} canonicalizedhash The canonicalized object to encode.
128
+ * @param {CanonicalizationEncoding} encoding The encoding format ('hex' or 'base58btc').
129
+ * @throws {CanonicalizationError} If the encoding format is not supported.
130
+ * @returns {string} The encoded string.
131
+ */
132
+ static decode(canonicalizedhash, encoding = 'hex') {
133
+ // Normalize encoding
134
+ const normalized = Canonicalization.normalizeEncoding(encoding);
135
+ // If encoding is hex, decode from hex
136
+ if (normalized === 'hex') {
137
+ return this.fromHex(canonicalizedhash);
138
+ }
139
+ // If encoding is base58btc, decode from base58btc
140
+ if (normalized === 'base58btc') {
141
+ return this.fromBase58(canonicalizedhash);
142
+ }
143
+ if (normalized === 'base64url') {
144
+ return this.fromBase64Url(canonicalizedhash);
145
+ }
146
+ // Throw error if encoding is unsupported
147
+ throw new CanonicalizationError(`Unsupported encoding: ${encoding}`, 'DECODING_ERROR');
148
+ }
129
149
  /**
130
150
  * Step 3.1: Encodes HashBytes (Uint8Array) to a hex string.
131
151
  * @param {HashBytes} hashBytes The hash as a Uint8Array.
132
152
  * @returns {string} The hash as a hex string.
133
153
  */
134
- hex(hashBytes) {
154
+ static toHex(hashBytes) {
135
155
  return bytesToHex(hashBytes);
136
156
  }
157
+ /**
158
+ * Decodes a hex string to HashBytes (Uint8Array).
159
+ * @param {HexString} hexString The hash as a hex string.
160
+ * @returns {HashBytes} The hash bytes.
161
+ */
162
+ static fromHex(hexString) {
163
+ return hexToBytes(hexString);
164
+ }
137
165
  /**
138
166
  * Step 3.2: Encodes HashBytes (Uint8Array) to a base58btc string.
139
167
  * @param {HashBytes} hashBytes The hash as a Uint8Array.
140
168
  * @returns {string} The hash as a hex string.
141
169
  */
142
- base58(hashBytes) {
143
- const encoded = base58btc.encode(hashBytes);
144
- return encoded.startsWith('z') ? encoded.slice(1) : encoded;
170
+ static toBase58(hashBytes) {
171
+ return base58btc.encode(hashBytes);
172
+ }
173
+ /**
174
+ * Decodes a base58btc string to HashBytes (Uint8Array).
175
+ * @param {string} b58str The hash as a base58btc string.
176
+ * @returns {HashBytes} The hash bytes.
177
+ */
178
+ static fromBase58(b58str) {
179
+ return base58btc.decode(b58str);
180
+ }
181
+ /**
182
+ * Step 3.2: Encodes HashBytes (Uint8Array) to a base64url string.
183
+ * @param {HashBytes} hashBytes The hash as a Uint8Array.
184
+ * @returns {string} The hash as a base64url string.
185
+ */
186
+ static toBase64Url(hashBytes) {
187
+ return base64url.encode(hashBytes);
188
+ }
189
+ /**
190
+ * Decodes a base64url string to HashBytes (Uint8Array).
191
+ * @param {string} b64urlstr The hash as a base64url string.
192
+ * @returns {HashBytes} The hash bytes.
193
+ */
194
+ static fromBase64Url(b64urlstr) {
195
+ return base64url.decode(b64urlstr);
145
196
  }
146
197
  /**
147
198
  * Canonicalizes an object, hashes it and returns it as hash bytes.
@@ -149,9 +200,13 @@ export class Canonicalization {
149
200
  * @param {Record<any, any>} object The object to process.
150
201
  * @returns {Promise<HashBytes>} The final SHA-256 hash bytes.
151
202
  */
152
- canonicalhash(object, algorithm = this._defaultAlgorithm) {
203
+ static andHash(object, algorithm = 'jcs') {
204
+ // Step 1: Canonicalize
153
205
  const canonicalized = this.canonicalize(object, algorithm);
154
- return this.hash(canonicalized);
206
+ // Step 2: Hash
207
+ const hashed = this.toHash(canonicalized);
208
+ // Return canonicalized hash bytes
209
+ return hashed;
155
210
  }
156
211
  /**
157
212
  * Computes the SHA-256 hash of a canonicalized object and encodes it as a hex string.
@@ -159,17 +214,31 @@ export class Canonicalization {
159
214
  * @param {string} canonicalized The canonicalized object to hash.
160
215
  * @returns {string} The SHA-256 hash as a hex string.
161
216
  */
162
- hashhex(canonicalized) {
163
- return this.encode(this.hash(canonicalized), 'hex');
217
+ static andHashToHex(canonicalized) {
218
+ // Step 2: Hash
219
+ const hashed = this.toHash(canonicalized);
220
+ // Step 3: Encode (Hex)
221
+ const hexed = this.toHex(hashed);
222
+ // Return the hashed encoded string
223
+ return hexed;
224
+ }
225
+ /**
226
+ * Computes the SHA-256 hashes of canonicalized object and encodes it as a base58btc string.
227
+ * Step 2-3: Hash → Encode(base58btc).
228
+ * @param {string} canonicalized The canonicalized object to hash.
229
+ * @returns {string} The SHA-256 hash as a base58btc string.
230
+ */
231
+ static andHashToBase58(canonicalized) {
232
+ return this.encode(this.toHash(canonicalized), 'base58btc');
164
233
  }
165
234
  /**
166
- * Computes the SHA-256 hashes of canonicalized object and encodes it as a base58 string.
167
- * Step 2-3: Hash → Encode(base58).
235
+ * Computes the SHA-256 hashes of canonicalized object and encodes it as a base64url string.
236
+ * Step 2-3: Hash → Encode(base64url).
168
237
  * @param {string} canonicalized The canonicalized object to hash.
169
- * @returns {string} The SHA-256 hash as a base58 string.
238
+ * @returns {string} The SHA-256 hash as a base64url string.
170
239
  */
171
- hashbase58(canonicalized) {
172
- return this.encode(this.hash(canonicalized), 'base58', false);
240
+ static andHashToBase64Url(canonicalized) {
241
+ return this.toBase64Url(this.toHash(canonicalized));
173
242
  }
174
243
  }
175
244
  //# sourceMappingURL=canonicalization.js.map