fix: [ENG-754] Refactor of Mempool Dep to Interfaces (#81)
This commit is contained in:
parent
5231cafbd4
commit
e5be99baa1
29
abci/abci.go
29
abci/abci.go
@ -2,6 +2,7 @@ package abci
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"crypto/sha256"
|
||||
"encoding/hex"
|
||||
"errors"
|
||||
@ -11,19 +12,29 @@ import (
|
||||
"github.com/cometbft/cometbft/libs/log"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
sdkmempool "github.com/cosmos/cosmos-sdk/types/mempool"
|
||||
"github.com/skip-mev/pob/mempool"
|
||||
)
|
||||
|
||||
type ProposalHandler struct {
|
||||
mempool *mempool.AuctionMempool
|
||||
logger log.Logger
|
||||
anteHandler sdk.AnteHandler
|
||||
txEncoder sdk.TxEncoder
|
||||
txDecoder sdk.TxDecoder
|
||||
}
|
||||
type (
|
||||
Mempool interface {
|
||||
sdkmempool.Mempool
|
||||
AuctionBidSelect(ctx context.Context) sdkmempool.Iterator
|
||||
GetBundledTransactions(tx sdk.Tx) ([][]byte, error)
|
||||
WrapBundleTransaction(tx []byte) (sdk.Tx, error)
|
||||
IsAuctionTx(tx sdk.Tx) (bool, error)
|
||||
RemoveWithoutRefTx(tx sdk.Tx) error
|
||||
}
|
||||
|
||||
ProposalHandler struct {
|
||||
mempool Mempool
|
||||
logger log.Logger
|
||||
anteHandler sdk.AnteHandler
|
||||
txEncoder sdk.TxEncoder
|
||||
txDecoder sdk.TxDecoder
|
||||
}
|
||||
)
|
||||
|
||||
func NewProposalHandler(
|
||||
mp *mempool.AuctionMempool,
|
||||
mp Mempool,
|
||||
logger log.Logger,
|
||||
anteHandler sdk.AnteHandler,
|
||||
txEncoder sdk.TxEncoder,
|
||||
|
||||
@ -2,6 +2,7 @@ package ante
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"cosmossdk.io/errors"
|
||||
@ -12,14 +13,25 @@ import (
|
||||
|
||||
var _ sdk.AnteDecorator = BuilderDecorator{}
|
||||
|
||||
type BuilderDecorator struct {
|
||||
builderKeeper keeper.Keeper
|
||||
txDecoder sdk.TxDecoder
|
||||
txEncoder sdk.TxEncoder
|
||||
mempool *mempool.AuctionMempool
|
||||
}
|
||||
type (
|
||||
Mempool interface {
|
||||
Contains(tx sdk.Tx) (bool, error)
|
||||
IsAuctionTx(tx sdk.Tx) (bool, error)
|
||||
GetAuctionBidInfo(tx sdk.Tx) (mempool.AuctionBidInfo, error)
|
||||
GetBundleSigners(txs [][]byte) ([]map[string]struct{}, error)
|
||||
GetTopAuctionTx(ctx context.Context) sdk.Tx
|
||||
GetTimeout(tx sdk.Tx) (uint64, error)
|
||||
}
|
||||
|
||||
func NewBuilderDecorator(ak keeper.Keeper, txDecoder sdk.TxDecoder, txEncoder sdk.TxEncoder, mempool *mempool.AuctionMempool) BuilderDecorator {
|
||||
BuilderDecorator struct {
|
||||
builderKeeper keeper.Keeper
|
||||
txDecoder sdk.TxDecoder
|
||||
txEncoder sdk.TxEncoder
|
||||
mempool Mempool
|
||||
}
|
||||
)
|
||||
|
||||
func NewBuilderDecorator(ak keeper.Keeper, txDecoder sdk.TxDecoder, txEncoder sdk.TxEncoder, mempool Mempool) BuilderDecorator {
|
||||
return BuilderDecorator{
|
||||
builderKeeper: ak,
|
||||
txDecoder: txDecoder,
|
||||
@ -96,12 +108,12 @@ func (ad BuilderDecorator) GetTopAuctionBid(ctx sdk.Context) (sdk.Coin, error) {
|
||||
return sdk.Coin{}, nil
|
||||
}
|
||||
|
||||
bid, err := ad.mempool.GetBid(auctionTx)
|
||||
auctionBidInfo, err := ad.mempool.GetAuctionBidInfo(auctionTx)
|
||||
if err != nil {
|
||||
return sdk.Coin{}, err
|
||||
}
|
||||
|
||||
return bid, nil
|
||||
return auctionBidInfo.Bid, nil
|
||||
}
|
||||
|
||||
// IsTopBidTx returns true if the transaction inputted is the highest bidding auction transaction in the mempool.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user