1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-25 00:48:19 +00:00
trezor-firmware/common/protob/messages-solana.proto
2024-02-12 14:49:32 +01:00

79 lines
1.9 KiB
Protocol Buffer

syntax = "proto2";
package hw.trezor.messages.solana;
/**
* Request: Ask device for public key corresponding to address_n path
* @start
* @next SolanaPublicKey
* @next Failure
*/
message SolanaGetPublicKey {
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
optional bool show_display = 2; // optionally show on display before sending the result
}
/**
* Response: Contains public key derived from device private seed
* @end
*/
message SolanaPublicKey {
required bytes public_key = 1;
}
/**
* Request: Ask device for Solana address
* @start
* @next SolanaAddress
* @next Failure
*/
message SolanaGetAddress {
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
optional bool show_display = 2; // optionally show on display before sending the result
optional bool chunkify = 3; // display the address in chunks of 4 characters
}
/**
* Response: Contains a Solana address derived from device private seed
* @end
*/
message SolanaAddress {
required string address = 1; // Solana address as Base58 encoded string
}
/**
* @embed
*/
message SolanaTxTokenAccountInfo {
required string base_address = 1;
required string token_program = 2;
required string token_mint = 3;
required string token_account = 4;
}
/**
* @embed
*/
message SolanaTxAdditionalInfo {
repeated SolanaTxTokenAccountInfo token_accounts_infos = 1;
}
/**
* Request: Ask device to sign a Solana transaction
* @start
* @next SolanaTxSignature
* @next Failure
*/
message SolanaSignTx {
repeated uint32 address_n = 1; // BIP-32 path to derive the key to sign with
required bytes serialized_tx = 2; // serialized tx to be signed
optional SolanaTxAdditionalInfo additional_info = 3;
}
/**
* Response: Contains the transaction signature
* @end
*/
message SolanaTxSignature {
required bytes signature = 1; // tx signature
}