@sonarwatch/portfolio-plugins 0.8.115 → 0.8.117

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 (31) hide show
  1. package/CHANGELOG.md +13 -5
  2. package/package.json +2 -2
  3. package/src/plugins/goosefx/stakingFetcher.js +13 -12
  4. package/src/plugins/goosefx/stakingFetcher.js.map +1 -1
  5. package/src/plugins/lifinity/lockerFetcher.js +8 -13
  6. package/src/plugins/lifinity/lockerFetcher.js.map +1 -1
  7. package/src/plugins/lifinity/structs.d.ts +4 -4
  8. package/src/plugins/lifinity/structs.js +4 -4
  9. package/src/plugins/lifinity/structs.js.map +1 -1
  10. package/src/plugins/paraswap/stakingFetcher.js +6 -7
  11. package/src/plugins/paraswap/stakingFetcher.js.map +1 -1
  12. package/src/plugins/stargate/getVoteTokensFetcher.js +4 -4
  13. package/src/plugins/stargate/getVoteTokensFetcher.js.map +1 -1
  14. package/src/plugins/tensor/bidsFetcher.js +57 -0
  15. package/src/plugins/tensor/bidsFetcher.js.map +1 -0
  16. package/src/plugins/tensor/filters.d.ts +1 -0
  17. package/src/plugins/tensor/filters.js +11 -1
  18. package/src/plugins/tensor/filters.js.map +1 -1
  19. package/src/plugins/tensor/index.js +5 -4
  20. package/src/plugins/tensor/index.js.map +1 -1
  21. package/src/plugins/tensor/singleListingFetcher.d.ts +2 -0
  22. package/src/plugins/tensor/singleListingFetcher.js +114 -0
  23. package/src/plugins/tensor/singleListingFetcher.js.map +1 -0
  24. package/src/plugins/tensor/struct.d.ts +42 -0
  25. package/src/plugins/tensor/struct.js +39 -1
  26. package/src/plugins/tensor/struct.js.map +1 -1
  27. package/src/plugins/tokens/fetchers/solana-nfts.js +6 -3
  28. package/src/plugins/tokens/fetchers/solana-nfts.js.map +1 -1
  29. package/src/plugins/tensor/tensorFetcher.js +0 -102
  30. package/src/plugins/tensor/tensorFetcher.js.map +0 -1
  31. /package/src/plugins/tensor/{tensorFetcher.d.ts → bidsFetcher.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -2,14 +2,22 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
- ## [0.8.115](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.114...plugins-0.8.115) (2023-11-30)
6
-
7
-
8
-
9
- ## [0.8.114](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.113...plugins-0.8.114) (2023-11-30)
5
+ ## [0.8.117](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.116...plugins-0.8.117) (2023-12-04)
10
6
 
11
7
 
12
8
 
9
+ ## [0.8.116](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.115...plugins-0.8.116) (2023-12-01)
10
+
11
+
12
+
13
+ ## [0.8.115](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.114...plugins-0.8.115) (2023-11-30)
14
+
15
+
16
+
17
+ ## [0.8.114](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.113...plugins-0.8.114) (2023-11-30)
18
+
19
+
20
+
13
21
  ## [0.8.113](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.112...plugins-0.8.113) (2023-11-29)
14
22
 
15
23
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-plugins",
3
- "version": "0.8.115",
3
+ "version": "0.8.117",
4
4
  "type": "commonjs",
5
5
  "generators": "./generators.json",
6
6
  "dependencies": {
@@ -41,7 +41,7 @@
41
41
  "web3-v1": "npm:web3@^1.5.0"
42
42
  },
43
43
  "peerDependencies": {
44
- "@sonarwatch/portfolio-core": "0.8.115"
44
+ "@sonarwatch/portfolio-core": "0.8.117"
45
45
  },
46
46
  "main": "./src/index.js",
47
47
  "types": "./src/index.d.ts"
@@ -23,24 +23,25 @@ const sevenDays = 7 * 1000 * 60 * 60 * 24;
23
23
  const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
24
24
  const client = (0, clients_1.getClientSolana)();
25
25
  const accounts = yield (0, solana_1.getParsedProgramAccounts)(client, structs_1.userMetadataStruct, constants_1.stakerProgramId, (0, filters_1.stakingAccountFilter)(owner));
26
- if (accounts.length === 0)
26
+ if (accounts.length === 0 || accounts.length > 1)
27
27
  return [];
28
+ const stakingAccount = accounts[0];
28
29
  const gofxTokenPrice = yield cache.getTokenPrice(constants_1.gofxMint, portfolio_core_1.NetworkId.solana);
29
30
  if (!gofxTokenPrice)
30
31
  return [];
32
+ const { decimals } = gofxTokenPrice;
31
33
  const assets = [];
32
- for (const account of accounts) {
33
- let totalAmount = account.totalStaked;
34
- for (const ticket of account.unstakingTickets) {
35
- const unlockStartedAt = new Date(ticket.createdAt.times(1000).toNumber());
36
- const unlockingAt = new Date(unlockStartedAt.getTime() + sevenDays);
37
- if (Date.now() < unlockingAt.getTime())
38
- totalAmount = totalAmount.plus(ticket.totalUnstaked);
34
+ for (const ticket of stakingAccount.unstakingTickets) {
35
+ const unlockStartedAt = new Date(ticket.createdAt.times(1000).toNumber());
36
+ const unlockingAt = new Date(unlockStartedAt.getTime() + sevenDays);
37
+ if (Date.now() < unlockingAt.getTime()) {
38
+ assets.push(Object.assign(Object.assign({}, (0, tokenPriceToAssetToken_1.default)(constants_1.gofxMint, ticket.totalUnstaked.dividedBy(Math.pow(10, decimals)).toNumber(), portfolio_core_1.NetworkId.solana, gofxTokenPrice)), { lockedUntil: unlockingAt.getTime() }));
39
39
  }
40
- if (totalAmount.isZero())
41
- continue;
42
- const { decimals } = gofxTokenPrice;
43
- const amount = totalAmount.dividedBy(Math.pow(10, decimals)).toNumber();
40
+ }
41
+ if (stakingAccount.totalStaked.isGreaterThan(0)) {
42
+ const amount = stakingAccount.totalStaked
43
+ .dividedBy(Math.pow(10, decimals))
44
+ .toNumber();
44
45
  assets.push((0, tokenPriceToAssetToken_1.default)(constants_1.gofxMint, amount, portfolio_core_1.NetworkId.solana, gofxTokenPrice));
45
46
  }
46
47
  if (assets.length === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/stakingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAKoC;AAGpC,2CAAoE;AACpE,iDAAsD;AACtD,+CAA8D;AAC9D,uCAA+C;AAC/C,uCAAiD;AACjD,qGAA6E;AAE7E,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAE1C,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,4BAAkB,EAClB,2BAAe,EACf,IAAA,8BAAoB,EAAC,KAAK,CAAC,CAC5B,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,oBAAQ,EAAE,0BAAS,CAAC,MAAM,CAAC,CAAC;IAC7E,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACtC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,gBAAgB,EAAE;YAC7C,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1E,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE;gBACpC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SACxD;QACD,IAAI,WAAW,CAAC,MAAM,EAAE;YAAE,SAAS;QAEnC,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QACpC,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,QAAQ,CAAA,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEhE,MAAM,CAAC,IAAI,CACT,IAAA,gCAAsB,EAAC,oBAAQ,EAAE,MAAM,EAAE,0BAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAC3E,CAAC;KACH;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,OAAO;QACL;YACE,IAAI,EAAE,qCAAoB,CAAC,QAAQ;YACnC,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,IAAI,EAAE,EAAE,MAAM,EAAE;YAChB,KAAK,EAAE,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1D;KACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/stakingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAKoC;AAGpC,2CAAoE;AACpE,iDAAsD;AACtD,+CAA8D;AAC9D,uCAA+C;AAC/C,uCAAiD;AACjD,qGAA6E;AAE7E,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAE1C,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,4BAAkB,EAClB,2BAAe,EACf,IAAA,8BAAoB,EAAC,KAAK,CAAC,CAC5B,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5D,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEnC,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,oBAAQ,EAAE,0BAAS,CAAC,MAAM,CAAC,CAAC;IAC7E,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IAEpC,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,gBAAgB,EAAE;QACpD,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,EAAE;YACtC,MAAM,CAAC,IAAI,iCACN,IAAA,gCAAsB,EACvB,oBAAQ,EACR,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,QAAQ,CAAA,CAAC,CAAC,QAAQ,EAAE,EACzD,0BAAS,CAAC,MAAM,EAChB,cAAc,CACf,KACD,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,IAClC,CAAC;SACJ;KACF;IACD,IAAI,cAAc,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;QAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW;aACtC,SAAS,CAAC,SAAA,EAAE,EAAI,QAAQ,CAAA,CAAC;aACzB,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CACT,IAAA,gCAAsB,EAAC,oBAAQ,EAAE,MAAM,EAAE,0BAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAC3E,CAAC;KACH;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,OAAO;QACL;YACE,IAAI,EAAE,qCAAoB,CAAC,QAAQ;YACnC,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,IAAI,EAAE,EAAE,MAAM,EAAE;YAChB,KAAK,EAAE,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1D;KACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
@@ -25,24 +25,19 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
25
25
  if (accounts.length === 0 || accounts.length > 1)
26
26
  return [];
27
27
  const escrowAccount = accounts[0];
28
- // amount = amount.plus(account.amount.times(daysLocked).dividedBy(1460));
29
- const { amount } = escrowAccount;
28
+ const { amount, escrowEndsAt, duration } = escrowAccount;
30
29
  if (amount.isZero())
31
30
  return [];
32
- const daysLocked = escrowAccount.duration
33
- .dividedBy(60 * 60 * 24)
34
- .decimalPlaces(0);
35
- const yearsLocked = escrowAccount.duration
36
- .dividedBy(60 * 60 * 24 * 365)
37
- .decimalPlaces(0);
31
+ const lfntyTokenPrice = yield cache.getTokenPrice(constants_1.lfntyMint, portfolio_core_1.NetworkId.solana);
32
+ const yearsLocked = duration.dividedBy(60 * 60 * 24 * 365).decimalPlaces(0);
38
33
  const yearsText = yearsLocked.isEqualTo(1)
39
34
  ? `Locked (${yearsLocked} year)`
40
35
  : `Locked (${yearsLocked} years)`;
41
- const status = escrowAccount.escrow_ends_at.isZero()
42
- ? yearsText
43
- : `Unlocking (${daysLocked} days left)`;
44
- const lfntyTokenPrice = yield cache.getTokenPrice(constants_1.lfntyMint, portfolio_core_1.NetworkId.solana);
36
+ const name = escrowEndsAt.isZero() ? yearsText : undefined;
45
37
  const asset = (0, tokenPriceToAssetToken_1.default)(constants_1.lfntyMint, amount.dividedBy(Math.pow(10, constants_1.lfntyDecimals)).toNumber(), portfolio_core_1.NetworkId.solana, lfntyTokenPrice);
38
+ if (escrowEndsAt.isGreaterThan(0)) {
39
+ asset.lockedUntil = escrowEndsAt.toNumber();
40
+ }
46
41
  return [
47
42
  {
48
43
  label: 'Vesting',
@@ -51,7 +46,7 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
51
46
  networkId: portfolio_core_1.NetworkId.solana,
52
47
  platformId: constants_1.platformId,
53
48
  value: asset.value,
54
- name: status,
49
+ name,
55
50
  },
56
51
  ];
57
52
  });
@@ -1 +1 @@
1
- {"version":3,"file":"lockerFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/lifinity/lockerFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAA6E;AAG7E,2CAKqB;AACrB,iDAAsD;AACtD,+CAA8D;AAC9D,uCAAyC;AACzC,uCAAyC;AACzC,qGAA6E;AAE7E,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,sBAAY,EACZ,mCAAuB,EACvB,IAAA,sBAAY,EAAC,KAAK,CAAC,CACpB,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAE5D,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAElC,0EAA0E;IAC1E,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;IAEjC,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ;SACtC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;SACvB,aAAa,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ;SACvC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;SAC7B,aAAa,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,WAAW,WAAW,QAAQ;QAChC,CAAC,CAAC,WAAW,WAAW,SAAS,CAAC;IAEpC,MAAM,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE;QAClD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,cAAc,UAAU,aAAa,CAAC;IAE1C,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,aAAa,CAC/C,qBAAS,EACT,0BAAS,CAAC,MAAM,CACjB,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,gCAAsB,EAClC,qBAAS,EACT,MAAM,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,yBAAa,CAAA,CAAC,CAAC,QAAQ,EAAE,EAChD,0BAAS,CAAC,MAAM,EAChB,eAAe,CAChB,CAAC;IAEF,OAAO;QACL;YACE,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,qCAAoB,CAAC,MAAM;YACjC,IAAI,EAAE,EAAE,KAAK,EAAE;YACf,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,MAAM;SACb;KACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,SAAS;IAC1B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"lockerFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/lifinity/lockerFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAA6E;AAG7E,2CAKqB;AACrB,iDAAsD;AACtD,+CAA8D;AAC9D,uCAAyC;AACzC,uCAAyC;AACzC,qGAA6E;AAE7E,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,sBAAY,EACZ,mCAAuB,EACvB,IAAA,sBAAY,EAAC,KAAK,CAAC,CACpB,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAE5D,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAElC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;IAEzD,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,aAAa,CAC/C,qBAAS,EACT,0BAAS,CAAC,MAAM,CACjB,CAAC;IAEF,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,WAAW,WAAW,QAAQ;QAChC,CAAC,CAAC,WAAW,WAAW,SAAS,CAAC;IACpC,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3D,MAAM,KAAK,GAAG,IAAA,gCAAsB,EAClC,qBAAS,EACT,MAAM,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,yBAAa,CAAA,CAAC,CAAC,QAAQ,EAAE,EAChD,0BAAS,CAAC,MAAM,EAChB,eAAe,CAChB,CAAC;IAEF,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;QACjC,KAAK,CAAC,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;KAC7C;IAED,OAAO;QACL;YACE,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,qCAAoB,CAAC,MAAM;YACjC,IAAI,EAAE,EAAE,KAAK,EAAE;YACf,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI;SACL;KACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,SAAS;IAC1B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
@@ -19,11 +19,11 @@ export type Escrow = {
19
19
  owner: PublicKey;
20
20
  bump: number;
21
21
  amount: BigNumber;
22
- escrow_started_at: BigNumber;
23
- escrow_ends_at: BigNumber;
24
- initial_amount: BigNumber;
22
+ escrowStartedAt: BigNumber;
23
+ escrowEndsAt: BigNumber;
24
+ initialAmount: BigNumber;
25
25
  duration: BigNumber;
26
- vote_delegate: PublicKey;
26
+ voteDelegate: PublicKey;
27
27
  reserved1: number[];
28
28
  reserved2: number[];
29
29
  };
@@ -20,11 +20,11 @@ exports.escrowStruct = new beet_1.BeetStruct([
20
20
  ['owner', beet_solana_1.publicKey],
21
21
  ['bump', beet_1.u8],
22
22
  ['amount', solana_1.u64],
23
- ['escrow_started_at', solana_1.i64],
24
- ['escrow_ends_at', solana_1.i64],
25
- ['initial_amount', solana_1.i64],
23
+ ['escrowStartedAt', solana_1.i64],
24
+ ['escrowEndsAt', solana_1.i64],
25
+ ['initialAmount', solana_1.i64],
26
26
  ['duration', solana_1.i64],
27
- ['vote_delegate', beet_solana_1.publicKey],
27
+ ['voteDelegate', beet_solana_1.publicKey],
28
28
  ['reserved1', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 15)],
29
29
  ['reserved2', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 32)],
30
30
  ], (args) => args);
@@ -1 +1 @@
1
- {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/lifinity/structs.ts"],"names":[],"mappings":";;;AAAA,oDAImC;AACnC,kEAA6D;AAG7D,+CAAoD;AAavC,QAAA,YAAY,GAAG,IAAI,iBAAU,CACxC;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,QAAQ,EAAE,uBAAS,CAAC;IACrB,CAAC,QAAQ,EAAE,uBAAS,CAAC;IACrB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,aAAa,EAAE,uBAAS,CAAC;IAC1B,CAAC,iBAAiB,EAAE,uBAAS,CAAC;IAC9B,CAAC,cAAc,EAAE,uBAAS,CAAC;IAC3B,CAAC,cAAc,EAAE,uBAAS,CAAC;CAC5B,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAc,CACzB,CAAC;AAiBW,QAAA,YAAY,GAAG,IAAI,iBAAU,CACxC;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,QAAQ,EAAE,uBAAS,CAAC;IACrB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,MAAM,EAAE,SAAE,CAAC;IACZ,CAAC,QAAQ,EAAE,YAAG,CAAC;IACf,CAAC,mBAAmB,EAAE,YAAG,CAAC;IAC1B,CAAC,gBAAgB,EAAE,YAAG,CAAC;IACvB,CAAC,gBAAgB,EAAE,YAAG,CAAC;IACvB,CAAC,UAAU,EAAE,YAAG,CAAC;IACjB,CAAC,eAAe,EAAE,uBAAS,CAAC;IAC5B,CAAC,WAAW,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC,WAAW,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,EAAE,CAAC,CAAC;CAC7C,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAc,CACzB,CAAC"}
1
+ {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/lifinity/structs.ts"],"names":[],"mappings":";;;AAAA,oDAImC;AACnC,kEAA6D;AAG7D,+CAAoD;AAavC,QAAA,YAAY,GAAG,IAAI,iBAAU,CACxC;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,QAAQ,EAAE,uBAAS,CAAC;IACrB,CAAC,QAAQ,EAAE,uBAAS,CAAC;IACrB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,aAAa,EAAE,uBAAS,CAAC;IAC1B,CAAC,iBAAiB,EAAE,uBAAS,CAAC;IAC9B,CAAC,cAAc,EAAE,uBAAS,CAAC;IAC3B,CAAC,cAAc,EAAE,uBAAS,CAAC;CAC5B,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAc,CACzB,CAAC;AAiBW,QAAA,YAAY,GAAG,IAAI,iBAAU,CACxC;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,QAAQ,EAAE,uBAAS,CAAC;IACrB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,MAAM,EAAE,SAAE,CAAC;IACZ,CAAC,QAAQ,EAAE,YAAG,CAAC;IACf,CAAC,iBAAiB,EAAE,YAAG,CAAC;IACxB,CAAC,cAAc,EAAE,YAAG,CAAC;IACrB,CAAC,eAAe,EAAE,YAAG,CAAC;IACtB,CAAC,UAAU,EAAE,YAAG,CAAC;IACjB,CAAC,cAAc,EAAE,uBAAS,CAAC;IAC3B,CAAC,WAAW,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC,WAAW,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,EAAE,CAAC,CAAC;CAC7C,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAc,CACzB,CAAC"}
@@ -52,15 +52,16 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
52
52
  ]);
53
53
  const lockedBalances = lockedBalancesRes.map((res) => res.status === 'failure' ? BigInt(0) : res.result);
54
54
  const unlockingBalances = [];
55
+ const unlockingTs = [];
55
56
  const statuses = [];
56
57
  for (let n = 0; n < unlockingBalancesRes.length; n++) {
57
58
  const res = unlockingBalancesRes[n];
58
59
  if (res.status === 'success') {
59
60
  unlockingBalances.push(res.result[0]);
61
+ unlockingTs.push(res.result[1]);
60
62
  statuses.push(res.result[2]);
61
63
  }
62
64
  else {
63
- unlockingBalances.push(BigInt(0));
64
65
  statuses.push(undefined);
65
66
  }
66
67
  }
@@ -72,15 +73,13 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
72
73
  return [];
73
74
  const unlockingAssets = [];
74
75
  for (let j = 0; j < unlockingBalances.length; j++) {
75
- const unlockingAmount = new bignumber_js_1.default(unlockingBalances[j].toString()).dividedBy(Math.pow(10, pspTokenPrice.decimals));
76
76
  const status = statuses[j];
77
77
  if (status &&
78
78
  status === types_1.WithdrawStatus.UNLOCKING &&
79
- unlockingAmount.isGreaterThan(0)) {
80
- // TODO : Unlocking date can be found here, not supported by our Data Structure for now.
81
- // const unlockEpoch = Number(unlockingAmountRes.result?.[1]);
82
- // const dateToDisplay = new Date(unlockEpoch * 1000).toLocaleDateString();
83
- unlockingAssets.push((0, tokenPriceToAssetToken_1.default)(pspTokenPrice.address, unlockingAmount.toNumber(), portfolio_core_1.NetworkId.ethereum, pspTokenPrice));
79
+ unlockingBalances[j] > BigInt(0)) {
80
+ const unlockingAmount = new bignumber_js_1.default(unlockingBalances[j].toString()).dividedBy(Math.pow(10, pspTokenPrice.decimals));
81
+ const unlockEpoch = Number(unlockingTs[j]);
82
+ unlockingAssets.push(Object.assign(Object.assign({}, (0, tokenPriceToAssetToken_1.default)(pspTokenPrice.address, unlockingAmount.toNumber(), portfolio_core_1.NetworkId.ethereum, pspTokenPrice)), { lockedUntil: unlockEpoch }));
84
83
  }
85
84
  }
86
85
  const lockedAssets = [];
@@ -1 +1 @@
1
- {"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/paraswap/stakingFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/paraswap/stakingFetcher.ts"],"names":[],"mappings":"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"}
@@ -28,15 +28,15 @@ function getVoteTokensFetcher(config) {
28
28
  functionName: 'locked',
29
29
  args: [owner],
30
30
  };
31
- const results = yield client.readContract(contract);
32
- if (results[0] === BigInt(0))
31
+ const [balance, lockedUntil] = yield client.readContract(contract);
32
+ if (balance === BigInt(0))
33
33
  return [];
34
34
  const tokenPrice = yield cache.getTokenPrice(stgAddress, networkId);
35
35
  if (!tokenPrice)
36
36
  return [];
37
- const amountLocked = Number(results[0]) / Math.pow(10, tokenPrice.decimals);
37
+ const amountLocked = Number(balance) / Math.pow(10, tokenPrice.decimals);
38
38
  const assets = [
39
- (0, tokenPriceToAssetToken_1.default)(stgAddress, amountLocked, networkId, tokenPrice, tokenPrice.price),
39
+ Object.assign(Object.assign({}, (0, tokenPriceToAssetToken_1.default)(stgAddress, amountLocked, networkId, tokenPrice, tokenPrice.price)), { lockedUntil: Number(lockedUntil) }),
40
40
  ];
41
41
  const value = amountLocked * tokenPrice.price;
42
42
  const liquidity = {
@@ -1 +1 @@
1
- {"version":3,"file":"getVoteTokensFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/stargate/getVoteTokensFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+DAIoC;AACpC,iDAAmD;AAGnD,iCAAmC;AACnC,2CAAyC;AACzC,qGAA6E;AAG7E,SAAgB,oBAAoB,CAAC,MAAiB;IACpD,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACvD,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;QACtE,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,SAAS,CAAC,CAAC;QAEvC,MAAM,QAAQ,GAAG;YACf,OAAO,EAAE,YAAY;YACrB,GAAG,EAAE,gBAAS;YACd,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,CAAC,KAAsB,CAAC;SACtB,CAAC;QACX,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAExC,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,SAAA,EAAE,EAAI,UAAU,CAAC,QAAQ,CAAA,CAAC;QAEpE,MAAM,MAAM,GAA0B;YACpC,IAAA,gCAAsB,EACpB,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,UAAU,CAAC,KAAK,CACjB;SACF,CAAC;QACF,MAAM,KAAK,GAAG,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC;QAE9C,MAAM,SAAS,GAAuB;YACpC,MAAM;YACN,WAAW,EAAE,KAAK;YAClB,KAAK;YACL,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,EAAE;YAChB,iBAAiB,EAAE,IAAI;SACxB,CAAC;QAEF,OAAO;YACL;gBACE,SAAS;gBACT,UAAU,EAAV,sBAAU;gBACV,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,qCAAoB,CAAC,SAAS;gBACpC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE;gBAClC,KAAK;gBACL,IAAI,EAAE,eAAe;aACtB;SACF,CAAC;IACJ,CAAC,CAAA,CAAC;IACF,OAAO;QACL,QAAQ;QACR,SAAS;QACT,EAAE,EAAE,GAAG,sBAAU,IAAI,SAAS,UAAU;KACzC,CAAC;AACJ,CAAC;AAxDD,oDAwDC"}
1
+ {"version":3,"file":"getVoteTokensFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/stargate/getVoteTokensFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+DAIoC;AACpC,iDAAmD;AAGnD,iCAAmC;AACnC,2CAAyC;AACzC,qGAA6E;AAG7E,SAAgB,oBAAoB,CAAC,MAAiB;IACpD,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACvD,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;QACtE,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,SAAS,CAAC,CAAC;QAEvC,MAAM,QAAQ,GAAG;YACf,OAAO,EAAE,YAAY;YACrB,GAAG,EAAE,gBAAS;YACd,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,CAAC,KAAsB,CAAC;SACtB,CAAC;QACX,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAErC,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,SAAA,EAAE,EAAI,UAAU,CAAC,QAAQ,CAAA,CAAC;QAEjE,MAAM,MAAM,GAA0B;4CAE/B,IAAA,gCAAsB,EACvB,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,UAAU,CAAC,KAAK,CACjB,KACD,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;SAEnC,CAAC;QACF,MAAM,KAAK,GAAG,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC;QAE9C,MAAM,SAAS,GAAuB;YACpC,MAAM;YACN,WAAW,EAAE,KAAK;YAClB,KAAK;YACL,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,EAAE;YAChB,iBAAiB,EAAE,IAAI;SACxB,CAAC;QAEF,OAAO;YACL;gBACE,SAAS;gBACT,UAAU,EAAV,sBAAU;gBACV,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,qCAAoB,CAAC,SAAS;gBACpC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE;gBAClC,KAAK;gBACL,IAAI,EAAE,eAAe;aACtB;SACF,CAAC;IACJ,CAAC,CAAA,CAAC;IACF,OAAO;QACL,QAAQ;QACR,SAAS;QACT,EAAE,EAAE,GAAG,sBAAU,IAAI,SAAS,UAAU;KACzC,CAAC;AACJ,CAAC;AA3DD,oDA2DC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
16
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
17
+ const constants_1 = require("./constants");
18
+ const clients_1 = require("../../utils/clients");
19
+ const solana_1 = require("../../utils/solana");
20
+ const filters_1 = require("./filters");
21
+ const getMultipleAccountsInfoSafe_1 = require("../../utils/solana/getMultipleAccountsInfoSafe");
22
+ const struct_1 = require("./struct");
23
+ const tokenPriceToAssetToken_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetToken"));
24
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
25
+ const client = (0, clients_1.getClientSolana)();
26
+ const bidsAccounts = yield (0, solana_1.getParsedProgramAccounts)(client, struct_1.poolStruct, constants_1.tensorProgram, (0, filters_1.poolFilter)(owner));
27
+ if (bidsAccounts.length === 0)
28
+ return [];
29
+ const escrowAccountsInfo = yield (0, getMultipleAccountsInfoSafe_1.getMultipleAccountsInfoSafe)(client, bidsAccounts.map((account) => account.solEscrow));
30
+ if (escrowAccountsInfo.length === 0)
31
+ return [];
32
+ const rent = yield client.getMinimumBalanceForRentExemption(8);
33
+ const solRawBalance = escrowAccountsInfo.reduce((accu, escrow) => (escrow ? accu + escrow.lamports - rent : accu + 0), 0);
34
+ const solTokenPrice = yield cache.getTokenPrice(portfolio_core_1.solanaNativeWrappedAddress, portfolio_core_1.NetworkId.solana);
35
+ const amount = new bignumber_js_1.default(solRawBalance)
36
+ .dividedBy(Math.pow(10, portfolio_core_1.solanaNetwork.native.decimals))
37
+ .toNumber();
38
+ const asset = (0, tokenPriceToAssetToken_1.default)(portfolio_core_1.solanaNativeWrappedAddress, amount, portfolio_core_1.NetworkId.solana, solTokenPrice);
39
+ return [
40
+ {
41
+ type: portfolio_core_1.PortfolioElementType.single,
42
+ label: 'Deposit',
43
+ networkId: portfolio_core_1.NetworkId.solana,
44
+ platformId: constants_1.platformId,
45
+ name: 'Bids',
46
+ value: asset.value,
47
+ data: { asset },
48
+ },
49
+ ];
50
+ });
51
+ const fetcher = {
52
+ id: `${constants_1.platformId}-bids`,
53
+ networkId: portfolio_core_1.NetworkId.solana,
54
+ executor,
55
+ };
56
+ exports.default = fetcher;
57
+ //# sourceMappingURL=bidsFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bidsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tensor/bidsFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAKoC;AACpC,gEAAqC;AAGrC,2CAAwD;AACxD,iDAAsD;AACtD,+CAA8D;AAC9D,uCAAuC;AACvC,gGAA6F;AAC7F,qCAAsC;AACtC,qGAA6E;AAE7E,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,YAAY,GAAG,MAAM,IAAA,iCAAwB,EACjD,MAAM,EACN,mBAAU,EACV,yBAAa,EACb,IAAA,oBAAU,EAAC,KAAK,CAAC,CAClB,CAAC;IAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzC,MAAM,kBAAkB,GAAG,MAAM,IAAA,yDAA2B,EAC1D,MAAM,EACN,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CACjD,CAAC;IACF,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE/C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAC7C,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EACrE,CAAC,CACF,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,aAAa,CAC7C,2CAA0B,EAC1B,0BAAS,CAAC,MAAM,CACjB,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC,aAAa,CAAC;SACxC,SAAS,CAAC,SAAA,EAAE,EAAI,8BAAa,CAAC,MAAM,CAAC,QAAQ,CAAA,CAAC;SAC9C,QAAQ,EAAE,CAAC;IAEd,MAAM,KAAK,GAAG,IAAA,gCAAsB,EAClC,2CAA0B,EAC1B,MAAM,EACN,0BAAS,CAAC,MAAM,EAChB,aAAa,CACd,CAAC;IAEF,OAAO;QACL;YACE,IAAI,EAAE,qCAAoB,CAAC,MAAM;YACjC,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,EAAE,KAAK,EAAE;SAChB;KACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,OAAO;IACxB,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
@@ -1,2 +1,3 @@
1
1
  import { GetProgramAccountsFilter } from '@solana/web3.js';
2
2
  export declare const singleListingFilter: (owner: string) => GetProgramAccountsFilter[];
3
+ export declare const poolFilter: (owner: string) => GetProgramAccountsFilter[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.singleListingFilter = void 0;
3
+ exports.poolFilter = exports.singleListingFilter = void 0;
4
4
  const struct_1 = require("./struct");
5
5
  const singleListingFilter = (owner) => [
6
6
  { dataSize: struct_1.singleListingStruct.byteSize },
@@ -12,4 +12,14 @@ const singleListingFilter = (owner) => [
12
12
  },
13
13
  ];
14
14
  exports.singleListingFilter = singleListingFilter;
15
+ const poolFilter = (owner) => [
16
+ { dataSize: 293 },
17
+ {
18
+ memcmp: {
19
+ bytes: owner,
20
+ offset: 71,
21
+ },
22
+ },
23
+ ];
24
+ exports.poolFilter = poolFilter;
15
25
  //# sourceMappingURL=filters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tensor/filters.ts"],"names":[],"mappings":";;;AACA,qCAA+C;AAExC,MAAM,mBAAmB,GAAG,CACjC,KAAa,EACe,EAAE,CAAC;IAC/B,EAAE,QAAQ,EAAE,4BAAmB,CAAC,QAAQ,EAAE;IAC1C;QACE,MAAM,EAAE;YACN,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,CAAC;SACV;KACF;CACF,CAAC;AAVW,QAAA,mBAAmB,uBAU9B"}
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tensor/filters.ts"],"names":[],"mappings":";;;AACA,qCAA+C;AAExC,MAAM,mBAAmB,GAAG,CACjC,KAAa,EACe,EAAE,CAAC;IAC/B,EAAE,QAAQ,EAAE,4BAAmB,CAAC,QAAQ,EAAE;IAC1C;QACE,MAAM,EAAE;YACN,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,CAAC;SACV;KACF;CACF,CAAC;AAVW,QAAA,mBAAmB,uBAU9B;AAEK,MAAM,UAAU,GAAG,CAAC,KAAa,EAA8B,EAAE,CAAC;IACvE,EAAE,QAAQ,EAAE,GAAG,EAAE;IACjB;QACE,MAAM,EAAE;YACN,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,EAAE;SACX;KACF;CACF,CAAC;AARW,QAAA,UAAU,cAQrB"}
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
- // import tensorFetcher from './tensorFetcher';
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
3
5
  Object.defineProperty(exports, "__esModule", { value: true });
4
6
  exports.fetchers = exports.platforms = void 0;
5
7
  const constants_1 = require("./constants");
8
+ const bidsFetcher_1 = __importDefault(require("./bidsFetcher"));
6
9
  exports.platforms = [constants_1.tensorPlatform];
7
- exports.fetchers = [
8
- // tensorFetcher
9
- ];
10
+ exports.fetchers = [bidsFetcher_1.default];
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tensor/index.ts"],"names":[],"mappings":";AAAA,+CAA+C;;;AAI/C,2CAA6C;AAEhC,QAAA,SAAS,GAAe,CAAC,0BAAc,CAAC,CAAC;AACzC,QAAA,QAAQ,GAAc;AACjC,gBAAgB;CACjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tensor/index.ts"],"names":[],"mappings":";;;;;;AAIA,2CAA6C;AAC7C,gEAAwC;AAE3B,QAAA,SAAS,GAAe,CAAC,0BAAc,CAAC,CAAC;AACzC,QAAA,QAAQ,GAAc,CAAC,qBAAW,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Metadata, Nft, Sft } from '@metaplex-foundation/js';
2
+ export default function getTensorSingleListings(owner: string): Promise<(Metadata | Nft | Sft)[]>;
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const js_1 = require("@metaplex-foundation/js");
13
+ const constants_1 = require("./constants");
14
+ const solana_1 = require("../../utils/solana");
15
+ const clients_1 = require("../../utils/clients");
16
+ const struct_1 = require("./struct");
17
+ const filters_1 = require("./filters");
18
+ function getTensorSingleListings(owner) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ const connection = (0, clients_1.getClientSolana)();
21
+ const metaplex = new js_1.Metaplex(connection);
22
+ const singleListings = yield (0, solana_1.getParsedProgramAccounts)(connection, struct_1.singleListingStruct, constants_1.tensorProgram, (0, filters_1.singleListingFilter)(owner));
23
+ if (singleListings.length === 0)
24
+ return [];
25
+ const mints = singleListings.map((listing) => listing.nftMint);
26
+ const nftsMetadata = yield metaplex.nfts().findAllByMintList({
27
+ mints,
28
+ });
29
+ if (!nftsMetadata)
30
+ return [];
31
+ return nftsMetadata.map((nft) => nft || []).flat();
32
+ });
33
+ }
34
+ exports.default = getTensorSingleListings;
35
+ // const executor: FetcherExecutor = async (owner: string, cache: Cache) => {
36
+ // const connection = getClientSolana();
37
+ // const metaplex = new Metaplex(connection);
38
+ // const singleListings = await getParsedProgramAccounts(
39
+ // connection,
40
+ // singleListingStruct,
41
+ // tensorProgram,
42
+ // singleListingFilter(owner)
43
+ // );
44
+ // if (singleListings.length === 0) return [];
45
+ // const mints = singleListings.map((listing) => listing.nftMint);
46
+ // const nftsMetadata = await metaplex.nfts().findAllByMintList({
47
+ // mints,
48
+ // });
49
+ // if (!nftsMetadata) return [];
50
+ // const promises = nftsMetadata.map((nftMetadata) => {
51
+ // if (!nftMetadata?.uri) return undefined;
52
+ // return getImagefromUri(nftMetadata?.uri, NetworkId.solana, cache);
53
+ // });
54
+ // const imageResults = await Promise.allSettled(promises);
55
+ // const assets: PortfolioAsset[] = [];
56
+ // nftsMetadata.forEach((nftMetadata, i) => {
57
+ // if (!nftMetadata) return;
58
+ // const imageResult = imageResults[i];
59
+ // const image =
60
+ // imageResult.status === 'fulfilled' ? imageResult.value : undefined;
61
+ // const address =
62
+ // nftMetadata.model === 'metadata'
63
+ // ? nftMetadata.mintAddress.toString()
64
+ // : nftMetadata.mint.address.toString();
65
+ // const token: Token | null =
66
+ // isNftWithToken(nftMetadata) || isSftWithToken(nftMetadata)
67
+ // ? nftMetadata.token
68
+ // : null;
69
+ // const amount = token?.amount
70
+ // ? new BigNumber(token.amount.basisPoints.toString())
71
+ // .div(10 ** token.amount.currency.decimals)
72
+ // .toNumber()
73
+ // : 1;
74
+ // const collection = nftMetadata.collection
75
+ // ? {
76
+ // floorPrice: null,
77
+ // id: nftMetadata.collection.address.toString(),
78
+ // }
79
+ // : undefined;
80
+ // const asset: PortfolioAsset = {
81
+ // type: PortfolioAssetType.collectible,
82
+ // networkId: NetworkId.solana,
83
+ // value: null,
84
+ // data: {
85
+ // address,
86
+ // amount,
87
+ // price: null,
88
+ // name: nftMetadata.name,
89
+ // dataUri: nftMetadata.uri,
90
+ // imageUri: image,
91
+ // collection,
92
+ // },
93
+ // };
94
+ // assets.push(asset);
95
+ // });
96
+ // if (assets.length === 0) return [];
97
+ // const element: PortfolioElementMultiple = {
98
+ // type: PortfolioElementType.multiple,
99
+ // networkId: NetworkId.solana,
100
+ // platformId,
101
+ // label: 'Wallet',
102
+ // value: null,
103
+ // data: {
104
+ // assets,
105
+ // },
106
+ // };
107
+ // return [element];
108
+ // };
109
+ // const fetcher: Fetcher = {
110
+ // id: `${platformId}-linsting`,
111
+ // networkId: NetworkId.solana,
112
+ // executor,
113
+ // };
114
+ //# sourceMappingURL=singleListingFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singleListingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tensor/singleListingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,gDAAuE;AACvE,2CAA4C;AAC5C,+CAA8D;AAC9D,iDAAsD;AACtD,qCAA+C;AAC/C,uCAAgD;AAEhD,SAA8B,uBAAuB,CACnD,KAAa;;QAEb,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,aAAQ,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG,MAAM,IAAA,iCAAwB,EACnD,UAAU,EACV,4BAAmB,EACnB,yBAAa,EACb,IAAA,6BAAmB,EAAC,KAAK,CAAC,CAC3B,CAAC;QACF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAE3C,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE/D,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC;YAC3D,KAAK;SACN,CAAC,CAAC;QACH,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,CAAC;CAAA;AApBD,0CAoBC;AAED,6EAA6E;AAC7E,0CAA0C;AAC1C,+CAA+C;AAC/C,2DAA2D;AAC3D,kBAAkB;AAClB,2BAA2B;AAC3B,qBAAqB;AACrB,iCAAiC;AACjC,OAAO;AACP,gDAAgD;AAEhD,oEAAoE;AAEpE,mEAAmE;AACnE,aAAa;AACb,QAAQ;AACR,kCAAkC;AAElC,yDAAyD;AACzD,+CAA+C;AAC/C,yEAAyE;AACzE,QAAQ;AAER,6DAA6D;AAC7D,yCAAyC;AAEzC,+CAA+C;AAC/C,gCAAgC;AAChC,2CAA2C;AAC3C,oBAAoB;AACpB,4EAA4E;AAE5E,sBAAsB;AACtB,yCAAyC;AACzC,+CAA+C;AAC/C,iDAAiD;AAEjD,kCAAkC;AAClC,mEAAmE;AACnE,8BAA8B;AAC9B,kBAAkB;AAClB,mCAAmC;AACnC,6DAA6D;AAC7D,uDAAuD;AACvD,wBAAwB;AACxB,aAAa;AACb,gDAAgD;AAChD,YAAY;AACZ,8BAA8B;AAC9B,2DAA2D;AAC3D,YAAY;AACZ,qBAAqB;AACrB,sCAAsC;AACtC,8CAA8C;AAC9C,qCAAqC;AACrC,qBAAqB;AACrB,gBAAgB;AAChB,mBAAmB;AACnB,kBAAkB;AAClB,uBAAuB;AACvB,kCAAkC;AAClC,oCAAoC;AACpC,2BAA2B;AAC3B,sBAAsB;AACtB,WAAW;AACX,SAAS;AACT,0BAA0B;AAC1B,QAAQ;AAER,wCAAwC;AAExC,gDAAgD;AAChD,2CAA2C;AAC3C,mCAAmC;AACnC,kBAAkB;AAClB,uBAAuB;AACvB,mBAAmB;AACnB,cAAc;AACd,gBAAgB;AAChB,SAAS;AACT,OAAO;AACP,sBAAsB;AACtB,KAAK;AAEL,6BAA6B;AAC7B,kCAAkC;AAClC,iCAAiC;AACjC,cAAc;AACd,KAAK"}
@@ -11,3 +11,45 @@ export type SingleListing = {
11
11
  reserved: number[];
12
12
  };
13
13
  export declare const singleListingStruct: BeetStruct<SingleListing, Partial<SingleListing>>;
14
+ export declare enum PoolType {
15
+ Token = 0,
16
+ NFT = 1,
17
+ Trade = 2
18
+ }
19
+ export declare enum CurveType {
20
+ Linear = 0,
21
+ Exponential = 1
22
+ }
23
+ export type PoolConfig = {
24
+ poolType: PoolType;
25
+ curveType: CurveType;
26
+ startingPrice: BigNumber;
27
+ delta: BigNumber;
28
+ honorRoyalties: boolean;
29
+ mmFeeBps: number;
30
+ };
31
+ export declare const poolConfigStruct: BeetStruct<PoolConfig, Partial<PoolConfig>>;
32
+ export type TSwapConfig = {
33
+ feeBps: number;
34
+ };
35
+ export declare const tSwapConfigStruct: BeetStruct<TSwapConfig, Partial<TSwapConfig>>;
36
+ export type TSwap = {
37
+ version: number;
38
+ bump: number[];
39
+ config: TSwapConfig;
40
+ owner: PublicKey;
41
+ feeVault: PublicKey;
42
+ cosigner: PublicKey;
43
+ };
44
+ export declare const tSwapStruct: BeetStruct<TSwap, Partial<TSwap>>;
45
+ export type Pool = {
46
+ buffer: Buffer;
47
+ owner: PublicKey;
48
+ whitelist: PublicKey;
49
+ solEscrow: PublicKey;
50
+ takerSellCount: number;
51
+ takerBuyCount: number;
52
+ nftsHeld: number;
53
+ padding: Buffer;
54
+ };
55
+ export declare const poolStruct: BeetStruct<Pool, Partial<Pool>>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.singleListingStruct = void 0;
3
+ exports.poolStruct = exports.tSwapStruct = exports.tSwapConfigStruct = exports.poolConfigStruct = exports.CurveType = exports.PoolType = exports.singleListingStruct = void 0;
4
4
  const beet_1 = require("@metaplex-foundation/beet");
5
5
  const beet_solana_1 = require("@metaplex-foundation/beet-solana");
6
6
  const solana_1 = require("../../utils/solana");
@@ -12,4 +12,42 @@ exports.singleListingStruct = new beet_1.BeetStruct([
12
12
  ['bump', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 1)],
13
13
  ['reserved', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 64)],
14
14
  ], (args) => args);
15
+ var PoolType;
16
+ (function (PoolType) {
17
+ PoolType[PoolType["Token"] = 0] = "Token";
18
+ PoolType[PoolType["NFT"] = 1] = "NFT";
19
+ PoolType[PoolType["Trade"] = 2] = "Trade";
20
+ })(PoolType || (exports.PoolType = PoolType = {}));
21
+ var CurveType;
22
+ (function (CurveType) {
23
+ CurveType[CurveType["Linear"] = 0] = "Linear";
24
+ CurveType[CurveType["Exponential"] = 1] = "Exponential";
25
+ })(CurveType || (exports.CurveType = CurveType = {}));
26
+ exports.poolConfigStruct = new beet_1.BeetStruct([
27
+ ['poolType', beet_1.u8],
28
+ ['curveType', beet_1.u8],
29
+ ['startingPrice', solana_1.u64],
30
+ ['delta', solana_1.u64],
31
+ ['honorRoyalties', beet_1.bool],
32
+ ['mmFeeBps', beet_1.u16],
33
+ ], (args) => args);
34
+ exports.tSwapConfigStruct = new beet_1.BeetStruct([['feeBps', beet_1.u16]], (args) => args);
35
+ exports.tSwapStruct = new beet_1.BeetStruct([
36
+ ['version', beet_1.u8],
37
+ ['bump', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 1)],
38
+ ['config', exports.tSwapConfigStruct],
39
+ ['owner', beet_solana_1.publicKey],
40
+ ['feeVault', beet_solana_1.publicKey],
41
+ ['cosigner', beet_solana_1.publicKey],
42
+ ], (args) => args);
43
+ exports.poolStruct = new beet_1.BeetStruct([
44
+ ['buffer', (0, solana_1.blob)(71)],
45
+ ['owner', beet_solana_1.publicKey],
46
+ ['whitelist', beet_solana_1.publicKey],
47
+ ['solEscrow', beet_solana_1.publicKey],
48
+ ['takerSellCount', beet_1.u32],
49
+ ['takerBuyCount', beet_1.u32],
50
+ ['nftsHeld', beet_1.u32],
51
+ ['padding', (0, solana_1.blob)(121)],
52
+ ], (args) => args);
15
53
  //# sourceMappingURL=struct.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tensor/struct.ts"],"names":[],"mappings":";;;AAAA,oDAImC;AACnC,kEAA6D;AAG7D,+CAA+C;AAWlC,QAAA,mBAAmB,GAAG,IAAI,iBAAU,CAC/C;IACE,CAAC,SAAS,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACpB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,SAAS,EAAE,uBAAS,CAAC;IACtB,CAAC,OAAO,EAAE,YAAG,CAAC;IACd,CAAC,MAAM,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC,UAAU,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,EAAE,CAAC,CAAC;CAC5C,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAqB,CAChC,CAAC"}
1
+ {"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tensor/struct.ts"],"names":[],"mappings":";;;AAAA,oDAOmC;AACnC,kEAA6D;AAG7D,+CAA+C;AAalC,QAAA,mBAAmB,GAAG,IAAI,iBAAU,CAC/C;IACE,CAAC,SAAS,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACpB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,SAAS,EAAE,uBAAS,CAAC;IACtB,CAAC,OAAO,EAAE,YAAG,CAAC;IACd,CAAC,MAAM,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC,UAAU,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,EAAE,CAAC,CAAC;CAC5C,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAqB,CAChC,CAAC;AAEF,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,yCAAK,CAAA;IACL,qCAAG,CAAA;IACH,yCAAK,CAAA;AACP,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,6CAAM,CAAA;IACN,uDAAW,CAAA;AACb,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAUY,QAAA,gBAAgB,GAAG,IAAI,iBAAU,CAC5C;IACE,CAAC,UAAU,EAAE,SAAE,CAAC;IAChB,CAAC,WAAW,EAAE,SAAE,CAAC;IACjB,CAAC,eAAe,EAAE,YAAG,CAAC;IACtB,CAAC,OAAO,EAAE,YAAG,CAAC;IACd,CAAC,gBAAgB,EAAE,WAAI,CAAC;IACxB,CAAC,UAAU,EAAE,UAAG,CAAC;CAClB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAkB,CAC7B,CAAC;AAKW,QAAA,iBAAiB,GAAG,IAAI,iBAAU,CAC7C,CAAC,CAAC,QAAQ,EAAE,UAAG,CAAC,CAAC,EACjB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAmB,CAC9B,CAAC;AAWW,QAAA,WAAW,GAAG,IAAI,iBAAU,CACvC;IACE,CAAC,SAAS,EAAE,SAAE,CAAC;IACf,CAAC,MAAM,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC,QAAQ,EAAE,yBAAiB,CAAC;IAC7B,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,UAAU,EAAE,uBAAS,CAAC;IACvB,CAAC,UAAU,EAAE,uBAAS,CAAC;CACxB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAa,CACxB,CAAC;AAaW,QAAA,UAAU,GAAG,IAAI,iBAAU,CACtC;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,EAAE,CAAC,CAAC;IACpB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,gBAAgB,EAAE,UAAG,CAAC;IACvB,CAAC,eAAe,EAAE,UAAG,CAAC;IACtB,CAAC,UAAU,EAAE,UAAG,CAAC;IACjB,CAAC,SAAS,EAAE,IAAA,aAAI,EAAC,GAAG,CAAC,CAAC;CACvB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAY,CACvB,CAAC"}
@@ -19,6 +19,7 @@ const bignumber_js_1 = __importDefault(require("bignumber.js"));
19
19
  const constants_1 = require("../constants");
20
20
  const clients_1 = require("../../../utils/clients");
21
21
  const runInBatch_1 = __importDefault(require("../../../utils/misc/runInBatch"));
22
+ const singleListingFetcher_1 = __importDefault(require("../../tensor/singleListingFetcher"));
22
23
  const prefix = 'nft-images';
23
24
  const noImageValue = 'noimage';
24
25
  const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
@@ -27,7 +28,9 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
27
28
  const outputs = yield metaplex.nfts().findAllByOwner({
28
29
  owner: new web3_js_1.PublicKey(owner),
29
30
  });
30
- const cachedImages = yield cache.getItems(outputs.map((o) => o.model === 'metadata'
31
+ const nftsOnTensor = yield (0, singleListingFetcher_1.default)(owner);
32
+ const allNfts = [...outputs, ...nftsOnTensor].filter((nft) => nft !== null);
33
+ const cachedImages = yield cache.getItems(allNfts.map((o) => o.model === 'metadata'
31
34
  ? o.mintAddress.toString()
32
35
  : o.mint.address.toString()), {
33
36
  prefix,
@@ -35,7 +38,7 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
35
38
  });
36
39
  const images = new Map();
37
40
  const missings = [];
38
- outputs.forEach((o, i) => {
41
+ allNfts.forEach((o, i) => {
39
42
  const cachedImage = cachedImages[i];
40
43
  if (cachedImage) {
41
44
  const address = o.model === 'metadata'
@@ -66,7 +69,7 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
66
69
  });
67
70
  });
68
71
  yield Promise.allSettled(promises);
69
- const assets = outputs.map((output) => {
72
+ const assets = allNfts.map((output) => {
70
73
  const address = output.model === 'metadata'
71
74
  ? output.mintAddress.toString()
72
75
  : output.mint.address.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"solana-nfts.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/tokens/fetchers/solana-nfts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAMoC;AACpC,6CAA4C;AAC5C,gDAMiC;AACjC,gEAAqC;AAErC,4CAAwE;AACxE,oDAAyD;AAEzD,gFAAwD;AAExD,MAAM,MAAM,GAAG,YAAY,CAAC;AAC5B,MAAM,YAAY,GAAG,SAAS,CAAC;AAE/B,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,aAAQ,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC;QACnD,KAAK,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,QAAQ,CACvC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChB,CAAC,CAAC,KAAK,KAAK,UAAU;QACpB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE;QAC1B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAC9B,EACD;QACE,MAAM;QACN,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CACF,CAAC;IACF,MAAM,MAAM,GAAwB,IAAI,GAAG,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,WAAW,EAAE;YACf,MAAM,OAAO,GACX,CAAC,CAAC,KAAK,KAAK,UAAU;gBACpB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE;gBAC1B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SAClC;aAAM,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,EAAE;YACjC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAClB;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAU,EAC1B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,EAChE,CAAC,CACF,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;;QAChC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAA,CAAC,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,KAAK,EAAE;YACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE;gBAC1C,MAAM;gBACN,SAAS,EAAE,0BAAS,CAAC,MAAM;aAC5B,CAAC,CAAC;SACJ;QACD,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE;YACnC,MAAM;YACN,SAAS,EAAE,0BAAS,CAAC,MAAM;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAgC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACjE,MAAM,OAAO,GACX,MAAM,CAAC,KAAK,KAAK,UAAU;YACzB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC/B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAErC,MAAM,KAAK,GACT,IAAA,mBAAc,EAAC,MAAM,CAAC,IAAI,IAAA,mBAAc,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAEzE,MAAM,MAAM,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM;YAC1B,CAAC,CAAC,IAAI,sBAAS,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;iBAC/C,GAAG,CAAC,SAAA,EAAE,EAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAA,CAAC;iBACzC,QAAQ,EAAE;YACf,CAAC,CAAC,CAAC,CAAC;QAEN,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,YAAY;YAAE,KAAK,GAAG,SAAS,CAAC;QAE9C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU;YAClC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;YAChE,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO;YACL,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,IAAI,EAAE,mCAAkB,CAAC,WAAW;YACpC,KAAK,EAAE,IAAI;YACX,IAAI,EAAE;gBACJ,OAAO;gBACP,MAAM;gBACN,OAAO,EAAE,MAAM,CAAC,GAAG;gBACnB,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,UAAU;aACX;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,OAAO,GAA6B;QACxC,IAAI,EAAE,qCAAoB,CAAC,QAAQ;QACnC,SAAS,EAAE,0BAAS,CAAC,MAAM;QAC3B,UAAU,EAAE,8BAAkB,CAAC,EAAE;QACjC,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,IAAI;QACX,IAAI,EAAE;YACJ,MAAM;SACP;KACF,CAAC;IACF,OAAO,CAAC,OAAO,CAAC,CAAC;AACnB,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,gCAAoB,CAAC,EAAE,cAAc;IAC5C,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"solana-nfts.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/tokens/fetchers/solana-nfts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAMoC;AACpC,6CAA4C;AAC5C,gDAMiC;AACjC,gEAAqC;AAErC,4CAAwE;AACxE,oDAAyD;AAEzD,gFAAwD;AACxD,6FAAwE;AAExE,MAAM,MAAM,GAAG,YAAY,CAAC;AAC5B,MAAM,YAAY,GAAG,SAAS,CAAC;AAE/B,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,aAAQ,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC;QACnD,KAAK,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAuB,EAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,QAAQ,CACvC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChB,CAAC,CAAC,KAAK,KAAK,UAAU;QACpB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE;QAC1B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAC9B,EACD;QACE,MAAM;QACN,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CACF,CAAC;IACF,MAAM,MAAM,GAAwB,IAAI,GAAG,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,WAAW,EAAE;YACf,MAAM,OAAO,GACX,CAAC,CAAC,KAAK,KAAK,UAAU;gBACpB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE;gBAC1B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SAClC;aAAM,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,EAAE;YACjC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAClB;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAU,EAC1B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,EAChE,CAAC,CACF,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;;QAChC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAA,CAAC,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,KAAK,EAAE;YACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE;gBAC1C,MAAM;gBACN,SAAS,EAAE,0BAAS,CAAC,MAAM;aAC5B,CAAC,CAAC;SACJ;QACD,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE;YACnC,MAAM;YACN,SAAS,EAAE,0BAAS,CAAC,MAAM;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAgC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACjE,MAAM,OAAO,GACX,MAAM,CAAC,KAAK,KAAK,UAAU;YACzB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC/B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAErC,MAAM,KAAK,GACT,IAAA,mBAAc,EAAC,MAAM,CAAC,IAAI,IAAA,mBAAc,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAEzE,MAAM,MAAM,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM;YAC1B,CAAC,CAAC,IAAI,sBAAS,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;iBAC/C,GAAG,CAAC,SAAA,EAAE,EAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAA,CAAC;iBACzC,QAAQ,EAAE;YACf,CAAC,CAAC,CAAC,CAAC;QAEN,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,YAAY;YAAE,KAAK,GAAG,SAAS,CAAC;QAE9C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU;YAClC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;YAChE,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO;YACL,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,IAAI,EAAE,mCAAkB,CAAC,WAAW;YACpC,KAAK,EAAE,IAAI;YACX,IAAI,EAAE;gBACJ,OAAO;gBACP,MAAM;gBACN,OAAO,EAAE,MAAM,CAAC,GAAG;gBACnB,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,UAAU;aACX;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,OAAO,GAA6B;QACxC,IAAI,EAAE,qCAAoB,CAAC,QAAQ;QACnC,SAAS,EAAE,0BAAS,CAAC,MAAM;QAC3B,UAAU,EAAE,8BAAkB,CAAC,EAAE;QACjC,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,IAAI;QACX,IAAI,EAAE;YACJ,MAAM;SACP;KACF,CAAC;IACF,OAAO,CAAC,OAAO,CAAC,CAAC;AACnB,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,gCAAoB,CAAC,EAAE,cAAc;IAC5C,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
@@ -1,102 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const portfolio_core_1 = require("@sonarwatch/portfolio-core");
16
- const js_1 = require("@metaplex-foundation/js");
17
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
18
- const constants_1 = require("./constants");
19
- const solana_1 = require("../../utils/solana");
20
- const clients_1 = require("../../utils/clients");
21
- const struct_1 = require("./struct");
22
- const filters_1 = require("./filters");
23
- const getImagefromUri_1 = require("../../utils/misc/getImagefromUri");
24
- const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
25
- const connection = (0, clients_1.getClientSolana)();
26
- const metaplex = new js_1.Metaplex(connection);
27
- const singleListings = yield (0, solana_1.getParsedProgramAccounts)(connection, struct_1.singleListingStruct, constants_1.tensorProgram, (0, filters_1.singleListingFilter)(owner));
28
- if (singleListings.length === 0)
29
- return [];
30
- const mints = singleListings.map((listing) => listing.nftMint);
31
- const nftsMetadata = yield metaplex.nfts().findAllByMintList({
32
- mints,
33
- });
34
- if (!nftsMetadata)
35
- return [];
36
- const promises = nftsMetadata.map((nftMetadata) => {
37
- if (!(nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.uri))
38
- return undefined;
39
- return (0, getImagefromUri_1.getImagefromUri)(nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.uri, portfolio_core_1.NetworkId.solana, cache);
40
- });
41
- const imageResults = yield Promise.allSettled(promises);
42
- const assets = [];
43
- nftsMetadata.forEach((nftMetadata, i) => {
44
- if (!nftMetadata)
45
- return;
46
- const imageResult = imageResults[i];
47
- const image = imageResult.status === 'fulfilled' ? imageResult.value : undefined;
48
- const address = nftMetadata.model === 'metadata'
49
- ? nftMetadata.mintAddress.toString()
50
- : nftMetadata.mint.address.toString();
51
- const token = (0, js_1.isNftWithToken)(nftMetadata) || (0, js_1.isSftWithToken)(nftMetadata)
52
- ? nftMetadata.token
53
- : null;
54
- const amount = (token === null || token === void 0 ? void 0 : token.amount)
55
- ? new bignumber_js_1.default(token.amount.basisPoints.toString())
56
- .div(Math.pow(10, token.amount.currency.decimals))
57
- .toNumber()
58
- : 1;
59
- const collection = nftMetadata.collection
60
- ? {
61
- floorPrice: null,
62
- id: nftMetadata.collection.address.toString(),
63
- }
64
- : undefined;
65
- const asset = {
66
- type: portfolio_core_1.PortfolioAssetType.collectible,
67
- networkId: portfolio_core_1.NetworkId.solana,
68
- value: null,
69
- data: {
70
- address,
71
- amount,
72
- price: null,
73
- name: nftMetadata.name,
74
- dataUri: nftMetadata.uri,
75
- imageUri: image,
76
- collection,
77
- },
78
- };
79
- assets.push(asset);
80
- });
81
- if (assets.length === 0)
82
- return [];
83
- const element = {
84
- type: portfolio_core_1.PortfolioElementType.multiple,
85
- networkId: portfolio_core_1.NetworkId.solana,
86
- platformId: constants_1.platformId,
87
- label: 'Wallet',
88
- tags: ['Single listing'],
89
- value: null,
90
- data: {
91
- assets,
92
- },
93
- };
94
- return [element];
95
- });
96
- const fetcher = {
97
- id: `${constants_1.platformId}-linsting`,
98
- networkId: portfolio_core_1.NetworkId.solana,
99
- executor,
100
- };
101
- exports.default = fetcher;
102
- //# sourceMappingURL=tensorFetcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tensorFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tensor/tensorFetcher.ts"],"names":[],"mappings":"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"}