@sonarwatch/portfolio-plugins 0.14.8 → 0.14.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. package/CHANGELOG.md +1620 -1612
  2. package/README.md +3 -3
  3. package/package.json +1 -1
  4. package/src/index.js +8 -0
  5. package/src/index.js.map +1 -1
  6. package/src/plugins/balancer/helpers/pools.js +21 -21
  7. package/src/plugins/cetus/clmmsFetcher.js +59 -55
  8. package/src/plugins/cetus/clmmsFetcher.js.map +1 -1
  9. package/src/plugins/cetus/farmsFetcher.js +66 -37
  10. package/src/plugins/cetus/farmsFetcher.js.map +1 -1
  11. package/src/plugins/cetus/helpers.d.ts +3 -1
  12. package/src/plugins/cetus/helpers.js +102 -1
  13. package/src/plugins/cetus/helpers.js.map +1 -1
  14. package/src/plugins/cetus/types.d.ts +28 -0
  15. package/src/plugins/cetus/types.js.map +1 -1
  16. package/src/plugins/loverflow/airdropClaimFetcher.d.ts +3 -0
  17. package/src/plugins/loverflow/airdropClaimFetcher.js +42 -0
  18. package/src/plugins/loverflow/airdropClaimFetcher.js.map +1 -0
  19. package/src/plugins/loverflow/constants.d.ts +6 -0
  20. package/src/plugins/loverflow/constants.js +16 -0
  21. package/src/plugins/loverflow/constants.js.map +1 -0
  22. package/src/plugins/loverflow/helpers.d.ts +2 -0
  23. package/src/plugins/loverflow/helpers.js +9 -0
  24. package/src/plugins/loverflow/helpers.js.map +1 -0
  25. package/src/plugins/loverflow/index.d.ts +6 -0
  26. package/src/plugins/loverflow/index.js +12 -0
  27. package/src/plugins/loverflow/index.js.map +1 -0
  28. package/src/plugins/loverflow/structs.d.ts +16 -0
  29. package/src/plugins/loverflow/structs.js +18 -0
  30. package/src/plugins/loverflow/structs.js.map +1 -0
  31. package/src/plugins/loverflow/types.d.ts +5 -0
  32. package/src/plugins/loverflow/types.js +3 -0
  33. package/src/plugins/loverflow/types.js.map +1 -0
  34. package/src/plugins/sandglass/constants.d.ts +1 -0
  35. package/src/plugins/sandglass/constants.js +8 -1
  36. package/src/plugins/sandglass/constants.js.map +1 -1
  37. package/src/plugins/sandglass/depositFetcher.js +11 -43
  38. package/src/plugins/sandglass/depositFetcher.js.map +1 -1
  39. package/src/plugins/sushiswap/helpers.js +24 -24
  40. package/src/plugins/uniswap-v2/helpers.js +22 -22
  41. package/src/plugins/zelo/constants.d.ts +5 -0
  42. package/src/plugins/zelo/constants.js +15 -0
  43. package/src/plugins/zelo/constants.js.map +1 -0
  44. package/src/plugins/zelo/index.d.ts +6 -0
  45. package/src/plugins/zelo/index.js +12 -0
  46. package/src/plugins/zelo/index.js.map +1 -0
  47. package/src/plugins/zelo/positionsFetcher.d.ts +3 -0
  48. package/src/plugins/zelo/positionsFetcher.js +40 -0
  49. package/src/plugins/zelo/positionsFetcher.js.map +1 -0
  50. package/src/plugins/zelo/structs.d.ts +11 -0
  51. package/src/plugins/zelo/structs.js +13 -0
  52. package/src/plugins/zelo/structs.js.map +1 -0
  53. package/src/plugins/zeta/airdropFetcher.js +14 -14
  54. package/src/utils/elementbuilder/AssetBuilder.d.ts +1 -1
  55. package/src/utils/elementbuilder/AssetBuilder.js +2 -2
  56. package/src/utils/elementbuilder/AssetBuilder.js.map +1 -1
  57. package/src/utils/elementbuilder/ElementBuilder.d.ts +2 -1
  58. package/src/utils/elementbuilder/ElementBuilder.js +5 -0
  59. package/src/utils/elementbuilder/ElementBuilder.js.map +1 -1
  60. package/src/utils/elementbuilder/LiquidityBuilder.js +1 -1
  61. package/src/utils/elementbuilder/LiquidityBuilder.js.map +1 -1
  62. package/src/utils/sei/constants.js +8 -8
  63. package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cetus/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cetus/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import BigNumber from 'bignumber.js';
1
2
  import { ID } from '../../utils/sui/structs/id';
2
3
  export type SuiAddressType = string;
3
4
  export type SuiObjectIdType = string;
@@ -250,3 +251,30 @@ export type DcaOrder = {
250
251
  status: string;
251
252
  user: string;
252
253
  };
254
+ export type FetchPosFeeParams = {
255
+ poolAddress: string;
256
+ positionId: string;
257
+ coinTypeA: string;
258
+ coinTypeB: string;
259
+ };
260
+ export type CollectFeesQuote = {
261
+ position_id: string;
262
+ feeOwedA: BigNumber;
263
+ feeOwedB: BigNumber;
264
+ };
265
+ export type FetchPosRewardParams = {
266
+ poolAddress: string;
267
+ positionId: string;
268
+ coinTypeA: string;
269
+ coinTypeB: string;
270
+ rewarderInfo: Rewarder[];
271
+ };
272
+ export type RewarderAmountOwed = {
273
+ amount_owed: BigNumber;
274
+ coin_address: string;
275
+ };
276
+ export type PosRewarderResult = {
277
+ poolAddress: string;
278
+ positionId: string;
279
+ rewarderAmountOwed: RewarderAmountOwed[];
280
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cetus/types.ts"],"names":[],"mappings":";;;AAwDA,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,yCAAqB,CAAA;IACrB,uCAAmB,CAAA;IACnB,6CAAyB,CAAA;AAC3B,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cetus/types.ts"],"names":[],"mappings":";;;AAyDA,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,yCAAqB,CAAA;IACrB,uCAAmB,CAAA;IACnB,6CAAyB,CAAA;AAC3B,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -0,0 +1,42 @@
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 clients_1 = require("../../utils/clients");
15
+ const structs_1 = require("./structs");
16
+ const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
17
+ const getParsedAccountInfo_1 = require("../../utils/solana/getParsedAccountInfo");
18
+ const helpers_1 = require("./helpers");
19
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
20
+ const connection = (0, clients_1.getClientSolana)();
21
+ const claim = yield (0, getParsedAccountInfo_1.getParsedAccountInfo)(connection, structs_1.claimStruct, (0, helpers_1.getPda)(owner));
22
+ if (!claim || claim.amount.isZero())
23
+ return [];
24
+ const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
25
+ const element = elementRegistry.addElementMultiple({
26
+ label: 'Airdrop',
27
+ });
28
+ element.addAsset({
29
+ address: claim.mintAddress.toString(),
30
+ amount: claim.amount.dividedBy(Math.pow(10, 9)),
31
+ alreadyShifted: true,
32
+ attributes: { isClaimable: true },
33
+ });
34
+ return elementRegistry.getElements(cache);
35
+ });
36
+ const fetcher = {
37
+ id: `${constants_1.platformId}-claim`,
38
+ networkId: portfolio_core_1.NetworkId.solana,
39
+ executor,
40
+ };
41
+ exports.default = fetcher;
42
+ //# sourceMappingURL=airdropClaimFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"airdropClaimFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/loverflow/airdropClaimFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAEvD,2CAAyC;AAEzC,iDAAsD;AACtD,uCAAwC;AACxC,gFAA6E;AAC7E,kFAA+E;AAC/E,uCAAmC;AAEnC,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IAErC,MAAM,KAAK,GAAG,MAAM,IAAA,2CAAoB,EACtC,UAAU,EACV,qBAAW,EACX,IAAA,gBAAM,EAAC,KAAK,CAAC,CACd,CAAC;IACF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,CAAC;IAE/C,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,eAAe,CAAC,kBAAkB,CAAC;QACjD,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IACH,OAAO,CAAC,QAAQ,CAAC;QACf,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE;QACrC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,CAAC,CAAA,CAAC;QACvC,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;KAClC,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"}
@@ -0,0 +1,6 @@
1
+ import { PublicKey } from '@solana/web3.js';
2
+ import { Platform } from '@sonarwatch/portfolio-core';
3
+ export declare const platformId = "loverflow";
4
+ export declare const platform: Platform;
5
+ export declare const marketsCacheKey = "markets";
6
+ export declare const pid: PublicKey;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pid = exports.marketsCacheKey = exports.platform = exports.platformId = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ exports.platformId = 'loverflow';
6
+ exports.platform = {
7
+ id: exports.platformId,
8
+ name: 'loverflow',
9
+ image: 'https://sonar.watch/img/platforms/loverflow.webp',
10
+ website: 'https://loverflow.ibx.exchange/claim',
11
+ twitter: 'https://x.com/IBXtrade',
12
+ // defiLlamaId: 'loverflow', // from https://defillama.com/docs/api
13
+ };
14
+ exports.marketsCacheKey = `markets`;
15
+ exports.pid = new web3_js_1.PublicKey('3VQxX1xitpPBXFARqarDQJPLDEUUBPzfUV1s1GPDSCvg');
16
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/loverflow/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG/B,QAAA,UAAU,GAAG,WAAW,CAAC;AACzB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,kDAAkD;IACzD,OAAO,EAAE,sCAAsC;IAC/C,OAAO,EAAE,wBAAwB;IACjC,mEAAmE;CACpE,CAAC;AACW,QAAA,eAAe,GAAG,SAAS,CAAC;AAE5B,QAAA,GAAG,GAAG,IAAI,mBAAS,CAC9B,8CAA8C,CAC/C,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { PublicKey } from '@solana/web3.js';
2
+ export declare function getPda(owner: string): PublicKey;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPda = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ function getPda(owner) {
6
+ return web3_js_1.PublicKey.findProgramAddressSync([new web3_js_1.PublicKey(owner).toBuffer().slice(0, 31)], new web3_js_1.PublicKey('CChTq6PthWU82YZkbveA3WDf7s97BWhBK4Vx9bmsT743'))[0];
7
+ }
8
+ exports.getPda = getPda;
9
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/loverflow/helpers.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C,SAAgB,MAAM,CAAC,KAAa;IAClC,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAC9C,IAAI,mBAAS,CAAC,8CAA8C,CAAC,CAC9D,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AALD,wBAKC"}
@@ -0,0 +1,6 @@
1
+ import { Platform } from '@sonarwatch/portfolio-core';
2
+ import { Fetcher } from '../../Fetcher';
3
+ import { Job } from '../../Job';
4
+ export declare const platforms: Platform[];
5
+ export declare const jobs: Job[];
6
+ export declare const fetchers: Fetcher[];
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.fetchers = exports.jobs = exports.platforms = void 0;
7
+ const constants_1 = require("./constants");
8
+ const airdropClaimFetcher_1 = __importDefault(require("./airdropClaimFetcher"));
9
+ exports.platforms = [constants_1.platform];
10
+ exports.jobs = [];
11
+ exports.fetchers = [airdropClaimFetcher_1.default];
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/loverflow/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,gFAAiD;AAEpC,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc,CAAC,6BAAY,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { BeetStruct } from '@metaplex-foundation/beet';
2
+ import { PublicKey } from '@solana/web3.js';
3
+ import BigNumber from 'bignumber.js';
4
+ export type Schedule = {
5
+ releaseTime: BigNumber;
6
+ amount: BigNumber;
7
+ };
8
+ export declare const scheduleStruct: BeetStruct<Schedule, Partial<Schedule>>;
9
+ export type Claim = {
10
+ destinationAddress: PublicKey;
11
+ mintAddress: PublicKey;
12
+ isInitialized: boolean;
13
+ releaseTime: BigNumber;
14
+ amount: BigNumber;
15
+ };
16
+ export declare const claimStruct: BeetStruct<Claim, Partial<Claim>>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.claimStruct = exports.scheduleStruct = void 0;
4
+ const beet_1 = require("@metaplex-foundation/beet");
5
+ const beet_solana_1 = require("@metaplex-foundation/beet-solana");
6
+ const solana_1 = require("../../utils/solana");
7
+ exports.scheduleStruct = new beet_1.BeetStruct([
8
+ ['releaseTime', solana_1.u64],
9
+ ['amount', solana_1.u64],
10
+ ], (args) => args);
11
+ exports.claimStruct = new beet_1.BeetStruct([
12
+ ['destinationAddress', beet_solana_1.publicKey],
13
+ ['mintAddress', beet_solana_1.publicKey],
14
+ ['isInitialized', beet_1.bool],
15
+ ['releaseTime', solana_1.u64],
16
+ ['amount', solana_1.u64],
17
+ ], (args) => args);
18
+ //# sourceMappingURL=structs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/loverflow/structs.ts"],"names":[],"mappings":";;;AAAA,oDAA6D;AAC7D,kEAA6D;AAG7D,+CAAyC;AAO5B,QAAA,cAAc,GAAG,IAAI,iBAAU,CAC1C;IACE,CAAC,aAAa,EAAE,YAAG,CAAC;IACpB,CAAC,QAAQ,EAAE,YAAG,CAAC;CAChB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAgB,CAC3B,CAAC;AASW,QAAA,WAAW,GAAG,IAAI,iBAAU,CACvC;IACE,CAAC,oBAAoB,EAAE,uBAAS,CAAC;IACjC,CAAC,aAAa,EAAE,uBAAS,CAAC;IAC1B,CAAC,eAAe,EAAE,WAAI,CAAC;IACvB,CAAC,aAAa,EAAE,YAAG,CAAC;IACpB,CAAC,QAAQ,EAAE,YAAG,CAAC;CAChB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAa,CACxB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { ID } from '../../utils/sui/structs/id';
2
+ export type Receipt = {
3
+ id: ID;
4
+ amountDeposited: string;
5
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/loverflow/types.ts"],"names":[],"mappings":""}
@@ -4,3 +4,4 @@ export declare const platformId = "sandglass";
4
4
  export declare const platform: Platform;
5
5
  export declare const programId: PublicKey;
6
6
  export declare const marketsInfoKey = "markets";
7
+ export declare const marketNameByAddress: Map<string, string>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.marketsInfoKey = exports.programId = exports.platform = exports.platformId = void 0;
3
+ exports.marketNameByAddress = exports.marketsInfoKey = exports.programId = exports.platform = exports.platformId = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  exports.platformId = 'sandglass';
6
6
  exports.platform = {
@@ -13,4 +13,11 @@ exports.platform = {
13
13
  };
14
14
  exports.programId = new web3_js_1.PublicKey('SANDsy8SBzwUE8Zio2mrYZYqL52Phr2WQb9DDKuXMVK');
15
15
  exports.marketsInfoKey = 'markets';
16
+ exports.marketNameByAddress = new Map([
17
+ ['6SbYW288Kje2WD6TRRcAmikhA76cijBi36y1wYt4RsdN', 'JLP'],
18
+ ['4K9VeqpZNCVHtZN9mKJpTihp4N8a9LeS35qBnqqM83Et', 'bSOL'],
19
+ ['Amu99crLdqbfpzrBbfrXHu1myWoCNXrSu7RRkHZJ1Ymv', 'mSOL'],
20
+ ['5ofpU1rU4ajg3LuHKSMBBWHDubTW1XF7x6tCAXsk5Gju', 'JitoSOL'],
21
+ ['B8V6WVjPxW1UGwVDfxH2d2r8SyT4cqn7dQRK6XneVa7D', 'cUSDC'],
22
+ ]);
16
23
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/sandglass/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG/B,QAAA,UAAU,GAAG,WAAW,CAAC;AACzB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,kDAAkD;IACzD,qEAAqE;IACrE,OAAO,EAAE,uBAAuB;IAChC,OAAO,EAAE,kCAAkC;CAC5C,CAAC;AAEW,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,6CAA6C,CAC9C,CAAC;AACW,QAAA,cAAc,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/sandglass/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG/B,QAAA,UAAU,GAAG,WAAW,CAAC;AACzB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,kDAAkD;IACzD,qEAAqE;IACrE,OAAO,EAAE,uBAAuB;IAChC,OAAO,EAAE,kCAAkC;CAC5C,CAAC;AAEW,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,6CAA6C,CAC9C,CAAC;AACW,QAAA,cAAc,GAAG,SAAS,CAAC;AAE3B,QAAA,mBAAmB,GAAG,IAAI,GAAG,CAAC;IACzC,CAAC,8CAA8C,EAAE,KAAK,CAAC;IACvD,CAAC,8CAA8C,EAAE,MAAM,CAAC;IACxD,CAAC,8CAA8C,EAAE,MAAM,CAAC;IACxD,CAAC,8CAA8C,EAAE,SAAS,CAAC;IAC3D,CAAC,8CAA8C,EAAE,OAAO,CAAC;CAC1D,CAAC,CAAC"}
@@ -8,9 +8,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  const portfolio_core_1 = require("@sonarwatch/portfolio-core");
16
13
  const constants_1 = require("./constants");
@@ -18,7 +15,7 @@ const clients_1 = require("../../utils/clients");
18
15
  const solana_1 = require("../../utils/solana");
19
16
  const structs_1 = require("./structs");
20
17
  const filters_1 = require("./filters");
21
- const tokenPriceToAssetToken_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetToken"));
18
+ const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
22
19
  const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
23
20
  const client = (0, clients_1.getClientSolana)();
24
21
  const accounts = yield (0, solana_1.getParsedProgramAccounts)(client, structs_1.sandglassAccountStruct, constants_1.programId, (0, filters_1.userAccountFilters)(owner));
@@ -32,51 +29,22 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
32
29
  return [];
33
30
  const marketInfoById = new Map();
34
31
  marketsInfos.forEach((marketInfo) => marketInfoById.set(marketInfo.pubkey.toString(), marketInfo));
35
- const mints = marketsInfos
36
- .map((marketInfo) => [
37
- marketInfo.ptMint,
38
- marketInfo.ytMint,
39
- marketInfo.lpMint,
40
- // marketInfo.syMint,
41
- ])
42
- .flat();
43
- const tokenPriceById = yield cache.getTokenPricesAsMap(mints, portfolio_core_1.NetworkId.solana);
44
- const assets = [];
32
+ const registry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
45
33
  for (const account of accounts) {
46
34
  const market = marketInfoById.get(account.marketAccount.toString());
47
35
  if (!market)
48
36
  continue;
37
+ const marketName = constants_1.marketNameByAddress.get(market.pubkey);
38
+ const element = registry.addElementMultiple({
39
+ label: 'Staked',
40
+ name: marketName,
41
+ });
49
42
  const { stakePtAmount, stakeYtAmount, stakeLpAmount } = account.stakeInfo;
50
- const ptPrice = tokenPriceById.get(market.ptMint);
51
- const ytPrice = tokenPriceById.get(market.ytMint);
52
- const lpPrice = tokenPriceById.get(market.lpMint);
53
- if (ptPrice && !stakePtAmount.isZero()) {
54
- const amount = stakePtAmount.dividedBy(Math.pow(10, ptPrice.decimals)).toNumber();
55
- assets.push((0, tokenPriceToAssetToken_1.default)(market.ptMint, amount, portfolio_core_1.NetworkId.solana, ptPrice));
56
- }
57
- if (ytPrice && !stakeYtAmount.isZero()) {
58
- const amount = stakeYtAmount.dividedBy(Math.pow(10, ytPrice.decimals)).toNumber();
59
- assets.push((0, tokenPriceToAssetToken_1.default)(market.ytMint, amount, portfolio_core_1.NetworkId.solana, ytPrice));
60
- }
61
- if (lpPrice && !stakeLpAmount.isZero()) {
62
- const amount = stakeLpAmount.dividedBy(Math.pow(10, lpPrice.decimals)).toNumber();
63
- assets.push((0, tokenPriceToAssetToken_1.default)(market.lpMint, amount, portfolio_core_1.NetworkId.solana, lpPrice));
64
- }
43
+ element.addAsset({ address: market.ptMint, amount: stakePtAmount });
44
+ element.addAsset({ address: market.ytMint, amount: stakeYtAmount });
45
+ element.addAsset({ address: market.lpMint, amount: stakeLpAmount });
65
46
  }
66
- if (assets.length === 0)
67
- return [];
68
- return [
69
- {
70
- label: 'Staked',
71
- networkId: portfolio_core_1.NetworkId.solana,
72
- platformId: constants_1.platformId,
73
- type: 'multiple',
74
- value: (0, portfolio_core_1.getUsdValueSum)(assets.map((asset) => asset.value)),
75
- data: {
76
- assets,
77
- },
78
- },
79
- ];
47
+ return registry.getElements(cache);
80
48
  });
81
49
  const fetcher = {
82
50
  id: `${constants_1.platformId}-deposit`,
@@ -1 +1 @@
1
- {"version":3,"file":"depositFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/sandglass/depositFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"depositFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/sandglass/depositFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,2CAKqB;AACrB,iDAAsD;AACtD,+CAA8D;AAC9D,uCAAmD;AACnD,uCAA+C;AAE/C,gFAA6E;AAE7E,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,gCAAsB,EACtB,qBAAS,EACT,IAAA,4BAAkB,EAAC,KAAK,CAAC,CAC1B,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,OAAO,CAAe,0BAAc,EAAE;QACrE,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;IACH,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAE7B,MAAM,cAAc,GAA4B,IAAI,GAAG,EAAE,CAAC;IAC1D,YAAY,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAClC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAC7D,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAEnE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM;YAAE,SAAS;QAEtB,MAAM,UAAU,GAAG,+BAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,kBAAkB,CAAC;YAC1C,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;QAC1E,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACrC,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"}
@@ -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;
@@ -0,0 +1,5 @@
1
+ import { Platform } from '@sonarwatch/portfolio-core';
2
+ import { PublicKey } from '@solana/web3.js';
3
+ export declare const platformId = "zelo";
4
+ export declare const platform: Platform;
5
+ export declare const programId: PublicKey;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.programId = exports.platform = exports.platformId = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ exports.platformId = 'zelo';
6
+ exports.platform = {
7
+ id: exports.platformId,
8
+ name: 'Zelo Finance',
9
+ image: 'https://sonar.watch/img/platforms/zelo.webp',
10
+ website: 'https://www.zelofi.io/',
11
+ twitter: 'https://x.com/zelofinance',
12
+ // defiLlamaId: 'foo-finance', // from https://defillama.com/docs/api
13
+ };
14
+ exports.programId = new web3_js_1.PublicKey('3weDTR2PBop8SoYXpQEhdRCA9Wr2JK7gj3CxuUbMo2VJ');
15
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/zelo/constants.ts"],"names":[],"mappings":";;;AACA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,MAAM,CAAC;AACpB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,6CAA6C;IACpD,OAAO,EAAE,wBAAwB;IACjC,OAAO,EAAE,2BAA2B;IACpC,qEAAqE;CACtE,CAAC;AAEW,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,8CAA8C,CAC/C,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Platform } from '@sonarwatch/portfolio-core';
2
+ import { Fetcher } from '../../Fetcher';
3
+ import { Job } from '../../Job';
4
+ export declare const platforms: Platform[];
5
+ export declare const jobs: Job[];
6
+ export declare const fetchers: Fetcher[];
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.fetchers = exports.jobs = exports.platforms = void 0;
7
+ const constants_1 = require("./constants");
8
+ const positionsFetcher_1 = __importDefault(require("./positionsFetcher"));
9
+ exports.platforms = [constants_1.platform];
10
+ exports.jobs = [];
11
+ exports.fetchers = [positionsFetcher_1.default];
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/zelo/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,0EAAkD;AAErC,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc,CAAC,0BAAgB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -0,0 +1,40 @@
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 ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
18
+ const getParsedAccountInfo_1 = require("../../utils/solana/getParsedAccountInfo");
19
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
20
+ const connection = (0, clients_1.getClientSolana)();
21
+ const userAccount = yield (0, getParsedAccountInfo_1.getParsedAccountInfo)(connection, structs_1.userRecordStruct, web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('user-v2'), new web3_js_1.PublicKey(owner).toBuffer()], constants_1.programId)[0]);
22
+ if (!userAccount)
23
+ return [];
24
+ const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
25
+ const element = elementRegistry.addElementMultiple({
26
+ label: 'Deposit',
27
+ });
28
+ element.addAsset({
29
+ address: portfolio_core_1.solanaNativeAddress,
30
+ amount: userAccount.solDeposit,
31
+ });
32
+ return elementRegistry.getElements(cache);
33
+ });
34
+ const fetcher = {
35
+ id: `${constants_1.platformId}-positions`,
36
+ networkId: portfolio_core_1.NetworkId.solana,
37
+ executor,
38
+ };
39
+ exports.default = fetcher;
40
+ //# sourceMappingURL=positionsFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positionsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/zelo/positionsFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAA4E;AAC5E,6CAA4C;AAE5C,2CAAoD;AAEpD,iDAAsD;AACtD,uCAA6C;AAC7C,gFAA6E;AAC7E,kFAA+E;AAE/E,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IAErC,MAAM,WAAW,GAAG,MAAM,IAAA,2CAAoB,EAC5C,UAAU,EACV,0BAAgB,EAChB,mBAAS,CAAC,sBAAsB,CAC9B,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,EACzD,qBAAS,CACV,CAAC,CAAC,CAAC,CACL,CAAC;IAEF,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAE5B,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,eAAe,CAAC,kBAAkB,CAAC;QACjD,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,QAAQ,CAAC;QACf,OAAO,EAAE,oCAAmB;QAC5B,MAAM,EAAE,WAAW,CAAC,UAAU;KAC/B,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,YAAY;IAC7B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}