JSPM

@ledgerhq/hw-app-str

7.2.7-nightly.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 18149
  • Score
    100M100P100Q160774F
  • License Apache-2.0

Ledger Hardware Wallet Stellar Application API

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@ledgerhq/hw-app-str) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    GitHub, Ledger Devs Discord, Developer Portal

    @ledgerhq/hw-app-str

    Ledger Hardware Wallet Stellar JavaScript bindings.


    Are you adding Ledger support to your software wallet?

    You may be using this package to communicate with the Stellar Nano App.

    For a smooth and quick integration:

    • See the developers’ documentation on the Developer Portal and
    • Go on Discord to chat with developer support and the developer community.

    Errors handling

    All functions may throw an error, it's important to handle the errors properly.

    We have written corresponding classes for exceptions that developers should actively handle, you can find them in the API section.


    API

    Table of Contents

    StellarHashSigningNotEnabledError

    Error thrown when hash signing is not enabled on the device.

    StellarDataParsingFailedError

    Error thrown when data parsing fails.

    For example, when parsing the transaction fails, this error is thrown.

    StellarUserRefusedError

    Error thrown when the user refuses the request on the device.

    StellarDataTooLargeError

    Error thrown when the data is too large to be processed by the device.

    Str

    Stellar API

    Parameters

    • transport Transport a transport for sending commands to a device
    • scrambleKey a scramble key (optional, default "l0v")

    Examples

    import Str from "@ledgerhq/hw-app-str";
    const str = new Str(transport)

    getAppConfiguration

    Get Stellar application configuration.

    Examples
    str.getAppConfiguration().then(o => o.version)

    Returns Promise<{version: string, hashSigningEnabled: boolean, maxDataSize: number?}> an object with the application configuration, including the version, whether hash signing is enabled, and the maximum data size in bytes that the device can sign.

    getPublicKey

    Get Stellar raw public key for a given BIP 32 path.

    Parameters
    • path string a path in BIP 32 format
    • display if true, the device will ask the user to confirm the address on the device, if false, it will return the raw public key directly (optional, default false)
    Examples
    str.getPublicKey("44'/148'/0'").then(o => o.rawPublicKey)

    Returns Promise<{rawPublicKey: Buffer}> an object with the raw ed25519 public key. If you want to convert it to string, you can use StrKey.encodeEd25519PublicKey

    signTransaction

    Sign a Stellar transaction.

    Parameters
    Examples
    str.signTransaction("44'/148'/0'", signatureBase).then(o => o.signature)

    Returns Promise<{signature: Buffer}> an object with the signature

    signSorobanAuthorization

    Sign a Stellar Soroban authorization.

    Parameters
    Examples
    str.signSorobanAuthorization("44'/148'/0'", hashIdPreimage).then(o => o.signature)

    Returns Promise<{signature: Buffer}> an object with the signature

    signHash

    Sign a hash.

    Parameters
    • path string a path in BIP 32 format
    • hash Buffer the hash to sign
    Examples
    str.signHash("44'/148'/0'", hash).then(o => o.signature)

    Returns Promise<{signature: Buffer}> an object with the signature