@europeum-ebsi/cli 0.0.0 → 1.0.0-rc.0

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 (384) hide show
  1. package/LICENSE.txt +289 -289
  2. package/LICENSES.txt +538 -0
  3. package/README.md +1140 -98
  4. package/dist/api/client.d.ts +4 -0
  5. package/dist/api/client.d.ts.map +1 -0
  6. package/dist/api/client.js +14 -0
  7. package/dist/api/client.js.map +1 -0
  8. package/dist/api/fetch.d.ts +13 -0
  9. package/dist/api/fetch.d.ts.map +1 -0
  10. package/dist/api/fetch.js +30 -0
  11. package/dist/api/fetch.js.map +1 -0
  12. package/dist/api/params.d.ts +4 -0
  13. package/dist/api/params.d.ts.map +1 -0
  14. package/dist/api/params.js +9 -0
  15. package/dist/api/params.js.map +1 -0
  16. package/dist/auth/dcql.d.ts +5 -0
  17. package/dist/auth/dcql.d.ts.map +1 -0
  18. package/dist/auth/dcql.js +41 -0
  19. package/dist/auth/dcql.js.map +1 -0
  20. package/dist/auth/presentation.d.ts +30 -0
  21. package/dist/auth/presentation.d.ts.map +1 -0
  22. package/dist/auth/presentation.js +99 -0
  23. package/dist/auth/presentation.js.map +1 -0
  24. package/dist/auth/token.d.ts +11 -0
  25. package/dist/auth/token.d.ts.map +1 -0
  26. package/dist/auth/token.js +116 -0
  27. package/dist/auth/token.js.map +1 -0
  28. package/dist/cli.d.ts +3 -0
  29. package/dist/cli.d.ts.map +1 -0
  30. package/dist/cli.js +96 -10
  31. package/dist/cli.js.map +1 -1
  32. package/dist/commands/auth.d.ts +3 -0
  33. package/dist/commands/auth.d.ts.map +1 -0
  34. package/dist/commands/auth.js +99 -0
  35. package/dist/commands/auth.js.map +1 -0
  36. package/dist/commands/config-cmd.d.ts +3 -0
  37. package/dist/commands/config-cmd.d.ts.map +1 -0
  38. package/dist/commands/config-cmd.js +86 -0
  39. package/dist/commands/config-cmd.js.map +1 -0
  40. package/dist/commands/contracts-registry.d.ts +3 -0
  41. package/dist/commands/contracts-registry.d.ts.map +1 -0
  42. package/dist/commands/contracts-registry.js +132 -0
  43. package/dist/commands/contracts-registry.js.map +1 -0
  44. package/dist/commands/did-registry.d.ts +3 -0
  45. package/dist/commands/did-registry.d.ts.map +1 -0
  46. package/dist/commands/did-registry.js +110 -0
  47. package/dist/commands/did-registry.js.map +1 -0
  48. package/dist/commands/faucet.d.ts +3 -0
  49. package/dist/commands/faucet.d.ts.map +1 -0
  50. package/dist/commands/faucet.js +78 -0
  51. package/dist/commands/faucet.js.map +1 -0
  52. package/dist/commands/health.d.ts +3 -0
  53. package/dist/commands/health.d.ts.map +1 -0
  54. package/dist/commands/health.js +20 -0
  55. package/dist/commands/health.js.map +1 -0
  56. package/dist/commands/issuers-registry.d.ts +3 -0
  57. package/dist/commands/issuers-registry.d.ts.map +1 -0
  58. package/dist/commands/issuers-registry.js +340 -0
  59. package/dist/commands/issuers-registry.js.map +1 -0
  60. package/dist/commands/ledger.d.ts +3 -0
  61. package/dist/commands/ledger.d.ts.map +1 -0
  62. package/dist/commands/ledger.js +549 -372
  63. package/dist/commands/ledger.js.map +1 -1
  64. package/dist/commands/onboarding.d.ts +3 -0
  65. package/dist/commands/onboarding.d.ts.map +1 -0
  66. package/dist/commands/onboarding.js +301 -0
  67. package/dist/commands/onboarding.js.map +1 -0
  68. package/dist/commands/openapi.d.ts +3 -0
  69. package/dist/commands/openapi.d.ts.map +1 -0
  70. package/dist/commands/openapi.js +37 -0
  71. package/dist/commands/openapi.js.map +1 -0
  72. package/dist/commands/policies-registry.d.ts +3 -0
  73. package/dist/commands/policies-registry.d.ts.map +1 -0
  74. package/dist/commands/policies-registry.js +198 -0
  75. package/dist/commands/policies-registry.js.map +1 -0
  76. package/dist/commands/registry.d.ts +27 -0
  77. package/dist/commands/registry.d.ts.map +1 -0
  78. package/dist/commands/registry.js +62 -0
  79. package/dist/commands/registry.js.map +1 -0
  80. package/dist/commands/schemas-registry.d.ts +3 -0
  81. package/dist/commands/schemas-registry.d.ts.map +1 -0
  82. package/dist/commands/schemas-registry.js +231 -0
  83. package/dist/commands/schemas-registry.js.map +1 -0
  84. package/dist/commands/shared/args.d.ts +2 -0
  85. package/dist/commands/shared/args.d.ts.map +1 -0
  86. package/dist/commands/shared/args.js +4 -0
  87. package/dist/commands/shared/args.js.map +1 -0
  88. package/dist/commands/shared/wallet-opts.d.ts +9 -0
  89. package/dist/commands/shared/wallet-opts.d.ts.map +1 -0
  90. package/dist/commands/shared/wallet-opts.js +44 -0
  91. package/dist/commands/shared/wallet-opts.js.map +1 -0
  92. package/dist/commands/timestamp.d.ts +3 -0
  93. package/dist/commands/timestamp.d.ts.map +1 -0
  94. package/dist/commands/timestamp.js +250 -0
  95. package/dist/commands/timestamp.js.map +1 -0
  96. package/dist/commands/track-and-trace.d.ts +3 -0
  97. package/dist/commands/track-and-trace.d.ts.map +1 -0
  98. package/dist/commands/track-and-trace.js +235 -0
  99. package/dist/commands/track-and-trace.js.map +1 -0
  100. package/dist/commands/wallet.d.ts +3 -0
  101. package/dist/commands/wallet.d.ts.map +1 -0
  102. package/dist/commands/wallet.js +123 -0
  103. package/dist/commands/wallet.js.map +1 -0
  104. package/dist/config/config.d.ts +45 -0
  105. package/dist/config/config.d.ts.map +1 -0
  106. package/dist/config/config.js +111 -0
  107. package/dist/config/config.js.map +1 -0
  108. package/dist/config/ebsi-env.d.ts +4 -0
  109. package/dist/config/ebsi-env.d.ts.map +1 -0
  110. package/dist/config/ebsi-env.js +37 -0
  111. package/dist/config/ebsi-env.js.map +1 -0
  112. package/dist/crypto/wallet.d.ts +34 -0
  113. package/dist/crypto/wallet.d.ts.map +1 -0
  114. package/dist/crypto/wallet.js +100 -0
  115. package/dist/crypto/wallet.js.map +1 -0
  116. package/dist/index.d.ts +3 -0
  117. package/dist/index.d.ts.map +1 -0
  118. package/dist/index.js +15 -6
  119. package/dist/index.js.map +1 -1
  120. package/dist/ledger/read.d.ts +11 -0
  121. package/dist/ledger/read.d.ts.map +1 -0
  122. package/dist/ledger/read.js +24 -0
  123. package/dist/ledger/read.js.map +1 -0
  124. package/dist/ledger/registries.d.ts +25 -0
  125. package/dist/ledger/registries.d.ts.map +1 -0
  126. package/dist/ledger/registries.js +111 -0
  127. package/dist/ledger/registries.js.map +1 -0
  128. package/dist/ledger/write.d.ts +43 -0
  129. package/dist/ledger/write.d.ts.map +1 -0
  130. package/dist/ledger/write.js +119 -0
  131. package/dist/ledger/write.js.map +1 -0
  132. package/dist/onboarding/vc.d.ts +18 -0
  133. package/dist/onboarding/vc.d.ts.map +1 -0
  134. package/dist/onboarding/vc.js +72 -0
  135. package/dist/onboarding/vc.js.map +1 -0
  136. package/dist/output/format.d.ts +7 -0
  137. package/dist/output/format.d.ts.map +1 -0
  138. package/dist/output/format.js +94 -0
  139. package/dist/output/format.js.map +1 -0
  140. package/dist/tui/App.d.ts +3 -0
  141. package/dist/tui/App.d.ts.map +1 -0
  142. package/dist/tui/App.js +99 -0
  143. package/dist/tui/App.js.map +1 -0
  144. package/dist/tui/CommandPalette.d.ts +8 -0
  145. package/dist/tui/CommandPalette.d.ts.map +1 -0
  146. package/dist/tui/CommandPalette.js +105 -0
  147. package/dist/tui/CommandPalette.js.map +1 -0
  148. package/package.json +66 -108
  149. package/src/api/client.ts +26 -0
  150. package/src/api/fetch.ts +53 -0
  151. package/src/api/params.ts +17 -0
  152. package/src/auth/dcql.ts +84 -0
  153. package/src/auth/presentation.ts +255 -0
  154. package/src/auth/token.ts +244 -0
  155. package/src/cli.ts +164 -0
  156. package/src/commands/auth.ts +119 -0
  157. package/src/commands/config-cmd.ts +122 -0
  158. package/src/commands/contracts-registry.ts +156 -0
  159. package/src/commands/did-registry.ts +126 -0
  160. package/src/commands/faucet.ts +112 -0
  161. package/src/commands/health.ts +21 -0
  162. package/src/commands/issuers-registry.ts +385 -0
  163. package/src/commands/ledger.ts +777 -0
  164. package/src/commands/onboarding.ts +411 -0
  165. package/src/commands/openapi.ts +42 -0
  166. package/src/commands/policies-registry.ts +218 -0
  167. package/src/commands/registry.ts +152 -0
  168. package/src/commands/schemas-registry.ts +255 -0
  169. package/src/commands/shared/args.ts +14 -0
  170. package/src/commands/shared/wallet-opts.ts +85 -0
  171. package/src/commands/timestamp.ts +272 -0
  172. package/src/commands/track-and-trace.ts +263 -0
  173. package/src/commands/wallet.ts +175 -0
  174. package/src/config/config.ts +275 -0
  175. package/src/config/ebsi-env.ts +67 -0
  176. package/src/crypto/wallet.ts +291 -0
  177. package/src/index.ts +24 -0
  178. package/src/ledger/read.ts +70 -0
  179. package/src/ledger/registries.ts +285 -0
  180. package/src/ledger/write.ts +381 -0
  181. package/src/onboarding/vc.ts +205 -0
  182. package/src/output/format.ts +157 -0
  183. package/src/tui/App.tsx +282 -0
  184. package/src/tui/CommandPalette.tsx +223 -0
  185. package/bin/cli.js +0 -13
  186. package/dist/abi/pilot/DidRegistry.js +0 -568
  187. package/dist/abi/pilot/DidRegistry.js.map +0 -1
  188. package/dist/abi/pilot/Ptr.js +0 -666
  189. package/dist/abi/pilot/Ptr.js.map +0 -1
  190. package/dist/abi/pilot/SchemaSCRegistry.js +0 -264
  191. package/dist/abi/pilot/SchemaSCRegistry.js.map +0 -1
  192. package/dist/abi/pilot/Tcr.js +0 -715
  193. package/dist/abi/pilot/Tcr.js.map +0 -1
  194. package/dist/abi/pilot/Timestamp.js +0 -658
  195. package/dist/abi/pilot/Timestamp.js.map +0 -1
  196. package/dist/abi/pilot/Tir.js +0 -428
  197. package/dist/abi/pilot/Tir.js.map +0 -1
  198. package/dist/abi/pilot/TnT.js +0 -842
  199. package/dist/abi/pilot/TnT.js.map +0 -1
  200. package/dist/abi/pilot/Tpr.js +0 -492
  201. package/dist/abi/pilot/Tpr.js.map +0 -1
  202. package/dist/abi/test/DidRegistry.js +0 -568
  203. package/dist/abi/test/DidRegistry.js.map +0 -1
  204. package/dist/abi/test/Ptr.js +0 -666
  205. package/dist/abi/test/Ptr.js.map +0 -1
  206. package/dist/abi/test/SchemaSCRegistry.js +0 -300
  207. package/dist/abi/test/SchemaSCRegistry.js.map +0 -1
  208. package/dist/abi/test/Tcr.js +0 -715
  209. package/dist/abi/test/Tcr.js.map +0 -1
  210. package/dist/abi/test/Timestamp.js +0 -658
  211. package/dist/abi/test/Timestamp.js.map +0 -1
  212. package/dist/abi/test/Tir.js +0 -428
  213. package/dist/abi/test/Tir.js.map +0 -1
  214. package/dist/abi/test/TnT.js +0 -842
  215. package/dist/abi/test/TnT.js.map +0 -1
  216. package/dist/abi/test/Tpr.js +0 -492
  217. package/dist/abi/test/Tpr.js.map +0 -1
  218. package/dist/app.js +0 -659
  219. package/dist/app.js.map +0 -1
  220. package/dist/buildParam/didr.js +0 -374
  221. package/dist/buildParam/didr.js.map +0 -1
  222. package/dist/buildParam/index.js +0 -53
  223. package/dist/buildParam/index.js.map +0 -1
  224. package/dist/buildParam/ptr.js +0 -80
  225. package/dist/buildParam/ptr.js.map +0 -1
  226. package/dist/buildParam/tcr.js +0 -36
  227. package/dist/buildParam/tcr.js.map +0 -1
  228. package/dist/buildParam/timestamp.js +0 -350
  229. package/dist/buildParam/timestamp.js.map +0 -1
  230. package/dist/buildParam/tir.js +0 -110
  231. package/dist/buildParam/tir.js.map +0 -1
  232. package/dist/buildParam/tnt.js +0 -214
  233. package/dist/buildParam/tnt.js.map +0 -1
  234. package/dist/buildParam/tpr.js +0 -91
  235. package/dist/buildParam/tpr.js.map +0 -1
  236. package/dist/buildParam/tsr.js +0 -115
  237. package/dist/buildParam/tsr.js.map +0 -1
  238. package/dist/commands/authorisation.js +0 -144
  239. package/dist/commands/authorisation.js.map +0 -1
  240. package/dist/commands/compute.js +0 -680
  241. package/dist/commands/compute.js.map +0 -1
  242. package/dist/commands/conformance.js +0 -813
  243. package/dist/commands/conformance.js.map +0 -1
  244. package/dist/commands/hardwarewallet.js +0 -41
  245. package/dist/commands/hardwarewallet.js.map +0 -1
  246. package/dist/commands/index.js +0 -8
  247. package/dist/commands/index.js.map +0 -1
  248. package/dist/commands/ptr.js +0 -54
  249. package/dist/commands/ptr.js.map +0 -1
  250. package/dist/commands/tcr.js +0 -50
  251. package/dist/commands/tcr.js.map +0 -1
  252. package/dist/commands/tir.js +0 -64
  253. package/dist/commands/tir.js.map +0 -1
  254. package/dist/commands/tnl.js +0 -81
  255. package/dist/commands/tnl.js.map +0 -1
  256. package/dist/commands/tsr.js +0 -45
  257. package/dist/commands/tsr.js.map +0 -1
  258. package/dist/commands/view.js +0 -53
  259. package/dist/commands/view.js.map +0 -1
  260. package/dist/config.js +0 -497
  261. package/dist/config.js.map +0 -1
  262. package/dist/interfaces/context.js +0 -2
  263. package/dist/interfaces/context.js.map +0 -1
  264. package/dist/interfaces/contracts/ProxyFactory.js +0 -2
  265. package/dist/interfaces/contracts/ProxyFactory.js.map +0 -1
  266. package/dist/interfaces/contracts/ProxyTemplateRegistry.js +0 -2
  267. package/dist/interfaces/contracts/ProxyTemplateRegistry.js.map +0 -1
  268. package/dist/interfaces/contracts/SchemaSCRegistry.js +0 -2
  269. package/dist/interfaces/contracts/SchemaSCRegistry.js.map +0 -1
  270. package/dist/interfaces/contracts/common.js +0 -2
  271. package/dist/interfaces/contracts/common.js.map +0 -1
  272. package/dist/interfaces/index.js +0 -5
  273. package/dist/interfaces/index.js.map +0 -1
  274. package/dist/interfaces/jsonrpc.interface.js +0 -2
  275. package/dist/interfaces/jsonrpc.interface.js.map +0 -1
  276. package/dist/interfaces/paginated-list.interface.js +0 -2
  277. package/dist/interfaces/paginated-list.interface.js.map +0 -1
  278. package/dist/interfaces/unsigned-transaction.interface.js +0 -2
  279. package/dist/interfaces/unsigned-transaction.interface.js.map +0 -1
  280. package/dist/interfaces/utils.interface.js +0 -2
  281. package/dist/interfaces/utils.interface.js.map +0 -1
  282. package/dist/programs/migrateDid.js +0 -159
  283. package/dist/programs/migrateDid.js.map +0 -1
  284. package/dist/programs/migrateDids.js +0 -232
  285. package/dist/programs/migrateDids.js.map +0 -1
  286. package/dist/programs/migrateTsr.js +0 -201
  287. package/dist/programs/migrateTsr.js.map +0 -1
  288. package/dist/scripts/accreditAndAuthorize/conformance/step1 +0 -34
  289. package/dist/scripts/accreditAndAuthorize/conformance/step2 +0 -18
  290. package/dist/scripts/accreditAndAuthorize/conformance/step3 +0 -9
  291. package/dist/scripts/accreditAndAuthorize/conformance/step4 +0 -27
  292. package/dist/scripts/accreditAndAuthorize/conformance/step5 +0 -13
  293. package/dist/scripts/accreditAndAuthorize/conformance/step6 +0 -14
  294. package/dist/scripts/accreditAndAuthorize/conformance/step7 +0 -7
  295. package/dist/scripts/accreditAndAuthorize/test/step1 +0 -34
  296. package/dist/scripts/accreditAndAuthorize/test/step2 +0 -18
  297. package/dist/scripts/accreditAndAuthorize/test/step3 +0 -9
  298. package/dist/scripts/accreditAndAuthorize/test/step4 +0 -27
  299. package/dist/scripts/accreditAndAuthorize/test/step5 +0 -13
  300. package/dist/scripts/accreditAndAuthorize/test/step6 +0 -14
  301. package/dist/scripts/accreditAndAuthorize/test/step7 +0 -7
  302. package/dist/scripts/accreditTI +0 -21
  303. package/dist/scripts/assets/Nodes.json +0 -27
  304. package/dist/scripts/assets/vcdm1.1/CTRevocableCredential.json +0 -30
  305. package/dist/scripts/assets/vcdm1.1/CredentialToAttestVerifiableAuthorisationForTrustChain.json +0 -29
  306. package/dist/scripts/assets/vcdm1.1/Nodes.json +0 -27
  307. package/dist/scripts/assets/vcdm1.1/TrustedNodesList.json +0 -35
  308. package/dist/scripts/assets/vcdm1.1/VerifiableAccreditationToAccredit.json +0 -35
  309. package/dist/scripts/assets/vcdm1.1/VerifiableAccreditationToAttest.json +0 -33
  310. package/dist/scripts/assets/vcdm1.1/VerifiableAuthorisationForTrustChain.json +0 -22
  311. package/dist/scripts/assets/vcdm1.1/VerifiableAuthorisationToInvoke.json +0 -24
  312. package/dist/scripts/assets/vcdm1.1/VerifiableAuthorisationToOnboard.json +0 -24
  313. package/dist/scripts/assets/vcdm2.0/CredentialToAttestVerifiableAuthorisationForTrustChain.json +0 -29
  314. package/dist/scripts/assets/vcdm2.0/TrustedNodesList.json +0 -36
  315. package/dist/scripts/assets/vcdm2.0/VerifiableAccreditationToAccredit.json +0 -40
  316. package/dist/scripts/assets/vcdm2.0/VerifiableAccreditationToAttest.json +0 -38
  317. package/dist/scripts/assets/vcdm2.0/VerifiableAuthorisationForTrustChain.json +0 -30
  318. package/dist/scripts/assets/vcdm2.0/VerifiableAuthorisationToInvoke.json +0 -24
  319. package/dist/scripts/assets/vcdm2.0/VerifiableAuthorisationToOnboard.json +0 -23
  320. package/dist/scripts/bootstrap/0a-loadTPROperator +0 -5
  321. package/dist/scripts/bootstrap/0b-loadAdmin +0 -8
  322. package/dist/scripts/bootstrap/1-populateTPR +0 -92
  323. package/dist/scripts/bootstrap/2-populateDID +0 -6
  324. package/dist/scripts/bootstrap/3-populateTimestamp +0 -9
  325. package/dist/scripts/bootstrap/4-populateTIR +0 -8
  326. package/dist/scripts/bootstrap/5-populateTSR +0 -85
  327. package/dist/scripts/bootstrap/6-setupConformanceIssuer +0 -35
  328. package/dist/scripts/bootstrap/README.md +0 -218
  329. package/dist/scripts/issueVcInvoke +0 -10
  330. package/dist/scripts/issueVcOnboard +0 -9
  331. package/dist/scripts/issueVcRootTAO +0 -11
  332. package/dist/scripts/issueVcTAO +0 -12
  333. package/dist/scripts/issueVcTI +0 -12
  334. package/dist/scripts/issueVcTnl +0 -32
  335. package/dist/scripts/issue_CTRevocableCredential +0 -12
  336. package/dist/scripts/issue_SelfAttestationSupportOffice +0 -10
  337. package/dist/scripts/issue_VerifiableAccreditationToAccredit +0 -11
  338. package/dist/scripts/issue_VerifiableAccreditationToAttest +0 -11
  339. package/dist/scripts/issue_VerifiableAuthorisationForTrustChain +0 -10
  340. package/dist/scripts/issue_VerifiableAuthorisationToOnboard +0 -9
  341. package/dist/scripts/preregisterIssuer +0 -6
  342. package/dist/scripts/registerDidDocument +0 -15
  343. package/dist/scripts/registerIssuer +0 -6
  344. package/dist/scripts/updateVcRootTAO +0 -10
  345. package/dist/scripts/updateVcTAO +0 -11
  346. package/dist/scripts/updateVcTI +0 -11
  347. package/dist/scripts/vcdm2.0/issueSelfAttestationSupportOffice +0 -10
  348. package/dist/scripts/vcdm2.0/issueVcInvoke +0 -12
  349. package/dist/scripts/vcdm2.0/issueVcOnboard +0 -11
  350. package/dist/scripts/vcdm2.0/issueVcRootTAO +0 -14
  351. package/dist/scripts/vcdm2.0/issueVcTAO +0 -15
  352. package/dist/scripts/vcdm2.0/issueVcTI +0 -15
  353. package/dist/scripts/vcdm2.0/issueVcTnl +0 -34
  354. package/dist/scripts/vcdm2.0/registerDidDocument +0 -15
  355. package/dist/scripts/vcdm2.0/updateVcRootTAO +0 -13
  356. package/dist/scripts/vcdm2.0/updateVcTAO +0 -14
  357. package/dist/scripts/vcdm2.0/updateVcTI +0 -14
  358. package/dist/scripts/vcdm2.0/verifyVcTnl +0 -10
  359. package/dist/scripts/verifyVcTnl +0 -10
  360. package/dist/scripts/wct/accreditAndAuthorize +0 -133
  361. package/dist/scripts/wct/accreditAndAuthorize2 +0 -89
  362. package/dist/scripts/wct/holderWallet +0 -39
  363. package/dist/scripts/wct/holderWallet2 +0 -39
  364. package/dist/scripts/wct/issueToHolder +0 -38
  365. package/dist/scripts/wct/issueToHolder2 +0 -38
  366. package/dist/scripts/wct/pda1 +0 -3
  367. package/dist/scripts/wct/verifier +0 -8
  368. package/dist/scripts/wct/verifier2 +0 -7
  369. package/dist/utils/Client.js +0 -155
  370. package/dist/utils/Client.js.map +0 -1
  371. package/dist/utils/HardwareWallet.js +0 -326
  372. package/dist/utils/HardwareWallet.js.map +0 -1
  373. package/dist/utils/http.js +0 -132
  374. package/dist/utils/http.js.map +0 -1
  375. package/dist/utils/index.js +0 -8
  376. package/dist/utils/index.js.map +0 -1
  377. package/dist/utils/jsonrpc.js +0 -38
  378. package/dist/utils/jsonrpc.js.map +0 -1
  379. package/dist/utils/print.js +0 -56
  380. package/dist/utils/print.js.map +0 -1
  381. package/dist/utils/utils.js +0 -427
  382. package/dist/utils/utils.js.map +0 -1
  383. package/dist/utils/vcdm.js +0 -47
  384. package/dist/utils/vcdm.js.map +0 -1
@@ -1,159 +0,0 @@
1
- import { execCommand } from "../app.js";
2
- import { loadConfig } from "../config.js";
3
- const [did] = process.argv.slice(2);
4
- const relationships = [
5
- "authentication",
6
- "assertionMethod",
7
- "keyAgreement",
8
- "capabilityInvocation",
9
- "capabilityDelegation",
10
- ];
11
- const config = loadConfig();
12
- const { admin } = config.programs;
13
- const currentDidVersion = Number(config.api.did.url.slice(-1));
14
- const oldDidVersion = currentDidVersion - 1;
15
- const didRegistryOld = config.api.did.url.replace(`/v${currentDidVersion}`, `/v${oldDidVersion}`);
16
- const didRegistry = config.api.did.url;
17
- async function getDidParts(url) {
18
- const didDocument = await execCommand(`get ${url}`);
19
- if (!didDocument)
20
- throw new Error(`DID ${url} not found`);
21
- const parts = {
22
- baseDocument: JSON.stringify({
23
- "@context": didDocument["@context"],
24
- }),
25
- verificationMethods: (didDocument.verificationMethod ?? []).map((v) => ({
26
- isSecp256k1: v.publicKeyJwk?.crv === "secp256k1",
27
- publicKeyJwk: JSON.stringify(v.publicKeyJwk),
28
- thumbprint: v.id.split("#")[1],
29
- })),
30
- verificationRelationships: [],
31
- };
32
- for (const rel of relationships) {
33
- if (didDocument[rel]) {
34
- for (const r of didDocument[rel]) {
35
- parts.verificationRelationships.push({
36
- name: rel,
37
- thumbprint: r.split("#")[1],
38
- });
39
- }
40
- }
41
- }
42
- return parts;
43
- }
44
- async function migrateDid() {
45
- const messages = [];
46
- let newDocument = {
47
- baseDocument: "",
48
- verificationMethods: [],
49
- verificationRelationships: [],
50
- };
51
- const notBefore = new Date(Date.now() - 365 * 24 * 3600 * 1000).toISOString(); // 1 year ago
52
- const notAfter = new Date(Date.now() + 5 * 365 * 24 * 3600 * 1000).toISOString(); // 5 years
53
- const oldDocument = await getDidParts(`${didRegistryOld}/identifiers/${did}`);
54
- let newDocumentExists;
55
- try {
56
- newDocument = await getDidParts(`${didRegistry}/identifiers/${did}`);
57
- newDocumentExists = true;
58
- }
59
- catch (error) {
60
- console.log(error);
61
- newDocumentExists = false;
62
- }
63
- if (!newDocumentExists) {
64
- const indexSecp256k1 = oldDocument.verificationMethods.findIndex((v) => v.isSecp256k1);
65
- if (indexSecp256k1 === -1)
66
- throw new Error(`The DID ${did} do not exist in the new api and there is not secp256k1 key in the old one in order to register it`);
67
- const [vMethod] = oldDocument.verificationMethods.splice(indexSecp256k1, 1);
68
- if (!vMethod) {
69
- throw new Error("vMethod not found in oldDocument.verificationMethods");
70
- }
71
- await safeExecCommand(`proxyledger did insertDidDocument ${[
72
- did,
73
- oldDocument.baseDocument,
74
- vMethod.publicKeyJwk,
75
- notBefore,
76
- notAfter,
77
- vMethod.thumbprint,
78
- ].join(" ")}`);
79
- messages.push("did document inserted");
80
- oldDocument.verificationRelationships =
81
- oldDocument.verificationRelationships.filter((r) => r.thumbprint !== vMethod.thumbprint ||
82
- (r.name !== "capabilityInvocation" && r.name !== "authentication"));
83
- }
84
- else if (oldDocument.baseDocument !== newDocument.baseDocument) {
85
- await safeExecCommand(`proxyledger did updateBaseDocument ${[
86
- did,
87
- oldDocument.baseDocument,
88
- ].join(" ")}`);
89
- messages.push("base document updated");
90
- }
91
- // eslint-disable-next-line @typescript-eslint/prefer-for-of
92
- for (let i = 0; i < oldDocument.verificationMethods.length; i += 1) {
93
- const vMethod = oldDocument.verificationMethods[i];
94
- if (!newDocument.verificationMethods.some((v) => v.thumbprint === vMethod.thumbprint)) {
95
- await safeExecCommand(`proxyledger did addVerificationMethod ${[
96
- did,
97
- vMethod.publicKeyJwk,
98
- vMethod.thumbprint,
99
- ].join(" ")}`);
100
- messages.push(`verification method added: ${vMethod.thumbprint}`);
101
- }
102
- }
103
- // eslint-disable-next-line @typescript-eslint/prefer-for-of
104
- for (let i = 0; i < oldDocument.verificationRelationships.length; i += 1) {
105
- const vRelationship = oldDocument.verificationRelationships[i];
106
- if (!newDocument.verificationRelationships.some((r) => r.name === vRelationship.name &&
107
- r.thumbprint === vRelationship.thumbprint)) {
108
- await safeExecCommand(`proxyledger did addVerificationRelationship ${[
109
- did,
110
- vRelationship.name,
111
- vRelationship.thumbprint,
112
- notBefore,
113
- notAfter,
114
- ].join(" ")}`);
115
- messages.push(`verification relationship added: ${vRelationship.name} - ${vRelationship.thumbprint}`);
116
- }
117
- }
118
- return messages;
119
- }
120
- async function safeExecCommand(command) {
121
- try {
122
- await execCommand(command);
123
- }
124
- catch (error) {
125
- const { message } = error;
126
- if (message.includes("nonce has already been used") ||
127
- message.includes("replacement fee too low")) {
128
- // try again after some seconds
129
- await execCommand("wait 5");
130
- await safeExecCommand(command);
131
- return;
132
- }
133
- if (message.includes("Revert reason: did already exists") ||
134
- message.includes("Revert reason: relationship already exists") ||
135
- message.includes("Revert reason: vMethodId already exists")) {
136
- // everything is ok, continue
137
- return;
138
- }
139
- throw error;
140
- }
141
- }
142
- (async () => {
143
- // load admin
144
- await execCommand(`using user ES256K did1 ${admin.ES256K.privateKey} ${admin.did}`);
145
- // await execCommand("t: authorisation auth didr_write_presentation ES256K");
146
- // await execCommand("using token t.access_token");
147
- const messages = await migrateDid();
148
- console.log(`DID: ${did}`);
149
- console.log(messages);
150
- })()
151
- .then(() => {
152
- process.exit(0);
153
- })
154
- // eslint-disable-next-line unicorn/prefer-top-level-await
155
- .catch((error) => {
156
- console.log(error);
157
- process.exit(1);
158
- });
159
- //# sourceMappingURL=migrateDid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrateDid.js","sourceRoot":"","sources":["../../src/programs/migrateDid.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAe1C,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEpC,MAAM,aAAa,GAAG;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,cAAc;IACd,sBAAsB;IACtB,sBAAsB;CACd,CAAC;AAEX,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;AAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;AAElC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,MAAM,aAAa,GAAG,iBAAiB,GAAG,CAAC,CAAC;AAC5C,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAC/C,KAAK,iBAAiB,EAAE,EACxB,KAAK,aAAa,EAAE,CACrB,CAAC;AACF,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAEvC,KAAK,UAAU,WAAW,CAAC,GAAW;IACpC,MAAM,WAAW,GAAG,MAAM,WAAW,CAAc,OAAO,GAAG,EAAE,CAAC,CAAC;IACjE,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAkB;QAC3B,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;YAC3B,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC;SACpC,CAAC;QACF,mBAAmB,EAAE,CAAC,WAAW,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtE,WAAW,EAAE,CAAC,CAAC,YAAY,EAAE,GAAG,KAAK,WAAW;YAChD,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;YAC5C,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE;SAChC,CAAC,CAAC;QACH,yBAAyB,EAAE,EAAE;KAC9B,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC;oBACnC,IAAI,EAAE,GAAG;oBACT,UAAU,EAAG,CAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE;iBACzC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,WAAW,GAAkB;QAC/B,YAAY,EAAE,EAAE;QAChB,mBAAmB,EAAE,EAAE;QACvB,yBAAyB,EAAE,EAAE;KAC9B,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,aAAa;IAC5F,MAAM,QAAQ,GAAG,IAAI,IAAI,CACvB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CACxC,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU;IAC3B,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,GAAG,cAAc,gBAAgB,GAAG,EAAE,CAAC,CAAC;IAC9E,IAAI,iBAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,WAAW,CAAC,GAAG,WAAW,gBAAgB,GAAG,EAAE,CAAC,CAAC;QACrE,iBAAiB,GAAG,IAAI,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,iBAAiB,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,cAAc,GAAG,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CACrB,CAAC;QACF,IAAI,cAAc,KAAK,CAAC,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,WAAW,GAAG,oGAAoG,CACnH,CAAC;QACJ,MAAM,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,eAAe,CACnB,qCAAqC;YACnC,GAAG;YACH,WAAW,CAAC,YAAY;YACxB,OAAO,CAAC,YAAY;YACpB,SAAS;YACT,QAAQ;YACR,OAAO,CAAC,UAAU;SACnB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACd,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACvC,WAAW,CAAC,yBAAyB;YACnC,WAAW,CAAC,yBAAyB,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU;gBACnC,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAsB,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CACrE,CAAC;IACN,CAAC;SAAM,IAAI,WAAW,CAAC,YAAY,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC;QACjE,MAAM,eAAe,CACnB,sCAAsC;YACpC,GAAG;YACH,WAAW,CAAC,YAAY;SACzB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACd,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACzC,CAAC;IAED,4DAA4D;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACnE,MAAM,OAAO,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAE,CAAC;QACpD,IACE,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU,CAC3C,EACD,CAAC;YACD,MAAM,eAAe,CACnB,yCAAyC;gBACvC,GAAG;gBACH,OAAO,CAAC,YAAY;gBACpB,OAAO,CAAC,UAAU;aACnB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACd,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,8BAA8B,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,yBAAyB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzE,MAAM,aAAa,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAAE,CAAC;QAChE,IACE,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI;YAC7B,CAAC,CAAC,UAAU,KAAK,aAAa,CAAC,UAAU,CAC5C,EACD,CAAC;YACD,MAAM,eAAe,CACnB,+CAA+C;gBAC7C,GAAG;gBACH,aAAa,CAAC,IAAI;gBAClB,aAAa,CAAC,UAAU;gBACxB,SAAS;gBACT,QAAQ;aACT,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACd,CAAC;YACF,QAAQ,CAAC,IAAI,CACX,oCAAoC,aAAa,CAAC,IAAI,MAAM,aAAa,CAAC,UAAU,EAAE,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,eAAe,CAAI,OAAe;IAC/C,IAAI,CAAC;QACH,MAAM,WAAW,CAAI,OAAO,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,OAAO,EAAE,GAAG,KAAc,CAAC;QACnC,IACE,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YAC/C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAC3C,CAAC;YACD,+BAA+B;YAC/B,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,eAAe,CAAI,OAAO,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,IACE,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,yCAAyC,CAAC,EAC3D,CAAC;YACD,6BAA6B;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,CAAC,KAAK,IAAI,EAAE;IACV,aAAa;IACb,MAAM,WAAW,CACf,0BAA0B,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,GAAG,EAAE,CACjE,CAAC;IACF,6EAA6E;IAC7E,mDAAmD;IAEnD,MAAM,QAAQ,GAAG,MAAM,UAAU,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACxB,CAAC,CAAC,EAAE;KACD,IAAI,CAAC,GAAG,EAAE;IACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;IACF,0DAA0D;KACzD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,232 +0,0 @@
1
- import fs from "node:fs";
2
- import { execCommand } from "../app.js";
3
- import { loadConfig } from "../config.js";
4
- const [fileName] = process.argv.slice(2);
5
- const relationships = [
6
- "authentication",
7
- "assertionMethod",
8
- "keyAgreement",
9
- "capabilityInvocation",
10
- "capabilityDelegation",
11
- ];
12
- const config = loadConfig();
13
- const { admin } = config.programs;
14
- const currentDidVersion = Number(config.api.did.url.slice(-1));
15
- const oldDidVersion = currentDidVersion - 1;
16
- const didRegistryOld = config.api.did.url.replace(`/v${currentDidVersion}`, `/v${oldDidVersion}`);
17
- const didRegistry = config.api.did.url;
18
- async function getMissingDids(pageIni = 1, pageEnd = 0, pageSize = 50) {
19
- const missingDids = [];
20
- const errors = [];
21
- let pageAfter = pageIni;
22
- let url = `${didRegistryOld}/identifiers?page[after]=${pageAfter}&page[size]=${pageSize}`;
23
- while (true) {
24
- // get DIDs from old api
25
- const didListOld = await execCommand(`get ${url}`);
26
- if (!didListOld)
27
- break;
28
- // get which ones are not in the current version
29
- await Promise.all(didListOld.items.map(async (item) => {
30
- try {
31
- const hrefCurrent = item.href.replace(didRegistryOld, didRegistry);
32
- await execCommand(`get ${hrefCurrent}`);
33
- }
34
- catch (error) {
35
- if (error.message.includes("failed with status code 404")) {
36
- missingDids.push(item.did);
37
- }
38
- else {
39
- errors.push({ error: error.message, url: item.href });
40
- }
41
- }
42
- }));
43
- if (didListOld.links.next === didListOld.self ||
44
- (pageEnd && pageAfter >= pageEnd))
45
- break;
46
- pageAfter += 1;
47
- url = didListOld.links.next;
48
- }
49
- return {
50
- errors,
51
- missingDids,
52
- };
53
- }
54
- async function migrateDid(did, opts) {
55
- const success = [];
56
- try {
57
- const didDocument = opts.document ??
58
- (await execCommand(`get ${opts.didRegistry}/identifiers/${did}`));
59
- if (!didDocument)
60
- return {};
61
- const baseDocument = JSON.stringify({
62
- "@context": didDocument["@context"],
63
- });
64
- const notBefore = new Date(Date.now() - 365 * 24 * 3600 * 1000).toISOString(); // 1 year ago
65
- const notAfter = new Date(Date.now() + 5 * 365 * 24 * 3600 * 1000).toISOString(); // 5 years
66
- // get secp256k1 key
67
- const vMethodSecp256k1 = didDocument.verificationMethod?.find((v) => v.publicKeyJwk?.crv === "secp256k1");
68
- let publicKeyJwk;
69
- let thumbprint;
70
- if (vMethodSecp256k1) {
71
- publicKeyJwk = JSON.stringify(vMethodSecp256k1.publicKeyJwk);
72
- [, thumbprint] = vMethodSecp256k1.id.split("#");
73
- }
74
- else {
75
- publicKeyJwk = "user.keys.ES256K.publicKeyJwk";
76
- thumbprint = "user.keys.ES256K.id";
77
- }
78
- // insert did document
79
- let successMessage = "insertDidDocument";
80
- await safeExecCommand(`did insertDidDocument ${[
81
- did,
82
- baseDocument,
83
- publicKeyJwk,
84
- notBefore,
85
- notAfter,
86
- thumbprint,
87
- ].join(" ")}`, { ...opts, successMessage });
88
- success.push(successMessage);
89
- for (const rel of relationships) {
90
- // skip relationships that come by default with insertDidDocument
91
- if (["authentication", "capabilityInvocation"].includes(rel))
92
- continue;
93
- // add extra relationships
94
- if (vMethodSecp256k1?.id &&
95
- didDocument[rel]?.includes(vMethodSecp256k1.id)) {
96
- successMessage = `addVerificationRelationship ${rel} ${thumbprint}`;
97
- await safeExecCommand(`did addVerificationRelationship ${[
98
- did,
99
- rel,
100
- thumbprint,
101
- notBefore,
102
- notAfter,
103
- ].join(" ")}`, { ...opts, successMessage });
104
- success.push(successMessage);
105
- }
106
- }
107
- if (!didDocument.verificationMethod)
108
- return {};
109
- // insert other keys
110
- // eslint-disable-next-line @typescript-eslint/prefer-for-of
111
- for (let j = 0; j < didDocument.verificationMethod.length; j += 1) {
112
- const vMethod = didDocument.verificationMethod[j];
113
- if (vMethod.id === vMethodSecp256k1?.id)
114
- continue;
115
- publicKeyJwk = JSON.stringify(vMethod.publicKeyJwk);
116
- [, thumbprint] = vMethod.id.split("#");
117
- successMessage = `addVerificationMethod ${thumbprint}`;
118
- await safeExecCommand(`did addVerificationMethod ${[did, publicKeyJwk, thumbprint].join(" ")}`, { ...opts, successMessage });
119
- success.push(successMessage);
120
- // add relationships
121
- for (const rel of relationships) {
122
- if (didDocument[rel]?.includes(vMethod.id)) {
123
- successMessage = `addVerificationRelationship ${rel} ${thumbprint}`;
124
- await safeExecCommand(`did addVerificationRelationship ${[
125
- did,
126
- rel,
127
- thumbprint,
128
- notBefore,
129
- notAfter,
130
- ].join(" ")}`, { ...opts, successMessage });
131
- success.push(successMessage);
132
- }
133
- }
134
- }
135
- return {};
136
- }
137
- catch (error) {
138
- console.log(error);
139
- return {
140
- error: {
141
- did,
142
- error: error.message,
143
- success,
144
- },
145
- };
146
- }
147
- }
148
- async function safeExecCommand(command, opts) {
149
- if (opts.skip?.includes(opts.successMessage))
150
- return;
151
- try {
152
- await execCommand(command);
153
- }
154
- catch (error) {
155
- const { message } = error;
156
- if (message.includes("nonce has already been used") ||
157
- message.includes("replacement fee too low")) {
158
- // try again after some seconds
159
- await execCommand("wait 5");
160
- await safeExecCommand(command, opts);
161
- return;
162
- }
163
- if (message.includes("Revert reason: did already exists") ||
164
- message.includes("Revert reason: relationship already exists") ||
165
- message.includes("Revert reason: vMethodId already exists")) {
166
- // everything is ok, continue
167
- return;
168
- }
169
- throw error;
170
- }
171
- }
172
- (async () => {
173
- // load admin
174
- await execCommand(`using user ES256K did1 ${admin.ES256K.privateKey} ${admin.did}`);
175
- await execCommand("t: authorisation auth didr_write_presentation ES256K");
176
- await execCommand("using token t.access_token");
177
- let migrated = [];
178
- let noMigrated = [];
179
- let errors = [];
180
- if (fileName) {
181
- const fileData = fs.readFileSync(fileName, "utf8");
182
- const { migrated: m, noMigrated: nom } = JSON.parse(fileData);
183
- migrated = m;
184
- noMigrated = nom;
185
- for (let i = 0; i < noMigrated.length; i += 1) {
186
- const { did, error, success } = noMigrated[i];
187
- if (!did)
188
- continue;
189
- if (error.includes("nonce has already been used") ||
190
- error.includes("replacement fee too low") ||
191
- error.includes("Bad Gateway") ||
192
- error.includes("Revert reason")) {
193
- const result = await migrateDid(did, {
194
- didRegistry: didRegistryOld,
195
- skip: success,
196
- });
197
- if (result.error) {
198
- noMigrated[i] = result.error;
199
- }
200
- else {
201
- noMigrated[i] = { did: "", error: "", success: [] };
202
- migrated.push(did);
203
- }
204
- }
205
- }
206
- noMigrated = noMigrated.filter((n) => n.did);
207
- }
208
- else {
209
- const { errors: e, missingDids } = await getMissingDids(1, 0, 50);
210
- errors = e;
211
- // migrate dids
212
- for (const did of missingDids) {
213
- const result = await migrateDid(did, { didRegistry: didRegistryOld });
214
- if (result.error) {
215
- noMigrated.push(result.error);
216
- }
217
- else {
218
- migrated.push(did);
219
- }
220
- }
221
- }
222
- fs.writeFileSync(`migration-${Date.now()}.log`, JSON.stringify({ didRegistry, didRegistryOld, errorList: errors, migrated, noMigrated }, null, 2));
223
- })()
224
- .then(() => {
225
- process.exit(0);
226
- })
227
- // eslint-disable-next-line unicorn/prefer-top-level-await
228
- .catch((error) => {
229
- console.log(error);
230
- process.exit(1);
231
- });
232
- //# sourceMappingURL=migrateDids.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrateDids.js","sourceRoot":"","sources":["../../src/programs/migrateDids.ts"],"names":[],"mappings":"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"}
@@ -1,201 +0,0 @@
1
- /**
2
- * TSR Schema Migration Tool
3
- *
4
- * This script migrates schemas from an old TSR (Trusted Schemas Registry) smart contract
5
- * to a new TSR smart contract address. The migration process is performed in two phases:
6
- * saving schema data from the old contract and inserting it into the new contract.
7
- *
8
- * Usage:
9
- *
10
- * Phase 1: Save schemas from the old contract
11
- * ------------------------------------------
12
- * 1. Set the TSR_SC_ADDRESS environment variable to the old contract address
13
- * 2. Run: pnpm run program:migrateTsr save [progressFile]
14
- * - Creates a progress file: migrationTsr-{epochtime}.log (if not specified)
15
- * - Fetches all schema IDs from the old contract
16
- * - Retrieves and saves complete schema data to schemasData.log
17
- *
18
- * Phase 2: Migrate schemas to the new contract
19
- * --------------------------------------------
20
- * 3. Set the TSR_SC_ADDRESS environment variable to the new contract address
21
- * 4. Choose migration method based on your access:
22
- *
23
- * Option A - Direct Besu connection (using proxyledger):
24
- * pnpm run program:migrateTsr migrateWithProxy <progressFile>
25
- *
26
- * Option B - API connection (requires API configured with new address):
27
- * pnpm run program:migrateTsr migrate <progressFile>
28
- *
29
- * The script tracks migration progress and can be safely restarted if interrupted.
30
- * Already migrated schemas are skipped automatically.
31
- */
32
- import { base58btc } from "multiformats/bases/base58";
33
- import fs from "node:fs";
34
- import { execCommand, initConfigVars } from "../app.js";
35
- import { loadConfig } from "../config.js";
36
- const part = process.argv[2];
37
- let progressFile = process.argv[3];
38
- if (!part || !["migrate", "migrateWithProxy", "save"].includes(part)) {
39
- throw new Error(`Invalid command. Use 'migrateTsr save <progressFile>' to save schemas or 'migrateTsr migrate <progressFile>' to migrate schemas or 'migrateTsr migrateWithProxy <progressFile>' to migrate schemas with proxy`);
40
- }
41
- const fileNameSchemas = "schemasData.log";
42
- const config = loadConfig();
43
- const { admin } = config.programs;
44
- async function createProgressFile() {
45
- if (!progressFile)
46
- return;
47
- let fileData = fs.readFileSync(progressFile, "utf8");
48
- if (!fileData)
49
- fileData = JSON.stringify({
50
- listCompleted: false,
51
- nextPage: "",
52
- schemas: [],
53
- });
54
- const data = JSON.parse(fileData);
55
- if (data.listCompleted) {
56
- console.log("List already completed.");
57
- return;
58
- }
59
- let pageAfter = 1;
60
- const pageSize = 50;
61
- while (data.listCompleted === false) {
62
- let url = `/schemas?page[after]=${pageAfter}&page[size]=${pageSize}`;
63
- try {
64
- // get DIDs from old api
65
- const schemaIdListOld = await execCommand(`ledger tsr get ${url}`);
66
- data.schemas.push(...schemaIdListOld.items.map((i) => ({
67
- errors: [],
68
- migrated: false,
69
- schemaId: i.schemaId,
70
- })));
71
- const lastPage = Math.ceil(schemaIdListOld.total / pageSize);
72
- if (pageAfter === lastPage) {
73
- data.listCompleted = true;
74
- }
75
- pageAfter += 1;
76
- url = `/schemas?page[after]=${pageAfter}&page[size]=${pageSize}`;
77
- fs.writeFileSync(progressFile, JSON.stringify(data, null, 2));
78
- }
79
- catch {
80
- await new Promise((resolve) => {
81
- setTimeout(resolve, 1000);
82
- });
83
- }
84
- }
85
- }
86
- async function migrateSchema(schemaData) {
87
- try {
88
- // insert schema
89
- const { content, idBase16 } = schemaData;
90
- let command = `tsr insertSchema ${idBase16} ${JSON.stringify(content)}`;
91
- if (part === "migrateWithProxy")
92
- command = `proxyledger ${command}`;
93
- await safeExecCommand(command);
94
- return { success: true };
95
- }
96
- catch (error) {
97
- console.log(error);
98
- return { error: error.message, success: false };
99
- }
100
- }
101
- async function safeExecCommand(command) {
102
- try {
103
- await execCommand(command);
104
- }
105
- catch (error) {
106
- const { message } = error;
107
- if (message.includes("nonce has already been used") ||
108
- message.includes("replacement fee too low")) {
109
- // try again after some seconds
110
- await execCommand("wait 5");
111
- await safeExecCommand(command);
112
- return;
113
- }
114
- if (message.includes("Revert reason: schemaId already exists") ||
115
- message.includes("Revert reason: Schema already registered")) {
116
- // everything is ok, continue
117
- return;
118
- }
119
- throw error;
120
- }
121
- }
122
- async function saveSchema(schemaId) {
123
- let fileData;
124
- if (fs.existsSync(fileNameSchemas)) {
125
- fileData = fs.readFileSync(fileNameSchemas, "utf8");
126
- }
127
- else {
128
- fileData = "[]";
129
- fs.writeFileSync(fileNameSchemas, fileData, "utf8");
130
- }
131
- const data = JSON.parse(fileData);
132
- if (data.some((s) => s.idBase58 === schemaId)) {
133
- console.log(`Schema ${schemaId} already saved.`);
134
- return;
135
- }
136
- const schemaData = await execCommand(`ledger tsr get /schemas/${schemaId}`);
137
- const idBase16 = `0x${Buffer.from(base58btc.decode(schemaId)).toString("hex")}`;
138
- data.push({ content: schemaData, idBase16, idBase58: schemaId });
139
- fs.writeFileSync(fileNameSchemas, JSON.stringify(data, null, 2), "utf8");
140
- }
141
- (async () => {
142
- // // OPTIONAL: load a specific domain
143
- // await execCommand("domain https://aio68-0-ebsi-pilot-rou.ebsi.eu");
144
- await initConfigVars();
145
- // load admin
146
- await execCommand(`using user ES256K did1 ${admin.ES256K.privateKey} ${admin.did}`);
147
- if (!progressFile) {
148
- progressFile = `migrationTsr-${Date.now()}.log`;
149
- fs.writeFileSync(progressFile, "", "utf8");
150
- }
151
- await createProgressFile();
152
- const fileData = fs.readFileSync(progressFile, "utf8");
153
- const data = JSON.parse(fileData);
154
- const { schemas } = data;
155
- if (part === "save") {
156
- for (const schema of schemas) {
157
- await saveSchema(schema.schemaId);
158
- }
159
- console.log(`Schemas saved to ${fileNameSchemas}.`);
160
- return;
161
- }
162
- // part migrate
163
- const fileDataSchemas = fs.readFileSync(fileNameSchemas, "utf8");
164
- const schemasData = JSON.parse(fileDataSchemas);
165
- if (part === "migrate") {
166
- // migrate through the TSR API
167
- // the API must have the new contract address configured
168
- await execCommand(`using user ES256 did1 ${admin.ES256.privateKey} ${admin.did}`);
169
- await execCommand(`t: authorisation auth tsr_write_presentation`);
170
- await execCommand(`using token t.access_token`);
171
- }
172
- // eslint-disable-next-line @typescript-eslint/prefer-for-of
173
- for (let i = 0; i < schemas.length; i += 1) {
174
- const schema = schemas[i];
175
- if (!schema.migrated) {
176
- const schemaData = schemasData.find((s) => s.idBase58 === schema.schemaId);
177
- if (schemaData) {
178
- const result = await migrateSchema(schemaData);
179
- if (result.success) {
180
- schema.migrated = true;
181
- }
182
- else {
183
- schema.errors.push(result.error);
184
- }
185
- }
186
- else {
187
- schema.errors.push("Schema not found in schemasData.log");
188
- }
189
- fs.writeFileSync(progressFile, JSON.stringify({ ...data, schemas }, null, 2), "utf8");
190
- }
191
- }
192
- })()
193
- .then(() => {
194
- process.exit(0);
195
- })
196
- // eslint-disable-next-line unicorn/prefer-top-level-await
197
- .catch((error) => {
198
- console.log(error);
199
- process.exit(1);
200
- });
201
- //# sourceMappingURL=migrateTsr.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrateTsr.js","sourceRoot":"","sources":["../../src/programs/migrateTsr.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- env conformance
2
-
3
- # create new issuer
4
- using user null
5
- using user
6
- using user ES256 did1 user.keys.ES256K.privateKeyHex
7
-
8
- # request credential to onboard
9
- vcOnboard: conformance getCredential onboard
10
- set myIssuer user
11
-
12
- # register did document
13
- run registerDidDocument vcOnboard.vc
14
-
15
- # request VerifiableAccreditationToAttest (TI)
16
- vcTI: conformance getCredential ti
17
-
18
- # register the credential for TI
19
- t: authorisation auth tir_invite_presentation ES256 vcTI.vc
20
- using token t.access_token
21
- tir setAttributeData myIssuer.did vcTI.reservedAttributeId vcTI.vc
22
- set vcTI.url tirUrl /issuers/ myIssuer.did /attributes/ vcTI.reservedAttributeId
23
-
24
- view myIssuer
25
- # Go to https://hub.ebsi.eu/wallet-conformance/accredit-authorise/flow
26
- # and validate the following tests:
27
- #
28
- # - Onboarding
29
- # - Request VerifiableAuthorisationToOnboard
30
- # - Register your DID Document into the DID Registry
31
- #
32
- # - Get accredited as a Trusted Issuer
33
- # - Request VerifiableAccreditationToAttest
34
- # - Register VerifiableAccreditationToAttest into the Trusted Issuers Registry