def initialize_exchanges(self, secret_data): # initialize exchanges for which we have keys and are not already initialized if self.kraken is None and 'kraken' in secret_data: self.kraken = Kraken( str.encode(secret_data['kraken']['api_key']), str.encode(secret_data['kraken']['api_secret']), self.data_dir) self.connected_exchanges.append('kraken') self.trades_historian.set_exchange('kraken', self.kraken) if self.poloniex is None and 'poloniex' in secret_data: self.poloniex = Poloniex( str.encode(secret_data['poloniex']['api_key']), str.encode(secret_data['poloniex']['api_secret']), self.cache_data_filename, self.inquirer, self.data_dir) self.connected_exchanges.append('poloniex') self.trades_historian.set_exchange('poloniex', self.poloniex) if self.bittrex is None and 'bittrex' in secret_data: self.bittrex = Bittrex( str.encode(secret_data['bittrex']['api_key']), str.encode(secret_data['bittrex']['api_secret']), self.inquirer, self.data_dir) self.connected_exchanges.append('bittrex') self.trades_historian.set_exchange('bittrex', self.bittrex) if self.binance is None and 'binance' in secret_data: self.binance = Binance( str.encode(secret_data['binance']['api_key']), str.encode(secret_data['binance']['api_secret']), self.inquirer, self.data_dir) self.connected_exchanges.append('binance') self.trades_historian.set_exchange('binance', self.binance)
def mock_binance(accounting_data_dir, inquirer): binance = Binance(b'', b'', inquirer, accounting_data_dir) this_dir = os.path.dirname(os.path.abspath(__file__)) json_path = Path(this_dir).parent / 'tests' / 'utils' / 'data' / 'binance_exchange_info.json' with json_path.open('r') as f: json_data = json.loads(f.read()) binance._symbols_to_pair = create_binance_symbols_to_pair(json_data) binance.first_connection_made = True return binance
def initialize_exchanges( self, exchange_credentials: Dict[str, ApiCredentials]) -> None: # initialize exchanges for which we have keys and are not already initialized if self.kraken is None and 'kraken' in exchange_credentials: self.kraken = Kraken( api_key=exchange_credentials['kraken'].api_key, secret=exchange_credentials['kraken'].api_secret, user_directory=self.user_directory, msg_aggregator=self.msg_aggregator, usd_eur_price=Inquirer().query_fiat_pair(S_EUR, S_USD), ) self.connected_exchanges.append('kraken') self.trades_historian.set_exchange('kraken', self.kraken) if self.poloniex is None and 'poloniex' in exchange_credentials: self.poloniex = Poloniex( api_key=exchange_credentials['poloniex'].api_key, secret=exchange_credentials['poloniex'].api_secret, user_directory=self.user_directory, msg_aggregator=self.msg_aggregator, ) self.connected_exchanges.append('poloniex') self.trades_historian.set_exchange('poloniex', self.poloniex) if self.bittrex is None and 'bittrex' in exchange_credentials: self.bittrex = Bittrex( api_key=exchange_credentials['bittrex'].api_key, secret=exchange_credentials['bittrex'].api_secret, user_directory=self.user_directory, msg_aggregator=self.msg_aggregator, ) self.connected_exchanges.append('bittrex') self.trades_historian.set_exchange('bittrex', self.bittrex) if self.binance is None and 'binance' in exchange_credentials: self.binance = Binance( api_key=exchange_credentials['binance'].api_key, secret=exchange_credentials['binance'].api_secret, data_dir=self.user_directory, msg_aggregator=self.msg_aggregator, ) self.connected_exchanges.append('binance') self.trades_historian.set_exchange('binance', self.binance) if self.bitmex is None and 'bitmex' in exchange_credentials: self.bitmex = Bitmex( api_key=exchange_credentials['bitmex'].api_key, secret=exchange_credentials['bitmex'].api_secret, user_directory=self.user_directory, ) self.connected_exchanges.append('bitmex') self.trades_historian.set_exchange('bitmex', self.bitmex)
def initialize_exchanges(self, secret_data): # initialize exchanges for which we have keys and are not already initialized if self.kraken is None and 'kraken' in secret_data: self.kraken = Kraken( str.encode(secret_data['kraken']['api_key']), str.encode(secret_data['kraken']['api_secret']), self.user_directory, self.inquirer.query_fiat_pair(S_EUR, S_USD), ) self.connected_exchanges.append('kraken') self.trades_historian.set_exchange('kraken', self.kraken) self.inquirer.kraken = self.kraken if self.poloniex is None and 'poloniex' in secret_data: self.poloniex = Poloniex( str.encode(secret_data['poloniex']['api_key']), str.encode(secret_data['poloniex']['api_secret']), self.inquirer, self.user_directory, ) self.connected_exchanges.append('poloniex') self.trades_historian.set_exchange('poloniex', self.poloniex) if self.bittrex is None and 'bittrex' in secret_data: self.bittrex = Bittrex( str.encode(secret_data['bittrex']['api_key']), str.encode(secret_data['bittrex']['api_secret']), self.inquirer, self.user_directory, ) self.connected_exchanges.append('bittrex') self.trades_historian.set_exchange('bittrex', self.bittrex) if self.binance is None and 'binance' in secret_data: self.binance = Binance( str.encode(secret_data['binance']['api_key']), str.encode(secret_data['binance']['api_secret']), self.inquirer, self.user_directory, ) self.connected_exchanges.append('binance') self.trades_historian.set_exchange('binance', self.binance) if self.bitmex is None and 'bitmex' in secret_data: self.bitmex = Bitmex( str.encode(secret_data['bitmex']['api_key']), str.encode(secret_data['bitmex']['api_secret']), self.inquirer, self.user_directory, ) self.connected_exchanges.append('bitmex') self.trades_historian.set_exchange('bitmex', self.bitmex)
def initialize_exchanges(self, secret_data): # initialize exchanges for which we have keys and are not already initialized if self.kraken is None and 'kraken' in secret_data: self.kraken = Kraken( api_key=str.encode(secret_data['kraken']['api_key']), secret=str.encode(secret_data['kraken']['api_secret']), user_directory=self.user_directory, msg_aggregator=self.msg_aggregator, usd_eur_price=Inquirer().query_fiat_pair(S_EUR, A_USD), ) self.connected_exchanges.append('kraken') self.trades_historian.set_exchange('kraken', self.kraken) if self.poloniex is None and 'poloniex' in secret_data: self.poloniex = Poloniex( api_key=str.encode(secret_data['poloniex']['api_key']), secret=str.encode(secret_data['poloniex']['api_secret']), user_directory=self.user_directory, msg_aggregator=self.msg_aggregator, ) self.connected_exchanges.append('poloniex') self.trades_historian.set_exchange('poloniex', self.poloniex) if self.bittrex is None and 'bittrex' in secret_data: self.bittrex = Bittrex( api_key=str.encode(secret_data['bittrex']['api_key']), secret=str.encode(secret_data['bittrex']['api_secret']), user_directory=self.user_directory, msg_aggregator=self.msg_aggregator, ) self.connected_exchanges.append('bittrex') self.trades_historian.set_exchange('bittrex', self.bittrex) if self.binance is None and 'binance' in secret_data: self.binance = Binance( api_key=str.encode(secret_data['binance']['api_key']), secret=str.encode(secret_data['binance']['api_secret']), data_dir=self.user_directory, msg_aggregator=self.msg_aggregator, ) self.connected_exchanges.append('binance') self.trades_historian.set_exchange('binance', self.binance) if self.bitmex is None and 'bitmex' in secret_data: self.bitmex = Bitmex( api_key=str.encode(secret_data['bitmex']['api_key']), secret=str.encode(secret_data['bitmex']['api_secret']), user_directory=self.user_directory, ) self.connected_exchanges.append('bitmex') self.trades_historian.set_exchange('bitmex', self.bitmex)
def mock_binance(accounting_data_dir, inquirer): # pylint: disable=unused-argument binance = Binance( api_key=base64.b64encode(make_random_b64bytes(128)), secret=base64.b64encode(make_random_b64bytes(128)), data_dir=accounting_data_dir, msg_aggregator=MessagesAggregator(), ) this_dir = os.path.dirname(os.path.abspath(__file__)) json_path = Path( this_dir ).parent / 'tests' / 'utils' / 'data' / 'binance_exchange_info.json' with json_path.open('r') as f: json_data = json.loads(f.read()) binance._symbols_to_pair = create_binance_symbols_to_pair(json_data) binance.first_connection_made = True return binance
def test_binance_assets_are_known( accounting_data_dir, inquirer, # pylint: disable=unused-argument ): # use a real binance instance so that we always get the latest data binance = Binance( api_key=base64.b64encode(make_random_b64bytes(128)), secret=base64.b64encode(make_random_b64bytes(128)), data_dir=accounting_data_dir, msg_aggregator=MessagesAggregator(), ) mapping = binance.symbols_to_pair binance_assets = set() for _, pair in mapping.items(): binance_assets.add(pair.binance_base_asset) binance_assets.add(pair.binance_quote_asset) sorted_assets = sorted(binance_assets) for binance_asset in sorted_assets: _ = asset_from_binance(binance_asset)