View Source Bitcoinex.LightningNetwork.Invoice (bitcoinex v0.1.8)

Includes BOLT#11 Invoice serialization.

Reference: https://github.com/lightningnetwork/lightning-rfc/blob/master/11-payment-encoding.md

Link to this section Summary

Functions

Decode accepts a Bech32 encoded string invoice and deserializes it.

Returns the expiry of the invoice.

Link to this section Types

@type error() :: atom()
@type t() :: %Bitcoinex.LightningNetwork.Invoice{
  amount_msat: non_neg_integer() | nil,
  description: String.t() | nil,
  description_hash: String.t() | nil,
  destination: String.t(),
  expiry: integer() | nil,
  fallback_address: String.t() | nil,
  min_final_cltv_expiry: non_neg_integer(),
  network: Bitcoinex.Network.network_name(),
  payment_hash: String.t(),
  route_hints: [Bitcoinex.LightningNetwork.HopHint.t()],
  timestamp: integer()
}

Link to this section Functions

@spec base32_to_integer(maybe_improper_list()) :: any()
@spec decode(String.t()) :: {:ok, t()} | {:error, error()}

Decode accepts a Bech32 encoded string invoice and deserializes it.

@spec expires_at(t()) :: DateTime.t()

Returns the expiry of the invoice.