5
5
6
6
"github.com/ethereum/go-ethereum/rpc"
7
7
8
+ evmmempool "github.com/cosmos/evm/mempool"
8
9
"github.com/cosmos/evm/rpc/backend"
9
10
"github.com/cosmos/evm/rpc/namespaces/ethereum/debug"
10
11
"github.com/cosmos/evm/rpc/namespaces/ethereum/eth"
@@ -47,6 +48,7 @@ type APICreator = func(
47
48
stream * stream.RPCStream ,
48
49
allowUnprotectedTxs bool ,
49
50
indexer types.EVMTxIndexer ,
51
+ mempool * evmmempool.ExperimentalEVMMempool ,
50
52
) []rpc.API
51
53
52
54
// apiCreators defines the JSON-RPC API namespaces.
@@ -59,8 +61,9 @@ func init() {
59
61
stream * stream.RPCStream ,
60
62
allowUnprotectedTxs bool ,
61
63
indexer types.EVMTxIndexer ,
64
+ mempool * evmmempool.ExperimentalEVMMempool ,
62
65
) []rpc.API {
63
- evmBackend := backend .NewBackend (ctx , ctx .Logger , clientCtx , allowUnprotectedTxs , indexer )
66
+ evmBackend := backend .NewBackend (ctx , ctx .Logger , clientCtx , allowUnprotectedTxs , indexer , mempool )
64
67
return []rpc.API {
65
68
{
66
69
Namespace : EthNamespace ,
@@ -76,7 +79,7 @@ func init() {
76
79
},
77
80
}
78
81
},
79
- Web3Namespace : func (* server.Context , client.Context , * stream.RPCStream , bool , types.EVMTxIndexer ) []rpc.API {
82
+ Web3Namespace : func (* server.Context , client.Context , * stream.RPCStream , bool , types.EVMTxIndexer , * evmmempool. ExperimentalEVMMempool ) []rpc.API {
80
83
return []rpc.API {
81
84
{
82
85
Namespace : Web3Namespace ,
@@ -86,7 +89,7 @@ func init() {
86
89
},
87
90
}
88
91
},
89
- NetNamespace : func (ctx * server.Context , clientCtx client.Context , _ * stream.RPCStream , _ bool , _ types.EVMTxIndexer ) []rpc.API {
92
+ NetNamespace : func (ctx * server.Context , clientCtx client.Context , _ * stream.RPCStream , _ bool , _ types.EVMTxIndexer , _ * evmmempool. ExperimentalEVMMempool ) []rpc.API {
90
93
return []rpc.API {
91
94
{
92
95
Namespace : NetNamespace ,
@@ -101,8 +104,9 @@ func init() {
101
104
_ * stream.RPCStream ,
102
105
allowUnprotectedTxs bool ,
103
106
indexer types.EVMTxIndexer ,
107
+ mempool * evmmempool.ExperimentalEVMMempool ,
104
108
) []rpc.API {
105
- evmBackend := backend .NewBackend (ctx , ctx .Logger , clientCtx , allowUnprotectedTxs , indexer )
109
+ evmBackend := backend .NewBackend (ctx , ctx .Logger , clientCtx , allowUnprotectedTxs , indexer , mempool )
106
110
return []rpc.API {
107
111
{
108
112
Namespace : PersonalNamespace ,
@@ -117,8 +121,9 @@ func init() {
117
121
_ * stream.RPCStream ,
118
122
allowUnprotectedTxs bool ,
119
123
indexer types.EVMTxIndexer ,
124
+ mempool * evmmempool.ExperimentalEVMMempool ,
120
125
) []rpc.API {
121
- evmBackend := backend .NewBackend (ctx , ctx .Logger , clientCtx , allowUnprotectedTxs , indexer )
126
+ evmBackend := backend .NewBackend (ctx , ctx .Logger , clientCtx , allowUnprotectedTxs , indexer , mempool )
122
127
return []rpc.API {
123
128
{
124
129
Namespace : TxPoolNamespace ,
@@ -133,8 +138,9 @@ func init() {
133
138
_ * stream.RPCStream ,
134
139
allowUnprotectedTxs bool ,
135
140
indexer types.EVMTxIndexer ,
141
+ mempool * evmmempool.ExperimentalEVMMempool ,
136
142
) []rpc.API {
137
- evmBackend := backend .NewBackend (ctx , ctx .Logger , clientCtx , allowUnprotectedTxs , indexer )
143
+ evmBackend := backend .NewBackend (ctx , ctx .Logger , clientCtx , allowUnprotectedTxs , indexer , mempool )
138
144
return []rpc.API {
139
145
{
140
146
Namespace : DebugNamespace ,
@@ -149,8 +155,9 @@ func init() {
149
155
_ * stream.RPCStream ,
150
156
allowUnprotectedTxs bool ,
151
157
indexer types.EVMTxIndexer ,
158
+ mempool * evmmempool.ExperimentalEVMMempool ,
152
159
) []rpc.API {
153
- evmBackend := backend .NewBackend (ctx , ctx .Logger , clientCtx , allowUnprotectedTxs , indexer )
160
+ evmBackend := backend .NewBackend (ctx , ctx .Logger , clientCtx , allowUnprotectedTxs , indexer , mempool )
154
161
return []rpc.API {
155
162
{
156
163
Namespace : MinerNamespace ,
@@ -170,12 +177,13 @@ func GetRPCAPIs(ctx *server.Context,
170
177
allowUnprotectedTxs bool ,
171
178
indexer types.EVMTxIndexer ,
172
179
selectedAPIs []string ,
180
+ mempool * evmmempool.ExperimentalEVMMempool ,
173
181
) []rpc.API {
174
182
var apis []rpc.API
175
183
176
184
for _ , ns := range selectedAPIs {
177
185
if creator , ok := apiCreators [ns ]; ok {
178
- apis = append (apis , creator (ctx , clientCtx , stream , allowUnprotectedTxs , indexer )... )
186
+ apis = append (apis , creator (ctx , clientCtx , stream , allowUnprotectedTxs , indexer , mempool )... )
179
187
} else {
180
188
ctx .Logger .Error ("invalid namespace value" , "namespace" , ns )
181
189
}
0 commit comments