@sonarwatch/portfolio-plugins 0.14.74 → 0.14.75

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.75](https://github.com/sonarwatch/portfolio/compare/plugins-0.14.74...plugins-0.14.75) (2024-12-20)
6
+
7
+
8
+
5
9
  ## [0.14.74](https://github.com/sonarwatch/portfolio/compare/plugins-0.14.73...plugins-0.14.74) (2024-12-20)
6
10
 
7
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-plugins",
3
- "version": "0.14.74",
3
+ "version": "0.14.75",
4
4
  "type": "commonjs",
5
5
  "types": "./src/index.d.ts",
6
6
  "peerDependencies": {
@@ -29,9 +29,11 @@ function getWhirlpoolsJob(programId) {
29
29
  const whirlpoolInfo = whirlpoolsInfo[id];
30
30
  if (whirlpoolInfo.liquidity.isZero())
31
31
  continue;
32
- const reserveX = yield client.getBalance(whirlpoolInfo.tokenVaultA);
33
- const reserveY = yield client.getBalance(whirlpoolInfo.tokenVaultB);
34
- yield (0, tokenPricesFromSqrt_1.default)(cache, portfolio_core_1.NetworkId.solana, whirlpoolInfo.pubkey.toString(), new bignumber_js_1.default(reserveX), new bignumber_js_1.default(reserveY), whirlpoolInfo.sqrtPrice, whirlpoolInfo.tokenMintA.toString(), whirlpoolInfo.tokenMintB.toString());
32
+ const [tokenBalanceX, tokenBalanceY] = yield Promise.all([
33
+ client.getTokenAccountBalance(whirlpoolInfo.tokenVaultA),
34
+ client.getTokenAccountBalance(whirlpoolInfo.tokenVaultB),
35
+ ]);
36
+ yield (0, tokenPricesFromSqrt_1.default)(cache, portfolio_core_1.NetworkId.solana, whirlpoolInfo.pubkey.toString(), new bignumber_js_1.default(tokenBalanceX.value.amount), new bignumber_js_1.default(tokenBalanceY.value.amount), whirlpoolInfo.sqrtPrice, whirlpoolInfo.tokenMintA.toString(), whirlpoolInfo.tokenMintB.toString(), tokenBalanceX.value.decimals, tokenBalanceY.value.decimals);
35
37
  items.push({
36
38
  key: whirlpoolInfo.pubkey.toString(),
37
39
  value: whirlpoolInfo,
@@ -1 +1 @@
1
- {"version":3,"file":"getWhirlpoolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/orca/getWhirlpoolsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAuD;AACvD,gEAAqC;AAErC,2CAA8C;AAC9C,+CAA8D;AAC9D,iDAAsD;AACtD,mDAAsD;AACtD,uCAA6C;AAG7C,+FAA4E;AAE5E,SAAwB,gBAAgB,CAAC,SAAoB;IAC3D,OAAO,CAAO,KAAY,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;QAEjC,MAAM,cAAc,GAAG,MAAM,IAAA,iCAAwB,EACnD,MAAM,EACN,2BAAe,EACf,SAAS,EACT,0BAAgB,CACjB,CAAC;QAEF,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YAClD,MAAM,aAAa,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE;gBAAE,SAAS;YAE/C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACpE,MAAM,IAAA,6BAAwB,EAC5B,KAAK,EACL,0BAAS,CAAC,MAAM,EAChB,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,EAC/B,IAAI,sBAAS,CAAC,QAAQ,CAAC,EACvB,IAAI,sBAAS,CAAC,QAAQ,CAAC,EACvB,aAAa,CAAC,SAAS,EACvB,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,EACnC,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,CACpC,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACpC,KAAK,EAAE,aAAa;aACrB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE;YAC1B,MAAM,EAAE,2BAAe;YACvB,SAAS,EAAE,0BAAS,CAAC,MAAM;SAC5B,CAAC,CAAC;IACL,CAAC,CAAA,CAAC;AACJ,CAAC;AAvCD,mCAuCC"}
1
+ {"version":3,"file":"getWhirlpoolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/orca/getWhirlpoolsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAuD;AACvD,gEAAqC;AAErC,2CAA8C;AAC9C,+CAA8D;AAC9D,iDAAsD;AACtD,mDAAsD;AACtD,uCAA6C;AAG7C,+FAA4E;AAE5E,SAAwB,gBAAgB,CAAC,SAAoB;IAC3D,OAAO,CAAO,KAAY,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;QAEjC,MAAM,cAAc,GAAG,MAAM,IAAA,iCAAwB,EACnD,MAAM,EACN,2BAAe,EACf,SAAS,EACT,0BAAgB,CACjB,CAAC;QAEF,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YAClD,MAAM,aAAa,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE;gBAAE,SAAS;YAE/C,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACvD,MAAM,CAAC,sBAAsB,CAAC,aAAa,CAAC,WAAW,CAAC;gBACxD,MAAM,CAAC,sBAAsB,CAAC,aAAa,CAAC,WAAW,CAAC;aACzD,CAAC,CAAC;YAEH,MAAM,IAAA,6BAAwB,EAC5B,KAAK,EACL,0BAAS,CAAC,MAAM,EAChB,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,EAC/B,IAAI,sBAAS,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EACzC,IAAI,sBAAS,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EACzC,aAAa,CAAC,SAAS,EACvB,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,EACnC,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,EACnC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAC5B,aAAa,CAAC,KAAK,CAAC,QAAQ,CAC7B,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACpC,KAAK,EAAE,aAAa;aACrB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE;YAC1B,MAAM,EAAE,2BAAe;YACvB,SAAS,EAAE,0BAAS,CAAC,MAAM;SAC5B,CAAC,CAAC;IACL,CAAC,CAAA,CAAC;AACJ,CAAC;AA5CD,mCA4CC"}
@@ -47,8 +47,8 @@ function storeTokenPricesFromSqrt(cache, networkId, source, reserveX, reserveY,
47
47
  const price = tokenPriceX.price * new decimal_js_1.default(1).dividedBy(xToYPrice).toNumber();
48
48
  const tvl = reserveX
49
49
  .multipliedBy(tokenPriceX.price)
50
- .times(2)
51
- .dividedBy(Math.pow(10, decimalsX));
50
+ .dividedBy(Math.pow(10, decimalsX))
51
+ .plus(reserveY.multipliedBy(price).dividedBy(Math.pow(10, decimalsY)));
52
52
  const weight = (0, getSourceWeight_1.default)(tvl);
53
53
  if (tvl.isLessThan(computeAndStoreLpPrice_1.minimumLiquidity))
54
54
  return undefined;
@@ -69,8 +69,8 @@ function storeTokenPricesFromSqrt(cache, networkId, source, reserveX, reserveY,
69
69
  const price = tokenPriceY.price * xToYPrice.toNumber();
70
70
  const tvl = reserveY
71
71
  .multipliedBy(tokenPriceY.price)
72
- .times(2)
73
- .dividedBy(Math.pow(10, decimalsY));
72
+ .dividedBy(Math.pow(10, decimalsY))
73
+ .plus(reserveX.multipliedBy(price).dividedBy(Math.pow(10, decimalsX)));
74
74
  const weight = (0, getSourceWeight_1.default)(tvl);
75
75
  if (tvl.isLessThan(computeAndStoreLpPrice_1.minimumLiquidity))
76
76
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"tokenPricesFromSqrt.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/clmm/tokenPricesFromSqrt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenPricesFromSqrt.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/clmm/tokenPricesFromSqrt.ts"],"names":[],"mappings":"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"}