-
Notifications
You must be signed in to change notification settings - Fork 38
Open
Labels
rustRequires modifying rust codeRequires modifying rust code
Description
Currently, the subscribeLnReceive and subscribeLnPay functions return a status with the following types:
type LnPayState =
| 'created'
| 'canceled'
| { funded: { block_height: number } }
| { waiting_for_refund: { error_reason: string } }
| 'awaiting_change'
| { Success: { preimage: string } }
| { refunded: { gateway_error: string } }
| { unexpected_error: { error_message: string } }
type LnReceiveState =
| 'created'
| { waiting_for_payment: { invoice: string; timeout: number } }
| { canceled: { reason: string } }
| 'funded'
| 'awaiting_funds'
| 'claimed'This makes pattern matching a bit ugly for the SDK because objects and strings are mixed.
Let's changes the types to have a consistent shape:
type LnPayState =
| { status: 'created' }
| { status: 'canceled' }
| { status: 'funded'; block_height: number }
| { status: 'waiting_for_refund'; error_reason: string }
| { status: 'awaiting_change' }
| { status: 'Success'; preimage: string }
| { status: 'refunded'; gateway_error: string }
| { status: 'unexpected_error'; error_message: string }
type LnReceiveState =
| { status: 'created' }
| { status: 'waiting_for_payment'; invoice: string; timeout: number }
| { status: 'canceled'; reason: string }
| { status: 'funded' }
| { status: 'awaiting_funds' }
| { status: 'claimed' }Metadata
Metadata
Assignees
Labels
rustRequires modifying rust codeRequires modifying rust code