51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
|
class MemPoolSyncer(Syncer):
|
||
|
|
||
|
|
||
|
def __init__(self, bc_cache):
|
||
|
raise NotImplementedError('incomplete, needs web3 tx to raw transaction conversion')
|
||
|
super(MemPoolSyncer, self).__init__(bc_cache)
|
||
|
# self.w3_filter = Syncer.w3.eth.filter('pending')
|
||
|
# for tx in tx_cache.txs:
|
||
|
# self.txs.append(tx)
|
||
|
# logg.debug('add tx {} to mempoolsyncer'.format(tx))
|
||
|
#
|
||
|
#
|
||
|
# def get(self):
|
||
|
# return self.w3_filter.get_new_entries()
|
||
|
#
|
||
|
#
|
||
|
# def process(self, tx_hash):
|
||
|
# tx_hash_hex = tx_hash.hex()
|
||
|
# if tx_hash_hex in self.txs:
|
||
|
# logg.debug('syncer already watching {}, skipping'.format(tx_hash_hex))
|
||
|
# tx = self.w3.eth.getTransaction(tx_hash_hex)
|
||
|
# serialized_tx = rlp.encode({
|
||
|
# 'nonce': tx.nonce,
|
||
|
# 'from': getattr(tx, 'from'),
|
||
|
# })
|
||
|
# logg.info('add {} to syncer: {}'.format(tx, serialized_tx))
|
||
|
# otx = Otx(
|
||
|
# nonce=tx.nonce,
|
||
|
# address=getattr(tx, 'from'),
|
||
|
# tx_hash=tx_hash_hex,
|
||
|
# signed_tx=serialized_tx,
|
||
|
# )
|
||
|
# Otx.session.add(otx)
|
||
|
# Otx.session.commit()
|
||
|
#
|
||
|
#
|
||
|
# def loop(self, interval):
|
||
|
# while Syncer.running:
|
||
|
# logg.debug('loop execute')
|
||
|
# txs = self.get()
|
||
|
# logg.debug('got txs {}'.format(txs))
|
||
|
# for tx in txs:
|
||
|
# #block_number = self.process(block.hex())
|
||
|
# self.process(tx)
|
||
|
# #if block_number > self.bc_cache.head():
|
||
|
# # self.bc_cache.head(block_number)
|
||
|
# time.sleep(interval)
|
||
|
# logg.info("Syncer no longer set to run, gracefully exiting")
|
||
|
|
||
|
|