@cef-ebsi/cli 1.3.2 → 1.4.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 (187) hide show
  1. package/bin/cli.js +1 -1
  2. package/dist/abi/pilot/DidRegistry.js +568 -0
  3. package/dist/abi/pilot/DidRegistry.js.map +1 -0
  4. package/dist/abi/pilot/SchemaSCRegistry.js +264 -0
  5. package/dist/abi/pilot/SchemaSCRegistry.js.map +1 -0
  6. package/dist/abi/pilot/Timestamp.js +658 -0
  7. package/dist/abi/pilot/Timestamp.js.map +1 -0
  8. package/dist/abi/pilot/Tir.js +428 -0
  9. package/dist/abi/pilot/Tir.js.map +1 -0
  10. package/dist/abi/pilot/TnT.js +842 -0
  11. package/dist/abi/pilot/TnT.js.map +1 -0
  12. package/dist/abi/pilot/Tpr.js +492 -0
  13. package/dist/abi/pilot/Tpr.js.map +1 -0
  14. package/dist/abi/test/DidRegistry.js +144 -658
  15. package/dist/abi/test/DidRegistry.js.map +1 -1
  16. package/dist/abi/test/SchemaSCRegistry.js +101 -810
  17. package/dist/abi/test/SchemaSCRegistry.js.map +1 -1
  18. package/dist/abi/test/Timestamp.js +239 -673
  19. package/dist/abi/test/Timestamp.js.map +1 -1
  20. package/dist/abi/test/Tir.js +167 -636
  21. package/dist/abi/test/Tir.js.map +1 -1
  22. package/dist/abi/test/TnT.js +842 -0
  23. package/dist/abi/test/TnT.js.map +1 -0
  24. package/dist/abi/test/Tpr.js +166 -942
  25. package/dist/abi/test/Tpr.js.map +1 -1
  26. package/dist/app.js +444 -443
  27. package/dist/app.js.map +1 -1
  28. package/dist/buildParam/{didV3.js → didr.js} +182 -204
  29. package/dist/buildParam/didr.js.map +1 -0
  30. package/dist/buildParam/index.js +32 -48
  31. package/dist/buildParam/index.js.map +1 -1
  32. package/dist/buildParam/{timestampV2.js → timestamp.js} +137 -136
  33. package/dist/buildParam/timestamp.js.map +1 -0
  34. package/dist/buildParam/{tirV3.js → tir.js} +57 -59
  35. package/dist/buildParam/tir.js.map +1 -0
  36. package/dist/buildParam/{tntV2.js → tnt.js} +62 -61
  37. package/dist/buildParam/tnt.js.map +1 -0
  38. package/dist/buildParam/{tprV2.js → tpr.js} +34 -33
  39. package/dist/buildParam/tpr.js.map +1 -0
  40. package/dist/buildParam/{tsrV2.js → tsr.js} +39 -38
  41. package/dist/buildParam/tsr.js.map +1 -0
  42. package/dist/cli.js +1 -0
  43. package/dist/cli.js.map +1 -1
  44. package/dist/commands/{authorisation-v4.js → authorisation.js} +78 -71
  45. package/dist/commands/authorisation.js.map +1 -0
  46. package/dist/commands/compute.js +389 -389
  47. package/dist/commands/compute.js.map +1 -1
  48. package/dist/commands/{conformance-v3.js → conformance.js} +236 -248
  49. package/dist/commands/conformance.js.map +1 -0
  50. package/dist/commands/hardwarewallet.js +5 -5
  51. package/dist/commands/hardwarewallet.js.map +1 -1
  52. package/dist/commands/index.js +4 -4
  53. package/dist/commands/index.js.map +1 -1
  54. package/dist/commands/{ledger-v4.js → ledger.js} +141 -128
  55. package/dist/commands/ledger.js.map +1 -0
  56. package/dist/commands/tnl.js +10 -9
  57. package/dist/commands/tnl.js.map +1 -1
  58. package/dist/commands/tsr.js +46 -0
  59. package/dist/commands/tsr.js.map +1 -0
  60. package/dist/commands/view.js +8 -8
  61. package/dist/commands/view.js.map +1 -1
  62. package/dist/config.js +280 -279
  63. package/dist/config.js.map +1 -1
  64. package/dist/index.js +3 -3
  65. package/dist/index.js.map +1 -1
  66. package/dist/interfaces/index.js +1 -1
  67. package/dist/interfaces/index.js.map +1 -1
  68. package/dist/programs/migrateDid.js +33 -33
  69. package/dist/programs/migrateDid.js.map +1 -1
  70. package/dist/programs/migrateDids.js +39 -42
  71. package/dist/programs/migrateDids.js.map +1 -1
  72. package/dist/programs/migrateTsr.js +109 -113
  73. package/dist/programs/migrateTsr.js.map +1 -1
  74. package/dist/scripts/accreditAndAuthorize/conformance/step1 +1 -1
  75. package/dist/scripts/accreditAndAuthorize/test/step1 +1 -1
  76. package/dist/scripts/accreditTI +1 -1
  77. package/dist/scripts/assets/CTRevocableCredential.json +1 -1
  78. package/dist/scripts/assets/CredentialToAttestVerifiableAuthorisationForTrustChain.json +2 -2
  79. package/dist/scripts/assets/TrustedNodesList.json +1 -1
  80. package/dist/scripts/assets/VerifiableAccreditationToAccredit.json +2 -2
  81. package/dist/scripts/assets/VerifiableAccreditationToAttest.json +2 -2
  82. package/dist/scripts/assets/VerifiableAuthorisationForTrustChain.json +1 -1
  83. package/dist/scripts/assets/VerifiableAuthorisationToOnboard.json +1 -1
  84. package/dist/scripts/bootstrap/6-setupConformanceIssuer +1 -1
  85. package/dist/scripts/issueVcOnboard +1 -1
  86. package/dist/scripts/issueVcRootTAO +1 -1
  87. package/dist/scripts/issueVcTAO +2 -2
  88. package/dist/scripts/issueVcTI +2 -2
  89. package/dist/scripts/issueVcTnl +1 -1
  90. package/dist/scripts/issue_CTRevocableCredential +1 -1
  91. package/dist/scripts/issue_SelfAttestationSupportOffice +2 -2
  92. package/dist/scripts/issue_VerifiableAccreditationToAccredit +2 -2
  93. package/dist/scripts/issue_VerifiableAccreditationToAttest +2 -2
  94. package/dist/scripts/issue_VerifiableAuthorisationForTrustChain +1 -1
  95. package/dist/scripts/issue_VerifiableAuthorisationToOnboard +1 -1
  96. package/dist/scripts/updateVcRootTAO +1 -1
  97. package/dist/scripts/updateVcTAO +2 -2
  98. package/dist/scripts/updateVcTI +2 -2
  99. package/dist/scripts/{wctv3 → wct}/accreditAndAuthorize +1 -1
  100. package/dist/tsconfig.build.tsbuildinfo +1 -0
  101. package/dist/utils/Client.js +81 -68
  102. package/dist/utils/Client.js.map +1 -1
  103. package/dist/utils/HardwareWallet.js +169 -165
  104. package/dist/utils/HardwareWallet.js.map +1 -1
  105. package/dist/utils/http.js +24 -27
  106. package/dist/utils/http.js.map +1 -1
  107. package/dist/utils/index.js +3 -3
  108. package/dist/utils/index.js.map +1 -1
  109. package/dist/utils/jsonrpc.js +14 -14
  110. package/dist/utils/jsonrpc.js.map +1 -1
  111. package/dist/utils/print.js +19 -19
  112. package/dist/utils/print.js.map +1 -1
  113. package/dist/utils/utils.js +180 -173
  114. package/dist/utils/utils.js.map +1 -1
  115. package/package.json +70 -46
  116. package/dist/abi/pilot/DidRegistryV3.js +0 -1082
  117. package/dist/abi/pilot/DidRegistryV3.js.map +0 -1
  118. package/dist/abi/pilot/DidRegistryV4.js +0 -942
  119. package/dist/abi/pilot/DidRegistryV4.js.map +0 -1
  120. package/dist/abi/pilot/SchemaSCRegistryV2.js +0 -474
  121. package/dist/abi/pilot/SchemaSCRegistryV2.js.map +0 -1
  122. package/dist/abi/pilot/TimestampV2.js +0 -1128
  123. package/dist/abi/pilot/TimestampV2.js.map +0 -1
  124. package/dist/abi/pilot/TimestampV3.js +0 -995
  125. package/dist/abi/pilot/TimestampV3.js.map +0 -1
  126. package/dist/abi/pilot/TirV3.js +0 -496
  127. package/dist/abi/pilot/TirV3.js.map +0 -1
  128. package/dist/abi/pilot/TirV4.js +0 -710
  129. package/dist/abi/pilot/TirV4.js.map +0 -1
  130. package/dist/abi/pilot/TnTV1.js +0 -1375
  131. package/dist/abi/pilot/TnTV1.js.map +0 -1
  132. package/dist/abi/pilot/TprV2.js +0 -889
  133. package/dist/abi/pilot/TprV2.js.map +0 -1
  134. package/dist/abi/pilot/TprV3.js +0 -707
  135. package/dist/abi/pilot/TprV3.js.map +0 -1
  136. package/dist/abi/pilot/TsrV3.js +0 -571
  137. package/dist/abi/pilot/TsrV3.js.map +0 -1
  138. package/dist/abi/test/DidRegistryV3.js +0 -1089
  139. package/dist/abi/test/DidRegistryV3.js.map +0 -1
  140. package/dist/abi/test/DidRegistryV4.js +0 -960
  141. package/dist/abi/test/DidRegistryV4.js.map +0 -1
  142. package/dist/abi/test/SchemaSCRegistryV2.js +0 -474
  143. package/dist/abi/test/SchemaSCRegistryV2.js.map +0 -1
  144. package/dist/abi/test/TimestampV2.js +0 -1128
  145. package/dist/abi/test/TimestampV2.js.map +0 -1
  146. package/dist/abi/test/TimestampV3.js +0 -995
  147. package/dist/abi/test/TimestampV3.js.map +0 -1
  148. package/dist/abi/test/TirV3.js +0 -496
  149. package/dist/abi/test/TirV3.js.map +0 -1
  150. package/dist/abi/test/TirV4.js +0 -710
  151. package/dist/abi/test/TirV4.js.map +0 -1
  152. package/dist/abi/test/TnTV1.js +0 -1375
  153. package/dist/abi/test/TnTV1.js.map +0 -1
  154. package/dist/abi/test/TprV2.js +0 -889
  155. package/dist/abi/test/TprV2.js.map +0 -1
  156. package/dist/abi/test/TprV3.js +0 -707
  157. package/dist/abi/test/TprV3.js.map +0 -1
  158. package/dist/abi/test/TsrV3.js +0 -571
  159. package/dist/abi/test/TsrV3.js.map +0 -1
  160. package/dist/buildParam/didV3.js.map +0 -1
  161. package/dist/buildParam/didV4.js +0 -326
  162. package/dist/buildParam/didV4.js.map +0 -1
  163. package/dist/buildParam/timestampV2.js.map +0 -1
  164. package/dist/buildParam/timestampV3.js +0 -317
  165. package/dist/buildParam/timestampV3.js.map +0 -1
  166. package/dist/buildParam/tirV3.js.map +0 -1
  167. package/dist/buildParam/tirV4.js +0 -119
  168. package/dist/buildParam/tirV4.js.map +0 -1
  169. package/dist/buildParam/tntV1.js +0 -185
  170. package/dist/buildParam/tntV1.js.map +0 -1
  171. package/dist/buildParam/tntV2.js.map +0 -1
  172. package/dist/buildParam/tprV2.js.map +0 -1
  173. package/dist/buildParam/tprV3.js +0 -82
  174. package/dist/buildParam/tprV3.js.map +0 -1
  175. package/dist/buildParam/tsrV2.js.map +0 -1
  176. package/dist/buildParam/tsrV3.js +0 -110
  177. package/dist/buildParam/tsrV3.js.map +0 -1
  178. package/dist/commands/authorisation-v4.js.map +0 -1
  179. package/dist/commands/authorisation-v5.js +0 -119
  180. package/dist/commands/authorisation-v5.js.map +0 -1
  181. package/dist/commands/conformance-v3.js.map +0 -1
  182. package/dist/commands/ledger-v4.js.map +0 -1
  183. package/dist/tsconfig.tsbuildinfo +0 -1
  184. /package/dist/scripts/{wctv3 → wct}/holderWallet +0 -0
  185. /package/dist/scripts/{wctv3 → wct}/issueToHolder +0 -0
  186. /package/dist/scripts/{wctv3 → wct}/pda1 +0 -0
  187. /package/dist/scripts/{wctv3 → wct}/verifier +0 -0
@@ -1,317 +0,0 @@
1
- import crypto from "node:crypto";
2
- import { ethers } from "ethers";
3
- import Multihash from "multihashes";
4
- import Joi from "joi";
5
- import { multibaseEncode, fromHexString } from "../utils/index.js";
6
- const { sha256 } = ethers.utils;
7
- export function buildParamTimestampV3(method, client, inputs) {
8
- switch (method) {
9
- case "timestampRecordHashes": {
10
- const [inputData, inputInfo] = inputs;
11
- Joi.assert(inputData, Joi.object().optional());
12
- Joi.assert(inputInfo, Joi.object().optional());
13
- const data = typeof inputData === "object"
14
- ? inputData
15
- : { test: crypto.randomBytes(12).toString("hex") };
16
- const buffer = Buffer.from(JSON.stringify(data));
17
- const info = typeof inputInfo === "object"
18
- ? inputInfo
19
- : {
20
- info: crypto.randomBytes(12).toString("hex"),
21
- };
22
- const timestamp = {
23
- hash: {
24
- id: 0,
25
- value: sha256(buffer),
26
- },
27
- data: `0x${buffer.toString("hex")}`,
28
- };
29
- return {
30
- info: {
31
- title: "Timestamp record hashes. Record Id:",
32
- data: { hashValue: timestamp.hash.value },
33
- },
34
- param: {
35
- hashAlgorithmIds: [timestamp.hash.id],
36
- hashValues: [timestamp.hash.value],
37
- timestampData: [timestamp.data],
38
- versionInfo: `0x${Buffer.from(JSON.stringify(info)).toString("hex")}`,
39
- },
40
- };
41
- }
42
- case "timestampVersionHashes": {
43
- const [versionHash, inputData, inputInfo] = inputs;
44
- Joi.assert(versionHash, Joi.string());
45
- Joi.assert(inputData, Joi.object().optional());
46
- Joi.assert(inputInfo, Joi.object().optional());
47
- const data = typeof inputData === "object"
48
- ? inputData
49
- : { test: crypto.randomBytes(12).toString("hex") };
50
- const buffer = Buffer.from(JSON.stringify(data));
51
- const info = typeof inputInfo === "object"
52
- ? inputInfo
53
- : {
54
- info: crypto.randomBytes(12).toString("hex"),
55
- };
56
- const timestamp = {
57
- hash: {
58
- id: 0,
59
- value: sha256(buffer),
60
- },
61
- data: `0x${buffer.toString("hex")}`,
62
- };
63
- return {
64
- info: {
65
- title: "Timestamp record version hashes",
66
- data: { data, info },
67
- },
68
- param: {
69
- versionHash,
70
- hashAlgorithmIds: [timestamp.hash.id],
71
- hashValues: [timestamp.hash.value],
72
- timestampData: [timestamp.data],
73
- versionInfo: `0x${Buffer.from(JSON.stringify(info)).toString("hex")}`,
74
- },
75
- };
76
- }
77
- case "timestampRecordVersionHashes": {
78
- const [recordId, inputData, inputInfo] = inputs;
79
- Joi.assert(recordId, Joi.string());
80
- Joi.assert(inputData, Joi.object().optional());
81
- Joi.assert(inputInfo, Joi.object().optional());
82
- const data = typeof inputData === "object"
83
- ? inputData
84
- : { test: crypto.randomBytes(12).toString("hex") };
85
- const buffer = Buffer.from(JSON.stringify(data));
86
- const info = typeof inputInfo === "object"
87
- ? inputInfo
88
- : {
89
- info: crypto.randomBytes(12).toString("hex"),
90
- };
91
- const timestamp = {
92
- hash: {
93
- id: 0,
94
- value: sha256(buffer),
95
- },
96
- data: `0x${buffer.toString("hex")}`,
97
- };
98
- return {
99
- info: {
100
- title: "Timestamp record version hashes",
101
- data: { data, info },
102
- },
103
- param: {
104
- recordId,
105
- hashAlgorithmIds: [timestamp.hash.id],
106
- hashValues: [timestamp.hash.value],
107
- timestampData: [timestamp.data],
108
- versionInfo: `0x${Buffer.from(JSON.stringify(info)).toString("hex")}`,
109
- },
110
- };
111
- }
112
- case "insertRecordOwner": {
113
- const [recordId, ownerId, inputNotBefore, inputNotAfter] = inputs;
114
- Joi.assert(recordId, Joi.string());
115
- Joi.assert(ownerId, Joi.string());
116
- Joi.assert(inputNotBefore, Joi.string().optional());
117
- Joi.assert(inputNotAfter, Joi.string().optional());
118
- const now = Math.round(Date.now() / 1000);
119
- const notBefore = inputNotBefore || now;
120
- const notAfter = inputNotAfter || 0;
121
- return {
122
- info: {
123
- title: "Insert Record Owner",
124
- data: ownerId,
125
- },
126
- param: {
127
- recordId,
128
- ownerId,
129
- notBefore,
130
- notAfter,
131
- },
132
- };
133
- }
134
- case "revokeRecordOwner": {
135
- const [recordId, ownerId] = inputs;
136
- Joi.assert(recordId, Joi.string());
137
- Joi.assert(ownerId, Joi.string());
138
- return {
139
- info: {
140
- title: "Revoke Record Owner",
141
- data: ownerId,
142
- },
143
- param: {
144
- recordId,
145
- ownerId,
146
- },
147
- };
148
- }
149
- case "insertRecordVersionInfo": {
150
- const [recordId, inputVersionId, inputInfo] = inputs;
151
- Joi.assert(recordId, Joi.string());
152
- Joi.assert(inputVersionId, Joi.string());
153
- Joi.assert(inputInfo, Joi.object().optional());
154
- const versionId = Number(inputVersionId);
155
- const info = typeof inputInfo === "object"
156
- ? inputInfo
157
- : {
158
- info: crypto.randomBytes(12).toString("hex"),
159
- };
160
- return {
161
- info: {
162
- title: "Insert Record Version Info",
163
- data: { recordId, versionId, info },
164
- },
165
- param: {
166
- recordId,
167
- versionId,
168
- versionInfo: `0x${Buffer.from(JSON.stringify(info)).toString("hex")}`,
169
- },
170
- };
171
- }
172
- case "detachRecordVersionHash": {
173
- const [recordId, inputVersionId, hashValue] = inputs;
174
- Joi.assert(recordId, Joi.string());
175
- Joi.assert(inputVersionId, Joi.string());
176
- Joi.assert(hashValue, Joi.string());
177
- const versionId = Number(inputVersionId);
178
- return {
179
- info: {
180
- title: "Detach Record Version Hash",
181
- data: { recordId, versionId, hashValue },
182
- },
183
- param: {
184
- recordId,
185
- versionId,
186
- hashValue,
187
- },
188
- };
189
- }
190
- case "appendRecordVersionHashes": {
191
- const [recordId, inputVersionId, inputData, inputInfo] = inputs;
192
- Joi.assert(recordId, Joi.string());
193
- Joi.assert(inputVersionId, Joi.string());
194
- Joi.assert(inputData, Joi.object().optional());
195
- Joi.assert(inputInfo, Joi.object().optional());
196
- const versionId = Number(inputVersionId);
197
- const data = typeof inputData === "object"
198
- ? inputData
199
- : { test: crypto.randomBytes(12).toString("hex") };
200
- const buffer = Buffer.from(JSON.stringify(data));
201
- const info = typeof inputInfo === "object"
202
- ? inputInfo
203
- : {
204
- info: crypto.randomBytes(12).toString("hex"),
205
- };
206
- const timestamp = {
207
- hash: {
208
- id: 0,
209
- value: sha256(buffer),
210
- },
211
- data: `0x${buffer.toString("hex")}`,
212
- };
213
- return {
214
- info: {
215
- title: "Append record version hashes",
216
- data: { data, info },
217
- },
218
- param: {
219
- recordId,
220
- versionId,
221
- hashAlgorithmIds: [timestamp.hash.id],
222
- hashValues: [timestamp.hash.value],
223
- timestampData: [timestamp.data],
224
- versionInfo: `0x${Buffer.from(JSON.stringify(info)).toString("hex")}`,
225
- },
226
- };
227
- }
228
- case "timestampHashes": {
229
- const [inputData] = inputs;
230
- Joi.assert(inputData, Joi.object().optional());
231
- const data = typeof inputData === "object"
232
- ? inputData
233
- : { test: crypto.randomBytes(12).toString("hex") };
234
- const buffer = Buffer.from(JSON.stringify(data));
235
- const timestamp = {
236
- hash: {
237
- id: 0,
238
- value: sha256(buffer),
239
- },
240
- data: `0x${buffer.toString("hex")}`,
241
- };
242
- const hashBuffer = fromHexString(sha256(timestamp.hash.value));
243
- const multihash = Multihash.encode(hashBuffer, "sha2-256", 32);
244
- const id = multibaseEncode("base64url", multihash);
245
- return {
246
- info: {
247
- title: "Timestamp hashes",
248
- data: { data, id },
249
- },
250
- param: {
251
- hashAlgorithmIds: [timestamp.hash.id],
252
- hashValues: [timestamp.hash.value],
253
- timestampData: [timestamp.data],
254
- },
255
- };
256
- }
257
- case "insertHashAlgorithm": {
258
- const [inputOutputLength, inputIanaName, inputOid, inputStatus, inputMultiHash,] = inputs;
259
- Joi.assert(inputOutputLength, Joi.string().optional());
260
- Joi.assert(inputIanaName, Joi.string().optional());
261
- Joi.assert(inputOid, Joi.string().optional());
262
- Joi.assert(inputStatus, Joi.string().optional());
263
- Joi.assert(inputMultiHash, Joi.string().optional());
264
- const outputLength = Number(inputOutputLength) || 1;
265
- const ianaName = inputIanaName || "undefined";
266
- const oid = inputOid || "undefined";
267
- const status = Number(inputStatus) || 1;
268
- const multiHash = inputMultiHash || ianaName;
269
- return {
270
- info: {
271
- title: "Hash Algorithm",
272
- data: ianaName,
273
- },
274
- param: {
275
- outputLength,
276
- ianaName,
277
- oid,
278
- status,
279
- multiHash,
280
- },
281
- };
282
- }
283
- case "updateHashAlgorithm": {
284
- const [inputHashAlgorithmId, inputOutputLength, inputIanaName, inputOid, inputStatus, inputMultiHash,] = inputs;
285
- Joi.assert(inputHashAlgorithmId, Joi.string());
286
- Joi.assert(inputOutputLength, Joi.string().optional());
287
- Joi.assert(inputIanaName, Joi.string().optional());
288
- Joi.assert(inputOid, Joi.string().optional());
289
- Joi.assert(inputStatus, Joi.string().optional());
290
- Joi.assert(inputMultiHash, Joi.string().optional());
291
- const hashAlgorithmId = Number(inputHashAlgorithmId);
292
- const outputLength = Number(inputOutputLength) || 1;
293
- const ianaName = inputIanaName || "undefined";
294
- const oid = inputOid || "undefined";
295
- const status = Number(inputStatus) || 1;
296
- const multiHash = inputMultiHash || ianaName;
297
- return {
298
- info: {
299
- title: "Hash Algorithm",
300
- data: ianaName,
301
- },
302
- param: {
303
- hashAlgorithmId,
304
- outputLength,
305
- ianaName,
306
- oid,
307
- status,
308
- multiHash,
309
- },
310
- };
311
- }
312
- default:
313
- throw new Error(`Invalid method '${method}'`);
314
- }
315
- }
316
- export default buildParamTimestampV3;
317
- //# sourceMappingURL=timestampV3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timestampV3.js","sourceRoot":"","sources":["../../src/buildParam/timestampV3.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tirV3.js","sourceRoot":"","sources":["../../src/buildParam/tirV3.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,WAAW,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AAErE,SAAS,kBAAkB,CACzB,SAA0C;IAE1C,IAAI,SAAS,YAAY,MAAM;QAAE,OAAO,SAAS,CAAC;IAElD,IAAI,MAAc,CAAC;IACnB,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,iBAAiB;QACjB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACzC,IAAI,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,yCAAyC;YACzC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,gBAAgB;YAChB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,SAAS,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,MAAc,EACd,MAA2C;IAE3C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,MAAM,CACJ,GAAG,EACH,UAAU,EACV,eAAe,EACf,WAAW,EACX,mBAAmB,EACpB,GAAG,MAAkB,CAAC;YACvB,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9B,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;YAChE,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjD,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEzD,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC;YACvE,IAAI,MAAM,GAAG,WAAW,CAAC;YACzB,IAAI,cAAc,GAAG,mBAAmB,CAAC;YAEzC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM;oBAAE,MAAM,GAAG,GAAG,CAAC;gBAC1B,IAAI,CAAC,cAAc;oBAAE,cAAc,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9D,CAAC;YAED,OAAO;gBACL,IAAI,EAAE;oBACJ,KAAK,EAAE,UAAU,GAAG,EAAE;oBACtB,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE;iBAClD;gBACD,KAAK,EAAE;oBACL,GAAG;oBACH,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC;oBACpC,UAAU;oBACV,MAAM;oBACN,cAAc,EAAE,YAAY,CAAC,cAAc,CAAC;iBAC7C;aACF,CAAC;QACJ,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,GAAG,MAIrC,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9B,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAEtC,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,aAAa,GAAG,KAAK,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAEpD,OAAO;gBACL,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE;gBACvD,KAAK,EAAE;oBACL,GAAG;oBACH,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC;oBACtC,aAAa;iBACd;aACF,CAAC;QACJ,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,MAAiC,CAAC;YAChE,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAEjD,OAAO;gBACL,IAAI,EAAE,EAAE,KAAK,EAAE,yBAAyB,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChE,KAAK,EAAE;oBACL,GAAG;oBACH,SAAS;iBACV;aACF,CAAC;QACJ,CAAC;QAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,cAAc,CAAC,GAAG,MAItC,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9B,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAElC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAEjD,OAAO;gBACL,IAAI,EAAE,EAAE,KAAK,EAAE,yBAAyB,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChE,KAAK,EAAE;oBACL,GAAG;oBACH,OAAO;oBACP,SAAS;iBACV;aACF,CAAC;QACJ,CAAC;QAED;YACE,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,GAAG,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,eAAe,eAAe,CAAC"}
@@ -1,119 +0,0 @@
1
- import Joi from "joi";
2
- import { prefixWith0x } from "../utils/index.js";
3
- const issuerTypes = ["undefined", "roottao", "tao", "ti", "revoked"];
4
- function getBufferAttribute(attribute) {
5
- if (attribute instanceof Buffer)
6
- return attribute;
7
- let buffer;
8
- if (typeof attribute === "object") {
9
- // json attribute
10
- buffer = Buffer.from(JSON.stringify(attribute));
11
- }
12
- else if (typeof attribute === "string") {
13
- if (/^(0x|0X)?[a-fA-F0-9]+$/g.test(attribute)) {
14
- // buffer attribute defined in hex string
15
- buffer = Buffer.from(attribute.replace("0x", ""), "hex");
16
- }
17
- else {
18
- // jwt attribute
19
- buffer = Buffer.from(attribute);
20
- }
21
- }
22
- else {
23
- throw new Error(`invalid type for attribute: ${typeof attribute}`);
24
- }
25
- return buffer;
26
- }
27
- export function buildParamTirV4(method, client, inputs) {
28
- switch (method) {
29
- case "setAttributeMetadata": {
30
- const [did, revisionId, inputIssuerType, inputTaoDid, inputAttributeIdTao,] = inputs;
31
- Joi.assert(did, Joi.string());
32
- Joi.assert(inputIssuerType, Joi.string().valid(...issuerTypes));
33
- Joi.assert(inputTaoDid, Joi.string().optional());
34
- Joi.assert(inputAttributeIdTao, Joi.string().optional());
35
- const issuerType = issuerTypes.findIndex((i) => i === inputIssuerType);
36
- let taoDid = inputTaoDid;
37
- let attributeIdTao = inputAttributeIdTao;
38
- if (inputIssuerType === "roottao") {
39
- if (!taoDid)
40
- taoDid = did;
41
- if (!attributeIdTao)
42
- attributeIdTao = `0x${"0".repeat(64)}`;
43
- }
44
- return {
45
- info: {
46
- title: `Issuer ${did}`,
47
- data: { revisionId, issuerType: inputIssuerType },
48
- },
49
- param: {
50
- did,
51
- revisionId: prefixWith0x(revisionId),
52
- issuerType,
53
- taoDid,
54
- attributeIdTao: prefixWith0x(attributeIdTao),
55
- },
56
- };
57
- }
58
- case "setAttributeData": {
59
- const [did, attributeId, attribute] = inputs;
60
- Joi.assert(did, Joi.string());
61
- Joi.assert(attributeId, Joi.string());
62
- const buffer = getBufferAttribute(attribute);
63
- const attributeData = `0x${buffer.toString("hex")}`;
64
- return {
65
- info: { title: `Issuer ${did}`, data: { attributeId } },
66
- param: {
67
- did,
68
- attributeId: prefixWith0x(attributeId),
69
- attributeData,
70
- },
71
- };
72
- }
73
- case "addIssuerProxy": {
74
- const [did, inputProxyData] = inputs;
75
- Joi.assert(did, Joi.string());
76
- const proxyData = JSON.stringify(inputProxyData);
77
- return {
78
- info: { title: `Proxy data for issuer ${did}`, data: proxyData },
79
- param: {
80
- did,
81
- proxyData,
82
- },
83
- };
84
- }
85
- case "updateIssuerProxy": {
86
- const [did, proxyId, inputProxyData] = inputs;
87
- Joi.assert(did, Joi.string());
88
- Joi.assert(proxyId, Joi.string());
89
- const proxyData = JSON.stringify(inputProxyData);
90
- return {
91
- info: { title: `Proxy data for issuer ${did}`, data: proxyData },
92
- param: {
93
- did,
94
- proxyId,
95
- proxyData,
96
- },
97
- };
98
- }
99
- case "removeIssuerProxy": {
100
- const [did, proxyId] = inputs;
101
- Joi.assert(did, Joi.string());
102
- Joi.assert(proxyId, Joi.string());
103
- return {
104
- info: {
105
- title: `Proxy ${proxyId} removed from ${did}`,
106
- data: { did, proxyId },
107
- },
108
- param: {
109
- did,
110
- proxyId,
111
- },
112
- };
113
- }
114
- default:
115
- throw new Error(`Invalid method '${method}'`);
116
- }
117
- }
118
- export default buildParamTirV4;
119
- //# sourceMappingURL=tirV4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tirV4.js","sourceRoot":"","sources":["../../src/buildParam/tirV4.ts"],"names":[],"mappings":"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"}
@@ -1,185 +0,0 @@
1
- import { Resolver } from "did-resolver";
2
- import { getResolver } from "@cef-ebsi/key-did-resolver";
3
- import Joi from "joi";
4
- import { JoiHexadecimal, encodePublicKey, removePrefix0x, } from "../utils/index.js";
5
- export async function didToHex(did) {
6
- if (did.startsWith("did:key")) {
7
- const didResolver = new Resolver(getResolver());
8
- const result = await didResolver.resolve(did);
9
- const publicKeyJwk = result.didDocument?.verificationMethod[0]?.publicKeyJwk;
10
- if (!publicKeyJwk) {
11
- throw new Error(`DID ${did} can't be resolved`);
12
- }
13
- if (publicKeyJwk.crv !== "secp256k1") {
14
- throw new Error(`The DID ${did} must use secp256k1 curve. Received: ${publicKeyJwk.crv}`);
15
- }
16
- const publicKeyHex = removePrefix0x(encodePublicKey({
17
- key: publicKeyJwk,
18
- format: "hex",
19
- alg: "ES256K",
20
- }));
21
- if (Buffer.from(publicKeyHex, "hex").byteLength === 65) {
22
- return `0x${publicKeyHex.slice(2)}`; // Remove first byte "04"
23
- }
24
- return `0x${publicKeyHex}`;
25
- }
26
- return `0x${Buffer.from(did).toString("hex")}`;
27
- }
28
- export async function buildParamTntV1(method, client, inputs) {
29
- switch (method) {
30
- case "authoriseDid": {
31
- const [senderDid, authorisedDid, whiteListInput] = inputs;
32
- Joi.assert(senderDid, Joi.string());
33
- Joi.assert(authorisedDid, Joi.string());
34
- Joi.assert(whiteListInput, Joi.string().valid("true", "false"));
35
- const whiteList = whiteListInput === "true";
36
- return {
37
- info: {
38
- title: `authorise did`,
39
- data: { senderDid, authorisedDid, whiteList },
40
- },
41
- param: {
42
- senderDid,
43
- authorisedDid,
44
- whiteList,
45
- },
46
- };
47
- }
48
- case "createDocument": {
49
- const [documentHash, documentMetadata, didEbsiCreator, inputTimestamp, timestampProof,] = inputs;
50
- Joi.assert(documentHash, JoiHexadecimal);
51
- Joi.assert(documentMetadata, Joi.string());
52
- Joi.assert(didEbsiCreator, Joi.string());
53
- Joi.assert(inputTimestamp, Joi.string().optional());
54
- Joi.assert(timestampProof, JoiHexadecimal.optional());
55
- let timestamp = 0;
56
- if (inputTimestamp && timestampProof) {
57
- timestamp = Math.floor(new Date(inputTimestamp).getTime() / 1000);
58
- }
59
- return {
60
- info: {
61
- title: `create document`,
62
- data: { documentHash, didEbsiCreator, timestamp },
63
- },
64
- param: {
65
- documentHash,
66
- documentMetadata,
67
- didEbsiCreator,
68
- ...(timestamp && { timestamp, timestampProof }),
69
- },
70
- method: timestamp
71
- ? `${method}(bytes32,string,string,uint256,bytes32)`
72
- : `${method}(bytes32,string,string)`,
73
- };
74
- }
75
- case "removeDocument": {
76
- const [documentHash] = inputs;
77
- Joi.assert(documentHash, JoiHexadecimal);
78
- return {
79
- info: {
80
- title: `remove document`,
81
- data: { documentHash },
82
- },
83
- param: {
84
- documentHash,
85
- },
86
- };
87
- }
88
- case "grantAccess": {
89
- const [documentHash, grantedBy, subject, inputPermission] = inputs;
90
- Joi.assert(documentHash, JoiHexadecimal);
91
- Joi.assert(grantedBy, Joi.string());
92
- Joi.assert(subject, Joi.string());
93
- Joi.assert(inputPermission, Joi.string().valid("delegate", "write"));
94
- const grantedByAccount = await didToHex(grantedBy);
95
- const subjectAccount = await didToHex(subject);
96
- const grantedByAccType = grantedBy.startsWith("did:ebsi") ? 0 : 1;
97
- const subjectAccType = subject.startsWith("did:ebsi") ? 0 : 1;
98
- const permission = inputPermission === "delegate" ? 0 : 1;
99
- return {
100
- info: {
101
- title: `Grant Access`,
102
- data: {
103
- documentHash,
104
- grantedBy,
105
- subject,
106
- permission: inputPermission,
107
- },
108
- },
109
- param: {
110
- documentHash,
111
- grantedByAccount,
112
- subjectAccount,
113
- grantedByAccType,
114
- subjectAccType,
115
- permission,
116
- },
117
- };
118
- }
119
- case "revokeAccess": {
120
- const [documentHash, revokedBy, subject, inputPermission] = inputs;
121
- Joi.assert(documentHash, JoiHexadecimal);
122
- Joi.assert(revokedBy, Joi.string());
123
- Joi.assert(subject, Joi.string());
124
- Joi.assert(inputPermission, Joi.string().valid("delegate", "write"));
125
- const revokedByAccount = await didToHex(revokedBy);
126
- const subjectAccount = await didToHex(subject);
127
- const permission = inputPermission === "delegate" ? 0 : 1;
128
- return {
129
- info: {
130
- title: `Revoke Access`,
131
- data: {
132
- documentHash,
133
- revokedBy,
134
- subject,
135
- permission: inputPermission,
136
- },
137
- },
138
- param: {
139
- documentHash,
140
- revokedByAccount,
141
- subjectAccount,
142
- permission,
143
- },
144
- };
145
- }
146
- case "writeEvent": {
147
- const [documentHash, externalHash, senderInput, origin, metadata, inputTimestamp, timestampProof,] = inputs;
148
- Joi.assert(documentHash, JoiHexadecimal);
149
- Joi.assert(externalHash, Joi.string());
150
- Joi.assert(senderInput, Joi.string());
151
- Joi.assert(origin, Joi.string());
152
- Joi.assert(metadata, Joi.string());
153
- Joi.assert(inputTimestamp, Joi.string().optional());
154
- Joi.assert(timestampProof, JoiHexadecimal.optional());
155
- const sender = await didToHex(senderInput);
156
- let timestamp = 0;
157
- if (inputTimestamp && timestampProof) {
158
- timestamp = Math.floor(new Date(inputTimestamp).getTime() / 1000);
159
- }
160
- return {
161
- info: {
162
- title: `Write Event`,
163
- data: { documentHash, externalHash, sender: senderInput },
164
- },
165
- param: {
166
- eventParams: {
167
- documentHash,
168
- externalHash,
169
- sender,
170
- origin,
171
- metadata,
172
- },
173
- ...(timestamp && { timestamp, timestampProof }),
174
- },
175
- method: timestamp
176
- ? `${method}((bytes32,string,bytes,string,string),uint256,bytes32)`
177
- : `${method}((bytes32,string,bytes,string,string))`,
178
- };
179
- }
180
- default:
181
- throw new Error(`Invalid method '${method}'`);
182
- }
183
- }
184
- export default buildParamTntV1;
185
- //# sourceMappingURL=tntV1.js.map