MCPcopy Create free account
hub / github.com/ccxt/ccxt / fetchDepositAddressesByNetwork

Method fetchDepositAddressesByNetwork

ts/src/cryptocom.ts:2036–2087  ·  view source on GitHub ↗

* @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 = {})

Source from the content-addressed store, hash-verified

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

Callers 1

fetchDepositAddressMethod · 0.95

Calls 11

parseAddressMethod · 0.95
loadMarketsMethod · 0.45
safeCurrencyMethod · 0.45
extendMethod · 0.45
safeDictMethod · 0.45
safeListMethod · 0.45
safeStringMethod · 0.45
safeCurrencyCodeMethod · 0.45
checkAddressMethod · 0.45
networkIdToCodeMethod · 0.45

Tested by

no test coverage detected