Giveth / giveth-dapps-v2

This project is the aggregation of GIVeconomy and Giveth.io DApps in a single repo
https://staging.giveth.io
GNU General Public License v3.0
64 stars 34 forks source link

Merge EVM and SOL accounts #3392

Open divine-comedian opened 1 year ago

divine-comedian commented 1 year ago

Existing giveth users will be able to add a solana address to their profile

The user should primarily be able to do this from "my account" but we should consider other places where a donor might want to perform this action

Adding a solana address should be done via a button that makes users connect to the dapp with their solana wallet and to sign a message - this proves they are the owner of a given address

users might also want to do this from the switch network buttons on donating or the navbar image

notes with Krati

message signing is possible in solana

it is optional for users - we have moongate - allows us to create a solana wallet for an ethereum wallet or vice versa connect wallet - they can choose to login with either or phantom wallet has option for sign in with solana any wallet doesn't allow you to use multiple blockchains at once

should happen at time of connecting wallet that user can connect with solana or ethereum can add in future - need to make sure database can support having in both an ethereum

a solana user can log in and add in your ethereum wallet from their profile at any point in time only one wallet can be active if giveth has ten features but only 2 features show modal that they can only use this feature on solana - need to change wallet to connect

jainkrati commented 1 year ago

To donate on solana after connecting wallet, here is a good open source repo we can take inspiration from https://github.com/Dikower/donation-platform

jainkrati commented 1 year ago

Per user we will need to maintain which is the active wallet : is it ethereum or solana ? we will also support multiple wallets and allow to chose from them just like Phantom does.

This is easy to do technically by using solana web3.js

jainkrati commented 1 year ago

This api can be used to sign in with solana https://phantom.app/learn/developers/sign-in-with-solana cc @aminlatifi

jainkrati commented 12 months ago

Will be taken up in January;

MoeNick commented 12 months ago

@mosaeedi would you please update us with your suggested UX here?

MoeNick commented 11 months ago

This is the suggested UX.

https://www.figma.com/file/vMiyVd1Ly5LjgSyZrChVV8/Giveth-users?type=design&node-id=1628-5481&mode=design&t=moosVUC6LfsqedxK-4

MoeNick commented 11 months ago

@aminlatifi pls share your concerns with @jainkrati and provide some estimations.

jainkrati commented 11 months ago

Very roughly this will take 12 days and should be taken up as a Priority 2 issue after we complete all Priority 0 and 1 issues.

aminlatifi commented 10 months ago

This feature needs extensive changes in the backend and the front end. The design has shown a couple of menus and component changes, but the number of components will be changed after this feature can be 10x or more. Besides, we have to decide about plenty of edge cases e.g. like, donate, project management, donation listing, notification, account merging, consolidating info, ... . So, it doesn't need only development, the PMs and designers must be seriously involved.

My estimate for implementing this is about 3 months if all the resources are dedicated to this and work seamlessly with each other, which usually doesn't happen, so we may double this time. Furthermore, I think this will make the application more error-prone and costly to maintain due to the complexity it will bring with itself.

MohammadPCh commented 10 months ago

Hello Team, I'd like to share my initial estimations for the upcoming tasks:

The total estimated time is around 136 hours, which translates to about 3.5 weeks. Please note that these are raw estimations, and I recommend considering a 30% increase. Additionally, take into account potential blocking time and testing requirements. Thank you.

divine-comedian commented 10 months ago

@jainkrati - based on our discussions today on the dev call could you add your thoughts here