Skip to content

solana.signMessage blocks non-Solana bytes (false positive) — need a way to produce raw Ed25519 signatures for cross-chain (Cosmos) use #288

@alexandermake

Description

@alexandermake

Calling window.phantom.solana.signMessage() with non-Solana, arbitrary bytes (a Cosmos SignDoc protobuf) is rejected with:

Error: You cannot sign solana transactions using sign message
repo

The payload is not a Solana transaction or message; it’s a Cosmos SDK SignDoc (arbitrary bytes) that we need signed with the wallet’s Ed25519 key for cross-chain flows. It looks like Phantom is heuristically detecting “transaction-like” bytes and blocking, but this triggers on unrelated binary formats.

This prevents Phantom from being used for legitimate, user-consented cross-chain signing scenarios where a raw Ed25519 signature (no Solana domain-separation) is required.

We need to sign only bytes with wallet, but there is no another api call, for reference we do not have problem with solflare wallet

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions