@pioneer-platform/zapper-client 8.3.8 → 8.3.9

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 +71 -23
  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,44 @@ 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
+ balance.caip = balance.networkId + "/erc20:" + token.address;
127
+ balance.metaType = token.metaType || product.metaType;
128
+ balance.name = asset.displayProps.label;
129
+ balance.appId = app.appId;
130
+ balance.icon = asset.displayProps.images[0];
131
+ balance.display = asset.displayProps.images;
132
+ balance.groupId = asset.groupId;
133
+ balance.symbol = token.symbol;
134
+ balance.ticker = token.symbol;
135
+ balance.priceUsd = ((_a = token === null || token === void 0 ? void 0 : token.price) === null || _a === void 0 ? void 0 : _a.toString()) || '0';
136
+ balance.valueUsd = ((_b = token === null || token === void 0 ? void 0 : token.balanceUSD) === null || _b === void 0 ? void 0 : _b.toString()) || '0';
137
+ output_1.balances.push(balance);
138
+ }
139
+ }
140
+ }
141
+ }
108
142
  return [4 /*yield*/, Axios.get("https://api.zapper.xyz/v2/balances/tokens?addresses%5B%5D=".concat(address), {
109
143
  headers: {
110
144
  accept: "*/*",
@@ -112,12 +146,13 @@ var get_portfolio = function (address) {
112
146
  },
113
147
  })];
114
148
  case 3:
115
- tokensResponse = _a.sent();
149
+ tokensResponse = _c.sent();
150
+ console.log("tokensResponse: ", tokensResponse.data);
116
151
  if (tokensResponse.data && tokensResponse.data[address.toLowerCase()]) {
117
152
  tokens = tokensResponse.data;
118
153
  totalBalanceUsdTokens_1 = 0;
119
154
  tokens = tokens[address.toLowerCase()];
120
- output.tokens = tokens;
155
+ output_1.tokens = tokens;
121
156
  log.info(tag, "tokens: ", tokens.length);
122
157
  if (tokens) {
123
158
  tokens.forEach(function (token) {
@@ -134,24 +169,37 @@ var get_portfolio = function (address) {
134
169
  else {
135
170
  token.assetCaip = caip;
136
171
  }
172
+ var balance = {
173
+ balance: token.token.balance.toString(),
174
+ networkId: token.networkId,
175
+ chain: token.network,
176
+ caip: token.assetCaip,
177
+ type: 'erc20',
178
+ name: token.token.name,
179
+ symbol: token.token.symbol,
180
+ ticker: token.token.symbol,
181
+ decimals: token.token.decimals,
182
+ priceUsd: token.token.price,
183
+ valueUsd: token.token.balanceUSD.toString(),
184
+ };
185
+ output_1.balances.push(balance);
137
186
  log.debug(tag, "token.balanceUSD: ", token.token.balanceUSD);
138
187
  totalBalanceUsdTokens_1 += token.token.balanceUSD;
139
188
  });
140
189
  }
141
190
  }
142
191
  else {
143
- output.tokens = [];
144
192
  totalBalanceUsdTokens_1 = 0;
145
193
  }
146
194
  limit = 100;
147
195
  allTokens = [];
148
196
  cursor = null;
149
- _a.label = 4;
197
+ _c.label = 4;
150
198
  case 4:
151
199
  if (!true) return [3 /*break*/, 9];
152
- _a.label = 5;
200
+ _c.label = 5;
153
201
  case 5:
154
- _a.trys.push([5, 7, , 8]);
202
+ _c.trys.push([5, 7, , 8]);
155
203
  url = "https://api.zapper.xyz/v2/nft/user/tokens?userAddress=".concat(address, "&limit=").concat(limit);
156
204
  if (cursor) {
157
205
  url += "&cursor=".concat(cursor);
@@ -163,7 +211,7 @@ var get_portfolio = function (address) {
163
211
  },
164
212
  })];
165
213
  case 6:
166
- response = _a.sent();
214
+ response = _c.sent();
167
215
  tokens = response.data;
168
216
  //console.log("tokens: ",tokens)
169
217
  allTokens = allTokens.concat(tokens.items);
@@ -173,12 +221,12 @@ var get_portfolio = function (address) {
173
221
  }
174
222
  return [3 /*break*/, 8];
175
223
  case 7:
176
- error_1 = _a.sent();
224
+ error_1 = _c.sent();
177
225
  console.error(error_1);
178
226
  return [3 /*break*/, 8];
179
227
  case 8: return [3 /*break*/, 4];
180
228
  case 9:
181
- output.nfts = allTokens;
229
+ output_1.nfts = allTokens;
182
230
  return [4 /*yield*/, Axios.get("https://api.zapper.xyz/v2/nft/balances/net-worth?addresses%5B%5D=".concat(address), {
183
231
  headers: {
184
232
  accept: "*/*",
@@ -186,17 +234,17 @@ var get_portfolio = function (address) {
186
234
  },
187
235
  })];
188
236
  case 10:
189
- nftResponse = _a.sent();
237
+ nftResponse = _c.sent();
190
238
  nftUsdNetWorth = nftResponse.data;
191
- output.nftUsdNetWorth = nftUsdNetWorth;
192
- output.totalBalanceUsdTokens = totalBalanceUsdTokens_1;
193
- output.totalBalanceUSDApp = totalBalanceUSDApp_1;
239
+ output_1.nftUsdNetWorth = nftUsdNetWorth;
240
+ output_1.totalBalanceUsdTokens = totalBalanceUsdTokens_1;
241
+ output_1.totalBalanceUSDApp = totalBalanceUSDApp_1;
194
242
  totalNetWorth = totalBalanceUSDApp_1 + totalBalanceUsdTokens_1 + parseFloat(nftUsdNetWorth[address.toLowerCase()]);
195
243
  //console.log("totalNetWorth: ",totalNetWorth);
196
- output.totalNetWorth = totalNetWorth;
197
- return [2 /*return*/, output];
244
+ output_1.totalNetWorth = totalNetWorth;
245
+ return [2 /*return*/, output_1];
198
246
  case 11:
199
- e_1 = _a.sent();
247
+ e_1 = _c.sent();
200
248
  console.error(tag, "e: ", e_1);
201
249
  return [3 /*break*/, 12];
202
250
  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.9",
4
4
  "main": "./lib/index.js",
5
5
  "types": "./lib/index.d.ts",
6
6
  "dependencies": {