Skip to content

Commit d8af663

Browse files
authored
vms/txs/mempool: unify avm and platformvm mempool implementations (#2994)
1 parent c10812b commit d8af663

17 files changed

+675
-1015
lines changed

vms/avm/network/gossip.go

+5-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ import (
1616
"github.com/ava-labs/avalanchego/network/p2p/gossip"
1717
"github.com/ava-labs/avalanchego/utils/logging"
1818
"github.com/ava-labs/avalanchego/vms/avm/txs"
19-
"github.com/ava-labs/avalanchego/vms/avm/txs/mempool"
19+
"github.com/ava-labs/avalanchego/vms/txs/mempool"
20+
21+
xmempool "github.com/ava-labs/avalanchego/vms/avm/txs/mempool"
2022
)
2123

2224
var (
@@ -66,7 +68,7 @@ func (g *txParser) UnmarshalGossip(bytes []byte) (*txs.Tx, error) {
6668
}
6769

6870
func newGossipMempool(
69-
mempool mempool.Mempool,
71+
mempool xmempool.Mempool,
7072
registerer prometheus.Registerer,
7173
log logging.Logger,
7274
txVerifier TxVerifier,
@@ -86,7 +88,7 @@ func newGossipMempool(
8688
}
8789

8890
type gossipMempool struct {
89-
mempool.Mempool
91+
xmempool.Mempool
9092
log logging.Logger
9193
txVerifier TxVerifier
9294
parser txs.Parser

vms/avm/network/network_test.go

+23-21
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@ import (
2020
"github.com/ava-labs/avalanchego/vms/avm/block/executor"
2121
"github.com/ava-labs/avalanchego/vms/avm/fxs"
2222
"github.com/ava-labs/avalanchego/vms/avm/txs"
23-
"github.com/ava-labs/avalanchego/vms/avm/txs/mempool"
2423
"github.com/ava-labs/avalanchego/vms/nftfx"
2524
"github.com/ava-labs/avalanchego/vms/propertyfx"
2625
"github.com/ava-labs/avalanchego/vms/secp256k1fx"
26+
"github.com/ava-labs/avalanchego/vms/txs/mempool"
27+
28+
xmempool "github.com/ava-labs/avalanchego/vms/avm/txs/mempool"
2729
)
2830

2931
var (
@@ -52,7 +54,7 @@ var (
5254
func TestNetworkIssueTxFromRPC(t *testing.T) {
5355
type test struct {
5456
name string
55-
mempoolFunc func(*gomock.Controller) mempool.Mempool
57+
mempoolFunc func(*gomock.Controller) xmempool.Mempool
5658
txVerifierFunc func(*gomock.Controller) TxVerifier
5759
appSenderFunc func(*gomock.Controller) common.AppSender
5860
expectedErr error
@@ -61,17 +63,17 @@ func TestNetworkIssueTxFromRPC(t *testing.T) {
6163
tests := []test{
6264
{
6365
name: "mempool has transaction",
64-
mempoolFunc: func(ctrl *gomock.Controller) mempool.Mempool {
65-
mempool := mempool.NewMockMempool(ctrl)
66+
mempoolFunc: func(ctrl *gomock.Controller) xmempool.Mempool {
67+
mempool := xmempool.NewMockMempool(ctrl)
6668
mempool.EXPECT().Get(gomock.Any()).Return(nil, true)
6769
return mempool
6870
},
6971
expectedErr: mempool.ErrDuplicateTx,
7072
},
7173
{
7274
name: "transaction marked as dropped in mempool",
73-
mempoolFunc: func(ctrl *gomock.Controller) mempool.Mempool {
74-
mempool := mempool.NewMockMempool(ctrl)
75+
mempoolFunc: func(ctrl *gomock.Controller) xmempool.Mempool {
76+
mempool := xmempool.NewMockMempool(ctrl)
7577
mempool.EXPECT().Get(gomock.Any()).Return(nil, false)
7678
mempool.EXPECT().GetDropReason(gomock.Any()).Return(errTest)
7779
return mempool
@@ -80,8 +82,8 @@ func TestNetworkIssueTxFromRPC(t *testing.T) {
8082
},
8183
{
8284
name: "transaction invalid",
83-
mempoolFunc: func(ctrl *gomock.Controller) mempool.Mempool {
84-
mempool := mempool.NewMockMempool(ctrl)
85+
mempoolFunc: func(ctrl *gomock.Controller) xmempool.Mempool {
86+
mempool := xmempool.NewMockMempool(ctrl)
8587
mempool.EXPECT().Get(gomock.Any()).Return(nil, false)
8688
mempool.EXPECT().GetDropReason(gomock.Any()).Return(nil)
8789
mempool.EXPECT().MarkDropped(gomock.Any(), gomock.Any())
@@ -96,8 +98,8 @@ func TestNetworkIssueTxFromRPC(t *testing.T) {
9698
},
9799
{
98100
name: "can't add transaction to mempool",
99-
mempoolFunc: func(ctrl *gomock.Controller) mempool.Mempool {
100-
mempool := mempool.NewMockMempool(ctrl)
101+
mempoolFunc: func(ctrl *gomock.Controller) xmempool.Mempool {
102+
mempool := xmempool.NewMockMempool(ctrl)
101103
mempool.EXPECT().Get(gomock.Any()).Return(nil, false)
102104
mempool.EXPECT().GetDropReason(gomock.Any()).Return(nil)
103105
mempool.EXPECT().Add(gomock.Any()).Return(errTest)
@@ -113,8 +115,8 @@ func TestNetworkIssueTxFromRPC(t *testing.T) {
113115
},
114116
{
115117
name: "happy path",
116-
mempoolFunc: func(ctrl *gomock.Controller) mempool.Mempool {
117-
mempool := mempool.NewMockMempool(ctrl)
118+
mempoolFunc: func(ctrl *gomock.Controller) xmempool.Mempool {
119+
mempool := xmempool.NewMockMempool(ctrl)
118120
mempool.EXPECT().Get(gomock.Any()).Return(nil, false)
119121
mempool.EXPECT().GetDropReason(gomock.Any()).Return(nil)
120122
mempool.EXPECT().Add(gomock.Any()).Return(nil)
@@ -151,8 +153,8 @@ func TestNetworkIssueTxFromRPC(t *testing.T) {
151153
)
152154
require.NoError(err)
153155

154-
mempoolFunc := func(ctrl *gomock.Controller) mempool.Mempool {
155-
return mempool.NewMockMempool(ctrl)
156+
mempoolFunc := func(ctrl *gomock.Controller) xmempool.Mempool {
157+
return xmempool.NewMockMempool(ctrl)
156158
}
157159
if tt.mempoolFunc != nil {
158160
mempoolFunc = tt.mempoolFunc
@@ -203,16 +205,16 @@ func TestNetworkIssueTxFromRPC(t *testing.T) {
203205
func TestNetworkIssueTxFromRPCWithoutVerification(t *testing.T) {
204206
type test struct {
205207
name string
206-
mempoolFunc func(*gomock.Controller) mempool.Mempool
208+
mempoolFunc func(*gomock.Controller) xmempool.Mempool
207209
appSenderFunc func(*gomock.Controller) common.AppSender
208210
expectedErr error
209211
}
210212

211213
tests := []test{
212214
{
213215
name: "can't add transaction to mempool",
214-
mempoolFunc: func(ctrl *gomock.Controller) mempool.Mempool {
215-
mempool := mempool.NewMockMempool(ctrl)
216+
mempoolFunc: func(ctrl *gomock.Controller) xmempool.Mempool {
217+
mempool := xmempool.NewMockMempool(ctrl)
216218
mempool.EXPECT().Add(gomock.Any()).Return(errTest)
217219
mempool.EXPECT().MarkDropped(gomock.Any(), gomock.Any())
218220
return mempool
@@ -221,8 +223,8 @@ func TestNetworkIssueTxFromRPCWithoutVerification(t *testing.T) {
221223
},
222224
{
223225
name: "happy path",
224-
mempoolFunc: func(ctrl *gomock.Controller) mempool.Mempool {
225-
mempool := mempool.NewMockMempool(ctrl)
226+
mempoolFunc: func(ctrl *gomock.Controller) xmempool.Mempool {
227+
mempool := xmempool.NewMockMempool(ctrl)
226228
mempool.EXPECT().Get(gomock.Any()).Return(nil, true).Times(2)
227229
mempool.EXPECT().Add(gomock.Any()).Return(nil)
228230
mempool.EXPECT().Len().Return(0)
@@ -252,8 +254,8 @@ func TestNetworkIssueTxFromRPCWithoutVerification(t *testing.T) {
252254
)
253255
require.NoError(err)
254256

255-
mempoolFunc := func(ctrl *gomock.Controller) mempool.Mempool {
256-
return mempool.NewMockMempool(ctrl)
257+
mempoolFunc := func(ctrl *gomock.Controller) xmempool.Mempool {
258+
return xmempool.NewMockMempool(ctrl)
257259
}
258260
if tt.mempoolFunc != nil {
259261
mempoolFunc = tt.mempoolFunc

0 commit comments

Comments
 (0)