Support amino signing for data proxy transactions #442
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
We want to support data proxy operators utilising hardware wallets (Ledger) for managing a data proxy.
Explanation of Changes
I'm not 100% certain on all the proto amino tags. I looked at various cosmos SDK modules to see how those were implemented and then it was a bunch of trial and error until I got all transactions to pass locally. 🤷
If there's any good sources on what proto annotations we need exactly I'd love to read more!
Testing
Fairly involved local setup where I ran the chain locally using
seda-1-planet
as the chain ID, enabled CORS for all domains in the config.toml, set up the indexer and explorer locally (and all related services), and used a HTTPS proxy (proxyman) to route traffic from https://rpc.planet.seda.xyz to the local RPC port.With this entire setup I was able to use a local build of the explorer to sign TXs with amino sign mode. I tried registering a data proxy, editing a single field at a time (payoutAddress, memo, fee, fee+update delay), edit multiple fields at a time, and transferring the admin address. The web code still needs to be cleaned up though, will open that PR tomorrow.
Related PRs and Issues
Part-of: https://github.com/sedaprotocol/seda-explorer/issues/591