rust-payjoin
rust-payjoin copied to clipboard
Payjoin Dev Kit scales Bitcoin, saves fees, and preserves privacy with one tiny library
This is a work in progress. Enables #313 TODOs: - [ ] Finalize new type states - [ ] Randomize output indices - [ ] ~~Input selection~~ - [ ]...
there is no off-the-shelf way to display historical activity for both senders receivers once a payjoin was initiated, updated, and completed. Basically we want to be able to add "payjoin...
Background: https://bitcointalk.org/index.php?topic=281848.0 To enable transaction cut-through, receivers should be able to completely replace the Original PSBT output(s) paying them with one or more new outputs, as long as they can...
Follow-up from https://github.com/payjoin/rust-payjoin/pull/277#pullrequestreview-2139827469 Server errors are meant to be returned as a response, but are being returned in places that don't always make sense, e.g.: https://github.com/payjoin/rust-payjoin/blob/4bc8fe362226b07becd5ea8edd839bc5a4ff7a44/payjoin/src/receive/mod.rs#L486 https://github.com/payjoin/rust-payjoin/blob/37d255e9e5e4b4aeeb8c75f96e09cbb69c00552b/payjoin-cli/src/app/v1.rs#L318 https://github.com/payjoin/rust-payjoin/blob/37d255e9e5e4b4aeeb8c75f96e09cbb69c00552b/payjoin-cli/src/app/v2.rs#L345 It would...
See https://github.com/payjoin/rust-payjoin/issues/353 This deletes the custom `weight.rs` traits and `input_type.rs` helpers in favor of out-of-the-box rust-bitcoin methods. It also removes the unused `output_type.rs`. A question that may be relevant to...
https://github.com/payjoin/rust-payjoin/blob/59c3d271e278dafb0a41bcacbde8b3b0d4ec2738/payjoin/src/receive/mod.rs#L976-L978 > too costly in engineering to correctly calculate p2sh witness script? Not supported by rust-bitcoin? > > The test is excellent, but I wonder if improper fee estimation is...
The version 1 spec requied UTXO data to be cleared on the transport message layer instead of by the sender's typestate machine. Can we accomodate this, or does it make...
We should be able to rip out our [custom](https://github.com/payjoin/rust-payjoin/blob/master/payjoin/src/output_type.rs) [code](https://github.com/payjoin/rust-payjoin/blob/master/payjoin/src/input_type.rs) for [weight calculations](https://github.com/payjoin/rust-payjoin/blob/master/payjoin/src/weight.rs) and simply use `rust-bitcoin`'s [weight prediction methods](https://docs.rs/bitcoin/latest/bitcoin/blockdata/transaction/fn.predict_weight.html) in its place.
[`bitcoincore-rpc`](https://crates.io/crates/bitcoincore-rpc) presents us with a few problems ## 1. It depends on a different HTTP client stack than the rest of the project, `minreq` Everywhere else in this project we...
Secp256k1 keys for HPKE (and OHTTP that depends on it) are 65 bytes according to the IANA [DHKEM(secp256k1, HKDF-SHA256)](https://www.iana.org/assignments/hpke/hpke.xhtml) spec. Since these need to be serialized in a sharable format...