tonSignMessage
Use requirement
- Firmware version required
- UKey Lite 24 / UKey Lite 25 / UKey Core 26: 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 Ukey Wallet 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 on UKey Lite 24 / Lite 25 and similar models.
signature: string;
signning_message: string;
}
}
Error
{
success: false,
payload: {
error: string, // error message
code: number // error code
}
}