@did-btcr2/common 1.1.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.
Files changed (75) hide show
  1. package/LICENSE +373 -0
  2. package/README.md +3 -0
  3. package/dist/cjs/canonicalization.js +163 -0
  4. package/dist/cjs/canonicalization.js.map +1 -0
  5. package/dist/cjs/constants.js +116 -0
  6. package/dist/cjs/constants.js.map +1 -0
  7. package/dist/cjs/errors.js +151 -0
  8. package/dist/cjs/errors.js.map +1 -0
  9. package/dist/cjs/exts.js +182 -0
  10. package/dist/cjs/exts.js.map +1 -0
  11. package/dist/cjs/index.js +10 -0
  12. package/dist/cjs/index.js.map +1 -0
  13. package/dist/cjs/interfaces.js +2 -0
  14. package/dist/cjs/interfaces.js.map +1 -0
  15. package/dist/cjs/logger.browser.js +77 -0
  16. package/dist/cjs/logger.browser.js.map +1 -0
  17. package/dist/cjs/logger.js +139 -0
  18. package/dist/cjs/logger.js.map +1 -0
  19. package/dist/cjs/package.json +1 -0
  20. package/dist/cjs/patch.js +163 -0
  21. package/dist/cjs/patch.js.map +1 -0
  22. package/dist/cjs/types.js +20 -0
  23. package/dist/cjs/types.js.map +1 -0
  24. package/dist/esm/canonicalization.js +163 -0
  25. package/dist/esm/canonicalization.js.map +1 -0
  26. package/dist/esm/constants.js +116 -0
  27. package/dist/esm/constants.js.map +1 -0
  28. package/dist/esm/errors.js +151 -0
  29. package/dist/esm/errors.js.map +1 -0
  30. package/dist/esm/exts.js +182 -0
  31. package/dist/esm/exts.js.map +1 -0
  32. package/dist/esm/index.js +10 -0
  33. package/dist/esm/index.js.map +1 -0
  34. package/dist/esm/interfaces.js +2 -0
  35. package/dist/esm/interfaces.js.map +1 -0
  36. package/dist/esm/logger.browser.js +77 -0
  37. package/dist/esm/logger.browser.js.map +1 -0
  38. package/dist/esm/logger.js +139 -0
  39. package/dist/esm/logger.js.map +1 -0
  40. package/dist/esm/patch.js +163 -0
  41. package/dist/esm/patch.js.map +1 -0
  42. package/dist/esm/types.js +20 -0
  43. package/dist/esm/types.js.map +1 -0
  44. package/dist/types/canonicalization.d.ts +106 -0
  45. package/dist/types/canonicalization.d.ts.map +1 -0
  46. package/dist/types/constants.d.ts +103 -0
  47. package/dist/types/constants.d.ts.map +1 -0
  48. package/dist/types/errors.d.ts +113 -0
  49. package/dist/types/errors.d.ts.map +1 -0
  50. package/dist/types/exts.d.ts +82 -0
  51. package/dist/types/exts.d.ts.map +1 -0
  52. package/dist/types/index.d.ts +9 -0
  53. package/dist/types/index.d.ts.map +1 -0
  54. package/dist/types/interfaces.d.ts +282 -0
  55. package/dist/types/interfaces.d.ts.map +1 -0
  56. package/dist/types/logger.browser.d.ts +28 -0
  57. package/dist/types/logger.browser.d.ts.map +1 -0
  58. package/dist/types/logger.d.ts +45 -0
  59. package/dist/types/logger.d.ts.map +1 -0
  60. package/dist/types/patch.d.ts +63 -0
  61. package/dist/types/patch.d.ts.map +1 -0
  62. package/dist/types/types.d.ts +104 -0
  63. package/dist/types/types.d.ts.map +1 -0
  64. package/package.json +109 -0
  65. package/src/canonicalization.ts +180 -0
  66. package/src/constants.ts +123 -0
  67. package/src/errors.ts +224 -0
  68. package/src/exts.ts +293 -0
  69. package/src/index.ts +11 -0
  70. package/src/interfaces.ts +311 -0
  71. package/src/logger.browser.ts +92 -0
  72. package/src/logger.ts +162 -0
  73. package/src/patch.ts +181 -0
  74. package/src/rdf-canonize.d.ts +6 -0
  75. package/src/types.ts +113 -0
@@ -0,0 +1,106 @@
1
+ import { CanonicalizationAlgorithm, HashBytes, JSONObject } from './types.js';
2
+ /**
3
+ * Canonicalization class provides methods for canonicalizing JSON objects
4
+ * and hashing them using SHA-256. It supports different canonicalization
5
+ * algorithms and encoding formats (hex and base58).
6
+ * @class Canonicalization
7
+ * @type {Canonicalization}
8
+ */
9
+ export declare class Canonicalization {
10
+ private _algorithm;
11
+ /**
12
+ * Initializes the Canonicalization class with the specified algorithm.
13
+ * @param {CanonicalizationAlgorithm} algorithm The canonicalization algorithm to use ('jcs' or 'rdfc').
14
+ */
15
+ constructor(algorithm?: CanonicalizationAlgorithm);
16
+ /**
17
+ * Sets the canonicalization algorithm.
18
+ * @param {'jcs' | 'rdfc'} algorithm Either 'jcs' or 'rdfc'.
19
+ */
20
+ set algorithm(algorithm: 'jcs' | 'rdfc');
21
+ /**
22
+ * Gets the canonicalization algorithm.
23
+ * @returns {CanonicalizationAlgorithm} The current canonicalization algorithm.
24
+ */
25
+ get algorithm(): CanonicalizationAlgorithm;
26
+ /**
27
+ * Implements {@link http://dcdpr.github.io/did-btcr2/#json-canonicalization-and-hash | 9.2 JSON Canonicalization and Hash}.
28
+ *
29
+ * A macro function that takes in a JSON document, document, and canonicalizes it following the JSON Canonicalization
30
+ * Scheme. The function returns the canonicalizedBytes.
31
+ *
32
+ * Optionally encodes a sha256 hashed canonicalized JSON object.
33
+ * Step 1 Canonicalize (JCS/RDFC) → Step 2 Hash (SHA256) → Step 3 Encode (Hex/Base58).
34
+ *
35
+ * @param {JSONObject} object The object to process.
36
+ * @param {string} encoding The encoding format ('hex' or 'base58').
37
+ * @returns {Promise<string>} The final SHA-256 hash bytes as a hex string.
38
+ */
39
+ process(object: JSONObject, encoding?: string): Promise<string>;
40
+ /**
41
+ * Step 1: Uses this.algorithm to determine the method (JCS/RDFC).
42
+ * @param {JSONObject} object The object to canonicalize.
43
+ * @returns {Promise<string>} The canonicalized object.
44
+ */
45
+ canonicalize(object: JSONObject): Promise<string>;
46
+ /**
47
+ * Step 1: Canonicalizes an object using JCS (JSON Canonicalization Scheme).
48
+ * @param {JSONObject} object The object to canonicalize.
49
+ * @returns {string} The canonicalized object.
50
+ */
51
+ jcs(object: JSONObject): any;
52
+ /**
53
+ * Step 1: Canonicalizes an object using RDF Canonicalization (RDFC).
54
+ * @param {JSONObject} object The object to canonicalize.
55
+ * @returns {Promise<string>} The canonicalized object.
56
+ */
57
+ rdfc(object: JSONObject): Promise<string>;
58
+ /**
59
+ * Step 2: SHA-256 hashes a canonicalized object.
60
+ * @param {string} canonicalized The canonicalized object.
61
+ * @returns {HashBytes} The SHA-256 HashBytes (Uint8Array).
62
+ */
63
+ hash(canonicalized: string): HashBytes;
64
+ /**
65
+ * Step 3: Encodes SHA-256 hashed, canonicalized object as a hex or base58 string.
66
+ * @param {string} canonicalizedhash The canonicalized object to encode.
67
+ * @param {string} encoding The encoding format ('hex' or 'base58').
68
+ * @throws {CanonicalizationError} If the encoding format is not supported.
69
+ * @returns {string} The encoded string.
70
+ */
71
+ encode(canonicalizedhash: HashBytes, encoding?: string): string;
72
+ /**
73
+ * Step 3.1: Encodes HashBytes (Uint8Array) to a hex string.
74
+ * @param {HashBytes} hashBytes The hash as a Uint8Array.
75
+ * @returns {string} The hash as a hex string.
76
+ */
77
+ hex(hashBytes: HashBytes): string;
78
+ /**
79
+ * Step 3.2: Encodes HashBytes (Uint8Array) to a base58btc string.
80
+ * @param {HashBytes} hashBytes The hash as a Uint8Array.
81
+ * @returns {string} The hash as a hex string.
82
+ */
83
+ base58(hashBytes: HashBytes): string;
84
+ /**
85
+ * Canonicalizes an object, hashes it and returns it as hash bytes.
86
+ * Step 1-2: Canonicalize → Hash.
87
+ * @param {JSONObject} object The object to process.
88
+ * @returns {Promise<HashBytes>} The final SHA-256 hash bytes.
89
+ */
90
+ canonicalhash(object: JSONObject): Promise<HashBytes>;
91
+ /**
92
+ * Computes the SHA-256 hash of a canonicalized object and encodes it as a hex string.
93
+ * Step 2-3: Hash → Encode(Hex).
94
+ * @param {string} canonicalized The canonicalized object to hash.
95
+ * @returns {string} The SHA-256 hash as a hex string.
96
+ */
97
+ hashhex(canonicalized: string): string;
98
+ /**
99
+ * Computes the SHA-256 hashes of canonicalized object and encodes it as a base58 string.
100
+ * Step 2-3: Hash → Encode(base58).
101
+ * @param {string} canonicalized The canonicalized object to hash.
102
+ * @returns {string} The SHA-256 hash as a base58 string.
103
+ */
104
+ hashb58(canonicalized: string): string;
105
+ }
106
+ export declare const canonicalization: Canonicalization;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonicalization.d.ts","sourceRoot":"","sources":["../../src/canonicalization.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG9E;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAA4B;IAE9C;;;OAGG;gBAES,SAAS,GAAE,yBAAiC;IAIxD;;;OAGG;IACH,IAAI,SAAS,CAAC,SAAS,EAAE,KAAK,GAAG,MAAM,EAUtC;IAED;;;OAGG;IACH,IAAI,SAAS,IAAI,yBAAyB,CAEzC;IAED;;;;;;;;;;;;OAYG;IACU,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,GAAE,MAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAWnF;;;;OAIG;IACU,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9D;;;;OAIG;IACI,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,GAAG;IAInC;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhD;;;;OAIG;IACI,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS;IAI7C;;;;;;OAMG;IACI,MAAM,CAAC,iBAAiB,EAAE,SAAS,EAAE,QAAQ,GAAE,MAAc,GAAG,MAAM;IAW7E;;;;OAIG;IACI,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAIxC;;;;OAIG;IACI,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAI3C;;;;;OAKG;IACU,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAKlE;;;;;OAKG;IACI,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAI7C;;;;;OAKG;IACI,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;CAG9C;AAED,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
@@ -0,0 +1,103 @@
1
+ import { Bytes, HashHex } from './types.js';
2
+ export declare const ID_PLACEHOLDER_VALUE = "did:btcr2:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
3
+ export declare const OP_RETURN = 106;
4
+ export declare const OP_PUSH32 = 32;
5
+ export declare const VALID_HRP: string[];
6
+ export declare const MULTIBASE_URI_PREFIX = "urn:mb:";
7
+ export declare const INITIAL_BLOCK_REWARD = 50;
8
+ export declare const HALVING_INTERVAL = 150;
9
+ export declare const COINBASE_MATURITY_DELAY = 100;
10
+ export declare const POLAR_BOB_CLIENT_CONFIG: {
11
+ username: string;
12
+ password: string;
13
+ host: string;
14
+ allowDefaultWallet: boolean;
15
+ version: string;
16
+ };
17
+ export declare const POLAR_ALICE_CLIENT_CONFIG: {
18
+ username: string;
19
+ password: string;
20
+ host: string;
21
+ allowDefaultWallet: boolean;
22
+ version: string;
23
+ };
24
+ export declare const DEFAULT_REST_CONFIG: {
25
+ host: string;
26
+ };
27
+ export declare const DEFAULT_RPC_CONFIG: {
28
+ username: string;
29
+ password: string;
30
+ host: string;
31
+ allowDefaultWallet: boolean;
32
+ version: string;
33
+ };
34
+ export declare const DEFAULT_BLOCK_CONFIRMATIONS = 7;
35
+ export declare const BIP340_PUBLIC_KEY_MULTIBASE_PREFIX: Bytes;
36
+ export declare const BIP340_PUBLIC_KEY_MULTIBASE_PREFIX_HASH: HashHex;
37
+ export declare const BIP340_SECRET_KEY_MULTIBASE_PREFIX: Bytes;
38
+ export declare const BIP340_SECRET_KEY_MULTIBASE_PREFIX_HASH: HashHex;
39
+ export declare const B256: bigint;
40
+ export declare const P: bigint;
41
+ export declare const N: bigint;
42
+ export declare const Gx = 55066263022277343669578718895168534326250603453777594175500187360389116729240n;
43
+ export declare const Gy = 32670510020758816978083085130507043184471273380659243275938904335757337482424n;
44
+ export declare const a = 0n;
45
+ export declare const b = 7n;
46
+ export declare const p: bigint;
47
+ export declare const n: bigint;
48
+ export declare const CURVE: {
49
+ p: bigint;
50
+ n: bigint;
51
+ a: bigint;
52
+ b: bigint;
53
+ Gx: bigint;
54
+ Gy: bigint;
55
+ };
56
+ export declare const W3C_DID_V1 = "https://www.w3.org/ns/did/v1";
57
+ export declare const W3C_DID_V1_1 = "https://www.w3.org/TR/did-1.1";
58
+ export declare const W3C_DATA_INTEGRITY_V1 = "https://w3id.org/security/data-integrity/v1";
59
+ export declare const W3C_DATA_INTEGRITY_V2 = "https://w3id.org/security/data-integrity/v2";
60
+ export declare const W3C_SECURITY_V2 = "https://w3id.org/security/v2";
61
+ export declare const BTC1_METHOD_CONTEXT = "https://btcr2.dev/context/v1";
62
+ export declare const W3C_ZCAP_V1 = "https://w3id.org/zcap/v1";
63
+ export declare const W3C_JSONLD_PATCH_V1 = "https://w3id.org/json-ld-patch/v1";
64
+ export declare const W3C_MULTIKEY_V1 = "https://w3id.org/security/multikey/v1";
65
+ export declare const W3C_DID_RESOLUTION_V1 = "https://w3id.org/did-resolution/v1";
66
+ export declare const CONTEXT_URL_MAP: {
67
+ w3c: {
68
+ did: {
69
+ v1: string;
70
+ v1_1: string;
71
+ };
72
+ didresolution: {
73
+ v1: string;
74
+ };
75
+ security: {
76
+ v2: string;
77
+ };
78
+ dataintegrity: {
79
+ v1: string;
80
+ v2: string;
81
+ };
82
+ zcap: {
83
+ v1: string;
84
+ };
85
+ jsonldpatch: {
86
+ v1: string;
87
+ };
88
+ multikey: {
89
+ v1: string;
90
+ };
91
+ };
92
+ btcr2: {
93
+ diddocument: {
94
+ v1: string;
95
+ };
96
+ method: {
97
+ v1: string;
98
+ };
99
+ };
100
+ };
101
+ export declare const BTC1_DID_DOCUMENT_CONTEXT: string[];
102
+ export declare const BTC1_MULTIKEY_CONTEXT: string[];
103
+ export declare const BTC1_DID_UPDATE_PAYLOAD_CONTEXT: string[];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,oBAAoB,2EAA2E,CAAC;AAC7G,eAAO,MAAM,SAAS,MAAO,CAAC;AAC9B,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,SAAS,UAAa,CAAC;AACpC,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,uBAAuB;;;;;;CAMnC,CAAC;AACF,eAAO,MAAM,yBAAyB;;;;;;CAMrC,CAAC;AACF,eAAO,MAAM,mBAAmB;;CAAoC,CAAC;AACrE,eAAO,MAAM,kBAAkB;;;;;;CAA0B,CAAC;AAC1D,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAG7C,eAAO,MAAM,kCAAkC,EAAE,KAAoC,CAAC;AAEtF,eAAO,MAAM,uCAAuC,EAAE,OAAiF,CAAC;AAExI,eAAO,MAAM,kCAAkC,EAAE,KAAoC,CAAC;AAEtF,eAAO,MAAM,uCAAuC,EAAE,OAAiF,CAAC;AAExI,eAAO,MAAM,IAAI,QAAa,CAAC;AAE/B,eAAO,MAAM,CAAC,QAAsB,CAAC;AAErC,eAAO,MAAM,CAAC,QAA8C,CAAC;AAE7D,eAAO,MAAM,EAAE,iFAAsE,CAAC;AAEtF,eAAO,MAAM,EAAE,iFAAsE,CAAC;AAEtF,eAAO,MAAM,CAAC,KAAK,CAAC;AACpB,eAAO,MAAM,CAAC,KAAK,CAAC;AACpB,eAAO,MAAM,CAAC,QAAI,CAAC;AACnB,eAAO,MAAM,CAAC,QAAI,CAAC;AACnB,eAAO,MAAM,KAAK;;;;;;;CAOjB,CAAC;AAEF,eAAO,MAAM,UAAU,iCAAiC,CAAC;AACzD,eAAO,MAAM,YAAY,kCAAmC,CAAC;AAC7D,eAAO,MAAM,qBAAqB,gDAAgD,CAAC;AACnF,eAAO,MAAM,qBAAqB,gDAAgD,CAAC;AACnF,eAAO,MAAM,eAAe,iCAAiC,CAAC;AAC9D,eAAO,MAAM,mBAAmB,iCAAiC,CAAC;AAClE,eAAO,MAAM,WAAW,6BAA6B,CAAC;AACtD,eAAO,MAAM,mBAAmB,sCAAsC,CAAC;AACvE,eAAO,MAAM,eAAe,0CAA0C,CAAC;AACvE,eAAO,MAAM,qBAAqB,uCAAuC,CAAC;AAC1E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC3B,CAAC;AAEF,eAAO,MAAM,yBAAyB,UAGrC,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAGjC,CAAC;AAEF,eAAO,MAAM,+BAA+B,UAI3C,CAAC"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * An enumeration of possible DID error codes.
3
+ */
4
+ export declare enum Btc1ErrorCode {
5
+ /** The DID supplied does not conform to valid syntax. */
6
+ INVALID_DID = "INVALID_DID",
7
+ /** The supplied method name is not supported by the DID method and/or DID resolver implementation. */
8
+ METHOD_NOT_SUPPORTED = "METHOD_NOT_SUPPORTED",
9
+ /** An unexpected error occurred during the requested DID operation. */
10
+ INTERNAL_ERROR = "INTERNAL_ERROR",
11
+ /** The DID document supplied does not conform to valid syntax. */
12
+ INVALID_DID_DOCUMENT = "INVALID_DID_DOCUMENT",
13
+ /** The DID Update supplied does not conform to valid syntax. */
14
+ INVALID_DID_UPDATE = "INVALID_DID_UPDATE",
15
+ /** The byte length of a DID document does not match the expected value. */
16
+ INVALID_DID_DOCUMENT_LENGTH = "INVALID_DID_DOCUMENT_LENGTH",
17
+ /** The DID URL supplied to the dereferencing function does not conform to valid syntax. */
18
+ INVALID_DID_URL = "INVALID_DID_URL",
19
+ /** The given proof of a previous DID is invalid */
20
+ INVALID_PREVIOUS_DID_PROOF = "INVALID_PREVIOUS_DID_PROOF",
21
+ /** An invalid public key is detected during a DID operation. */
22
+ INVALID_PUBLIC_KEY = "INVALID_PUBLIC_KEY",
23
+ /** An invalid multibase format is detected on the public key during a DID operation. */
24
+ INVALID_PUBLIC_KEY_MULTIBASE = "INVALID_PUBLIC_KEY_MULTIBASE",
25
+ /** The byte length of a public key does not match the expected value. */
26
+ INVALID_PUBLIC_KEY_LENGTH = "INVALID_PUBLIC_KEY_LENGTH",
27
+ /** An invalid public key type was detected during a DID operation. */
28
+ INVALID_PUBLIC_KEY_TYPE = "INVALID_PUBLIC_KEY_TYPE",
29
+ /** Verification of a signature failed during a DID operation. */
30
+ INVALID_SIGNATURE = "INVALID_SIGNATURE",
31
+ /** General: The resource requested was not found. */
32
+ /** DID Resolution: The DID resolver was unable to find the DID document resulting from the resolution request. */
33
+ NOT_FOUND = "NOT_FOUND",
34
+ /**
35
+ * The representation requested via the `accept` input metadata property is not supported by the
36
+ * DID method and/or DID resolver implementation.
37
+ */
38
+ REPRESENTATION_NOT_SUPPORTED = "REPRESENTATION_NOT_SUPPORTED",
39
+ /** The type of a public key is not supported by the DID method and/or DID resolver implementation. */
40
+ UNSUPPORTED_PUBLIC_KEY_TYPE = "UNSUPPORTED_PUBLIC_KEY_TYPE",
41
+ /** The proof verification operation failed. */
42
+ PROOF_VERIFICATION_ERROR = "PROOF_VERIFICATION_ERROR",
43
+ /** The proof generation operation failed. */
44
+ PROOF_GENERATION_ERROR = "PROOF_GENERATION_ERROR",
45
+ /** The proof serialization operation failed. */
46
+ PROOF_SERIALIZATION_ERROR = "PROOF_SERIALIZATION_ERROR",
47
+ /** The proof could not be parsed properly. */
48
+ PROOF_PARSING_ERROR = "PROOF_PARSING_ERROR",
49
+ /** The verification method was formed improperly. */
50
+ VERIFICATION_METHOD_ERROR = "VERIFICATION_METHOD_ERROR",
51
+ /** Something about the DID Update Payload indicates the potential for late publishing. */
52
+ LATE_PUBLISHING_ERROR = "LATE_PUBLISHING_ERROR",
53
+ /** The sidecar data in the DID Update Payload was invalid. */
54
+ INVALID_SIDECAR_DATA = "INVALID_SIDECAR_DATA",
55
+ /** The proof is missing or has a malformed challenge field. */
56
+ INVALID_CHALLENGE_ERROR = "INVALID_CHALLENGE_ERROR",
57
+ /** The proof is missing or has a malformed domain field. */
58
+ INVALID_DOMAIN_ERROR = "INVALID_DOMAIN_ERROR"
59
+ }
60
+ export declare const INVALID_DID: Btc1ErrorCode, METHOD_NOT_SUPPORTED: Btc1ErrorCode, INTERNAL_ERROR: Btc1ErrorCode, INVALID_DID_DOCUMENT: Btc1ErrorCode, INVALID_DID_UPDATE: Btc1ErrorCode, INVALID_DID_DOCUMENT_LENGTH: Btc1ErrorCode, INVALID_DID_URL: Btc1ErrorCode, INVALID_PREVIOUS_DID_PROOF: Btc1ErrorCode, INVALID_PUBLIC_KEY: Btc1ErrorCode, INVALID_PUBLIC_KEY_MULTIBASE: Btc1ErrorCode, INVALID_PUBLIC_KEY_LENGTH: Btc1ErrorCode, INVALID_PUBLIC_KEY_TYPE: Btc1ErrorCode, INVALID_SIGNATURE: Btc1ErrorCode, NOT_FOUND: Btc1ErrorCode, REPRESENTATION_NOT_SUPPORTED: Btc1ErrorCode, UNSUPPORTED_PUBLIC_KEY_TYPE: Btc1ErrorCode, PROOF_VERIFICATION_ERROR: Btc1ErrorCode, PROOF_GENERATION_ERROR: Btc1ErrorCode, PROOF_SERIALIZATION_ERROR: Btc1ErrorCode, PROOF_PARSING_ERROR: Btc1ErrorCode, VERIFICATION_METHOD_ERROR: Btc1ErrorCode, LATE_PUBLISHING_ERROR: Btc1ErrorCode, INVALID_SIDECAR_DATA: Btc1ErrorCode, INVALID_CHALLENGE_ERROR: Btc1ErrorCode, INVALID_DOMAIN_ERROR: Btc1ErrorCode;
61
+ export type ErrorOptions = {
62
+ type?: string;
63
+ name?: string;
64
+ data?: any;
65
+ };
66
+ export declare class DidBtc1Error extends Error {
67
+ name: string;
68
+ type: string;
69
+ data?: Record<string, any>;
70
+ constructor(message: string, options?: ErrorOptions);
71
+ }
72
+ export declare class Btc1Error extends DidBtc1Error {
73
+ constructor(message: string, type: string, data?: Record<string, any>);
74
+ }
75
+ export declare class Btc1ReadError extends DidBtc1Error {
76
+ constructor(message: string, type?: string, data?: Record<string, any>);
77
+ }
78
+ export declare class Btc1KeyManagerError extends DidBtc1Error {
79
+ constructor(message: string, type?: string, data?: Record<string, any>);
80
+ }
81
+ export declare class DidDocumentError extends DidBtc1Error {
82
+ constructor(message: string, type?: string, data?: Record<string, any>);
83
+ }
84
+ export declare class CryptosuiteError extends DidBtc1Error {
85
+ constructor(message: string, type?: string, data?: Record<string, any>);
86
+ }
87
+ export declare class KeyPairError extends DidBtc1Error {
88
+ constructor(message: string, type?: string, data?: Record<string, any>);
89
+ }
90
+ export declare class SecretKeyError extends DidBtc1Error {
91
+ constructor(message: string, type?: string, data?: Record<string, any>);
92
+ }
93
+ export declare class PublicKeyError extends DidBtc1Error {
94
+ constructor(message: string, type?: string, data?: Record<string, any>);
95
+ }
96
+ export declare class MultikeyError extends DidBtc1Error {
97
+ constructor(message: string, type?: string, data?: Record<string, any>);
98
+ }
99
+ export declare class ProofError extends DidBtc1Error {
100
+ constructor(message: string, type?: string, data?: Record<string, any>);
101
+ }
102
+ export declare class SingletonBeaconError extends DidBtc1Error {
103
+ constructor(message: string, type?: string, data?: Record<string, any>);
104
+ }
105
+ export declare class CIDAggregateBeaconError extends DidBtc1Error {
106
+ constructor(message: string, type?: string, data?: Record<string, any>);
107
+ }
108
+ export declare class SMTAggregateBeaconError extends DidBtc1Error {
109
+ constructor(message: string, type?: string, data?: Record<string, any>);
110
+ }
111
+ export declare class CanonicalizationError extends DidBtc1Error {
112
+ constructor(message: string, type?: string, data?: Record<string, any>);
113
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import { Canonicalization } from './canonicalization.js';
2
+ import { Patch } from './patch.js';
3
+ import { JSONObject, Maybe, Prototyped, Unprototyped } from './types.js';
4
+ /** Extend the global namespace */
5
+ declare global {
6
+ /** Extend the global Array interface */
7
+ interface Array<T> {
8
+ /** Get the last element of the array */
9
+ last(): T | undefined;
10
+ /** Get the last element of the array */
11
+ [-1](): T | undefined;
12
+ /** Convert Array to Uint8Array */
13
+ toUint8Array(): Uint8Array;
14
+ }
15
+ /** Extend the global Buffer interface */
16
+ interface BufferConstructor {
17
+ /** Convert a hex string to a Buffer */
18
+ fromHex(hex: string): Buffer<ArrayBuffer>;
19
+ /** Convert a Uint8Array to a hex string */
20
+ toHex(ui8: Uint8Array): string;
21
+ /** Convert Buffer to Uint8Array */
22
+ toUint8Array(buf: Buffer<ArrayBuffer>): Uint8Array;
23
+ }
24
+ /** Extend the global Date interface */
25
+ interface Date {
26
+ /** Get the UTC date and time in ISO 8601 format */
27
+ getUTCDateTime(): string;
28
+ /** Convert date to Unix timestamp */
29
+ toUnix(): number;
30
+ }
31
+ /** Extend global JSON interface */
32
+ interface JSON {
33
+ /** Check if an object is a JSON object */
34
+ is(unknown: Maybe<JSONObject>): boolean;
35
+ /** Check if JSON string can be parsed to JSON object */
36
+ parsable(unknown: Maybe<string>): boolean;
37
+ /** Check if JSON object can be converted to JSON string */
38
+ stringifiable(unknown: Maybe<JSONObject>): boolean;
39
+ /** Check if JSON object is unprototyped [Object: null prototype] {} */
40
+ unprototyped(unknown: Maybe<Prototyped>): boolean;
41
+ /** Normalize unprototyped JSON object to prototyped JSON object */
42
+ normalize(unknown: Maybe<Unprototyped>): Prototyped;
43
+ /** Shallow copy of JSON object */
44
+ copy(o: JSONObject): JSONObject;
45
+ /** Clone (deep copy) of JSON object */
46
+ clone(o: JSONObject): JSONObject;
47
+ /** Deep copy of JSON object with replacement */
48
+ cloneReplace(o: JSONObject, e: RegExp, r: string): JSONObject;
49
+ /** Check if two objects are strictly equal */
50
+ equal(a: any, b: any): boolean;
51
+ /** Check if two objects are deeply equal */
52
+ deepEqual(a: any, b: any): boolean;
53
+ /** Delete key/value pair(s) from a JSON object */
54
+ delete(o: JSONObject, keys: Array<string | number | symbol>): JSONObject;
55
+ /** Sanitize a JSON object by removing any keys whose value is undefined */
56
+ sanitize(o: JSONObject): JSONObject;
57
+ /** Canonicalization object */
58
+ canonicalization: Canonicalization;
59
+ /** JSON Patch (IETF RFC 6902) */
60
+ patch: Patch;
61
+ }
62
+ /** Extend global Set interface */
63
+ interface Set<T> {
64
+ /** Get the difference between two sets */
65
+ difference(other: Set<T>): Set<T>;
66
+ }
67
+ interface String {
68
+ /** Convert to SCREAMING_SNAKE_CASE */
69
+ toSnakeScream(): string;
70
+ /** Convert to snake_case */
71
+ toSnake(): string;
72
+ /** Remove the last character from a string */
73
+ chop(): string;
74
+ /** Replace the end of a string */
75
+ replaceEnd(e: string | RegExp, r?: string): string;
76
+ }
77
+ /** Extend the global Uint8Array interface */
78
+ interface Uint8Array {
79
+ toArray(): number[];
80
+ }
81
+ }
82
+ export default global;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exts.d.ts","sourceRoot":"","sources":["../../src/exts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import './exts.js';
2
+ export * from './canonicalization.js';
3
+ export * from './constants.js';
4
+ export * from './errors.js';
5
+ export * from './interfaces.js';
6
+ export * from './logger.js';
7
+ export * from './patch.js';
8
+ export * from './types.js';
9
+ export * from './exts.js';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAC;AAEnB,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,YAAY,CAAC;AAE3B,cAAc,WAAW,CAAC"}