Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(auction): Adding extra check on bundler timeouts #156

Merged
merged 3 commits into from
Oct 13, 2023

Conversation

davidterpay
Copy link
Contributor

@davidterpay davidterpay commented Oct 12, 2023

Overview

This PR enforces that every transaction within a searchers bundle has the same timeout height as the bid transaction. By doing so, we ensure that searcher's bundled transactions are not included by other searchers in subsequent blocks in the case when their bid does not get selected.

Additionally, we limit bidding exclusively for the next block height. This is another mechanism to ensure that searchers do not have their bundles un-bundled.

Testing

Added integration unit tests testing the various different timeout scenarios.

@davidterpay davidterpay marked this pull request as ready for review October 12, 2023 21:05
@davidterpay davidterpay added backport/v1.x.x Backport your PR to the v1.x.x release backport/v2.x.x Backport your PR to the v2.x.x release labels Oct 12, 2023
bidTimeout := bidInfo.Timeout

for index, bundleTimeout := range bidInfo.TransactionTimeouts {
signers := bidInfo.Signers[index]
Copy link
Contributor

@nivasan1 nivasan1 Oct 13, 2023

Choose a reason for hiding this comment

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

nit: comment here would be nice, spent some time tryna figure out what this did (check if the bidder is signer of a sub-tx). May also attribute confusion to me being dumb 🔢

Copy link
Contributor

@nivasan1 nivasan1 left a comment

Choose a reason for hiding this comment

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

lgtm

@davidterpay davidterpay merged commit 339b927 into main Oct 13, 2023
9 checks passed
@davidterpay davidterpay deleted the terpay/bundler-timeout-validation branch October 13, 2023 16:50
mergify bot pushed a commit that referenced this pull request Oct 13, 2023
* validate bundler txs

* nits

* lint

(cherry picked from commit 339b927)

# Conflicts:
#	tests/app/app.go
#	tests/integration/block_sdk_suite.go
mergify bot pushed a commit that referenced this pull request Oct 13, 2023
* validate bundler txs

* nits

* lint

(cherry picked from commit 339b927)
davidterpay added a commit that referenced this pull request Oct 13, 2023
* validate bundler txs

* nits

* lint

(cherry picked from commit 339b927)

Co-authored-by: David Terpay <35130517+davidterpay@users.noreply.github.com>
davidterpay added a commit that referenced this pull request Oct 19, 2023
…157)

* fix(auction): Adding extra check on bundler timeouts (#156)

* validate bundler txs

* nits

* lint

(cherry picked from commit 339b927)

# Conflicts:
#	tests/app/app.go
#	tests/integration/block_sdk_suite.go

* fix

---------

Co-authored-by: David Terpay <35130517+davidterpay@users.noreply.github.com>
Co-authored-by: David Terpay <david.terpay@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport/v1.x.x Backport your PR to the v1.x.x release backport/v2.x.x Backport your PR to the v2.x.x release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants