@layr-labs/ecloud-cli 0.2.0 → 0.2.2-dev

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.
Files changed (48) hide show
  1. package/VERSION +2 -2
  2. package/dist/commands/auth/whoami.js +16 -3
  3. package/dist/commands/auth/whoami.js.map +1 -1
  4. package/dist/commands/billing/cancel.js +44 -5
  5. package/dist/commands/billing/cancel.js.map +1 -1
  6. package/dist/commands/billing/status.js +44 -5
  7. package/dist/commands/billing/status.js.map +1 -1
  8. package/dist/commands/billing/subscribe.js +44 -5
  9. package/dist/commands/billing/subscribe.js.map +1 -1
  10. package/dist/commands/compute/app/create.js +16 -3
  11. package/dist/commands/compute/app/create.js.map +1 -1
  12. package/dist/commands/compute/app/deploy.js +120 -25
  13. package/dist/commands/compute/app/deploy.js.map +1 -1
  14. package/dist/commands/compute/app/info.js +124 -35
  15. package/dist/commands/compute/app/info.js.map +1 -1
  16. package/dist/commands/compute/app/list.js +78 -17
  17. package/dist/commands/compute/app/list.js.map +1 -1
  18. package/dist/commands/compute/app/logs.js +69 -28
  19. package/dist/commands/compute/app/logs.js.map +1 -1
  20. package/dist/commands/compute/app/profile/set.js +109 -40
  21. package/dist/commands/compute/app/profile/set.js.map +1 -1
  22. package/dist/commands/compute/app/releases.js +82 -120
  23. package/dist/commands/compute/app/releases.js.map +1 -1
  24. package/dist/commands/compute/app/start.js +77 -35
  25. package/dist/commands/compute/app/start.js.map +1 -1
  26. package/dist/commands/compute/app/stop.js +77 -35
  27. package/dist/commands/compute/app/stop.js.map +1 -1
  28. package/dist/commands/compute/app/terminate.js +77 -35
  29. package/dist/commands/compute/app/terminate.js.map +1 -1
  30. package/dist/commands/compute/app/upgrade.js +117 -39
  31. package/dist/commands/compute/app/upgrade.js.map +1 -1
  32. package/dist/commands/compute/build/info.js +56 -16
  33. package/dist/commands/compute/build/info.js.map +1 -1
  34. package/dist/commands/compute/build/list.js +72 -67
  35. package/dist/commands/compute/build/list.js.map +1 -1
  36. package/dist/commands/compute/build/logs.js +55 -13
  37. package/dist/commands/compute/build/logs.js.map +1 -1
  38. package/dist/commands/compute/build/status.js +55 -13
  39. package/dist/commands/compute/build/status.js.map +1 -1
  40. package/dist/commands/compute/build/submit.js +68 -9
  41. package/dist/commands/compute/build/submit.js.map +1 -1
  42. package/dist/commands/compute/build/verify.js +55 -13
  43. package/dist/commands/compute/build/verify.js.map +1 -1
  44. package/dist/commands/compute/environment/set.js +20 -7
  45. package/dist/commands/compute/environment/set.js.map +1 -1
  46. package/dist/commands/compute/undelegate.js +46 -10
  47. package/dist/commands/compute/undelegate.js.map +1 -1
  48. package/package.json +2 -2
@@ -14,9 +14,9 @@ import fs3 from "fs";
14
14
  import path3 from "path";
15
15
  import os3 from "os";
16
16
  import { isAddress as isAddress2 } from "viem";
17
- import { privateKeyToAccount as privateKeyToAccount2 } from "viem/accounts";
17
+ import { privateKeyToAccount as privateKeyToAccount3 } from "viem/accounts";
18
18
  import {
19
- getEnvironmentConfig,
19
+ getEnvironmentConfig as getEnvironmentConfig2,
20
20
  getAvailableEnvironments,
21
21
  isEnvironmentAvailable,
22
22
  getAllAppsByDeveloper as getAllAppsByDeveloper2,
@@ -33,12 +33,43 @@ import {
33
33
 
34
34
  // src/utils/appResolver.ts
35
35
  import { isAddress } from "viem";
36
- import { privateKeyToAccount } from "viem/accounts";
36
+ import { privateKeyToAccount as privateKeyToAccount2 } from "viem/accounts";
37
37
  import {
38
38
  UserApiClient,
39
39
  getAllAppsByDeveloper
40
40
  } from "@layr-labs/ecloud-sdk";
41
41
 
42
+ // src/utils/viemClients.ts
43
+ import {
44
+ createPublicClient,
45
+ http
46
+ } from "viem";
47
+ import { privateKeyToAccount } from "viem/accounts";
48
+ import {
49
+ getEnvironmentConfig,
50
+ addHexPrefix,
51
+ createViemClients as sdkCreateViemClients,
52
+ getChainFromID
53
+ } from "@layr-labs/ecloud-sdk";
54
+ function createViemClients(options) {
55
+ const privateKey = addHexPrefix(options.privateKey);
56
+ const environmentConfig = getEnvironmentConfig(options.environment);
57
+ const rpcUrl = options.rpcUrl || environmentConfig.defaultRPCURL;
58
+ const chain = getChainFromID(environmentConfig.chainID);
59
+ const { publicClient, walletClient } = sdkCreateViemClients({
60
+ privateKey,
61
+ rpcUrl,
62
+ chainId: environmentConfig.chainID
63
+ });
64
+ const account = privateKeyToAccount(privateKey);
65
+ return {
66
+ publicClient,
67
+ walletClient,
68
+ chain,
69
+ address: account.address
70
+ };
71
+ }
72
+
42
73
  // src/utils/globalConfig.ts
43
74
  import * as fs from "fs";
44
75
  import * as path from "path";
@@ -125,7 +156,7 @@ var APPS_DIR = path2.join(CONFIG_DIR, "apps");
125
156
 
126
157
  // src/utils/version.ts
127
158
  function getCliVersion() {
128
- return true ? "0.2.0" : "0.0.0";
159
+ return true ? "0.2.2-dev" : "0.0.0";
129
160
  }
130
161
  function getClientId() {
131
162
  return `ecloud-cli/v${getCliVersion()}`;
@@ -242,7 +273,7 @@ async function getPrivateKeyInteractive(privateKey) {
242
273
  async function getEnvironmentInteractive(environment) {
243
274
  if (environment) {
244
275
  try {
245
- getEnvironmentConfig(environment);
276
+ getEnvironmentConfig2(environment);
246
277
  if (!isEnvironmentAvailable(environment)) {
247
278
  throw new Error(`Environment ${environment} is not available in this build`);
248
279
  }
@@ -255,7 +286,7 @@ async function getEnvironmentInteractive(environment) {
255
286
  const configDefaultEnv = getDefaultEnvironment();
256
287
  if (configDefaultEnv && availableEnvs.includes(configDefaultEnv)) {
257
288
  try {
258
- getEnvironmentConfig(configDefaultEnv);
289
+ getEnvironmentConfig2(configDefaultEnv);
259
290
  defaultEnv = configDefaultEnv;
260
291
  } catch {
261
292
  }
@@ -322,16 +353,27 @@ import {
322
353
  createComputeModule,
323
354
  createBillingModule,
324
355
  createBuildModule,
325
- getEnvironmentConfig as getEnvironmentConfig2,
356
+ getEnvironmentConfig as getEnvironmentConfig3,
326
357
  requirePrivateKey,
327
358
  getPrivateKeyWithSource
328
359
  } from "@layr-labs/ecloud-sdk";
329
360
  async function createBuildClient(flags) {
330
361
  flags = await validateCommonFlags(flags, { requirePrivateKey: false });
362
+ const environment = flags.environment || "mainnet";
363
+ const environmentConfig = getEnvironmentConfig3(environment);
364
+ const rpcUrl = flags["rpc-url"] || environmentConfig.defaultRPCURL;
365
+ let walletClient;
366
+ if (flags["private-key"]) {
367
+ walletClient = createViemClients({
368
+ privateKey: flags["private-key"],
369
+ rpcUrl,
370
+ environment
371
+ }).walletClient;
372
+ }
331
373
  return createBuildModule({
332
374
  verbose: flags.verbose,
333
- privateKey: flags["private-key"],
334
- environment: flags.environment,
375
+ walletClient,
376
+ environment,
335
377
  clientId: getClientId(),
336
378
  skipTelemetry: true
337
379
  // CLI already has telemetry, skip SDK telemetry
@@ -561,6 +603,10 @@ Build ID: ${chalk.cyan(buildId)}`);
561
603
  `
562
604
  Use ${chalk.yellow(`ecloud compute build logs ${buildId} --follow`)} to watch progress`
563
605
  );
606
+ this.log("");
607
+ this.log(chalk.gray("After the build completes, deploy or upgrade your app with the digest:"));
608
+ this.log(chalk.gray(" ecloud compute app deploy --verifiable --image-ref <digest>"));
609
+ this.log(chalk.gray(" ecloud compute app upgrade <app-id> --verifiable --image-ref <digest>"));
564
610
  }
565
611
  return;
566
612
  }
@@ -607,6 +653,19 @@ Use ${chalk.yellow(`ecloud compute build logs ${buildId} --follow`)} to watch pr
607
653
  })) {
608
654
  this.log(line);
609
655
  }
656
+ this.log("");
657
+ this.log(chalk.bold("Next Steps:"));
658
+ this.log(
659
+ chalk.gray(
660
+ "Submitting a build alone doesn't update your app. Deploy or upgrade with the new digest:"
661
+ )
662
+ );
663
+ this.log("");
664
+ this.log(chalk.yellow(" Deploy a new app:"));
665
+ this.log(` ecloud compute app deploy --verifiable --image-ref ${build.imageDigest}`);
666
+ this.log("");
667
+ this.log(chalk.yellow(" Upgrade an existing app:"));
668
+ this.log(` ecloud compute app upgrade <app-id> --verifiable --image-ref ${build.imageDigest}`);
610
669
  } else {
611
670
  this.log(chalk.red(`Build failed: ${build.errorMessage ?? "Unknown error"}`));
612
671
  }