-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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(depinject): Authtx was not accepting custom signers #19549
Conversation
WalkthroughWalkthroughThis update introduces a new mechanism to customize signer retrieval in the authentication module by leveraging the Changes
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 1
Configuration used: .coderabbit.yml
Files selected for processing (1)
- x/auth/tx/config/depinject.go (3 hunks)
Additional comments: 4
x/auth/tx/config/depinject.go (4)
- 11-11: The addition of the
protoreflect
import fromgoogle.golang.org/protobuf/reflect/protoreflect
is necessary for handling protocol buffer message reflection, which is likely crucial for the implementation of custom signers. This change aligns with the PR's objective to enhance the SDK's flexibility in cryptographic operations.- 81-81: Initializing the
CustomGetSigners
map within theProvideModule
function is a crucial step for setting up the infrastructure to support custom signers. This initialization ensures that the map is ready to be populated with custom signer functions, facilitating the SDK's ability to handle transactions signed with custom algorithms. This change is well-implemented and follows best practices for map initialization in Go.- 86-90: The processing of
CustomGetSigners
to populateSigningOptions
is effectively implemented. By iterating over theCustomGetSigners
slice and assigning each custom signer function to the corresponding message type in the map, this code segment ensures that custom signing mechanisms are correctly integrated into the SDK's transaction handling process. This approach is both efficient and clear, contributing to the SDK's extensibility.- 91-91: The conditional logic to update enabled sign modes based on the presence of
MetadataBankKeeper
is a thoughtful addition. By enablingSIGN_MODE_TEXTUAL
only whenMetadataBankKeeper
is available, this change introduces a nuanced approach to managing sign modes, potentially offering more tailored signing configurations. This adjustment is in line with the PR's objectives to enhance the SDK's flexibility and developer experience.
@@ -50,6 +51,7 @@ type ModuleInputs struct { | |||
AccountKeeper ante.AccountKeeper `optional:"true"` | |||
FeeGrantKeeper ante.FeegrantKeeper `optional:"true"` | |||
CustomSignModeHandlers func() []txsigning.SignModeHandler `optional:"true"` | |||
CustomGetSigners []txsigning.CustomGetSigner `optional:"true"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The introduction of the CustomGetSigners
field to ModuleInputs
is a key change that enables the support for custom signers. This addition is essential for the SDK to accommodate a broader range of signing algorithms, improving its adaptability for various projects. It's important to ensure that this field is properly documented to guide developers on how to utilize this new functionality effectively.
Consider adding comprehensive documentation for the CustomGetSigners
field to explain its purpose, usage, and how developers can implement custom signers using this new feature.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good find! Can we get a changelog?
(cherry picked from commit 7c05f41)
) (#19551) Co-authored-by: Devon Bear <itsdevbear@berachain.com> Co-authored-by: Qt <golang.chen@gmail.com> Co-authored-by: Julien Robert <julien@rbrt.fr>
…0.50.5 * fix: in-place-testnet edgecases (backport cosmos#19516) (cosmos#19526) Co-authored-by: Adam Tucker <adam@osmosis.team> * fix(simapp): typo in GetStoreKeys (cosmos#19544) * build(deps): Bump cosmossdk.io/math from 1.2.0 to 1.3.0 (cosmos#19562) * fix(depinject): Authtx was not accepting custom signers (backport cosmos#19549) (cosmos#19551) Co-authored-by: Devon Bear <itsdevbear@berachain.com> Co-authored-by: Qt <golang.chen@gmail.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * build(deps): Bump github.com/cosmos/cosmos-db from 1.0.0 to 1.0.2 (cosmos#19566) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * Merge pull request from GHSA-86h5-xcpx-cfqc * fix slashing hole with test * release notes + changelog * word * date * updates --------- Co-authored-by: Julien Robert <julien@rbrt.fr> * ci: run test pipeline on merge v0.50 branch (cosmos#19582) * fix(staking): fix impossible conditions (cosmos#19621) * docs: add section on creating a testnets from mainnet exports (backport cosmos#19475) (cosmos#19648) Co-authored-by: Marko <marbar3778@yahoo.com> * build(deps): Bump cosmossdk.io/x/tx from 0.13.0 to 0.13.1 (cosmos#19665) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * feat(client/v2): marshal enum as string (cosmos#19653) * refactor(x/auth): allow empty public keys for GetSignBytesAdapter (backport cosmos#19651) (cosmos#19675) Co-authored-by: mmsqe <mavis@crypto.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(types): check for HasABCIGenesis in CoreAppModuleBasicAdaptor (cosmos#19709) * build(deps): Bump deps (backport cosmos#19655) (cosmos#19711) Co-authored-by: Julien Robert <julien@rbrt.fr> * Merge pull request from GHSA-95rx-m9m5-m94v * validate ExtendedCommit against LastCommit test cases * account for core.comet types * logging * linting * cherry-pick staking fix * nits * linting fix * run tests --------- Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Marko Baricevic <markobaricevic3778@gmail.com> * feat(baseapp): add option to disable block gas meter (cosmos#19626) * feat(x/distribution): add rewards-by-validator autocli config (backport cosmos#19707) (cosmos#19714) Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(x/gov): grpc query tally for failed proposal (backport cosmos#19725) (cosmos#19727) Co-authored-by: David Tumcharoen <david@alleslabs.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * chore: prepare v0.50.5 (cosmos#19715) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Adam Tucker <adam@osmosis.team> Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Devon Bear <itsdevbear@berachain.com> Co-authored-by: Qt <golang.chen@gmail.com> Co-authored-by: Julien Robert <julien@rbrt.fr> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: khanh <50263489+catShaark@users.noreply.github.com> Co-authored-by: Tom <54514587+GAtom22@users.noreply.github.com> Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: mmsqe <mavis@crypto.com> Co-authored-by: Nikhil Vasan <97126437+nivasan1@users.noreply.github.com> Co-authored-by: Marko Baricevic <markobaricevic3778@gmail.com> Co-authored-by: David Tumcharoen <david@alleslabs.com>
Description
Closes: #XXXX
Author Checklist
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...
!
in the type prefix if API or client breaking changeCHANGELOG.md
Reviewers Checklist
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...
Summary by CodeRabbit