@originals/sdk 1.4.2 → 1.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/dist/adapters/FeeOracleMock.d.ts +6 -0
  2. package/dist/adapters/FeeOracleMock.js +8 -0
  3. package/{src/adapters/index.ts → dist/adapters/index.d.ts} +0 -1
  4. package/dist/adapters/index.js +4 -0
  5. package/dist/adapters/providers/OrdHttpProvider.d.ts +56 -0
  6. package/dist/adapters/providers/OrdHttpProvider.js +110 -0
  7. package/dist/adapters/providers/OrdMockProvider.d.ts +70 -0
  8. package/dist/adapters/providers/OrdMockProvider.js +75 -0
  9. package/dist/adapters/types.d.ts +71 -0
  10. package/dist/adapters/types.js +1 -0
  11. package/dist/bitcoin/BitcoinManager.d.ts +15 -0
  12. package/dist/bitcoin/BitcoinManager.js +262 -0
  13. package/dist/bitcoin/BroadcastClient.d.ts +30 -0
  14. package/dist/bitcoin/BroadcastClient.js +35 -0
  15. package/dist/bitcoin/OrdinalsClient.d.ts +21 -0
  16. package/dist/bitcoin/OrdinalsClient.js +105 -0
  17. package/dist/bitcoin/PSBTBuilder.d.ts +24 -0
  18. package/dist/bitcoin/PSBTBuilder.js +80 -0
  19. package/dist/bitcoin/fee-calculation.d.ts +14 -0
  20. package/{src/bitcoin/fee-calculation.ts → dist/bitcoin/fee-calculation.js} +5 -12
  21. package/dist/bitcoin/providers/OrdNodeProvider.d.ts +38 -0
  22. package/dist/bitcoin/providers/OrdNodeProvider.js +67 -0
  23. package/dist/bitcoin/providers/OrdinalsProvider.d.ts +33 -0
  24. package/dist/bitcoin/providers/OrdinalsProvider.js +50 -0
  25. package/dist/bitcoin/providers/types.d.ts +63 -0
  26. package/dist/bitcoin/providers/types.js +1 -0
  27. package/dist/bitcoin/transactions/commit.d.ts +89 -0
  28. package/dist/bitcoin/transactions/commit.js +311 -0
  29. package/dist/bitcoin/transactions/index.d.ts +7 -0
  30. package/{src/bitcoin/transactions/index.ts → dist/bitcoin/transactions/index.js} +1 -6
  31. package/dist/bitcoin/transfer.d.ts +9 -0
  32. package/dist/bitcoin/transfer.js +26 -0
  33. package/dist/bitcoin/utxo-selection.d.ts +78 -0
  34. package/dist/bitcoin/utxo-selection.js +237 -0
  35. package/dist/bitcoin/utxo.d.ts +26 -0
  36. package/dist/bitcoin/utxo.js +78 -0
  37. package/dist/contexts/credentials-v1.json +195 -0
  38. package/dist/contexts/credentials-v2-examples.json +5 -0
  39. package/dist/contexts/credentials-v2.json +301 -0
  40. package/dist/contexts/credentials.json +195 -0
  41. package/dist/contexts/data-integrity-v2.json +81 -0
  42. package/dist/contexts/dids.json +57 -0
  43. package/dist/contexts/ed255192020.json +93 -0
  44. package/dist/contexts/ordinals-plus.json +23 -0
  45. package/dist/contexts/originals.json +22 -0
  46. package/dist/core/OriginalsSDK.d.ts +158 -0
  47. package/dist/core/OriginalsSDK.js +274 -0
  48. package/dist/crypto/Multikey.d.ts +30 -0
  49. package/dist/crypto/Multikey.js +149 -0
  50. package/dist/crypto/Signer.d.ts +21 -0
  51. package/dist/crypto/Signer.js +196 -0
  52. package/dist/crypto/noble-init.d.ts +18 -0
  53. package/dist/crypto/noble-init.js +106 -0
  54. package/dist/did/BtcoDidResolver.d.ts +57 -0
  55. package/dist/did/BtcoDidResolver.js +166 -0
  56. package/dist/did/DIDManager.d.ts +101 -0
  57. package/dist/did/DIDManager.js +493 -0
  58. package/dist/did/Ed25519Verifier.d.ts +30 -0
  59. package/dist/did/Ed25519Verifier.js +59 -0
  60. package/dist/did/KeyManager.d.ts +17 -0
  61. package/dist/did/KeyManager.js +207 -0
  62. package/dist/did/WebVHManager.d.ts +100 -0
  63. package/dist/did/WebVHManager.js +312 -0
  64. package/dist/did/createBtcoDidDocument.d.ts +10 -0
  65. package/dist/did/createBtcoDidDocument.js +42 -0
  66. package/dist/did/providers/OrdinalsClientProviderAdapter.d.ts +23 -0
  67. package/dist/did/providers/OrdinalsClientProviderAdapter.js +51 -0
  68. package/dist/events/EventEmitter.d.ts +115 -0
  69. package/dist/events/EventEmitter.js +198 -0
  70. package/dist/events/index.d.ts +7 -0
  71. package/dist/events/index.js +6 -0
  72. package/dist/events/types.d.ts +286 -0
  73. package/dist/events/types.js +9 -0
  74. package/dist/examples/basic-usage.d.ts +3 -0
  75. package/dist/examples/basic-usage.js +62 -0
  76. package/dist/examples/create-module-original.d.ts +32 -0
  77. package/dist/examples/create-module-original.js +376 -0
  78. package/dist/examples/full-lifecycle-flow.d.ts +56 -0
  79. package/dist/examples/full-lifecycle-flow.js +419 -0
  80. package/dist/examples/run.d.ts +12 -0
  81. package/dist/examples/run.js +51 -0
  82. package/dist/index.d.ts +43 -0
  83. package/dist/index.js +52 -0
  84. package/dist/kinds/KindRegistry.d.ts +76 -0
  85. package/dist/kinds/KindRegistry.js +216 -0
  86. package/dist/kinds/index.d.ts +33 -0
  87. package/{src/kinds/index.ts → dist/kinds/index.js} +6 -44
  88. package/dist/kinds/types.d.ts +363 -0
  89. package/dist/kinds/types.js +25 -0
  90. package/dist/kinds/validators/AgentValidator.d.ts +14 -0
  91. package/dist/kinds/validators/AgentValidator.js +155 -0
  92. package/dist/kinds/validators/AppValidator.d.ts +14 -0
  93. package/dist/kinds/validators/AppValidator.js +135 -0
  94. package/dist/kinds/validators/DatasetValidator.d.ts +14 -0
  95. package/dist/kinds/validators/DatasetValidator.js +148 -0
  96. package/dist/kinds/validators/DocumentValidator.d.ts +14 -0
  97. package/dist/kinds/validators/DocumentValidator.js +180 -0
  98. package/dist/kinds/validators/MediaValidator.d.ts +14 -0
  99. package/dist/kinds/validators/MediaValidator.js +172 -0
  100. package/dist/kinds/validators/ModuleValidator.d.ts +14 -0
  101. package/dist/kinds/validators/ModuleValidator.js +140 -0
  102. package/dist/kinds/validators/base.d.ts +96 -0
  103. package/dist/kinds/validators/base.js +218 -0
  104. package/{src/kinds/validators/index.ts → dist/kinds/validators/index.d.ts} +0 -2
  105. package/dist/kinds/validators/index.js +10 -0
  106. package/dist/lifecycle/BatchOperations.d.ts +147 -0
  107. package/dist/lifecycle/BatchOperations.js +251 -0
  108. package/dist/lifecycle/LifecycleManager.d.ts +362 -0
  109. package/dist/lifecycle/LifecycleManager.js +1692 -0
  110. package/dist/lifecycle/OriginalsAsset.d.ts +164 -0
  111. package/dist/lifecycle/OriginalsAsset.js +380 -0
  112. package/dist/lifecycle/ProvenanceQuery.d.ts +126 -0
  113. package/dist/lifecycle/ProvenanceQuery.js +220 -0
  114. package/dist/lifecycle/ResourceVersioning.d.ts +73 -0
  115. package/dist/lifecycle/ResourceVersioning.js +127 -0
  116. package/dist/migration/MigrationManager.d.ts +86 -0
  117. package/dist/migration/MigrationManager.js +412 -0
  118. package/dist/migration/audit/AuditLogger.d.ts +51 -0
  119. package/dist/migration/audit/AuditLogger.js +156 -0
  120. package/dist/migration/checkpoint/CheckpointManager.d.ts +31 -0
  121. package/dist/migration/checkpoint/CheckpointManager.js +96 -0
  122. package/dist/migration/checkpoint/CheckpointStorage.d.ts +26 -0
  123. package/dist/migration/checkpoint/CheckpointStorage.js +89 -0
  124. package/dist/migration/index.d.ts +22 -0
  125. package/{src/migration/index.ts → dist/migration/index.js} +0 -6
  126. package/dist/migration/operations/BaseMigration.d.ts +48 -0
  127. package/dist/migration/operations/BaseMigration.js +83 -0
  128. package/dist/migration/operations/PeerToBtcoMigration.d.ts +25 -0
  129. package/dist/migration/operations/PeerToBtcoMigration.js +67 -0
  130. package/dist/migration/operations/PeerToWebvhMigration.d.ts +19 -0
  131. package/dist/migration/operations/PeerToWebvhMigration.js +46 -0
  132. package/dist/migration/operations/WebvhToBtcoMigration.d.ts +25 -0
  133. package/dist/migration/operations/WebvhToBtcoMigration.js +67 -0
  134. package/dist/migration/rollback/RollbackManager.d.ts +29 -0
  135. package/dist/migration/rollback/RollbackManager.js +146 -0
  136. package/dist/migration/state/StateMachine.d.ts +25 -0
  137. package/dist/migration/state/StateMachine.js +76 -0
  138. package/dist/migration/state/StateTracker.d.ts +36 -0
  139. package/dist/migration/state/StateTracker.js +123 -0
  140. package/dist/migration/types.d.ts +306 -0
  141. package/dist/migration/types.js +33 -0
  142. package/dist/migration/validation/BitcoinValidator.d.ts +13 -0
  143. package/dist/migration/validation/BitcoinValidator.js +83 -0
  144. package/dist/migration/validation/CredentialValidator.d.ts +13 -0
  145. package/dist/migration/validation/CredentialValidator.js +46 -0
  146. package/dist/migration/validation/DIDCompatibilityValidator.d.ts +16 -0
  147. package/dist/migration/validation/DIDCompatibilityValidator.js +127 -0
  148. package/dist/migration/validation/LifecycleValidator.d.ts +10 -0
  149. package/dist/migration/validation/LifecycleValidator.js +52 -0
  150. package/dist/migration/validation/StorageValidator.d.ts +10 -0
  151. package/dist/migration/validation/StorageValidator.js +65 -0
  152. package/dist/migration/validation/ValidationPipeline.d.ts +29 -0
  153. package/dist/migration/validation/ValidationPipeline.js +180 -0
  154. package/dist/resources/ResourceManager.d.ts +231 -0
  155. package/dist/resources/ResourceManager.js +573 -0
  156. package/{src/resources/index.ts → dist/resources/index.d.ts} +3 -13
  157. package/dist/resources/index.js +10 -0
  158. package/dist/resources/types.d.ts +93 -0
  159. package/dist/resources/types.js +80 -0
  160. package/dist/storage/LocalStorageAdapter.d.ts +11 -0
  161. package/dist/storage/LocalStorageAdapter.js +53 -0
  162. package/dist/storage/MemoryStorageAdapter.d.ts +6 -0
  163. package/dist/storage/MemoryStorageAdapter.js +21 -0
  164. package/dist/storage/StorageAdapter.d.ts +16 -0
  165. package/dist/storage/StorageAdapter.js +1 -0
  166. package/{src/storage/index.ts → dist/storage/index.d.ts} +0 -1
  167. package/dist/storage/index.js +2 -0
  168. package/dist/types/bitcoin.d.ts +84 -0
  169. package/dist/types/bitcoin.js +1 -0
  170. package/dist/types/common.d.ts +82 -0
  171. package/dist/types/common.js +1 -0
  172. package/dist/types/credentials.d.ts +75 -0
  173. package/dist/types/credentials.js +1 -0
  174. package/dist/types/did.d.ts +26 -0
  175. package/dist/types/did.js +1 -0
  176. package/{src/types/index.ts → dist/types/index.d.ts} +0 -2
  177. package/dist/types/index.js +5 -0
  178. package/dist/types/network.d.ts +78 -0
  179. package/dist/types/network.js +145 -0
  180. package/dist/utils/EventLogger.d.ts +71 -0
  181. package/dist/utils/EventLogger.js +232 -0
  182. package/dist/utils/Logger.d.ts +106 -0
  183. package/dist/utils/Logger.js +257 -0
  184. package/dist/utils/MetricsCollector.d.ts +110 -0
  185. package/dist/utils/MetricsCollector.js +264 -0
  186. package/dist/utils/bitcoin-address.d.ts +38 -0
  187. package/dist/utils/bitcoin-address.js +113 -0
  188. package/dist/utils/cbor.d.ts +2 -0
  189. package/dist/utils/cbor.js +9 -0
  190. package/dist/utils/encoding.d.ts +37 -0
  191. package/dist/utils/encoding.js +120 -0
  192. package/dist/utils/hash.d.ts +1 -0
  193. package/dist/utils/hash.js +5 -0
  194. package/dist/utils/retry.d.ts +10 -0
  195. package/dist/utils/retry.js +35 -0
  196. package/dist/utils/satoshi-validation.d.ts +60 -0
  197. package/dist/utils/satoshi-validation.js +156 -0
  198. package/dist/utils/serialization.d.ts +14 -0
  199. package/dist/utils/serialization.js +76 -0
  200. package/dist/utils/telemetry.d.ts +17 -0
  201. package/dist/utils/telemetry.js +24 -0
  202. package/dist/utils/validation.d.ts +5 -0
  203. package/dist/utils/validation.js +98 -0
  204. package/dist/vc/CredentialManager.d.ts +329 -0
  205. package/dist/vc/CredentialManager.js +615 -0
  206. package/dist/vc/Issuer.d.ts +27 -0
  207. package/dist/vc/Issuer.js +70 -0
  208. package/dist/vc/Verifier.d.ts +16 -0
  209. package/dist/vc/Verifier.js +50 -0
  210. package/dist/vc/cryptosuites/bbs.d.ts +44 -0
  211. package/dist/vc/cryptosuites/bbs.js +213 -0
  212. package/dist/vc/cryptosuites/bbsSimple.d.ts +9 -0
  213. package/dist/vc/cryptosuites/bbsSimple.js +12 -0
  214. package/dist/vc/cryptosuites/eddsa.d.ts +30 -0
  215. package/dist/vc/cryptosuites/eddsa.js +81 -0
  216. package/dist/vc/documentLoader.d.ts +16 -0
  217. package/dist/vc/documentLoader.js +59 -0
  218. package/dist/vc/proofs/data-integrity.d.ts +21 -0
  219. package/dist/vc/proofs/data-integrity.js +15 -0
  220. package/dist/vc/utils/jsonld.d.ts +2 -0
  221. package/dist/vc/utils/jsonld.js +15 -0
  222. package/package.json +5 -1
  223. package/.eslintrc.json +0 -33
  224. package/src/adapters/FeeOracleMock.ts +0 -9
  225. package/src/adapters/providers/OrdHttpProvider.ts +0 -126
  226. package/src/adapters/providers/OrdMockProvider.ts +0 -101
  227. package/src/adapters/types.ts +0 -66
  228. package/src/bitcoin/BitcoinManager.ts +0 -330
  229. package/src/bitcoin/BroadcastClient.ts +0 -54
  230. package/src/bitcoin/OrdinalsClient.ts +0 -119
  231. package/src/bitcoin/PSBTBuilder.ts +0 -106
  232. package/src/bitcoin/providers/OrdNodeProvider.ts +0 -92
  233. package/src/bitcoin/providers/OrdinalsProvider.ts +0 -56
  234. package/src/bitcoin/providers/types.ts +0 -59
  235. package/src/bitcoin/transactions/commit.ts +0 -465
  236. package/src/bitcoin/transfer.ts +0 -43
  237. package/src/bitcoin/utxo-selection.ts +0 -322
  238. package/src/bitcoin/utxo.ts +0 -113
  239. package/src/contexts/credentials-v1.json +0 -237
  240. package/src/contexts/credentials-v2-examples.json +0 -5
  241. package/src/contexts/credentials-v2.json +0 -340
  242. package/src/contexts/credentials.json +0 -237
  243. package/src/contexts/data-integrity-v2.json +0 -81
  244. package/src/contexts/dids.json +0 -58
  245. package/src/contexts/ed255192020.json +0 -93
  246. package/src/contexts/ordinals-plus.json +0 -23
  247. package/src/contexts/originals.json +0 -22
  248. package/src/core/OriginalsSDK.ts +0 -416
  249. package/src/crypto/Multikey.ts +0 -194
  250. package/src/crypto/Signer.ts +0 -254
  251. package/src/crypto/noble-init.ts +0 -121
  252. package/src/did/BtcoDidResolver.ts +0 -227
  253. package/src/did/DIDManager.ts +0 -694
  254. package/src/did/Ed25519Verifier.ts +0 -68
  255. package/src/did/KeyManager.ts +0 -236
  256. package/src/did/WebVHManager.ts +0 -498
  257. package/src/did/createBtcoDidDocument.ts +0 -59
  258. package/src/did/providers/OrdinalsClientProviderAdapter.ts +0 -68
  259. package/src/events/EventEmitter.ts +0 -222
  260. package/src/events/index.ts +0 -19
  261. package/src/events/types.ts +0 -331
  262. package/src/examples/basic-usage.ts +0 -78
  263. package/src/examples/create-module-original.ts +0 -435
  264. package/src/examples/full-lifecycle-flow.ts +0 -514
  265. package/src/examples/run.ts +0 -60
  266. package/src/index.ts +0 -150
  267. package/src/kinds/KindRegistry.ts +0 -290
  268. package/src/kinds/types.ts +0 -470
  269. package/src/kinds/validators/AgentValidator.ts +0 -257
  270. package/src/kinds/validators/AppValidator.ts +0 -211
  271. package/src/kinds/validators/DatasetValidator.ts +0 -242
  272. package/src/kinds/validators/DocumentValidator.ts +0 -311
  273. package/src/kinds/validators/MediaValidator.ts +0 -269
  274. package/src/kinds/validators/ModuleValidator.ts +0 -225
  275. package/src/kinds/validators/base.ts +0 -276
  276. package/src/lifecycle/BatchOperations.ts +0 -373
  277. package/src/lifecycle/LifecycleManager.ts +0 -2126
  278. package/src/lifecycle/OriginalsAsset.ts +0 -524
  279. package/src/lifecycle/ProvenanceQuery.ts +0 -280
  280. package/src/lifecycle/ResourceVersioning.ts +0 -163
  281. package/src/migration/MigrationManager.ts +0 -527
  282. package/src/migration/audit/AuditLogger.ts +0 -176
  283. package/src/migration/checkpoint/CheckpointManager.ts +0 -112
  284. package/src/migration/checkpoint/CheckpointStorage.ts +0 -101
  285. package/src/migration/operations/BaseMigration.ts +0 -126
  286. package/src/migration/operations/PeerToBtcoMigration.ts +0 -105
  287. package/src/migration/operations/PeerToWebvhMigration.ts +0 -62
  288. package/src/migration/operations/WebvhToBtcoMigration.ts +0 -105
  289. package/src/migration/rollback/RollbackManager.ts +0 -170
  290. package/src/migration/state/StateMachine.ts +0 -92
  291. package/src/migration/state/StateTracker.ts +0 -156
  292. package/src/migration/types.ts +0 -344
  293. package/src/migration/validation/BitcoinValidator.ts +0 -107
  294. package/src/migration/validation/CredentialValidator.ts +0 -62
  295. package/src/migration/validation/DIDCompatibilityValidator.ts +0 -151
  296. package/src/migration/validation/LifecycleValidator.ts +0 -64
  297. package/src/migration/validation/StorageValidator.ts +0 -79
  298. package/src/migration/validation/ValidationPipeline.ts +0 -213
  299. package/src/resources/ResourceManager.ts +0 -655
  300. package/src/resources/types.ts +0 -202
  301. package/src/storage/LocalStorageAdapter.ts +0 -61
  302. package/src/storage/MemoryStorageAdapter.ts +0 -29
  303. package/src/storage/StorageAdapter.ts +0 -25
  304. package/src/types/bitcoin.ts +0 -98
  305. package/src/types/common.ts +0 -92
  306. package/src/types/credentials.ts +0 -88
  307. package/src/types/did.ts +0 -31
  308. package/src/types/external-shims.d.ts +0 -53
  309. package/src/types/network.ts +0 -175
  310. package/src/utils/EventLogger.ts +0 -298
  311. package/src/utils/Logger.ts +0 -322
  312. package/src/utils/MetricsCollector.ts +0 -358
  313. package/src/utils/bitcoin-address.ts +0 -130
  314. package/src/utils/cbor.ts +0 -12
  315. package/src/utils/encoding.ts +0 -127
  316. package/src/utils/hash.ts +0 -6
  317. package/src/utils/retry.ts +0 -46
  318. package/src/utils/satoshi-validation.ts +0 -196
  319. package/src/utils/serialization.ts +0 -96
  320. package/src/utils/telemetry.ts +0 -40
  321. package/src/utils/validation.ts +0 -119
  322. package/src/vc/CredentialManager.ts +0 -918
  323. package/src/vc/Issuer.ts +0 -100
  324. package/src/vc/Verifier.ts +0 -47
  325. package/src/vc/cryptosuites/bbs.ts +0 -253
  326. package/src/vc/cryptosuites/bbsSimple.ts +0 -21
  327. package/src/vc/cryptosuites/eddsa.ts +0 -99
  328. package/src/vc/documentLoader.ts +0 -67
  329. package/src/vc/proofs/data-integrity.ts +0 -33
  330. package/src/vc/utils/jsonld.ts +0 -18
  331. package/tests/__mocks__/bbs-signatures.js +0 -17
  332. package/tests/__mocks__/mf-base58.js +0 -24
  333. package/tests/fixtures/did-documents.ts +0 -247
  334. package/tests/index.test.ts +0 -21
  335. package/tests/integration/BatchOperations.test.ts +0 -531
  336. package/tests/integration/CompleteLifecycle.e2e.test.ts +0 -735
  337. package/tests/integration/CredentialManager.test.ts +0 -42
  338. package/tests/integration/DIDManager.test.ts +0 -41
  339. package/tests/integration/DidPeerToWebVhFlow.test.ts +0 -351
  340. package/tests/integration/Events.test.ts +0 -435
  341. package/tests/integration/Lifecycle.transfer.btco.integration.test.ts +0 -25
  342. package/tests/integration/LifecycleManager.test.ts +0 -21
  343. package/tests/integration/MultikeyFlow.test.ts +0 -52
  344. package/tests/integration/TelemetryIntegration.test.ts +0 -395
  345. package/tests/integration/WebVhPublish.test.ts +0 -48
  346. package/tests/integration/createTypedOriginal.test.ts +0 -379
  347. package/tests/integration/migration/peer-to-webvh.test.ts +0 -172
  348. package/tests/manual/test-commit-creation.ts +0 -323
  349. package/tests/mocks/MockKeyStore.ts +0 -38
  350. package/tests/mocks/adapters/MemoryStorageAdapter.ts +0 -24
  351. package/tests/mocks/adapters/MockFeeOracle.ts +0 -11
  352. package/tests/mocks/adapters/MockOrdinalsProvider.ts +0 -76
  353. package/tests/mocks/adapters/OrdMockProvider.test.ts +0 -176
  354. package/tests/mocks/adapters/index.ts +0 -6
  355. package/tests/performance/BatchOperations.perf.test.ts +0 -403
  356. package/tests/performance/logging.perf.test.ts +0 -336
  357. package/tests/sdk.test.ts +0 -43
  358. package/tests/security/bitcoin-penetration-tests.test.ts +0 -622
  359. package/tests/setup.bun.ts +0 -69
  360. package/tests/setup.jest.ts +0 -23
  361. package/tests/stress/batch-operations-stress.test.ts +0 -571
  362. package/tests/unit/adapters/FeeOracleMock.test.ts +0 -40
  363. package/tests/unit/bitcoin/BitcoinManager.test.ts +0 -293
  364. package/tests/unit/bitcoin/BroadcastClient.test.ts +0 -52
  365. package/tests/unit/bitcoin/OrdNodeProvider.test.ts +0 -53
  366. package/tests/unit/bitcoin/OrdinalsClient.test.ts +0 -381
  367. package/tests/unit/bitcoin/OrdinalsClientProvider.test.ts +0 -102
  368. package/tests/unit/bitcoin/PSBTBuilder.test.ts +0 -84
  369. package/tests/unit/bitcoin/fee-calculation.test.ts +0 -261
  370. package/tests/unit/bitcoin/transactions/commit.test.ts +0 -649
  371. package/tests/unit/bitcoin/transfer.test.ts +0 -31
  372. package/tests/unit/bitcoin/utxo-selection-new.test.ts +0 -502
  373. package/tests/unit/bitcoin/utxo.more.test.ts +0 -39
  374. package/tests/unit/bitcoin/utxo.selection.test.ts +0 -38
  375. package/tests/unit/core/OriginalsSDK.test.ts +0 -152
  376. package/tests/unit/crypto/Multikey.test.ts +0 -206
  377. package/tests/unit/crypto/Signer.test.ts +0 -408
  378. package/tests/unit/did/BtcoDidResolver.test.ts +0 -611
  379. package/tests/unit/did/DIDManager.more.test.ts +0 -43
  380. package/tests/unit/did/DIDManager.test.ts +0 -185
  381. package/tests/unit/did/Ed25519Verifier.test.ts +0 -160
  382. package/tests/unit/did/KeyManager.test.ts +0 -452
  383. package/tests/unit/did/OrdinalsClientProviderAdapter.test.ts +0 -45
  384. package/tests/unit/did/WebVHManager.test.ts +0 -435
  385. package/tests/unit/did/createBtcoDidDocument.test.ts +0 -67
  386. package/tests/unit/did/providers/OrdinalsClientProviderAdapter.test.ts +0 -159
  387. package/tests/unit/events/EventEmitter.test.ts +0 -407
  388. package/tests/unit/kinds/KindRegistry.test.ts +0 -329
  389. package/tests/unit/kinds/types.test.ts +0 -409
  390. package/tests/unit/kinds/validators.test.ts +0 -651
  391. package/tests/unit/lifecycle/BatchOperations.test.ts +0 -527
  392. package/tests/unit/lifecycle/LifecycleManager.cleanapi.test.ts +0 -441
  393. package/tests/unit/lifecycle/LifecycleManager.keymanagement.test.ts +0 -312
  394. package/tests/unit/lifecycle/LifecycleManager.prov.test.ts +0 -18
  395. package/tests/unit/lifecycle/LifecycleManager.test.ts +0 -213
  396. package/tests/unit/lifecycle/LifecycleManager.transfer.unit.test.ts +0 -30
  397. package/tests/unit/lifecycle/OriginalsAsset.test.ts +0 -176
  398. package/tests/unit/lifecycle/ProvenanceQuery.test.ts +0 -577
  399. package/tests/unit/lifecycle/ResourceVersioning.test.ts +0 -651
  400. package/tests/unit/resources/ResourceManager.test.ts +0 -740
  401. package/tests/unit/storage/MemoryStorageAdapter.test.ts +0 -93
  402. package/tests/unit/types/network.test.ts +0 -255
  403. package/tests/unit/utils/EventIntegration.test.ts +0 -384
  404. package/tests/unit/utils/Logger.test.ts +0 -473
  405. package/tests/unit/utils/MetricsCollector.test.ts +0 -358
  406. package/tests/unit/utils/bitcoin-address.test.ts +0 -250
  407. package/tests/unit/utils/cbor.test.ts +0 -35
  408. package/tests/unit/utils/encoding.test.ts +0 -318
  409. package/tests/unit/utils/hash.test.ts +0 -12
  410. package/tests/unit/utils/retry.test.ts +0 -100
  411. package/tests/unit/utils/satoshi-validation.test.ts +0 -354
  412. package/tests/unit/utils/serialization.test.ts +0 -124
  413. package/tests/unit/utils/telemetry.test.ts +0 -52
  414. package/tests/unit/utils/validation.test.ts +0 -141
  415. package/tests/unit/vc/CredentialManager.helpers.test.ts +0 -527
  416. package/tests/unit/vc/CredentialManager.test.ts +0 -487
  417. package/tests/unit/vc/Issuer.test.ts +0 -107
  418. package/tests/unit/vc/Verifier.test.ts +0 -525
  419. package/tests/unit/vc/bbs.test.ts +0 -282
  420. package/tests/unit/vc/cryptosuites/eddsa.test.ts +0 -398
  421. package/tests/unit/vc/documentLoader.test.ts +0 -121
  422. package/tests/unit/vc/proofs/data-integrity.test.ts +0 -24
  423. package/tsconfig.json +0 -31
  424. package/tsconfig.test.json +0 -15
@@ -0,0 +1,220 @@
1
+ /**
2
+ * Base query class for provenance inspection
3
+ */
4
+ export class ProvenanceQuery {
5
+ constructor(provenance) {
6
+ this.provenance = provenance;
7
+ }
8
+ /**
9
+ * Query migrations
10
+ */
11
+ migrations() {
12
+ return new MigrationQuery(this.provenance, this.afterDate, this.beforeDate);
13
+ }
14
+ /**
15
+ * Query transfers
16
+ */
17
+ transfers() {
18
+ return new TransferQuery(this.provenance, this.afterDate, this.beforeDate);
19
+ }
20
+ /**
21
+ * Filter by date range - after a specific date
22
+ */
23
+ after(date) {
24
+ this.afterDate = typeof date === 'string' ? new Date(date) : date;
25
+ return this;
26
+ }
27
+ /**
28
+ * Filter by date range - before a specific date
29
+ */
30
+ before(date) {
31
+ this.beforeDate = typeof date === 'string' ? new Date(date) : date;
32
+ return this;
33
+ }
34
+ /**
35
+ * Filter by date range - between two dates
36
+ */
37
+ between(start, end) {
38
+ this.afterDate = typeof start === 'string' ? new Date(start) : start;
39
+ this.beforeDate = typeof end === 'string' ? new Date(end) : end;
40
+ return this;
41
+ }
42
+ /**
43
+ * Get count of results
44
+ */
45
+ count() {
46
+ return this.all().length;
47
+ }
48
+ /**
49
+ * Get first result
50
+ */
51
+ first() {
52
+ const results = this.all();
53
+ return results.length > 0 ? results[0] : null;
54
+ }
55
+ /**
56
+ * Get last result
57
+ */
58
+ last() {
59
+ const results = this.all();
60
+ return results.length > 0 ? results[results.length - 1] : null;
61
+ }
62
+ /**
63
+ * Get all results
64
+ */
65
+ all() {
66
+ const merged = [...this.provenance.migrations, ...this.provenance.transfers];
67
+ const filtered = this.applyDateFilters(merged);
68
+ return filtered.sort((a, b) => new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime());
69
+ }
70
+ /**
71
+ * Apply date filters to items
72
+ */
73
+ applyDateFilters(items) {
74
+ let filtered = items;
75
+ if (this.afterDate) {
76
+ filtered = filtered.filter(item => new Date(item.timestamp) > this.afterDate);
77
+ }
78
+ if (this.beforeDate) {
79
+ filtered = filtered.filter(item => new Date(item.timestamp) < this.beforeDate);
80
+ }
81
+ return filtered;
82
+ }
83
+ }
84
+ /**
85
+ * Query class for migrations
86
+ */
87
+ export class MigrationQuery extends ProvenanceQuery {
88
+ constructor(provenance, afterDate, beforeDate) {
89
+ super(provenance);
90
+ this.afterDate = afterDate;
91
+ this.beforeDate = beforeDate;
92
+ }
93
+ /**
94
+ * Filter by source layer
95
+ */
96
+ fromLayer(layer) {
97
+ this.fromLayerFilter = layer;
98
+ return this;
99
+ }
100
+ /**
101
+ * Filter by destination layer
102
+ */
103
+ toLayer(layer) {
104
+ this.toLayerFilter = layer;
105
+ return this;
106
+ }
107
+ /**
108
+ * Filter by transaction ID
109
+ */
110
+ withTransaction(txId) {
111
+ this.transactionIdFilter = txId;
112
+ return this;
113
+ }
114
+ /**
115
+ * Filter by inscription ID
116
+ */
117
+ withInscription(inscriptionId) {
118
+ this.inscriptionIdFilter = inscriptionId;
119
+ return this;
120
+ }
121
+ /**
122
+ * Get all filtered migrations
123
+ */
124
+ all() {
125
+ let results = [...this.provenance.migrations];
126
+ // Apply date filters
127
+ results = this.applyDateFilters(results);
128
+ // Apply layer filters
129
+ if (this.fromLayerFilter) {
130
+ results = results.filter(m => m.from === this.fromLayerFilter);
131
+ }
132
+ if (this.toLayerFilter) {
133
+ results = results.filter(m => m.to === this.toLayerFilter);
134
+ }
135
+ // Apply transaction ID filter
136
+ if (this.transactionIdFilter) {
137
+ results = results.filter(m => m.transactionId === this.transactionIdFilter);
138
+ }
139
+ // Apply inscription ID filter
140
+ if (this.inscriptionIdFilter) {
141
+ results = results.filter(m => m.inscriptionId === this.inscriptionIdFilter);
142
+ }
143
+ return results;
144
+ }
145
+ /**
146
+ * Override migrations to return this (method chaining)
147
+ */
148
+ migrations() {
149
+ return this;
150
+ }
151
+ /**
152
+ * Override transfers to create new TransferQuery with date filters
153
+ */
154
+ transfers() {
155
+ return new TransferQuery(this.provenance, this.afterDate, this.beforeDate);
156
+ }
157
+ }
158
+ /**
159
+ * Query class for transfers
160
+ */
161
+ export class TransferQuery extends ProvenanceQuery {
162
+ constructor(provenance, afterDate, beforeDate) {
163
+ super(provenance);
164
+ this.afterDate = afterDate;
165
+ this.beforeDate = beforeDate;
166
+ }
167
+ /**
168
+ * Filter by source address
169
+ */
170
+ from(address) {
171
+ this.fromAddressFilter = address;
172
+ return this;
173
+ }
174
+ /**
175
+ * Filter by destination address
176
+ */
177
+ to(address) {
178
+ this.toAddressFilter = address;
179
+ return this;
180
+ }
181
+ /**
182
+ * Filter by transaction ID
183
+ */
184
+ withTransaction(txId) {
185
+ this.transactionIdFilter = txId;
186
+ return this;
187
+ }
188
+ /**
189
+ * Get all filtered transfers
190
+ */
191
+ all() {
192
+ let results = [...this.provenance.transfers];
193
+ // Apply date filters
194
+ results = this.applyDateFilters(results);
195
+ // Apply address filters
196
+ if (this.fromAddressFilter) {
197
+ results = results.filter(t => t.from === this.fromAddressFilter);
198
+ }
199
+ if (this.toAddressFilter) {
200
+ results = results.filter(t => t.to === this.toAddressFilter);
201
+ }
202
+ // Apply transaction ID filter
203
+ if (this.transactionIdFilter) {
204
+ results = results.filter(t => t.transactionId === this.transactionIdFilter);
205
+ }
206
+ return results;
207
+ }
208
+ /**
209
+ * Override transfers to return this (method chaining)
210
+ */
211
+ transfers() {
212
+ return this;
213
+ }
214
+ /**
215
+ * Override migrations to create new MigrationQuery with date filters
216
+ */
217
+ migrations() {
218
+ return new MigrationQuery(this.provenance, this.afterDate, this.beforeDate);
219
+ }
220
+ }
@@ -0,0 +1,73 @@
1
+ /**
2
+ * ResourceVersioning module for immutable resource versioning with verifiable provenance.
3
+ *
4
+ * Resources in the Originals SDK are immutable and content-addressed. "Versioning" means
5
+ * creating a new immutable resource instance with a new hash and linking it to the prior
6
+ * version via previousVersionHash. Old versions remain accessible.
7
+ */
8
+ export interface ResourceVersion {
9
+ version: number;
10
+ hash: string;
11
+ timestamp: string;
12
+ contentType: string;
13
+ changes?: string;
14
+ previousVersionHash?: string;
15
+ }
16
+ export interface ResourceHistory {
17
+ resourceId: string;
18
+ versions: ResourceVersion[];
19
+ currentVersion: ResourceVersion;
20
+ }
21
+ /**
22
+ * ResourceVersionManager manages the versioning of immutable resources.
23
+ * Each version is a separate resource with a unique content hash, linked to
24
+ * its predecessor via previousVersionHash.
25
+ */
26
+ export declare class ResourceVersionManager {
27
+ private versionMap;
28
+ constructor();
29
+ /**
30
+ * Add a new version for a resource
31
+ * @param resourceId - Logical resource ID (stable across versions)
32
+ * @param hash - Content hash of the new version
33
+ * @param contentType - Content type of the resource
34
+ * @param previousVersionHash - Hash of the previous version (optional for v1)
35
+ * @param changes - Optional description of changes
36
+ */
37
+ addVersion(resourceId: string, hash: string, contentType: string, previousVersionHash?: string, changes?: string): void;
38
+ /**
39
+ * Get the complete version history for a resource
40
+ * @param resourceId - Logical resource ID
41
+ * @returns ResourceHistory or null if resource doesn't exist
42
+ */
43
+ getHistory(resourceId: string): ResourceHistory | null;
44
+ /**
45
+ * Get a specific version of a resource
46
+ * @param resourceId - Logical resource ID
47
+ * @param version - Version number (1-indexed)
48
+ * @returns ResourceVersion or null if not found
49
+ */
50
+ getVersion(resourceId: string, version: number): ResourceVersion | null;
51
+ /**
52
+ * Get the current (latest) version of a resource
53
+ * @param resourceId - Logical resource ID
54
+ * @returns ResourceVersion or null if not found
55
+ */
56
+ getCurrentVersion(resourceId: string): ResourceVersion | null;
57
+ /**
58
+ * Verify the integrity of the version chain for a resource.
59
+ * Ensures that:
60
+ * - Version numbers are sequential starting at 1
61
+ * - Each version (except v1) has a previousVersionHash
62
+ * - Each previousVersionHash matches the actual previous version's hash
63
+ *
64
+ * @param resourceId - Logical resource ID
65
+ * @returns true if the chain is valid, false otherwise
66
+ */
67
+ verifyChain(resourceId: string): boolean;
68
+ /**
69
+ * Serialize the version manager state to JSON
70
+ * @returns Object representation of all version data
71
+ */
72
+ toJSON(): object;
73
+ }
@@ -0,0 +1,127 @@
1
+ /**
2
+ * ResourceVersioning module for immutable resource versioning with verifiable provenance.
3
+ *
4
+ * Resources in the Originals SDK are immutable and content-addressed. "Versioning" means
5
+ * creating a new immutable resource instance with a new hash and linking it to the prior
6
+ * version via previousVersionHash. Old versions remain accessible.
7
+ */
8
+ /**
9
+ * ResourceVersionManager manages the versioning of immutable resources.
10
+ * Each version is a separate resource with a unique content hash, linked to
11
+ * its predecessor via previousVersionHash.
12
+ */
13
+ export class ResourceVersionManager {
14
+ constructor() {
15
+ this.versionMap = new Map();
16
+ }
17
+ /**
18
+ * Add a new version for a resource
19
+ * @param resourceId - Logical resource ID (stable across versions)
20
+ * @param hash - Content hash of the new version
21
+ * @param contentType - Content type of the resource
22
+ * @param previousVersionHash - Hash of the previous version (optional for v1)
23
+ * @param changes - Optional description of changes
24
+ */
25
+ addVersion(resourceId, hash, contentType, previousVersionHash, changes) {
26
+ const versions = this.versionMap.get(resourceId) || [];
27
+ const version = {
28
+ version: versions.length + 1,
29
+ hash,
30
+ timestamp: new Date().toISOString(),
31
+ contentType,
32
+ changes,
33
+ previousVersionHash
34
+ };
35
+ versions.push(version);
36
+ this.versionMap.set(resourceId, versions);
37
+ }
38
+ /**
39
+ * Get the complete version history for a resource
40
+ * @param resourceId - Logical resource ID
41
+ * @returns ResourceHistory or null if resource doesn't exist
42
+ */
43
+ getHistory(resourceId) {
44
+ const versions = this.versionMap.get(resourceId);
45
+ if (!versions || versions.length === 0) {
46
+ return null;
47
+ }
48
+ return {
49
+ resourceId,
50
+ versions: [...versions],
51
+ currentVersion: versions[versions.length - 1]
52
+ };
53
+ }
54
+ /**
55
+ * Get a specific version of a resource
56
+ * @param resourceId - Logical resource ID
57
+ * @param version - Version number (1-indexed)
58
+ * @returns ResourceVersion or null if not found
59
+ */
60
+ getVersion(resourceId, version) {
61
+ const versions = this.versionMap.get(resourceId);
62
+ if (!versions || version < 1 || version > versions.length) {
63
+ return null;
64
+ }
65
+ return versions[version - 1];
66
+ }
67
+ /**
68
+ * Get the current (latest) version of a resource
69
+ * @param resourceId - Logical resource ID
70
+ * @returns ResourceVersion or null if not found
71
+ */
72
+ getCurrentVersion(resourceId) {
73
+ const versions = this.versionMap.get(resourceId);
74
+ if (!versions || versions.length === 0) {
75
+ return null;
76
+ }
77
+ return versions[versions.length - 1];
78
+ }
79
+ /**
80
+ * Verify the integrity of the version chain for a resource.
81
+ * Ensures that:
82
+ * - Version numbers are sequential starting at 1
83
+ * - Each version (except v1) has a previousVersionHash
84
+ * - Each previousVersionHash matches the actual previous version's hash
85
+ *
86
+ * @param resourceId - Logical resource ID
87
+ * @returns true if the chain is valid, false otherwise
88
+ */
89
+ verifyChain(resourceId) {
90
+ const versions = this.versionMap.get(resourceId);
91
+ if (!versions || versions.length === 0) {
92
+ return false;
93
+ }
94
+ for (let i = 0; i < versions.length; i++) {
95
+ const version = versions[i];
96
+ // Check version number is sequential
97
+ if (version.version !== i + 1) {
98
+ return false;
99
+ }
100
+ // First version should not have previousVersionHash
101
+ if (i === 0) {
102
+ if (version.previousVersionHash !== undefined) {
103
+ return false;
104
+ }
105
+ }
106
+ else {
107
+ // Subsequent versions must have previousVersionHash matching the prior version
108
+ const prevVersion = versions[i - 1];
109
+ if (version.previousVersionHash !== prevVersion.hash) {
110
+ return false;
111
+ }
112
+ }
113
+ }
114
+ return true;
115
+ }
116
+ /**
117
+ * Serialize the version manager state to JSON
118
+ * @returns Object representation of all version data
119
+ */
120
+ toJSON() {
121
+ const result = {};
122
+ for (const [resourceId, versions] of this.versionMap.entries()) {
123
+ result[resourceId] = versions;
124
+ }
125
+ return result;
126
+ }
127
+ }
@@ -0,0 +1,86 @@
1
+ /**
2
+ * MigrationManager - Main orchestrator for DID layer migrations
3
+ * Coordinates validation, checkpoints, rollbacks, state tracking, and audit logging
4
+ */
5
+ import { MigrationOptions, MigrationResult, BatchMigrationOptions, BatchMigrationResult, CostEstimate } from './types';
6
+ import { OriginalsConfig } from '../types';
7
+ import { DIDManager } from '../did/DIDManager';
8
+ import { CredentialManager } from '../vc/CredentialManager';
9
+ import { BitcoinManager } from '../bitcoin/BitcoinManager';
10
+ export declare class MigrationManager {
11
+ private config;
12
+ private didManager;
13
+ private credentialManager;
14
+ private bitcoinManager?;
15
+ private static instance;
16
+ private validationPipeline;
17
+ private checkpointManager;
18
+ private rollbackManager;
19
+ private stateTracker;
20
+ private eventEmitter;
21
+ private inMemoryAuditRecords;
22
+ private peerToWebvh;
23
+ private webvhToBtco;
24
+ private peerToBtco;
25
+ private constructor();
26
+ /**
27
+ * Get singleton instance
28
+ */
29
+ static getInstance(config?: OriginalsConfig, didManager?: DIDManager, credentialManager?: CredentialManager, bitcoinManager?: BitcoinManager): MigrationManager;
30
+ /**
31
+ * Reset singleton instance (primarily for testing)
32
+ */
33
+ static resetInstance(): void;
34
+ /**
35
+ * Main migration method
36
+ */
37
+ migrate(options: MigrationOptions): Promise<MigrationResult>;
38
+ /**
39
+ * Estimate migration cost without executing
40
+ */
41
+ estimateMigrationCost(sourceDid: string, targetLayer: string, feeRate?: number): Promise<CostEstimate>;
42
+ /**
43
+ * Get migration status
44
+ */
45
+ getMigrationStatus(migrationId: string): Promise<any>;
46
+ /**
47
+ * Rollback a migration
48
+ */
49
+ rollback(migrationId: string): Promise<any>;
50
+ /**
51
+ * Get migration history for a DID
52
+ * TODO: AuditLogger temporarily disabled for v1.0 release
53
+ * Returns in-memory audit records (unsigned) - will use proper AuditLogger in v1.1
54
+ */
55
+ getMigrationHistory(did: string): Promise<any[]>;
56
+ /**
57
+ * Batch migration
58
+ */
59
+ migrateBatch(dids: string[], targetLayer: string, options?: BatchMigrationOptions): Promise<BatchMigrationResult>;
60
+ /**
61
+ * Handle migration failure with automatic rollback
62
+ */
63
+ private handleMigrationFailure;
64
+ /**
65
+ * Get appropriate migration operation handler
66
+ */
67
+ private getMigrationOperation;
68
+ /**
69
+ * Store audit record in memory for v1.0
70
+ * Stores by both source and target DID for easy lookup
71
+ * TODO: Remove in v1.1 when AuditLogger is re-enabled with signatures
72
+ */
73
+ private storeAuditRecordInMemory;
74
+ /**
75
+ * Extract layer from DID
76
+ */
77
+ private extractLayer;
78
+ /**
79
+ * Create migration error
80
+ */
81
+ private createMigrationError;
82
+ /**
83
+ * Emit event
84
+ */
85
+ private emitEvent;
86
+ }