Ejemplo n.º 1
0
 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,
     }
Ejemplo n.º 2
0
 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,
     }
Ejemplo n.º 3
0
 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,
     }
Ejemplo n.º 4
0
 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,
     }