Skip to content

Add solana-test-validator-up package#8826

Open
ulissesferreira wants to merge 2 commits into
mainfrom
add-solana-test-validator-up-package
Open

Add solana-test-validator-up package#8826
ulissesferreira wants to merge 2 commits into
mainfrom
add-solana-test-validator-up-package

Conversation

@ulissesferreira
Copy link
Copy Markdown
Contributor

@ulissesferreira ulissesferreira commented May 15, 2026

Description

Adds @metamask/solana-test-validator-up to the core monorepo using the generated package structure, then replaces the scaffold with the existing Solana/Agave runtime installer implementation.

Ownership follows the runtime tooling/platform pattern and includes Networks, matching the Tron Snap ownership direction.

Changes

  • Adds the Solana test validator runtime installer package under packages/solana-test-validator-up.
  • Publishes the solana-test-validator-up CLI bin from dist/bin/solana-test-validator-up.mjs.
  • Adds package references, lockfile entry, README package listing, CODEOWNERS, and teams.json ownership.

Verification

  • yarn workspace @metamask/solana-test-validator-up run build
  • yarn workspace @metamask/solana-test-validator-up run test
  • yarn eslint packages/solana-test-validator-up
  • yarn constraints
  • yarn lint:misc --check packages/solana-test-validator-up/package.json packages/solana-test-validator-up/README.md packages/solana-test-validator-up/src/index.ts packages/solana-test-validator-up/src/install.ts packages/solana-test-validator-up/src/install.test.ts packages/solana-test-validator-up/src/bin/solana-test-validator-up.ts packages/solana-test-validator-up/jest.config.js .github/CODEOWNERS teams.json README.md tsconfig.json tsconfig.build.json
  • yarn readme-content:check
  • yarn lint:teams
  • yarn workspace @metamask/solana-test-validator-up run changelog:validate
  • node packages/solana-test-validator-up/dist/bin/solana-test-validator-up.mjs --help

Note

Medium Risk
Adds a new CLI that downloads and installs external Solana/Agave binaries into local/global caches and writes executable wrappers, which can impact developer/CI environments if misconfigured or if artifact verification fails.

Overview
Introduces a new package, @metamask/solana-test-validator-up, which installs a pinned Solana/Agave release (default v3.1.14) into the MetaMask cache, verifies SHA-256 checksums, and generates node_modules/.bin wrappers for solana-test-validator and solana via the solana-test-validator-up CLI (including cache clean).

Wires the package into the monorepo (TypeScript project references, yarn.lock, README package list/graph) and sets ownership metadata in CODEOWNERS and teams.json, alongside adding standard package docs/licenses, Jest config, and installer unit tests.

Reviewed by Cursor Bugbot for commit 9b6bf08. Bugbot is set up for automated code reviews on this repo. Configure here.

@ulissesferreira ulissesferreira requested a review from a team as a code owner May 15, 2026 11:37
@ulissesferreira
Copy link
Copy Markdown
Contributor Author

Code sync follow-up:

  • Compared the PR package source against @ulissesferreira/solana-test-validator-up@0.1.1.
  • The implementation, CLI, and tests match the latest released source, with only expected MetaMask/core adaptations (@metamask package metadata, Jest test harness, lint/type annotations, ts-bridge build config).
  • Verified in MetaMask/core: yarn workspace @metamask/solana-test-validator-up run test and yarn workspace @metamask/solana-test-validator-up run build both completed successfully.

@ulissesferreira
Copy link
Copy Markdown
Contributor Author

@metamaskbot publish-preview

@github-actions
Copy link
Copy Markdown
Contributor

Preview builds have been published. Learn how to use preview builds in other projects.

Expand for full list of packages and versions.
@metamask-previews/account-tree-controller@7.4.0-preview-9b6bf0851
@metamask-previews/accounts-controller@38.1.1-preview-9b6bf0851
@metamask-previews/address-book-controller@7.1.2-preview-9b6bf0851
@metamask-previews/ai-controllers@0.6.3-preview-9b6bf0851
@metamask-previews/analytics-controller@1.0.1-preview-9b6bf0851
@metamask-previews/analytics-data-regulation-controller@0.0.0-preview-9b6bf0851
@metamask-previews/announcement-controller@8.1.0-preview-9b6bf0851
@metamask-previews/app-metadata-controller@2.0.1-preview-9b6bf0851
@metamask-previews/approval-controller@9.0.1-preview-9b6bf0851
@metamask-previews/assets-controller@7.1.2-preview-9b6bf0851
@metamask-previews/assets-controllers@108.1.0-preview-9b6bf0851
@metamask-previews/authenticated-user-storage@2.0.0-preview-9b6bf0851
@metamask-previews/base-controller@9.1.0-preview-9b6bf0851
@metamask-previews/base-data-service@0.1.3-preview-9b6bf0851
@metamask-previews/bridge-controller@72.0.4-preview-9b6bf0851
@metamask-previews/bridge-status-controller@71.1.4-preview-9b6bf0851
@metamask-previews/build-utils@3.0.4-preview-9b6bf0851
@metamask-previews/chain-agnostic-permission@1.6.1-preview-9b6bf0851
@metamask-previews/chomp-api-service@3.1.0-preview-9b6bf0851
@metamask-previews/claims-controller@0.5.1-preview-9b6bf0851
@metamask-previews/client-controller@1.0.1-preview-9b6bf0851
@metamask-previews/compliance-controller@2.0.1-preview-9b6bf0851
@metamask-previews/composable-controller@12.0.1-preview-9b6bf0851
@metamask-previews/config-registry-controller@0.3.1-preview-9b6bf0851
@metamask-previews/connectivity-controller@0.2.0-preview-9b6bf0851
@metamask-previews/controller-utils@12.1.0-preview-9b6bf0851
@metamask-previews/core-backend@6.3.0-preview-9b6bf0851
@metamask-previews/delegation-controller@3.0.0-preview-9b6bf0851
@metamask-previews/earn-controller@12.1.2-preview-9b6bf0851
@metamask-previews/eip-5792-middleware@3.0.4-preview-9b6bf0851
@metamask-previews/eip-7702-internal-rpc-middleware@0.1.1-preview-9b6bf0851
@metamask-previews/eip1193-permission-middleware@2.0.1-preview-9b6bf0851
@metamask-previews/ens-controller@19.1.3-preview-9b6bf0851
@metamask-previews/eth-block-tracker@15.0.1-preview-9b6bf0851
@metamask-previews/eth-json-rpc-middleware@23.1.3-preview-9b6bf0851
@metamask-previews/eth-json-rpc-provider@6.0.1-preview-9b6bf0851
@metamask-previews/foundryup@1.0.1-preview-9b6bf0851
@metamask-previews/gas-fee-controller@26.2.1-preview-9b6bf0851
@metamask-previews/gator-permissions-controller@4.1.2-preview-9b6bf0851
@metamask-previews/geolocation-controller@0.1.3-preview-9b6bf0851
@metamask-previews/json-rpc-engine@10.5.0-preview-9b6bf0851
@metamask-previews/json-rpc-middleware-stream@8.0.8-preview-9b6bf0851
@metamask-previews/keyring-controller@25.5.0-preview-9b6bf0851
@metamask-previews/logging-controller@8.0.2-preview-9b6bf0851
@metamask-previews/message-manager@14.1.2-preview-9b6bf0851
@metamask-previews/messenger@1.2.0-preview-9b6bf0851
@metamask-previews/messenger-cli@0.2.0-preview-9b6bf0851
@metamask-previews/money-account-balance-service@1.0.2-preview-9b6bf0851
@metamask-previews/money-account-controller@0.3.0-preview-9b6bf0851
@metamask-previews/money-account-upgrade-controller@2.0.2-preview-9b6bf0851
@metamask-previews/multichain-account-service@10.0.0-preview-9b6bf0851
@metamask-previews/multichain-api-middleware@3.1.2-preview-9b6bf0851
@metamask-previews/multichain-network-controller@3.1.1-preview-9b6bf0851
@metamask-previews/multichain-transactions-controller@7.1.0-preview-9b6bf0851
@metamask-previews/name-controller@9.1.2-preview-9b6bf0851
@metamask-previews/network-controller@32.0.0-preview-9b6bf0851
@metamask-previews/network-enablement-controller@5.1.1-preview-9b6bf0851
@metamask-previews/notification-services-controller@24.1.0-preview-9b6bf0851
@metamask-previews/passkey-controller@2.0.1-preview-9b6bf0851
@metamask-previews/permission-controller@13.1.1-preview-9b6bf0851
@metamask-previews/permission-log-controller@5.1.0-preview-9b6bf0851
@metamask-previews/perps-controller@6.1.0-preview-9b6bf0851
@metamask-previews/phishing-controller@17.2.0-preview-9b6bf0851
@metamask-previews/polling-controller@16.0.5-preview-9b6bf0851
@metamask-previews/preferences-controller@23.1.0-preview-9b6bf0851
@metamask-previews/profile-metrics-controller@3.1.4-preview-9b6bf0851
@metamask-previews/profile-sync-controller@28.1.0-preview-9b6bf0851
@metamask-previews/ramps-controller@13.3.1-preview-9b6bf0851
@metamask-previews/rate-limit-controller@7.0.1-preview-9b6bf0851
@metamask-previews/react-data-query@0.2.1-preview-9b6bf0851
@metamask-previews/remote-feature-flag-controller@4.2.1-preview-9b6bf0851
@metamask-previews/sample-controllers@5.0.1-preview-9b6bf0851
@metamask-previews/seedless-onboarding-controller@9.1.0-preview-9b6bf0851
@metamask-previews/selected-network-controller@26.1.3-preview-9b6bf0851
@metamask-previews/shield-controller@5.1.2-preview-9b6bf0851
@metamask-previews/signature-controller@39.2.2-preview-9b6bf0851
@metamask-previews/snap-account-service@0.1.0-preview-9b6bf0851
@metamask-previews/social-controllers@2.2.1-preview-9b6bf0851
@metamask-previews/solana-test-validator-up@0.0.0-preview-9b6bf0851
@metamask-previews/storage-service@1.0.1-preview-9b6bf0851
@metamask-previews/subscription-controller@6.1.3-preview-9b6bf0851
@metamask-previews/transaction-controller@65.4.0-preview-9b6bf0851
@metamask-previews/transaction-pay-controller@22.5.0-preview-9b6bf0851
@metamask-previews/user-operation-controller@41.2.2-preview-9b6bf0851
@metamask-previews/wallet@0.0.0-preview-9b6bf0851

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant