Skip to main content

tonSignProof

Use requirement

  • Firmware version required
    • UKey Lite 24 / UKey Lite 25 / UKey Core 26: 4.10.0

TON: sign proof

Sign a proof message for dApp authentication using the private key derived by given BIP32 path. User needs to confirm the action on Ukey Wallet device.

const result = await HardwareSDK.tonSignProof(connectId, deviceId, {
path: "m/44'/607'/0'",
appdomain: "ukey.com",
comment: "48656c6c6f204f6e654b6579",
expireAt: Date.now() + 1000 * 60 * 60 * 24,
walletVersion: "V4R2",
isBounceable: false,
isTestnetOnly: false,
});

Params

Optional common params

  • path - required string | Array<number> minimum length is 3
  • appdomain - required string domain of the dApp requesting the proof
  • comment - optional string message comment in hex format
  • expireAt - required number proof expiration timestamp
  • walletVersion - optional TonWalletVersion TON wallet version (default: 3)
  • walletId - optional number wallet ID (default: 698983191)
  • workchain - optional TonWorkChain TON workchain (0: BaseChain, 1: MasterChain)
  • isBounceable - optional boolean whether message is bounceable (default: false)
  • isTestnetOnly - optional boolean whether to use testnet (default: false)

Returns

Response

  • signature - proof signature in hex format

Example

const response = await HardwareSDK.tonSignProof(connectId, deviceId, {
path: "m/44'/607'/0'",
appdomain: "ukey.com",
comment: "48656c6c6f204f6e654b6579",
expireAt: Date.now() + 1000 * 60 * 60 * 24,
walletVersion: 3,
isBounceable: false,
isTestnetOnly: false,
});

Result

{
success: true,
payload: {
signature: string;
}
}

Error

{
success: false,
payload: {
error: string, // error message
code: number // error code
}
}