From c9289acaf57d911c5d9973c7e1ae3a3dc68524c1 Mon Sep 17 00:00:00 2001 From: Anmol1696 Date: Thu, 30 Jan 2025 16:21:41 +0400 Subject: [PATCH] upgrade starship to v1 and cli --- .github/workflows/run-e2e-tests.yaml | 4 +- packages/starship/__tests__/v0/token.test.ts | 2 +- packages/starship/__tests__/v1/authz.test.ts | 2 +- packages/starship/__tests__/v1/token.test.ts | 2 +- packages/starship/configs/config.yaml | 13 +- packages/starship/configs/local-config.yaml | 13 +- packages/starship/package.json | 17 +-- packages/starship/scripts/dev-setup.sh | 69 ---------- packages/starship/scripts/install.sh | 125 ------------------ packages/starship/scripts/port-forward.sh | 132 ------------------- yarn.lock | 93 ++++++++++++- 11 files changed, 119 insertions(+), 353 deletions(-) delete mode 100644 packages/starship/scripts/dev-setup.sh delete mode 100644 packages/starship/scripts/install.sh delete mode 100644 packages/starship/scripts/port-forward.sh diff --git a/.github/workflows/run-e2e-tests.yaml b/.github/workflows/run-e2e-tests.yaml index c81ba16814..6edbac9bcd 100644 --- a/.github/workflows/run-e2e-tests.yaml +++ b/.github/workflows/run-e2e-tests.yaml @@ -36,10 +36,10 @@ jobs: # - Port forward all ports to localhost for next steps to connect - name: infra id: starship-action - uses: cosmology-tech/starship-action@0.2.12 + uses: cosmology-tech/starship-action@0.5.8 with: values: packages/starship/configs/local-config.yaml port-forward: true - version: 0.1.48-rc12 + version: 1.0.0 - name: e2e run: cd ./packages/starship && yarn run e2e:test diff --git a/packages/starship/__tests__/v0/token.test.ts b/packages/starship/__tests__/v0/token.test.ts index 30c2d7f8ee..c8012fd2ea 100644 --- a/packages/starship/__tests__/v0/token.test.ts +++ b/packages/starship/__tests__/v0/token.test.ts @@ -82,7 +82,7 @@ describe('Token transfers', () => { chainInfo: cosmosChainInfo, getStargateClient: cosmosGetStargateClient, getRpcEndpoint: cosmosRpcEndpoint - } = useChain('cosmos'); + } = useChain('cosmoshub'); // Initialize wallet address for cosmos chain const cosmosWallet = await DirectSecp256k1HdWallet.fromMnemonic( diff --git a/packages/starship/__tests__/v1/authz.test.ts b/packages/starship/__tests__/v1/authz.test.ts index 5e52071167..c8d1c84178 100644 --- a/packages/starship/__tests__/v1/authz.test.ts +++ b/packages/starship/__tests__/v1/authz.test.ts @@ -32,7 +32,7 @@ describe("Authz testing", () => { beforeAll(async () => { ({ chainInfo, getCoin, getRpcEndpoint, creditFromFaucet } = - useChain("cosmos")); + useChain("cosmoshub")); denom = getCoin().base; // Initialize wallet diff --git a/packages/starship/__tests__/v1/token.test.ts b/packages/starship/__tests__/v1/token.test.ts index 7aef10a940..ccf2ee0ef4 100644 --- a/packages/starship/__tests__/v1/token.test.ts +++ b/packages/starship/__tests__/v1/token.test.ts @@ -102,7 +102,7 @@ describe("Token transfers", () => { chainInfo: cosmosChainInfo, getStargateClient: cosmosGetStargateClient, getRpcEndpoint: cosmosRpcEndpoint, - } = useChain("cosmos"); + } = useChain("cosmoshub"); // Initialize wallet address for cosmos chain const cosmosWallet = await DirectSecp256k1HdWallet.fromMnemonic( diff --git a/packages/starship/configs/config.yaml b/packages/starship/configs/config.yaml index a4265ba119..566d4e76a6 100644 --- a/packages/starship/configs/config.yaml +++ b/packages/starship/configs/config.yaml @@ -1,14 +1,19 @@ +name: starship-devnet +version: 1.0.0 + chains: - - name: osmosis-1 - type: osmosis + - id: osmosis-1 + name: osmosis numValidators: 1 ports: rest: 1317 rpc: 26657 faucet: 8007 - - name: cosmos-2 - type: cosmos + - id: cosmos-2 + name: cosmoshub numValidators: 1 + faucet: + type: starship ports: rest: 1313 rpc: 26653 diff --git a/packages/starship/configs/local-config.yaml b/packages/starship/configs/local-config.yaml index 60b9ae9da0..e07dfcff17 100644 --- a/packages/starship/configs/local-config.yaml +++ b/packages/starship/configs/local-config.yaml @@ -1,6 +1,9 @@ +name: starship-devnet +version: 1.0.0 + chains: - - name: osmosis-1 - type: osmosis + - id: osmosis-1 + name: osmosis numValidators: 1 ports: rest: 1317 @@ -9,9 +12,11 @@ chains: resources: cpu: "0.2" memory: "200M" - - name: cosmos-2 - type: cosmos + - id: cosmos-2 + name: cosmoshub numValidators: 1 + faucet: + type: starship ports: rest: 1313 rpc: 26653 diff --git a/packages/starship/package.json b/packages/starship/package.json index ef463e030a..28f586a068 100644 --- a/packages/starship/package.json +++ b/packages/starship/package.json @@ -21,15 +21,10 @@ "lint": "eslint .", "format": "eslint . --fix", "clean": "rimraf ./types && rimraf ./src/codegen && rimraf ./src/codegen1", - "e2e": "npm run e2e:test", - "e2e:deps": "make setup", - "e2e:kind": "make setup-kind", - "e2e:start": "make install", - "e2e:port": "make port-forward", - "e2e:test": "jest --testPathPattern=starship/ --verbose", - "e2e:debug": "jest --testPathPattern=starship/ --runInBand --verbose --bail", - "e2e:stop": "make stop", - "e2e:clean": "make stop clean" + "starship": "starship --config configs/config.yaml", + "starship:test": "jest --config ./jest.starship.config.js --verbose --bail", + "starship:debug": "jest --config ./jest.starship.config.js --runInBand --verbose --bail", + "starship:watch": "jest --watch --config ./jest.starship.config.js" }, "jest": { "preset": "ts-jest", @@ -94,7 +89,9 @@ "sinon": "14.0.2", "ts-jest": "^29.1.0", "ts-node": "10.9.1", - "typescript": "^5.0.4" + "typescript": "^5.0.4", + "@starship-ci/cli": "^3.0.0", + "starshipjs": "^3.0.0" }, "dependencies": { "@cosmjs/amino": "^0.32.0", diff --git a/packages/starship/scripts/dev-setup.sh b/packages/starship/scripts/dev-setup.sh deleted file mode 100644 index b438895f03..0000000000 --- a/packages/starship/scripts/dev-setup.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -function color() { - local color=$1 - shift - local black=30 red=31 green=32 yellow=33 blue=34 magenta=35 cyan=36 white=37 - local color_code=${!color:-$green} - printf "\033[%sm%s\033[0m\n" "$color_code" "$*" -} - -# Define a function to install a binary on macOS -install_macos() { - case $1 in - docker) color red "Please install docker. Follow: https://docs.docker.com/desktop/install/mac-install/" ;; - kubectl) brew install kubectl ;; - helm) brew install helm ;; - yq) brew install yq ;; - kind) brew install kind ;; - esac -} - -# Define a function to install a binary on Linux -install_linux() { - color green "Installing $1 at ~/.local/bin, please add it to PATH" - mkdir -p ~/.local/bin - case $1 in - docker) color red "Please install docker. Follow: https://docs.docker.com/engine/install/ubuntu/" ;; - kubectl) curl -Lks "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" > ~/.local/bin/kubectl && chmod +x ~/.local/bin/kubectl ;; - helm) curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash ;; - yq) curl -Lks "https://github.com/mikefarah/yq/releases/download/v4.33.3/yq_linux_amd64" > ~/.local/bin/yq && chmod +x ~/.local/bin/yq ;; - kind) curl -Lks https://kind.sigs.k8s.io/dl/v0.18.1/kind-linux-amd64 > ~/.local/bin/kind && chmod +x ~/.local/bin/kind ;; - esac -} - -# Define a function to install a binary -install_binary() { - if [[ $(uname -s) == "Darwin" ]]; then - install_macos $1 - else - install_linux $1 - fi -} - -# Define a function to check for the presence of a binary -check_binary() { - if ! command -v $1 &> /dev/null - then - echo "$1 is not installed" - install_binary $1 - if ! command -v $1 &> /dev/null - then - color red "Installation of $1 failed, exiting..." - color red "Please install $1 manually, then run me again to verify the installation" - exit 1 - fi - fi -} - -# Check the binaries -check_binary kubectl -check_binary helm -check_binary yq -check_binary kind -check_binary docker - -color green "All binaries are installed" - diff --git a/packages/starship/scripts/install.sh b/packages/starship/scripts/install.sh deleted file mode 100644 index 42d3722a79..0000000000 --- a/packages/starship/scripts/install.sh +++ /dev/null @@ -1,125 +0,0 @@ -#!/bin/bash - -## Script used to install the helm chart for the devnet from a config file -## Usage: -## ./scripts/install.sh --coinfig -## Options: -## -c|--config: config file to use (default: config.yaml) -## -v|--version: helm chart version (default: 0.1.43) - -set -euo pipefail - -# read config file from args into variable -CONFIGFILE="config.yaml" - -SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) -echo "Script dir: ${SCRIPT_DIR}" - -# default values -DRY_RUN="" -TIMEOUT="" -NAMESPACE="" -HELM_REPO="starship" -HELM_CHART="starship/devnet" -HELM_REPO_URL="https://hyperweb-io.github.io/starship/" -HELM_CHART_VERSION="0.1.43" - -# check_helm function verifies the helm binary is installed -function check_helm() { - if ! command -v helm &> /dev/null - then - echo "helm could not be found; please install it first!!!" - exit - fi -} - -# setup_helm function adds the helm repo and updates it -function setup_helm() { - if [ -d "$HELM_CHART" ]; then - echo "using local helm chart" - return - fi - helm repo add ${HELM_REPO} ${HELM_REPO_URL} - helm repo update - helm search repo ${HELM_CHART} --version ${HELM_CHART_VERSION} -} - -function set_helm_args() { - if [[ $TIMEOUT ]]; then - args="$args --timeout $TIMEOUT --wait --debug" - fi - if [[ $NAMESPACE ]]; then - args="$args --namespace $NAMESPACE --create-namespace" - fi - if [[ $DRY_RUN ]]; then - args="$args --dry-run --debug" - fi - num_chains=$(yq -r ".chains | length - 1" ${CONFIGFILE}) - if [[ $num_chains -lt 0 ]]; then - echo "No chains to parse: num: $num_chains" - return 0 - fi - for i in $(seq 0 $num_chains); do - chain=$(yq -r ".chains[$i].name" ${CONFIGFILE}) - scripts=$(yq -r ".chains[$i].scripts" ${CONFIGFILE}) - if [[ "$scripts" == "null" ]]; then - return 0 - fi - datadir="$(cd "$(dirname -- "${CONFIGFILE}")" >/dev/null; pwd -P)" - for script in $(yq -r ".chains[$i].scripts | keys | .[]" ${CONFIGFILE}); do - args="$args --set-file chains[$i].scripts.$script.data=$datadir/$(yq -r ".chains[$i].scripts.$script.file" ${CONFIGFILE})" - done - done -} - -function install_chart() { - args="" - set_helm_args - echo "name: ${HELM_NAME}, args: $args, chart: ${HELM_CHART}, version: ${HELM_CHART_VERSION}" - helm install ${HELM_NAME} ${HELM_CHART} --version ${HELM_CHART_VERSION} -f ${CONFIGFILE} $args -} - -while [ $# -gt 0 ]; do - case "$1" in - -c|--config) - CONFIGFILE="$2" - shift 2 # past argument=value - ;; - -v|--version) - HELM_CHART_VERSION="$2" - shift 2 # past argument - ;; - -t|--timeout) - TIMEOUT="$2" - shift 2 # past argument - ;; - -n|--name) - HELM_NAME="$2" - shift 2 # past argument - ;; - --namespace) - NAMESPACE="$2" - shift 2 # past argument - ;; - --chart) - HELM_CHART="$2" - shift 2 # past argument - ;; - --dry-run) - DRY_RUN=1 - shift # past argument - ;; - -*|--*) - echo "Unknown option $1" - exit 1 - ;; - *) - ;; - esac -done - -check_helm -setup_helm -install_chart - - diff --git a/packages/starship/scripts/port-forward.sh b/packages/starship/scripts/port-forward.sh deleted file mode 100644 index dc3df57124..0000000000 --- a/packages/starship/scripts/port-forward.sh +++ /dev/null @@ -1,132 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -function color() { - local color=$1 - shift - local black=30 red=31 green=32 yellow=33 blue=34 magenta=35 cyan=36 white=37 - local color_code=${!color:-$green} - printf "\033[%sm%s\033[0m\n" "$color_code" "$*" -} - -function stop_port_forward() { - color green "Trying to stop all port-forward, if any...." - PIDS=$(ps -ef | grep -i -e 'kubectl port-forward' | grep -v 'grep' | cat | awk '{print $2}') || true - for p in $PIDS; do - kill -15 $p - done - sleep 2 -} - -# Default values -CHAIN_RPC_PORT=26657 -CHAIN_COMETMOCK_PORT=22331 -CHAIN_GRPC_PORT=9090 -CHAIN_LCD_PORT=1317 -CHAIN_EXPOSER_PORT=8081 -CHAIN_FAUCET_PORT=8000 -RELAYER_REST_PORT=3000 -RELAYER_EXPOSER_PORT=8081 -EXPLORER_LCD_PORT=8080 -REGISTRY_LCD_PORT=8080 -REGISTRY_GRPC_PORT=9090 -MONITORING_PROMETHEUS_PORT=8080 -MONITORING_GRAFANA_PORT=8080 - -for i in "$@"; do - case $i in - -c=*|--config=*) - CONFIGFILE="${i#*=}" - shift # past argument=value - ;; - -*|--*) - echo "Unknown option $i" - exit 1 - ;; - *) - ;; - esac -done - -stop_port_forward - -echo "Port forwarding for config ${CONFIGFILE}" -echo "Port forwarding all chains" -num_chains=$(yq -r ".chains | length - 1" ${CONFIGFILE}) -if [[ $num_chains -gt -1 ]]; then - for i in $(seq 0 $num_chains); do - # derive chain pod name from chain id - # https://github.com/hyperweb-io/starship/blob/main/charts/devnet/templates/_helpers.tpl#L56 - chain=$(yq -r ".chains[$i].name" ${CONFIGFILE} ) - chain=${chain/_/"-"} - localrpc=$(yq -r ".chains[$i].ports.rpc" ${CONFIGFILE} ) - localgrpc=$(yq -r ".chains[$i].ports.grpc" ${CONFIGFILE} ) - locallcd=$(yq -r ".chains[$i].ports.rest" ${CONFIGFILE} ) - localexp=$(yq -r ".chains[$i].ports.exposer" ${CONFIGFILE}) - localfaucet=$(yq -r ".chains[$i].ports.faucet" ${CONFIGFILE}) - color yellow "chains: forwarded $chain" - if [[ $(yq -r ".chains[$i].cometmock.enabled" $CONFIGFILE) == "true" ]]; - then - [[ "$localrpc" != "null" ]] && color yellow " cometmock rpc to http://localhost:$localrpc" && kubectl port-forward pods/$chain-cometmock-0 $localrpc:$CHAIN_COMETMOCK_PORT > /dev/null 2>&1 & - else - [[ "$localrpc" != "null" ]] && color yellow " rpc to http://localhost:$localrpc" && kubectl port-forward pods/$chain-genesis-0 $localrpc:$CHAIN_RPC_PORT > /dev/null 2>&1 & - fi - [[ "$localgrpc" != "null" ]] && color yellow " grpc to http://localhost:$localgrpc" && kubectl port-forward pods/$chain-genesis-0 $localgrpc:$CHAIN_GRPC_PORT > /dev/null 2>&1 & - [[ "$locallcd" != "null" ]] && color yellow " lcd to http://localhost:$locallcd" && kubectl port-forward pods/$chain-genesis-0 $locallcd:$CHAIN_LCD_PORT > /dev/null 2>&1 & - [[ "$localexp" != "null" ]] && color yellow " exposer to http://localhost:$localexp" && kubectl port-forward pods/$chain-genesis-0 $localexp:$CHAIN_EXPOSER_PORT > /dev/null 2>&1 & - [[ "$localfaucet" != "null" ]] && color yellow " faucet to http://localhost:$localfaucet" && kubectl port-forward pods/$chain-genesis-0 $localfaucet:$CHAIN_FAUCET_PORT > /dev/null 2>&1 & - sleep 1 - done -else - echo "No chains to port-forward: num: $num_chains" -fi - - -echo "Port forward relayers" -num_relayers=$(yq -r ".relayers | length - 1" ${CONFIGFILE}) -if [[ $num_relayers -gt -1 ]]; then - for i in $(seq 0 $num_relayers); do - # derive chain pod name from chain id - # https://github.com/hyperweb-io/starship/blob/main/charts/devnet/templates/_helpers.tpl#L56 - relayer=$(yq -r ".relayers[$i].name" ${CONFIGFILE} ) - relayer=$(yq -r ".relayers[$i].type" ${CONFIGFILE} )-${relayer/_/"-"} - localrest=$(yq -r ".relayers[$i].ports.rest" ${CONFIGFILE} ) - localexposer=$(yq -r ".relayers[$i].ports.exposer" ${CONFIGFILE} ) - color yellow "relayers: forwarded $relayer" - [[ "$localrest" != "null" ]] && color yellow " rpc to http://localhost:$localrest" && kubectl port-forward pods/$relayer-0 $localrest:$RELAYER_REST_PORT > /dev/null 2>&1 & - [[ "$localexposer" != "null" ]] && color yellow " rpc to http://localhost:$localexposer" && kubectl port-forward pods/$relayer-0 $localexposer:$RELAYER_EXPOSER_PORT > /dev/null 2>&1 & - sleep 1 - done -else - echo "No relayer to port-forward: num: $num_relayers" -fi - - -echo "Port forward services" - -if [[ $(yq -r ".registry.enabled" $CONFIGFILE) == "true" ]]; -then - kubectl port-forward service/registry 8081:$REGISTRY_LCD_PORT > /dev/null 2>&1 & - kubectl port-forward service/registry 9091:$REGISTRY_GRPC_PORT > /dev/null 2>&1 & - sleep 1 - color yellow "registry: forwarded registry lcd to grpc http://localhost:8081, to http://localhost:9091" -fi - -if [[ $(yq -r ".explorer.enabled" $CONFIGFILE) == "true" ]]; -then - kubectl port-forward service/explorer 8080:$EXPLORER_LCD_PORT > /dev/null 2>&1 & - sleep 1 - color green "Open the explorer to get started.... http://localhost:8080" -fi - -if [[ $(yq -r ".monitoring.enabled" $CONFIGFILE) == "true" ]]; -then - color yellow "monitoring port forward:" - localgrafana=$(yq -r ".monitoring.ports.grafana" ${CONFIGFILE}) - localprometheus=$(yq -r ".monitoring.ports.prometheus" ${CONFIGFILE}) - [[ "$localgrafana" != "null" ]] && color yellow " grafana to http://localhost:$localgrafana" && kubectl port-forward service/grafana $localgrafana:$MONITORING_GRAFANA_PORT > /dev/null 2>&1 & - [[ "$localprometheus" != "null" ]] && color yellow " prometheus to http://localhost:$localprometheus" && kubectl port-forward service/prometheus-service $localprometheus:$MONITORING_PROMETHEUS_PORT > /dev/null 2>&1 & - sleep 1 -fi - diff --git a/yarn.lock b/yarn.lock index 92c5c313ed..66ed968005 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1084,6 +1084,17 @@ bfs-path "^1.0.2" cross-fetch "^3.1.5" +"@chain-registry/client@1.18.1": + version "1.18.1" + resolved "https://registry.npmjs.org/@chain-registry/client/-/client-1.18.1.tgz#6cfb52d28e924517f1bf9ec51450254090ad3fd3" + integrity sha512-8FG/RQ+hxM8XnN6xpAW2QzqMMFHky0/2BjjWteuvHtCJuEigw4JpVxScKZj7u8qWRd4jBuVNx4P+9FcMbgH9iw== + dependencies: + "@babel/runtime" "^7.21.0" + "@chain-registry/types" "^0.17.1" + "@chain-registry/utils" "^1.17.0" + bfs-path "^1.0.2" + cross-fetch "^3.1.5" + "@chain-registry/types@^0.14.0": version "0.14.0" resolved "https://registry.npmjs.org/@chain-registry/types/-/types-0.14.0.tgz" @@ -1098,6 +1109,18 @@ dependencies: "@babel/runtime" "^7.21.0" +"@chain-registry/types@^0.17.1": + version "0.17.1" + resolved "https://registry.npmjs.org/@chain-registry/types/-/types-0.17.1.tgz#0ac7bda6178d3917834578627f232a247fe5def8" + integrity sha512-O0CgrtJgIlqXvZm1CqDZe/7jZz068O/uuCIoyDXCegFHK03rdHacKcDGwEIUuI0MNUf8YV3jdE4xHQMSAX+79w== + dependencies: + "@babel/runtime" "^7.21.0" + +"@chain-registry/types@^0.50.59": + version "0.50.59" + resolved "https://registry.npmjs.org/@chain-registry/types/-/types-0.50.59.tgz#1fee5b74b8f25cbfc65d2f04cf7929e50ada8054" + integrity sha512-3x9GwOsPRxg960Ye1BKdDcKcu/UivWh7dNPBFncMzyiBJYlDSsP3vmmvk15qJ/uKgPdtUlMKJ1Bu+PRZSBu1WQ== + "@chain-registry/utils@^1.10.0": version "1.13.2" resolved "https://registry.npmjs.org/@chain-registry/utils/-/utils-1.13.2.tgz" @@ -1108,6 +1131,15 @@ bignumber.js "9.1.1" sha.js "^2.4.11" +"@chain-registry/utils@^1.17.0": + version "1.51.59" + resolved "https://registry.npmjs.org/@chain-registry/utils/-/utils-1.51.59.tgz#1880770c1ae402e422a25d0a0bbc585188a61e85" + integrity sha512-13KyabWP4+KuVuWlCukT7dxYRaB5nedozE1elNpqj+BzbjE9UfxNCZAme0g02ESGI2ueqczICRn2HedWlaf7DA== + dependencies: + "@chain-registry/types" "^0.50.59" + bignumber.js "9.1.2" + sha.js "^2.4.11" + "@chain-registry/v2-types@^0.49.6": version "0.49.86" resolved "https://registry.npmjs.org/@chain-registry/v2-types/-/v2-types-0.49.86.tgz" @@ -2790,6 +2822,29 @@ resolved "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz" integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ== +"@starship-ci/cli@^3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/@starship-ci/cli/-/cli-3.0.0.tgz#d84798487cc9007849f10317228ef51e205cb768" + integrity sha512-+TtpghZGp8NnaMEjfue1yF6Jsip+qeiiokHgPifhqBdhNQ1yf3mhIy99LpSxt+Bu4PCyOo6g4nxmkn0UUT24XA== + dependencies: + "@starship-ci/client" "^3.0.0" + chalk "^4.1.0" + deepmerge "^4.3.1" + inquirerer "^1.9.0" + js-yaml "^4.1.0" + minimist "^1.2.8" + +"@starship-ci/client@^3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/@starship-ci/client/-/client-3.0.0.tgz#99aa311ceaba98f0ac27edaa193c54f026568724" + integrity sha512-YePv3bD95VHtnW6s0dYJSX7gVRsM2uY75ZtekjqeO0QhcmoGf8LUD3UJAMXIq/HFh/bgg0NU4FheHK90I2cEBA== + dependencies: + chalk "^4.1.0" + deepmerge "^4.3.1" + js-yaml "^4.1.0" + mkdirp "3.0.1" + shelljs "^0.8.5" + "@tanstack/query-core@4.29.1": version "4.29.1" resolved "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.29.1.tgz" @@ -3468,6 +3523,11 @@ bignumber.js@9.1.1: resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz" integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig== +bignumber.js@9.1.2: + version "9.1.2" + resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" + integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== + binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" @@ -3478,7 +3538,7 @@ bintrees@1.0.2: resolved "https://registry.npmjs.org/bintrees/-/bintrees-1.0.2.tgz" integrity sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw== -bip39@^3.0.2: +bip39@^3.0.2, bip39@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/bip39/-/bip39-3.1.0.tgz" integrity sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A== @@ -4230,7 +4290,7 @@ deepmerge@4.2.2: resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== -deepmerge@4.3.1, deepmerge@^4.2.2: +deepmerge@4.3.1, deepmerge@^4.2.2, deepmerge@^4.3.1: version "4.3.1" resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== @@ -5522,6 +5582,16 @@ inquirerer@0.1.3: inquirer "^6.0.0" inquirer-autocomplete-prompt "^0.11.1" +inquirerer@^1.9.0: + version "1.9.0" + resolved "https://registry.npmjs.org/inquirerer/-/inquirerer-1.9.0.tgz#108071773a28ea5b950271572ac3051f34e0c92e" + integrity sha512-/LAn/F70YvRQZWz9r1q1seoO2oRMiSCSK8xKHGlkNebSibx5FppUKZLEjXgkCy1tgccas933q/Y7qNccFxrYkw== + dependencies: + chalk "^4.1.0" + deepmerge "^4.3.1" + js-yaml "^4.1.0" + minimist "^1.2.8" + interpret@^1.0.0: version "1.4.0" resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" @@ -6869,7 +6939,7 @@ minimist@1.2.6: resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== -minimist@1.2.8, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: +minimist@1.2.8, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -6966,6 +7036,11 @@ mkdirp@3.0.0: resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.0.tgz" integrity sha512-7+JDnNsyCvZXoUJdkMR0oUE2AmAdsNXGTmRbiOjYIwQ6q+bL6NwrozGQdPcmYaNcrhH37F50HHBUzoaBV6FITQ== +mkdirp@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" + integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== + mobx@6.9.0: version "6.9.0" resolved "https://registry.npmjs.org/mobx/-/mobx-6.9.0.tgz" @@ -8264,7 +8339,7 @@ shebang-regex@^3.0.0: resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shelljs@0.8.5: +shelljs@0.8.5, shelljs@^0.8.5: version "0.8.5" resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== @@ -8452,6 +8527,16 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" +starshipjs@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/starshipjs/-/starshipjs-3.0.0.tgz#76a699061d8bfb9604bbb0c0041ec163e27c4ac8" + integrity sha512-3m7/h5TntLGfmHZbAIFWwdLZOzihMjQJYLLlAP8gwXdJeXr8jYh98bFIn923ZjkU6bTfdHdfhQXC58VKfCXM5Q== + dependencies: + "@chain-registry/client" "1.18.1" + bip39 "^3.1.0" + js-yaml "^4.1.0" + node-fetch "^2.6.9" + string-length@^4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz"