@settlemint/sdk-cli 1.1.5 → 1.1.6-mainadd09436

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
@@ -249,7 +249,7 @@ settlemint scs subgraph deploy --accept-defaults <subgraph-name>
249
249
 
250
250
  ## API Reference
251
251
 
252
- See the [documentation](https://github.com/settlemint/sdk/tree/v1.1.5/sdk/cli/docs/settlemint.md) for available commands.
252
+ See the [documentation](https://github.com/settlemint/sdk/tree/v1.1.6/sdk/cli/docs/settlemint.md) for available commands.
253
253
 
254
254
  ## Contributing
255
255
 
package/dist/cli.js CHANGED
@@ -274462,7 +274462,7 @@ function pruneCurrentEnv(currentEnv, env2) {
274462
274462
  var package_default = {
274463
274463
  name: "@settlemint/sdk-cli",
274464
274464
  description: "Command-line interface for SettleMint SDK, providing development tools and project management capabilities",
274465
- version: "1.1.5",
274465
+ version: "1.1.6-mainadd09436",
274466
274466
  type: "module",
274467
274467
  private: false,
274468
274468
  license: "FSL-1.1-MIT",
@@ -274510,8 +274510,8 @@ var package_default = {
274510
274510
  "@inquirer/input": "4.1.5",
274511
274511
  "@inquirer/password": "4.0.8",
274512
274512
  "@inquirer/select": "4.0.8",
274513
- "@settlemint/sdk-js": "1.1.5",
274514
- "@settlemint/sdk-utils": "1.1.5",
274513
+ "@settlemint/sdk-js": "1.1.6-mainadd09436",
274514
+ "@settlemint/sdk-utils": "1.1.6-mainadd09436",
274515
274515
  "@types/node": "22.13.1",
274516
274516
  "@types/semver": "7.5.8",
274517
274517
  "@types/which": "3.0.4",
@@ -275760,6 +275760,11 @@ var outro = (msg) => {
275760
275760
  console.log("");
275761
275761
  };
275762
275762
  var SpinnerError = class extends Error {
275763
+ constructor(message, originalError) {
275764
+ super(message);
275765
+ this.originalError = originalError;
275766
+ this.name = "SpinnerError";
275767
+ }
275763
275768
  };
275764
275769
  var spinner = async (options) => {
275765
275770
  const handleError = (error) => {
@@ -275767,7 +275772,7 @@ var spinner = async (options) => {
275767
275772
  note(redBright(`${errorMessage}
275768
275773
 
275769
275774
  ${error.stack}`));
275770
- throw new SpinnerError(errorMessage);
275775
+ throw new SpinnerError(errorMessage, error);
275771
275776
  };
275772
275777
  if (is_in_ci_default) {
275773
275778
  try {
@@ -279773,6 +279778,7 @@ async function codegenTsconfig(env2, thegraphSubgraphNames) {
279773
279778
  const tadaConfig = {
279774
279779
  name: "gql.tada/ts-plugin",
279775
279780
  trackFieldUsage: false,
279781
+ shouldCheckForColocatedFragments: false,
279776
279782
  schemas: [
279777
279783
  ...hasura ? [
279778
279784
  {
@@ -282422,7 +282428,8 @@ async function waitForCompletion({
282422
282428
  try {
282423
282429
  return await showSpinner();
282424
282430
  } catch (error5) {
282425
- if (restartIfTimeout && error5 instanceof TimeoutError) {
282431
+ const isTimeoutError = error5 instanceof SpinnerError && error5.originalError instanceof TimeoutError;
282432
+ if (restartIfTimeout && isTimeoutError) {
282426
282433
  note(`Restarting ${capitalizeFirstLetter2(type4)}`);
282427
282434
  await service.restart(uniqueName);
282428
282435
  return showSpinner();
@@ -284676,8 +284683,10 @@ function foundryBuildCommand() {
284676
284683
  command: "scs foundry build --optimize --force"
284677
284684
  }
284678
284685
  ])).helpOption(false).option("-h, --help", "Get list of possible forge options").passThroughOptions().allowUnknownOption(true).action(async (passThroughOptions, cmd2) => {
284686
+ intro("Building smart contracts using Foundry");
284679
284687
  const forgeOptions = mapPassthroughOptions(passThroughOptions, cmd2);
284680
284688
  await executeFoundryCommand("forge", ["build", ...forgeOptions]);
284689
+ outro("Smart contracts built successfully");
284681
284690
  });
284682
284691
  }
284683
284692
 
@@ -284697,9 +284706,10 @@ function foundryFormatCommand() {
284697
284706
  command: "scs foundry format --check"
284698
284707
  }
284699
284708
  ])).helpOption(false).option("-h, --help", "Get list of possible forge options").passThroughOptions().allowUnknownOption(true).action(async (passThroughOptions, cmd2) => {
284709
+ intro("Formatting smart contracts using Foundry");
284700
284710
  const forgeOptions = mapPassthroughOptions(passThroughOptions, cmd2);
284701
284711
  await executeFoundryCommand("forge", ["fmt", ...forgeOptions]);
284702
- note("Smart contract set formatted successfully!");
284712
+ outro("Smart contracts formatted successfully");
284703
284713
  });
284704
284714
  }
284705
284715
 
@@ -284740,8 +284750,10 @@ function foundryTestCommand() {
284740
284750
  command: "scs foundry test --match-test testToken"
284741
284751
  }
284742
284752
  ])).helpOption(false).option("-h, --help", "Get list of possible forge options").passThroughOptions().allowUnknownOption(true).action(async (passThroughOptions, cmd2) => {
284753
+ intro("Running smart contract tests using Foundry");
284743
284754
  const forgeOptions = mapPassthroughOptions(passThroughOptions, cmd2);
284744
284755
  await executeFoundryCommand("forge", ["test", ...forgeOptions]);
284756
+ outro("Smart contract tests completed");
284745
284757
  });
284746
284758
  }
284747
284759
 
@@ -284777,10 +284789,12 @@ function hardhatBuildCommand() {
284777
284789
  command: "scs hardhat build --concurrency 2"
284778
284790
  }
284779
284791
  ])).helpOption(false).option("-h, --help", "Get list of possible hardhat compile options").passThroughOptions().allowUnknownOption(true).action(async (passThroughOptions, cmd2) => {
284792
+ intro("Building smart contracts using Hardhat");
284780
284793
  await validateIfRequiredPackagesAreInstalled(["hardhat"]);
284781
284794
  const hardhatOptions = mapPassthroughOptions(passThroughOptions, cmd2);
284782
284795
  const { command, args } = await getPackageManagerExecutable();
284783
284796
  await executeCommand(command, [...args, "hardhat", "compile", ...hardhatOptions]);
284797
+ outro("Smart contracts built successfully");
284784
284798
  });
284785
284799
  }
284786
284800
 
@@ -284804,6 +284818,7 @@ function hardhatDeployLocalCommand() {
284804
284818
  command: "scs hardhat deploy local --verify"
284805
284819
  }
284806
284820
  ])).option("-m, --module <ignitionmodule>", 'The module to deploy with Ignition, defaults to "ignition/modules/main.ts"').option("-r, --reset", "Wipes the existing deployment state before deploying").option("-v, --verify", "Verify the deployment on Etherscan").action(async ({ module, reset: reset2, verify }) => {
284821
+ intro("Deploying smart contracts to local network using Hardhat/Ignition");
284807
284822
  await validateIfRequiredPackagesAreInstalled(["hardhat"]);
284808
284823
  const { command, args } = await getPackageManagerExecutable();
284809
284824
  await executeCommand(command, [
@@ -284817,6 +284832,7 @@ function hardhatDeployLocalCommand() {
284817
284832
  "localhost",
284818
284833
  module ?? "ignition/modules/main.ts"
284819
284834
  ].filter(Boolean));
284835
+ outro("Smart contracts deployed successfully to local network");
284820
284836
  });
284821
284837
  }
284822
284838
 
@@ -284981,6 +284997,7 @@ function hardhatDeployRemoteCommand() {
284981
284997
  acceptDefaults,
284982
284998
  blockchainNode: blockchainNodeUniqueName
284983
284999
  }) => {
285000
+ intro("Deploying smart contracts to remote network using Hardhat/Ignition");
284984
285001
  await validateIfRequiredPackagesAreInstalled(["hardhat"]);
284985
285002
  const autoAccept = !!acceptDefaults || is_in_ci_default;
284986
285003
  const env2 = await loadEnv(false, !!prod);
@@ -285024,6 +285041,7 @@ function hardhatDeployRemoteCommand() {
285024
285041
  address,
285025
285042
  module ?? "ignition/modules/main.ts"
285026
285043
  ].filter(Boolean), { env: envConfig });
285044
+ outro("Smart contracts deployed successfully to remote network");
285027
285045
  });
285028
285046
  return cmd2;
285029
285047
  }
@@ -285052,16 +285070,19 @@ function hardhatNetworkCommand() {
285052
285070
  command: "scs hardhat network --port 3000"
285053
285071
  }
285054
285072
  ])).helpOption(false).option("-h, --help", "Get list of possible hardhat node options").passThroughOptions().allowUnknownOption(true).action(async (passThroughOptions, cmd2) => {
285073
+ intro("Starting development network using Hardhat");
285055
285074
  await validateIfRequiredPackagesAreInstalled(["hardhat"]);
285056
285075
  const hardhatOptions = mapPassthroughOptions(passThroughOptions, cmd2);
285057
285076
  const { command, args } = await getPackageManagerExecutable();
285058
285077
  await executeCommand(command, [...args, "hardhat", "node", ...hardhatOptions]);
285078
+ outro("Development network started successfully");
285059
285079
  });
285060
285080
  }
285061
285081
 
285062
285082
  // src/commands/smart-contract-set/hardhat/script/local.ts
285063
285083
  function hardhatScriptLocalCommand() {
285064
285084
  return new Command("local").description("Run a Hardhat script to deploy a contract on the platform or interact with a deployed contract.").requiredOption("-s, --script <script>", 'The script to run with Hardhat , e.g. "scripts/deploy.ts"').option("--no-compile", "Don't compile before running this task").action(async ({ script, compile }) => {
285085
+ intro("Running Hardhat script on local network");
285065
285086
  await validateIfRequiredPackagesAreInstalled(["hardhat"]);
285066
285087
  const { command, args } = await getPackageManagerExecutable();
285067
285088
  await executeCommand(command, [
@@ -285073,6 +285094,7 @@ function hardhatScriptLocalCommand() {
285073
285094
  "localhost",
285074
285095
  ...compile ? ["--no-compile"] : []
285075
285096
  ]);
285097
+ outro("Script execution completed successfully");
285076
285098
  });
285077
285099
  }
285078
285100
 
@@ -285080,6 +285102,7 @@ function hardhatScriptLocalCommand() {
285080
285102
  function hardhatScriptRemoteCommand() {
285081
285103
  const cmd2 = new Command("remote").description("Run a Hardhat script to deploy a contract on the platform or interact with a deployed contract.").requiredOption("-s, --script <script>", 'The script to run with Hardhat , e.g. "scripts/deploy.ts"').option("--blockchain-node <blockchainNode>", "Blockchain Node unique name (optional, defaults to the blockchain node in the environment)").option("--prod", "Connect to your production environment").option("-a, --accept-defaults", "Accept the default and previously set values").option("--no-compile", "Don't compile before running this task");
285082
285104
  cmd2.action(async ({ script, prod, blockchainNode: blockchainNodeUniqueName, acceptDefaults, compile }) => {
285105
+ intro("Running Hardhat script on remote network");
285083
285106
  await validateIfRequiredPackagesAreInstalled(["hardhat"]);
285084
285107
  const autoAccept = !!acceptDefaults || is_in_ci_default;
285085
285108
  const env2 = await loadEnv(false, !!prod);
@@ -285097,6 +285120,7 @@ function hardhatScriptRemoteCommand() {
285097
285120
  const envConfig = await settlemint.foundry.env(node.uniqueName);
285098
285121
  const { command, args } = await getPackageManagerExecutable();
285099
285122
  await executeCommand(command, [...args, "hardhat", "run", script, "--network", "btp", ...compile ? ["--no-compile"] : []], { env: envConfig });
285123
+ outro("Script execution completed successfully");
285100
285124
  });
285101
285125
  return cmd2;
285102
285126
  }
@@ -285129,10 +285153,12 @@ function hardhatTestCommand() {
285129
285153
  command: "scs hardhat test test/token.test.ts"
285130
285154
  }
285131
285155
  ])).helpOption(false).option("-h, --help", "Get list of possible hardhat test options").passThroughOptions().allowUnknownOption().action(async (options, cmd2) => {
285156
+ intro("Running smart contract tests using Hardhat");
285132
285157
  await validateIfRequiredPackagesAreInstalled(["hardhat"]);
285133
285158
  const hardhatOptions = mapPassthroughOptions(options, cmd2);
285134
285159
  const { command, args } = await getPackageManagerExecutable();
285135
285160
  await executeCommand(command, [...args, "hardhat", "test", ...hardhatOptions]);
285161
+ outro("Smart contract tests completed");
285136
285162
  });
285137
285163
  }
285138
285164
 
@@ -285301,6 +285327,7 @@ async function getNodeName({
285301
285327
  // src/commands/smart-contract-set/subgraph/build.ts
285302
285328
  function subgraphBuildCommand() {
285303
285329
  return new Command("build").description("Build the subgraph").action(async () => {
285330
+ intro("Building subgraph");
285304
285331
  await validateIfRequiredPackagesAreInstalled(["@graphprotocol/graph-cli"]);
285305
285332
  await subgraphSetup({
285306
285333
  network: SETTLEMINT_NETWORK
@@ -285310,6 +285337,7 @@ function subgraphBuildCommand() {
285310
285337
  const cwd2 = dirname10(subgraphYamlFile);
285311
285338
  await executeCommand(command, [...args, "graph", "codegen", subgraphYamlFile], { cwd: cwd2 });
285312
285339
  await executeCommand(command, [...args, "graph", "build", subgraphYamlFile], { cwd: cwd2 });
285340
+ outro("Subgraph built successfully");
285313
285341
  });
285314
285342
  }
285315
285343
 
@@ -285317,6 +285345,7 @@ function subgraphBuildCommand() {
285317
285345
  import { dirname as dirname11 } from "node:path";
285318
285346
  function subgraphCodegenCommand() {
285319
285347
  return new Command("codegen").description("Codegen the subgraph types").action(async () => {
285348
+ intro("Generating subgraph types");
285320
285349
  await validateIfRequiredPackagesAreInstalled(["@graphprotocol/graph-cli"]);
285321
285350
  await subgraphSetup({
285322
285351
  network: SETTLEMINT_NETWORK
@@ -285326,6 +285355,7 @@ function subgraphCodegenCommand() {
285326
285355
  await executeCommand(command, [...args, "graph", "codegen", subgraphYamlFile], {
285327
285356
  cwd: dirname11(subgraphYamlFile)
285328
285357
  });
285358
+ outro("Subgraph types generated successfully");
285329
285359
  });
285330
285360
  }
285331
285361
 
@@ -285376,6 +285406,7 @@ function subgraphDeployCommand() {
285376
285406
  command: "scs subgraph deploy my-subgraph"
285377
285407
  }
285378
285408
  ])).option("-a, --accept-defaults", "Accept the default and previously set values").option("--prod", "Connect to your production environment").argument("[subgraph-name]", "The name of the subgraph to deploy (defaults to value in .env if not provided)").action(async (subgraphName, { prod, acceptDefaults }) => {
285409
+ intro("Deploying subgraph");
285379
285410
  await validateIfRequiredPackagesAreInstalled(["@graphprotocol/graph-cli"]);
285380
285411
  const autoAccept = !!acceptDefaults || is_in_ci_default;
285381
285412
  const env2 = await loadEnv(false, !!prod);
@@ -285444,6 +285475,7 @@ function subgraphDeployCommand() {
285444
285475
  SETTLEMINT_THEGRAPH: theGraphMiddleware.uniqueName,
285445
285476
  ...graphEndpoints
285446
285477
  });
285478
+ outro(`Subgraph ${graphName} deployed successfully`);
285447
285479
  });
285448
285480
  }
285449
285481
  async function updateSpecVersion(specVersion) {
@@ -285452,6 +285484,55 @@ async function updateSpecVersion(specVersion) {
285452
285484
  await updateSubgraphYamlConfig(yamlConfig);
285453
285485
  }
285454
285486
 
285487
+ // src/commands/smart-contract-set/subgraph/remove.ts
285488
+ import { dirname as dirname13 } from "node:path";
285489
+ function subgraphRemoveCommand() {
285490
+ return new Command("remove").description("Remove a subgraph").usage(createExamples([
285491
+ {
285492
+ description: "Remove a subgraph",
285493
+ command: "scs subgraph remove my-subgraph"
285494
+ }
285495
+ ])).option("-a, --accept-defaults", "Accept the default and previously set values").option("--prod", "Connect to your production environment").option("-f, --force", "Force remove the subgraph without confirmation").argument("<subgraph-name>", "The name of the subgraph to remove").action(async (subgraphName, { prod, acceptDefaults, force }) => {
285496
+ intro("Removing subgraph");
285497
+ await validateIfRequiredPackagesAreInstalled(["@graphprotocol/graph-cli"]);
285498
+ if (!force) {
285499
+ await deleteConfirmationPrompt(`the subgraph ${subgraphName}`);
285500
+ }
285501
+ const autoAccept = !!acceptDefaults || is_in_ci_default;
285502
+ const env2 = await loadEnv(false, !!prod);
285503
+ const instance = await instancePrompt(env2, true);
285504
+ const accessToken = await getApplicationOrPersonalAccessToken({
285505
+ env: env2,
285506
+ instance,
285507
+ prefer: "application"
285508
+ });
285509
+ const theGraphMiddleware = await getTheGraphMiddleware({ env: env2, instance, accessToken, autoAccept });
285510
+ if (!theGraphMiddleware) {
285511
+ return nothingSelectedError("graph middleware");
285512
+ }
285513
+ if (theGraphMiddleware.status !== "COMPLETED") {
285514
+ serviceNotRunningError("graph middleware", theGraphMiddleware.status);
285515
+ }
285516
+ const subgraphYamlFile = await getSubgraphYamlFile();
285517
+ const cwd2 = dirname13(subgraphYamlFile);
285518
+ const { command, args } = await getPackageManagerExecutable();
285519
+ const middlewareAdminUrl = new URL(`/${encodeURIComponent(accessToken)}/admin`, theGraphMiddleware.serviceUrl).toString();
285520
+ await executeCommand(command, [...args, "graph", "remove", "--node", middlewareAdminUrl, subgraphName]);
285521
+ const settlemintClient = createSettleMintClient({
285522
+ accessToken,
285523
+ instance
285524
+ });
285525
+ const middleware = await settlemintClient.middleware.read(theGraphMiddleware.uniqueName);
285526
+ const graphEndpoints = await getGraphEndpoint(settlemintClient, middleware);
285527
+ await writeEnvSpinner(!!prod, {
285528
+ ...env2,
285529
+ SETTLEMINT_THEGRAPH: theGraphMiddleware.uniqueName,
285530
+ ...graphEndpoints
285531
+ });
285532
+ outro(`Subgraph ${subgraphName} removed successfully`);
285533
+ });
285534
+ }
285535
+
285455
285536
  // src/commands/smart-contract.set.ts
285456
285537
  function smartContractSetCommand() {
285457
285538
  const foundry = new Command("foundry").alias("f").description("Foundry commands for building and testing smart contracts");
@@ -285469,6 +285550,7 @@ function smartContractSetCommand() {
285469
285550
  subgraph.addCommand(subgraphBuildCommand());
285470
285551
  subgraph.addCommand(subgraphCodegenCommand());
285471
285552
  subgraph.addCommand(subgraphDeployCommand());
285553
+ subgraph.addCommand(subgraphRemoveCommand());
285472
285554
  return new Command("smart-contract-set").alias("scs").description("Manage smart contract sets and subgraphs").addCommand(createCommand4()).addCommand(foundry).addCommand(hardhat).addCommand(subgraph);
285473
285555
  }
285474
285556
 
@@ -285526,12 +285608,22 @@ function addHooksToCommand(cmd2, rootCmd, argv) {
285526
285608
  addHooksToCommand(subcmd, rootCmd, argv);
285527
285609
  }
285528
285610
  }
285611
+ var ERRORS_TO_IGNORE = [ExitPromptError, AbortPromptError, ValidationError, CancelPromptError];
285612
+ var ERROR_CODES_TO_IGNORE = [
285613
+ "commander.help",
285614
+ "commander.missingArgument",
285615
+ "commander.optionMissingArgument",
285616
+ "commander.missingMandatoryOptionValue",
285617
+ "commander.conflictingOption",
285618
+ "commander.unknownOption",
285619
+ "commander.excessArguments",
285620
+ "commander.unknownCommand"
285621
+ ];
285529
285622
  async function onError(sdkcli, argv, error5) {
285530
- const errorsToIgnore = [ExitPromptError, AbortPromptError, ValidationError, CancelPromptError];
285531
- if (errorsToIgnore.some((errorToIgnore) => error5 instanceof errorToIgnore)) {
285623
+ if (ERRORS_TO_IGNORE.some((errorToIgnore) => error5 instanceof errorToIgnore)) {
285532
285624
  process.exit(0);
285533
285625
  }
285534
- if (error5 instanceof CommanderError && (error5.exitCode === 0 || error5.code === "commander.help")) {
285626
+ if (error5 instanceof CommanderError && (error5.exitCode === 0 || ERROR_CODES_TO_IGNORE.includes(error5.code))) {
285535
285627
  process.exit(error5.exitCode);
285536
285628
  }
285537
285629
  if (!(error5 instanceof CancelError2 || error5 instanceof SpinnerError)) {
@@ -285552,7 +285644,7 @@ ${error5.stack}`));
285552
285644
  }
285553
285645
  function registerCommands() {
285554
285646
  const sdkcli = new Command;
285555
- sdkcli.name("settlemint").usage("[command]").description(`CLI for SettleMint (v${package_default.version})`).version(package_default.version, "-v, --version", "Output the current version").helpOption("-h, --help", "Display help for command").allowUnknownOption().showSuggestionAfterError(true).showHelpAfterError();
285647
+ sdkcli.name("settlemint").usage("[command]").description(`CLI for SettleMint (v${package_default.version})`).version(package_default.version, "-v, --version", "Output the current version").helpOption("-h, --help", "Display help for command").allowUnknownOption().showSuggestionAfterError(true).showHelpAfterError().passThroughOptions();
285556
285648
  sdkcli.addCommand(connectCommand());
285557
285649
  sdkcli.addCommand(codegenCommand());
285558
285650
  sdkcli.addCommand(platformCommand());
@@ -285580,4 +285672,4 @@ async function sdkCliCommand(argv = process.argv) {
285580
285672
  // src/cli.ts
285581
285673
  sdkCliCommand();
285582
285674
 
285583
- //# debugId=EF0DBD16ED18AB1064756E2164756E21
285675
+ //# debugId=4B002D6B015AFB6264756E2164756E21