Skip to content

Conversation

Pray4Love1
Copy link

Describe your changes and provide context

Testing performed to validate your change

Pray4Lovee and others added 30 commits August 7, 2025 23:52
…ting

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…tegration-tests

Add conditional Slinky integration test
Potential fix for code scanning alert no. 422: Potentially unsafe quoting
Pray4Lovee and others added 28 commits September 10, 2025 15:17
…tion-with-slack-breoql

chore: enhance codex slack review workflow
…tion-with-slack

chore: enhance codex slack review workflow
…tion-with-slack

chore: enhance codex slack review workflow
…d-circlecciprouter-contracts-0x9h4c

Add Keeper workflow and guard SeiKin settlement flows
…y-seikinsettlement-and-circlecciprouter-contracts
…d-circlecciprouter-contracts

Add SeiKin settlement and Circle CCIP router contracts
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Comment on lines +23 to +27
// GetSigners returns the message signers.
func (m *MsgCommitCovenant) GetSigners() []sdk.AccAddress {
addr, err := sdk.AccAddressFromBech32(m.Creator)
if err != nil {
return []sdk.AccAddress{}

Choose a reason for hiding this comment

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

[P0] Covenant commits can run with zero signatures

GetSigners returns an empty slice whenever Creator fails Bech32 parsing, and ValidateBasic later returns nil. A transaction can set an invalid creator, include no signatures, and still invoke SeiNetCommitCovenantSync, allowing anyone to commit a covenant or trigger royalty enforcement. The message should reject invalid addresses in ValidateBasic so that at least one signer is required.

Useful? React with 👍 / 👎.

Comment on lines +55 to +59
// GetSigners returns the message signers.
func (m *MsgUnlockHardwareKey) GetSigners() []sdk.AccAddress {
addr, err := sdk.AccAddressFromBech32(m.Creator)
if err != nil {
return []sdk.AccAddress{}

Choose a reason for hiding this comment

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

[P0] Hardware key unlock message skips authentication

Like MsgCommitCovenant, MsgUnlockHardwareKey silently returns no signers when the creator address is malformed and ValidateBasic performs no checks. An attacker can submit a transaction with a bogus creator and zero signatures to mark any key as unlocked. Ensure ValidateBasic validates the creator field (or return an error in GetSigners) so the message cannot execute without a valid signer.

Useful? React with 👍 / 👎.

Comment on lines +82 to +83
// RegisterMsgServer is a no-op placeholder to satisfy interface in Configurator.
func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) {}

Choose a reason for hiding this comment

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

[P1] Seinet message server never registered

RegisterMsgServer is an empty stub, yet AppModule.RegisterServices calls it to expose the module’s handlers. Because the registrar is never invoked, MsgCommitCovenant/MsgUnlockHardwareKey will be rejected with unknown service seinet.Msg and the module cannot be used over gRPC or standard transactions. Implement real registration (as other modules do) or remove the call.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants