Havah
The D'CENT Web SDK provides functions for signing transaction of coins.
- HAVAH(HTS)
- HAVAH Token(HSP20)
- path: key path, wallet sign with that private key with a given key path (BIP32 ex) "m/44'/858'/0'/0/0").
- fee: fee, It is fee that wallet displays on the screen.
- symbol: symbol, It is a symbol that the wallet displays on the screen.
- decimals: havah or havah token's decimals.
D'CENT Bridge
version 1.5.0 or higher is required.- D'CENT Biometric Wallet version 2.26.0 or higher is required.
import IconService from 'icon-sdk-js'
const { IconBuilder, IconAmount, IconConverter, IconUtil } = IconService
const httpProvider = new HttpProvider('https://ctz.solidwallet.io/api/v3');
const iconService = new IconService(httpProvider);
// networkId of node 1:mainnet, 2~:etc
const networkId = new BigNumber("3"); // input node’s networkld
const version = new BigNumber("3"); // version
// Recommended icx transfer step limit :
// use 'default' step cost in the response of getStepCosts API
const stepLimit = await this.getDefaultStepCost(); // Please refer to the above description.
// Timestamp is used to prevent the identical transactions. Only current time is required (Standard unit : us)
// If the timestamp is considerably different from the current time, the transaction will be rejected.
const timestamp = (new Date()).getTime() * 1000;
const value = IconAmount.of(Number(amount), IconAmount.Unit.ICX).toLoop()
// Enter transaction information
const { IcxTransactionBuilder } = IconBuilder
const icxTransactionBuilder = new IcxTransactionBuilder();
const transaction = icxTransactionBuilder
.nid(networkId)
.from(walletAddress)
.to(MockData.WALLET_ADDRESS_2)
.value(value)
.version(version)
.stepLimit(stepLimit)
.timestamp(timestamp)
.nonce(IconConverter.toBigNumber(1))
.build();
const rawData = Buffer.from(IconUtil.generateHashKey(IconConverter.toRawTransaction(tx))).toString('hex')
const sigHash = rawData
const transactionJson = {
coinType: DcentWebConnector.coinType.HAVAH,
sigHash: sigHash,
path: `m/44'/858'/0'/0/0`,
decimals: IconAmount.Unit.ICX,
fee,
symbol: 'HVH',
}
var result
try {
result = await DcentWebConnector.getHavahSignedTransaction(transactionJson);
} catch (e) {
console.log(e)
result = e
}
{
"header": {
"version": "1.0",
"response_from": "havah",
"status": "success"
},
"body": {
"command": "transaction",
"parameter": {
"signed_tx": "0x31aa13b5e04cb6fc6381ea0520bf7f6727ebdb6e96cd7ca8625bb3e3dd36cf0e2cee4ece13aa9f7ddc09ee10c74aa00af954201829d8016317f10f5a921dcc0d"
}
}
}
Last modified 8d ago