MetaMask / snaps

Extend the functionality of MetaMask using Snaps
https://metamask.io/snaps/
Other
720 stars 553 forks source link

Snap Manifest should state minimum extension version #732

Open ritave opened 2 years ago

ritave commented 2 years ago

Some people were running old Flask version due to manual builds during EthWarsaw.

There are difference in how snaps are executed between versions (eg. teardowns) that might introduce security risks. While such a scenario will probably affect power developers who know what they're doing, having an ability to specify minimum supported extension version would avoid this problem.

If we merged the manifest with package.json (#412), we could use the engines property, similarly how VS Code does it.

cc @piotr-roslaniec

piotr-roslaniec commented 2 years ago

I think publishing a compatibility matrix for MetaMask Flask and @metamask/snaps-cli would be an interesting addition to regular operations.

There's also a possible extension where compatibility would be enforced at the client level, or maybe just have this information presented as feedback somehow. I'm speculating here that client may share their version through JSON-RPC and MetaMask could then reject it with an error if it's outside the supported version range for a given release.