This commit is contained in:
Alex Johnson
2024-01-03 14:22:16 -05:00
committed by GitHub
parent 47fc466129
commit a135d8f89d
4 changed files with 50 additions and 23 deletions
+3 -1
View File
@@ -224,7 +224,9 @@ func (m *LanedMempool) ValidateBasic() error {
}
maxBlockSpace := lane.GetMaxBlockSpace()
if maxBlockSpace.IsZero() {
if seenZeroMaxBlockSpace && maxBlockSpace.IsZero() {
return fmt.Errorf("only one lane can have unlimited max block space")
} else if maxBlockSpace.IsZero() {
seenZeroMaxBlockSpace = true
}
+32 -6
View File
@@ -76,7 +76,7 @@ func (suite *BlockBusterTestSuite) SetupTest() {
TxDecoder: suite.encodingConfig.TxConfig.TxDecoder(),
SignerExtractor: signer_extraction.NewDefaultAdapter(),
AnteHandler: nil,
MaxBlockSpace: math.LegacyZeroDec(),
MaxBlockSpace: math.LegacyMustNewDecFromStr("0.3"),
}
factory := mev.NewDefaultAuctionFactory(suite.encodingConfig.TxConfig.TxDecoder(), signer_extraction.NewDefaultAdapter())
suite.mevLane = mev.NewMEVLane(
@@ -98,7 +98,7 @@ func (suite *BlockBusterTestSuite) SetupTest() {
TxDecoder: suite.encodingConfig.TxConfig.TxDecoder(),
SignerExtractor: signer_extraction.NewDefaultAdapter(),
AnteHandler: nil,
MaxBlockSpace: math.LegacyZeroDec(),
MaxBlockSpace: math.LegacyMustNewDecFromStr("0.3"),
}
suite.freeLane = free.NewFreeLane(
freeConfig,
@@ -163,7 +163,7 @@ func (suite *BlockBusterTestSuite) TestNewMempool() {
return nil
})
baseConfig := base.LaneConfig{
defaultConfig := base.LaneConfig{
Logger: log.NewNopLogger(),
TxEncoder: suite.encodingConfig.TxConfig.TxEncoder(),
TxDecoder: suite.encodingConfig.TxConfig.TxDecoder(),
@@ -172,7 +172,16 @@ func (suite *BlockBusterTestSuite) TestNewMempool() {
MaxBlockSpace: math.LegacyZeroDec(),
}
defaultLane := defaultlane.NewDefaultLane(baseConfig, base.DefaultMatchHandler())
baseConfig := base.LaneConfig{
Logger: log.NewNopLogger(),
TxEncoder: suite.encodingConfig.TxConfig.TxEncoder(),
TxDecoder: suite.encodingConfig.TxConfig.TxDecoder(),
SignerExtractor: signer_extraction.NewDefaultAdapter(),
AnteHandler: nil,
MaxBlockSpace: math.LegacyMustNewDecFromStr("0.3"),
}
defaultLane := defaultlane.NewDefaultLane(defaultConfig, base.DefaultMatchHandler())
factory := mev.NewDefaultAuctionFactory(suite.encodingConfig.TxConfig.TxDecoder(), signer_extraction.NewDefaultAdapter())
mevLane := mev.NewMEVLane(
baseConfig,
@@ -185,6 +194,12 @@ func (suite *BlockBusterTestSuite) TestNewMempool() {
free.DefaultMatchHandler(),
)
invalidFreeLane := free.NewFreeLane(
defaultConfig,
base.DefaultTxPriority(),
free.DefaultMatchHandler(),
)
suite.Run("works with a single lane", func() {
lanes := []block.Lane{defaultLane}
@@ -262,7 +277,7 @@ func (suite *BlockBusterTestSuite) TestNewMempool() {
suite.Require().NoError(err)
})
suite.Run("default lane not included", func() {
suite.Run("default lane not included - invalid total space", func() {
lanes := []block.Lane{mevLane, freeLane}
_, err := block.NewLanedMempool(
@@ -270,7 +285,18 @@ func (suite *BlockBusterTestSuite) TestNewMempool() {
lanes,
fetcher,
)
suite.Require().NoError(err)
suite.Require().Error(err)
})
suite.Run("two lanes with unlimited blockspace", func() {
lanes := []block.Lane{defaultLane, invalidFreeLane}
_, err := block.NewLanedMempool(
log.NewNopLogger(),
lanes,
fetcher,
)
suite.Require().Error(err)
})
suite.Run("duplicate lanes", func() {