Skip to main content

Crate breez_sdk_spark

Crate breez_sdk_spark 

Source

Re-exports§

pub use crate::token_conversion::AmountAdjustmentReason;
pub use crate::token_conversion::ConversionEstimate;
pub use crate::token_conversion::ConversionInfo;
pub use crate::token_conversion::ConversionOptions;
pub use crate::token_conversion::ConversionPurpose;
pub use crate::token_conversion::ConversionStatus;
pub use crate::token_conversion::ConversionType;
pub use crate::token_conversion::FetchConversionLimitsRequest;
pub use crate::token_conversion::FetchConversionLimitsResponse;
pub use crate::token_conversion::SwapDegradation;

Modules§

payment_observer
signer
sync_storage
token_allowance
token_conversion

Structs§

AddContactRequest
Request to add a new contact.
AesSuccessActionData
Payload of the AES success action, as received from the LNURL endpoint
AesSuccessActionDataDecrypted
Wrapper for the decrypted AesSuccessActionData payload
AuthorizeTransferRequest
Request for [BreezSdk::authorize_lightning_address_transfer]. Called by the current owner to authorize handing their registered username over to transferee_pubkey.
BatchRecipient
A single payee in a batch send.
BatchTotal
What a batch debits for one asset.
Bip21Details
Bip21Extra
BitcoinAddressDetails
Bolt11Invoice
Bolt11InvoiceDetails
Bolt11RouteHint
Bolt11RouteHintHop
Bolt12Invoice
Bolt12InvoiceDetails
Bolt12InvoiceRequestDetails
Bolt12Offer
Bolt12OfferBlindedPath
Bolt12OfferDetails
BreezSdk
BreezSDK is a wrapper around SparkSDK that provides a more structured API with request/response objects and comprehensive error handling.
BridgeFromCashAppRequest
Deprecated. Use CreateBridgeRequest with the bridging client’s bridge_from_cash_app.
BridgeFromCashAppResponse
Deprecated. Use CreateBridgeResponse, from the bridging client’s bridge_from_cash_app.
BridgeRoutePair
A way to pay a recipient: what the payer pays, and what the recipient receives.
BridgeRoutePairSide
One side of a BridgeRoutePair.
BridgeToCashAppRequest
Deprecated. Use CreateBridgeRequest with the bridging client’s bridge_to_cash_app.
BridgeToCashAppResponse
Deprecated. Use CreateBridgeResponse, from the bridging client’s bridge_to_cash_app.
BridgingClient
Creates bridges: orders that pay a recipient from another chain or over Lightning, with no funds moving through the SDK. Get one with new_bridging_client, or from a connected SDK with get_bridging_client. Only available on mainnet.
BridgingConfig
Settings for a BridgingClient built with new_bridging_client.
BuildUnsignedBatchPackageRequest
BuildUnsignedLnurlPayPackageRequest
BuildUnsignedPullPackageRequest
BuildUnsignedTransferPackageRequest
BurnIssuerTokenRequest
BuyBitcoinResponse
Response containing a URL to complete the Bitcoin purchase
ChainTransaction
A transaction the chain service reported in a block.
CheckLightningAddressRequest
CheckMessageRequest
CheckMessageResponse
CheckRecoverFundsRequest
Request for check_recover_funds: the recovery you kept from a previous recover_funds, as you last stored it.
CheckRecoverFundsResponse
Result of check_recover_funds: the same recovery, read back against the chain.
ClaimDepositQuote
What one way of claiming a deposit costs.
ClaimDepositRequest
ClaimDepositResponse
ClaimHtlcPaymentRequest
ClaimHtlcPaymentResponse
ClaimTransferRequest
Request for [BreezSdk::claim_lightning_address_transfer]. Called by the new owner to complete the takeover using the authorization produced by the current owner.
CombinedHeaderProvider
Composes multiple HeaderProviders by resolving their headers() in order and merging the results. On key collisions, later providers win.
Config
ConfirmedExitNode
A node of the exit tree that is already on-chain.
ConnectRequest
ConnectWithSignerRequest
Request object for connecting to the Spark network using an external signer.
ConnectWithSigningOnlySignerRequest
Request object for connecting to the Spark network using a signing-only external signer.
Contact
A contact entry containing a name and payment identifier.
Conversion
A single conversion in a payment’s conversion chain.
ConversionAsset
The asset on a ConversionSide — groups the ticker, stable identifier, and decimals that always travel together.
ConversionDetails
Outlines the steps involved in one or more conversions on a payment.
ConversionSide
One side (source or destination) of a conversion.
CooperativeRecoveryFailure
A cooperative recovery that could not be produced.
CreateBridgeRequest
CreateBridgeResponse
CreateIssuerTokenRequest
CreateTokenAllowanceRequest
CreateTokenAllowanceResponse
Credentials
CrossChainAcceptedAsset
A Spark-side asset a route accepts, with the amount bounds that apply to it.
CrossChainAddressDetails
CrossChainConfig
Configuration for cross-chain payments. Setting it on the config turns the feature on.
CrossChainReceiveInfo
Information about the cross-chain receive quote: what the sender deposits and what the receiver is expected to get.
CrossChainRouteLimits
Amount bounds a provider publishes for moving a route with one Spark-side asset.
CrossChainRoutePair
A single route available for cross-chain transfers, tagged with the provider that offers it. Returned by get_cross_chain_routes().
CurrencyInfo
Details about a supported currency in the fiat rate feed
DepositInfo
EventEmitter
Event publisher that manages event listeners and middleware.
ExitChainState
What the chain has already done to an exit’s leaves, as prepare_recover_funds found it. recover_funds builds only the steps it does not cover.
ExitRefund
A leaf’s refund as the chain shows it.
ExportUnilateralExitStateResponse
Result of export_unilateral_exit_state: a self-contained copy of the wallet’s exit state, ready to be stored outside the wallet.
ExternalInputParser
Configuration for an external input parser
ExternalSigners
The two default external signers created from one mnemonic by default_external_signers.
FetchClaimDepositQuoteRequest
FetchClaimDepositQuoteResponse
FiatCurrency
Wrapper around the CurrencyInfo of a fiat currency
FreezeIssuerTokenRequest
FreezeIssuerTokenResponse
GetBridgeRoutesRequest
GetBridgeRoutesResponse
GetBridgeStatusRequest
GetBridgeStatusResponse
GetInfoRequest
Request to get the balance of the wallet
GetInfoResponse
Response containing the balance of the wallet
GetPaymentRequest
GetPaymentResponse
GetSparkStatusRequest
Options for get_spark_status.
GetTokensMetadataRequest
GetTokensMetadataResponse
ImportUnilateralExitStateRequest
Request for import_unilateral_exit_state.
ImportUnilateralExitStateResponse
Result of import_unilateral_exit_state.
LeafOptimizationConfig
Configuration for leaf optimization.
LeafRecovery
What is stored about a leaf with funds to recover on-chain.
LightningAddressDetails
LightningAddressInfo
ListContactsRequest
Request to list contacts with optional pagination.
ListFiatCurrenciesResponse
Response from listing fiat currencies
ListFiatRatesResponse
Response from listing fiat rates
ListPaymentsRequest
Request to list payments with optional filters and pagination
ListPaymentsResponse
Response from listing payments
ListTokenAllowancesRequest
ListTokenAllowancesResponse
ListUnclaimedDepositsRequest
ListUnclaimedDepositsResponse
LnurlAuthRequestDetails
Wrapped in a InputType::LnurlAuth, this is the result of parsing a LNURL-auth endpoint.
LnurlErrorDetails
LNURL error details
LnurlInfo
LnurlPayContext
LnurlPayInfo
Represents the payment LNURL info
LnurlPayRequest
LnurlPayRequestDetails
LnurlPayResponse
LnurlReceiveMetadata
LnurlWithdrawInfo
Represents the withdraw LNURL info
LnurlWithdrawRequest
LnurlWithdrawRequestDetails
LnurlWithdrawResponse
LocaleOverrides
Locale-specific settings for the representation of a currency
LocalizedName
Localized name of a currency
LogEntry
MaxFee
The most a deposit claim may cost: an on-chain part plus an optional share of the deposit amount.
MessageSuccessActionData
MintIssuerTokenRequest
NewRestChainServiceRequest
Options for new_rest_chain_service.
OptimizeLeavesRequest
Request for [BreezSdk::optimize_leaves]. Defaults to OptimizationMode::Full.
OptimizeLeavesResponse
Response from a [BreezSdk::optimize_leaves] call.
Payment
Represents a payment (sent or received)
PaymentIdUpdate
PaymentMetadata
Metadata associated with a payment that cannot be extracted from the Spark operator.
PaymentRequestSource
PerBranchFunding
How much one funding UTXO must hold to avoid a fan-out: for a branch of the exit, or under CpfpFundingStrategy::PerNode for one transaction of it.
PrebuiltBackend
A StorageBackend over caller-supplied store implementations.
PrepareLnurlPayRequest
PrepareLnurlPayResponse
PreparePaymentLinkRequest
Deprecated. Use CreateBridgeRequest with the bridging client’s bridge_from_cash_app.
PreparePaymentLinkResponse
Deprecated. Use CreateBridgeResponse, from the bridging client’s bridge_from_cash_app.
PreparePullPaymentRequest
PreparePullPaymentResponse
PrepareRecoverFundsRequest
Request for prepare_recover_funds, which returns the recovery quote.
PrepareRecoverFundsResponse
Response from prepare_recover_funds: which leaves would be recovered and how, the exact fee at the requested rate, and how much to fund.
PrepareSendBatchRequest
PrepareSendBatchResponse
PrepareSendPaymentRequest
PrepareSendPaymentResponse
ProvisionalPayment
ProxyConfig
A SOCKS5 proxy carrying the connections the SDK opens.
PublicKey
Public key - used to verify ECDSA signatures and to do Taproot tweaks.
PublishSignedLnurlPayPackageRequest
PublishSignedPullPackageRequest
PublishSignedTransferPackageRequest
PullPaymentRequest
PullPaymentResponse
PullReceiver
Rate
Denominator in an exchange rate
ReceivePaymentRequest
ReceivePaymentResponse
RecommendedFees
RecoverFundsLeaf
A leaf selected for recovery.
RecoverFundsRequest
Request for recover_funds: a prepare_recover_funds quote plus the funding UTXOs that pay its fees.
RecoverFundsResponse
Result of recover_funds: every signed transaction of the recovery, and its totals. The totals mean what they do on the quote, for the leaves in leaves: the ones in failed add nothing to them.
RecoveryFunding
How much to fund a unilateral exit with.
RecoveryTransaction
One transaction of a recovery, with everything needed to order and broadcast it.
RefundDepositRequest
RefundDepositResponse
RefundPendingConversionsResponse
Response from refunding pending conversions.
RegisterLightningAddressRequest
RegisterWebhookRequest
Request to register a new webhook.
RegisterWebhookResponse
Response from registering a webhook.
ResolvedBatchRecipient
A recipient after prepare has resolved the asset and amount it is owed.
ResolvedStores
The four per-tenant stores produced by a StorageBackend.
RestClientChainService
REST-backed BitcoinChainService.
RestResponse
RevokeTokenAllowanceRequest
SdkBuilder
Builder for creating BreezSdk instances with customizable components.
SdkContext
Process-shared resources that can back many BreezSdk instances.
SdkContextConfig
Settings for new_shared_sdk_context. All fields are optional; the defaults match the single-SDK happy path.
SendBatchRequest
SendBatchResponse
SendOnchainFeeQuote
SendOnchainSpeedFeeQuote
SendPaymentRequest
SendPaymentResponse
Session
Cached authentication session for a single backend service identity.
SessionStoreAdapter
Adapts an SDK-facing SessionStore to the [spark_wallet] session-store trait (which has its own identical-shape trait).
SetLnurlMetadataItem
SignMessageRequest
SignMessageResponse
SignedTransferPackage
SigningOnlyExternalSigners
A signing-only external signer paired with the Spark signer, for wallets that connect via [connect_with_signing_only_signer]. The Breez half performs signing only, without the SDK’s local ECIES/HMAC operations.
SkippedLeaf
A leaf the selection covers that prepare_recover_funds leaves out of the quote.
SparkAddressDetails
SparkConfig
Configuration for a custom Spark environment.
SparkHtlcDetails
SparkHtlcOptions
SparkInvoiceDetails
SparkInvoicePaymentDetails
SparkSigningOperator
A Spark signing operator.
SparkSspConfig
Configuration for the Spark Service Provider (SSP).
SparkStatus
The status of the Spark network services relevant to the SDK.
StableBalanceConfig
Configuration for automatic conversion of Bitcoin to stable tokens.
StableBalanceToken
A stable token that can be used for automatic balance conversion.
StorageListPaymentsRequest
Storage-internal variant of ListPaymentsRequest that uses StoragePaymentDetailsFilter instead of the public PaymentDetailsFilter.
StoredCrossChainSwap
A cross-chain swap row as persisted and synced. Shared across providers (Boltz, Orchestra, future) so each provider’s adapter writes opaque JSON into data and (optionally) opaque ciphertext into secrets.
StoredWatchtowerExitOutput
The on-chain output holding a leaf’s funds after a watchtower exit.
Symbol
Settings for the symbol representation of a currency
SyncWalletRequest
Request to sync the wallet with the Spark network
SyncWalletResponse
Response from synchronizing the wallet
TokenAllowance
TokenBalance
TokenIssuer
TokenMetadata
TokenOptimizationConfig
Configuration for token-output optimization.
TransferAuthorization
Authorization from the current owner granting a specific new owner the right to take over a username. Produced by [BreezSdk::authorize_lightning_address_transfer] and handed to the new owner, who passes it to [BreezSdk::claim_lightning_address_transfer]. It fully describes the transfer, so the new owner needs nothing else to claim.
TxStatus
UnfreezeIssuerTokenRequest
UnfreezeIssuerTokenResponse
UnregisterWebhookRequest
Request to unregister an existing webhook.
UpdateContactRequest
Request to update an existing contact.
UpdateLeafRecovery
A change to a stored LeafRecovery. The storage keeps what it holds for a part left unset.
UpdateUserSettingsRequest
UrlSuccessActionData
UserSettings
Utxo
WatchedDepositAddress
A static deposit address being watched on-chain for unconfirmed deposits.
WatchtowerExitRecovery
A transaction the Spark operators co-signed, with a StoredWatchtowerExitOutput as its input.
Webhook
A registered webhook entry.

Enums§

AesSuccessActionDataResult
Result of decryption of AesSuccessActionData payload
Amount
AssetFilter
A field of ListPaymentsRequest when listing payments filtered by asset
AutoOptimizationEvent
BatchDestination
Where a batch recipient is paid, once prepare has decoded its payment request.
Bip21Error
BitcoinNetwork
BridgeStatus
Where a bridge is in its lifecycle.
BuildTransferPackageOptions
BuyBitcoinRequest
The available providers for buying Bitcoin Request to buy Bitcoin using an external provider.
ChainApiType
ChainServiceError
ClaimDeferredReason
Why a claim was deferred rather than made.
ClaimDepositOutcome
What became of a claim.
ConversionChain
The chain or network that a ConversionSide lives on.
ConversionFilter
Selects payments by conversion type + status for background tasks.
ConversionProvider
The provider that performed a conversion.
CooperativeRecoveryError
Why a cooperative recovery was not produced.
CpfpFundingKind
The kind of UTXO that will fund an exit’s fees.
CpfpFundingStrategy
How funding UTXOs pay a unilateral exit’s CPFP children.
CpfpInput
A funding UTXO that pays the on-chain fees of a unilateral exit.
CrossChainAddressFamily
CrossChainFeeMode
Which side of the transfer the request amount sizes: what leaves the payer, or what reaches the receiver.
CrossChainProvider
CrossChainProviderContext
Provider-internal state produced by prepare and consumed by send. Typed per provider so the send stage can resume without re-quoting and without a serde round-trip. Callers should round-trip this value as-is.
CrossChainRouteFilter
Filter for [CrossChainService::get_routes] and the public get_cross_chain_routes() API.
DeliveryMethod
The rail a cross-chain payment is delivered over.
DepositClaimError
ExitLeafSelection
Which leaves to recover. All and RecoverableOnly take a leaf only when what is left of its funds exceeds what recovering it costs. That cost leaves out the shared fan-out fee, which you also pay when you fund several funding.per_branch entries from one UTXO: compare recoverable_value_sats with total_fee_sats, or fund one UTXO per entry to avoid the fan-out.
ExitNodeConfirmation
Which of a node’s two pre-signed spends took it on-chain.
ExitRefundState
ExitTransactionStatus
Where a transaction of a recovery stands: on-chain, ready to send, or waiting for something.
Fee
FeePolicy
Specifies how fees are handled in a payment.
HeaderProviderError
InputType
InstantClaimStatus
State of an instant claim attempt on a deposit.
LnurlCallbackStatus
The response from a LNURL-auth callback, indicating success or failure.
LnurlError
MaxOnchainFee
The on-chain part of a MaxFee.
MoonpayDelivery
How a MoonPay purchase is delivered.
Network
OnchainConfirmationSpeed
OptimizationMode
Mode of a manually-triggered optimization run.
OptimizationOutcome
Outcome of a [BreezSdk::optimize_leaves] call.
Outspend
The spend status of a transaction output.
ParseError
PaymentDetails
PaymentDetailsFilter
PaymentMethod
PaymentObserverError
PaymentRequest
The payment destination. Either a raw string (bolt11, spark address, BIP-21, cross-chain URI, etc.) that is parsed internally, or a structured cross-chain destination with explicit chain + asset selection.
PaymentStatus
The status of a payment
PaymentType
The type of payment
ProvisionalPaymentDetails
PublishSignedLnurlPayResponse
PublishSignedTransferPackageResponse
ReceivePaymentMethod
RecoveryMethod
How a leaf’s funds are recovered.
RecoveryRedoReason
Why a recovery has to be built again.
RecoveryTxKind
The role of a transaction in a recovery.
RecoveryVerdict
What to do with a recovery that has been read back against the chain.
RefundState
State of the deposit refund broadcast.
SdkError
Error type for the BreezSdk
SdkEvent
Events emitted by the SDK
Seed
Represents the seed for wallet generation, either as a mnemonic phrase with an optional passphrase or as raw entropy bytes.
SendPaymentMethod
SendPaymentOptions
ServiceConnectivityError
ServiceStatus
The operational status of a Spark service.
SessionStoreError
SignerError
Error type for signer operations
SkippedLeafReason
Why prepare_recover_funds leaves a leaf out of the quote.
SparkAsset
The asset a cross-chain route accepts on the Spark side.
SparkHtlcStatus
SparkMasterIdentityPublicKey
Specifies how to update the wallet’s Spark master identity public key.
StableBalanceActiveLabel
Specifies how to update the active stable balance token.
StableBalanceConversionKind
Which Stable Balance conversion an SdkEvent::StableBalanceConversionFailed refers to.
StorageError
Errors that can occur during storage operations
StoragePaymentDetailsFilter
Storage-internal variant of PaymentDetailsFilter.
SuccessAction
Supported success action types
SuccessActionProcessed
SuccessAction where contents are ready to be consumed by the caller
SyncError
Why a sync could not refresh the balances. Each message is for logs, not for display.
TokenAllowanceErrorReason
TokenAllowanceLimit
TokenAllowanceRole
TokenAllowanceStatus
TokenTransactionType
TransferSignature
TransferTarget
UnsignedTransferPackage
UpdateDepositPayload
UpdateWatchedAddressPayload
WebhookEventType
The type of event that triggers a webhook notification.

Constants§

DEFAULT_EXTERNAL_INPUT_PARSERS
A list of external input parsers that are used by default. To opt-out, set use_default_external_input_parsers in Config to false.
DEFAULT_FILTER
Default tracing filter: info globally, debug for first-party crates, and noisy third-party crates silenced below warn. Shared with the WASM bindings so both default to the same behaviour.

Traits§

BitcoinChainService
EventListener
Trait for event listeners
FiatService
Trait covering fiat-related functionality
HeaderProvider
Logger
PaymentObserver
This interface is used to observe outgoing Lightning, Spark, onchain Bitcoin and token payments.
RestClient
REST client trait for making HTTP requests.
SessionStore
Persistent storage for authentication sessions, keyed by the service’s identity public key. Implementations should be thread-safe and may be backed by an in-memory map (default) or a shared database for cross-pod auth sharing.
Storage
Trait for persistent storage
StorageBackend
A factory for a tenant’s storage.

Functions§

account_master_key
The Spark account master (base): m/8797555'/{account}'. Every wallet key derives from it (identity at 0', leaf signing under 1', static deposit under 3'). account_no falls back to a per-network default when unset.
custom_storage
Wraps a caller-supplied Storage implementation as a StorageBackend. The tree, token-output and session stores use the in-memory defaults.
default_bridging_config
Settings for new_bridging_client with every optional field unset.
default_config
default_external_signers
Creates the default external signers from a mnemonic.
default_server_config
Builds a Config suitable for multi-tenant server-mode deployments.
default_session_store
The session store backend provides for identity on network (its own persistence: PostgreSQL/MySQL when the backend is DB-backed, else an in-memory store).
default_storage_path
get_spark_status
Fetches the current status of Spark network services relevant to the SDK.
identity_master_key
The wallet identity master (base/0'): the BreezSigner derivation root and the Spark identity / ECIES key.
identity_public_key
The wallet identity public key (base/0'). Lets storage be scoped per wallet before any signer is built.
init_logging
new_bridging_client
Builds a BridgingClient from an API key, with no seed or storage.
new_rest_chain_service
Constructs a shareable REST-based BitcoinChainService.
new_shared_sdk_context
Constructs an SdkContext from a SdkContextConfig.
parse_spark_config
Reads a SparkConfig from JSON, for a deployment that publishes its operators, service provider and certificates as a file. Set it on Config::spark_config to connect a wallet to that deployment.