@pioneer-platform/zapper-client 8.3.8 → 8.3.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/index.js +88 -32
  2. package/package.json +1 -1
package/lib/index.js CHANGED
@@ -81,16 +81,19 @@ module.exports = {
81
81
  },
82
82
  };
83
83
  var get_portfolio = function (address) {
84
+ var _a, _b;
84
85
  return __awaiter(this, void 0, void 0, function () {
85
- var tag, output, appsResponse, apps, totalBalanceUSDApp_1, tokensResponse, totalBalanceUsdTokens_1, tokens, limit, allTokens, cursor, url, response, tokens, error_1, nftResponse, nftUsdNetWorth, totalNetWorth, e_1;
86
- return __generator(this, function (_a) {
87
- switch (_a.label) {
86
+ var tag, output_1, appsResponse, apps, totalBalanceUSDApp_1, i, app, j, product, k, asset, l, token, balance, tokensResponse, totalBalanceUsdTokens_1, tokens, limit, allTokens, cursor, url, response, tokens, error_1, nftResponse, nftUsdNetWorth, totalNetWorth, e_1;
87
+ return __generator(this, function (_c) {
88
+ switch (_c.label) {
88
89
  case 0:
89
90
  tag = TAG + " | get_portfolio | ";
90
- _a.label = 1;
91
+ _c.label = 1;
91
92
  case 1:
92
- _a.trys.push([1, 11, , 12]);
93
- output = {};
93
+ _c.trys.push([1, 11, , 12]);
94
+ output_1 = {
95
+ balances: []
96
+ };
94
97
  return [4 /*yield*/, Axios.get("https://api.zapper.xyz/v2/balances/apps?addresses%5B%5D=".concat(address), {
95
98
  headers: {
96
99
  accept: "*/*",
@@ -98,13 +101,49 @@ var get_portfolio = function (address) {
98
101
  },
99
102
  })];
100
103
  case 2:
101
- appsResponse = _a.sent();
104
+ appsResponse = _c.sent();
102
105
  log.info(tag, "appsResponse: ", appsResponse.data);
103
106
  apps = appsResponse.data;
104
107
  totalBalanceUSDApp_1 = 0;
105
108
  apps.forEach(function (app) {
106
109
  totalBalanceUSDApp_1 += app.balanceUSD;
107
110
  });
111
+ for (i = 0; i < apps.length; i++) {
112
+ app = apps[i];
113
+ for (j = 0; j < app.products.length; j++) {
114
+ product = app.products[j];
115
+ log.info(tag, "product: ", product);
116
+ for (k = 0; k < product.assets.length; k++) {
117
+ asset = product.assets[k];
118
+ log.info(tag, "asset: ", asset);
119
+ for (l = 0; l < asset.tokens.length; l++) {
120
+ token = asset.tokens[l];
121
+ balance = {};
122
+ balance.pubkey = app.address;
123
+ balance.balance = token === null || token === void 0 ? void 0 : token.balance.toString();
124
+ balance.chain = app.network;
125
+ balance.networkId = pioneer_caip_1.evmCaips[app.network].split('/')[0];
126
+ if (token.type !== 'base-token' && token.address !== '0x0000000000000000000000000000000000000000') {
127
+ balance.caip = balance.networkId + "/erc20:" + token.address;
128
+ }
129
+ else {
130
+ balance.caip = balance.networkId + 'slip44:60';
131
+ }
132
+ balance.metaType = token.metaType || product.metaType;
133
+ balance.name = asset.displayProps.label;
134
+ balance.appId = app.appId;
135
+ balance.icon = asset.displayProps.images[0];
136
+ balance.display = asset.displayProps.images;
137
+ balance.groupId = asset.groupId;
138
+ balance.symbol = token.symbol;
139
+ balance.ticker = token.symbol;
140
+ balance.priceUsd = ((_a = token === null || token === void 0 ? void 0 : token.price) === null || _a === void 0 ? void 0 : _a.toString()) || '0';
141
+ balance.valueUsd = ((_b = token === null || token === void 0 ? void 0 : token.balanceUSD) === null || _b === void 0 ? void 0 : _b.toString()) || '0';
142
+ output_1.balances.push(balance);
143
+ }
144
+ }
145
+ }
146
+ }
108
147
  return [4 /*yield*/, Axios.get("https://api.zapper.xyz/v2/balances/tokens?addresses%5B%5D=".concat(address), {
109
148
  headers: {
110
149
  accept: "*/*",
@@ -112,46 +151,63 @@ var get_portfolio = function (address) {
112
151
  },
113
152
  })];
114
153
  case 3:
115
- tokensResponse = _a.sent();
154
+ tokensResponse = _c.sent();
155
+ console.log("tokensResponse: ", tokensResponse.data);
116
156
  if (tokensResponse.data && tokensResponse.data[address.toLowerCase()]) {
117
157
  tokens = tokensResponse.data;
118
158
  totalBalanceUsdTokens_1 = 0;
119
159
  tokens = tokens[address.toLowerCase()];
120
- output.tokens = tokens;
160
+ output_1.tokens = tokens;
121
161
  log.info(tag, "tokens: ", tokens.length);
122
162
  if (tokens) {
123
163
  tokens.forEach(function (token) {
124
164
  log.debug(tag, "token: ", token);
125
165
  var network = token.network;
126
- log.debug(tag, "network: ", token);
166
+ log.debug(tag, "network: ", network);
127
167
  var caip = pioneer_caip_1.evmCaips[network];
128
- if (!caip)
129
- throw Error("no caip for network: " + network);
130
- token.networkId = caip.split('/')[0];
131
- if (token.token.address !== '0x0000000000000000000000000000000000000000') {
132
- token.assetCaip = token.networkId + "/erc20:" + token.token.address;
168
+ if (caip) {
169
+ token.networkId = caip.split('/')[0];
170
+ if (token.token.address !== '0x0000000000000000000000000000000000000000') {
171
+ token.assetCaip = token.networkId + "/erc20:" + token.token.address;
172
+ }
173
+ else {
174
+ token.assetCaip = caip;
175
+ }
176
+ var balance = {
177
+ balance: token.token.balance.toString(),
178
+ networkId: token.networkId,
179
+ chain: token.network,
180
+ caip: token.assetCaip,
181
+ type: 'erc20',
182
+ name: token.token.name,
183
+ symbol: token.token.symbol,
184
+ ticker: token.token.symbol,
185
+ decimals: token.token.decimals,
186
+ priceUsd: token.token.price,
187
+ valueUsd: token.token.balanceUSD.toString(),
188
+ };
189
+ output_1.balances.push(balance);
190
+ log.debug(tag, "token.balanceUSD: ", token.token.balanceUSD);
191
+ totalBalanceUsdTokens_1 += token.token.balanceUSD;
133
192
  }
134
193
  else {
135
- token.assetCaip = caip;
194
+ log.error(tag, "No caip found for network: ", network);
136
195
  }
137
- log.debug(tag, "token.balanceUSD: ", token.token.balanceUSD);
138
- totalBalanceUsdTokens_1 += token.token.balanceUSD;
139
196
  });
140
197
  }
141
198
  }
142
199
  else {
143
- output.tokens = [];
144
200
  totalBalanceUsdTokens_1 = 0;
145
201
  }
146
202
  limit = 100;
147
203
  allTokens = [];
148
204
  cursor = null;
149
- _a.label = 4;
205
+ _c.label = 4;
150
206
  case 4:
151
207
  if (!true) return [3 /*break*/, 9];
152
- _a.label = 5;
208
+ _c.label = 5;
153
209
  case 5:
154
- _a.trys.push([5, 7, , 8]);
210
+ _c.trys.push([5, 7, , 8]);
155
211
  url = "https://api.zapper.xyz/v2/nft/user/tokens?userAddress=".concat(address, "&limit=").concat(limit);
156
212
  if (cursor) {
157
213
  url += "&cursor=".concat(cursor);
@@ -163,7 +219,7 @@ var get_portfolio = function (address) {
163
219
  },
164
220
  })];
165
221
  case 6:
166
- response = _a.sent();
222
+ response = _c.sent();
167
223
  tokens = response.data;
168
224
  //console.log("tokens: ",tokens)
169
225
  allTokens = allTokens.concat(tokens.items);
@@ -173,12 +229,12 @@ var get_portfolio = function (address) {
173
229
  }
174
230
  return [3 /*break*/, 8];
175
231
  case 7:
176
- error_1 = _a.sent();
232
+ error_1 = _c.sent();
177
233
  console.error(error_1);
178
234
  return [3 /*break*/, 8];
179
235
  case 8: return [3 /*break*/, 4];
180
236
  case 9:
181
- output.nfts = allTokens;
237
+ output_1.nfts = allTokens;
182
238
  return [4 /*yield*/, Axios.get("https://api.zapper.xyz/v2/nft/balances/net-worth?addresses%5B%5D=".concat(address), {
183
239
  headers: {
184
240
  accept: "*/*",
@@ -186,17 +242,17 @@ var get_portfolio = function (address) {
186
242
  },
187
243
  })];
188
244
  case 10:
189
- nftResponse = _a.sent();
245
+ nftResponse = _c.sent();
190
246
  nftUsdNetWorth = nftResponse.data;
191
- output.nftUsdNetWorth = nftUsdNetWorth;
192
- output.totalBalanceUsdTokens = totalBalanceUsdTokens_1;
193
- output.totalBalanceUSDApp = totalBalanceUSDApp_1;
247
+ output_1.nftUsdNetWorth = nftUsdNetWorth;
248
+ output_1.totalBalanceUsdTokens = totalBalanceUsdTokens_1;
249
+ output_1.totalBalanceUSDApp = totalBalanceUSDApp_1;
194
250
  totalNetWorth = totalBalanceUSDApp_1 + totalBalanceUsdTokens_1 + parseFloat(nftUsdNetWorth[address.toLowerCase()]);
195
251
  //console.log("totalNetWorth: ",totalNetWorth);
196
- output.totalNetWorth = totalNetWorth;
197
- return [2 /*return*/, output];
252
+ output_1.totalNetWorth = totalNetWorth;
253
+ return [2 /*return*/, output_1];
198
254
  case 11:
199
- e_1 = _a.sent();
255
+ e_1 = _c.sent();
200
256
  console.error(tag, "e: ", e_1);
201
257
  return [3 /*break*/, 12];
202
258
  case 12: return [2 /*return*/];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pioneer-platform/zapper-client",
3
- "version": "8.3.8",
3
+ "version": "8.3.10",
4
4
  "main": "./lib/index.js",
5
5
  "types": "./lib/index.d.ts",
6
6
  "dependencies": {