Repository navigation
Add ERC: Signed Service Payment Quotes - #1990
SergeevDmitry wants to merge 6 commits into
Conversation
File
|
|
The commit 6ab130f (as a parent of 066cbc9) contains errors. |
|
Checked the EIP-3009 side directly before adding anything — its own natspec calls The shape of this bug is worth naming explicitly, because it will recur exactly here: "transport-independent" means the same field gets interpreted by whichever settlement mechanism happens to carry it, and two mechanisms can each be a perfectly valid reading of the spec's own text while enforcing at different moments. That's not a wording gap, it's an underspecified protected property — The requestHash/nonce gap is the same shape one layer down: "conformant" and "replay-safe" look identical from inside this ERC's own boundary, and only diverge once you look at the request-scheme layer it deliberately doesn't own. Worth at least a normative MUST that a request scheme define single-use semantics for quoteId+requestHash together, even without specifying how — leaving it fully silent means two conformant implementations can disagree on double-charge safety and neither is wrong per this spec. |
- Distinguish submission cutoffs from enforced execution deadlines - Require validity checks before authorization and new submission - Define binding requirements for submission events and deadline disclosure - Clarify invocation identity and consumption state across retries and reissues - Distinguish duplicate-payment prevention from service deduplication - Add 15 behavioral test cases for expiry and single-use guarantees - Preserve the EIP-712 schema and existing cryptographic test vectors
|
Checked the pushed commit against the actual spec text, not just the summary. This lands the exact fix from the earlier back-and-forth, precisely:
That's the collision we traced together — pairing a required-to-change
That's the right shape — stable-across-retry, distinct-across-intent — and it's the same property our own |
Summary
This PR introduces a new ERC for provider-signed EVM payment quotes tied to a specific priced request.
The ERC defines a common format for:
Request canonicalization and transport-specific behavior are intentionally left outside the core ERC so protocols can define those pieces independently.
Discussion: https://ethereum-magicians.org/t/signed-service-payment-quotes-candidate-erc/29577
Validation
eipwpasses locally with the ERC repository configuration.