def fetch_deposit_address(self, code, params={}): self.load_markets() currency = self.currency(code) if self.is_fiat(code): raise NotSupported(self.id + ' fetchDepositAddress() for fiat ' + code + ' is not supported') request = { 'currency': currency['id'], } response = self.privateGetCurrenciesCurrencyReceiveAddresses( self.extend(request, params)) receiveAddresses = self.safe_value(response, 'receive_addresses') addressPool = [] for i in range(1, len(receiveAddresses)): receiveAddress = receiveAddresses[i] if receiveAddress['ready']: address = receiveAddress['address'] self.check_address(address) addressPool.append(address) addressPoolLength = len(addressPool) if addressPoolLength < 1: raise AddressPending( self.id + ': there are no addresses ready for receiving ' + code + ', retry again later)') address = addressPool[0] return { 'currency': code, 'address': address, 'tag': None, 'info': receiveAddresses, }
async def fetch_deposit_address(self, code, params={}): await self.load_markets() currency = self.currency(code) response = await self.accountGetDepositaddress( self.extend({ 'currency': currency['id'], }, params)) address = self.safe_string(response['result'], 'Address') message = self.safe_string(response, 'message') if not address or message == 'ADDRESS_GENERATING': raise AddressPending( self.id + ' the address for ' + code + ' is being generated(pending, not ready yet, retry again later)' ) tag = None if (code == 'XRP') or (code == 'XLM') or (code == 'LSK'): tag = address address = currency['address'] self.check_address(address) return { 'currency': code, 'address': address, 'tag': tag, 'info': response, }
def fetch_deposit_address(self, code, params={}): self.load_markets() currency = self.currency(code) request = { 'currency': currency['id'], } response = self.accountGetDepositaddress(self.extend(request, params)) # # {"success": False, "message": "ADDRESS_GENERATING", "result": null} # # {success: True, # message: "", # result: {Currency: "INCNT", # Address: "3PHvQt9bK21f7eVQVdJzrNPcsMzXabEA5Ha"} }} # address = self.safe_string(response['result'], 'Address') message = self.safe_string(response, 'message') if not address or message == 'ADDRESS_GENERATING': raise AddressPending(self.id + ' the address for ' + code + ' is being generated(pending, not ready yet, retry again later)') tag = None if currency['type'] in self.options['tag']: tag = address address = currency['address'] self.check_address(address) return { 'currency': code, 'address': address, 'tag': tag, 'info': response, }
async def fetch_deposit_address(self, code, params={}): """ fetch the deposit address for a currency associated with self account :param str code: unified currency code :param dict params: extra parameters specific to the buda api endpoint :returns dict: an `address structure <https://docs.ccxt.com/en/latest/manual.html#address-structure>` """ await self.load_markets() currency = self.currency(code) if self.is_fiat(code): raise NotSupported(self.id + ' fetchDepositAddress() for fiat ' + code + ' is not supported') request = { 'currency': currency['id'], } response = await self.privateGetCurrenciesCurrencyReceiveAddresses( self.extend(request, params)) receiveAddresses = self.safe_value(response, 'receive_addresses') addressPool = [] for i in range(1, len(receiveAddresses)): receiveAddress = receiveAddresses[i] if receiveAddress['ready']: address = receiveAddress['address'] self.check_address(address) addressPool.append(address) addressPoolLength = len(addressPool) if addressPoolLength < 1: raise AddressPending( self.id + ': there are no addresses ready for receiving ' + code + ', retry again later)') address = addressPool[0] return { 'currency': code, 'address': address, 'tag': None, 'network': None, 'info': receiveAddresses, }