Skip to content

docs: document fill()'s caller-supplied fillDeadline parameter - #131

Open
dev-aly3n wants to merge 1 commit into
catalystsystem:mainfrom
dev-aly3n:docs/fill-deadline-param
Open

docs: document fill()'s caller-supplied fillDeadline parameter#131
dev-aly3n wants to merge 1 commit into
catalystsystem:mainfrom
dev-aly3n:docs/fill-deadline-param

Conversation

@dev-aly3n

Copy link
Copy Markdown

Description

fill() and fillOrderOutputs() document orderId, output and fillerData but not fillDeadline.

The parameter is caller-supplied and checked only against block.timestamp; it is not validated against the order, which the output settler never sees. That is clearly intentional, but the omission is costly for integrators: passing a padded value lets a late fill succeed, and InputSettlerBase._validateFills then rejects the claim permanently with FilledTooLate (the fill timestamp is bound into the proof payload hash, so it cannot be misreported). Passing the order's true deadline makes the same late fill revert cheaply instead.

Documentation only. No behaviour change. Found while integrating a solver against the contracts deployed on 2026-08-06.

Related Issues

Third-Party Integration Checklist

N/A. This PR does not integrate with any external protocol: no new dependencies, no interfaces copied.

Additional Notes

Touches only the natspec blocks of fill() and fillOrderOutputs() in src/output/OutputSettlerBase.sol. No logic, no ABI and no bytecode change, so gas snapshots are unaffected.

fill() and fillOrderOutputs() document orderId, output and fillerData
but not fillDeadline.

The parameter is caller-supplied and checked only against
block.timestamp; it is not validated against the order, which the output
settler never sees. emitNotFilled already documents this expectation for
its own fillDeadline argument; this brings the two fill entry points in
line.

Documentation only - no behaviour change.
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.

1 participant