polkawallet-io / polkawallet-flutter

Replace to: https://github.com/polkawallet-io/app
Apache License 2.0
110 stars 48 forks source link

Handling of the Egdeware chain by Polkawallet. #33

Closed remzrn closed 4 years ago

remzrn commented 4 years ago

Hi this is an awesome project! I have added the handling of the Edgeware project to the wallet. I tried to make the changes into the existing logic minimal. Here is a more detailed set of the changes you may want to be aware of:

RomeroYang commented 4 years ago

That's cool, looking forward to reopening of this PR. @remzrn

remzrn commented 4 years ago

Thanks for being supportive! The reason I closed it being that I realized that it was too early to ask for merging with something that could already been used, and also because I noticed some issue when switching accounts (due to an additional pop instruction) for all network that I thought I had introduced since the released version did not have this issue. Then I noticed that the latest version was following the development branch, and that the bug was fixed there. So I switched everything to the develop version.

Also, I have no experience in app development, so I don't really feel confident in having anything merged now. But I would gladly open a branch here so that all parts are kept in the same place if you feel like it.

At the moment, I think things are will in working state. I am now confident enough to use it with real EDG tokens for transfer though in general it indicates the request as "queued" and I need to get back and manually reconnect to get the balances updated. I am not sure whether the same issue exists on Kusama, since I hold no token so far. I had issues with fee retrieval (for transactions), also that is never returning in the latest versions so I hardcoded a fee for Edgeware. I believe it could be because Edgeware still uses a very old substrate with a different fee structure. Now there are two things that I cannot get working: bonding, I can chose controller and stash, the bonding transaction gets "queued" but it never bonds. I still have to investigate that part. The second one is voting for council members. The "vote" button remains greyed out, even when candidates are selected. I think it is because of the way onsubmit is designed, with some check for whether or not candidates are null. It does not seem to update even when candidates are selected, I think because the widget is built before and the variable does not seem to get dynamically updated. As I said, I have no experience in app development so I am randomly guessing, and trying to walk my way through the async logic as best as I can.