@sonarwatch/portfolio-plugins 0.14.194 → 0.14.196

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 (47) hide show
  1. package/CHANGELOG.md +2435 -2417
  2. package/README.md +3 -3
  3. package/package.json +1 -1
  4. package/src/index.js +4 -0
  5. package/src/index.js.map +1 -1
  6. package/src/plugins/balancer/helpers/pools.js +21 -21
  7. package/src/plugins/boop/constants.d.ts +7 -0
  8. package/src/plugins/boop/constants.js +9 -0
  9. package/src/plugins/boop/constants.js.map +1 -0
  10. package/src/plugins/boop/index.d.ts +4 -0
  11. package/src/plugins/boop/index.js +10 -0
  12. package/src/plugins/boop/index.js.map +1 -0
  13. package/src/plugins/boop/stakingFetcher.d.ts +3 -0
  14. package/src/plugins/boop/stakingFetcher.js +84 -0
  15. package/src/plugins/boop/stakingFetcher.js.map +1 -0
  16. package/src/plugins/boop/structs.d.ts +16 -0
  17. package/src/plugins/boop/structs.js +17 -0
  18. package/src/plugins/boop/structs.js.map +1 -0
  19. package/src/plugins/cytonic/constants.d.ts +9 -0
  20. package/src/plugins/cytonic/constants.js +42 -0
  21. package/src/plugins/cytonic/constants.js.map +1 -0
  22. package/src/plugins/cytonic/index.d.ts +4 -0
  23. package/src/plugins/cytonic/index.js +10 -0
  24. package/src/plugins/cytonic/index.js.map +1 -0
  25. package/src/plugins/cytonic/stakingFetcher.d.ts +3 -0
  26. package/src/plugins/cytonic/stakingFetcher.js +78 -0
  27. package/src/plugins/cytonic/stakingFetcher.js.map +1 -0
  28. package/src/plugins/cytonic/structs.d.ts +32 -0
  29. package/src/plugins/cytonic/structs.js +31 -0
  30. package/src/plugins/cytonic/structs.js.map +1 -0
  31. package/src/plugins/exponent/constants.d.ts +2 -2
  32. package/src/plugins/exponent/constants.js +2 -2
  33. package/src/plugins/exponent/constants.js.map +1 -1
  34. package/src/plugins/exponent/marketsJob.js +9 -0
  35. package/src/plugins/exponent/marketsJob.js.map +1 -1
  36. package/src/plugins/hylo/marketsJob.js +13 -0
  37. package/src/plugins/hylo/marketsJob.js.map +1 -1
  38. package/src/plugins/hylo/structs.d.ts +6 -0
  39. package/src/plugins/hylo/structs.js +6 -0
  40. package/src/plugins/hylo/structs.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/zeta/airdropFetcher.js +14 -14
  44. package/src/utils/elementbuilder/ElementLeverageBuilder.js +3 -3
  45. package/src/utils/elementbuilder/ElementLeverageBuilder.js.map +1 -1
  46. package/src/utils/sei/constants.js +8 -8
  47. package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
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.194",
3
+ "version": "0.14.196",
4
4
  "type": "commonjs",
5
5
  "types": "./src/index.d.ts",
6
6
  "peerDependencies": {
package/src/index.js CHANGED
@@ -196,6 +196,8 @@ const bio = __importStar(require("./plugins/bio"));
196
196
  const huma = __importStar(require("./plugins/huma"));
197
197
  const honeyland = __importStar(require("./plugins/honeyland"));
198
198
  const lavarage = __importStar(require("./plugins/lavarage"));
199
+ const boop = __importStar(require("./plugins/boop"));
200
+ const cytonic = __importStar(require("./plugins/cytonic"));
199
201
  var getFetchersByAddressSystem_2 = require("./utils/misc/getFetchersByAddressSystem");
200
202
  Object.defineProperty(exports, "getFetchersByAddressSystem", { enumerable: true, get: function () { return getFetchersByAddressSystem_2.getFetchersByAddressSystem; } });
201
203
  __exportStar(require("./Cache"), exports);
@@ -378,6 +380,8 @@ const modules = [
378
380
  huma,
379
381
  honeyland,
380
382
  lavarage,
383
+ boop,
384
+ cytonic,
381
385
  ];
382
386
  // JOBS //
383
387
  exports.jobs = modules
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/plugins/src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/plugins/src/index.ts"],"names":[],"mappings":"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"}
@@ -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;
@@ -0,0 +1,7 @@
1
+ /// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
3
+ import { PublicKey } from '@solana/web3.js';
4
+ export declare const platformId = "boop";
5
+ export declare const pid: PublicKey;
6
+ export declare const withdrawPid: PublicKey;
7
+ export declare const boopMint = "boopkpWqe68MSxLqBGogs8ZbUDN4GXaLhFwNP7mpP1i";
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.boopMint = exports.withdrawPid = exports.pid = exports.platformId = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ exports.platformId = 'boop';
6
+ exports.pid = new web3_js_1.PublicKey('boopURdYr29D4C4BX7UWfi7rHQyinzCb4XRac3SHR85');
7
+ exports.withdrawPid = new web3_js_1.PublicKey('boopiN5ZqKsQ1uCtQoPG7FeXVmJi7YcwngQQrZCp6qA');
8
+ exports.boopMint = 'boopkpWqe68MSxLqBGogs8ZbUDN4GXaLhFwNP7mpP1i';
9
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/boop/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,MAAM,CAAC;AAEpB,QAAA,GAAG,GAAG,IAAI,mBAAS,CAAC,6CAA6C,CAAC,CAAC;AACnE,QAAA,WAAW,GAAG,IAAI,mBAAS,CACtC,6CAA6C,CAC9C,CAAC;AAEW,QAAA,QAAQ,GAAG,6CAA6C,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ import { Job } from '../../Job';
3
+ export declare const jobs: Job[];
4
+ export declare const fetchers: Fetcher[];
@@ -0,0 +1,10 @@
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 = void 0;
7
+ const stakingFetcher_1 = __importDefault(require("./stakingFetcher"));
8
+ exports.jobs = [];
9
+ exports.fetchers = [stakingFetcher_1.default];
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/boop/index.ts"],"names":[],"mappings":";;;;;;AAEA,sEAA8C;AAEjC,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc,CAAC,wBAAc,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -0,0 +1,84 @@
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 ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
17
+ const getParsedAccountInfo_1 = require("../../utils/solana/getParsedAccountInfo");
18
+ const structs_1 = require("./structs");
19
+ function getUserPda(owner) {
20
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from([117, 115, 101, 114]), new web3_js_1.PublicKey(owner).toBuffer()], constants_1.pid)[0];
21
+ }
22
+ function getWithdrawPda(owner) {
23
+ return web3_js_1.PublicKey.findProgramAddressSync([
24
+ Buffer.from([
25
+ 117, 110, 119, 114, 97, 112, 95, 114, 101, 113, 117, 101, 115, 116,
26
+ ]),
27
+ new web3_js_1.PublicKey(owner).toBuffer(),
28
+ ], constants_1.withdrawPid)[0];
29
+ }
30
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
31
+ const connection = (0, clients_1.getClientSolana)();
32
+ const [stakingAccount, pendingWithdraw] = yield Promise.all([
33
+ (0, getParsedAccountInfo_1.getParsedAccountInfo)(connection, structs_1.userStruct, getUserPda(owner)),
34
+ (0, getParsedAccountInfo_1.getParsedAccountInfo)(connection, structs_1.unwrapRequestStruct, getWithdrawPda(owner)),
35
+ ]);
36
+ if (!stakingAccount && !pendingWithdraw)
37
+ return [];
38
+ const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
39
+ const element = elementRegistry.addElementMultiple({
40
+ label: 'Staked',
41
+ });
42
+ if (stakingAccount) {
43
+ element.addAsset({
44
+ address: constants_1.boopMint,
45
+ amount: stakingAccount.balance_staked,
46
+ attributes: {
47
+ lockedUntil: -1,
48
+ },
49
+ ref: stakingAccount.pubkey.toString(),
50
+ });
51
+ if (!stakingAccount.balance_staked.isZero()) {
52
+ element.addAsset({
53
+ address: constants_1.boopMint,
54
+ amount: stakingAccount.reward_per_token_pending,
55
+ attributes: {
56
+ isClaimable: true,
57
+ },
58
+ ref: stakingAccount.pubkey.toString(),
59
+ });
60
+ }
61
+ }
62
+ if (pendingWithdraw) {
63
+ element.addAsset({
64
+ address: constants_1.boopMint,
65
+ amount: pendingWithdraw.amount,
66
+ attributes: {
67
+ lockedUntil: pendingWithdraw.timestamp
68
+ .plus(5 * 24 * 60 * 60)
69
+ .times(1000)
70
+ .toNumber(),
71
+ tags: ['Withdraw'],
72
+ },
73
+ ref: pendingWithdraw.pubkey.toString(),
74
+ });
75
+ }
76
+ return elementRegistry.getElements(cache);
77
+ });
78
+ const fetcher = {
79
+ id: `${constants_1.platformId}-staking`,
80
+ networkId: portfolio_core_1.NetworkId.solana,
81
+ executor,
82
+ };
83
+ exports.default = fetcher;
84
+ //# sourceMappingURL=stakingFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/boop/stakingFetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /// <reference types="node" />
2
+ import { BeetStruct } from '@metaplex-foundation/beet';
3
+ import BigNumber from 'bignumber.js';
4
+ export type User = {
5
+ buffer: Buffer;
6
+ reward_per_token_complete: BigNumber;
7
+ reward_per_token_pending: BigNumber;
8
+ balance_staked: BigNumber;
9
+ };
10
+ export declare const userStruct: BeetStruct<User, Partial<User>>;
11
+ export type UnwrapRequest = {
12
+ buffer: Buffer;
13
+ amount: BigNumber;
14
+ timestamp: BigNumber;
15
+ };
16
+ export declare const unwrapRequestStruct: BeetStruct<UnwrapRequest, Partial<UnwrapRequest>>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unwrapRequestStruct = exports.userStruct = void 0;
4
+ const beet_1 = require("@metaplex-foundation/beet");
5
+ const solana_1 = require("../../utils/solana");
6
+ exports.userStruct = new beet_1.BeetStruct([
7
+ ['buffer', (0, solana_1.blob)(8)],
8
+ ['reward_per_token_complete', solana_1.u128],
9
+ ['reward_per_token_pending', solana_1.u64],
10
+ ['balance_staked', solana_1.u64],
11
+ ], (args) => args);
12
+ exports.unwrapRequestStruct = new beet_1.BeetStruct([
13
+ ['buffer', (0, solana_1.blob)(8)],
14
+ ['amount', solana_1.u64],
15
+ ['timestamp', solana_1.i64],
16
+ ], (args) => args);
17
+ //# sourceMappingURL=structs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/boop/structs.ts"],"names":[],"mappings":";;;AAAA,oDAAuD;AAEvD,+CAA0D;AAS7C,QAAA,UAAU,GAAG,IAAI,iBAAU,CACtC;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,2BAA2B,EAAE,aAAI,CAAC;IACnC,CAAC,0BAA0B,EAAE,YAAG,CAAC;IACjC,CAAC,gBAAgB,EAAE,YAAG,CAAC;CACxB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAY,CACvB,CAAC;AAOW,QAAA,mBAAmB,GAAG,IAAI,iBAAU,CAC/C;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,QAAQ,EAAE,YAAG,CAAC;IACf,CAAC,WAAW,EAAE,YAAG,CAAC;CACnB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAqB,CAChC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
3
+ import { PublicKey } from '@solana/web3.js';
4
+ export declare const platformId = "cytonic";
5
+ export declare const pid: PublicKey;
6
+ export declare const assetsConfigs: {
7
+ mint: string;
8
+ vault: string;
9
+ }[];
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assetsConfigs = exports.pid = exports.platformId = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
6
+ const solana_1 = require("../../utils/solana");
7
+ const constants_1 = require("../jito/constants");
8
+ const constants_2 = require("../marinade/constants");
9
+ exports.platformId = 'cytonic';
10
+ exports.pid = new web3_js_1.PublicKey('HYDqq5GfUj4aBuPpSCs4fkmeS7jZHRhrrQ3q72KsJdD4');
11
+ // You can find the list of assets inside cytonic frontend, look for sol address
12
+ // To find the vault, run :
13
+ // assetsConfigs.map(
14
+ // (asset) =>
15
+ // PublicKey.findProgramAddressSync(
16
+ // [
17
+ // Buffer.from('vault-data', 'utf-8'),
18
+ // new PublicKey(
19
+ // 'CGXZkg4SP7ogYbad3Jm1myew827xdDEBCrtQnscKYEaX'
20
+ // ).toBuffer(),
21
+ // new PublicKey(asset).toBuffer(),
22
+ // ],
23
+ // pid
24
+ // )[0]
25
+ // );
26
+ exports.assetsConfigs = [
27
+ {
28
+ mint: portfolio_core_1.solanaNativeWrappedAddress,
29
+ vault: '4nsvUvEGo4AbUYTgT46RhPCV81KbxGnzHfxnHaNZantA',
30
+ },
31
+ {
32
+ mint: solana_1.usdcSolanaMint,
33
+ vault: 'Ey1gR9BnFpVCD6UwWit9KbEQz5qXJbP75BmYCoxcfqD8',
34
+ },
35
+ {
36
+ mint: 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB',
37
+ vault: 'DurSN134DtPxv9DT2EdDemLftwqLuFPKCu98NEfna63W',
38
+ },
39
+ { mint: constants_1.jitoSOLMint, vault: 'F82gzrGRNM5am9Eo1umL5vh4m7mMHaGeUhu8ymZPvaWk' },
40
+ { mint: constants_2.mSOLMint, vault: 'HS8YCGvg4d3bgqbNV2PGXjyAKLiDmZ2GJKWyKJFSoLHH' },
41
+ ];
42
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cytonic/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,+DAAwE;AACxE,+CAAoD;AACpD,iDAAgD;AAChD,qDAAiD;AAEpC,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,GAAG,GAAG,IAAI,mBAAS,CAC9B,8CAA8C,CAC/C,CAAC;AAEF,gFAAgF;AAEhF,2BAA2B;AAC3B,qBAAqB;AACrB,eAAe;AACf,wCAAwC;AACxC,UAAU;AACV,8CAA8C;AAC9C,yBAAyB;AACzB,2DAA2D;AAC3D,wBAAwB;AACxB,2CAA2C;AAC3C,WAAW;AACX,YAAY;AACZ,WAAW;AACX,KAAK;AACQ,QAAA,aAAa,GAAsC;IAC9D;QACE,IAAI,EAAE,2CAA0B;QAChC,KAAK,EAAE,8CAA8C;KACtD;IACD;QACE,IAAI,EAAE,uBAAc;QACpB,KAAK,EAAE,8CAA8C;KACtD;IACD;QACE,IAAI,EAAE,8CAA8C;QACpD,KAAK,EAAE,8CAA8C;KACtD;IACD,EAAE,IAAI,EAAE,uBAAW,EAAE,KAAK,EAAE,8CAA8C,EAAE;IAC5E,EAAE,IAAI,EAAE,oBAAQ,EAAE,KAAK,EAAE,8CAA8C,EAAE;CAC1E,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ import { Job } from '../../Job';
3
+ export declare const jobs: Job[];
4
+ export declare const fetchers: Fetcher[];
@@ -0,0 +1,10 @@
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 = void 0;
7
+ const stakingFetcher_1 = __importDefault(require("./stakingFetcher"));
8
+ exports.jobs = [];
9
+ exports.fetchers = [stakingFetcher_1.default];
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cytonic/index.ts"],"names":[],"mappings":";;;;;;AAEA,sEAA8C;AAEjC,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc,CAAC,wBAAc,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -0,0 +1,78 @@
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 ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
17
+ const structs_1 = require("./structs");
18
+ const ParsedGpa_1 = require("../../utils/solana/beets/ParsedGpa");
19
+ const solana_1 = require("../../utils/solana");
20
+ function getUserDataPdas(owner) {
21
+ return constants_1.assetsConfigs.map((config) => web3_js_1.PublicKey.findProgramAddressSync([
22
+ Buffer.from('vault-user', 'utf-8'),
23
+ new web3_js_1.PublicKey(config.vault).toBuffer(),
24
+ new web3_js_1.PublicKey(owner).toBuffer(),
25
+ ], constants_1.pid)[0]);
26
+ }
27
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
28
+ const connection = (0, clients_1.getClientSolana)();
29
+ const [userDatas, claimAccounts] = yield Promise.all([
30
+ (0, solana_1.getParsedMultipleAccountsInfo)(connection, structs_1.userDataStruct, getUserDataPdas(owner)),
31
+ ParsedGpa_1.ParsedGpa.build(connection, structs_1.claimDataStruct, constants_1.pid)
32
+ .addFilter('discriminator', [156, 12, 197, 103, 61, 191, 99, 234])
33
+ .addFilter('authority', new web3_js_1.PublicKey(owner))
34
+ .addDataSizeFilter(105)
35
+ .run(),
36
+ ]);
37
+ const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
38
+ const element = elementRegistry.addElementMultiple({
39
+ label: 'Deposit',
40
+ link: 'https://app.cytonic.com/deposit',
41
+ });
42
+ userDatas.forEach((userData, index) => {
43
+ if (!userData)
44
+ return;
45
+ const config = constants_1.assetsConfigs[index];
46
+ element.addAsset({
47
+ address: config.mint,
48
+ amount: userData.depositAmount,
49
+ ref: userData.pubkey.toString(),
50
+ sourceRefs: [{ address: config.vault, name: 'Vault' }],
51
+ });
52
+ });
53
+ claimAccounts.forEach((claim) => {
54
+ if (!claim)
55
+ return;
56
+ const config = constants_1.assetsConfigs.find((asset) => asset.vault === claim.vaultData.toString());
57
+ if (!config)
58
+ return;
59
+ element.addAsset({
60
+ address: config.mint,
61
+ amount: claim.amount,
62
+ attributes: {
63
+ lockedUntil: claim.claimableAfter.times(1000).toNumber(),
64
+ tags: ['Withdraw'],
65
+ },
66
+ ref: claim.pubkey.toString(),
67
+ sourceRefs: [{ address: config.vault, name: 'Vault' }],
68
+ });
69
+ });
70
+ return elementRegistry.getElements(cache);
71
+ });
72
+ const fetcher = {
73
+ id: `${constants_1.platformId}-deposit`,
74
+ networkId: portfolio_core_1.NetworkId.solana,
75
+ executor,
76
+ };
77
+ exports.default = fetcher;
78
+ //# sourceMappingURL=stakingFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cytonic/stakingFetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
3
+ import { BeetStruct } from '@metaplex-foundation/beet';
4
+ import BigNumber from 'bignumber.js';
5
+ import { PublicKey } from '@solana/web3.js';
6
+ export type ClaimData = {
7
+ discriminator: number[];
8
+ claimId: BigNumber;
9
+ authority: PublicKey;
10
+ vaultData: PublicKey;
11
+ amount: BigNumber;
12
+ claimableAfter: BigNumber;
13
+ bump: number;
14
+ };
15
+ export declare const claimDataStruct: BeetStruct<ClaimData, Partial<ClaimData>>;
16
+ export type UserData = {
17
+ discriminator: number[];
18
+ depositAmount: BigNumber;
19
+ bump: number;
20
+ };
21
+ export declare const userDataStruct: BeetStruct<UserData, Partial<UserData>>;
22
+ export type VaultData = {
23
+ discriminator: number[];
24
+ owner: PublicKey;
25
+ mint: PublicKey;
26
+ vaultAta: PublicKey;
27
+ withdrawDuration: BigNumber;
28
+ isFrozen: boolean;
29
+ totalDeposited: BigNumber;
30
+ bump: number;
31
+ };
32
+ export declare const vaultDataStruct: BeetStruct<VaultData, Partial<VaultData>>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.vaultDataStruct = exports.userDataStruct = exports.claimDataStruct = 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.claimDataStruct = new beet_1.BeetStruct([
8
+ ['discriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
9
+ ['claimId', solana_1.u128],
10
+ ['authority', beet_solana_1.publicKey],
11
+ ['vaultData', beet_solana_1.publicKey],
12
+ ['amount', solana_1.u64],
13
+ ['claimableAfter', solana_1.u64],
14
+ ['bump', beet_1.u8],
15
+ ], (args) => args, 'ClaimData');
16
+ exports.userDataStruct = new beet_1.BeetStruct([
17
+ ['discriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
18
+ ['depositAmount', solana_1.u64],
19
+ ['bump', beet_1.u8],
20
+ ], (args) => args, 'UserData');
21
+ exports.vaultDataStruct = new beet_1.BeetStruct([
22
+ ['discriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
23
+ ['owner', beet_solana_1.publicKey],
24
+ ['mint', beet_solana_1.publicKey],
25
+ ['vaultAta', beet_solana_1.publicKey],
26
+ ['withdrawDuration', solana_1.u64],
27
+ ['isFrozen', beet_1.u8],
28
+ ['totalDeposited', solana_1.u64],
29
+ ['bump', beet_1.u8],
30
+ ], (args) => args, 'VaultData');
31
+ //# sourceMappingURL=structs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cytonic/structs.ts"],"names":[],"mappings":";;;AAAA,oDAImC;AAEnC,kEAA6D;AAE7D,+CAA+C;AAWlC,QAAA,eAAe,GAAG,IAAI,iBAAU,CAC3C;IACE,CAAC,eAAe,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC,SAAS,EAAE,aAAI,CAAC;IACjB,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,QAAQ,EAAE,YAAG,CAAC;IACf,CAAC,gBAAgB,EAAE,YAAG,CAAC;IACvB,CAAC,MAAM,EAAE,SAAE,CAAC;CACb,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAiB,EAC3B,WAAW,CACZ,CAAC;AAOW,QAAA,cAAc,GAAG,IAAI,iBAAU,CAC1C;IACE,CAAC,eAAe,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC,eAAe,EAAE,YAAG,CAAC;IACtB,CAAC,MAAM,EAAE,SAAE,CAAC;CACb,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAgB,EAC1B,UAAU,CACX,CAAC;AAaW,QAAA,eAAe,GAAG,IAAI,iBAAU,CAC3C;IACE,CAAC,eAAe,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,MAAM,EAAE,uBAAS,CAAC;IACnB,CAAC,UAAU,EAAE,uBAAS,CAAC;IACvB,CAAC,kBAAkB,EAAE,YAAG,CAAC;IACzB,CAAC,UAAU,EAAE,SAAE,CAAC;IAChB,CAAC,gBAAgB,EAAE,YAAG,CAAC;IACvB,CAAC,MAAM,EAAE,SAAE,CAAC;CACb,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAiB,EAC3B,WAAW,CACZ,CAAC"}
@@ -7,5 +7,5 @@ export declare const platformId = "exponent";
7
7
  export declare const exponentCoreProgram: PublicKey;
8
8
  export declare const marketsCacheKey = "markets";
9
9
  export declare const marketsMemo: MemoizedCache<Market[], Market[]>;
10
- export declare const marketsApiUrl = "https://xpon-json-api-prod-650968662509.europe-west3.run.app/api/markets";
11
- export declare const ptTokensApiUrl = "https://xpon-json-api-prod-650968662509.europe-west3.run.app/api/tokens/pt";
10
+ export declare const marketsApiUrl = "https://web-api.exponent.finance/api/markets";
11
+ export declare const ptTokensApiUrl = "https://web-api.exponent.finance/api/tokens/pt";
@@ -11,6 +11,6 @@ exports.marketsMemo = new MemoizedCache_1.MemoizedCache(exports.marketsCacheKey,
11
11
  prefix: exports.platformId,
12
12
  networkId: portfolio_core_1.NetworkId.solana,
13
13
  });
14
- exports.marketsApiUrl = 'https://xpon-json-api-prod-650968662509.europe-west3.run.app/api/markets';
15
- exports.ptTokensApiUrl = 'https://xpon-json-api-prod-650968662509.europe-west3.run.app/api/tokens/pt';
14
+ exports.marketsApiUrl = 'https://web-api.exponent.finance/api/markets';
15
+ exports.ptTokensApiUrl = 'https://web-api.exponent.finance/api/tokens/pt';
16
16
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/exponent/constants.ts"],"names":[],"mappings":";;;AAAA,+DAAuD;AACvD,6CAA4C;AAC5C,kEAA+D;AAGlD,QAAA,UAAU,GAAG,UAAU,CAAC;AAExB,QAAA,mBAAmB,GAAG,IAAI,mBAAS,CAC9C,8CAA8C,CAC/C,CAAC;AAEW,QAAA,eAAe,GAAG,SAAS,CAAC;AAE5B,QAAA,WAAW,GAAG,IAAI,6BAAa,CAAW,uBAAe,EAAE;IACtE,MAAM,EAAE,kBAAU;IAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;CAC5B,CAAC,CAAC;AAEU,QAAA,aAAa,GACxB,0EAA0E,CAAC;AAEhE,QAAA,cAAc,GACzB,4EAA4E,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/exponent/constants.ts"],"names":[],"mappings":";;;AAAA,+DAAuD;AACvD,6CAA4C;AAC5C,kEAA+D;AAGlD,QAAA,UAAU,GAAG,UAAU,CAAC;AAExB,QAAA,mBAAmB,GAAG,IAAI,mBAAS,CAC9C,8CAA8C,CAC/C,CAAC;AAEW,QAAA,eAAe,GAAG,SAAS,CAAC;AAE5B,QAAA,WAAW,GAAG,IAAI,6BAAa,CAAW,uBAAe,EAAE;IACtE,MAAM,EAAE,kBAAU;IAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;CAC5B,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,8CAA8C,CAAC;AAE/D,QAAA,cAAc,GAAG,gDAAgD,CAAC"}
@@ -34,6 +34,15 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
34
34
  price: new bignumber_js_1.default(tokenPriceMintAsset.price)
35
35
  .multipliedBy(market.stats.syPriceInAsset)
36
36
  .toNumber(),
37
+ underlyings: [
38
+ {
39
+ address: market.vault.mintAsset.toString(),
40
+ amountPerLp: market.stats.syPriceInAsset,
41
+ decimals: market.vault.decimals,
42
+ networkId: portfolio_core_1.NetworkId.solana,
43
+ price: tokenPriceMintAsset.price,
44
+ },
45
+ ],
37
46
  timestamp: Date.now(),
38
47
  weight: 1,
39
48
  });
@@ -1 +1 @@
1
- {"version":3,"file":"marketsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/exponent/marketsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA6C;AAC7C,+DAAyE;AACzE,gEAAqC;AAGrC,2CAAyE;AAGzE,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,GAAG,GAEJ,MAAM,eAAK,CAAC,GAAG,CAAC,yBAAa,CAAC,CAAC;IAEpC,MAAM,iBAAiB,GAAuB,EAAE,CAAC;IAEjD,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,mBAAmB,CACjD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EACrD,0BAAS,CAAC,MAAM,CACjB,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,mBAAmB;YAAE,OAAO;QAEjC,iBAAiB,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;YAC5B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;YAC/B,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;YACnB,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI,sBAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC;iBAC5C,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;iBACzC,QAAQ,EAAE;YACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,CAAC;SACV,CAAC,CAAC;QAEH;;;;;;;;;;;;;cAaM;IACR,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,KAAK,CAAC,OAAO,CAAC,2BAAe,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;YAC5C,MAAM,EAAE,sBAAU;YAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;SAC5B,CAAC;QACF,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;KAC9C,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AAEF,kBAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"marketsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/exponent/marketsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA6C;AAC7C,+DAAyE;AACzE,gEAAqC;AAGrC,2CAAyE;AAGzE,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,GAAG,GAEJ,MAAM,eAAK,CAAC,GAAG,CAAC,yBAAa,CAAC,CAAC;IAEpC,MAAM,iBAAiB,GAAuB,EAAE,CAAC;IAEjD,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,mBAAmB,CACjD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EACrD,0BAAS,CAAC,MAAM,CACjB,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,mBAAmB;YAAE,OAAO;QAEjC,iBAAiB,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;YAC5B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;YAC/B,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;YACnB,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI,sBAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC;iBAC5C,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;iBACzC,QAAQ,EAAE;YACb,WAAW,EAAE;gBACX;oBACE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE;oBAC1C,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc;oBACxC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;oBAC/B,SAAS,EAAE,0BAAS,CAAC,MAAM;oBAC3B,KAAK,EAAE,mBAAmB,CAAC,KAAK;iBACjC;aACF;YACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,CAAC;SACV,CAAC,CAAC;QAEH;;;;;;;;;;;;;cAaM;IACR,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,KAAK,CAAC,OAAO,CAAC,2BAAe,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;YAC5C,MAAM,EAAE,sBAAU;YAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;SAC5B,CAAC;QACF,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;KAC9C,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AAEF,kBAAe,GAAG,CAAC"}
@@ -83,6 +83,19 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
83
83
  weight: 0.5,
84
84
  link: 'https://hylo.so/hyusd',
85
85
  });
86
+ const epochsPerYear = 182.5;
87
+ const lastEpochYield = hylo.yield_harvest_cache.stablecoin_yield_to_pool.bits
88
+ .shiftedBy(hylo.yield_harvest_cache.stablecoin_yield_to_pool.exp)
89
+ .dividedBy(hylo.yield_harvest_cache.stability_pool_cap.bits.shiftedBy(hylo.yield_harvest_cache.stability_pool_cap.exp))
90
+ .toNumber();
91
+ const apr = lastEpochYield * epochsPerYear;
92
+ const apy = Math.pow((1 + lastEpochYield), epochsPerYear) - 1;
93
+ yield cache.setTokenYield({
94
+ address: constants_1.shyUsdMint,
95
+ networkId: portfolio_core_1.NetworkId.solana,
96
+ yield: { apr, apy },
97
+ timestamp: Date.now(),
98
+ });
86
99
  }
87
100
  });
88
101
  const job = {