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

fix: implement Amino serialization for x/authz and x/feegrant #224

Merged
merged 5 commits into from
May 19, 2022

Conversation

p0mvn
Copy link
Member

@p0mvn p0mvn commented May 6, 2022

Closes: osmosis-labs/osmosis#1434

This change backports Amino serialization fix from the cosmos/cosmos-sdk repository to enable x/authz and x/feegrant modules to work on the Ledger devices.

Upon beginning to backport the latest relevant change, I realized that our fork is missing a few other minor commits. As a result, I ended up backporting the following:

…#11224)

* fix: Add RegisterLegacyAminoCodec for authz/feegrant

* add module name

* Fix GetSignByes, add tests

* removed module names from registered messages to match other modules

* added interfaces and concrete types registration

* unseal amino instances to allow external grant and authorization registration

* fixed messages tests

* allow to register external types into authz modulecdc

* use legacy.Cdc instead of ModuleCdc inside x/authz

* move the legacy.Cdc initialization outside init function

* added serialization docs

* Update docs/core/encoding.md

Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>

* added the Ledger specification

* fixed tests

Co-authored-by: Amaury M <1293565+amaurym@users.noreply.github.com>
Reverts the usage of a singleton `legacy.Cdc` codec while (de)serializing `x/authz` messages.

Closes: cosmos#11643

---

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
@p0mvn p0mvn marked this pull request as ready for review May 6, 2022 18:46
@p0mvn p0mvn requested a review from a team May 6, 2022 18:46
@p0mvn p0mvn changed the title fix: implement Amino serialization for x/authz and x/feegrant (#11224) fix: implement Amino serialization for x/authz and x/feegrant May 6, 2022
@mattverse
Copy link
Member

@p0mvn does this PR simply backport cosmos#11680 or does this implementation include new features that I focus on more when I'm reviewing this?

@p0mvn
Copy link
Member Author

p0mvn commented May 9, 2022

@mattverse it backports all the PRs listed in the description, including cosmos#11680. No extra logic is added on top of the backports

Copy link
Collaborator

@alexanderbez alexanderbez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to encapsulate more changes than what I recall. But it seems reasonable. There are a few breaking changes introduced here.

@p0mvn
Copy link
Member Author

p0mvn commented May 10, 2022

@ValarDragon @alexanderbez @mattverse what do you think should be the course of action on this? Are there any action items for this to become acceptable for merge?

@p0mvn p0mvn requested a review from a team May 10, 2022 20:34
@alexanderbez
Copy link
Collaborator

alexanderbez commented May 10, 2022

AFAIK, we can merge this, but I dont think we can backport this.

@ValarDragon ValarDragon merged commit a4201aa into osmosis-main May 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Include PR #11224 from cosmos-sdk to fix Ledger/Amino authz signing
5 participants