alchemyplatform / rundler

An ERC-4337 Bundler in Rust
GNU Lesser General Public License v3.0
246 stars 29 forks source link

feat(builder): reject ops if condition not met after failure #723

Closed dancoombs closed 1 week ago

dancoombs commented 2 weeks ago

Closes #678

Proposed Changes

TODO

codecov[bot] commented 1 week ago

Codecov Report

Attention: Patch coverage is 8.75912% with 125 lines in your changes missing coverage. Please review.

Project coverage is 54.45%. Comparing base (867b229) to head (883c454).

Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723/graphs/tree.svg?width=650&height=150&src=pr&token=FQKCPQJU2X&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform)](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform) | [Files](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform) | Coverage Δ | | |---|---|---| | [crates/builder/src/emit.rs](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723?src=pr&el=tree&filepath=crates%2Fbuilder%2Fsrc%2Femit.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform#diff-Y3JhdGVzL2J1aWxkZXIvc3JjL2VtaXQucnM=) | `14.66% <ø> (ø)` | | | [crates/provider/src/traits/provider.rs](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723?src=pr&el=tree&filepath=crates%2Fprovider%2Fsrc%2Ftraits%2Fprovider.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform#diff-Y3JhdGVzL3Byb3ZpZGVyL3NyYy90cmFpdHMvcHJvdmlkZXIucnM=) | `100.00% <ø> (ø)` | | | [crates/builder/src/transaction\_tracker.rs](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723?src=pr&el=tree&filepath=crates%2Fbuilder%2Fsrc%2Ftransaction_tracker.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform#diff-Y3JhdGVzL2J1aWxkZXIvc3JjL3RyYW5zYWN0aW9uX3RyYWNrZXIucnM=) | `81.13% <0.00%> (-0.17%)` | :arrow_down: | | [crates/builder/src/sender/mod.rs](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723?src=pr&el=tree&filepath=crates%2Fbuilder%2Fsrc%2Fsender%2Fmod.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform#diff-Y3JhdGVzL2J1aWxkZXIvc3JjL3NlbmRlci9tb2QucnM=) | `0.83% <0.00%> (-0.04%)` | :arrow_down: | | [crates/builder/src/bundle\_sender.rs](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723?src=pr&el=tree&filepath=crates%2Fbuilder%2Fsrc%2Fbundle_sender.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform#diff-Y3JhdGVzL2J1aWxkZXIvc3JjL2J1bmRsZV9zZW5kZXIucnM=) | `0.00% <0.00%> (ø)` | | | [crates/provider/src/ethers/provider.rs](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723?src=pr&el=tree&filepath=crates%2Fprovider%2Fsrc%2Fethers%2Fprovider.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform#diff-Y3JhdGVzL3Byb3ZpZGVyL3NyYy9ldGhlcnMvcHJvdmlkZXIucnM=) | `0.00% <0.00%> (ø)` | | | [crates/builder/src/bundle\_proposer.rs](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723?src=pr&el=tree&filepath=crates%2Fbuilder%2Fsrc%2Fbundle_proposer.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform#diff-Y3JhdGVzL2J1aWxkZXIvc3JjL2J1bmRsZV9wcm9wb3Nlci5ycw==) | `86.20% <16.00%> (-2.91%)` | :arrow_down: | | [Flag](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform) | Coverage Δ | | |---|---|---| | [unit-tests](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform) | `54.45% <8.75%> (-0.26%)` | :arrow_down: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform#carryforward-flags-in-the-pull-request-comment) to find out more. | [Components](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723/components?src=pr&el=components&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform) | Coverage Δ | | |---|---|---| | [rundler binary](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform) | `0.00% <ø> (ø)` | | | [builder](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform) | `45.55% <12.37%> (-0.73%)` | :arrow_down: | | [dev](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform) | `0.00% <ø> (ø)` | | | [pool](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform) | `65.07% <ø> (ø)` | | | [provider](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform) | `16.10% <0.00%> (-0.58%)` | :arrow_down: | | [rpc](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform) | `25.66% <ø> (ø)` | | | [sim](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform) | `77.86% <ø> (ø)` | | | [tasks](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform) | `∅ <ø> (∅)` | | | [types](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform) | `65.45% <ø> (ø)` | | | [utils](https://app.codecov.io/gh/alchemyplatform/rundler/pull/723/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=alchemyplatform) | `18.28% <ø> (ø)` | |