@originals/sdk 1.2.0 → 1.4.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.
- package/package.json +4 -1
- package/.eslintrc.json +0 -33
- package/.turbo/turbo-build.log +0 -1
- package/dist/adapters/FeeOracleMock.d.ts +0 -6
- package/dist/adapters/FeeOracleMock.js +0 -8
- package/dist/adapters/index.d.ts +0 -4
- package/dist/adapters/index.js +0 -4
- package/dist/adapters/providers/OrdHttpProvider.d.ts +0 -56
- package/dist/adapters/providers/OrdHttpProvider.js +0 -110
- package/dist/adapters/providers/OrdMockProvider.d.ts +0 -70
- package/dist/adapters/providers/OrdMockProvider.js +0 -75
- package/dist/adapters/types.d.ts +0 -71
- package/dist/adapters/types.js +0 -1
- package/dist/bitcoin/BitcoinManager.d.ts +0 -15
- package/dist/bitcoin/BitcoinManager.js +0 -262
- package/dist/bitcoin/BroadcastClient.d.ts +0 -30
- package/dist/bitcoin/BroadcastClient.js +0 -35
- package/dist/bitcoin/OrdinalsClient.d.ts +0 -21
- package/dist/bitcoin/OrdinalsClient.js +0 -105
- package/dist/bitcoin/PSBTBuilder.d.ts +0 -24
- package/dist/bitcoin/PSBTBuilder.js +0 -80
- package/dist/bitcoin/fee-calculation.d.ts +0 -14
- package/dist/bitcoin/fee-calculation.js +0 -31
- package/dist/bitcoin/providers/OrdNodeProvider.d.ts +0 -38
- package/dist/bitcoin/providers/OrdNodeProvider.js +0 -67
- package/dist/bitcoin/providers/OrdinalsProvider.d.ts +0 -33
- package/dist/bitcoin/providers/OrdinalsProvider.js +0 -50
- package/dist/bitcoin/providers/types.d.ts +0 -63
- package/dist/bitcoin/providers/types.js +0 -1
- package/dist/bitcoin/transactions/commit.d.ts +0 -89
- package/dist/bitcoin/transactions/commit.js +0 -311
- package/dist/bitcoin/transactions/index.d.ts +0 -7
- package/dist/bitcoin/transactions/index.js +0 -8
- package/dist/bitcoin/transfer.d.ts +0 -9
- package/dist/bitcoin/transfer.js +0 -26
- package/dist/bitcoin/utxo-selection.d.ts +0 -78
- package/dist/bitcoin/utxo-selection.js +0 -237
- package/dist/bitcoin/utxo.d.ts +0 -26
- package/dist/bitcoin/utxo.js +0 -78
- package/dist/contexts/credentials-v1.json +0 -195
- package/dist/contexts/credentials-v2-examples.json +0 -5
- package/dist/contexts/credentials-v2.json +0 -301
- package/dist/contexts/credentials.json +0 -195
- package/dist/contexts/data-integrity-v2.json +0 -81
- package/dist/contexts/dids.json +0 -57
- package/dist/contexts/ed255192020.json +0 -93
- package/dist/contexts/ordinals-plus.json +0 -23
- package/dist/contexts/originals.json +0 -22
- package/dist/core/OriginalsSDK.d.ts +0 -158
- package/dist/core/OriginalsSDK.js +0 -274
- package/dist/crypto/Multikey.d.ts +0 -30
- package/dist/crypto/Multikey.js +0 -149
- package/dist/crypto/Signer.d.ts +0 -21
- package/dist/crypto/Signer.js +0 -196
- package/dist/crypto/noble-init.d.ts +0 -18
- package/dist/crypto/noble-init.js +0 -106
- package/dist/did/BtcoDidResolver.d.ts +0 -57
- package/dist/did/BtcoDidResolver.js +0 -166
- package/dist/did/DIDManager.d.ts +0 -101
- package/dist/did/DIDManager.js +0 -493
- package/dist/did/Ed25519Verifier.d.ts +0 -30
- package/dist/did/Ed25519Verifier.js +0 -59
- package/dist/did/KeyManager.d.ts +0 -17
- package/dist/did/KeyManager.js +0 -207
- package/dist/did/WebVHManager.d.ts +0 -100
- package/dist/did/WebVHManager.js +0 -304
- package/dist/did/createBtcoDidDocument.d.ts +0 -10
- package/dist/did/createBtcoDidDocument.js +0 -42
- package/dist/did/providers/OrdinalsClientProviderAdapter.d.ts +0 -23
- package/dist/did/providers/OrdinalsClientProviderAdapter.js +0 -51
- package/dist/events/EventEmitter.d.ts +0 -115
- package/dist/events/EventEmitter.js +0 -198
- package/dist/events/index.d.ts +0 -7
- package/dist/events/index.js +0 -6
- package/dist/events/types.d.ts +0 -286
- package/dist/events/types.js +0 -9
- package/dist/examples/basic-usage.d.ts +0 -3
- package/dist/examples/basic-usage.js +0 -62
- package/dist/examples/run.d.ts +0 -1
- package/dist/examples/run.js +0 -4
- package/dist/index.d.ts +0 -39
- package/dist/index.js +0 -47
- package/dist/lifecycle/BatchOperations.d.ts +0 -147
- package/dist/lifecycle/BatchOperations.js +0 -251
- package/dist/lifecycle/LifecycleManager.d.ts +0 -116
- package/dist/lifecycle/LifecycleManager.js +0 -971
- package/dist/lifecycle/OriginalsAsset.d.ts +0 -164
- package/dist/lifecycle/OriginalsAsset.js +0 -380
- package/dist/lifecycle/ProvenanceQuery.d.ts +0 -126
- package/dist/lifecycle/ProvenanceQuery.js +0 -220
- package/dist/lifecycle/ResourceVersioning.d.ts +0 -73
- package/dist/lifecycle/ResourceVersioning.js +0 -127
- package/dist/migration/MigrationManager.d.ts +0 -86
- package/dist/migration/MigrationManager.js +0 -412
- package/dist/migration/audit/AuditLogger.d.ts +0 -51
- package/dist/migration/audit/AuditLogger.js +0 -156
- package/dist/migration/checkpoint/CheckpointManager.d.ts +0 -31
- package/dist/migration/checkpoint/CheckpointManager.js +0 -96
- package/dist/migration/checkpoint/CheckpointStorage.d.ts +0 -26
- package/dist/migration/checkpoint/CheckpointStorage.js +0 -89
- package/dist/migration/index.d.ts +0 -22
- package/dist/migration/index.js +0 -27
- package/dist/migration/operations/BaseMigration.d.ts +0 -48
- package/dist/migration/operations/BaseMigration.js +0 -83
- package/dist/migration/operations/PeerToBtcoMigration.d.ts +0 -25
- package/dist/migration/operations/PeerToBtcoMigration.js +0 -67
- package/dist/migration/operations/PeerToWebvhMigration.d.ts +0 -19
- package/dist/migration/operations/PeerToWebvhMigration.js +0 -46
- package/dist/migration/operations/WebvhToBtcoMigration.d.ts +0 -25
- package/dist/migration/operations/WebvhToBtcoMigration.js +0 -67
- package/dist/migration/rollback/RollbackManager.d.ts +0 -29
- package/dist/migration/rollback/RollbackManager.js +0 -146
- package/dist/migration/state/StateMachine.d.ts +0 -25
- package/dist/migration/state/StateMachine.js +0 -76
- package/dist/migration/state/StateTracker.d.ts +0 -36
- package/dist/migration/state/StateTracker.js +0 -123
- package/dist/migration/types.d.ts +0 -306
- package/dist/migration/types.js +0 -33
- package/dist/migration/validation/BitcoinValidator.d.ts +0 -13
- package/dist/migration/validation/BitcoinValidator.js +0 -83
- package/dist/migration/validation/CredentialValidator.d.ts +0 -13
- package/dist/migration/validation/CredentialValidator.js +0 -46
- package/dist/migration/validation/DIDCompatibilityValidator.d.ts +0 -16
- package/dist/migration/validation/DIDCompatibilityValidator.js +0 -127
- package/dist/migration/validation/LifecycleValidator.d.ts +0 -10
- package/dist/migration/validation/LifecycleValidator.js +0 -52
- package/dist/migration/validation/StorageValidator.d.ts +0 -10
- package/dist/migration/validation/StorageValidator.js +0 -65
- package/dist/migration/validation/ValidationPipeline.d.ts +0 -29
- package/dist/migration/validation/ValidationPipeline.js +0 -180
- package/dist/storage/LocalStorageAdapter.d.ts +0 -11
- package/dist/storage/LocalStorageAdapter.js +0 -53
- package/dist/storage/MemoryStorageAdapter.d.ts +0 -6
- package/dist/storage/MemoryStorageAdapter.js +0 -21
- package/dist/storage/StorageAdapter.d.ts +0 -16
- package/dist/storage/StorageAdapter.js +0 -1
- package/dist/storage/index.d.ts +0 -2
- package/dist/storage/index.js +0 -2
- package/dist/types/bitcoin.d.ts +0 -84
- package/dist/types/bitcoin.js +0 -1
- package/dist/types/common.d.ts +0 -82
- package/dist/types/common.js +0 -1
- package/dist/types/credentials.d.ts +0 -75
- package/dist/types/credentials.js +0 -1
- package/dist/types/did.d.ts +0 -26
- package/dist/types/did.js +0 -1
- package/dist/types/index.d.ts +0 -5
- package/dist/types/index.js +0 -5
- package/dist/types/network.d.ts +0 -78
- package/dist/types/network.js +0 -145
- package/dist/utils/EventLogger.d.ts +0 -71
- package/dist/utils/EventLogger.js +0 -232
- package/dist/utils/Logger.d.ts +0 -106
- package/dist/utils/Logger.js +0 -257
- package/dist/utils/MetricsCollector.d.ts +0 -110
- package/dist/utils/MetricsCollector.js +0 -264
- package/dist/utils/bitcoin-address.d.ts +0 -38
- package/dist/utils/bitcoin-address.js +0 -113
- package/dist/utils/cbor.d.ts +0 -2
- package/dist/utils/cbor.js +0 -9
- package/dist/utils/encoding.d.ts +0 -37
- package/dist/utils/encoding.js +0 -120
- package/dist/utils/hash.d.ts +0 -1
- package/dist/utils/hash.js +0 -5
- package/dist/utils/retry.d.ts +0 -10
- package/dist/utils/retry.js +0 -35
- package/dist/utils/satoshi-validation.d.ts +0 -60
- package/dist/utils/satoshi-validation.js +0 -156
- package/dist/utils/serialization.d.ts +0 -14
- package/dist/utils/serialization.js +0 -76
- package/dist/utils/telemetry.d.ts +0 -17
- package/dist/utils/telemetry.js +0 -24
- package/dist/utils/validation.d.ts +0 -5
- package/dist/utils/validation.js +0 -98
- package/dist/vc/CredentialManager.d.ts +0 -22
- package/dist/vc/CredentialManager.js +0 -227
- package/dist/vc/Issuer.d.ts +0 -27
- package/dist/vc/Issuer.js +0 -70
- package/dist/vc/Verifier.d.ts +0 -16
- package/dist/vc/Verifier.js +0 -50
- package/dist/vc/cryptosuites/bbs.d.ts +0 -44
- package/dist/vc/cryptosuites/bbs.js +0 -213
- package/dist/vc/cryptosuites/bbsSimple.d.ts +0 -9
- package/dist/vc/cryptosuites/bbsSimple.js +0 -12
- package/dist/vc/cryptosuites/eddsa.d.ts +0 -30
- package/dist/vc/cryptosuites/eddsa.js +0 -81
- package/dist/vc/documentLoader.d.ts +0 -16
- package/dist/vc/documentLoader.js +0 -59
- package/dist/vc/proofs/data-integrity.d.ts +0 -21
- package/dist/vc/proofs/data-integrity.js +0 -15
- package/dist/vc/utils/jsonld.d.ts +0 -2
- package/dist/vc/utils/jsonld.js +0 -15
- package/src/adapters/FeeOracleMock.ts +0 -9
- package/src/adapters/index.ts +0 -5
- package/src/adapters/providers/OrdHttpProvider.ts +0 -126
- package/src/adapters/providers/OrdMockProvider.ts +0 -101
- package/src/adapters/types.ts +0 -66
- package/src/bitcoin/BitcoinManager.ts +0 -330
- package/src/bitcoin/BroadcastClient.ts +0 -54
- package/src/bitcoin/OrdinalsClient.ts +0 -119
- package/src/bitcoin/PSBTBuilder.ts +0 -106
- package/src/bitcoin/fee-calculation.ts +0 -38
- package/src/bitcoin/providers/OrdNodeProvider.ts +0 -92
- package/src/bitcoin/providers/OrdinalsProvider.ts +0 -56
- package/src/bitcoin/providers/types.ts +0 -59
- package/src/bitcoin/transactions/commit.ts +0 -465
- package/src/bitcoin/transactions/index.ts +0 -13
- package/src/bitcoin/transfer.ts +0 -43
- package/src/bitcoin/utxo-selection.ts +0 -322
- package/src/bitcoin/utxo.ts +0 -113
- package/src/contexts/credentials-v1.json +0 -237
- package/src/contexts/credentials-v2-examples.json +0 -5
- package/src/contexts/credentials-v2.json +0 -340
- package/src/contexts/credentials.json +0 -237
- package/src/contexts/data-integrity-v2.json +0 -81
- package/src/contexts/dids.json +0 -58
- package/src/contexts/ed255192020.json +0 -93
- package/src/contexts/ordinals-plus.json +0 -23
- package/src/contexts/originals.json +0 -22
- package/src/core/OriginalsSDK.ts +0 -416
- package/src/crypto/Multikey.ts +0 -194
- package/src/crypto/Signer.ts +0 -254
- package/src/crypto/noble-init.ts +0 -121
- package/src/did/BtcoDidResolver.ts +0 -227
- package/src/did/DIDManager.ts +0 -694
- package/src/did/Ed25519Verifier.ts +0 -68
- package/src/did/KeyManager.ts +0 -236
- package/src/did/WebVHManager.ts +0 -489
- package/src/did/createBtcoDidDocument.ts +0 -59
- package/src/did/providers/OrdinalsClientProviderAdapter.ts +0 -68
- package/src/events/EventEmitter.ts +0 -222
- package/src/events/index.ts +0 -19
- package/src/events/types.ts +0 -331
- package/src/examples/basic-usage.ts +0 -78
- package/src/examples/run.ts +0 -5
- package/src/index.ts +0 -84
- package/src/lifecycle/BatchOperations.ts +0 -373
- package/src/lifecycle/LifecycleManager.ts +0 -1218
- package/src/lifecycle/OriginalsAsset.ts +0 -524
- package/src/lifecycle/ProvenanceQuery.ts +0 -280
- package/src/lifecycle/ResourceVersioning.ts +0 -163
- package/src/migration/MigrationManager.ts +0 -527
- package/src/migration/audit/AuditLogger.ts +0 -176
- package/src/migration/checkpoint/CheckpointManager.ts +0 -112
- package/src/migration/checkpoint/CheckpointStorage.ts +0 -101
- package/src/migration/index.ts +0 -33
- package/src/migration/operations/BaseMigration.ts +0 -126
- package/src/migration/operations/PeerToBtcoMigration.ts +0 -105
- package/src/migration/operations/PeerToWebvhMigration.ts +0 -62
- package/src/migration/operations/WebvhToBtcoMigration.ts +0 -105
- package/src/migration/rollback/RollbackManager.ts +0 -170
- package/src/migration/state/StateMachine.ts +0 -92
- package/src/migration/state/StateTracker.ts +0 -156
- package/src/migration/types.ts +0 -344
- package/src/migration/validation/BitcoinValidator.ts +0 -107
- package/src/migration/validation/CredentialValidator.ts +0 -62
- package/src/migration/validation/DIDCompatibilityValidator.ts +0 -151
- package/src/migration/validation/LifecycleValidator.ts +0 -64
- package/src/migration/validation/StorageValidator.ts +0 -79
- package/src/migration/validation/ValidationPipeline.ts +0 -213
- package/src/storage/LocalStorageAdapter.ts +0 -61
- package/src/storage/MemoryStorageAdapter.ts +0 -29
- package/src/storage/StorageAdapter.ts +0 -25
- package/src/storage/index.ts +0 -3
- package/src/types/bitcoin.ts +0 -98
- package/src/types/common.ts +0 -92
- package/src/types/credentials.ts +0 -88
- package/src/types/did.ts +0 -31
- package/src/types/external-shims.d.ts +0 -53
- package/src/types/index.ts +0 -7
- package/src/types/network.ts +0 -175
- package/src/utils/EventLogger.ts +0 -298
- package/src/utils/Logger.ts +0 -322
- package/src/utils/MetricsCollector.ts +0 -358
- package/src/utils/bitcoin-address.ts +0 -130
- package/src/utils/cbor.ts +0 -12
- package/src/utils/encoding.ts +0 -127
- package/src/utils/hash.ts +0 -6
- package/src/utils/retry.ts +0 -46
- package/src/utils/satoshi-validation.ts +0 -196
- package/src/utils/serialization.ts +0 -96
- package/src/utils/telemetry.ts +0 -40
- package/src/utils/validation.ts +0 -119
- package/src/vc/CredentialManager.ts +0 -273
- package/src/vc/Issuer.ts +0 -100
- package/src/vc/Verifier.ts +0 -47
- package/src/vc/cryptosuites/bbs.ts +0 -253
- package/src/vc/cryptosuites/bbsSimple.ts +0 -21
- package/src/vc/cryptosuites/eddsa.ts +0 -99
- package/src/vc/documentLoader.ts +0 -67
- package/src/vc/proofs/data-integrity.ts +0 -33
- package/src/vc/utils/jsonld.ts +0 -18
- package/test/logs/did_webvh_QmNTn9Kkp8dQ75WrF9xqJ2kuDp9QhKc3aPiERRMj8XoTBN_example_com.jsonl +0 -1
- package/test/logs/did_webvh_QmNu4MNr8Lr5txx5gYNhuhZDchXsZEu3hJXKYuphpWTPDp_example_com_users_etc_passwd.jsonl +0 -1
- package/test/logs/did_webvh_QmR9MrGZACzjKETA8SBRNCKG11HxU85c4bVR2qN5eDCfsD_example_com.jsonl +0 -1
- package/test/logs/did_webvh_QmUc5suaqRM2P4nrXxZwqYMfqzhdMqjuL7oJaJbEpCQVCd_example_com_users_etc_passwd.jsonl +0 -1
- package/test/logs/did_webvh_QmUkiB2RCV2VZ1RTXsCebWN25Eiy9TLvpzDWAJNjhgvB4X_example_com_etc_passwd.jsonl +0 -1
- package/test/logs/did_webvh_QmUoRTe8UMwpAQXZSAW7pjAgZK1tq2X3C6Kfxq3UXGcaGy_example_com_secret.jsonl +0 -1
- package/test/logs/did_webvh_QmWWot3chx1t6KwTmcE5i2FeDZ5JMkQw3qXycsKDVmJ9Be_example_com_users_alice.jsonl +0 -1
- package/test/logs/did_webvh_QmWvVgALL5kjZdpgR7KZay7J8UiiUr834kkRmWeFAxjAuC_example_com_users_etc_passwd.jsonl +0 -1
- package/test/logs/did_webvh_QmWwaRQHUZAFcKihFC6xR6tRTTrQhHPTku6azf1egWbpy1_example_com_users_alice.jsonl +0 -1
- package/test/logs/did_webvh_QmXJLtkz23r7AozbtXsZMKWnVU6rd38CkVtjdWuATU3Yp6_example_com_users_alice123_profile.jsonl +0 -1
- package/test/logs/did_webvh_QmYsce448po14oDE1wXbyaP6wY9HQgHSKLwdezn1k577SF_example_com_my_org_user_name_test_123.jsonl +0 -1
- package/test/logs/did_webvh_QmZBeNzzqajxdfwcDUPZ4P8C5YSXyRztrAwmPiKuKUxmAK_example_com.jsonl +0 -1
- package/test/logs/did_webvh_QmZhJsqxizwVbRtqCUkmE6XQunSxtxMt3gbTYadVBNAaEq_example_com.jsonl +0 -1
- package/test/logs/did_webvh_QmZk7NHU2D57RzzbMq4tWW9gBa9AqtVTWfiRM6RFdwGVj2_example_com.jsonl +0 -1
- package/test/logs/did_webvh_QmZshSXp9w8ovH62zGGBS1b5pGGPsuYiu1VQ935sga2hWF_example_com_level1_level2.jsonl +0 -1
- package/test/logs/did_webvh_QmbWAmw7HQL7vKJyCsctZihXf1rmT4sGvggKCPKWcUWjw1_example_com.jsonl +0 -1
- package/test/logs/did_webvh_QmbdLUMbYs3juR39TLB6hhrFWLcNg45ybUzeBJCS1MhCh1_example_com_C_Windows_System32.jsonl +0 -1
- package/test/logs/did_webvh_QmcaQ1Ma4gkSbae85aCm8Mv4rvdT2Sb2RR3JzYwrm5XBq8_example_com_etc_passwd.jsonl +0 -1
- package/test/logs/did_webvh_QmcbA7WQhsBqZSoDpKJHjV8Q5o53h8vmgJhQfo6rqTY5ho_example_com.jsonl +0 -1
- package/test/logs/did_webvh_Qmdy8uWr2gkUJrXsThynAug3DASTWwb3onEj89LKmMGZYB_example_com.jsonl +0 -1
- package/tests/__mocks__/bbs-signatures.js +0 -17
- package/tests/__mocks__/mf-base58.js +0 -24
- package/tests/e2e/README.md +0 -97
- package/tests/e2e/example.spec.ts +0 -78
- package/tests/fixtures/did-documents.ts +0 -247
- package/tests/index.test.ts +0 -21
- package/tests/integration/BatchOperations.test.ts +0 -531
- package/tests/integration/CompleteLifecycle.e2e.test.ts +0 -735
- package/tests/integration/CredentialManager.test.ts +0 -42
- package/tests/integration/DIDManager.test.ts +0 -41
- package/tests/integration/DidPeerToWebVhFlow.test.ts +0 -351
- package/tests/integration/Events.test.ts +0 -435
- package/tests/integration/Lifecycle.transfer.btco.integration.test.ts +0 -25
- package/tests/integration/LifecycleManager.test.ts +0 -21
- package/tests/integration/MultikeyFlow.test.ts +0 -52
- package/tests/integration/TelemetryIntegration.test.ts +0 -395
- package/tests/integration/WebVhPublish.test.ts +0 -48
- package/tests/integration/migration/peer-to-webvh.test.ts +0 -172
- package/tests/manual/test-commit-creation.ts +0 -323
- package/tests/mocks/MockKeyStore.ts +0 -38
- package/tests/mocks/adapters/MemoryStorageAdapter.ts +0 -24
- package/tests/mocks/adapters/MockFeeOracle.ts +0 -11
- package/tests/mocks/adapters/MockOrdinalsProvider.ts +0 -76
- package/tests/mocks/adapters/OrdMockProvider.test.ts +0 -176
- package/tests/mocks/adapters/index.ts +0 -6
- package/tests/performance/BatchOperations.perf.test.ts +0 -403
- package/tests/performance/logging.perf.test.ts +0 -336
- package/tests/sdk.test.ts +0 -43
- package/tests/security/bitcoin-penetration-tests.test.ts +0 -622
- package/tests/setup.bun.ts +0 -69
- package/tests/setup.jest.ts +0 -23
- package/tests/stress/batch-operations-stress.test.ts +0 -571
- package/tests/unit/adapters/FeeOracleMock.test.ts +0 -40
- package/tests/unit/bitcoin/BitcoinManager.test.ts +0 -293
- package/tests/unit/bitcoin/BroadcastClient.test.ts +0 -52
- package/tests/unit/bitcoin/OrdNodeProvider.test.ts +0 -53
- package/tests/unit/bitcoin/OrdinalsClient.test.ts +0 -381
- package/tests/unit/bitcoin/OrdinalsClientProvider.test.ts +0 -102
- package/tests/unit/bitcoin/PSBTBuilder.test.ts +0 -84
- package/tests/unit/bitcoin/fee-calculation.test.ts +0 -261
- package/tests/unit/bitcoin/transactions/commit.test.ts +0 -649
- package/tests/unit/bitcoin/transfer.test.ts +0 -31
- package/tests/unit/bitcoin/utxo-selection-new.test.ts +0 -502
- package/tests/unit/bitcoin/utxo.more.test.ts +0 -39
- package/tests/unit/bitcoin/utxo.selection.test.ts +0 -38
- package/tests/unit/core/OriginalsSDK.test.ts +0 -152
- package/tests/unit/crypto/Multikey.test.ts +0 -206
- package/tests/unit/crypto/Signer.test.ts +0 -408
- package/tests/unit/did/BtcoDidResolver.test.ts +0 -611
- package/tests/unit/did/DIDManager.more.test.ts +0 -43
- package/tests/unit/did/DIDManager.test.ts +0 -185
- package/tests/unit/did/Ed25519Verifier.test.ts +0 -160
- package/tests/unit/did/KeyManager.test.ts +0 -452
- package/tests/unit/did/OrdinalsClientProviderAdapter.test.ts +0 -45
- package/tests/unit/did/WebVHManager.test.ts +0 -435
- package/tests/unit/did/createBtcoDidDocument.test.ts +0 -67
- package/tests/unit/did/providers/OrdinalsClientProviderAdapter.test.ts +0 -159
- package/tests/unit/events/EventEmitter.test.ts +0 -407
- package/tests/unit/lifecycle/BatchOperations.test.ts +0 -527
- package/tests/unit/lifecycle/LifecycleManager.keymanagement.test.ts +0 -312
- package/tests/unit/lifecycle/LifecycleManager.prov.test.ts +0 -18
- package/tests/unit/lifecycle/LifecycleManager.test.ts +0 -213
- package/tests/unit/lifecycle/LifecycleManager.transfer.unit.test.ts +0 -30
- package/tests/unit/lifecycle/OriginalsAsset.test.ts +0 -176
- package/tests/unit/lifecycle/ProvenanceQuery.test.ts +0 -577
- package/tests/unit/lifecycle/ResourceVersioning.test.ts +0 -651
- package/tests/unit/storage/MemoryStorageAdapter.test.ts +0 -93
- package/tests/unit/types/network.test.ts +0 -255
- package/tests/unit/utils/EventIntegration.test.ts +0 -384
- package/tests/unit/utils/Logger.test.ts +0 -473
- package/tests/unit/utils/MetricsCollector.test.ts +0 -358
- package/tests/unit/utils/bitcoin-address.test.ts +0 -250
- package/tests/unit/utils/cbor.test.ts +0 -35
- package/tests/unit/utils/encoding.test.ts +0 -318
- package/tests/unit/utils/hash.test.ts +0 -12
- package/tests/unit/utils/retry.test.ts +0 -100
- package/tests/unit/utils/satoshi-validation.test.ts +0 -354
- package/tests/unit/utils/serialization.test.ts +0 -124
- package/tests/unit/utils/telemetry.test.ts +0 -52
- package/tests/unit/utils/validation.test.ts +0 -141
- package/tests/unit/vc/CredentialManager.test.ts +0 -487
- package/tests/unit/vc/Issuer.test.ts +0 -107
- package/tests/unit/vc/Verifier.test.ts +0 -525
- package/tests/unit/vc/bbs.test.ts +0 -282
- package/tests/unit/vc/cryptosuites/eddsa.test.ts +0 -398
- package/tests/unit/vc/documentLoader.test.ts +0 -121
- package/tests/unit/vc/proofs/data-integrity.test.ts +0 -24
- package/tsconfig.json +0 -31
- package/tsconfig.test.json +0 -15
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RollbackManager - Handles migration rollbacks
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
MigrationStateEnum,
|
|
7
|
-
RollbackResult,
|
|
8
|
-
MigrationError,
|
|
9
|
-
MigrationErrorType,
|
|
10
|
-
IRollbackManager
|
|
11
|
-
} from '../types';
|
|
12
|
-
import { OriginalsConfig } from '../../types';
|
|
13
|
-
import { CheckpointManager } from '../checkpoint/CheckpointManager';
|
|
14
|
-
import { DIDManager } from '../../did/DIDManager';
|
|
15
|
-
|
|
16
|
-
export class RollbackManager implements IRollbackManager {
|
|
17
|
-
constructor(
|
|
18
|
-
private config: OriginalsConfig,
|
|
19
|
-
private checkpointManager: CheckpointManager,
|
|
20
|
-
private didManager: DIDManager
|
|
21
|
-
) {}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Rollback a migration to its checkpoint state
|
|
25
|
-
*/
|
|
26
|
-
async rollback(migrationId: string, checkpointId: string): Promise<RollbackResult> {
|
|
27
|
-
const startTime = Date.now();
|
|
28
|
-
const errors: MigrationError[] = [];
|
|
29
|
-
|
|
30
|
-
try {
|
|
31
|
-
// Retrieve checkpoint
|
|
32
|
-
const checkpoint = await this.checkpointManager.getCheckpoint(checkpointId);
|
|
33
|
-
if (!checkpoint) {
|
|
34
|
-
const error: MigrationError = {
|
|
35
|
-
type: MigrationErrorType.ROLLBACK_ERROR,
|
|
36
|
-
code: 'CHECKPOINT_NOT_FOUND',
|
|
37
|
-
message: `Checkpoint ${checkpointId} not found`,
|
|
38
|
-
migrationId,
|
|
39
|
-
timestamp: Date.now()
|
|
40
|
-
};
|
|
41
|
-
errors.push(error);
|
|
42
|
-
|
|
43
|
-
return {
|
|
44
|
-
success: false,
|
|
45
|
-
migrationId,
|
|
46
|
-
checkpointId,
|
|
47
|
-
restoredState: MigrationStateEnum.QUARANTINED,
|
|
48
|
-
duration: Date.now() - startTime,
|
|
49
|
-
errors
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// Verify checkpoint belongs to this migration
|
|
54
|
-
if (checkpoint.migrationId !== migrationId) {
|
|
55
|
-
const error: MigrationError = {
|
|
56
|
-
type: MigrationErrorType.ROLLBACK_ERROR,
|
|
57
|
-
code: 'CHECKPOINT_MISMATCH',
|
|
58
|
-
message: `Checkpoint ${checkpointId} does not belong to migration ${migrationId}`,
|
|
59
|
-
migrationId,
|
|
60
|
-
timestamp: Date.now()
|
|
61
|
-
};
|
|
62
|
-
errors.push(error);
|
|
63
|
-
|
|
64
|
-
return {
|
|
65
|
-
success: false,
|
|
66
|
-
migrationId,
|
|
67
|
-
checkpointId,
|
|
68
|
-
restoredState: MigrationStateEnum.QUARANTINED,
|
|
69
|
-
duration: Date.now() - startTime,
|
|
70
|
-
errors
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// Perform rollback based on source layer
|
|
75
|
-
await this.performLayerSpecificRollback(checkpoint);
|
|
76
|
-
|
|
77
|
-
// Clean up any partial migration artifacts
|
|
78
|
-
await this.cleanupMigrationArtifacts(migrationId);
|
|
79
|
-
|
|
80
|
-
const duration = Date.now() - startTime;
|
|
81
|
-
|
|
82
|
-
// Verify rollback success
|
|
83
|
-
if (errors.length === 0) {
|
|
84
|
-
return {
|
|
85
|
-
success: true,
|
|
86
|
-
migrationId,
|
|
87
|
-
checkpointId,
|
|
88
|
-
restoredState: MigrationStateEnum.ROLLED_BACK,
|
|
89
|
-
duration,
|
|
90
|
-
errors: []
|
|
91
|
-
};
|
|
92
|
-
} else {
|
|
93
|
-
return {
|
|
94
|
-
success: false,
|
|
95
|
-
migrationId,
|
|
96
|
-
checkpointId,
|
|
97
|
-
restoredState: MigrationStateEnum.QUARANTINED,
|
|
98
|
-
duration,
|
|
99
|
-
errors
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
} catch (error) {
|
|
103
|
-
const rollbackError: MigrationError = {
|
|
104
|
-
type: MigrationErrorType.ROLLBACK_ERROR,
|
|
105
|
-
code: 'ROLLBACK_FAILED',
|
|
106
|
-
message: 'Rollback operation failed',
|
|
107
|
-
technicalDetails: error instanceof Error ? error.message : String(error),
|
|
108
|
-
migrationId,
|
|
109
|
-
timestamp: Date.now()
|
|
110
|
-
};
|
|
111
|
-
errors.push(rollbackError);
|
|
112
|
-
|
|
113
|
-
return {
|
|
114
|
-
success: false,
|
|
115
|
-
migrationId,
|
|
116
|
-
checkpointId,
|
|
117
|
-
restoredState: MigrationStateEnum.QUARANTINED,
|
|
118
|
-
duration: Date.now() - startTime,
|
|
119
|
-
errors
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* Perform layer-specific rollback operations
|
|
126
|
-
*/
|
|
127
|
-
private async performLayerSpecificRollback(checkpoint: any): Promise<void> {
|
|
128
|
-
// For now, rollback mainly involves:
|
|
129
|
-
// 1. Ensuring source DID is still valid (it should be, as we don't delete it)
|
|
130
|
-
// 2. Cleaning up any partial artifacts on target layer
|
|
131
|
-
// 3. Restoring any modified state
|
|
132
|
-
|
|
133
|
-
// Verify source DID still resolves
|
|
134
|
-
const sourceDid = await this.didManager.resolveDID(checkpoint.sourceDid);
|
|
135
|
-
if (!sourceDid) {
|
|
136
|
-
throw new Error(`Source DID ${checkpoint.sourceDid} could not be resolved during rollback`);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
// Layer-specific cleanup would go here
|
|
140
|
-
// For peer → webvh: Remove any published resources
|
|
141
|
-
// For webvh → btco: Nothing to do (Bitcoin tx cannot be reversed)
|
|
142
|
-
// For peer → btco: Nothing to do (Bitcoin tx cannot be reversed)
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Clean up migration artifacts
|
|
147
|
-
*/
|
|
148
|
-
private async cleanupMigrationArtifacts(migrationId: string): Promise<void> {
|
|
149
|
-
// Clean up any temporary files, partial uploads, etc.
|
|
150
|
-
// This is a placeholder for actual cleanup logic
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* Check if a rollback is possible
|
|
155
|
-
*/
|
|
156
|
-
async canRollback(migrationId: string, checkpointId: string): Promise<boolean> {
|
|
157
|
-
try {
|
|
158
|
-
const checkpoint = await this.checkpointManager.getCheckpoint(checkpointId);
|
|
159
|
-
if (!checkpoint || checkpoint.migrationId !== migrationId) {
|
|
160
|
-
return false;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
// Bitcoin transactions cannot be rolled back
|
|
164
|
-
// But we can still restore the source DID to working state
|
|
165
|
-
return true;
|
|
166
|
-
} catch (error) {
|
|
167
|
-
return false;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* StateMachine - Defines valid migration state transitions
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { MigrationStateEnum } from '../types';
|
|
6
|
-
|
|
7
|
-
export class StateMachine {
|
|
8
|
-
private transitions: Map<MigrationStateEnum, MigrationStateEnum[]>;
|
|
9
|
-
|
|
10
|
-
constructor() {
|
|
11
|
-
this.transitions = this.initializeTransitions();
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Initialize valid state transitions
|
|
16
|
-
*/
|
|
17
|
-
private initializeTransitions(): Map<MigrationStateEnum, MigrationStateEnum[]> {
|
|
18
|
-
const transitions = new Map<MigrationStateEnum, MigrationStateEnum[]>();
|
|
19
|
-
|
|
20
|
-
// PENDING can transition to VALIDATING or FAILED
|
|
21
|
-
transitions.set(MigrationStateEnum.PENDING, [
|
|
22
|
-
MigrationStateEnum.VALIDATING,
|
|
23
|
-
MigrationStateEnum.FAILED
|
|
24
|
-
]);
|
|
25
|
-
|
|
26
|
-
// VALIDATING can transition to CHECKPOINTED or FAILED
|
|
27
|
-
transitions.set(MigrationStateEnum.VALIDATING, [
|
|
28
|
-
MigrationStateEnum.CHECKPOINTED,
|
|
29
|
-
MigrationStateEnum.FAILED
|
|
30
|
-
]);
|
|
31
|
-
|
|
32
|
-
// CHECKPOINTED can transition to IN_PROGRESS or FAILED
|
|
33
|
-
transitions.set(MigrationStateEnum.CHECKPOINTED, [
|
|
34
|
-
MigrationStateEnum.IN_PROGRESS,
|
|
35
|
-
MigrationStateEnum.FAILED
|
|
36
|
-
]);
|
|
37
|
-
|
|
38
|
-
// IN_PROGRESS can transition to ANCHORING (for btco), COMPLETED, or FAILED
|
|
39
|
-
transitions.set(MigrationStateEnum.IN_PROGRESS, [
|
|
40
|
-
MigrationStateEnum.ANCHORING,
|
|
41
|
-
MigrationStateEnum.COMPLETED,
|
|
42
|
-
MigrationStateEnum.FAILED
|
|
43
|
-
]);
|
|
44
|
-
|
|
45
|
-
// ANCHORING can transition to COMPLETED or FAILED
|
|
46
|
-
transitions.set(MigrationStateEnum.ANCHORING, [
|
|
47
|
-
MigrationStateEnum.COMPLETED,
|
|
48
|
-
MigrationStateEnum.FAILED
|
|
49
|
-
]);
|
|
50
|
-
|
|
51
|
-
// FAILED can transition to ROLLED_BACK or QUARANTINED
|
|
52
|
-
transitions.set(MigrationStateEnum.FAILED, [
|
|
53
|
-
MigrationStateEnum.ROLLED_BACK,
|
|
54
|
-
MigrationStateEnum.QUARANTINED
|
|
55
|
-
]);
|
|
56
|
-
|
|
57
|
-
// COMPLETED, ROLLED_BACK, and QUARANTINED are terminal states
|
|
58
|
-
transitions.set(MigrationStateEnum.COMPLETED, []);
|
|
59
|
-
transitions.set(MigrationStateEnum.ROLLED_BACK, []);
|
|
60
|
-
transitions.set(MigrationStateEnum.QUARANTINED, []);
|
|
61
|
-
|
|
62
|
-
return transitions;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Check if a state transition is valid
|
|
67
|
-
*/
|
|
68
|
-
canTransition(fromState: MigrationStateEnum, toState: MigrationStateEnum): boolean {
|
|
69
|
-
const validTransitions = this.transitions.get(fromState);
|
|
70
|
-
if (!validTransitions) {
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
return validTransitions.includes(toState);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Get all valid transitions from a given state
|
|
78
|
-
* Returns a copy to prevent external mutation of the transition table
|
|
79
|
-
*/
|
|
80
|
-
getValidTransitions(fromState: MigrationStateEnum): MigrationStateEnum[] {
|
|
81
|
-
const transitions = this.transitions.get(fromState);
|
|
82
|
-
return transitions ? [...transitions] : [];
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Check if a state is terminal (no further transitions)
|
|
87
|
-
*/
|
|
88
|
-
isTerminalState(state: MigrationStateEnum): boolean {
|
|
89
|
-
const validTransitions = this.transitions.get(state);
|
|
90
|
-
return !validTransitions || validTransitions.length === 0;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* StateTracker - Tracks migration state throughout the migration lifecycle
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
6
|
-
import {
|
|
7
|
-
MigrationOptions,
|
|
8
|
-
MigrationState,
|
|
9
|
-
MigrationStateEnum,
|
|
10
|
-
IStateTracker
|
|
11
|
-
} from '../types';
|
|
12
|
-
import { OriginalsConfig } from '../../types';
|
|
13
|
-
import { StateMachine } from './StateMachine';
|
|
14
|
-
|
|
15
|
-
export class StateTracker implements IStateTracker {
|
|
16
|
-
private states: Map<string, MigrationState>;
|
|
17
|
-
private stateMachine: StateMachine;
|
|
18
|
-
|
|
19
|
-
constructor(private config: OriginalsConfig) {
|
|
20
|
-
this.states = new Map();
|
|
21
|
-
this.stateMachine = new StateMachine();
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Create a new migration state
|
|
26
|
-
*/
|
|
27
|
-
async createMigration(options: MigrationOptions): Promise<MigrationState> {
|
|
28
|
-
const migrationId = `mig_${uuidv4()}`;
|
|
29
|
-
const sourceLayer = this.extractLayer(options.sourceDid);
|
|
30
|
-
|
|
31
|
-
if (!sourceLayer) {
|
|
32
|
-
throw new Error(`Invalid source DID format: ${options.sourceDid}`);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const state: MigrationState = {
|
|
36
|
-
migrationId,
|
|
37
|
-
state: MigrationStateEnum.PENDING,
|
|
38
|
-
sourceDid: options.sourceDid,
|
|
39
|
-
sourceLayer,
|
|
40
|
-
targetLayer: options.targetLayer,
|
|
41
|
-
progress: 0,
|
|
42
|
-
currentOperation: 'Initializing migration',
|
|
43
|
-
startTime: Date.now()
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
this.states.set(migrationId, state);
|
|
47
|
-
return state;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Update migration state
|
|
52
|
-
*/
|
|
53
|
-
async updateState(migrationId: string, updates: Partial<MigrationState>): Promise<void> {
|
|
54
|
-
const currentState = this.states.get(migrationId);
|
|
55
|
-
if (!currentState) {
|
|
56
|
-
throw new Error(`Migration ${migrationId} not found`);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// Validate state transition if state is being updated
|
|
60
|
-
if (updates.state && updates.state !== currentState.state) {
|
|
61
|
-
if (!this.stateMachine.canTransition(currentState.state, updates.state)) {
|
|
62
|
-
throw new Error(
|
|
63
|
-
`Invalid state transition from ${currentState.state} to ${updates.state}`
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// Update the state
|
|
69
|
-
const updatedState = {
|
|
70
|
-
...currentState,
|
|
71
|
-
...updates
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
// Set end time if migration is completed, failed, or rolled back
|
|
75
|
-
if (
|
|
76
|
-
updatedState.state === MigrationStateEnum.COMPLETED ||
|
|
77
|
-
updatedState.state === MigrationStateEnum.FAILED ||
|
|
78
|
-
updatedState.state === MigrationStateEnum.ROLLED_BACK ||
|
|
79
|
-
updatedState.state === MigrationStateEnum.QUARANTINED
|
|
80
|
-
) {
|
|
81
|
-
updatedState.endTime = Date.now();
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
this.states.set(migrationId, updatedState);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Get migration state
|
|
89
|
-
*/
|
|
90
|
-
async getState(migrationId: string): Promise<MigrationState | null> {
|
|
91
|
-
return this.states.get(migrationId) || null;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Query migration states by filters
|
|
96
|
-
*/
|
|
97
|
-
async queryStates(filters: Partial<MigrationState>): Promise<MigrationState[]> {
|
|
98
|
-
const results: MigrationState[] = [];
|
|
99
|
-
|
|
100
|
-
for (const state of this.states.values()) {
|
|
101
|
-
let matches = true;
|
|
102
|
-
|
|
103
|
-
for (const [key, value] of Object.entries(filters)) {
|
|
104
|
-
if (state[key as keyof MigrationState] !== value) {
|
|
105
|
-
matches = false;
|
|
106
|
-
break;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
if (matches) {
|
|
111
|
-
results.push(state);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
return results;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Get all active migrations
|
|
120
|
-
*/
|
|
121
|
-
async getActiveMigrations(): Promise<MigrationState[]> {
|
|
122
|
-
return this.queryStates({
|
|
123
|
-
state: MigrationStateEnum.IN_PROGRESS
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Clean up old completed migrations
|
|
129
|
-
*/
|
|
130
|
-
async cleanupOldStates(olderThanMs: number = 7 * 24 * 60 * 60 * 1000): Promise<void> {
|
|
131
|
-
const cutoffTime = Date.now() - olderThanMs;
|
|
132
|
-
const toDelete: string[] = [];
|
|
133
|
-
|
|
134
|
-
for (const [id, state] of this.states.entries()) {
|
|
135
|
-
if (
|
|
136
|
-
state.endTime &&
|
|
137
|
-
state.endTime < cutoffTime &&
|
|
138
|
-
(state.state === MigrationStateEnum.COMPLETED ||
|
|
139
|
-
state.state === MigrationStateEnum.ROLLED_BACK)
|
|
140
|
-
) {
|
|
141
|
-
toDelete.push(id);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
for (const id of toDelete) {
|
|
146
|
-
this.states.delete(id);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
private extractLayer(did: string): 'peer' | 'webvh' | 'btco' | null {
|
|
151
|
-
if (did.startsWith('did:peer:')) return 'peer';
|
|
152
|
-
if (did.startsWith('did:webvh:')) return 'webvh';
|
|
153
|
-
if (did.startsWith('did:btco:')) return 'btco';
|
|
154
|
-
return null;
|
|
155
|
-
}
|
|
156
|
-
}
|