pontus-x_cli 1.0.4 → 1.2.5
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/README.md +144 -53
- package/bin/dev.js +5 -5
- package/bin/run.js +4 -5
- package/dist/commands/access.d.ts +1 -1
- package/dist/commands/access.js +3 -3
- package/dist/commands/access.js.map +1 -1
- package/dist/commands/change-price.d.ts +3 -3
- package/dist/commands/change-price.js +12 -11
- package/dist/commands/change-price.js.map +1 -1
- package/dist/commands/check-participant-compliance.d.ts +1 -1
- package/dist/commands/check-participant-compliance.js +13 -11
- package/dist/commands/check-participant-compliance.js.map +1 -1
- package/dist/commands/compute-results.d.ts +1 -1
- package/dist/commands/compute-results.js +7 -7
- package/dist/commands/compute-results.js.map +1 -1
- package/dist/commands/compute-status.d.ts +1 -1
- package/dist/commands/compute-status.js +7 -7
- package/dist/commands/compute-status.js.map +1 -1
- package/dist/commands/compute.d.ts +7 -5
- package/dist/commands/compute.js +136 -36
- package/dist/commands/compute.js.map +1 -1
- package/dist/commands/edit-additional-metadata.d.ts +3 -3
- package/dist/commands/edit-additional-metadata.js +18 -11
- package/dist/commands/edit-additional-metadata.js.map +1 -1
- package/dist/commands/edit-algo.d.ts +3 -3
- package/dist/commands/edit-algo.js +22 -13
- package/dist/commands/edit-algo.js.map +1 -1
- package/dist/commands/edit-asset-url.d.ts +3 -3
- package/dist/commands/edit-asset-url.js +12 -11
- package/dist/commands/edit-asset-url.js.map +1 -1
- package/dist/commands/edit-trusted-algos.d.ts +6 -5
- package/dist/commands/edit-trusted-algos.js +136 -21
- package/dist/commands/edit-trusted-algos.js.map +1 -1
- package/dist/commands/edit-trusted-publishers.d.ts +13 -0
- package/dist/commands/edit-trusted-publishers.js +132 -0
- package/dist/commands/edit-trusted-publishers.js.map +1 -0
- package/dist/commands/export-private-key.d.ts +2 -2
- package/dist/commands/export-private-key.js +27 -27
- package/dist/commands/export-private-key.js.map +1 -1
- package/dist/commands/generate-asset-credentials.d.ts +1 -1
- package/dist/commands/generate-asset-credentials.js +11 -11
- package/dist/commands/generate-asset-credentials.js.map +1 -1
- package/dist/commands/generate-did-web.d.ts +1 -1
- package/dist/commands/generate-did-web.js +11 -11
- package/dist/commands/generate-did-web.js.map +1 -1
- package/dist/commands/generate-participant-credentials.d.ts +1 -1
- package/dist/commands/generate-participant-credentials.js +10 -10
- package/dist/commands/generate-participant-credentials.js.map +1 -1
- package/dist/commands/get.d.ts +1 -1
- package/dist/commands/get.js +3 -3
- package/dist/commands/get.js.map +1 -1
- package/dist/commands/login.d.ts +2 -2
- package/dist/commands/login.js +16 -13
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.d.ts +1 -1
- package/dist/commands/logout.js +7 -7
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/publish.d.ts +5 -3
- package/dist/commands/publish.js +111 -43
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/render.d.ts +12 -0
- package/dist/commands/render.js +130 -0
- package/dist/commands/render.js.map +1 -0
- package/dist/commands/revoke.d.ts +7 -6
- package/dist/commands/revoke.js +92 -23
- package/dist/commands/revoke.js.map +1 -1
- package/dist/commands/self-description.d.ts +3 -3
- package/dist/commands/self-description.js +13 -8
- package/dist/commands/self-description.js.map +1 -1
- package/dist/config.d.ts +16 -18
- package/dist/config.js +63 -62
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/aquarius.d.ts +29 -0
- package/dist/lib/aquarius.js +212 -0
- package/dist/lib/aquarius.js.map +1 -0
- package/dist/lib/gaia-x_compliance/generate-credentials/index.js +26 -25
- package/dist/lib/gaia-x_compliance/generate-credentials/index.js.map +1 -1
- package/dist/lib/manifest.d.ts +5 -0
- package/dist/lib/manifest.js +33 -0
- package/dist/lib/manifest.js.map +1 -0
- package/dist/lib/spec.d.ts +12 -0
- package/dist/lib/spec.js +266 -0
- package/dist/lib/spec.js.map +1 -0
- package/dist/lib/wallet.d.ts +2 -0
- package/dist/lib/wallet.js +19 -0
- package/dist/lib/wallet.js.map +1 -0
- package/dist/lib/yaml.d.ts +2 -0
- package/dist/lib/yaml.js +53 -0
- package/dist/lib/yaml.js.map +1 -0
- package/dist/scripts/json-schema.d.ts +1 -0
- package/dist/scripts/json-schema.js +24 -0
- package/dist/scripts/json-schema.js.map +1 -0
- package/dist/types/manifest-schema.json +52 -0
- package/dist/types/manifest.d.ts +17 -0
- package/dist/types/manifest.js +14 -0
- package/dist/types/manifest.js.map +1 -0
- package/dist/types/schema.d.ts +1 -2
- package/dist/types/schema.js +3 -2
- package/dist/types/schema.js.map +1 -1
- package/dist/types/schema.json +24 -72
- package/dist/utils/account.d.ts +2 -0
- package/dist/utils/account.js +41 -0
- package/dist/utils/account.js.map +1 -0
- package/dist/utils/asset.d.ts +25 -0
- package/dist/utils/asset.js +108 -0
- package/dist/utils/asset.js.map +1 -0
- package/dist/utils/connection.d.ts +3 -3
- package/dist/utils/connection.js +2 -2
- package/dist/utils/connection.js.map +1 -1
- package/dist/utils/login.d.ts +14 -0
- package/dist/utils/login.js +99 -0
- package/dist/utils/login.js.map +1 -0
- package/oclif.manifest.json +250 -39
- package/package.json +22 -18
- package/dist/lib/publishFromFile.d.ts +0 -2
- package/dist/lib/publishFromFile.js +0 -143
- package/dist/lib/publishFromFile.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
export { run } from
|
|
2
|
+
export { run } from "@oclif/core";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;AACA,oDAA4B;AAE5B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,oCAAkC;AAAzB,2FAAA,GAAG,OAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type AssetInfo = {
|
|
2
|
+
did: string;
|
|
3
|
+
name: string;
|
|
4
|
+
owner: string;
|
|
5
|
+
created: string;
|
|
6
|
+
chainId: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function getAssetsFromDids(dids: string[]): Promise<AssetInfo[]>;
|
|
9
|
+
export declare function getAssetInfo(did: string, metadataCacheUri?: string): Promise<AssetInfo>;
|
|
10
|
+
interface SearchAssetsParams {
|
|
11
|
+
chainIds?: number[];
|
|
12
|
+
assetTypes?: string[];
|
|
13
|
+
accessTypes?: string[];
|
|
14
|
+
tagSets?: string[][];
|
|
15
|
+
metadataCacheUri?: string;
|
|
16
|
+
owners?: string[];
|
|
17
|
+
searchText?: string;
|
|
18
|
+
signal?: AbortSignal;
|
|
19
|
+
}
|
|
20
|
+
export declare function searchAssets({ chainIds, tagSets, assetTypes, accessTypes, metadataCacheUri, owners, searchText, signal, }: SearchAssetsParams): Promise<AssetInfo[]>;
|
|
21
|
+
export declare function getKnownAddresses(): Promise<Record<string, any>>;
|
|
22
|
+
export interface Publisher {
|
|
23
|
+
name: string;
|
|
24
|
+
address: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function getAddressesNames(addresses: string[]): Promise<Publisher[]>;
|
|
27
|
+
export declare function getOwnerName(address: string): Promise<string>;
|
|
28
|
+
export declare function getAssetName(did: string, chainIds: number[], metadataCacheUri: string): Promise<null | string>;
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getAssetsFromDids = getAssetsFromDids;
|
|
7
|
+
exports.getAssetInfo = getAssetInfo;
|
|
8
|
+
exports.searchAssets = searchAssets;
|
|
9
|
+
exports.getKnownAddresses = getKnownAddresses;
|
|
10
|
+
exports.getAddressesNames = getAddressesNames;
|
|
11
|
+
exports.getOwnerName = getOwnerName;
|
|
12
|
+
exports.getAssetName = getAssetName;
|
|
13
|
+
const axios_1 = __importDefault(require("axios"));
|
|
14
|
+
async function getAssetsFromDids(dids) {
|
|
15
|
+
const assets = await Promise.all(dids.map(async (did) => {
|
|
16
|
+
const asset = await getAssetInfo(did);
|
|
17
|
+
if (!asset) {
|
|
18
|
+
console.error(`Asset with DID ${did} not found.`);
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return asset;
|
|
22
|
+
}));
|
|
23
|
+
const validAssets = assets.filter((asset) => asset !== null);
|
|
24
|
+
return validAssets;
|
|
25
|
+
}
|
|
26
|
+
async function getAssetInfo(did, metadataCacheUri = "https://aquarius.pontus-x.eu") {
|
|
27
|
+
var _a, _b, _c, _d, _e, _f;
|
|
28
|
+
const didWithoutPrefix = did.startsWith("did:op:") ? did.slice(7) : did;
|
|
29
|
+
const didWithPrefix = did.startsWith("did:op:") ? did : `did:op:${did}`;
|
|
30
|
+
const query = {
|
|
31
|
+
from: 0,
|
|
32
|
+
size: 1,
|
|
33
|
+
query: {
|
|
34
|
+
bool: {
|
|
35
|
+
should: [
|
|
36
|
+
{ term: { id: didWithoutPrefix } },
|
|
37
|
+
{ term: { id: didWithPrefix } },
|
|
38
|
+
],
|
|
39
|
+
minimum_should_match: 1,
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
try {
|
|
44
|
+
const response = await axios_1.default.post(`${metadataCacheUri}/api/aquarius/assets/query`, query);
|
|
45
|
+
const hits = (_c = (_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.hits) === null || _b === void 0 ? void 0 : _b.hits) !== null && _c !== void 0 ? _c : [];
|
|
46
|
+
if (hits.length === 0) {
|
|
47
|
+
throw new Error(`Asset with DID ${did} not found.`);
|
|
48
|
+
}
|
|
49
|
+
const hit = hits[0];
|
|
50
|
+
return {
|
|
51
|
+
did: hit._source.id,
|
|
52
|
+
name: (_d = hit._source.metadata) === null || _d === void 0 ? void 0 : _d.name,
|
|
53
|
+
owner: (_e = hit._source.event) === null || _e === void 0 ? void 0 : _e.from,
|
|
54
|
+
created: (_f = hit._source.metadata) === null || _f === void 0 ? void 0 : _f.created,
|
|
55
|
+
chainId: hit._source.chainId,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
throw new Error(`Error fetching asset info for DID ${did}: ${error.message}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async function searchAssets({ chainIds = [32456, 32457], tagSets = [], assetTypes = ["algorithm", "dataset"], accessTypes = ["compute", "access"], metadataCacheUri = "https://aquarius.pontus-x.eu", owners = [], searchText = "", signal = new AbortController().signal, }) {
|
|
63
|
+
var _a, _b, _c;
|
|
64
|
+
const query = {
|
|
65
|
+
from: 0,
|
|
66
|
+
size: 100,
|
|
67
|
+
query: {
|
|
68
|
+
bool: {
|
|
69
|
+
must: [],
|
|
70
|
+
filter: [],
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
if (chainIds === null || chainIds === void 0 ? void 0 : chainIds.length) {
|
|
75
|
+
query.query.bool.filter.push({
|
|
76
|
+
terms: {
|
|
77
|
+
chainId: chainIds,
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
if (assetTypes === null || assetTypes === void 0 ? void 0 : assetTypes.length) {
|
|
82
|
+
query.query.bool.filter.push({
|
|
83
|
+
terms: {
|
|
84
|
+
"metadata.type": assetTypes, // OR between types
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
if (accessTypes === null || accessTypes === void 0 ? void 0 : accessTypes.length) {
|
|
89
|
+
query.query.bool.filter.push({
|
|
90
|
+
terms: {
|
|
91
|
+
"services.type": accessTypes, // OR between types
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
if (tagSets === null || tagSets === void 0 ? void 0 : tagSets.length) {
|
|
96
|
+
query.query.bool.filter.push({
|
|
97
|
+
bool: {
|
|
98
|
+
should: tagSets.map((tagSet) => ({
|
|
99
|
+
bool: {
|
|
100
|
+
must: tagSet.map((tag) => ({
|
|
101
|
+
term: {
|
|
102
|
+
"metadata.tags": tag,
|
|
103
|
+
},
|
|
104
|
+
})),
|
|
105
|
+
},
|
|
106
|
+
})),
|
|
107
|
+
minimum_should_match: 1, // OR between tagSets
|
|
108
|
+
},
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
if (owners === null || owners === void 0 ? void 0 : owners.length) {
|
|
112
|
+
query.query.bool.filter.push({
|
|
113
|
+
terms: {
|
|
114
|
+
"event.from": owners, // OR between owners
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
if (searchText) {
|
|
119
|
+
query.query.bool.must.push({
|
|
120
|
+
match: {
|
|
121
|
+
"metadata.name": {
|
|
122
|
+
query: searchText,
|
|
123
|
+
fuzziness: "AUTO",
|
|
124
|
+
operator: "and",
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
try {
|
|
130
|
+
const response = await axios_1.default.post(`${metadataCacheUri}/api/aquarius/assets/query`, query, {
|
|
131
|
+
signal,
|
|
132
|
+
});
|
|
133
|
+
const hits = (_c = (_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.hits) === null || _b === void 0 ? void 0 : _b.hits) !== null && _c !== void 0 ? _c : [];
|
|
134
|
+
const assets = hits.map((hit) => {
|
|
135
|
+
var _a, _b, _c;
|
|
136
|
+
return ({
|
|
137
|
+
did: hit._source.id,
|
|
138
|
+
name: (_a = hit._source.metadata) === null || _a === void 0 ? void 0 : _a.name,
|
|
139
|
+
owner: (_b = hit._source.event) === null || _b === void 0 ? void 0 : _b.from,
|
|
140
|
+
created: (_c = hit._source.metadata) === null || _c === void 0 ? void 0 : _c.created,
|
|
141
|
+
chainId: hit._source.chainId,
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
return assets;
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
if (!axios_1.default.isCancel(error)) {
|
|
148
|
+
console.error("Error fetching assets:", error.message);
|
|
149
|
+
}
|
|
150
|
+
return [];
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
const knownAddresses = {};
|
|
154
|
+
async function initKnownAddresses() {
|
|
155
|
+
if (Object.keys(knownAddresses).length > 0) {
|
|
156
|
+
return; // Already initialized
|
|
157
|
+
}
|
|
158
|
+
try {
|
|
159
|
+
const response = await fetch("https://raw.githubusercontent.com/AgrospAI/mvg-portal/refs/heads/main/pontusxAddresses.json");
|
|
160
|
+
if (!response.ok) {
|
|
161
|
+
console.error("Failed to fetch known addresses:", response.statusText);
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const result = await response.json();
|
|
165
|
+
for (const [key, value] of Object.entries(result)) {
|
|
166
|
+
knownAddresses[key.toLowerCase()] = value;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
console.error("Error fetching known addresses:", error);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
async function getKnownAddresses() {
|
|
174
|
+
await initKnownAddresses();
|
|
175
|
+
return knownAddresses;
|
|
176
|
+
}
|
|
177
|
+
async function getAddressesNames(addresses) {
|
|
178
|
+
const knownAddresses = await getKnownAddresses();
|
|
179
|
+
return addresses.map((address) => ({
|
|
180
|
+
address,
|
|
181
|
+
name: knownAddresses[address.toLowerCase()] || "-",
|
|
182
|
+
}));
|
|
183
|
+
}
|
|
184
|
+
async function getOwnerName(address) {
|
|
185
|
+
const knownAddresses = await getKnownAddresses();
|
|
186
|
+
return knownAddresses[address.toLowerCase()] || "-";
|
|
187
|
+
}
|
|
188
|
+
async function getAssetName(did, chainIds, metadataCacheUri) {
|
|
189
|
+
var _a, _b, _c, _d;
|
|
190
|
+
const didWithoutPrefix = did.startsWith("did:op:") ? did.slice(7) : did;
|
|
191
|
+
const query = {
|
|
192
|
+
from: 0,
|
|
193
|
+
query: {
|
|
194
|
+
bool: {
|
|
195
|
+
filter: [{ terms: { chainId: chainIds } }],
|
|
196
|
+
minimum_should_match: 1,
|
|
197
|
+
should: [{ term: { id: did } }, { term: { id: didWithoutPrefix } }],
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
size: 1,
|
|
201
|
+
};
|
|
202
|
+
try {
|
|
203
|
+
const response = await axios_1.default.post(`${metadataCacheUri}/api/aquarius/assets/query`, query);
|
|
204
|
+
const hits = (_c = (_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.hits) === null || _b === void 0 ? void 0 : _b.hits) !== null && _c !== void 0 ? _c : [];
|
|
205
|
+
return hits.length > 0 ? ((_d = hits[0]._source.metadata) === null || _d === void 0 ? void 0 : _d.name) || null : null;
|
|
206
|
+
}
|
|
207
|
+
catch (error) {
|
|
208
|
+
console.error(`Error fetching asset name for DID ${did}:`, error.message);
|
|
209
|
+
return null;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=aquarius.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aquarius.js","sourceRoot":"","sources":["../../src/lib/aquarius.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,33 +37,33 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.generateCredentials = generateCredentials;
|
|
40
|
-
const json_web_signature_2020_1 = require("@gaia-x/json-web-signature-2020");
|
|
41
|
-
const axios_1 = __importDefault(require("axios"));
|
|
42
|
-
const Handlebars = __importStar(require("handlebars"));
|
|
43
40
|
const node_crypto_1 = require("node:crypto");
|
|
44
41
|
const node_fs_1 = require("node:fs");
|
|
45
42
|
const node_path_1 = require("node:path");
|
|
43
|
+
const json_web_signature_2020_1 = require("@gaia-x/json-web-signature-2020");
|
|
44
|
+
const axios_1 = __importDefault(require("axios"));
|
|
45
|
+
const Handlebars = __importStar(require("handlebars"));
|
|
46
46
|
function generateSignedDocument(data, templateFile, signer) {
|
|
47
|
-
const fileContent = (0, node_fs_1.readFileSync)((0, node_path_1.resolve)(__dirname,
|
|
47
|
+
const fileContent = (0, node_fs_1.readFileSync)((0, node_path_1.resolve)(__dirname, "templates", templateFile), "utf8");
|
|
48
48
|
const template = Handlebars.compile(fileContent, { noEscape: true });
|
|
49
49
|
const document = JSON.parse(template(data));
|
|
50
50
|
return signer.sign(document);
|
|
51
51
|
}
|
|
52
52
|
async function generateParticipantVC(data, signer) {
|
|
53
53
|
console.log(__dirname);
|
|
54
|
-
const participantVCSigned = await generateSignedDocument(data,
|
|
54
|
+
const participantVCSigned = await generateSignedDocument(data, "participant.hbs", signer);
|
|
55
55
|
console.log(`Verifiable Credential for participant ${data.participant_legal_name} successfully generated`);
|
|
56
56
|
return participantVCSigned;
|
|
57
57
|
}
|
|
58
58
|
async function generateParticipantTandCVC(data, signer) {
|
|
59
|
-
const tandcVCSigned = await generateSignedDocument(data,
|
|
59
|
+
const tandcVCSigned = await generateSignedDocument(data, "tandc.hbs", signer);
|
|
60
60
|
console.log(`Signed Terms and Conditions for ${data.participant_legal_name} successfully generated`);
|
|
61
61
|
return tandcVCSigned;
|
|
62
62
|
}
|
|
63
63
|
async function generateParticipantLNRVC(data) {
|
|
64
64
|
var _a;
|
|
65
|
-
const notaryService =
|
|
66
|
-
const fileContent = (0, node_fs_1.readFileSync)((0, node_path_1.resolve)(__dirname,
|
|
65
|
+
const notaryService = "https://www.delta-dao.com/notary/v1/registrationNumberVC";
|
|
66
|
+
const fileContent = (0, node_fs_1.readFileSync)((0, node_path_1.resolve)(__dirname, "templates", "lrn-request.hbs"), "utf8");
|
|
67
67
|
const lnrRequestTemplate = Handlebars.compile(fileContent);
|
|
68
68
|
const lnrRequest = lnrRequestTemplate(data);
|
|
69
69
|
try {
|
|
@@ -84,26 +84,26 @@ async function generateParticipantLNRVC(data) {
|
|
|
84
84
|
}
|
|
85
85
|
function generateParticipantVP(participantVC, tandcVC, lrnVC, folder, data) {
|
|
86
86
|
const vp = {
|
|
87
|
-
|
|
88
|
-
type:
|
|
87
|
+
"@context": "https://www.w3.org/2018/credentials/v1",
|
|
88
|
+
type: "VerifiablePresentation",
|
|
89
89
|
verifiableCredential: [participantVC, lrnVC, tandcVC],
|
|
90
90
|
};
|
|
91
|
-
(0, node_fs_1.writeFileSync)((0, node_path_1.resolve)(folder, data.participant_name
|
|
91
|
+
(0, node_fs_1.writeFileSync)((0, node_path_1.resolve)(folder, `${data.participant_name}.vp.json`), JSON.stringify(vp, null, 2), "utf8");
|
|
92
92
|
console.log(`Verifiable Presentation of the credentials for ${data.participant_legal_name} ` +
|
|
93
93
|
`generated and stored in ${data.participant_name}.vp.json`);
|
|
94
94
|
}
|
|
95
95
|
function generateAssetVP(participantVC, tandcVC, lrnVC, assetVC, folder, data, ddo) {
|
|
96
96
|
const assetData = extractAssetFromDDO(ddo);
|
|
97
97
|
const vp = {
|
|
98
|
-
|
|
99
|
-
type:
|
|
98
|
+
"@context": "https://www.w3.org/2018/credentials/v1",
|
|
99
|
+
type: "VerifiablePresentation",
|
|
100
100
|
verifiableCredential: [participantVC, lrnVC, tandcVC, assetVC],
|
|
101
101
|
};
|
|
102
|
-
const dirPath = folder
|
|
102
|
+
const dirPath = `${folder}/${data.participant_name}`;
|
|
103
103
|
if (!(0, node_fs_1.existsSync)(dirPath)) {
|
|
104
104
|
(0, node_fs_1.mkdirSync)(dirPath, { recursive: true });
|
|
105
105
|
}
|
|
106
|
-
(0, node_fs_1.writeFileSync)((0, node_path_1.resolve)(dirPath, `${ddo.datatokens[0].symbol}_${assetData.network}.vp.json`), JSON.stringify(vp, null, 2),
|
|
106
|
+
(0, node_fs_1.writeFileSync)((0, node_path_1.resolve)(dirPath, `${ddo.datatokens[0].symbol}_${assetData.network}.vp.json`), JSON.stringify(vp, null, 2), "utf8");
|
|
107
107
|
console.log(`Verifiable Presentation of the credentials for ${ddo.metadata.name} ` +
|
|
108
108
|
`generated and stored in ${data.participant_name}/${ddo.datatokens[0].symbol}_${assetData.network}.vp.json`);
|
|
109
109
|
}
|
|
@@ -114,14 +114,14 @@ function extractAssetFromDDO(ddo) {
|
|
|
114
114
|
containsPII: ((_a = ddo.metadata.additionalInformation) === null || _a === void 0 ? void 0 : _a.containsPII) || false,
|
|
115
115
|
did: ddo.id,
|
|
116
116
|
license: ddo.metadata.license,
|
|
117
|
-
network: ddo.chainId === 32456 ?
|
|
117
|
+
network: ddo.chainId === 32456 ? "devnet" : "testnet",
|
|
118
118
|
nftAddress: ddo.nftAddress,
|
|
119
119
|
ownerAccount: ddo.nft.owner,
|
|
120
120
|
serviceDescription: JSON.stringify(ddo.metadata.description).slice(1, -1),
|
|
121
121
|
serviceEndpoint: ddo.services[0].serviceEndpoint,
|
|
122
122
|
serviceName: ddo.metadata.name,
|
|
123
123
|
servicePrice: ddo.stats.price.value,
|
|
124
|
-
serviceTimeout: ddo.services[0].timeout === 0 ?
|
|
124
|
+
serviceTimeout: ddo.services[0].timeout === 0 ? "unlimited" : ddo.services[0].timeout,
|
|
125
125
|
serviceType: ddo.services[0].type,
|
|
126
126
|
tokenAddress: ddo.datatokens[0].address,
|
|
127
127
|
tokenName: ddo.datatokens[0].name,
|
|
@@ -133,7 +133,7 @@ async function generateAssetVC(ddo, participantData, signer) {
|
|
|
133
133
|
if (!ddo)
|
|
134
134
|
return null;
|
|
135
135
|
const assetData = extractAssetFromDDO(ddo);
|
|
136
|
-
const templateFile = assetData.type ===
|
|
136
|
+
const templateFile = assetData.type === "dataset" ? "dataset.hbs" : "service.hbs";
|
|
137
137
|
const assetVCSigned = await generateSignedDocument(Object.assign(Object.assign({}, assetData), participantData), templateFile, signer);
|
|
138
138
|
console.log(`Verifiable Credential for asset ${assetData.serviceName} successfully generated`);
|
|
139
139
|
return assetVCSigned;
|
|
@@ -141,14 +141,15 @@ async function generateAssetVC(ddo, participantData, signer) {
|
|
|
141
141
|
async function generateCredentials(participantDataFile, didjsonFile, certificateKeyFile, password, ddo) {
|
|
142
142
|
var _a;
|
|
143
143
|
const folder = (0, node_path_1.dirname)(participantDataFile);
|
|
144
|
-
const participantData = JSON.parse((0, node_fs_1.readFileSync)(participantDataFile,
|
|
144
|
+
const participantData = JSON.parse((0, node_fs_1.readFileSync)(participantDataFile, "utf8"));
|
|
145
145
|
participantData.issuance_date = new Date().toISOString();
|
|
146
|
-
const didJson = JSON.parse((0, node_fs_1.readFileSync)(didjsonFile,
|
|
147
|
-
participantData.issuer_domain = didJson.id.slice(Math.max(0, didJson.id.lastIndexOf(
|
|
146
|
+
const didJson = JSON.parse((0, node_fs_1.readFileSync)(didjsonFile, "utf8"));
|
|
147
|
+
participantData.issuer_domain = didJson.id.slice(Math.max(0, didJson.id.lastIndexOf(":") + 1));
|
|
148
148
|
console.log(`Generating Gaia-X credentials for ` +
|
|
149
|
-
(ddo
|
|
150
|
-
`
|
|
151
|
-
|
|
149
|
+
(ddo
|
|
150
|
+
? `asset ${(_a = ddo === null || ddo === void 0 ? void 0 : ddo.metadata) === null || _a === void 0 ? void 0 : _a.name}`
|
|
151
|
+
: `participant ${participantData.participant_legal_name} with issuer ${participantData.issuer_domain}...`));
|
|
152
|
+
const pkcs1 = (0, node_fs_1.readFileSync)(certificateKeyFile, "utf8");
|
|
152
153
|
const key = (0, node_crypto_1.createPrivateKey)({ key: pkcs1, passphrase: password });
|
|
153
154
|
const signer = new json_web_signature_2020_1.GaiaXSignatureSigner({
|
|
154
155
|
privateKey: key,
|
|
@@ -168,7 +169,7 @@ async function generateCredentials(participantDataFile, didjsonFile, certificate
|
|
|
168
169
|
generateParticipantVP(participantVC, tandcVC, lrnVC, folder, participantData);
|
|
169
170
|
}
|
|
170
171
|
else {
|
|
171
|
-
console.error(
|
|
172
|
+
console.error("Error with one of the credentials, therefore the Verifiable Presentation was not generated");
|
|
172
173
|
}
|
|
173
174
|
});
|
|
174
175
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/gaia-x_compliance/generate-credentials/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/gaia-x_compliance/generate-credentials/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type Account, type Manifest } from "../types/manifest";
|
|
2
|
+
export declare function manifestExists(path: string): boolean;
|
|
3
|
+
export declare function readManifest(path: string): Manifest;
|
|
4
|
+
export declare function normalizeAddress(addr: string): string;
|
|
5
|
+
export declare function getAccountByAddress(manifest: Manifest, address: string): Account | null;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.manifestExists = manifestExists;
|
|
4
|
+
exports.readManifest = readManifest;
|
|
5
|
+
exports.normalizeAddress = normalizeAddress;
|
|
6
|
+
exports.getAccountByAddress = getAccountByAddress;
|
|
7
|
+
const node_fs_1 = require("node:fs");
|
|
8
|
+
const yaml_1 = require("yaml");
|
|
9
|
+
const manifest_1 = require("../types/manifest");
|
|
10
|
+
function manifestExists(path) {
|
|
11
|
+
return (0, node_fs_1.existsSync)(path);
|
|
12
|
+
}
|
|
13
|
+
function readManifest(path) {
|
|
14
|
+
const raw = (0, node_fs_1.readFileSync)(path, "utf8");
|
|
15
|
+
const manifest = (0, yaml_1.parse)(raw);
|
|
16
|
+
const parseResult = manifest_1.manifestSchema.safeParse(manifest);
|
|
17
|
+
if (!parseResult.success) {
|
|
18
|
+
throw new Error(`Invalid manifest file: ${JSON.stringify(parseResult.error.issues, null, 2)}`);
|
|
19
|
+
}
|
|
20
|
+
return parseResult.data;
|
|
21
|
+
}
|
|
22
|
+
function normalizeAddress(addr) {
|
|
23
|
+
const lower = addr.toLowerCase();
|
|
24
|
+
return lower.startsWith("0x") ? lower : `0x${lower}`;
|
|
25
|
+
}
|
|
26
|
+
function getAccountByAddress(manifest, address) {
|
|
27
|
+
const account = manifest.accounts.find((acc) => normalizeAddress(acc.address) === normalizeAddress(address));
|
|
28
|
+
if (!account) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return account;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/lib/manifest.ts"],"names":[],"mappings":";;AAKA,wCAEC;AAED,oCAcC;AAED,4CAGC;AAED,kDAYC;AA1CD,qCAAmD;AACnD,+BAA6B;AAE7B,gDAAgF;AAEhF,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAgB,YAAY,CAAC,IAAY;IACvC,MAAM,GAAG,GAAG,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAG,IAAA,YAAK,EAAC,GAAG,CAAa,CAAC;IAExC,MAAM,WAAW,GAAG,yBAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEvD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAC9E,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC,IAAI,CAAC;AAC1B,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;AACvD,CAAC;AAED,SAAgB,mBAAmB,CACjC,QAAkB,EAClB,OAAe;IAEf,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CACpC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,gBAAgB,CAAC,OAAO,CAAC,CACrE,CAAC;IACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Manifest } from "../types/manifest";
|
|
2
|
+
import type PublishConfig from "@/types/publish";
|
|
3
|
+
import type { Connection } from "../utils/connection";
|
|
4
|
+
export declare function getFilesFromPaths(paths: string[], preference?: string[]): string[];
|
|
5
|
+
export declare function getEnvironmentConfig(file: string, config: PublishConfig, manifest: Manifest): Promise<{
|
|
6
|
+
network: string;
|
|
7
|
+
owner: string | undefined;
|
|
8
|
+
privateKey: string;
|
|
9
|
+
} | null>;
|
|
10
|
+
export declare function parseConfig(filePath: string): PublishConfig;
|
|
11
|
+
export declare function writeConfig(config: PublishConfig, filePath: string): void;
|
|
12
|
+
export declare function publishFromFile(filePath: string, providerUrl: string, connection: Connection, dryRun: boolean): Promise<string | undefined>;
|