Skip to content

chore: bump snaps solana@7.0.0 tron@4.0.0 bitcoin@3.1.0 - #37044

Merged
taran-a merged 1 commit into
mainfrom
chore/bump-solana-tron-bitcoin-snaps
Sep 30, 2026
Merged

taran-a merged 1 commit into
mainfrom
chore/bump-solana-tron-bitcoin-snaps

Conversation

@taran-a

@taran-a taran-a commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Description

Tron release changelog v4.0.0

Added

  • Add signProofOfOwnershipBatch for signing multiple proof-of-ownership messages in one request. (#265)
  • Emit Transaction Added, Transaction Approved, and Transaction Rejected for signTransaction confirmations (#333)
    • Only dApp-initiated transaction confirmations were affected; the unified send flow already emitted these events.
  • Report account synchronization failures to Sentry with the failing account IDs and their failure reasons (#374)

Changed

  • BREAKING Bump @metamask/keyring-api from ^23.7.0 to ^24.1.0 (#214)
  • BREAKING Bump @metamask/keyring-snap-sdk from ^9.2.1 to ^10.0.0 (#214)
  • BREAKING Bump @metamask/snaps-sdk from ^11.2.0 to ^12.0.1 (#214)

Removed

  • BREAKING Remove the deprecated asset cluster of handlers: onAssetHistoricalPrice, onAssetsConversion, onAssetsLookup and onAssetsMarketData (#263)

Fixed

  • Emit Transaction Submitted from the Wallet Standard signAndSendTransaction path so its transactions no longer reach Transaction Finalized without a matching submit event (#343)
  • Tolerate unknown fields in the Token API metadata response so that new fields added by the API no longer fail validation and fall back to default token metadata (#320)
Solana release changelog v7.0.0

Added

  • Add signProofOfOwnershipBatch for signing multiple proof-of-ownership messages in one request. (#256)
  • Add back the endowment:assets permission for the Solana scopes to the snap manifest, with no-op onAssetsLookup, onAssetsConversion, onAssetHistoricalPrice, and onAssetsMarketData entry points required to keep the permission (#274)
  • Report account synchronization failures to Sentry with the failing account IDs and their failure reasons (#376)

Changed

  • BREAKING: Bump @solana/kit from ^6.9.0 to ^8.3.0 and the @solana-program/* clients (compute-budget ^0.18.1, system ^0.14.1, token ^0.16.1, token-2022 ^0.17.0) to their Kit 8-compatible versions. (#303)
  • BREAKING: Update the Solana Name Service integration to SNS SDK v1 and the Kit 6.9-compatible Solana program clients (#271)
  • BREAKING Bump @metamask/keyring-api from ^23.7.0 to ^24.1.0 (#214)
  • BREAKING Bump @metamask/keyring-snap-sdk from ^9.2.1 to ^10.0.0 (#214)
  • BREAKING Bump @metamask/snaps-sdk from ^11.2.0 to ^12.0.1 (#214)
  • Reduce snap_getBip32Entropy calls in createAccounts from two to one for bip44:discover by deriving the activity-check address locally from the already-fetched coin-type node, and parallelize the entropy fetch with the existing-accounts state read for all creation paths (#304)
  • Coalesce concurrent AccountsSynchronizer.synchronize calls for the same account set so duplicate in-flight syncs (e.g. simultaneous connection-recovery events across mainnet and devnet) share one run instead of fanning out redundant asset and transaction fetches (#304)
  • Migrate trackError and withCatchAndThrowSnapError to @metamask/snap-networks-utils createSnapErrorHandling, and add getSnapProvider for Snap RPC access
  • Extract Snap-owned assets domain logic into SnapAssetsAdapter; AssetsService is a thin facade that delegates metadata, market data, fetch, persist, and account asset reads through the adapter (no Core routing yet). (#121)
  • Align AssetsService read API with snap-networks-utils / AssetsController shapes by adding getAccountAssetByID, getAccountAssetsByIDs, getAccountAssetsByScope, and getAccountAssets, and routing Keyring and Send through them (still Snap-owned storage). (#120)
  • Bump @metamask/utils from ^11.9.0 to ^11.11.9 (#161)

Removed

  • BREAKING Remove the onAssetsLookup, onAssetsConversion, onAssetHistoricalPrice, and onAssetsMarketData asset handler entry points, along with the now-unused handler modules and the endowment:assets permission (#261)
  • BREAKING Remove AssetsService.fetchAssetsMarketData and SnapAssetsAdapter.fetchAssetsMarketData, the TokenPricesService class, and PriceApiClient.getHistoricalPrices, all of which were only used by the removed asset handlers (#261)
  • Remove the now-unused PriceApiClient.getFiatExchangeRates method and related ExchangeRate type, the unused tokenPrices unencrypted state field, the unused fiatExchangeRates and historicalPrices price API cache TTL options, and unused price API test mocks (#261)

Fixed

  • BREAKING: Preserve dapp-origin signTransaction and signAndSendTransaction payloads by signing the decoded transaction directly (#156)
  • Prevent signing dapp transactions with expired blockhashes, and refresh the blockhash for MetaMask-originated transactions before signing. (#183)
  • Tolerate unknown fields in the Price API spot price and Token API metadata responses so that new fields
    added by the API no longer fail validation (#321)
  • Emit an AccountTransactionsUpdated keyring event with a pending unconfirmed transaction immediately after broadcasting.
Bitcoin release changelog v3.1.0

Added

  • Add signProofOfOwnershipBatch for signing multiple proof-of-ownership messages in one request. (#266)
  • Emit Transaction Added, Transaction Approved, and Transaction Rejected tracking events from Bitcoin transaction confirmations (#328, #329)
  • Report account synchronization failures to Sentry with the failing account IDs and their failure reasons (#375)

Fixed

  • Populate the from address of receive transactions by resolving the addresses that funded them through the chain indexer. Bitcoin inputs only reference a previous outpoint, so the sender was previously left empty. (#372)

Changelog

CHANGELOG entry: null

Related issues

n/a

Manual testing steps

n/a

Screenshots/Recordings

Before

n/a

After

n/a

Pre-merge author checklist

Performance checks (if applicable)

  • I've tested on Android
    • Ideally on a mid-range device; emulator is acceptable
  • I've tested with a power user scenario
    • Use these power-user SRPs to import wallets with many accounts and tokens
  • I've instrumented key operations with Sentry traces for production performance metrics

For performance guidelines and tooling, see the Performance Guide.

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

@taran-a taran-a added the no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed label Sep 30, 2026
@github-actions

Copy link
Copy Markdown
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamask-ci metamask-ci Bot added the team-networks Networks team label Sep 30, 2026
@metamask-ci

metamask-ci Bot commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

PR template — items to address before "Ready for review"

Warnings — informational, address before merging:

  • Related issues section is empty. Add Fixes: #123 / Closes: <URL> / Refs: <Jira key>, or write a short rationale after the colon.
  • Pre-merge author checklist has unchecked items (e.g. "I've followed MetaMask Contributor Docs and MetaMask Mobile Coding Standards."). Every box must be consciously checked — see docs/readme/ready-for-review.md.

See docs/readme/ready-for-review.md for the full Definition of Ready for Review.

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatednpm/​@​metamask/​bitcoin-wallet-snap@​3.0.0 ⏵ 3.1.0100 +110083 +198 +1100
Updatednpm/​@​metamask/​solana-wallet-snap@​5.0.1 ⏵ 7.0.093 +110084 +198 -1100
Updatednpm/​@​metamask/​tron-wallet-snap@​3.2.0 ⏵ 4.0.0100100100 +199100

View full report

@github-actions github-actions Bot added the risk:high AI analysis: high risk label Sep 30, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Smart E2E Test Selection

Selected E2E tags

SmokeSnaps
SmokeNetworkExpansion
SmokeConfirmations
SmokeMultiChainAPI
SmokeNetworkAbstractions

AI Confidence: 82

E2E reasoning

Expand to read

This PR upgrades three preinstalled wallet snaps:

  1. @metamask/bitcoin-wallet-snap: ^3.0.0 → ^3.1.0 (minor bump — lower risk, additive changes expected)
  2. @metamask/solana-wallet-snap: ^5.0.1 → ^7.0.0 (two major version jumps — high risk, breaking changes possible in Solana signing, account management, and dApp connection flows)
  3. @metamask/tron-wallet-snap: ^3.2.0 → ^4.0.0 (major version bump — medium-high risk, breaking changes possible in Tron multichain support)

Impact analysis:

  • SmokeSnaps: Directly tests snap lifecycle (installation, enabling/disabling, removal), snap Ethereum provider access, and snap capabilities. The description explicitly mentions "Snaps enable non-EVM chain support like Solana account derivation." Major version bumps in solana-wallet-snap and tron-wallet-snap could break snap management tests, preinstalled snap tests, and BIP-32/BIP-44 key derivation tests.

  • SmokeNetworkExpansion: Directly tests Solana Wallet Standard compliance — dApp connect/disconnect, SOL token transfers, Solana message signing, account switching with dApp notification. The solana-wallet-snap major version jump (5→7) is the primary driver of this snap's behavior and could break any of these flows.

  • SmokeConfirmations: Per tag description, "Solana transaction/signing flows (SmokeNetworkExpansion) also hit confirmations — when selecting SmokeNetworkExpansion for Solana flows, also select SmokeConfirmations." The solana-wallet-snap upgrade could change how Solana transaction confirmations are presented.

  • SmokeMultiChainAPI: Tests EVM + Solana multi-chain scope combinations. The solana-wallet-snap upgrade could affect how Solana accounts are exposed in CAIP-25 sessions.

  • SmokeNetworkAbstractions: Tests multi-chain token filtering for Solana. Changes in the solana-wallet-snap could affect how Solana tokens are displayed in the network abstraction layer.

No performance-sensitive code paths were changed — only snap package versions were bumped, so no performance tests are warranted.

Performance reasoning

Expand to read

Only wallet snap package versions were bumped (bitcoin-wallet-snap, solana-wallet-snap, tron-wallet-snap). These are preinstalled snap upgrades with no changes to app rendering paths, state management, asset loading, or startup sequences. No performance-sensitive flows are impacted.

View run

@sonarqubecloud

Copy link
Copy Markdown

@Battambang Battambang left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thx for the bump

@taran-a
taran-a added this pull request to the merge queue Sep 30, 2026
Merged via the queue into main with commit 18488bf Sep 30, 2026
117 checks passed
@taran-a
taran-a deleted the chore/bump-solana-tron-bitcoin-snaps branch September 30, 2026 14:42
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 30, 2026
@metamask-ci metamask-ci Bot added the release-8.15.0 Issue or pull request that will be included in release 8.15.0 label Sep 30, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed release-8.15.0 Issue or pull request that will be included in release 8.15.0 risk:high AI analysis: high risk size-XS team-networks Networks team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants