Some further cleanup
This commit is contained in:
parent
885872f0b5
commit
1f3e942cbc
13
lib/coins.py
13
lib/coins.py
@ -42,8 +42,7 @@ from lib.script import ScriptPubKey
|
||||
from lib.tx import Deserializer, DeserializerSegWit, DeserializerAuxPow, \
|
||||
DeserializerZcash, DeserializerTxTime, DeserializerReddcoin
|
||||
from server.block_processor import BlockProcessor
|
||||
from server.daemon import Daemon, DashDaemon, LegacyRPCDaemon,\
|
||||
FakeEstimateFeeDaemon
|
||||
import server.daemon as daemon
|
||||
from server.session import ElectrumX, DashElectrumX
|
||||
|
||||
|
||||
@ -67,7 +66,7 @@ class Coin(object):
|
||||
STATIC_BLOCK_HEADERS = True
|
||||
SESSIONCLS = ElectrumX
|
||||
DESERIALIZER = Deserializer
|
||||
DAEMON = Daemon
|
||||
DAEMON = daemon.Daemon
|
||||
BLOCK_PROCESSOR = BlockProcessor
|
||||
XPUB_VERBYTES = bytes('????', 'utf-8')
|
||||
XPRV_VERBYTES = bytes('????', 'utf-8')
|
||||
@ -612,7 +611,7 @@ class Dash(Coin):
|
||||
'wl4sfwq2hwxnodof.onion s t',
|
||||
]
|
||||
SESSIONCLS = DashElectrumX
|
||||
DAEMON = DashDaemon
|
||||
DAEMON = daemon.DashDaemon
|
||||
|
||||
@classmethod
|
||||
def header_hash(cls, header):
|
||||
@ -814,7 +813,7 @@ class Blackcoin(Coin):
|
||||
GENESIS_HASH = ('000001faef25dec4fbcf906e6242621d'
|
||||
'f2c183bf232f263d0ba5b101911e4563')
|
||||
DESERIALIZER = DeserializerTxTime
|
||||
DAEMON = LegacyRPCDaemon
|
||||
DAEMON = daemon.LegacyRPCDaemon
|
||||
TX_COUNT = 4594999
|
||||
TX_COUNT_HEIGHT = 1667070
|
||||
TX_PER_BLOCK = 3
|
||||
@ -848,7 +847,7 @@ class Peercoin(Coin):
|
||||
GENESIS_HASH = ('0000000032fe677166d54963b62a4677'
|
||||
'd8957e87c508eaa4fd7eb1c880cd27e3')
|
||||
DESERIALIZER = DeserializerTxTime
|
||||
DAEMON = LegacyRPCDaemon
|
||||
DAEMON = daemon.LegacyRPCDaemon
|
||||
TX_COUNT = 1207356
|
||||
TX_COUNT_HEIGHT = 306425
|
||||
TX_PER_BLOCK = 4
|
||||
@ -950,7 +949,7 @@ class Fujicoin(Coin):
|
||||
'a636f70856183086842667a1597714a0')
|
||||
ESTIMATE_FEE = 0.001
|
||||
RELAY_FEE = 0.001
|
||||
DAEMON = FakeEstimateFeeDaemon
|
||||
DAEMON = daemon.FakeEstimateFeeDaemon
|
||||
TX_COUNT = 170478
|
||||
TX_COUNT_HEIGHT = 1521676
|
||||
TX_PER_BLOCK = 1
|
||||
|
||||
@ -47,8 +47,7 @@ class Controller(util.LoggedClass):
|
||||
self.loop.set_default_executor(self.executor)
|
||||
self.start_time = time.time()
|
||||
self.coin = env.coin
|
||||
self.daemon = self.coin.DAEMON(self.coin,
|
||||
env.coin.daemon_urls(env.daemon_url))
|
||||
self.daemon = self.coin.DAEMON(env)
|
||||
self.bp = self.coin.BLOCK_PROCESSOR(env, self, self.daemon)
|
||||
self.mempool = MemPool(self.bp, self)
|
||||
self.peer_mgr = PeerManager(env, self)
|
||||
|
||||
@ -34,10 +34,10 @@ class Daemon(util.LoggedClass):
|
||||
class DaemonWarmingUpError(Exception):
|
||||
'''Raised when the daemon returns an error in its results.'''
|
||||
|
||||
def __init__(self, coin, urls):
|
||||
def __init__(self, env):
|
||||
super().__init__()
|
||||
self.coin = coin
|
||||
self.set_urls(urls)
|
||||
self.coin = env.coin
|
||||
self.set_urls(env.coin.daemon_urls(env.daemon_url))
|
||||
self._height = None
|
||||
self._mempool_hashes = set()
|
||||
self.mempool_refresh_event = asyncio.Event()
|
||||
@ -264,7 +264,9 @@ class Daemon(util.LoggedClass):
|
||||
If the daemon has not been queried yet this returns None.'''
|
||||
return self._height
|
||||
|
||||
|
||||
class DashDaemon(Daemon):
|
||||
|
||||
async def masternode_broadcast(self, params):
|
||||
'''Broadcast a transaction to the network.'''
|
||||
return await self._send_single('masternodebroadcast', params)
|
||||
@ -273,9 +275,11 @@ class DashDaemon(Daemon):
|
||||
'''Return the masternode status.'''
|
||||
return await self._send_single('masternodelist', params)
|
||||
|
||||
|
||||
class FakeEstimateFeeDaemon(Daemon):
|
||||
'''Daemon that simulates estimatefee and relayfee RPC calls. Coin that
|
||||
wants to use this daemon must define ESTIMATE_FEE & RELAY_FEE'''
|
||||
|
||||
async def estimatefee(self, params):
|
||||
'''Return the fee estimate for the given parameters.'''
|
||||
return self.coin.ESTIMATE_FEE
|
||||
@ -285,6 +289,7 @@ class FakeEstimateFeeDaemon(Daemon):
|
||||
to the daemon's memory pool.'''
|
||||
return self.coin.RELAY_FEE
|
||||
|
||||
|
||||
class LegacyRPCDaemon(Daemon):
|
||||
'''Handles connections to a daemon at the given URL.
|
||||
|
||||
@ -294,7 +299,6 @@ class LegacyRPCDaemon(Daemon):
|
||||
as in the underlying blockchain but it is good enough for our indexing
|
||||
purposes.'''
|
||||
|
||||
|
||||
async def raw_blocks(self, hex_hashes):
|
||||
'''Return the raw binary blocks with the given hex hashes.'''
|
||||
params_iterable = ((h, ) for h in hex_hashes)
|
||||
@ -340,4 +344,6 @@ class LegacyRPCDaemon(Daemon):
|
||||
return raw_block
|
||||
|
||||
def timestamp_safe(self, t):
|
||||
return t if isinstance(t, int) else timegm(strptime(t, "%Y-%m-%d %H:%M:%S %Z"))
|
||||
if isinstance(t, int):
|
||||
return t
|
||||
return timegm(strptime(t, "%Y-%m-%d %H:%M:%S %Z"))
|
||||
|
||||
Loading…
Reference in New Issue
Block a user