@cef-ebsi/cli 1.3.2 → 1.5.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 (202) 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/{test/TirV4.js → pilot/Ptr.js} +255 -299
  5. package/dist/abi/pilot/Ptr.js.map +1 -0
  6. package/dist/abi/pilot/SchemaSCRegistry.js +264 -0
  7. package/dist/abi/pilot/SchemaSCRegistry.js.map +1 -0
  8. package/dist/abi/{test/TprV3.js → pilot/Tcr.js} +269 -261
  9. package/dist/abi/pilot/Tcr.js.map +1 -0
  10. package/dist/abi/pilot/Timestamp.js +658 -0
  11. package/dist/abi/pilot/Timestamp.js.map +1 -0
  12. package/dist/abi/pilot/Tir.js +428 -0
  13. package/dist/abi/pilot/Tir.js.map +1 -0
  14. package/dist/abi/pilot/TnT.js +842 -0
  15. package/dist/abi/pilot/TnT.js.map +1 -0
  16. package/dist/abi/pilot/Tpr.js +492 -0
  17. package/dist/abi/pilot/Tpr.js.map +1 -0
  18. package/dist/abi/test/DidRegistry.js +144 -658
  19. package/dist/abi/test/DidRegistry.js.map +1 -1
  20. package/dist/abi/{pilot/TirV4.js → test/Ptr.js} +255 -299
  21. package/dist/abi/test/Ptr.js.map +1 -0
  22. package/dist/abi/test/SchemaSCRegistry.js +122 -795
  23. package/dist/abi/test/SchemaSCRegistry.js.map +1 -1
  24. package/dist/abi/{pilot/TprV3.js → test/Tcr.js} +269 -261
  25. package/dist/abi/test/Tcr.js.map +1 -0
  26. package/dist/abi/test/Timestamp.js +239 -673
  27. package/dist/abi/test/Timestamp.js.map +1 -1
  28. package/dist/abi/test/Tir.js +167 -636
  29. package/dist/abi/test/Tir.js.map +1 -1
  30. package/dist/abi/test/TnT.js +842 -0
  31. package/dist/abi/test/TnT.js.map +1 -0
  32. package/dist/abi/test/Tpr.js +166 -942
  33. package/dist/abi/test/Tpr.js.map +1 -1
  34. package/dist/app.js +447 -443
  35. package/dist/app.js.map +1 -1
  36. package/dist/buildParam/{didV3.js → didr.js} +210 -204
  37. package/dist/buildParam/didr.js.map +1 -0
  38. package/dist/buildParam/index.js +42 -48
  39. package/dist/buildParam/index.js.map +1 -1
  40. package/dist/buildParam/ptr.js +80 -0
  41. package/dist/buildParam/ptr.js.map +1 -0
  42. package/dist/buildParam/tcr.js +36 -0
  43. package/dist/buildParam/tcr.js.map +1 -0
  44. package/dist/buildParam/{timestampV3.js → timestamp.js} +179 -136
  45. package/dist/buildParam/timestamp.js.map +1 -0
  46. package/dist/buildParam/{tirV3.js → tir.js} +67 -59
  47. package/dist/buildParam/tir.js.map +1 -0
  48. package/dist/buildParam/{tntV1.js → tnt.js} +90 -61
  49. package/dist/buildParam/tnt.js.map +1 -0
  50. package/dist/buildParam/{tprV2.js → tpr.js} +44 -33
  51. package/dist/buildParam/tpr.js.map +1 -0
  52. package/dist/buildParam/{tsrV2.js → tsr.js} +45 -40
  53. package/dist/buildParam/tsr.js.map +1 -0
  54. package/dist/cli.js +1 -0
  55. package/dist/cli.js.map +1 -1
  56. package/dist/commands/{authorisation-v5.js → authorisation.js} +95 -72
  57. package/dist/commands/authorisation.js.map +1 -0
  58. package/dist/commands/compute.js +429 -389
  59. package/dist/commands/compute.js.map +1 -1
  60. package/dist/commands/{conformance-v3.js → conformance.js} +236 -248
  61. package/dist/commands/conformance.js.map +1 -0
  62. package/dist/commands/hardwarewallet.js +5 -5
  63. package/dist/commands/hardwarewallet.js.map +1 -1
  64. package/dist/commands/index.js +4 -4
  65. package/dist/commands/index.js.map +1 -1
  66. package/dist/commands/{ledger-v4.js → ledger.js} +203 -127
  67. package/dist/commands/ledger.js.map +1 -0
  68. package/dist/commands/ptr.js +56 -0
  69. package/dist/commands/ptr.js.map +1 -0
  70. package/dist/commands/tcr.js +51 -0
  71. package/dist/commands/tcr.js.map +1 -0
  72. package/dist/commands/tnl.js +10 -9
  73. package/dist/commands/tnl.js.map +1 -1
  74. package/dist/commands/tsr.js +46 -0
  75. package/dist/commands/tsr.js.map +1 -0
  76. package/dist/commands/view.js +8 -8
  77. package/dist/commands/view.js.map +1 -1
  78. package/dist/config.js +311 -279
  79. package/dist/config.js.map +1 -1
  80. package/dist/index.js +3 -3
  81. package/dist/index.js.map +1 -1
  82. package/dist/interfaces/index.js +1 -1
  83. package/dist/interfaces/index.js.map +1 -1
  84. package/dist/programs/migrateDid.js +33 -33
  85. package/dist/programs/migrateDid.js.map +1 -1
  86. package/dist/programs/migrateDids.js +39 -42
  87. package/dist/programs/migrateDids.js.map +1 -1
  88. package/dist/programs/migrateTsr.js +153 -113
  89. package/dist/programs/migrateTsr.js.map +1 -1
  90. package/dist/scripts/accreditAndAuthorize/conformance/step1 +1 -1
  91. package/dist/scripts/accreditAndAuthorize/test/step1 +1 -1
  92. package/dist/scripts/accreditTI +1 -1
  93. package/dist/scripts/assets/CTRevocableCredential.json +1 -1
  94. package/dist/scripts/assets/CredentialToAttestVerifiableAuthorisationForTrustChain.json +2 -2
  95. package/dist/scripts/assets/TrustedNodesList.json +1 -1
  96. package/dist/scripts/assets/VerifiableAccreditationToAccredit.json +2 -2
  97. package/dist/scripts/assets/VerifiableAccreditationToAttest.json +2 -2
  98. package/dist/scripts/assets/VerifiableAuthorisationForTrustChain.json +1 -1
  99. package/dist/scripts/assets/VerifiableAuthorisationToInvoke.json +24 -0
  100. package/dist/scripts/assets/VerifiableAuthorisationToOnboard.json +1 -1
  101. package/dist/scripts/bootstrap/1-populateTPR +18 -15
  102. package/dist/scripts/bootstrap/6-setupConformanceIssuer +1 -1
  103. package/dist/scripts/issueVcInvoke +10 -0
  104. package/dist/scripts/issueVcOnboard +1 -1
  105. package/dist/scripts/issueVcRootTAO +1 -1
  106. package/dist/scripts/issueVcTAO +2 -2
  107. package/dist/scripts/issueVcTI +2 -2
  108. package/dist/scripts/issueVcTnl +1 -1
  109. package/dist/scripts/issue_CTRevocableCredential +1 -1
  110. package/dist/scripts/issue_SelfAttestationSupportOffice +2 -2
  111. package/dist/scripts/issue_VerifiableAccreditationToAccredit +2 -2
  112. package/dist/scripts/issue_VerifiableAccreditationToAttest +2 -2
  113. package/dist/scripts/issue_VerifiableAuthorisationForTrustChain +1 -1
  114. package/dist/scripts/issue_VerifiableAuthorisationToOnboard +1 -1
  115. package/dist/scripts/updateVcRootTAO +1 -1
  116. package/dist/scripts/updateVcTAO +2 -2
  117. package/dist/scripts/updateVcTI +2 -2
  118. package/dist/scripts/{wctv3 → wct}/accreditAndAuthorize +1 -1
  119. package/dist/tsconfig.build.tsbuildinfo +1 -0
  120. package/dist/utils/Client.js +81 -68
  121. package/dist/utils/Client.js.map +1 -1
  122. package/dist/utils/HardwareWallet.js +169 -165
  123. package/dist/utils/HardwareWallet.js.map +1 -1
  124. package/dist/utils/http.js +24 -27
  125. package/dist/utils/http.js.map +1 -1
  126. package/dist/utils/index.js +3 -3
  127. package/dist/utils/index.js.map +1 -1
  128. package/dist/utils/jsonrpc.js +14 -14
  129. package/dist/utils/jsonrpc.js.map +1 -1
  130. package/dist/utils/print.js +19 -19
  131. package/dist/utils/print.js.map +1 -1
  132. package/dist/utils/utils.js +180 -173
  133. package/dist/utils/utils.js.map +1 -1
  134. package/package.json +70 -46
  135. package/dist/abi/pilot/DidRegistryV3.js +0 -1082
  136. package/dist/abi/pilot/DidRegistryV3.js.map +0 -1
  137. package/dist/abi/pilot/DidRegistryV4.js +0 -942
  138. package/dist/abi/pilot/DidRegistryV4.js.map +0 -1
  139. package/dist/abi/pilot/SchemaSCRegistryV2.js +0 -474
  140. package/dist/abi/pilot/SchemaSCRegistryV2.js.map +0 -1
  141. package/dist/abi/pilot/TimestampV2.js +0 -1128
  142. package/dist/abi/pilot/TimestampV2.js.map +0 -1
  143. package/dist/abi/pilot/TimestampV3.js +0 -995
  144. package/dist/abi/pilot/TimestampV3.js.map +0 -1
  145. package/dist/abi/pilot/TirV3.js +0 -496
  146. package/dist/abi/pilot/TirV3.js.map +0 -1
  147. package/dist/abi/pilot/TirV4.js.map +0 -1
  148. package/dist/abi/pilot/TnTV1.js +0 -1375
  149. package/dist/abi/pilot/TnTV1.js.map +0 -1
  150. package/dist/abi/pilot/TprV2.js +0 -889
  151. package/dist/abi/pilot/TprV2.js.map +0 -1
  152. package/dist/abi/pilot/TprV3.js.map +0 -1
  153. package/dist/abi/pilot/TsrV3.js +0 -571
  154. package/dist/abi/pilot/TsrV3.js.map +0 -1
  155. package/dist/abi/test/DidRegistryV3.js +0 -1089
  156. package/dist/abi/test/DidRegistryV3.js.map +0 -1
  157. package/dist/abi/test/DidRegistryV4.js +0 -960
  158. package/dist/abi/test/DidRegistryV4.js.map +0 -1
  159. package/dist/abi/test/SchemaSCRegistryV2.js +0 -474
  160. package/dist/abi/test/SchemaSCRegistryV2.js.map +0 -1
  161. package/dist/abi/test/TimestampV2.js +0 -1128
  162. package/dist/abi/test/TimestampV2.js.map +0 -1
  163. package/dist/abi/test/TimestampV3.js +0 -995
  164. package/dist/abi/test/TimestampV3.js.map +0 -1
  165. package/dist/abi/test/TirV3.js +0 -496
  166. package/dist/abi/test/TirV3.js.map +0 -1
  167. package/dist/abi/test/TirV4.js.map +0 -1
  168. package/dist/abi/test/TnTV1.js +0 -1375
  169. package/dist/abi/test/TnTV1.js.map +0 -1
  170. package/dist/abi/test/TprV2.js +0 -889
  171. package/dist/abi/test/TprV2.js.map +0 -1
  172. package/dist/abi/test/TprV3.js.map +0 -1
  173. package/dist/abi/test/TsrV3.js +0 -571
  174. package/dist/abi/test/TsrV3.js.map +0 -1
  175. package/dist/buildParam/didV3.js.map +0 -1
  176. package/dist/buildParam/didV4.js +0 -326
  177. package/dist/buildParam/didV4.js.map +0 -1
  178. package/dist/buildParam/timestampV2.js +0 -317
  179. package/dist/buildParam/timestampV2.js.map +0 -1
  180. package/dist/buildParam/timestampV3.js.map +0 -1
  181. package/dist/buildParam/tirV3.js.map +0 -1
  182. package/dist/buildParam/tirV4.js +0 -119
  183. package/dist/buildParam/tirV4.js.map +0 -1
  184. package/dist/buildParam/tntV1.js.map +0 -1
  185. package/dist/buildParam/tntV2.js +0 -185
  186. package/dist/buildParam/tntV2.js.map +0 -1
  187. package/dist/buildParam/tprV2.js.map +0 -1
  188. package/dist/buildParam/tprV3.js +0 -82
  189. package/dist/buildParam/tprV3.js.map +0 -1
  190. package/dist/buildParam/tsrV2.js.map +0 -1
  191. package/dist/buildParam/tsrV3.js +0 -110
  192. package/dist/buildParam/tsrV3.js.map +0 -1
  193. package/dist/commands/authorisation-v4.js +0 -119
  194. package/dist/commands/authorisation-v4.js.map +0 -1
  195. package/dist/commands/authorisation-v5.js.map +0 -1
  196. package/dist/commands/conformance-v3.js.map +0 -1
  197. package/dist/commands/ledger-v4.js.map +0 -1
  198. package/dist/tsconfig.tsbuildinfo +0 -1
  199. /package/dist/scripts/{wctv3 → wct}/holderWallet +0 -0
  200. /package/dist/scripts/{wctv3 → wct}/issueToHolder +0 -0
  201. /package/dist/scripts/{wctv3 → wct}/pda1 +0 -0
  202. /package/dist/scripts/{wctv3 → wct}/verifier +0 -0
@@ -1,15 +1,18 @@
1
- import crypto from "node:crypto";
2
1
  import { ethers } from "ethers";
3
- import Multihash from "multihashes";
4
2
  import Joi from "joi";
5
- import { multibaseEncode, fromHexString } from "../utils/index.js";
3
+ import Multihash from "multihashes";
4
+ import crypto from "node:crypto";
5
+ import { fromHexString, multibaseEncode } from "../utils/index.js";
6
6
  const { sha256 } = ethers.utils;
7
- export function buildParamTimestampV3(method, client, inputs) {
7
+ export function buildParamTimestamp(method, _client, inputs) {
8
8
  switch (method) {
9
- case "timestampRecordHashes": {
10
- const [inputData, inputInfo] = inputs;
9
+ case "appendRecordVersionHashes": {
10
+ const [recordId, inputVersionId, inputData, inputInfo] = inputs;
11
+ Joi.assert(recordId, Joi.string());
12
+ Joi.assert(inputVersionId, Joi.string());
11
13
  Joi.assert(inputData, Joi.object().optional());
12
14
  Joi.assert(inputInfo, Joi.object().optional());
15
+ const versionId = Number(inputVersionId);
13
16
  const data = typeof inputData === "object"
14
17
  ? inputData
15
18
  : { test: crypto.randomBytes(12).toString("hex") };
@@ -20,93 +23,79 @@ export function buildParamTimestampV3(method, client, inputs) {
20
23
  info: crypto.randomBytes(12).toString("hex"),
21
24
  };
22
25
  const timestamp = {
26
+ data: `0x${buffer.toString("hex")}`,
23
27
  hash: {
24
28
  id: 0,
25
29
  value: sha256(buffer),
26
30
  },
27
- data: `0x${buffer.toString("hex")}`,
28
31
  };
29
32
  return {
30
33
  info: {
31
- title: "Timestamp record hashes. Record Id:",
32
- data: { hashValue: timestamp.hash.value },
34
+ data: { data, info },
35
+ title: "Append record version hashes",
33
36
  },
34
37
  param: {
35
38
  hashAlgorithmIds: [timestamp.hash.id],
36
39
  hashValues: [timestamp.hash.value],
40
+ recordId,
37
41
  timestampData: [timestamp.data],
42
+ versionId,
38
43
  versionInfo: `0x${Buffer.from(JSON.stringify(info)).toString("hex")}`,
39
44
  },
45
+ paramOrder: [
46
+ "recordId",
47
+ "versionId",
48
+ "hashAlgorithmIds",
49
+ "hashValues",
50
+ "timestampData",
51
+ "versionInfo",
52
+ ],
40
53
  };
41
54
  }
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
- };
55
+ case "detachRecordVersionHash": {
56
+ const [recordId, inputVersionId, hashValue] = inputs;
57
+ Joi.assert(recordId, Joi.string());
58
+ Joi.assert(inputVersionId, Joi.string());
59
+ Joi.assert(hashValue, Joi.string());
60
+ const versionId = Number(inputVersionId);
63
61
  return {
64
62
  info: {
65
- title: "Timestamp record version hashes",
66
- data: { data, info },
63
+ data: { hashValue, recordId, versionId },
64
+ title: "Detach Record Version Hash",
67
65
  },
68
66
  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")}`,
67
+ hashValue,
68
+ recordId,
69
+ versionId,
74
70
  },
71
+ paramOrder: ["recordId", "versionId", "hashValue"],
75
72
  };
76
73
  }
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
- };
74
+ case "insertHashAlgorithm": {
75
+ const [inputOutputLength, inputIanaName, inputOid, inputStatus, inputMultiHash,] = inputs;
76
+ Joi.assert(inputOutputLength, Joi.string().optional());
77
+ Joi.assert(inputIanaName, Joi.string().optional());
78
+ Joi.assert(inputOid, Joi.string().optional());
79
+ Joi.assert(inputStatus, Joi.string().optional());
80
+ Joi.assert(inputMultiHash, Joi.string().optional());
81
+ const outputLength = Number(inputOutputLength) || 1;
82
+ const ianaName = inputIanaName || "undefined";
83
+ const oid = inputOid || "undefined";
84
+ const status = Number(inputStatus) || 1;
85
+ const multiHash = inputMultiHash || ianaName;
98
86
  return {
99
87
  info: {
100
- title: "Timestamp record version hashes",
101
- data: { data, info },
88
+ data: ianaName,
89
+ title: "Hash Algorithm",
102
90
  },
103
91
  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")}`,
92
+ ianaName,
93
+ multiHash,
94
+ oid,
95
+ outputLength,
96
+ status,
109
97
  },
98
+ paramOrder: ["outputLength", "ianaName", "oid", "status", "multiHash"],
110
99
  };
111
100
  }
112
101
  case "insertRecordOwner": {
@@ -120,30 +109,16 @@ export function buildParamTimestampV3(method, client, inputs) {
120
109
  const notAfter = inputNotAfter || 0;
121
110
  return {
122
111
  info: {
123
- title: "Insert Record Owner",
124
112
  data: ownerId,
113
+ title: "Insert Record Owner",
125
114
  },
126
115
  param: {
127
- recordId,
128
- ownerId,
129
- notBefore,
130
116
  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,
117
+ notBefore,
145
118
  ownerId,
119
+ recordId,
146
120
  },
121
+ paramOrder: ["recordId", "ownerId", "notBefore", "notAfter"],
147
122
  };
148
123
  }
149
124
  case "insertRecordVersionInfo": {
@@ -159,41 +134,67 @@ export function buildParamTimestampV3(method, client, inputs) {
159
134
  };
160
135
  return {
161
136
  info: {
137
+ data: { info, recordId, versionId },
162
138
  title: "Insert Record Version Info",
163
- data: { recordId, versionId, info },
164
139
  },
165
140
  param: {
166
141
  recordId,
167
142
  versionId,
168
143
  versionInfo: `0x${Buffer.from(JSON.stringify(info)).toString("hex")}`,
169
144
  },
145
+ paramOrder: ["recordId", "versionId", "versionInfo"],
170
146
  };
171
147
  }
172
- case "detachRecordVersionHash": {
173
- const [recordId, inputVersionId, hashValue] = inputs;
148
+ case "revokeRecordOwner": {
149
+ const [recordId, ownerId] = inputs;
174
150
  Joi.assert(recordId, Joi.string());
175
- Joi.assert(inputVersionId, Joi.string());
176
- Joi.assert(hashValue, Joi.string());
177
- const versionId = Number(inputVersionId);
151
+ Joi.assert(ownerId, Joi.string());
178
152
  return {
179
153
  info: {
180
- title: "Detach Record Version Hash",
181
- data: { recordId, versionId, hashValue },
154
+ data: ownerId,
155
+ title: "Revoke Record Owner",
182
156
  },
183
157
  param: {
158
+ ownerId,
184
159
  recordId,
185
- versionId,
186
- hashValue,
187
160
  },
161
+ paramOrder: ["recordId", "ownerId"],
188
162
  };
189
163
  }
190
- case "appendRecordVersionHashes": {
191
- const [recordId, inputVersionId, inputData, inputInfo] = inputs;
192
- Joi.assert(recordId, Joi.string());
193
- Joi.assert(inputVersionId, Joi.string());
164
+ case "timestampHashes": {
165
+ const [inputData] = inputs;
166
+ Joi.assert(inputData, Joi.object().optional());
167
+ const data = typeof inputData === "object"
168
+ ? inputData
169
+ : { test: crypto.randomBytes(12).toString("hex") };
170
+ const buffer = Buffer.from(JSON.stringify(data));
171
+ const timestamp = {
172
+ data: `0x${buffer.toString("hex")}`,
173
+ hash: {
174
+ id: 0,
175
+ value: sha256(buffer),
176
+ },
177
+ };
178
+ const hashBuffer = fromHexString(sha256(timestamp.hash.value));
179
+ const multihash = Multihash.encode(hashBuffer, "sha2-256", 32);
180
+ const id = multibaseEncode("base64url", multihash);
181
+ return {
182
+ info: {
183
+ data: { data, id },
184
+ title: "Timestamp hashes",
185
+ },
186
+ param: {
187
+ hashAlgorithmIds: [timestamp.hash.id],
188
+ hashValues: [timestamp.hash.value],
189
+ timestampData: [timestamp.data],
190
+ },
191
+ paramOrder: ["hashAlgorithmIds", "hashValues", "timestampData"],
192
+ };
193
+ }
194
+ case "timestampRecordHashes": {
195
+ const [inputData, inputInfo] = inputs;
194
196
  Joi.assert(inputData, Joi.object().optional());
195
197
  Joi.assert(inputInfo, Joi.object().optional());
196
- const versionId = Number(inputVersionId);
197
198
  const data = typeof inputData === "object"
198
199
  ? inputData
199
200
  : { test: crypto.randomBytes(12).toString("hex") };
@@ -204,80 +205,113 @@ export function buildParamTimestampV3(method, client, inputs) {
204
205
  info: crypto.randomBytes(12).toString("hex"),
205
206
  };
206
207
  const timestamp = {
208
+ data: `0x${buffer.toString("hex")}`,
207
209
  hash: {
208
210
  id: 0,
209
211
  value: sha256(buffer),
210
212
  },
211
- data: `0x${buffer.toString("hex")}`,
212
213
  };
213
214
  return {
214
215
  info: {
215
- title: "Append record version hashes",
216
- data: { data, info },
216
+ data: { hashValue: timestamp.hash.value },
217
+ title: "Timestamp record hashes. Record Id:",
217
218
  },
218
219
  param: {
219
- recordId,
220
- versionId,
221
220
  hashAlgorithmIds: [timestamp.hash.id],
222
221
  hashValues: [timestamp.hash.value],
223
222
  timestampData: [timestamp.data],
224
223
  versionInfo: `0x${Buffer.from(JSON.stringify(info)).toString("hex")}`,
225
224
  },
225
+ paramOrder: [
226
+ "hashAlgorithmIds",
227
+ "hashValues",
228
+ "timestampData",
229
+ "versionInfo",
230
+ ],
226
231
  };
227
232
  }
228
- case "timestampHashes": {
229
- const [inputData] = inputs;
233
+ case "timestampRecordVersionHashes": {
234
+ const [recordId, inputData, inputInfo] = inputs;
235
+ Joi.assert(recordId, Joi.string());
230
236
  Joi.assert(inputData, Joi.object().optional());
237
+ Joi.assert(inputInfo, Joi.object().optional());
231
238
  const data = typeof inputData === "object"
232
239
  ? inputData
233
240
  : { test: crypto.randomBytes(12).toString("hex") };
234
241
  const buffer = Buffer.from(JSON.stringify(data));
242
+ const info = typeof inputInfo === "object"
243
+ ? inputInfo
244
+ : {
245
+ info: crypto.randomBytes(12).toString("hex"),
246
+ };
235
247
  const timestamp = {
248
+ data: `0x${buffer.toString("hex")}`,
236
249
  hash: {
237
250
  id: 0,
238
251
  value: sha256(buffer),
239
252
  },
240
- data: `0x${buffer.toString("hex")}`,
241
253
  };
242
- const hashBuffer = fromHexString(sha256(timestamp.hash.value));
243
- const multihash = Multihash.encode(hashBuffer, "sha2-256", 32);
244
- const id = multibaseEncode("base64url", multihash);
245
254
  return {
246
255
  info: {
247
- title: "Timestamp hashes",
248
- data: { data, id },
256
+ data: { data, info },
257
+ title: "Timestamp record version hashes",
249
258
  },
250
259
  param: {
251
260
  hashAlgorithmIds: [timestamp.hash.id],
252
261
  hashValues: [timestamp.hash.value],
262
+ recordId,
253
263
  timestampData: [timestamp.data],
264
+ versionInfo: `0x${Buffer.from(JSON.stringify(info)).toString("hex")}`,
254
265
  },
266
+ paramOrder: [
267
+ "recordId",
268
+ "hashAlgorithmIds",
269
+ "hashValues",
270
+ "timestampData",
271
+ "versionInfo",
272
+ ],
255
273
  };
256
274
  }
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;
275
+ case "timestampVersionHashes": {
276
+ const [versionHash, inputData, inputInfo] = inputs;
277
+ Joi.assert(versionHash, Joi.string());
278
+ Joi.assert(inputData, Joi.object().optional());
279
+ Joi.assert(inputInfo, Joi.object().optional());
280
+ const data = typeof inputData === "object"
281
+ ? inputData
282
+ : { test: crypto.randomBytes(12).toString("hex") };
283
+ const buffer = Buffer.from(JSON.stringify(data));
284
+ const info = typeof inputInfo === "object"
285
+ ? inputInfo
286
+ : {
287
+ info: crypto.randomBytes(12).toString("hex"),
288
+ };
289
+ const timestamp = {
290
+ data: `0x${buffer.toString("hex")}`,
291
+ hash: {
292
+ id: 0,
293
+ value: sha256(buffer),
294
+ },
295
+ };
269
296
  return {
270
297
  info: {
271
- title: "Hash Algorithm",
272
- data: ianaName,
298
+ data: { data, info },
299
+ title: "Timestamp record version hashes",
273
300
  },
274
301
  param: {
275
- outputLength,
276
- ianaName,
277
- oid,
278
- status,
279
- multiHash,
302
+ hashAlgorithmIds: [timestamp.hash.id],
303
+ hashValues: [timestamp.hash.value],
304
+ timestampData: [timestamp.data],
305
+ versionHash,
306
+ versionInfo: `0x${Buffer.from(JSON.stringify(info)).toString("hex")}`,
280
307
  },
308
+ paramOrder: [
309
+ "versionHash",
310
+ "hashAlgorithmIds",
311
+ "hashValues",
312
+ "timestampData",
313
+ "versionInfo",
314
+ ],
281
315
  };
282
316
  }
283
317
  case "updateHashAlgorithm": {
@@ -296,22 +330,31 @@ export function buildParamTimestampV3(method, client, inputs) {
296
330
  const multiHash = inputMultiHash || ianaName;
297
331
  return {
298
332
  info: {
299
- title: "Hash Algorithm",
300
333
  data: ianaName,
334
+ title: "Hash Algorithm",
301
335
  },
302
336
  param: {
303
337
  hashAlgorithmId,
304
- outputLength,
305
338
  ianaName,
339
+ multiHash,
306
340
  oid,
341
+ outputLength,
307
342
  status,
308
- multiHash,
309
343
  },
344
+ paramOrder: [
345
+ "hashAlgorithmId",
346
+ "outputLength",
347
+ "ianaName",
348
+ "oid",
349
+ "status",
350
+ "multiHash",
351
+ ],
310
352
  };
311
353
  }
312
- default:
354
+ default: {
313
355
  throw new Error(`Invalid method '${method}'`);
356
+ }
314
357
  }
315
358
  }
316
- export default buildParamTimestampV3;
317
- //# sourceMappingURL=timestampV3.js.map
359
+ export default buildParamTimestamp;
360
+ //# 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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"}
@@ -1,58 +1,19 @@
1
1
  import Joi from "joi";
2
2
  import { prefixWith0x } from "../utils/index.js";
3
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 buildParamTirV3(method, client, inputs) {
4
+ export function buildParamTir(method, _client, inputs) {
28
5
  switch (method) {
29
- case "setAttributeMetadata": {
30
- const [did, revisionId, inputIssuerType, inputTaoDid, inputAttributeIdTao,] = inputs;
6
+ case "addIssuerProxy": {
7
+ const [did, inputProxyData] = inputs;
31
8
  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
- }
9
+ const proxyData = JSON.stringify(inputProxyData);
44
10
  return {
45
- info: {
46
- title: `Issuer ${did}`,
47
- data: { revisionId, issuerType: inputIssuerType },
48
- },
11
+ info: { data: proxyData, title: `Proxy data for issuer ${did}` },
49
12
  param: {
50
13
  did,
51
- revisionId: prefixWith0x(revisionId),
52
- issuerType,
53
- taoDid,
54
- attributeIdTao: prefixWith0x(attributeIdTao),
14
+ proxyData,
55
15
  },
16
+ paramOrder: ["did", "proxyData"],
56
17
  };
57
18
  }
58
19
  case "setAttributeData": {
@@ -62,24 +23,49 @@ export function buildParamTirV3(method, client, inputs) {
62
23
  const buffer = getBufferAttribute(attribute);
63
24
  const attributeData = `0x${buffer.toString("hex")}`;
64
25
  return {
65
- info: { title: `Issuer ${did}`, data: { attributeId } },
26
+ info: { data: { attributeId }, title: `Issuer ${did}` },
66
27
  param: {
67
- did,
68
- attributeId: prefixWith0x(attributeId),
69
28
  attributeData,
29
+ attributeId: prefixWith0x(attributeId),
30
+ did,
70
31
  },
32
+ paramOrder: ["did", "attributeId", "attributeData"],
71
33
  };
72
34
  }
73
- case "addIssuerProxy": {
74
- const [did, inputProxyData] = inputs;
35
+ case "setAttributeMetadata": {
36
+ const [did, revisionId, inputIssuerType, inputTaoDid, inputAttributeIdTao,] = inputs;
75
37
  Joi.assert(did, Joi.string());
76
- const proxyData = JSON.stringify(inputProxyData);
38
+ Joi.assert(inputIssuerType, Joi.string().valid(...issuerTypes));
39
+ Joi.assert(inputTaoDid, Joi.string().optional());
40
+ Joi.assert(inputAttributeIdTao, Joi.string().optional());
41
+ const issuerType = issuerTypes.indexOf(inputIssuerType);
42
+ let taoDid = inputTaoDid;
43
+ let attributeIdTao = inputAttributeIdTao;
44
+ if (inputIssuerType === "roottao") {
45
+ if (!taoDid)
46
+ taoDid = did;
47
+ if (!attributeIdTao)
48
+ attributeIdTao = `0x${"0".repeat(64)}`;
49
+ }
77
50
  return {
78
- info: { title: `Proxy data for issuer ${did}`, data: proxyData },
51
+ info: {
52
+ data: { issuerType: inputIssuerType, revisionId },
53
+ title: `Issuer ${did}`,
54
+ },
79
55
  param: {
56
+ attributeIdTao: prefixWith0x(attributeIdTao),
80
57
  did,
81
- proxyData,
58
+ issuerType,
59
+ revisionId: prefixWith0x(revisionId),
60
+ taoDid,
82
61
  },
62
+ paramOrder: [
63
+ "did",
64
+ "revisionId",
65
+ "issuerType",
66
+ "taoDid",
67
+ "attributeIdTao",
68
+ ],
83
69
  };
84
70
  }
85
71
  case "updateIssuerProxy": {
@@ -88,17 +74,39 @@ export function buildParamTirV3(method, client, inputs) {
88
74
  Joi.assert(proxyId, Joi.string());
89
75
  const proxyData = JSON.stringify(inputProxyData);
90
76
  return {
91
- info: { title: `Proxy data for issuer ${did}`, data: proxyData },
77
+ info: { data: proxyData, title: `Proxy data for issuer ${did}` },
92
78
  param: {
93
79
  did,
94
- proxyId,
95
80
  proxyData,
81
+ proxyId,
96
82
  },
83
+ paramOrder: ["did", "proxyId", "proxyData"],
97
84
  };
98
85
  }
99
- default:
86
+ default: {
100
87
  throw new Error(`Invalid method '${method}'`);
88
+ }
101
89
  }
102
90
  }
103
- export default buildParamTirV3;
104
- //# sourceMappingURL=tirV3.js.map
91
+ function getBufferAttribute(attribute) {
92
+ if (attribute instanceof Buffer)
93
+ return attribute;
94
+ let buffer;
95
+ if (typeof attribute === "object") {
96
+ // json attribute
97
+ buffer = Buffer.from(JSON.stringify(attribute));
98
+ }
99
+ else if (typeof attribute === "string") {
100
+ buffer = /^(?:0x|0X)?[a-fA-F0-9]+$/.test(attribute)
101
+ ? // buffer attribute defined in hex string
102
+ Buffer.from(attribute.replace("0x", ""), "hex")
103
+ : // jwt attribute
104
+ Buffer.from(attribute);
105
+ }
106
+ else {
107
+ throw new TypeError(`invalid type for attribute: ${typeof attribute}`);
108
+ }
109
+ return buffer;
110
+ }
111
+ export default buildParamTir;
112
+ //# sourceMappingURL=tir.js.map