21 Commits
Author SHA1 Message Date
Wei Chen 1a62488abf feat(chain)!: Implement ConfirmationBlockTime
Both `bdk_electrum` and `bdk_esplora` now report the exact block
that the transaction is in, which removes the need for having the
old `ConfirmationTimeHeightAnchor` and `ConfirmationHeightAnchor`.
This PR introduces a new, simpler anchor type that can be modified
to support additional data in the future.
2024-07-09 00:23:02 +08:00
Wei Chen e761adf481 test(electrum): Imported bdk_esplora tests into bdk_electrum 2024-07-09 00:23:02 +08:00
Wei Chen d7f4ab71e2 feat(electrum)!: Update bdk_electrum to use merkle proofs 2024-07-09 00:23:02 +08:00
Wei Chen 3f9ed95e2e ci: pin cc dependency version to build with rust 1.63 2024-07-08 23:20:26 +08:00
Wei Chen 962305f415 chore(chain)!: Rename Append to Merge 2024-07-07 16:46:10 +08:00
Wei Chen b2f3cacce6 feat(electrum): include option for previous TxOuts for fee calculation
The previous `TxOut` for transactions received from an external
wallet may be optionally added as floating `TxOut`s to `TxGraph`
to allow for fee calculation.
2024-05-10 14:54:29 +08:00
Wei Chen 2945c6be88 fix(electrum): fixed sync functionality 2024-05-10 14:54:28 +08:00
Wei Chen 9ed33c25ea docs(electrum): fixed full_scan, sync, and crate documentation 2024-05-10 14:54:28 +08:00
Wei Chen 2ffb65618a refactor(electrum): remove RelevantTxids and track txs in TxGraph
This PR removes `RelevantTxids` from the electrum crate and tracks
transactions in a `TxGraph`. This removes the need to separately
construct a `TxGraph` after a `full_scan` or `sync`.
2024-05-10 14:11:18 +08:00
Wei Chen f6dc6890c3 docs(esplora): fixed full_scan and sync documentation 2024-05-06 16:51:19 +08:00
Wei Chen f6218e4741 chore: reexport crates in TestEnv 2024-05-05 19:28:18 +08:00
Wei Chen 125959976f chore: remove anyhow dev dependency from electrum, esplora, and bitcoind_rpc 2024-05-05 19:28:18 +08:00
Wei Chen 04d0ab5a97 test(electrum): added scan and reorg tests
Added scan and reorg tests to check electrum functionality using
`TestEnv`.
2024-03-22 17:59:35 +08:00
Wei Chen 4edf533b67 chore: extract TestEnv into separate crate
`TestEnv` is extracted into its own crate to serve as a framework
for testing other block explorer APIs.
2024-03-22 17:59:35 +08:00
Wei Chen 6e648fd5af chore: update MSRV dependency for nightly docs 2024-03-22 17:59:35 +08:00
Wei Chen 552f11cb5f feat(esplora): include previous TxOuts for fee calculation
The previous `TxOut` for transactions received from an external
wallet are added as floating `TxOut`s to `TxGraph` to allow for
fee calculation.
2024-02-05 17:01:11 +08:00
Wei Chen 0112c67b60 chore: rename ConfirmationTimeAnchor to ConfirmationTimeHeightAnchor
An `Anchor` implementation that records both height and time should have
both attributes included in the name.
2023-11-12 21:31:47 +08:00
Wei Chen 1010efd8d6 fix(electrum): fixed chain sync issue
Fixed a logic error in `construct_update_tip` in `electrum_ext.rs` that caused
the local chain tip to always be a block behind the newest confirmed block.
2023-11-11 20:52:37 +08:00
Wei Chen 991cb77b6f fix(chain): filter coinbase tx not in best chain
Coinbase transactions cannot exist in the mempool and be unconfirmed.
`TxGraph::try_get_chain_position` should always return `None` for coinbase
transactions not anchored in best chain.
2023-11-11 02:55:58 +08:00
Wei Chen afbf83c8b0 chain(fix): conflict resolution for txs with same last_seen
The tx conflict `Scenario` test for unconfirmed txs with the same
last_seen has been amended for its corresponding conflict
resolution bug fix.
2023-11-09 05:46:09 +08:00
Wei Chen c753584379 refactor(chain): use apply_update instead of determine_changeset + apply_changeset 2023-08-25 15:14:56 +08:00