Safe-react: Load/Create Safe Improvements

Created on 22 Jul 2019  Â·  9Comments  Â·  Source: gnosis/safe-react

Create & Load Safe

  • [x] My Wallet
    In the "Owners and confirmations" step: Change "My Metamask (me)" to "My Wallet"

  • [x] Owners Text
    In the "Owners and confirmations" step: change text to.

"Your Safe will have one or more owners. We have prefilled the first owner with you connected wallet details, but you are free to change this to a different owner.

Add additional owners (e.g. wallets of your teammates) and specify how many of them have to confirm a transaction before it gets executed. In general, the more confirmations required, the more secure is your Safe."

  • [x] Step Name Change
    Change "Start" step title to "Name"

  • [x] Etherscan buttons
    Change Etherscan buttons (see #132 for details)

  • [x] Clickable steps
    Make step previous title (Details, Owners, Review) and number clickable to get to the previous step.

  • [x] Review Text
    Change text to:

"You're about to create a new Safe and will have to confirm a transaction with your currently connected wallet. Make sure you 0.0XX ETH in this wallet to fund this transaction." -> show rounded up amount of funds required.

  • [ ] Abandoning Safe creation
    If you reload on the opening page (https://safe-team.staging.gnosisdev.com/opening), it will lose​ the info about creation tx and will stay on this page forever. We should store the info about pending creation tx and if the user reloads, check the status of the tx manually and if it's confirmed, redirect to the safe's page. And if there is no info about the tx, redirect the user to welcome screen.

Load Safe

  • [x] Mandatory Name
    Make it mandatory to add a name and change text to:

"You are about to load an existing Gnosis Safe. First, choose a name and enter the Safe address. The name is only stored locally and will never be shared with Gnosis or any third parties."

and below the input fields:

"By continuing you consent with the terms of use and privacy policy. Most importantly, you confirm that your funds are held securely in the Gnosis Safe, a smart contract on the Ethereum blockchain. These funds cannot be accessed by Gnosis at any point." (-> same as in the send flow)

  • [x] Step Name Change
    Change "Details" step title to "Name and address"

  • [x] Details Text
    Change text to: "Adding an existing Safe only requires the Safe address. Your connected wallet does not have to be the owner of this Safe. In this case, the interface will provide you a read-only view."

Add text below name/address fields "By continuing you consent with the terms of use and privacy policy..." (same as currently in the Creat Safe flow)

  • [x] Etherscan Buttons
    Change Etherscan buttons (see #132 for details)

  • [x] Clickable Steps
    Make step titles (Details, Owners, Review) and numbers clickable to get to the respective step. -> Leave out if this turns out to be non-trivial

  • [x] Submit -> Load
    In the review step, change Submit button to say "Load" instead of "Submit", as submitting would indicate a transaction to be made.

  • [x] Bug: Continue without Name or Address
    In the current version its possible to just continue without adding Name or Safe address as input
    Screenshot 2019-09-05 at 15.59.03.png

Major

All 9 comments

Mandatory Name
Make it mandatory to add a name

I think it's already done, tested it on staging. But I, as a person who frequently loads safes, would love to see a default name like "Loaded safe X", so I don't have to come up with a name if I just want to check the safe. If you go to team-safe-url.com/safes/*safe-address* it will still load the safe with a default name

I think it's already done, tested it on staging. But I, as a person who frequently loads safes, would love to see a default name like "Loaded safe X", so I don't have to come up with a name if I just want to check the safe. If you go to team-safe-url.com/safes/safe-address it will still load the safe with a default name

Screenshot 2019-08-28 at 14.19.27.png

Maybe it's just a bug, but when I enter a Safe address and immediately press enter, it continues without requiring a name.

Regarding having default names. I can see how this might make it more convenient if you load safes often for testing purposes. But I would assume typical users load a safe not more than once a month. There i would apply the same reasoning as to why we don't do default owner names during safe creation. We want to nudge the user to choose good names that he also can remember rather than just "Loaded Safe 1", "Loaded Safe 2" etc.

However, this is a bit different for the owners during loading a Safe where we do indeed choose default names "Owner #1" etc. This is because users might also load Safes where they do not know who the individual owners are.

Maybe it's just a bug, but when I enter a Safe address and immediately press enter, it continues without requiring a name.

Yeah it is a bug. If you focus the name input field, then it's required, if you don't, it's not

One more potential improvement:
Show a spinner while fetching owners when loading the safe

One more potential improvement:
Show a spinner while fetching owners when loading the safe

Does it take long for you to fetch the owners? For me it's usually less than half a second.

One more potential improvement:
Show a spinner while fetching owners when loading the safe

Does it take long for you to fetch the owners? For me it's usually less than half a second.

Sometimes it takes more than a second for me. I think it may be just a little confusing for the user to see "The safe has 0 owners" at first

One more improvement:
If you reload on the opening page (https://safe-team.staging.gnosisdev.com/opening), it will loose the info about creation tx and will stay on this page forever. We should store the info about pending creation tx and if the user reloads, check the status of the tx manually and if it's confirmed, redirect to the safe's page. And if there is no info about the tx, redirect the user to welcome screen.

Clickable steps
Make step titles (Details, Owners, Review) and numbers clickable to get to the respective step. -> Leave out if this turns out to be non-trivial

I think the requirement should be that any step previous to the current one should be clickable. However, the component used (Stepper) is implemented in a way that it can only go 1 step back and forward. This requirement would require a refactor/update of the component. If we decide to do that, would be really nice to keep this ticket in mind: https://github.com/gnosis/safe-react/issues/128 Currently the component runs too many calculations (validation, calculating form values, etc)

Sometimes it takes more than a second for me. I think it may be just a little confusing for the user to see "The safe has 0 owners" at first

I would not do this at this point, as for me the dealy is barely noticable. We can reconsider if it turns out to be an issue.

One more improvement:
If you reload on the opening page (https://safe-team.staging.gnosisdev.com/opening), it will loose the info about creation tx and will stay on this page forever. We should store the info about pending creation tx and if the user reloads, check the status of the tx manually and if it's confirmed, redirect to the safe's page. And if there is no info about the tx, redirect the user to welcome screen.

Good idea, added it to the spec.

I think the requirement should be that any step previous to the current one should be clickable. However, the component used (Stepper) is implemented in a way that it can only go 1 step back and forward. This requirement would require a refactor/update of the component. If we decide to do that, would be really nice to keep this ticket in mind: https://github.com/gnosis/safe-react/issues/128 Currently the component runs too many calculations (validation, calculating form values, etc)

I would not refactor. So only the previous step should be clickable. I adapted the spec.

Was this page helpful?
0 / 5 - 0 ratings