• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

DanGould / rust-payjoin
88%
master: 87%

Build:
Build:
LAST BUILD BRANCH: request-handler-plain-data
DEFAULT BRANCH: master
Repo Added 20 Nov 2024 02:24AM UTC
Token qk8aGNJIhmCgxGLcROcgDKQBl6GdQAxdp regen
Build 691 Last
Files 67
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH request-handler-plain-data
branch: SELECT
CHANGE BRANCH
x
Sync Branches
  • No branch selected
  • 1446-checklist-positional
  • 1718-nested-segwit-test
  • 24-name-audit
  • 402-ref-audit
  • 465-rm-relay-from-session-ctx
  • access-control
  • access-control-v2
  • add-agents-md
  • add-navigability-signposts
  • additive-cli-features
  • additive-danger-local-https
  • agent/ci-wasm-entropy-paths
  • agent/mailroom-otel-instance-id
  • ai-disclosure
  • arc-sc
  • async-standup-v2
  • avoid-uih-naming
  • bip77-v1-fallback-doc
  • bump-ohttp-relay-0.0.10
  • bump-payjoin-0-21
  • bump-payjoin-0.24.0
  • bump-payjoin-1-0-rc-6
  • bump-payjoin-1-1
  • bump-payjoin-cli-0-1-0
  • bump-payjoin-cli-1-0-rc-1
  • bump-payjoin-directory-0.0.2
  • check-fetch-status
  • check-for-transaction-rename
  • check-independent-features
  • ci-lockfile-binding-builds
  • cisa-psbt-carriage
  • cli-1-0-0-recut
  • coderabbit-refine-exceptions
  • coderabbit-review-drafts
  • coderabbit-strip-noise
  • codex/mailroom-fd-hygiene
  • complete-intourl
  • constrain-bitcoindrpcclient-lt-1010
  • contributing-readme
  • contributing-scope-security
  • dangould-key
  • dangould/1724-cli-transient-impl
  • dart-fetch-ohttp-keys
  • dart-locked-native
  • decap-error-rename
  • demo-sender-fallback
  • deprecate-v2-sender-new
  • deprecation-since-placeholder
  • directory-mod
  • doc-contrib-test
  • dont-set-path
  • dry-run/standup-comment-trigger
  • ensure-no-original-psbt-keypath
  • errant-url-endpoint
  • error-carveout
  • event-log-crate
  • explicit-err-conversions
  • feat/1314
  • feat/async-standup
  • feat/standup-comment-trigger
  • feat/v2-receiver-event-split
  • ffi-client-response-reuse
  • ffi-msrv-1.85.0
  • ffi-pjparam-receiver-pubkey
  • ffi-v1-send
  • fix-dlh
  • fix-flaky-prune-test
  • fix-output-substitution-import
  • fix-payjoin-publish-cycle
  • fix-previous-txout-witness-spoof
  • fix-send-resume
  • fix-standup-syntax
  • fix-test-flakiness
  • fix-test-utils-mailroom-version
  • fix-uih-avoidance
  • fix-uri-ext-case
  • fix/402-ref-audit
  • fix/402-typestate-docs
  • fix/794-msrv-clippy
  • fix/cli-println-bip78-terminology
  • fix/devshell-treefmt
  • fix/v2-replay-full-state
  • handle-post-err
  • handle-recv-contribution-err-as-unavailable
  • handle-v2-error
  • handle-v2-error-generic
  • hide-danger-local-https
  • hide-pr-template-checklist
  • inmemory-persister-single-owner
  • input-ownership-by-outpoint
  • into-url
  • json-error
  • lib-docs
  • lint-1.85.0
  • lint-docs
  • mailroom-emfile-resilience
  • mailroom-fd-hygiene
  • mailroom-geoip-connect-info
  • mailroom-metrics-privacy
  • mailroom-metrics-requests
  • mailroom-operators-list
  • mailroom-readme-telemetry-test
  • maintainers-team-review
  • master
  • min-feerate-broadcast
  • moddocs
  • no-uni-mod-distinction
  • nuget-oidc-publish
  • ohttp-fallback
  • ohttp-relay-intourl
  • ohttp-reqs-refactor
  • one-expiry-error
  • only-try-preserving-privacy
  • overnight/issue-1016
  • overnight/issue-1258
  • overnight/issue-1274
  • overnight/issue-855
  • payjoin-0.21.0
  • payjoin-0.22.0
  • payjoin-0.23.0
  • payjoin-0.24.0
  • payjoin-0.25.0
  • payjoin-1.0.0
  • payjoin-1.0.0-rc.0
  • payjoin-1.0.0-rc.1
  • payjoin-1.0.0-rc.2
  • payjoin-1.0.0-rc.3
  • payjoin-1.0.0-rc.4
  • payjoin-1.0.0-rc.5
  • payjoin-1.0.0-rc.6
  • payjoin-1.0.0-rc.7
  • payjoin-1.0.0-rc.8
  • payjoin-1.1.0
  • payjoin-1.2.0
  • payjoin-cli-1.0.0-rc.0
  • payjoin-cli-1.0.0-rc.1
  • payjoin-cli-1.0.0-rc.2
  • payjoin-directory-0-0-1
  • payjoin-directory-0.0.2
  • payjoin-ffi-0.25.0
  • payjoin-mailroom-0.1.0
  • payjoin-mailroom-0.1.2
  • payjoin-test-utils-0.0.0
  • persist-ohttp-keys
  • persist-payjoin
  • persister-cleanup-1519
  • pjos-to-0
  • poll-no-pause
  • pr-checklist
  • pre-1.0-uri-insulation
  • prepare-psbt-by-copy
  • propagate-config-err
  • receive-error-heirarchy
  • receiver-checked-amount-sums
  • receiver-fallback
  • recv-err
  • recv-state-transition-objects
  • refactor-receiver
  • refactor-sender
  • refactor-wantsfeerange
  • release-chain-head
  • reply-json
  • req-impl-visibility
  • request-handler-fixes
  • request-handler-plain-data
  • seal-state-trait
  • seen-input-after-save
  • sender-sighash-check
  • sender-sighash-signature-check
  • sep-receive-errors
  • separate-receive
  • separate-send-errors
  • separate-send-versions-p1
  • separate-send-versions-p2-v2
  • service-docker-compose
  • service-multi-listener
  • session4/issue-1227
  • session4/issue-1276
  • session4/issue-1300
  • session4/issue-1374
  • session4/issue-749
  • session4/standup-v2
  • session4/unify-short-id
  • sessionoutcome-doorkeeper
  • settlement-status
  • sighash-all-followups
  • spj-demo
  • spj-mailroom-queues
  • spj-queue-tokens
  • spj-static-session
  • spj-zk-admission
  • split-v1-psbt-contexts
  • test-utils
  • test-utils-no-bitcoind
  • test-utils-redis-follow
  • uniform-ohttp-payloads
  • update-bip78
  • url-no-idna
  • url-userinfo-host-confusion
  • v1-data-minimization
  • v1-feature-flag
  • v1-v2
  • v1context-visibility
  • workflow-build-deps

22 Oct 2026 10:40AM UTC coverage: 87.633%. First build
39767406840

push

github

DanGould
Return the key fetch order as plain data

fetch_ohttp_keys_with took the caller's HTTP fetch as a closure and
drove the loop itself, and the FFI wrapped that in an OhttpKeysFetcher
foreign trait, a result record and two error types. A binding app that
routes its traffic through Tor or a proxy had to adapt its client to
that trait to keep the key fetch on the same path as its posts.

RequestHandler::key_fetch_order returns the relay and directory pairs
to try, each directory over every relay that is not itself before the
next directory. The caller tries them in order with its own client and
pins the first directory that returns keys. Because the pairs are
grouped by directory, a caller that can tell a failure is the
directory's skips to the next directory, and one that can't retries
the directory over its other relays. The library loop could only do
the latter.

payjoin-cli loops over the order with payjoin::io. It can't yet tell
directory errors from relay errors, so it tries every pair. The FFI
exports key_fetch_order and a KeyFetch record, and drops the fetcher
trait, FetchedOhttpKeys, DirectoryFetchError and RequestHandlerError.

30 of 41 new or added lines in 2 files covered. (73.17%)

15760 of 17984 relevant lines covered (87.63%)

327.2 hits per line

Relevant lines Covered
Build:
Build:
17984 RELEVANT LINES 15760 COVERED LINES
327.2 HITS PER LINE
Source Files on master
  • Tree
  • List 67
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
39767406840 request-handler-plain-data Return the key fetch order as plain data fetch_ohttp_keys_with took the caller's HTTP fetch as a closure and drove the loop itself, and the FFI wrapped that in an OhttpKeysFetcher foreign trait, a result record and two error types. A binding app ... push 22 Oct 2026 11:06AM UTC DanGould github
87.63
39767407069 request-handler-fixes Add RequestHandler to payjoin-ffi Binding users (Dart, Python, JavaScript, C#) are the integrators most likely to copy payjoin-cli's selection logic by hand, so export RequestHandler to them as well. The binding supplies the HTTP transport throu... push 22 Oct 2026 11:06AM UTC DanGould github
87.95
39767406244 payjoin-ffi-0.25.0 Bump bindings (#1977) push 22 Oct 2026 11:06AM UTC web-flow github
87.47
39431871823 dart-locked-native Check in CI that consumer native builds reproduce The hook remaps build paths so two consumers of one release get the same native library, and the staged lock fixes the dependency graph, but no job ever built the package twice to confirm the resu... push 20 Oct 2026 01:38PM UTC spacebear21 github
87.47
39431676235 dart-locked-native Check in CI that consumer native builds reproduce The hook remaps build paths so two consumers of one release get the same native library, and the staged lock fixes the dependency graph, but no job ever built the package twice to confirm the resu... push 20 Oct 2026 01:37PM UTC spacebear21 github
87.47
39385914564 dart-locked-native Document the Dart native build hook The contributing guide did not say how the hook tells a repository build from a consumer build, why that cannot be an environment variable, or what it does to keep build paths out of the artifact. Describe the... push 20 Oct 2026 07:25AM UTC DanGould github
87.47
39256183449 mailroom-readme-telemetry-test Record a tunnel in the export-surface test The export-surface test only sees an instrument that recorded something during the test, and it never opened a bootstrap tunnel. Moving the live bootstrap_active_tunnels gauge onto the export provider th... push 19 Oct 2026 01:00PM UTC DanGould github
87.47
39238540995 mailroom-readme-telemetry-test Test the README telemetry table against export The Telemetry section of the payjoin-mailroom README is the published description of what leaves an operator's server, and payjoin.org links to it by its heading anchor. Nothing tied the table to the... push 19 Oct 2026 10:37AM UTC DanGould github
87.49
39237500569 mailroom-readme-telemetry-test Test the README telemetry table against export The Telemetry section of the payjoin-mailroom README is the published description of what leaves an operator's server, and payjoin.org links to it by its heading anchor. Nothing tied the table to the... push 19 Oct 2026 10:32AM UTC DanGould github
87.49
38939863907 deprecation-since-placeholder Fill in deprecation versions at release A deprecation's `since` version is written before anyone knows which release will ship it, so it can end up wrong. Write the placeholder 0.0.0-unreleased instead and let bump.sh replace it with the crate's ... push 16 Oct 2026 05:32PM UTC DanGould github
87.47
See All Builds (673)

Badge your Repo: rust-payjoin

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc