Skip to content

Commit cc78af4

Browse files
Update snaps allowlisting guide (#2254)
* Remove one resource and add 2 others * More details on how to publish a Snap Also reference the install tester tool instead of the sandbox * Remove requirement for builder engagement onboarding * Extra callout about Flask * Update URLs in allowlisting guide * Warn about account Snaps * Update index.md * revert line breaks and update prettier config * more edits and remove onboarding form from quickstart --------- Co-authored-by: Alexandra Tran <alexandratran@protonmail.com>
1 parent a8b39e4 commit cc78af4

File tree

7 files changed

+52
-46
lines changed

7 files changed

+52
-46
lines changed

.prettierrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"singleQuote": true,
88
"tabWidth": 2,
99
"trailingComma": "es5",
10-
"proseWrap": "never",
10+
"proseWrap": "preserve",
1111
"printWidth": 100,
1212
"htmlWhitespaceSensitivity": "css",
1313
"vueIndentScriptAndStyle": true

snaps/features/custom-evm-accounts/index.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ sidebar_position: 2
55

66
# Custom EVM accounts
77

8+
:::caution
9+
MetaMask is not currently accepting allowlisting requests for Custom EVM Account Snaps.
10+
:::
11+
812
The Keyring API integrates custom EVM accounts inside MetaMask.
913
You can use the Keyring API to display custom accounts, such as multi-party computation (MPC)
1014
accounts and [ERC-4337 accounts](#account-abstraction-erc-4337), alongside regular MetaMask accounts
@@ -275,7 +279,7 @@ notifying MetaMask of the result.
275279

276280
## EOA methods
277281

278-
An account management Snap can implement the following methods to support dapp requests from
282+
An account management Snap can implement the following methods to support dapp requests from
279283
externally owned accounts (EOAs):
280284

281285
- [`personal_sign`](../../reference/keyring-api/chain-methods.md#personal_sign)
@@ -289,11 +293,11 @@ externally owned accounts (EOAs):
289293
:::
290294

291295
Account abstraction, specified by [EIP-4337](https://eips.ethereum.org/EIPS/eip-4337), introduces
292-
_user operations_ and enables users to manage smart contract accounts containing arbitrary
296+
_user operations_ and enables users to manage smart contract accounts containing arbitrary
293297
verification logic.
294298
Users can use these ERC-4337 accounts instead of externally owned accounts as primary accounts.
295299

296-
An account management Snap can implement the following methods to support dapp requests from
300+
An account management Snap can implement the following methods to support dapp requests from
297301
ERC-4337 accounts:
298302

299303
- [`eth_prepareUserOperation`](../../reference/keyring-api/chain-methods.md#eth_prepareuseroperation)

snaps/get-started/install-flask.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,11 @@ extension, MetaMask Flask is intended for developers building and testing Snaps
3131
Also, new MetaMask features are enabled in Flask for testing and developer feedback before they're
3232
enabled in MetaMask stable.
3333
These features appear in the documentation with the **Flask** or **FLASK ONLY** tag.
34-
You can also view Flask-specific features by looking for the **\[FLASK\]** label in the
34+
You can also view Flask-specific features by looking for the **\[FLASK\]** label in the
3535
[MetaMask Extension changelog](https://github.com/MetaMask/metamask-extension/blob/develop/CHANGELOG.md).
36+
37+
:::note
38+
You should not encourage end users to install Flask.
39+
It is not guaranteed to be reliable.
40+
Also, if you do not [submit your Snap for the allowlist](../how-to/get-allowlisted.md), it will not be listed in the [MetaMask Snaps Directory](https://snaps.metamask.io), so users will not be able to find your Snap.
41+
:::

snaps/get-started/quickstart.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,6 @@ You've now successfully connected, installed, interacted with, and customized yo
189189

190190
## Next steps
191191

192-
- Fill out the [Snap Builders Onboarding Form](https://feedback.metamask.io/snaps-onboarding) to
193-
allow the MetaMask Snaps team to engage with you and provide support as you begin to develop your Snap.
194192
- To learn more about the Snaps system, review [fundamental Snaps concepts](../learn/about-snaps/index.md)
195193
and try the [Snaps tutorials](../learn/tutorials/gas-estimation.md).
196194
- To implement specific features and use cases, see the [Snaps feature guides](../features/cron-jobs.md).

snaps/how-to/get-allowlisted.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ Always do your own research before installing a Snap.
2222

2323
## Prerequisites
2424

25-
- Ensure you have filled out the [Snap Builders Onboarding Form](https://feedback.metamask.io/snaps-onboarding).
26-
2725
- Ensure that your Snap:
2826

2927
- Has publicly available source code.
@@ -34,7 +32,7 @@ Always do your own research before installing a Snap.
3432

3533
- Remove any `console` logs, "to-do" comments, and unused permissions or methods.
3634

37-
- Scan your Snap for security vulnerabilities using [Snapper](https://github.com/sayfer-io/Snapper) and
35+
- Scan your Snap for security vulnerabilities using [Snapper](https://github.com/sayfer-io/Snapper) and
3836
resolve any reported issues.
3937

4038
- If your Snap uses any of the following API methods related to key management, you must provide
@@ -53,7 +51,7 @@ Always do your own research before installing a Snap.
5351

5452
:::info
5553
A list of approved third-party auditors and details about the audit process are available on the
56-
[MetaMask Snaps Builder Engagement Program](https://consensys.notion.site/Audit-process-1acbc67819dc4631b7a3d6c664e387a3).
54+
[MetaMask Snaps Wiki](https://github.com/MetaMask/snaps/wiki/Audits).
5755
:::
5856

5957
## Steps
@@ -85,7 +83,7 @@ The form requests information about your Snap, including the following:
8583
For example: _After installing the Snap, visit the companion dapp at
8684
https://voyager-snap.linea.build to connect an account and track your Linea Voyage progress._
8785

88-
- **GitHub repository and npm package URLs** - The public GitHub repo that hosts your Snap's
86+
- **GitHub repository and npm package URLs** - The public GitHub repo that hosts your Snap's
8987
source code, and the npm package of your [published Snap](../how-to/publish-a-snap.md).
9088
If your Snap's source code is hosted on a different site, such as GitLab, you can link to that instead.
9189

@@ -103,7 +101,7 @@ The form requests information about your Snap, including the following:
103101
:::
104102

105103
- **Customer support details** -
106-
[Customer support information](https://consensys.notion.site/Providing-User-Support-Information-cff79a7d896e4da6a2f8a17ce074e585)
104+
[Customer support information](https://github.com/MetaMask/snaps/wiki/User-Support-Information)
107105
to ensure a smooth user experience for your Snap.
108106
This allows MetaMask to escalate any issues that a user might encounter with your Snap.
109107
The escalation contact will be kept confidential within MetaMask, and the rest of the information

snaps/how-to/publish-a-snap.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ The following details are specific to Snaps:
1919
installing the Snap, in custom dialogs, and in the settings menu.
2020
- This icon should be a valid SVG.
2121
- The icon will be cropped in a circle when displayed in MetaMask; you do not need to make the icon circular.
22+
- The icon should only have a transparent background if the icon is clearly visible on both light and dark backgrounds.
2223

2324
After publishing the Snap, any dapp can connect to the Snap by using the Snap ID `npm:[packageName]`.
25+
You can use the [Snap Install Tester](https://montoya.github.io/snap-install-tester/) with [MetaMask Flask](../get-started/install-flask.md) to verify that your Snap package was published correctly.
2426

2527
:::caution
2628
If you are using the Snap monorepo project generated in the [quickstart](../get-started/quickstart.md),
2729
make sure to only publish the Snap package in `/packages/snap`.
28-
You can use the [Snaps sandbox](test-a-snap.md#test-in-the-sandbox) to verify
29-
that your Snap was published correctly: in the sandbox settings, disable **Use current Snap ID** and specify the npm ID of your Snap.
3030

3131
Also, make sure to update the manifest file, icon file, and README to differentiate your Snap from the template.
3232
:::

snaps/learn/resources.md

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -10,36 +10,33 @@ View the following Snaps resources in addition to this documentation site.
1010
## Primary resources
1111

1212
- [Snaps homepage](https://metamask.io/snaps/)
13-
- [Snaps directory](https://snaps.metamask.io/) - A directory of allowlisted
13+
- [Snaps directory](https://snaps.metamask.io/) - A directory of allowlisted
1414
Snaps you can try in the MetaMask extension.
15-
- [SIPs](https://github.com/MetaMask/SIPs) - Suggest new Snaps APIs with
15+
- [SIPs](https://github.com/MetaMask/SIPs) - Suggest new Snaps APIs with
1616
Snaps Improvement Proposals.
17-
- [Builder Engagement Program](https://go.metamask.io/snaps-builders) -
18-
Connect with the Snaps builder engagement team and get support while building
19-
your Snap.
2017

2118
## Example Snaps
2219

23-
- [Example Snaps](https://github.com/MetaMask/snaps/tree/main/packages/examples) -
20+
- [Example Snaps](https://github.com/MetaMask/snaps/tree/main/packages/examples) -
2421
A directory of Snaps maintained by MetaMask.
25-
- [Linea Voyager](https://github.com/Consensys/linea-voyager-snap) - View Linea
22+
- [Linea Voyager](https://github.com/Consensys/linea-voyager-snap) - View Linea
2623
XP balance, PoH status, and current Linea Voyage activations from within MetaMask.
27-
- [Starknet](https://github.com/Consensys/starknet-snap) - Adds Starknet account
24+
- [Starknet](https://github.com/Consensys/starknet-snap) - Adds Starknet account
2825
and transaction functionality to MetaMask.
29-
- [Simple Keyring Snap](https://github.com/MetaMask/snap-simple-keyring) - An
26+
- [Simple Keyring Snap](https://github.com/MetaMask/snap-simple-keyring) - An
3027
example account management Snap using the [Keyring API](../reference/keyring-api/index.md).
31-
- [Mystery Fox](https://github.com/Montoya/mystery-fox) - Provides random answers to
28+
- [Mystery Fox](https://github.com/Montoya/mystery-fox) - Provides random answers to
3229
questions and showcases interactive UI and images.
33-
- [Farcaster Insights](https://github.com/Montoya/farcaster-insights) - Shows if
30+
- [Farcaster Insights](https://github.com/Montoya/farcaster-insights) - Shows if
3431
the recipient in a transaction request has a Farcaster account and their stats.
35-
- [Smart Account Template](https://github.com/bcnmy/smart-account-keyring-template) -
36-
Template for integrating the Biconomy Smart Account with the
32+
- [Smart Account Template](https://github.com/bcnmy/smart-account-keyring-template) -
33+
Template for integrating the Biconomy Smart Account with the
3734
[Keyring API](../reference/keyring-api/index.md).
38-
- [Text Transformer](https://github.com/Montoya/transformer-snap) - Transforms
39-
strings into Unicode bold, italic, and strikethrough characters for use on social
35+
- [Text Transformer](https://github.com/Montoya/transformer-snap) - Transforms
36+
strings into Unicode bold, italic, and strikethrough characters for use on social
4037
media. Demonstrates [interactive JSX UI](../features/custom-ui/index.md) in a home page.
41-
- [Social Names](https://github.com/Montoya/social-names-snap) - Adds Farcaster and
42-
Lens handles to the send flow and petnames using
38+
- [Social Names](https://github.com/Montoya/social-names-snap) - Adds Farcaster and
39+
Lens handles to the send flow and petnames using
4340
[custom name resolution](../features/custom-name-resolution.md).
4441

4542
## Developer tools
@@ -49,15 +46,18 @@ View the following Snaps resources in addition to this documentation site.
4946
deploying your Snap, and a companion dapp UI you can build on.
5047
- [Test Snaps](https://github.com/MetaMask/snaps/tree/main/packages/test-snaps) - A collection of
5148
test Snaps and [a dapp for evaluating them](https://metamask.github.io/snaps/test-snaps/latest/).
52-
- [`snaps-jest`](https://www.npmjs.com/package/@metamask/snaps-jest) - A Jest preset for end-to-end
49+
- [`snaps-jest`](https://www.npmjs.com/package/@metamask/snaps-jest) - A Jest preset for end-to-end
5350
testing MetaMask Snaps, including a Jest environment, and a set of Jest matchers.
5451
See [how to test a Snap](../how-to/test-a-snap.md) using `snaps-jest`.
5552
- [Snapper](https://github.com/sayfer-io/Snapper) - A tool for detecting security vulnerabilities,
5653
identifying potential issues, and ensuring best coding practices in your Snap.
57-
- [MetaMask Testing Tools](https://hugomrdias.github.io/metamask/) - A collection of tools for
58-
testing MetaMask, MetaMask Flask, and MetaMask Snaps with [Playwright](https://playwright.dev/),
59-
delivered as an npm package that provides a `createFixture` function that returns a `test` and
54+
- [MetaMask Testing Tools](https://hugomrdias.github.io/metamask/) - A collection of tools for
55+
testing MetaMask, MetaMask Flask, and MetaMask Snaps with [Playwright](https://playwright.dev/),
56+
delivered as an npm package that provides a `createFixture` function that returns a `test` and
6057
`expect` function that can be used to write tests.
58+
- [Snap Install Tester](https://montoya.github.io/snap-install-tester/) - A simple web tool for loading and installing any Snap from npm.
59+
Just provide an npm package ID and (optional) version number, then click to install in MetaMask Flask.
60+
- [Snap Connect Example](https://github.com/Montoya/snap-connect-example) - Example code for connecting to MetaMask from a website and interfacing with a Snap in a reliable way.
6161

6262
## Blog posts
6363

@@ -69,7 +69,7 @@ View the following Snaps resources in addition to this documentation site.
6969
Here](https://metamask.io/news/latest/snaps-in-metamask-stable-and-where-we-go-from-here/) by Dan
7070
Finlay
7171
- [MetaMask Snaps Launch with Hardened JavaScript Under the
72-
Hood](https://agoric.com/blog/announcements/metamask-snaps-launch-with-hardened-javascript-under-the-hood)
72+
Hood](https://agoric.com/blog/announcements/metamask-snaps-launch-with-hardened-javascript-under-the-hood)
7373
by Agoric
7474
- [Navigating the Security Landscape of MetaMask Snaps](https://metamask.io/news/developers/navigating-the-security-landscape-of-metamask-snaps/)
7575
by Martin Ortner & Valentin Quelquejay
@@ -92,25 +92,25 @@ View the following Snaps resources in addition to this documentation site.
9292

9393
## Community
9494

95-
- [Snaps GitHub discussions](https://github.com/MetaMask/snaps/discussions) - Browse
95+
- [Snaps GitHub discussions](https://github.com/MetaMask/snaps/discussions) - Browse
9696
discussions and ask questions about Snaps.
97-
- [Consensys Discord](https://discord.gg/consensys) - Ask questions about Snaps on
97+
- [Consensys Discord](https://discord.gg/consensys) - Ask questions about Snaps on
9898
the **mm-snaps-dev** channel.
99-
- [Snaps GitHub issues](https://github.com/MetaMask/snaps/issues) - If you encounter
99+
- [Snaps GitHub issues](https://github.com/MetaMask/snaps/issues) - If you encounter
100100
any issues with Snaps, open a GitHub issue.
101101

102102
## Snaps for developers
103103

104104
Many Snaps are designed to be used by developers.
105105

106-
- [CubeSigner](https://cubist.dev/cubesigner-snap-hardware-backed-key-management-for-metamask-developers) -
107-
Enables dapp developers to manage keys for Ethereum, Bitcoin, Solana, and more using
106+
- [CubeSigner](https://cubist.dev/cubesigner-snap-hardware-backed-key-management-for-metamask-developers) -
107+
Enables dapp developers to manage keys for Ethereum, Bitcoin, Solana, and more using
108108
secure remote hardware.
109-
- [Galactica ZK Vault](https://docs.galactica.com/galactica-developer-documentation) -
109+
- [Galactica ZK Vault](https://docs.galactica.com/galactica-developer-documentation) -
110110
Integrates the Galactica Network for dapps to leverage ZK-proofs for compliant privacy.
111-
- [Hedera Wallet](https://docs.tuum.tech/hedera-wallet-snap) - Build Hedera dapps with
111+
- [Hedera Wallet](https://docs.tuum.tech/hedera-wallet-snap) - Build Hedera dapps with
112112
the methods provided by Hedera Wallet.
113-
- [Leap Wallet](https://docs.leapwallet.io/cosmos/leap-metamask-snap/integrating-snaps) -
113+
- [Leap Wallet](https://docs.leapwallet.io/cosmos/leap-metamask-snap/integrating-snaps) -
114114
Connect Cosmos dapps to MetaMask with Leap Wallet.
115-
- [MinaPortal](https://github.com/sotatek-dev/mina-snap/tree/master/packages/snap#methods) -
115+
- [MinaPortal](https://github.com/sotatek-dev/mina-snap/tree/master/packages/snap#methods) -
116116
Build ZkApps on Mina Network with the dapp methods provided by MinaPortal.

0 commit comments

Comments
 (0)