@sonarwatch/portfolio-plugins 0.12.170 → 0.12.171

Sign up to get free protection for your applications and to get access to all the features.
Files changed (196) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/package.json +1 -1
  3. package/src/Cache.d.ts +2 -1
  4. package/src/Cache.js +3 -3
  5. package/src/Cache.js.map +1 -1
  6. package/src/TokenPriceMap.d.ts +8 -0
  7. package/src/TokenPriceMap.js +21 -0
  8. package/src/TokenPriceMap.js.map +1 -0
  9. package/src/index.js +16 -0
  10. package/src/index.js.map +1 -1
  11. package/src/plugins/adrastea/constants.d.ts +9 -0
  12. package/src/plugins/adrastea/constants.js +19 -0
  13. package/src/plugins/adrastea/constants.js.map +1 -0
  14. package/src/plugins/adrastea/index.d.ts +6 -0
  15. package/src/plugins/adrastea/index.js +13 -0
  16. package/src/plugins/adrastea/index.js.map +1 -0
  17. package/src/plugins/adrastea/positionsFetcher.js +61 -0
  18. package/src/plugins/adrastea/positionsFetcher.js.map +1 -0
  19. package/src/plugins/adrastea/positionsJob.d.ts +3 -0
  20. package/src/plugins/adrastea/positionsJob.js +53 -0
  21. package/src/plugins/adrastea/positionsJob.js.map +1 -0
  22. package/src/plugins/adrastea/structs.d.ts +45 -0
  23. package/src/plugins/adrastea/structs.js +44 -0
  24. package/src/plugins/adrastea/structs.js.map +1 -0
  25. package/src/plugins/adrastea/types.d.ts +4 -0
  26. package/src/plugins/adrastea/types.js +3 -0
  27. package/src/plugins/adrastea/types.js.map +1 -0
  28. package/src/plugins/banx/stakingFetcher.js +11 -15
  29. package/src/plugins/banx/stakingFetcher.js.map +1 -1
  30. package/src/plugins/bluemove/constants.d.ts +7 -0
  31. package/src/plugins/bluemove/constants.js +17 -0
  32. package/src/plugins/bluemove/constants.js.map +1 -0
  33. package/src/plugins/bluemove/index.d.ts +6 -0
  34. package/src/plugins/bluemove/index.js +12 -0
  35. package/src/plugins/bluemove/index.js.map +1 -0
  36. package/src/plugins/bluemove/poolsJob.d.ts +3 -0
  37. package/src/plugins/bluemove/poolsJob.js +97 -0
  38. package/src/plugins/bluemove/poolsJob.js.map +1 -0
  39. package/src/plugins/bluemove/types.d.ts +21 -0
  40. package/src/plugins/bluemove/types.js +3 -0
  41. package/src/plugins/bluemove/types.js.map +1 -0
  42. package/src/plugins/cetus/clmmsFetcher.js +3 -3
  43. package/src/plugins/cetus/clmmsFetcher.js.map +1 -1
  44. package/src/plugins/cetus/constants.d.ts +4 -0
  45. package/src/plugins/cetus/constants.js +5 -1
  46. package/src/plugins/cetus/constants.js.map +1 -1
  47. package/src/plugins/cetus/dcaFetcher.js +77 -0
  48. package/src/plugins/cetus/dcaFetcher.js.map +1 -0
  49. package/src/plugins/cetus/farmsFetcher.js +2 -4
  50. package/src/plugins/cetus/farmsFetcher.js.map +1 -1
  51. package/src/plugins/cetus/index.js +8 -1
  52. package/src/plugins/cetus/index.js.map +1 -1
  53. package/src/plugins/cetus/limitFetcher.d.ts +3 -0
  54. package/src/plugins/cetus/limitFetcher.js +66 -0
  55. package/src/plugins/cetus/limitFetcher.js.map +1 -0
  56. package/src/plugins/cetus/types.d.ts +32 -0
  57. package/src/plugins/deepbook/constants.d.ts +3 -0
  58. package/src/plugins/deepbook/constants.js +4 -1
  59. package/src/plugins/deepbook/constants.js.map +1 -1
  60. package/src/plugins/deepbook/helpers.d.ts +4 -0
  61. package/src/plugins/deepbook/helpers.js +142 -0
  62. package/src/plugins/deepbook/helpers.js.map +1 -0
  63. package/src/plugins/deepbook/index.js +7 -2
  64. package/src/plugins/deepbook/index.js.map +1 -1
  65. package/src/plugins/deepbook/ordersFetcher.d.ts +3 -0
  66. package/src/plugins/deepbook/ordersFetcher.js +74 -0
  67. package/src/plugins/deepbook/ordersFetcher.js.map +1 -0
  68. package/src/plugins/deepbook/poolsJob.d.ts +3 -0
  69. package/src/plugins/deepbook/poolsJob.js +30 -0
  70. package/src/plugins/deepbook/poolsJob.js.map +1 -0
  71. package/src/plugins/deepbook/types.d.ts +12 -0
  72. package/src/plugins/deepbook/types.js +3 -0
  73. package/src/plugins/deepbook/types.js.map +1 -0
  74. package/src/plugins/flowx/stakingPoolFetcher.js +1 -1
  75. package/src/plugins/flowx/stakingPoolFetcher.js.map +1 -1
  76. package/src/plugins/flowx/stakingPoolV3Fetcher.js +1 -1
  77. package/src/plugins/flowx/stakingPoolV3Fetcher.js.map +1 -1
  78. package/src/plugins/foo/constants.d.ts +1 -1
  79. package/src/plugins/foo/constants.js +2 -2
  80. package/src/plugins/foo/constants.js.map +1 -1
  81. package/src/plugins/foo/index.js +2 -2
  82. package/src/plugins/foo/index.js.map +1 -1
  83. package/src/plugins/foo/marketsJob.js +3 -3
  84. package/src/plugins/foo/marketsJob.js.map +1 -1
  85. package/src/plugins/foo/positionsEthereumFetcher.d.ts +3 -0
  86. package/src/plugins/foo/positionsEthereumFetcher.js +33 -0
  87. package/src/plugins/foo/positionsEthereumFetcher.js.map +1 -0
  88. package/src/plugins/foo/positionsSolanaFetcher.js +10 -26
  89. package/src/plugins/foo/positionsSolanaFetcher.js.map +1 -1
  90. package/src/plugins/foo/positionsSuiFetcher.d.ts +3 -0
  91. package/src/plugins/foo/positionsSuiFetcher.js +46 -0
  92. package/src/plugins/foo/positionsSuiFetcher.js.map +1 -0
  93. package/src/plugins/foo/types.d.ts +5 -0
  94. package/src/plugins/foo/types.js +3 -0
  95. package/src/plugins/foo/types.js.map +1 -0
  96. package/src/plugins/francium/constants.d.ts +19 -0
  97. package/src/plugins/francium/constants.js +839 -0
  98. package/src/plugins/francium/constants.js.map +1 -0
  99. package/src/plugins/francium/helpers.d.ts +14 -0
  100. package/src/plugins/francium/helpers.js +85 -0
  101. package/src/plugins/francium/helpers.js.map +1 -0
  102. package/src/plugins/francium/index.d.ts +6 -0
  103. package/src/plugins/francium/index.js +13 -0
  104. package/src/plugins/francium/index.js.map +1 -0
  105. package/src/plugins/francium/lendingFetcher.d.ts +3 -0
  106. package/src/plugins/francium/lendingFetcher.js +70 -0
  107. package/src/plugins/francium/lendingFetcher.js.map +1 -0
  108. package/src/plugins/francium/lendingPoolJob.d.ts +3 -0
  109. package/src/plugins/francium/lendingPoolJob.js +49 -0
  110. package/src/plugins/francium/lendingPoolJob.js.map +1 -0
  111. package/src/plugins/francium/structs.d.ts +59 -0
  112. package/src/plugins/francium/structs.js +49 -0
  113. package/src/plugins/francium/structs.js.map +1 -0
  114. package/src/plugins/francium/tokens.d.ts +9 -0
  115. package/src/plugins/francium/tokens.js +524 -0
  116. package/src/plugins/francium/tokens.js.map +1 -0
  117. package/src/plugins/francium/types.d.ts +16 -0
  118. package/src/plugins/francium/types.js +3 -0
  119. package/src/plugins/francium/types.js.map +1 -0
  120. package/src/plugins/kamino/lendsFetcher.js +64 -167
  121. package/src/plugins/kamino/lendsFetcher.js.map +1 -1
  122. package/src/plugins/kriya/farmsFetcher.js +23 -48
  123. package/src/plugins/kriya/farmsFetcher.js.map +1 -1
  124. package/src/plugins/kriya/leverageVaultsFetcher.js +5 -5
  125. package/src/plugins/kriya/leverageVaultsFetcher.js.map +1 -1
  126. package/src/plugins/meteora/farmsFetcher.js +19 -68
  127. package/src/plugins/meteora/farmsFetcher.js.map +1 -1
  128. package/src/plugins/nxfinance/positionsFetcher.js +32 -80
  129. package/src/plugins/nxfinance/positionsFetcher.js.map +1 -1
  130. package/src/plugins/quarry/positionsFetcher.js +1 -1
  131. package/src/plugins/quarry/positionsFetcher.js.map +1 -1
  132. package/src/plugins/raydium/farmsFetcher.js +30 -74
  133. package/src/plugins/raydium/farmsFetcher.js.map +1 -1
  134. package/src/plugins/raydium/helpers.d.ts +3 -2
  135. package/src/plugins/raydium/helpers.js +5 -7
  136. package/src/plugins/raydium/helpers.js.map +1 -1
  137. package/src/plugins/raydium/index.js +1 -2
  138. package/src/plugins/raydium/index.js.map +1 -1
  139. package/src/plugins/raydium/lpTokensJob.js +1 -1
  140. package/src/plugins/raydium/lpTokensJob.js.map +1 -1
  141. package/src/plugins/stabble/constants.d.ts +8 -0
  142. package/src/plugins/stabble/constants.js +27 -0
  143. package/src/plugins/stabble/constants.js.map +1 -0
  144. package/src/plugins/stabble/filters.d.ts +3 -0
  145. package/src/plugins/stabble/filters.js +20 -0
  146. package/src/plugins/stabble/filters.js.map +1 -0
  147. package/src/plugins/stabble/index.d.ts +6 -0
  148. package/src/plugins/stabble/index.js +12 -0
  149. package/src/plugins/stabble/index.js.map +1 -0
  150. package/src/plugins/stabble/poolsJob.d.ts +3 -0
  151. package/src/plugins/stabble/poolsJob.js +84 -0
  152. package/src/plugins/stabble/poolsJob.js.map +1 -0
  153. package/src/plugins/stabble/stableIdl.d.ts +40 -0
  154. package/src/plugins/stabble/stableIdl.js +104 -0
  155. package/src/plugins/stabble/stableIdl.js.map +1 -0
  156. package/src/plugins/stabble/types.d.ts +40 -0
  157. package/src/plugins/stabble/types.js +3 -0
  158. package/src/plugins/stabble/types.js.map +1 -0
  159. package/src/plugins/stabble/weightedIdl.d.ts +40 -0
  160. package/src/plugins/stabble/weightedIdl.js +96 -0
  161. package/src/plugins/stabble/weightedIdl.js.map +1 -0
  162. package/src/utils/bitcoin/getBalance.js +1 -0
  163. package/src/utils/bitcoin/getBalance.js.map +1 -1
  164. package/src/utils/elementbuilder/AssetBuilder.d.ts +11 -0
  165. package/src/utils/elementbuilder/AssetBuilder.js +28 -0
  166. package/src/utils/elementbuilder/AssetBuilder.js.map +1 -0
  167. package/src/utils/elementbuilder/ElementBorrowlendBuilder.d.ts +27 -0
  168. package/src/utils/elementbuilder/ElementBorrowlendBuilder.js +110 -0
  169. package/src/utils/elementbuilder/ElementBorrowlendBuilder.js.map +1 -0
  170. package/src/utils/elementbuilder/ElementBuilder.d.ts +12 -0
  171. package/src/utils/elementbuilder/ElementBuilder.js +13 -0
  172. package/src/utils/elementbuilder/ElementBuilder.js.map +1 -0
  173. package/src/utils/elementbuilder/ElementLiquidityBuilder.d.ts +12 -0
  174. package/src/utils/elementbuilder/ElementLiquidityBuilder.js +42 -0
  175. package/src/utils/elementbuilder/ElementLiquidityBuilder.js.map +1 -0
  176. package/src/utils/elementbuilder/ElementMultipleBuilder.d.ts +13 -0
  177. package/src/utils/elementbuilder/ElementMultipleBuilder.js +40 -0
  178. package/src/utils/elementbuilder/ElementMultipleBuilder.js.map +1 -0
  179. package/src/utils/elementbuilder/ElementParams.d.ts +7 -0
  180. package/src/utils/elementbuilder/ElementParams.js +3 -0
  181. package/src/utils/elementbuilder/ElementParams.js.map +1 -0
  182. package/src/utils/elementbuilder/ElementRegistry.d.ts +17 -0
  183. package/src/utils/elementbuilder/ElementRegistry.js +49 -0
  184. package/src/utils/elementbuilder/ElementRegistry.js.map +1 -0
  185. package/src/utils/elementbuilder/LiquidityBuilder.d.ts +15 -0
  186. package/src/utils/elementbuilder/LiquidityBuilder.js +52 -0
  187. package/src/utils/elementbuilder/LiquidityBuilder.js.map +1 -0
  188. package/src/utils/elementbuilder/PortfolioAssetParams.d.ts +7 -0
  189. package/src/utils/elementbuilder/PortfolioAssetParams.js +3 -0
  190. package/src/utils/elementbuilder/PortfolioAssetParams.js.map +1 -0
  191. package/src/plugins/foo/positionsFetcher.js +0 -49
  192. package/src/plugins/foo/positionsFetcher.js.map +0 -1
  193. package/src/plugins/raydium/stakingFetcher.js +0 -50
  194. package/src/plugins/raydium/stakingFetcher.js.map +0 -1
  195. /package/src/plugins/{foo → adrastea}/positionsFetcher.d.ts +0 -0
  196. /package/src/plugins/{raydium/stakingFetcher.d.ts → cetus/dcaFetcher.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/francium/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { Connection, PublicKey } from '@solana/web3.js';
2
+ import BigNumber from 'bignumber.js';
3
+ export declare function getUserRewardPosition(connection: Connection, userPublicKey: PublicKey): Promise<{
4
+ [key: string]: {
5
+ scale: number;
6
+ amount: BigNumber;
7
+ };
8
+ }>;
9
+ export declare function getLendingPoolBalance(client: Connection, userPublicKey: PublicKey): Promise<{
10
+ [key: string]: {
11
+ scale: number;
12
+ amount: BigNumber;
13
+ };
14
+ }>;
@@ -0,0 +1,85 @@
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
+ exports.getLendingPoolBalance = exports.getUserRewardPosition = void 0;
16
+ const web3_js_1 = require("@solana/web3.js");
17
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
18
+ const solana_1 = require("../../utils/solana");
19
+ const constants_1 = require("./constants");
20
+ const structs_1 = require("./structs");
21
+ const poolsWithReward = constants_1.lendingPoolList.filter((i) => {
22
+ const info = constants_1.lendRewardInfo[i.pool];
23
+ return !!info;
24
+ });
25
+ function findAssociatedTokenAddress(walletAddress, tokenMintAddress) {
26
+ const [publicKey] = web3_js_1.PublicKey.findProgramAddressSync([
27
+ walletAddress.toBuffer(),
28
+ solana_1.solanaTokenPidPk.toBuffer(),
29
+ tokenMintAddress.toBuffer(),
30
+ ], solana_1.associatedTokenProgramId);
31
+ return publicKey;
32
+ }
33
+ function getUserRewardPosition(connection, userPublicKey) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ const infoAccounts = yield Promise.all(poolsWithReward.map((i) => __awaiter(this, void 0, void 0, function* () {
36
+ const info = constants_1.lendRewardInfo[i.pool];
37
+ const associatedAccount = findAssociatedTokenAddress(userPublicKey, info.farmingPoolStakeTknMint);
38
+ const [rewardInfoAccount] = web3_js_1.PublicKey.findProgramAddressSync([
39
+ userPublicKey.toBuffer(),
40
+ info.farmingPoolAccount.toBuffer(),
41
+ associatedAccount.toBuffer(),
42
+ ], constants_1.lendRewardProgramId);
43
+ return rewardInfoAccount;
44
+ })));
45
+ const accountInfos = yield (0, solana_1.getParsedMultipleAccountsInfo)(connection, structs_1.rewardUserStruct, infoAccounts);
46
+ const result = {};
47
+ accountInfos.forEach((acc, index) => {
48
+ if (acc && (acc === null || acc === void 0 ? void 0 : acc.staked_amount) && acc.staked_amount.isGreaterThan(0)) {
49
+ const targetPool = poolsWithReward[index];
50
+ result[targetPool.pool] = {
51
+ scale: targetPool.scale,
52
+ amount: acc.staked_amount,
53
+ };
54
+ }
55
+ });
56
+ return result;
57
+ });
58
+ }
59
+ exports.getUserRewardPosition = getUserRewardPosition;
60
+ function getLendingPoolBalance(client, userPublicKey) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const userTokenAccounts = yield client.getParsedTokenAccountsByOwner(userPublicKey, {
63
+ programId: solana_1.solanaTokenPidPk,
64
+ }, 'confirmed');
65
+ const result = {};
66
+ constants_1.lendingPoolList.forEach((i) => {
67
+ const info = constants_1.lendingPools[i.pool];
68
+ const mint = info.lendingPoolShareMint;
69
+ const account = userTokenAccounts.value.find((accountInfo) => {
70
+ const parsedInfo = accountInfo.account.data.parsed.info;
71
+ const mintAddress = parsedInfo.mint;
72
+ return mintAddress === mint.toBase58();
73
+ });
74
+ if (account) {
75
+ result[i.pool] = {
76
+ amount: new bignumber_js_1.default(account.account.data.parsed.info.tokenAmount.amount),
77
+ scale: i.scale,
78
+ };
79
+ }
80
+ });
81
+ return result;
82
+ });
83
+ }
84
+ exports.getLendingPoolBalance = getLendingPoolBalance;
85
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/francium/helpers.ts"],"names":[],"mappings":"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"}
@@ -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,13 @@
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 lendingPoolJob_1 = __importDefault(require("./lendingPoolJob"));
9
+ const lendingFetcher_1 = __importDefault(require("./lendingFetcher"));
10
+ exports.platforms = [constants_1.platform];
11
+ exports.jobs = [lendingPoolJob_1.default];
12
+ exports.fetchers = [lendingFetcher_1.default];
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/francium/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,sEAA8C;AAC9C,sEAA8C;AAEjC,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,CAAC,wBAAc,CAAC,CAAC;AAC/B,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,70 @@
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 web3_js_1 = require("@solana/web3.js");
17
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
18
+ const constants_1 = require("./constants");
19
+ const clients_1 = require("../../utils/clients");
20
+ const helpers_1 = require("./helpers");
21
+ const tokens_1 = require("./tokens");
22
+ const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
23
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
24
+ const client = (0, clients_1.getClientSolana)();
25
+ const [rewardsList, balanceList] = yield Promise.all([
26
+ (0, helpers_1.getUserRewardPosition)(client, new web3_js_1.PublicKey(owner)),
27
+ (0, helpers_1.getLendingPoolBalance)(client, new web3_js_1.PublicKey(owner)),
28
+ ]);
29
+ if (Object.keys(balanceList).length === 0 &&
30
+ Object.keys(rewardsList).length === 0)
31
+ return [];
32
+ const lendingPoolInfos = yield cache.getItem(constants_1.lendingPoolsCacheKey, {
33
+ prefix: constants_1.platformId,
34
+ networkId: portfolio_core_1.NetworkId.solana,
35
+ });
36
+ if (!lendingPoolInfos)
37
+ return [];
38
+ const assets = lendingPoolInfos
39
+ .map((info) => {
40
+ var _a, _b;
41
+ if (!tokens_1.TOKENS[info.pool])
42
+ return null;
43
+ const rewardPosition = ((_a = rewardsList[info.pool]) === null || _a === void 0 ? void 0 : _a.amount) || new bignumber_js_1.default(0);
44
+ const balancePosition = ((_b = balanceList[info.pool]) === null || _b === void 0 ? void 0 : _b.amount) || new bignumber_js_1.default(0);
45
+ const totalPosition = rewardPosition.plus(balancePosition);
46
+ if (totalPosition.isZero())
47
+ return null;
48
+ const sharePrice = new bignumber_js_1.default(info.totalAmount).dividedBy(info.totalShareMintSupply);
49
+ return {
50
+ address: tokens_1.TOKENS[info.pool].mintAddress.toString(),
51
+ amount: sharePrice.multipliedBy(totalPosition),
52
+ };
53
+ })
54
+ .filter((i) => i !== null);
55
+ if (assets.length === 0)
56
+ return [];
57
+ const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
58
+ const element = elementRegistry.addElementBorrowlend({
59
+ label: 'Lending',
60
+ });
61
+ assets.forEach((asset) => asset && element.addSuppliedAsset(asset));
62
+ return elementRegistry.dump(cache);
63
+ });
64
+ const fetcher = {
65
+ id: `${constants_1.platformId}-lending`,
66
+ networkId: portfolio_core_1.NetworkId.solana,
67
+ executor,
68
+ };
69
+ exports.default = fetcher;
70
+ //# sourceMappingURL=lendingFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lendingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/francium/lendingFetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Job } from '../../Job';
2
+ declare const job: Job;
3
+ export default job;
@@ -0,0 +1,49 @@
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 bn_js_1 = __importDefault(require("bn.js"));
16
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
17
+ const constants_1 = require("./constants");
18
+ const clients_1 = require("../../utils/clients");
19
+ const solana_1 = require("../../utils/solana");
20
+ const structs_1 = require("./structs");
21
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
22
+ const client = (0, clients_1.getClientSolana)();
23
+ const lendingPoolPublicKeyList = constants_1.lendingPoolList.map((p) => constants_1.lendingPools[p.pool].lendingPoolInfoAccount);
24
+ const accountInfos = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, structs_1.lendingPoolStruct, lendingPoolPublicKeyList);
25
+ const formatResults = accountInfos.map((accountInfo, index) => {
26
+ if (!accountInfo)
27
+ return null;
28
+ const availableAmount = new bn_js_1.default(String(accountInfo.liquidity_available_amount));
29
+ const borrowedAmount = new bn_js_1.default(accountInfo.liquidity_borrowed_amount_wads, 'le').div(new bn_js_1.default(10).pow(new bn_js_1.default(18)));
30
+ const totalAmount = availableAmount.add(borrowedAmount);
31
+ const totalShareMintSupply = new bn_js_1.default(accountInfo.share_mint_total_supply, 'le');
32
+ return {
33
+ pool: constants_1.lendingPoolList[index].pool,
34
+ totalAmount: totalAmount.toString(),
35
+ totalShareMintSupply: totalShareMintSupply.toString(),
36
+ };
37
+ });
38
+ yield cache.setItem(constants_1.lendingPoolsCacheKey, formatResults, {
39
+ prefix: constants_1.platformId,
40
+ networkId: portfolio_core_1.NetworkId.solana,
41
+ });
42
+ });
43
+ const job = {
44
+ id: `${constants_1.platformId}-lending-pool`,
45
+ executor,
46
+ label: 'normal',
47
+ };
48
+ exports.default = job;
49
+ //# sourceMappingURL=lendingPoolJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lendingPoolJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/francium/lendingPoolJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAAuB;AACvB,+DAAuD;AAGvD,2CAKqB;AACrB,iDAAsD;AACtD,+CAAmE;AACnE,uCAA8C;AAE9C,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,wBAAwB,GAAG,2BAAe,CAAC,GAAG,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,CACnD,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,IAAA,sCAA6B,EACtD,MAAM,EACN,2BAAiB,EACjB,wBAAwB,CACzB,CAAC;IAEF,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;QAC5D,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAE9B,MAAM,eAAe,GAAG,IAAI,eAAE,CAC5B,MAAM,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAC/C,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,eAAE,CAC3B,WAAW,CAAC,8BAA8B,EAC1C,IAAI,CACL,CAAC,GAAG,CAAC,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAExD,MAAM,oBAAoB,GAAG,IAAI,eAAE,CACjC,WAAW,CAAC,uBAAuB,EACnC,IAAI,CACL,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,2BAAe,CAAC,KAAK,CAAC,CAAC,IAAI;YACjC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnC,oBAAoB,EAAE,oBAAoB,CAAC,QAAQ,EAAE;SACtD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,CAAC,OAAO,CAAC,gCAAoB,EAAE,aAAa,EAAE;QACvD,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AACF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,eAAe;IAChC,QAAQ;IACR,KAAK,EAAE,QAAQ;CAChB,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -0,0 +1,59 @@
1
+ /// <reference types="node" />
2
+ import { BeetStruct } from '@metaplex-foundation/beet';
3
+ import { PublicKey } from '@solana/web3.js';
4
+ import BigNumber from 'bignumber.js';
5
+ export type LendingPool = {
6
+ version: number;
7
+ last_update_stale: number;
8
+ liquidity_mint_decimals: number;
9
+ threshold_1: number;
10
+ threshold_2: number;
11
+ base_1: number;
12
+ base_2: number;
13
+ base_3: number;
14
+ interest_reverse_rate: number;
15
+ last_update_slot: BigNumber;
16
+ liquidity_available_amount: BigNumber;
17
+ accumulated_interest_reverse: BigNumber;
18
+ factor_1: number;
19
+ factor_2: number;
20
+ factor_3: number;
21
+ lending_market: PublicKey;
22
+ liquidity_mint_pubkey: PublicKey;
23
+ liquidity_supply_pubkey: PublicKey;
24
+ liquidity_fee_receiver: PublicKey;
25
+ oracle: number[];
26
+ liquidity_borrowed_amount_wads: Buffer;
27
+ liquidity_cumulative_borrow_rate_wads: Buffer;
28
+ liquidity_market_price: Buffer;
29
+ share_mint_pubkey: PublicKey;
30
+ share_mint_total_supply: Buffer;
31
+ share_supply_pubkey: PublicKey;
32
+ credit_mint_pubkey: PublicKey;
33
+ credit_mint_total_supply: Buffer;
34
+ credit_supply_pubkey: PublicKey;
35
+ };
36
+ export declare const lendingPoolStruct: BeetStruct<LendingPool, Partial<LendingPool>>;
37
+ export type RewardUser = {
38
+ version: number;
39
+ staked_amount: BigNumber;
40
+ rewards_debt: BigNumber;
41
+ rewards_debt_b: BigNumber;
42
+ farming_pool: PublicKey;
43
+ user_main: PublicKey;
44
+ stake_token_account: PublicKey;
45
+ rewards_token_accont: PublicKey;
46
+ rewards_token_account_b: PublicKey;
47
+ };
48
+ export declare const rewardUserStruct: BeetStruct<RewardUser, Partial<RewardUser>>;
49
+ export interface LendRewardInfo {
50
+ programId: PublicKey;
51
+ farmingPoolAccount: PublicKey;
52
+ farmingPoolAuthority: PublicKey;
53
+ farmingPoolStakeTknMint: PublicKey;
54
+ farmingPoolStakeTknAccount: PublicKey;
55
+ farmingPoolRewardsTknMint: PublicKey;
56
+ farmingPoolRewardsTknAccount: PublicKey;
57
+ farmingPoolRewardsTknMintB: PublicKey;
58
+ farmingPoolRewardsTknAccountB: PublicKey;
59
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rewardUserStruct = exports.lendingPoolStruct = 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.lendingPoolStruct = new beet_1.BeetStruct([
8
+ ['version', beet_1.u8],
9
+ ['last_update_slot', solana_1.u64],
10
+ ['last_update_stale', beet_1.u8],
11
+ ['lending_market', beet_solana_1.publicKey],
12
+ ['liquidity_mint_pubkey', beet_solana_1.publicKey],
13
+ ['liquidity_mint_decimals', beet_1.u8],
14
+ ['liquidity_supply_pubkey', beet_solana_1.publicKey],
15
+ ['liquidity_fee_receiver', beet_solana_1.publicKey],
16
+ ['oracle', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 36)],
17
+ ['liquidity_available_amount', solana_1.u64],
18
+ ['liquidity_borrowed_amount_wads', (0, solana_1.blob)(16)],
19
+ ['liquidity_cumulative_borrow_rate_wads', (0, solana_1.blob)(16)],
20
+ ['liquidity_market_price', (0, solana_1.blob)(8)],
21
+ ['share_mint_pubkey', beet_solana_1.publicKey],
22
+ ['share_mint_total_supply', (0, solana_1.blob)(8)],
23
+ ['share_supply_pubkey', beet_solana_1.publicKey],
24
+ ['credit_mint_pubkey', beet_solana_1.publicKey],
25
+ ['credit_mint_total_supply', (0, solana_1.blob)(8)],
26
+ ['credit_supply_pubkey', beet_solana_1.publicKey],
27
+ ['threshold_1', beet_1.u8],
28
+ ['threshold_2', beet_1.u8],
29
+ ['base_1', beet_1.u8],
30
+ ['factor_1', beet_1.u16],
31
+ ['base_2', beet_1.u8],
32
+ ['factor_2', beet_1.u16],
33
+ ['base_3', beet_1.u8],
34
+ ['factor_3', beet_1.u16],
35
+ ['interest_reverse_rate', beet_1.u8],
36
+ ['accumulated_interest_reverse', solana_1.u64],
37
+ ], (args) => args);
38
+ exports.rewardUserStruct = new beet_1.BeetStruct([
39
+ ['version', beet_1.u8],
40
+ ['staked_amount', solana_1.u64],
41
+ ['rewards_debt', solana_1.u64],
42
+ ['rewards_debt_b', solana_1.u64],
43
+ ['farming_pool', beet_solana_1.publicKey],
44
+ ['user_main', beet_solana_1.publicKey],
45
+ ['stake_token_account', beet_solana_1.publicKey],
46
+ ['rewards_token_accont', beet_solana_1.publicKey],
47
+ ['rewards_token_account_b', beet_solana_1.publicKey],
48
+ ], (args) => args);
49
+ //# sourceMappingURL=structs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/francium/structs.ts"],"names":[],"mappings":";;;AAAA,oDAKmC;AACnC,kEAA6D;AAG7D,+CAA+C;AAkClC,QAAA,iBAAiB,GAAG,IAAI,iBAAU,CAC7C;IACE,CAAC,SAAS,EAAE,SAAE,CAAC;IACf,CAAC,kBAAkB,EAAE,YAAG,CAAC;IACzB,CAAC,mBAAmB,EAAE,SAAE,CAAC;IACzB,CAAC,gBAAgB,EAAE,uBAAS,CAAC;IAC7B,CAAC,uBAAuB,EAAE,uBAAS,CAAC;IACpC,CAAC,yBAAyB,EAAE,SAAE,CAAC;IAC/B,CAAC,yBAAyB,EAAE,uBAAS,CAAC;IACtC,CAAC,wBAAwB,EAAE,uBAAS,CAAC;IACrC,CAAC,QAAQ,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC,4BAA4B,EAAE,YAAG,CAAC;IACnC,CAAC,gCAAgC,EAAE,IAAA,aAAI,EAAC,EAAE,CAAC,CAAC;IAC5C,CAAC,uCAAuC,EAAE,IAAA,aAAI,EAAC,EAAE,CAAC,CAAC;IACnD,CAAC,wBAAwB,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnC,CAAC,mBAAmB,EAAE,uBAAS,CAAC;IAChC,CAAC,yBAAyB,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC,qBAAqB,EAAE,uBAAS,CAAC;IAClC,CAAC,oBAAoB,EAAE,uBAAS,CAAC;IACjC,CAAC,0BAA0B,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACrC,CAAC,sBAAsB,EAAE,uBAAS,CAAC;IACnC,CAAC,aAAa,EAAE,SAAE,CAAC;IACnB,CAAC,aAAa,EAAE,SAAE,CAAC;IACnB,CAAC,QAAQ,EAAE,SAAE,CAAC;IACd,CAAC,UAAU,EAAE,UAAG,CAAC;IACjB,CAAC,QAAQ,EAAE,SAAE,CAAC;IACd,CAAC,UAAU,EAAE,UAAG,CAAC;IACjB,CAAC,QAAQ,EAAE,SAAE,CAAC;IACd,CAAC,UAAU,EAAE,UAAG,CAAC;IACjB,CAAC,uBAAuB,EAAE,SAAE,CAAC;IAC7B,CAAC,8BAA8B,EAAE,YAAG,CAAC;CACtC,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAmB,CAC9B,CAAC;AAcW,QAAA,gBAAgB,GAAG,IAAI,iBAAU,CAC5C;IACE,CAAC,SAAS,EAAE,SAAE,CAAC;IACf,CAAC,eAAe,EAAE,YAAG,CAAC;IACtB,CAAC,cAAc,EAAE,YAAG,CAAC;IACrB,CAAC,gBAAgB,EAAE,YAAG,CAAC;IACvB,CAAC,cAAc,EAAE,uBAAS,CAAC;IAC3B,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,qBAAqB,EAAE,uBAAS,CAAC;IAClC,CAAC,sBAAsB,EAAE,uBAAS,CAAC;IACnC,CAAC,yBAAyB,EAAE,uBAAS,CAAC;CACvC,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAkB,CAC7B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { PublicKey } from '@solana/web3.js';
2
+ export declare const TOKENS: {
3
+ [key: string]: {
4
+ symbol: string;
5
+ name: string;
6
+ mintAddress: PublicKey;
7
+ decimals: number;
8
+ };
9
+ };