Some checks are pending
docker-build-cometbft / vars (push) Waiting to run
docker-build-cometbft / build-images (amd64, ubuntu-24.04) (push) Blocked by required conditions
docker-build-cometbft / build-images (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
docker-build-cometbft / merge-images (push) Blocked by required conditions
docker-build-e2e-node / vars (push) Waiting to run
docker-build-e2e-node / build-images (amd64, ubuntu-24.04) (push) Blocked by required conditions
docker-build-e2e-node / build-images (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
docker-build-e2e-node / merge-images (push) Blocked by required conditions
79 lines
2.4 KiB
Go
79 lines
2.4 KiB
Go
package consensus
|
|
|
|
import (
|
|
"context"
|
|
|
|
abci "github.com/cometbft/cometbft/abci/types"
|
|
"github.com/cometbft/cometbft/libs/clist"
|
|
mempl "github.com/cometbft/cometbft/mempool"
|
|
"github.com/cometbft/cometbft/proxy"
|
|
"github.com/cometbft/cometbft/types"
|
|
)
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
type emptyMempool struct{}
|
|
|
|
var _ mempl.Mempool = emptyMempool{}
|
|
|
|
func (emptyMempool) Lock() {}
|
|
func (emptyMempool) Unlock() {}
|
|
func (emptyMempool) Size() int { return 0 }
|
|
func (emptyMempool) SizeBytes() int64 { return 0 }
|
|
func (emptyMempool) CheckTx(types.Tx, func(*abci.ResponseCheckTx), mempl.TxInfo) error {
|
|
return nil
|
|
}
|
|
|
|
func (txmp emptyMempool) RemoveTxByKey(types.TxKey) error {
|
|
return nil
|
|
}
|
|
|
|
func (emptyMempool) ReapMaxBytesMaxGas(int64, int64) types.Txs { return types.Txs{} }
|
|
func (emptyMempool) ReapMaxTxs(int) types.Txs { return types.Txs{} }
|
|
func (emptyMempool) Update(
|
|
int64,
|
|
types.Txs,
|
|
[]*abci.ExecTxResult,
|
|
mempl.PreCheckFunc,
|
|
mempl.PostCheckFunc,
|
|
) error {
|
|
return nil
|
|
}
|
|
func (emptyMempool) Flush() {}
|
|
func (emptyMempool) FlushAppConn() error { return nil }
|
|
func (emptyMempool) TxsAvailable() <-chan struct{} { return make(chan struct{}) }
|
|
func (emptyMempool) EnableTxsAvailable() {}
|
|
func (emptyMempool) TxsBytes() int64 { return 0 }
|
|
|
|
func (emptyMempool) TxsFront() *clist.CElement { return nil }
|
|
func (emptyMempool) TxsWaitChan() <-chan struct{} { return nil }
|
|
|
|
func (emptyMempool) InitWAL() error { return nil }
|
|
func (emptyMempool) CloseWAL() {}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// mockProxyApp uses ABCIResponses to give the right results.
|
|
//
|
|
// Useful because we don't want to call Commit() twice for the same block on
|
|
// the real app.
|
|
|
|
func newMockProxyApp(finalizeBlockResponse *abci.ResponseFinalizeBlock) proxy.AppConnConsensus {
|
|
clientCreator := proxy.NewLocalClientCreator(&mockProxyApp{
|
|
finalizeBlockResponse: finalizeBlockResponse,
|
|
})
|
|
cli, _ := clientCreator.NewABCIClient()
|
|
err := cli.Start()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return proxy.NewAppConnConsensus(cli, proxy.NopMetrics())
|
|
}
|
|
|
|
type mockProxyApp struct {
|
|
abci.BaseApplication
|
|
finalizeBlockResponse *abci.ResponseFinalizeBlock
|
|
}
|
|
|
|
func (mock *mockProxyApp) FinalizeBlock(context.Context, *abci.RequestFinalizeBlock) (*abci.ResponseFinalizeBlock, error) {
|
|
return mock.finalizeBlockResponse, nil
|
|
}
|