@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,18 +1,103 @@
1
- /* eslint-disable no-constant-condition */
2
- /* eslint-disable no-continue */
3
- import fs from "fs";
1
+ /**
2
+ * TSR Schema Migration Tool
3
+ *
4
+ * This script migrates schemas from an old TSR (Trusted Schemas Registry) smart contract
5
+ * to a new TSR smart contract address. The migration process is performed in two phases:
6
+ * saving schema data from the old contract and inserting it into the new contract.
7
+ *
8
+ * Usage:
9
+ *
10
+ * Phase 1: Save schemas from the old contract
11
+ * ------------------------------------------
12
+ * 1. Set the TSR_SC_ADDRESS environment variable to the old contract address
13
+ * 2. Run: yarn program:migrateTsr save [progressFile]
14
+ * - Creates a progress file: migrationTsr-{epochtime}.log (if not specified)
15
+ * - Fetches all schema IDs from the old contract
16
+ * - Retrieves and saves complete schema data to schemasData.log
17
+ *
18
+ * Phase 2: Migrate schemas to the new contract
19
+ * --------------------------------------------
20
+ * 3. Set the TSR_SC_ADDRESS environment variable to the new contract address
21
+ * 4. Choose migration method based on your access:
22
+ *
23
+ * Option A - Direct Besu connection (using proxyledger):
24
+ * yarn program:migrateTsr migrateWithProxy <progressFile>
25
+ *
26
+ * Option B - API connection (requires API configured with new address):
27
+ * yarn program:migrateTsr migrate <progressFile>
28
+ *
29
+ * The script tracks migration progress and can be safely restarted if interrupted.
30
+ * Already migrated schemas are skipped automatically.
31
+ */
32
+ import { base58btc } from "multiformats/bases/base58";
33
+ import fs from "node:fs";
4
34
  import { execCommand } from "../app.js";
5
35
  import { loadConfig } from "../config.js";
6
- const [fileName] = process.argv.slice(2);
36
+ const part = process.argv[2];
37
+ let progressFile = process.argv[3];
38
+ if (!["migrate", "migrateWithProxy", "save"].includes(part)) {
39
+ throw new Error(`Invalid command. Use 'migrateTsr save <progressFile>' to save schemas or 'migrateTsr migrate <progressFile>' to migrate schemas or 'migrateTsr migrateWithProxy <progressFile>' to migrate schemas with proxy`);
40
+ }
41
+ const fileNameSchemas = "schemasData.log";
7
42
  const config = loadConfig();
8
43
  const { admin } = config.programs;
9
- const currentDidVersion = Number(config.api.tsr.url.slice(-1));
10
- const oldDidVersion = currentDidVersion - 1;
11
- const tsrOld = config.api.tsr.url.replace(`/v${currentDidVersion}`, `/v${oldDidVersion}`);
12
- const tsr = config.api.tsr.url;
13
- async function safeExecCommand(command, opts) {
14
- if (opts.skip && opts.skip.includes(opts.successMessage))
44
+ async function createProgressFile() {
45
+ let fileData = fs.readFileSync(progressFile, "utf8");
46
+ if (!fileData)
47
+ fileData = JSON.stringify({
48
+ listCompleted: false,
49
+ nextPage: "",
50
+ schemas: [],
51
+ });
52
+ const data = JSON.parse(fileData);
53
+ if (data.listCompleted) {
54
+ console.log("List already completed.");
15
55
  return;
56
+ }
57
+ let pageAfter = 1;
58
+ const pageSize = 50;
59
+ while (data.listCompleted === false) {
60
+ let url = `/schemas?page[after]=${pageAfter}&page[size]=${pageSize}`;
61
+ try {
62
+ // get DIDs from old api
63
+ const schemaIdListOld = await execCommand(`ledger tsr get ${url}`);
64
+ data.schemas.push(...schemaIdListOld.items.map((i) => ({
65
+ errors: [],
66
+ migrated: false,
67
+ schemaId: i.schemaId,
68
+ })));
69
+ const lastPage = Math.ceil(schemaIdListOld.total / pageSize);
70
+ if (pageAfter === lastPage) {
71
+ data.listCompleted = true;
72
+ }
73
+ pageAfter += 1;
74
+ url = `/schemas?page[after]=${pageAfter}&page[size]=${pageSize}`;
75
+ fs.writeFileSync(progressFile, JSON.stringify(data, null, 2));
76
+ }
77
+ catch {
78
+ await new Promise((resolve) => {
79
+ setTimeout(resolve, 1000);
80
+ });
81
+ }
82
+ }
83
+ }
84
+ async function migrateSchema(schemaData) {
85
+ try {
86
+ // insert schema
87
+ const { schema, schemaId } = schemaData;
88
+ const schemaIdHex = `0x${Buffer.from(base58btc.decode(schemaId)).toString("hex")}`;
89
+ let command = `tsr insertSchema ${schemaIdHex} ${JSON.stringify(schema)}`;
90
+ if (part === "migrateWithProxy")
91
+ command = `proxyledger ${command}`;
92
+ await safeExecCommand(command);
93
+ return { success: true };
94
+ }
95
+ catch (error) {
96
+ console.log(error);
97
+ return { error: error.message, success: false };
98
+ }
99
+ }
100
+ async function safeExecCommand(command) {
16
101
  try {
17
102
  await execCommand(command);
18
103
  }
@@ -22,135 +107,90 @@ async function safeExecCommand(command, opts) {
22
107
  message.includes("replacement fee too low")) {
23
108
  // try again after some seconds
24
109
  await execCommand("wait 5");
25
- await safeExecCommand(command, opts);
110
+ await safeExecCommand(command);
26
111
  return;
27
112
  }
28
113
  if (message.includes("Revert reason: schemaId already exists") ||
29
- message.includes("Revert reason: relationship already exists") ||
30
- message.includes("Revert reason: vMethodId already exists")) {
114
+ message.includes("Revert reason: Schema already registered")) {
31
115
  // everything is ok, continue
32
116
  return;
33
117
  }
34
118
  throw error;
35
119
  }
36
120
  }
37
- async function getMissingSchemas(pageIni = 1, pageEnd = 0, pageSize = 50) {
38
- const missingSchemas = [];
39
- const errors = [];
40
- let pageAfter = pageIni;
41
- let url = `${tsrOld}/schemas?page[after]=${pageAfter}&page[size]=${pageSize}`;
42
- while (true) {
43
- // get DIDs from old api
44
- const schemaIdListOld = await execCommand(`get ${url}`);
45
- // get which ones are not in the current version
46
- await Promise.all(schemaIdListOld.items.map(async (item) => {
47
- try {
48
- const hrefCurrent = item.href.replace(tsrOld, tsr);
49
- await execCommand(`get ${hrefCurrent}`);
50
- }
51
- catch (error) {
52
- if (error.message.includes("failed with status code 404")) {
53
- missingSchemas.push(item.schemaId);
54
- }
55
- else {
56
- errors.push({ url: item.href, error: error.message });
57
- }
58
- }
59
- }));
60
- if (schemaIdListOld.links.next === schemaIdListOld.self ||
61
- (pageEnd && pageAfter >= pageEnd))
62
- break;
63
- pageAfter += 1;
64
- url = schemaIdListOld.links.next;
121
+ async function saveSchema(schemaId) {
122
+ let fileData;
123
+ if (fs.existsSync(fileNameSchemas)) {
124
+ fileData = fs.readFileSync(fileNameSchemas, "utf8");
65
125
  }
66
- return {
67
- missingSchemas,
68
- errors,
69
- };
70
- }
71
- async function migrateSchema(schemaId, opts) {
72
- const success = [];
73
- let successMessage = "";
74
- try {
75
- const schema = await execCommand(`get ${tsrOld}/schemas/${schemaId}`);
76
- // insert schema
77
- successMessage = "insertSchema";
78
- await safeExecCommand(`proxyledger tsr insertSchema ${JSON.stringify(schema)}`, { ...opts, successMessage });
79
- success.push(successMessage);
80
- return {};
126
+ else {
127
+ fileData = "[]";
128
+ fs.writeFileSync(fileNameSchemas, fileData, "utf8");
81
129
  }
82
- catch (error) {
83
- console.log(error);
84
- return {
85
- error: {
86
- schemaId,
87
- ...(success.length > 0 && { success }),
88
- error: error.message,
89
- },
90
- };
130
+ const data = JSON.parse(fileData);
131
+ if (data.some((s) => s.schemaId === schemaId)) {
132
+ console.log(`Schema ${schemaId} already saved.`);
133
+ return;
91
134
  }
135
+ const schemaData = await execCommand(`ledger tsr get /schemas/${schemaId}`);
136
+ data.push({ schema: schemaData, schemaId });
137
+ fs.writeFileSync(fileNameSchemas, JSON.stringify(data, null, 2), "utf8");
92
138
  }
93
139
  (async () => {
140
+ // // OPTIONAL: load a specific domain
141
+ // await execCommand("domain https://aio68-0-ebsi-pilot-rou.ebsi.eu");
94
142
  // load admin
95
- await execCommand(`using user ES256K did1 ${admin.privateKey} ${admin.did}`);
96
- await execCommand("t: authorisation siop");
97
- await execCommand("using token t");
98
- let migrated = [];
99
- let noMigrated = [];
100
- let errors = [];
101
- const newFile = `migration-${Date.now()}.log`;
102
- const saveFile = () => {
103
- fs.writeFileSync(newFile, JSON.stringify({ migrated, noMigrated, errorList: errors }, null, 2));
104
- };
105
- if (fileName) {
106
- const fileData = fs.readFileSync(fileName, "utf8");
107
- const { migrated: m, noMigrated: nom } = JSON.parse(fileData);
108
- migrated = m;
109
- noMigrated = nom;
143
+ await execCommand(`using user ES256K did1 ${admin.ES256K.privateKey} ${admin.did}`);
144
+ if (!progressFile) {
145
+ progressFile = `migrationTsr-${Date.now()}.log`;
146
+ fs.writeFileSync(progressFile, "", "utf8");
110
147
  }
111
- else {
112
- const { missingSchemas, errors: e } = await getMissingSchemas(1, 0, 50);
113
- errors = e;
114
- noMigrated = missingSchemas.map((s) => ({
115
- schemaId: s,
116
- success: [],
117
- error: "",
118
- pending: true,
119
- }));
148
+ await createProgressFile();
149
+ const fileData = fs.readFileSync(progressFile, "utf8");
150
+ const data = JSON.parse(fileData);
151
+ const { schemas } = data;
152
+ if (part === "save") {
153
+ for (const schema of schemas) {
154
+ await saveSchema(schema.schemaId);
155
+ }
156
+ console.log(`Schemas saved to ${fileNameSchemas}.`);
157
+ return;
120
158
  }
121
- for (let i = 0; i < noMigrated.length; i += 1) {
122
- const { schemaId, success, error, pending } = noMigrated[i];
123
- if (!schemaId)
124
- continue;
125
- if (pending ||
126
- error.includes("nonce has already been used") ||
127
- error.includes("replacement fee too low") ||
128
- error.includes("Bad Gateway") ||
129
- error.includes("Revert reason")) {
130
- const result = await migrateSchema(schemaId, {
131
- skip: success,
132
- });
133
- if (result.error) {
134
- noMigrated[i] = result.error;
159
+ // part migrate
160
+ const fileDataSchemas = fs.readFileSync(fileNameSchemas, "utf8");
161
+ const schemasData = JSON.parse(fileDataSchemas);
162
+ if (part === "migrate") {
163
+ // migrate througt the TSR API
164
+ // the API must have the new contract address configured
165
+ await execCommand(`using user ES256 did1 ${admin.ES256.privateKey} ${admin.did}`);
166
+ await execCommand(`t: authorisation auth tsr_write_presentation`);
167
+ await execCommand(`using token t.access_token`);
168
+ }
169
+ // eslint-disable-next-line @typescript-eslint/prefer-for-of
170
+ for (let i = 0; i < schemas.length; i += 1) {
171
+ const schema = schemas[i];
172
+ if (!schema.migrated) {
173
+ const schemaData = schemasData.find((s) => s.schemaId === schema.schemaId);
174
+ if (schemaData) {
175
+ const result = await migrateSchema(schemaData);
176
+ if (result.success) {
177
+ schema.migrated = true;
178
+ }
179
+ else {
180
+ schema.errors.push(result.error);
181
+ }
135
182
  }
136
183
  else {
137
- noMigrated[i] = {
138
- schemaId: "",
139
- success: [],
140
- error: "",
141
- pending: false,
142
- };
143
- migrated.push(schemaId);
184
+ schema.errors.push("Schema not found in schemasData.log");
144
185
  }
186
+ fs.writeFileSync(progressFile, JSON.stringify({ ...data, schemas }, null, 2), "utf8");
145
187
  }
146
- saveFile();
147
188
  }
148
- noMigrated = noMigrated.filter((n) => n.pending);
149
- saveFile();
150
189
  })()
151
190
  .then(() => {
152
191
  process.exit(0);
153
192
  })
193
+ // eslint-disable-next-line unicorn/prefer-top-level-await
154
194
  .catch((error) => {
155
195
  console.log(error);
156
196
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"migrateTsr.js","sourceRoot":"","sources":["../../src/programs/migrateTsr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrateTsr.js","sourceRoot":"","sources":["../../src/programs/migrateTsr.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ env conformance
3
3
  # create new issuer
4
4
  using user null
5
5
  using user
6
- using user ES256 did1 user.privateKeyHex
6
+ using user ES256 did1 user.keys.ES256K.privateKeyHex
7
7
 
8
8
  # request credential to onboard
9
9
  vcOnboard: conformance getCredential onboard
@@ -3,7 +3,7 @@ env test
3
3
  # create new issuer
4
4
  using user null
5
5
  using user
6
- using user ES256 did1 user.privateKeyHex
6
+ using user ES256 did1 user.keys.ES256K.privateKeyHex
7
7
 
8
8
  # request credential to onboard
9
9
  vcOnboard: conformance getCredential onboard
@@ -2,7 +2,7 @@
2
2
  using user null
3
3
  using user ES256K did1 PRIVATE_KEY_ES256K_TAO DID_TAO
4
4
  using user ES256 did1 PRIVATE_KEY_ES256_TAO DID_TAO
5
- set taoPrivateKeyES256K user.privateKeyHex
5
+ set taoPrivateKeyES256K user.keys.ES256K.privateKeyHex
6
6
  set taoPrivateKeyES256 user.keys.ES256.privateKeyJwk
7
7
  set taoDid user.did
8
8
 
@@ -24,7 +24,7 @@
24
24
 
25
25
  },
26
26
  "credentialSchema": {
27
- "id": "ebsi:pilot:trusted-schemas-registry:/schemas/zDpWGUBenmqXzurskry9Nsk6vq2R8thh9VSeoRqguoyMD",
27
+ "id": "ebsi:pilot:trusted-schemas-registry:/schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu",
28
28
  "type": "FullJsonSchemaValidator2021"
29
29
  }
30
30
  }
@@ -13,7 +13,7 @@
13
13
  "id": "",
14
14
  "accreditedFor": [
15
15
  {
16
- "schemaId": "ebsi:pilot:trusted-schemas-registry:/schemas/zDpWGUBenmqXzurskry9Nsk6vq2R8thh9VSeoRqguoyMD",
16
+ "schemaId": "ebsi:pilot:trusted-schemas-registry:/schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu",
17
17
  "types": [
18
18
  "VerifiableCredential",
19
19
  "VerifiableAttestation",
@@ -23,7 +23,7 @@
23
23
  ]
24
24
  },
25
25
  "credentialSchema": {
26
- "id": "ebsi:pilot:trusted-schemas-registry:/schemas/zDCGvPRUnnSTkVgnX6xRwQMz8hh4VYuJ4r7nxCNGgSTB1",
26
+ "id": "ebsi:pilot:trusted-schemas-registry:/schemas/zHXHLkJpZg4w9nt2GbEBbyE8uhkfirbmT3nF7mJ9kFnjv",
27
27
  "type": "FullJsonSchemaValidator2021"
28
28
  }
29
29
  }
@@ -29,7 +29,7 @@
29
29
  "type": "IssuanceCertificate"
30
30
  },
31
31
  "credentialSchema": {
32
- "id": "ebsi:pilot:trusted-schemas-registry:/schemas/z6pHzVWcE9hygBq8UWRXXyR8nRst6rUXMKUkTjMoh3sfJ",
32
+ "id": "ebsi:pilot:trusted-schemas-registry:/schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu",
33
33
  "type": "FullJsonSchemaValidator2021"
34
34
  }
35
35
  }
@@ -12,7 +12,7 @@
12
12
  "id": "",
13
13
  "accreditedFor": [
14
14
  {
15
- "schemaId": "ebsi:pilot:trusted-schemas-registry:/schemas/zDpWGUBenmqXzurskry9Nsk6vq2R8thh9VSeoRqguoyMD",
15
+ "schemaId": "ebsi:pilot:trusted-schemas-registry:/schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu",
16
16
  "types": [
17
17
  "VerifiableCredential",
18
18
  "VerifiableAttestation",
@@ -29,7 +29,7 @@
29
29
  }
30
30
  ],
31
31
  "credentialSchema": {
32
- "id": "ebsi:pilot:trusted-schemas-registry:/schemas/zDCGvPRUnnSTkVgnX6xRwQMz8hh4VYuJ4r7nxCNGgSTB1",
32
+ "id": "ebsi:pilot:trusted-schemas-registry:/schemas/zHXHLkJpZg4w9nt2GbEBbyE8uhkfirbmT3nF7mJ9kFnjv",
33
33
  "type": "FullJsonSchemaValidator2021"
34
34
  }
35
35
  }
@@ -11,7 +11,7 @@
11
11
  "id": "",
12
12
  "accreditedFor": [
13
13
  {
14
- "schemaId": "ebsi:pilot:trusted-schemas-registry:/schemas/zDpWGUBenmqXzurskry9Nsk6vq2R8thh9VSeoRqguoyMD",
14
+ "schemaId": "ebsi:pilot:trusted-schemas-registry:/schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu",
15
15
  "types": [
16
16
  "VerifiableCredential",
17
17
  "VerifiableAttestation",
@@ -27,7 +27,7 @@
27
27
  "type": "IssuanceCertificate"
28
28
  },
29
29
  "credentialSchema": {
30
- "id": "ebsi:pilot:trusted-schemas-registry:/schemas/zDCGvPRUnnSTkVgnX6xRwQMz8hh4VYuJ4r7nxCNGgSTB1",
30
+ "id": "ebsi:pilot:trusted-schemas-registry:/schemas/zHXHLkJpZg4w9nt2GbEBbyE8uhkfirbmT3nF7mJ9kFnjv",
31
31
  "type": "FullJsonSchemaValidator2021"
32
32
  }
33
33
  }
@@ -16,7 +16,7 @@
16
16
  "type": "IssuanceCertificate"
17
17
  },
18
18
  "credentialSchema": {
19
- "id": "ebsi:pilot:trusted-schemas-registry:/schemas/zDpWGUBenmqXzurskry9Nsk6vq2R8thh9VSeoRqguoyMD",
19
+ "id": "ebsi:pilot:trusted-schemas-registry:/schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu",
20
20
  "type": "FullJsonSchemaValidator2021"
21
21
  }
22
22
  }
@@ -0,0 +1,24 @@
1
+ {
2
+ "@context": [
3
+ "https://www.w3.org/2018/credentials/v1"
4
+ ],
5
+ "type": [
6
+ "VerifiableCredential",
7
+ "VerifiableAttestation",
8
+ "VerifiableAuthorisationToInvoke"
9
+ ],
10
+ "issuer": "",
11
+ "credentialSubject": {
12
+ "id": "",
13
+ "contractAddress": ""
14
+ },
15
+ "termsOfUse": {
16
+ "id": "",
17
+ "type": "IssuanceCertificate"
18
+
19
+ },
20
+ "credentialSchema": {
21
+ "id": "ebsi:pilot:trusted-schemas-registry:/schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu",
22
+ "type": "FullJsonSchemaValidator2021"
23
+ }
24
+ }
@@ -18,7 +18,7 @@
18
18
 
19
19
  },
20
20
  "credentialSchema": {
21
- "id": "ebsi:pilot:trusted-schemas-registry:/schemas/zDpWGUBenmqXzurskry9Nsk6vq2R8thh9VSeoRqguoyMD",
21
+ "id": "ebsi:pilot:trusted-schemas-registry:/schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu",
22
22
  "type": "FullJsonSchemaValidator2021"
23
23
  }
24
24
  }
@@ -3,27 +3,29 @@ run bootstrap/0a-loadTPROperator
3
3
  # New Policies
4
4
 
5
5
  #DID
6
- proxyledger tpr insertPolicy DID:updateBaseDocument true ["updateBaseDocument in DID Registry"]
7
- proxyledger tpr insertPolicy DID:addController true ["addController in DID Registry"]
8
- proxyledger tpr insertPolicy DID:revokeController true ["revokeController in DID Registry"]
9
- proxyledger tpr insertPolicy DID:addVerificationMethod true ["addVerificationMethod in DID Registry"]
10
- proxyledger tpr insertPolicy DID:addVerificationRelationship true ["addVerificationRelationship in DID Registry"]
11
- proxyledger tpr insertPolicy DID:revokeVerificationMethod true ["revokeVerificationMethod in DID Registry"]
12
- proxyledger tpr insertPolicy DID:expireVerificationMethod true ["expireVerificationMethod in DID Registry"]
13
- proxyledger tpr insertPolicy DID:rollVerificationMethod true ["rollVerificationMethod in DID Registry"]
6
+ proxyledger tpr insertPolicy DID:updateBaseDocument ["updateBaseDocument in DID Registry"]
7
+ proxyledger tpr insertPolicy DID:addController ["addController in DID Registry"]
8
+ proxyledger tpr insertPolicy DID:revokeController ["revokeController in DID Registry"]
9
+ proxyledger tpr insertPolicy DID:addVerificationMethod ["addVerificationMethod in DID Registry"]
10
+ proxyledger tpr insertPolicy DID:addVerificationRelationship ["addVerificationRelationship in DID Registry"]
11
+ proxyledger tpr insertPolicy DID:revokeVerificationMethod ["revokeVerificationMethod in DID Registry"]
12
+ proxyledger tpr insertPolicy DID:expireVerificationMethod ["expireVerificationMethod in DID Registry"]
13
+ proxyledger tpr insertPolicy DID:rollVerificationMethod ["rollVerificationMethod in DID Registry"]
14
+ proxyledger tpr insertPolicy TCR:deployProxy ["deployProxy in Trusted Contracts Registry"]
15
+ proxyledger tpr insertPolicy TCR:manageTemplates ["manage templates in the Proxy Template Regsitry"]
14
16
 
15
17
  #TIR
16
- proxyledger tpr insertPolicy TIR:updateIssuer true ["updateIssuer in Trusted Issuers Registry"]
17
- proxyledger tpr insertPolicy TIR:setAttributeMetadata true ["setAttributeMetadata in Trusted Issuers Registry"]
18
+ proxyledger tpr insertPolicy TIR:updateIssuer ["updateIssuer in Trusted Issuers Registry"]
19
+ proxyledger tpr insertPolicy TIR:setAttributeMetadata ["setAttributeMetadata in Trusted Issuers Registry"]
18
20
 
19
21
  #Timestamp
20
- proxyledger tpr insertPolicy TS:insertHashAlgorithm true ["insertHashAlgorithm in Timestamp"]
21
- proxyledger tpr insertPolicy TS:updateHashAlgorithm true ["updateHashAlgorithm in Timestamp"]
22
+ proxyledger tpr insertPolicy TS:insertHashAlgorithm ["insertHashAlgorithm in Timestamp"]
23
+ proxyledger tpr insertPolicy TS:updateHashAlgorithm ["updateHashAlgorithm in Timestamp"]
22
24
 
23
25
  #TSR
24
- proxyledger tpr insertPolicy TSR:insertSchema true ["insertSchema in Trusted Schemas Registry"]
25
- proxyledger tpr insertPolicy TSR:updateSchema true ["updateSchema in Trusted Schemas Registry"]
26
- proxyledger tpr insertPolicy TSR:updateMetadata true ["updateMetadata in Trusted Schemas Registry"]
26
+ proxyledger tpr insertPolicy TSR:insertSchema ["insertSchema in Trusted Schemas Registry"]
27
+ proxyledger tpr insertPolicy TSR:updateSchema ["updateSchema in Trusted Schemas Registry"]
28
+ proxyledger tpr insertPolicy TSR:updateMetadata ["updateMetadata in Trusted Schemas Registry"]
27
29
 
28
30
  # User Attributes
29
31
  # List taken from https://ec.europa.eu/digital-building-blocks/wikis/display/BLOCKCHAININT/RFC+-+Procedure+for+multisig+wallet+maintenance
@@ -87,3 +89,4 @@ proxyledger tpr insertUserAttributes 0xA4B6C8710f6bF233b8b480498916DEC224A5a891
87
89
  proxyledger tpr insertUserAttributes 0xA4B6C8710f6bF233b8b480498916DEC224A5a891 ["TIR:insertIssuer", "TIR:updateIssuer", "TIR:setAttributeMetadata"]
88
90
  proxyledger tpr insertUserAttributes 0xA4B6C8710f6bF233b8b480498916DEC224A5a891 ["TS:insertHashAlgorithm", "TS:updateHashAlgorithm"]
89
91
  proxyledger tpr insertUserAttributes 0xA4B6C8710f6bF233b8b480498916DEC224A5a891 ["TSR:insertSchema", "TSR:updateSchema", "TSR:updateMetadata"]
92
+ proxyledger tpr insertUserAttributes 0xA4B6C8710f6bF233b8b480498916DEC224A5a891 ["TCR:deployProxy", "TCR:manageTemplates"]
@@ -1,7 +1,7 @@
1
1
  # create keys for conformance
2
2
  using user null
3
3
  using user ES256K did1
4
- using user ES256 did1 user.privateKeyHex
4
+ using user ES256 did1 user.keys.ES256K.privateKeyHex
5
5
  set confIssuer user
6
6
 
7
7
  # register conformance in the DID Registry
@@ -0,0 +1,10 @@
1
+ # way of use:
2
+ # ==> run issueVcInvoke <didSubject> <address>
3
+
4
+ payloadVcInvoke: load assets/VerifiableAuthorisationToInvoke.json
5
+ set payloadVcInvoke.issuer user.did
6
+ set payloadVcInvoke.credentialSubject.id $1
7
+ set payloadVcInvoke.credentialSubject.contractAddress $2
8
+ set payloadVcInvoke.termsOfUse.id user.accreditationUrl
9
+ set payloadVcInvoke.credentialSchema.id tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
10
+ compute createVcJwt payloadVcInvoke {} ES256
@@ -5,5 +5,5 @@ payloadVcOnboard: load assets/VerifiableAuthorisationToOnboard.json
5
5
  set payloadVcOnboard.issuer user.did
6
6
  set payloadVcOnboard.credentialSubject.id $1
7
7
  set payloadVcOnboard.termsOfUse.id user.accreditationUrl
8
- set payloadVcOnboard.credentialSchema.id tsrUrl /schemas/zDpWGUBenmqXzurskry9Nsk6vq2R8thh9VSeoRqguoyMD
8
+ set payloadVcOnboard.credentialSchema.id tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
9
9
  compute createVcJwt payloadVcOnboard {} ES256
@@ -6,6 +6,6 @@ payloadVcRootTAO: load assets/VerifiableAuthorisationForTrustChain.json
6
6
  set payloadVcRootTAO.issuer user.did
7
7
  set payloadVcRootTAO.credentialSubject.id $1
8
8
  set payloadVcRootTAO.termsOfUse.id user.accreditationUrl
9
- set payloadVcRootTAO.credentialSchema.id tsrUrl /schemas/zDpWGUBenmqXzurskry9Nsk6vq2R8thh9VSeoRqguoyMD
9
+ set payloadVcRootTAO.credentialSchema.id tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
10
10
  set payloadVcRootTAO.credentialSubject.reservedAttributeId reservedAttributeId
11
11
  compute createVcJwt payloadVcRootTAO {} ES256
@@ -5,8 +5,8 @@ reservedAttributeId: compute randomID
5
5
  payloadVcTAO: load assets/VerifiableAccreditationToAccredit.json
6
6
  set payloadVcTAO.issuer user.did
7
7
  set payloadVcTAO.credentialSubject.id $1
8
- set payloadVcTAO.credentialSubject.accreditedFor.0.schemaId tsrUrl /schemas/zDpWGUBenmqXzurskry9Nsk6vq2R8thh9VSeoRqguoyMD
8
+ set payloadVcTAO.credentialSubject.accreditedFor.0.schemaId tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
9
9
  set payloadVcTAO.termsOfUse.0.id user.accreditationUrl
10
- set payloadVcTAO.credentialSchema.id tsrUrl /schemas/zDpWGUBenmqXzurskry9Nsk6vq2R8thh9VSeoRqguoyMD
10
+ set payloadVcTAO.credentialSchema.id tsrUrl /schemas/zHXHLkJpZg4w9nt2GbEBbyE8uhkfirbmT3nF7mJ9kFnjv
11
11
  set payloadVcTAO.credentialSubject.reservedAttributeId reservedAttributeId
12
12
  compute createVcJwt payloadVcTAO {} ES256
@@ -5,8 +5,8 @@ reservedAttributeId: compute randomID
5
5
  payloadVcTI: load assets/VerifiableAccreditationToAttest.json
6
6
  set payloadVcTI.issuer user.did
7
7
  set payloadVcTI.credentialSubject.id $1
8
- set payloadVcTI.credentialSubject.accreditedFor.0.schemaId tsrUrl /schemas/zDpWGUBenmqXzurskry9Nsk6vq2R8thh9VSeoRqguoyMD
8
+ set payloadVcTI.credentialSubject.accreditedFor.0.schemaId tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
9
9
  set payloadVcTI.termsOfUse.id user.accreditationUrl
10
- set payloadVcTI.credentialSchema.id tsrUrl /schemas/zDpWGUBenmqXzurskry9Nsk6vq2R8thh9VSeoRqguoyMD
10
+ set payloadVcTI.credentialSchema.id tsrUrl /schemas/zHXHLkJpZg4w9nt2GbEBbyE8uhkfirbmT3nF7mJ9kFnjv
11
11
  set payloadVcTI.credentialSubject.reservedAttributeId reservedAttributeId
12
12
  compute createVcJwt payloadVcTI {} ES256
@@ -23,7 +23,7 @@ set payloadVcTnl.credentialSubject.nodes resultHealth.nodesOk
23
23
 
24
24
  # Other updates
25
25
  set payloadVcTnl.termsOfUse.id user.accreditationUrl
26
- set payloadVcTnl.credentialSchema.id ebsi: payloadVcTnl.credentialSubject.environment :trusted-schemas-registry:/schemas/z6pHzVWcE9hygBq8UWRXXyR8nRst6rUXMKUkTjMoh3sfJ
26
+ set payloadVcTnl.credentialSchema.id ebsi: payloadVcTnl.credentialSubject.environment :trusted-schemas-registry:/schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
27
27
 
28
28
  # Issue the credential
29
29
  vcTnl: compute createVcJwt payloadVcTnl {} ES256