refactor(mempool)!: match server/v2/cometbft and sdk mempool interface (#21744)
Co-authored-by: Marko <marko@baricevic.me>
This commit is contained in:
@@ -14,10 +14,10 @@ type Mempool interface {
|
||||
|
||||
// Select returns an Iterator over the app-side mempool. If txs are specified,
|
||||
// then they shall be incorporated into the Iterator. The Iterator is not thread-safe to use.
|
||||
Select(context.Context, [][]byte) Iterator
|
||||
Select(context.Context, []sdk.Tx) Iterator
|
||||
|
||||
// SelectBy use callback to iterate over the mempool, it's thread-safe to use.
|
||||
SelectBy(context.Context, [][]byte, func(sdk.Tx) bool)
|
||||
SelectBy(context.Context, []sdk.Tx, func(sdk.Tx) bool)
|
||||
|
||||
// CountTx returns the number of transactions currently in the mempool.
|
||||
CountTx() int
|
||||
|
||||
@@ -17,7 +17,7 @@ var _ Mempool = (*NoOpMempool)(nil)
|
||||
type NoOpMempool struct{}
|
||||
|
||||
func (NoOpMempool) Insert(context.Context, sdk.Tx) error { return nil }
|
||||
func (NoOpMempool) Select(context.Context, [][]byte) Iterator { return nil }
|
||||
func (NoOpMempool) SelectBy(context.Context, [][]byte, func(sdk.Tx) bool) {}
|
||||
func (NoOpMempool) Select(context.Context, []sdk.Tx) Iterator { return nil }
|
||||
func (NoOpMempool) SelectBy(context.Context, []sdk.Tx, func(sdk.Tx) bool) {}
|
||||
func (NoOpMempool) CountTx() int { return 0 }
|
||||
func (NoOpMempool) Remove(sdk.Tx) error { return nil }
|
||||
|
||||
@@ -361,13 +361,13 @@ func (i *PriorityNonceIterator[C]) Tx() sdk.Tx {
|
||||
//
|
||||
// NOTE: It is not safe to use this iterator while removing transactions from
|
||||
// the underlying mempool.
|
||||
func (mp *PriorityNonceMempool[C]) Select(ctx context.Context, txs [][]byte) Iterator {
|
||||
func (mp *PriorityNonceMempool[C]) Select(ctx context.Context, txs []sdk.Tx) Iterator {
|
||||
mp.mtx.Lock()
|
||||
defer mp.mtx.Unlock()
|
||||
return mp.doSelect(ctx, txs)
|
||||
}
|
||||
|
||||
func (mp *PriorityNonceMempool[C]) doSelect(_ context.Context, _ [][]byte) Iterator {
|
||||
func (mp *PriorityNonceMempool[C]) doSelect(_ context.Context, _ []sdk.Tx) Iterator {
|
||||
if mp.priorityIndex.Len() == 0 {
|
||||
return nil
|
||||
}
|
||||
@@ -383,7 +383,7 @@ func (mp *PriorityNonceMempool[C]) doSelect(_ context.Context, _ [][]byte) Itera
|
||||
}
|
||||
|
||||
// SelectBy will hold the mutex during the iteration, callback returns if continue.
|
||||
func (mp *PriorityNonceMempool[C]) SelectBy(ctx context.Context, txs [][]byte, callback func(sdk.Tx) bool) {
|
||||
func (mp *PriorityNonceMempool[C]) SelectBy(ctx context.Context, txs []sdk.Tx, callback func(sdk.Tx) bool) {
|
||||
mp.mtx.Lock()
|
||||
defer mp.mtx.Unlock()
|
||||
|
||||
|
||||
@@ -167,13 +167,13 @@ func (snm *SenderNonceMempool) Insert(_ context.Context, tx sdk.Tx) error {
|
||||
//
|
||||
// NOTE: It is not safe to use this iterator while removing transactions from
|
||||
// the underlying mempool.
|
||||
func (snm *SenderNonceMempool) Select(ctx context.Context, txs [][]byte) Iterator {
|
||||
func (snm *SenderNonceMempool) Select(ctx context.Context, txs []sdk.Tx) Iterator {
|
||||
snm.mtx.Lock()
|
||||
defer snm.mtx.Unlock()
|
||||
return snm.doSelect(ctx, txs)
|
||||
}
|
||||
|
||||
func (snm *SenderNonceMempool) doSelect(_ context.Context, _ [][]byte) Iterator {
|
||||
func (snm *SenderNonceMempool) doSelect(_ context.Context, _ []sdk.Tx) Iterator {
|
||||
var senders []string
|
||||
|
||||
senderCursors := make(map[string]*skiplist.Element)
|
||||
@@ -202,7 +202,7 @@ func (snm *SenderNonceMempool) doSelect(_ context.Context, _ [][]byte) Iterator
|
||||
}
|
||||
|
||||
// SelectBy will hold the mutex during the iteration, callback returns if continue.
|
||||
func (snm *SenderNonceMempool) SelectBy(ctx context.Context, txs [][]byte, callback func(sdk.Tx) bool) {
|
||||
func (snm *SenderNonceMempool) SelectBy(ctx context.Context, txs []sdk.Tx, callback func(sdk.Tx) bool) {
|
||||
snm.mtx.Lock()
|
||||
defer snm.mtx.Unlock()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user