@sonarwatch/portfolio-plugins 0.14.171 → 0.14.172

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 +2321 -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/stabble/helpers.js +13 -13
  22. package/src/plugins/stabble/helpers.js.map +1 -1
  23. package/src/plugins/stabble/stakingFetcher.js +5 -4
  24. package/src/plugins/stabble/stakingFetcher.js.map +1 -1
  25. package/src/plugins/sushiswap/helpers.js +24 -24
  26. package/src/plugins/uniswap-v2/helpers.js +22 -22
  27. package/src/plugins/zeta/airdropFetcher.js +14 -14
  28. package/src/utils/sei/constants.js +8 -8
  29. package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
  30. package/src/plugins/goosefx/poolsFetcher.js.map +0 -1
  31. /package/src/plugins/goosefx/{poolsFetcher.d.ts → dualPoolFetcher.d.ts} +0 -0
package/README.md CHANGED
@@ -1,3 +1,3 @@
1
- # @sonarwatch/portfolio-plugins
2
-
3
- This library is @sonarwatch/portfolio-plugins
1
+ # @sonarwatch/portfolio-plugins
2
+
3
+ This library is @sonarwatch/portfolio-plugins
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-plugins",
3
- "version": "0.14.171",
3
+ "version": "0.14.172",
4
4
  "type": "commonjs",
5
5
  "types": "./src/index.d.ts",
6
6
  "peerDependencies": {
@@ -36,27 +36,27 @@ exports.getBalancerPoolsV2 = void 0;
36
36
  const graphql_request_1 = __importStar(require("graphql-request"));
37
37
  function getBalancerPoolsV2(url) {
38
38
  return __awaiter(this, void 0, void 0, function* () {
39
- const query = (0, graphql_request_1.gql) `
40
- query pools {
41
- pools(
42
- first: 1000
43
- orderBy: totalLiquidity
44
- orderDirection: desc
45
- where: { totalLiquidity_gt: "500" }
46
- ) {
47
- id
48
- address
49
- symbol
50
- totalLiquidity
51
- totalShares
52
- tokens {
53
- balance
54
- decimals
55
- symbol
56
- address
57
- }
58
- }
59
- }
39
+ const query = (0, graphql_request_1.gql) `
40
+ query pools {
41
+ pools(
42
+ first: 1000
43
+ orderBy: totalLiquidity
44
+ orderDirection: desc
45
+ where: { totalLiquidity_gt: "500" }
46
+ ) {
47
+ id
48
+ address
49
+ symbol
50
+ totalLiquidity
51
+ totalShares
52
+ tokens {
53
+ balance
54
+ decimals
55
+ symbol
56
+ address
57
+ }
58
+ }
59
+ }
60
60
  `;
61
61
  const res = yield (0, graphql_request_1.default)(url, query);
62
62
  const pools = res.pools;
@@ -3,5 +3,6 @@
3
3
  import { PublicKey } from '@solana/web3.js';
4
4
  export declare const platformId = "goosefx";
5
5
  export declare const gofxMint = "GFX1ZjR2P15tmrSwow6FjyDYcEkoFb4p4gJCpLBjaxHD";
6
- export declare const programId: PublicKey;
6
+ export declare const singlePoolPid: PublicKey;
7
+ export declare const dualPoolPid: PublicKey;
7
8
  export declare const stakerProgramId: PublicKey;
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stakerProgramId = exports.programId = exports.gofxMint = exports.platformId = void 0;
3
+ exports.stakerProgramId = exports.dualPoolPid = exports.singlePoolPid = exports.gofxMint = exports.platformId = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  exports.platformId = 'goosefx';
6
6
  exports.gofxMint = 'GFX1ZjR2P15tmrSwow6FjyDYcEkoFb4p4gJCpLBjaxHD';
7
- exports.programId = new web3_js_1.PublicKey('GFXsSL5sSaDfNFQUYsHekbWBW1TsFdjDYzACh62tEHxn');
7
+ exports.singlePoolPid = new web3_js_1.PublicKey('GFXsSL5sSaDfNFQUYsHekbWBW1TsFdjDYzACh62tEHxn');
8
+ exports.dualPoolPid = new web3_js_1.PublicKey('GAMMA7meSFWaBXF25oSUgmGRwaW6sCMFLmBNiMSdbHVT');
8
9
  exports.stakerProgramId = new web3_js_1.PublicKey('STKRWxT4irmTthSJydggspWmkc3ovYHx62DHLPVv1f1');
9
10
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,QAAQ,GAAG,8CAA8C,CAAC;AAC1D,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,8CAA8C,CAC/C,CAAC;AAEW,QAAA,eAAe,GAAG,IAAI,mBAAS,CAC1C,6CAA6C,CAC9C,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,QAAQ,GAAG,8CAA8C,CAAC;AAC1D,QAAA,aAAa,GAAG,IAAI,mBAAS,CACxC,8CAA8C,CAC/C,CAAC;AAEW,QAAA,WAAW,GAAG,IAAI,mBAAS,CACtC,8CAA8C,CAC/C,CAAC;AAEW,QAAA,eAAe,GAAG,IAAI,mBAAS,CAC1C,6CAA6C,CAC9C,CAAC"}
@@ -0,0 +1,67 @@
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 portfolio_core_1 = require("@sonarwatch/portfolio-core");
13
+ const web3_js_1 = require("@solana/web3.js");
14
+ const constants_1 = require("./constants");
15
+ const clients_1 = require("../../utils/clients");
16
+ const structs_1 = require("./structs");
17
+ const ParsedGpa_1 = require("../../utils/solana/beets/ParsedGpa");
18
+ const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
19
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
20
+ const client = (0, clients_1.getClientSolana)();
21
+ const userLiquidities = yield ParsedGpa_1.ParsedGpa.build(client, structs_1.userPoolLiquidityStruct, constants_1.dualPoolPid)
22
+ .addFilter('accountDiscriminator', [0, 141, 89, 29, 236, 6, 14, 15])
23
+ .addFilter('user', new web3_js_1.PublicKey(owner))
24
+ .addDataSizeFilter(184)
25
+ .run();
26
+ if (userLiquidities.length === 0)
27
+ return [];
28
+ const cachedPoolStates = yield cache.getItems(userLiquidities.map((liquidity) => liquidity.poolState.toString()), {
29
+ prefix: constants_1.platformId,
30
+ networkId: portfolio_core_1.NetworkId.solana,
31
+ });
32
+ const registry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
33
+ for (const account of userLiquidities) {
34
+ const poolState = cachedPoolStates.find((pool) => (pool === null || pool === void 0 ? void 0 : pool.pubkey.toString()) === account.poolState.toString());
35
+ if (!poolState)
36
+ continue;
37
+ const liqElement = registry.addElementLiquidity({
38
+ label: 'LiquidityPool',
39
+ ref: account.pubkey.toString(),
40
+ sourceRefs: [{ address: poolState.pubkey.toString(), name: 'Pool' }],
41
+ link: 'https://app.goosefx.io/gamma',
42
+ });
43
+ const liq = liqElement.addLiquidity({});
44
+ liq.addAsset({
45
+ address: poolState.token0Mint.toString(),
46
+ amount: account.token0Deposited
47
+ .minus(account.token0Withdrawn)
48
+ .dividedBy(Math.pow(10, poolState.mint0Decimals)),
49
+ alreadyShifted: true,
50
+ });
51
+ liq.addAsset({
52
+ address: poolState.token1Mint.toString(),
53
+ amount: account.token1Deposited
54
+ .minus(account.token1Withdrawn)
55
+ .dividedBy(Math.pow(10, poolState.mint1Decimals)),
56
+ alreadyShifted: true,
57
+ });
58
+ }
59
+ return registry.getElements(cache);
60
+ });
61
+ const fetcher = {
62
+ id: `${constants_1.platformId}-dual-pools`,
63
+ networkId: portfolio_core_1.NetworkId.solana,
64
+ executor,
65
+ };
66
+ exports.default = fetcher;
67
+ //# sourceMappingURL=dualPoolFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dualPoolFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/dualPoolFetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Job } from '../../Job';
2
+ declare const job: Job;
3
+ export default job;
@@ -0,0 +1,41 @@
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 portfolio_core_1 = require("@sonarwatch/portfolio-core");
13
+ const constants_1 = require("./constants");
14
+ const ParsedGpa_1 = require("../../utils/solana/beets/ParsedGpa");
15
+ const structs_1 = require("./structs");
16
+ const clients_1 = require("../../utils/clients");
17
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
18
+ const client = (0, clients_1.getClientSolana)();
19
+ const poolStates = yield ParsedGpa_1.ParsedGpa.build(client, structs_1.poolStateStruct, constants_1.dualPoolPid)
20
+ .addFilter('accountDiscriminator', [247, 237, 227, 245, 215, 195, 222, 70])
21
+ .addDataSizeFilter(637)
22
+ .run();
23
+ const items = [];
24
+ poolStates.forEach((poolState) => {
25
+ items.push({
26
+ key: poolState.pubkey.toString(),
27
+ value: poolState,
28
+ });
29
+ });
30
+ yield cache.setItems(items, {
31
+ prefix: constants_1.platformId,
32
+ networkId: portfolio_core_1.NetworkId.solana,
33
+ });
34
+ });
35
+ const job = {
36
+ id: `${constants_1.platformId}-dual-pools`,
37
+ executor,
38
+ labels: ['normal'],
39
+ };
40
+ exports.default = job;
41
+ //# sourceMappingURL=dualPoolJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dualPoolJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/dualPoolJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,2CAAsD;AACtD,kEAA+D;AAC/D,uCAAuD;AACvD,iDAAsD;AAGtD,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IACjC,MAAM,UAAU,GAAG,MAAM,qBAAS,CAAC,KAAK,CAAC,MAAM,EAAE,yBAAe,EAAE,uBAAW,CAAC;SAC3E,SAAS,CAAC,sBAAsB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;SAC1E,iBAAiB,CAAC,GAAG,CAAC;SACtB,GAAG,EAAE,CAAC;IAET,MAAM,KAAK,GAAuD,EAAE,CAAC;IAErE,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC/B,KAAK,CAAC,IAAI,CAAC;YACT,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE;YAChC,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE;QAC1B,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,aAAa;IAC9B,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AAEF,kBAAe,GAAG,CAAC"}
@@ -4,8 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.fetchers = exports.jobs = void 0;
7
- const poolsFetcher_1 = __importDefault(require("./poolsFetcher"));
7
+ const singlePoolFetcher_1 = __importDefault(require("./singlePoolFetcher"));
8
8
  const stakingFetcher_1 = __importDefault(require("./stakingFetcher"));
9
- exports.jobs = [];
10
- exports.fetchers = [poolsFetcher_1.default, stakingFetcher_1.default];
9
+ const dualPoolJob_1 = __importDefault(require("./dualPoolJob"));
10
+ const dualPoolFetcher_1 = __importDefault(require("./dualPoolFetcher"));
11
+ exports.jobs = [dualPoolJob_1.default];
12
+ exports.fetchers = [
13
+ singlePoolFetcher_1.default,
14
+ stakingFetcher_1.default,
15
+ dualPoolFetcher_1.default,
16
+ ];
11
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/index.ts"],"names":[],"mappings":";;;;;;AAEA,kEAA8C;AAC9C,sEAA8C;AAEjC,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc,CAAC,sBAAgB,EAAE,wBAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/index.ts"],"names":[],"mappings":";;;;;;AAEA,4EAAmD;AACnD,sEAA8C;AAC9C,gEAAwC;AACxC,wEAAgD;AAEnC,QAAA,IAAI,GAAU,CAAC,qBAAW,CAAC,CAAC;AAC5B,QAAA,QAAQ,GAAc;IACjC,2BAAgB;IAChB,wBAAc;IACd,yBAAe;CAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -19,13 +19,12 @@ const solana_1 = require("../../utils/solana");
19
19
  const structs_1 = require("./structs");
20
20
  const filters_1 = require("./filters");
21
21
  const tokenPriceToAssetToken_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetToken"));
22
- const getTokensPricesMap_1 = __importDefault(require("../../utils/misc/getTokensPricesMap"));
23
22
  const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
24
23
  const client = (0, clients_1.getClientSolana)();
25
- const accounts = yield (0, solana_1.getParsedProgramAccounts)(client, structs_1.liquidityStruct, constants_1.programId, (0, filters_1.liquidityAccountFilter)(owner));
24
+ const accounts = yield (0, solana_1.getParsedProgramAccounts)(client, structs_1.liquidityStruct, constants_1.singlePoolPid, (0, filters_1.liquidityAccountFilter)(owner));
26
25
  if (accounts.length === 0)
27
26
  return [];
28
- const tokenPriceById = yield (0, getTokensPricesMap_1.default)(accounts.map((account) => account.mint.toString()), portfolio_core_1.NetworkId.solana, cache);
27
+ const tokenPriceById = yield cache.getTokenPricesAsMap(accounts.map((account) => account.mint.toString()), portfolio_core_1.NetworkId.solana);
29
28
  const liquidities = [];
30
29
  for (const account of accounts) {
31
30
  if (account.amountDeposited.isZero())
@@ -43,6 +42,8 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
43
42
  rewardAssetsValue: null,
44
43
  value: asset.value,
45
44
  yields: [],
45
+ ref: account.pubkey.toString(),
46
+ link: 'https://app.goosefx.io/ssl',
46
47
  });
47
48
  }
48
49
  if (liquidities.length === 0)
@@ -64,4 +65,4 @@ const fetcher = {
64
65
  executor,
65
66
  };
66
67
  exports.default = fetcher;
67
- //# sourceMappingURL=poolsFetcher.js.map
68
+ //# sourceMappingURL=singlePoolFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singlePoolFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/singlePoolFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAKoC;AAGpC,2CAAwD;AACxD,iDAAsD;AACtD,+CAA8D;AAC9D,uCAA4C;AAC5C,uCAAmD;AACnD,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,yBAAe,EACf,yBAAa,EACb,IAAA,gCAAsB,EAAC,KAAK,CAAC,CAC9B,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,mBAAmB,CACpD,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAClD,0BAAS,CAAC,MAAM,CACjB,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;YACV,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC9B,IAAI,EAAE,4BAA4B;SACnC,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"}
@@ -33,3 +33,68 @@ export type UserMetadata = {
33
33
  unstakingTickets: UnstakingTicket[];
34
34
  };
35
35
  export declare const userMetadataStruct: BeetStruct<UserMetadata, Partial<UserMetadata>>;
36
+ export type PartnerInfo = {
37
+ partnerId: BigNumber;
38
+ lpTokenLinkedWithPartner: BigNumber;
39
+ cumulativeFeeTotalTimesTvlShareToken0: BigNumber;
40
+ cumulativeFeeTotalTimesTvlShareToken1: BigNumber;
41
+ };
42
+ export declare const partnerInfoStruct: BeetStruct<PartnerInfo, Partial<PartnerInfo>>;
43
+ export type PoolState = {
44
+ accountDiscriminator: number[];
45
+ ammConfig: PublicKey;
46
+ poolCreator: PublicKey;
47
+ token0Vault: PublicKey;
48
+ token1Vault: PublicKey;
49
+ token0Mint: PublicKey;
50
+ token1Mint: PublicKey;
51
+ padding: number[];
52
+ token0Program: PublicKey;
53
+ token1Program: PublicKey;
54
+ observationKey: PublicKey;
55
+ authBump: number;
56
+ status: number;
57
+ padding2: number;
58
+ mint0Decimals: number;
59
+ mint1Decimals: number;
60
+ lpSupply: BigNumber;
61
+ protocolFeesToken0: BigNumber;
62
+ protocolFeesToken1: BigNumber;
63
+ fundFeesToken0: BigNumber;
64
+ fundFeesToken1: BigNumber;
65
+ openTime: BigNumber;
66
+ recentEpoch: BigNumber;
67
+ cumulativeTradeFeesToken0: BigNumber;
68
+ cumulativeTradeFeesToken1: BigNumber;
69
+ cumulativeVolumeToken0: BigNumber;
70
+ cumulativeVolumeToken1: BigNumber;
71
+ latestDynamicFeeRate: BigNumber;
72
+ maxTradeFeeRate: BigNumber;
73
+ volatilityFactor: BigNumber;
74
+ token0VaultAmount: BigNumber;
75
+ token1VaultAmount: BigNumber;
76
+ maxSharedToken0: BigNumber;
77
+ maxSharedToken1: BigNumber;
78
+ partners: PartnerInfo[];
79
+ token0AmountInKamino: BigNumber;
80
+ token1AmountInKamino: BigNumber;
81
+ withdrawnKaminoProfitToken0: BigNumber;
82
+ withdrawnKaminoProfitToken1: BigNumber;
83
+ };
84
+ export declare const poolStateStruct: BeetStruct<PoolState, Partial<PoolState>>;
85
+ export declare enum PartnerType {
86
+ AssetDash = 0
87
+ }
88
+ export type UserPoolLiquidity = {
89
+ accountDiscriminator: number[];
90
+ user: PublicKey;
91
+ poolState: PublicKey;
92
+ token0Deposited: BigNumber;
93
+ token1Deposited: BigNumber;
94
+ token0Withdrawn: BigNumber;
95
+ token1Withdrawn: BigNumber;
96
+ lpTokensOwned: BigNumber;
97
+ partner: PartnerType;
98
+ padding: number[];
99
+ };
100
+ export declare const userPoolLiquidityStruct: BeetStruct<UserPoolLiquidity, Partial<UserPoolLiquidity>>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.userMetadataStruct = exports.unstakingTicketStruct = exports.liquidityStruct = void 0;
3
+ exports.userPoolLiquidityStruct = exports.PartnerType = exports.poolStateStruct = exports.partnerInfoStruct = exports.userMetadataStruct = exports.unstakingTicketStruct = exports.liquidityStruct = 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");
@@ -30,4 +30,67 @@ exports.userMetadataStruct = new beet_1.BeetStruct([
30
30
  ['totalEarned', solana_1.u64],
31
31
  ['unstakingTickets', (0, beet_1.uniformFixedSizeArray)(exports.unstakingTicketStruct, 64)],
32
32
  ], (args) => args);
33
+ exports.partnerInfoStruct = new beet_1.BeetStruct([
34
+ ['partnerId', solana_1.u64],
35
+ ['lpTokenLinkedWithPartner', solana_1.u64],
36
+ ['cumulativeFeeTotalTimesTvlShareToken0', solana_1.u64],
37
+ ['cumulativeFeeTotalTimesTvlShareToken1', solana_1.u64],
38
+ ], (args) => args);
39
+ exports.poolStateStruct = new beet_1.BeetStruct([
40
+ ['accountDiscriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
41
+ ['ammConfig', beet_solana_1.publicKey],
42
+ ['poolCreator', beet_solana_1.publicKey],
43
+ ['token0Vault', beet_solana_1.publicKey],
44
+ ['token1Vault', beet_solana_1.publicKey],
45
+ ['padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 32)],
46
+ ['token0Mint', beet_solana_1.publicKey],
47
+ ['token1Mint', beet_solana_1.publicKey],
48
+ ['token0Program', beet_solana_1.publicKey],
49
+ ['token1Program', beet_solana_1.publicKey],
50
+ ['observationKey', beet_solana_1.publicKey],
51
+ ['authBump', beet_1.u8],
52
+ ['status', beet_1.u8],
53
+ ['padding2', beet_1.u8],
54
+ ['mint0Decimals', beet_1.u8],
55
+ ['mint1Decimals', beet_1.u8],
56
+ ['lpSupply', solana_1.u64],
57
+ ['protocolFeesToken0', solana_1.u64],
58
+ ['protocolFeesToken1', solana_1.u64],
59
+ ['fundFeesToken0', solana_1.u64],
60
+ ['fundFeesToken1', solana_1.u64],
61
+ ['openTime', solana_1.u64],
62
+ ['recentEpoch', solana_1.u64],
63
+ ['cumulativeTradeFeesToken0', solana_1.u128],
64
+ ['cumulativeTradeFeesToken1', solana_1.u128],
65
+ ['cumulativeVolumeToken0', solana_1.u128],
66
+ ['cumulativeVolumeToken1', solana_1.u128],
67
+ ['latestDynamicFeeRate', solana_1.u64],
68
+ ['maxTradeFeeRate', solana_1.u64],
69
+ ['volatilityFactor', solana_1.u64],
70
+ ['token0VaultAmount', solana_1.u64],
71
+ ['token1VaultAmount', solana_1.u64],
72
+ ['maxSharedToken0', solana_1.u64],
73
+ ['maxSharedToken1', solana_1.u64],
74
+ ['partners', (0, beet_1.uniformFixedSizeArray)(exports.partnerInfoStruct, 1)],
75
+ ['token0AmountInKamino', solana_1.u64],
76
+ ['token1AmountInKamino', solana_1.u64],
77
+ ['withdrawnKaminoProfitToken0', solana_1.u64],
78
+ ['withdrawnKaminoProfitToken1', solana_1.u64],
79
+ ], (args) => args);
80
+ var PartnerType;
81
+ (function (PartnerType) {
82
+ PartnerType[PartnerType["AssetDash"] = 0] = "AssetDash";
83
+ })(PartnerType || (exports.PartnerType = PartnerType = {})); // Enum type for PartnerType
84
+ exports.userPoolLiquidityStruct = new beet_1.BeetStruct([
85
+ ['accountDiscriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
86
+ ['user', beet_solana_1.publicKey],
87
+ ['poolState', beet_solana_1.publicKey],
88
+ ['token0Deposited', solana_1.u128],
89
+ ['token1Deposited', solana_1.u128],
90
+ ['token0Withdrawn', solana_1.u128],
91
+ ['token1Withdrawn', solana_1.u128],
92
+ ['lpTokensOwned', solana_1.u128],
93
+ ['partner', beet_1.u8], // Optional enum
94
+ ['padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 23)],
95
+ ], (args) => args);
33
96
  //# sourceMappingURL=structs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/structs.ts"],"names":[],"mappings":";;;AAAA,oDAImC;AACnC,kEAA6D;AAG7D,+CAAoD;AAevC,QAAA,eAAe,GAAG,IAAI,iBAAU,CAC3C;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,cAAc,EAAE,uBAAS,CAAC;IAC3B,CAAC,MAAM,EAAE,uBAAS,CAAC;IACnB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,iBAAiB,EAAE,YAAG,CAAC;IACxB,CAAC,iBAAiB,EAAE,YAAG,CAAC;IACxB,CAAC,aAAa,EAAE,YAAG,CAAC;IACpB,CAAC,aAAa,EAAE,YAAG,CAAC;IACpB,CAAC,WAAW,EAAE,YAAG,CAAC;IAClB,CAAC,OAAO,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,GAAG,CAAC,CAAC;CAC1C,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAiB,CAC5B,CAAC;AAOW,QAAA,qBAAqB,GAAG,IAAI,iBAAU,CACjD;IACE,CAAC,eAAe,EAAE,YAAG,CAAC;IACtB,CAAC,WAAW,EAAE,YAAG,CAAC;CACnB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAuB,CAClC,CAAC;AAaW,QAAA,kBAAkB,GAAG,IAAI,iBAAU,CAC9C;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,iBAAiB,EAAE,YAAG,CAAC;IACxB,CAAC,aAAa,EAAE,YAAG,CAAC;IACpB,CAAC,iBAAiB,EAAE,YAAG,CAAC;IACxB,CAAC,aAAa,EAAE,YAAG,CAAC;IACpB,CAAC,aAAa,EAAE,YAAG,CAAC;IACpB,CAAC,kBAAkB,EAAE,IAAA,4BAAqB,EAAC,6BAAqB,EAAE,EAAE,CAAC,CAAC;CACvE,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAoB,CAC/B,CAAC"}
1
+ {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/structs.ts"],"names":[],"mappings":";;;AAAA,oDAImC;AACnC,kEAA6D;AAG7D,+CAA0D;AAe7C,QAAA,eAAe,GAAG,IAAI,iBAAU,CAC3C;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,cAAc,EAAE,uBAAS,CAAC;IAC3B,CAAC,MAAM,EAAE,uBAAS,CAAC;IACnB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,iBAAiB,EAAE,YAAG,CAAC;IACxB,CAAC,iBAAiB,EAAE,YAAG,CAAC;IACxB,CAAC,aAAa,EAAE,YAAG,CAAC;IACpB,CAAC,aAAa,EAAE,YAAG,CAAC;IACpB,CAAC,WAAW,EAAE,YAAG,CAAC;IAClB,CAAC,OAAO,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,GAAG,CAAC,CAAC;CAC1C,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAiB,CAC5B,CAAC;AAOW,QAAA,qBAAqB,GAAG,IAAI,iBAAU,CACjD;IACE,CAAC,eAAe,EAAE,YAAG,CAAC;IACtB,CAAC,WAAW,EAAE,YAAG,CAAC;CACnB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAuB,CAClC,CAAC;AAaW,QAAA,kBAAkB,GAAG,IAAI,iBAAU,CAC9C;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,iBAAiB,EAAE,YAAG,CAAC;IACxB,CAAC,aAAa,EAAE,YAAG,CAAC;IACpB,CAAC,iBAAiB,EAAE,YAAG,CAAC;IACxB,CAAC,aAAa,EAAE,YAAG,CAAC;IACpB,CAAC,aAAa,EAAE,YAAG,CAAC;IACpB,CAAC,kBAAkB,EAAE,IAAA,4BAAqB,EAAC,6BAAqB,EAAE,EAAE,CAAC,CAAC;CACvE,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAoB,CAC/B,CAAC;AASW,QAAA,iBAAiB,GAAG,IAAI,iBAAU,CAC7C;IACE,CAAC,WAAW,EAAE,YAAG,CAAC;IAClB,CAAC,0BAA0B,EAAE,YAAG,CAAC;IACjC,CAAC,uCAAuC,EAAE,YAAG,CAAC;IAC9C,CAAC,uCAAuC,EAAE,YAAG,CAAC;CAC/C,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAmB,CAC9B,CAAC;AA4CW,QAAA,eAAe,GAAG,IAAI,iBAAU,CAC3C;IACE,CAAC,sBAAsB,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,aAAa,EAAE,uBAAS,CAAC;IAC1B,CAAC,aAAa,EAAE,uBAAS,CAAC;IAC1B,CAAC,aAAa,EAAE,uBAAS,CAAC;IAC1B,CAAC,SAAS,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC,YAAY,EAAE,uBAAS,CAAC;IACzB,CAAC,YAAY,EAAE,uBAAS,CAAC;IACzB,CAAC,eAAe,EAAE,uBAAS,CAAC;IAC5B,CAAC,eAAe,EAAE,uBAAS,CAAC;IAC5B,CAAC,gBAAgB,EAAE,uBAAS,CAAC;IAC7B,CAAC,UAAU,EAAE,SAAE,CAAC;IAChB,CAAC,QAAQ,EAAE,SAAE,CAAC;IACd,CAAC,UAAU,EAAE,SAAE,CAAC;IAChB,CAAC,eAAe,EAAE,SAAE,CAAC;IACrB,CAAC,eAAe,EAAE,SAAE,CAAC;IACrB,CAAC,UAAU,EAAE,YAAG,CAAC;IACjB,CAAC,oBAAoB,EAAE,YAAG,CAAC;IAC3B,CAAC,oBAAoB,EAAE,YAAG,CAAC;IAC3B,CAAC,gBAAgB,EAAE,YAAG,CAAC;IACvB,CAAC,gBAAgB,EAAE,YAAG,CAAC;IACvB,CAAC,UAAU,EAAE,YAAG,CAAC;IACjB,CAAC,aAAa,EAAE,YAAG,CAAC;IACpB,CAAC,2BAA2B,EAAE,aAAI,CAAC;IACnC,CAAC,2BAA2B,EAAE,aAAI,CAAC;IACnC,CAAC,wBAAwB,EAAE,aAAI,CAAC;IAChC,CAAC,wBAAwB,EAAE,aAAI,CAAC;IAChC,CAAC,sBAAsB,EAAE,YAAG,CAAC;IAC7B,CAAC,iBAAiB,EAAE,YAAG,CAAC;IACxB,CAAC,kBAAkB,EAAE,YAAG,CAAC;IACzB,CAAC,mBAAmB,EAAE,YAAG,CAAC;IAC1B,CAAC,mBAAmB,EAAE,YAAG,CAAC;IAC1B,CAAC,iBAAiB,EAAE,YAAG,CAAC;IACxB,CAAC,iBAAiB,EAAE,YAAG,CAAC;IACxB,CAAC,UAAU,EAAE,IAAA,4BAAqB,EAAC,yBAAiB,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC,sBAAsB,EAAE,YAAG,CAAC;IAC7B,CAAC,sBAAsB,EAAE,YAAG,CAAC;IAC7B,CAAC,6BAA6B,EAAE,YAAG,CAAC;IACpC,CAAC,6BAA6B,EAAE,YAAG,CAAC;CACrC,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAiB,CAC5B,CAAC;AAEF,IAAY,WAEX;AAFD,WAAY,WAAW;IACrB,uDAAS,CAAA;AACX,CAAC,EAFW,WAAW,2BAAX,WAAW,QAEtB,CAAC,4BAA4B;AAejB,QAAA,uBAAuB,GAAG,IAAI,iBAAU,CACnD;IACE,CAAC,sBAAsB,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,MAAM,EAAE,uBAAS,CAAC;IACnB,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,iBAAiB,EAAE,aAAI,CAAC;IACzB,CAAC,iBAAiB,EAAE,aAAI,CAAC;IACzB,CAAC,iBAAiB,EAAE,aAAI,CAAC;IACzB,CAAC,iBAAiB,EAAE,aAAI,CAAC;IACzB,CAAC,eAAe,EAAE,aAAI,CAAC;IACvB,CAAC,SAAS,EAAE,SAAE,CAAC,EAAE,gBAAgB;IACjC,CAAC,SAAS,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,EAAE,CAAC,CAAC;CAC3C,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAyB,CACpC,CAAC"}
@@ -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;