@originals/sdk 1.4.3 → 1.4.5

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 (222) hide show
  1. package/dist/adapters/FeeOracleMock.d.ts +6 -0
  2. package/dist/adapters/FeeOracleMock.js +8 -0
  3. package/dist/adapters/index.d.ts +4 -0
  4. package/dist/adapters/index.js +4 -0
  5. package/dist/adapters/providers/OrdHttpProvider.d.ts +56 -0
  6. package/dist/adapters/providers/OrdHttpProvider.js +110 -0
  7. package/dist/adapters/providers/OrdMockProvider.d.ts +70 -0
  8. package/dist/adapters/providers/OrdMockProvider.js +75 -0
  9. package/dist/adapters/types.d.ts +71 -0
  10. package/dist/adapters/types.js +1 -0
  11. package/dist/bitcoin/BitcoinManager.d.ts +15 -0
  12. package/dist/bitcoin/BitcoinManager.js +262 -0
  13. package/dist/bitcoin/BroadcastClient.d.ts +30 -0
  14. package/dist/bitcoin/BroadcastClient.js +35 -0
  15. package/dist/bitcoin/OrdinalsClient.d.ts +21 -0
  16. package/dist/bitcoin/OrdinalsClient.js +105 -0
  17. package/dist/bitcoin/PSBTBuilder.d.ts +24 -0
  18. package/dist/bitcoin/PSBTBuilder.js +80 -0
  19. package/dist/bitcoin/fee-calculation.d.ts +14 -0
  20. package/dist/bitcoin/fee-calculation.js +31 -0
  21. package/dist/bitcoin/providers/OrdNodeProvider.d.ts +38 -0
  22. package/dist/bitcoin/providers/OrdNodeProvider.js +67 -0
  23. package/dist/bitcoin/providers/OrdinalsProvider.d.ts +33 -0
  24. package/dist/bitcoin/providers/OrdinalsProvider.js +50 -0
  25. package/dist/bitcoin/providers/types.d.ts +63 -0
  26. package/dist/bitcoin/providers/types.js +1 -0
  27. package/dist/bitcoin/transactions/commit.d.ts +89 -0
  28. package/dist/bitcoin/transactions/commit.js +311 -0
  29. package/dist/bitcoin/transactions/index.d.ts +7 -0
  30. package/dist/bitcoin/transactions/index.js +8 -0
  31. package/dist/bitcoin/transfer.d.ts +9 -0
  32. package/dist/bitcoin/transfer.js +26 -0
  33. package/dist/bitcoin/utxo-selection.d.ts +78 -0
  34. package/dist/bitcoin/utxo-selection.js +237 -0
  35. package/dist/bitcoin/utxo.d.ts +26 -0
  36. package/dist/bitcoin/utxo.js +78 -0
  37. package/dist/contexts/credentials-v1.json +195 -0
  38. package/dist/contexts/credentials-v2-examples.json +5 -0
  39. package/dist/contexts/credentials-v2.json +301 -0
  40. package/dist/contexts/credentials.json +195 -0
  41. package/dist/contexts/data-integrity-v2.json +81 -0
  42. package/dist/contexts/dids.json +57 -0
  43. package/dist/contexts/ed255192020.json +93 -0
  44. package/dist/contexts/ordinals-plus.json +23 -0
  45. package/dist/contexts/originals.json +22 -0
  46. package/dist/core/OriginalsSDK.d.ts +158 -0
  47. package/dist/core/OriginalsSDK.js +274 -0
  48. package/dist/crypto/Multikey.d.ts +30 -0
  49. package/dist/crypto/Multikey.js +149 -0
  50. package/dist/crypto/Signer.d.ts +21 -0
  51. package/dist/crypto/Signer.js +196 -0
  52. package/dist/crypto/noble-init.d.ts +18 -0
  53. package/dist/crypto/noble-init.js +106 -0
  54. package/dist/did/BtcoDidResolver.d.ts +57 -0
  55. package/dist/did/BtcoDidResolver.js +166 -0
  56. package/dist/did/DIDManager.d.ts +101 -0
  57. package/dist/did/DIDManager.js +493 -0
  58. package/dist/did/Ed25519Verifier.d.ts +30 -0
  59. package/dist/did/Ed25519Verifier.js +59 -0
  60. package/dist/did/KeyManager.d.ts +17 -0
  61. package/dist/did/KeyManager.js +207 -0
  62. package/dist/did/WebVHManager.d.ts +100 -0
  63. package/dist/did/WebVHManager.js +312 -0
  64. package/dist/did/createBtcoDidDocument.d.ts +10 -0
  65. package/dist/did/createBtcoDidDocument.js +42 -0
  66. package/dist/did/providers/OrdinalsClientProviderAdapter.d.ts +23 -0
  67. package/dist/did/providers/OrdinalsClientProviderAdapter.js +51 -0
  68. package/dist/events/EventEmitter.d.ts +115 -0
  69. package/dist/events/EventEmitter.js +198 -0
  70. package/dist/events/index.d.ts +7 -0
  71. package/dist/events/index.js +6 -0
  72. package/dist/events/types.d.ts +286 -0
  73. package/dist/events/types.js +9 -0
  74. package/dist/examples/basic-usage.d.ts +3 -0
  75. package/dist/examples/basic-usage.js +62 -0
  76. package/dist/examples/create-module-original.d.ts +32 -0
  77. package/dist/examples/create-module-original.js +376 -0
  78. package/dist/examples/full-lifecycle-flow.d.ts +56 -0
  79. package/dist/examples/full-lifecycle-flow.js +419 -0
  80. package/dist/examples/run.d.ts +12 -0
  81. package/dist/examples/run.js +51 -0
  82. package/dist/index.d.ts +43 -0
  83. package/dist/index.js +52 -0
  84. package/dist/kinds/KindRegistry.d.ts +76 -0
  85. package/dist/kinds/KindRegistry.js +216 -0
  86. package/dist/kinds/index.d.ts +33 -0
  87. package/dist/kinds/index.js +36 -0
  88. package/dist/kinds/types.d.ts +363 -0
  89. package/dist/kinds/types.js +25 -0
  90. package/dist/kinds/validators/AgentValidator.d.ts +14 -0
  91. package/dist/kinds/validators/AgentValidator.js +155 -0
  92. package/dist/kinds/validators/AppValidator.d.ts +14 -0
  93. package/dist/kinds/validators/AppValidator.js +135 -0
  94. package/dist/kinds/validators/DatasetValidator.d.ts +14 -0
  95. package/dist/kinds/validators/DatasetValidator.js +148 -0
  96. package/dist/kinds/validators/DocumentValidator.d.ts +14 -0
  97. package/dist/kinds/validators/DocumentValidator.js +180 -0
  98. package/dist/kinds/validators/MediaValidator.d.ts +14 -0
  99. package/dist/kinds/validators/MediaValidator.js +172 -0
  100. package/dist/kinds/validators/ModuleValidator.d.ts +14 -0
  101. package/dist/kinds/validators/ModuleValidator.js +140 -0
  102. package/dist/kinds/validators/base.d.ts +96 -0
  103. package/dist/kinds/validators/base.js +218 -0
  104. package/dist/kinds/validators/index.d.ts +10 -0
  105. package/dist/kinds/validators/index.js +10 -0
  106. package/dist/lifecycle/BatchOperations.d.ts +147 -0
  107. package/dist/lifecycle/BatchOperations.js +251 -0
  108. package/dist/lifecycle/LifecycleManager.d.ts +362 -0
  109. package/dist/lifecycle/LifecycleManager.js +1692 -0
  110. package/dist/lifecycle/OriginalsAsset.d.ts +164 -0
  111. package/dist/lifecycle/OriginalsAsset.js +380 -0
  112. package/dist/lifecycle/ProvenanceQuery.d.ts +126 -0
  113. package/dist/lifecycle/ProvenanceQuery.js +220 -0
  114. package/dist/lifecycle/ResourceVersioning.d.ts +73 -0
  115. package/dist/lifecycle/ResourceVersioning.js +127 -0
  116. package/dist/migration/MigrationManager.d.ts +86 -0
  117. package/dist/migration/MigrationManager.js +412 -0
  118. package/dist/migration/audit/AuditLogger.d.ts +51 -0
  119. package/dist/migration/audit/AuditLogger.js +156 -0
  120. package/dist/migration/checkpoint/CheckpointManager.d.ts +31 -0
  121. package/dist/migration/checkpoint/CheckpointManager.js +96 -0
  122. package/dist/migration/checkpoint/CheckpointStorage.d.ts +26 -0
  123. package/dist/migration/checkpoint/CheckpointStorage.js +89 -0
  124. package/dist/migration/index.d.ts +22 -0
  125. package/dist/migration/index.js +27 -0
  126. package/dist/migration/operations/BaseMigration.d.ts +48 -0
  127. package/dist/migration/operations/BaseMigration.js +83 -0
  128. package/dist/migration/operations/PeerToBtcoMigration.d.ts +25 -0
  129. package/dist/migration/operations/PeerToBtcoMigration.js +67 -0
  130. package/dist/migration/operations/PeerToWebvhMigration.d.ts +19 -0
  131. package/dist/migration/operations/PeerToWebvhMigration.js +46 -0
  132. package/dist/migration/operations/WebvhToBtcoMigration.d.ts +25 -0
  133. package/dist/migration/operations/WebvhToBtcoMigration.js +67 -0
  134. package/dist/migration/rollback/RollbackManager.d.ts +29 -0
  135. package/dist/migration/rollback/RollbackManager.js +146 -0
  136. package/dist/migration/state/StateMachine.d.ts +25 -0
  137. package/dist/migration/state/StateMachine.js +76 -0
  138. package/dist/migration/state/StateTracker.d.ts +36 -0
  139. package/dist/migration/state/StateTracker.js +123 -0
  140. package/dist/migration/types.d.ts +306 -0
  141. package/dist/migration/types.js +33 -0
  142. package/dist/migration/validation/BitcoinValidator.d.ts +13 -0
  143. package/dist/migration/validation/BitcoinValidator.js +83 -0
  144. package/dist/migration/validation/CredentialValidator.d.ts +13 -0
  145. package/dist/migration/validation/CredentialValidator.js +46 -0
  146. package/dist/migration/validation/DIDCompatibilityValidator.d.ts +16 -0
  147. package/dist/migration/validation/DIDCompatibilityValidator.js +127 -0
  148. package/dist/migration/validation/LifecycleValidator.d.ts +10 -0
  149. package/dist/migration/validation/LifecycleValidator.js +52 -0
  150. package/dist/migration/validation/StorageValidator.d.ts +10 -0
  151. package/dist/migration/validation/StorageValidator.js +65 -0
  152. package/dist/migration/validation/ValidationPipeline.d.ts +29 -0
  153. package/dist/migration/validation/ValidationPipeline.js +180 -0
  154. package/dist/resources/ResourceManager.d.ts +231 -0
  155. package/dist/resources/ResourceManager.js +573 -0
  156. package/dist/resources/index.d.ts +11 -0
  157. package/dist/resources/index.js +10 -0
  158. package/dist/resources/types.d.ts +93 -0
  159. package/dist/resources/types.js +80 -0
  160. package/dist/storage/LocalStorageAdapter.d.ts +11 -0
  161. package/dist/storage/LocalStorageAdapter.js +53 -0
  162. package/dist/storage/MemoryStorageAdapter.d.ts +6 -0
  163. package/dist/storage/MemoryStorageAdapter.js +21 -0
  164. package/dist/storage/StorageAdapter.d.ts +16 -0
  165. package/dist/storage/StorageAdapter.js +1 -0
  166. package/dist/storage/index.d.ts +2 -0
  167. package/dist/storage/index.js +2 -0
  168. package/dist/types/bitcoin.d.ts +84 -0
  169. package/dist/types/bitcoin.js +1 -0
  170. package/dist/types/common.d.ts +82 -0
  171. package/dist/types/common.js +1 -0
  172. package/dist/types/credentials.d.ts +75 -0
  173. package/dist/types/credentials.js +1 -0
  174. package/dist/types/did.d.ts +26 -0
  175. package/dist/types/did.js +1 -0
  176. package/dist/types/index.d.ts +5 -0
  177. package/dist/types/index.js +5 -0
  178. package/dist/types/network.d.ts +78 -0
  179. package/dist/types/network.js +145 -0
  180. package/dist/utils/EventLogger.d.ts +71 -0
  181. package/dist/utils/EventLogger.js +232 -0
  182. package/dist/utils/Logger.d.ts +106 -0
  183. package/dist/utils/Logger.js +257 -0
  184. package/dist/utils/MetricsCollector.d.ts +110 -0
  185. package/dist/utils/MetricsCollector.js +264 -0
  186. package/dist/utils/bitcoin-address.d.ts +38 -0
  187. package/dist/utils/bitcoin-address.js +113 -0
  188. package/dist/utils/cbor.d.ts +2 -0
  189. package/dist/utils/cbor.js +9 -0
  190. package/dist/utils/encoding.d.ts +37 -0
  191. package/dist/utils/encoding.js +120 -0
  192. package/dist/utils/hash.d.ts +1 -0
  193. package/dist/utils/hash.js +5 -0
  194. package/dist/utils/retry.d.ts +10 -0
  195. package/dist/utils/retry.js +35 -0
  196. package/dist/utils/satoshi-validation.d.ts +60 -0
  197. package/dist/utils/satoshi-validation.js +156 -0
  198. package/dist/utils/serialization.d.ts +14 -0
  199. package/dist/utils/serialization.js +76 -0
  200. package/dist/utils/telemetry.d.ts +17 -0
  201. package/dist/utils/telemetry.js +24 -0
  202. package/dist/utils/validation.d.ts +5 -0
  203. package/dist/utils/validation.js +98 -0
  204. package/dist/vc/CredentialManager.d.ts +329 -0
  205. package/dist/vc/CredentialManager.js +615 -0
  206. package/dist/vc/Issuer.d.ts +27 -0
  207. package/dist/vc/Issuer.js +70 -0
  208. package/dist/vc/Verifier.d.ts +16 -0
  209. package/dist/vc/Verifier.js +50 -0
  210. package/dist/vc/cryptosuites/bbs.d.ts +44 -0
  211. package/dist/vc/cryptosuites/bbs.js +213 -0
  212. package/dist/vc/cryptosuites/bbsSimple.d.ts +9 -0
  213. package/dist/vc/cryptosuites/bbsSimple.js +12 -0
  214. package/dist/vc/cryptosuites/eddsa.d.ts +30 -0
  215. package/dist/vc/cryptosuites/eddsa.js +81 -0
  216. package/dist/vc/documentLoader.d.ts +16 -0
  217. package/dist/vc/documentLoader.js +59 -0
  218. package/dist/vc/proofs/data-integrity.d.ts +21 -0
  219. package/dist/vc/proofs/data-integrity.js +15 -0
  220. package/dist/vc/utils/jsonld.d.ts +2 -0
  221. package/dist/vc/utils/jsonld.js +15 -0
  222. package/package.json +2 -1
@@ -0,0 +1,166 @@
1
+ export class BtcoDidResolver {
2
+ constructor(options = {}) {
3
+ this.options = options;
4
+ }
5
+ parseBtcoDid(did) {
6
+ const regex = /^did:btco(?::(reg|sig))?:([0-9]+)(?:\/(.+))?$/;
7
+ const match = did.match(regex);
8
+ if (!match)
9
+ return null;
10
+ const [, networkSuffix, satNumber, path] = match;
11
+ const network = networkSuffix || 'mainnet';
12
+ return { satNumber, path, network };
13
+ }
14
+ getDidPrefix(network) {
15
+ switch (network) {
16
+ case 'reg':
17
+ case 'regtest':
18
+ return 'did:btco:reg';
19
+ case 'sig':
20
+ case 'signet':
21
+ return 'did:btco:sig';
22
+ default:
23
+ return 'did:btco';
24
+ }
25
+ }
26
+ async resolve(did, options = {}) {
27
+ const parsed = this.parseBtcoDid(did);
28
+ if (!parsed) {
29
+ return this.createErrorResult('invalidDid', `Invalid BTCO DID format: ${did}`);
30
+ }
31
+ const { satNumber, network } = parsed;
32
+ const provider = options.provider || this.options.provider;
33
+ if (!provider) {
34
+ return this.createErrorResult('noProvider', 'No provider supplied');
35
+ }
36
+ let inscriptionIds = [];
37
+ try {
38
+ const satInfo = await provider.getSatInfo(satNumber);
39
+ inscriptionIds = satInfo?.inscription_ids || [];
40
+ }
41
+ catch (e) {
42
+ return this.createErrorResult('notFound', `Failed to retrieve inscriptions for satoshi ${satNumber}: ${e?.message || String(e)}`);
43
+ }
44
+ if (inscriptionIds.length === 0) {
45
+ return this.createErrorResult('notFound', `No inscriptions found on satoshi ${satNumber}`);
46
+ }
47
+ const expectedDid = `${this.getDidPrefix(network)}:${satNumber}`;
48
+ const didPattern = new RegExp(`^(?:BTCO DID: )?(${expectedDid.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')})`, 'i');
49
+ const inscriptionDataList = [];
50
+ for (const inscriptionId of inscriptionIds) {
51
+ const inscriptionData = {
52
+ inscriptionId,
53
+ content: '',
54
+ metadata: null
55
+ };
56
+ try {
57
+ const inscription = await provider.resolveInscription(inscriptionId);
58
+ if (!inscription) {
59
+ inscriptionData.error = `Inscription ${inscriptionId} not found`;
60
+ inscriptionDataList.push(inscriptionData);
61
+ continue;
62
+ }
63
+ inscriptionData.contentUrl = inscription.content_url;
64
+ inscriptionData.contentType = inscription.content_type;
65
+ try {
66
+ // Use configurable fetch function or default to global fetch
67
+ const fetchFn = options.fetchFn || this.options.fetchFn || fetch;
68
+ const timeout = options.timeout || this.options.timeout || 10000; // 10 second default
69
+ // Create abort controller for timeout
70
+ const controller = new AbortController();
71
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
72
+ try {
73
+ const response = await fetchFn(inscription.content_url);
74
+ clearTimeout(timeoutId);
75
+ if (!response.ok) {
76
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
77
+ }
78
+ inscriptionData.content = await response.text();
79
+ }
80
+ finally {
81
+ clearTimeout(timeoutId);
82
+ }
83
+ }
84
+ catch (err) {
85
+ inscriptionData.error = `Failed to fetch content: ${err?.message || String(err)}`;
86
+ inscriptionDataList.push(inscriptionData);
87
+ continue;
88
+ }
89
+ try {
90
+ inscriptionData.metadata = await provider.getMetadata(inscriptionId);
91
+ }
92
+ catch (err) {
93
+ inscriptionData.metadata = null;
94
+ }
95
+ inscriptionData.isValidDid = didPattern.test(inscriptionData.content);
96
+ if (inscriptionData.isValidDid && inscriptionData.metadata) {
97
+ const didDocument = inscriptionData.metadata;
98
+ if (this.isValidDidDocument(didDocument) && didDocument.id === expectedDid) {
99
+ inscriptionData.didDocument = didDocument;
100
+ }
101
+ else {
102
+ inscriptionData.error = 'Invalid DID document structure or mismatched ID';
103
+ }
104
+ }
105
+ if (inscriptionData.content.includes('🔥')) {
106
+ inscriptionData.didDocument = null;
107
+ if (!inscriptionData.error) {
108
+ inscriptionData.error = 'DID has been deactivated';
109
+ }
110
+ }
111
+ }
112
+ catch (err) {
113
+ inscriptionData.error = `Failed to process inscription: ${err?.message || String(err)}`;
114
+ }
115
+ inscriptionDataList.push(inscriptionData);
116
+ }
117
+ let latestValidDidDocument = null;
118
+ let latestInscriptionId;
119
+ for (let i = inscriptionDataList.length - 1; i >= 0; i--) {
120
+ const data = inscriptionDataList[i];
121
+ if (data.didDocument && !data.error) {
122
+ latestValidDidDocument = data.didDocument;
123
+ latestInscriptionId = data.inscriptionId;
124
+ break;
125
+ }
126
+ }
127
+ return {
128
+ didDocument: latestValidDidDocument,
129
+ inscriptions: inscriptionDataList,
130
+ resolutionMetadata: {
131
+ inscriptionId: latestInscriptionId,
132
+ satNumber,
133
+ network,
134
+ totalInscriptions: inscriptionDataList.length
135
+ },
136
+ didDocumentMetadata: {
137
+ inscriptionId: latestInscriptionId,
138
+ network
139
+ }
140
+ };
141
+ }
142
+ isValidDidDocument(doc) {
143
+ if (!doc || typeof doc !== 'object')
144
+ return false;
145
+ if (!doc.id || typeof doc.id !== 'string')
146
+ return false;
147
+ if (!doc['@context'])
148
+ return false;
149
+ const contexts = Array.isArray(doc['@context']) ? doc['@context'] : [doc['@context']];
150
+ if (!contexts.includes('https://www.w3.org/ns/did/v1') && !contexts.includes('https://w3id.org/did/v1')) {
151
+ return false;
152
+ }
153
+ if (doc.verificationMethod && !Array.isArray(doc.verificationMethod))
154
+ return false;
155
+ if (doc.authentication && !Array.isArray(doc.authentication))
156
+ return false;
157
+ return true;
158
+ }
159
+ createErrorResult(error, message) {
160
+ return {
161
+ didDocument: null,
162
+ resolutionMetadata: { error, message },
163
+ didDocumentMetadata: {}
164
+ };
165
+ }
166
+ }
@@ -0,0 +1,101 @@
1
+ import { DIDDocument, OriginalsConfig, AssetResource, KeyPair, ExternalSigner, ExternalVerifier } from '../types';
2
+ import { createBtcoDidDocument } from './createBtcoDidDocument';
3
+ export declare class DIDManager {
4
+ private config;
5
+ constructor(config: OriginalsConfig);
6
+ createDIDPeer(resources: AssetResource[], returnKeyPair?: false): Promise<DIDDocument>;
7
+ createDIDPeer(resources: AssetResource[], returnKeyPair: true): Promise<{
8
+ didDocument: DIDDocument;
9
+ keyPair: {
10
+ privateKey: string;
11
+ publicKey: string;
12
+ };
13
+ }>;
14
+ migrateToDIDWebVH(didDoc: DIDDocument, domain?: string): Promise<DIDDocument>;
15
+ migrateToDIDBTCO(didDoc: DIDDocument, satoshi: string): Promise<DIDDocument>;
16
+ resolveDID(did: string): Promise<DIDDocument | null>;
17
+ validateDIDDocument(didDoc: DIDDocument): boolean;
18
+ private getLayerFromDID;
19
+ createBtcoDidDocument(satNumber: number | string, network: 'mainnet' | 'regtest' | 'signet', options: Parameters<typeof createBtcoDidDocument>[2]): DIDDocument;
20
+ /**
21
+ * Creates a new did:webvh DID with proper cryptographic signing
22
+ * @param options - Creation options including domain and optional key pair or external signer
23
+ * @returns The created DID, document, log, and key pair (if generated)
24
+ */
25
+ createDIDWebVH(options: CreateWebVHOptions): Promise<CreateWebVHResult>;
26
+ /**
27
+ * Updates a DID:WebVH document
28
+ * @param options - Update options
29
+ * @returns Updated DID document and log
30
+ */
31
+ updateDIDWebVH(options: {
32
+ did: string;
33
+ currentLog: DIDLog;
34
+ updates: Partial<DIDDocument>;
35
+ signer: ExternalSigner | {
36
+ privateKey: string;
37
+ publicKey: string;
38
+ };
39
+ verifier?: ExternalVerifier;
40
+ outputDir?: string;
41
+ }): Promise<{
42
+ didDocument: DIDDocument;
43
+ log: DIDLog;
44
+ logPath?: string;
45
+ }>;
46
+ /**
47
+ * Saves the DID log to the appropriate did.jsonl path
48
+ * @param did - The DID identifier
49
+ * @param log - The DID log to save
50
+ * @param baseDir - Base directory for saving (e.g., public/.well-known)
51
+ * @returns The full path where the log was saved
52
+ */
53
+ saveDIDLog(did: string, log: DIDLog, baseDir: string): Promise<string>;
54
+ /**
55
+ * Loads a DID log from a did.jsonl file
56
+ * @param logPath - Path to the did.jsonl file
57
+ * @returns The loaded DID log
58
+ */
59
+ loadDIDLog(logPath: string): Promise<DIDLog>;
60
+ /**
61
+ * Validates a path segment to prevent directory traversal attacks
62
+ * @param segment - Path segment to validate
63
+ * @returns true if valid, false otherwise
64
+ */
65
+ private isValidPathSegment;
66
+ }
67
+ interface WebVHVerificationMethod {
68
+ id?: string;
69
+ type: string;
70
+ controller?: string;
71
+ publicKeyMultibase: string;
72
+ secretKeyMultibase?: string;
73
+ purpose?: 'authentication' | 'assertionMethod' | 'keyAgreement' | 'capabilityInvocation' | 'capabilityDelegation';
74
+ }
75
+ interface DIDLogEntry {
76
+ versionId: string;
77
+ versionTime: string;
78
+ parameters: Record<string, unknown>;
79
+ state: Record<string, unknown>;
80
+ proof?: Record<string, unknown>[];
81
+ }
82
+ type DIDLog = DIDLogEntry[];
83
+ export interface CreateWebVHOptions {
84
+ domain?: string;
85
+ keyPair?: KeyPair;
86
+ paths?: string[];
87
+ portable?: boolean;
88
+ outputDir?: string;
89
+ externalSigner?: ExternalSigner;
90
+ externalVerifier?: ExternalVerifier;
91
+ verificationMethods?: WebVHVerificationMethod[];
92
+ updateKeys?: string[];
93
+ }
94
+ export interface CreateWebVHResult {
95
+ did: string;
96
+ didDocument: DIDDocument;
97
+ log: DIDLog;
98
+ keyPair: KeyPair;
99
+ logPath?: string;
100
+ }
101
+ export {};