dusk-network / rusk

The reference Dusk platform implementation and tools
Mozilla Public License 2.0
157 stars 59 forks source link

Update Send screen to show a warning when a public address is entered #2176

Open kieranhall opened 3 weeks ago

kieranhall commented 3 weeks ago

Update the Send screen to show a message when the user has selected a public (moonlight) address.

Image

Figma file https://www.figma.com/design/z6UnA0BtMBUKIcCXD975um/Wallet-Extension-(JULY-26th)?node-id=6430-215375&m=dev

kieranhall commented 3 weeks ago

@ZER0 Can you add some technical detail (or reference to) how the application can determine if the key is moonlight or phoenix?

Also, how does this relate with "the driver" as mentioned here: https://github.com/dusk-network/dusk-wallet-js/pull/56#issuecomment-1954015211

ZER0 commented 3 weeks ago

@ZER0 Can you add some technical detail (or reference to) how the application can determine if the key is moonlight or phoenix?

Currently, you can determined it by the length. They have different length (check the length of the current public spend key vs the stake account, the moonlight account have the same size of the stake account).

We will add something in the wallet-core / SDK that given a bunch of bytes, it will returns if it's a valid account, a valid address, or neither.

Also, how does this relate with "the driver" as mentioned here: dusk-network/dusk-wallet-js#56 (comment)

The driver still remains as concept, that we will fully included after mainnet, the driver is the part of the code responsible to create addresses and accounts and transactions to talk with a specific contracts. In our case, we decided that for the genesis contracts this behavior is "embedded" in the protocol layer, so we won't have a driver per se, but a more specific library (wallet-core) that do mostly the same thing, but it's not generic.