Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PolkaMask: Bridging the Polkadot Ecosystem with Metamask - A Revolutionary Signer Snap Project #2058

Merged
merged 5 commits into from
Nov 9, 2023

Conversation

Nick-1979
Copy link
Contributor

@Nick-1979 Nick-1979 commented Oct 19, 2023

Project Abstract

Introducing a revolutionary project with the vision of bridging the gap between the Polkadot ecosystem and the vast user base of Metamask, which boasts over 30 million users. We are committed to creating a seamless connection between these two vibrant communities, opening up new possibilities and opportunities for all involved.

This project includes a signer Snap for the Polkadot ecosystem on MetaMask. It seamlessly integrates with all existing dApps without requiring any code modifications. The Signer is capable of signing not only Polkadot and Kusama extrinsics but also extrinsics from all other Substrate-based chains that align with Polkadot.js APIs.

Grant level

  • Level 1: Up to $10,000, 2 approvals
  • Level 2: Up to $30,000, 3 approvals
  • Level 3: Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

  • The application template has been copied and aptly renamed (project_name.md).
  • I have read the application guidelines.
  • Payment details have been provided (bank details via email or Polkadot (USDC & USDT) or BTC address in the application).
  • The software delivered for this grant will be released under an open-source license specified in the application.
  • The initial PR contains only one commit (squash and force-push if needed).
  • The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
  • I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @_______:matrix.org (change the homeserver if you use a different one)

@github-actions
Copy link
Contributor

github-actions bot commented Oct 19, 2023

CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅

@Nick-1979
Copy link
Contributor Author

I have read and hereby sign the Contributor License Agreement.

Update polkamask.md
Copy link
Contributor

@keeganquigley keeganquigley left a comment

Choose a reason for hiding this comment

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

Thanks for the application @Nick-1979 a couple of initial comments:

  • Are you aware that ChainSafe just released their MetaMask snap for Polkadot? Can you do a quick comparison to explain how your project would be different?
  • I'm happy to see that you want to work with polkadot.cloud which is about to be released and looks super cool. Are you planning to contribute to the actual polkadot-cloud repo?
  • Deliverable 0b. looks like it was accidentally formatted incorrectly as it's in the wrong column. Can you adjust this? Thanks!

@keeganquigley keeganquigley added the changes requested The team needs to clarify a few things first. label Oct 19, 2023
@Nick-1979
Copy link
Contributor Author

Hi @keeganquigley,

Thank you for your prompt response.

  • Regarding the ChainSafe MetaMask snap, I've already discussed it in the 'Ecosystem Fit' section, where I explicitly mentioned the 'Polkadot Wallet' snap by ChainSafe to provide further clarity.

  • Yes, we are planning to submit pull requests (PRs) for our updates to both the polkadot-cloud and polkadot/extension-app repositories. In fact, we've already demonstrated our contributions in the image included in the proposal, highlighted in black. Additionally, I've included a demo video showcasing the integration of Polkadot-Cloud with the Polkagate signer.

  • The formatting issue in Deliverable 0b has been addressed and corrected. Thank you for bringing this to our attention.

@keeganquigley
Copy link
Contributor

Thanks for the updates @Nick-1979 its looking better now, and thanks for comparing to ChainSafe. I agree it would be great to have a solution that is more plug and play for devs who don't want to spend too much time implementing it. I will go ahead and mark the application as ready for review and ping the rest of the committee. In the meantime, I have just a couple more comments:

  • The Polkagate link points to an application that doesn't exist. I'm well aware of your team and your previous grants, but perhaps you could update this to fix the link?
  • If I understand correctly, any extension will be able to use the snap, correct? Not just the Polkagate and Polkadot-JS extensions?

@keeganquigley keeganquigley added ready for review The project is ready to be reviewed by the committee members. and removed changes requested The team needs to clarify a few things first. labels Oct 20, 2023
@Nick-1979
Copy link
Contributor Author

Thank you @keeganquigley, for advancing the proposal to the next stage for review. Your support and guidance are greatly appreciated.

As you mentioned, MetaMask lacks native support for Non-EVM Polkadot chains/parachains. The Polkagate Signer Snap effectively integrates MetaMask with the Polkadot ecosystem, offering a seamless solution. Our updates to extension-dapp and polkadot-cloud are designed to provide comprehensive support, not only for our Snap but also for any future Snaps adhering to the current standards of Polkadot JS, widely adopted by the ecosystem's dApps.

keeganquigley
keeganquigley previously approved these changes Oct 20, 2023
Copy link
Contributor

@keeganquigley keeganquigley left a comment

Choose a reason for hiding this comment

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

Thanks for the changes @Nick-1979 I'm happy to go ahead with it.

Copy link
Collaborator

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

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

Thanks for the application. I have two comments/questions:

  • Have you considered treasury funding for this project? My main concern here is that it is never a good idea to rely on grants and ultimately the community should decide if the project is valuable or not.
  • Second the application seems relatively expensive to me compared to your previous grants, when I consider the estimated FTE and time. Would you be willing to reduce the costs?

@Nick-1979
Copy link
Contributor Author

Nick-1979 commented Oct 23, 2023

@Noc2

David, we want to express our sincere appreciation for your invaluable feedback. Your concerns about treasury funding and project costs are well-received, and we would like to address these important points:

  1. Treasury Funding: We have indeed explored the possibility of obtaining treasury funding for this project. Drawing upon our past experience of successfully securing Kusama treasury grants, specifically through Gov 1 and Gov 2 for the Polkagate extension, we are well-acquainted with this process. However, it is important to note that the Polkagate Signer Snap is an innovative initiative aimed at seamlessly integrating Metamask with the Polkadot ecosystem. Given its early developmental phase, we have made the decision to launch it with the support of the Web3 Foundation grants program. We anticipate that as the project gains traction and community backing, we will explore the option of treasury funding for its subsequent milestones.

  2. Project Costs: We wholeheartedly acknowledge the oversight in our application concerning the estimated costs. The Full-Time Equivalent (FTE) should have been correctly listed as 2. We deeply regret any confusion this oversight may have caused.

Your insights are invaluable to us, and we are wholeheartedly dedicated to ensuring transparency and alignment with the interests of the community. We eagerly look forward to engaging in further discussions and are entirely open to any necessary adjustments.

Copy link
Collaborator

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

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

Thanks for the detailed and quick reply. Would you potentially be willing to reduce the total costs at least a little bit?

@Nick-1979
Copy link
Contributor Author

@Noc2

David, we value your feedback, and in response to your concerns, we have adjusted the total budget to $28K. This demonstrates our dedication to cost-efficiency while maintaining the quality of the project. We appreciate your understanding and ongoing support.

Copy link
Contributor

@keeganquigley keeganquigley left a comment

Choose a reason for hiding this comment

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

Thanks for the changes @Nick-1979 still happy to go ahead with it.

Copy link
Contributor

@dsm-w3f dsm-w3f left a comment

Choose a reason for hiding this comment

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

@Nick-1979 thank you for the grant application.

You mention in the application that a difference from your proposal to Polkadot Snap (Chainsafe one) is "An important distinction is that integrating with this wallet Snap often requires dApps to undergo modifications to utilize the Snap, which can be a significant barrier to integration.". Could you elaborate more on that? What would be the modifications needed to integrate with Chainsafe's snap? How difficult are those modifications to be performed?

Furthermore, you mention "To uphold Snap security, MetaMask requires audits from selected teams. We are in the process of arranging these audits to ensure a high level of security.". How much it would cost and how do you plan to afford this?

I think interesting the idea of having more than one snap for Polkadot but this will only have value if it is different than what we already have and if would be actually launched, what includes the audit.

@Nick-1979
Copy link
Contributor Author

@dsm-w3f

Thank you for your comment. Our project encompasses not only the Polkagate signer snap but also the upgrade of Polkadot-Cloud and Polkadot/extension-dapp to support MetaMask snaps. In regard to the differences between our snap and ChainSafe's snap, aside from variances in user interface and configuration approaches, a notable distinction lies in the integration process. ChainSafe's snap often requires dApps to undergo adjustments, such as initial configurations and injections into the dApps, to establish connectivity with their specific snap. Some examples of these modifications are showcased below.
Screenshot 2023-10-27 at 2 24 42 at night
Screenshot 2023-10-27 at 2 23 50 at night
Screenshot 2023-10-27 at 2 23 08 at night

In contrast, our implementation not only eliminates the need for code changes in dApps but also offers compatibility with any future snaps that adhere to the MetaMask standard for connectivity and seek integration with existing dApps.

Regarding the cost of auditing, we recently had a discussion with the MetaMask team and a reputable audit company accredited by MetaMask. They have informed us that the audit is estimated to cost between $5,000 and $10,000 USD. We are in the process of obtaining their proforma invoice, which should be ready today, although it may take a little more time. Rest assured, we plan to include the audit cost within our current budget request.

@Nick-1979 Nick-1979 requested a review from dsm-w3f October 31, 2023 09:56
@takahser takahser requested review from takahser and removed request for dsm-w3f November 7, 2023 08:38
@takahser takahser merged commit 1b06cf6 into w3f:master Nov 9, 2023
7 checks passed
Copy link
Contributor

github-actions bot commented Nov 9, 2023

Congratulations and welcome to the Web3 Foundation Grants Program! Please refer to our Milestone Delivery repository for instructions on how to submit milestones and invoices, our FAQ for frequently asked questions and the support section of our README for more ways to find answers to your questions.

Before you start, take a moment to read through our announcement guidelines for all communications related to the grant or make them known to the right person in your organisation. In particular, please don't announce the grant publicly before at least the first milestone of your project has been approved. At that point or shortly before, you can get in touch with us at [email protected] and we'll be happy to collaborate on an announcement about the work you’re doing.

Lastly, please remember to let us know in case you run into any delays or deviate from the deliverables in your application. You can either leave a comment here or directly request to amend your application via PR. We wish you luck with your project! 🚀

@Nick-1979
Copy link
Contributor Author

🚀 Quick Update! As promised earlier, the Snap security audit has been successfully completed by Safyer. You can access the audit report via the following link: Audit Report.

Additionally, we’ve submitted a request for Snap whitelisting through Metamask, and the process is underway. Expect it to be completed soon! 🙌

Thank you for your support! 🌟

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready for review The project is ready to be reviewed by the committee members.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants