Skip to content

fix: emit canonical Paykit requests and retry initial links - #2

Open
ben-kaufman wants to merge 4 commits into
masterfrom
codex/canonical-paykit-btc-asset
Open

fix: emit canonical Paykit requests and retry initial links#2
ben-kaufman wants to merge 4 commits into
masterfrom
codex/canonical-paykit-btc-asset

Conversation

@ben-kaufman

@ben-kaufman ben-kaufman commented Aug 6, 2026

Copy link
Copy Markdown

Summary

  • emit lowercase btc Paykit assets while preserving Locks’ uppercase BTC criterion boundary
  • select the Bitcoin endpoint identifier from the configured network
  • encode private Bitcoin endpoints using the canonical { "value": ... } payload expected by wallet adapters
  • retry link_establishment every second during a bounded initial handshake window before returning to normal exponential backoff
  • wake the durable outbox loop at the selected retry delay without changing idempotency, fencing, or no-public-fallback semantics
  • update the local reader demo and Paykit rc43 dependency

Verification

  • cargo fmt --all -- --check
  • cargo check --workspace
  • cargo test -p paykit-server link_establishment_retries_rapidly_before_restarting_exponential_backoff
  • cargo clippy --workspace --all-targets -- -D warnings
  • focused create-invoice, reader-demo, and outbox suites from the canonical request fix
  • clean Locks → Paykit Server → Bitkit proof is being rerun for iOS and Android

Found while running the clean Locks → Paykit Server → Bitkit E2E flow.

@ben-kaufman ben-kaufman changed the title fix: emit canonical Paykit bitcoin requests fix: emit canonical Paykit requests and retry initial links Aug 6, 2026
@ben-kaufman
ben-kaufman requested a review from ovitrif August 6, 2026 18:46
@ben-kaufman ben-kaufman closed this Aug 6, 2026
@ben-kaufman ben-kaufman reopened this Aug 6, 2026
@ben-kaufman
ben-kaufman force-pushed the codex/canonical-paykit-btc-asset branch from 673b0cd to 41cda25 Compare August 6, 2026 19:17
@ben-kaufman

Copy link
Copy Markdown
Author

@jvsena42 could you please review the current head? The rapid initial private-link retry, canonical endpoint changes, and regression coverage have all been exercised in the clean iOS and Android Locks → Paykit → Bitkit E2E flow.

@ovitrif ovitrif left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved. Canonical lowercase btc assets, network-specific endpoint IDs, {value} private payloads, and the bounded rapid link_establishment retry preserve the intended Paykit request and outbox behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants