Skip to content

[pull] main from MetaMask:main#571

Merged
pull[bot] merged 1 commit intoReality2byte:mainfrom
MetaMask:main
May 8, 2026
Merged

[pull] main from MetaMask:main#571
pull[bot] merged 1 commit intoReality2byte:mainfrom
MetaMask:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 8, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

## Explanation

The `@metamask/connect-evm` package is adding support for sending
`sessionProperties: { 'eip1193-compatible': true }` on every
`wallet_createSession` request
([MetaMask/connect-monorepo#285](MetaMask/connect-monorepo#285)).
This lets the wallet distinguish EIP-1193-style connections established
through `connect-evm` from pure Multichain API connections and other
provider types like Solana Wallet Standard.

However, the `chain-agnostic-permission` package validates session
properties against a known set (`KnownSessionProperties` enum), and any
unrecognized property causes the CAIP-25 caveat validator to throw.
Without this change, the new `eip1193-compatible` session property would
be rejected.

This PR adds `Eip1193Compatible = 'eip1193-compatible'` to the
`KnownSessionProperties` enum so the wallet accepts it as a valid
session property.

## References

- Related to
[MetaMask/connect-monorepo#285](MetaMask/connect-monorepo#285)
— the upstream PR that sends this session property from `connect-evm`

## Checklist

- [x] I've updated the test suite for new or updated code as appropriate
- [x] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [x] I've communicated my changes to consumers by [updating changelogs
for packages I've
changed](https://github.com/MetaMask/core/tree/main/docs/processes/updating-changelogs.md)
- [ ] I've introduced [breaking
changes](https://github.com/MetaMask/core/tree/main/docs/processes/breaking-changes.md)
in this PR and have prepared draft pull requests for clients and
consumer packages to resolve them

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk: adds a new allowed CAIP-25 `sessionProperties` key and tags
legacy permission conversions with it, with no changes to scope/account
validation logic beyond accepting this new flag.
> 
> **Overview**
> Adds support for the `eip1193-compatible` CAIP-25 session property by
extending `KnownSessionProperties` and related validation/tests so
`wallet_createSession` requests carrying this flag are no longer
rejected.
> 
> Updates `getCaip25PermissionFromLegacyPermissions` to always set
`sessionProperties: { 'eip1193-compatible': true }`, and adjusts unit
tests plus the package changelog accordingly.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
fb7fa99. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@pull pull Bot locked and limited conversation to collaborators May 8, 2026
@pull pull Bot added the ⤵️ pull label May 8, 2026
@pull pull Bot merged commit 40465f7 into Reality2byte:main May 8, 2026
0 of 6 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant