Custom Ledger Bitcoin client

Hierarchy

  • Client
    • ClientLedger

Constructors

Properties

app: undefined | default
chain: string
dataProviders: UtxoOnlineDataProviders[]
explorerProviders: ExplorerProviders
feeBounds: FeeBounds
network: Network
phrase: string
rootDerivationPaths: undefined | RootDerivationPaths
transport: any

Methods

  • Broadcast a transaction.

    Parameters

    • txHex: string

      The transaction hex string.

    Returns Promise<string>

    The transaction hash.

  • Build a Bitcoin transaction.*

    Parameters

    • param0: TxParams & {
          feeRate: number;
          sender: string;
          spendPendingUTXO?: boolean;
          withTxHex?: boolean;
      }

    Returns Promise<{
        inputs: UTXO[];
        psbt: Psbt;
        utxos: UTXO[];
    }>

    Deprecated

  • Compile memo into a buffer.

    Parameters

    • memo: string

      Memo to compile.

    Returns Buffer

    Compiled memo.

  • Parameters

    • index: number = 0
    • verify: boolean = false

    Returns Promise<string>

  • Get BTC asset info.

    Returns AssetInfo

    BTC asset information.

  • Gets balance of a given address.

    Parameters

    • address: string

      The address to get balances from

    • Optional _assets: Asset[]
    • Optional confirmedOnly: boolean

    Returns Promise<Balance[]>

    BTC balances

  • Get the explorer URL for a given address based on the network.

    Parameters

    • address: string

      The address to query.

    Returns string

    The explorer URL for the address.

  • Get the explorer URL for a given transaction ID based on the network.

    Parameters

    • txID: string

      The transaction ID.

    Returns string

    The explorer URL for the transaction.

  • Get the explorer URL based on the network.

    Returns string

    The explorer URL.

  • Get transaction fee from UTXOs.

    Parameters

    • inputs: UTXO[]

      UTXOs to calculate fee from.

    • feeRate: number

      Fee rate.

    • data: null | Buffer = null

      Compiled memo (Optional).

    Returns number

    Transaction fee.

  • Get the fee rate from the Thorchain API.

    Returns Promise<number>

    The fee rate

  • Get fee rates

    Parameters

    • Optional protocol: THORCHAIN

      Protocol to interact with. If there's no protocol provided, fee rates are retrieved from chain data providers

    Returns Promise<FeeRates>

    The fee rates (average, fast, fastest) in Satoshis/byte

  • Get estimated fees.

    Parameters

    • Optional options: FeeEstimateOptions

      Options for fee estimation.

    Returns Promise<Fees>

    Estimated fees.

  • Get estimated fees with fee rates.

    Parameters

    • Optional options: FeeEstimateOptions

      Options for fee estimation.

    Returns Promise<FeesWithRates>

    Estimated fees along with fee rates.

  • Get the full derivation path based on the wallet index.

    Parameters

    • walletIndex: number

      The HD wallet index

    Returns string

    The full derivation path

  • Get the current network.

    Returns Network

    The current network

  • Get the transaction details of a given transaction ID.

    Parameters

    • txId: string

      The transaction ID.

    Returns Promise<Tx>

    The transaction details.

  • Get the transaction history of a given address with pagination options.

    Parameters

    • Optional params: TxHistoryParams

      The options to get transaction history.

    Returns Promise<TxsPage>

    The transaction history.

  • Prepare transfer.

    Parameters

    • params: TxParams & {
          feeRate: number;
          sender: string;
          spendPendingUTXO?: boolean;
      }

      The transfer options.

    Returns Promise<PreparedTx>

    The raw unsigned transaction.

  • Purge the client by clearing the mnemonic phrase.

    Returns void

  • Broadcasts a transaction hex using a round-robin approach across multiple data providers.

    Parameters

    • txHex: string

      The transaction hex to broadcast.

    Returns Promise<string>

    The hash of the broadcasted transaction.

    Throws

    Throws an error if no provider is able to broadcast the transaction.

  • Round-robin method to get balance from data providers. Throws error if no provider can get balance.

    Parameters

    • address: string

      The address to get balance for.

    Returns Promise<Balance[]>

    The balances.

    Throws

    Error If no provider is able to get balance.

  • Retrieves fee rates using a round-robin approach across multiple data providers.

    Returns Promise<FeeRates>

    The fee rates (average, fast, fastest) in Satoshis/byte.

    Throws

    Throws an error if no provider is able to retrieve fee rates.

  • Round-robin method to get transaction data from data providers. Throws error if no provider can get transaction data.

    Parameters

    • txid: string

      The transaction ID to get data for.

    Returns Promise<Tx>

    The transaction data.

    Throws

    Error If no provider is able to get transaction data.

  • Round-robin method to get transactions from data providers. Throws error if no provider can get transactions.

    Parameters

    • params: TxHistoryParams

      The parameters for fetching transactions.

    Returns Promise<TxsPage>

    The transaction history.

    Throws

    Error If no provider is able to get transactions.

  • Round-robin method to get unspent transactions from data providers. Throws error if no provider can get unspent transactions.

    Parameters

    • address: string

      The address to get unspent transactions for.

    • confirmed: boolean

      Flag to indicate whether to get confirmed transactions only.

    Returns Promise<UTXO[]>

    The unspent transactions.

    Throws

    Error If no provider is able to get unspent transactions.

  • Scan UTXOs for a given address.

    Parameters

    • address: string

      The address to scan.

    • Optional confirmedOnly: boolean

      Flag to scan only confirmed UTXOs.

    Returns Promise<UTXO[]>

    The UTXOs found.

  • Set or update the current network.

    Parameters

    • network: Network

      The network to set

    Returns void

    Throws

    Thrown if no network is provided

  • Set or update the mnemonic phrase.

    Parameters

    • phrase: string

      The new mnemonic phrase

    • Optional walletIndex: number

      (Optional) The HD wallet index

    Returns string

    The address derived from the provided phrase

    Throws

    Thrown if an invalid mnemonic phrase is provided

  • Make a GET request to the Thorchain API.

    Parameters

    • endpoint: string

      The API endpoint

    Returns Promise<unknown>

    The response data

  • Parameters

    • params: TxParams & {
          feeRate?: number;
      }

    Returns Promise<string>

  • Validate the given Bitcoin address.

    Parameters

    • address: string

      Bitcoin address to validate.

    Returns boolean

    true if the address is valid, false otherwise.

Generated using TypeDoc