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

fix: flawed multisig handling caused by non-deterministic (compressed) pubkeys #367

Closed
wants to merge 1 commit into from

Conversation

mplattner
Copy link
Collaborator

In v0.6 the format of raw pubkeys was changed from a dedicated class (CPubKey) to an array (std::array<unsigned char, 65>). The class handled compressed pubkeys with 33 bytes correctly, while the new array leaves the remaining bytes uninitialized. This causes non-deterministic parser outputs and errors in the handling of multisig addresses. This PR fixes this issue.

@mplattner mplattner changed the title Fix flawed multisig handling caused by non-deterministic (compressed) pubkeys fix: flawed multisig handling caused by non-deterministic (compressed) pubkeys Jan 31, 2020
maltemoeser pushed a commit that referenced this pull request Jan 31, 2020
…ompressed pubkeys

BREAKING CHANGE: Reparsing the blockchain is strongly recommended.

In v0.6 the format of raw pubkeys was changed from a dedicated class (CPubKey) to an array (std::array<unsigned char, 65>). The dedicated class handled compressed pubkeys with 33 bytes correctly, while the new array left the remaining bytes uninitialized. This caused non-deterministic parser outputs and incorrect handling of multisig addresses.

Closes #367
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