Ethereum: Sign transaction
Asks device to sign given transaction using the private key derived by given BIP32 path. User is asked to confirm all transaction details on Trezor.
const result = await TrezorConnect.ethereumSignTransaction(params);
Params
EthereumSignTransaction
path
String | Array<Number>
minimum length is 3
. read more
transaction
Union
type of EthereumTransactionEIP1559
|
EthereumSignTransaction
"0x" prefix for each field is optional
to
String | Null
recipient's address, contract address or null
in case of contract creation
or
to
String | Null
recipient's address, contract address or null
in case of contract creation
chunkify
Boolean
determines if recipient address will be displayed in chunks of 4 characters. Default is set to false
Examples
EIP1559 (after The London Upgrade)
If both parameters maxFeePerGas
and maxPriorityFeePerGas
are defined, transaction will be signed as the new type introduced in EIP1559.
TrezorConnect.ethereumSignTransaction({
path: "m/44'/60'/0'",
transaction: {
to: '0xd0d6d6c5fe4a677d343cc433536bb717bae167dd',
value: '0xf4240',
data: '0xa',
chainId: 1,
nonce: '0x0',
maxFeePerGas: '0x14',
maxPriorityFeePerGas: '0x0',
gasLimit: '0x14',
},
});
Legacy
For T1B1 and T2T1 with firmware older than 2.4.2 (but supported newer firmware versions too).
TrezorConnect.ethereumSignTransaction({
path: "m/44'/60'/0'",
transaction: {
to: '0x7314e0f1c0e28474bdb6be3e2c3e0453255188f8',
value: '0xf4240',
data: '0x01',
chainId: 1,
nonce: '0x0',
gasLimit: '0x5208',
gasPrice: '0xbebc200',
},
});
Result
{
success: true,
payload: {
v: string, // hexadecimal string with "0x" prefix
r: string, // hexadecimal string with "0x" prefix
s: string, // hexadecimal string with "0x" prefix
}
}
Error
{
success: false,
payload: {
error: string // error message
}
}