@sonarwatch/portfolio-plugins 0.14.153 → 0.14.154

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [0.14.154](https://github.com/sonarwatch/portfolio/compare/plugins-0.14.153...plugins-0.14.154) (2025-03-25)
6
+
7
+
8
+
5
9
  ## [0.14.153](https://github.com/sonarwatch/portfolio/compare/plugins-0.14.152...plugins-0.14.153) (2025-03-25)
6
10
 
7
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-plugins",
3
- "version": "0.14.153",
3
+ "version": "0.14.154",
4
4
  "type": "commonjs",
5
5
  "types": "./src/index.d.ts",
6
6
  "peerDependencies": {
@@ -33,6 +33,8 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
33
33
  dataSize: 355,
34
34
  },
35
35
  ]);
36
+ const tokenPriceById = yield cache.getTokenPricesAsMap(pools.map((p) => p.mint.toString()), portfolio_core_1.NetworkId.solana);
37
+ const items = [];
36
38
  yield cache.setItem(constants_1.lendingPoolsCacheKey, pools.map((pool) => {
37
39
  const utilization = pool.depositedFunds.isGreaterThan(0)
38
40
  ? new bignumber_js_1.default(pool.borrowedFunds)
@@ -44,12 +46,43 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
44
46
  .dividedBy(Math.pow(2, 60))
45
47
  .multipliedBy((0, helpers_1.rateFactor)(utilization));
46
48
  const supplyApy = borrowApy.multipliedBy(utilization);
49
+ const tokenPrice = tokenPriceById.get(pool.mint.toString());
50
+ if (tokenPrice) {
51
+ const blRate = {
52
+ borrowedAmount: pool.borrowedFunds
53
+ .dividedBy(Math.pow(10, tokenPrice.decimals))
54
+ .toNumber(),
55
+ depositedAmount: pool.depositedFunds
56
+ .dividedBy(Math.pow(10, tokenPrice.decimals))
57
+ .toNumber(),
58
+ borrowYield: {
59
+ apr: (0, portfolio_core_1.apyToApr)(borrowApy.toNumber()),
60
+ apy: borrowApy.toNumber(),
61
+ },
62
+ depositYield: {
63
+ apr: (0, portfolio_core_1.apyToApr)(supplyApy.toNumber()),
64
+ apy: supplyApy.toNumber(),
65
+ },
66
+ utilizationRatio: utilization,
67
+ platformId: constants_1.platformId,
68
+ tokenAddress: pool.mint.toString(),
69
+ ref: pool.pubkey.toString(),
70
+ };
71
+ items.push({
72
+ key: `${pool.pubkey.toString()}-${pool.mint.toString()}`,
73
+ value: blRate,
74
+ });
75
+ }
47
76
  return Object.assign(Object.assign({}, pool), { supplyApy,
48
77
  borrowApy });
49
78
  }), {
50
79
  prefix: constants_1.platformId,
51
80
  networkId: portfolio_core_1.NetworkId.solana,
52
81
  });
82
+ yield cache.setItems(items, {
83
+ prefix: portfolio_core_1.borrowLendRatesPrefix,
84
+ networkId: portfolio_core_1.NetworkId.solana,
85
+ });
53
86
  });
54
87
  const job = {
55
88
  id: `${constants_1.platformId}-lending-pools`,
@@ -1 +1 @@
1
- {"version":3,"file":"lendingPoolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/defituna/lendingPoolsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gEAAqC;AACrC,+DAAuD;AAGvD,2CAAgF;AAChF,+CAA8D;AAC9D,iDAAsD;AACtD,uCAAwC;AACxC,uCAAuC;AAEvC,MAAM,eAAe,GAAG,QAAQ,CAAC;AAEjC,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IAErC,MAAM,KAAK,GAAG,MAAM,IAAA,iCAAwB,EAC1C,UAAU,EACV,qBAAW,EACX,2BAAe,EACf;QACE;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,aAAa;aACrB;SACF;QACD;YACE,QAAQ,EAAE,GAAG;SACd;KACF,CACF,CAAC;IAEF,MAAM,KAAK,CAAC,OAAO,CACjB,gCAAoB,EACpB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,IAAI,sBAAS,CAAC,IAAI,CAAC,aAAa,CAAC;iBAC9B,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;iBAC9B,QAAQ,EAAE;YACf,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,YAAY,CAAC;aAC/C,YAAY,CAAC,eAAe,CAAC;aAC7B,SAAS,CAAC,SAAA,CAAC,EAAI,EAAE,CAAA,CAAC;aAClB,YAAY,CAAC,IAAA,oBAAU,EAAC,WAAW,CAAC,CAAC,CAAC;QAEzC,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAEtD,uCACK,IAAI,KACP,SAAS;YACT,SAAS,IACT;IACJ,CAAC,CAAC,EACF;QACE,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,gBAAgB;IACjC,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AAEF,kBAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"lendingPoolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/defituna/lendingPoolsJob.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,7 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
59
59
  new bn_js_1.default(ledger.interest_repaid.array.reverse()).toNumber(),
60
60
  });
61
61
  element.addBorrowedWeight((0, helpers_1.bytesToNumberLE)(new Uint8Array(account.weight_matrix[i][0].array)));
62
- const apy = (0, helpers_1.bytesToNumberLE)(new Uint8Array(ledger.apy.array)) / 10000;
62
+ const apy = (0, helpers_1.bytesToNumberLE)(new Uint8Array(ledger.apy.array)) / 1000000;
63
63
  element.addBorrowedYield([
64
64
  {
65
65
  apy,
@@ -1 +1 @@
1
- {"version":3,"file":"loansFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/loopscale/loansFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loansFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/loopscale/loansFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAiE;AACjE,6CAA4C;AAC5C,kDAAuB;AAEvB,2CAA6D;AAE7D,iDAAsD;AACtD,gFAA6E;AAC7E,kEAA+D;AAC/D,uCAAuC;AACvC,uCAA4C;AAE5C,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,qBAAS,CAAC,KAAK,CACpC,UAAU,EACV,oBAAU,EACV,8BAAkB,CACnB;SACE,SAAS,CAAC,sBAAsB,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;SACvE,SAAS,CAAC,UAAU,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC;SAC3C,GAAG,EAAE,CAAC;IAET,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEhC,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAE1E,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,oBAAoB,CAAC;YACnD,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,OAAO,CAAC,MAAM;YACnB,IAAI,EAAE,kCAAkC,OAAO,CAAC,MAAM,EAAE;SACzD,CAAC,CAAC;QAEH,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE;YAC/C,IACE,cAAc,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBAC1C,mBAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAC5B,CAAC;gBACD,OAAO;YACT,CAAC;YACD,OAAO,CAAC,gBAAgB,CAAC;gBACvB,OAAO,EAAE,cAAc,CAAC,gBAAgB;gBACxC,MAAM,EAAE,IAAI,eAAE,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;aACjE,CAAC,CAAC;YAEH,OAAO,CAAC,cAAc,CACpB,IAAA,yBAAe,EAAC,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAChE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,mBAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACtE,OAAO;YACT,CAAC;YAED,OAAO,CAAC,gBAAgB,CAAC;gBACvB,OAAO,EAAE,MAAM,CAAC,cAAc;gBAC9B,MAAM,EACJ,IAAI,eAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;oBACvD,IAAI,eAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;oBAC1D,IAAI,eAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;oBACtD,IAAI,eAAE,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;aAC5D,CAAC,CAAC;YAEH,OAAO,CAAC,iBAAiB,CACvB,IAAA,yBAAe,EAAC,IAAI,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACnE,CAAC;YAEF,MAAM,GAAG,GAAG,IAAA,yBAAe,EAAC,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC;YACxE,OAAO,CAAC,gBAAgB,CAAC;gBACvB;oBACE,GAAG;oBACH,GAAG,EAAE,IAAA,yBAAQ,EAAC,GAAG,CAAC;iBACnB;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,QAAQ;IACzB,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}