Skip to content

Harden the RFQ venue: maker approval and quote cancellation#24

Merged
0xMuang merged 5 commits into
mainfrom
feature/rfq-v2-hardening
Jul 14, 2026
Merged

Harden the RFQ venue: maker approval and quote cancellation#24
0xMuang merged 5 commits into
mainfrom
feature/rfq-v2-hardening

Conversation

@heijiLee

@heijiLee heijiLee commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

RFQ v2 hardening (RFQ-002), stacked on #23.

  • Operator-curated maker allowlist: setMakerApproved (onlyOperator), settlement rejects unapproved makers (RFQMakerNotApproved)
  • Maker-initiated cancellation: cancelQuoteNonce/cancelQuoteNonces, idempotent, reuses the usedQuoteNonce fill guard
  • Policy decisions recorded as D007: full-fill only, non-custodial, adapter-local approval
  • New docs/rfq-threat-model.md + FEATURES/PROGRESS/security.md bookkeeping

Tests: forge test --offline 133/133 (9 new RFQAdapter tests), services/rfq smoke ok. EIP-712 surface unchanged (offchain signer compatible).

Deferred: router-path integration scenarios (tracked in PROGRESS Next).

0xMuang added a commit that referenced this pull request Jul 14, 2026
Record the RFQ backend as a TypeScript SDK and local-reference path before MVP demo backend work begins, while preserving pending PR context for RFQ hardening, E2E, CLI, and BUIDL fixtures.

Constraint: Open PRs #24, #28, #29, #30, and #35 already cover parts of RFQ hardening, protected-router scenarios, live demo, CLI, and BUIDL-like fixtures.
Rejected: Treating an RFQ backend as a Corner Store-operated production server | would blur operator responsibilities for pricing, signer custody, inventory, hosting, and compliance prechecks.
Confidence: high
Scope-risk: narrow
Directive: Implement RFQ SDK interfaces first; any MVP backend must reuse merged E2E/CLI/BUIDL paths instead of creating parallel demo infrastructure.
Tested: git diff --check
Not-tested: services/rfq implementation or runtime tests; documentation-only change
@0xMuang 0xMuang changed the base branch from fix/router-venue-type-binding to main July 14, 2026 08:02
Resolve the stacked PR branch after main advanced with the router venue binding fix, Phase 1 architecture baseline, and RFQ backend SDK documentation/code.

Constraint: PR #24 must merge after #23 and before the higher stacked PRs.

Rejected: Dropping either RFQ-002 or RFQ-SDK documentation state | both are accepted completed work on main/stack.

Confidence: high

Scope-risk: moderate

Directive: Continue stacked PR merges in order after #24 lands: #25, #26, #27, #28, #29, #30.

Tested: git diff --cached --check; scripts/check.sh

Not-tested: GitHub CI after push
@0xMuang 0xMuang merged commit 013e737 into main Jul 14, 2026
1 check passed
0xMuang added a commit that referenced this pull request Jul 14, 2026
Resolve the stacked PR branch after main advanced with RFQ hardening, Phase 1 architecture baseline, and RFQ SDK work.

Constraint: PR #25 must land after #24 and before the higher stacked manifest/E2E/CLI PRs.

Rejected: Keeping duplicate D008 decision numbering | would make the decision log ambiguous after merging RFQ-002 and CMP-001.

Confidence: high

Scope-risk: moderate

Directive: Continue stacked PR merges in order after #25 lands: #26, #27, #28, #29, #30.

Tested: git diff --cached --check

Not-tested: full local scripts/check.sh for this conflict-only reconciliation; rely on GitHub CI after push
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