Custom Bitcoin Cash client class.

Hierarchy

  • Client
    • Client

Constructors

  • Constructor for the Client class.

    Parameters

    • params: UtxoClientParams = defaultBchParams

      Parameters for initializing the client.

    Returns Client

Properties

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

Methods

  • Broadcast a transaction.

    Parameters

    • txHex: string

      The transaction hex string.

    Returns Promise<string>

    The transaction hash.

  • Build a BCH transaction.

    Parameters

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

      The transaction build options.

    Returns Promise<{
        builder: TransactionBuilder;
        inputs: UTXO[];
        utxos: UTXO[];
    }>

    A promise that resolves with the transaction builder, UTXOs, and inputs.

    Deprecated

  • Compile a memo.

    Parameters

    • memo: string

      The memo to be compiled.

    Returns Buffer

    • The compiled memo.
  • Get the current address.

    Generates a network-specific key-pair and returns the corresponding address.

    Parameters

    • index: number = 0

      The index of the address to retrieve.

    Returns string

    The current address.

    Throws

    Thrown if the phrase has not been set before.

    Throws

    Thrown if failed to create account from phrase.

  • Get the current address asynchronously. Generates a network-specific key-pair and returns the corresponding address.

    Parameters

    • index: number = 0

    Returns Promise<string>

    A promise that resolves with the current address.

    Throws

    Thrown if the phrase has not been set before.

    Throws

    Thrown if failed to create account from phrase.

  • Get information about the BCH asset.

    Returns AssetInfo

    Information about the BCH asset.

  • Private function to get BCH keys. Generates a key pair from the provided phrase and derivation path.

    Parameters

    • phrase: string

      The phrase used for generating the private key.

    • derivationPath: string

      The BIP44 derivation path.

    Returns KeyPair

    The key pair generated from the phrase and derivation path.

    Throws

    Thrown if an invalid phrase is provided.

  • 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.

  • Calculate the transaction fee.

    Parameters

    • inputs: UTXO[]

      The UTXOs.

    • feeRate: number

      The fee rate.

    • data: null | Buffer = null

      The compiled memo (optional).

    Returns number

    • The fee amount.
  • 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 a BCH transaction.

    Parameters

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

      The transaction preparation options.

    Returns Promise<BchPreparedTx>

    A promise that resolves with the prepared transaction and UTXOs.

  • 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

  • Transfer BCH.

    Parameters

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

      The transfer options.

    Returns Promise<string>

    A promise that resolves with the transaction hash.

  • Validate the given address.

    Parameters

    • address: string

    Returns boolean

    true or false

Generated using TypeDoc