Solana: Compose transaction
Compose a Solana transfer transaction that can be later signed on device using solanaSignTransaction.
The transaction may be a native SOL transfer or a token transfer.
const result = await TrezorConnect.solanaComposeTransaction(params);
Params
SolanaComposeTransaction
fromAddress
String
Sender address
toAddress
String
Recipient address. In case of token transfer, this still means the owner address of the token account. The associated token account is created automatically.
amount
String
Amount to send in decimal string format
blockHash
String
Recent Block hash
lastValidBlockHeight
Number
Recent Block height
priorityFees
Object
Fee configuration. If not set, it defaults to hardcoded values. It is recommended to simulate the transaction using blockchainEstimateFee
token
Object
Token details in case of token transfer
coin
String
"SOL" for mainnet (default), "DSOL" for devnet
identity
String
Blockchain connection identity. It's used to separate multiple connections.
Examples
TrezorConnect.solanaComposeTransaction({
fromAddress: '...',
toAddress: '...',
amount: '0.1',
blockHash: '...',
lastValidBlockHeight: 123456,
coin: 'SOL',
});
Result
SolanaComposedTransaction type
{
success: true,
payload: {
serializedTx: string,
additionalInfo: {
// in case of token transfer:
newAccountProgramName: "staking" | "spl-token" | "spl-token-2022",
tokenAccountInfo: {
baseAddress: string,
tokenProgram: string,
tokenMint: string,
tokenAccount: string,
},
}
}
}
Error
{
success: false,
payload: {
error: string // error message
}
}