@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,350 +0,0 @@
1
- import { ethers } from "ethers";
2
- import Joi from "joi";
3
- import { sha256 as hasher } from "multiformats/hashes/sha2";
4
- import crypto from "node:crypto";
5
- import { Client } from "../utils/Client.js";
6
- import { fromHexString, multibaseEncode } from "../utils/index.js";
7
- export async function buildParamTimestamp(method, _client, inputs) {
8
- switch (method) {
9
- case "appendRecordVersionHashes": {
10
- const [recordId, inputVersionId, inputData, inputInfo] = inputs;
11
- Joi.assert(recordId, Joi.string());
12
- Joi.assert(inputData, Joi.object().optional());
13
- Joi.assert(inputInfo, Joi.object().optional());
14
- const versionId = Number(inputVersionId);
15
- const data = typeof inputData === "object"
16
- ? inputData
17
- : { test: crypto.randomBytes(12).toString("hex") };
18
- const buffer = Buffer.from(JSON.stringify(data));
19
- const info = typeof inputInfo === "object"
20
- ? inputInfo
21
- : {
22
- info: crypto.randomBytes(12).toString("hex"),
23
- };
24
- const timestamp = {
25
- data: `0x${buffer.toString("hex")}`,
26
- hash: {
27
- id: 0,
28
- value: ethers.sha256(buffer),
29
- },
30
- };
31
- return {
32
- info: {
33
- data: { data, info },
34
- title: "Append record version hashes",
35
- },
36
- param: {
37
- hashAlgorithmIds: [timestamp.hash.id],
38
- hashValues: [timestamp.hash.value],
39
- recordId,
40
- timestampData: [timestamp.data],
41
- versionId,
42
- versionInfo: `0x${Buffer.from(JSON.stringify(info)).toString("hex")}`,
43
- },
44
- paramOrder: [
45
- "recordId",
46
- "versionId",
47
- "hashAlgorithmIds",
48
- "hashValues",
49
- "timestampData",
50
- "versionInfo",
51
- ],
52
- };
53
- }
54
- case "detachRecordVersionHash": {
55
- const [recordId, inputVersionId, hashValue] = inputs;
56
- Joi.assert(recordId, Joi.string());
57
- Joi.assert(hashValue, Joi.string());
58
- const versionId = Number(inputVersionId);
59
- return {
60
- info: {
61
- data: { hashValue, recordId, versionId },
62
- title: "Detach Record Version Hash",
63
- },
64
- param: {
65
- hashValue,
66
- recordId,
67
- versionId,
68
- },
69
- paramOrder: ["recordId", "versionId", "hashValue"],
70
- };
71
- }
72
- case "insertHashAlgorithm": {
73
- const [inputOutputLength, inputIanaName, inputOid, inputStatus, inputMultiHash,] = inputs;
74
- Joi.assert(inputIanaName, Joi.string().optional());
75
- Joi.assert(inputOid, Joi.string().optional());
76
- Joi.assert(inputMultiHash, Joi.string().optional());
77
- const outputLength = Number(inputOutputLength) || 1;
78
- const ianaName = inputIanaName ?? "undefined";
79
- const oid = inputOid ?? "undefined";
80
- const status = Number(inputStatus) || 1;
81
- const multiHash = inputMultiHash ?? ianaName;
82
- return {
83
- info: {
84
- data: ianaName,
85
- title: "Hash Algorithm",
86
- },
87
- param: {
88
- ianaName,
89
- multiHash,
90
- oid,
91
- outputLength,
92
- status,
93
- },
94
- paramOrder: ["outputLength", "ianaName", "oid", "status", "multiHash"],
95
- };
96
- }
97
- case "insertRecordOwner": {
98
- const [recordId, ownerId, inputNotBefore, inputNotAfter] = inputs;
99
- Joi.assert(recordId, Joi.string());
100
- Joi.assert(ownerId, Joi.string());
101
- Joi.assert(inputNotBefore, Joi.string().optional());
102
- Joi.assert(inputNotAfter, Joi.string().optional());
103
- const now = Math.round(Date.now() / 1000);
104
- const notBefore = inputNotBefore ?? now;
105
- const notAfter = inputNotAfter ?? 0;
106
- return {
107
- info: {
108
- data: ownerId,
109
- title: "Insert Record Owner",
110
- },
111
- param: {
112
- notAfter,
113
- notBefore,
114
- ownerId,
115
- recordId,
116
- },
117
- paramOrder: ["recordId", "ownerId", "notBefore", "notAfter"],
118
- };
119
- }
120
- case "insertRecordVersionInfo": {
121
- const [recordId, inputVersionId, inputInfo] = inputs;
122
- Joi.assert(recordId, Joi.string());
123
- Joi.assert(inputInfo, Joi.object().optional());
124
- const versionId = Number(inputVersionId);
125
- const info = typeof inputInfo === "object"
126
- ? inputInfo
127
- : {
128
- info: crypto.randomBytes(12).toString("hex"),
129
- };
130
- return {
131
- info: {
132
- data: { info, recordId, versionId },
133
- title: "Insert Record Version Info",
134
- },
135
- param: {
136
- recordId,
137
- versionId,
138
- versionInfo: `0x${Buffer.from(JSON.stringify(info)).toString("hex")}`,
139
- },
140
- paramOrder: ["recordId", "versionId", "versionInfo"],
141
- };
142
- }
143
- case "revokeRecordOwner": {
144
- const [recordId, ownerId] = inputs;
145
- Joi.assert(recordId, Joi.string());
146
- Joi.assert(ownerId, Joi.string());
147
- return {
148
- info: {
149
- data: ownerId,
150
- title: "Revoke Record Owner",
151
- },
152
- param: {
153
- ownerId,
154
- recordId,
155
- },
156
- paramOrder: ["recordId", "ownerId"],
157
- };
158
- }
159
- case "timestampHashes": {
160
- const [inputData] = inputs;
161
- Joi.assert(inputData, Joi.object().optional());
162
- const data = typeof inputData === "object"
163
- ? inputData
164
- : { test: crypto.randomBytes(12).toString("hex") };
165
- const buffer = Buffer.from(JSON.stringify(data));
166
- const timestamp = {
167
- data: `0x${buffer.toString("hex")}`,
168
- hash: {
169
- id: 0,
170
- value: ethers.sha256(buffer),
171
- },
172
- };
173
- const multihash = await hasher.digest(fromHexString(timestamp.hash.value));
174
- const id = multibaseEncode("base64url", multihash.bytes);
175
- return {
176
- info: {
177
- data: { data, id },
178
- title: "Timestamp hashes",
179
- },
180
- param: {
181
- hashAlgorithmIds: [timestamp.hash.id],
182
- hashValues: [timestamp.hash.value],
183
- timestampData: [timestamp.data],
184
- },
185
- paramOrder: ["hashAlgorithmIds", "hashValues", "timestampData"],
186
- };
187
- }
188
- case "timestampRecordHashes": {
189
- const [inputData, inputInfo] = inputs;
190
- Joi.assert(inputData, Joi.object().optional());
191
- Joi.assert(inputInfo, Joi.object().optional());
192
- const data = typeof inputData === "object"
193
- ? inputData
194
- : { test: crypto.randomBytes(12).toString("hex") };
195
- const buffer = Buffer.from(JSON.stringify(data));
196
- const info = typeof inputInfo === "object"
197
- ? inputInfo
198
- : {
199
- info: crypto.randomBytes(12).toString("hex"),
200
- };
201
- const timestamp = {
202
- data: `0x${buffer.toString("hex")}`,
203
- hash: {
204
- id: 0,
205
- value: ethers.sha256(buffer),
206
- },
207
- };
208
- return {
209
- info: {
210
- data: { hashValue: timestamp.hash.value },
211
- title: "Timestamp record hashes. Record Id:",
212
- },
213
- param: {
214
- hashAlgorithmIds: [timestamp.hash.id],
215
- hashValues: [timestamp.hash.value],
216
- timestampData: [timestamp.data],
217
- versionInfo: `0x${Buffer.from(JSON.stringify(info)).toString("hex")}`,
218
- },
219
- paramOrder: [
220
- "hashAlgorithmIds",
221
- "hashValues",
222
- "timestampData",
223
- "versionInfo",
224
- ],
225
- };
226
- }
227
- case "timestampRecordVersionHashes": {
228
- const [recordId, inputData, inputInfo] = inputs;
229
- Joi.assert(recordId, Joi.string());
230
- Joi.assert(inputData, Joi.object().optional());
231
- Joi.assert(inputInfo, Joi.object().optional());
232
- const data = typeof inputData === "object"
233
- ? inputData
234
- : { test: crypto.randomBytes(12).toString("hex") };
235
- const buffer = Buffer.from(JSON.stringify(data));
236
- const info = typeof inputInfo === "object"
237
- ? inputInfo
238
- : {
239
- info: crypto.randomBytes(12).toString("hex"),
240
- };
241
- const timestamp = {
242
- data: `0x${buffer.toString("hex")}`,
243
- hash: {
244
- id: 0,
245
- value: ethers.sha256(buffer),
246
- },
247
- };
248
- return {
249
- info: {
250
- data: { data, info },
251
- title: "Timestamp record version hashes",
252
- },
253
- param: {
254
- hashAlgorithmIds: [timestamp.hash.id],
255
- hashValues: [timestamp.hash.value],
256
- recordId,
257
- timestampData: [timestamp.data],
258
- versionInfo: `0x${Buffer.from(JSON.stringify(info)).toString("hex")}`,
259
- },
260
- paramOrder: [
261
- "recordId",
262
- "hashAlgorithmIds",
263
- "hashValues",
264
- "timestampData",
265
- "versionInfo",
266
- ],
267
- };
268
- }
269
- case "timestampVersionHashes": {
270
- const [versionHash, inputData, inputInfo] = inputs;
271
- Joi.assert(versionHash, Joi.string());
272
- Joi.assert(inputData, Joi.object().optional());
273
- Joi.assert(inputInfo, Joi.object().optional());
274
- const data = typeof inputData === "object"
275
- ? inputData
276
- : { test: crypto.randomBytes(12).toString("hex") };
277
- const buffer = Buffer.from(JSON.stringify(data));
278
- const info = typeof inputInfo === "object"
279
- ? inputInfo
280
- : {
281
- info: crypto.randomBytes(12).toString("hex"),
282
- };
283
- const timestamp = {
284
- data: `0x${buffer.toString("hex")}`,
285
- hash: {
286
- id: 0,
287
- value: ethers.sha256(buffer),
288
- },
289
- };
290
- return {
291
- info: {
292
- data: { data, info },
293
- title: "Timestamp record version hashes",
294
- },
295
- param: {
296
- hashAlgorithmIds: [timestamp.hash.id],
297
- hashValues: [timestamp.hash.value],
298
- timestampData: [timestamp.data],
299
- versionHash,
300
- versionInfo: `0x${Buffer.from(JSON.stringify(info)).toString("hex")}`,
301
- },
302
- paramOrder: [
303
- "versionHash",
304
- "hashAlgorithmIds",
305
- "hashValues",
306
- "timestampData",
307
- "versionInfo",
308
- ],
309
- };
310
- }
311
- case "updateHashAlgorithm": {
312
- const [inputHashAlgorithmId, inputOutputLength, inputIanaName, inputOid, inputStatus, inputMultiHash,] = inputs;
313
- Joi.assert(inputIanaName, Joi.string().optional());
314
- Joi.assert(inputOid, Joi.string().optional());
315
- Joi.assert(inputMultiHash, Joi.string().optional());
316
- const hashAlgorithmId = Number(inputHashAlgorithmId);
317
- const outputLength = Number(inputOutputLength) || 1;
318
- const ianaName = inputIanaName ?? "undefined";
319
- const oid = inputOid ?? "undefined";
320
- const status = Number(inputStatus) || 1;
321
- const multiHash = inputMultiHash ?? ianaName;
322
- return {
323
- info: {
324
- data: ianaName,
325
- title: "Hash Algorithm",
326
- },
327
- param: {
328
- hashAlgorithmId,
329
- ianaName,
330
- multiHash,
331
- oid,
332
- outputLength,
333
- status,
334
- },
335
- paramOrder: [
336
- "hashAlgorithmId",
337
- "outputLength",
338
- "ianaName",
339
- "oid",
340
- "status",
341
- "multiHash",
342
- ],
343
- };
344
- }
345
- default: {
346
- throw new Error(`Invalid method '${method}'`);
347
- }
348
- }
349
- }
350
- //# sourceMappingURL=timestamp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../src/buildParam/timestamp.ts"],"names":[],"mappings":"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"}
@@ -1,110 +0,0 @@
1
- import Joi from "joi";
2
- import { Client } from "../utils/Client.js";
3
- import { prefixWith0x } from "../utils/index.js";
4
- const issuerTypes = ["undefined", "roottao", "tao", "ti", "revoked"];
5
- export function buildParamTir(method, _client, inputs) {
6
- switch (method) {
7
- case "addIssuerProxy": {
8
- const [did, inputProxyData] = inputs;
9
- Joi.assert(did, Joi.string());
10
- const proxyData = JSON.stringify(inputProxyData);
11
- return {
12
- info: { data: proxyData, title: `Proxy data for issuer ${did}` },
13
- param: {
14
- did,
15
- proxyData,
16
- },
17
- paramOrder: ["did", "proxyData"],
18
- };
19
- }
20
- case "setAttributeData": {
21
- const [did, attributeId, attribute] = inputs;
22
- Joi.assert(did, Joi.string());
23
- Joi.assert(attributeId, Joi.string());
24
- const buffer = getBufferAttribute(attribute);
25
- const attributeData = `0x${buffer.toString("hex")}`;
26
- return {
27
- info: { data: { attributeId }, title: `Issuer ${did}` },
28
- param: {
29
- attributeData,
30
- attributeId: prefixWith0x(attributeId),
31
- did,
32
- },
33
- paramOrder: ["did", "attributeId", "attributeData"],
34
- };
35
- }
36
- case "setAttributeMetadata": {
37
- const [did, revisionId, inputIssuerType, inputTaoDid, inputAttributeIdTao,] = inputs;
38
- Joi.assert(did, Joi.string());
39
- Joi.assert(inputIssuerType, Joi.string().valid(...issuerTypes));
40
- Joi.assert(inputTaoDid, Joi.string().optional());
41
- Joi.assert(inputAttributeIdTao, Joi.string().optional());
42
- const issuerType = issuerTypes.indexOf(inputIssuerType);
43
- let taoDid = inputTaoDid;
44
- let attributeIdTao = inputAttributeIdTao;
45
- if (inputIssuerType === "roottao") {
46
- taoDid ??= did;
47
- attributeIdTao ??= `0x${"0".repeat(64)}`;
48
- }
49
- return {
50
- info: {
51
- data: { issuerType: inputIssuerType, revisionId },
52
- title: `Issuer ${did}`,
53
- },
54
- param: {
55
- attributeIdTao: attributeIdTao ? prefixWith0x(attributeIdTao) : "0x",
56
- did,
57
- issuerType,
58
- revisionId: revisionId ? prefixWith0x(revisionId) : "0x",
59
- taoDid,
60
- },
61
- paramOrder: [
62
- "did",
63
- "revisionId",
64
- "issuerType",
65
- "taoDid",
66
- "attributeIdTao",
67
- ],
68
- };
69
- }
70
- case "updateIssuerProxy": {
71
- const [did, proxyId, inputProxyData] = inputs;
72
- Joi.assert(did, Joi.string());
73
- Joi.assert(proxyId, Joi.string());
74
- const proxyData = JSON.stringify(inputProxyData);
75
- return {
76
- info: { data: proxyData, title: `Proxy data for issuer ${did}` },
77
- param: {
78
- did,
79
- proxyData,
80
- proxyId,
81
- },
82
- paramOrder: ["did", "proxyId", "proxyData"],
83
- };
84
- }
85
- default: {
86
- throw new Error(`Invalid method '${method}'`);
87
- }
88
- }
89
- }
90
- function getBufferAttribute(attribute) {
91
- if (attribute instanceof Buffer)
92
- return attribute;
93
- let buffer;
94
- if (typeof attribute === "object") {
95
- // json attribute
96
- buffer = Buffer.from(JSON.stringify(attribute));
97
- }
98
- else if (typeof attribute === "string") {
99
- buffer = /^(?:0x|0X)?[a-fA-F0-9]+$/.test(attribute)
100
- ? // buffer attribute defined in hex string
101
- Buffer.from(attribute.replace("0x", ""), "hex")
102
- : // jwt attribute
103
- Buffer.from(attribute);
104
- }
105
- else {
106
- throw new TypeError(`invalid type for attribute: ${typeof attribute}`);
107
- }
108
- return buffer;
109
- }
110
- //# sourceMappingURL=tir.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tir.js","sourceRoot":"","sources":["../../src/buildParam/tir.ts"],"names":[],"mappings":"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"}