pontus-x_cli 0.0.5 → 0.0.7
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 +22 -14
- package/dist/gaia-x_compliance/{generate-participant-credentials → generate-credentials}/index.js +76 -11
- package/dist/gaia-x_compliance/generate-credentials/index.js.map +1 -0
- package/dist/gaia-x_compliance/generate-credentials/templates/dataset.hbs +75 -0
- package/dist/gaia-x_compliance/generate-credentials/templates/service.hbs +55 -0
- package/dist/index.js +169 -70
- package/dist/index.js.map +1 -1
- package/dist/publish/samples/basic-predictor/index.js +9 -8
- package/dist/publish/samples/basic-predictor/index.js.map +1 -1
- package/package.json +12 -3
- package/dist/gaia-x_compliance/generate-participant-credentials/index.js.map +0 -1
- /package/dist/gaia-x_compliance/{generate-participant-credentials → generate-credentials}/templates/lrn-request.hbs +0 -0
- /package/dist/gaia-x_compliance/{generate-participant-credentials → generate-credentials}/templates/participant.hbs +0 -0
- /package/dist/gaia-x_compliance/{generate-participant-credentials → generate-credentials}/templates/tandc.hbs +0 -0
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Command Line Interface for the Pontus-X Data Space Ecosystem.
|
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
|
-
If you don't have npm installed, install Node.js and NPM following the instructions at https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
|
|
7
|
+
If you don't have npm installed, install Node.js and NPM following the instructions at <https://docs.npmjs.com/downloading-and-installing-node-js-and-npm>
|
|
8
8
|
|
|
9
9
|
Then, install the Pontus-X CLI globally using npm:
|
|
10
10
|
|
|
@@ -18,6 +18,14 @@ Then, create a `.env` file in your working directory with the network to be used
|
|
|
18
18
|
NETWORK=PONTUSXDEV
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
+
### Autocompletion
|
|
22
|
+
|
|
23
|
+
To enable autocompletion for the Pontus-X CLI, run the following command:
|
|
24
|
+
|
|
25
|
+
```shell
|
|
26
|
+
pontus-x_cli install-completion
|
|
27
|
+
```
|
|
28
|
+
|
|
21
29
|
## Currently available commands
|
|
22
30
|
|
|
23
31
|
The following subsections detail the available command to interact with the Pontus-X Data Space Ecosystem. Additionally, there is a final section [Prepare yourself for Gaia-X compliance](#prepare-yourself-for-gaia-x-compliance) that will guide you through the process of setting up a DID-Web server and generating the necessary participant credentials following the Gaia-X Trust Framework using two additional `pontus-x_cli` commands.
|
|
@@ -29,7 +37,7 @@ Export your private key as a JSON file, to use later with the login command or f
|
|
|
29
37
|
### login \<keyFile.json>
|
|
30
38
|
|
|
31
39
|
Login to retrieve your private key from a JSON key store and store it in .env:
|
|
32
|
-
|
|
40
|
+
|
|
33
41
|
```shell
|
|
34
42
|
pontus-x_cli login 62078f05eb4450272d7e492f3660835826906822.json
|
|
35
43
|
```
|
|
@@ -58,19 +66,19 @@ Access a downloadable asset (either a dataset or algorithm) given its DID:
|
|
|
58
66
|
pontus-x_cli access did:op:34d5f73d77550843201ee1a43ad9d404d3e557ed6a70772e9afde7a27d863b8f
|
|
59
67
|
```
|
|
60
68
|
|
|
61
|
-
### revoke \<
|
|
69
|
+
### revoke \<dids...>
|
|
62
70
|
|
|
63
|
-
Publisher revocation of
|
|
71
|
+
Publisher revocation of one or more owned DIDs
|
|
64
72
|
|
|
65
73
|
```shell
|
|
66
|
-
pontus-x_cli revoke did:op:052eb04066d696a27430116676c859c6303d82257c7a0ebda51f4e80363f6bca
|
|
74
|
+
pontus-x_cli revoke did:op:052eb04066d696a27430116676c859c6303d82257c7a0ebda51f4e80363f6bca did:op:052eb04066d696a27430116676c859c6303d82257c7a0ebda51f4e80363f6bca
|
|
67
75
|
```
|
|
68
76
|
|
|
69
77
|
### self-description \<did> \<sdurl>
|
|
70
78
|
|
|
71
79
|
Associate Gaia-X Self-Description to the asset with the given DID
|
|
72
80
|
|
|
73
|
-
Edit a DID metadata to link it to a Gaia-X Self Description available from the provided URL (it should be compliant with the configured Gaia-X Digital Clearing House, for instance https://compliance.lab.gaia-x.eu/v1-staging/docs):
|
|
81
|
+
Edit a DID metadata to link it to a Gaia-X Self Description available from the provided URL (it should be compliant with the configured Gaia-X Digital Clearing House, for instance <https://compliance.lab.gaia-x.eu/v1-staging/docs>):
|
|
74
82
|
|
|
75
83
|
```shell
|
|
76
84
|
pontus-x_cli self-description did:op:34d5f73d77550843201ee1a43ad9d404d3e557ed6a70772e9afde7a27d863b8f https://compliance.agrospai.udl.cat/.well-known/service_EDA_UdL_devnet.vp.json
|
|
@@ -140,13 +148,13 @@ This section will help you to prepare your institution for Gaia-X compliance. It
|
|
|
140
148
|
|
|
141
149
|
Get a root domain for DID-Web and the associated SSL certificate. We will use for this Let's Encrypt certificates, the free alternative among Gaia-X's [list of defined Trust Anchors](https://gaia-x.gitlab.io/policy-rules-committee/trust-framework/trust_anchors/#list-of-defined-trust-anchors).
|
|
142
150
|
|
|
143
|
-
There are different ways of getting a Let's Encrypt certificate: https://letsencrypt.org/getting-started
|
|
151
|
+
There are different ways of getting a Let's Encrypt certificate: <https://letsencrypt.org/getting-started/>
|
|
144
152
|
|
|
145
153
|
For this example, and as later we will need to publish online some of the generated documents, we will use a Kubernetes cluster with Cert Manager to automate the certificate issuance, plus NGINX to serve the generated documents.
|
|
146
154
|
|
|
147
155
|
First of all, you will need a Kubernetes cluster that is publicly accessible. You can use a cloud provider like Google Cloud Platform (GCP) or Amazon Web Services (AWS), or a local Kubernetes cluster like [Minikube](https://minikube.sigs.k8s.io/docs/start/).
|
|
148
156
|
|
|
149
|
-
Once Minikube is running, don't forget to enable the ingress addon using the command: `minikube addons enable ingress`. Then, install Cert Manager following the instructions at https://cert-manager.io/docs/installation
|
|
157
|
+
Once Minikube is running, don't forget to enable the ingress addon using the command: `minikube addons enable ingress`. Then, install Cert Manager following the instructions at <https://cert-manager.io/docs/installation/>
|
|
150
158
|
|
|
151
159
|
After Cert Manager is installed, you can create a ClusterIssuer resource to issue Let's Encrypt certificates. The file [letsencrypt-production.yaml](src/gaia-x_compliance/letsencrypt-production.yaml) provides an example of a ClusterIssuer resource, which can be applied to your cluster using the command:
|
|
152
160
|
|
|
@@ -180,7 +188,7 @@ NAME READY SECRET AGE
|
|
|
180
188
|
your.domain.org-cert True your.domain.org-cert 2m
|
|
181
189
|
```
|
|
182
190
|
|
|
183
|
-
Now, you can retrieve the certificate chain including the root certificate as required by Gaia-X. We can use an online service like https://whatsmychaincert.com
|
|
191
|
+
Now, you can retrieve the certificate chain including the root certificate as required by Gaia-X. We can use an online service like <https://whatsmychaincert.com>. Use the following command configuring you domain name, e.g. `your.domain.org`, to retrieve the whole chain and store it in `certificate-chain.crt`:
|
|
184
192
|
|
|
185
193
|
```shell
|
|
186
194
|
curl -o certificate-chain.crt "https://whatsmychaincert.com/generate?include_leaf=1&include_root=1&host=your.domain.org"
|
|
@@ -196,7 +204,7 @@ kubectl get secret your.domain.org-cert -n test -o jsonpath='{.data.tls\.key}' |
|
|
|
196
204
|
|
|
197
205
|
Once we have set a public domain and its associated SSL certificate, we can set up a DID-Web source where we can publish Gaia-X complaint credentials for participants and assets.
|
|
198
206
|
|
|
199
|
-
To generate the did.json file required for DID-Web, we will use the Gaia-X [did-web-generator](https://gitlab.com/gaia-x/lab/did-web-generator) and provide as input the base URL for DID-Web, e.g. https://your.domain.org
|
|
207
|
+
To generate the did.json file required for DID-Web, we will use the Gaia-X [did-web-generator](https://gitlab.com/gaia-x/lab/did-web-generator) and provide as input the base URL for DID-Web, e.g. <https://your.domain.org>, and the name of the file with the SSL certificate, e.g. `certificate-chain.crt`.
|
|
200
208
|
|
|
201
209
|
The did.json file is generated using the `generate-did-web` command provided by `pontus-x_cli`:
|
|
202
210
|
|
|
@@ -220,9 +228,9 @@ Then, we update the NGINX deployment to mount the config map in the `/usr/share/
|
|
|
220
228
|
kubectl apply -f test-nginx-did-web.yaml
|
|
221
229
|
```
|
|
222
230
|
|
|
223
|
-
Now, the `did.json` should be available at https://your.domain.org/.well-known/did.json and the certificate chain at https://your.domain.org/.well-known/certificate-chain.crt
|
|
231
|
+
Now, the `did.json` should be available at <https://your.domain.org/.well-known/did.json> and the certificate chain at <https://your.domain.org/.well-known/certificate-chain.crt>.
|
|
224
232
|
|
|
225
|
-
The chain can be checked to see if it constitutes a valid trust anchor chain using the Gaia-X [Trust Anchor Registry](https://registry.lab.gaia-x.eu/v1-staging/docs#/TrustAnchor/TrustAnchorController_verifyTrustAnchorChain) API. The `v1-staging` version accepts Extended Validation (EV) Secure Sockets Layer (SSL) certificate issuers like Let's Encrypt, while the `v1` version only accepts the official [Gaia-X Trust Anchors]((https://gaia-x.gitlab.io/policy-rules-committee/trust-framework/trust_anchors/#list-of-defined-trust-anchors). EV SSL certificates are just recommended for testing.
|
|
233
|
+
The chain can be checked to see if it constitutes a valid trust anchor chain using the Gaia-X [Trust Anchor Registry](https://registry.lab.gaia-x.eu/v1-staging/docs#/TrustAnchor/TrustAnchorController_verifyTrustAnchorChain) API. The `v1-staging` version accepts Extended Validation (EV) Secure Sockets Layer (SSL) certificate issuers like Let's Encrypt, while the `v1` version only accepts the official [Gaia-X Trust Anchors]((<https://gaia-x.gitlab.io/policy-rules-committee/trust-framework/trust_anchors/#list-of-defined-trust-anchors>). EV SSL certificates are just recommended for testing.
|
|
226
234
|
|
|
227
235
|
### Generating Gaia-X Compliant Participant Credentials
|
|
228
236
|
|
|
@@ -286,6 +294,6 @@ kubectl --namespace test create configmap did-web-config --from-file=did.json --
|
|
|
286
294
|
### Additional References
|
|
287
295
|
|
|
288
296
|
Gaia-X: onboarding, first credentials' issuance.
|
|
289
|
-
* Video tutorial: https://www.youtube.com/watch?v=xHaBM-T2--k
|
|
290
|
-
* Jupyter notebook: https://gitlab.com/gaia-x/lab/workshops/gaia-x-101
|
|
291
297
|
|
|
298
|
+
* Video tutorial: <https://www.youtube.com/watch?v=xHaBM-T2--k>
|
|
299
|
+
* Jupyter notebook: <https://gitlab.com/gaia-x/lab/workshops/gaia-x-101>
|
package/dist/gaia-x_compliance/{generate-participant-credentials → generate-credentials}/index.js
RENAMED
|
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.
|
|
39
|
+
exports.generateCredentials = generateCredentials;
|
|
40
40
|
exports.checkCompliance = checkCompliance;
|
|
41
41
|
const path_1 = require("path");
|
|
42
42
|
const fs_1 = require("fs");
|
|
@@ -68,7 +68,7 @@ async function generateParticipantTandCVC(data, signer) {
|
|
|
68
68
|
async function generateParticipantLNRVC(data) {
|
|
69
69
|
var _a;
|
|
70
70
|
const templateFile = require.resolve('./templates/lrn-request.hbs');
|
|
71
|
-
const notaryService = "https://
|
|
71
|
+
const notaryService = "https://gx-notary.arsys.es/v1/registrationNumberVC";
|
|
72
72
|
const fileContent = (0, fs_1.readFileSync)((0, path_1.resolve)(templateFile), 'utf-8');
|
|
73
73
|
const lnrRequestTemplate = Handlebars.compile(fileContent);
|
|
74
74
|
const lnrRequest = lnrRequestTemplate(data);
|
|
@@ -104,16 +104,77 @@ function generateParticipantVP(participantVC, tandcVC, lrnVC, folder, data) {
|
|
|
104
104
|
console.log(`Verifiable Presentation of the credentials for ${data.participant_legal_name} ` +
|
|
105
105
|
`generated and stored in ${data.participant_name}.vp.json`);
|
|
106
106
|
}
|
|
107
|
-
|
|
107
|
+
function generateAssetVP(participantVC, tandcVC, lrnVC, assetVC, folder, data, ddo) {
|
|
108
|
+
const assetData = extractAssetFromDDO(ddo);
|
|
109
|
+
const vp = {
|
|
110
|
+
"@context": "https://www.w3.org/2018/credentials/v1",
|
|
111
|
+
"type": "VerifiablePresentation",
|
|
112
|
+
"verifiableCredential": [
|
|
113
|
+
participantVC,
|
|
114
|
+
lrnVC,
|
|
115
|
+
tandcVC,
|
|
116
|
+
assetVC
|
|
117
|
+
]
|
|
118
|
+
};
|
|
119
|
+
const dirPath = folder + '/' + data.participant_name;
|
|
120
|
+
if (!(0, fs_1.existsSync)(dirPath)) {
|
|
121
|
+
(0, fs_1.mkdirSync)(dirPath, { recursive: true });
|
|
122
|
+
}
|
|
123
|
+
(0, fs_1.writeFileSync)((0, path_1.resolve)(dirPath, `${ddo.datatokens[0].symbol}_${assetData.network}.vp.json`), JSON.stringify(vp, null, 2), 'utf-8');
|
|
124
|
+
console.log(`Verifiable Presentation of the credentials for ${ddo.metadata.name} ` +
|
|
125
|
+
`generated and stored in ${data.participant_name}/${ddo.datatokens[0].symbol}.${assetData.network}.vp.json`);
|
|
126
|
+
}
|
|
127
|
+
function extractAssetFromDDO(ddo) {
|
|
128
|
+
var _a;
|
|
129
|
+
return {
|
|
130
|
+
chain_id: ddo.chainId,
|
|
131
|
+
network: ddo.chainId === 32456 ? 'devnet' : 'testnet',
|
|
132
|
+
did: ddo.id,
|
|
133
|
+
service_name: ddo.metadata.name,
|
|
134
|
+
type: ddo.metadata.type,
|
|
135
|
+
license: ddo.metadata.license,
|
|
136
|
+
contains_PII: ((_a = ddo.metadata.additionalInformation) === null || _a === void 0 ? void 0 : _a.containsPII) || false,
|
|
137
|
+
service_description: JSON.stringify(ddo.metadata.description).slice(1, -1),
|
|
138
|
+
owner_account: ddo.nft.owner,
|
|
139
|
+
service_type: ddo.services[0].type,
|
|
140
|
+
service_timeout: ddo.services[0].timeout === 0 ? 'unlimited' : ddo.services[0].timeout,
|
|
141
|
+
nft_address: ddo.nftAddress,
|
|
142
|
+
token_name: ddo.datatokens[0].name,
|
|
143
|
+
token_symbol: ddo.datatokens[0].symbol,
|
|
144
|
+
token_address: ddo.datatokens[0].address,
|
|
145
|
+
service_price: ddo.stats.price.value,
|
|
146
|
+
service_endpoint: ddo.services[0].serviceEndpoint
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
async function generateAssetVC(ddo, participantData, signer) {
|
|
150
|
+
if (!ddo)
|
|
151
|
+
return null;
|
|
152
|
+
const assetData = extractAssetFromDDO(ddo);
|
|
153
|
+
let templateFile;
|
|
154
|
+
if (assetData.type === 'dataset') {
|
|
155
|
+
templateFile = require.resolve('./templates/dataset.hbs');
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
templateFile = require.resolve('./templates/service.hbs');
|
|
159
|
+
}
|
|
160
|
+
const assetVCSigned = await generateSignedDocument(Object.assign(Object.assign({}, assetData), participantData), templateFile, signer);
|
|
161
|
+
console.log(`Verifiable Credential for asset ${assetData.service_name} ` +
|
|
162
|
+
`successfully generated`);
|
|
163
|
+
return assetVCSigned;
|
|
164
|
+
}
|
|
165
|
+
async function generateCredentials(participantDataFile, didjsonFile, certificateKeyFile, password, ddo) {
|
|
166
|
+
var _a;
|
|
108
167
|
const folder = (0, path_1.dirname)(participantDataFile);
|
|
109
168
|
const participantData = JSON.parse((0, fs_1.readFileSync)(participantDataFile, 'utf-8'));
|
|
110
169
|
participantData.issuance_date = new Date().toISOString();
|
|
111
|
-
const didJson = JSON.parse((0, fs_1.readFileSync)(
|
|
170
|
+
const didJson = JSON.parse((0, fs_1.readFileSync)(didjsonFile, 'utf-8'));
|
|
112
171
|
participantData.issuer_domain = didJson.id.substring(didJson.id.lastIndexOf(':') + 1);
|
|
113
|
-
console.log(`
|
|
172
|
+
console.log(`Asset DDO: ${ddo ? JSON.stringify(ddo, null, 2) : 'N/A'}`);
|
|
173
|
+
console.log(`Generating Gaia-X credentials for ` +
|
|
174
|
+
ddo ? `asset ${(_a = ddo === null || ddo === void 0 ? void 0 : ddo.metadata) === null || _a === void 0 ? void 0 : _a.name}` : `participant ${participantData.participant_legal_name} ` +
|
|
114
175
|
`with issuer ${participantData.issuer_domain}`);
|
|
115
176
|
const pkcs1 = (0, fs_1.readFileSync)(certificateKeyFile, 'utf-8');
|
|
116
|
-
const key = (0, crypto_1.createPrivateKey)(pkcs1);
|
|
177
|
+
const key = (0, crypto_1.createPrivateKey)({ key: pkcs1, passphrase: password });
|
|
117
178
|
const signer = new json_web_signature_2020_1.GaiaXSignatureSigner({
|
|
118
179
|
privateKey: key,
|
|
119
180
|
privateKeyAlg: didJson.verificationMethod[0].publicKeyJwk.alg,
|
|
@@ -122,10 +183,14 @@ async function generateParticipantCredentials(participantDataFile, didFile, cert
|
|
|
122
183
|
await Promise.all([
|
|
123
184
|
generateParticipantVC(participantData, signer),
|
|
124
185
|
generateParticipantTandCVC(participantData, signer),
|
|
125
|
-
generateParticipantLNRVC(participantData)
|
|
186
|
+
generateParticipantLNRVC(participantData),
|
|
187
|
+
generateAssetVC(ddo, participantData, signer)
|
|
126
188
|
])
|
|
127
|
-
.then(([participantVC, tandcVC, lrnVC]) => {
|
|
128
|
-
if (participantVC && tandcVC && lrnVC) {
|
|
189
|
+
.then(([participantVC, tandcVC, lrnVC, assetVC]) => {
|
|
190
|
+
if (participantVC && tandcVC && lrnVC && assetVC) {
|
|
191
|
+
generateAssetVP(participantVC, tandcVC, lrnVC, assetVC, folder, participantData, ddo);
|
|
192
|
+
}
|
|
193
|
+
else if (participantVC && tandcVC && lrnVC) {
|
|
129
194
|
generateParticipantVP(participantVC, tandcVC, lrnVC, folder, participantData);
|
|
130
195
|
}
|
|
131
196
|
else {
|
|
@@ -134,11 +199,11 @@ async function generateParticipantCredentials(participantDataFile, didFile, cert
|
|
|
134
199
|
});
|
|
135
200
|
}
|
|
136
201
|
async function checkCompliance(participantDataFile, vpFile) {
|
|
137
|
-
const complianceService = "https://compliance.lab.gaia-x.eu/v1
|
|
202
|
+
const complianceService = "https://compliance.lab.gaia-x.eu/v1/api/credential-offers";
|
|
138
203
|
const folder = (0, path_1.dirname)(participantDataFile);
|
|
139
204
|
const participantData = JSON.parse((0, fs_1.readFileSync)(participantDataFile, 'utf-8'));
|
|
140
205
|
const vp = JSON.parse((0, fs_1.readFileSync)(vpFile, 'utf-8'));
|
|
141
|
-
axios_1.default.post(`${complianceService}?` +
|
|
206
|
+
await axios_1.default.post(`${complianceService}?` +
|
|
142
207
|
`vcid=https://${participantData.issuer_domain}/.well-known/${participantData.participant_name}.compliance.json`, vp)
|
|
143
208
|
.then(response => {
|
|
144
209
|
if (response.status === 201) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/gaia-x_compliance/generate-credentials/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@context": [
|
|
3
|
+
"https://www.w3.org/2018/credentials/v1",
|
|
4
|
+
"https://w3id.org/security/suites/jws-2020/v1",
|
|
5
|
+
"https://registry.lab.gaia-x.eu/development/api/trusted-shape-registry/v1/shapes/jsonld/trustframework#",
|
|
6
|
+
{
|
|
7
|
+
"pontus-x": "https://pontus-x.eu/vocabulary/"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"id": "https://{{ issuer_domain }}/.well-known/{{ participant_name }}/{{ token_symbol }}_{{ network }}.vp.json",
|
|
11
|
+
"type": "VerifiableCredential",
|
|
12
|
+
"issuer": "did:web:{{ issuer_domain }}",
|
|
13
|
+
"issuanceDate": "{{ issuance_date }}",
|
|
14
|
+
"credentialSubject": {
|
|
15
|
+
"id": "{{ did }}",
|
|
16
|
+
"type": "gx:ServiceOffering",
|
|
17
|
+
"gx:providedBy": {
|
|
18
|
+
"id": "{{ participant_uri }}"
|
|
19
|
+
},
|
|
20
|
+
"gx:name": "{{ service_name }}",
|
|
21
|
+
"gx:description": "{{ service_description }}",
|
|
22
|
+
"gx:dataProtectionRegime": ["GDPR2016"],
|
|
23
|
+
"gx:termsAndConditions": {
|
|
24
|
+
"gx:URL": "https://portal.agrospai.udl.cat/privacy/en",
|
|
25
|
+
"gx:hash": "2277e2ce08030a6ba9c106be999dbec8f4fe7cd8073ee0bd9811c7a7c035fe2b"
|
|
26
|
+
},
|
|
27
|
+
"gx:dataAccountExport": {
|
|
28
|
+
"gx:requestType": "email",
|
|
29
|
+
"gx:accessType": "digital",
|
|
30
|
+
"gx:formatType": "text/html"
|
|
31
|
+
},
|
|
32
|
+
"gx:policy": "{'@type':'odrl:Policy','odrl:permission':{'odrl:action':'pontus-x:{{ service_type }}','odrl:constraint':{'odrl:leftOperand':'odrl:elapsedTime','odrl:operator':'odrl:eq','odrl:rightOperand':'{{ service_timeout }}'},'odrl:duty':{'odrl:action':'odrl:compensate','odrl:constraint':{'odrl:leftOperand':'odrl:amount','odrl:operator':'odrl:eq','odrl:rightOperand':{{ service_price }},'odrl:unit':'currency:EUR'}},'odrl:target':'{{ did }}'} }",
|
|
33
|
+
{{!-- "gx:aggregationOf": [ --}}
|
|
34
|
+
{{!-- { --}}
|
|
35
|
+
{{!-- "id": "{{ did }}#dataset", --}}
|
|
36
|
+
{{!-- "type": "gx:DataResource", --}}
|
|
37
|
+
{{!-- "gx:producedBy": { --}}
|
|
38
|
+
{{!-- "id": "{{ participant_uri }}" --}}
|
|
39
|
+
{{!-- }, --}}
|
|
40
|
+
{{!-- "gx:copyrightOwnedBy": { --}}
|
|
41
|
+
{{!-- "id": "{{ participant_uri }}" --}}
|
|
42
|
+
{{!-- }, --}}
|
|
43
|
+
{{!-- "gx:name": "{{ service_name }} (Data Resource)", --}}
|
|
44
|
+
{{!-- "gx:description": "Data resource for {{ service_name }}", --}}
|
|
45
|
+
{{!-- "gx:exposedThrough": { --}}
|
|
46
|
+
{{!-- "id": "{{ did }}" --}}
|
|
47
|
+
{{!-- }, --}}
|
|
48
|
+
{{!-- "gx:policy": "{'@type':'odrl:Policy','odrl:permission':{'odrl:action':'pontus-x:{{ service_type }}','odrl:constraint':{'odrl:leftOperand':'odrl:elapsedTime','odrl:operator':'odrl:eq','odrl:rightOperand':'{{ service_timeout }}'},'odrl:duty':{'odrl:action':'odrl:compensate','odrl:constraint':{'odrl:leftOperand':'odrl:amount','odrl:operator':'odrl:eq','odrl:rightOperand':{{ service_price }},'odrl:unit':'currency:EUR'}},'odrl:target':'{{ did }}'} }", --}}
|
|
49
|
+
{{!-- "gx:license": "{{ license }}", --}}
|
|
50
|
+
{{!-- "gx:containsPII": {{ contains_PII }} --}}
|
|
51
|
+
{{!-- } --}}
|
|
52
|
+
{{!-- ], --}}
|
|
53
|
+
"pontus-x:ownerBlockchainAccountId": "{{ owner_account }}",
|
|
54
|
+
"pontus-x:type": "{{ service_type }}",
|
|
55
|
+
"pontus-x:webAddress": "https://portal.agrospai.udl.cat/asset/{{ did }}",
|
|
56
|
+
"pontus-x:blockchainNetwork": [
|
|
57
|
+
{
|
|
58
|
+
"gx:blockchainName": "{{ network }}",
|
|
59
|
+
"gx:blockchainId": "{{ chain_id }}"
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"pontus-x:serviceModel": "subscription",
|
|
63
|
+
"pontus-x:subscriptionDuration": "{{ service_timeout }}",
|
|
64
|
+
"pontus-x:settlement": [
|
|
65
|
+
{
|
|
66
|
+
"pontus-x:currencyAmount": "{{ service_price }}"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"pontus-x:nftAddress": "{{ nft_address }}",
|
|
70
|
+
"pontus-x:accessTokenName": "{{ token_name}}",
|
|
71
|
+
"pontus-x:accessTokenSymbol": "{{ token_symbol }}",
|
|
72
|
+
"pontus-x:accessTokenAddress": "{{ token_address }}",
|
|
73
|
+
"pontus-x:serviceEndpoint": "{{ service_endpoint }}"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@context": [
|
|
3
|
+
"https://www.w3.org/2018/credentials/v1",
|
|
4
|
+
"https://w3id.org/security/suites/jws-2020/v1",
|
|
5
|
+
"https://registry.lab.gaia-x.eu/development/api/trusted-shape-registry/v1/shapes/jsonld/trustframework#",
|
|
6
|
+
{
|
|
7
|
+
"pontus-x": "https://pontus-x.eu/vocabulary/"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"id": "https://{{ issuer_domain }}/.well-known/{{ participant_name }}/{{ token_symbol }}_{{ network }}.vp.json",
|
|
11
|
+
"type": "VerifiableCredential",
|
|
12
|
+
"issuer": "did:web:{{ issuer_domain }}",
|
|
13
|
+
"issuanceDate": "{{ issuance_date }}",
|
|
14
|
+
"credentialSubject": {
|
|
15
|
+
"id": "{{ did }}",
|
|
16
|
+
"type": "gx:ServiceOffering",
|
|
17
|
+
"gx:providedBy": {
|
|
18
|
+
"id": "{{ participant_uri }}"
|
|
19
|
+
},
|
|
20
|
+
"gx:name": "{{ service_name }}",
|
|
21
|
+
"gx:description": "{{ service_description }}",
|
|
22
|
+
"gx:dataProtectionRegime": ["GDPR2016"],
|
|
23
|
+
"gx:termsAndConditions": {
|
|
24
|
+
"gx:URL": "https://portal.agrospai.udl.cat/privacy/en",
|
|
25
|
+
"gx:hash": "2277e2ce08030a6ba9c106be999dbec8f4fe7cd8073ee0bd9811c7a7c035fe2b"
|
|
26
|
+
},
|
|
27
|
+
"gx:dataAccountExport": {
|
|
28
|
+
"gx:requestType": "email",
|
|
29
|
+
"gx:accessType": "digital",
|
|
30
|
+
"gx:formatType": "text/html"
|
|
31
|
+
},
|
|
32
|
+
"gx:policy": "{'@type':'odrl:Policy','odrl:permission':{'odrl:action':'pontus-x:{{ service_type }}','odrl:constraint':{'odrl:leftOperand':'odrl:elapsedTime','odrl:operator':'odrl:eq','odrl:rightOperand':'{{ service_timeout }}'},'odrl:duty':{'odrl:action':'odrl:compensate','odrl:constraint':{'odrl:leftOperand':'odrl:amount','odrl:operator':'odrl:eq','odrl:rightOperand':{{ service_price }},'odrl:unit':'currency:EUR'}},'odrl:target':'{{ did }}'} }",
|
|
33
|
+
"pontus-x:ownerBlockchainAccountId": "{{ owner_account }}",
|
|
34
|
+
"pontus-x:type": "{{ service_type }}",
|
|
35
|
+
"pontus-x:webAddress": "https://portal.agrospai.udl.cat/asset/{{ did }}",
|
|
36
|
+
"pontus-x:blockchainNetwork": [
|
|
37
|
+
{
|
|
38
|
+
"gx:blockchainName": "{{ network }}",
|
|
39
|
+
"gx:blockchainId": "{{ chain_id }}"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"pontus-x:serviceModel": "subscription",
|
|
43
|
+
"pontus-x:subscriptionDuration": "{{ service_timeout }}",
|
|
44
|
+
"pontus-x:settlement": [
|
|
45
|
+
{
|
|
46
|
+
"pontus-x:currencyAmount": "{{ service_price }}"
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"pontus-x:nftAddress": "{{ nft_address }}",
|
|
50
|
+
"pontus-x:accessTokenName": "{{ token_name}}",
|
|
51
|
+
"pontus-x:accessTokenSymbol": "{{ token_symbol }}",
|
|
52
|
+
"pontus-x:accessTokenAddress": "{{ token_address }}",
|
|
53
|
+
"pontus-x:serviceEndpoint": "{{ service_endpoint }}"
|
|
54
|
+
}
|
|
55
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -4,60 +4,70 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
5
|
};
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const nautilus_1 = require("@deltadao/nautilus");
|
|
8
|
+
const commander_1 = require("commander");
|
|
7
9
|
const dotenv_1 = __importDefault(require("dotenv"));
|
|
8
|
-
|
|
9
|
-
const fs_1 = require("fs");
|
|
10
|
+
const ethereumjs_wallet_1 = __importDefault(require("ethereumjs-wallet"));
|
|
10
11
|
const figlet_1 = require("figlet");
|
|
12
|
+
const fs_1 = require("fs");
|
|
13
|
+
const minimist_1 = __importDefault(require("minimist"));
|
|
11
14
|
const readline_sync_1 = __importDefault(require("readline-sync"));
|
|
12
|
-
const
|
|
15
|
+
const tabtab_1 = __importDefault(require("tabtab"));
|
|
13
16
|
const export_key_as_json_1 = require("./export-key-as-json");
|
|
14
|
-
const utils_1 = require("./utils");
|
|
15
|
-
const ethereumjs_wallet_1 = __importDefault(require("ethereumjs-wallet"));
|
|
16
|
-
const nautilus_1 = require("@deltadao/nautilus");
|
|
17
17
|
const generate_did_web_1 = require("./gaia-x_compliance/generate-did-web");
|
|
18
|
-
const
|
|
18
|
+
const generate_credentials_1 = require("./gaia-x_compliance/generate-credentials");
|
|
19
|
+
const utils_1 = require("./utils");
|
|
20
|
+
dotenv_1.default.config();
|
|
19
21
|
const program = new commander_1.Command();
|
|
22
|
+
const opts = (0, minimist_1.default)(process.argv.slice(2));
|
|
23
|
+
const args = opts._;
|
|
20
24
|
program
|
|
21
25
|
.name("pontus-x_cli")
|
|
22
26
|
.version((0, utils_1.packageVersion)())
|
|
23
27
|
.description("CLI for managing the Pontus-X ecosystem");
|
|
24
|
-
program
|
|
28
|
+
program
|
|
29
|
+
.command("export-private-key")
|
|
25
30
|
.description("Export your private key as a JSON file," +
|
|
26
31
|
" to use latter with the login command or for Pontus-X portals automation")
|
|
27
32
|
.action(() => {
|
|
28
33
|
(0, export_key_as_json_1.exportKeyAsJson)();
|
|
29
34
|
});
|
|
30
|
-
program
|
|
35
|
+
program
|
|
36
|
+
.command("login <keyFile.json>")
|
|
31
37
|
.description("Login to retrieve your private key from a JSON key store and store it in .env")
|
|
32
38
|
.action((keyFileName) => {
|
|
33
|
-
const keyStore = JSON.parse((0, fs_1.readFileSync)(keyFileName,
|
|
39
|
+
const keyStore = JSON.parse((0, fs_1.readFileSync)(keyFileName, "utf8"));
|
|
34
40
|
const password = readline_sync_1.default.question(`Enter the password to decrypt the key file ${keyFileName}: `, { hideEchoBack: true });
|
|
35
|
-
ethereumjs_wallet_1.default.fromV3(keyStore, password)
|
|
41
|
+
ethereumjs_wallet_1.default.fromV3(keyStore, password)
|
|
42
|
+
.then((wallet) => {
|
|
36
43
|
console.log(`Storing your private key for this session with Pontus-X CLI, do not forget to logout.\n`);
|
|
37
|
-
const envConfig = dotenv_1.default.parse((0, fs_1.readFileSync)(
|
|
44
|
+
const envConfig = dotenv_1.default.parse((0, fs_1.readFileSync)(".env", "utf8"));
|
|
38
45
|
envConfig.PRIVATE_KEY = wallet.getPrivateKeyString();
|
|
39
46
|
const updatedEnvConfig = Object.entries(envConfig)
|
|
40
47
|
.map(([key, value]) => `${key}=${value}`)
|
|
41
|
-
.join(
|
|
42
|
-
(0, fs_1.writeFileSync)(
|
|
48
|
+
.join("\n");
|
|
49
|
+
(0, fs_1.writeFileSync)(".env", updatedEnvConfig, "utf8");
|
|
43
50
|
process.exit(0);
|
|
44
|
-
})
|
|
51
|
+
})
|
|
52
|
+
.catch((error) => {
|
|
45
53
|
console.error(`Error decrypting the key file. ${error}\n`);
|
|
46
54
|
process.exit(1);
|
|
47
55
|
});
|
|
48
56
|
});
|
|
49
|
-
program
|
|
57
|
+
program
|
|
58
|
+
.command("logout")
|
|
50
59
|
.description("Logout to remove your private key from .env file")
|
|
51
60
|
.action(() => {
|
|
52
|
-
const envConfig = dotenv_1.default.parse((0, fs_1.readFileSync)(
|
|
61
|
+
const envConfig = dotenv_1.default.parse((0, fs_1.readFileSync)(".env", "utf8"));
|
|
53
62
|
delete envConfig.PRIVATE_KEY;
|
|
54
63
|
const updatedEnvConfig = Object.entries(envConfig)
|
|
55
64
|
.map(([key, value]) => `${key}=${value}`)
|
|
56
|
-
.join(
|
|
57
|
-
(0, fs_1.writeFileSync)(
|
|
65
|
+
.join("\n");
|
|
66
|
+
(0, fs_1.writeFileSync)(".env", updatedEnvConfig, "utf8");
|
|
58
67
|
process.exit(0);
|
|
59
68
|
});
|
|
60
|
-
program
|
|
69
|
+
program
|
|
70
|
+
.command("get <did>")
|
|
61
71
|
.description("Get the available metadata to the asset with the given DID")
|
|
62
72
|
.action(async (did) => {
|
|
63
73
|
console.log(`Retrieving asset metadata for DID: ${did}`);
|
|
@@ -66,7 +76,8 @@ program.command("get <did>")
|
|
|
66
76
|
console.log(`Asset ${did} metadata: \n\n ${JSON.stringify(aquariusAsset, null, 2)} \n`);
|
|
67
77
|
process.exit(0);
|
|
68
78
|
});
|
|
69
|
-
program
|
|
79
|
+
program
|
|
80
|
+
.command("access <did>")
|
|
70
81
|
.description("Access an asset that can be downloaded given its DID")
|
|
71
82
|
.action(async (did) => {
|
|
72
83
|
const { nautilus } = await utils_1.Connection.connect();
|
|
@@ -75,17 +86,20 @@ program.command("access <did>")
|
|
|
75
86
|
console.log(`Download URL: ${accessUrl}\n`);
|
|
76
87
|
process.exit(0);
|
|
77
88
|
});
|
|
78
|
-
program
|
|
79
|
-
.
|
|
80
|
-
.
|
|
89
|
+
program
|
|
90
|
+
.command("revoke <dids...>")
|
|
91
|
+
.description("Publisher revocation of one or more owned DIDs ")
|
|
92
|
+
.action(async (dids) => {
|
|
81
93
|
const connection = await utils_1.Connection.connect();
|
|
82
|
-
if (readline_sync_1.default.keyInYNStrict(`Revoke
|
|
94
|
+
if (readline_sync_1.default.keyInYNStrict(`Revoke assets ${dids.join(", ")}? `)) {
|
|
83
95
|
try {
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
`
|
|
96
|
+
for (const did of dids) {
|
|
97
|
+
const aquariusAsset = await connection.nautilus.getAquariusAsset(did);
|
|
98
|
+
console.log("Sending transaction to revoke asset...");
|
|
99
|
+
const tx = await connection.nautilus.setAssetLifecycleState(aquariusAsset, nautilus_1.LifecycleStates.REVOKED_BY_PUBLISHER);
|
|
100
|
+
console.log(`Asset revoked, ` +
|
|
101
|
+
`transaction: ${connection.networkConfig.explorerUri}/tx/${tx.transactionHash}\n`);
|
|
102
|
+
}
|
|
89
103
|
}
|
|
90
104
|
catch (e) {
|
|
91
105
|
console.error(`Error revoking asset: ${e}`);
|
|
@@ -93,7 +107,8 @@ program.command("revoke <did>")
|
|
|
93
107
|
}
|
|
94
108
|
process.exit(0);
|
|
95
109
|
});
|
|
96
|
-
program
|
|
110
|
+
program
|
|
111
|
+
.command("self-description <did> <sdurl>")
|
|
97
112
|
.description("Associate Gaia-X Self-Description to the asset with the given DID")
|
|
98
113
|
.action(async (did, sdurl) => {
|
|
99
114
|
const connection = await utils_1.Connection.connect();
|
|
@@ -101,14 +116,16 @@ program.command("self-description <did> <sdurl>")
|
|
|
101
116
|
try {
|
|
102
117
|
const aquariusAsset = await connection.nautilus.getAquariusAsset(did);
|
|
103
118
|
const assetBuilder = new nautilus_1.AssetBuilder(aquariusAsset);
|
|
104
|
-
const asset = assetBuilder
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
119
|
+
const asset = assetBuilder
|
|
120
|
+
.addAdditionalInformation({
|
|
121
|
+
gaiaXInformation: {
|
|
122
|
+
serviceSD: {
|
|
123
|
+
url: sdurl,
|
|
124
|
+
isVerified: true,
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
})
|
|
128
|
+
.build();
|
|
112
129
|
const result = await connection.nautilus.edit(asset);
|
|
113
130
|
console.log(`Self-description associated to the asset, ` +
|
|
114
131
|
`transaction: ${connection.networkConfig.explorerUri}/tx/${result.setMetadataTxReceipt.transactionHash}\n`);
|
|
@@ -119,12 +136,13 @@ program.command("self-description <did> <sdurl>")
|
|
|
119
136
|
}
|
|
120
137
|
process.exit(0);
|
|
121
138
|
});
|
|
122
|
-
program
|
|
139
|
+
program
|
|
140
|
+
.command("change-price <did> <newPrice>")
|
|
123
141
|
.description("Change the price keeping the existing currency for an asset with the given DID")
|
|
124
142
|
.action(async (did, newPrice) => {
|
|
125
143
|
var _a, _b;
|
|
126
144
|
const connection = await utils_1.Connection.connect();
|
|
127
|
-
const newPriceNumber = parseFloat(newPrice.replace(
|
|
145
|
+
const newPriceNumber = parseFloat(newPrice.replace(",", "."));
|
|
128
146
|
if (readline_sync_1.default.keyInYNStrict(`Set the price to ${newPriceNumber.toString()} for asset ${did}? `)) {
|
|
129
147
|
try {
|
|
130
148
|
const aquariusAsset = await connection.nautilus.getAquariusAsset(did);
|
|
@@ -139,7 +157,8 @@ program.command("change-price <did> <newPrice>")
|
|
|
139
157
|
}
|
|
140
158
|
process.exit(0);
|
|
141
159
|
});
|
|
142
|
-
program
|
|
160
|
+
program
|
|
161
|
+
.command("edit-algo <did> <image> <tag> <checksum>")
|
|
143
162
|
.description("Change the container metadata for a given algorithm DID")
|
|
144
163
|
.action(async (did, image, tag, checksum) => {
|
|
145
164
|
const connection = await utils_1.Connection.connect();
|
|
@@ -148,10 +167,12 @@ program.command("edit-algo <did> <image> <tag> <checksum>")
|
|
|
148
167
|
try {
|
|
149
168
|
const aquariusAsset = await connection.nautilus.getAquariusAsset(did);
|
|
150
169
|
const assetBuilder = new nautilus_1.AssetBuilder(aquariusAsset);
|
|
151
|
-
const asset = assetBuilder
|
|
170
|
+
const asset = assetBuilder
|
|
171
|
+
.setAlgorithm(Object.assign(Object.assign({}, aquariusAsset.metadata.algorithm), { container: Object.assign(Object.assign({}, aquariusAsset.metadata.algorithm.container), { // Start with existing container metadata
|
|
152
172
|
image,
|
|
153
173
|
tag,
|
|
154
|
-
checksum }) }))
|
|
174
|
+
checksum }) }))
|
|
175
|
+
.build();
|
|
155
176
|
const result = await connection.nautilus.edit(asset);
|
|
156
177
|
console.log(`Container metadata updated for the algorithm, ` +
|
|
157
178
|
`transaction: ${connection.networkConfig.explorerUri}/tx/${result.setMetadataTxReceipt.transactionHash}\n`);
|
|
@@ -162,17 +183,21 @@ program.command("edit-algo <did> <image> <tag> <checksum>")
|
|
|
162
183
|
}
|
|
163
184
|
process.exit(0);
|
|
164
185
|
});
|
|
165
|
-
program
|
|
186
|
+
program
|
|
187
|
+
.command("edit-trusted-algos <did> <algos...>")
|
|
166
188
|
.description("Overwrite the trusted algorithms for a data asset to the provided algorithm DIDs")
|
|
167
189
|
.action(async (did, algos) => {
|
|
168
190
|
const connection = await utils_1.Connection.connect();
|
|
169
191
|
if (readline_sync_1.default.keyInYNStrict(`Changing the trusted algorithms for ${did} ` +
|
|
170
|
-
`to [${algos.join(
|
|
192
|
+
`to [${algos.join(", ")}]? `)) {
|
|
171
193
|
try {
|
|
172
194
|
const aquariusAsset = await connection.nautilus.getAquariusAsset(did);
|
|
173
195
|
const assetBuilder = new nautilus_1.AssetBuilder(aquariusAsset);
|
|
174
|
-
const serviceBuilder = new nautilus_1.ServiceBuilder({
|
|
175
|
-
|
|
196
|
+
const serviceBuilder = new nautilus_1.ServiceBuilder({
|
|
197
|
+
aquariusAsset,
|
|
198
|
+
serviceId: aquariusAsset.services[0].id,
|
|
199
|
+
});
|
|
200
|
+
serviceBuilder.addTrustedAlgorithms(algos.map((algo) => ({ did: algo })));
|
|
176
201
|
const service = serviceBuilder.build();
|
|
177
202
|
const asset = assetBuilder.addService(service).build();
|
|
178
203
|
const result = await connection.nautilus.edit(asset);
|
|
@@ -185,17 +210,20 @@ program.command("edit-trusted-algos <did> <algos...>")
|
|
|
185
210
|
}
|
|
186
211
|
process.exit(0);
|
|
187
212
|
});
|
|
188
|
-
program
|
|
213
|
+
program
|
|
214
|
+
.command("edit-asset-url <did> <url>")
|
|
189
215
|
.description("Change the URL of an asset DID")
|
|
190
216
|
.action(async (did, url) => {
|
|
191
217
|
const connection = await utils_1.Connection.connect();
|
|
192
|
-
if (readline_sync_1.default.keyInYNStrict(`Changing the URL for ${did} ` +
|
|
193
|
-
`to ${url}? `)) {
|
|
218
|
+
if (readline_sync_1.default.keyInYNStrict(`Changing the URL for ${did} ` + `to ${url}? `)) {
|
|
194
219
|
try {
|
|
195
220
|
const aquariusAsset = await connection.nautilus.getAquariusAsset(did);
|
|
196
221
|
const assetBuilder = new nautilus_1.AssetBuilder(aquariusAsset);
|
|
197
|
-
const serviceBuilder = new nautilus_1.ServiceBuilder({
|
|
198
|
-
|
|
222
|
+
const serviceBuilder = new nautilus_1.ServiceBuilder({
|
|
223
|
+
aquariusAsset,
|
|
224
|
+
serviceId: aquariusAsset.services[0].id,
|
|
225
|
+
});
|
|
226
|
+
serviceBuilder.addFile({ type: "url", url, method: "GET" });
|
|
199
227
|
const service = serviceBuilder.build();
|
|
200
228
|
const asset = assetBuilder.addService(service).build();
|
|
201
229
|
const result = await connection.nautilus.edit(asset);
|
|
@@ -218,7 +246,7 @@ program
|
|
|
218
246
|
const connection = await utils_1.Connection.connect();
|
|
219
247
|
console.log(`Publishing asset ${scriptFolder} in provider ${options.provider} from wallet ${connection.wallet.address}`);
|
|
220
248
|
try {
|
|
221
|
-
await (0, utils_1.invokeFunctionFromFile)(`${scriptFolder}/index.ts`,
|
|
249
|
+
await (0, utils_1.invokeFunctionFromFile)(`${scriptFolder}/index.ts`, "publish", scriptFolder, connection, options.provider, options.dryRun);
|
|
222
250
|
process.exit(0);
|
|
223
251
|
}
|
|
224
252
|
catch (error) {
|
|
@@ -232,16 +260,20 @@ program
|
|
|
232
260
|
.action(async (algo, datasets) => {
|
|
233
261
|
const connection = await utils_1.Connection.connect();
|
|
234
262
|
if (readline_sync_1.default.keyInYNStrict(`Computing algorithm ${algo} ` +
|
|
235
|
-
`on datasets [${datasets.join(
|
|
263
|
+
`on datasets [${datasets.join(", ")}]? `)) {
|
|
236
264
|
try {
|
|
237
265
|
const firstDatasetAsset = await connection.nautilus.getAquariusAsset(datasets[0]);
|
|
238
266
|
const provider = firstDatasetAsset.services[0].serviceEndpoint;
|
|
239
|
-
const dataset = {
|
|
240
|
-
const algorithm = {
|
|
267
|
+
const dataset = { did: datasets[0] };
|
|
268
|
+
const algorithm = { did: algo };
|
|
241
269
|
const additionalDatasets = datasets
|
|
242
270
|
.filter((_, i) => i > 0)
|
|
243
|
-
.map(dataset => ({
|
|
244
|
-
const computeJob = await connection.nautilus.compute({
|
|
271
|
+
.map((dataset) => ({ did: dataset }));
|
|
272
|
+
const computeJob = (await connection.nautilus.compute({
|
|
273
|
+
dataset,
|
|
274
|
+
algorithm,
|
|
275
|
+
additionalDatasets,
|
|
276
|
+
}));
|
|
245
277
|
console.log(`Compute started, check status using command:\n` +
|
|
246
278
|
`pontus-x_cli compute-status ${computeJob[0].jobId} -p ${provider}\n`);
|
|
247
279
|
}
|
|
@@ -259,10 +291,11 @@ program
|
|
|
259
291
|
const connection = await utils_1.Connection.connect();
|
|
260
292
|
try {
|
|
261
293
|
const computeJobStatus = await connection.nautilus.getComputeStatus({
|
|
262
|
-
jobId,
|
|
294
|
+
jobId,
|
|
295
|
+
providerUri: options.provider,
|
|
263
296
|
});
|
|
264
297
|
console.log(`Compute status: ${computeJobStatus.statusText}\n`);
|
|
265
|
-
if (computeJobStatus.statusText ===
|
|
298
|
+
if (computeJobStatus.statusText === "Job finished") {
|
|
266
299
|
console.log(`Get results using command:\n` +
|
|
267
300
|
`pontus-x_cli compute-results ${jobId} -p ${options.provider}\n`);
|
|
268
301
|
}
|
|
@@ -280,7 +313,8 @@ program
|
|
|
280
313
|
const connection = await utils_1.Connection.connect();
|
|
281
314
|
try {
|
|
282
315
|
const computeResultUrl = await connection.nautilus.getComputeResult({
|
|
283
|
-
jobId,
|
|
316
|
+
jobId,
|
|
317
|
+
providerUri: options.provider,
|
|
284
318
|
});
|
|
285
319
|
if (computeResultUrl)
|
|
286
320
|
console.log(`Compute results available from: ${computeResultUrl}\n`);
|
|
@@ -309,13 +343,14 @@ program
|
|
|
309
343
|
});
|
|
310
344
|
program
|
|
311
345
|
.command("generate-participant-credentials")
|
|
312
|
-
.description("Generate the Gaia-X credentials for the participant including their verifiable presentation
|
|
346
|
+
.description("Generate the Gaia-X credentials for the participant including their verifiable presentation")
|
|
313
347
|
.requiredOption("-p, --participant <participant.data.json>", "Path to the JSON file including the required participant data")
|
|
314
|
-
.requiredOption("-d, --
|
|
348
|
+
.requiredOption("-d, --didjson <did.json>", "Path to the did.json file")
|
|
315
349
|
.requiredOption("-c, --certificate <certificate.key>", "Path to the certificate.key file")
|
|
316
350
|
.action(async (options) => {
|
|
317
351
|
try {
|
|
318
|
-
|
|
352
|
+
const password = readline_sync_1.default.question(`Enter the password for your private key file ${options.certificate}: `, { hideEchoBack: true });
|
|
353
|
+
await (0, generate_credentials_1.generateCredentials)(options.participant, options.didjson, options.certificate, password);
|
|
319
354
|
process.exit(0);
|
|
320
355
|
}
|
|
321
356
|
catch (error) {
|
|
@@ -324,13 +359,34 @@ program
|
|
|
324
359
|
}
|
|
325
360
|
});
|
|
326
361
|
program
|
|
327
|
-
.command("
|
|
362
|
+
.command("generate-asset-credentials <did>")
|
|
363
|
+
.description("Generate the Gaia-X credentials for the input DID asset, including its verifiable presentation")
|
|
364
|
+
.requiredOption("-p, --participant <participant.data.json>", "Path to the JSON file including the required participant data")
|
|
365
|
+
.requiredOption("-d, --didjson <did.json>", "Path to the did.json file")
|
|
366
|
+
.requiredOption("-c, --certificate <certificate.key>", "Path to the certificate.key file")
|
|
367
|
+
.action(async (did, options) => {
|
|
368
|
+
console.log(`Retrieving asset metadata for DID: ${did}`);
|
|
369
|
+
const { nautilus } = await utils_1.Connection.connect();
|
|
370
|
+
const ddo = await nautilus.getAquariusAsset(did);
|
|
371
|
+
console.log(`Asset ${did} metadata: \n\n ${JSON.stringify(ddo, null, 2)} \n`);
|
|
372
|
+
try {
|
|
373
|
+
const password = readline_sync_1.default.question(`Enter the password for your private key file ${options.certificate}: `, { hideEchoBack: true });
|
|
374
|
+
await (0, generate_credentials_1.generateCredentials)(options.participant, options.didjson, options.certificate, password, ddo);
|
|
375
|
+
process.exit(0);
|
|
376
|
+
}
|
|
377
|
+
catch (error) {
|
|
378
|
+
console.error(error);
|
|
379
|
+
process.exit(1);
|
|
380
|
+
}
|
|
381
|
+
});
|
|
382
|
+
program
|
|
383
|
+
.command("check-participant-compliance")
|
|
328
384
|
.description("Use Gaia-X Compliance to check a participant Verifiable Presentation")
|
|
329
385
|
.requiredOption("-p, --participant <participant.data.json>", "Path to the JSON file including the required participant data")
|
|
330
386
|
.requiredOption("--vp <participant.vp.json>", "Path to the participant Verifiable Presentation file")
|
|
331
387
|
.action(async (options) => {
|
|
332
388
|
try {
|
|
333
|
-
await (0,
|
|
389
|
+
await (0, generate_credentials_1.checkCompliance)(options.participant, options.vp);
|
|
334
390
|
process.exit(0);
|
|
335
391
|
}
|
|
336
392
|
catch (error) {
|
|
@@ -338,13 +394,56 @@ program
|
|
|
338
394
|
process.exit(1);
|
|
339
395
|
}
|
|
340
396
|
});
|
|
397
|
+
program
|
|
398
|
+
.command("install-completion")
|
|
399
|
+
.description("Install the autocompletion for the Pontus-X CLI using tabtab");
|
|
400
|
+
program
|
|
401
|
+
.command("uninstall-completion")
|
|
402
|
+
.description("Uninstall the autocompletion for the Pontus-X CLI using tabtab");
|
|
403
|
+
const commands = program.commands.map((cmd) => cmd.name());
|
|
404
|
+
const options = ["--help", "--version", "-d", "-p", "-c"];
|
|
405
|
+
const completion = (env) => {
|
|
406
|
+
if (!env.complete)
|
|
407
|
+
return;
|
|
408
|
+
if (commands.includes(env.prev)) {
|
|
409
|
+
return tabtab_1.default.log(["--help"]);
|
|
410
|
+
}
|
|
411
|
+
return tabtab_1.default.log([...options, ...commands]);
|
|
412
|
+
};
|
|
413
|
+
const run = async () => {
|
|
414
|
+
const cmd = args[0];
|
|
415
|
+
if (cmd === "install-completion") {
|
|
416
|
+
await tabtab_1.default
|
|
417
|
+
.install({
|
|
418
|
+
name: "pontus-x_cli",
|
|
419
|
+
completer: "pontus-x_cli",
|
|
420
|
+
})
|
|
421
|
+
.catch((err) => console.error("INSTALL ERROR", err));
|
|
422
|
+
console.log("✅ Autocompletion installed.");
|
|
423
|
+
return;
|
|
424
|
+
}
|
|
425
|
+
if (cmd === "uninstall-completion") {
|
|
426
|
+
await tabtab_1.default
|
|
427
|
+
.uninstall({
|
|
428
|
+
name: "pontus-x_cli",
|
|
429
|
+
})
|
|
430
|
+
.catch((err) => console.error("UNINSTALL ERROR", err));
|
|
431
|
+
console.log("❌ Autocompletion uninstalled.");
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
if (cmd === "completion") {
|
|
435
|
+
const env = tabtab_1.default.parseEnv(process.env);
|
|
436
|
+
return completion(env);
|
|
437
|
+
}
|
|
438
|
+
program.addHelpText("beforeAll", (0, figlet_1.textSync)("Pontus-X CLI", "Doom"));
|
|
439
|
+
program.parseAsync(process.argv);
|
|
440
|
+
};
|
|
341
441
|
try {
|
|
342
|
-
|
|
343
|
-
program.parse(process.argv);
|
|
442
|
+
run();
|
|
344
443
|
}
|
|
345
444
|
catch (e) {
|
|
346
445
|
if (e instanceof Error) {
|
|
347
|
-
console.error(e.message +
|
|
446
|
+
console.error(e.message + "\n");
|
|
348
447
|
}
|
|
349
448
|
else {
|
|
350
449
|
console.error(e);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ const publish = async (folder, connection, provider, dryRun) => {
|
|
|
8
8
|
const consumerParametersBuilder = new nautilus_1.ConsumerParameterBuilder();
|
|
9
9
|
const consumerParameters = [];
|
|
10
10
|
consumerParameters.push(consumerParametersBuilder
|
|
11
|
-
.setName("
|
|
11
|
+
.setName("Dataset parameters")
|
|
12
12
|
.setLabel("dataset")
|
|
13
13
|
.setDescription("Dataset parameters to train the model with, such as: separator, target_column, split, random_state and stratify.")
|
|
14
14
|
.setDefault(JSON.stringify(JSON.parse((0, fs_1.readFileSync)(`${folder}/dataset-default.json`, "utf8"))))
|
|
@@ -17,7 +17,7 @@ const publish = async (folder, connection, provider, dryRun) => {
|
|
|
17
17
|
.build());
|
|
18
18
|
consumerParametersBuilder.reset(); // Reset the builder to create a new parameter
|
|
19
19
|
consumerParameters.push(consumerParametersBuilder
|
|
20
|
-
.setName("
|
|
20
|
+
.setName("Model parameters")
|
|
21
21
|
.setLabel("model")
|
|
22
22
|
.setDescription("Model parameters to train the model with, such as: name, params and metrics.")
|
|
23
23
|
.setDefault(JSON.stringify(JSON.parse((0, fs_1.readFileSync)(`${folder}/model-default.json`, "utf8"))))
|
|
@@ -27,12 +27,13 @@ const publish = async (folder, connection, provider, dryRun) => {
|
|
|
27
27
|
// ALGORITHM METADATA
|
|
28
28
|
const algoMetadata = {
|
|
29
29
|
language: "python",
|
|
30
|
-
version: "0.
|
|
30
|
+
version: "0.3",
|
|
31
31
|
container: {
|
|
32
|
-
entrypoint: "
|
|
32
|
+
entrypoint: "python $ALGO",
|
|
33
|
+
// entrypoint: "sleep infinity",
|
|
33
34
|
image: "clopezgarcia/basic-predictor",
|
|
34
|
-
tag: "0.
|
|
35
|
-
checksum: "sha256:
|
|
35
|
+
tag: "0.2.2",
|
|
36
|
+
checksum: "sha256:b4b24cce742d43329b6cc458770f7be87f13bba4349f5acfc466441f143dc27c",
|
|
36
37
|
},
|
|
37
38
|
consumerParameters: consumerParameters,
|
|
38
39
|
};
|
|
@@ -52,11 +53,11 @@ const publish = async (folder, connection, provider, dryRun) => {
|
|
|
52
53
|
.build();
|
|
53
54
|
const asset = new nautilus_1.AssetBuilder()
|
|
54
55
|
.setType("algorithm")
|
|
55
|
-
.setName("SciKit-
|
|
56
|
+
.setName("SciKit-Learn Model Trainer")
|
|
56
57
|
.setAuthor("Universitat de Lleida (UdL)")
|
|
57
58
|
.setOwner(connection.wallet.address)
|
|
58
59
|
.setDescription((0, fs_1.readFileSync)(`${folder}/description.md`, "utf8"))
|
|
59
|
-
.addTags(["ml", "sklearn", "scikit-learn", "tabular-data", "pandas", "udl"])
|
|
60
|
+
.addTags(["ml", "sklearn", "scikit-learn", "tabular-data", "pandas", "udl", "agrospai"])
|
|
60
61
|
.setLicense("MIT")
|
|
61
62
|
.setNftData({
|
|
62
63
|
name: "UdL scikit-learn model trainer",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/publish/samples/basic-predictor/index.ts"],"names":[],"mappings":";;AAAA,2BAAkC;AAClC,iDAI4B;AAC5B,iDAA6E;AAI7E,MAAM,OAAO,GAAG,KAAK,EACnB,MAAc,EACd,UAAe,EACf,QAAgB,EAChB,MAAe,EACf,EAAE;IAEF,4BAA4B;IAC5B,MAAM,yBAAyB,GAAG,IAAI,mCAAwB,EAAE,CAAC;IACjE,MAAM,kBAAkB,GAAwB,EAAE,CAAC;IAEnD,kBAAkB,CAAC,IAAI,CACrB,yBAAyB;SACtB,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/publish/samples/basic-predictor/index.ts"],"names":[],"mappings":";;AAAA,2BAAkC;AAClC,iDAI4B;AAC5B,iDAA6E;AAI7E,MAAM,OAAO,GAAG,KAAK,EACnB,MAAc,EACd,UAAe,EACf,QAAgB,EAChB,MAAe,EACf,EAAE;IAEF,4BAA4B;IAC5B,MAAM,yBAAyB,GAAG,IAAI,mCAAwB,EAAE,CAAC;IACjE,MAAM,kBAAkB,GAAwB,EAAE,CAAC;IAEnD,kBAAkB,CAAC,IAAI,CACrB,yBAAyB;SACtB,OAAO,CAAC,oBAAoB,CAAC;SAC7B,QAAQ,CAAC,SAAS,CAAC;SACnB,cAAc,CACb,kHAAkH,CACnH;SACA,UAAU,CACT,IAAI,CAAC,SAAS,CACZ,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,GAAG,MAAM,uBAAuB,EAAE,MAAM,CAAC,CAAC,CACnE,CACF;SACA,WAAW,CAAC,IAAI,CAAC;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,KAAK,EAAE,CACX,CAAC;IAEF,yBAAyB,CAAC,KAAK,EAAE,CAAC,CAAC,8CAA8C;IAEjF,kBAAkB,CAAC,IAAI,CACrB,yBAAyB;SACtB,OAAO,CAAC,kBAAkB,CAAC;SAC3B,QAAQ,CAAC,OAAO,CAAC;SACjB,cAAc,CACb,8EAA8E,CAC/E;SACA,UAAU,CACT,IAAI,CAAC,SAAS,CACZ,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,GAAG,MAAM,qBAAqB,EAAE,MAAM,CAAC,CAAC,CACjE,CACF;SACA,WAAW,CAAC,IAAI,CAAC;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,KAAK,EAAE,CACX,CAAC;IAEF,qBAAqB;IACrB,MAAM,YAAY,GAAgC;QAChD,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,KAAK;QACd,SAAS,EAAE;YACT,UAAU,EAAE,cAAc;YAC1B,gCAAgC;YAChC,KAAK,EAAE,8BAA8B;YACrC,GAAG,EAAE,OAAO;YACZ,QAAQ,EACN,yEAAyE;SAC5E;QACD,kBAAkB,EAAE,kBAAkB;KACvC,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,yBAAc,CAAC,EAAE,WAAW,EAAE,uBAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,oBAAS,CAAC,GAAG,EAAE,CAAC;SAC/F,kBAAkB,CAAC,QAAQ,CAAC,CAAC,uDAAuD;SACpF,UAAU,CAAC,CAAC,CAAC,CAAC,+DAA+D;SAC7E,OAAO,CAAC;QACP,IAAI,EAAE,KAAK,EAAE,wGAAwG;QACrH,GAAG,EAAE,6GAA6G;QAClH,MAAM,EAAE,KAAK,EAAE,sBAAsB;QACrC,aAAa;QACb,yFAAyF;QACzF,IAAI;KACL,CAAC;SACD,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;SACtD,yBAAyB,CAAC,gCAAgC,EAAE,aAAa,CAAC;SAC1E,KAAK,EAAE,CAAC;IAEX,MAAM,KAAK,GAAG,IAAI,uBAAY,EAAE;SAC7B,OAAO,CAAC,WAAW,CAAC;SACpB,OAAO,CAAC,4BAA4B,CAAC;SACrC,SAAS,CAAC,6BAA6B,CAAC;SACxC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;SACnC,cAAc,CAAC,IAAA,iBAAY,EAAC,GAAG,MAAM,iBAAiB,EAAE,MAAM,CAAC,CAAC;SAChE,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;SACvF,UAAU,CAAC,KAAK,CAAC;SACjB,UAAU,CAAC;QACV,IAAI,EAAE,gCAAgC;QACtC,MAAM,EAAE,aAAa;QACrB,aAAa,EAAE,CAAC;QAChB,QAAQ,EACN,qEAAqE;QACvE,YAAY,EAAE,KAAK;KACpB,CAAC;SACD,YAAY,CAAC,YAAY,CAAC;SAC1B,UAAU,CAAC,OAAO,CAAC;SACnB,KAAK,EAAE,CAAC;IAEX,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAEpE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CACT,mBAAmB;YACnB,gBAAgB,UAAU,CAAC,aAAa,CAAC,WAAW,OAAO,MAAM,CAAC,oBAAoB,CAAC,eAAe,IAAI,CAC3G,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pontus-x_cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"bin": {
|
|
6
6
|
"pontus-x_cli": "./dist/index.js"
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"scripts": {
|
|
9
9
|
"start": "NODE_NO_WARNINGS=1 ts-node src/index.ts",
|
|
10
10
|
"build": "tsc && chmod +x ./dist/index.js && npm run copy-templates",
|
|
11
|
-
"copy-templates": "copyfiles -u 1 src/gaia-x_compliance/generate-
|
|
11
|
+
"copy-templates": "copyfiles -u 1 src/gaia-x_compliance/generate-credentials/templates/* dist",
|
|
12
12
|
"clean": "rm -rf ./dist/",
|
|
13
13
|
"rebuild": "npm run clean & npm run build",
|
|
14
14
|
"local-install": "npm install -g ."
|
|
@@ -17,7 +17,12 @@
|
|
|
17
17
|
"type": "git",
|
|
18
18
|
"url": "https://github.com/rhizomik/pontus-x_cli.git"
|
|
19
19
|
},
|
|
20
|
-
"keywords": [
|
|
20
|
+
"keywords": [
|
|
21
|
+
"data space",
|
|
22
|
+
"cli",
|
|
23
|
+
"pontus-x",
|
|
24
|
+
"gaia-x"
|
|
25
|
+
],
|
|
21
26
|
"author": "Roberto García <https://rhizomik.net/~roberto>",
|
|
22
27
|
"license": "Apache-2.0",
|
|
23
28
|
"bugs": {
|
|
@@ -35,13 +40,17 @@
|
|
|
35
40
|
"ethers": "^5.7.2",
|
|
36
41
|
"figlet": "^1.7.0",
|
|
37
42
|
"handlebars": "^4.7.8",
|
|
43
|
+
"minimist": "^1.2.8",
|
|
38
44
|
"readline-sync": "^1.4.10",
|
|
45
|
+
"tabtab": "^3.0.2",
|
|
39
46
|
"ts-node": "^10.9.2"
|
|
40
47
|
},
|
|
41
48
|
"devDependencies": {
|
|
42
49
|
"@types/figlet": "^1.7.0",
|
|
50
|
+
"@types/minimist": "^1.2.5",
|
|
43
51
|
"@types/node": "^22.13.4",
|
|
44
52
|
"@types/readline-sync": "^1.4.8",
|
|
53
|
+
"@types/tabtab": "^3.0.4",
|
|
45
54
|
"copyfiles": "^2.4.1",
|
|
46
55
|
"typescript": "^5.7.3"
|
|
47
56
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/gaia-x_compliance/generate-participant-credentials/index.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|