Skip to content

feat(signet-orders): implement filler#176

Merged
Fraser999 merged 5 commits intomainfrom
fraser/eng-1739/filler
Feb 3, 2026
Merged

feat(signet-orders): implement filler#176
Fraser999 merged 5 commits intomainfrom
fraser/eng-1739/filler

Conversation

@Fraser999
Copy link
Contributor

@Fraser999 Fraser999 commented Jan 30, 2026

This implements the Filler and the FeePolicySubmitter to support creating and submitting fills.

I leaned heavily on the current implementation in the signet-orders repo here.

This diverges from that impl in the following ways:

  1. We only try to submit for a single target block, while in the other repo, we try for ten. It's probably worth discussing how we want to handle this.
  2. This impl doesn't configure the txs to have a gas limit nor a max priority fee per gas, while the other repo does. It seems like we could document that the provider must be configured to use the GasFiller in order to have these values auto-calculated. Alternatively, I could add hard-coded defaults as per the other crate's approach. Or, possibly a combination, where FillerOptions could have optional defaults for these, and if these are None then the GasFiller must have been configured.

A further minor point is that I'm unsure if there's an opportunity for optimisation by parallelising calls to sign_and_encode_tx. However, I'm concerned that doing this could potentially cause problems with nonce assignment.

Copy link
Contributor Author

Fraser999 commented Jan 30, 2026

This stack of pull requests is managed by Graphite. Learn more about stacking.

@Fraser999 Fraser999 marked this pull request as ready for review January 30, 2026 19:10
@Fraser999 Fraser999 requested a review from a team as a code owner January 30, 2026 19:10
Copy link
Member

@prestwich prestwich left a comment

Choose a reason for hiding this comment

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

looking good. do we have a plan to implement order filtering as stream combinators?

N::TxEnvelope: Encodable2718,
{
tx_request = tx_request.with_from(signer_address);
let sendable = provider.fill(tx_request).await.map_err(FeePolicyError::FillTransaction)?;
Copy link
Member

Choose a reason for hiding this comment

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

we will need to document that nonce-management can be tricky and configuring the provider to increment nonces correctly across N transactions (potentially in several bundles) may be an issue

we may need custom checkpointing nonce-management so that fillers can parallelize, and revert to pre-fill states

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'll add a note to the FeePolicySubmitter doc comments for now. This also seems like it's worth a follow-up ticket?

Copy link
Member

Choose a reason for hiding this comment

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

go ahead and make a followup in idea status :)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ticketed here.

@Fraser999
Copy link
Contributor Author

do we have a plan to implement order filtering as stream combinators?

That also sounds like a good candidate for a follow-up ticket.

Copy link
Member

@prestwich prestwich left a comment

Choose a reason for hiding this comment

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

just discussion comments

N::TxEnvelope: Encodable2718,
{
tx_request = tx_request.with_from(signer_address);
let sendable = provider.fill(tx_request).await.map_err(FeePolicyError::FillTransaction)?;
Copy link
Member

Choose a reason for hiding this comment

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

go ahead and make a followup in idea status :)

@Fraser999
Copy link
Contributor Author

do we have a plan to implement order filtering as stream combinators?

Ticketed here.

@Fraser999 Fraser999 force-pushed the fraser/eng-1739/filler branch from 728b419 to 43e9260 Compare February 3, 2026 01:45
@Fraser999 Fraser999 merged commit 5b028fc into main Feb 3, 2026
12 of 13 checks passed
@Fraser999 Fraser999 deleted the fraser/eng-1739/filler branch February 3, 2026 14:38
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