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.
Took a first stab at #47. Very rough draft (some of these types will belong in tendermint-rs, etc.), just posting to show what I was able to do:
There are lots of rough edges, and I found some roughness in the Go too (eg. cosmos/cosmos-sdk#5983)
Note the Iqlusion StdTx library was somewhat useful, but not fully:
That said, the StdFee, StdSignature, and Address types from that lib were useful, after a few modifications. But we might want to consider just moving those types and logic, if not the whole crate, into here.
As for Amino encoding, it seems we still need to make some fixes to amino-rs to fully get there. I'm comparing the Amino encoding of my MsgCreateClient with one generated from the Go and it's still off by just a little (mostly seems to be around extra length prefixing). I included the Go script in here (amino.go), but it should be run from the gaia repo (ibc-alpha branch).
Meanwhile, I had to make changes to tendermint-rs, amino-rs, and stdtx crates to get here:
Note the Cargo's were updated to use local paths to facilitate development - I'm not sure if there's a nicer way to be doing that without messing up the file :)
At a higher level, I'm not sure if any of this is even the right approach at all, especially since once we go full proto, we'll need to adjust. But I wanted to try and get something working with the current state of things. Hopefully the protobuf changes for Gaia and Tendermint will land soon; it probably doesn't make sense to go too much further here in Amino land unless we can keep it relatively simple. We might want to start looking at the development branches for the proto migration and see if it makes sense to work against those so we can get a feel for the ultimate state of things sooner.
For contributor use:
docs/
) and code commentsFiles changed
in the Github PR explorer