@sonarwatch/portfolio-plugins 0.14.59 → 0.14.60

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 (57) hide show
  1. package/CHANGELOG.md +1832 -1828
  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/adrastea/lrtsSolJob.js +4 -3
  7. package/src/plugins/adrastea/lrtsSolJob.js.map +1 -1
  8. package/src/plugins/balancer/helpers/pools.js +21 -21
  9. package/src/plugins/bluefin/airdropFetcher.js +4 -0
  10. package/src/plugins/bluefin/airdropFetcher.js.map +1 -1
  11. package/src/plugins/drift/perpHelpers/getOraclePrice.js +4 -0
  12. package/src/plugins/drift/perpHelpers/getOraclePrice.js.map +1 -1
  13. package/src/plugins/drift/perpHelpers/switchboard_on_demand.d.ts +3 -0
  14. package/src/plugins/drift/perpHelpers/switchboard_on_demand.js +23 -0
  15. package/src/plugins/drift/perpHelpers/switchboard_on_demand.js.map +1 -0
  16. package/src/plugins/drift/struct.d.ts +2 -1
  17. package/src/plugins/drift/struct.js +1 -0
  18. package/src/plugins/drift/struct.js.map +1 -1
  19. package/src/plugins/drift-market-maker-vault/depositsFetcher.js +20 -32
  20. package/src/plugins/drift-market-maker-vault/depositsFetcher.js.map +1 -1
  21. package/src/plugins/drift-market-maker-vault/types.d.ts +4 -0
  22. package/src/plugins/drift-market-maker-vault/vaultsJob.js +11 -1
  23. package/src/plugins/drift-market-maker-vault/vaultsJob.js.map +1 -1
  24. package/src/plugins/fluxbeam/poolsJob.js +98 -87
  25. package/src/plugins/fluxbeam/poolsJob.js.map +1 -1
  26. package/src/plugins/photofinish/constants.d.ts +5 -0
  27. package/src/plugins/photofinish/constants.js +14 -0
  28. package/src/plugins/photofinish/constants.js.map +1 -0
  29. package/src/plugins/photofinish/index.d.ts +6 -0
  30. package/src/plugins/photofinish/index.js +12 -0
  31. package/src/plugins/photofinish/index.js.map +1 -0
  32. package/src/plugins/photofinish/stakingFetcher.d.ts +3 -0
  33. package/src/plugins/photofinish/stakingFetcher.js +43 -0
  34. package/src/plugins/photofinish/stakingFetcher.js.map +1 -0
  35. package/src/plugins/photofinish/types.d.ts +5 -0
  36. package/src/plugins/photofinish/types.js +3 -0
  37. package/src/plugins/photofinish/types.js.map +1 -0
  38. package/src/plugins/sushiswap/helpers.js +24 -24
  39. package/src/plugins/switchboard/structs.d.ts +40 -0
  40. package/src/plugins/switchboard/structs.js +38 -1
  41. package/src/plugins/switchboard/structs.js.map +1 -1
  42. package/src/plugins/uniswap-v2/helpers.js +22 -22
  43. package/src/plugins/zeta/airdropFetcher.js +14 -14
  44. package/src/utils/elementbuilder/ElementBorrowlendBuilder.js +1 -1
  45. package/src/utils/elementbuilder/ElementBorrowlendBuilder.js.map +1 -1
  46. package/src/utils/elementbuilder/ElementBuilder.d.ts +1 -0
  47. package/src/utils/elementbuilder/ElementBuilder.js +1 -0
  48. package/src/utils/elementbuilder/ElementBuilder.js.map +1 -1
  49. package/src/utils/elementbuilder/ElementLeverageBuilder.js +1 -1
  50. package/src/utils/elementbuilder/ElementLeverageBuilder.js.map +1 -1
  51. package/src/utils/elementbuilder/ElementLiquidityBuilder.js +1 -1
  52. package/src/utils/elementbuilder/ElementLiquidityBuilder.js.map +1 -1
  53. package/src/utils/elementbuilder/ElementMultipleBuilder.js +1 -1
  54. package/src/utils/elementbuilder/ElementMultipleBuilder.js.map +1 -1
  55. package/src/utils/elementbuilder/ElementParams.d.ts +1 -0
  56. package/src/utils/sei/constants.js +8 -8
  57. package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
@@ -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 web3_js_1 = require("@solana/web3.js");
16
13
  const portfolio_core_1 = require("@sonarwatch/portfolio-core");
@@ -18,97 +15,111 @@ const constants_1 = require("./constants");
18
15
  const clients_1 = require("../../utils/clients");
19
16
  const solana_1 = require("../../utils/solana");
20
17
  const structs_1 = require("./structs");
21
- const getLpTokenSourceRawOld_1 = __importDefault(require("../../utils/misc/getLpTokenSourceRawOld"));
22
- const getLpUnderlyingTokenSourceOld_1 = __importDefault(require("../../utils/misc/getLpUnderlyingTokenSourceOld"));
18
+ const getLpTokenSourceRaw_1 = require("../../utils/misc/getLpTokenSourceRaw");
19
+ const tokenAccountsToExclude = [
20
+ 'F5LQTC4G9kBsMKsXtHgf9RqR15k3JB8K3smR73VB9pzY',
21
+ '3zAvJPHBX42kc1htJc6RFihhpnQxP5KqpqqkrTEUhZ9S',
22
+ ];
23
23
  const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
24
24
  const connection = (0, clients_1.getClientSolana)();
25
- let pools = yield (0, solana_1.getParsedProgramAccounts)(connection, structs_1.poolStruct, new web3_js_1.PublicKey(constants_1.fluxbeamPoolsPid), [{ dataSize: structs_1.poolStruct.byteSize }]);
26
- pools = pools.filter((pool) => pool.isInitialized);
27
- const reserveAccountsAddresses = pools
28
- .map((pool) => [pool.tokenA, pool.tokenB])
29
- .flat();
30
- const tokenAccounts = yield (0, solana_1.getParsedMultipleAccountsInfo)(connection, solana_1.tokenAccountStruct, reserveAccountsAddresses);
31
- const tokenAccountsMap = new Map();
32
- tokenAccounts.forEach((tokenAccount) => {
33
- if (!tokenAccount)
34
- return;
35
- tokenAccountsMap.set(tokenAccount.pubkey.toString(), tokenAccount);
36
- });
37
- const poolMints = yield (0, solana_1.getParsedMultipleAccountsInfo)(connection, solana_1.mintAccountStruct, pools.map((p) => p.poolMint));
38
- const tokenMintsAddresses = [
39
- ...new Set(pools
40
- .map((pool) => [pool.tokenAMint.toString(), pool.tokenBMint.toString()])
41
- .flat()),
42
- ];
43
- const tokenMintsAccounts = yield (0, solana_1.getParsedMultipleAccountsInfo)(connection, solana_1.mintAccountStruct, tokenMintsAddresses.map((a) => new web3_js_1.PublicKey(a)));
44
- const tokenMintsAccountsMap = new Map();
45
- tokenMintsAccounts.forEach((tokenMintAccount) => {
46
- if (!tokenMintAccount)
47
- return;
48
- tokenMintsAccountsMap.set(tokenMintAccount.pubkey.toString(), tokenMintAccount);
49
- });
50
- const tokenPriceResults = yield cache.getTokenPrices(tokenMintsAddresses, portfolio_core_1.NetworkId.solana);
51
- const tokenPrices = new Map();
52
- tokenPriceResults.forEach((tokenPrice) => {
53
- if (!tokenPrice)
54
- return;
55
- tokenPrices.set(tokenPrice.address, tokenPrice);
25
+ const allPoolsPubkeys = yield connection.getProgramAccounts(new web3_js_1.PublicKey(constants_1.fluxbeamPoolsPid), {
26
+ filters: [{ dataSize: structs_1.poolStruct.byteSize }],
27
+ dataSlice: { length: 0, offset: 0 },
56
28
  });
57
- for (let i = 0; i < pools.length; i++) {
58
- const pool = pools[i];
59
- if (!pool.isInitialized)
60
- continue;
61
- const poolMint = poolMints[i];
62
- if (!poolMint)
63
- continue;
64
- const tokenAccountA = tokenAccountsMap.get(pool.tokenA.toString());
65
- const tokenAccountB = tokenAccountsMap.get(pool.tokenB.toString());
66
- if (!tokenAccountA || !tokenAccountB)
67
- continue;
68
- const mintAccountA = tokenMintsAccountsMap.get(pool.tokenAMint.toString());
69
- const mintAccountB = tokenMintsAccountsMap.get(pool.tokenBMint.toString());
70
- if (!mintAccountA || !mintAccountB)
29
+ const step = 100;
30
+ let tempPools;
31
+ const sources = [];
32
+ for (let offset = 0; offset < allPoolsPubkeys.length; offset += step) {
33
+ const tempTokenAccountsMap = new Map();
34
+ const tempTokenMintsAccountsMap = new Map();
35
+ const tempTokenMints = [];
36
+ const tempTokenAddresses = new Set();
37
+ const tempsReserveAccounts = [];
38
+ const tempsPoolMints = [];
39
+ tempPools = yield (0, solana_1.getParsedMultipleAccountsInfo)(connection, structs_1.poolStruct, allPoolsPubkeys.slice(offset, offset + step).map((res) => res.pubkey));
40
+ tempPools = tempPools.filter((pool) => pool === null || pool === void 0 ? void 0 : pool.isInitialized);
41
+ tempPools.forEach((pool) => {
42
+ if (pool) {
43
+ tempTokenMints.push(...[pool.tokenAMint, pool.tokenBMint]);
44
+ tempTokenAddresses.add(pool.tokenAMint.toString());
45
+ tempTokenAddresses.add(pool.tokenBMint.toString());
46
+ tempsReserveAccounts.push(...[pool.tokenA, pool.tokenB]);
47
+ tempsPoolMints.push(...[pool.poolMint]);
48
+ }
49
+ });
50
+ const [tokenAccounts, poolMintsAccounts, tokenMintsAccounts, tokenPriceById,] = yield Promise.all([
51
+ (0, solana_1.getParsedMultipleAccountsInfo)(connection, solana_1.tokenAccountStruct, tempsReserveAccounts),
52
+ (0, solana_1.getParsedMultipleAccountsInfo)(connection, solana_1.mintAccountStruct, tempsPoolMints),
53
+ (0, solana_1.getParsedMultipleAccountsInfo)(connection, solana_1.mintAccountStruct, Array.from(tempTokenAddresses)
54
+ .map((t) => {
55
+ if (!tokenAccountsToExclude.includes(t)) {
56
+ return new web3_js_1.PublicKey(t);
57
+ }
58
+ return [];
59
+ })
60
+ .flat()),
61
+ cache.getTokenPricesAsMap(tempTokenAddresses, portfolio_core_1.NetworkId.solana),
62
+ ]);
63
+ if (!tokenMintsAccounts)
71
64
  continue;
72
- const tokenPriceA = tokenPrices.get(pool.tokenAMint.toString());
73
- const tokenPriceB = tokenPrices.get(pool.tokenBMint.toString());
74
- const underlyingsSource = (0, getLpUnderlyingTokenSourceOld_1.default)(pool.poolMint.toString(), portfolio_core_1.NetworkId.solana, {
75
- address: pool.tokenAMint.toString(),
76
- decimals: mintAccountA.decimals,
77
- reserveAmountRaw: tokenAccountA.amount,
78
- tokenPrice: tokenPriceA,
79
- weight: 0.5,
80
- }, {
81
- address: pool.tokenBMint.toString(),
82
- decimals: mintAccountB.decimals,
83
- reserveAmountRaw: tokenAccountB.amount,
84
- tokenPrice: tokenPriceB,
85
- weight: 0.5,
65
+ tokenMintsAccounts.forEach((tokenMintAccount) => {
66
+ if (!tokenMintAccount)
67
+ return;
68
+ tempTokenMintsAccountsMap.set(tokenMintAccount.pubkey.toString(), tokenMintAccount);
86
69
  });
87
- if (underlyingsSource) {
88
- yield cache.setTokenPriceSource(underlyingsSource);
70
+ tokenAccounts.forEach((tokenAccount) => {
71
+ if (!tokenAccount)
72
+ return;
73
+ tempTokenAccountsMap.set(tokenAccount.pubkey.toString(), tokenAccount);
74
+ });
75
+ for (let i = 0; i < tempPools.length; i++) {
76
+ const pool = tempPools[i];
77
+ if (!pool || !pool.isInitialized)
78
+ continue;
79
+ const poolMint = poolMintsAccounts[i];
80
+ if (!poolMint)
81
+ continue;
82
+ const tokenAccountA = tempTokenAccountsMap.get(pool.tokenA.toString());
83
+ const tokenAccountB = tempTokenAccountsMap.get(pool.tokenB.toString());
84
+ if (!tokenAccountA || !tokenAccountB)
85
+ continue;
86
+ const mintAccountA = tempTokenMintsAccountsMap.get(pool.tokenAMint.toString());
87
+ const mintAccountB = tempTokenMintsAccountsMap.get(pool.tokenBMint.toString());
88
+ if (!mintAccountA || !mintAccountB)
89
+ continue;
90
+ const tokenPriceA = tokenPriceById.get(pool.tokenAMint.toString());
91
+ const tokenPriceB = tokenPriceById.get(pool.tokenBMint.toString());
92
+ const lpSources = (0, getLpTokenSourceRaw_1.getLpTokenSourceRaw)({
93
+ lpDetails: {
94
+ address: pool.poolMint.toString(),
95
+ decimals: poolMint.decimals,
96
+ supplyRaw: poolMint.supply,
97
+ },
98
+ platformId: constants_1.platformId,
99
+ sourceId: pool.pubkey.toString(),
100
+ networkId: portfolio_core_1.NetworkId.solana,
101
+ poolUnderlyingsRaw: [
102
+ {
103
+ address: pool.tokenAMint.toString(),
104
+ decimals: mintAccountA.decimals,
105
+ reserveAmountRaw: tokenAccountA.amount,
106
+ tokenPrice: tokenPriceA,
107
+ weight: 0.5,
108
+ },
109
+ {
110
+ address: pool.tokenBMint.toString(),
111
+ decimals: mintAccountB.decimals,
112
+ reserveAmountRaw: tokenAccountB.amount,
113
+ tokenPrice: tokenPriceB,
114
+ weight: 0.5,
115
+ },
116
+ ],
117
+ priceUnderlyings: true,
118
+ });
119
+ sources.push(...lpSources);
89
120
  }
90
- if (!tokenPriceA || !tokenPriceB)
91
- continue;
92
- const lpSource = (0, getLpTokenSourceRawOld_1.default)(portfolio_core_1.NetworkId.solana, constants_1.platformId, constants_1.platformId, {
93
- address: pool.poolMint.toString(),
94
- decimals: poolMint.decimals,
95
- supplyRaw: poolMint.supply,
96
- }, [
97
- {
98
- address: tokenPriceA.address,
99
- decimals: tokenPriceA.decimals,
100
- price: tokenPriceA.price,
101
- reserveAmountRaw: tokenAccountA.amount,
102
- },
103
- {
104
- address: tokenPriceB.address,
105
- decimals: tokenPriceB.decimals,
106
- price: tokenPriceB.price,
107
- reserveAmountRaw: tokenAccountB.amount,
108
- },
109
- ], 'Pools');
110
- yield cache.setTokenPriceSource(lpSource);
111
121
  }
122
+ yield cache.setTokenPriceSources(sources);
112
123
  });
113
124
  const job = {
114
125
  id: `${constants_1.platformId}-pools`,
@@ -1 +1 @@
1
- {"version":3,"file":"poolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/fluxbeam/poolsJob.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/fluxbeam/poolsJob.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Platform } from '@sonarwatch/portfolio-core';
2
+ export declare const platformId = "photofinish";
3
+ export declare const platform: Platform;
4
+ export declare const apiUrl = "https://api.photofinish.live/users/external/staked-crown/";
5
+ export declare const crownMint = "GDfnEsia2WLAW5t8yx2X5j2mkfA74i5kwGdDuZHt7XmG";
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.crownMint = exports.apiUrl = exports.platform = exports.platformId = void 0;
4
+ exports.platformId = 'photofinish';
5
+ exports.platform = {
6
+ id: exports.platformId,
7
+ name: 'Photo Finish',
8
+ image: 'https://sonar.watch/img/platforms/photofinish.webp',
9
+ website: 'https://photofinish.live/',
10
+ twitter: 'https://x.com/photofinishgame',
11
+ };
12
+ exports.apiUrl = 'https://api.photofinish.live/users/external/staked-crown/';
13
+ exports.crownMint = 'GDfnEsia2WLAW5t8yx2X5j2mkfA74i5kwGdDuZHt7XmG';
14
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/photofinish/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG,aAAa,CAAC;AAC3B,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,oDAAoD;IAC3D,OAAO,EAAE,2BAA2B;IACpC,OAAO,EAAE,+BAA+B;CACzC,CAAC;AAEW,QAAA,MAAM,GACjB,2DAA2D,CAAC;AACjD,QAAA,SAAS,GAAG,8CAA8C,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 stakingFetcher_1 = __importDefault(require("./stakingFetcher"));
9
+ exports.platforms = [constants_1.platform];
10
+ exports.jobs = [];
11
+ exports.fetchers = [stakingFetcher_1.default];
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/photofinish/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,sEAAsD;AAEzC,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc,CAAC,wBAAsB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -0,0 +1,43 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
16
+ const axios_1 = __importDefault(require("axios"));
17
+ const constants_1 = require("./constants");
18
+ const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
19
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
20
+ let res;
21
+ try {
22
+ res = yield axios_1.default.get(constants_1.apiUrl + owner);
23
+ }
24
+ catch (err) {
25
+ return [];
26
+ }
27
+ if (typeof res.data === 'string')
28
+ return [];
29
+ const registry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
30
+ registry.addElementMultiple({ label: 'Staked' }).addAsset({
31
+ address: constants_1.crownMint,
32
+ amount: res.data,
33
+ alreadyShifted: true,
34
+ });
35
+ return registry.getElements(cache);
36
+ });
37
+ const fetcher = {
38
+ id: `${constants_1.platformId}-staking`,
39
+ networkId: portfolio_core_1.NetworkId.solana,
40
+ executor,
41
+ };
42
+ exports.default = fetcher;
43
+ //# sourceMappingURL=stakingFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/photofinish/stakingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAuD;AACvD,kDAA0B;AAE1B,2CAA4D;AAE5D,gFAA6E;AAE7E,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,IAAI,GAAG,CAAC;IACR,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,kBAAM,GAAG,KAAK,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAE5C,MAAM,QAAQ,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAEnE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC;QACxD,OAAO,EAAE,qBAAS;QAClB,MAAM,EAAE,GAAG,CAAC,IAAI;QAChB,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;IAEH,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"}
@@ -0,0 +1,5 @@
1
+ import { ID } from '../../utils/sui/types/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/photofinish/types.ts"],"names":[],"mappings":""}
@@ -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;
@@ -72,3 +72,43 @@ export type AggregatorAccount = {
72
72
  ebuf: number[];
73
73
  };
74
74
  export declare const aggregatorAccountStruct: FixableBeetStruct<AggregatorAccount, Partial<AggregatorAccount>>;
75
+ export type PullFeedAccountDataResult = {
76
+ value: BigNumber;
77
+ std_dev: BigNumber;
78
+ mean: BigNumber;
79
+ range: BigNumber;
80
+ min_value: BigNumber;
81
+ max_value: BigNumber;
82
+ num_samples: number;
83
+ submission_idx: number;
84
+ padding1: number[];
85
+ slot: BigNumber;
86
+ };
87
+ export declare const pullFeedAccountDataResultStruct: BeetStruct<PullFeedAccountDataResult, Partial<PullFeedAccountDataResult>>;
88
+ export type OracleSubmission = {
89
+ oracle: PublicKey;
90
+ slot: BigNumber;
91
+ landed_at: BigNumber;
92
+ value: BigNumber;
93
+ };
94
+ export declare const oracleSubmissionStruct: BeetStruct<OracleSubmission, Partial<OracleSubmission>>;
95
+ export type PullFeedAccountData = {
96
+ buffer: Buffer;
97
+ submissions: OracleSubmission[];
98
+ authority: PublicKey;
99
+ queue: PublicKey;
100
+ feed_hash: number[];
101
+ initialized_at: BigNumber;
102
+ permissions: BigNumber;
103
+ max_variance: BigNumber;
104
+ min_responses: BigNumber;
105
+ name: number[];
106
+ padding1: number[];
107
+ historical_result_idx: number;
108
+ min_sample_size: number;
109
+ last_update_timestamp: BigNumber;
110
+ lut_slot: BigNumber;
111
+ _reserved1: number[];
112
+ result: PullFeedAccountDataResult;
113
+ };
114
+ export declare const pullFeedAccountDataStruct: BeetStruct<PullFeedAccountData, Partial<PullFeedAccountData>>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.aggregatorAccountStruct = exports.aggregatorRoundStruct = exports.switchboardDecimalStruct = exports.hashStruct = exports.AggregatorResolutionMode = void 0;
3
+ exports.pullFeedAccountDataStruct = exports.oracleSubmissionStruct = exports.pullFeedAccountDataResultStruct = exports.aggregatorAccountStruct = exports.aggregatorRoundStruct = exports.switchboardDecimalStruct = exports.hashStruct = exports.AggregatorResolutionMode = 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");
@@ -69,4 +69,41 @@ exports.aggregatorAccountStruct = new beet_1.FixableBeetStruct([
69
69
  ['parentFunction', beet_solana_1.publicKey],
70
70
  ['ebuf', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 90)],
71
71
  ], (args) => args);
72
+ exports.pullFeedAccountDataResultStruct = new beet_1.BeetStruct([
73
+ ['value', solana_1.i128],
74
+ ['std_dev', solana_1.i128],
75
+ ['mean', solana_1.i128],
76
+ ['range', solana_1.i128],
77
+ ['min_value', solana_1.i128],
78
+ ['max_value', solana_1.i128],
79
+ ['num_samples', beet_1.u8],
80
+ ['submission_idx', beet_1.u8],
81
+ ['padding1', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 6)],
82
+ ['slot', solana_1.u64],
83
+ ], (args) => args);
84
+ exports.oracleSubmissionStruct = new beet_1.BeetStruct([
85
+ ['oracle', beet_solana_1.publicKey],
86
+ ['slot', solana_1.u64],
87
+ ['landed_at', solana_1.u64],
88
+ ['value', solana_1.i128],
89
+ ], (args) => args);
90
+ exports.pullFeedAccountDataStruct = new beet_1.BeetStruct([
91
+ ['buffer', (0, solana_1.blob)(8)],
92
+ ['submissions', (0, beet_1.uniformFixedSizeArray)(exports.oracleSubmissionStruct, 32)],
93
+ ['authority', beet_solana_1.publicKey],
94
+ ['queue', beet_solana_1.publicKey],
95
+ ['feed_hash', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 32)],
96
+ ['initialized_at', solana_1.i64],
97
+ ['permissions', solana_1.u64],
98
+ ['max_variance', solana_1.u64],
99
+ ['min_responses', beet_1.u32],
100
+ ['name', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 32)],
101
+ ['padding1', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 2)],
102
+ ['historical_result_idx', beet_1.u8],
103
+ ['min_sample_size', beet_1.u8],
104
+ ['last_update_timestamp', solana_1.i64],
105
+ ['lut_slot', solana_1.u64],
106
+ ['_reserved1', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 32)],
107
+ ['result', exports.pullFeedAccountDataResultStruct],
108
+ ], (args) => args);
72
109
  //# sourceMappingURL=structs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/switchboard/structs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/switchboard/structs.ts"],"names":[],"mappings":"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"}
@@ -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;
@@ -42,20 +42,20 @@ const tokenPriceToAssetToken_1 = __importDefault(require("../../utils/misc/token
42
42
  const clients_1 = require("../../utils/clients");
43
43
  const getMultipleAccountsInfoSafe_1 = require("../../utils/solana/getMultipleAccountsInfoSafe");
44
44
  const helpers_1 = require("./helpers");
45
- const query = (0, graphql_request_1.gql) `
46
- query GetAirdropFinalFrontend($authority: String!) {
47
- getAirdropFinalFrontend(authority: $authority) {
48
- authority
49
- community_allocation
50
- eligibility
51
- main_allocation
52
- og_allocation
53
- s1_allocation
54
- s2_allocation
55
- total_allocation
56
- __typename
57
- }
58
- }
45
+ const query = (0, graphql_request_1.gql) `
46
+ query GetAirdropFinalFrontend($authority: String!) {
47
+ getAirdropFinalFrontend(authority: $authority) {
48
+ authority
49
+ community_allocation
50
+ eligibility
51
+ main_allocation
52
+ og_allocation
53
+ s1_allocation
54
+ s2_allocation
55
+ total_allocation
56
+ __typename
57
+ }
58
+ }
59
59
  `;
60
60
  const networkId = portfolio_core_1.NetworkId.solana;
61
61
  const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
@@ -82,7 +82,7 @@ class ElementBorrowlendBuilder extends ElementBuilder_1.ElementBuilder {
82
82
  type: this.type,
83
83
  label: this.label,
84
84
  networkId,
85
- platformId,
85
+ platformId: this.platformId || platformId,
86
86
  data: {
87
87
  borrowedAssets,
88
88
  borrowedValue,