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

[PROJECT] Web3 Compatible Wallets Support by Aurora #38

Open
4 of 11 tasks
trechriron opened this issue Mar 29, 2024 · 1 comment
Open
4 of 11 tasks

[PROJECT] Web3 Compatible Wallets Support by Aurora #38

trechriron opened this issue Mar 29, 2024 · 1 comment
Assignees
Labels
Project A project in flight.

Comments

@trechriron
Copy link
Collaborator

trechriron commented Mar 29, 2024

Summary

The primary goal is to develop a solution enabling Web3 wallet users to seamlessly interact with NEAR Protocol while retaining their user experience with other EVM-compatible networks. This solution should be straightforward, requiring minimal changes to the NEAR protocol, avoiding potential reversals of protocol changes, and minimizing the need for extensive user education. Additionally, it should prioritize minimizing the risk of phishing attacks that trick users into signing indecipherable data. It's crucial that transactions signed by users are processed unambiguously at the NEAR blockchain level, eliminating the need for a trusted intermediary.

Proposal --> near/NEPs#518

Goals & Milestones

Wallet Contract (WC): An on-chain smart contract designed to receive, validate, and execute Ethereum-compatible transactions on the NEAR blockchain. It functions as a user account.

Wallet Selector Extension: A frontend module that connects NEAR-compatible wallets to dApps. This project aims to develop add-ons supporting Ethereum wallets, primarily to create Ethereum-compatible transactions from NEAR-compatible inputs.

RPC-Translator (RPCT): Given that Ethereum wallets access blockchain state via a specific Web3 API, the RPC-Translator is designed to provide Ethereum methods implementations using the NEAR RPC as a data source. This component, along with the Transaction Relayer, is publicly hosted and accessible to all users. While the RPC-Translator and Transaction Relayer are operated together, they are listed separately to highlight their distinct functions.

Transaction Relayer (TR): Ethereum wallets cannot generate NEAR-compatible transactions. Instead, Ethereum-compatible transactions produced by them are processed by the Transaction Relayer, which embeds it into a NEAR transaction and forwards it to the user’s Wallet Contract. Again, while operated in conjunction with the RPC-Translator, the Transaction Relayer is distinct in its role.

[COMPLEX] Ethereum Translation Contract (ETC): Addressing the incompatibility between NEAR's human-readable account names and Ethereum's cryptographic hash-based addresses, the ETC functions as an on-chain mapping system. This system records NEAR-compatible input values (like NEAR account names and smart contract function names) and maps them to their corresponding Ethereum-compatible cryptographic hashes. This feature is vital for preserving familiar user experiences, such as recognizing ft_transfer operations in NEP-141 as fungible token (ERC20) transfers, rather than generic contract calls, and ensuring that fungible token balances are displayed in Web3 wallets.

Task List

@trechriron trechriron self-assigned this Mar 29, 2024
@trechriron trechriron moved this from Triage to Project in Infrastructure Working Group Mar 29, 2024
@rasfies rasfies changed the title [PROJECT] Web3 Compatible Wallets Support [PROJECT] Web3 Compatible Wallets Support by Aurora Apr 12, 2024
@trechriron trechriron moved this to In Progress in Infrastructure Working Group Jun 6, 2024
@trechriron trechriron added the Project A project in flight. label Jun 6, 2024
@trechriron
Copy link
Collaborator Author

@rasfies @trechriron - we need an updated status. We should collab and update sub-tasks to milestones.

@rasfies rasfies moved this from In Progress to Done in Infrastructure Working Group Aug 9, 2024
@rasfies rasfies moved this from Done to In Progress in Infrastructure Working Group Aug 9, 2024
@trechriron trechriron removed their assignment Aug 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Project A project in flight.
Projects
Status: Triage
Development

No branches or pull requests

2 participants