2023-10-18 09:40:19 +00:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
2023-10-18 09:43:41 +00:00
|
|
|
/**
|
|
|
|
* 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
|
|
|
|
}
|
|
|
|
|
2023-12-02 12:28:42 +00:00
|
|
|
/**
|
|
|
|
* @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;
|
|
|
|
}
|
|
|
|
|
2023-10-18 09:48:32 +00:00
|
|
|
/**
|
|
|
|
* 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
|
2023-12-02 12:28:42 +00:00
|
|
|
optional SolanaTxAdditionalInfo additional_info = 3;
|
2023-10-18 09:48:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Response: Contains the transaction signature
|
|
|
|
* @end
|
|
|
|
*/
|
|
|
|
message SolanaTxSignature {
|
|
|
|
required bytes signature = 1; // tx signature
|
|
|
|
}
|