-
Notifications
You must be signed in to change notification settings - Fork 901
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
Bech32m support! #4591
Merged
rustyrussell
merged 6 commits into
ElementsProject:master
from
rustyrussell:guilt/bech32m
Jun 11, 2021
Merged
Bech32m support! #4591
rustyrussell
merged 6 commits into
ElementsProject:master
from
rustyrussell:guilt/bech32m
Jun 11, 2021
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I did this by copying the updated bech32 code, and then re-patching in our minor changes: 1. Headers modded (we need size_t) 2. Explicit length for bech32_encode/decode (not 90). 3. Exposing and bech32_ prefix for convert_bits, charset, charset_rev. Signed-off-by: Rusty Russell <[email protected]>
rustyrussell
added
wallet
Optech Make Me Famous!
Look! Look! Look! COOL NEW FEATURE!
labels
Jun 9, 2021
The test vectors in BIP-320 are for different networks. Write a quick tool to turn them into regtest ones. Signed-off-by: Rusty Russell <[email protected]>
Only v0 has specific length restrictions: taproot is v1 32 bytes long, but explicitly other lengths remain undefined. I noticed that I added option_shutdown_anysegwit as EXPERIMENTAL in the last release, but didn't CHANGELOG it. Then I changed it to non-experimental as a spec update, but didn't CHANGELOG it then either, so let's do that now! Changelog-Added: Protocol: We now send and accept `option_shutdown_anysegwit` so you can close channels to v1+ segwit addresses. Signed-off-by: Rusty Russell <[email protected]> Changelog-Added: JSON-RPC: `withdraw`, `close` (and others) now accept taproot (and other future) segwit addresses.
rustyrussell
force-pushed
the
guilt/bech32m
branch
from
June 9, 2021 03:11
0a0277a
to
555f60c
Compare
Signed-off-by: Rusty Russell <[email protected]>
Prior to this, sending a v1 address (or, in fact, any random crap!) would cause the unsupporting node to unilaterally close. Signed-off-by: Rusty Russell <[email protected]>
rustyrussell
force-pushed
the
guilt/bech32m
branch
from
June 10, 2021 03:51
555f60c
to
6c650cf
Compare
In particular, this includes the test plugins! Not sure why this breaks *now* though. Signed-off-by: Rusty Russell <[email protected]>
vincenzopalazzo
approved these changes
Jun 10, 2021
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ack 81455f1
One step to Taproot :-D
murchandamus
added a commit
to murchandamus/bitcoinops.github.io
that referenced
this pull request
Jun 14, 2021
bitschmidty
pushed a commit
to harding/bitcoinops.github.io
that referenced
this pull request
Jun 16, 2021
bitschmidty
pushed a commit
to harding/bitcoinops.github.io
that referenced
this pull request
Jun 16, 2021
bitschmidty
pushed a commit
to bitcoinops/bitcoinops.github.io
that referenced
this pull request
Jun 16, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We didn't allow non-v0 segwit addresses previously, because v1 addresses wouldn't propagate. Fortunately, because it turned out bech32 fell short with non-v0 addresses anyway. That's now fixed, with bech32m, which we now parse.
So we now accept v1+, so you can close channels to[1], withdraw to, v1+ addresses. We are now Taproot Ready! (TM).
[1] Only if they set option_shutdown_anysegwit, since only v0 addresses allowed in original spec. We've set this last release as EXPERIMENTAL_CONFIG, and this release it's always on.