* @method * @name cryptocom#fetchDepositAddressesByNetwork * @description fetch a dictionary of addresses for a currency, indexed by network * @see https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#private-get-deposit-address * @param {string} code unified currency
(code: string, params = {})
| 2034 | * @returns {object} a dictionary of [address structures]{@link https://docs.ccxt.com/?id=address-structure} indexed by the network |
| 2035 | */ |
| 2036 | async fetchDepositAddressesByNetwork (code: string, params = {}): Promise<DepositAddress[]> { |
| 2037 | await this.loadMarkets (); |
| 2038 | const currency = this.safeCurrency (code); |
| 2039 | const request: Dict = { |
| 2040 | 'currency': currency['id'], |
| 2041 | }; |
| 2042 | const response = await this.v1PrivatePostPrivateGetDepositAddress (this.extend (request, params)); |
| 2043 | // |
| 2044 | // { |
| 2045 | // "id": 1234555011221, |
| 2046 | // "method": "private/get-deposit-address", |
| 2047 | // "code": 0, |
| 2048 | // "result": { |
| 2049 | // "deposit_address_list": [ |
| 2050 | // { |
| 2051 | // "currency": "BTC", |
| 2052 | // "create_time": 1686730755000, |
| 2053 | // "id": "3737377", |
| 2054 | // "address": "3N9afggxTSmJ3H4jaMQuWyEiLBzZdAbK6d", |
| 2055 | // "status":"1", |
| 2056 | // "network": "BTC" |
| 2057 | // }, |
| 2058 | // ] |
| 2059 | // } |
| 2060 | // } |
| 2061 | // |
| 2062 | const data = this.safeDict (response, 'result', {}); |
| 2063 | const addresses = this.safeList (data, 'deposit_address_list', []); |
| 2064 | const addressesLength = addresses.length; |
| 2065 | if (addressesLength === 0) { |
| 2066 | throw new ExchangeError (this.id + ' fetchDepositAddressesByNetwork() generating address...'); |
| 2067 | } |
| 2068 | const result: Dict = {}; |
| 2069 | for (let i = 0; i < addressesLength; i++) { |
| 2070 | const value = this.safeDict (addresses, i); |
| 2071 | const addressString = this.safeString (value, 'address'); |
| 2072 | const currencyId = this.safeString (value, 'currency'); |
| 2073 | const responseCode = this.safeCurrencyCode (currencyId); |
| 2074 | const [ address, tag ] = this.parseAddress (addressString); |
| 2075 | this.checkAddress (address); |
| 2076 | const networkId = this.safeString (value, 'network'); |
| 2077 | const network = this.networkIdToCode (networkId, responseCode); |
| 2078 | result[network] = { |
| 2079 | 'info': value, |
| 2080 | 'currency': responseCode, |
| 2081 | 'network': network, |
| 2082 | 'address': address, |
| 2083 | 'tag': tag, |
| 2084 | }; |
| 2085 | } |
| 2086 | return result as DepositAddress[]; |
| 2087 | } |
| 2088 | |
| 2089 | /** |
| 2090 | * @method |
no test coverage detected