@sonarwatch/portfolio-plugins 0.15.27 → 0.15.29
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 +2742 -2708
- package/README.md +3 -3
- package/package.json +1 -1
- package/src/index.js +4 -0
- package/src/index.js.map +1 -1
- package/src/plugins/allbridge/helpers.js +6 -5
- package/src/plugins/allbridge/helpers.js.map +1 -1
- package/src/plugins/balancer/helpers/pools.js +21 -21
- package/src/plugins/bonfida/snsAirdropFetcher.js +10 -2
- package/src/plugins/bonfida/snsAirdropFetcher.js.map +1 -1
- package/src/plugins/bonkrewards/constants.d.ts +2 -0
- package/src/plugins/bonkrewards/constants.js +3 -1
- package/src/plugins/bonkrewards/constants.js.map +1 -1
- package/src/plugins/bonkrewards/daoFetcher.d.ts +3 -0
- package/src/plugins/bonkrewards/daoFetcher.js +57 -0
- package/src/plugins/bonkrewards/daoFetcher.js.map +1 -0
- package/src/plugins/bonkrewards/daoJob.d.ts +3 -0
- package/src/plugins/bonkrewards/daoJob.js +33 -0
- package/src/plugins/bonkrewards/daoJob.js.map +1 -0
- package/src/plugins/bonkrewards/index.js +4 -2
- package/src/plugins/bonkrewards/index.js.map +1 -1
- package/src/plugins/bonkrewards/structs.d.ts +27 -1
- package/src/plugins/bonkrewards/structs.js +25 -2
- package/src/plugins/bonkrewards/structs.js.map +1 -1
- package/src/plugins/cudis/airdropFetcher.d.ts +3 -0
- package/src/plugins/cudis/airdropFetcher.js +74 -0
- package/src/plugins/cudis/airdropFetcher.js.map +1 -0
- package/src/plugins/cudis/constants.d.ts +9 -0
- package/src/plugins/cudis/constants.js +18 -0
- package/src/plugins/cudis/constants.js.map +1 -0
- package/src/plugins/cudis/index.d.ts +5 -0
- package/src/plugins/cudis/index.js +15 -0
- package/src/plugins/cudis/index.js.map +1 -0
- package/src/plugins/cudis/stakingFetcher.d.ts +3 -0
- package/src/plugins/cudis/stakingFetcher.js +62 -0
- package/src/plugins/cudis/stakingFetcher.js.map +1 -0
- package/src/plugins/cudis/structs.d.ts +19 -0
- package/src/plugins/cudis/structs.js +20 -0
- package/src/plugins/cudis/structs.js.map +1 -0
- package/src/plugins/cudis/types.d.ts +8 -0
- package/src/plugins/cudis/types.js +3 -0
- package/src/plugins/cudis/types.js.map +1 -0
- package/src/plugins/daos/realmsProgramsJob.js.map +1 -1
- package/src/plugins/drift/helpers.js +47 -15
- package/src/plugins/drift/helpers.js.map +1 -1
- package/src/plugins/drift/struct.d.ts +9 -0
- package/src/plugins/drift/struct.js +10 -1
- package/src/plugins/drift/struct.js.map +1 -1
- package/src/plugins/goosefx/dualPoolFetcher.js +10 -6
- package/src/plugins/goosefx/dualPoolFetcher.js.map +1 -1
- package/src/plugins/grass/airdropFetcher.js +13 -1
- package/src/plugins/grass/airdropFetcher.js.map +1 -1
- package/src/plugins/jupiter/exchange/limitFetcher.js +1 -1
- package/src/plugins/jupiter/exchange/limitFetcher.js.map +1 -1
- package/src/plugins/jupiter/index.js +1 -0
- package/src/plugins/jupiter/index.js.map +1 -1
- package/src/plugins/jupiter/launchpad/constants.js +7 -26
- package/src/plugins/jupiter/launchpad/constants.js.map +1 -1
- package/src/plugins/jupiter/launchpad/structs.d.ts +1 -1
- package/src/plugins/jupiter/launchpad/structs.js +1 -1
- package/src/plugins/jupiter/launchpad/structs.js.map +1 -1
- package/src/plugins/kamino/airdropHelpers.d.ts +2 -0
- package/src/plugins/kamino/airdropHelpers.js +43 -0
- package/src/plugins/kamino/airdropHelpers.js.map +1 -0
- package/src/plugins/kamino/constants.d.ts +2 -0
- package/src/plugins/kamino/constants.js +13 -4
- package/src/plugins/kamino/constants.js.map +1 -1
- package/src/plugins/kamino/index.js +8 -2
- package/src/plugins/kamino/index.js.map +1 -1
- package/src/plugins/kamino/s1AirdropFetcher.js +30 -5
- package/src/plugins/kamino/s1AirdropFetcher.js.map +1 -1
- package/src/plugins/kamino/{s2AirdropFetcher.old.js → s2AirdropFetcher.js} +31 -6
- package/src/plugins/kamino/s2AirdropFetcher.js.map +1 -0
- package/src/plugins/kamino/s3AirdropFetcher.d.ts +4 -0
- package/src/plugins/kamino/s3AirdropFetcher.js +68 -0
- package/src/plugins/kamino/s3AirdropFetcher.js.map +1 -0
- package/src/plugins/lulo/rewardsFetcher.js +5 -1
- package/src/plugins/lulo/rewardsFetcher.js.map +1 -1
- package/src/plugins/magna/constant.d.ts +4 -0
- package/src/plugins/magna/constant.js +6 -0
- package/src/plugins/magna/constant.js.map +1 -0
- package/src/plugins/magna/structs.d.ts +12 -0
- package/src/plugins/magna/structs.js +13 -0
- package/src/plugins/magna/structs.js.map +1 -0
- package/src/plugins/meteora/dlmm/dlmmVaultsFetcher.js +59 -61
- package/src/plugins/meteora/dlmm/dlmmVaultsFetcher.js.map +1 -1
- package/src/plugins/meteora/filters.d.ts +0 -3
- package/src/plugins/meteora/filters.js +1 -8
- package/src/plugins/meteora/filters.js.map +1 -1
- package/src/plugins/meteora/pools/poolsJob.js +15 -29
- package/src/plugins/meteora/pools/poolsJob.js.map +1 -1
- package/src/plugins/meteora/struct.d.ts +1 -16
- package/src/plugins/meteora/struct.js +14 -34
- package/src/plugins/meteora/struct.js.map +1 -1
- package/src/plugins/oresupply/boostJob.js +14 -4
- package/src/plugins/oresupply/boostJob.js.map +1 -1
- package/src/plugins/oresupply/stakeFetcher.js +8 -1
- package/src/plugins/oresupply/stakeFetcher.js.map +1 -1
- package/src/plugins/parcl/helpersAirdrop.js +14 -5
- package/src/plugins/parcl/helpersAirdrop.js.map +1 -1
- package/src/plugins/solayer/airdropFetcher.js +23 -20
- package/src/plugins/solayer/airdropFetcher.js.map +1 -1
- package/src/plugins/sonic/airdropFetcher.js +16 -14
- package/src/plugins/sonic/airdropFetcher.js.map +1 -1
- package/src/plugins/sonic/structs.d.ts +7 -0
- package/src/plugins/sonic/structs.js +7 -1
- package/src/plugins/sonic/structs.js.map +1 -1
- package/src/plugins/streamflow/constants.d.ts +1 -0
- package/src/plugins/streamflow/constants.js +2 -1
- package/src/plugins/streamflow/constants.js.map +1 -1
- package/src/plugins/streamflow/helpers.js +2 -2
- package/src/plugins/streamflow/helpers.js.map +1 -1
- package/src/plugins/streamflow/merkleFetcher.js +16 -15
- package/src/plugins/streamflow/merkleFetcher.js.map +1 -1
- package/src/plugins/streamflow/types.d.ts +9 -0
- package/src/plugins/sushiswap/helpers.js +24 -24
- package/src/plugins/tensor/airdropPowerUsersFetcher.js +1 -1
- package/src/plugins/tensor/constants.d.ts +1 -1
- package/src/plugins/tensor/constants.js +2 -2
- package/src/plugins/tensor/powerUserAirdropFetcher.js +1 -1
- package/src/plugins/tokens/fetchers/solana-simple.js +5 -5
- package/src/plugins/tokens/fetchers/solana-simple.js.map +1 -1
- package/src/plugins/tokens/getTokenListsJob.js +1 -1
- package/src/plugins/tokens/getTokenListsJob.js.map +1 -1
- package/src/plugins/uniswap-v2/helpers.js +22 -22
- package/src/plugins/wasabi/constants.d.ts +5 -0
- package/src/plugins/wasabi/constants.js +7 -0
- package/src/plugins/wasabi/constants.js.map +1 -0
- package/src/plugins/wasabi/index.d.ts +4 -0
- package/src/plugins/wasabi/index.js +13 -0
- package/src/plugins/wasabi/index.js.map +1 -0
- package/src/plugins/wasabi/lpVaultsJob.d.ts +3 -0
- package/src/plugins/wasabi/lpVaultsJob.js +60 -0
- package/src/plugins/wasabi/lpVaultsJob.js.map +1 -0
- package/src/plugins/wasabi/positionsFetcher.d.ts +3 -0
- package/src/plugins/wasabi/positionsFetcher.js +67 -0
- package/src/plugins/wasabi/positionsFetcher.js.map +1 -0
- package/src/plugins/wasabi/structs.d.ts +30 -0
- package/src/plugins/wasabi/structs.js +30 -0
- package/src/plugins/wasabi/structs.js.map +1 -0
- package/src/plugins/zeta/airdropFetcher.js +21 -15
- package/src/plugins/zeta/airdropFetcher.js.map +1 -1
- package/src/utils/sei/constants.js +8 -8
- package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
- package/src/utils/solana/zeroDecimalMints.d.ts +1 -0
- package/src/utils/solana/zeroDecimalMints.js +219 -0
- package/src/utils/solana/zeroDecimalMints.js.map +1 -0
- package/src/plugins/kamino/s2AirdropFetcher.old.js.map +0 -1
- /package/src/plugins/kamino/{s2AirdropFetcher.old.d.ts → s2AirdropFetcher.d.ts} +0 -0
@@ -24,7 +24,7 @@ const ElementRegistry_1 = require("../../../utils/elementbuilder/ElementRegistry
|
|
24
24
|
// const slotTtl = 30000;
|
25
25
|
// const slot: number | null = null;
|
26
26
|
// const slotUpdate = 0;
|
27
|
-
const dustFilter = 0.
|
27
|
+
const dustFilter = 0.0001;
|
28
28
|
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
29
29
|
const client = (0, clients_1.getClientSolana)();
|
30
30
|
const accounts = yield (0, solana_1.getParsedProgramAccounts)(client, struct_1.escrowStruct, constants_1.dlmmVaultProgramId, [
|
@@ -44,6 +44,9 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
44
44
|
});
|
45
45
|
if (!vaults)
|
46
46
|
throw new Error('Vaults not cached');
|
47
|
+
const tokenPrices = yield cache.getTokenPricesAsMap(Object.values(vaults)
|
48
|
+
.map((v) => v && [v.baseMint, v.quoteMint])
|
49
|
+
.flat(), portfolio_core_1.NetworkId.solana);
|
47
50
|
const time = Date.now();
|
48
51
|
// Looks like Meteora is using timesteamp instead of slot now inside their accounts
|
49
52
|
// if (!slot || Date.now() - slotTtl > slotUpdate) {
|
@@ -52,11 +55,10 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
52
55
|
// }
|
53
56
|
// if (!slot) return [];
|
54
57
|
const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
|
55
|
-
|
58
|
+
for (const escrow of accounts) {
|
56
59
|
const vault = vaults[escrow.dlmmVault.toString()];
|
57
60
|
if (!vault || !vault.endVestingTs || !vault.startVestingTs)
|
58
|
-
|
59
|
-
// if (time > Number(vault.endVestingTs)) return;
|
61
|
+
continue;
|
60
62
|
const element = elementRegistry.addElementMultiple({
|
61
63
|
label: 'Vesting',
|
62
64
|
name: 'Alpha Vault',
|
@@ -73,72 +75,68 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
73
75
|
],
|
74
76
|
link: `https://app.meteora.ag/dlmm/${vault.lbPair}`,
|
75
77
|
});
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
78
|
+
const baseTokenPrice = tokenPrices.get(vault.baseMint);
|
79
|
+
const quoteTokenPrice = tokenPrices.get(vault.quoteMint);
|
80
|
+
const filledRatio = new bignumber_js_1.default(vault.totalDeposit)
|
81
|
+
.div(vault.maxCap)
|
82
|
+
.toNumber();
|
83
|
+
if (escrow.refunded === 0 && filledRatio > 1) {
|
84
|
+
const amount = new bignumber_js_1.default(escrow.totalDeposit).times(1 - 1 / filledRatio);
|
85
|
+
if (quoteTokenPrice &&
|
86
|
+
amount
|
87
|
+
.shiftedBy(-quoteTokenPrice.decimals)
|
88
|
+
.multipliedBy(quoteTokenPrice.price)
|
89
|
+
.isGreaterThan(dustFilter)) {
|
90
|
+
element.addAsset({
|
91
|
+
address: vault.quoteMint,
|
92
|
+
amount,
|
93
|
+
attributes: {
|
94
|
+
isClaimable: true,
|
95
|
+
},
|
96
|
+
});
|
97
|
+
}
|
98
|
+
}
|
99
|
+
const shares = new bignumber_js_1.default(escrow.totalDeposit).div(vault.totalDeposit);
|
100
|
+
const totalAmount = new bignumber_js_1.default(vault.boughtToken).times(shares);
|
101
|
+
const remainingAmount = totalAmount.minus(escrow.claimedToken);
|
102
|
+
if (remainingAmount.isLessThan(dustFilter))
|
103
|
+
continue;
|
104
|
+
let claimableAmount = new bignumber_js_1.default(remainingAmount.toString());
|
105
|
+
if (time < Number(vault.endVestingTs)) {
|
106
|
+
const amountPerSec = new bignumber_js_1.default(totalAmount).div(Number(vault.endVestingTs) - Number(vault.startVestingTs));
|
107
|
+
let lastClaimedTs = escrow.lastClaimedTs.isZero()
|
108
|
+
? Number(vault.startVestingTs)
|
109
|
+
: escrow.lastClaimedTs.toNumber();
|
110
|
+
if (lastClaimedTs > time)
|
111
|
+
lastClaimedTs = time;
|
112
|
+
claimableAmount = amountPerSec.times(Math.min(time, Number(vault.endVestingTs)) - lastClaimedTs);
|
82
113
|
}
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
114
|
+
if (baseTokenPrice &&
|
115
|
+
claimableAmount
|
116
|
+
.shiftedBy(-baseTokenPrice.decimals)
|
117
|
+
.multipliedBy(baseTokenPrice.price)
|
118
|
+
.isGreaterThan(dustFilter)) {
|
87
119
|
element.addAsset({
|
88
120
|
address: vault.baseMint,
|
89
|
-
amount:
|
121
|
+
amount: claimableAmount,
|
90
122
|
attributes: {
|
123
|
+
isClaimable: Number(vault.endVestingTs) * 1000 < Date.now(),
|
91
124
|
lockedUntil: Number(vault.endVestingTs) * 1000,
|
92
125
|
},
|
93
126
|
});
|
94
127
|
}
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
.
|
100
|
-
.
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
address: vault.quoteMint,
|
106
|
-
amount,
|
107
|
-
});
|
108
|
-
}
|
109
|
-
const shares = new bignumber_js_1.default(escrow.totalDeposit).div(vault.totalDeposit);
|
110
|
-
const totalAmount = new bignumber_js_1.default(vault.boughtToken).times(shares);
|
111
|
-
const remainingAmount = totalAmount.minus(escrow.claimedToken);
|
112
|
-
if (remainingAmount.isLessThan(dustFilter))
|
113
|
-
return;
|
114
|
-
let claimableAmount = new bignumber_js_1.default(remainingAmount.toString());
|
115
|
-
if (time < Number(vault.endVestingTs)) {
|
116
|
-
const amountPerSec = new bignumber_js_1.default(totalAmount).div(Number(vault.endVestingTs) - Number(vault.startVestingTs));
|
117
|
-
let lastClaimedTs = escrow.lastClaimedTs.isZero()
|
118
|
-
? Number(vault.startVestingTs)
|
119
|
-
: escrow.lastClaimedTs.toNumber();
|
120
|
-
if (lastClaimedTs > time)
|
121
|
-
lastClaimedTs = time;
|
122
|
-
claimableAmount = amountPerSec.times(Math.min(time, Number(vault.endVestingTs)) - lastClaimedTs);
|
123
|
-
}
|
124
|
-
if (claimableAmount.isGreaterThan(dustFilter)) {
|
125
|
-
element.addAsset({
|
126
|
-
address: vault.baseMint,
|
127
|
-
amount: claimableAmount,
|
128
|
-
attributes: {
|
129
|
-
isClaimable: true,
|
130
|
-
},
|
131
|
-
});
|
132
|
-
}
|
133
|
-
const vestingAmount = remainingAmount.minus(claimableAmount);
|
134
|
-
if (vestingAmount.isGreaterThan(dustFilter)) {
|
135
|
-
element.addAsset({
|
136
|
-
address: vault.baseMint,
|
137
|
-
amount: vestingAmount,
|
138
|
-
});
|
139
|
-
}
|
128
|
+
const vestingAmount = remainingAmount.minus(claimableAmount);
|
129
|
+
if (baseTokenPrice &&
|
130
|
+
vestingAmount
|
131
|
+
.shiftedBy(-baseTokenPrice.decimals)
|
132
|
+
.multipliedBy(baseTokenPrice.price)
|
133
|
+
.isGreaterThan(dustFilter)) {
|
134
|
+
element.addAsset({
|
135
|
+
address: vault.baseMint,
|
136
|
+
amount: vestingAmount,
|
137
|
+
});
|
140
138
|
}
|
141
|
-
}
|
139
|
+
}
|
142
140
|
return elementRegistry.getElements(cache);
|
143
141
|
});
|
144
142
|
const fetcher = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dlmmVaultsFetcher.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/meteora/dlmm/dlmmVaultsFetcher.ts"],"names":[],"mappings":";AAAA,2BAA2B;AAC3B,mBAAmB;;;;;;;;;;;;;;AAEnB,+DAAuD;AACvD,gEAAqC;AAGrC,oDAAyD;AACzD,4CAA6E;AAE7E,kDAAiE;AACjE,sCAAyC;AACzC,mFAAgF;AAEhF,yBAAyB;AACzB,oCAAoC;AACpC,wBAAwB;AAExB,MAAM,UAAU,GAAG,
|
1
|
+
{"version":3,"file":"dlmmVaultsFetcher.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/meteora/dlmm/dlmmVaultsFetcher.ts"],"names":[],"mappings":"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"}
|
@@ -2,9 +2,6 @@
|
|
2
2
|
/// <reference types="jito-ts/node_modules/@solana/web3.js" />
|
3
3
|
import { GetProgramAccountsFilter } from '@solana/web3.js';
|
4
4
|
export declare const vaultsFilters: GetProgramAccountsFilter[];
|
5
|
-
export declare const constantPoolsFilters: GetProgramAccountsFilter[];
|
6
|
-
export declare const stablePoolsFilters: GetProgramAccountsFilter[];
|
7
|
-
export declare const memePoolsFilters: GetProgramAccountsFilter[];
|
8
5
|
export declare const farmAccountFilter: (owner: string) => GetProgramAccountsFilter[];
|
9
6
|
export declare const stakeEscrowFilter: (owner: string) => GetProgramAccountsFilter[];
|
10
7
|
export declare const feeVaultFilter: () => GetProgramAccountsFilter[];
|
@@ -1,14 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.unstakeFilter = exports.feeVaultFilter = exports.stakeEscrowFilter = exports.farmAccountFilter = exports.
|
3
|
+
exports.unstakeFilter = exports.feeVaultFilter = exports.stakeEscrowFilter = exports.farmAccountFilter = exports.vaultsFilters = void 0;
|
4
4
|
exports.vaultsFilters = [{ dataSize: 10240 }];
|
5
|
-
exports.constantPoolsFilters = [
|
6
|
-
{ dataSize: 944 },
|
7
|
-
];
|
8
|
-
exports.stablePoolsFilters = [
|
9
|
-
{ dataSize: 1387 },
|
10
|
-
];
|
11
|
-
exports.memePoolsFilters = [{ dataSize: 952 }];
|
12
5
|
const farmAccountFilter = (owner) => [
|
13
6
|
{ dataSize: 200 },
|
14
7
|
{
|
@@ -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;
|
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;AAExE,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;AAEK,MAAM,iBAAiB,GAAG,CAC/B,KAAa,EACe,EAAE,CAAC;IAC/B;QACE,MAAM,EAAE;YACN,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,KAAK;SACb;KACF;IACD;QACE,QAAQ,EAAE,GAAG;KACd;CACF,CAAC;AAZW,QAAA,iBAAiB,qBAY5B;AAEK,MAAM,cAAc,GAAG,GAA+B,EAAE,CAAC;IAC9D;QACE,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAJW,QAAA,cAAc,kBAIzB;AAEK,MAAM,aAAa,GAAG,CAC3B,WAAmB,EACS,EAAE,CAAC;IAC/B;QACE,MAAM,EAAE;YACN,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,WAAW;SACnB;KACF;IACD;QACE,QAAQ,EAAE,GAAG;KACd;CACF,CAAC;AAZW,QAAA,aAAa,iBAYxB"}
|
@@ -13,41 +13,27 @@ const constants_1 = require("../constants");
|
|
13
13
|
const clients_1 = require("../../../utils/clients");
|
14
14
|
const solana_1 = require("../../../utils/solana");
|
15
15
|
const struct_1 = require("../struct");
|
16
|
-
const filters_1 = require("../filters");
|
17
16
|
const helpers_1 = require("../helpers");
|
18
|
-
const poolsConfigs = [
|
19
|
-
{
|
20
|
-
pid: constants_1.poolsProgramId,
|
21
|
-
struct: struct_1.poolStateStruct,
|
22
|
-
filter: filters_1.constantPoolsFilters,
|
23
|
-
},
|
24
|
-
{
|
25
|
-
pid: constants_1.poolsProgramId,
|
26
|
-
struct: struct_1.poolStateStruct,
|
27
|
-
filter: filters_1.stablePoolsFilters,
|
28
|
-
},
|
29
|
-
{
|
30
|
-
pid: constants_1.poolsProgramId,
|
31
|
-
struct: struct_1.poolStateV2Struct,
|
32
|
-
filter: filters_1.memePoolsFilters,
|
33
|
-
},
|
34
|
-
];
|
35
17
|
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
36
18
|
const client = (0, clients_1.getClientSolana)();
|
37
19
|
const step = 100;
|
38
20
|
const sources = [];
|
39
|
-
|
21
|
+
const poolsPubKeys = (yield client.getProgramAccounts(constants_1.poolsProgramId, {
|
22
|
+
filters: [
|
23
|
+
{
|
24
|
+
memcmp: {
|
25
|
+
offset: 0,
|
26
|
+
bytes: 'hQrXeCntzbV',
|
27
|
+
},
|
28
|
+
},
|
29
|
+
],
|
30
|
+
dataSlice: { length: 0, offset: 0 },
|
31
|
+
})).map((acc) => acc.pubkey);
|
40
32
|
let poolsAccounts;
|
41
|
-
for (
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
})).map((acc) => acc.pubkey);
|
46
|
-
for (let offset = 0; offset < poolsPubKeys.length; offset += step) {
|
47
|
-
poolsAccounts = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, poolConfig.struct, poolsPubKeys.slice(offset, offset + step).map((key) => key));
|
48
|
-
const lpSources = yield (0, helpers_1.getLpTokenPricesFromPoolsStates)(client, cache, poolsAccounts);
|
49
|
-
sources.push(...lpSources);
|
50
|
-
}
|
33
|
+
for (let offset = 0; offset < poolsPubKeys.length; offset += step) {
|
34
|
+
poolsAccounts = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, struct_1.poolStateStruct, poolsPubKeys.slice(offset, offset + step).map((key) => key));
|
35
|
+
const lpSources = yield (0, helpers_1.getLpTokenPricesFromPoolsStates)(client, cache, poolsAccounts);
|
36
|
+
sources.push(...lpSources);
|
51
37
|
}
|
52
38
|
yield cache.setTokenPriceSources(sources);
|
53
39
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"poolsJob.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/meteora/pools/poolsJob.ts"],"names":[],"mappings":";;;;;;;;;;;
|
1
|
+
{"version":3,"file":"poolsJob.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/meteora/pools/poolsJob.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,4CAA0D;AAC1D,oDAAyD;AACzD,kDAG+B;AAC/B,sCAAuD;AAGvD,wCAA6D;AAE7D,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC;IAEjB,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,MAAM,YAAY,GAAG,CACnB,MAAM,MAAM,CAAC,kBAAkB,CAAC,0BAAc,EAAE;QAC9C,OAAO,EAAE;YACP;gBACE,MAAM,EAAE;oBACN,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,aAAa;iBACrB;aACF;SACF;QACD,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;KACpC,CAAC,CACH,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE3B,IAAI,aAAkD,CAAC;IAEvD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;QAClE,aAAa,GAAG,MAAM,IAAA,sCAA6B,EACjD,MAAM,EACN,wBAAe,EACf,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAC5D,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAA,yCAA+B,EACrD,MAAM,EACN,KAAK,EACL,aAAa,CACd,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,QAAQ;IACzB,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AACF,kBAAe,GAAG,CAAC"}
|
@@ -97,7 +97,7 @@ export type PartnerInfo = {
|
|
97
97
|
};
|
98
98
|
export declare const partnerInfoStruct: BeetStruct<PartnerInfo, Partial<PartnerInfo>>;
|
99
99
|
export type PoolState = {
|
100
|
-
|
100
|
+
accountDiscriminator: number[];
|
101
101
|
lpMint: PublicKey;
|
102
102
|
tokenAMint: PublicKey;
|
103
103
|
tokenBMint: PublicKey;
|
@@ -107,23 +107,8 @@ export type PoolState = {
|
|
107
107
|
bVaultLp: PublicKey;
|
108
108
|
aVaultLpBump: number;
|
109
109
|
enabled: boolean;
|
110
|
-
adminTokenAFee: PublicKey;
|
111
|
-
adminTokenBFee: PublicKey;
|
112
|
-
admin: PublicKey;
|
113
|
-
feeLastUpdatedAt?: BigNumber;
|
114
|
-
padding0?: number[];
|
115
|
-
fees: PoolFees;
|
116
|
-
poolType: PoolType;
|
117
|
-
stake: PublicKey;
|
118
|
-
totalLockedLp?: BigNumber;
|
119
|
-
bootstrapping?: Boostrapping;
|
120
|
-
partnerInfo?: PartnerInfo;
|
121
|
-
padding2?: Padding2;
|
122
|
-
padding: Padding;
|
123
|
-
curveType: CurveType;
|
124
110
|
};
|
125
111
|
export declare const poolStateStruct: FixableBeetStruct<PoolState, Partial<PoolState>>;
|
126
|
-
export declare const poolStateV2Struct: FixableBeetStruct<PoolState, Partial<PoolState>>;
|
127
112
|
export type Farm = {
|
128
113
|
buffer: Buffer;
|
129
114
|
authority: PublicKey;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.escrowStruct = exports.farmAccountStruct = exports.farmStruct = exports.
|
3
|
+
exports.escrowStruct = exports.farmAccountStruct = exports.farmStruct = exports.poolStateStruct = exports.partnerInfoStruct = exports.boostrappingStruct = exports.poolFeesStruct = exports.PoolType = exports.CurveType = exports.stableParamsStruct = exports.TokenMultiplierStruct = exports.depegStruct = exports.DepegType = exports.padding2Struct = 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");
|
@@ -89,27 +89,7 @@ exports.partnerInfoStruct = new beet_1.BeetStruct([
|
|
89
89
|
['pendingFeeB', solana_1.u64],
|
90
90
|
], (args) => args);
|
91
91
|
exports.poolStateStruct = new beet_1.FixableBeetStruct([
|
92
|
-
['
|
93
|
-
['lpMint', beet_solana_1.publicKey],
|
94
|
-
['tokenAMint', beet_solana_1.publicKey],
|
95
|
-
['tokenBMint', beet_solana_1.publicKey],
|
96
|
-
['aVault', beet_solana_1.publicKey],
|
97
|
-
['bVault', beet_solana_1.publicKey],
|
98
|
-
['aVaultLp', beet_solana_1.publicKey],
|
99
|
-
['bVaultLp', beet_solana_1.publicKey],
|
100
|
-
['aVaultLpBump', beet_1.u8],
|
101
|
-
['enabled', beet_1.bool],
|
102
|
-
['adminTokenAFee', beet_solana_1.publicKey],
|
103
|
-
['adminTokenBFee', beet_solana_1.publicKey],
|
104
|
-
['admin', beet_solana_1.publicKey],
|
105
|
-
['fees', exports.poolFeesStruct],
|
106
|
-
['poolType', beet_1.u8],
|
107
|
-
['stake', beet_solana_1.publicKey],
|
108
|
-
['padding', exports.paddingStruct],
|
109
|
-
['curveType', beet_1.u8],
|
110
|
-
], (args) => args);
|
111
|
-
exports.poolStateV2Struct = new beet_1.FixableBeetStruct([
|
112
|
-
['buffer', (0, solana_1.blob)(8)],
|
92
|
+
['accountDiscriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
|
113
93
|
['lpMint', beet_solana_1.publicKey],
|
114
94
|
['tokenAMint', beet_solana_1.publicKey],
|
115
95
|
['tokenBMint', beet_solana_1.publicKey],
|
@@ -119,18 +99,18 @@ exports.poolStateV2Struct = new beet_1.FixableBeetStruct([
|
|
119
99
|
['bVaultLp', beet_solana_1.publicKey],
|
120
100
|
['aVaultLpBump', beet_1.u8],
|
121
101
|
['enabled', beet_1.bool],
|
122
|
-
['adminTokenAFee',
|
123
|
-
['adminTokenBFee',
|
124
|
-
['feeLastUpdatedAt',
|
125
|
-
['padding0',
|
126
|
-
['fees',
|
127
|
-
['poolType',
|
128
|
-
['stake',
|
129
|
-
['totalLockedLp',
|
130
|
-
['bootstrapping',
|
131
|
-
['partnerInfo',
|
132
|
-
['padding2',
|
133
|
-
['curveType',
|
102
|
+
/* ['adminTokenAFee', publicKey],
|
103
|
+
['adminTokenBFee', publicKey],
|
104
|
+
['feeLastUpdatedAt', u64],
|
105
|
+
['padding0', uniformFixedSizeArray(u8, 24)],
|
106
|
+
['fees', poolFeesStruct],
|
107
|
+
['poolType', u8],
|
108
|
+
['stake', publicKey],
|
109
|
+
['totalLockedLp', u64],
|
110
|
+
['bootstrapping', boostrappingStruct],
|
111
|
+
['partnerInfo', partnerInfoStruct],
|
112
|
+
['padding2', padding2Struct],
|
113
|
+
['curveType', u8], */
|
134
114
|
], (args) => args);
|
135
115
|
exports.farmStruct = new beet_1.BeetStruct([
|
136
116
|
['buffer', (0, solana_1.blob)(8)],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/struct.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/struct.ts"],"names":[],"mappings":"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"}
|
@@ -16,10 +16,20 @@ const structs_1 = require("./structs");
|
|
16
16
|
const ParsedGpa_1 = require("../../utils/solana/beets/ParsedGpa");
|
17
17
|
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
18
18
|
const connection = (0, clients_1.getClientSolana)();
|
19
|
-
const boostAccounts = yield
|
20
|
-
.
|
21
|
-
|
22
|
-
|
19
|
+
const [configAccounts, boostAccounts] = yield Promise.all([
|
20
|
+
ParsedGpa_1.ParsedGpa.build(connection, structs_1.configStruct, constants_1.orePid)
|
21
|
+
.addFilter('accountDiscriminator', [101, 0, 0, 0, 0, 0, 0, 0])
|
22
|
+
.run(),
|
23
|
+
ParsedGpa_1.ParsedGpa.build(connection, structs_1.boostStruct, constants_1.orePid)
|
24
|
+
.addDataSizeFilter()
|
25
|
+
.addFilter('accountDiscriminator', [100, 0, 0, 0, 0, 0, 0, 0])
|
26
|
+
.run(),
|
27
|
+
]);
|
28
|
+
const config = Object.assign(Object.assign({}, configAccounts[0]), { boosts: configAccounts[0].boosts.filter((b) => b.toString() !== '11111111111111111111111111111111') });
|
29
|
+
yield cache.setItem('config', config, {
|
30
|
+
prefix: constants_1.platformId,
|
31
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
32
|
+
});
|
23
33
|
yield cache.setItem('boosts', boostAccounts, {
|
24
34
|
prefix: constants_1.platformId,
|
25
35
|
networkId: portfolio_core_1.NetworkId.solana,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"boostJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/oresupply/boostJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,2CAAiD;AACjD,iDAAsD;AACtD,
|
1
|
+
{"version":3,"file":"boostJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/oresupply/boostJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,2CAAiD;AACjD,iDAAsD;AACtD,uCAA8D;AAC9D,kEAA+D;AAE/D,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IAErC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,qBAAS,CAAC,KAAK,CAAC,UAAU,EAAE,sBAAY,EAAE,kBAAM,CAAC;aAC9C,SAAS,CAAC,sBAAsB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aAC7D,GAAG,EAAE;QACR,qBAAS,CAAC,KAAK,CAAC,UAAU,EAAE,qBAAW,EAAE,kBAAM,CAAC;aAC7C,iBAAiB,EAAE;aACnB,SAAS,CAAC,sBAAsB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aAC7D,GAAG,EAAE;KACT,CAAC,CAAC;IAEH,MAAM,MAAM,mCACP,cAAc,CAAC,CAAC,CAAC,KACpB,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,kCAAkC,CAC3D,GACF,CAAC;IAEF,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE;QACpC,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;IAEH,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE;QAC3C,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;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AACF,kBAAe,GAAG,CAAC"}
|
@@ -21,9 +21,16 @@ const boostMemo = new MemoizedCache_1.MemoizedCache('boosts', {
|
|
21
21
|
prefix: constants_1.platformId,
|
22
22
|
networkId: portfolio_core_1.NetworkId.solana,
|
23
23
|
});
|
24
|
+
const configMemo = new MemoizedCache_1.MemoizedCache('config', {
|
25
|
+
prefix: constants_1.platformId,
|
26
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
27
|
+
});
|
24
28
|
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
25
29
|
const connection = (0, clients_1.getClientSolana)();
|
26
|
-
const boostAccounts = yield
|
30
|
+
const [boostAccounts, config] = yield Promise.all([
|
31
|
+
boostMemo.getItem(cache),
|
32
|
+
configMemo.getItem(cache),
|
33
|
+
]);
|
27
34
|
if (!boostAccounts)
|
28
35
|
throw new Error('Boosts not found in cache');
|
29
36
|
const stakeAccounts = yield (0, solana_1.getParsedMultipleAccountsInfo)(connection, structs_1.stakeStruct, (0, helpers_1.getStakePdas)(owner, boostAccounts.map((b) => b.pubkey)));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"stakeFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/oresupply/stakeFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAEvD,2CAAkD;AAElD,iDAAsD;AACtD,+CAAmE;AACnE,gFAA6E;AAC7E,
|
1
|
+
{"version":3,"file":"stakeFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/oresupply/stakeFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAEvD,2CAAkD;AAElD,iDAAsD;AACtD,+CAAmE;AACnE,gFAA6E;AAC7E,uCAA6D;AAC7D,kEAA+D;AAC/D,uCAAyC;AAEzC,MAAM,SAAS,GAAG,IAAI,6BAAa,CAAgB,QAAQ,EAAE;IAC3D,MAAM,EAAE,sBAAU;IAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;CAC5B,CAAC,CAAC;AACH,MAAM,UAAU,GAAG,IAAI,6BAAa,CAAS,QAAQ,EAAE;IACrD,MAAM,EAAE,sBAAU;IAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;CAC5B,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IACrC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChD,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;QACxB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;KAC1B,CAAC,CAAC;IACH,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAEjE,MAAM,aAAa,GAAG,MAAM,IAAA,sCAA6B,EACvD,UAAU,EACV,qBAAW,EACX,IAAA,sBAAY,EACV,KAAK,EACL,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CACnC,CACF,CAAC;IACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjD,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,eAAe,CAAC,mBAAmB,CAAC;QAClD,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IACH,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5B,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CACzC,CAAC;QACF,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;YAC/B,GAAG,EAAE,GAAG,CAAC,MAAM;YACf,IAAI,EAAE,4BAA4B,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YAC5D,UAAU,EAAE;gBACV;oBACE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACnC,IAAI,EAAE,MAAM;iBACb;aACF;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,QAAQ,CAAC;YACX,OAAO,EAAE,QAAQ,CAAC,IAAI;YACtB,MAAM,EAAE,GAAG,CAAC,OAAO;SACpB,CAAC,CAAC;QAEH,GAAG,CAAC,cAAc,CAAC;YACjB,OAAO,EAAE,mBAAO;YAChB,MAAM,EAAE,GAAG,CAAC,OAAO;SACpB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5C,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"}
|
@@ -22,6 +22,7 @@ const getParsedAccountInfo_1 = require("../../utils/solana/getParsedAccountInfo"
|
|
22
22
|
const structs_1 = require("../jupiter/launchpad/structs");
|
23
23
|
const AirdropFetcher_1 = require("../../AirdropFetcher");
|
24
24
|
const clients_1 = require("../../utils/clients");
|
25
|
+
const getClaimTransactions_1 = require("../../utils/solana/jupiter/getClaimTransactions");
|
25
26
|
function fetchAllocation(owner, cache) {
|
26
27
|
return __awaiter(this, void 0, void 0, function* () {
|
27
28
|
const cachedAllocation = yield cache.getItem(owner, {
|
@@ -68,20 +69,28 @@ function fetchAirdrop(owner, client, cache) {
|
|
68
69
|
return __awaiter(this, void 0, void 0, function* () {
|
69
70
|
const allocation = yield fetchAllocation(owner, cache);
|
70
71
|
const amount = !allocation.merkleTree ? 0 : allocation.amount;
|
71
|
-
let
|
72
|
+
let claims = [];
|
73
|
+
let claimStatusPubkey;
|
74
|
+
let claimStatusAccount;
|
72
75
|
if (amount > 0 && allocation.merkleTree) {
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
+
claimStatusPubkey = (0, deriveClaimStatus_1.deriveClaimStatus)(owner, allocation.merkleTree, constants_1.distributorProgram);
|
77
|
+
claimStatusAccount = yield (0, getParsedAccountInfo_1.getParsedAccountInfo)(client, structs_1.claimStatusStruct, claimStatusPubkey);
|
78
|
+
if (claimStatusAccount) {
|
79
|
+
claims = yield (0, getClaimTransactions_1.getClaimTransactions)(owner, claimStatusPubkey, constants_1.prclMint);
|
80
|
+
}
|
76
81
|
}
|
77
82
|
return (0, AirdropFetcher_1.getAirdropRaw)({
|
78
83
|
statics: constants_1.airdropStatics,
|
79
84
|
items: [
|
80
85
|
{
|
81
86
|
amount,
|
82
|
-
isClaimed,
|
87
|
+
isClaimed: claimStatusAccount !== null,
|
83
88
|
label: 'PRCL',
|
84
89
|
address: constants_1.prclMint,
|
90
|
+
claims,
|
91
|
+
ref: claimStatusAccount && claimStatusPubkey
|
92
|
+
? claimStatusPubkey.toString()
|
93
|
+
: undefined,
|
85
94
|
},
|
86
95
|
],
|
87
96
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helpersAirdrop.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/parcl/helpersAirdrop.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA6C;AAC7C,gEAAqC;AACrC,+
|
1
|
+
{"version":3,"file":"helpersAirdrop.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/parcl/helpersAirdrop.ts"],"names":[],"mappings":"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"}
|
@@ -16,11 +16,12 @@ exports.fetcher = exports.airdropFetcher = void 0;
|
|
16
16
|
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
17
17
|
const axios_1 = __importDefault(require("axios"));
|
18
18
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
19
|
-
const tx_parser_1 = require("@sonarwatch/tx-parser");
|
20
19
|
const web3_js_1 = require("@solana/web3.js");
|
21
20
|
const AirdropFetcher_1 = require("../../AirdropFetcher");
|
22
21
|
const constants_1 = require("./constants");
|
23
22
|
const clients_1 = require("../../utils/clients");
|
23
|
+
const getClaimTransactions_1 = require("../../utils/solana/jupiter/getClaimTransactions");
|
24
|
+
const solana_1 = require("../../utils/solana");
|
24
25
|
const executor = (owner) => __awaiter(void 0, void 0, void 0, function* () {
|
25
26
|
const client = (0, clients_1.getClientSolana)();
|
26
27
|
let res;
|
@@ -53,11 +54,25 @@ const executor = (owner) => __awaiter(void 0, void 0, void 0, function* () {
|
|
53
54
|
],
|
54
55
|
});
|
55
56
|
const totalAmount = new bignumber_js_1.default(res.data.totalAmount);
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
57
|
+
const claimAccounts = yield (0, solana_1.getProgramAccounts)(client, new web3_js_1.PublicKey('ARDPkhymCbfdan375FCgPnBJQvUfHeb7nHVdBfwWSxrp'), [
|
58
|
+
{
|
59
|
+
memcmp: {
|
60
|
+
offset: 0,
|
61
|
+
bytes: 'NiUarf1ngHA',
|
62
|
+
},
|
63
|
+
},
|
64
|
+
{
|
65
|
+
memcmp: {
|
66
|
+
offset: 9,
|
67
|
+
bytes: owner,
|
68
|
+
},
|
69
|
+
},
|
70
|
+
]);
|
71
|
+
const claimAccount = claimAccounts[0];
|
72
|
+
let claims = [];
|
73
|
+
if (claimAccount) {
|
74
|
+
claims = yield (0, getClaimTransactions_1.getClaimTransactions)(owner, claimAccount.pubkey, constants_1.layerMint);
|
75
|
+
}
|
61
76
|
return (0, AirdropFetcher_1.getAirdropRaw)({
|
62
77
|
statics: constants_1.airdropStatics,
|
63
78
|
items: [
|
@@ -66,20 +81,8 @@ const executor = (owner) => __awaiter(void 0, void 0, void 0, function* () {
|
|
66
81
|
isClaimed: false,
|
67
82
|
label: 'LAYER',
|
68
83
|
address: constants_1.layerMint,
|
69
|
-
claims
|
70
|
-
|
71
|
-
if (t && t.blockTime) {
|
72
|
-
const layerChange = (_a = t === null || t === void 0 ? void 0 : t.balanceChanges.find((b) => b.address === constants_1.layerMint)) === null || _a === void 0 ? void 0 : _a.change;
|
73
|
-
if (layerChange)
|
74
|
-
return {
|
75
|
-
amount: layerChange,
|
76
|
-
date: t.blockTime * 1000,
|
77
|
-
txId: t.signature,
|
78
|
-
};
|
79
|
-
}
|
80
|
-
return [];
|
81
|
-
}),
|
82
|
-
ref: '35YYQV8wTUWxKoyMSAzhLSshxYSuiWZmtnsb94asAZfk',
|
84
|
+
claims,
|
85
|
+
ref: claimAccount ? claimAccount.pubkey.toString() : undefined,
|
83
86
|
},
|
84
87
|
],
|
85
88
|
});
|