@sonarwatch/portfolio-plugins 0.9.6 → 0.9.8
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.
- package/CHANGELOG.md +8 -0
- package/package.json +2 -2
- package/src/index.js +1 -0
- package/src/index.js.map +1 -1
- package/src/plugins/aave/helpers.js +4 -0
- package/src/plugins/aave/helpers.js.map +1 -1
- package/src/plugins/balancer/getV2Fetcher.js +3 -22
- package/src/plugins/balancer/getV2Fetcher.js.map +1 -1
- package/src/plugins/foo/positionFetcher.js +1 -0
- package/src/plugins/foo/positionFetcher.js.map +1 -1
- package/src/plugins/goosefx/stakingFetcher.js +3 -1
- package/src/plugins/goosefx/stakingFetcher.js.map +1 -1
- package/src/plugins/instadapp/abis.d.ts +26 -1
- package/src/plugins/instadapp/abis.js +21 -2
- package/src/plugins/instadapp/abis.js.map +1 -1
- package/src/plugins/instadapp/constants.d.ts +1 -2
- package/src/plugins/instadapp/constants.js +17 -4
- package/src/plugins/instadapp/constants.js.map +1 -1
- package/src/plugins/instadapp/liteJob.js +26 -8
- package/src/plugins/instadapp/liteJob.js.map +1 -1
- package/src/plugins/jupiter/perpetualFetcher.js +4 -0
- package/src/plugins/jupiter/perpetualFetcher.js.map +1 -1
- package/src/plugins/lifinity/lockerFetcher.js +1 -1
- package/src/plugins/lifinity/lockerFetcher.js.map +1 -1
- package/src/plugins/marinade/ticketsFetcher.js +1 -0
- package/src/plugins/marinade/ticketsFetcher.js.map +1 -1
- package/src/plugins/meteora/constants.d.ts +2 -0
- package/src/plugins/meteora/constants.js +3 -1
- package/src/plugins/meteora/constants.js.map +1 -1
- package/src/plugins/meteora/farmsFetcher.d.ts +3 -0
- package/src/plugins/meteora/farmsFetcher.js +107 -0
- package/src/plugins/meteora/farmsFetcher.js.map +1 -0
- package/src/plugins/meteora/farmsJob.d.ts +3 -0
- package/src/plugins/meteora/farmsJob.js +31 -0
- package/src/plugins/meteora/farmsJob.js.map +1 -0
- package/src/plugins/meteora/filters.d.ts +1 -0
- package/src/plugins/meteora/filters.js +11 -1
- package/src/plugins/meteora/filters.js.map +1 -1
- package/src/plugins/meteora/helpers.d.ts +2 -0
- package/src/plugins/meteora/helpers.js +10 -0
- package/src/plugins/meteora/helpers.js.map +1 -0
- package/src/plugins/meteora/index.js +4 -2
- package/src/plugins/meteora/index.js.map +1 -1
- package/src/plugins/meteora/struct.d.ts +37 -0
- package/src/plugins/meteora/struct.js +36 -1
- package/src/plugins/meteora/struct.js.map +1 -1
- package/src/plugins/meteora/types.d.ts +24 -0
- package/src/plugins/meteora/types.js +3 -0
- package/src/plugins/meteora/types.js.map +1 -0
- package/src/plugins/orca/lpTokensJob.js +55 -64
- package/src/plugins/orca/lpTokensJob.js.map +1 -1
- package/src/plugins/paraswap/stakingFetcher.js +3 -2
- package/src/plugins/paraswap/stakingFetcher.js.map +1 -1
- package/src/plugins/rocket-pool/positionFetcher.js +2 -0
- package/src/plugins/rocket-pool/positionFetcher.js.map +1 -1
- package/src/plugins/stargate/getVoteTokensFetcher.js +3 -1
- package/src/plugins/stargate/getVoteTokensFetcher.js.map +1 -1
- package/src/plugins/tokens/fetchers/aptos-nfts.js +1 -0
- package/src/plugins/tokens/fetchers/aptos-nfts.js.map +1 -1
- package/src/plugins/tokens/fetchers/evms/getEvmLpFetcher.d.ts +3 -0
- package/src/plugins/tokens/fetchers/evms/getEvmLpFetcher.js +77 -0
- package/src/plugins/tokens/fetchers/evms/getEvmLpFetcher.js.map +1 -0
- package/src/plugins/tokens/fetchers/evms/index.js +2 -0
- package/src/plugins/tokens/fetchers/evms/index.js.map +1 -1
- package/src/plugins/tokens/fetchers/sei.js +1 -0
- package/src/plugins/tokens/fetchers/sei.js.map +1 -1
- package/src/plugins/tokens/fetchers/solana-cnfts.js +1 -0
- package/src/plugins/tokens/fetchers/solana-cnfts.js.map +1 -1
- package/src/plugins/tokens/fetchers/solana-nfts.js +1 -0
- package/src/plugins/tokens/fetchers/solana-nfts.js.map +1 -1
- package/src/plugins/tokens/fetchers/solana.js +2 -2
- package/src/plugins/tokens/fetchers/solana.js.map +1 -1
- package/src/plugins/tokens/fetchers/sui-nfts.js +1 -0
- package/src/plugins/tokens/fetchers/sui-nfts.js.map +1 -1
- package/src/plugins/tokens/fetchers/sui.js +2 -2
- package/src/plugins/tokens/fetchers/sui.js.map +1 -1
- package/src/plugins/tokens/helpers.d.ts +3 -2
- package/src/plugins/tokens/helpers.js +8 -8
- package/src/plugins/tokens/helpers.js.map +1 -1
- package/src/utils/evm/getLiquidity.d.ts +2 -0
- package/src/utils/evm/getLiquidity.js +26 -0
- package/src/utils/evm/getLiquidity.js.map +1 -0
- package/src/utils/misc/constants.d.ts +1 -0
- package/src/utils/misc/constants.js +2 -1
- package/src/utils/misc/constants.js.map +1 -1
- package/src/utils/misc/tokenPriceToAssetToken.js +1 -0
- package/src/utils/misc/tokenPriceToAssetToken.js.map +1 -1
@@ -0,0 +1,107 @@
|
|
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 constants_1 = require("./constants");
|
17
|
+
const clients_1 = require("../../utils/clients");
|
18
|
+
const solana_1 = require("../../utils/solana");
|
19
|
+
const struct_1 = require("./struct");
|
20
|
+
const getTokensPricesMap_1 = __importDefault(require("../../utils/misc/getTokensPricesMap"));
|
21
|
+
const tokenPriceToAssetTokens_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetTokens"));
|
22
|
+
const tokenPriceToAssetToken_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetToken"));
|
23
|
+
const helpers_1 = require("./helpers");
|
24
|
+
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
25
|
+
const client = (0, clients_1.getClientSolana)();
|
26
|
+
const farmsInfo = yield cache.getItem(constants_1.farmsKey, {
|
27
|
+
prefix: constants_1.platformId,
|
28
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
29
|
+
});
|
30
|
+
if (!farmsInfo)
|
31
|
+
return [];
|
32
|
+
const farmById = new Map();
|
33
|
+
const farmsMint = [];
|
34
|
+
farmsInfo.forEach((farm) => {
|
35
|
+
farmById.set(farm.pubkey, farm);
|
36
|
+
farmsMint.push(farm.pubkey);
|
37
|
+
});
|
38
|
+
const farmingAccountsAddresses = (0, helpers_1.getStakingAccounts)(owner, farmsMint);
|
39
|
+
const farmingAccounts = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, struct_1.farmAccountStruct, farmingAccountsAddresses);
|
40
|
+
const tokenPriceById = yield (0, getTokensPricesMap_1.default)(farmsInfo.map((f) => [f.stakingMint, f.rewardAMint, f.rewardBMint]).flat(), portfolio_core_1.NetworkId.solana, cache);
|
41
|
+
const liquidities = [];
|
42
|
+
for (const farmingAccount of farmingAccounts) {
|
43
|
+
if (!farmingAccount)
|
44
|
+
continue;
|
45
|
+
const rewardAssets = [];
|
46
|
+
const assets = [];
|
47
|
+
const { balanceStaked, rewardAPerTokenPending, rewardBPerTokenPending } = farmingAccount;
|
48
|
+
const farmInfo = farmById.get(farmingAccount.pool.toString());
|
49
|
+
if (!farmInfo)
|
50
|
+
continue;
|
51
|
+
const { stakingMint, rewardAMint, rewardBMint } = farmInfo;
|
52
|
+
const [poolTokenPrice, rewardATokenPrice, rewardBTokenPrice] = [
|
53
|
+
tokenPriceById.get(stakingMint),
|
54
|
+
tokenPriceById.get(rewardAMint),
|
55
|
+
tokenPriceById.get(rewardBMint),
|
56
|
+
];
|
57
|
+
if (!poolTokenPrice)
|
58
|
+
continue;
|
59
|
+
const amount = balanceStaked.dividedBy(Math.pow(10, poolTokenPrice.decimals));
|
60
|
+
assets.push(...(0, tokenPriceToAssetTokens_1.default)(poolTokenPrice.address, amount.toNumber(), portfolio_core_1.NetworkId.solana, poolTokenPrice));
|
61
|
+
if (rewardAPerTokenPending.isGreaterThan(0) && rewardATokenPrice) {
|
62
|
+
const rewardAmount = rewardAPerTokenPending
|
63
|
+
.dividedBy(Math.pow(10, rewardATokenPrice.decimals))
|
64
|
+
.toNumber();
|
65
|
+
rewardAssets.push((0, tokenPriceToAssetToken_1.default)(rewardAMint, rewardAmount, portfolio_core_1.NetworkId.solana, rewardATokenPrice));
|
66
|
+
}
|
67
|
+
if (rewardBPerTokenPending.isGreaterThan(0) && rewardBTokenPrice) {
|
68
|
+
const rewardAmount = rewardBPerTokenPending
|
69
|
+
.dividedBy(Math.pow(10, rewardBTokenPrice.decimals))
|
70
|
+
.toNumber();
|
71
|
+
rewardAssets.push((0, tokenPriceToAssetToken_1.default)(rewardBMint, rewardAmount, portfolio_core_1.NetworkId.solana, rewardBTokenPrice));
|
72
|
+
}
|
73
|
+
const assetsValue = (0, portfolio_core_1.getUsdValueSum)(assets.map((a) => a.value));
|
74
|
+
const rewardAssetsValue = (0, portfolio_core_1.getUsdValueSum)(rewardAssets.map((r) => r.value));
|
75
|
+
const value = (0, portfolio_core_1.getUsdValueSum)([assetsValue, rewardAssetsValue]);
|
76
|
+
const liquidity = {
|
77
|
+
value,
|
78
|
+
assets,
|
79
|
+
assetsValue,
|
80
|
+
rewardAssets,
|
81
|
+
rewardAssetsValue,
|
82
|
+
yields: [],
|
83
|
+
};
|
84
|
+
liquidities.push(liquidity);
|
85
|
+
}
|
86
|
+
if (liquidities.length === 0)
|
87
|
+
return [];
|
88
|
+
return [
|
89
|
+
{
|
90
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
91
|
+
platformId: constants_1.platformId,
|
92
|
+
type: portfolio_core_1.PortfolioElementType.liquidity,
|
93
|
+
label: 'Farming',
|
94
|
+
value: (0, portfolio_core_1.getUsdValueSum)(liquidities.map((l) => l.value)),
|
95
|
+
data: {
|
96
|
+
liquidities,
|
97
|
+
},
|
98
|
+
},
|
99
|
+
];
|
100
|
+
});
|
101
|
+
const fetcher = {
|
102
|
+
id: `${constants_1.platformId}-farms`,
|
103
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
104
|
+
executor,
|
105
|
+
};
|
106
|
+
exports.default = fetcher;
|
107
|
+
//# sourceMappingURL=farmsFetcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"farmsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/farmsFetcher.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,31 @@
|
|
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 clients_1 = require("../../utils/clients");
|
14
|
+
const solana_1 = require("../../utils/solana");
|
15
|
+
const filters_1 = require("../../utils/solana/filters");
|
16
|
+
const constants_1 = require("./constants");
|
17
|
+
const struct_1 = require("./struct");
|
18
|
+
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
19
|
+
const client = (0, clients_1.getClientSolana)();
|
20
|
+
const farms = yield (0, solana_1.getParsedProgramAccounts)(client, struct_1.farmStruct, constants_1.farmProgramId, (0, filters_1.dataSizeFilter)(502));
|
21
|
+
yield cache.setItem(constants_1.farmsKey, farms, {
|
22
|
+
prefix: constants_1.platformId,
|
23
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
24
|
+
});
|
25
|
+
});
|
26
|
+
const job = {
|
27
|
+
id: `${constants_1.platformId}-farms`,
|
28
|
+
executor,
|
29
|
+
};
|
30
|
+
exports.default = job;
|
31
|
+
//# sourceMappingURL=farmsJob.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"farmsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/farmsJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,iDAAsD;AACtD,+CAA8D;AAC9D,wDAA4D;AAC5D,2CAAkE;AAClE,qCAAsC;AAEtC,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,KAAK,GAAG,MAAM,IAAA,iCAAwB,EAC1C,MAAM,EACN,mBAAU,EACV,yBAAa,EACb,IAAA,wBAAc,EAAC,GAAG,CAAC,CACpB,CAAC;IAEF,MAAM,KAAK,CAAC,OAAO,CAAC,oBAAQ,EAAE,KAAK,EAAE;QACnC,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,QAAQ;IACzB,QAAQ;CACT,CAAC;AACF,kBAAe,GAAG,CAAC"}
|
@@ -2,3 +2,4 @@ import { GetProgramAccountsFilter } from '@solana/web3.js';
|
|
2
2
|
export declare const vaultsFilters: GetProgramAccountsFilter[];
|
3
3
|
export declare const constantPoolsFilters: GetProgramAccountsFilter[];
|
4
4
|
export declare const stablePoolsFilters: GetProgramAccountsFilter[];
|
5
|
+
export declare const farmAccountFilter: (owner: string) => GetProgramAccountsFilter[];
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.stablePoolsFilters = exports.constantPoolsFilters = exports.vaultsFilters = void 0;
|
3
|
+
exports.farmAccountFilter = exports.stablePoolsFilters = exports.constantPoolsFilters = exports.vaultsFilters = void 0;
|
4
4
|
exports.vaultsFilters = [{ dataSize: 10240 }];
|
5
5
|
exports.constantPoolsFilters = [
|
6
6
|
{ dataSize: 944 },
|
@@ -8,4 +8,14 @@ exports.constantPoolsFilters = [
|
|
8
8
|
exports.stablePoolsFilters = [
|
9
9
|
{ dataSize: 1387 },
|
10
10
|
];
|
11
|
+
const farmAccountFilter = (owner) => [
|
12
|
+
{ dataSize: 200 },
|
13
|
+
{
|
14
|
+
memcmp: {
|
15
|
+
offset: 40,
|
16
|
+
bytes: owner,
|
17
|
+
},
|
18
|
+
},
|
19
|
+
];
|
20
|
+
exports.farmAccountFilter = farmAccountFilter;
|
11
21
|
//# sourceMappingURL=filters.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/filters.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAA+B,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAElE,QAAA,oBAAoB,GAA+B;IAC9D,EAAE,QAAQ,EAAE,GAAG,EAAE;CAClB,CAAC;AAEW,QAAA,kBAAkB,GAA+B;IAC5D,EAAE,QAAQ,EAAE,IAAI,EAAE;CACnB,CAAC"}
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/filters.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAA+B,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAElE,QAAA,oBAAoB,GAA+B;IAC9D,EAAE,QAAQ,EAAE,GAAG,EAAE;CAClB,CAAC;AAEW,QAAA,kBAAkB,GAA+B;IAC5D,EAAE,QAAQ,EAAE,IAAI,EAAE;CACnB,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAC/B,KAAa,EACe,EAAE,CAAC;IAC/B,EAAE,QAAQ,EAAE,GAAG,EAAE;IACjB;QACE,MAAM,EAAE;YACN,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,KAAK;SACb;KACF;CACF,CAAC;AAVW,QAAA,iBAAiB,qBAU5B"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getStakingAccounts = void 0;
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
5
|
+
const constants_1 = require("./constants");
|
6
|
+
function getStakingAccounts(owner, farms) {
|
7
|
+
return farms.map((farm) => web3_js_1.PublicKey.findProgramAddressSync([new web3_js_1.PublicKey(owner).toBuffer(), new web3_js_1.PublicKey(farm).toBuffer()], constants_1.farmProgramId)[0]);
|
8
|
+
}
|
9
|
+
exports.getStakingAccounts = getStakingAccounts;
|
10
|
+
//# sourceMappingURL=helpers.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/helpers.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,2CAA4C;AAE5C,SAAgB,kBAAkB,CAChC,KAAa,EACb,KAAe;IAEf,OAAO,KAAK,CAAC,GAAG,CACd,CAAC,IAAI,EAAE,EAAE,CACP,mBAAS,CAAC,sBAAsB,CAC9B,CAAC,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,mBAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,EACjE,yBAAa,CACd,CAAC,CAAC,CAAC,CACP,CAAC;AACJ,CAAC;AAXD,gDAWC"}
|
@@ -6,8 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.fetchers = exports.jobs = exports.platforms = void 0;
|
7
7
|
const vaultsJob_1 = __importDefault(require("./vaultsJob"));
|
8
8
|
const poolsJob_1 = __importDefault(require("./poolsJob"));
|
9
|
+
const farmsJob_1 = __importDefault(require("./farmsJob"));
|
9
10
|
const constants_1 = require("./constants");
|
11
|
+
const farmsFetcher_1 = __importDefault(require("./farmsFetcher"));
|
10
12
|
exports.platforms = [constants_1.meteoraPlatform];
|
11
|
-
exports.jobs = [vaultsJob_1.default, poolsJob_1.default];
|
12
|
-
exports.fetchers = [];
|
13
|
+
exports.jobs = [vaultsJob_1.default, poolsJob_1.default, farmsJob_1.default];
|
14
|
+
exports.fetchers = [farmsFetcher_1.default];
|
13
15
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/index.ts"],"names":[],"mappings":";;;;;;AACA,4DAAoC;AACpC,0DAAkC;AAGlC,2CAA8C;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/index.ts"],"names":[],"mappings":";;;;;;AACA,4DAAoC;AACpC,0DAAkC;AAClC,0DAAkC;AAGlC,2CAA8C;AAC9C,kEAA0C;AAE7B,QAAA,SAAS,GAAe,CAAC,2BAAe,CAAC,CAAC;AAC1C,QAAA,IAAI,GAAU,CAAC,mBAAS,EAAE,kBAAQ,EAAE,kBAAQ,CAAC,CAAC;AAC9C,QAAA,QAAQ,GAAc,CAAC,sBAAY,CAAC,CAAC"}
|
@@ -95,3 +95,40 @@ export type PoolState = {
|
|
95
95
|
curveType: CurveType;
|
96
96
|
};
|
97
97
|
export declare const poolStateStruct: FixableBeetStruct<PoolState, Partial<PoolState>>;
|
98
|
+
export type Farm = {
|
99
|
+
buffer: Buffer;
|
100
|
+
authority: PublicKey;
|
101
|
+
paused: boolean;
|
102
|
+
stakingMint: PublicKey;
|
103
|
+
stakingVault: PublicKey;
|
104
|
+
rewardAMint: PublicKey;
|
105
|
+
rewardAVault: PublicKey;
|
106
|
+
rewardBMint: PublicKey;
|
107
|
+
rewardBVault: PublicKey;
|
108
|
+
rewardDuration: BigNumber;
|
109
|
+
rewardDurationEnd: BigNumber;
|
110
|
+
lastUpdateTime: BigNumber;
|
111
|
+
rewardARate: BigNumber;
|
112
|
+
rewardBRate: BigNumber;
|
113
|
+
rewardAPerTokenStored: BigNumber;
|
114
|
+
rewardBPerTokenStored: BigNumber;
|
115
|
+
userStakeCount: number;
|
116
|
+
funders: PublicKey[];
|
117
|
+
rewardARateU128: BigNumber;
|
118
|
+
rewardBRateU128: BigNumber;
|
119
|
+
poolBump: number;
|
120
|
+
totalStaked: BigNumber;
|
121
|
+
};
|
122
|
+
export declare const farmStruct: BeetStruct<Farm, Partial<Farm>>;
|
123
|
+
export type FarmAccount = {
|
124
|
+
buffer: Buffer;
|
125
|
+
pool: PublicKey;
|
126
|
+
owner: PublicKey;
|
127
|
+
rewardAPerTokenComplete: BigNumber;
|
128
|
+
rewardBPerTokenComplete: BigNumber;
|
129
|
+
rewardAPerTokenPending: BigNumber;
|
130
|
+
rewardBPerTokenPending: BigNumber;
|
131
|
+
balanceStaked: BigNumber;
|
132
|
+
nonce: number;
|
133
|
+
};
|
134
|
+
export declare const farmAccountStruct: BeetStruct<FarmAccount, Partial<FarmAccount>>;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.poolStateStruct = exports.poolFeesStruct = exports.PoolType = exports.CurveType = exports.stableParamsStruct = exports.TokenMultiplierStruct = exports.depegStruct = exports.DepegType = exports.paddingStruct = exports.vaultStruct = exports.lockedProfitTrackerStruct = exports.vaultBumpsStruct = void 0;
|
3
|
+
exports.farmAccountStruct = exports.farmStruct = exports.poolStateStruct = exports.poolFeesStruct = exports.PoolType = exports.CurveType = exports.stableParamsStruct = exports.TokenMultiplierStruct = exports.depegStruct = exports.DepegType = exports.paddingStruct = exports.vaultStruct = exports.lockedProfitTrackerStruct = exports.vaultBumpsStruct = 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");
|
@@ -91,4 +91,39 @@ exports.poolStateStruct = new beet_1.FixableBeetStruct([
|
|
91
91
|
['padding', exports.paddingStruct],
|
92
92
|
['curveType', beet_1.u8],
|
93
93
|
], (args) => args);
|
94
|
+
exports.farmStruct = new beet_1.BeetStruct([
|
95
|
+
['buffer', (0, solana_1.blob)(8)],
|
96
|
+
['authority', beet_solana_1.publicKey],
|
97
|
+
['paused', beet_1.bool],
|
98
|
+
['stakingMint', beet_solana_1.publicKey],
|
99
|
+
['stakingVault', beet_solana_1.publicKey],
|
100
|
+
['rewardAMint', beet_solana_1.publicKey],
|
101
|
+
['rewardAVault', beet_solana_1.publicKey],
|
102
|
+
['rewardBMint', beet_solana_1.publicKey],
|
103
|
+
['rewardBVault', beet_solana_1.publicKey],
|
104
|
+
['rewardDuration', solana_1.u64],
|
105
|
+
['rewardDurationEnd', solana_1.u64],
|
106
|
+
['lastUpdateTime', solana_1.u64],
|
107
|
+
['rewardARate', solana_1.u64],
|
108
|
+
['rewardBRate', solana_1.u64],
|
109
|
+
['rewardAPerTokenStored', solana_1.u128],
|
110
|
+
['rewardBPerTokenStored', solana_1.u128],
|
111
|
+
['userStakeCount', beet_1.u32],
|
112
|
+
['funders', (0, beet_1.uniformFixedSizeArray)(beet_solana_1.publicKey, 3)],
|
113
|
+
['rewardARateU128', solana_1.u128],
|
114
|
+
['rewardBRateU128', solana_1.u128],
|
115
|
+
['poolBump', beet_1.u8],
|
116
|
+
['totalStaked', solana_1.u64],
|
117
|
+
], (args) => args);
|
118
|
+
exports.farmAccountStruct = new beet_1.BeetStruct([
|
119
|
+
['buffer', (0, solana_1.blob)(8)],
|
120
|
+
['pool', beet_solana_1.publicKey],
|
121
|
+
['owner', beet_solana_1.publicKey],
|
122
|
+
['rewardAPerTokenComplete', solana_1.u128],
|
123
|
+
['rewardBPerTokenComplete', solana_1.u128],
|
124
|
+
['rewardAPerTokenPending', solana_1.u64],
|
125
|
+
['rewardBPerTokenPending', solana_1.u64],
|
126
|
+
['balanceStaked', solana_1.u64],
|
127
|
+
['nonce', beet_1.u8],
|
128
|
+
], (args) => args);
|
94
129
|
//# sourceMappingURL=struct.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/struct.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/struct.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
export type Farm = {
|
2
|
+
pubkey: string;
|
3
|
+
authority: string;
|
4
|
+
paused: boolean;
|
5
|
+
stakingMint: string;
|
6
|
+
stakingVault: string;
|
7
|
+
rewardAMint: string;
|
8
|
+
rewardAVault: string;
|
9
|
+
rewardBMint: string;
|
10
|
+
rewardBVault: string;
|
11
|
+
rewardDuration: string;
|
12
|
+
rewardDurationEnd: string;
|
13
|
+
lastUpdateTime: string;
|
14
|
+
rewardARate: string;
|
15
|
+
rewardBRate: string;
|
16
|
+
rewardAPerTokenStored: string;
|
17
|
+
rewardBPerTokenStored: string;
|
18
|
+
userStakeCount: number;
|
19
|
+
funders: string[];
|
20
|
+
rewardARateU128: string;
|
21
|
+
rewardBRateU128: string;
|
22
|
+
poolBump: number;
|
23
|
+
totalStaked: string;
|
24
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/types.ts"],"names":[],"mappings":""}
|
@@ -1,4 +1,27 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
2
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
@@ -21,34 +44,31 @@ const oldLiquidities_1 = require("./structs/oldLiquidities");
|
|
21
44
|
const solana_1 = require("../../utils/solana");
|
22
45
|
const fetchTokenSupplyAndDecimals_1 = require("../../utils/solana/fetchTokenSupplyAndDecimals");
|
23
46
|
const runInBatch_1 = __importDefault(require("../../utils/misc/runInBatch"));
|
47
|
+
const computeAndStoreLpPrice_1 = __importStar(require("../../utils/misc/computeAndStoreLpPrice"));
|
48
|
+
const getTokensPricesMap_1 = __importDefault(require("../../utils/misc/getTokensPricesMap"));
|
24
49
|
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
25
50
|
const client = (0, clients_1.getClientSolana)();
|
26
51
|
const farmsAccounts = yield (0, solana_1.getParsedProgramAccounts)(client, oldLiquidities_1.aquafarmStruct, constants_1.aquafarmsProgram, filters_1.aquafarmFilters);
|
27
52
|
const poolsAccounts = yield (0, solana_1.getParsedProgramAccounts)(client, oldLiquidities_1.poolInfoStruct, constants_1.poolsProgram, filters_1.poolsFilters);
|
28
|
-
const mints =
|
29
|
-
|
30
|
-
farmsAccounts.forEach((
|
31
|
-
|
32
|
-
|
33
|
-
tokenPriceResults.forEach((r) => {
|
34
|
-
if (r.status === 'rejected')
|
35
|
-
return;
|
36
|
-
if (!r.value)
|
37
|
-
return;
|
38
|
-
tokenPrices.set(r.value.address, r.value);
|
53
|
+
const mints = [];
|
54
|
+
const tokensAccountAddresses = [];
|
55
|
+
farmsAccounts.forEach((farm) => {
|
56
|
+
mints.push(farm.baseTokenMint.toString());
|
57
|
+
tokensAccountAddresses.push(farm.baseTokenVault);
|
39
58
|
});
|
40
|
-
|
41
|
-
...
|
42
|
-
|
43
|
-
|
44
|
-
const
|
59
|
+
poolsAccounts.forEach((pool) => {
|
60
|
+
mints.push(...[pool.mintA.toString(), pool.mintB.toString()]);
|
61
|
+
tokensAccountAddresses.push(...[pool.tokenAccountA, pool.tokenAccountB]);
|
62
|
+
});
|
63
|
+
const tokenPrices = yield (0, getTokensPricesMap_1.default)(mints, portfolio_core_1.NetworkId.solana, cache);
|
64
|
+
const tokensAccounts = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, solana_1.tokenAccountStruct, tokensAccountAddresses);
|
45
65
|
const tokenAccountByAddress = new Map();
|
46
66
|
tokensAccounts.forEach((tAccount) => {
|
47
67
|
if (!tAccount)
|
48
68
|
return;
|
49
69
|
tokenAccountByAddress.set(tAccount.pubkey.toString(), tAccount);
|
50
70
|
});
|
51
|
-
const batchResult = yield (0, runInBatch_1.default)(poolsAccounts.map((
|
71
|
+
const batchResult = yield (0, runInBatch_1.default)(poolsAccounts.map((pool) => () => (0, fetchTokenSupplyAndDecimals_1.fetchTokenSupplyAndDecimals)(pool.tokenPool, client, 0)));
|
52
72
|
const poolTokenInfoByAddress = new Map();
|
53
73
|
batchResult.forEach((r, index) => {
|
54
74
|
if (r.status === 'rejected')
|
@@ -57,7 +77,6 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
|
57
77
|
return;
|
58
78
|
poolTokenInfoByAddress.set(poolsAccounts[index].tokenPool.toString(), r.value);
|
59
79
|
});
|
60
|
-
const poolsPromises = [];
|
61
80
|
for (const poolAccount of poolsAccounts) {
|
62
81
|
if ([
|
63
82
|
poolAccount.tokenAccountA.toString(),
|
@@ -68,8 +87,8 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
|
68
87
|
const lpSupplyAndDecimals = poolTokenInfoByAddress.get(lpMint.toString());
|
69
88
|
if (!lpSupplyAndDecimals)
|
70
89
|
continue;
|
71
|
-
const lpSupply = lpSupplyAndDecimals.supply;
|
72
|
-
if (lpSupply
|
90
|
+
const lpSupply = new bignumber_js_1.default(lpSupplyAndDecimals.supply).times(Math.pow(10, lpSupplyAndDecimals.decimals));
|
91
|
+
if (lpSupply.isZero())
|
73
92
|
continue;
|
74
93
|
const poolCoinTokenAccount = tokenAccountByAddress.get(poolAccount.tokenAccountA.toString());
|
75
94
|
const poolPcTokenAccount = tokenAccountByAddress.get(poolAccount.tokenAccountB.toString());
|
@@ -79,50 +98,22 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
|
79
98
|
const pcToken = tokenPrices.get(poolAccount.mintB.toString());
|
80
99
|
if (!coinToken || !pcToken)
|
81
100
|
continue;
|
82
|
-
const coinDecimals = coinToken.decimals;
|
83
|
-
const pcDecimals = pcToken.decimals;
|
84
101
|
const coinAmountWei = new bignumber_js_1.default(poolCoinTokenAccount.amount.toString());
|
85
102
|
const pcAmountWei = new bignumber_js_1.default(poolPcTokenAccount.amount.toString());
|
86
|
-
const coinAmount = coinAmountWei
|
87
|
-
.dividedBy(new bignumber_js_1.default(Math.pow(10, coinDecimals)))
|
88
|
-
.toNumber();
|
89
|
-
const pcAmount = pcAmountWei
|
90
|
-
.dividedBy(new bignumber_js_1.default(Math.pow(10, pcDecimals)))
|
91
|
-
.toNumber();
|
92
|
-
const coinValueLocked = coinAmount * coinToken.price;
|
93
|
-
const pcValueLocked = pcAmount * pcToken.price;
|
94
103
|
const lpDecimals = lpSupplyAndDecimals.decimals;
|
95
|
-
const
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
{
|
108
|
-
networkId: portfolio_core_1.NetworkId.solana,
|
109
|
-
address: coinToken.address,
|
110
|
-
decimals: coinToken.decimals,
|
111
|
-
price: coinToken.price,
|
112
|
-
amountPerLp: coinAmount / lpSupply,
|
113
|
-
},
|
114
|
-
{
|
115
|
-
networkId: portfolio_core_1.NetworkId.solana,
|
116
|
-
address: pcToken.address,
|
117
|
-
decimals: pcToken.decimals,
|
118
|
-
price: pcToken.price,
|
119
|
-
amountPerLp: pcAmount / lpSupply,
|
120
|
-
},
|
121
|
-
],
|
122
|
-
timestamp: Date.now(),
|
123
|
-
}));
|
104
|
+
const poolData = {
|
105
|
+
id: lpMint.toString(),
|
106
|
+
lpDecimals,
|
107
|
+
mintTokenX: poolAccount.mintA.toString(),
|
108
|
+
mintTokenY: poolAccount.mintB.toString(),
|
109
|
+
reserveTokenX: coinAmountWei,
|
110
|
+
reserveTokenY: pcAmountWei,
|
111
|
+
supply: lpSupply,
|
112
|
+
decimalX: coinToken.decimals,
|
113
|
+
decimalY: pcToken.decimals,
|
114
|
+
};
|
115
|
+
yield (0, computeAndStoreLpPrice_1.default)(cache, poolData, portfolio_core_1.NetworkId.solana, constants_1.platformId);
|
124
116
|
}
|
125
|
-
yield Promise.allSettled(poolsPromises);
|
126
117
|
const tokensSupDecResult = yield (0, runInBatch_1.default)(farmsAccounts.map((farm) => () => (0, fetchTokenSupplyAndDecimals_1.fetchTokenSupplyAndDecimals)(farm.farmTokenMint, client, 0)));
|
127
118
|
const tokensSuppliesAndDecimalsByMint = new Map();
|
128
119
|
tokensSupDecResult.forEach((r, index) => {
|
@@ -132,7 +123,6 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
|
132
123
|
return;
|
133
124
|
tokensSuppliesAndDecimalsByMint.set(farmsAccounts[index].farmTokenMint.toString(), r.value);
|
134
125
|
});
|
135
|
-
const farmsPromises = [];
|
136
126
|
for (let i = 0; i < farmsAccounts.length; i += 1) {
|
137
127
|
const aquafarm = farmsAccounts[i];
|
138
128
|
const baseMint = aquafarm.baseTokenMint.toString();
|
@@ -153,8 +143,10 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
|
153
143
|
.div(Math.pow(10, baseToken.decimals))
|
154
144
|
.toNumber();
|
155
145
|
const baseVaultValue = baseVaultAmount * baseToken.price;
|
146
|
+
if (baseVaultValue < computeAndStoreLpPrice_1.minimumLiquidity.toNumber())
|
147
|
+
continue;
|
156
148
|
const price = baseVaultValue / farmSupply;
|
157
|
-
|
149
|
+
yield cache.setTokenPriceSource({
|
158
150
|
id: constants_1.platformId,
|
159
151
|
elementName: 'Aquafarms (deprecated)',
|
160
152
|
weight: 1,
|
@@ -165,9 +157,8 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
|
165
157
|
price,
|
166
158
|
underlyings: baseToken.underlyings,
|
167
159
|
timestamp: Date.now(),
|
168
|
-
})
|
160
|
+
});
|
169
161
|
}
|
170
|
-
yield Promise.allSettled(farmsPromises);
|
171
162
|
});
|
172
163
|
const job = {
|
173
164
|
id: `${constants_1.platformId}-lp-tokens`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"lpTokensJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/orca/lpTokensJob.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"lpTokensJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/orca/lpTokensJob.ts"],"names":[],"mappings":"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"}
|
@@ -78,8 +78,9 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
78
78
|
status === types_1.WithdrawStatus.UNLOCKING &&
|
79
79
|
unlockingBalances[j] > BigInt(0)) {
|
80
80
|
const unlockingAmount = new bignumber_js_1.default(unlockingBalances[j].toString()).dividedBy(Math.pow(10, pspTokenPrice.decimals));
|
81
|
-
|
82
|
-
|
81
|
+
unlockingAssets.push(Object.assign(Object.assign({}, (0, tokenPriceToAssetToken_1.default)(pspTokenPrice.address, unlockingAmount.toNumber(), portfolio_core_1.NetworkId.ethereum, pspTokenPrice)), { attributes: {
|
82
|
+
lockedUntil: Number(unlockingTs[j]),
|
83
|
+
} }));
|
83
84
|
}
|
84
85
|
}
|
85
86
|
const lockedAssets = [];
|