@cef-ebsi/cli 1.0.0-alpha.7 → 1.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 (129) hide show
  1. package/LICENSE +189 -189
  2. package/bin/cli.js +0 -0
  3. package/dist/abi/pilot/DidRegistryV4.js +942 -0
  4. package/dist/abi/pilot/DidRegistryV4.js.map +1 -0
  5. package/dist/abi/pilot/TimestampV3.js +995 -0
  6. package/dist/abi/pilot/TimestampV3.js.map +1 -0
  7. package/dist/abi/pilot/TirV4.js +710 -0
  8. package/dist/abi/pilot/TirV4.js.map +1 -0
  9. package/dist/abi/pilot/TprV3.js +707 -0
  10. package/dist/abi/pilot/TprV3.js.map +1 -0
  11. package/dist/abi/pilot/TsrV3.js +571 -0
  12. package/dist/abi/pilot/TsrV3.js.map +1 -0
  13. package/dist/abi/test/DidRegistry.js +1082 -0
  14. package/dist/abi/test/DidRegistry.js.map +1 -0
  15. package/dist/abi/test/DidRegistryV4.js +960 -0
  16. package/dist/abi/test/DidRegistryV4.js.map +1 -0
  17. package/dist/abi/test/{TarV3.js → SchemaSCRegistry.js} +319 -454
  18. package/dist/abi/test/SchemaSCRegistry.js.map +1 -0
  19. package/dist/abi/{pilot/TarV3.js → test/Timestamp.js} +450 -466
  20. package/dist/abi/test/Timestamp.js.map +1 -0
  21. package/dist/abi/test/TimestampV3.js +995 -0
  22. package/dist/abi/test/TimestampV3.js.map +1 -0
  23. package/dist/abi/test/Tir.js +897 -0
  24. package/dist/abi/test/Tir.js.map +1 -0
  25. package/dist/abi/test/TirV4.js +710 -0
  26. package/dist/abi/test/TirV4.js.map +1 -0
  27. package/dist/abi/test/Tpr.js +1268 -0
  28. package/dist/abi/test/Tpr.js.map +1 -0
  29. package/dist/abi/test/TprV3.js +707 -0
  30. package/dist/abi/test/TprV3.js.map +1 -0
  31. package/dist/abi/test/TsrV3.js +571 -0
  32. package/dist/abi/test/TsrV3.js.map +1 -0
  33. package/dist/app.js +70 -57
  34. package/dist/app.js.map +1 -1
  35. package/dist/buildParam/didV4.js +390 -0
  36. package/dist/buildParam/didV4.js.map +1 -0
  37. package/dist/buildParam/index.js +43 -20
  38. package/dist/buildParam/index.js.map +1 -1
  39. package/dist/buildParam/timestampV3.js +317 -0
  40. package/dist/buildParam/timestampV3.js.map +1 -0
  41. package/dist/buildParam/tirV4.js +119 -0
  42. package/dist/buildParam/tirV4.js.map +1 -0
  43. package/dist/buildParam/tntV2.js +181 -0
  44. package/dist/buildParam/tntV2.js.map +1 -0
  45. package/dist/buildParam/tprV3.js +82 -0
  46. package/dist/buildParam/tprV3.js.map +1 -0
  47. package/dist/buildParam/tsrV3.js +110 -0
  48. package/dist/buildParam/tsrV3.js.map +1 -0
  49. package/dist/commands/authorisation-v4.js +3 -127
  50. package/dist/commands/authorisation-v4.js.map +1 -1
  51. package/dist/commands/authorisation-v5.js +116 -0
  52. package/dist/commands/authorisation-v5.js.map +1 -0
  53. package/dist/commands/compute.js +122 -53
  54. package/dist/commands/compute.js.map +1 -1
  55. package/dist/commands/conformance-v3.js +1 -2
  56. package/dist/commands/conformance-v3.js.map +1 -1
  57. package/dist/commands/ledger-v4.js +16 -4
  58. package/dist/commands/ledger-v4.js.map +1 -1
  59. package/dist/commands/view.js +0 -8
  60. package/dist/commands/view.js.map +1 -1
  61. package/dist/config.js +93 -96
  62. package/dist/config.js.map +1 -1
  63. package/dist/programs/migrateDid.js +158 -0
  64. package/dist/programs/migrateDid.js.map +1 -0
  65. package/dist/programs/migrateTsr.js +158 -0
  66. package/dist/programs/migrateTsr.js.map +1 -0
  67. package/dist/scripts/accreditAndAuthorize/conformance/step1 +33 -34
  68. package/dist/scripts/accreditAndAuthorize/conformance/step2 +17 -17
  69. package/dist/scripts/accreditAndAuthorize/conformance/step3 +8 -8
  70. package/dist/scripts/accreditAndAuthorize/conformance/step4 +26 -26
  71. package/dist/scripts/accreditAndAuthorize/conformance/step5 +12 -12
  72. package/dist/scripts/accreditAndAuthorize/conformance/step6 +13 -13
  73. package/dist/scripts/accreditAndAuthorize/conformance/step7 +6 -6
  74. package/dist/scripts/accreditAndAuthorize/test/step1 +33 -34
  75. package/dist/scripts/accreditAndAuthorize/test/step2 +17 -17
  76. package/dist/scripts/accreditAndAuthorize/test/step3 +8 -8
  77. package/dist/scripts/accreditAndAuthorize/test/step4 +26 -26
  78. package/dist/scripts/accreditAndAuthorize/test/step5 +12 -12
  79. package/dist/scripts/accreditAndAuthorize/test/step6 +13 -13
  80. package/dist/scripts/accreditAndAuthorize/test/step7 +6 -6
  81. package/dist/scripts/accreditTI +20 -20
  82. package/dist/scripts/assets/CTRevocableCredential.json +29 -29
  83. package/dist/scripts/assets/CredentialToAttestVerifiableAuthorisationForTrustChain.json +28 -28
  84. package/dist/scripts/assets/VerifiableAccreditationToAccredit.json +35 -35
  85. package/dist/scripts/assets/VerifiableAccreditationToAttest.json +32 -32
  86. package/dist/scripts/assets/VerifiableAuthorisationForTrustChain.json +21 -21
  87. package/dist/scripts/assets/VerifiableAuthorisationToOnboard.json +23 -23
  88. package/dist/scripts/bootstrap/0a-loadTPROperator +5 -5
  89. package/dist/scripts/bootstrap/0b-loadAdmin +7 -8
  90. package/dist/scripts/bootstrap/1-populateTPR +89 -112
  91. package/dist/scripts/bootstrap/2-populateDID +6 -6
  92. package/dist/scripts/bootstrap/{4-populateTimestamp → 3-populateTimestamp} +8 -8
  93. package/dist/scripts/bootstrap/{5-populateTIR → 4-populateTIR} +8 -9
  94. package/dist/scripts/bootstrap/{6-populateTSR → 5-populateTSR} +81 -81
  95. package/dist/scripts/bootstrap/{7-setupConformanceIssuer → 6-setupConformanceIssuer} +34 -34
  96. package/dist/scripts/issueVcOnboard +9 -9
  97. package/dist/scripts/issueVcRootTAO +11 -11
  98. package/dist/scripts/issueVcTAO +12 -12
  99. package/dist/scripts/issueVcTI +12 -12
  100. package/dist/scripts/issue_CTRevocableCredential +11 -12
  101. package/dist/scripts/issue_SelfAttestationSupportOffice +9 -10
  102. package/dist/scripts/issue_VerifiableAccreditationToAccredit +10 -11
  103. package/dist/scripts/issue_VerifiableAccreditationToAttest +10 -11
  104. package/dist/scripts/issue_VerifiableAuthorisationForTrustChain +9 -10
  105. package/dist/scripts/issue_VerifiableAuthorisationToOnboard +8 -9
  106. package/dist/scripts/preregisterIssuer +6 -6
  107. package/dist/scripts/registerDidDocument_ES256K +5 -5
  108. package/dist/scripts/registerDidDocument_ES256K_ES256 +13 -13
  109. package/dist/scripts/registerIssuer +6 -6
  110. package/dist/scripts/updateVcRootTAO +10 -0
  111. package/dist/scripts/updateVcTAO +11 -0
  112. package/dist/scripts/updateVcTI +11 -0
  113. package/dist/scripts/wctv3/accreditAndAuthorize +106 -105
  114. package/dist/scripts/wctv3/holderWallet +39 -39
  115. package/dist/scripts/wctv3/issueToHolder +37 -37
  116. package/dist/scripts/wctv3/pda1 +3 -3
  117. package/dist/scripts/wctv3/verifier +7 -7
  118. package/dist/tsconfig.tsbuildinfo +1 -1
  119. package/dist/utils/print.js +1 -5
  120. package/dist/utils/print.js.map +1 -1
  121. package/package.json +100 -103
  122. package/dist/abi/pilot/TarV3.js.map +0 -1
  123. package/dist/abi/test/TarV3.js.map +0 -1
  124. package/dist/buildParam/tarV3.js +0 -193
  125. package/dist/buildParam/tarV3.js.map +0 -1
  126. package/dist/programs/appRegistration.js +0 -69
  127. package/dist/programs/appRegistration.js.map +0 -1
  128. package/dist/scripts/bootstrap/3-populateTAR +0 -28
  129. package/dist/scripts/initializeContracts +0 -5
@@ -0,0 +1,390 @@
1
+ import { calculateJwkThumbprint } from "jose";
2
+ import Joi from "joi";
3
+ import { getPublicKeyHex, getPublicKeyJwk } from "../utils/utils.js";
4
+ export async function buildParamDidV4(method, client, inputs) {
5
+ switch (method) {
6
+ case "insertDidDocument": {
7
+ const [inputDid, inputBaseDocument, inputPublicKey, inputNotBefore, inputNotAfter, inputVMethodId,] = inputs;
8
+ Joi.assert(inputDid, Joi.string().optional());
9
+ Joi.assert(inputNotBefore, Joi.string().optional());
10
+ Joi.assert(inputNotAfter, Joi.string().optional());
11
+ Joi.assert(inputVMethodId, Joi.string().optional());
12
+ const did = inputDid || client.did;
13
+ let baseDocument;
14
+ let notBefore;
15
+ let notAfter;
16
+ if (inputBaseDocument) {
17
+ baseDocument = JSON.stringify(inputBaseDocument);
18
+ }
19
+ else {
20
+ const didDocument = client.generateDidDocument();
21
+ baseDocument = JSON.stringify({ "@context": didDocument["@context"] });
22
+ }
23
+ let publicKey;
24
+ let publicKeyJwk;
25
+ let vMethodId;
26
+ if (inputPublicKey) {
27
+ if (typeof inputPublicKey === "string") {
28
+ publicKey = inputPublicKey;
29
+ publicKeyJwk = getPublicKeyJwk(publicKey);
30
+ }
31
+ else {
32
+ publicKeyJwk = inputPublicKey;
33
+ publicKey = getPublicKeyHex(publicKeyJwk);
34
+ }
35
+ vMethodId =
36
+ inputVMethodId ||
37
+ (await calculateJwkThumbprint(publicKeyJwk, "sha256"));
38
+ }
39
+ else {
40
+ publicKey = client.ethWallet.publicKey;
41
+ publicKeyJwk = getPublicKeyJwk(publicKey);
42
+ vMethodId = client.keys.ES256K.id;
43
+ }
44
+ const isSecp256k1 = publicKeyJwk.crv === "secp256k1";
45
+ if (!isSecp256k1) {
46
+ throw new Error("the public key must be for secp256k1");
47
+ }
48
+ if (inputNotBefore) {
49
+ notBefore = Math.floor(new Date(inputNotBefore).getTime() / 1000);
50
+ }
51
+ else {
52
+ notBefore = Math.floor(Date.now() / 1000);
53
+ }
54
+ if (inputNotAfter) {
55
+ notAfter = Math.floor(new Date(inputNotAfter).getTime() / 1000);
56
+ }
57
+ else {
58
+ notAfter = notBefore + 84600 * 365 * 5;
59
+ }
60
+ return {
61
+ info: {
62
+ title: "Did document",
63
+ data: did,
64
+ },
65
+ param: {
66
+ did,
67
+ baseDocument,
68
+ vMethodId,
69
+ publicKey,
70
+ isSecp256k1,
71
+ notBefore,
72
+ notAfter,
73
+ },
74
+ };
75
+ }
76
+ case "updateBaseDocument": {
77
+ const [did, inputBaseDocument] = inputs;
78
+ Joi.assert(did, Joi.string());
79
+ let baseDocument;
80
+ if (inputBaseDocument) {
81
+ baseDocument = JSON.stringify(inputBaseDocument);
82
+ }
83
+ else {
84
+ const didDocument = client.generateDidDocument();
85
+ baseDocument = JSON.stringify({ "@context": didDocument["@context"] });
86
+ }
87
+ return {
88
+ info: {
89
+ title: "Update base document",
90
+ data: {
91
+ did,
92
+ baseDocument,
93
+ },
94
+ },
95
+ param: {
96
+ did,
97
+ baseDocument,
98
+ },
99
+ };
100
+ }
101
+ case "addController": {
102
+ const [did, controller] = inputs;
103
+ Joi.assert(did, Joi.string());
104
+ Joi.assert(controller, Joi.string());
105
+ return {
106
+ info: {
107
+ title: "Add controller",
108
+ data: { did, controller },
109
+ },
110
+ param: {
111
+ did,
112
+ controller,
113
+ },
114
+ };
115
+ }
116
+ case "revokeController": {
117
+ const [did, controller] = inputs;
118
+ Joi.assert(did, Joi.string());
119
+ Joi.assert(controller, Joi.string());
120
+ return {
121
+ info: {
122
+ title: "Revoke controller",
123
+ data: { did, controller },
124
+ },
125
+ param: {
126
+ did,
127
+ controller,
128
+ },
129
+ };
130
+ }
131
+ case "addVerificationMethod": {
132
+ const [did, inputPublicKeyOrAlg, inputVMethodId] = inputs;
133
+ Joi.assert(did, Joi.string());
134
+ Joi.assert(inputVMethodId, Joi.string().optional());
135
+ let inputPublicKey = inputPublicKeyOrAlg;
136
+ if (typeof inputPublicKeyOrAlg === "string" &&
137
+ ["ES256K", "ES256", "RS256", "EdDSA"].includes(inputPublicKeyOrAlg)) {
138
+ const alg = inputPublicKeyOrAlg;
139
+ inputPublicKey = client.keys[alg].publicKeyJwk;
140
+ }
141
+ let publicKey;
142
+ let publicKeyJwk;
143
+ let vMethodId;
144
+ if (inputPublicKey) {
145
+ if (typeof inputPublicKey === "string") {
146
+ publicKey = inputPublicKey;
147
+ publicKeyJwk = getPublicKeyJwk(publicKey);
148
+ }
149
+ else {
150
+ publicKeyJwk = inputPublicKey;
151
+ publicKey = getPublicKeyHex(publicKeyJwk);
152
+ }
153
+ vMethodId =
154
+ inputVMethodId ||
155
+ (await calculateJwkThumbprint(publicKeyJwk, "sha256"));
156
+ }
157
+ else {
158
+ publicKey = client.ethWallet.publicKey;
159
+ publicKeyJwk = getPublicKeyJwk(publicKey);
160
+ vMethodId = client.keys.ES256K.id;
161
+ }
162
+ const isSecp256k1 = publicKeyJwk.crv === "secp256k1";
163
+ return {
164
+ info: {
165
+ title: "Add verification method",
166
+ data: {
167
+ did,
168
+ vMethodId,
169
+ publicKey,
170
+ isSecp256k1,
171
+ },
172
+ },
173
+ param: {
174
+ did,
175
+ vMethodId,
176
+ publicKey,
177
+ isSecp256k1,
178
+ },
179
+ };
180
+ }
181
+ case "addVerificationRelationship": {
182
+ const [did, name, vMethodIdOrAlg, inputNotBefore, inputNotAfter] = inputs;
183
+ Joi.assert(did, Joi.string());
184
+ Joi.assert(name, Joi.string().valid("authentication", "assertionMethod", "keyAgreement", "capabilityInvocation", "capabilityDelegation"));
185
+ Joi.assert(vMethodIdOrAlg, Joi.string());
186
+ Joi.assert(inputNotBefore, Joi.string().optional());
187
+ Joi.assert(inputNotAfter, Joi.string().optional());
188
+ let notBefore;
189
+ let notAfter;
190
+ let vMethodId = vMethodIdOrAlg;
191
+ if (["ES256K", "ES256", "RS256", "EdDSA"].includes(vMethodIdOrAlg)) {
192
+ const alg = vMethodIdOrAlg;
193
+ vMethodId = client.keys[alg].id;
194
+ }
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
+ }
207
+ return {
208
+ info: {
209
+ title: "Add verification relationship",
210
+ data: {
211
+ did,
212
+ name,
213
+ vMethodId,
214
+ notBefore,
215
+ notAfter,
216
+ },
217
+ },
218
+ param: {
219
+ did,
220
+ name,
221
+ vMethodId,
222
+ notBefore,
223
+ notAfter,
224
+ },
225
+ };
226
+ }
227
+ case "revokeVerificationMethod": {
228
+ const [did, vMethodIdOrAlg, inputNotAfter] = inputs;
229
+ Joi.assert(did, Joi.string());
230
+ Joi.assert(vMethodIdOrAlg, Joi.string());
231
+ Joi.assert(inputNotAfter, Joi.string());
232
+ let notAfter;
233
+ let vMethodId = vMethodIdOrAlg;
234
+ if (["ES256K", "ES256", "RS256", "EdDSA"].includes(vMethodIdOrAlg)) {
235
+ const alg = vMethodIdOrAlg;
236
+ vMethodId = client.keys[alg].id;
237
+ }
238
+ if (inputNotAfter) {
239
+ notAfter = Math.floor(new Date(inputNotAfter).getTime() / 1000);
240
+ }
241
+ else {
242
+ notAfter = Math.floor(Date.now() / 1000);
243
+ }
244
+ return {
245
+ info: {
246
+ title: "Revoke verification method",
247
+ data: {
248
+ did,
249
+ vMethodId,
250
+ notAfter,
251
+ },
252
+ },
253
+ param: {
254
+ did,
255
+ vMethodId,
256
+ notAfter,
257
+ },
258
+ };
259
+ }
260
+ case "expireVerificationMethod": {
261
+ const [did, vMethodIdOrAlg, inputNotAfter] = inputs;
262
+ Joi.assert(did, Joi.string());
263
+ Joi.assert(vMethodIdOrAlg, Joi.string());
264
+ Joi.assert(inputNotAfter, Joi.string());
265
+ const notAfter = Math.floor(new Date(inputNotAfter).getTime() / 1000);
266
+ let vMethodId = vMethodIdOrAlg;
267
+ if (["ES256K", "ES256", "RS256", "EdDSA"].includes(vMethodIdOrAlg)) {
268
+ const alg = vMethodIdOrAlg;
269
+ vMethodId = client.keys[alg].id;
270
+ }
271
+ return {
272
+ info: {
273
+ title: "Expire verification method",
274
+ data: {
275
+ did,
276
+ vMethodId,
277
+ notAfter,
278
+ },
279
+ },
280
+ param: {
281
+ did,
282
+ vMethodId,
283
+ notAfter,
284
+ },
285
+ };
286
+ }
287
+ case "rollVerificationMethod": {
288
+ const [did, inputPublicKeyOrAlg, inputNotBefore, inputNotAfter, oldVMethodId, inputDuration, inputVMethodId,] = inputs;
289
+ Joi.assert(did, Joi.string());
290
+ Joi.assert(inputNotBefore, Joi.string());
291
+ Joi.assert(inputNotAfter, Joi.string());
292
+ Joi.assert(oldVMethodId, Joi.string());
293
+ Joi.assert(inputDuration, Joi.string());
294
+ Joi.assert(inputVMethodId, Joi.string().optional());
295
+ let inputPublicKey = inputPublicKeyOrAlg;
296
+ if (typeof inputPublicKeyOrAlg === "string" &&
297
+ ["ES256K", "ES256", "RS256", "EdDSA"].includes(inputPublicKeyOrAlg)) {
298
+ const alg = inputPublicKeyOrAlg;
299
+ inputPublicKey = client.keys[alg].publicKeyJwk;
300
+ }
301
+ const notBefore = Math.floor(new Date(inputNotBefore).getTime() / 1000);
302
+ const notAfter = Math.floor(new Date(inputNotAfter).getTime() / 1000);
303
+ const duration = Number(inputDuration);
304
+ let publicKey;
305
+ let publicKeyJwk;
306
+ let vMethodId;
307
+ if (inputPublicKey) {
308
+ if (typeof inputPublicKey === "string") {
309
+ publicKey = inputPublicKey;
310
+ publicKeyJwk = getPublicKeyJwk(publicKey);
311
+ }
312
+ else {
313
+ publicKeyJwk = inputPublicKey;
314
+ publicKey = getPublicKeyHex(publicKeyJwk);
315
+ }
316
+ vMethodId =
317
+ inputVMethodId ||
318
+ (await calculateJwkThumbprint(publicKeyJwk, "sha256"));
319
+ }
320
+ else {
321
+ publicKey = client.ethWallet.publicKey;
322
+ publicKeyJwk = getPublicKeyJwk(publicKey);
323
+ vMethodId = client.keys.ES256K.id;
324
+ }
325
+ const isSecp256k1 = publicKeyJwk.crv === "secp256k1";
326
+ return {
327
+ info: {
328
+ title: "Add verification method",
329
+ data: {
330
+ args: {
331
+ did,
332
+ vMethodId,
333
+ publicKey,
334
+ isSecp256k1,
335
+ notBefore,
336
+ notAfter,
337
+ oldVMethodId,
338
+ duration,
339
+ },
340
+ },
341
+ },
342
+ param: {
343
+ args: {
344
+ did,
345
+ vMethodId,
346
+ publicKey,
347
+ isSecp256k1,
348
+ notBefore,
349
+ notAfter,
350
+ oldVMethodId,
351
+ duration,
352
+ },
353
+ },
354
+ };
355
+ }
356
+ case "addService": {
357
+ const [did, service] = inputs;
358
+ Joi.assert(did, Joi.string());
359
+ return {
360
+ info: {
361
+ title: "Add service",
362
+ data: { did, service },
363
+ },
364
+ param: {
365
+ did,
366
+ service,
367
+ },
368
+ };
369
+ }
370
+ case "revokeService": {
371
+ const [did, serviceId] = inputs;
372
+ Joi.assert(did, Joi.string());
373
+ Joi.assert(serviceId, Joi.string());
374
+ return {
375
+ info: {
376
+ title: "Revoke service",
377
+ data: { did, serviceId },
378
+ },
379
+ param: {
380
+ did,
381
+ serviceId,
382
+ },
383
+ };
384
+ }
385
+ default:
386
+ throw new Error(`Invalid method '${method}'`);
387
+ }
388
+ }
389
+ export default buildParamDidV4;
390
+ //# sourceMappingURL=didV4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"didV4.js","sourceRoot":"","sources":["../../src/buildParam/didV4.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,55 @@
1
1
  import { buildParamDidV3 } from "./didV3.js";
2
- import { buildParamTarV3 } from "./tarV3.js";
2
+ import { buildParamDidV4 } from "./didV4.js";
3
3
  import { buildParamTimestampV2 } from "./timestampV2.js";
4
+ import { buildParamTimestampV3 } from "./timestampV3.js";
4
5
  import { buildParamTirV3 } from "./tirV3.js";
6
+ import { buildParamTirV4 } from "./tirV4.js";
5
7
  import { buildParamTsrV2 } from "./tsrV2.js";
8
+ import { buildParamTsrV3 } from "./tsrV3.js";
6
9
  import { buildParamTprV2 } from "./tprV2.js";
10
+ import { buildParamTprV3 } from "./tprV3.js";
7
11
  import { buildParamTntV1 } from "./tntV1.js";
8
- export async function buildParam(contract, method, client, inputs) {
9
- switch (contract) {
10
- case "timestamp":
11
- return buildParamTimestampV2(method, client, inputs);
12
- case "did":
13
- return buildParamDidV3(method, client, inputs);
14
- case "tar":
15
- return buildParamTarV3(method, client, inputs);
16
- case "tir":
17
- return buildParamTirV3(method, client, inputs);
18
- case "tsr":
19
- return buildParamTsrV2(method, client, inputs);
20
- case "tpr":
21
- return buildParamTprV2(method, client, inputs);
22
- case "tnt":
23
- return buildParamTntV1(method, client, inputs);
24
- default:
25
- throw new Error(`Invalid contract '${contract}'`);
12
+ import { buildParamTntV2 } from "./tntV2.js";
13
+ export async function buildParam(contract, method, client, inputs, versionApis) {
14
+ if (versionApis === "stable") {
15
+ switch (contract) {
16
+ case "timestamp":
17
+ return buildParamTimestampV2(method, client, inputs);
18
+ case "did":
19
+ return buildParamDidV3(method, client, inputs);
20
+ case "tir":
21
+ return buildParamTirV3(method, client, inputs);
22
+ case "tsr":
23
+ return buildParamTsrV2(method, client, inputs);
24
+ case "tpr":
25
+ return buildParamTprV2(method, client, inputs);
26
+ case "tnt":
27
+ return buildParamTntV1(method, client, inputs);
28
+ default:
29
+ throw new Error(`Invalid contract '${contract}'`);
30
+ }
26
31
  }
32
+ if (versionApis === "upcoming") {
33
+ switch (contract) {
34
+ case "timestamp":
35
+ return buildParamTimestampV3(method, client, inputs);
36
+ case "did":
37
+ return buildParamDidV4(method, client, inputs);
38
+ case "tir":
39
+ return buildParamTirV4(method, client, inputs);
40
+ case "tsr":
41
+ return buildParamTsrV3(method, client, inputs);
42
+ case "tpr":
43
+ return buildParamTprV3(method, client, inputs);
44
+ case "tnt":
45
+ return buildParamTntV2(method, client, inputs);
46
+ default:
47
+ throw new Error(`Invalid contract '${contract}'`);
48
+ }
49
+ }
50
+ throw new Error("Invalid version APIs");
27
51
  }
28
52
  export * from "./didV3.js";
29
- export * from "./tarV3.js";
30
53
  export * from "./tirV3.js";
31
54
  export * from "./tsrV2.js";
32
55
  export * from "./tprV2.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/buildParam/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAgB,EAChB,MAAc,EACd,MAAc,EACd,MAAkC;IAElC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,WAAW;YACd,OAAO,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,KAAK,KAAK;YACR,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,KAAK,KAAK;YACR,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,KAAK,KAAK;YACR,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,KAAK,KAAK;YACR,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,KAAK,KAAK;YACR,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,KAAK,KAAK;YACR,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD;YACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,GAAG,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/buildParam/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAgB,EAChB,MAAc,EACd,MAAc,EACd,MAAkC,EAClC,WAAiC;IAEjC,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC7B,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,WAAW;gBACd,OAAO,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACvD,KAAK,KAAK;gBACR,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,KAAK,KAAK;gBACR,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,KAAK,KAAK;gBACR,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,KAAK,KAAK;gBACR,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,KAAK,KAAK;gBACR,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD;gBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,GAAG,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;QAC/B,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,WAAW;gBACd,OAAO,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACvD,KAAK,KAAK;gBACR,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,KAAK,KAAK;gBACR,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,KAAK,KAAK;gBACR,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,KAAK,KAAK;gBACR,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,KAAK,KAAK;gBACR,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD;gBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,GAAG,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAC1C,CAAC;AAED,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}