Exemplo n.º 1
0
 def __init__(self, count, freq, cachedir='', pairs=[]):
     self.count = max(count, 1)
     self.d = {}
     self.lastmutex = Semaphore(1)
     self.first = None
     self.last = None
     for key, value in pairs:
         self[key] = value
     # Set the frequency to something like 1/100th of
     # the expected dictionary final size to achieve
     # best performance.
     self.diskcache = DictCache(freq, cachedir)
Exemplo n.º 2
0
 def __init__(self,
              router_config: str='uniswap',
              name: Optional[str]=None,
              filter_address: Sequence[str]=None):
     script_dir = os.path.dirname(os.path.realpath(__file__))
     self.name = type(self).__name__ if name is None else name
     with open(os.path.join(script_dir, 'config.json')) as f:
         self._config = json5.load(f)
     self._uniswap: Dict[str, UniswapV2Client] = {}
     self.router_config = router_config
     self._web3: Optional[Web3] = None
     self._web3_write: Optional[Web3] = None
     self._abi_cache: Dict[str, str] = {}
     self.wait_async = 0.1
     self.token_cache = DictCache("token-" + self.name)
     self.pair_cache = DictCache("pair-" + self.name)
     self.reserves_cache = DictCache("reserves-" + self.name)
     self.deadline = 1800.0
     self.default_gas_price = \
         self.web3().toWei(15, "gwei")
     self._weth_address: Optional[str] = None
     self.execute_trade = False
     self.filter_address = [ self.uniswap().router_address.lower() ] \
         if filter_address is None else [x.lower() for x in filter_address]