@dcl/opscli 1.0.0-3932976398.commit-a4b8069 → 1.0.0-3933320380.commit-69d9a24

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 CHANGED
@@ -69,6 +69,26 @@ $ npx @dcl/opscli download-entity \
69
69
  --out ~/Downloads
70
70
  ```
71
71
 
72
+ ### `deploy-entity`
73
+
74
+ Deploys an entity to a content server
75
+
76
+ - `--pointer` Pointers of the entities, can be used many times, e.g. `--pointer=0,0 --pointer=0,1`
77
+ - `--entity-type` Entity type
78
+ - `--private-key` or `PRIVATE_KEY` env var
79
+ - `--dry` do everything except publishing the entity
80
+ - `--folder` to deploy, root level paths starting with `.` will be ignored, i.e. for .git folder. the `.metadata` file is required to create the entity
81
+
82
+ ```
83
+ $ npx @dcl/opscli deploy-entity \
84
+ --dry \
85
+ --content-server https://peer.decentraland.org/content \
86
+ --entity-type wearable \
87
+ --folder=urn:decentraland:off-chain:base-avatars:brown_pants \
88
+ --pointer=urn:decentraland:off-chain:base-avatars:brown_pants \
89
+ --private-key=bde921a4a4abc644cced18f632aed0b3d34b1b36bc16fd97721ade1b7178cfff
90
+ ```
91
+
72
92
  ### `query-rollout`
73
93
 
74
94
  Usage:
package/dist/bin.js CHANGED
@@ -13,6 +13,7 @@ const commands = {
13
13
  "secret-manager": "./commands/secret-manager",
14
14
  "parameters-manager": "./commands/parameters-manager",
15
15
  "download-entity": "./commands/download-entity",
16
+ "deploy-entity": "./commands/deploy-entity",
16
17
  "circleci": "./commands/circleci"
17
18
  };
18
19
  async function main() {
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";;;;AAEA,MAAa,QAAS,SAAQ,KAAK;CAAG;AAAtC,4BAAsC;AAEtC,MAAM,QAAQ,GAAG;IACf,eAAe,EAAE,0BAA0B;IAC3C,uBAAuB,EAAE,kCAAkC;IAC3D,qBAAqB,EAAE,gCAAgC;IACvD,qBAAqB,EAAE,gCAAgC;IACvD,gBAAgB,EAAE,2BAA2B;IAC7C,oBAAoB,EAAE,+BAA+B;IACrD,iBAAiB,EAAE,4BAA4B;IAC/C,UAAU,EAAE,qBAAqB;CAClC,CAAA;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAA0B,CAAA;IAE5D,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QAC1C,MAAM,IAAI,QAAQ,CAChB,kCAAkC;YAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC;iBAC3C,IAAI,CAAC,EAAE,CAAC,CACd,CAAA;KACF;IAED,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAA;IAEjD,MAAM,EAAE,EAAE,CAAA;AACZ,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,IAAI,GAAG,YAAY,QAAQ,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;KACzB;SAAM;QACL,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;KACnB;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";;;;AAEA,MAAa,QAAS,SAAQ,KAAK;CAAG;AAAtC,4BAAsC;AAEtC,MAAM,QAAQ,GAAG;IACf,eAAe,EAAE,0BAA0B;IAC3C,uBAAuB,EAAE,kCAAkC;IAC3D,qBAAqB,EAAE,gCAAgC;IACvD,qBAAqB,EAAE,gCAAgC;IACvD,gBAAgB,EAAE,2BAA2B;IAC7C,oBAAoB,EAAE,+BAA+B;IACrD,iBAAiB,EAAE,4BAA4B;IAC/C,eAAe,EAAE,0BAA0B;IAC3C,UAAU,EAAE,qBAAqB;CAClC,CAAA;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAA0B,CAAA;IAE5D,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QAC1C,MAAM,IAAI,QAAQ,CAChB,kCAAkC;YAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC;iBAC3C,IAAI,CAAC,EAAE,CAAC,CACd,CAAA;KACF;IAED,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAA;IAEjD,MAAM,EAAE,EAAE,CAAA;AACZ,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,IAAI,GAAG,YAAY,QAAQ,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;KACzB;SAAM;QACL,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;KACnB;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ declare const _default: () => Promise<void>;
2
+ export default _default;
3
+ //# sourceMappingURL=deploy-entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-entity.d.ts","sourceRoot":"","sources":["../../src/commands/deploy-entity.ts"],"names":[],"mappings":";AAaA,wBAsFC"}
@@ -0,0 +1,88 @@
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 promises_1 = require("fs/promises");
7
+ const eth_crypto_1 = __importDefault(require("eth-crypto"));
8
+ const dcl_catalyst_client_1 = require("dcl-catalyst-client");
9
+ const crypto_1 = require("@dcl/crypto");
10
+ const eth_connect_1 = require("eth-connect");
11
+ const crypto_2 = require("@dcl/crypto/dist/crypto");
12
+ const path_1 = __importDefault(require("path"));
13
+ const fs_1 = require("fs");
14
+ const bin_1 = require("../bin");
15
+ const arg_1 = __importDefault(require("arg"));
16
+ const console_1 = require("console");
17
+ const recurse_folder_1 = require("../helpers/recurse-folder");
18
+ exports.default = async () => {
19
+ const args = (0, arg_1.default)({
20
+ "--folder": String,
21
+ "--private-key": String,
22
+ "--entity-type": String,
23
+ "--pointer": [String],
24
+ "--content-server": String,
25
+ "--dry": Boolean,
26
+ });
27
+ const folder = path_1.default.resolve(args["--folder"] || process.cwd());
28
+ const entityType = args["--entity-type"];
29
+ (0, console_1.assert)(entityType, "An --entity-type must be provided");
30
+ const pointers = args["--pointer"];
31
+ (0, console_1.assert)(pointers.length > 0, "--pointer is missing");
32
+ console.log(`> Deploying entity in folder: ${folder}`);
33
+ console.log(` Entity type: ${entityType}`);
34
+ console.log(` Pointers: ${pointers.join(",")}`);
35
+ const contentUrl = (args["--content-server"] || "https://peer.decentraland.org/content").replace(/\/$/, "");
36
+ console.log(` Content server: ${contentUrl}`);
37
+ const client = new dcl_catalyst_client_1.ContentClient({ contentUrl });
38
+ const files = new Map();
39
+ console.log(` Content files:`);
40
+ for await (const fullPath of (0, recurse_folder_1.recurseFolder)(folder)) {
41
+ // NOTE: this may not work on windows machines because of path separators
42
+ let file = path_1.default.relative(folder, fullPath);
43
+ if (file.startsWith("."))
44
+ continue; // ignore dotfiles and git
45
+ console.log(` - ${file}`);
46
+ files.set(file, await (0, promises_1.readFile)(fullPath));
47
+ }
48
+ const metadataPath = path_1.default.join(folder, ".metadata");
49
+ if (!(0, fs_1.existsSync)(metadataPath)) {
50
+ throw new bin_1.CliError(`File ${metadataPath} doesn't exist`);
51
+ }
52
+ const metadataFile = await (0, promises_1.readFile)(metadataPath);
53
+ const metadata = JSON.parse(metadataFile.toString());
54
+ const deploymentEntity = await dcl_catalyst_client_1.DeploymentBuilder.buildEntity({
55
+ type: entityType,
56
+ pointers,
57
+ files,
58
+ metadata,
59
+ timestamp: new Date().getTime(),
60
+ });
61
+ console.log(` EntityId: ${deploymentEntity.entityId}`);
62
+ console.log(` Hashes: ${Array.from(deploymentEntity.files.keys()).join(',')}`);
63
+ const privateKey = args["--private-key"] || process.env.PRIVATE_KEY;
64
+ (0, console_1.assert)(privateKey, "Missing --private-key or PRIVATE_KEY env var");
65
+ const sig = (0, crypto_2.ethSign)((0, eth_connect_1.hexToBytes)(privateKey), "test");
66
+ const address = (0, crypto_2.recoverAddressFromEthSignature)(sig, "test");
67
+ console.log(` Signer address: ${address}`);
68
+ const messageHash = crypto_1.Authenticator.createEthereumMessageHash(deploymentEntity.entityId);
69
+ const signature = eth_crypto_1.default.sign(privateKey, Buffer.from(messageHash).toString("hex"));
70
+ const authChain = crypto_1.Authenticator.createSimpleAuthChain(deploymentEntity.entityId, address, signature);
71
+ console.log(` Auth chain: ${JSON.stringify(authChain)}`);
72
+ if (!args["--dry"]) {
73
+ try {
74
+ const result = await client.deploy({
75
+ entityId: deploymentEntity.entityId,
76
+ authChain: authChain,
77
+ files: deploymentEntity.files,
78
+ });
79
+ console.log("> Done. Result:");
80
+ console.log(result);
81
+ }
82
+ catch (e) {
83
+ console.error(e);
84
+ throw new bin_1.CliError(`Error deploying entity ${deploymentEntity.entityId} on ${pointers}`);
85
+ }
86
+ }
87
+ };
88
+ //# sourceMappingURL=deploy-entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-entity.js","sourceRoot":"","sources":["../../src/commands/deploy-entity.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"download-entity.d.ts","sourceRoot":"","sources":["../../src/commands/download-entity.ts"],"names":[],"mappings":";AAKA,wBAoBC"}
1
+ {"version":3,"file":"download-entity.d.ts","sourceRoot":"","sources":["../../src/commands/download-entity.ts"],"names":[],"mappings":";AAKA,wBAqBC"}
@@ -38,9 +38,9 @@ exports.default = async () => {
38
38
  const out = args["--out"] || process.cwd();
39
39
  const entities = await (0, downloads_1.getEntities)(pointers, server);
40
40
  for (const entity of entities) {
41
- const destFolder = (0, path_1.resolve)(out, entity.pointers[0]) + path_1.default.sep;
41
+ const destFolder = (0, path_1.join)((0, path_1.resolve)(out), entity.pointers[0]) + path_1.default.sep;
42
42
  console.log(`\nDownloading entity with pointers ${entity.pointers.join(',')} into ${destFolder}`);
43
- await (0, downloads_1.downloadEntityAndMetadata)(entity, server, out);
43
+ await (0, downloads_1.downloadEntityAndMetadata)(entity, server, destFolder);
44
44
  }
45
45
  };
46
46
  //# sourceMappingURL=download-entity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"download-entity.js","sourceRoot":"","sources":["../../src/commands/download-entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAqB;AACrB,6CAAoC;AACpC,8CAA0C;AAC1C,oDAA6E;AAE7E,kBAAe,KAAK,IAAI,EAAE;IACxB,MAAM,IAAI,GAAG,IAAA,aAAG,EAAC;QACf,WAAW,EAAE,CAAC,MAAM,CAAC;QACrB,kBAAkB,EAAE,MAAM;QAC1B,OAAO,EAAE,MAAM;KAChB,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAE,CAAA;IAEnC,IAAA,eAAM,EAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,sBAAsB,CAAC,CAAA;IAEnD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,uCAAuC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACvG,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IAE1C,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAW,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACpD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;QAC7B,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,cAAI,CAAC,GAAG,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC,sCAAsC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,UAAU,EAAE,CAAC,CAAA;QACjG,MAAM,IAAA,qCAAyB,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;KACrD;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"download-entity.js","sourceRoot":"","sources":["../../src/commands/download-entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAqB;AACrB,6CAA0C;AAC1C,8CAA0C;AAC1C,oDAA6E;AAE7E,kBAAe,KAAK,IAAI,EAAE;IACxB,MAAM,IAAI,GAAG,IAAA,aAAG,EAAC;QACf,WAAW,EAAE,CAAC,MAAM,CAAC;QACrB,kBAAkB,EAAE,MAAM;QAC1B,OAAO,EAAE,MAAM;KAChB,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAE,CAAA;IAEnC,IAAA,eAAM,EAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,sBAAsB,CAAC,CAAA;IAEnD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,uCAAuC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACvG,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IAE1C,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAW,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAEpD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;QAC7B,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,IAAA,cAAO,EAAC,GAAG,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,cAAI,CAAC,GAAG,CAAA;QACpE,OAAO,CAAC,GAAG,CAAC,sCAAsC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,UAAU,EAAE,CAAC,CAAA;QACjG,MAAM,IAAA,qCAAyB,EAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;KAC5D;AACH,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function recurseFolder(folder: string): AsyncIterable<string>;
2
+ //# sourceMappingURL=recurse-folder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recurse-folder.d.ts","sourceRoot":"","sources":["../../src/helpers/recurse-folder.ts"],"names":[],"mappings":"AAGA,wBAAuB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAO1E"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.recurseFolder = void 0;
23
+ const fs = __importStar(require("fs/promises"));
24
+ const path = __importStar(require("path"));
25
+ async function* recurseFolder(folder) {
26
+ const dir = await fs.opendir(folder, { bufferSize: 4000 });
27
+ for await (const entry of dir) {
28
+ const resolved = path.resolve(folder, entry.name);
29
+ if (entry.isDirectory())
30
+ yield* recurseFolder(resolved);
31
+ else
32
+ yield resolved;
33
+ }
34
+ }
35
+ exports.recurseFolder = recurseFolder;
36
+ //# sourceMappingURL=recurse-folder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recurse-folder.js","sourceRoot":"","sources":["../../src/helpers/recurse-folder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAiC;AACjC,2CAA4B;AAErB,KAAK,SAAS,CAAC,CAAC,aAAa,CAAC,MAAc;IACjD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1D,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACjD,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,KAAK,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;;YAClD,MAAM,QAAQ,CAAA;KACpB;AACH,CAAC;AAPD,sCAOC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dcl/opscli",
3
- "version": "1.0.0-3932976398.commit-a4b8069",
3
+ "version": "1.0.0-3933320380.commit-69d9a24",
4
4
  "description": "base component",
5
5
  "bin": "dist/bin.js",
6
6
  "main": "dist/index.js",
@@ -33,13 +33,16 @@
33
33
  "typescript": "^4.3.5"
34
34
  },
35
35
  "dependencies": {
36
+ "@dcl/crypto": "^3.2.4",
36
37
  "@dcl/schemas": "^6.4.2",
37
38
  "arg": "^5.0.2",
39
+ "dcl-catalyst-client": "^14.0.6",
40
+ "eth-crypto": "^2.5.0",
38
41
  "simple-git": "^3.14.0",
39
42
  "undici": "^5.15.0"
40
43
  },
41
44
  "files": [
42
45
  "dist"
43
46
  ],
44
- "commit": "a4b80691bde977e63a4830ed728c64a9e7a53ab8"
47
+ "commit": "69d9a24c4865b4bfa0778323d00e758f5f30cd1f"
45
48
  }