From b337085bbb58141d7f50d09348c198ca7d961e0f Mon Sep 17 00:00:00 2001 From: David Terpay Date: Mon, 27 Nov 2023 11:09:12 -0500 Subject: [PATCH] removing logs from testing --- abci/abci_test.go | 75 +++++++++++++++++++++++++++++++++++++++++----- abci/utils_test.go | 35 ++++++++++++++++++---- 2 files changed, 96 insertions(+), 14 deletions(-) diff --git a/abci/abci_test.go b/abci/abci_test.go index 6ab3b848..81f53323 100644 --- a/abci/abci_test.go +++ b/abci/abci_test.go @@ -16,6 +16,7 @@ import ( "github.com/skip-mev/block-sdk/abci" "github.com/skip-mev/block-sdk/block" "github.com/skip-mev/block-sdk/block/mocks" + "github.com/skip-mev/block-sdk/lanes/free" testutils "github.com/skip-mev/block-sdk/testutils" blocksdkmoduletypes "github.com/skip-mev/block-sdk/x/blocksdk/types" ) @@ -521,7 +522,7 @@ func (s *ProposalsTestSuite) TestPrepareProposalEdgeCases() { } mempool, err := block.NewLanedMempool( - log.NewTestLogger(s.T()), + log.NewNopLogger(), lanes, mocks.NewMockLaneFetcher(func() (blocksdkmoduletypes.Lane, error) { return blocksdkmoduletypes.Lane{}, nil @@ -534,7 +535,7 @@ func (s *ProposalsTestSuite) TestPrepareProposalEdgeCases() { defaultLane.SetIgnoreList(nil) proposalHandler := abci.NewProposalHandler( - log.NewTestLogger(s.T()), + log.NewNopLogger(), s.encodingConfig.TxConfig.TxDecoder(), s.encodingConfig.TxConfig.TxEncoder(), mempool, @@ -587,7 +588,7 @@ func (s *ProposalsTestSuite) TestPrepareProposalEdgeCases() { } mempool, err := block.NewLanedMempool( - log.NewTestLogger(s.T()), + log.NewNopLogger(), lanes, mocks.NewMockLaneFetcher(func() (blocksdkmoduletypes.Lane, error) { return blocksdkmoduletypes.Lane{}, nil @@ -600,7 +601,7 @@ func (s *ProposalsTestSuite) TestPrepareProposalEdgeCases() { defaultLane.SetIgnoreList(nil) proposalHandler := abci.NewProposalHandler( - log.NewTestLogger(s.T()), + log.NewNopLogger(), s.encodingConfig.TxConfig.TxDecoder(), s.encodingConfig.TxConfig.TxEncoder(), mempool, @@ -660,7 +661,7 @@ func (s *ProposalsTestSuite) TestPrepareProposalEdgeCases() { } mempool, err := block.NewLanedMempool( - log.NewTestLogger(s.T()), + log.NewNopLogger(), lanes, mocks.NewMockLaneFetcher(func() (blocksdkmoduletypes.Lane, error) { return blocksdkmoduletypes.Lane{}, nil @@ -675,7 +676,7 @@ func (s *ProposalsTestSuite) TestPrepareProposalEdgeCases() { defaultLane.SetIgnoreList(nil) proposalHandler := abci.NewProposalHandler( - log.NewTestLogger(s.T()), + log.NewNopLogger(), s.encodingConfig.TxConfig.TxDecoder(), s.encodingConfig.TxConfig.TxEncoder(), mempool, @@ -735,7 +736,7 @@ func (s *ProposalsTestSuite) TestPrepareProposalEdgeCases() { } mempool, err := block.NewLanedMempool( - log.NewTestLogger(s.T()), + log.NewNopLogger(), lanes, mocks.NewMockLaneFetcher(func() (blocksdkmoduletypes.Lane, error) { return blocksdkmoduletypes.Lane{}, nil @@ -750,7 +751,7 @@ func (s *ProposalsTestSuite) TestPrepareProposalEdgeCases() { defaultLane.SetIgnoreList(nil) proposalHandler := abci.NewProposalHandler( - log.NewTestLogger(s.T()), + log.NewNopLogger(), s.encodingConfig.TxConfig.TxDecoder(), s.encodingConfig.TxConfig.TxEncoder(), mempool, @@ -1271,6 +1272,64 @@ func (s *ProposalsTestSuite) TestProcessProposal() { s.Require().Error(err) s.Require().Equal(&cometabci.ResponseProcessProposal{Status: cometabci.ResponseProcessProposal_REJECT}, resp) }) + + s.Run("rejects a proposal where there are transactions remaining that have been unverified", func() { + bidTx, _, err := testutils.CreateAuctionTx( + s.encodingConfig.TxConfig, + s.accounts[0], + sdk.NewCoin(s.gasTokenDenom, math.NewInt(1000000)), + 0, + 1, + s.accounts[0:0], + 1, + ) + s.Require().NoError(err) + + freeTx, err := testutils.CreateFreeTx( + s.encodingConfig.TxConfig, + s.accounts[2], + 0, + 1, + "test", + sdk.NewCoin(s.gasTokenDenom, math.NewInt(2000000)), + sdk.NewCoin(s.gasTokenDenom, math.NewInt(2000000)), + ) + s.Require().NoError(err) + + normalTx, err := testutils.CreateRandomTx( + s.encodingConfig.TxConfig, + s.accounts[1], + 0, + 1, + 0, + 1, + sdk.NewCoin(s.gasTokenDenom, math.NewInt(3000000)), + ) + s.Require().NoError(err) + + // Set up the top of block lane + mevLane := s.setUpTOBLane(math.LegacyMustNewDecFromStr("0.5"), map[sdk.Tx]bool{ + bidTx: true, + }) + + // Set up the default lane + freeLane := s.setUpCustomMatchHandlerLane( + math.LegacyMustNewDecFromStr("0.0"), + map[sdk.Tx]bool{ + freeTx: true, + }, + free.DefaultMatchHandler(), + "default", + ) + + proposal := s.createProposal(bidTx, freeTx, normalTx) + + proposalHandler := s.setUpProposalHandlers([]block.Lane{mevLane, freeLane}).ProcessProposalHandler() + resp, err := proposalHandler(s.ctx, &cometabci.RequestProcessProposal{Txs: proposal, Height: 2}) + s.Require().NotNil(resp) + s.Require().Error(err) + s.Require().Equal(&cometabci.ResponseProcessProposal{Status: cometabci.ResponseProcessProposal_REJECT}, resp) + }) } func (s *ProposalsTestSuite) TestPrepareProcessParity() { diff --git a/abci/utils_test.go b/abci/utils_test.go index 75e5332d..a22815a4 100644 --- a/abci/utils_test.go +++ b/abci/utils_test.go @@ -55,9 +55,32 @@ func (s *ProposalsTestSuite) setUpAnteHandler(expectedExecution map[sdk.Tx]bool) return anteHandler } +func (s *ProposalsTestSuite) setUpCustomMatchHandlerLane(maxBlockSpace math.LegacyDec, expectedExecution map[sdk.Tx]bool, mh base.MatchHandler, name string) block.Lane { + cfg := base.LaneConfig{ + Logger: log.NewNopLogger(), + TxEncoder: s.encodingConfig.TxConfig.TxEncoder(), + TxDecoder: s.encodingConfig.TxConfig.TxDecoder(), + AnteHandler: s.setUpAnteHandler(expectedExecution), + MaxBlockSpace: maxBlockSpace, + SignerExtractor: signeradaptors.NewDefaultAdapter(), + } + + lane := base.NewBaseLane( + cfg, + name, + base.NewMempool[string](base.DefaultTxPriority(), cfg.TxEncoder, cfg.SignerExtractor, 0), + mh, + ) + + lane.SetPrepareLaneHandler(lane.DefaultPrepareLaneHandler()) + lane.SetProcessLaneHandler(lane.DefaultProcessLaneHandler()) + + return lane +} + func (s *ProposalsTestSuite) setUpStandardLane(maxBlockSpace math.LegacyDec, expectedExecution map[sdk.Tx]bool) *defaultlane.DefaultLane { cfg := base.LaneConfig{ - Logger: log.NewTestLogger(s.T()), + Logger: log.NewNopLogger(), TxEncoder: s.encodingConfig.TxConfig.TxEncoder(), TxDecoder: s.encodingConfig.TxConfig.TxDecoder(), AnteHandler: s.setUpAnteHandler(expectedExecution), @@ -71,7 +94,7 @@ func (s *ProposalsTestSuite) setUpStandardLane(maxBlockSpace math.LegacyDec, exp func (s *ProposalsTestSuite) setUpTOBLane(maxBlockSpace math.LegacyDec, expectedExecution map[sdk.Tx]bool) *mev.MEVLane { cfg := base.LaneConfig{ - Logger: log.NewTestLogger(s.T()), + Logger: log.NewNopLogger(), TxEncoder: s.encodingConfig.TxConfig.TxEncoder(), TxDecoder: s.encodingConfig.TxConfig.TxDecoder(), AnteHandler: s.setUpAnteHandler(expectedExecution), @@ -84,7 +107,7 @@ func (s *ProposalsTestSuite) setUpTOBLane(maxBlockSpace math.LegacyDec, expected func (s *ProposalsTestSuite) setUpFreeLane(maxBlockSpace math.LegacyDec, expectedExecution map[sdk.Tx]bool) *free.FreeLane { cfg := base.LaneConfig{ - Logger: log.NewTestLogger(s.T()), + Logger: log.NewNopLogger(), TxEncoder: s.encodingConfig.TxConfig.TxEncoder(), TxDecoder: s.encodingConfig.TxConfig.TxDecoder(), AnteHandler: s.setUpAnteHandler(expectedExecution), @@ -97,7 +120,7 @@ func (s *ProposalsTestSuite) setUpFreeLane(maxBlockSpace math.LegacyDec, expecte func (s *ProposalsTestSuite) setUpPanicLane(name string, maxBlockSpace math.LegacyDec) *base.BaseLane { cfg := base.LaneConfig{ - Logger: log.NewTestLogger(s.T()), + Logger: log.NewNopLogger(), TxEncoder: s.encodingConfig.TxConfig.TxEncoder(), TxDecoder: s.encodingConfig.TxConfig.TxDecoder(), MaxBlockSpace: maxBlockSpace, @@ -136,14 +159,14 @@ func (s *ProposalsTestSuite) setUpProposalHandlers(lanes []block.Lane) *abci.Pro }) mempool, err := block.NewLanedMempool( - log.NewTestLogger(s.T()), + log.NewNopLogger(), lanes, laneFetcher, ) s.Require().NoError(err) return abci.NewProposalHandler( - log.NewTestLogger(s.T()), + log.NewNopLogger(), s.encodingConfig.TxConfig.TxDecoder(), s.encodingConfig.TxConfig.TxEncoder(), mempool,