Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions messages-solana.options
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ SolanaSignTx.raw_tx max_size:1232
SolanaSignTx.token_info max_count:4
SolanaSignTx.schema_payload max_size:256
SolanaSignTx.schema_signature max_size:64
SolanaSignTx.token_recipient_owner max_count:4
SolanaSignTx.token_recipient_owner max_size:32
SolanaTokenInfo.mint max_size:32
SolanaTokenInfo.symbol max_size:13
SolanaAddress.address max_size:45
Expand Down
9 changes: 9 additions & 0 deletions messages-solana.proto
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,15 @@ message SolanaSignTx {
optional bytes schema_payload = 9;
optional bytes schema_signature = 10; // 64-byte compact secp256k1 over SHA256(payload)
optional uint32 schema_signer_key_id = 11; // trusted clearsign signer slot (0-3)
/*
* Candidate owners for SPL associated-token-account destinations. For a
* TransferChecked instruction, firmware may display an owner only after
* independently deriving ATA(owner, token_program, mint) and matching it
* to the signed destination account. An unmatched candidate is never
* treated as a recipient. This lets payment protocols such as x402 show
* their payTo address without trusting host-side decoding or chain RPC.
*/
repeated bytes token_recipient_owner = 12; // 32-byte Solana public keys (max 4)
}

/**
Expand Down
Loading