Skip to content

fix: keep OOReporter callbacks nonblocking#50

Merged
md0x merged 2 commits into
unaudited-pm-v2-oo-reporterfrom
codex/fix-oo-reporter-callback-rerequests
Jul 17, 2026
Merged

fix: keep OOReporter callbacks nonblocking#50
md0x merged 2 commits into
unaudited-pm-v2-oo-reporterfrom
codex/fix-oo-reporter-callback-rerequests

Conversation

@md0x

@md0x md0x commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

Automatic re-request failures could bubble through priceDisputed() or priceSettled() and revert the parent dispute or settlement. Run the replacement through a self-only external call, catch failures, and open the manual re-request gate instead.

Failed attempts emit AutomaticRerequestFailed for monitoring. The automatic dispute slot is consumed only after a successful replacement.

Test plan

  • forge test --match-path test/OOReporter.t.sol -vvv — 39 passed
  • forge test --no-match-contract ".*Fork.*" — 77 passed
  • forge build --sizesOOReporter runtime 23,605 bytes

@md0x
md0x force-pushed the codex/fix-oo-reporter-callback-rerequests branch from 96dad6e to 6e02776 Compare July 15, 2026 12:53
@md0x md0x changed the title fix: keep OOReporter callbacks nonblocking docs: warn about minimum dispute window updates Jul 15, 2026
@md0x
md0x marked this pull request as ready for review July 15, 2026 12:57
@md0x
md0x requested review from Reinis-FRP and chrismaree July 15, 2026 12:57
@md0x
md0x force-pushed the codex/fix-oo-reporter-callback-rerequests branch from 6e02776 to 24cb620 Compare July 15, 2026 14:08
@linear

linear Bot commented Jul 15, 2026

Copy link
Copy Markdown

FRO-81

@md0x md0x changed the title docs: warn about minimum dispute window updates fix: adapt automatic re-request liveness Jul 15, 2026
@md0x
md0x force-pushed the codex/fix-oo-reporter-callback-rerequests branch from 24cb620 to 8e611df Compare July 16, 2026 07:49
@md0x md0x changed the title fix: adapt automatic re-request liveness fix: keep OOReporter callbacks nonblocking Jul 16, 2026
@md0x
md0x force-pushed the codex/fix-oo-reporter-callback-rerequests branch from 8e611df to 2f70a54 Compare July 16, 2026 08:35
@md0x
md0x force-pushed the codex/fix-oo-reporter-callback-rerequests branch from 2f70a54 to d701100 Compare July 16, 2026 09:02
Comment thread pm-v2-oo-reporter/src/OOReporter.sol Outdated
try this.executeAutomaticRerequest(requestId, RerequestType.AutomaticDispute) {
request.automaticDisputeRerequestUsed = true;
return;
} catch {}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we want to emit something if this ever hits so we can police it with a monitor and ensure we are never hitting this outcome state?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I added AutomaticRerequestFailed(requestId, requestTimestamp, rerequestType) in df318a0 and emit it from both catch paths before RequestRerequestAllowed. This gives monitors a dedicated signal that an attempted automatic re-request actually failed, distinct from normal manual-gate openings such as disabled automation or a consumed automatic slot. The dispute and P4 regression tests assert the event, and all PR checks are passing.

@md0x
md0x requested review from chrismaree and mrice32 July 16, 2026 11:12
@md0x
md0x merged commit 13dabea into unaudited-pm-v2-oo-reporter Jul 17, 2026
6 checks passed
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