@europeum-ebsi/cli 0.0.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 (209) hide show
  1. package/LICENSE.txt +289 -0
  2. package/README.md +98 -0
  3. package/bin/cli.js +13 -0
  4. package/dist/abi/pilot/DidRegistry.js +568 -0
  5. package/dist/abi/pilot/DidRegistry.js.map +1 -0
  6. package/dist/abi/pilot/Ptr.js +666 -0
  7. package/dist/abi/pilot/Ptr.js.map +1 -0
  8. package/dist/abi/pilot/SchemaSCRegistry.js +264 -0
  9. package/dist/abi/pilot/SchemaSCRegistry.js.map +1 -0
  10. package/dist/abi/pilot/Tcr.js +715 -0
  11. package/dist/abi/pilot/Tcr.js.map +1 -0
  12. package/dist/abi/pilot/Timestamp.js +658 -0
  13. package/dist/abi/pilot/Timestamp.js.map +1 -0
  14. package/dist/abi/pilot/Tir.js +428 -0
  15. package/dist/abi/pilot/Tir.js.map +1 -0
  16. package/dist/abi/pilot/TnT.js +842 -0
  17. package/dist/abi/pilot/TnT.js.map +1 -0
  18. package/dist/abi/pilot/Tpr.js +492 -0
  19. package/dist/abi/pilot/Tpr.js.map +1 -0
  20. package/dist/abi/test/DidRegistry.js +568 -0
  21. package/dist/abi/test/DidRegistry.js.map +1 -0
  22. package/dist/abi/test/Ptr.js +666 -0
  23. package/dist/abi/test/Ptr.js.map +1 -0
  24. package/dist/abi/test/SchemaSCRegistry.js +300 -0
  25. package/dist/abi/test/SchemaSCRegistry.js.map +1 -0
  26. package/dist/abi/test/Tcr.js +715 -0
  27. package/dist/abi/test/Tcr.js.map +1 -0
  28. package/dist/abi/test/Timestamp.js +658 -0
  29. package/dist/abi/test/Timestamp.js.map +1 -0
  30. package/dist/abi/test/Tir.js +428 -0
  31. package/dist/abi/test/Tir.js.map +1 -0
  32. package/dist/abi/test/TnT.js +842 -0
  33. package/dist/abi/test/TnT.js.map +1 -0
  34. package/dist/abi/test/Tpr.js +492 -0
  35. package/dist/abi/test/Tpr.js.map +1 -0
  36. package/dist/app.js +659 -0
  37. package/dist/app.js.map +1 -0
  38. package/dist/buildParam/didr.js +374 -0
  39. package/dist/buildParam/didr.js.map +1 -0
  40. package/dist/buildParam/index.js +53 -0
  41. package/dist/buildParam/index.js.map +1 -0
  42. package/dist/buildParam/ptr.js +80 -0
  43. package/dist/buildParam/ptr.js.map +1 -0
  44. package/dist/buildParam/tcr.js +36 -0
  45. package/dist/buildParam/tcr.js.map +1 -0
  46. package/dist/buildParam/timestamp.js +350 -0
  47. package/dist/buildParam/timestamp.js.map +1 -0
  48. package/dist/buildParam/tir.js +110 -0
  49. package/dist/buildParam/tir.js.map +1 -0
  50. package/dist/buildParam/tnt.js +214 -0
  51. package/dist/buildParam/tnt.js.map +1 -0
  52. package/dist/buildParam/tpr.js +91 -0
  53. package/dist/buildParam/tpr.js.map +1 -0
  54. package/dist/buildParam/tsr.js +115 -0
  55. package/dist/buildParam/tsr.js.map +1 -0
  56. package/dist/cli.js +11 -0
  57. package/dist/cli.js.map +1 -0
  58. package/dist/commands/authorisation.js +144 -0
  59. package/dist/commands/authorisation.js.map +1 -0
  60. package/dist/commands/compute.js +680 -0
  61. package/dist/commands/compute.js.map +1 -0
  62. package/dist/commands/conformance.js +813 -0
  63. package/dist/commands/conformance.js.map +1 -0
  64. package/dist/commands/hardwarewallet.js +41 -0
  65. package/dist/commands/hardwarewallet.js.map +1 -0
  66. package/dist/commands/index.js +8 -0
  67. package/dist/commands/index.js.map +1 -0
  68. package/dist/commands/ledger.js +397 -0
  69. package/dist/commands/ledger.js.map +1 -0
  70. package/dist/commands/ptr.js +54 -0
  71. package/dist/commands/ptr.js.map +1 -0
  72. package/dist/commands/tcr.js +50 -0
  73. package/dist/commands/tcr.js.map +1 -0
  74. package/dist/commands/tir.js +64 -0
  75. package/dist/commands/tir.js.map +1 -0
  76. package/dist/commands/tnl.js +81 -0
  77. package/dist/commands/tnl.js.map +1 -0
  78. package/dist/commands/tsr.js +45 -0
  79. package/dist/commands/tsr.js.map +1 -0
  80. package/dist/commands/view.js +53 -0
  81. package/dist/commands/view.js.map +1 -0
  82. package/dist/config.js +497 -0
  83. package/dist/config.js.map +1 -0
  84. package/dist/index.js +7 -0
  85. package/dist/index.js.map +1 -0
  86. package/dist/interfaces/context.js +2 -0
  87. package/dist/interfaces/context.js.map +1 -0
  88. package/dist/interfaces/contracts/ProxyFactory.js +2 -0
  89. package/dist/interfaces/contracts/ProxyFactory.js.map +1 -0
  90. package/dist/interfaces/contracts/ProxyTemplateRegistry.js +2 -0
  91. package/dist/interfaces/contracts/ProxyTemplateRegistry.js.map +1 -0
  92. package/dist/interfaces/contracts/SchemaSCRegistry.js +2 -0
  93. package/dist/interfaces/contracts/SchemaSCRegistry.js.map +1 -0
  94. package/dist/interfaces/contracts/common.js +2 -0
  95. package/dist/interfaces/contracts/common.js.map +1 -0
  96. package/dist/interfaces/index.js +5 -0
  97. package/dist/interfaces/index.js.map +1 -0
  98. package/dist/interfaces/jsonrpc.interface.js +2 -0
  99. package/dist/interfaces/jsonrpc.interface.js.map +1 -0
  100. package/dist/interfaces/paginated-list.interface.js +2 -0
  101. package/dist/interfaces/paginated-list.interface.js.map +1 -0
  102. package/dist/interfaces/unsigned-transaction.interface.js +2 -0
  103. package/dist/interfaces/unsigned-transaction.interface.js.map +1 -0
  104. package/dist/interfaces/utils.interface.js +2 -0
  105. package/dist/interfaces/utils.interface.js.map +1 -0
  106. package/dist/programs/migrateDid.js +159 -0
  107. package/dist/programs/migrateDid.js.map +1 -0
  108. package/dist/programs/migrateDids.js +232 -0
  109. package/dist/programs/migrateDids.js.map +1 -0
  110. package/dist/programs/migrateTsr.js +201 -0
  111. package/dist/programs/migrateTsr.js.map +1 -0
  112. package/dist/scripts/accreditAndAuthorize/conformance/step1 +34 -0
  113. package/dist/scripts/accreditAndAuthorize/conformance/step2 +18 -0
  114. package/dist/scripts/accreditAndAuthorize/conformance/step3 +9 -0
  115. package/dist/scripts/accreditAndAuthorize/conformance/step4 +27 -0
  116. package/dist/scripts/accreditAndAuthorize/conformance/step5 +13 -0
  117. package/dist/scripts/accreditAndAuthorize/conformance/step6 +14 -0
  118. package/dist/scripts/accreditAndAuthorize/conformance/step7 +7 -0
  119. package/dist/scripts/accreditAndAuthorize/test/step1 +34 -0
  120. package/dist/scripts/accreditAndAuthorize/test/step2 +18 -0
  121. package/dist/scripts/accreditAndAuthorize/test/step3 +9 -0
  122. package/dist/scripts/accreditAndAuthorize/test/step4 +27 -0
  123. package/dist/scripts/accreditAndAuthorize/test/step5 +13 -0
  124. package/dist/scripts/accreditAndAuthorize/test/step6 +14 -0
  125. package/dist/scripts/accreditAndAuthorize/test/step7 +7 -0
  126. package/dist/scripts/accreditTI +21 -0
  127. package/dist/scripts/assets/Nodes.json +27 -0
  128. package/dist/scripts/assets/vcdm1.1/CTRevocableCredential.json +30 -0
  129. package/dist/scripts/assets/vcdm1.1/CredentialToAttestVerifiableAuthorisationForTrustChain.json +29 -0
  130. package/dist/scripts/assets/vcdm1.1/Nodes.json +27 -0
  131. package/dist/scripts/assets/vcdm1.1/TrustedNodesList.json +35 -0
  132. package/dist/scripts/assets/vcdm1.1/VerifiableAccreditationToAccredit.json +35 -0
  133. package/dist/scripts/assets/vcdm1.1/VerifiableAccreditationToAttest.json +33 -0
  134. package/dist/scripts/assets/vcdm1.1/VerifiableAuthorisationForTrustChain.json +22 -0
  135. package/dist/scripts/assets/vcdm1.1/VerifiableAuthorisationToInvoke.json +24 -0
  136. package/dist/scripts/assets/vcdm1.1/VerifiableAuthorisationToOnboard.json +24 -0
  137. package/dist/scripts/assets/vcdm2.0/CredentialToAttestVerifiableAuthorisationForTrustChain.json +29 -0
  138. package/dist/scripts/assets/vcdm2.0/TrustedNodesList.json +36 -0
  139. package/dist/scripts/assets/vcdm2.0/VerifiableAccreditationToAccredit.json +40 -0
  140. package/dist/scripts/assets/vcdm2.0/VerifiableAccreditationToAttest.json +38 -0
  141. package/dist/scripts/assets/vcdm2.0/VerifiableAuthorisationForTrustChain.json +30 -0
  142. package/dist/scripts/assets/vcdm2.0/VerifiableAuthorisationToInvoke.json +24 -0
  143. package/dist/scripts/assets/vcdm2.0/VerifiableAuthorisationToOnboard.json +23 -0
  144. package/dist/scripts/bootstrap/0a-loadTPROperator +5 -0
  145. package/dist/scripts/bootstrap/0b-loadAdmin +8 -0
  146. package/dist/scripts/bootstrap/1-populateTPR +92 -0
  147. package/dist/scripts/bootstrap/2-populateDID +6 -0
  148. package/dist/scripts/bootstrap/3-populateTimestamp +9 -0
  149. package/dist/scripts/bootstrap/4-populateTIR +8 -0
  150. package/dist/scripts/bootstrap/5-populateTSR +85 -0
  151. package/dist/scripts/bootstrap/6-setupConformanceIssuer +35 -0
  152. package/dist/scripts/bootstrap/README.md +218 -0
  153. package/dist/scripts/issueVcInvoke +10 -0
  154. package/dist/scripts/issueVcOnboard +9 -0
  155. package/dist/scripts/issueVcRootTAO +11 -0
  156. package/dist/scripts/issueVcTAO +12 -0
  157. package/dist/scripts/issueVcTI +12 -0
  158. package/dist/scripts/issueVcTnl +32 -0
  159. package/dist/scripts/issue_CTRevocableCredential +12 -0
  160. package/dist/scripts/issue_SelfAttestationSupportOffice +10 -0
  161. package/dist/scripts/issue_VerifiableAccreditationToAccredit +11 -0
  162. package/dist/scripts/issue_VerifiableAccreditationToAttest +11 -0
  163. package/dist/scripts/issue_VerifiableAuthorisationForTrustChain +10 -0
  164. package/dist/scripts/issue_VerifiableAuthorisationToOnboard +9 -0
  165. package/dist/scripts/preregisterIssuer +6 -0
  166. package/dist/scripts/registerDidDocument +15 -0
  167. package/dist/scripts/registerIssuer +6 -0
  168. package/dist/scripts/updateVcRootTAO +10 -0
  169. package/dist/scripts/updateVcTAO +11 -0
  170. package/dist/scripts/updateVcTI +11 -0
  171. package/dist/scripts/vcdm2.0/issueSelfAttestationSupportOffice +10 -0
  172. package/dist/scripts/vcdm2.0/issueVcInvoke +12 -0
  173. package/dist/scripts/vcdm2.0/issueVcOnboard +11 -0
  174. package/dist/scripts/vcdm2.0/issueVcRootTAO +14 -0
  175. package/dist/scripts/vcdm2.0/issueVcTAO +15 -0
  176. package/dist/scripts/vcdm2.0/issueVcTI +15 -0
  177. package/dist/scripts/vcdm2.0/issueVcTnl +34 -0
  178. package/dist/scripts/vcdm2.0/registerDidDocument +15 -0
  179. package/dist/scripts/vcdm2.0/updateVcRootTAO +13 -0
  180. package/dist/scripts/vcdm2.0/updateVcTAO +14 -0
  181. package/dist/scripts/vcdm2.0/updateVcTI +14 -0
  182. package/dist/scripts/vcdm2.0/verifyVcTnl +10 -0
  183. package/dist/scripts/verifyVcTnl +10 -0
  184. package/dist/scripts/wct/accreditAndAuthorize +133 -0
  185. package/dist/scripts/wct/accreditAndAuthorize2 +89 -0
  186. package/dist/scripts/wct/holderWallet +39 -0
  187. package/dist/scripts/wct/holderWallet2 +39 -0
  188. package/dist/scripts/wct/issueToHolder +38 -0
  189. package/dist/scripts/wct/issueToHolder2 +38 -0
  190. package/dist/scripts/wct/pda1 +3 -0
  191. package/dist/scripts/wct/verifier +8 -0
  192. package/dist/scripts/wct/verifier2 +7 -0
  193. package/dist/utils/Client.js +155 -0
  194. package/dist/utils/Client.js.map +1 -0
  195. package/dist/utils/HardwareWallet.js +326 -0
  196. package/dist/utils/HardwareWallet.js.map +1 -0
  197. package/dist/utils/http.js +132 -0
  198. package/dist/utils/http.js.map +1 -0
  199. package/dist/utils/index.js +8 -0
  200. package/dist/utils/index.js.map +1 -0
  201. package/dist/utils/jsonrpc.js +38 -0
  202. package/dist/utils/jsonrpc.js.map +1 -0
  203. package/dist/utils/print.js +56 -0
  204. package/dist/utils/print.js.map +1 -0
  205. package/dist/utils/utils.js +427 -0
  206. package/dist/utils/utils.js.map +1 -0
  207. package/dist/utils/vcdm.js +47 -0
  208. package/dist/utils/vcdm.js.map +1 -0
  209. package/package.json +121 -0
@@ -0,0 +1,350 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../src/buildParam/timestamp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tir.js","sourceRoot":"","sources":["../../src/buildParam/tir.ts"],"names":[],"mappings":"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"}