Skip to content
This repository has been archived by the owner on May 18, 2024. It is now read-only.

overcat/js-ledger-stellar-sdk

Repository files navigation

JavaScript Ledger Stellar SDK

GitHub Workflow Status (branch) npm

Ledger Hardware Wallet Stellar JavaScript bindings.

Installation

npm install ledger-stellar-sdk

API Documentation

Classes

Stellar

Ledger Hardware Wallet Stellar JavaScript bindings.

Constants

HashSigningModeNotEnabledError : object

This error is thrown when hash signing mode is not enabled.

UnknownStellarOperationTypeError : object

This error is thrown when the transaction contains unsupported Stellar operation(s).

UnknownStellarTransactionEnvelopeTypeError : object

This error will be thrown when the transaction type is not supported.

ParseStellarTransactionFailedError : object

This error is thrown when parsing the transaction fails.

Typedefs

Signature : object
PublicKey : object
AppConfiguration : object

Stellar

Ledger Hardware Wallet Stellar JavaScript bindings.

Kind: global class

new Stellar(transport, [scrambleKey])

Param Type Default Description
transport Transport The Ledger transport to use
[scrambleKey] string "w0w" A string that will be used to scramble the device communication

Example

import TransportWebUSB from "@ledgerhq/hw-transport-webusb";
import LedgerStellarApi from "ledger-stellar-sdk";

const transport = await TransportWebUSB.create();
const stellar = new LedgerStellarApi(transport);

stellar.getPublicKey(accountIndex, [display]) ⇒ PublicKey

Get Stellar public key for a given account index.

Kind: instance method of Stellar Returns: PublicKey - an object with a publicKey and rawPublicKey.

Param Type Default Description
accountIndex number It is part of key derivation path: m/44'/148'/accountIndex'
[display] boolean false If set to "true", the public key will be displayed on the Ledger device and the user will be asked to confirm, otherwise it will not

Example

const response = stellar.getPublicKey(0, true)

stellar.signTransaction(accountIndex, transaction) ⇒ Signature

Sign the given transaction.

Kind: instance method of Stellar Returns: Signature - the signature

Param Type Description
accountIndex number It is part of key derivation path: m/44'/148'/accountIndex'
transaction Buffer The transaction to sign. It consists of network id and transaction envelope, if you are using stellar-sdk, you can use transaction.signatureBase() to get the value

stellar.signHash(accountIndex, hash) ⇒ Signature

Sign the given hash.

It is intended for signing transactions not supported by the Ledger Stellar app and should be avoided as much as possible.

Kind: instance method of Stellar Returns: Signature - the signature

Param Type Description
accountIndex number It is part of key derivation path: m/44'/148'/accountIndex'
hash string | Buffer The hash to sign

Example

const response = stellar.signHash(0, "4b480b455a7ee154c33651819e3ce2ceb6bcd9dda78887777c4d2718c5cd04cd")

stellar.getAppConfiguration() ⇒ AppConfiguration

Get the configuration of the Ledger Stellar app installed on the hardware device.

Kind: instance method of Stellar Returns: AppConfiguration - an object with the version and the flag to indicate whether hash signing is enabled Example

const response = await stellar.getAppConfiguration();

StatusCode : enum

Enum for stellar-app response status codes.

Kind: global enum

StatusText : enum

Enum for stellar-app response status texts.

Kind: global enum

HashSigningModeNotEnabledError : object

This error is thrown when hash signing mode is not enabled.

Kind: global constant

UnknownStellarOperationTypeError : object

This error is thrown when the transaction contains unsupported Stellar operation(s).

Kind: global constant

UnknownStellarTransactionEnvelopeTypeError : object

This error will be thrown when the transaction type is not supported.

Kind: global constant

ParseStellarTransactionFailedError : object

This error is thrown when parsing the transaction fails.

Kind: global constant

Signature : object

Kind: global typedef Properties

Name Type Description
signature Buffer The signature

PublicKey : object

Kind: global typedef Properties

Name Type Description
publicKey string Encoded public key
rawPublicKey Buffer Raw public key

AppConfiguration : object

Kind: global typedef Properties

Name Type Description
version string The version of the Stellar app installed on the device
hashSigningEnabled boolean Whether hash signing is enabled