Skip to content

Commit 634b358

Browse files
Merge branch '712-mempool' into 713-make-get_receipt-working
# Conflicts: # proxy/common_neon/utils/pickable_data_server.py # proxy/mempool/mem_pool.py # proxy/mempool/mempool_api.py # proxy/mempool/mempool_client.py # proxy/mempool/mempool_service.py # proxy/neon_rpc_api_model/neon_rpc_api_model.py
2 parents 153f3a3 + 9ec72ec commit 634b358

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
from logged_groups import logged_group
2+
3+
from ..common_neon.solana_interactor import SolanaInteractor
4+
from ..common_neon.config import IConfig
5+
from ..memdb.memdb import MemDB
6+
7+
# TODO: NeonTxSender should be moved out from there
8+
from .transaction_sender import NeonTxSender
9+
from .operator_resource_list import OperatorResourceList
10+
from .mempool_api import MemPoolTxRequest
11+
12+
13+
@logged_group("neon.MemPool")
14+
class MemPoolTxExecutor:
15+
16+
def __init__(self, config: IConfig):
17+
18+
self._solana = SolanaInteractor(config.get_solana_url())
19+
self._db = MemDB(self._solana)
20+
self._config = config
21+
22+
def execute_neon_tx(self, mempool_tx_request: MemPoolTxRequest):
23+
neon_tx = mempool_tx_request.neon_tx
24+
neon_tx_cfg = mempool_tx_request.neon_tx_exec_cfg
25+
emulating_result = mempool_tx_request.emulating_result
26+
emv_step_count = self._config.get_evm_count()
27+
tx_sender = NeonTxSender(self._db, self._solana, neon_tx, steps=emv_step_count)
28+
with OperatorResourceList(tx_sender):
29+
tx_sender.execute(neon_tx_cfg, emulating_result)

0 commit comments

Comments
 (0)