@cef-ebsi/cli 1.3.1 → 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
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -1,151 +1,34 @@
1
- import { calculateJwkThumbprint } from "jose";
2
1
  import Joi from "joi";
2
+ import { calculateJwkThumbprint } from "jose";
3
3
  import { encodePublicKey } from "../utils/utils.js";
4
- export async function processInputPublicKey(client, inputPublicKey, inputVMethodId) {
5
- let publicKey;
6
- let publicKeyJwk;
7
- let vMethodId;
8
- if (inputPublicKey) {
9
- if (typeof inputPublicKey === "string") {
10
- publicKey = inputPublicKey;
11
- publicKeyJwk = encodePublicKey({
12
- key: publicKey,
13
- format: "jwk",
14
- alg: "ES256K",
15
- });
16
- }
17
- else {
18
- publicKeyJwk = inputPublicKey;
19
- if (publicKeyJwk.crv === "secp256k1") {
20
- publicKey = encodePublicKey({
21
- key: publicKeyJwk,
22
- format: "hex",
23
- });
24
- }
25
- else {
26
- // for ES256, RS256, and EdDSA the public
27
- // key hex is stored as a JSON stringified
28
- publicKey = `0x${Buffer.from(JSON.stringify(publicKeyJwk)).toString("hex")}`;
29
- }
30
- }
31
- vMethodId =
32
- inputVMethodId || (await calculateJwkThumbprint(publicKeyJwk, "sha256"));
33
- }
34
- else {
35
- publicKey = client.ethWallet.publicKey;
36
- publicKeyJwk = encodePublicKey({
37
- key: publicKey,
38
- format: "jwk",
39
- alg: "ES256K",
40
- });
41
- vMethodId = client.keys.ES256K.id;
42
- }
43
- const isSecp256k1 = publicKeyJwk.crv === "secp256k1";
44
- return { publicKey, publicKeyJwk, vMethodId, isSecp256k1 };
45
- }
46
- export async function buildParamDidV3(method, client, inputs) {
4
+ export async function buildParamDidr(method, client, inputs) {
47
5
  switch (method) {
48
- case "insertDidDocument": {
49
- const [inputDid, inputBaseDocument, inputPublicKey, inputNotBefore, inputNotAfter, inputVMethodId,] = inputs;
50
- Joi.assert(inputDid, Joi.string().optional());
51
- Joi.assert(inputNotBefore, Joi.string().optional());
52
- Joi.assert(inputNotAfter, Joi.string().optional());
53
- Joi.assert(inputVMethodId, Joi.string().optional());
54
- const did = inputDid || client.did;
55
- let baseDocument;
56
- let notBefore;
57
- let notAfter;
58
- if (inputBaseDocument) {
59
- baseDocument = JSON.stringify(inputBaseDocument);
60
- }
61
- else {
62
- const didDocument = client.generateDidDocument();
63
- baseDocument = JSON.stringify({ "@context": didDocument["@context"] });
64
- }
65
- const { publicKey, vMethodId, isSecp256k1 } = await processInputPublicKey(client, inputPublicKey, inputVMethodId);
66
- if (!isSecp256k1) {
67
- throw new Error("the public key must be for secp256k1");
68
- }
69
- if (inputNotBefore) {
70
- notBefore = Math.floor(new Date(inputNotBefore).getTime() / 1000);
71
- }
72
- else {
73
- notBefore = Math.floor(Date.now() / 1000);
74
- }
75
- if (inputNotAfter) {
76
- notAfter = Math.floor(new Date(inputNotAfter).getTime() / 1000);
77
- }
78
- else {
79
- notAfter = notBefore + 84600 * 365 * 5;
80
- }
81
- return {
82
- info: {
83
- title: "Did document",
84
- data: did,
85
- },
86
- param: {
87
- did,
88
- baseDocument,
89
- vMethodId,
90
- publicKey,
91
- isSecp256k1,
92
- notBefore,
93
- notAfter,
94
- },
95
- };
96
- }
97
- case "updateBaseDocument": {
98
- const [did, inputBaseDocument] = inputs;
99
- Joi.assert(did, Joi.string());
100
- let baseDocument;
101
- if (inputBaseDocument) {
102
- baseDocument = JSON.stringify(inputBaseDocument);
103
- }
104
- else {
105
- const didDocument = client.generateDidDocument();
106
- baseDocument = JSON.stringify({ "@context": didDocument["@context"] });
107
- }
108
- return {
109
- info: {
110
- title: "Update base document",
111
- data: {
112
- did,
113
- baseDocument,
114
- },
115
- },
116
- param: {
117
- did,
118
- baseDocument,
119
- },
120
- };
121
- }
122
6
  case "addController": {
123
7
  const [did, controller] = inputs;
124
8
  Joi.assert(did, Joi.string());
125
9
  Joi.assert(controller, Joi.string());
126
10
  return {
127
11
  info: {
12
+ data: { controller, did },
128
13
  title: "Add controller",
129
- data: { did, controller },
130
14
  },
131
15
  param: {
132
- did,
133
16
  controller,
17
+ did,
134
18
  },
135
19
  };
136
20
  }
137
- case "revokeController": {
138
- const [did, controller] = inputs;
21
+ case "addService": {
22
+ const [did, service] = inputs;
139
23
  Joi.assert(did, Joi.string());
140
- Joi.assert(controller, Joi.string());
141
24
  return {
142
25
  info: {
143
- title: "Revoke controller",
144
- data: { did, controller },
26
+ data: { did, service },
27
+ title: "Add service",
145
28
  },
146
29
  param: {
147
30
  did,
148
- controller,
31
+ service,
149
32
  },
150
33
  };
151
34
  }
@@ -155,26 +38,26 @@ export async function buildParamDidV3(method, client, inputs) {
155
38
  Joi.assert(inputVMethodId, Joi.string().optional());
156
39
  let inputPublicKey = inputPublicKeyOrAlg;
157
40
  if (typeof inputPublicKeyOrAlg === "string" &&
158
- ["ES256K", "ES256", "RS256", "EdDSA"].includes(inputPublicKeyOrAlg)) {
41
+ ["EdDSA", "ES256", "ES256K", "RS256"].includes(inputPublicKeyOrAlg)) {
159
42
  const alg = inputPublicKeyOrAlg;
160
43
  inputPublicKey = client.keys[alg].publicKeyJwk;
161
44
  }
162
- const { publicKey, vMethodId, isSecp256k1 } = await processInputPublicKey(client, inputPublicKey, inputVMethodId);
45
+ const { isSecp256k1, publicKey, vMethodId } = await processInputPublicKey(client, inputPublicKey, inputVMethodId);
163
46
  return {
164
47
  info: {
165
- title: "Add verification method",
166
48
  data: {
167
49
  did,
168
- vMethodId,
169
- publicKey,
170
50
  isSecp256k1,
51
+ publicKey,
52
+ vMethodId,
171
53
  },
54
+ title: "Add verification method",
172
55
  },
173
56
  param: {
174
57
  did,
175
- vMethodId,
176
- publicKey,
177
58
  isSecp256k1,
59
+ publicKey,
60
+ vMethodId,
178
61
  },
179
62
  };
180
63
  }
@@ -185,102 +68,161 @@ export async function buildParamDidV3(method, client, inputs) {
185
68
  Joi.assert(vMethodIdOrAlg, Joi.string());
186
69
  Joi.assert(inputNotBefore, Joi.string().optional());
187
70
  Joi.assert(inputNotAfter, Joi.string().optional());
188
- let notBefore;
189
- let notAfter;
190
71
  let vMethodId = vMethodIdOrAlg;
191
- if (["ES256K", "ES256", "RS256", "EdDSA"].includes(vMethodIdOrAlg)) {
72
+ if (["EdDSA", "ES256", "ES256K", "RS256"].includes(vMethodIdOrAlg)) {
192
73
  const alg = vMethodIdOrAlg;
193
74
  vMethodId = client.keys[alg].id;
194
75
  }
195
- if (inputNotBefore) {
196
- notBefore = Math.floor(new Date(inputNotBefore).getTime() / 1000);
197
- }
198
- else {
199
- notBefore = Math.floor(Date.now() / 1000);
200
- }
201
- if (inputNotAfter) {
202
- notAfter = Math.floor(new Date(inputNotAfter).getTime() / 1000);
203
- }
204
- else {
205
- notAfter = notBefore + 84600 * 365 * 5;
206
- }
76
+ const notBefore = inputNotBefore
77
+ ? Math.floor(new Date(inputNotBefore).getTime() / 1000)
78
+ : Math.floor(Date.now() / 1000);
79
+ const notAfter = inputNotAfter
80
+ ? Math.floor(new Date(inputNotAfter).getTime() / 1000)
81
+ : notBefore + 84_600 * 365 * 5;
207
82
  return {
208
83
  info: {
209
- title: "Add verification relationship",
210
84
  data: {
211
85
  did,
212
86
  name,
213
- vMethodId,
214
- notBefore,
215
87
  notAfter,
88
+ notBefore,
89
+ vMethodId,
216
90
  },
91
+ title: "Add verification relationship",
217
92
  },
218
93
  param: {
219
94
  did,
220
95
  name,
221
- vMethodId,
222
- notBefore,
223
96
  notAfter,
97
+ notBefore,
98
+ vMethodId,
224
99
  },
225
100
  };
226
101
  }
227
- case "revokeVerificationMethod": {
102
+ case "expireVerificationMethod": {
228
103
  const [did, vMethodIdOrAlg, inputNotAfter] = inputs;
229
104
  Joi.assert(did, Joi.string());
230
105
  Joi.assert(vMethodIdOrAlg, Joi.string());
231
106
  Joi.assert(inputNotAfter, Joi.string());
232
- let notAfter;
107
+ const notAfter = Math.floor(new Date(inputNotAfter).getTime() / 1000);
233
108
  let vMethodId = vMethodIdOrAlg;
234
- if (["ES256K", "ES256", "RS256", "EdDSA"].includes(vMethodIdOrAlg)) {
109
+ if (["EdDSA", "ES256", "ES256K", "RS256"].includes(vMethodIdOrAlg)) {
235
110
  const alg = vMethodIdOrAlg;
236
111
  vMethodId = client.keys[alg].id;
237
112
  }
238
- if (inputNotAfter) {
239
- notAfter = Math.floor(new Date(inputNotAfter).getTime() / 1000);
240
- }
241
- else {
242
- notAfter = Math.floor(Date.now() / 1000);
243
- }
244
113
  return {
245
114
  info: {
246
- title: "Revoke verification method",
247
115
  data: {
248
116
  did,
249
- vMethodId,
250
117
  notAfter,
118
+ vMethodId,
251
119
  },
120
+ title: "Expire verification method",
252
121
  },
253
122
  param: {
254
123
  did,
124
+ notAfter,
255
125
  vMethodId,
126
+ },
127
+ };
128
+ }
129
+ case "insertDidDocument": {
130
+ const [inputDid, inputBaseDocument, inputPublicKey, inputNotBefore, inputNotAfter, inputVMethodId,] = inputs;
131
+ Joi.assert(inputDid, Joi.string().optional());
132
+ Joi.assert(inputNotBefore, Joi.string().optional());
133
+ Joi.assert(inputNotAfter, Joi.string().optional());
134
+ Joi.assert(inputVMethodId, Joi.string().optional());
135
+ const did = inputDid || client.did;
136
+ let baseDocument;
137
+ if (inputBaseDocument) {
138
+ baseDocument = JSON.stringify(inputBaseDocument);
139
+ }
140
+ else {
141
+ const didDocument = client.generateDidDocument();
142
+ baseDocument = JSON.stringify({ "@context": didDocument["@context"] });
143
+ }
144
+ const { isSecp256k1, publicKey, vMethodId } = await processInputPublicKey(client, inputPublicKey, inputVMethodId);
145
+ if (!isSecp256k1) {
146
+ throw new Error("the public key must be for secp256k1");
147
+ }
148
+ const notBefore = inputNotBefore
149
+ ? Math.floor(new Date(inputNotBefore).getTime() / 1000)
150
+ : Math.floor(Date.now() / 1000);
151
+ const notAfter = inputNotAfter
152
+ ? Math.floor(new Date(inputNotAfter).getTime() / 1000)
153
+ : notBefore + 84_600 * 365 * 5;
154
+ return {
155
+ info: {
156
+ data: did,
157
+ title: "Did document",
158
+ },
159
+ param: {
160
+ baseDocument,
161
+ did,
162
+ isSecp256k1,
256
163
  notAfter,
164
+ notBefore,
165
+ publicKey,
166
+ vMethodId,
257
167
  },
258
168
  };
259
169
  }
260
- case "expireVerificationMethod": {
170
+ case "revokeController": {
171
+ const [did, controller] = inputs;
172
+ Joi.assert(did, Joi.string());
173
+ Joi.assert(controller, Joi.string());
174
+ return {
175
+ info: {
176
+ data: { controller, did },
177
+ title: "Revoke controller",
178
+ },
179
+ param: {
180
+ controller,
181
+ did,
182
+ },
183
+ };
184
+ }
185
+ case "revokeService": {
186
+ const [did, serviceId] = inputs;
187
+ Joi.assert(did, Joi.string());
188
+ Joi.assert(serviceId, Joi.string());
189
+ return {
190
+ info: {
191
+ data: { did, serviceId },
192
+ title: "Revoke service",
193
+ },
194
+ param: {
195
+ did,
196
+ serviceId,
197
+ },
198
+ };
199
+ }
200
+ case "revokeVerificationMethod": {
261
201
  const [did, vMethodIdOrAlg, inputNotAfter] = inputs;
262
202
  Joi.assert(did, Joi.string());
263
203
  Joi.assert(vMethodIdOrAlg, Joi.string());
264
204
  Joi.assert(inputNotAfter, Joi.string());
265
- const notAfter = Math.floor(new Date(inputNotAfter).getTime() / 1000);
266
205
  let vMethodId = vMethodIdOrAlg;
267
- if (["ES256K", "ES256", "RS256", "EdDSA"].includes(vMethodIdOrAlg)) {
206
+ if (["EdDSA", "ES256", "ES256K", "RS256"].includes(vMethodIdOrAlg)) {
268
207
  const alg = vMethodIdOrAlg;
269
208
  vMethodId = client.keys[alg].id;
270
209
  }
210
+ const notAfter = inputNotAfter
211
+ ? Math.floor(new Date(inputNotAfter).getTime() / 1000)
212
+ : Math.floor(Date.now() / 1000);
271
213
  return {
272
214
  info: {
273
- title: "Expire verification method",
274
215
  data: {
275
216
  did,
276
- vMethodId,
277
217
  notAfter,
218
+ vMethodId,
278
219
  },
220
+ title: "Revoke verification method",
279
221
  },
280
222
  param: {
281
223
  did,
282
- vMethodId,
283
224
  notAfter,
225
+ vMethodId,
284
226
  },
285
227
  };
286
228
  }
@@ -294,76 +236,112 @@ export async function buildParamDidV3(method, client, inputs) {
294
236
  Joi.assert(inputVMethodId, Joi.string().optional());
295
237
  let inputPublicKey = inputPublicKeyOrAlg;
296
238
  if (typeof inputPublicKeyOrAlg === "string" &&
297
- ["ES256K", "ES256", "RS256", "EdDSA"].includes(inputPublicKeyOrAlg)) {
239
+ ["EdDSA", "ES256", "ES256K", "RS256"].includes(inputPublicKeyOrAlg)) {
298
240
  const alg = inputPublicKeyOrAlg;
299
241
  inputPublicKey = client.keys[alg].publicKeyJwk;
300
242
  }
301
243
  const notBefore = Math.floor(new Date(inputNotBefore).getTime() / 1000);
302
244
  const notAfter = Math.floor(new Date(inputNotAfter).getTime() / 1000);
303
245
  const duration = Number(inputDuration);
304
- const { publicKey, vMethodId, isSecp256k1 } = await processInputPublicKey(client, inputPublicKey, inputVMethodId);
246
+ const { isSecp256k1, publicKey, vMethodId } = await processInputPublicKey(client, inputPublicKey, inputVMethodId);
305
247
  return {
306
248
  info: {
307
- title: "Add verification method",
308
249
  data: {
309
250
  args: {
310
251
  did,
311
- vMethodId,
312
- publicKey,
252
+ duration,
313
253
  isSecp256k1,
314
- notBefore,
315
254
  notAfter,
255
+ notBefore,
316
256
  oldVMethodId,
317
- duration,
257
+ publicKey,
258
+ vMethodId,
318
259
  },
319
260
  },
261
+ title: "Add verification method",
320
262
  },
321
263
  param: {
322
264
  args: {
323
265
  did,
324
- vMethodId,
325
- publicKey,
266
+ duration,
326
267
  isSecp256k1,
327
- notBefore,
328
268
  notAfter,
269
+ notBefore,
329
270
  oldVMethodId,
330
- duration,
271
+ publicKey,
272
+ vMethodId,
331
273
  },
332
274
  },
333
275
  };
334
276
  }
335
- case "addService": {
336
- const [did, service] = inputs;
337
- Joi.assert(did, Joi.string());
338
- return {
339
- info: {
340
- title: "Add service",
341
- data: { did, service },
342
- },
343
- param: {
344
- did,
345
- service,
346
- },
347
- };
348
- }
349
- case "revokeService": {
350
- const [did, serviceId] = inputs;
277
+ case "updateBaseDocument": {
278
+ const [did, inputBaseDocument] = inputs;
351
279
  Joi.assert(did, Joi.string());
352
- Joi.assert(serviceId, Joi.string());
280
+ let baseDocument;
281
+ if (inputBaseDocument) {
282
+ baseDocument = JSON.stringify(inputBaseDocument);
283
+ }
284
+ else {
285
+ const didDocument = client.generateDidDocument();
286
+ baseDocument = JSON.stringify({ "@context": didDocument["@context"] });
287
+ }
353
288
  return {
354
289
  info: {
355
- title: "Revoke service",
356
- data: { did, serviceId },
290
+ data: {
291
+ baseDocument,
292
+ did,
293
+ },
294
+ title: "Update base document",
357
295
  },
358
296
  param: {
297
+ baseDocument,
359
298
  did,
360
- serviceId,
361
299
  },
362
300
  };
363
301
  }
364
- default:
302
+ default: {
365
303
  throw new Error(`Invalid method '${method}'`);
304
+ }
305
+ }
306
+ }
307
+ export async function processInputPublicKey(client, inputPublicKey, inputVMethodId) {
308
+ let publicKey;
309
+ let publicKeyJwk;
310
+ let vMethodId;
311
+ if (inputPublicKey) {
312
+ if (typeof inputPublicKey === "string") {
313
+ publicKey = inputPublicKey;
314
+ publicKeyJwk = encodePublicKey({
315
+ alg: "ES256K",
316
+ format: "jwk",
317
+ key: publicKey,
318
+ });
319
+ }
320
+ else {
321
+ publicKeyJwk = inputPublicKey;
322
+ publicKey =
323
+ publicKeyJwk.crv === "secp256k1"
324
+ ? encodePublicKey({
325
+ format: "hex",
326
+ key: publicKeyJwk,
327
+ })
328
+ : // for ES256, RS256, and EdDSA the public key hex is stored as a JSON stringified
329
+ `0x${Buffer.from(JSON.stringify(publicKeyJwk)).toString("hex")}`;
330
+ }
331
+ vMethodId =
332
+ inputVMethodId || (await calculateJwkThumbprint(publicKeyJwk, "sha256"));
366
333
  }
334
+ else {
335
+ publicKey = client.ethWallet.publicKey;
336
+ publicKeyJwk = encodePublicKey({
337
+ alg: "ES256K",
338
+ format: "jwk",
339
+ key: publicKey,
340
+ });
341
+ vMethodId = client.keys.ES256K.id;
342
+ }
343
+ const isSecp256k1 = publicKeyJwk.crv === "secp256k1";
344
+ return { isSecp256k1, publicKey, publicKeyJwk, vMethodId };
367
345
  }
368
- export default buildParamDidV3;
369
- //# sourceMappingURL=didV3.js.map
346
+ export default buildParamDidr;
347
+ //# sourceMappingURL=didr.js.map