@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.
- package/bin/cli.js +1 -1
- package/dist/abi/pilot/DidRegistry.js +568 -0
- package/dist/abi/pilot/DidRegistry.js.map +1 -0
- package/dist/abi/{test/TirV4.js → pilot/Ptr.js} +255 -299
- package/dist/abi/pilot/Ptr.js.map +1 -0
- package/dist/abi/pilot/SchemaSCRegistry.js +264 -0
- package/dist/abi/pilot/SchemaSCRegistry.js.map +1 -0
- package/dist/abi/{test/TprV3.js → pilot/Tcr.js} +269 -261
- package/dist/abi/pilot/Tcr.js.map +1 -0
- package/dist/abi/pilot/Timestamp.js +658 -0
- package/dist/abi/pilot/Timestamp.js.map +1 -0
- package/dist/abi/pilot/Tir.js +428 -0
- package/dist/abi/pilot/Tir.js.map +1 -0
- package/dist/abi/pilot/TnT.js +842 -0
- package/dist/abi/pilot/TnT.js.map +1 -0
- package/dist/abi/pilot/Tpr.js +492 -0
- package/dist/abi/pilot/Tpr.js.map +1 -0
- package/dist/abi/test/DidRegistry.js +144 -658
- package/dist/abi/test/DidRegistry.js.map +1 -1
- package/dist/abi/{pilot/TirV4.js → test/Ptr.js} +255 -299
- package/dist/abi/test/Ptr.js.map +1 -0
- package/dist/abi/test/SchemaSCRegistry.js +122 -795
- package/dist/abi/test/SchemaSCRegistry.js.map +1 -1
- package/dist/abi/{pilot/TprV3.js → test/Tcr.js} +269 -261
- package/dist/abi/test/Tcr.js.map +1 -0
- package/dist/abi/test/Timestamp.js +239 -673
- package/dist/abi/test/Timestamp.js.map +1 -1
- package/dist/abi/test/Tir.js +167 -636
- package/dist/abi/test/Tir.js.map +1 -1
- package/dist/abi/test/TnT.js +842 -0
- package/dist/abi/test/TnT.js.map +1 -0
- package/dist/abi/test/Tpr.js +166 -942
- package/dist/abi/test/Tpr.js.map +1 -1
- package/dist/app.js +447 -443
- package/dist/app.js.map +1 -1
- package/dist/buildParam/{didV3.js → didr.js} +210 -204
- package/dist/buildParam/didr.js.map +1 -0
- package/dist/buildParam/index.js +42 -48
- package/dist/buildParam/index.js.map +1 -1
- package/dist/buildParam/ptr.js +80 -0
- package/dist/buildParam/ptr.js.map +1 -0
- package/dist/buildParam/tcr.js +36 -0
- package/dist/buildParam/tcr.js.map +1 -0
- package/dist/buildParam/{timestampV3.js → timestamp.js} +179 -136
- package/dist/buildParam/timestamp.js.map +1 -0
- package/dist/buildParam/{tirV3.js → tir.js} +67 -59
- package/dist/buildParam/tir.js.map +1 -0
- package/dist/buildParam/{tntV1.js → tnt.js} +90 -61
- package/dist/buildParam/tnt.js.map +1 -0
- package/dist/buildParam/{tprV2.js → tpr.js} +44 -33
- package/dist/buildParam/tpr.js.map +1 -0
- package/dist/buildParam/{tsrV2.js → tsr.js} +45 -40
- package/dist/buildParam/tsr.js.map +1 -0
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/{authorisation-v5.js → authorisation.js} +95 -72
- package/dist/commands/authorisation.js.map +1 -0
- package/dist/commands/compute.js +429 -389
- package/dist/commands/compute.js.map +1 -1
- package/dist/commands/{conformance-v3.js → conformance.js} +236 -248
- package/dist/commands/conformance.js.map +1 -0
- package/dist/commands/hardwarewallet.js +5 -5
- package/dist/commands/hardwarewallet.js.map +1 -1
- package/dist/commands/index.js +4 -4
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/{ledger-v4.js → ledger.js} +203 -127
- package/dist/commands/ledger.js.map +1 -0
- package/dist/commands/ptr.js +56 -0
- package/dist/commands/ptr.js.map +1 -0
- package/dist/commands/tcr.js +51 -0
- package/dist/commands/tcr.js.map +1 -0
- package/dist/commands/tnl.js +10 -9
- package/dist/commands/tnl.js.map +1 -1
- package/dist/commands/tsr.js +46 -0
- package/dist/commands/tsr.js.map +1 -0
- package/dist/commands/view.js +8 -8
- package/dist/commands/view.js.map +1 -1
- package/dist/config.js +311 -279
- package/dist/config.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/interfaces/index.js +1 -1
- package/dist/interfaces/index.js.map +1 -1
- package/dist/programs/migrateDid.js +33 -33
- package/dist/programs/migrateDid.js.map +1 -1
- package/dist/programs/migrateDids.js +39 -42
- package/dist/programs/migrateDids.js.map +1 -1
- package/dist/programs/migrateTsr.js +153 -113
- package/dist/programs/migrateTsr.js.map +1 -1
- package/dist/scripts/accreditAndAuthorize/conformance/step1 +1 -1
- package/dist/scripts/accreditAndAuthorize/test/step1 +1 -1
- package/dist/scripts/accreditTI +1 -1
- package/dist/scripts/assets/CTRevocableCredential.json +1 -1
- package/dist/scripts/assets/CredentialToAttestVerifiableAuthorisationForTrustChain.json +2 -2
- package/dist/scripts/assets/TrustedNodesList.json +1 -1
- package/dist/scripts/assets/VerifiableAccreditationToAccredit.json +2 -2
- package/dist/scripts/assets/VerifiableAccreditationToAttest.json +2 -2
- package/dist/scripts/assets/VerifiableAuthorisationForTrustChain.json +1 -1
- package/dist/scripts/assets/VerifiableAuthorisationToInvoke.json +24 -0
- package/dist/scripts/assets/VerifiableAuthorisationToOnboard.json +1 -1
- package/dist/scripts/bootstrap/1-populateTPR +18 -15
- package/dist/scripts/bootstrap/6-setupConformanceIssuer +1 -1
- package/dist/scripts/issueVcInvoke +10 -0
- package/dist/scripts/issueVcOnboard +1 -1
- package/dist/scripts/issueVcRootTAO +1 -1
- package/dist/scripts/issueVcTAO +2 -2
- package/dist/scripts/issueVcTI +2 -2
- package/dist/scripts/issueVcTnl +1 -1
- package/dist/scripts/issue_CTRevocableCredential +1 -1
- package/dist/scripts/issue_SelfAttestationSupportOffice +2 -2
- package/dist/scripts/issue_VerifiableAccreditationToAccredit +2 -2
- package/dist/scripts/issue_VerifiableAccreditationToAttest +2 -2
- package/dist/scripts/issue_VerifiableAuthorisationForTrustChain +1 -1
- package/dist/scripts/issue_VerifiableAuthorisationToOnboard +1 -1
- package/dist/scripts/updateVcRootTAO +1 -1
- package/dist/scripts/updateVcTAO +2 -2
- package/dist/scripts/updateVcTI +2 -2
- package/dist/scripts/{wctv3 → wct}/accreditAndAuthorize +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/utils/Client.js +81 -68
- package/dist/utils/Client.js.map +1 -1
- package/dist/utils/HardwareWallet.js +169 -165
- package/dist/utils/HardwareWallet.js.map +1 -1
- package/dist/utils/http.js +24 -27
- package/dist/utils/http.js.map +1 -1
- package/dist/utils/index.js +3 -3
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/jsonrpc.js +14 -14
- package/dist/utils/jsonrpc.js.map +1 -1
- package/dist/utils/print.js +19 -19
- package/dist/utils/print.js.map +1 -1
- package/dist/utils/utils.js +180 -173
- package/dist/utils/utils.js.map +1 -1
- package/package.json +70 -46
- package/dist/abi/pilot/DidRegistryV3.js +0 -1082
- package/dist/abi/pilot/DidRegistryV3.js.map +0 -1
- package/dist/abi/pilot/DidRegistryV4.js +0 -942
- package/dist/abi/pilot/DidRegistryV4.js.map +0 -1
- package/dist/abi/pilot/SchemaSCRegistryV2.js +0 -474
- package/dist/abi/pilot/SchemaSCRegistryV2.js.map +0 -1
- package/dist/abi/pilot/TimestampV2.js +0 -1128
- package/dist/abi/pilot/TimestampV2.js.map +0 -1
- package/dist/abi/pilot/TimestampV3.js +0 -995
- package/dist/abi/pilot/TimestampV3.js.map +0 -1
- package/dist/abi/pilot/TirV3.js +0 -496
- package/dist/abi/pilot/TirV3.js.map +0 -1
- package/dist/abi/pilot/TirV4.js.map +0 -1
- package/dist/abi/pilot/TnTV1.js +0 -1375
- package/dist/abi/pilot/TnTV1.js.map +0 -1
- package/dist/abi/pilot/TprV2.js +0 -889
- package/dist/abi/pilot/TprV2.js.map +0 -1
- package/dist/abi/pilot/TprV3.js.map +0 -1
- package/dist/abi/pilot/TsrV3.js +0 -571
- package/dist/abi/pilot/TsrV3.js.map +0 -1
- package/dist/abi/test/DidRegistryV3.js +0 -1089
- package/dist/abi/test/DidRegistryV3.js.map +0 -1
- package/dist/abi/test/DidRegistryV4.js +0 -960
- package/dist/abi/test/DidRegistryV4.js.map +0 -1
- package/dist/abi/test/SchemaSCRegistryV2.js +0 -474
- package/dist/abi/test/SchemaSCRegistryV2.js.map +0 -1
- package/dist/abi/test/TimestampV2.js +0 -1128
- package/dist/abi/test/TimestampV2.js.map +0 -1
- package/dist/abi/test/TimestampV3.js +0 -995
- package/dist/abi/test/TimestampV3.js.map +0 -1
- package/dist/abi/test/TirV3.js +0 -496
- package/dist/abi/test/TirV3.js.map +0 -1
- package/dist/abi/test/TirV4.js.map +0 -1
- package/dist/abi/test/TnTV1.js +0 -1375
- package/dist/abi/test/TnTV1.js.map +0 -1
- package/dist/abi/test/TprV2.js +0 -889
- package/dist/abi/test/TprV2.js.map +0 -1
- package/dist/abi/test/TprV3.js.map +0 -1
- package/dist/abi/test/TsrV3.js +0 -571
- package/dist/abi/test/TsrV3.js.map +0 -1
- package/dist/buildParam/didV3.js.map +0 -1
- package/dist/buildParam/didV4.js +0 -326
- package/dist/buildParam/didV4.js.map +0 -1
- package/dist/buildParam/timestampV2.js +0 -317
- package/dist/buildParam/timestampV2.js.map +0 -1
- package/dist/buildParam/timestampV3.js.map +0 -1
- package/dist/buildParam/tirV3.js.map +0 -1
- package/dist/buildParam/tirV4.js +0 -119
- package/dist/buildParam/tirV4.js.map +0 -1
- package/dist/buildParam/tntV1.js.map +0 -1
- package/dist/buildParam/tntV2.js +0 -185
- package/dist/buildParam/tntV2.js.map +0 -1
- package/dist/buildParam/tprV2.js.map +0 -1
- package/dist/buildParam/tprV3.js +0 -82
- package/dist/buildParam/tprV3.js.map +0 -1
- package/dist/buildParam/tsrV2.js.map +0 -1
- package/dist/buildParam/tsrV3.js +0 -110
- package/dist/buildParam/tsrV3.js.map +0 -1
- package/dist/commands/authorisation-v4.js +0 -119
- package/dist/commands/authorisation-v4.js.map +0 -1
- package/dist/commands/authorisation-v5.js.map +0 -1
- package/dist/commands/conformance-v3.js.map +0 -1
- package/dist/commands/ledger-v4.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- /package/dist/scripts/{wctv3 → wct}/holderWallet +0 -0
- /package/dist/scripts/{wctv3 → wct}/issueToHolder +0 -0
- /package/dist/scripts/{wctv3 → wct}/pda1 +0 -0
- /package/dist/scripts/{wctv3 → wct}/verifier +0 -0
|
@@ -1,18 +1,103 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
|
110
|
+
await safeExecCommand(command);
|
|
26
111
|
return;
|
|
27
112
|
}
|
|
28
113
|
if (message.includes("Revert reason: schemaId already exists") ||
|
|
29
|
-
message.includes("Revert reason:
|
|
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
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
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
|
-
|
|
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":"AAAA
|
|
1
|
+
{"version":3,"file":"migrateTsr.js","sourceRoot":"","sources":["../../src/programs/migrateTsr.ts"],"names":[],"mappings":"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"}
|
package/dist/scripts/accreditTI
CHANGED
|
@@ -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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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
|
|
7
|
-
proxyledger tpr insertPolicy DID:addController
|
|
8
|
-
proxyledger tpr insertPolicy DID:revokeController
|
|
9
|
-
proxyledger tpr insertPolicy DID:addVerificationMethod
|
|
10
|
-
proxyledger tpr insertPolicy DID:addVerificationRelationship
|
|
11
|
-
proxyledger tpr insertPolicy DID:revokeVerificationMethod
|
|
12
|
-
proxyledger tpr insertPolicy DID:expireVerificationMethod
|
|
13
|
-
proxyledger tpr insertPolicy DID:rollVerificationMethod
|
|
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
|
|
17
|
-
proxyledger tpr insertPolicy TIR:setAttributeMetadata
|
|
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
|
|
21
|
-
proxyledger tpr insertPolicy TS:updateHashAlgorithm
|
|
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
|
|
25
|
-
proxyledger tpr insertPolicy TSR:updateSchema
|
|
26
|
-
proxyledger tpr insertPolicy TSR:updateMetadata
|
|
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"]
|
|
@@ -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/
|
|
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/
|
|
9
|
+
set payloadVcRootTAO.credentialSchema.id tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
|
|
10
10
|
set payloadVcRootTAO.credentialSubject.reservedAttributeId reservedAttributeId
|
|
11
11
|
compute createVcJwt payloadVcRootTAO {} ES256
|
package/dist/scripts/issueVcTAO
CHANGED
|
@@ -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/
|
|
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/
|
|
10
|
+
set payloadVcTAO.credentialSchema.id tsrUrl /schemas/zHXHLkJpZg4w9nt2GbEBbyE8uhkfirbmT3nF7mJ9kFnjv
|
|
11
11
|
set payloadVcTAO.credentialSubject.reservedAttributeId reservedAttributeId
|
|
12
12
|
compute createVcJwt payloadVcTAO {} ES256
|
package/dist/scripts/issueVcTI
CHANGED
|
@@ -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/
|
|
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/
|
|
10
|
+
set payloadVcTI.credentialSchema.id tsrUrl /schemas/zHXHLkJpZg4w9nt2GbEBbyE8uhkfirbmT3nF7mJ9kFnjv
|
|
11
11
|
set payloadVcTI.credentialSubject.reservedAttributeId reservedAttributeId
|
|
12
12
|
compute createVcJwt payloadVcTI {} ES256
|
package/dist/scripts/issueVcTnl
CHANGED
|
@@ -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/
|
|
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
|