IntersectMBO / govtool

🔩 GovTool and utilities monorepo.
https://preview.gov.tools
Apache License 2.0
10 stars 7 forks source link

Registering as Drep should include mandatory or optional re-delegation to yourself. #912

Closed m-i-k-e closed 4 weeks ago

m-i-k-e commented 4 months ago

Context & versions

staging.sanchonet

Check out the Loom: https://www.loom.com/share/5483fb90059b4c5e9a1751f578309cdf?sid=b7901242-5de4-4e56-abfe-7ff2ec1bb639

Steps to reproduce

  1. Delegate your voting power to Abstain
  2. Become a DRep

Actual behavior

You are a drep, but your voting power is still delegated to Abstain

Expected behavior

It would be nice if there was a 'delegate all my ADA-power' to myself option in the 'become a Drep flow'. Otherwise, the situation is quite awkward, and the user then presumably will have to manually delegate their Voting Power to themselves in a separate, second step.

What to do?

Design an optional or mandatory re-delegation into the DRep registration flow.

kgrzonka commented 3 months ago

@m-i-k-e I see one big logic problem in this solution - when a user becomes a drep verification and the "in progress" status are needed, during which the user does not see/know his Drep Id. So how can the user send his ada power to drep (himself) whose id is not yet in the system (Im not sure what it looks like from the technical backend side whether the system is able to process this data in the same time so maybe im wrong). Or in the other side - how system know about user voting power before registration (in progress registration)? Im not sure where exactly in the drep registration flow the "all my ada power delegation" view should be so I added it at the end. Flow 01 - https://www.figma.com/file/mJTBiUofLfb74Xc3W2U59o/branch/pdH9tSUzXeLM2PAI3rOT3e/Voltaire---GOV-TOOL?type=design&node-id=13126%3A92472&mode=design&t=TshQwoUmR0SIMij6-1

In flow 02 I tried to do it step by step - first the system processes becoming a drep and then delegating voting power (automatically) -> https://www.figma.com/file/mJTBiUofLfb74Xc3W2U59o/branch/pdH9tSUzXeLM2PAI3rOT3e/Voltaire---GOV-TOOL?type=design&node-id=13145%3A106092&mode=design&t=TshQwoUmR0SIMij6-1

Flow 03 -> https://www.figma.com/file/mJTBiUofLfb74Xc3W2U59o/branch/pdH9tSUzXeLM2PAI3rOT3e/Voltaire---GOV-TOOL?type=design&node-id=13145%3A111349&mode=design&t=ZFaeW9nu7G2ZqfOg-1 The flow is the same but when proccesign card change to finished card - then "Delegate Your Voting Power Card" change a little (new copy and new link button "Delegate all Voting Power to Myself" - and I guess wallet process.

I was thinking about a pop up (instead of changes on the card) but I think it should be "at hand" if the user has not yet delegated votin power

m-i-k-e commented 3 months ago

@kgrzonka Thanks for this. GovTool can handle the delegation/registration with one Wallet signature.

The delegation to oneself need not be on a separate form, it could be another option in the main registration form.

image

Could you please mock the following up in that screen:

Tick this box to keep your personal voting power delegated to 'xxx_DRep' image
kgrzonka commented 3 months ago

@m-i-k-e

I added new position on form with checkbox - https://www.figma.com/design/mJTBiUofLfb74Xc3W2U59o/branch/pdH9tSUzXeLM2PAI3rOT3e/Voltaire---GOV-TOOL?m=auto&node-id=13581%3A104324&t=2BdI9riNzuHaWxLa-1

But what with dashboard view? Which of the dashboard view proposals I prepared earlier is ok (01,02,03)? -> https://www.figma.com/design/mJTBiUofLfb74Xc3W2U59o/branch/pdH9tSUzXeLM2PAI3rOT3e/Voltaire---GOV-TOOL?m=auto&node-id=13126%3A92472&t=2BdI9riNzuHaWxLa-1

m-i-k-e commented 3 months ago

@kgrzonka This is really good. We have been discussing this today, and we are thinking of making this delegation mandatory. However, we have not made a decision yet. I've just Slacked you with a wider issue, and I will add this into Github now.