-
Notifications
You must be signed in to change notification settings - Fork 14
Bring bindings up to date with payjoin 0.23 #50
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
Conversation
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.
Wow. It's amazing to see how far the lib has come in such a short time reflected in these changes.
Concept ACK regarding separating the commits for review and squashing so that history builds. Thanks for being so thoughtful.
FWIW I'd be willing to merge the result of this PR with a Cargo.toml pointing to a rust-payjoin branch, especially since Cargo.lock locks it to a specific commit, and then updating once payjoin 0.23 is released before we cut a payjoin-ffi release.
The PjUriBuilder pattern was removed in payjoin/rust-payjoin@daee12d
It was renamed to `subdir` then removed in favor of `Receiver::id` in payjoin/rust-payjoin@3c39eaf
These function signatures now take the ohttp_relay parameter. extract_v1_req was removed in: payjoin/rust-payjoin@5c78a15
The send version modules were separated in: payjoin/rust-payjoin@8480c3c This mostly updates the wrapped structs to point to the moved payjoin::send::v2 structs It also adds new error variants to PayjoinError as defined in: payjoin/rust-payjoin@30c2a07
99363a4
to
1bd53da
Compare
87efb84
to
6e755fc
Compare
Double checked and seems like all of my review comments were addressed. @spacebear21 can you do the merge so that we retain all of the commit messages + do a merge on top of that? |
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 6e755fc
Should probably fix the test in the first commit and then follow up with a squashed update commit
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.
We've got a straggler
hex = "0.4.3" | ||
ohttp = { package = "bitcoin-ohttp", version = "0.6.0" } | ||
payjoin = { version = "0.22.0", features = ["send", "receive", "base64", "v2", "io"] } | ||
payjoin = { git = "https://github.com/payjoin/rust-payjoin.git", rev = "bb47c8469146f1a9055b7f850d86f58f2b9627c6", features = ["v1", "io"] } |
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.
Oh shoot, why "v1" ? We don't produce v1 bindings. This is going to cause a problem.
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.
v1
was an implicit feature in the previous version so I thought we should keep it in for parity. Though I suppose if it enables only explicit v1 features it can be removed.
I broke up chunks of work into individually reviewable commits. Of course, these individual commits fail to compile except until all errors are addressed in the last commit. They can be squashed on merge to avoid transitive failing commits in git history.
Dependencies:
TODOs:
A follow-up PR will properly bind rust-payjoin error types instead of using the big catch-all PayjoinError, see #48