@did-btcr2/common 4.0.1 → 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.
- package/dist/cjs/canonicalization.js +50 -17
- package/dist/cjs/canonicalization.js.map +1 -1
- package/dist/cjs/errors.js +3 -1
- package/dist/cjs/errors.js.map +1 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/json-patch.js.map +1 -1
- package/dist/esm/canonicalization.js +50 -17
- package/dist/esm/canonicalization.js.map +1 -1
- package/dist/esm/errors.js +3 -1
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/json-patch.js.map +1 -1
- package/dist/types/canonicalization.d.ts +30 -11
- package/dist/types/canonicalization.d.ts.map +1 -1
- package/dist/types/errors.d.ts +4 -2
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/json-patch.d.ts +10 -1
- package/dist/types/json-patch.d.ts.map +1 -1
- package/dist/types/types.d.ts +1 -1
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/canonicalization.ts +55 -17
- package/src/errors.ts +6 -2
- package/src/index.ts +0 -1
- package/src/json-patch.ts +11 -1
- package/src/types.ts +1 -1
- package/dist/cjs/interfaces.js +0 -2
- package/dist/cjs/interfaces.js.map +0 -1
- package/dist/esm/interfaces.js +0 -2
- package/dist/esm/interfaces.js.map +0 -1
- package/dist/types/interfaces.d.ts +0 -11
- package/dist/types/interfaces.d.ts.map +0 -1
- package/src/interfaces.ts +0 -11
|
@@ -3,10 +3,11 @@ 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
|
|
10
|
+
* algorithms and encoding formats (hex and base58btc).
|
|
10
11
|
* @class Canonicalization
|
|
11
12
|
* @type {Canonicalization}
|
|
12
13
|
*/
|
|
@@ -32,7 +33,7 @@ export class Canonicalization {
|
|
|
32
33
|
*/
|
|
33
34
|
static normalizeEncoding(encoding) {
|
|
34
35
|
const normalized = encoding.toLowerCase();
|
|
35
|
-
if (
|
|
36
|
+
if (!['hex', 'base58btc', 'base64url'].includes(normalized)) {
|
|
36
37
|
throw new CanonicalizationError(`Unsupported encoding: ${encoding}`, 'ENCODING_ERROR');
|
|
37
38
|
}
|
|
38
39
|
return normalized;
|
|
@@ -48,7 +49,7 @@ export class Canonicalization {
|
|
|
48
49
|
*
|
|
49
50
|
* @param {Record<any, any>} object The object to process.
|
|
50
51
|
* @param {Object} [options] Options for processing.
|
|
51
|
-
* @param {CanonicalizationEncoding} [options.encoding='hex'] The encoding format ('hex' or '
|
|
52
|
+
* @param {CanonicalizationEncoding} [options.encoding='hex'] The encoding format ('hex' or 'base58btc').
|
|
52
53
|
* @param {CanonicalizationAlgorithm} [options.algorithm] The canonicalization algorithm to use.
|
|
53
54
|
* @returns {string} The final SHA-256 hash bytes as a hex string.
|
|
54
55
|
*/
|
|
@@ -97,9 +98,9 @@ export class Canonicalization {
|
|
|
97
98
|
return sha256(canonicalized);
|
|
98
99
|
}
|
|
99
100
|
/**
|
|
100
|
-
* Step 3: Encodes SHA-256 hashed, canonicalized object as a hex or
|
|
101
|
+
* Step 3: Encodes SHA-256 hashed, canonicalized object as a hex or base58btc string.
|
|
101
102
|
* @param {string} canonicalizedhash The canonicalized object to encode.
|
|
102
|
-
* @param {CanonicalizationEncoding} encoding The encoding format ('hex' or '
|
|
103
|
+
* @param {CanonicalizationEncoding} encoding The encoding format ('hex' or 'base58btc').
|
|
103
104
|
* @throws {CanonicalizationError} If the encoding format is not supported.
|
|
104
105
|
* @returns {string} The encoded string.
|
|
105
106
|
*/
|
|
@@ -110,17 +111,21 @@ export class Canonicalization {
|
|
|
110
111
|
if (normalized === 'hex') {
|
|
111
112
|
return this.toHex(canonicalizedhash);
|
|
112
113
|
}
|
|
113
|
-
// If encoding is
|
|
114
|
-
if (normalized === '
|
|
114
|
+
// If encoding is base58btc, encode to base58btc
|
|
115
|
+
if (normalized === 'base58btc') {
|
|
115
116
|
return this.toBase58(canonicalizedhash);
|
|
116
117
|
}
|
|
118
|
+
// If encoding is base64url, encode to base64url
|
|
119
|
+
if (normalized === 'base64url') {
|
|
120
|
+
return this.toBase64Url(canonicalizedhash);
|
|
121
|
+
}
|
|
117
122
|
// Throw error if encoding is unsupported
|
|
118
123
|
throw new CanonicalizationError(`Unsupported encoding: ${encoding}`, 'ENCODING_ERROR');
|
|
119
124
|
}
|
|
120
125
|
/**
|
|
121
|
-
* Decodes SHA-256 hashed, canonicalized object as a hex or
|
|
126
|
+
* Decodes SHA-256 hashed, canonicalized object as a hex or base58btc string.
|
|
122
127
|
* @param {string} canonicalizedhash The canonicalized object to encode.
|
|
123
|
-
* @param {CanonicalizationEncoding} encoding The encoding format ('hex' or '
|
|
128
|
+
* @param {CanonicalizationEncoding} encoding The encoding format ('hex' or 'base58btc').
|
|
124
129
|
* @throws {CanonicalizationError} If the encoding format is not supported.
|
|
125
130
|
* @returns {string} The encoded string.
|
|
126
131
|
*/
|
|
@@ -131,10 +136,13 @@ export class Canonicalization {
|
|
|
131
136
|
if (normalized === 'hex') {
|
|
132
137
|
return this.fromHex(canonicalizedhash);
|
|
133
138
|
}
|
|
134
|
-
// If encoding is
|
|
135
|
-
if (normalized === '
|
|
139
|
+
// If encoding is base58btc, decode from base58btc
|
|
140
|
+
if (normalized === 'base58btc') {
|
|
136
141
|
return this.fromBase58(canonicalizedhash);
|
|
137
142
|
}
|
|
143
|
+
if (normalized === 'base64url') {
|
|
144
|
+
return this.fromBase64Url(canonicalizedhash);
|
|
145
|
+
}
|
|
138
146
|
// Throw error if encoding is unsupported
|
|
139
147
|
throw new CanonicalizationError(`Unsupported encoding: ${encoding}`, 'DECODING_ERROR');
|
|
140
148
|
}
|
|
@@ -163,13 +171,29 @@ export class Canonicalization {
|
|
|
163
171
|
return base58btc.encode(hashBytes);
|
|
164
172
|
}
|
|
165
173
|
/**
|
|
166
|
-
* Decodes a
|
|
167
|
-
* @param {string} b58str The hash as a
|
|
174
|
+
* Decodes a base58btc string to HashBytes (Uint8Array).
|
|
175
|
+
* @param {string} b58str The hash as a base58btc string.
|
|
168
176
|
* @returns {HashBytes} The hash bytes.
|
|
169
177
|
*/
|
|
170
178
|
static fromBase58(b58str) {
|
|
171
179
|
return base58btc.decode(b58str);
|
|
172
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);
|
|
196
|
+
}
|
|
173
197
|
/**
|
|
174
198
|
* Canonicalizes an object, hashes it and returns it as hash bytes.
|
|
175
199
|
* Step 1-2: Canonicalize → Hash.
|
|
@@ -199,13 +223,22 @@ export class Canonicalization {
|
|
|
199
223
|
return hexed;
|
|
200
224
|
}
|
|
201
225
|
/**
|
|
202
|
-
* Computes the SHA-256 hashes of canonicalized object and encodes it as a
|
|
203
|
-
* Step 2-3: Hash → Encode(
|
|
226
|
+
* Computes the SHA-256 hashes of canonicalized object and encodes it as a base58btc string.
|
|
227
|
+
* Step 2-3: Hash → Encode(base58btc).
|
|
204
228
|
* @param {string} canonicalized The canonicalized object to hash.
|
|
205
|
-
* @returns {string} The SHA-256 hash as a
|
|
229
|
+
* @returns {string} The SHA-256 hash as a base58btc string.
|
|
206
230
|
*/
|
|
207
231
|
static andHashToBase58(canonicalized) {
|
|
208
|
-
return this.encode(this.toHash(canonicalized), '
|
|
232
|
+
return this.encode(this.toHash(canonicalized), 'base58btc');
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Computes the SHA-256 hashes of canonicalized object and encodes it as a base64url string.
|
|
236
|
+
* Step 2-3: Hash → Encode(base64url).
|
|
237
|
+
* @param {string} canonicalized The canonicalized object to hash.
|
|
238
|
+
* @returns {string} The SHA-256 hash as a base64url string.
|
|
239
|
+
*/
|
|
240
|
+
static andHashToBase64Url(canonicalized) {
|
|
241
|
+
return this.toBase64Url(this.toHash(canonicalized));
|
|
209
242
|
}
|
|
210
243
|
}
|
|
211
244
|
//# sourceMappingURL=canonicalization.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonicalization.js","sourceRoot":"","sources":["../../src/canonicalization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,YAAY,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"canonicalization.js","sourceRoot":"","sources":["../../src/canonicalization.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/errors.js
CHANGED
|
@@ -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';
|
package/dist/cjs/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.js
CHANGED
package/dist/cjs/index.js.map
CHANGED
|
@@ -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,
|
|
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":"AAAA,OAAO,SAAwB,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"json-patch.js","sourceRoot":"","sources":["../../src/json-patch.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,11 @@ 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
|
|
10
|
+
* algorithms and encoding formats (hex and base58btc).
|
|
10
11
|
* @class Canonicalization
|
|
11
12
|
* @type {Canonicalization}
|
|
12
13
|
*/
|
|
@@ -32,7 +33,7 @@ export class Canonicalization {
|
|
|
32
33
|
*/
|
|
33
34
|
static normalizeEncoding(encoding) {
|
|
34
35
|
const normalized = encoding.toLowerCase();
|
|
35
|
-
if (
|
|
36
|
+
if (!['hex', 'base58btc', 'base64url'].includes(normalized)) {
|
|
36
37
|
throw new CanonicalizationError(`Unsupported encoding: ${encoding}`, 'ENCODING_ERROR');
|
|
37
38
|
}
|
|
38
39
|
return normalized;
|
|
@@ -48,7 +49,7 @@ export class Canonicalization {
|
|
|
48
49
|
*
|
|
49
50
|
* @param {Record<any, any>} object The object to process.
|
|
50
51
|
* @param {Object} [options] Options for processing.
|
|
51
|
-
* @param {CanonicalizationEncoding} [options.encoding='hex'] The encoding format ('hex' or '
|
|
52
|
+
* @param {CanonicalizationEncoding} [options.encoding='hex'] The encoding format ('hex' or 'base58btc').
|
|
52
53
|
* @param {CanonicalizationAlgorithm} [options.algorithm] The canonicalization algorithm to use.
|
|
53
54
|
* @returns {string} The final SHA-256 hash bytes as a hex string.
|
|
54
55
|
*/
|
|
@@ -97,9 +98,9 @@ export class Canonicalization {
|
|
|
97
98
|
return sha256(canonicalized);
|
|
98
99
|
}
|
|
99
100
|
/**
|
|
100
|
-
* Step 3: Encodes SHA-256 hashed, canonicalized object as a hex or
|
|
101
|
+
* Step 3: Encodes SHA-256 hashed, canonicalized object as a hex or base58btc string.
|
|
101
102
|
* @param {string} canonicalizedhash The canonicalized object to encode.
|
|
102
|
-
* @param {CanonicalizationEncoding} encoding The encoding format ('hex' or '
|
|
103
|
+
* @param {CanonicalizationEncoding} encoding The encoding format ('hex' or 'base58btc').
|
|
103
104
|
* @throws {CanonicalizationError} If the encoding format is not supported.
|
|
104
105
|
* @returns {string} The encoded string.
|
|
105
106
|
*/
|
|
@@ -110,17 +111,21 @@ export class Canonicalization {
|
|
|
110
111
|
if (normalized === 'hex') {
|
|
111
112
|
return this.toHex(canonicalizedhash);
|
|
112
113
|
}
|
|
113
|
-
// If encoding is
|
|
114
|
-
if (normalized === '
|
|
114
|
+
// If encoding is base58btc, encode to base58btc
|
|
115
|
+
if (normalized === 'base58btc') {
|
|
115
116
|
return this.toBase58(canonicalizedhash);
|
|
116
117
|
}
|
|
118
|
+
// If encoding is base64url, encode to base64url
|
|
119
|
+
if (normalized === 'base64url') {
|
|
120
|
+
return this.toBase64Url(canonicalizedhash);
|
|
121
|
+
}
|
|
117
122
|
// Throw error if encoding is unsupported
|
|
118
123
|
throw new CanonicalizationError(`Unsupported encoding: ${encoding}`, 'ENCODING_ERROR');
|
|
119
124
|
}
|
|
120
125
|
/**
|
|
121
|
-
* Decodes SHA-256 hashed, canonicalized object as a hex or
|
|
126
|
+
* Decodes SHA-256 hashed, canonicalized object as a hex or base58btc string.
|
|
122
127
|
* @param {string} canonicalizedhash The canonicalized object to encode.
|
|
123
|
-
* @param {CanonicalizationEncoding} encoding The encoding format ('hex' or '
|
|
128
|
+
* @param {CanonicalizationEncoding} encoding The encoding format ('hex' or 'base58btc').
|
|
124
129
|
* @throws {CanonicalizationError} If the encoding format is not supported.
|
|
125
130
|
* @returns {string} The encoded string.
|
|
126
131
|
*/
|
|
@@ -131,10 +136,13 @@ export class Canonicalization {
|
|
|
131
136
|
if (normalized === 'hex') {
|
|
132
137
|
return this.fromHex(canonicalizedhash);
|
|
133
138
|
}
|
|
134
|
-
// If encoding is
|
|
135
|
-
if (normalized === '
|
|
139
|
+
// If encoding is base58btc, decode from base58btc
|
|
140
|
+
if (normalized === 'base58btc') {
|
|
136
141
|
return this.fromBase58(canonicalizedhash);
|
|
137
142
|
}
|
|
143
|
+
if (normalized === 'base64url') {
|
|
144
|
+
return this.fromBase64Url(canonicalizedhash);
|
|
145
|
+
}
|
|
138
146
|
// Throw error if encoding is unsupported
|
|
139
147
|
throw new CanonicalizationError(`Unsupported encoding: ${encoding}`, 'DECODING_ERROR');
|
|
140
148
|
}
|
|
@@ -163,13 +171,29 @@ export class Canonicalization {
|
|
|
163
171
|
return base58btc.encode(hashBytes);
|
|
164
172
|
}
|
|
165
173
|
/**
|
|
166
|
-
* Decodes a
|
|
167
|
-
* @param {string} b58str The hash as a
|
|
174
|
+
* Decodes a base58btc string to HashBytes (Uint8Array).
|
|
175
|
+
* @param {string} b58str The hash as a base58btc string.
|
|
168
176
|
* @returns {HashBytes} The hash bytes.
|
|
169
177
|
*/
|
|
170
178
|
static fromBase58(b58str) {
|
|
171
179
|
return base58btc.decode(b58str);
|
|
172
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);
|
|
196
|
+
}
|
|
173
197
|
/**
|
|
174
198
|
* Canonicalizes an object, hashes it and returns it as hash bytes.
|
|
175
199
|
* Step 1-2: Canonicalize → Hash.
|
|
@@ -199,13 +223,22 @@ export class Canonicalization {
|
|
|
199
223
|
return hexed;
|
|
200
224
|
}
|
|
201
225
|
/**
|
|
202
|
-
* Computes the SHA-256 hashes of canonicalized object and encodes it as a
|
|
203
|
-
* Step 2-3: Hash → Encode(
|
|
226
|
+
* Computes the SHA-256 hashes of canonicalized object and encodes it as a base58btc string.
|
|
227
|
+
* Step 2-3: Hash → Encode(base58btc).
|
|
204
228
|
* @param {string} canonicalized The canonicalized object to hash.
|
|
205
|
-
* @returns {string} The SHA-256 hash as a
|
|
229
|
+
* @returns {string} The SHA-256 hash as a base58btc string.
|
|
206
230
|
*/
|
|
207
231
|
static andHashToBase58(canonicalized) {
|
|
208
|
-
return this.encode(this.toHash(canonicalized), '
|
|
232
|
+
return this.encode(this.toHash(canonicalized), 'base58btc');
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Computes the SHA-256 hashes of canonicalized object and encodes it as a base64url string.
|
|
236
|
+
* Step 2-3: Hash → Encode(base64url).
|
|
237
|
+
* @param {string} canonicalized The canonicalized object to hash.
|
|
238
|
+
* @returns {string} The SHA-256 hash as a base64url string.
|
|
239
|
+
*/
|
|
240
|
+
static andHashToBase64Url(canonicalized) {
|
|
241
|
+
return this.toBase64Url(this.toHash(canonicalized));
|
|
209
242
|
}
|
|
210
243
|
}
|
|
211
244
|
//# sourceMappingURL=canonicalization.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonicalization.js","sourceRoot":"","sources":["../../src/canonicalization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,YAAY,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"canonicalization.js","sourceRoot":"","sources":["../../src/canonicalization.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/errors.js
CHANGED
|
@@ -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';
|
package/dist/esm/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -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,
|
|
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":"AAAA,OAAO,SAAwB,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"json-patch.js","sourceRoot":"","sources":["../../src/json-patch.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export interface CanonicalizationOptions {
|
|
|
6
6
|
/**
|
|
7
7
|
* Canonicalization class provides methods for canonicalizing JSON objects
|
|
8
8
|
* and hashing them using SHA-256. It supports different canonicalization
|
|
9
|
-
* algorithms and encoding formats (hex and
|
|
9
|
+
* algorithms and encoding formats (hex and base58btc).
|
|
10
10
|
* @class Canonicalization
|
|
11
11
|
* @type {Canonicalization}
|
|
12
12
|
*/
|
|
@@ -36,7 +36,7 @@ export declare class Canonicalization {
|
|
|
36
36
|
*
|
|
37
37
|
* @param {Record<any, any>} object The object to process.
|
|
38
38
|
* @param {Object} [options] Options for processing.
|
|
39
|
-
* @param {CanonicalizationEncoding} [options.encoding='hex'] The encoding format ('hex' or '
|
|
39
|
+
* @param {CanonicalizationEncoding} [options.encoding='hex'] The encoding format ('hex' or 'base58btc').
|
|
40
40
|
* @param {CanonicalizationAlgorithm} [options.algorithm] The canonicalization algorithm to use.
|
|
41
41
|
* @returns {string} The final SHA-256 hash bytes as a hex string.
|
|
42
42
|
*/
|
|
@@ -61,17 +61,17 @@ export declare class Canonicalization {
|
|
|
61
61
|
*/
|
|
62
62
|
static toHash(canonicalized: string): HashBytes;
|
|
63
63
|
/**
|
|
64
|
-
* Step 3: Encodes SHA-256 hashed, canonicalized object as a hex or
|
|
64
|
+
* Step 3: Encodes SHA-256 hashed, canonicalized object as a hex or base58btc string.
|
|
65
65
|
* @param {string} canonicalizedhash The canonicalized object to encode.
|
|
66
|
-
* @param {CanonicalizationEncoding} encoding The encoding format ('hex' or '
|
|
66
|
+
* @param {CanonicalizationEncoding} encoding The encoding format ('hex' or 'base58btc').
|
|
67
67
|
* @throws {CanonicalizationError} If the encoding format is not supported.
|
|
68
68
|
* @returns {string} The encoded string.
|
|
69
69
|
*/
|
|
70
70
|
static encode(canonicalizedhash: HashBytes, encoding?: CanonicalizationEncoding): string;
|
|
71
71
|
/**
|
|
72
|
-
* Decodes SHA-256 hashed, canonicalized object as a hex or
|
|
72
|
+
* Decodes SHA-256 hashed, canonicalized object as a hex or base58btc string.
|
|
73
73
|
* @param {string} canonicalizedhash The canonicalized object to encode.
|
|
74
|
-
* @param {CanonicalizationEncoding} encoding The encoding format ('hex' or '
|
|
74
|
+
* @param {CanonicalizationEncoding} encoding The encoding format ('hex' or 'base58btc').
|
|
75
75
|
* @throws {CanonicalizationError} If the encoding format is not supported.
|
|
76
76
|
* @returns {string} The encoded string.
|
|
77
77
|
*/
|
|
@@ -95,11 +95,23 @@ export declare class Canonicalization {
|
|
|
95
95
|
*/
|
|
96
96
|
static toBase58(hashBytes: HashBytes): string;
|
|
97
97
|
/**
|
|
98
|
-
* Decodes a
|
|
99
|
-
* @param {string} b58str The hash as a
|
|
98
|
+
* Decodes a base58btc string to HashBytes (Uint8Array).
|
|
99
|
+
* @param {string} b58str The hash as a base58btc string.
|
|
100
100
|
* @returns {HashBytes} The hash bytes.
|
|
101
101
|
*/
|
|
102
102
|
static fromBase58(b58str: string): HashBytes;
|
|
103
|
+
/**
|
|
104
|
+
* Step 3.2: Encodes HashBytes (Uint8Array) to a base64url string.
|
|
105
|
+
* @param {HashBytes} hashBytes The hash as a Uint8Array.
|
|
106
|
+
* @returns {string} The hash as a base64url string.
|
|
107
|
+
*/
|
|
108
|
+
static toBase64Url(hashBytes: HashBytes): string;
|
|
109
|
+
/**
|
|
110
|
+
* Decodes a base64url string to HashBytes (Uint8Array).
|
|
111
|
+
* @param {string} b64urlstr The hash as a base64url string.
|
|
112
|
+
* @returns {HashBytes} The hash bytes.
|
|
113
|
+
*/
|
|
114
|
+
static fromBase64Url(b64urlstr: string): HashBytes;
|
|
103
115
|
/**
|
|
104
116
|
* Canonicalizes an object, hashes it and returns it as hash bytes.
|
|
105
117
|
* Step 1-2: Canonicalize → Hash.
|
|
@@ -115,10 +127,17 @@ export declare class Canonicalization {
|
|
|
115
127
|
*/
|
|
116
128
|
static andHashToHex(canonicalized: string): string;
|
|
117
129
|
/**
|
|
118
|
-
* Computes the SHA-256 hashes of canonicalized object and encodes it as a
|
|
119
|
-
* Step 2-3: Hash → Encode(
|
|
130
|
+
* Computes the SHA-256 hashes of canonicalized object and encodes it as a base58btc string.
|
|
131
|
+
* Step 2-3: Hash → Encode(base58btc).
|
|
120
132
|
* @param {string} canonicalized The canonicalized object to hash.
|
|
121
|
-
* @returns {string} The SHA-256 hash as a
|
|
133
|
+
* @returns {string} The SHA-256 hash as a base58btc string.
|
|
122
134
|
*/
|
|
123
135
|
static andHashToBase58(canonicalized: string): string;
|
|
136
|
+
/**
|
|
137
|
+
* Computes the SHA-256 hashes of canonicalized object and encodes it as a base64url string.
|
|
138
|
+
* Step 2-3: Hash → Encode(base64url).
|
|
139
|
+
* @param {string} canonicalized The canonicalized object to hash.
|
|
140
|
+
* @returns {string} The SHA-256 hash as a base64url string.
|
|
141
|
+
*/
|
|
142
|
+
static andHashToBase64Url(canonicalized: string): string;
|
|
124
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonicalization.d.ts","sourceRoot":"","sources":["../../src/canonicalization.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"canonicalization.d.ts","sourceRoot":"","sources":["../../src/canonicalization.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvG,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CACrC;AAED;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,yBAAyB,GAAG,yBAAyB;IAQ1F;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,wBAAwB;IAQtF;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM;IAgBnF;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,GAAE,yBAAiC,GAAG,MAAM;IASnG;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM;IAI5C;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS;IAI/C;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,SAAS,EAAE,QAAQ,GAAE,wBAAgC,GAAG,MAAM;IAuB/F;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,GAAE,wBAAgC,GAAG,SAAS;IAsB/F;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAI1C;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS;IAI/C;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAI7C;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAI5C;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAIhD;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IAIlD;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CACZ,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EACxB,SAAS,GAAE,yBAAiC,GAC3C,SAAS;IASZ;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IASlD;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAIrD;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;CAGzD"}
|
package/dist/types/errors.d.ts
CHANGED
|
@@ -57,9 +57,11 @@ export declare enum MethodErrorCode {
|
|
|
57
57
|
/** The update is missing or has a malformed field(s). */
|
|
58
58
|
INVALID_UPDATE = "INVALID_UPDATE",
|
|
59
59
|
/** The proof is missing or has a malformed domain field. */
|
|
60
|
-
INVALID_DOMAIN_ERROR = "INVALID_DOMAIN_ERROR"
|
|
60
|
+
INVALID_DOMAIN_ERROR = "INVALID_DOMAIN_ERROR",
|
|
61
|
+
/** Options required for resolution are missing. */
|
|
62
|
+
MISSING_RESOLUTION_OPTIONS = "MISSING_RESOLUTION_OPTIONS"
|
|
61
63
|
}
|
|
62
|
-
export declare const INVALID_DID: MethodErrorCode, METHOD_NOT_SUPPORTED: MethodErrorCode, INTERNAL_ERROR: MethodErrorCode, INVALID_DID_DOCUMENT: MethodErrorCode, INVALID_DID_UPDATE: MethodErrorCode, INVALID_DID_DOCUMENT_LENGTH: MethodErrorCode, INVALID_DID_URL: MethodErrorCode, INVALID_PREVIOUS_DID_PROOF: MethodErrorCode, INVALID_PUBLIC_KEY: MethodErrorCode, INVALID_PUBLIC_KEY_MULTIBASE: MethodErrorCode, INVALID_PUBLIC_KEY_LENGTH: MethodErrorCode, INVALID_PUBLIC_KEY_TYPE: MethodErrorCode, INVALID_SIGNATURE: MethodErrorCode, NOT_FOUND: MethodErrorCode, REPRESENTATION_NOT_SUPPORTED: MethodErrorCode, UNSUPPORTED_PUBLIC_KEY_TYPE: MethodErrorCode, PROOF_VERIFICATION_ERROR: MethodErrorCode, PROOF_GENERATION_ERROR: MethodErrorCode, PROOF_SERIALIZATION_ERROR: MethodErrorCode, PROOF_PARSING_ERROR: MethodErrorCode, VERIFICATION_METHOD_ERROR: MethodErrorCode, LATE_PUBLISHING_ERROR: MethodErrorCode, INVALID_SIDECAR_DATA: MethodErrorCode, MISSING_UPDATE_DATA: MethodErrorCode, INVALID_UPDATE: MethodErrorCode, INVALID_DOMAIN_ERROR: MethodErrorCode;
|
|
64
|
+
export declare const INVALID_DID: MethodErrorCode, METHOD_NOT_SUPPORTED: MethodErrorCode, INTERNAL_ERROR: MethodErrorCode, INVALID_DID_DOCUMENT: MethodErrorCode, INVALID_DID_UPDATE: MethodErrorCode, INVALID_DID_DOCUMENT_LENGTH: MethodErrorCode, INVALID_DID_URL: MethodErrorCode, INVALID_PREVIOUS_DID_PROOF: MethodErrorCode, INVALID_PUBLIC_KEY: MethodErrorCode, INVALID_PUBLIC_KEY_MULTIBASE: MethodErrorCode, INVALID_PUBLIC_KEY_LENGTH: MethodErrorCode, INVALID_PUBLIC_KEY_TYPE: MethodErrorCode, INVALID_SIGNATURE: MethodErrorCode, NOT_FOUND: MethodErrorCode, REPRESENTATION_NOT_SUPPORTED: MethodErrorCode, UNSUPPORTED_PUBLIC_KEY_TYPE: MethodErrorCode, PROOF_VERIFICATION_ERROR: MethodErrorCode, PROOF_GENERATION_ERROR: MethodErrorCode, PROOF_SERIALIZATION_ERROR: MethodErrorCode, PROOF_PARSING_ERROR: MethodErrorCode, VERIFICATION_METHOD_ERROR: MethodErrorCode, LATE_PUBLISHING_ERROR: MethodErrorCode, INVALID_SIDECAR_DATA: MethodErrorCode, MISSING_UPDATE_DATA: MethodErrorCode, INVALID_UPDATE: MethodErrorCode, INVALID_DOMAIN_ERROR: MethodErrorCode, MISSING_RESOLUTION_OPTIONS: MethodErrorCode;
|
|
63
65
|
export type ErrorOptions = {
|
|
64
66
|
type?: string;
|
|
65
67
|
name?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,eAAe;IACzB,yDAAyD;IACzD,WAAW,gBAAgB;IAE3B,sGAAsG;IACtG,oBAAoB,yBAAyB;IAE7C,uEAAuE;IACvE,cAAc,mBAAmB;IAEjC,kEAAkE;IAClE,oBAAoB,yBAAyB;IAE7C,gEAAgE;IAChE,kBAAkB,uBAAuB;IAEzC,2EAA2E;IAC3E,2BAA2B,gCAAgC;IAE3D,2FAA2F;IAC3F,eAAe,oBAAoB;IAEnC,mDAAmD;IACnD,0BAA0B,+BAA+B;IAEzD,gEAAgE;IAChE,kBAAkB,uBAAuB;IAEzC,wFAAwF;IACxF,4BAA4B,iCAAiC;IAE7D,yEAAyE;IACzE,yBAAyB,8BAA8B;IAEvD,sEAAsE;IACtE,uBAAuB,4BAA4B;IAEnD,iEAAiE;IACjE,iBAAiB,sBAAsB;IAEvC,qDAAqD;IACrD,mHAAmH;IACnH,SAAS,cAAc;IAEvB;;;OAGG;IACH,4BAA4B,iCAAiC;IAE7D,sGAAsG;IACtG,2BAA2B,gCAAgC;IAE3D,+CAA+C;IAC/C,wBAAwB,6BAA6B;IAErD,6CAA6C;IAC7C,sBAAsB,2BAA2B;IAEjD,gDAAgD;IAChD,yBAAyB,8BAA8B;IAEvD,8CAA8C;IAC9C,mBAAmB,wBAAwB;IAE3C,qDAAqD;IACrD,yBAAyB,8BAA8B;IAExD,0FAA0F;IACzF,qBAAqB,0BAA0B;IAE/C,8DAA8D;IAC9D,oBAAoB,yBAAyB;IAE7C,0DAA0D;IAC1D,mBAAmB,wBAAwB;IAE3C,yDAAyD;IACzD,cAAc,mBAAmB;IAEjC,4DAA4D;IAC5D,oBAAoB,yBAAyB;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","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,5 +1,14 @@
|
|
|
1
|
-
import { PatchOperation } from './interfaces.js';
|
|
2
1
|
import { JSONObject } from './types.js';
|
|
2
|
+
export type PatchOpCode = 'add' | 'remove' | 'replace' | 'move' | 'copy' | 'test' | (string & {});
|
|
3
|
+
/**
|
|
4
|
+
* A JSON Patch operation, as defined in {@link https://datatracker.ietf.org/doc/html/rfc6902 | RFC 6902}.
|
|
5
|
+
*/
|
|
6
|
+
export interface PatchOperation {
|
|
7
|
+
op: PatchOpCode;
|
|
8
|
+
path: string;
|
|
9
|
+
value?: unknown;
|
|
10
|
+
from?: string;
|
|
11
|
+
}
|
|
3
12
|
/**
|
|
4
13
|
* Thin wrapper around fast-json-patch to keep a stable API within this package.
|
|
5
14
|
* @class JSONPatch
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-patch.d.ts","sourceRoot":"","sources":["../../src/json-patch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"json-patch.d.ts","sourceRoot":"","sources":["../../src/json-patch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAClG;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,WAAW,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,qBAAa,SAAS;IACpB;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CACV,cAAc,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAChC,UAAU,EAAE,cAAc,EAAE,EAC5B,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;KAAO,GAC9D,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;IAmBnB;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,GAAE,MAAW,GAAG,cAAc,EAAE;IAWxG;;;;;KAKC;IACD,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAM1D;;;;KAIC;IACD,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAOjD;;;;KAIC;IACD,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,KAAK,GAAG,IAAI;CAYtE"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -92,5 +92,5 @@ export type TzOffset = `${Hours}:${Minutes}`;
|
|
|
92
92
|
export type DateTimestamp = `${UtcTimestamp}Z` | `${UtcTimestamp}-${TzOffset}`;
|
|
93
93
|
export type CanonicalizableObject = Record<string, any>;
|
|
94
94
|
export type CanonicalizationAlgorithm = 'jcs' | 'rdfc';
|
|
95
|
-
export type CanonicalizationEncoding = 'hex' | '
|
|
95
|
+
export type CanonicalizationEncoding = 'hex' | 'base58btc' | 'base64url';
|
|
96
96
|
export type UnixTimestamp = number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/canonicalization.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { canonicalize as jcsa } from 'json-canonicalize';
|
|
|
4
4
|
import { base58btc } from 'multiformats/bases/base58';
|
|
5
5
|
import { CanonicalizationError } from './errors.js';
|
|
6
6
|
import { CanonicalizationAlgorithm, CanonicalizationEncoding, HashBytes, HexString } from './types.js';
|
|
7
|
+
import { base64url } from 'multiformats/bases/base64';
|
|
7
8
|
|
|
8
9
|
export interface CanonicalizationOptions {
|
|
9
10
|
algorithm?: CanonicalizationAlgorithm;
|
|
@@ -13,7 +14,7 @@ export interface CanonicalizationOptions {
|
|
|
13
14
|
/**
|
|
14
15
|
* Canonicalization class provides methods for canonicalizing JSON objects
|
|
15
16
|
* and hashing them using SHA-256. It supports different canonicalization
|
|
16
|
-
* algorithms and encoding formats (hex and
|
|
17
|
+
* algorithms and encoding formats (hex and base58btc).
|
|
17
18
|
* @class Canonicalization
|
|
18
19
|
* @type {Canonicalization}
|
|
19
20
|
*/
|
|
@@ -40,7 +41,7 @@ export class Canonicalization {
|
|
|
40
41
|
*/
|
|
41
42
|
static normalizeEncoding(encoding: CanonicalizationEncoding): CanonicalizationEncoding {
|
|
42
43
|
const normalized = encoding.toLowerCase() as CanonicalizationEncoding;
|
|
43
|
-
if (
|
|
44
|
+
if (!['hex', 'base58btc', 'base64url'].includes(normalized)) {
|
|
44
45
|
throw new CanonicalizationError(`Unsupported encoding: ${encoding}`, 'ENCODING_ERROR');
|
|
45
46
|
}
|
|
46
47
|
return normalized;
|
|
@@ -57,7 +58,7 @@ export class Canonicalization {
|
|
|
57
58
|
*
|
|
58
59
|
* @param {Record<any, any>} object The object to process.
|
|
59
60
|
* @param {Object} [options] Options for processing.
|
|
60
|
-
* @param {CanonicalizationEncoding} [options.encoding='hex'] The encoding format ('hex' or '
|
|
61
|
+
* @param {CanonicalizationEncoding} [options.encoding='hex'] The encoding format ('hex' or 'base58btc').
|
|
61
62
|
* @param {CanonicalizationAlgorithm} [options.algorithm] The canonicalization algorithm to use.
|
|
62
63
|
* @returns {string} The final SHA-256 hash bytes as a hex string.
|
|
63
64
|
*/
|
|
@@ -111,9 +112,9 @@ export class Canonicalization {
|
|
|
111
112
|
}
|
|
112
113
|
|
|
113
114
|
/**
|
|
114
|
-
* Step 3: Encodes SHA-256 hashed, canonicalized object as a hex or
|
|
115
|
+
* Step 3: Encodes SHA-256 hashed, canonicalized object as a hex or base58btc string.
|
|
115
116
|
* @param {string} canonicalizedhash The canonicalized object to encode.
|
|
116
|
-
* @param {CanonicalizationEncoding} encoding The encoding format ('hex' or '
|
|
117
|
+
* @param {CanonicalizationEncoding} encoding The encoding format ('hex' or 'base58btc').
|
|
117
118
|
* @throws {CanonicalizationError} If the encoding format is not supported.
|
|
118
119
|
* @returns {string} The encoded string.
|
|
119
120
|
*/
|
|
@@ -126,19 +127,24 @@ export class Canonicalization {
|
|
|
126
127
|
return this.toHex(canonicalizedhash);
|
|
127
128
|
}
|
|
128
129
|
|
|
129
|
-
// If encoding is
|
|
130
|
-
if (normalized === '
|
|
130
|
+
// If encoding is base58btc, encode to base58btc
|
|
131
|
+
if (normalized === 'base58btc') {
|
|
131
132
|
return this.toBase58(canonicalizedhash);
|
|
132
133
|
}
|
|
133
134
|
|
|
135
|
+
// If encoding is base64url, encode to base64url
|
|
136
|
+
if (normalized === 'base64url') {
|
|
137
|
+
return this.toBase64Url(canonicalizedhash);
|
|
138
|
+
}
|
|
139
|
+
|
|
134
140
|
// Throw error if encoding is unsupported
|
|
135
141
|
throw new CanonicalizationError(`Unsupported encoding: ${encoding}`, 'ENCODING_ERROR');
|
|
136
142
|
}
|
|
137
143
|
|
|
138
144
|
/**
|
|
139
|
-
* Decodes SHA-256 hashed, canonicalized object as a hex or
|
|
145
|
+
* Decodes SHA-256 hashed, canonicalized object as a hex or base58btc string.
|
|
140
146
|
* @param {string} canonicalizedhash The canonicalized object to encode.
|
|
141
|
-
* @param {CanonicalizationEncoding} encoding The encoding format ('hex' or '
|
|
147
|
+
* @param {CanonicalizationEncoding} encoding The encoding format ('hex' or 'base58btc').
|
|
142
148
|
* @throws {CanonicalizationError} If the encoding format is not supported.
|
|
143
149
|
* @returns {string} The encoded string.
|
|
144
150
|
*/
|
|
@@ -151,11 +157,15 @@ export class Canonicalization {
|
|
|
151
157
|
return this.fromHex(canonicalizedhash);
|
|
152
158
|
}
|
|
153
159
|
|
|
154
|
-
// If encoding is
|
|
155
|
-
if (normalized === '
|
|
160
|
+
// If encoding is base58btc, decode from base58btc
|
|
161
|
+
if (normalized === 'base58btc') {
|
|
156
162
|
return this.fromBase58(canonicalizedhash);
|
|
157
163
|
}
|
|
158
164
|
|
|
165
|
+
if(normalized === 'base64url') {
|
|
166
|
+
return this.fromBase64Url(canonicalizedhash);
|
|
167
|
+
}
|
|
168
|
+
|
|
159
169
|
// Throw error if encoding is unsupported
|
|
160
170
|
throw new CanonicalizationError(`Unsupported encoding: ${encoding}`, 'DECODING_ERROR');
|
|
161
171
|
}
|
|
@@ -188,14 +198,32 @@ export class Canonicalization {
|
|
|
188
198
|
}
|
|
189
199
|
|
|
190
200
|
/**
|
|
191
|
-
* Decodes a
|
|
192
|
-
* @param {string} b58str The hash as a
|
|
201
|
+
* Decodes a base58btc string to HashBytes (Uint8Array).
|
|
202
|
+
* @param {string} b58str The hash as a base58btc string.
|
|
193
203
|
* @returns {HashBytes} The hash bytes.
|
|
194
204
|
*/
|
|
195
205
|
static fromBase58(b58str: string): HashBytes {
|
|
196
206
|
return base58btc.decode(b58str);
|
|
197
207
|
}
|
|
198
208
|
|
|
209
|
+
/**
|
|
210
|
+
* Step 3.2: Encodes HashBytes (Uint8Array) to a base64url string.
|
|
211
|
+
* @param {HashBytes} hashBytes The hash as a Uint8Array.
|
|
212
|
+
* @returns {string} The hash as a base64url string.
|
|
213
|
+
*/
|
|
214
|
+
static toBase64Url(hashBytes: HashBytes): string {
|
|
215
|
+
return base64url.encode(hashBytes);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Decodes a base64url string to HashBytes (Uint8Array).
|
|
220
|
+
* @param {string} b64urlstr The hash as a base64url string.
|
|
221
|
+
* @returns {HashBytes} The hash bytes.
|
|
222
|
+
*/
|
|
223
|
+
static fromBase64Url(b64urlstr: string): HashBytes {
|
|
224
|
+
return base64url.decode(b64urlstr);
|
|
225
|
+
}
|
|
226
|
+
|
|
199
227
|
/**
|
|
200
228
|
* Canonicalizes an object, hashes it and returns it as hash bytes.
|
|
201
229
|
* Step 1-2: Canonicalize → Hash.
|
|
@@ -230,12 +258,22 @@ export class Canonicalization {
|
|
|
230
258
|
}
|
|
231
259
|
|
|
232
260
|
/**
|
|
233
|
-
* Computes the SHA-256 hashes of canonicalized object and encodes it as a
|
|
234
|
-
* Step 2-3: Hash → Encode(
|
|
261
|
+
* Computes the SHA-256 hashes of canonicalized object and encodes it as a base58btc string.
|
|
262
|
+
* Step 2-3: Hash → Encode(base58btc).
|
|
235
263
|
* @param {string} canonicalized The canonicalized object to hash.
|
|
236
|
-
* @returns {string} The SHA-256 hash as a
|
|
264
|
+
* @returns {string} The SHA-256 hash as a base58btc string.
|
|
237
265
|
*/
|
|
238
266
|
static andHashToBase58(canonicalized: string): string {
|
|
239
|
-
return this.encode(this.toHash(canonicalized), '
|
|
267
|
+
return this.encode(this.toHash(canonicalized), 'base58btc');
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* Computes the SHA-256 hashes of canonicalized object and encodes it as a base64url string.
|
|
272
|
+
* Step 2-3: Hash → Encode(base64url).
|
|
273
|
+
* @param {string} canonicalized The canonicalized object to hash.
|
|
274
|
+
* @returns {string} The SHA-256 hash as a base64url string.
|
|
275
|
+
*/
|
|
276
|
+
static andHashToBase64Url(canonicalized: string): string {
|
|
277
|
+
return this.toBase64Url(this.toHash(canonicalized));
|
|
240
278
|
}
|
|
241
279
|
}
|
package/src/errors.ts
CHANGED
|
@@ -82,7 +82,10 @@ export enum MethodErrorCode {
|
|
|
82
82
|
INVALID_UPDATE = 'INVALID_UPDATE',
|
|
83
83
|
|
|
84
84
|
/** The proof is missing or has a malformed domain field. */
|
|
85
|
-
INVALID_DOMAIN_ERROR = 'INVALID_DOMAIN_ERROR'
|
|
85
|
+
INVALID_DOMAIN_ERROR = 'INVALID_DOMAIN_ERROR',
|
|
86
|
+
|
|
87
|
+
/** Options required for resolution are missing. */
|
|
88
|
+
MISSING_RESOLUTION_OPTIONS = 'MISSING_RESOLUTION_OPTIONS'
|
|
86
89
|
}
|
|
87
90
|
|
|
88
91
|
export const {
|
|
@@ -111,7 +114,8 @@ export const {
|
|
|
111
114
|
INVALID_SIDECAR_DATA,
|
|
112
115
|
MISSING_UPDATE_DATA,
|
|
113
116
|
INVALID_UPDATE,
|
|
114
|
-
INVALID_DOMAIN_ERROR
|
|
117
|
+
INVALID_DOMAIN_ERROR,
|
|
118
|
+
MISSING_RESOLUTION_OPTIONS
|
|
115
119
|
} = MethodErrorCode;
|
|
116
120
|
|
|
117
121
|
export type ErrorOptions = {
|
package/src/index.ts
CHANGED
package/src/json-patch.ts
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import jsonPatch, { Operation } from 'fast-json-patch';
|
|
2
2
|
import { MethodError } from './errors.js';
|
|
3
|
-
import { PatchOperation } from './interfaces.js';
|
|
4
3
|
import { JSONObject } from './types.js';
|
|
5
4
|
|
|
6
5
|
const { applyPatch, compare, deepClone } = jsonPatch;
|
|
7
6
|
|
|
7
|
+
export type PatchOpCode = 'add' | 'remove' | 'replace' | 'move' | 'copy' | 'test' | (string & {});
|
|
8
|
+
/**
|
|
9
|
+
* A JSON Patch operation, as defined in {@link https://datatracker.ietf.org/doc/html/rfc6902 | RFC 6902}.
|
|
10
|
+
*/
|
|
11
|
+
export interface PatchOperation {
|
|
12
|
+
op: PatchOpCode;
|
|
13
|
+
path: string;
|
|
14
|
+
value?: unknown; // Required for add, replace, test
|
|
15
|
+
from?: string; // Required for move, copy
|
|
16
|
+
}
|
|
17
|
+
|
|
8
18
|
/**
|
|
9
19
|
* Thin wrapper around fast-json-patch to keep a stable API within this package.
|
|
10
20
|
* @class JSONPatch
|
package/src/types.ts
CHANGED
|
@@ -97,5 +97,5 @@ export type TzOffset = `${Hours}:${Minutes}`;
|
|
|
97
97
|
export type DateTimestamp = `${UtcTimestamp}Z` | `${UtcTimestamp}-${TzOffset}`;
|
|
98
98
|
export type CanonicalizableObject = Record<string, any>;
|
|
99
99
|
export type CanonicalizationAlgorithm = 'jcs' | 'rdfc';
|
|
100
|
-
export type CanonicalizationEncoding = 'hex' | '
|
|
100
|
+
export type CanonicalizationEncoding = 'hex' | 'base58btc' | 'base64url';
|
|
101
101
|
export type UnixTimestamp = number;
|
package/dist/cjs/interfaces.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":""}
|
package/dist/esm/interfaces.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export type JsonPatch = Array<PatchOperation>;
|
|
2
|
-
export type PatchOpCode = 'add' | 'remove' | 'replace' | 'move' | 'copy' | 'test' | (string & {});
|
|
3
|
-
/**
|
|
4
|
-
* A JSON Patch operation, as defined in {@link https://datatracker.ietf.org/doc/html/rfc6902 | RFC 6902}.
|
|
5
|
-
*/
|
|
6
|
-
export interface PatchOperation {
|
|
7
|
-
op: PatchOpCode;
|
|
8
|
-
path: string;
|
|
9
|
-
value?: unknown;
|
|
10
|
-
from?: string;
|
|
11
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;AAC9C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAClG;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,WAAW,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
package/src/interfaces.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export type JsonPatch = Array<PatchOperation>;
|
|
2
|
-
export type PatchOpCode = 'add' | 'remove' | 'replace' | 'move' | 'copy' | 'test' | (string & {});
|
|
3
|
-
/**
|
|
4
|
-
* A JSON Patch operation, as defined in {@link https://datatracker.ietf.org/doc/html/rfc6902 | RFC 6902}.
|
|
5
|
-
*/
|
|
6
|
-
export interface PatchOperation {
|
|
7
|
-
op: PatchOpCode;
|
|
8
|
-
path: string;
|
|
9
|
-
value?: unknown; // Required for add, replace, test
|
|
10
|
-
from?: string; // Required for move, copy
|
|
11
|
-
}
|