Skip to content

[Bug] Rating API uses recoverMessageAddress instead of verifyMessage #88

@realproject7

Description

@realproject7

Bug

src/app/api/ratings/route.ts uses recoverMessageAddress() for signature verification instead of verifyMessage() as specified in #79.

Impact: Smart contract wallet users (Safe, Argent, etc.) cannot submit ratings. recoverMessageAddress only works for EOA wallets. verifyMessage from viem handles both EOA and EIP-1271 contract wallet signatures.

Fix:

  • Replace recoverMessageAddress() with verifyMessage() from viem
  • Compare recovered address vs claimed address using verifyMessage({ address, message, signature })

Context: Introduced in PR #84.

Checklist:

  • Replace recoverMessageAddress with verifyMessage in src/app/api/ratings/route.ts
  • npm run lint and npm run typecheck pass

Labels: bug, agent/T3

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions