@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,64 +0,0 @@
1
- /**
2
- * LifecycleValidator - Validates lifecycle state transitions
3
- */
4
-
5
- import {
6
- MigrationOptions,
7
- MigrationValidationResult,
8
- ValidationError,
9
- ValidationWarning,
10
- IValidator
11
- } from '../types';
12
- import { OriginalsConfig } from '../../types';
13
-
14
- export class LifecycleValidator implements IValidator {
15
- constructor(private config: OriginalsConfig) {}
16
-
17
- async validate(options: MigrationOptions): Promise<MigrationValidationResult> {
18
- const errors: ValidationError[] = [];
19
- const warnings: ValidationWarning[] = [];
20
-
21
- try {
22
- // All lifecycle states are compatible with all layers
23
- // This validator checks for pending operations that might interfere
24
-
25
- // For now, lifecycle is always compatible
26
- // Future enhancements could check for:
27
- // - Pending operations on source DID
28
- // - State machine compatibility
29
- // - Event history preservation capability
30
-
31
- return {
32
- valid: errors.length === 0,
33
- errors,
34
- warnings,
35
- estimatedCost: {
36
- storageCost: 0,
37
- networkFees: 0,
38
- totalCost: 0,
39
- currency: 'sats'
40
- },
41
- estimatedDuration: 30
42
- };
43
- } catch (error) {
44
- errors.push({
45
- code: 'LIFECYCLE_VALIDATION_ERROR',
46
- message: 'Error validating lifecycle compatibility',
47
- details: { error: error instanceof Error ? error.message : String(error) }
48
- });
49
-
50
- return {
51
- valid: false,
52
- errors,
53
- warnings,
54
- estimatedCost: {
55
- storageCost: 0,
56
- networkFees: 0,
57
- totalCost: 0,
58
- currency: 'sats'
59
- },
60
- estimatedDuration: 0
61
- };
62
- }
63
- }
64
- }
@@ -1,79 +0,0 @@
1
- /**
2
- * StorageValidator - Validates storage adapter compatibility
3
- */
4
-
5
- import {
6
- MigrationOptions,
7
- MigrationValidationResult,
8
- ValidationError,
9
- ValidationWarning,
10
- IValidator
11
- } from '../types';
12
- import { OriginalsConfig } from '../../types';
13
-
14
- export class StorageValidator implements IValidator {
15
- constructor(private config: OriginalsConfig) {}
16
-
17
- async validate(options: MigrationOptions): Promise<MigrationValidationResult> {
18
- const errors: ValidationError[] = [];
19
- const warnings: ValidationWarning[] = [];
20
-
21
- try {
22
- const storageAdapter = (this.config as any).storageAdapter;
23
-
24
- // Check if storage adapter is available
25
- if (!storageAdapter) {
26
- warnings.push({
27
- code: 'NO_STORAGE_ADAPTER',
28
- message: 'No storage adapter configured; using memory storage (not persistent)'
29
- });
30
- }
31
-
32
- // Check large file support for partial migrations
33
- if (options.partialMode) {
34
- // Verify storage adapter supports chunked uploads
35
- if (storageAdapter && typeof storageAdapter.putChunk !== 'function') {
36
- warnings.push({
37
- code: 'NO_CHUNKED_UPLOAD_SUPPORT',
38
- message: 'Storage adapter does not support chunked uploads; partial mode may be inefficient'
39
- });
40
- }
41
- }
42
-
43
- // Estimate storage costs (minimal for webvh, zero for peer/btco)
44
- const storageCost = options.targetLayer === 'webvh' ? 0.001 : 0;
45
-
46
- return {
47
- valid: errors.length === 0,
48
- errors,
49
- warnings,
50
- estimatedCost: {
51
- storageCost,
52
- networkFees: 0,
53
- totalCost: storageCost,
54
- currency: 'sats'
55
- },
56
- estimatedDuration: 50
57
- };
58
- } catch (error) {
59
- errors.push({
60
- code: 'STORAGE_VALIDATION_ERROR',
61
- message: 'Error validating storage compatibility',
62
- details: { error: error instanceof Error ? error.message : String(error) }
63
- });
64
-
65
- return {
66
- valid: false,
67
- errors,
68
- warnings,
69
- estimatedCost: {
70
- storageCost: 0,
71
- networkFees: 0,
72
- totalCost: 0,
73
- currency: 'sats'
74
- },
75
- estimatedDuration: 0
76
- };
77
- }
78
- }
79
- }
@@ -1,213 +0,0 @@
1
- /**
2
- * ValidationPipeline - Orchestrates all validation checks before migration
3
- */
4
-
5
- import {
6
- MigrationOptions,
7
- MigrationValidationResult,
8
- ValidationError,
9
- ValidationWarning,
10
- CostEstimate,
11
- IValidator
12
- } from '../types';
13
- import { DIDCompatibilityValidator } from './DIDCompatibilityValidator';
14
- import { CredentialValidator } from './CredentialValidator';
15
- import { StorageValidator } from './StorageValidator';
16
- import { LifecycleValidator } from './LifecycleValidator';
17
- import { BitcoinValidator } from './BitcoinValidator';
18
- import { OriginalsConfig } from '../../types';
19
- import { DIDManager } from '../../did/DIDManager';
20
- import { CredentialManager } from '../../vc/CredentialManager';
21
- import { BitcoinManager } from '../../bitcoin/BitcoinManager';
22
-
23
- export class ValidationPipeline {
24
- private validators: Map<string, IValidator>;
25
-
26
- constructor(
27
- private config: OriginalsConfig,
28
- private didManager: DIDManager,
29
- private credentialManager: CredentialManager,
30
- private bitcoinManager?: BitcoinManager
31
- ) {
32
- this.validators = new Map();
33
- this.initializeValidators();
34
- }
35
-
36
- private initializeValidators(): void {
37
- this.validators.set('did', new DIDCompatibilityValidator(this.config, this.didManager));
38
- this.validators.set('credential', new CredentialValidator(this.config, this.credentialManager));
39
- this.validators.set('storage', new StorageValidator(this.config));
40
- this.validators.set('lifecycle', new LifecycleValidator(this.config));
41
- if (this.bitcoinManager) {
42
- this.validators.set('bitcoin', new BitcoinValidator(this.config, this.bitcoinManager));
43
- }
44
- }
45
-
46
- /**
47
- * Run all validation checks for a migration
48
- */
49
- async validate(options: MigrationOptions): Promise<MigrationValidationResult> {
50
- const errors: ValidationError[] = [];
51
- const warnings: ValidationWarning[] = [];
52
- let estimatedCost: CostEstimate = {
53
- storageCost: 0,
54
- networkFees: 0,
55
- totalCost: 0,
56
- currency: 'sats'
57
- };
58
- let estimatedDuration = 0;
59
-
60
- try {
61
- // Basic input validation
62
- const inputErrors = this.validateInput(options);
63
- if (inputErrors.length > 0) {
64
- return {
65
- valid: false,
66
- errors: inputErrors,
67
- warnings: [],
68
- estimatedCost,
69
- estimatedDuration: 0
70
- };
71
- }
72
-
73
- // Run DID compatibility validation
74
- const didResult = await this.validators.get('did')!.validate(options);
75
- errors.push(...didResult.errors);
76
- warnings.push(...didResult.warnings);
77
- estimatedDuration = Math.max(estimatedDuration, didResult.estimatedDuration);
78
-
79
- // Run credential validation if enabled
80
- if (options.credentialIssuance !== false) {
81
- const credResult = await this.validators.get('credential')!.validate(options);
82
- errors.push(...credResult.errors);
83
- warnings.push(...credResult.warnings);
84
- }
85
-
86
- // Run storage validation
87
- const storageResult = await this.validators.get('storage')!.validate(options);
88
- errors.push(...storageResult.errors);
89
- warnings.push(...storageResult.warnings);
90
- estimatedCost.storageCost = storageResult.estimatedCost.storageCost;
91
-
92
- // Run lifecycle validation
93
- const lifecycleResult = await this.validators.get('lifecycle')!.validate(options);
94
- errors.push(...lifecycleResult.errors);
95
- warnings.push(...lifecycleResult.warnings);
96
-
97
- // Run Bitcoin validation for btco migrations
98
- if (options.targetLayer === 'btco') {
99
- const bitcoinValidator = this.validators.get('bitcoin');
100
- if (!bitcoinValidator) {
101
- errors.push({
102
- code: 'BITCOIN_VALIDATOR_MISSING',
103
- message: 'Bitcoin validator required for btco migrations but not configured',
104
- details: { targetLayer: options.targetLayer }
105
- });
106
- } else {
107
- const bitcoinResult = await bitcoinValidator.validate(options);
108
- errors.push(...bitcoinResult.errors);
109
- warnings.push(...bitcoinResult.warnings);
110
- estimatedCost.networkFees = bitcoinResult.estimatedCost.networkFees;
111
- estimatedDuration = Math.max(estimatedDuration, bitcoinResult.estimatedDuration);
112
- }
113
- }
114
-
115
- // Calculate total cost
116
- estimatedCost.totalCost = estimatedCost.storageCost + estimatedCost.networkFees;
117
-
118
- return {
119
- valid: errors.length === 0,
120
- errors,
121
- warnings,
122
- estimatedCost,
123
- estimatedDuration
124
- };
125
- } catch (error) {
126
- errors.push({
127
- code: 'VALIDATION_PIPELINE_ERROR',
128
- message: 'Unexpected error during validation',
129
- details: { error: error instanceof Error ? error.message : String(error) }
130
- });
131
-
132
- return {
133
- valid: false,
134
- errors,
135
- warnings,
136
- estimatedCost,
137
- estimatedDuration
138
- };
139
- }
140
- }
141
-
142
- /**
143
- * Validate basic input parameters
144
- */
145
- private validateInput(options: MigrationOptions): ValidationError[] {
146
- const errors: ValidationError[] = [];
147
-
148
- // Validate source DID
149
- if (!options.sourceDid || typeof options.sourceDid !== 'string') {
150
- errors.push({
151
- code: 'INVALID_SOURCE_DID',
152
- message: 'Source DID is required and must be a string',
153
- field: 'sourceDid'
154
- });
155
- }
156
-
157
- // Validate target layer
158
- if (!options.targetLayer) {
159
- errors.push({
160
- code: 'INVALID_TARGET_LAYER',
161
- message: 'Target layer is required',
162
- field: 'targetLayer'
163
- });
164
- } else if (!['peer', 'webvh', 'btco'].includes(options.targetLayer)) {
165
- errors.push({
166
- code: 'INVALID_TARGET_LAYER',
167
- message: 'Target layer must be one of: peer, webvh, btco',
168
- field: 'targetLayer',
169
- details: { received: options.targetLayer }
170
- });
171
- }
172
-
173
- // Validate partial mode options
174
- if (options.partialMode) {
175
- if (typeof options.partialMode.chunkSize !== 'number' || options.partialMode.chunkSize <= 0) {
176
- errors.push({
177
- code: 'INVALID_CHUNK_SIZE',
178
- message: 'Chunk size must be a positive number',
179
- field: 'partialMode.chunkSize'
180
- });
181
- }
182
- }
183
-
184
- // Validate webvh-specific options
185
- if (options.targetLayer === 'webvh' && !options.domain) {
186
- errors.push({
187
- code: 'DOMAIN_REQUIRED',
188
- message: 'Domain is required for webvh migrations',
189
- field: 'domain'
190
- });
191
- }
192
-
193
- // Validate btco-specific options
194
- if (options.targetLayer === 'btco') {
195
- if (options.feeRate !== undefined && (typeof options.feeRate !== 'number' || options.feeRate <= 0)) {
196
- errors.push({
197
- code: 'INVALID_FEE_RATE',
198
- message: 'Fee rate must be a positive number',
199
- field: 'feeRate'
200
- });
201
- }
202
- }
203
-
204
- return errors;
205
- }
206
-
207
- /**
208
- * Quick validation check (basic only, no async operations)
209
- */
210
- validateQuick(options: MigrationOptions): ValidationError[] {
211
- return this.validateInput(options);
212
- }
213
- }