Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Culmination of recent voting pool PRs that need to be reviewed. #315

Merged
merged 7 commits into from
Aug 12, 2015

Conversation

davecgh
Copy link
Member

@davecgh davecgh commented Aug 12, 2015

No description provided.

This allows us to store the number of required sigs for a given input as well
as the raw signatures themselves.
 * ChangeAddress(): error if index==0
 * DepositScript(): error if index >= hdkeychain.HardenedKeyStart

Also get rid of nextChangeAddress(), which was broken as a given
withdrawal should only use change addresses from the active series.
These now include the ID of the highest series that needs to be thawed before
the requests can be fulfilled.
@davecgh davecgh changed the title Culmination of recent voting pool PRs the need to be reviewed. Culmination of recent voting pool PRs that need to be reviewed. Aug 12, 2015
@davecgh davecgh merged commit 2d30fae into btcsuite:votingpool_review Aug 12, 2015
jrick added a commit to jrick/btcwallet that referenced this pull request Oct 4, 2016
This is a step towards completing btcsuite#315.

This changes the database access APIs and each of the "manager"
packages (waddrmgr/wtxmgr/wstakemgr) so that transactions are
opened (only) by the wallet package and the namespace buckets
that each manager expects to operate on are passed in as
parameters.

This helps improve the atomicity situation as it means that many
calls to these APIs can be grouped together into a single
database transaction.

This change does not attempt to completely fix
the "half-processed" block problem. Mined transactions are still
added to the wallet database under their own database transaction
as this is how they are notified by the consensus JSON-RPC
server (as loose transactions, without the rest of the block that
contains them). It will make updating to a fixed notification
model significantly easier, as the same "manager" APIs can still
be used, but grouped into a single atomic transaction.
jrick added a commit to jrick/btcwallet that referenced this pull request Nov 2, 2016
Save all block headers and ensure that they attach.  With all headers
saved, the wallet is able to perform more validation checking when
attaching blocks to the main chain.  This also improves compatibility
with SPV, which requires all block headers to be saved.

Significantly improve the rescan logic so it is more understandable
and reusable, and in the future, cancelable.  This also leads the way
to add a new RPC to trigger a rescan starting from some block hash or
height.

Fixes btcsuite#315.
jrick added a commit to jrick/btcwallet that referenced this pull request Nov 7, 2016
Save all block headers and ensure that they attach.  With all headers
saved, the wallet is able to perform more validation checking when
attaching blocks to the main chain.  This also improves compatibility
with SPV, which requires all block headers to be saved.

Significantly improve the rescan logic so it is more understandable
and reusable, and in the future, cancelable.  This also leads the way
to add a new RPC to trigger a rescan starting from some block hash or
height.

Fixes btcsuite#315.
jrick added a commit to jrick/btcwallet that referenced this pull request Nov 8, 2016
Save all block headers and ensure that they attach.  With all headers
saved, the wallet is able to perform more validation checking when
attaching blocks to the main chain.  This also improves compatibility
with SPV, which requires all block headers to be saved.

Significantly improve the rescan logic so it is more understandable
and reusable, and in the future, cancelable.  This also leads the way
to add a new RPC to trigger a rescan starting from some block hash or
height.

This change includes a database upgrade, so it is not possible to use
an updated database changed by this commit on older versions of the
wallet.

Fixes btcsuite#315.
jrick added a commit to jrick/btcwallet that referenced this pull request Nov 9, 2016
Save all block headers and ensure that they attach.  With all headers
saved, the wallet is able to perform more validation checking when
attaching blocks to the main chain.  This also improves compatibility
with SPV, which requires all block headers to be saved.

Significantly improve the rescan logic so it is more understandable
and reusable, and in the future, cancelable.  This also leads the way
to add a new RPC to trigger a rescan starting from some block hash or
height.

This change includes a database upgrade, so it is not possible to use
an updated database changed by this commit on older versions of the
wallet.

Fixes btcsuite#315.
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.

2 participants