Create automated script for testing bull bitcoin mobile against payjoin-cli#1978
Draft
benalleng wants to merge 22 commits into
Draft
Create automated script for testing bull bitcoin mobile against payjoin-cli#1978benalleng wants to merge 22 commits into
benalleng wants to merge 22 commits into
Conversation
e88449a to
cf84afd
Compare
2 tasks
e0e2463 to
d7fc89f
Compare
Switch from payjoin_flutter to dart payjoin bindings, which are actively maintained and support the latest rust-payjoin versions.
These pre-load the wallet and return a synchronous callback compatible with the synchronous payjoin interface, for isMine and signPsbtSync.
These session persisters hold payjoin events in memory as a transitive step, so that DB migrations and complete event persistence may be implemented in a follow-up step.
Implements a chaining pattern with processReceiveSession to process and advance a session from any state to its terminal state. BBM needs the proposal PSBT to save to its model, so it needs to be extracted before transitioning to the Monitor typestate to be returned alongside the session.
This should be droppable once isolates architecture is replaced
Move receiver/sender polling onto the main isolate, keyed by session idin two Timer.periodic maps. The old isolate indirection existed because frb async FFI could block the UI isolate. With sync uniffi, `Timer.periodic` on the main isolate works and removes ~150 lines of accidental complexity. Co-Authored-By: Dan Gould <d@ngould.dev> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6e75df4 to
c0949dd
Compare
payjoin-cli This creates a script to automate the integration test between the payjoin-cli and bull bitcoin. This first test is using bull bitcoin as the sender and payjoin-cli as the receiver. TODO: - create the inverse where the payjoin-cli is the sender and bull bitcoin is the receiver - create a workflow that wraps this script so that there is a way to keep live track of any regressions
Due to the nature of the tests it might be required that the test wallets have some more funds than necessary for a single test flow assuming the transaction is not mined before the next test commences.
c0949dd to
a856b31
Compare
2 tasks
Author
|
A note about the cli integration: As it is using testnet the funding wallets need to have enough utxos to do both tests at the same time since there is no guarantee that the first tx will confirm before the next test starts. perhaps there is some conditional logic to choose unconfirmed utxos but it is simple enough to just get some more funds in the relevant wallets |
Draft
This file contains hidden or 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
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.
This creates a script to automate the integration test between the payjoin-cli and bull bitcoin. This first test is using bull bitcoin as the sender and payjoin-cli as the receiver.
Claude Opus had a heavy hand in porting over the payjoin_test.dart to work with this new format
Blocked until #2041 is merged. Though this is also working with the current payjoin-flutter sdk I think it is probably more useful to wait until it is merged.