Skip to content

Update#76

Open
BLKBLOOD2044 wants to merge 43 commits intogcash:depfrom
BLKBLOOD2044:update
Open

Update#76
BLKBLOOD2044 wants to merge 43 commits intogcash:depfrom
BLKBLOOD2044:update

Conversation

@BLKBLOOD2044
Copy link

No description provided.

cpacia and others added 30 commits May 5, 2020 20:32
Upgrade bchwallet dep and bump version
[Chore] Update all deps and fix zmq lib function change
[Bug] Make sure input amount is provided for all inputs in SignTransaction
…nsactions

There's no need to retrieve the full block as we're only interesting in
retrieve its corresponding height, which can be done with
GetBlockHeaderVerbose.
Normally the wallet doesn't wait for the chain backend to be synced
on regtest/simnet because there we cannot be certain if we are at
the chain tip, as there are no other nodes to compare to. For
Neutrino, this is a bit different because we rely on the cfheader
server to tell us what it thinks the chain tip is. For a wallet
recovery on Neutrino we therefore need to make sure we are at least
synced up to what the server thinks is the tip.
This commit ensures the wallet won't enter an inconsitent state
by checking tx confirmation before adding credit.
Without this fix, In the case the existing transaction is already
confirmed on-chain the flow updates the bucketUnminedCredits but
without adding en entry also to the bucketUnmined resulting in
inconsistent state.
Previously, inserting a transaction as unconfirmed into the store and
later confirming it would leave a lingering unconfirmed input record.
This was discovered as part of
btcsuite/btcwallet#655. This issue would only
affect the wallet if it tracked spent transaction outputs, which it
doesn't. We aim to resolve it in any case for the sake of internal
consistency.
This test ensures that there aren't any lingering unconfirmed records
for a transaction that existed within the store as unconfirmed before
becoming confirmed. At the moment, this is currently failing due to a
gap when moving a transaction from unconfirmed to confirmed within the
store. This will be resolved in a subsequent commit.
This greatly speeds up wallet recovery with a neutrino backend, as we'll
avoid unnecessary round trips for each block filter fetch.
In this commit, we create a new module for `walletdb` in order to allow
external projects to use the project without also having to depend on
the entirety of `btcwallet`. With this commit, projects that depend on
`walletdb` will benefit from a slimmer set of additional dependencies.
This allows external callers to set the option instead. All tests
remained with the option enabled.
…ment

In this commit, we add the trio of sequence based methods that bbolt
ships with to the main bucket interface. We do this in order to easily
allow walletdb as is to be slotted into place where bbolt is currently
used, without sacrificing any functionality.
Roasbeef and others added 13 commits July 31, 2020 16:10
In this commit, we add a new package-level function to emulate the
existing Batch interface for bbolt. We do this via a new super-set
interface which is then checked against in the main implementation of
the Batch method.
This commit removes bbolt specific parameters from the interface
test to enable testing of other DB drivers trough the same entry
point.
Update deps and backports from btcwallet
[Chore] Update deps to bchd 0.18
[Feature] Update to the latest neutrino lib for ASERT support
@zquestz
Copy link
Contributor

zquestz commented May 6, 2022

Really could use a description of the changes.

@zquestz zquestz requested a review from cpacia May 6, 2022 03:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants