pontus-x_cli 1.0.2 → 1.1.4
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 +124 -38
- 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 +5 -4
- package/dist/commands/compute.js +60 -14
- package/dist/commands/compute.js.map +1 -1
- package/dist/commands/edit-additional-metadata.d.ts +13 -0
- package/dist/commands/edit-additional-metadata.js +88 -0
- package/dist/commands/edit-additional-metadata.js.map +1 -0
- 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 +1 -1
- package/dist/commands/edit-trusted-algos.js +10 -6
- package/dist/commands/edit-trusted-algos.js.map +1 -1
- 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 +95 -27
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/render.d.ts +12 -0
- package/dist/commands/render.js +126 -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 +3 -6
- package/dist/config.js +55 -107
- 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 +7 -0
- package/dist/lib/aquarius.js +71 -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 +4 -0
- package/dist/lib/manifest.js +29 -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 +1 -0
- package/dist/lib/wallet.js +14 -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/connection.d.ts +3 -3
- package/dist/utils/connection.js +2 -2
- package/dist/utils/connection.js.map +1 -1
- package/oclif.manifest.json +169 -19
- package/package.json +20 -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/commands/publish.js
CHANGED
|
@@ -32,16 +32,22 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
35
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
const core_1 = require("@oclif/core");
|
|
37
39
|
const fs = __importStar(require("node:fs"));
|
|
38
40
|
const vm = __importStar(require("node:vm"));
|
|
41
|
+
const core_1 = require("@oclif/core");
|
|
42
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
39
43
|
const ts = __importStar(require("typescript"));
|
|
40
|
-
const
|
|
44
|
+
const yaml_1 = require("../lib/yaml");
|
|
41
45
|
const connection_1 = require("../utils/connection");
|
|
46
|
+
const manifest_1 = require("../lib/manifest");
|
|
47
|
+
const spec_1 = require("../lib/spec");
|
|
42
48
|
async function invokeFunctionFromFile(filePath, functionName, ...args) {
|
|
43
49
|
// Read the TypeScript file content
|
|
44
|
-
const tsContent = fs.readFileSync(filePath,
|
|
50
|
+
const tsContent = fs.readFileSync(filePath, "utf8");
|
|
45
51
|
// Transpile TypeScript to JavaScript
|
|
46
52
|
const jsContent = ts.transpileModule(tsContent, {
|
|
47
53
|
compilerOptions: { module: ts.ModuleKind.CommonJS },
|
|
@@ -52,55 +58,117 @@ async function invokeFunctionFromFile(filePath, functionName, ...args) {
|
|
|
52
58
|
// Run the script in the context
|
|
53
59
|
script.runInContext(context);
|
|
54
60
|
// Invoke the function by name
|
|
55
|
-
if (typeof context[functionName] ===
|
|
61
|
+
if (typeof context[functionName] === "function") {
|
|
56
62
|
return context[functionName](...args);
|
|
57
63
|
}
|
|
58
64
|
throw new Error(`Function ${functionName} not found in ${filePath}`);
|
|
59
65
|
}
|
|
66
|
+
async function publish(path, provider, dryRun, connection) {
|
|
67
|
+
if (path.endsWith(".ts")) {
|
|
68
|
+
const dirPath = path.split("/").slice(0, -1).join("/");
|
|
69
|
+
return invokeFunctionFromFile(path, "publish", dirPath, connection, provider, dryRun);
|
|
70
|
+
}
|
|
71
|
+
if (path.endsWith(".json") || path.endsWith(".yaml")) {
|
|
72
|
+
return (0, spec_1.publishFromFile)(path, provider, connection, dryRun);
|
|
73
|
+
}
|
|
74
|
+
throw new Error("The provided file must be a .json/.yaml or .ts file");
|
|
75
|
+
}
|
|
60
76
|
class Publish extends core_1.Command {
|
|
61
77
|
async run() {
|
|
62
78
|
const { args, flags } = await this.parse(Publish);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
79
|
+
if (!fs.existsSync(args.path)) {
|
|
80
|
+
this.error(`The provided path does not exist: ${args.path}`);
|
|
81
|
+
}
|
|
82
|
+
const isDirectory = fs.lstatSync(args.path).isDirectory();
|
|
83
|
+
if (!flags.recursive) {
|
|
84
|
+
let { path } = args;
|
|
85
|
+
if (isDirectory) {
|
|
86
|
+
path =
|
|
87
|
+
["spec.yaml", "spec.json", "index.ts"]
|
|
88
|
+
.map((file) => `${args.path}/${file}`)
|
|
89
|
+
.find((file) => fs.existsSync(file)) || "";
|
|
90
|
+
if (!path) {
|
|
91
|
+
this.error(`No spec.yaml, spec.json or index.ts file found in the provided directory: ${args.path}`);
|
|
92
|
+
}
|
|
69
93
|
}
|
|
70
|
-
|
|
71
|
-
|
|
94
|
+
try {
|
|
95
|
+
const connection = await connection_1.Connection.connect();
|
|
96
|
+
await publish(path, flags.provider, flags["dry-run"], connection);
|
|
72
97
|
}
|
|
73
|
-
|
|
74
|
-
|
|
98
|
+
catch (error) {
|
|
99
|
+
console.error(error);
|
|
100
|
+
this.error("Please, login before running this command with a TypeScript file");
|
|
75
101
|
}
|
|
102
|
+
return;
|
|
76
103
|
}
|
|
77
|
-
|
|
78
|
-
|
|
104
|
+
const filesToPublish = (0, spec_1.getFilesFromPaths)([args.path], ["spec.yaml", "spec.json", "index.ts"]);
|
|
105
|
+
const manifest = (0, manifest_1.readManifest)(flags.manifest);
|
|
106
|
+
for (const file of filesToPublish) {
|
|
107
|
+
const config = (0, spec_1.parseConfig)(file);
|
|
108
|
+
const { did } = config.metadata;
|
|
109
|
+
if (did) {
|
|
110
|
+
console.log(chalk_1.default.yellow(`Skipping file ${file} as it is already published: ${did}`));
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
console.log(chalk_1.default.blue(`Processing file: ${file}`));
|
|
114
|
+
const environmentConfig = await (0, spec_1.getEnvironmentConfig)(file, config, manifest);
|
|
115
|
+
if (!environmentConfig) {
|
|
116
|
+
console.error(chalk_1.default.red(`Skipping file ${file} due to missing environment configuration`));
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
const { network, owner, privateKey } = environmentConfig;
|
|
120
|
+
console.log(chalk_1.default.green(`Publishing file ${file} with owner ${owner} on network ${network}`));
|
|
121
|
+
try {
|
|
122
|
+
const envOverrides = {
|
|
123
|
+
NETWORK: network,
|
|
124
|
+
PRIVATE_KEY: privateKey,
|
|
125
|
+
};
|
|
126
|
+
const connection = await connection_1.Connection.connect(envOverrides);
|
|
127
|
+
const publishedDid = await publish(file, flags.provider, flags["dry-run"], connection);
|
|
128
|
+
(0, yaml_1.setKeyInYaml)(file, "metadata.did", publishedDid);
|
|
129
|
+
(0, yaml_1.setKeyInYaml)(file, "metadata.owner", owner);
|
|
130
|
+
(0, yaml_1.setKeyInYaml)(file, "metadata.network", network);
|
|
131
|
+
console.log(chalk_1.default.green(`Published file ${file} with DID: ${publishedDid}`));
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
console.error(error);
|
|
135
|
+
this.error(`Error publishing file ${file}`);
|
|
136
|
+
}
|
|
79
137
|
}
|
|
80
138
|
}
|
|
81
139
|
}
|
|
82
140
|
Publish.args = {
|
|
83
141
|
path: core_1.Args.directory({
|
|
84
|
-
description:
|
|
142
|
+
description: "Path to find a JSON/YAML or TS file describing the asset to publish",
|
|
85
143
|
required: true,
|
|
86
144
|
}),
|
|
87
145
|
};
|
|
88
|
-
Publish.description =
|
|
146
|
+
Publish.description = "Publish the asset as instructed in the provided script folder.";
|
|
89
147
|
Publish.examples = [
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
148
|
+
"<%= config.bin %> <%= command.id %> samples/publish/algo/",
|
|
149
|
+
"<%= config.bin %> <%= command.id %> samples/publish/algo/spec.json",
|
|
150
|
+
"<%= config.bin %> <%= command.id %> samples/publish/algo/spec.yaml",
|
|
151
|
+
"<%= config.bin %> <%= command.id %> samples/publish/algo/index.ts",
|
|
93
152
|
];
|
|
94
153
|
Publish.flags = {
|
|
95
|
-
|
|
154
|
+
"dry-run": core_1.Flags.boolean({
|
|
96
155
|
default: false,
|
|
97
|
-
description:
|
|
156
|
+
description: "Dry run the publishing process",
|
|
157
|
+
}),
|
|
158
|
+
manifest: core_1.Flags.string({
|
|
159
|
+
char: "m",
|
|
160
|
+
default: "./manifest.yaml",
|
|
161
|
+
description: "Path to the manifest file",
|
|
98
162
|
}),
|
|
99
163
|
provider: core_1.Flags.string({
|
|
100
|
-
char:
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
164
|
+
char: "p",
|
|
165
|
+
default: "https://provider.agrospai.udl.cat",
|
|
166
|
+
description: "The Provider URL",
|
|
167
|
+
}),
|
|
168
|
+
recursive: core_1.Flags.boolean({
|
|
169
|
+
char: "r",
|
|
170
|
+
default: false,
|
|
171
|
+
description: "Recursively publish assets in a directory (only for JSON/YAML files)",
|
|
104
172
|
}),
|
|
105
173
|
};
|
|
106
174
|
exports.default = Publish;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
export default class Render extends Command {
|
|
3
|
+
static args: {
|
|
4
|
+
did: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static flags: {
|
|
7
|
+
dst: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
tags: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
onlyAccess: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
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
|
+
const node_fs_1 = require("node:fs");
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const core_1 = require("@oclif/core");
|
|
9
|
+
const yaml_1 = require("yaml");
|
|
10
|
+
const aquarius_1 = require("../lib/aquarius");
|
|
11
|
+
const connection_1 = require("../utils/connection");
|
|
12
|
+
function getSpecFromAsset(asset) {
|
|
13
|
+
let priceSpec = {};
|
|
14
|
+
priceSpec =
|
|
15
|
+
asset.stats.price.value > 0
|
|
16
|
+
? {
|
|
17
|
+
amount: asset.stats.price.value,
|
|
18
|
+
currency: asset.stats.price.tokenSymbol,
|
|
19
|
+
type: "fixed",
|
|
20
|
+
}
|
|
21
|
+
: { type: "free" };
|
|
22
|
+
return [
|
|
23
|
+
{
|
|
24
|
+
metadata: {
|
|
25
|
+
author: asset.metadata.author,
|
|
26
|
+
description: "description.md",
|
|
27
|
+
license: asset.metadata.license,
|
|
28
|
+
links: asset.metadata.links,
|
|
29
|
+
name: asset.metadata.name,
|
|
30
|
+
owner: asset.event.from,
|
|
31
|
+
tags: asset.metadata.tags,
|
|
32
|
+
type: asset.metadata.type,
|
|
33
|
+
},
|
|
34
|
+
nftData: {
|
|
35
|
+
name: asset.nft.name,
|
|
36
|
+
symbol: asset.nft.symbol,
|
|
37
|
+
templateIndex: 1, // default - could be enhanced
|
|
38
|
+
tokenURI: asset.nft.tokenURI,
|
|
39
|
+
transferable: false, // default - could be enhanced
|
|
40
|
+
},
|
|
41
|
+
service: {
|
|
42
|
+
datatoken: {
|
|
43
|
+
name: asset.datatokens[0].name,
|
|
44
|
+
symbol: asset.datatokens[0].symbol,
|
|
45
|
+
},
|
|
46
|
+
files: [
|
|
47
|
+
{
|
|
48
|
+
method: "GET",
|
|
49
|
+
type: "url",
|
|
50
|
+
url: "",
|
|
51
|
+
},
|
|
52
|
+
], // ⚠️ Cannot recover - encrypted in blockchain
|
|
53
|
+
fileType: "url", // default - infer if possible
|
|
54
|
+
pricing: priceSpec,
|
|
55
|
+
serviceEndpoint: asset.services[0].serviceEndpoint,
|
|
56
|
+
serviceType: asset.services[0].type,
|
|
57
|
+
timeout: asset.services[0].timeout,
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
asset.metadata.description,
|
|
61
|
+
];
|
|
62
|
+
}
|
|
63
|
+
async function getAssets(did, tags) {
|
|
64
|
+
const connection = await connection_1.Connection.connect();
|
|
65
|
+
if (did) {
|
|
66
|
+
return [await connection.nautilus.getAquariusAsset(did)];
|
|
67
|
+
}
|
|
68
|
+
if (!tags)
|
|
69
|
+
return [];
|
|
70
|
+
const chainIds = [connection.networkConfig.chainId];
|
|
71
|
+
const { metadataCacheUri } = connection.networkConfig;
|
|
72
|
+
const datasets = await (0, aquarius_1.GetDatasetsByTags)(tags, chainIds, metadataCacheUri);
|
|
73
|
+
const assets = await Promise.all(datasets.map((dataset) => connection.nautilus.getAquariusAsset(dataset.did)));
|
|
74
|
+
return assets;
|
|
75
|
+
}
|
|
76
|
+
class Render extends core_1.Command {
|
|
77
|
+
async run() {
|
|
78
|
+
const { args, flags } = await this.parse(Render);
|
|
79
|
+
const { did } = args;
|
|
80
|
+
const { tags, onlyAccess } = flags;
|
|
81
|
+
const assets = await getAssets(did, tags);
|
|
82
|
+
for (const asset of assets) {
|
|
83
|
+
const [spec, description] = getSpecFromAsset(asset);
|
|
84
|
+
if (onlyAccess && spec.service.serviceType !== "access") {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
const owner = spec.metadata.owner.slice(2);
|
|
88
|
+
const ownerFolder = node_path_1.default.join(process.cwd(), flags.dst, owner);
|
|
89
|
+
const datasetFolder = node_path_1.default.join(ownerFolder, spec.metadata.name);
|
|
90
|
+
(0, node_fs_1.mkdirSync)(datasetFolder, { recursive: true });
|
|
91
|
+
// Save spec.yaml
|
|
92
|
+
const yamlStr = (0, yaml_1.stringify)(spec);
|
|
93
|
+
const outputPath = node_path_1.default.join(datasetFolder, `spec.yaml`);
|
|
94
|
+
(0, node_fs_1.writeFileSync)(outputPath, yamlStr);
|
|
95
|
+
// Save description.md
|
|
96
|
+
const descriptionPath = node_path_1.default.join(datasetFolder, `description.md`);
|
|
97
|
+
(0, node_fs_1.writeFileSync)(descriptionPath, description);
|
|
98
|
+
console.log(`Spec saved to ${datasetFolder}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
Render.args = {
|
|
103
|
+
did: core_1.Args.string({ description: "Dataset DID", required: false }),
|
|
104
|
+
};
|
|
105
|
+
Render.flags = {
|
|
106
|
+
dst: core_1.Flags.string({
|
|
107
|
+
char: "d",
|
|
108
|
+
default: "rendered",
|
|
109
|
+
description: "Destination folder to save the rendered specs",
|
|
110
|
+
required: false,
|
|
111
|
+
}),
|
|
112
|
+
tags: core_1.Flags.string({
|
|
113
|
+
char: "t",
|
|
114
|
+
description: "Tags to filter datasets (they must have all the provided tags)",
|
|
115
|
+
multiple: true,
|
|
116
|
+
required: false,
|
|
117
|
+
}),
|
|
118
|
+
onlyAccess: core_1.Flags.boolean({
|
|
119
|
+
char: "a",
|
|
120
|
+
description: "Only render datasets with an access service",
|
|
121
|
+
default: false,
|
|
122
|
+
required: false,
|
|
123
|
+
}),
|
|
124
|
+
};
|
|
125
|
+
exports.default = Render;
|
|
126
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { Command } from
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
2
|
export default class Revoke extends Command {
|
|
3
|
-
static
|
|
4
|
-
|
|
5
|
-
};
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: Command.Example[];
|
|
6
5
|
static flags: {
|
|
6
|
+
dids: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
manifest: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
paths: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
recursive: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
7
10
|
yes: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
11
|
};
|
|
9
|
-
static description: string;
|
|
10
|
-
static examples: Command.Example[];
|
|
11
12
|
run(): Promise<void>;
|
|
12
13
|
}
|
package/dist/commands/revoke.js
CHANGED
|
@@ -5,46 +5,115 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const nautilus_1 = require("@deltadao/nautilus");
|
|
7
7
|
const core_1 = require("@oclif/core");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
9
|
const readline_sync_1 = __importDefault(require("readline-sync"));
|
|
9
10
|
const connection_1 = require("../utils/connection");
|
|
11
|
+
const manifest_1 = require("../lib/manifest");
|
|
12
|
+
const spec_1 = require("../lib/spec");
|
|
13
|
+
const yaml_1 = require("../lib/yaml");
|
|
10
14
|
class Revoke extends core_1.Command {
|
|
11
15
|
async run() {
|
|
12
|
-
const {
|
|
13
|
-
const dids =
|
|
14
|
-
const
|
|
15
|
-
if (
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const { flags } = await this.parse(Revoke);
|
|
17
|
+
const dids = flags.dids || [];
|
|
18
|
+
const paths = flags.paths || [];
|
|
19
|
+
if (dids.length === 0 && paths.length === 0) {
|
|
20
|
+
this.error("Please provide at least one DID or a path to a JSON/YAML file describing the assets to revoke");
|
|
21
|
+
}
|
|
22
|
+
if (paths.length > 0) {
|
|
23
|
+
const filesToRevoke = (0, spec_1.getFilesFromPaths)(paths, [
|
|
24
|
+
"spec.yaml",
|
|
25
|
+
"spec.json",
|
|
26
|
+
]);
|
|
27
|
+
const manifest = (0, manifest_1.readManifest)(flags.manifest);
|
|
28
|
+
for (const file of filesToRevoke) {
|
|
29
|
+
const config = (0, spec_1.parseConfig)(file);
|
|
30
|
+
const { did } = config.metadata;
|
|
31
|
+
if (!did) {
|
|
32
|
+
console.log(chalk_1.default.yellow(`Skipping file ${file} as it is not published.`));
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
console.log(chalk_1.default.blue(`Processing file: ${file}`));
|
|
36
|
+
const environmentConfig = await (0, spec_1.getEnvironmentConfig)(file, config, manifest);
|
|
37
|
+
if (!environmentConfig) {
|
|
38
|
+
console.error(chalk_1.default.red(`Skipping file ${file} due to missing environment configuration`));
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
const { network, owner, privateKey } = environmentConfig;
|
|
42
|
+
console.log(chalk_1.default.green(`Revoking file ${file} with owner ${owner} on network ${network}`));
|
|
43
|
+
try {
|
|
44
|
+
const envOverrides = {
|
|
45
|
+
NETWORK: network,
|
|
46
|
+
PRIVATE_KEY: privateKey,
|
|
47
|
+
};
|
|
48
|
+
const connection = await connection_1.Connection.connect(envOverrides);
|
|
49
|
+
const aquariusAsset = await connection.nautilus.getAquariusAsset(did);
|
|
50
|
+
await connection.nautilus.setAssetLifecycleState(aquariusAsset, nautilus_1.LifecycleStates.REVOKED_BY_PUBLISHER);
|
|
51
|
+
(0, yaml_1.deleteKeyFromYaml)(file, "metadata.did");
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
console.error(error);
|
|
55
|
+
this.error(`Error revoking file ${file}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (dids.length > 0) {
|
|
61
|
+
if (!flags.yes) {
|
|
62
|
+
const confirmation = readline_sync_1.default.keyInYNStrict(`Revoke assets ${dids.join(", ")}? `);
|
|
63
|
+
if (!confirmation) {
|
|
64
|
+
this.log("Revocation cancelled by user.");
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const connection = await connection_1.Connection.connect();
|
|
69
|
+
for (const did of dids) {
|
|
70
|
+
try {
|
|
18
71
|
const aquariusAsset = await connection.nautilus.getAquariusAsset(did);
|
|
19
|
-
this.log(
|
|
72
|
+
this.log("Sending transaction to revoke asset...");
|
|
20
73
|
const tx = await connection.nautilus.setAssetLifecycleState(aquariusAsset, nautilus_1.LifecycleStates.REVOKED_BY_PUBLISHER);
|
|
21
74
|
this.log(`Asset revoked, transaction: ${connection.networkConfig.explorerUri}/tx/${tx.transactionHash}\n`);
|
|
22
75
|
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
this.log(`Error revoking asset: ${error}`);
|
|
78
|
+
}
|
|
23
79
|
}
|
|
24
|
-
|
|
25
|
-
this.error(`Error revoking asset: ${error}`);
|
|
26
|
-
}
|
|
80
|
+
return;
|
|
27
81
|
}
|
|
28
82
|
}
|
|
29
83
|
}
|
|
30
|
-
Revoke.
|
|
31
|
-
|
|
32
|
-
|
|
84
|
+
Revoke.description = "Publisher revocation of one or more owned DIDs";
|
|
85
|
+
Revoke.examples = [
|
|
86
|
+
"<%= config.bin %> <%= command.id %> did:op:ffeee8c8f19328985ef6743b08e61ef89d5141027fd47612e32e7900cacd2b7a did:op:abcee8c8f19328985ef6743b08e61ef89d5141027fd47612e32e7900cacd2b7b",
|
|
87
|
+
];
|
|
88
|
+
Revoke.flags = {
|
|
89
|
+
dids: core_1.Flags.string({
|
|
90
|
+
char: "d",
|
|
91
|
+
description: "DID to revoke",
|
|
33
92
|
multiple: true,
|
|
34
|
-
required:
|
|
93
|
+
required: false,
|
|
35
94
|
}),
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
95
|
+
manifest: core_1.Flags.string({
|
|
96
|
+
char: "m",
|
|
97
|
+
default: "./manifest.yaml",
|
|
98
|
+
description: "Path to the manifest file",
|
|
99
|
+
}),
|
|
100
|
+
paths: core_1.Flags.string({
|
|
101
|
+
char: "p",
|
|
102
|
+
description: "Path to find a JSON/YAML file describing the assets to revoke",
|
|
103
|
+
multiple: true,
|
|
41
104
|
required: false,
|
|
105
|
+
}),
|
|
106
|
+
recursive: core_1.Flags.boolean({
|
|
107
|
+
char: "r",
|
|
42
108
|
default: false,
|
|
109
|
+
description: "Recursively revoke assets in a directory (only for JSON/YAML files)",
|
|
110
|
+
}),
|
|
111
|
+
yes: core_1.Flags.boolean({
|
|
112
|
+
char: "y",
|
|
113
|
+
default: false,
|
|
114
|
+
description: "Skip confirmation prompt",
|
|
115
|
+
required: false,
|
|
43
116
|
}),
|
|
44
117
|
};
|
|
45
|
-
Revoke.description = 'Publisher revocation of one or more owned DIDs';
|
|
46
|
-
Revoke.examples = [
|
|
47
|
-
'<%= config.bin %> <%= command.id %> did:op:ffeee8c8f19328985ef6743b08e61ef89d5141027fd47612e32e7900cacd2b7a did:op:abcee8c8f19328985ef6743b08e61ef89d5141027fd47612e32e7900cacd2b7b',
|
|
48
|
-
];
|
|
49
118
|
exports.default = Revoke;
|
|
50
119
|
//# sourceMappingURL=revoke.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revoke.js","sourceRoot":"","sources":["../../src/commands/revoke.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"revoke.js","sourceRoot":"","sources":["../../src/commands/revoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { Command } from
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
2
|
export default class SelfDescription extends Command {
|
|
3
3
|
static args: {
|
|
4
4
|
did: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
5
|
sdurl: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
6
|
};
|
|
7
|
+
static description: string;
|
|
8
|
+
static examples: Command.Example[];
|
|
7
9
|
static flags: {
|
|
8
10
|
yes: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
11
|
};
|
|
10
|
-
static description: string;
|
|
11
|
-
static examples: Command.Example[];
|
|
12
12
|
run(): Promise<void>;
|
|
13
13
|
}
|
|
@@ -12,7 +12,8 @@ class SelfDescription extends core_1.Command {
|
|
|
12
12
|
const { args, flags } = await this.parse(SelfDescription);
|
|
13
13
|
const { did, sdurl } = args;
|
|
14
14
|
const connection = await connection_1.Connection.connect();
|
|
15
|
-
if (flags.yes ||
|
|
15
|
+
if (flags.yes ||
|
|
16
|
+
readline_sync_1.default.keyInYNStrict(`Attach self description at ${sdurl} to asset ${did}? `)) {
|
|
16
17
|
try {
|
|
17
18
|
const aquariusAsset = await connection.nautilus.getAquariusAsset(did);
|
|
18
19
|
const assetBuilder = new nautilus_1.AssetBuilder(aquariusAsset);
|
|
@@ -36,18 +37,22 @@ class SelfDescription extends core_1.Command {
|
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
39
|
SelfDescription.args = {
|
|
39
|
-
did: core_1.Args.string({ description:
|
|
40
|
+
did: core_1.Args.string({ description: "DID of the asset", required: true }),
|
|
40
41
|
sdurl: core_1.Args.string({
|
|
41
|
-
description:
|
|
42
|
+
description: "URL of the Self-Description",
|
|
42
43
|
required: true,
|
|
43
44
|
}),
|
|
44
45
|
};
|
|
45
|
-
SelfDescription.
|
|
46
|
-
yes: core_1.Flags.boolean({ char: 'y', description: 'Skip confirmation prompt', default: false }),
|
|
47
|
-
};
|
|
48
|
-
SelfDescription.description = 'Associate Gaia-X Self-Description to the asset with the given DID';
|
|
46
|
+
SelfDescription.description = "Associate Gaia-X Self-Description to the asset with the given DID";
|
|
49
47
|
SelfDescription.examples = [
|
|
50
|
-
|
|
48
|
+
"<%= config.bin %> <%= command.id %> did:op:d22954f2cbf6a85c897ce605c275cc786e099592cc59e3b7dd66b93e784bed8c https://example.com/self-description.json",
|
|
51
49
|
];
|
|
50
|
+
SelfDescription.flags = {
|
|
51
|
+
yes: core_1.Flags.boolean({
|
|
52
|
+
char: "y",
|
|
53
|
+
default: false,
|
|
54
|
+
description: "Skip confirmation prompt",
|
|
55
|
+
}),
|
|
56
|
+
};
|
|
52
57
|
exports.default = SelfDescription;
|
|
53
58
|
//# sourceMappingURL=self-description.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-description.js","sourceRoot":"","sources":["../../src/commands/self-description.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"self-description.js","sourceRoot":"","sources":["../../src/commands/self-description.ts"],"names":[],"mappings":";;;;;AAAA,iDAAkD;AAClD,sCAAmD;AACnD,kEAAyC;AAEzC,mDAAgD;AAEhD,MAAqB,eAAgB,SAAQ,cAAO;IAqBlD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC5B,MAAM,UAAU,GAAG,MAAM,uBAAU,CAAC,OAAO,EAAE,CAAC;QAC9C,IACE,KAAK,CAAC,GAAG;YACT,uBAAY,CAAC,aAAa,CACxB,8BAA8B,KAAK,aAAa,GAAG,IAAI,CACxD,EACD,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACtE,MAAM,YAAY,GAAG,IAAI,uBAAY,CAAC,aAAa,CAAC,CAAC;gBACrD,MAAM,KAAK,GAAG,YAAY;qBACvB,wBAAwB,CAAC;oBACxB,gBAAgB,EAAE;wBAChB,SAAS,EAAE;4BACT,UAAU,EAAE,IAAI;4BAChB,GAAG,EAAE,KAAK;yBACX;qBACF;iBACF,CAAC;qBACD,KAAK,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,CAAC,GAAG,CACN,0DAA0D,UAAU,CAAC,aAAa,CAAC,WAAW,OAAO,MAAM,CAAC,oBAAoB,CAAC,eAAe,IAAI,CACrJ,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;;AAnDM,oBAAI,GAAG;IACZ,GAAG,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACrE,KAAK,EAAE,WAAI,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,6BAA6B;QAC1C,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAC;AACK,2BAAW,GAChB,mEAAmE,CAAC;AAC/D,wBAAQ,GAAsB;IACnC,uJAAuJ;CACxJ,CAAC;AACK,qBAAK,GAAG;IACb,GAAG,EAAE,YAAK,CAAC,OAAO,CAAC;QACjB,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,0BAA0B;KACxC,CAAC;CACH,CAAC;kBAnBiB,eAAe"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { PricingConfigWithoutOwner } from
|
|
1
|
+
import type { PricingConfigWithoutOwner } from "@deltadao/nautilus";
|
|
2
2
|
export declare enum Network {
|
|
3
|
-
GENX = "GENX",
|
|
4
3
|
PONTUSXDEV = "PONTUSXDEV",
|
|
5
4
|
PONTUSXTEST = "PONTUSXTEST"
|
|
6
5
|
}
|
|
@@ -39,10 +38,8 @@ export type NetworkConfig = {
|
|
|
39
38
|
veFeeEstimate?: string;
|
|
40
39
|
veOCEAN?: string;
|
|
41
40
|
};
|
|
42
|
-
export
|
|
43
|
-
(rate: number): PricingConfigWithoutOwner;
|
|
44
|
-
}
|
|
41
|
+
export type FixedRatePricingConfigGenerator = (rate: number) => PricingConfigWithoutOwner;
|
|
45
42
|
export type PricingConfigGenerators = {
|
|
43
|
+
fixedRateEURAU: FixedRatePricingConfigGenerator;
|
|
46
44
|
fixedRateEUROe: FixedRatePricingConfigGenerator;
|
|
47
|
-
fixedRateOcean: FixedRatePricingConfigGenerator;
|
|
48
45
|
};
|