feat: add x402 exact support#474
Conversation
commit: |
9cc0f6e to
d9b9454
Compare
|
Source-readback note on the new x402 exact flow: I think the server currently verifies the paid What I’m seeing:
That seems to allow a signed payment payload produced from one route challenge to be submitted to a different route with the same amount / asset / network / payTo / transfer metadata. The facilitator can still validate and settle the token transfer, but the server-side check has lost the x402 resource binding before release of content. A low-friction patch would be to check this in No wallet signing, payment headers, paid calls, or live facilitator calls were used for this pass. |
|
Re-checked commit Local repro I ran after building generated assets: corepack pnpm install --frozen-lockfile
corepack pnpm build
node --import tsx - <<'TS'
# Constructed an x402 exact route, replayed a PAYMENT-SIGNATURE from https://example.com/a against https://example.com/b, and asserted:
# {"crossResourceStatus":402,"sameResourceStatus":200,"verifyCalls":1}
TSI also tried the repo test runner for |
|
CI note from the failing runtime shard: the remaining failure looks like test fixture drift from the resource-binding fix, not the resource check itself. The failing test is const paymentRequired = x402_Header.decodePaymentRequired(...)
const credential = x402PaymentSignature(paymentRequired.accepts[0]!)But No additional live/payment calls used; this is just CI log + source readback. |
|
Final re-check at I do not have another blocker from this no-payment pass. No wallet signing, live payment headers, paid calls, or facilitator network calls used. |
51ff1b3 to
c859311
Compare
Summary
Added EVM charge support with x402 exact compatibility through shared charge configuration.