@sonarwatch/portfolio-plugins 0.14.171 → 0.14.173

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 (49) hide show
  1. package/CHANGELOG.md +2325 -2317
  2. package/README.md +3 -3
  3. package/package.json +1 -1
  4. package/src/plugins/balancer/helpers/pools.js +21 -21
  5. package/src/plugins/goosefx/constants.d.ts +2 -1
  6. package/src/plugins/goosefx/constants.js +3 -2
  7. package/src/plugins/goosefx/constants.js.map +1 -1
  8. package/src/plugins/goosefx/dualPoolFetcher.js +67 -0
  9. package/src/plugins/goosefx/dualPoolFetcher.js.map +1 -0
  10. package/src/plugins/goosefx/dualPoolJob.d.ts +3 -0
  11. package/src/plugins/goosefx/dualPoolJob.js +41 -0
  12. package/src/plugins/goosefx/dualPoolJob.js.map +1 -0
  13. package/src/plugins/goosefx/index.js +9 -3
  14. package/src/plugins/goosefx/index.js.map +1 -1
  15. package/src/plugins/goosefx/singlePoolFetcher.d.ts +3 -0
  16. package/src/plugins/goosefx/{poolsFetcher.js → singlePoolFetcher.js} +5 -4
  17. package/src/plugins/goosefx/singlePoolFetcher.js.map +1 -0
  18. package/src/plugins/goosefx/structs.d.ts +65 -0
  19. package/src/plugins/goosefx/structs.js +64 -1
  20. package/src/plugins/goosefx/structs.js.map +1 -1
  21. package/src/plugins/jupiter/governance/asrAirdropFetcher.js +5 -2
  22. package/src/plugins/jupiter/governance/asrAirdropFetcher.js.map +1 -1
  23. package/src/plugins/jupiter/governance/constants.d.ts +3 -0
  24. package/src/plugins/jupiter/governance/constants.js +17 -1
  25. package/src/plugins/jupiter/governance/constants.js.map +1 -1
  26. package/src/plugins/jupiter/governance/index.d.ts +2 -0
  27. package/src/plugins/jupiter/governance/index.js +7 -1
  28. package/src/plugins/jupiter/governance/index.js.map +1 -1
  29. package/src/plugins/jupiter/index.js +4 -0
  30. package/src/plugins/jupiter/index.js.map +1 -1
  31. package/src/plugins/solayer/constants.d.ts +3 -2
  32. package/src/plugins/solayer/constants.js +5 -3
  33. package/src/plugins/solayer/constants.js.map +1 -1
  34. package/src/plugins/solayer/delegateJob.js +2 -2
  35. package/src/plugins/solayer/poolsJob.js +8 -15
  36. package/src/plugins/solayer/poolsJob.js.map +1 -1
  37. package/src/plugins/stabble/helpers.js +13 -13
  38. package/src/plugins/stabble/helpers.js.map +1 -1
  39. package/src/plugins/stabble/stakingFetcher.js +5 -4
  40. package/src/plugins/stabble/stakingFetcher.js.map +1 -1
  41. package/src/plugins/sushiswap/helpers.js +24 -24
  42. package/src/plugins/uniswap-v2/helpers.js +22 -22
  43. package/src/plugins/wormhole/stakingFetcher.js +7 -13
  44. package/src/plugins/wormhole/stakingFetcher.js.map +1 -1
  45. package/src/plugins/zeta/airdropFetcher.js +14 -14
  46. package/src/utils/sei/constants.js +8 -8
  47. package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
  48. package/src/plugins/goosefx/poolsFetcher.js.map +0 -1
  49. /package/src/plugins/goosefx/{poolsFetcher.d.ts → dualPoolFetcher.d.ts} +0 -0
@@ -4,8 +4,7 @@ import { PublicKey } from '@solana/web3.js';
4
4
  import { AirdropStatics } from '../../AirdropFetcher';
5
5
  export declare const layerMint = "LAYER4xPpTCb3QL8S9u41EAhAX7mhBn8Q6xMTwY2Yzc";
6
6
  export declare const platformId = "solayer";
7
- export declare const solayerLstMint = "sSo1wxKKr6zW2hqf5hZrp2CawLibcwi1pMBqk5bg2G4";
8
- export declare const solayerRstMint = "sSo14endRuUbvQaJS3dq36Q829a3A6BEfoeeRGJywEh";
7
+ export declare const solayerLstMint = "sSo14endRuUbvQaJS3dq36Q829a3A6BEfoeeRGJywEh";
9
8
  export declare const solayersUSDMint = "susdabGDNbhrnCa6ncrYo81u4s9GM8ecK2UwMyZiq4X";
10
9
  export declare const programId: PublicKey;
11
10
  export declare const solayersUSDCPid: PublicKey;
@@ -14,4 +13,6 @@ export declare const layerDecimals = 9;
14
13
  export declare const airdropStatics: AirdropStatics;
15
14
  export declare const solayerLstPool = "po1osKDWYF9oiVEGmzKA4eTs8eMveFRMox3bUKazGN2";
16
15
  export declare const solayerLstDecimals = 9;
16
+ export declare const stakePoolMint = "sSo1wxKKr6zW2hqf5hZrp2CawLibcwi1pMBqk5bg2G4";
17
+ export declare const stakePoolDecimals = 9;
17
18
  export declare const avsTokens: string[];
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.avsTokens = exports.solayerLstDecimals = exports.solayerLstPool = exports.airdropStatics = exports.layerDecimals = exports.airdropApi = exports.solayersUSDCPid = exports.programId = exports.solayersUSDMint = exports.solayerRstMint = exports.solayerLstMint = exports.platformId = exports.layerMint = void 0;
3
+ exports.avsTokens = exports.stakePoolDecimals = exports.stakePoolMint = exports.solayerLstDecimals = exports.solayerLstPool = exports.airdropStatics = exports.layerDecimals = exports.airdropApi = exports.solayersUSDCPid = exports.programId = exports.solayersUSDMint = exports.solayerLstMint = exports.platformId = exports.layerMint = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  exports.layerMint = 'LAYER4xPpTCb3QL8S9u41EAhAX7mhBn8Q6xMTwY2Yzc';
6
6
  exports.platformId = 'solayer';
7
- exports.solayerLstMint = 'sSo1wxKKr6zW2hqf5hZrp2CawLibcwi1pMBqk5bg2G4';
8
- exports.solayerRstMint = 'sSo14endRuUbvQaJS3dq36Q829a3A6BEfoeeRGJywEh';
7
+ exports.solayerLstMint = 'sSo14endRuUbvQaJS3dq36Q829a3A6BEfoeeRGJywEh';
8
+ // export const solayerRstMint = 'sSo14endRuUbvQaJS3dq36Q829a3A6BEfoeeRGJywEh';
9
9
  exports.solayersUSDMint = 'susdabGDNbhrnCa6ncrYo81u4s9GM8ecK2UwMyZiq4X';
10
10
  exports.programId = new web3_js_1.PublicKey('sSo1iU21jBrU9VaJ8PJib1MtorefUV4fzC9GURa2KNn');
11
11
  exports.solayersUSDCPid = new web3_js_1.PublicKey('s1aysqpEyZyijPybUV89oBGeooXrR22wMNLjnG2SWJA');
@@ -23,6 +23,8 @@ exports.airdropStatics = {
23
23
  // export const stakePoolProgramId = 'SPoo1Ku8WFXoNDMHPsrGSTSG1Y47rzgn41SLUNakuHy'
24
24
  exports.solayerLstPool = 'po1osKDWYF9oiVEGmzKA4eTs8eMveFRMox3bUKazGN2';
25
25
  exports.solayerLstDecimals = 9;
26
+ exports.stakePoolMint = 'sSo1wxKKr6zW2hqf5hZrp2CawLibcwi1pMBqk5bg2G4';
27
+ exports.stakePoolDecimals = 9;
26
28
  exports.avsTokens = [
27
29
  'sonickAJFiVLcYXx25X9vpF293udaWqDMUCiGtk7dg2',
28
30
  'hash4eTHsuZakZiHg5vfQwFtBaEhhC9SXRYsZm4Br7k',
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solayer/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG/B,QAAA,SAAS,GAAG,6CAA6C,CAAC;AAC1D,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,cAAc,GAAG,6CAA6C,CAAC;AAC/D,QAAA,cAAc,GAAG,6CAA6C,CAAC;AAC/D,QAAA,eAAe,GAAG,6CAA6C,CAAC;AAEhE,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,6CAA6C,CAC9C,CAAC;AACW,QAAA,eAAe,GAAG,IAAI,mBAAS,CAC1C,6CAA6C,CAC9C,CAAC;AAEW,QAAA,UAAU,GACrB,2EAA2E,CAAC;AACjE,QAAA,aAAa,GAAG,CAAC,CAAC;AAClB,QAAA,cAAc,GAAmB;IAC5C,SAAS,EAAE,mCAAmC;IAC9C,WAAW,EAAE,6BAA6B;IAC1C,WAAW,EAAE,SAAS;IACtB,EAAE,EAAE,iBAAiB;IACrB,KAAK,EACH,6EAA6E;IAC/E,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,SAAS;CACpB,CAAC;AAEF,kFAAkF;AACrE,QAAA,cAAc,GAAG,6CAA6C,CAAC;AAC/D,QAAA,kBAAkB,GAAG,CAAC,CAAC;AAEvB,QAAA,SAAS,GAAG;IACvB,6CAA6C;IAC7C,6CAA6C;IAC7C,6CAA6C;IAC7C,8CAA8C;IAC9C,6CAA6C;IAC7C,6CAA6C;CAC9C,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solayer/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG/B,QAAA,SAAS,GAAG,6CAA6C,CAAC;AAC1D,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,cAAc,GAAG,6CAA6C,CAAC;AAC5E,+EAA+E;AAClE,QAAA,eAAe,GAAG,6CAA6C,CAAC;AAChE,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,6CAA6C,CAC9C,CAAC;AACW,QAAA,eAAe,GAAG,IAAI,mBAAS,CAC1C,6CAA6C,CAC9C,CAAC;AAEW,QAAA,UAAU,GACrB,2EAA2E,CAAC;AACjE,QAAA,aAAa,GAAG,CAAC,CAAC;AAClB,QAAA,cAAc,GAAmB;IAC5C,SAAS,EAAE,mCAAmC;IAC9C,WAAW,EAAE,6BAA6B;IAC1C,WAAW,EAAE,SAAS;IACtB,EAAE,EAAE,iBAAiB;IACrB,KAAK,EACH,6EAA6E;IAC/E,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,SAAS;CACpB,CAAC;AAEF,kFAAkF;AACrE,QAAA,cAAc,GAAG,6CAA6C,CAAC;AAC/D,QAAA,kBAAkB,GAAG,CAAC,CAAC;AACvB,QAAA,aAAa,GAAG,6CAA6C,CAAC;AAC9D,QAAA,iBAAiB,GAAG,CAAC,CAAC;AACtB,QAAA,SAAS,GAAG;IACvB,6CAA6C;IAC7C,6CAA6C;IAC7C,6CAA6C;IAC7C,8CAA8C;IAC9C,6CAA6C;IAC7C,6CAA6C;CAC9C,CAAC"}
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const portfolio_core_1 = require("@sonarwatch/portfolio-core");
13
13
  const constants_1 = require("./constants");
14
14
  const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
15
- const rstTokenPrice = yield cache.getTokenPrice(constants_1.solayerRstMint, portfolio_core_1.NetworkId.solana);
15
+ const rstTokenPrice = yield cache.getTokenPrice(constants_1.solayerLstMint, portfolio_core_1.NetworkId.solana);
16
16
  if (!rstTokenPrice)
17
17
  return;
18
18
  const sources = [];
@@ -29,7 +29,7 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
29
29
  elementName: 'Delegate',
30
30
  underlyings: [
31
31
  {
32
- address: constants_1.solayerRstMint,
32
+ address: constants_1.solayerLstMint,
33
33
  decimals: rstTokenPrice.decimals,
34
34
  amountPerLp: 1,
35
35
  networkId: portfolio_core_1.NetworkId.solana,
@@ -25,14 +25,15 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
25
25
  const ratio = stakePool.totalLamports
26
26
  .div(stakePool.poolTokenSupply)
27
27
  .toNumber();
28
- const lstSource = {
29
- address: constants_1.solayerLstMint,
30
- decimals: constants_1.solayerLstDecimals,
28
+ const stakePoolSource = {
29
+ address: constants_1.stakePoolMint,
30
+ decimals: constants_1.stakePoolDecimals,
31
31
  id: constants_1.platformId,
32
32
  networkId: portfolio_core_1.NetworkId.solana,
33
- platformId: portfolio_core_1.walletTokensPlatformId,
33
+ platformId: constants_1.platformId,
34
34
  price: solTokenPrice.price * ratio,
35
35
  timestamp: Date.now(),
36
+ elementName: 'Restaking',
36
37
  weight: 1,
37
38
  underlyings: [
38
39
  {
@@ -44,16 +45,8 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
44
45
  },
45
46
  ],
46
47
  };
47
- const rstSource = Object.assign(Object.assign({}, lstSource), { address: constants_1.solayerRstMint, platformId: constants_1.platformId, elementName: 'Restaking', underlyings: [
48
- {
49
- address: portfolio_core_1.solanaNativeAddress,
50
- amountPerLp: ratio,
51
- decimals: portfolio_core_1.solanaNativeDecimals,
52
- networkId: portfolio_core_1.NetworkId.solana,
53
- price: solTokenPrice.price,
54
- },
55
- ] });
56
- yield cache.setTokenPriceSources([lstSource, rstSource]);
48
+ const lstSource = Object.assign(Object.assign({}, stakePoolSource), { address: constants_1.solayerLstMint, decimals: constants_1.solayerLstDecimals, platformId: portfolio_core_1.walletTokensPlatformId });
49
+ yield cache.setTokenPriceSources([stakePoolSource, lstSource]);
57
50
  }
58
51
  // Solayer restaking pools
59
52
  const accounts = yield (0, solana_1.getParsedProgramAccounts)(connection, structs_1.restakingPoolStruct, constants_1.programId, [
@@ -67,7 +60,7 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
67
60
  const rstMint = acc.rstMint.toString();
68
61
  const lstMint = acc.lstMint.toString();
69
62
  // Ignore Solayer custom RST, already supported above
70
- if (rstMint === constants_1.solayerRstMint)
63
+ if (rstMint === constants_1.solayerLstMint)
71
64
  return;
72
65
  const tp = prices.get(lstMint);
73
66
  if (!tp)
@@ -1 +1 @@
1
- {"version":3,"file":"poolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solayer/poolsJob.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solayer/poolsJob.ts"],"names":[],"mappings":"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"}
@@ -8,10 +8,9 @@ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
8
  function getRewards(rewarder, pool, miner) {
9
9
  const currentTime = Math.trunc(new Date().getTime() / 1000);
10
10
  const lastUpdatedTime = rewarder.lastUpdatedAt.toNumber();
11
- let { rewardsPerAmount } = pool;
11
+ let { rewardsPerWeight } = rewarder;
12
12
  if (currentTime > lastUpdatedTime) {
13
13
  const elapsedTime = currentTime - lastUpdatedTime;
14
- let { rewardsPerWeight } = rewarder;
15
14
  if (rewarder.totalWeights.isGreaterThan(new bignumber_js_1.default(0))) {
16
15
  rewardsPerWeight = rewarder.totalRewards
17
16
  .times(new bignumber_js_1.default(elapsedTime))
@@ -20,17 +19,18 @@ function getRewards(rewarder, pool, miner) {
20
19
  .div(rewarder.totalWeights)
21
20
  .plus(rewarder.rewardsPerWeight);
22
21
  }
23
- if (pool.totalAmount.isGreaterThan(new bignumber_js_1.default(0))) {
24
- rewardsPerAmount = rewardsPerWeight
25
- .times(pool.totalWeights)
26
- .div(new bignumber_js_1.default(1000000000))
27
- .plus(pool.totalRewardsCredit)
28
- .minus(pool.totalRewardsDebt)
29
- .minus(pool.totalRewardsDistributed)
30
- .times(new bignumber_js_1.default(1000000000))
31
- .div(pool.totalAmount)
32
- .plus(pool.rewardsPerAmount);
33
- }
22
+ }
23
+ let { rewardsPerAmount } = pool;
24
+ if (pool.totalAmount.isGreaterThan(new bignumber_js_1.default(0))) {
25
+ rewardsPerAmount = rewardsPerWeight
26
+ .times(pool.totalWeights)
27
+ .div(new bignumber_js_1.default(1000000000))
28
+ .plus(pool.totalRewardsCredit)
29
+ .minus(pool.totalRewardsDebt)
30
+ .minus(pool.totalRewardsDistributed)
31
+ .times(new bignumber_js_1.default(1000000000))
32
+ .div(pool.totalAmount)
33
+ .plus(pool.rewardsPerAmount);
34
34
  }
35
35
  return rewardsPerAmount
36
36
  .times(miner.amount)
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/stabble/helpers.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAGrC,SAAgB,UAAU,CACxB,QAAkB,EAClB,IAAgB,EAChB,KAAY;IAEZ,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;IAE1D,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAEhC,IAAI,WAAW,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,WAAW,GAAG,eAAe,CAAC;QAElD,IAAI,EAAE,gBAAgB,EAAE,GAAG,QAAQ,CAAC;QAEpC,IAAI,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,gBAAgB,GAAG,QAAQ,CAAC,YAAY;iBACrC,KAAK,CAAC,IAAI,sBAAS,CAAC,WAAW,CAAC,CAAC;iBACjC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;iBAC3B,KAAK,CAAC,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;iBAChC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;iBAC1B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,gBAAgB,GAAG,gBAAgB;iBAChC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;iBACxB,GAAG,CAAC,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;iBAC9B,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;iBAC7B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;iBAC5B,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;iBACnC,KAAK,CAAC,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;iBAChC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;iBACrB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,gBAAgB;SACpB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;SACnB,GAAG,CAAC,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;SAC9B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;SACzB,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;SACxB,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC;SAC3B,SAAS,CAAC,SAAA,EAAE,EAAI,QAAQ,CAAC,QAAQ,CAAA,CAAC,CAAC;AACxC,CAAC;AA5CD,gCA4CC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/stabble/helpers.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAGrC,SAAgB,UAAU,CACxB,QAAkB,EAClB,IAAgB,EAChB,KAAY;IAEZ,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;IAE1D,IAAI,EAAE,gBAAgB,EAAE,GAAG,QAAQ,CAAC;IAEpC,IAAI,WAAW,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,WAAW,GAAG,eAAe,CAAC;QAElD,IAAI,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,gBAAgB,GAAG,QAAQ,CAAC,YAAY;iBACrC,KAAK,CAAC,IAAI,sBAAS,CAAC,WAAW,CAAC,CAAC;iBACjC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;iBAC3B,KAAK,CAAC,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;iBAChC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;iBAC1B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAEhC,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,gBAAgB,GAAG,gBAAgB;aAChC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;aACxB,GAAG,CAAC,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;aAC9B,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;aAC7B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;aAC5B,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;aACnC,KAAK,CAAC,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;aAChC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;aACrB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,gBAAgB;SACpB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;SACnB,GAAG,CAAC,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;SAC9B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;SACzB,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;SACxB,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC;SAC3B,SAAS,CAAC,SAAA,EAAE,EAAI,QAAQ,CAAC,QAAQ,CAAA,CAAC,CAAC;AACxC,CAAC;AA5CD,gCA4CC"}
@@ -43,10 +43,10 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
43
43
  .flat()),
44
44
  ]);
45
45
  const registry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
46
- const element = registry.addElementLiquidity({
47
- label: 'Farming',
48
- });
49
46
  for (let i = 0; i < minerAccounts.length; i += 1) {
47
+ const element = registry.addElementLiquidity({
48
+ label: 'Farming',
49
+ });
50
50
  const mainMiner = minerAccounts[i];
51
51
  // If the beneficiary is not the authority, it means it's a derived miner for additional rewards
52
52
  if (mainMiner.beneficiary.toString() !== mainMiner.authority.toString())
@@ -83,8 +83,9 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
83
83
  if (!nextRewarder)
84
84
  return;
85
85
  liquidityElement.addRewardAsset({
86
- address: miner.pool,
86
+ address: nextRewarder.mint,
87
87
  amount: (0, helpers_1.getRewards)(nextRewarder, pool, miner),
88
+ alreadyShifted: true,
88
89
  });
89
90
  });
90
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/stabble/stakingFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/stabble/stakingFetcher.ts"],"names":[],"mappings":"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"}
@@ -54,30 +54,30 @@ function sushiV3PairToUniV2(pair) {
54
54
  }
55
55
  function getV3PairsAddresses(url, length = 300) {
56
56
  return __awaiter(this, void 0, void 0, function* () {
57
- const query = (0, graphql_request_1.gql) `
58
- {
59
- pools(
60
- orderBy: totalValueLockedUSD
61
- first: ${length}
62
- orderDirection: desc
63
- where: { volumeUSD_not: "0", liquidity_not: "0" }
64
- ) {
65
- id
66
- token0Price
67
- token1Price
68
- liquidity
69
- token0 {
70
- id
71
- totalSupply
72
- decimals
73
- }
74
- token1 {
75
- id
76
- totalSupply
77
- decimals
78
- }
79
- }
80
- }
57
+ const query = (0, graphql_request_1.gql) `
58
+ {
59
+ pools(
60
+ orderBy: totalValueLockedUSD
61
+ first: ${length}
62
+ orderDirection: desc
63
+ where: { volumeUSD_not: "0", liquidity_not: "0" }
64
+ ) {
65
+ id
66
+ token0Price
67
+ token1Price
68
+ liquidity
69
+ token0 {
70
+ id
71
+ totalSupply
72
+ decimals
73
+ }
74
+ token1 {
75
+ id
76
+ totalSupply
77
+ decimals
78
+ }
79
+ }
80
+ }
81
81
  `;
82
82
  const res = yield (0, graphql_request_1.default)(url, query);
83
83
  const pools = res.pools;
@@ -40,28 +40,28 @@ function getPairKey(version) {
40
40
  exports.getPairKey = getPairKey;
41
41
  function getPairsV2FromTheGraph(url, length = 300) {
42
42
  return __awaiter(this, void 0, void 0, function* () {
43
- const query = (0, graphql_request_1.gql) `
44
- {
45
- pairs(
46
- orderBy: reserveUSD
47
- first: ${length}
48
- orderDirection: desc
49
- where: { trackedReserveETH_not: "0" }
50
- ) {
51
- id
52
- reserve0
53
- reserve1
54
- totalSupply
55
- token0 {
56
- id
57
- decimals
58
- }
59
- token1 {
60
- id
61
- decimals
62
- }
63
- }
64
- }
43
+ const query = (0, graphql_request_1.gql) `
44
+ {
45
+ pairs(
46
+ orderBy: reserveUSD
47
+ first: ${length}
48
+ orderDirection: desc
49
+ where: { trackedReserveETH_not: "0" }
50
+ ) {
51
+ id
52
+ reserve0
53
+ reserve1
54
+ totalSupply
55
+ token0 {
56
+ id
57
+ decimals
58
+ }
59
+ token1 {
60
+ id
61
+ decimals
62
+ }
63
+ }
64
+ }
65
65
  `;
66
66
  const res = yield (0, graphql_request_1.default)(url, query);
67
67
  const pairs = res.pairs;
@@ -14,28 +14,22 @@ const web3_js_1 = require("@solana/web3.js");
14
14
  const constants_1 = require("./constants");
15
15
  const clients_1 = require("../../utils/clients");
16
16
  const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
17
- const solana_1 = require("../../utils/solana");
18
17
  const structs_1 = require("./structs");
18
+ const getParsedAccountInfo_1 = require("../../utils/solana/getParsedAccountInfo");
19
19
  const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
20
20
  const client = (0, clients_1.getClientSolana)();
21
- const tokenBalances = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, structs_1.tokenBalanceStruct, [
22
- web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('token_balance'), new web3_js_1.PublicKey(owner).toBytes()], constants_1.stakingProgramId)[0],
23
- ]);
24
- if (!tokenBalances.length)
21
+ const tokenBalances = yield (0, getParsedAccountInfo_1.getParsedAccountInfo)(client, structs_1.tokenBalanceStruct, web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('token_balance'), new web3_js_1.PublicKey(owner).toBytes()], constants_1.stakingProgramId)[0]);
22
+ if (!tokenBalances)
25
23
  return [];
26
24
  const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
27
25
  const element = elementRegistry.addElementMultiple({
28
26
  label: 'Staked',
29
27
  link: 'https://w.wormhole.com/',
28
+ ref: tokenBalances.pubkey.toString(),
30
29
  });
31
- tokenBalances.forEach((tokenBalance) => {
32
- if (!tokenBalance)
33
- return;
34
- element.addAsset({
35
- address: constants_1.wMint,
36
- amount: tokenBalance === null || tokenBalance === void 0 ? void 0 : tokenBalance.balance,
37
- ref: tokenBalance.pubkey.toString(),
38
- });
30
+ element.addAsset({
31
+ address: constants_1.wMint,
32
+ amount: tokenBalances.balance,
39
33
  });
40
34
  return elementRegistry.getElements(cache);
41
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/wormhole/stakingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AACvD,6CAA4C;AAG5C,2CAAkE;AAClE,iDAAsD;AACtD,gFAA6E;AAC7E,+CAAmE;AACnE,uCAA+C;AAE/C,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,aAAa,GAAG,MAAM,IAAA,sCAA6B,EACvD,MAAM,EACN,4BAAkB,EAClB;QACE,mBAAS,CAAC,sBAAsB,CAC9B,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,EAC9D,4BAAgB,CACjB,CAAC,CAAC,CAAC;KACL,CACF,CAAC;IAEF,IAAI,CAAC,aAAa,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,eAAe,CAAC,kBAAkB,CAAC;QACjD,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,yBAAyB;KAChC,CAAC,CAAC;IAEH,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QACrC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC1B,OAAO,CAAC,QAAQ,CAAC;YACf,OAAO,EAAE,iBAAK;YACd,MAAM,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO;YAC7B,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;SACpC,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,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/wormhole/stakingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AACvD,6CAA4C;AAG5C,2CAAkE;AAClE,iDAAsD;AACtD,gFAA6E;AAC7E,uCAA+C;AAC/C,kFAA+E;AAE/E,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,aAAa,GAAG,MAAM,IAAA,2CAAoB,EAC9C,MAAM,EACN,4BAAkB,EAElB,mBAAS,CAAC,sBAAsB,CAC9B,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,EAC9D,4BAAgB,CACjB,CAAC,CAAC,CAAC,CACL,CAAC;IAEF,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,CAAC;IAE9B,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,eAAe,CAAC,kBAAkB,CAAC;QACjD,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,yBAAyB;QAC/B,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;KACrC,CAAC,CAAC;IAEH,OAAO,CAAC,QAAQ,CAAC;QACf,OAAO,EAAE,iBAAK;QACd,MAAM,EAAE,aAAa,CAAC,OAAO;KAC9B,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5C,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"}
@@ -40,20 +40,20 @@ const clients_1 = require("../../utils/clients");
40
40
  const getMultipleAccountsInfoSafe_1 = require("../../utils/solana/getMultipleAccountsInfoSafe");
41
41
  const helpers_1 = require("./helpers");
42
42
  const AirdropFetcher_1 = require("../../AirdropFetcher");
43
- const query = (0, graphql_request_1.gql) `
44
- query GetAirdropFinalFrontend($authority: String!) {
45
- getAirdropFinalFrontend(authority: $authority) {
46
- authority
47
- community_allocation
48
- eligibility
49
- main_allocation
50
- og_allocation
51
- s1_allocation
52
- s2_allocation
53
- total_allocation
54
- __typename
55
- }
56
- }
43
+ const query = (0, graphql_request_1.gql) `
44
+ query GetAirdropFinalFrontend($authority: String!) {
45
+ getAirdropFinalFrontend(authority: $authority) {
46
+ authority
47
+ community_allocation
48
+ eligibility
49
+ main_allocation
50
+ og_allocation
51
+ s1_allocation
52
+ s2_allocation
53
+ total_allocation
54
+ __typename
55
+ }
56
+ }
57
57
  `;
58
58
  const executor = (owner) => __awaiter(void 0, void 0, void 0, function* () {
59
59
  const res = yield (0, graphql_request_1.default)(constants_1.graphqlApi, query, {
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.poolQueryMsg = exports.minterQueryMsg = exports.tokenInfoQueryMsg = exports.infoQueryMsg = void 0;
4
- exports.infoQueryMsg = JSON.parse(`{
5
- "info": {}
4
+ exports.infoQueryMsg = JSON.parse(`{
5
+ "info": {}
6
6
  }`);
7
- exports.tokenInfoQueryMsg = JSON.parse(`{
8
- "token_info": {}
7
+ exports.tokenInfoQueryMsg = JSON.parse(`{
8
+ "token_info": {}
9
9
  }`);
10
- exports.minterQueryMsg = JSON.parse(`{
11
- "minter": {}
10
+ exports.minterQueryMsg = JSON.parse(`{
11
+ "minter": {}
12
12
  }`);
13
- exports.poolQueryMsg = JSON.parse(`{
14
- "pool": {}
13
+ exports.poolQueryMsg = JSON.parse(`{
14
+ "pool": {}
15
15
  }`);
16
16
  //# sourceMappingURL=constants.js.map
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  function getQueryBalanceByOwner(owner) {
4
- return JSON.parse(`{
5
- "balance": {
6
- "address": "${owner}"
7
- }
4
+ return JSON.parse(`{
5
+ "balance": {
6
+ "address": "${owner}"
7
+ }
8
8
  }`);
9
9
  }
10
10
  exports.default = getQueryBalanceByOwner;
@@ -1 +0,0 @@
1
- {"version":3,"file":"poolsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/poolsFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAKoC;AAGpC,2CAAoD;AACpD,iDAAsD;AACtD,+CAA8D;AAC9D,uCAA4C;AAC5C,uCAAmD;AACnD,qGAA6E;AAC7E,6FAAoE;AAEpE,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,yBAAe,EACf,qBAAS,EACT,IAAA,gCAAsB,EAAC,KAAK,CAAC,CAC9B,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,cAAc,GAAG,MAAM,IAAA,4BAAiB,EAC5C,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAClD,0BAAS,CAAC,MAAM,EAChB,KAAK,CACN,CAAC;IAEF,MAAM,WAAW,GAAyB,EAAE,CAAC;IAC7C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE;YAAE,SAAS;QAC/C,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU;YAAE,SAAS;QAE1B,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,QAAQ,CAAA,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE5E,MAAM,KAAK,GAAG,IAAA,gCAAsB,EAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EACvB,MAAM,EACN,0BAAS,CAAC,MAAM,EAChB,UAAU,CACX,CAAC;QAEF,WAAW,CAAC,IAAI,CAAC;YACf,MAAM,EAAE,CAAC,KAAK,CAAC;YACf,WAAW,EAAE,KAAK,CAAC,KAAK;YACxB,YAAY,EAAE,EAAE;YAChB,iBAAiB,EAAE,IAAI;YACvB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,OAAO;QACL;YACE,IAAI,EAAE,qCAAoB,CAAC,SAAS;YACpC,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,IAAI,EAAE,EAAE,WAAW,EAAE;YACrB,KAAK,EAAE,IAAA,+BAAc,EAAC,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACvE;KACF,CAAC;AACJ,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"}