@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.
Files changed (401) hide show
  1. package/package.json +4 -1
  2. package/.eslintrc.json +0 -33
  3. package/.turbo/turbo-build.log +0 -1
  4. package/dist/adapters/FeeOracleMock.d.ts +0 -6
  5. package/dist/adapters/FeeOracleMock.js +0 -8
  6. package/dist/adapters/index.d.ts +0 -4
  7. package/dist/adapters/index.js +0 -4
  8. package/dist/adapters/providers/OrdHttpProvider.d.ts +0 -56
  9. package/dist/adapters/providers/OrdHttpProvider.js +0 -110
  10. package/dist/adapters/providers/OrdMockProvider.d.ts +0 -70
  11. package/dist/adapters/providers/OrdMockProvider.js +0 -75
  12. package/dist/adapters/types.d.ts +0 -71
  13. package/dist/adapters/types.js +0 -1
  14. package/dist/bitcoin/BitcoinManager.d.ts +0 -15
  15. package/dist/bitcoin/BitcoinManager.js +0 -262
  16. package/dist/bitcoin/BroadcastClient.d.ts +0 -30
  17. package/dist/bitcoin/BroadcastClient.js +0 -35
  18. package/dist/bitcoin/OrdinalsClient.d.ts +0 -21
  19. package/dist/bitcoin/OrdinalsClient.js +0 -105
  20. package/dist/bitcoin/PSBTBuilder.d.ts +0 -24
  21. package/dist/bitcoin/PSBTBuilder.js +0 -80
  22. package/dist/bitcoin/fee-calculation.d.ts +0 -14
  23. package/dist/bitcoin/fee-calculation.js +0 -31
  24. package/dist/bitcoin/providers/OrdNodeProvider.d.ts +0 -38
  25. package/dist/bitcoin/providers/OrdNodeProvider.js +0 -67
  26. package/dist/bitcoin/providers/OrdinalsProvider.d.ts +0 -33
  27. package/dist/bitcoin/providers/OrdinalsProvider.js +0 -50
  28. package/dist/bitcoin/providers/types.d.ts +0 -63
  29. package/dist/bitcoin/providers/types.js +0 -1
  30. package/dist/bitcoin/transactions/commit.d.ts +0 -89
  31. package/dist/bitcoin/transactions/commit.js +0 -311
  32. package/dist/bitcoin/transactions/index.d.ts +0 -7
  33. package/dist/bitcoin/transactions/index.js +0 -8
  34. package/dist/bitcoin/transfer.d.ts +0 -9
  35. package/dist/bitcoin/transfer.js +0 -26
  36. package/dist/bitcoin/utxo-selection.d.ts +0 -78
  37. package/dist/bitcoin/utxo-selection.js +0 -237
  38. package/dist/bitcoin/utxo.d.ts +0 -26
  39. package/dist/bitcoin/utxo.js +0 -78
  40. package/dist/contexts/credentials-v1.json +0 -195
  41. package/dist/contexts/credentials-v2-examples.json +0 -5
  42. package/dist/contexts/credentials-v2.json +0 -301
  43. package/dist/contexts/credentials.json +0 -195
  44. package/dist/contexts/data-integrity-v2.json +0 -81
  45. package/dist/contexts/dids.json +0 -57
  46. package/dist/contexts/ed255192020.json +0 -93
  47. package/dist/contexts/ordinals-plus.json +0 -23
  48. package/dist/contexts/originals.json +0 -22
  49. package/dist/core/OriginalsSDK.d.ts +0 -158
  50. package/dist/core/OriginalsSDK.js +0 -274
  51. package/dist/crypto/Multikey.d.ts +0 -30
  52. package/dist/crypto/Multikey.js +0 -149
  53. package/dist/crypto/Signer.d.ts +0 -21
  54. package/dist/crypto/Signer.js +0 -196
  55. package/dist/crypto/noble-init.d.ts +0 -18
  56. package/dist/crypto/noble-init.js +0 -106
  57. package/dist/did/BtcoDidResolver.d.ts +0 -57
  58. package/dist/did/BtcoDidResolver.js +0 -166
  59. package/dist/did/DIDManager.d.ts +0 -101
  60. package/dist/did/DIDManager.js +0 -493
  61. package/dist/did/Ed25519Verifier.d.ts +0 -30
  62. package/dist/did/Ed25519Verifier.js +0 -59
  63. package/dist/did/KeyManager.d.ts +0 -17
  64. package/dist/did/KeyManager.js +0 -207
  65. package/dist/did/WebVHManager.d.ts +0 -100
  66. package/dist/did/WebVHManager.js +0 -304
  67. package/dist/did/createBtcoDidDocument.d.ts +0 -10
  68. package/dist/did/createBtcoDidDocument.js +0 -42
  69. package/dist/did/providers/OrdinalsClientProviderAdapter.d.ts +0 -23
  70. package/dist/did/providers/OrdinalsClientProviderAdapter.js +0 -51
  71. package/dist/events/EventEmitter.d.ts +0 -115
  72. package/dist/events/EventEmitter.js +0 -198
  73. package/dist/events/index.d.ts +0 -7
  74. package/dist/events/index.js +0 -6
  75. package/dist/events/types.d.ts +0 -286
  76. package/dist/events/types.js +0 -9
  77. package/dist/examples/basic-usage.d.ts +0 -3
  78. package/dist/examples/basic-usage.js +0 -62
  79. package/dist/examples/run.d.ts +0 -1
  80. package/dist/examples/run.js +0 -4
  81. package/dist/index.d.ts +0 -39
  82. package/dist/index.js +0 -47
  83. package/dist/lifecycle/BatchOperations.d.ts +0 -147
  84. package/dist/lifecycle/BatchOperations.js +0 -251
  85. package/dist/lifecycle/LifecycleManager.d.ts +0 -116
  86. package/dist/lifecycle/LifecycleManager.js +0 -971
  87. package/dist/lifecycle/OriginalsAsset.d.ts +0 -164
  88. package/dist/lifecycle/OriginalsAsset.js +0 -380
  89. package/dist/lifecycle/ProvenanceQuery.d.ts +0 -126
  90. package/dist/lifecycle/ProvenanceQuery.js +0 -220
  91. package/dist/lifecycle/ResourceVersioning.d.ts +0 -73
  92. package/dist/lifecycle/ResourceVersioning.js +0 -127
  93. package/dist/migration/MigrationManager.d.ts +0 -86
  94. package/dist/migration/MigrationManager.js +0 -412
  95. package/dist/migration/audit/AuditLogger.d.ts +0 -51
  96. package/dist/migration/audit/AuditLogger.js +0 -156
  97. package/dist/migration/checkpoint/CheckpointManager.d.ts +0 -31
  98. package/dist/migration/checkpoint/CheckpointManager.js +0 -96
  99. package/dist/migration/checkpoint/CheckpointStorage.d.ts +0 -26
  100. package/dist/migration/checkpoint/CheckpointStorage.js +0 -89
  101. package/dist/migration/index.d.ts +0 -22
  102. package/dist/migration/index.js +0 -27
  103. package/dist/migration/operations/BaseMigration.d.ts +0 -48
  104. package/dist/migration/operations/BaseMigration.js +0 -83
  105. package/dist/migration/operations/PeerToBtcoMigration.d.ts +0 -25
  106. package/dist/migration/operations/PeerToBtcoMigration.js +0 -67
  107. package/dist/migration/operations/PeerToWebvhMigration.d.ts +0 -19
  108. package/dist/migration/operations/PeerToWebvhMigration.js +0 -46
  109. package/dist/migration/operations/WebvhToBtcoMigration.d.ts +0 -25
  110. package/dist/migration/operations/WebvhToBtcoMigration.js +0 -67
  111. package/dist/migration/rollback/RollbackManager.d.ts +0 -29
  112. package/dist/migration/rollback/RollbackManager.js +0 -146
  113. package/dist/migration/state/StateMachine.d.ts +0 -25
  114. package/dist/migration/state/StateMachine.js +0 -76
  115. package/dist/migration/state/StateTracker.d.ts +0 -36
  116. package/dist/migration/state/StateTracker.js +0 -123
  117. package/dist/migration/types.d.ts +0 -306
  118. package/dist/migration/types.js +0 -33
  119. package/dist/migration/validation/BitcoinValidator.d.ts +0 -13
  120. package/dist/migration/validation/BitcoinValidator.js +0 -83
  121. package/dist/migration/validation/CredentialValidator.d.ts +0 -13
  122. package/dist/migration/validation/CredentialValidator.js +0 -46
  123. package/dist/migration/validation/DIDCompatibilityValidator.d.ts +0 -16
  124. package/dist/migration/validation/DIDCompatibilityValidator.js +0 -127
  125. package/dist/migration/validation/LifecycleValidator.d.ts +0 -10
  126. package/dist/migration/validation/LifecycleValidator.js +0 -52
  127. package/dist/migration/validation/StorageValidator.d.ts +0 -10
  128. package/dist/migration/validation/StorageValidator.js +0 -65
  129. package/dist/migration/validation/ValidationPipeline.d.ts +0 -29
  130. package/dist/migration/validation/ValidationPipeline.js +0 -180
  131. package/dist/storage/LocalStorageAdapter.d.ts +0 -11
  132. package/dist/storage/LocalStorageAdapter.js +0 -53
  133. package/dist/storage/MemoryStorageAdapter.d.ts +0 -6
  134. package/dist/storage/MemoryStorageAdapter.js +0 -21
  135. package/dist/storage/StorageAdapter.d.ts +0 -16
  136. package/dist/storage/StorageAdapter.js +0 -1
  137. package/dist/storage/index.d.ts +0 -2
  138. package/dist/storage/index.js +0 -2
  139. package/dist/types/bitcoin.d.ts +0 -84
  140. package/dist/types/bitcoin.js +0 -1
  141. package/dist/types/common.d.ts +0 -82
  142. package/dist/types/common.js +0 -1
  143. package/dist/types/credentials.d.ts +0 -75
  144. package/dist/types/credentials.js +0 -1
  145. package/dist/types/did.d.ts +0 -26
  146. package/dist/types/did.js +0 -1
  147. package/dist/types/index.d.ts +0 -5
  148. package/dist/types/index.js +0 -5
  149. package/dist/types/network.d.ts +0 -78
  150. package/dist/types/network.js +0 -145
  151. package/dist/utils/EventLogger.d.ts +0 -71
  152. package/dist/utils/EventLogger.js +0 -232
  153. package/dist/utils/Logger.d.ts +0 -106
  154. package/dist/utils/Logger.js +0 -257
  155. package/dist/utils/MetricsCollector.d.ts +0 -110
  156. package/dist/utils/MetricsCollector.js +0 -264
  157. package/dist/utils/bitcoin-address.d.ts +0 -38
  158. package/dist/utils/bitcoin-address.js +0 -113
  159. package/dist/utils/cbor.d.ts +0 -2
  160. package/dist/utils/cbor.js +0 -9
  161. package/dist/utils/encoding.d.ts +0 -37
  162. package/dist/utils/encoding.js +0 -120
  163. package/dist/utils/hash.d.ts +0 -1
  164. package/dist/utils/hash.js +0 -5
  165. package/dist/utils/retry.d.ts +0 -10
  166. package/dist/utils/retry.js +0 -35
  167. package/dist/utils/satoshi-validation.d.ts +0 -60
  168. package/dist/utils/satoshi-validation.js +0 -156
  169. package/dist/utils/serialization.d.ts +0 -14
  170. package/dist/utils/serialization.js +0 -76
  171. package/dist/utils/telemetry.d.ts +0 -17
  172. package/dist/utils/telemetry.js +0 -24
  173. package/dist/utils/validation.d.ts +0 -5
  174. package/dist/utils/validation.js +0 -98
  175. package/dist/vc/CredentialManager.d.ts +0 -22
  176. package/dist/vc/CredentialManager.js +0 -227
  177. package/dist/vc/Issuer.d.ts +0 -27
  178. package/dist/vc/Issuer.js +0 -70
  179. package/dist/vc/Verifier.d.ts +0 -16
  180. package/dist/vc/Verifier.js +0 -50
  181. package/dist/vc/cryptosuites/bbs.d.ts +0 -44
  182. package/dist/vc/cryptosuites/bbs.js +0 -213
  183. package/dist/vc/cryptosuites/bbsSimple.d.ts +0 -9
  184. package/dist/vc/cryptosuites/bbsSimple.js +0 -12
  185. package/dist/vc/cryptosuites/eddsa.d.ts +0 -30
  186. package/dist/vc/cryptosuites/eddsa.js +0 -81
  187. package/dist/vc/documentLoader.d.ts +0 -16
  188. package/dist/vc/documentLoader.js +0 -59
  189. package/dist/vc/proofs/data-integrity.d.ts +0 -21
  190. package/dist/vc/proofs/data-integrity.js +0 -15
  191. package/dist/vc/utils/jsonld.d.ts +0 -2
  192. package/dist/vc/utils/jsonld.js +0 -15
  193. package/src/adapters/FeeOracleMock.ts +0 -9
  194. package/src/adapters/index.ts +0 -5
  195. package/src/adapters/providers/OrdHttpProvider.ts +0 -126
  196. package/src/adapters/providers/OrdMockProvider.ts +0 -101
  197. package/src/adapters/types.ts +0 -66
  198. package/src/bitcoin/BitcoinManager.ts +0 -330
  199. package/src/bitcoin/BroadcastClient.ts +0 -54
  200. package/src/bitcoin/OrdinalsClient.ts +0 -119
  201. package/src/bitcoin/PSBTBuilder.ts +0 -106
  202. package/src/bitcoin/fee-calculation.ts +0 -38
  203. package/src/bitcoin/providers/OrdNodeProvider.ts +0 -92
  204. package/src/bitcoin/providers/OrdinalsProvider.ts +0 -56
  205. package/src/bitcoin/providers/types.ts +0 -59
  206. package/src/bitcoin/transactions/commit.ts +0 -465
  207. package/src/bitcoin/transactions/index.ts +0 -13
  208. package/src/bitcoin/transfer.ts +0 -43
  209. package/src/bitcoin/utxo-selection.ts +0 -322
  210. package/src/bitcoin/utxo.ts +0 -113
  211. package/src/contexts/credentials-v1.json +0 -237
  212. package/src/contexts/credentials-v2-examples.json +0 -5
  213. package/src/contexts/credentials-v2.json +0 -340
  214. package/src/contexts/credentials.json +0 -237
  215. package/src/contexts/data-integrity-v2.json +0 -81
  216. package/src/contexts/dids.json +0 -58
  217. package/src/contexts/ed255192020.json +0 -93
  218. package/src/contexts/ordinals-plus.json +0 -23
  219. package/src/contexts/originals.json +0 -22
  220. package/src/core/OriginalsSDK.ts +0 -416
  221. package/src/crypto/Multikey.ts +0 -194
  222. package/src/crypto/Signer.ts +0 -254
  223. package/src/crypto/noble-init.ts +0 -121
  224. package/src/did/BtcoDidResolver.ts +0 -227
  225. package/src/did/DIDManager.ts +0 -694
  226. package/src/did/Ed25519Verifier.ts +0 -68
  227. package/src/did/KeyManager.ts +0 -236
  228. package/src/did/WebVHManager.ts +0 -489
  229. package/src/did/createBtcoDidDocument.ts +0 -59
  230. package/src/did/providers/OrdinalsClientProviderAdapter.ts +0 -68
  231. package/src/events/EventEmitter.ts +0 -222
  232. package/src/events/index.ts +0 -19
  233. package/src/events/types.ts +0 -331
  234. package/src/examples/basic-usage.ts +0 -78
  235. package/src/examples/run.ts +0 -5
  236. package/src/index.ts +0 -84
  237. package/src/lifecycle/BatchOperations.ts +0 -373
  238. package/src/lifecycle/LifecycleManager.ts +0 -1218
  239. package/src/lifecycle/OriginalsAsset.ts +0 -524
  240. package/src/lifecycle/ProvenanceQuery.ts +0 -280
  241. package/src/lifecycle/ResourceVersioning.ts +0 -163
  242. package/src/migration/MigrationManager.ts +0 -527
  243. package/src/migration/audit/AuditLogger.ts +0 -176
  244. package/src/migration/checkpoint/CheckpointManager.ts +0 -112
  245. package/src/migration/checkpoint/CheckpointStorage.ts +0 -101
  246. package/src/migration/index.ts +0 -33
  247. package/src/migration/operations/BaseMigration.ts +0 -126
  248. package/src/migration/operations/PeerToBtcoMigration.ts +0 -105
  249. package/src/migration/operations/PeerToWebvhMigration.ts +0 -62
  250. package/src/migration/operations/WebvhToBtcoMigration.ts +0 -105
  251. package/src/migration/rollback/RollbackManager.ts +0 -170
  252. package/src/migration/state/StateMachine.ts +0 -92
  253. package/src/migration/state/StateTracker.ts +0 -156
  254. package/src/migration/types.ts +0 -344
  255. package/src/migration/validation/BitcoinValidator.ts +0 -107
  256. package/src/migration/validation/CredentialValidator.ts +0 -62
  257. package/src/migration/validation/DIDCompatibilityValidator.ts +0 -151
  258. package/src/migration/validation/LifecycleValidator.ts +0 -64
  259. package/src/migration/validation/StorageValidator.ts +0 -79
  260. package/src/migration/validation/ValidationPipeline.ts +0 -213
  261. package/src/storage/LocalStorageAdapter.ts +0 -61
  262. package/src/storage/MemoryStorageAdapter.ts +0 -29
  263. package/src/storage/StorageAdapter.ts +0 -25
  264. package/src/storage/index.ts +0 -3
  265. package/src/types/bitcoin.ts +0 -98
  266. package/src/types/common.ts +0 -92
  267. package/src/types/credentials.ts +0 -88
  268. package/src/types/did.ts +0 -31
  269. package/src/types/external-shims.d.ts +0 -53
  270. package/src/types/index.ts +0 -7
  271. package/src/types/network.ts +0 -175
  272. package/src/utils/EventLogger.ts +0 -298
  273. package/src/utils/Logger.ts +0 -322
  274. package/src/utils/MetricsCollector.ts +0 -358
  275. package/src/utils/bitcoin-address.ts +0 -130
  276. package/src/utils/cbor.ts +0 -12
  277. package/src/utils/encoding.ts +0 -127
  278. package/src/utils/hash.ts +0 -6
  279. package/src/utils/retry.ts +0 -46
  280. package/src/utils/satoshi-validation.ts +0 -196
  281. package/src/utils/serialization.ts +0 -96
  282. package/src/utils/telemetry.ts +0 -40
  283. package/src/utils/validation.ts +0 -119
  284. package/src/vc/CredentialManager.ts +0 -273
  285. package/src/vc/Issuer.ts +0 -100
  286. package/src/vc/Verifier.ts +0 -47
  287. package/src/vc/cryptosuites/bbs.ts +0 -253
  288. package/src/vc/cryptosuites/bbsSimple.ts +0 -21
  289. package/src/vc/cryptosuites/eddsa.ts +0 -99
  290. package/src/vc/documentLoader.ts +0 -67
  291. package/src/vc/proofs/data-integrity.ts +0 -33
  292. package/src/vc/utils/jsonld.ts +0 -18
  293. package/test/logs/did_webvh_QmNTn9Kkp8dQ75WrF9xqJ2kuDp9QhKc3aPiERRMj8XoTBN_example_com.jsonl +0 -1
  294. package/test/logs/did_webvh_QmNu4MNr8Lr5txx5gYNhuhZDchXsZEu3hJXKYuphpWTPDp_example_com_users_etc_passwd.jsonl +0 -1
  295. package/test/logs/did_webvh_QmR9MrGZACzjKETA8SBRNCKG11HxU85c4bVR2qN5eDCfsD_example_com.jsonl +0 -1
  296. package/test/logs/did_webvh_QmUc5suaqRM2P4nrXxZwqYMfqzhdMqjuL7oJaJbEpCQVCd_example_com_users_etc_passwd.jsonl +0 -1
  297. package/test/logs/did_webvh_QmUkiB2RCV2VZ1RTXsCebWN25Eiy9TLvpzDWAJNjhgvB4X_example_com_etc_passwd.jsonl +0 -1
  298. package/test/logs/did_webvh_QmUoRTe8UMwpAQXZSAW7pjAgZK1tq2X3C6Kfxq3UXGcaGy_example_com_secret.jsonl +0 -1
  299. package/test/logs/did_webvh_QmWWot3chx1t6KwTmcE5i2FeDZ5JMkQw3qXycsKDVmJ9Be_example_com_users_alice.jsonl +0 -1
  300. package/test/logs/did_webvh_QmWvVgALL5kjZdpgR7KZay7J8UiiUr834kkRmWeFAxjAuC_example_com_users_etc_passwd.jsonl +0 -1
  301. package/test/logs/did_webvh_QmWwaRQHUZAFcKihFC6xR6tRTTrQhHPTku6azf1egWbpy1_example_com_users_alice.jsonl +0 -1
  302. package/test/logs/did_webvh_QmXJLtkz23r7AozbtXsZMKWnVU6rd38CkVtjdWuATU3Yp6_example_com_users_alice123_profile.jsonl +0 -1
  303. package/test/logs/did_webvh_QmYsce448po14oDE1wXbyaP6wY9HQgHSKLwdezn1k577SF_example_com_my_org_user_name_test_123.jsonl +0 -1
  304. package/test/logs/did_webvh_QmZBeNzzqajxdfwcDUPZ4P8C5YSXyRztrAwmPiKuKUxmAK_example_com.jsonl +0 -1
  305. package/test/logs/did_webvh_QmZhJsqxizwVbRtqCUkmE6XQunSxtxMt3gbTYadVBNAaEq_example_com.jsonl +0 -1
  306. package/test/logs/did_webvh_QmZk7NHU2D57RzzbMq4tWW9gBa9AqtVTWfiRM6RFdwGVj2_example_com.jsonl +0 -1
  307. package/test/logs/did_webvh_QmZshSXp9w8ovH62zGGBS1b5pGGPsuYiu1VQ935sga2hWF_example_com_level1_level2.jsonl +0 -1
  308. package/test/logs/did_webvh_QmbWAmw7HQL7vKJyCsctZihXf1rmT4sGvggKCPKWcUWjw1_example_com.jsonl +0 -1
  309. package/test/logs/did_webvh_QmbdLUMbYs3juR39TLB6hhrFWLcNg45ybUzeBJCS1MhCh1_example_com_C_Windows_System32.jsonl +0 -1
  310. package/test/logs/did_webvh_QmcaQ1Ma4gkSbae85aCm8Mv4rvdT2Sb2RR3JzYwrm5XBq8_example_com_etc_passwd.jsonl +0 -1
  311. package/test/logs/did_webvh_QmcbA7WQhsBqZSoDpKJHjV8Q5o53h8vmgJhQfo6rqTY5ho_example_com.jsonl +0 -1
  312. package/test/logs/did_webvh_Qmdy8uWr2gkUJrXsThynAug3DASTWwb3onEj89LKmMGZYB_example_com.jsonl +0 -1
  313. package/tests/__mocks__/bbs-signatures.js +0 -17
  314. package/tests/__mocks__/mf-base58.js +0 -24
  315. package/tests/e2e/README.md +0 -97
  316. package/tests/e2e/example.spec.ts +0 -78
  317. package/tests/fixtures/did-documents.ts +0 -247
  318. package/tests/index.test.ts +0 -21
  319. package/tests/integration/BatchOperations.test.ts +0 -531
  320. package/tests/integration/CompleteLifecycle.e2e.test.ts +0 -735
  321. package/tests/integration/CredentialManager.test.ts +0 -42
  322. package/tests/integration/DIDManager.test.ts +0 -41
  323. package/tests/integration/DidPeerToWebVhFlow.test.ts +0 -351
  324. package/tests/integration/Events.test.ts +0 -435
  325. package/tests/integration/Lifecycle.transfer.btco.integration.test.ts +0 -25
  326. package/tests/integration/LifecycleManager.test.ts +0 -21
  327. package/tests/integration/MultikeyFlow.test.ts +0 -52
  328. package/tests/integration/TelemetryIntegration.test.ts +0 -395
  329. package/tests/integration/WebVhPublish.test.ts +0 -48
  330. package/tests/integration/migration/peer-to-webvh.test.ts +0 -172
  331. package/tests/manual/test-commit-creation.ts +0 -323
  332. package/tests/mocks/MockKeyStore.ts +0 -38
  333. package/tests/mocks/adapters/MemoryStorageAdapter.ts +0 -24
  334. package/tests/mocks/adapters/MockFeeOracle.ts +0 -11
  335. package/tests/mocks/adapters/MockOrdinalsProvider.ts +0 -76
  336. package/tests/mocks/adapters/OrdMockProvider.test.ts +0 -176
  337. package/tests/mocks/adapters/index.ts +0 -6
  338. package/tests/performance/BatchOperations.perf.test.ts +0 -403
  339. package/tests/performance/logging.perf.test.ts +0 -336
  340. package/tests/sdk.test.ts +0 -43
  341. package/tests/security/bitcoin-penetration-tests.test.ts +0 -622
  342. package/tests/setup.bun.ts +0 -69
  343. package/tests/setup.jest.ts +0 -23
  344. package/tests/stress/batch-operations-stress.test.ts +0 -571
  345. package/tests/unit/adapters/FeeOracleMock.test.ts +0 -40
  346. package/tests/unit/bitcoin/BitcoinManager.test.ts +0 -293
  347. package/tests/unit/bitcoin/BroadcastClient.test.ts +0 -52
  348. package/tests/unit/bitcoin/OrdNodeProvider.test.ts +0 -53
  349. package/tests/unit/bitcoin/OrdinalsClient.test.ts +0 -381
  350. package/tests/unit/bitcoin/OrdinalsClientProvider.test.ts +0 -102
  351. package/tests/unit/bitcoin/PSBTBuilder.test.ts +0 -84
  352. package/tests/unit/bitcoin/fee-calculation.test.ts +0 -261
  353. package/tests/unit/bitcoin/transactions/commit.test.ts +0 -649
  354. package/tests/unit/bitcoin/transfer.test.ts +0 -31
  355. package/tests/unit/bitcoin/utxo-selection-new.test.ts +0 -502
  356. package/tests/unit/bitcoin/utxo.more.test.ts +0 -39
  357. package/tests/unit/bitcoin/utxo.selection.test.ts +0 -38
  358. package/tests/unit/core/OriginalsSDK.test.ts +0 -152
  359. package/tests/unit/crypto/Multikey.test.ts +0 -206
  360. package/tests/unit/crypto/Signer.test.ts +0 -408
  361. package/tests/unit/did/BtcoDidResolver.test.ts +0 -611
  362. package/tests/unit/did/DIDManager.more.test.ts +0 -43
  363. package/tests/unit/did/DIDManager.test.ts +0 -185
  364. package/tests/unit/did/Ed25519Verifier.test.ts +0 -160
  365. package/tests/unit/did/KeyManager.test.ts +0 -452
  366. package/tests/unit/did/OrdinalsClientProviderAdapter.test.ts +0 -45
  367. package/tests/unit/did/WebVHManager.test.ts +0 -435
  368. package/tests/unit/did/createBtcoDidDocument.test.ts +0 -67
  369. package/tests/unit/did/providers/OrdinalsClientProviderAdapter.test.ts +0 -159
  370. package/tests/unit/events/EventEmitter.test.ts +0 -407
  371. package/tests/unit/lifecycle/BatchOperations.test.ts +0 -527
  372. package/tests/unit/lifecycle/LifecycleManager.keymanagement.test.ts +0 -312
  373. package/tests/unit/lifecycle/LifecycleManager.prov.test.ts +0 -18
  374. package/tests/unit/lifecycle/LifecycleManager.test.ts +0 -213
  375. package/tests/unit/lifecycle/LifecycleManager.transfer.unit.test.ts +0 -30
  376. package/tests/unit/lifecycle/OriginalsAsset.test.ts +0 -176
  377. package/tests/unit/lifecycle/ProvenanceQuery.test.ts +0 -577
  378. package/tests/unit/lifecycle/ResourceVersioning.test.ts +0 -651
  379. package/tests/unit/storage/MemoryStorageAdapter.test.ts +0 -93
  380. package/tests/unit/types/network.test.ts +0 -255
  381. package/tests/unit/utils/EventIntegration.test.ts +0 -384
  382. package/tests/unit/utils/Logger.test.ts +0 -473
  383. package/tests/unit/utils/MetricsCollector.test.ts +0 -358
  384. package/tests/unit/utils/bitcoin-address.test.ts +0 -250
  385. package/tests/unit/utils/cbor.test.ts +0 -35
  386. package/tests/unit/utils/encoding.test.ts +0 -318
  387. package/tests/unit/utils/hash.test.ts +0 -12
  388. package/tests/unit/utils/retry.test.ts +0 -100
  389. package/tests/unit/utils/satoshi-validation.test.ts +0 -354
  390. package/tests/unit/utils/serialization.test.ts +0 -124
  391. package/tests/unit/utils/telemetry.test.ts +0 -52
  392. package/tests/unit/utils/validation.test.ts +0 -141
  393. package/tests/unit/vc/CredentialManager.test.ts +0 -487
  394. package/tests/unit/vc/Issuer.test.ts +0 -107
  395. package/tests/unit/vc/Verifier.test.ts +0 -525
  396. package/tests/unit/vc/bbs.test.ts +0 -282
  397. package/tests/unit/vc/cryptosuites/eddsa.test.ts +0 -398
  398. package/tests/unit/vc/documentLoader.test.ts +0 -121
  399. package/tests/unit/vc/proofs/data-integrity.test.ts +0 -24
  400. package/tsconfig.json +0 -31
  401. package/tsconfig.test.json +0 -15
@@ -1,306 +0,0 @@
1
- /**
2
- * Migration system types and interfaces
3
- * Defines all types used across the migration infrastructure
4
- */
5
- import { DIDDocument, VerifiableCredential } from '../types';
6
- /**
7
- * DID layer types
8
- */
9
- export type DIDLayer = 'peer' | 'webvh' | 'btco';
10
- /**
11
- * Migration state enum
12
- */
13
- export declare enum MigrationStateEnum {
14
- PENDING = "pending",// Migration queued
15
- VALIDATING = "validating",// Running validation pipeline
16
- CHECKPOINTED = "checkpointed",// Checkpoint created
17
- IN_PROGRESS = "in_progress",// Active migration
18
- ANCHORING = "anchoring",// Bitcoin anchoring (btco only)
19
- COMPLETED = "completed",// Successfully completed
20
- FAILED = "failed",// Failed, rollback initiated
21
- ROLLED_BACK = "rolled_back",// Rolled back successfully
22
- QUARANTINED = "quarantined"
23
- }
24
- /**
25
- * Migration error types
26
- */
27
- export declare enum MigrationErrorType {
28
- VALIDATION_ERROR = "validation_error",// Pre-migration validation failed
29
- STORAGE_ERROR = "storage_error",// Storage adapter failure
30
- BITCOIN_ERROR = "bitcoin_error",// Bitcoin anchoring failed
31
- CREDENTIAL_ERROR = "credential_error",// Credential re-issuance failed
32
- NETWORK_ERROR = "network_error",// Network/connectivity failure
33
- ROLLBACK_ERROR = "rollback_error",// Rollback failed (critical)
34
- TIMEOUT_ERROR = "timeout_error",// Operation timeout
35
- UNKNOWN_ERROR = "unknown_error"
36
- }
37
- /**
38
- * Migration options for initiating a migration
39
- */
40
- export interface MigrationOptions {
41
- sourceDid: string;
42
- targetLayer: DIDLayer;
43
- credentialIssuance?: boolean;
44
- batchMode?: boolean;
45
- partialMode?: {
46
- chunkSize: number;
47
- resumable: boolean;
48
- };
49
- estimateCostOnly?: boolean;
50
- metadata?: Record<string, any>;
51
- domain?: string;
52
- satoshi?: string;
53
- feeRate?: number;
54
- }
55
- /**
56
- * Batch migration options
57
- */
58
- export interface BatchMigrationOptions extends MigrationOptions {
59
- maxConcurrent?: number;
60
- continueOnError?: boolean;
61
- }
62
- /**
63
- * Cost estimate for a migration
64
- */
65
- export interface CostEstimate {
66
- storageCost: number;
67
- networkFees: number;
68
- totalCost: number;
69
- currency: string;
70
- }
71
- /**
72
- * Validation error
73
- */
74
- export interface ValidationError {
75
- code: string;
76
- message: string;
77
- field?: string;
78
- details?: any;
79
- }
80
- /**
81
- * Validation warning
82
- */
83
- export interface ValidationWarning {
84
- code: string;
85
- message: string;
86
- field?: string;
87
- }
88
- /**
89
- * Migration validation result
90
- */
91
- export interface MigrationValidationResult {
92
- valid: boolean;
93
- errors: ValidationError[];
94
- warnings: ValidationWarning[];
95
- estimatedCost: CostEstimate;
96
- estimatedDuration: number;
97
- }
98
- /**
99
- * Migration checkpoint data
100
- */
101
- export interface MigrationCheckpoint {
102
- checkpointId?: string;
103
- migrationId: string;
104
- timestamp: number;
105
- sourceDid: string;
106
- sourceLayer: DIDLayer;
107
- didDocument: DIDDocument;
108
- credentials: VerifiableCredential[];
109
- storageReferences: Record<string, any>;
110
- lifecycleState: any;
111
- ownershipProofs: any[];
112
- metadata: Record<string, any>;
113
- }
114
- /**
115
- * Rollback result
116
- */
117
- export interface RollbackResult {
118
- success: boolean;
119
- migrationId: string;
120
- checkpointId?: string;
121
- restoredState: MigrationStateEnum;
122
- duration: number;
123
- errors?: MigrationError[];
124
- }
125
- /**
126
- * Migration state tracking
127
- */
128
- export interface MigrationState {
129
- migrationId: string;
130
- state: MigrationStateEnum;
131
- sourceDid: string;
132
- sourceLayer: DIDLayer;
133
- targetDid?: string;
134
- targetLayer: DIDLayer;
135
- progress: number;
136
- currentOperation: string;
137
- startTime: number;
138
- endTime?: number;
139
- error?: MigrationError;
140
- checkpointId?: string;
141
- }
142
- /**
143
- * Migration error details
144
- */
145
- export interface MigrationError {
146
- type: MigrationErrorType;
147
- code: string;
148
- message: string;
149
- technicalDetails?: string;
150
- suggestedRecovery?: string;
151
- migrationId?: string;
152
- sourceDid?: string;
153
- targetDid?: string;
154
- timestamp: number;
155
- stack?: string;
156
- }
157
- /**
158
- * Migration audit record
159
- */
160
- export interface MigrationAuditRecord {
161
- migrationId: string;
162
- timestamp: number;
163
- initiator: string;
164
- sourceDid: string;
165
- sourceLayer: DIDLayer;
166
- targetDid: string | null;
167
- targetLayer: DIDLayer;
168
- finalState: MigrationStateEnum;
169
- validationResults: MigrationValidationResult;
170
- costActual: CostEstimate;
171
- duration: number;
172
- checkpointId?: string;
173
- errors: MigrationError[];
174
- metadata: Record<string, any>;
175
- signature?: string;
176
- }
177
- /**
178
- * Migration result
179
- */
180
- export interface MigrationResult {
181
- migrationId: string;
182
- success: boolean;
183
- sourceDid: string;
184
- targetDid?: string;
185
- sourceLayer: DIDLayer;
186
- targetLayer: DIDLayer;
187
- state: MigrationStateEnum;
188
- duration: number;
189
- cost: CostEstimate;
190
- auditRecord?: MigrationAuditRecord;
191
- error?: MigrationError;
192
- }
193
- /**
194
- * Batch migration result
195
- */
196
- export interface BatchMigrationResult {
197
- batchId: string;
198
- total: number;
199
- completed: number;
200
- failed: number;
201
- inProgress: number;
202
- results: Map<string, MigrationResult>;
203
- overallProgress: number;
204
- startTime: number;
205
- endTime?: number;
206
- errors: MigrationError[];
207
- }
208
- /**
209
- * Partial migration progress
210
- */
211
- export interface PartialMigrationProgress {
212
- totalChunks: number;
213
- completedChunks: number;
214
- currentChunk: number;
215
- bytesTransferred: number;
216
- totalBytes: number;
217
- percentComplete: number;
218
- estimatedTimeRemaining: number;
219
- }
220
- /**
221
- * Migration event types
222
- */
223
- export type MigrationEventType = 'migration:started' | 'migration:validated' | 'migration:checkpointed' | 'migration:in_progress' | 'migration:anchoring' | 'migration:completed' | 'migration:failed' | 'migration:rolledback' | 'migration:quarantine' | 'batch:progress';
224
- /**
225
- * Migration event payload
226
- */
227
- export interface MigrationEvent {
228
- type: MigrationEventType;
229
- migrationId: string;
230
- timestamp: number;
231
- state: MigrationStateEnum;
232
- data?: any;
233
- }
234
- /**
235
- * Storage migration context
236
- */
237
- export interface StorageMigrationContext {
238
- sourceDid: string;
239
- targetDid: string;
240
- sourceLayer: DIDLayer;
241
- targetLayer: DIDLayer;
242
- resources: Array<{
243
- id: string;
244
- hash: string;
245
- contentType: string;
246
- size: number;
247
- url?: string;
248
- }>;
249
- }
250
- /**
251
- * Bitcoin anchoring context
252
- */
253
- export interface BitcoinAnchoringContext {
254
- didDocument: DIDDocument;
255
- migrationMetadata: Record<string, any>;
256
- network: 'mainnet' | 'testnet' | 'signet';
257
- feeRate?: number;
258
- satoshi?: string;
259
- }
260
- /**
261
- * Lifecycle migration context
262
- */
263
- export interface LifecycleMigrationContext {
264
- sourceDid: string;
265
- targetDid: string;
266
- currentState: any;
267
- eventHistory: any[];
268
- migrationId: string;
269
- }
270
- /**
271
- * Validator interface
272
- */
273
- export interface IValidator {
274
- validate(options: MigrationOptions): Promise<MigrationValidationResult>;
275
- }
276
- /**
277
- * Checkpoint manager interface
278
- */
279
- export interface ICheckpointManager {
280
- createCheckpoint(migrationId: string, options: MigrationOptions): Promise<MigrationCheckpoint>;
281
- getCheckpoint(checkpointId: string): Promise<MigrationCheckpoint | null>;
282
- deleteCheckpoint(checkpointId: string): Promise<void>;
283
- }
284
- /**
285
- * Rollback manager interface
286
- */
287
- export interface IRollbackManager {
288
- rollback(migrationId: string, checkpointId: string): Promise<RollbackResult>;
289
- }
290
- /**
291
- * State tracker interface
292
- */
293
- export interface IStateTracker {
294
- createMigration(options: MigrationOptions): Promise<MigrationState>;
295
- updateState(migrationId: string, updates: Partial<MigrationState>): Promise<void>;
296
- getState(migrationId: string): Promise<MigrationState | null>;
297
- queryStates(filters: Partial<MigrationState>): Promise<MigrationState[]>;
298
- }
299
- /**
300
- * Audit logger interface
301
- */
302
- export interface IAuditLogger {
303
- logMigration(record: MigrationAuditRecord): Promise<void>;
304
- getMigrationHistory(did: string): Promise<MigrationAuditRecord[]>;
305
- getSystemMigrationLogs(filters: any): Promise<MigrationAuditRecord[]>;
306
- }
@@ -1,33 +0,0 @@
1
- /**
2
- * Migration system types and interfaces
3
- * Defines all types used across the migration infrastructure
4
- */
5
- /**
6
- * Migration state enum
7
- */
8
- export var MigrationStateEnum;
9
- (function (MigrationStateEnum) {
10
- MigrationStateEnum["PENDING"] = "pending";
11
- MigrationStateEnum["VALIDATING"] = "validating";
12
- MigrationStateEnum["CHECKPOINTED"] = "checkpointed";
13
- MigrationStateEnum["IN_PROGRESS"] = "in_progress";
14
- MigrationStateEnum["ANCHORING"] = "anchoring";
15
- MigrationStateEnum["COMPLETED"] = "completed";
16
- MigrationStateEnum["FAILED"] = "failed";
17
- MigrationStateEnum["ROLLED_BACK"] = "rolled_back";
18
- MigrationStateEnum["QUARANTINED"] = "quarantined"; // Rollback failed, needs manual intervention
19
- })(MigrationStateEnum || (MigrationStateEnum = {}));
20
- /**
21
- * Migration error types
22
- */
23
- export var MigrationErrorType;
24
- (function (MigrationErrorType) {
25
- MigrationErrorType["VALIDATION_ERROR"] = "validation_error";
26
- MigrationErrorType["STORAGE_ERROR"] = "storage_error";
27
- MigrationErrorType["BITCOIN_ERROR"] = "bitcoin_error";
28
- MigrationErrorType["CREDENTIAL_ERROR"] = "credential_error";
29
- MigrationErrorType["NETWORK_ERROR"] = "network_error";
30
- MigrationErrorType["ROLLBACK_ERROR"] = "rollback_error";
31
- MigrationErrorType["TIMEOUT_ERROR"] = "timeout_error";
32
- MigrationErrorType["UNKNOWN_ERROR"] = "unknown_error"; // Unexpected error
33
- })(MigrationErrorType || (MigrationErrorType = {}));
@@ -1,13 +0,0 @@
1
- /**
2
- * BitcoinValidator - Validates Bitcoin network requirements for btco migrations
3
- */
4
- import { MigrationOptions, MigrationValidationResult, IValidator } from '../types';
5
- import { OriginalsConfig } from '../../types';
6
- import { BitcoinManager } from '../../bitcoin/BitcoinManager';
7
- export declare class BitcoinValidator implements IValidator {
8
- private config;
9
- private bitcoinManager;
10
- constructor(config: OriginalsConfig, bitcoinManager: BitcoinManager);
11
- validate(options: MigrationOptions): Promise<MigrationValidationResult>;
12
- private createResult;
13
- }
@@ -1,83 +0,0 @@
1
- /**
2
- * BitcoinValidator - Validates Bitcoin network requirements for btco migrations
3
- */
4
- export class BitcoinValidator {
5
- constructor(config, bitcoinManager) {
6
- this.config = config;
7
- this.bitcoinManager = bitcoinManager;
8
- }
9
- async validate(options) {
10
- const errors = [];
11
- const warnings = [];
12
- try {
13
- // Only validate for btco migrations
14
- if (options.targetLayer !== 'btco') {
15
- return this.createResult(true, errors, warnings, 0, 0);
16
- }
17
- // Check if Bitcoin provider is configured
18
- const ordinalsProvider = this.config.ordinalsProvider;
19
- if (!ordinalsProvider) {
20
- errors.push({
21
- code: 'BITCOIN_PROVIDER_REQUIRED',
22
- message: 'Ordinals provider is required for btco migrations',
23
- details: { targetLayer: options.targetLayer }
24
- });
25
- return this.createResult(false, errors, warnings, 0, 0);
26
- }
27
- // Estimate Bitcoin network fees
28
- let networkFees = 0;
29
- let estimatedDuration = 600000; // 10 minutes default
30
- try {
31
- // Estimate fee for a typical inscription (assume 1KB data)
32
- const estimatedSize = 1024; // bytes
33
- const feeRate = options.feeRate || 10; // sats/vB
34
- networkFees = estimatedSize * feeRate;
35
- // Check if fee is within reasonable limits
36
- if (feeRate > 1000) {
37
- warnings.push({
38
- code: 'HIGH_FEE_RATE',
39
- message: `Fee rate of ${feeRate} sat/vB is unusually high`,
40
- field: 'feeRate'
41
- });
42
- }
43
- }
44
- catch (error) {
45
- warnings.push({
46
- code: 'FEE_ESTIMATION_FAILED',
47
- message: `Could not estimate Bitcoin network fees: ${error instanceof Error ? error.message : String(error)}`
48
- });
49
- networkFees = 10240; // Default fallback: ~1KB at 10 sat/vB
50
- }
51
- // Validate network (should be signet for testnet)
52
- if (this.config.network !== 'mainnet' && this.config.network !== 'signet') {
53
- warnings.push({
54
- code: 'NETWORK_MISMATCH',
55
- message: `Network '${this.config.network}' will use signet for Bitcoin anchoring`
56
- });
57
- }
58
- return this.createResult(true, errors, warnings, networkFees, estimatedDuration);
59
- }
60
- catch (error) {
61
- errors.push({
62
- code: 'BITCOIN_VALIDATION_ERROR',
63
- message: 'Error validating Bitcoin requirements',
64
- details: { error: error instanceof Error ? error.message : String(error) }
65
- });
66
- return this.createResult(false, errors, warnings, 0, 0);
67
- }
68
- }
69
- createResult(valid, errors, warnings, networkFees, duration) {
70
- return {
71
- valid,
72
- errors,
73
- warnings,
74
- estimatedCost: {
75
- storageCost: 0,
76
- networkFees,
77
- totalCost: networkFees,
78
- currency: 'sats'
79
- },
80
- estimatedDuration: duration
81
- };
82
- }
83
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * CredentialValidator - Validates credential compatibility for migration
3
- */
4
- import { MigrationOptions, MigrationValidationResult, IValidator } from '../types';
5
- import { OriginalsConfig } from '../../types';
6
- import { CredentialManager } from '../../vc/CredentialManager';
7
- export declare class CredentialValidator implements IValidator {
8
- private config;
9
- private credentialManager;
10
- constructor(config: OriginalsConfig, credentialManager: CredentialManager);
11
- validate(options: MigrationOptions): Promise<MigrationValidationResult>;
12
- private createResult;
13
- }
@@ -1,46 +0,0 @@
1
- /**
2
- * CredentialValidator - Validates credential compatibility for migration
3
- */
4
- export class CredentialValidator {
5
- constructor(config, credentialManager) {
6
- this.config = config;
7
- this.credentialManager = credentialManager;
8
- }
9
- async validate(options) {
10
- const errors = [];
11
- const warnings = [];
12
- try {
13
- // Credential validation is optional if credentialIssuance is false
14
- if (options.credentialIssuance === false) {
15
- return this.createResult(true, errors, warnings);
16
- }
17
- // All credential types are compatible with all layers
18
- // This validator primarily checks that credential issuance is possible
19
- // For now, credentials are always compatible
20
- // Future enhancements could include schema validation
21
- return this.createResult(true, errors, warnings);
22
- }
23
- catch (error) {
24
- errors.push({
25
- code: 'CREDENTIAL_VALIDATION_ERROR',
26
- message: 'Error validating credential compatibility',
27
- details: { error: error instanceof Error ? error.message : String(error) }
28
- });
29
- return this.createResult(false, errors, warnings);
30
- }
31
- }
32
- createResult(valid, errors, warnings) {
33
- return {
34
- valid,
35
- errors,
36
- warnings,
37
- estimatedCost: {
38
- storageCost: 0,
39
- networkFees: 0,
40
- totalCost: 0,
41
- currency: 'sats'
42
- },
43
- estimatedDuration: 50 // Credential validation typically takes ~50ms
44
- };
45
- }
46
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * DIDCompatibilityValidator - Validates DID document compatibility between layers
3
- */
4
- import { MigrationOptions, MigrationValidationResult, IValidator } from '../types';
5
- import { OriginalsConfig } from '../../types';
6
- import { DIDManager } from '../../did/DIDManager';
7
- export declare class DIDCompatibilityValidator implements IValidator {
8
- private config;
9
- private didManager;
10
- constructor(config: OriginalsConfig, didManager: DIDManager);
11
- validate(options: MigrationOptions): Promise<MigrationValidationResult>;
12
- private extractLayer;
13
- private validateMigrationPath;
14
- private isVerificationMethodCompatible;
15
- private createResult;
16
- }
@@ -1,127 +0,0 @@
1
- /**
2
- * DIDCompatibilityValidator - Validates DID document compatibility between layers
3
- */
4
- export class DIDCompatibilityValidator {
5
- constructor(config, didManager) {
6
- this.config = config;
7
- this.didManager = didManager;
8
- }
9
- async validate(options) {
10
- const errors = [];
11
- const warnings = [];
12
- try {
13
- // Resolve source DID
14
- const sourceDid = await this.didManager.resolveDID(options.sourceDid);
15
- if (!sourceDid) {
16
- errors.push({
17
- code: 'SOURCE_DID_NOT_FOUND',
18
- message: `Could not resolve source DID: ${options.sourceDid}`,
19
- field: 'sourceDid'
20
- });
21
- return this.createResult(false, errors, warnings);
22
- }
23
- // Extract source layer from DID
24
- const sourceLayer = this.extractLayer(options.sourceDid);
25
- if (!sourceLayer) {
26
- errors.push({
27
- code: 'INVALID_SOURCE_DID_FORMAT',
28
- message: 'Source DID has unsupported format',
29
- field: 'sourceDid',
30
- details: { did: options.sourceDid }
31
- });
32
- return this.createResult(false, errors, warnings);
33
- }
34
- // Validate migration path
35
- const pathErrors = this.validateMigrationPath(sourceLayer, options.targetLayer);
36
- errors.push(...pathErrors);
37
- if (errors.length > 0) {
38
- return this.createResult(false, errors, warnings);
39
- }
40
- // Validate verification methods compatibility
41
- if (sourceDid.verificationMethod && Array.isArray(sourceDid.verificationMethod)) {
42
- for (const vm of sourceDid.verificationMethod) {
43
- if (!this.isVerificationMethodCompatible(vm, options.targetLayer)) {
44
- warnings.push({
45
- code: 'VERIFICATION_METHOD_INCOMPATIBLE',
46
- message: `Verification method ${vm.id} may not be compatible with ${options.targetLayer}`,
47
- field: 'verificationMethod'
48
- });
49
- }
50
- }
51
- }
52
- // Validate service endpoints
53
- if (sourceDid.service && Array.isArray(sourceDid.service)) {
54
- if (options.targetLayer === 'peer' && sourceDid.service.length > 0) {
55
- warnings.push({
56
- code: 'SERVICE_ENDPOINTS_ON_PEER',
57
- message: 'Service endpoints on peer DIDs may have limited discoverability'
58
- });
59
- }
60
- }
61
- return this.createResult(true, errors, warnings);
62
- }
63
- catch (error) {
64
- errors.push({
65
- code: 'DID_VALIDATION_ERROR',
66
- message: 'Error validating DID compatibility',
67
- details: { error: error instanceof Error ? error.message : String(error) }
68
- });
69
- return this.createResult(false, errors, warnings);
70
- }
71
- }
72
- extractLayer(did) {
73
- if (did.startsWith('did:peer:'))
74
- return 'peer';
75
- if (did.startsWith('did:webvh:'))
76
- return 'webvh';
77
- if (did.startsWith('did:btco:'))
78
- return 'btco';
79
- return null;
80
- }
81
- validateMigrationPath(sourceLayer, targetLayer) {
82
- const errors = [];
83
- // Check for invalid reverse migrations
84
- const layerOrder = { peer: 0, webvh: 1, btco: 2 };
85
- const sourceOrder = layerOrder[sourceLayer];
86
- const targetOrder = layerOrder[targetLayer];
87
- if (sourceOrder === undefined || targetOrder === undefined) {
88
- errors.push({
89
- code: 'INVALID_LAYER',
90
- message: 'Invalid source or target layer',
91
- details: { sourceLayer, targetLayer }
92
- });
93
- return errors;
94
- }
95
- if (sourceOrder >= targetOrder) {
96
- errors.push({
97
- code: 'INVALID_MIGRATION_PATH',
98
- message: `Cannot migrate from ${sourceLayer} to ${targetLayer}. Migrations must move forward through layers (peer → webvh → btco)`,
99
- details: { sourceLayer, targetLayer }
100
- });
101
- }
102
- return errors;
103
- }
104
- isVerificationMethodCompatible(vm, targetLayer) {
105
- // All verification method types are compatible with all layers
106
- // This is a placeholder for more sophisticated compatibility checks
107
- if (!vm.type)
108
- return false;
109
- // Common types that are widely supported
110
- const supportedTypes = ['Multikey', 'Ed25519VerificationKey2020', 'EcdsaSecp256k1VerificationKey2019'];
111
- return supportedTypes.includes(vm.type);
112
- }
113
- createResult(valid, errors, warnings) {
114
- return {
115
- valid,
116
- errors,
117
- warnings,
118
- estimatedCost: {
119
- storageCost: 0,
120
- networkFees: 0,
121
- totalCost: 0,
122
- currency: 'sats'
123
- },
124
- estimatedDuration: 100 // DID validation typically takes ~100ms
125
- };
126
- }
127
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * LifecycleValidator - Validates lifecycle state transitions
3
- */
4
- import { MigrationOptions, MigrationValidationResult, IValidator } from '../types';
5
- import { OriginalsConfig } from '../../types';
6
- export declare class LifecycleValidator implements IValidator {
7
- private config;
8
- constructor(config: OriginalsConfig);
9
- validate(options: MigrationOptions): Promise<MigrationValidationResult>;
10
- }