Social Recovery Wallet Milestone 3 Delivery#713
Conversation
|
@n13 thanks for the delivery, I'll have a look shortly and get back to you. |
|
@n13 thanks for your patience here and sorry for the delay. I tested your app on two iPhones and I have a few comments:
|
Thanks for your comments - going through these!
This is an encoded substrate signing request URL. Spec version 0.1 is here: https://github.com/hypha-dao/hashed-wallet/wiki/Substrate-Signing-Request-Specification The idea is to make this into a full blown spec by adding identity (login) and callbacks. Both relatively easy to do. For the time being the URL encodes a signing request for a substrate transaction. A receiver - another phone - can tap on the link, the wallet will open with this link, and the signing request will display, then can be accepted or canceled. The URL can also be encoded as QR code and users can use the scan function on the phone to open the link. The ssr:// URL scheme should open the app on both iOS and android. There's also another option to show firebase deep links - these would allow us to download the wallet app and then open it with a parameter delivered to the newly installed app. That's cool, but in our case, a new user doesn't have a polkadot balance and firebase deep links, while more powerful, are also less decentralized, as they depend on Google services. Naked SSR:// URL scheme does not have any dependencies and is universally parseable. (see spec)
It's more a request for someone else to sign. So you could request tokens from your friend, your friend scanning the QR on your phone, or opening the ssr:// link. A website could request you to pay some tokens, showing you a QR code. You could scan the QR code, send the tokens, and a callback can alert the website that the transfer happened. This is replacing the browser plugins people normally use, with a much more secure and 2FA style system. Any transaction can be signed by the wallet, so it's just as powerful as the browser plug-in.
If you want to have a specific wallet send you the token, the wallet does not do that right now - request for token is always set to "whoever signs off" which makes it more generic. It's possible to encode a transaction that says "I want 4 tokens from Nik". What the wallet is doing - receive is really just a showcase for the QR Codes - is "I want 4 tokens from whoever is signing this", so it's more universal. We could add the ability to specify a wallet but not sure how useful that would be? We are using this system every day on EOSIO using Anchor wallet and UAL and esr:// signing requests, and generally we don't need this. But maybe Polkadot is different, I don't know - for example, if it's common for people to have many different wallets then maybe it would make sense?
Ok I will fix these 2 bugs
|
|
Actually I am unsure we can check for low balance - since the QR code scan function can be any transaction, or even a sequence of transactions, it will be impossible to figure out beforehand how many tokens this will cost. We will have to try the transaction, and show an error on fail Best we could do is check if the balance is 0 and the user can't make any transactions - that's possible. |
|
@n13 thanks for the thorough replies.
Sorry, I meant to say "How can I use it to receive/request tokens?" there. Assuming the counter-party who's supposed to send me tokens does NOT use the HashedWallet app (or any other app that might support the ssr URL scheme), how will they be able to send the tokens? That's why I thought it might be helpful to have the wallet address there to copy and send it, even though we lose the information on how many tokens we request.
Okay sounds good 👍 |
I think this feature will handle this use case: On the top bar of the app, next to the address, there's a "copy" icon for copying the wallet address ssr: protocol is very simple to implement, we can put this on web servers, for example, so anyone can put a QR code for signing any transactions on their web pages. But clearly won't work if the other party doesn't know how to read it ;) |
ScreenshotsBottom sheet for share address: 34.movFee check on transactions |
|
@n13 thanks for the update, looks like these issues have been mostly resolved, however, I found some new bugs:
telegram-cloud-document-4-6028390717703851931.mp4 |
|
Ok @takahser I will fix these - I should have done more on device testing for the QR code bug, I know why this happens. |
|
I posted build 15 which addresses these issues: @takahser
|
|
@n13 thanks for the wait, I reassessed, and these are my findings:
In addition to that, I noticed that:
|
(1) - I did this - it makes sense. Not sure it's more beta scope or M3 scope but anyway, it's a bugfix, basically. (2) - I think that is out of scope for this delivery but I would add this as a ticket for beta. hypha-dao/hashed-wallet#195 I am also showing fees on the QR screen and on Send. Not really part of the milestone either, but cool. Let me know if there's anything still missing or buggy as the milestone delivery is concerned. Thanks for your throurough review @takahser |
|
Added in build 16:
Fees on "Send" Fees on scan QR code |
takahser
left a comment
There was a problem hiding this comment.
Hi @n13
As discussed on Element, I think by now we've sufficiently tested and fixed this delivery when it comes to its features, so I now took a closer look at the delivery report. I'd like to raise the following points:
- could you get rid of any HTML code in the delivery report? Currently, there are a bunch of
<BR>which might interfere with our processes. - regarding deliveries 1-4, could you add links there as well?
- regarding 4), did you publish the app to the corresponding stores, yet?
You can find my interim evaluation here.
removed HTML tags Added links for deliveries, and screenshots
|
@takahser I updated the delivery report as requested.. I was a little unclear on some things, please let me know if this is sufficient. Edit: I updated the update as discussed, with links for deliveries 1-4, linking to code and app store releases |
takahser
left a comment
There was a problem hiding this comment.
@n13 thanks, I've accepted your delivery. Feel free to have a look at my evaluation.
|
We noticed that this is the last milestone of your project. Congratulations on completing your grant! |
|
Hi @n13, Our complete name and address is the following. Web 3.0 Technologies Foundation Many thanks, |
I have sent another invoice, updated with the requested information. Thank you! |
|
hi @n13 we transferred the payment today. |
Thank you! Received! |





Milestone Delivery Checklist
Link to the application pull request: w3f/Grants-Program#1001
https://github.com/w3f/Grants-Program/pull/1001