@ledgerhq/hw-app-icon
Version:
Ledger Hardware Wallet ICON Application API
70 lines • 2.8 kB
TypeScript
/********************************************************************************
* Ledger JS API for ICON
* (c) 2018 ICON Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
********************************************************************************/
import type Transport from "@ledgerhq/hw-transport";
/**
* ICON API
*
* @example
* import Icx from "@ledgerhq/hw-app-icx";
* const icx = new Icx(transport)
*/
export default class Icx {
transport: Transport;
constructor(transport: Transport);
/**
* Returns public key and ICON address for a given BIP 32 path.
* @param path a path in BIP 32 format
* @option boolDisplay optionally enable or not the display
* @option boolChaincode optionally enable or not the chaincode request
* @return an object with a publickey(hexa string), address(string) and
* (optionally) chaincode(hexa string)
* @example
* icx.getAddress("44'/4801368'/0'", true, true).then(o => o.address)
*/
getAddress(path: string, boolDisplay?: boolean, boolChaincode?: boolean): Promise<{
publicKey: string;
address: string;
chainCode?: string;
}>;
/**
* Signs a transaction and returns signed message given the raw transaction
* and the BIP 32 path of the account to sign
* @param path a path in BIP 32 format
* @param rawTxAscii raw transaction data to sign in ASCII string format
* @return an object with a base64 encoded signature and hash in hexa string
* @example
* icx.signTransaction("44'/4801368'/0'",
* "icx_sendTransaction.fee.0x2386f26fc10000." +
* "from.hxc9ecad30b05a0650a337452fce031e0c60eacc3a.nonce.0x3." +
* "to.hx4c5101add2caa6a920420cf951f7dd7c7df6ca24.value.0xde0b6b3a7640000")
* .then(result => ...)
*/
signTransaction(path: string, rawTxAscii: string): Promise<{
signedRawTxBase64: string;
hashHex: string;
}>;
/**
* Returns the application configurations such as versions.
* @return major/minor/patch versions of Icon application
*/
getAppConfiguration(): Promise<{
majorVersion: number;
minorVersion: number;
patchVersion: number;
}>;
}
//# sourceMappingURL=Icon.d.ts.map