@originals/sdk 1.8.2 → 1.8.3

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 (144) hide show
  1. package/package.json +5 -6
  2. package/src/adapters/FeeOracleMock.ts +0 -9
  3. package/src/adapters/index.ts +0 -5
  4. package/src/adapters/providers/OrdHttpProvider.ts +0 -126
  5. package/src/adapters/providers/OrdMockProvider.ts +0 -101
  6. package/src/adapters/types.ts +0 -66
  7. package/src/bitcoin/BitcoinManager.ts +0 -329
  8. package/src/bitcoin/BroadcastClient.ts +0 -54
  9. package/src/bitcoin/OrdinalsClient.ts +0 -120
  10. package/src/bitcoin/PSBTBuilder.ts +0 -106
  11. package/src/bitcoin/fee-calculation.ts +0 -38
  12. package/src/bitcoin/providers/OrdNodeProvider.ts +0 -92
  13. package/src/bitcoin/providers/OrdinalsProvider.ts +0 -56
  14. package/src/bitcoin/providers/types.ts +0 -59
  15. package/src/bitcoin/transactions/commit.ts +0 -465
  16. package/src/bitcoin/transactions/index.ts +0 -13
  17. package/src/bitcoin/transfer.ts +0 -43
  18. package/src/bitcoin/utxo-selection.ts +0 -322
  19. package/src/bitcoin/utxo.ts +0 -113
  20. package/src/cel/ExternalReferenceManager.ts +0 -87
  21. package/src/cel/OriginalsCel.ts +0 -460
  22. package/src/cel/algorithms/createEventLog.ts +0 -68
  23. package/src/cel/algorithms/deactivateEventLog.ts +0 -109
  24. package/src/cel/algorithms/index.ts +0 -11
  25. package/src/cel/algorithms/updateEventLog.ts +0 -99
  26. package/src/cel/algorithms/verifyEventLog.ts +0 -306
  27. package/src/cel/algorithms/witnessEvent.ts +0 -87
  28. package/src/cel/cli/create.ts +0 -330
  29. package/src/cel/cli/index.ts +0 -383
  30. package/src/cel/cli/inspect.ts +0 -549
  31. package/src/cel/cli/migrate.ts +0 -473
  32. package/src/cel/cli/verify.ts +0 -249
  33. package/src/cel/hash.ts +0 -71
  34. package/src/cel/index.ts +0 -16
  35. package/src/cel/layers/BtcoCelManager.ts +0 -408
  36. package/src/cel/layers/PeerCelManager.ts +0 -371
  37. package/src/cel/layers/WebVHCelManager.ts +0 -361
  38. package/src/cel/layers/index.ts +0 -27
  39. package/src/cel/serialization/cbor.ts +0 -189
  40. package/src/cel/serialization/index.ts +0 -10
  41. package/src/cel/serialization/json.ts +0 -209
  42. package/src/cel/types.ts +0 -160
  43. package/src/cel/witnesses/BitcoinWitness.ts +0 -184
  44. package/src/cel/witnesses/HttpWitness.ts +0 -241
  45. package/src/cel/witnesses/WitnessService.ts +0 -51
  46. package/src/cel/witnesses/index.ts +0 -11
  47. package/src/contexts/credentials-v1.json +0 -237
  48. package/src/contexts/credentials-v2-examples.json +0 -5
  49. package/src/contexts/credentials-v2.json +0 -340
  50. package/src/contexts/credentials.json +0 -237
  51. package/src/contexts/data-integrity-v2.json +0 -81
  52. package/src/contexts/dids.json +0 -58
  53. package/src/contexts/ed255192020.json +0 -93
  54. package/src/contexts/ordinals-plus.json +0 -23
  55. package/src/contexts/originals.json +0 -22
  56. package/src/core/OriginalsSDK.ts +0 -420
  57. package/src/crypto/Multikey.ts +0 -194
  58. package/src/crypto/Signer.ts +0 -262
  59. package/src/crypto/noble-init.ts +0 -138
  60. package/src/did/BtcoDidResolver.ts +0 -231
  61. package/src/did/DIDManager.ts +0 -705
  62. package/src/did/Ed25519Verifier.ts +0 -68
  63. package/src/did/KeyManager.ts +0 -239
  64. package/src/did/WebVHManager.ts +0 -499
  65. package/src/did/createBtcoDidDocument.ts +0 -60
  66. package/src/did/providers/OrdinalsClientProviderAdapter.ts +0 -68
  67. package/src/events/EventEmitter.ts +0 -222
  68. package/src/events/index.ts +0 -19
  69. package/src/events/types.ts +0 -331
  70. package/src/examples/basic-usage.ts +0 -78
  71. package/src/examples/create-module-original.ts +0 -435
  72. package/src/examples/full-lifecycle-flow.ts +0 -514
  73. package/src/examples/run.ts +0 -60
  74. package/src/index.ts +0 -204
  75. package/src/kinds/KindRegistry.ts +0 -320
  76. package/src/kinds/index.ts +0 -74
  77. package/src/kinds/types.ts +0 -470
  78. package/src/kinds/validators/AgentValidator.ts +0 -257
  79. package/src/kinds/validators/AppValidator.ts +0 -211
  80. package/src/kinds/validators/DatasetValidator.ts +0 -242
  81. package/src/kinds/validators/DocumentValidator.ts +0 -311
  82. package/src/kinds/validators/MediaValidator.ts +0 -269
  83. package/src/kinds/validators/ModuleValidator.ts +0 -225
  84. package/src/kinds/validators/base.ts +0 -276
  85. package/src/kinds/validators/index.ts +0 -12
  86. package/src/lifecycle/BatchOperations.ts +0 -381
  87. package/src/lifecycle/LifecycleManager.ts +0 -2156
  88. package/src/lifecycle/OriginalsAsset.ts +0 -524
  89. package/src/lifecycle/ProvenanceQuery.ts +0 -280
  90. package/src/lifecycle/ResourceVersioning.ts +0 -163
  91. package/src/migration/MigrationManager.ts +0 -587
  92. package/src/migration/audit/AuditLogger.ts +0 -176
  93. package/src/migration/checkpoint/CheckpointManager.ts +0 -112
  94. package/src/migration/checkpoint/CheckpointStorage.ts +0 -101
  95. package/src/migration/index.ts +0 -33
  96. package/src/migration/operations/BaseMigration.ts +0 -126
  97. package/src/migration/operations/PeerToBtcoMigration.ts +0 -105
  98. package/src/migration/operations/PeerToWebvhMigration.ts +0 -62
  99. package/src/migration/operations/WebvhToBtcoMigration.ts +0 -105
  100. package/src/migration/rollback/RollbackManager.ts +0 -170
  101. package/src/migration/state/StateMachine.ts +0 -92
  102. package/src/migration/state/StateTracker.ts +0 -156
  103. package/src/migration/types.ts +0 -356
  104. package/src/migration/validation/BitcoinValidator.ts +0 -107
  105. package/src/migration/validation/CredentialValidator.ts +0 -62
  106. package/src/migration/validation/DIDCompatibilityValidator.ts +0 -151
  107. package/src/migration/validation/LifecycleValidator.ts +0 -64
  108. package/src/migration/validation/StorageValidator.ts +0 -79
  109. package/src/migration/validation/ValidationPipeline.ts +0 -213
  110. package/src/resources/ResourceManager.ts +0 -655
  111. package/src/resources/index.ts +0 -21
  112. package/src/resources/types.ts +0 -202
  113. package/src/storage/LocalStorageAdapter.ts +0 -64
  114. package/src/storage/MemoryStorageAdapter.ts +0 -29
  115. package/src/storage/StorageAdapter.ts +0 -25
  116. package/src/storage/index.ts +0 -3
  117. package/src/types/bitcoin.ts +0 -98
  118. package/src/types/common.ts +0 -92
  119. package/src/types/credentials.ts +0 -89
  120. package/src/types/did.ts +0 -31
  121. package/src/types/external-shims.d.ts +0 -53
  122. package/src/types/index.ts +0 -7
  123. package/src/types/network.ts +0 -178
  124. package/src/utils/EventLogger.ts +0 -298
  125. package/src/utils/Logger.ts +0 -324
  126. package/src/utils/MetricsCollector.ts +0 -358
  127. package/src/utils/bitcoin-address.ts +0 -132
  128. package/src/utils/cbor.ts +0 -31
  129. package/src/utils/encoding.ts +0 -135
  130. package/src/utils/hash.ts +0 -12
  131. package/src/utils/retry.ts +0 -46
  132. package/src/utils/satoshi-validation.ts +0 -196
  133. package/src/utils/serialization.ts +0 -102
  134. package/src/utils/telemetry.ts +0 -44
  135. package/src/utils/validation.ts +0 -123
  136. package/src/vc/CredentialManager.ts +0 -955
  137. package/src/vc/Issuer.ts +0 -105
  138. package/src/vc/Verifier.ts +0 -54
  139. package/src/vc/cryptosuites/bbs.ts +0 -253
  140. package/src/vc/cryptosuites/bbsSimple.ts +0 -21
  141. package/src/vc/cryptosuites/eddsa.ts +0 -99
  142. package/src/vc/documentLoader.ts +0 -81
  143. package/src/vc/proofs/data-integrity.ts +0 -33
  144. package/src/vc/utils/jsonld.ts +0 -18
@@ -1,249 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * CLI Verify Command
4
- *
5
- * Verifies a CEL event log by checking all proofs and the hash chain integrity.
6
- * Outputs event-by-event breakdown with witness attestation details.
7
- *
8
- * Usage: originals-cel verify --log <path> [options]
9
- */
10
-
11
- import * as fs from 'fs';
12
- import * as path from 'path';
13
- import type { EventLog, VerificationResult, DataIntegrityProof, WitnessProof } from '../types';
14
- import { verifyEventLog } from '../algorithms/verifyEventLog';
15
- import { parseEventLogJson } from '../serialization/json';
16
- import { parseEventLogCbor } from '../serialization/cbor';
17
-
18
- /**
19
- * Flags parsed from command line arguments
20
- */
21
- export interface VerifyFlags {
22
- log?: string;
23
- help?: boolean;
24
- h?: boolean;
25
- }
26
-
27
- /**
28
- * Result of the verify command
29
- */
30
- export interface VerifyResult {
31
- success: boolean;
32
- message: string;
33
- verified?: boolean;
34
- result?: VerificationResult;
35
- }
36
-
37
- /**
38
- * Check if a proof is a WitnessProof (has witnessedAt field)
39
- */
40
- function isWitnessProof(proof: DataIntegrityProof | WitnessProof): proof is WitnessProof {
41
- return 'witnessedAt' in proof && typeof (proof as WitnessProof).witnessedAt === 'string';
42
- }
43
-
44
- /**
45
- * Loads and parses an event log from a file
46
- * Supports both JSON (.json) and CBOR (.cbor) formats
47
- */
48
- function loadEventLog(filePath: string): EventLog {
49
- if (!fs.existsSync(filePath)) {
50
- throw new Error(`File not found: ${filePath}`);
51
- }
52
-
53
- const ext = path.extname(filePath).toLowerCase();
54
- const content = fs.readFileSync(filePath);
55
-
56
- if (ext === '.cbor') {
57
- // Parse as CBOR binary
58
- return parseEventLogCbor(new Uint8Array(content));
59
- } else {
60
- // Default to JSON parsing
61
- return parseEventLogJson(content.toString('utf-8'));
62
- }
63
- }
64
-
65
- /**
66
- * Format a timestamp for display
67
- */
68
- function formatTimestamp(timestamp: string): string {
69
- try {
70
- const date = new Date(timestamp);
71
- return date.toISOString();
72
- } catch {
73
- return timestamp;
74
- }
75
- }
76
-
77
- /**
78
- * Format proof details for display
79
- */
80
- function formatProofDetails(proof: DataIntegrityProof | WitnessProof, indent: string = ' '): string {
81
- const lines: string[] = [];
82
- lines.push(`${indent}Cryptosuite: ${proof.cryptosuite}`);
83
- lines.push(`${indent}Created: ${formatTimestamp(proof.created)}`);
84
- lines.push(`${indent}Verification Method: ${proof.verificationMethod}`);
85
- lines.push(`${indent}Proof Purpose: ${proof.proofPurpose}`);
86
-
87
- // Truncate proof value for display
88
- const truncatedProof = proof.proofValue.length > 60
89
- ? `${proof.proofValue.substring(0, 57)}...`
90
- : proof.proofValue;
91
- lines.push(`${indent}Proof Value: ${truncatedProof}`);
92
-
93
- // Add witness-specific info
94
- if (isWitnessProof(proof)) {
95
- lines.push(`${indent}🕐 Witnessed At: ${formatTimestamp(proof.witnessedAt)}`);
96
- }
97
-
98
- return lines.join('\n');
99
- }
100
-
101
- /**
102
- * Output verification result to stdout
103
- */
104
- function outputResult(log: EventLog, result: VerificationResult): void {
105
- console.log('\n═══════════════════════════════════════════════════════');
106
- console.log(' CEL Event Log Verification Report');
107
- console.log('═══════════════════════════════════════════════════════\n');
108
-
109
- // Overall result
110
- if (result.verified) {
111
- console.log('✅ VERIFICATION PASSED\n');
112
- } else {
113
- console.log('❌ VERIFICATION FAILED\n');
114
- }
115
-
116
- // Summary
117
- console.log(`📊 Summary:`);
118
- console.log(` Total Events: ${result.events.length}`);
119
- const proofsPassed = result.events.filter(e => e.proofValid).length;
120
- const chainPassed = result.events.filter(e => e.chainValid).length;
121
- console.log(` Proofs Valid: ${proofsPassed}/${result.events.length}`);
122
- console.log(` Chain Valid: ${chainPassed}/${result.events.length}`);
123
-
124
- // Count witness proofs
125
- let totalWitnessProofs = 0;
126
- for (const event of log.events) {
127
- for (const proof of event.proof) {
128
- if (isWitnessProof(proof)) {
129
- totalWitnessProofs++;
130
- }
131
- }
132
- }
133
- if (totalWitnessProofs > 0) {
134
- console.log(` Witness Attestations: ${totalWitnessProofs}`);
135
- }
136
- console.log('');
137
-
138
- // Event-by-event breakdown
139
- console.log('📋 Event-by-Event Breakdown:');
140
- console.log('───────────────────────────────────────────────────────');
141
-
142
- for (let i = 0; i < result.events.length; i++) {
143
- const eventResult = result.events[i];
144
- const event = log.events[i];
145
-
146
- const proofIcon = eventResult.proofValid ? '✅' : '❌';
147
- const chainIcon = eventResult.chainValid ? '✅' : '❌';
148
-
149
- console.log(`\n Event ${i + 1} (${eventResult.type})`);
150
- console.log(` ├─ Proof: ${proofIcon} ${eventResult.proofValid ? 'Valid' : 'Invalid'}`);
151
- console.log(` └─ Chain: ${chainIcon} ${eventResult.chainValid ? 'Valid' : 'Invalid'}`);
152
-
153
- // Show proof details
154
- if (event.proof && event.proof.length > 0) {
155
- console.log(`\n Proofs (${event.proof.length}):`);
156
-
157
- for (let j = 0; j < event.proof.length; j++) {
158
- const proof = event.proof[j];
159
- const isWitness = isWitnessProof(proof);
160
- const proofLabel = isWitness ? '🔏 Witness Proof' : '🔐 Controller Proof';
161
-
162
- console.log(`\n [${j + 1}] ${proofLabel}`);
163
- console.log(formatProofDetails(proof, ' '));
164
- }
165
- }
166
-
167
- // Show errors for this event
168
- if (eventResult.errors && eventResult.errors.length > 0) {
169
- console.log(`\n ⚠️ Errors:`);
170
- for (const error of eventResult.errors) {
171
- console.log(` - ${error}`);
172
- }
173
- }
174
- }
175
-
176
- // Show global errors if any
177
- if (result.errors && result.errors.length > 0) {
178
- console.log('\n───────────────────────────────────────────────────────');
179
- console.log('⚠️ All Errors:');
180
- for (const error of result.errors) {
181
- console.log(` - ${error}`);
182
- }
183
- }
184
-
185
- console.log('\n═══════════════════════════════════════════════════════\n');
186
- }
187
-
188
- /**
189
- * Execute the verify command
190
- */
191
- export async function verifyCommand(flags: VerifyFlags): Promise<VerifyResult> {
192
- // Check for help flag
193
- if (flags.help || flags.h) {
194
- return {
195
- success: true,
196
- message: 'Use --help with the main CLI for full help text',
197
- };
198
- }
199
-
200
- // Validate required arguments
201
- if (!flags.log) {
202
- return {
203
- success: false,
204
- message: 'Error: --log is required. Usage: originals-cel verify --log <path>',
205
- };
206
- }
207
-
208
- // Load the event log
209
- let eventLog: EventLog;
210
- try {
211
- eventLog = loadEventLog(flags.log);
212
- } catch (e) {
213
- return {
214
- success: false,
215
- message: `Error: Failed to load event log: ${(e as Error).message}`,
216
- };
217
- }
218
-
219
- // Verify the event log
220
- let result: VerificationResult;
221
- try {
222
- result = await verifyEventLog(eventLog);
223
- } catch (e) {
224
- return {
225
- success: false,
226
- message: `Error: Verification failed: ${(e as Error).message}`,
227
- };
228
- }
229
-
230
- // Output the result
231
- outputResult(eventLog, result);
232
-
233
- // Return result with exit code information
234
- if (result.verified) {
235
- return {
236
- success: true,
237
- verified: true,
238
- message: 'Verification passed: All proofs valid and hash chain intact',
239
- result,
240
- };
241
- } else {
242
- return {
243
- success: true, // Command ran successfully, but verification failed
244
- verified: false,
245
- message: `Verification failed: ${result.errors.length} error(s) found`,
246
- result,
247
- };
248
- }
249
- }
package/src/cel/hash.ts DELETED
@@ -1,71 +0,0 @@
1
- /**
2
- * CEL Hash Utilities
3
- *
4
- * Computes and verifies Multibase-encoded Multihash digests as specified
5
- * in the CEL specification for external references.
6
- *
7
- * @see https://w3c-ccg.github.io/cel-spec/
8
- */
9
-
10
- import { sha256 } from '@noble/hashes/sha2.js';
11
- import { multibase } from '../utils/encoding';
12
-
13
- /**
14
- * Computes a CEL-compliant digestMultibase from content.
15
- *
16
- * Uses sha2-256 hash algorithm and encodes as Multibase base64url-nopad (prefix 'u').
17
- *
18
- * @param content - The raw bytes to hash
19
- * @returns Multibase-encoded digest string (e.g., "uEiDm9F...")
20
- *
21
- * @example
22
- * ```typescript
23
- * const digest = computeDigestMultibase(new TextEncoder().encode("hello"));
24
- * // Returns: "uLCA..."
25
- * ```
26
- */
27
- export function computeDigestMultibase(content: Uint8Array): string {
28
- // Compute SHA-256 hash
29
- const hash = sha256(content);
30
-
31
- // Encode as Multibase base64url-nopad (prefix 'u')
32
- return multibase.encode(hash, 'base64url');
33
- }
34
-
35
- /**
36
- * Verifies that content matches a given digestMultibase.
37
- *
38
- * @param content - The raw bytes to verify
39
- * @param digest - The expected digestMultibase string
40
- * @returns True if the content hash matches the digest, false otherwise
41
- *
42
- * @example
43
- * ```typescript
44
- * const content = new TextEncoder().encode("hello");
45
- * const digest = computeDigestMultibase(content);
46
- * const isValid = verifyDigestMultibase(content, digest); // true
47
- * ```
48
- */
49
- export function verifyDigestMultibase(content: Uint8Array, digest: string): boolean {
50
- try {
51
- // Compute hash of content
52
- const computedDigest = computeDigestMultibase(content);
53
-
54
- // Compare with expected digest
55
- return computedDigest === digest;
56
- } catch {
57
- // Invalid digest format or encoding error
58
- return false;
59
- }
60
- }
61
-
62
- /**
63
- * Decodes a digestMultibase string back to raw hash bytes.
64
- *
65
- * @param digest - The Multibase-encoded digest string
66
- * @returns The raw SHA-256 hash bytes
67
- * @throws Error if the digest is not a valid Multibase base64url string
68
- */
69
- export function decodeDigestMultibase(digest: string): Uint8Array {
70
- return multibase.decode(digest);
71
- }
package/src/cel/index.ts DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * CEL (Cryptographic Event Log) Module
3
- *
4
- * Implements W3C CCG CEL Specification for Originals Protocol
5
- * @see https://w3c-ccg.github.io/cel-spec/
6
- */
7
-
8
- export * from './types';
9
- export * from './hash';
10
- export * from './algorithms';
11
- export * from './witnesses';
12
- export * from './serialization';
13
- export * from './ExternalReferenceManager';
14
- export * from './layers';
15
- export * from './OriginalsCel';
16
- export { main as celCli } from './cli/index';