Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Harvesting: Join "Key links" and "Persistent delegated message" steps #325

Open
cryptoBeliever opened this issue Sep 28, 2022 · 0 comments

Comments

@cryptoBeliever
Copy link
Contributor

cryptoBeliever commented Sep 28, 2022

Current behavior

At this moment harvesting in the mobile wallet is working in the following way:

  • create account links (remote, VRF, node)
  • send a persistent delegated message

Expected behavior

Two steps (key links and persistent delegated message) should be joined. It will simplify the harvesting view.
It's important to put a persistent delegated message in aggregate after key link transactions.

Example transaction:
https://symbol.fyi/transactions/43748B7F9868E624A72F8D81A394C2CBCF1A4021B5DF255501B1B9BAD2D494D6

The wallet should work in the following way:

Start harvesting should send one aggregate transaction containing

  • unlink remote account (if an account is already linked and we don't have a private key for it in storage. We should unlink also if the storage remote private key doesn't generate a remote public key that is already linked in the network)
  • unlink the VRF key (if an account is already linked and we don't have a private key for it in storage. We should unlink also if the storage VRF private key doesn't generate a VRF public key that is already linked in the network)
  • unlink node key (if a node key is linked - we need to unlink the old one)
  • link remote account (only if we had to remove the old one - then we have to generate and link a new key)
  • link VRF key (only if we had to remove the old one - then we have to generate and link the new key)
  • link node key (always)
  • persistent delegated message (always)

Stop harvesting should send one aggregate transaction containing:

  • unlink node key (only if a node key is linked do we need to unlink the old one)
  • unlink remote account (only if an account is already linked and we don't have the private key for it in storage)
  • unlink VRF key (only if an account is already linked and we don't have the private key for it in storage)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant