tonSignMessage
Use requirement
Firmware version required
Touch: 4.10.0
TON: sign message
Sign a message or transaction using the private key derived by given BIP32 path. User needs to confirm the action on OneKey device.
const response = await HardwareSDK.tonSignMessage(connectId, deviceId, {
path: "m/44'/607'/0'",
destination: "UQBYkuShkZzRYAWX_HrK3kFpeAixiRKd-K7QBXYxl9OBXM0_",
tonAmount: 100,
seqno: 0,
expireAt: Date.now() + 1000 * 60 * 60 * 24,
walletVersion: 3,
isBounceable: false,
isTestnetOnly: false
});Params
Required Parameters
path— requiredstring | Array<number>minimum length is 3destination— requiredstringdestination addresstonAmount— requirednumberamount of TON to transferseqno— requirednumbersequence numberexpireAt— requirednumbermessage expiration timestamp
Optional Parameters
walletVersion— optionalTonWalletVersionTON wallet version (default: 3)isBounceable— optionalbooleanwhether message is bounceable (default: false)isTestnetOnly— optionalbooleanwhether to use testnet (default: false)jettonMasterAddress— optionalstringJetton master contract addressjettonAmount— optionalnumberamount of jettons to transferfwdFee— optionalnumberforward fee for jetton transfercomment— optionalstringmessage commentmode— optionalnumbermessage modeworkchain— optionalTonWorkChainTON workchainwalletId— optionalnumberwallet ID
Example
// Simple TON transfer
const response = await HardwareSDK.tonSignMessage(connectId, deviceId, {
path: "m/44'/607'/0'",
destination: "UQBYkuShkZzRYAWX_HrK3kFpeAixiRKd-K7QBXYxl9OBXM0_",
tonAmount: 100,
seqno: 0,
expireAt: Date.now() + 1000 * 60 * 60 * 24,
walletVersion: 3,
isBounceable: false,
isTestnetOnly: false
});
// Multiple Native
const jettonResponse = await HardwareSDK.tonSignMessage(connectId, deviceId, {
path: "m/44'/607'/0'",
destination: 'UQBYkuShkZzRYAWX_HrK3kFpeAixiRKd-K7QBXYxl9OBXM0_',
tonAmount: 100,
seqno: 0,
expireAt: Date.now() + 1000 * 60 * 60 * 24,
walletVersion: 3,
isBounceable: false,
isTestnetOnly: false,
extDestination: ['UQBYkuShkZzRYAWX_HrK3kFpeAixiRKd-K7QBXYxl9OBXM0_'],
extTonAmount: [100],
extPayload: ['48656c6c6f204f6e654b6579'],
});Result
{
success: true,
payload: {
skip_validate: boolean; // Used to skip validation in classic 1s.
signature: string;
signning_message: string;
}
}Error
{
success: false,
payload: {
error: string, // error message
code: number // error code
}
}Last updated
Was this helpful?