feat: commitment-bound quote pricing (ADR-0004)#149
Merged
jacderida merged 35 commits intoJul 7, 2026
Conversation
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.
ADR-0004: commitment-bound quote pricing — node side. Builds on the ADR-0002 storage-audit work (#128, merged).
Binds a quote's price to the node's audited storage commitment so a node cannot lie about how much it stores to inflate what it charges. The delivered guarantee is a price ceiling: to be paid above the empty-node baseline, a node must surrender a signed commitment that passes binding checks before payment and faces audit after it.
What
GetCommitmentByPinfetch), emitting portable mismatch evidence on a contradiction.UnknownCommitment/Transientgrace loophole.Enforcement ships behind observe-only flags for a hard cutover, per the ADR's rollout. The ADR document and implementation-slices notes are included.
Release ordering
Part of the coordinated ADR-0004 cutover — publish order evmlib 0.9.0 → ant-protocol 2.3.0 → ant-node / ant-client. evmlib's change is merged (WithAutonomi/evmlib#11) pending a
0.9.0tag/publish; the shared layer is WithAutonomi/ant-protocol#15. This branch builds today via a committed, temporary[patch.crates-io]git-branch dep block (self-labeled strip before merge); at cutover that block is deleted and the[dependencies]pins (alreadyevmlib 0.9.0/ant-protocol 2.3.0) resolve from the published crates.Companion: ant-client resolve-before-pay (the client half).