|
6 | 6 | - `OnchainTransactionReceived`: Emitted when a new unconfirmed transaction is |
7 | 7 | first detected in the mempool (instant notification for incoming payments!) |
8 | 8 | - `OnchainTransactionConfirmed`: Emitted when a transaction receives confirmations |
9 | | - - `OnchainTransactionUnconfirmed`: Emitted when a previously confirmed transaction |
10 | | - becomes unconfirmed (blockchain reorg) |
| 9 | + - `OnchainTransactionReplaced`: Emitted when a transaction is replaced (via RBF or different transaction using a commmon input) |
| 10 | + - `OnchainTransactionReorged`: Emitted when a previously confirmed transaction |
| 11 | + becomes unconfirmed due to a blockchain reorg |
| 12 | + - `OnchainTransactionEvicted`: Emitted when a transaction is evicted from the mempool |
11 | 13 | - **Sync Completion Event** (fully implemented): |
12 | 14 | - `SyncCompleted`: Emitted when onchain wallet sync finishes successfully |
13 | 15 | - **Balance Change Event** (fully implemented): |
14 | 16 | - `BalanceChanged`: Emitted when onchain or Lightning balances change, allowing |
15 | 17 | applications to update balance displays immediately without polling |
16 | | -- Added `TransactionContext` enum to onchain transaction events, which provides |
17 | | - information about whether a transaction is related to channel funding, channel |
18 | | - closure, or regular wallet activity. Applications can cross-reference with |
19 | | - `ChannelPending` and `ChannelClosed` events to identify channel-related |
20 | | - transactions. |
| 18 | +- Added `TransactionDetails`, `TxInput`, and `TxOutput` structs to provide comprehensive |
| 19 | + transaction information in onchain events, including inputs and outputs. This enables |
| 20 | + applications to analyze transaction data themselves to detect channel funding, closures, |
| 21 | + and other transaction types. |
| 22 | +- Added `Node::get_transaction_details()` method to retrieve transaction details for any |
| 23 | + transaction ID that exists in the wallet, returning `None` if the transaction is not found. |
| 24 | +- Added `Node::get_address_balance()` method to retrieve the current balance (in satoshis) for |
| 25 | + any Bitcoin address. This queries the chain source (Esplora or Electrum) to get the balance. |
| 26 | + Throws `InvalidAddress` if the address string cannot be parsed or doesn't match the node's |
| 27 | + network. Returns 0 if the balance cannot be queried (e.g., chain source unavailable). Note: This |
| 28 | + method is not available for BitcoindRpc chain source. |
21 | 29 | - Added `SyncType` enum to distinguish between onchain wallet sync, Lightning |
22 | 30 | wallet sync, and fee rate cache updates. |
23 | 31 | - Balance tracking is now persisted in `NodeMetrics` to detect changes across restarts. |
24 | 32 |
|
| 33 | +## Bug Fixes and Improvements |
| 34 | +- Fixed bug in `BitcoindRpc` eviction detection where transactions were incorrectly |
| 35 | + filtered (using `contains_key` instead of `!contains_key`). |
| 36 | + |
25 | 37 | # 0.6.2 - Aug. 14, 2025 |
26 | 38 | This patch release fixes a panic that could have been hit when syncing to a |
27 | 39 | TLS-enabled Electrum server, as well as some minor issues when shutting down |
|
0 commit comments