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

Payjoin Support #194

Open
benthecarman opened this issue Dec 11, 2022 · 6 comments · May be fixed by #820
Open

Payjoin Support #194

benthecarman opened this issue Dec 11, 2022 · 6 comments · May be fixed by #820
Labels
enhancement New feature or request

Comments

@benthecarman
Copy link
Collaborator

https://github.com/bitcoin/bips/blob/master/bip-0078.mediawiki

@TonyGiorgio
Copy link
Contributor

Need rust-bitcoin to support it or to use some of the rust payjoin libraries still being developed on.

@DanGould
Copy link
Contributor

Adding the ability to send payjoin from bdk using rust-payjoin was ~a 200 line change including test for BitMask. Receiving payjoin can be done securely using a relay.

A second reference BDK x Payjoin implementation will be completed for BDK-CLI as part of the summer of bitcoin.

Where does this fall on the roadmap? It does not seem blocked by library support as implied by the tag. I'm happy to elaborate as appropriate.

@TonyGiorgio
Copy link
Contributor

Adding the ability to send payjoin from bdk using rust-payjoin was ~a 200 line change including test for BitMask. Receiving payjoin can be done securely using a relay.

A second reference BDK x Payjoin implementation will be completed for BDK-CLI as part of the summer of bitcoin.

Where does this fall on the roadmap? It does not seem blocked by library support as implied by the tag. I'm happy to elaborate as appropriate.

Very cool. When I was looking through issues on rust-bitcoin/bdk I was only seeing old things so I didn't see any support. I also wasn't sure how it was coming along with the payjoin libraries. I had only seen this one: https://github.com/Kixunil/payjoin which looked pretty out of date.

Glad to have a pointer to yours, I think that would be really great to add. I think the only thing I see as a problem is that we use no-std rust-bitcoin and need default-features = false in any bitcoin library that we import due to wasm restrictions. If that's not a problem to add then I think it would be great to put into Mutiny.

@DanGould
Copy link
Contributor

DanGould commented May 21, 2023

I think that would be really great to add. I think the only thing I see as a problem is that we use no-std rust-bitcoin and need default-features = false in any bitcoin library that we import due to wasm restrictions.

Only the receive feature depends on the std via rand crate, not send. I think it could be replaced by rand_core to support wasm, or perhaps use the no-std rand feature in bitcoin. Should be able to add a no-std feature flag to use no-std bitcoin. Do you foresee any other caveat @TonyGiorgio?

@TonyGiorgio
Copy link
Contributor

I think that would be really great to add. I think the only thing I see as a problem is that we use no-std rust-bitcoin and need default-features = false in any bitcoin library that we import due to wasm restrictions.

Only the receive feature depends on the std via rand crate, not send. I think it could be replaced by rand_core to support wasm, or perhaps use the no-std rand feature in bitcoin. Should be able to add a no-std feature flag to use no-std bitcoin. Do you foresee any other caveat @TonyGiorgio?

Yeah I think that should work, I looked at the other dependencies and those seemed pretty straightforward so there shouldn't be any other problems. Would be able to find out fast by importing it after it gets no-std.

@TonyGiorgio
Copy link
Contributor

No longer blocked, 0.8.1 of payjoin is now compiling. Thanks @DanGould !

@TonyGiorgio TonyGiorgio added enhancement New feature or request and removed idea labels Jun 1, 2023
@DanGould DanGould mentioned this issue Jul 7, 2023
2 tasks
@DanGould DanGould linked a pull request Jan 5, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants