npm.io
3.6.3 • Published 1 month ago

@secux/protocol-device

Licence
Apache-2.0
Version
3.6.3
Deps
1
Size
669 kB
Vulns
0
Weekly
0

lerna view on npm npm module downloads

@secux/protocol-device

SecuX Hardware Wallet device protocol API

Usage

import { SecuxDevice } from "@secux/protocol-device";

First, create instance of ITransport


Examples

  1. Get version infomation of SecuX Hardware Wallet
const data = SecuxDevice.prepareGetVersion();
const response = await device.Exchange(data);
const info = SecuxDevice.resolveVersion(response);

console.log(info.transportVersion);
console.log(info.seFwVersion);
console.log(info.mcuFwVersion);
console.log(info.bootloaderVersion);
  1. Get wallet information of SecuX Hardware Wallet
const data = SecuxDevice.prepareGetWalletInfo();
const response = await device.Exchange(data);
const info = SecuxDevice.resolveWalletInfo(response);

console.log(info.walletName);
  1. Show address on SecuX Hardware Wallet
// show Bitcoin address, and need user confirm
const data = SecuxDevice.prepareShowAddress("m/44'/0'/0'/0/0", {
    needToConfirm: true,
    chainId: 0
});
const response = await device.Exchange(data);
SecuxDevice.resolveResponse(response);

// show Ethereum address without user confirmation
const data = SecuxDevice.prepareShowAddress("m/44'/60'/0'/0/0", {
    needToConfirm: false,
    chainId: 1
});
const response = await device.Exchange(data);
SecuxDevice.resolveResponse(response);

API Reference

SecuX protocol for device management

Kind: global class


SecuxDevice.prepareGetVersion() ⇒ communicationData

Get version information command.

Returns: communicationData - data for sending to device

SecuxDevice.resolveVersion(response) ⇒ VersionInfo

Resolve version information from device.

Returns: VersionInfo - object

Param Type Description
response communicationData data from device

SecuxDevice.prepareGetWalletInfo() ⇒ communicationData

Get wallet information command.

Returns: communicationData - data for sending to device

SecuxDevice.resolveWalletInfo(response) ⇒ WalletInfo

Resolve wallet information from device.

Returns: WalletInfo - object

Param Type Description
response communicationData data from device

SecuxDevice.prepareShowAddress(path, [option]) ⇒ communicationData

Show address command.

Returns: communicationData - data for sending to device

Param Type Description
path string BIP32
[option] AddressOption

SecuxDevice.resolveResponse(response)

Resolve response from device.

Param Type Description
response communicationData data from device


VersionInfo

Properties

Name Type
transportVersion number
seFwVersion string
mcuFwVersion string
bootloaderVersion string

WalletInfo

Properties

Name Type
walletIndex number
walletName string
walletStatus number


2018-21 SecuX Technology Inc.

authors:
andersonwu@secuxtech.com

Keywords