
@secux/app-trx
SecuX Hardware Wallet TRX API
Usage
import { SecuxTRX } from "@secux/app-trx";
First, create instance of ITransport
Examples
- Get address of bip44 path
const path = "m/44'/195'/0'/0/0";
const address = await device.getAddress(path);
- Sign transaction (TransferContract)
const TronWeb = require("tronweb");
const tronWeb = new TronWeb({ fullHost: 'https://api.trongrid.io' });
const block = await tronWeb.trx.getConfirmedCurrentBlock();
const content = {
to: "TJKiYicrKqB7PR2wywfWKkNMppNRqd6tXt",
amount: 1e5,
blockID: block.blockID,
blockNumber: block.block_header.raw_data.number,
timestamp: block.block_header.raw_data.timestamp
};
const { raw_tx, signature } = await device.sign("m/44'/195'/0'/0/0", content);
const response = await tronWeb.trx.sendHexTransaction(raw_tx);
- Sign TRC10 transaction (TransferAssetContract)
const content = {
to: "TJKiYicrKqB7PR2wywfWKkNMppNRqd6tXt",
token: 1002000,
amount: 1e5,
blockID: block.blockID,
blockNumber: block.block_header.raw_data.number,
timestamp: block.block_header.raw_data.timestamp
};
const { raw_tx, signature } = await device.sign("m/44'/195'/0'/0/0", content);
- Sign TRC20 transaction (TriggerSmartContract)
- [tokenId]: the TRC10 asset ID that transfered to the contract while calling the contract.
- [tokenValue]: the amount of TRC10 asset that transfered to the contract while calling the contract.
- [callValue]: the amount of TRX that transfered to the contract while calling the contract, the unit is sun.
const content = {
contract: "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
data: [
{ type: "address", value: "TJKiYicrKqB7PR2wywfWKkNMppNRqd6tXt" },
{ type: "uint256", value: 1e5 }
],
blockID: block.blockID,
blockNumber: block.block_header.raw_data.number,
timestamp: block.block_header.raw_data.timestamp
};
const { raw_tx, signature } = await device.sign("m/44'/195'/0'/0/0", content);
API Reference
TRX package for SecuX device
Kind: global class
SecuxTRX.addressConvert(publickey) ⇒ string
Convert secp256k1 publickey to TRX address.
Returns: string
- TRX address
SecuxTRX.toHexAddress(address) ⇒ string
Convert TRX address to hex representation
Returns: string
- TRX address (hex)
Prepare data for address generation.
Returns: communicationData
- data for sending to device
SecuxTRX.resolveAddress(response) ⇒ string
Generate address from response data.
Returns: string
- TRX address
Prepare data for secp256k1 publickey.
Returns: communicationData
- data for sending to device
SecuxTRX.resolvePublickey(response) ⇒ string
Resolve secp256k1 publickey from response data.
Returns: string
- secp256k1 publickey
SecuxTRX.prepareXPublickey(path) ⇒ communicationData
Prepare data for xpub.
Returns: communicationData
- data for sending to device
SecuxTRX.resolveXPublickey(response, path) ⇒
Resolve xpub from response data.
Returns: xpub
SecuxTRX.prepareSign(path, content) ⇒ prepared
Prepare data for signing.
Returns: prepared
- prepared object
SecuxTRX.resolveSignature(response) ⇒ string
Resolve signature from response data.
Returns: string
- signature (hex string)
SecuxTRX.resolveTransaction(response, serialized) ⇒ string
Resolve transaction for broadcasting.
Returns: string
- signed raw transaction
transferData : object
Properties
from | string | sending address |
to | string | receiving address |
amount | number | transfer amount |
blockID | string | |
blockNumber | number | |
timestamp | number | |
[feeLimit] | number | |
[expiration] | number | |
trc10_Data : object
Properties
from | string | sending address |
to | string | receiving address |
token | string | number | token id number |
amount | number | transfer amount |
blockID | string | |
blockNumber | number | |
timestamp | number | |
[feeLimit] | number | |
[expiration] | number | |
trc20_Data : object
Properties
from | string | sending address |
to | string | receiving address |
amount | number | string | transfer amount |
contract | string | contract address |
[data] | string | abi encoded string |
blockID | string | |
blockNumber | number | |
timestamp | number | |
[callValue] | number | amount of TRX to send to the contract when triggers. |
[tokenId] | number | id of TRC-10 token to be sent to the contract. |
[tokenValue] | number | amount of TRC-10 token to send to the contract when triggers. |
[feeLimit] | number | |
[expiration] | number | |
prepared : object
Properties
© 2018-21 SecuX Technology Inc.
authors:
andersonwu@secuxtech.com