Repository navigation
feat: add Paykit ERC-20 payment proofs - #163
Open
ben-kaufman wants to merge 1 commit into
Open
ben-kaufman wants to merge 1 commit into
ben-kaufman wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Verdict: ✅ Approve
Review: diff 10 files.
Findings:
1 inline (1 LOW)
QA:
No tests ran because the PR description gives no reviewer test instructions and its QA Notes only report automated checks the author already ran.
Reviewed by gpt-6.1-sol-high via gh-pr-review-loop skill
Commands: @ovi-reviewer review · test · retest
This comment has been minimized.
This comment has been minimized.
ben-kaufman
force-pushed
the
feat/usdt-paykit-proofs
branch
from
October 7, 2026 01:50
d392962 to
b5267c4
Compare
There was a problem hiding this comment.
Verdict: ✅ Approve
Reaudit: diff 4 files.
No new findings; the rest is in the review.
QA:
No tests ran because the description lists only automated Cargo checks and no manual or journey test for this core API change with no user-visible behavior.
Reviewed by gpt-6.1-sol-high via gh-pr-review-loop skill
Commands: @ovi-reviewer review · test · retest
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.
Description
Adds signing and verification of Paykit ERC-20 payment proofs for direct Arbitrum USDT0 payments. An executed transfer can be bound to the authenticated payer/payee, receiving app, request, billing period and conversion quote using the Paykit EIP-712 profile. Retrying proof creation or delivery does not send another payment.
Verification checks successful canonical execution, the pinned token and recipient, and the signature against the Transfer event's sender. It returns the actual amount, block timestamp and a receipt-relative payment identity. Callers validate request terms and deadlines and prevent reuse across requests. The receipt service must preserve original log positions when filtering receipts.
Includes generated Swift bindings and the published Paykit rc59 interoperability vectors. The proof APIs are independent of the Paykit SDK runtime and bridging.
Preview
N/A — core APIs only.
QA Notes
Reviewer checks:
The vector tests cover one-time and recurring bindings, signature/domain changes and canonical identifiers. The wallet integration test checks executed payments, request binding and receiver verification without sending real funds.
Validated on the rebased branch: 71 USDT tests passed; the existing local-Arbitrum-fork test is ignored. Formatting and generated Swift typechecking pass. Clippy's 120 diagnostics match master; none are introduced by this PR. Swift interfaces were regenerated from this source.