@sonarwatch/portfolio-plugins 0.15.28 → 0.15.30
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 +2746 -2715
- package/README.md +3 -3
- package/package.json +3 -3
- package/src/Job.d.ts +1 -1
- package/src/index.js +4 -0
- package/src/index.js.map +1 -1
- package/src/plugins/abex/getVaultInfo.d.ts +1 -2
- package/src/plugins/abex/getVaultInfo.js +14 -17
- package/src/plugins/abex/getVaultInfo.js.map +1 -1
- package/src/plugins/abex/helpers.js +1 -1
- package/src/plugins/abex/helpers.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/{tokens/fetchers/solana-nfts-underlyings.d.ts → bonkrewards/daoFetcher.d.ts} +1 -1
- 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/cetus/index.js +6 -2
- package/src/plugins/cetus/index.js.map +1 -1
- package/src/plugins/cropper/whirlpoolFetcher.d.ts +3 -0
- package/src/plugins/cropper/whirlpoolFetcher.js +26 -0
- package/src/plugins/cropper/whirlpoolFetcher.js.map +1 -0
- 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/helpers.d.ts +0 -5
- package/src/plugins/daos/helpers.js +1 -51
- package/src/plugins/daos/helpers.js.map +1 -1
- 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/drift-market-maker-vault/constants.d.ts +1 -0
- package/src/plugins/drift-market-maker-vault/constants.js +4 -1
- package/src/plugins/drift-market-maker-vault/constants.js.map +1 -1
- package/src/plugins/drift-market-maker-vault/vaultsJob.js +2 -2
- package/src/plugins/drift-market-maker-vault/vaultsJob.js.map +1 -1
- package/src/plugins/flash/helpers.js +8 -2
- package/src/plugins/flash/helpers.js.map +1 -1
- package/src/plugins/fluxbeam/poolsJob.js +25 -27
- package/src/plugins/fluxbeam/poolsJob.js.map +1 -1
- package/src/plugins/hawksight/positionsFetcher.js +3 -24
- package/src/plugins/hawksight/positionsFetcher.js.map +1 -1
- package/src/plugins/helium/getHeliumPositions.d.ts +3 -0
- package/src/plugins/helium/getHeliumPositions.js +53 -0
- package/src/plugins/helium/getHeliumPositions.js.map +1 -0
- package/src/plugins/helium/positionsFetcher.d.ts +3 -0
- package/src/{utils/misc/Memoized.js → plugins/helium/positionsFetcher.js} +15 -20
- package/src/plugins/helium/positionsFetcher.js.map +1 -0
- 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 +38 -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/metaplex/index.js +1 -5
- package/src/plugins/metaplex/index.js.map +1 -1
- package/src/plugins/metaplex/resizableNftFetcher.d.ts +3 -0
- package/src/plugins/metaplex/resizableNftFetcher.js +9 -10
- package/src/plugins/metaplex/resizableNftFetcher.js.map +1 -1
- package/src/plugins/meteora/cpamm/cpammPositionsFetcher.d.ts +3 -0
- package/src/plugins/meteora/cpamm/cpammPositionsFetcher.js +11 -11
- package/src/plugins/meteora/cpamm/cpammPositionsFetcher.js.map +1 -1
- package/src/plugins/meteora/cpamm/cpammV2Job.js +58 -47
- package/src/plugins/meteora/cpamm/cpammV2Job.js.map +1 -1
- package/src/plugins/meteora/index.js +0 -2
- package/src/plugins/meteora/index.js.map +1 -1
- package/src/plugins/native-stake/index.js +2 -2
- package/src/plugins/native-stake/index.js.map +1 -1
- package/src/plugins/navi/index.js +4 -2
- package/src/plugins/navi/index.js.map +1 -1
- package/src/plugins/orca/getWhirlpoolPositions.d.ts +4 -3
- package/src/plugins/orca/getWhirlpoolPositions.js +9 -15
- package/src/plugins/orca/getWhirlpoolPositions.js.map +1 -1
- package/src/plugins/orca/helpers.d.ts +4 -0
- package/src/plugins/orca/helpers.js +6 -1
- package/src/plugins/orca/helpers.js.map +1 -1
- package/src/plugins/orca/whirlpoolFetcher.d.ts +3 -0
- package/src/plugins/orca/whirlpoolFetcher.js +26 -0
- package/src/plugins/orca/whirlpoolFetcher.js.map +1 -0
- package/src/plugins/parcl/helpersAirdrop.js +14 -5
- package/src/plugins/parcl/helpersAirdrop.js.map +1 -1
- package/src/plugins/picasso/getPicassoPositions.d.ts +3 -0
- package/src/plugins/picasso/getPicassoPositions.js +45 -0
- package/src/plugins/picasso/getPicassoPositions.js.map +1 -0
- package/src/plugins/picasso/helpers.d.ts +1 -3
- package/src/plugins/picasso/helpers.js +1 -60
- package/src/plugins/picasso/helpers.js.map +1 -1
- package/src/plugins/picasso/positionsFetcher.d.ts +3 -0
- package/src/plugins/picasso/positionsFetcher.js +26 -0
- package/src/plugins/picasso/positionsFetcher.js.map +1 -0
- package/src/plugins/pumpswap/marketsJob.js +8 -3
- package/src/plugins/pumpswap/marketsJob.js.map +1 -1
- package/src/plugins/raydium/clmmFetcher.d.ts +6 -0
- package/src/plugins/raydium/clmmFetcher.js +119 -0
- package/src/plugins/raydium/clmmFetcher.js.map +1 -0
- package/src/plugins/sushiswap/helpers.js +24 -24
- package/src/plugins/texture/helpers.js +4 -9
- package/src/plugins/texture/helpers.js.map +1 -1
- package/src/plugins/tokens/fetchers/solana-native.js +11 -21
- package/src/plugins/tokens/fetchers/solana-native.js.map +1 -1
- package/src/plugins/tokens/fetchers/solana-simple.js +4 -44
- package/src/plugins/tokens/fetchers/solana-simple.js.map +1 -1
- package/src/plugins/tokens/fetchers/solana.d.ts +4 -0
- package/src/plugins/tokens/fetchers/solana.js +85 -104
- package/src/plugins/tokens/fetchers/solana.js.map +1 -1
- package/src/plugins/tokens/getTokenListsJob.js +1 -1
- package/src/plugins/tokens/getTokenListsJob.js.map +1 -1
- package/src/plugins/tokens/index.js +2 -4
- package/src/plugins/tokens/index.js.map +1 -1
- package/src/plugins/tokens/types.d.ts +3 -2
- 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/elementbuilder/AssetTokenBuilder.d.ts +2 -1
- package/src/utils/elementbuilder/AssetTokenBuilder.js +2 -1
- package/src/utils/elementbuilder/AssetTokenBuilder.js.map +1 -1
- package/src/utils/elementbuilder/Params.d.ts +2 -1
- package/src/utils/misc/MemoryCache.d.ts +6 -0
- package/src/utils/misc/MemoryCache.js +39 -0
- package/src/utils/misc/MemoryCache.js.map +1 -0
- package/src/utils/misc/getCachedDecimalsForToken.d.ts +1 -2
- package/src/utils/sei/constants.js +8 -8
- package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
- package/src/utils/solana/getTokenAccountsByOwner.d.ts +4 -0
- package/src/utils/solana/getTokenAccountsByOwner.js +36 -0
- package/src/utils/solana/getTokenAccountsByOwner.js.map +1 -0
- 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/raydium/getRaydiumCLMMPositions.d.ts +0 -3
- package/src/plugins/raydium/getRaydiumCLMMPositions.js +0 -113
- package/src/plugins/raydium/getRaydiumCLMMPositions.js.map +0 -1
- package/src/plugins/tokens/fetchers/solana-nfts-underlyings.js +0 -108
- package/src/plugins/tokens/fetchers/solana-nfts-underlyings.js.map +0 -1
- package/src/utils/misc/Memoized.d.ts +0 -8
- package/src/utils/misc/Memoized.js.map +0 -1
- /package/src/plugins/kamino/{s2AirdropFetcher.old.d.ts → s2AirdropFetcher.d.ts} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cetus/index.ts"],"names":[],"mappings":";;;;;;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cetus/index.ts"],"names":[],"mappings":";;;;;;AAGA,kEAAiD;AACjD,4DAAoC;AACpC,kEAA0C;AAC1C,kEAA0C;AAC1C,8DAAsC;AACtC,oEAA4C;AAC5C,sEAA8C;AAC9C,4DAAoC;AAEvB,QAAA,IAAI,GAAU;IACzB,YAAY;IACZ,uBAAa;IACb,mBAAS;IACT,mBAAS;CACV,CAAC;AACW,QAAA,QAAQ,GAAc;IACjC,sBAAmB;IACnB,sBAAY;IACZ,sBAAY;IACZ,oBAAU;IACV,wBAAc;CACf,CAAC"}
|
@@ -0,0 +1,26 @@
|
|
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 constants_1 = require("./constants");
|
14
|
+
const getTokenAccountsByOwner_1 = require("../../utils/solana/getTokenAccountsByOwner");
|
15
|
+
const getWhirlpoolPositions_1 = require("../orca/getWhirlpoolPositions");
|
16
|
+
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
17
|
+
const potentialTokens = yield (0, getTokenAccountsByOwner_1.getTokenAccountsByOwner)(owner);
|
18
|
+
return (0, getWhirlpoolPositions_1.getOrcaPositions)(constants_1.platformId, constants_1.clmmPid)(potentialTokens, cache);
|
19
|
+
});
|
20
|
+
const fetcher = {
|
21
|
+
id: `${constants_1.platformId}-whirlpools`,
|
22
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
23
|
+
executor,
|
24
|
+
};
|
25
|
+
exports.default = fetcher;
|
26
|
+
//# sourceMappingURL=whirlpoolFetcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"whirlpoolFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cropper/whirlpoolFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AACvD,2CAAkD;AAGlD,wFAAqF;AACrF,yEAAiE;AAEjE,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,eAAe,GAAG,MAAM,IAAA,iDAAuB,EAAC,KAAK,CAAC,CAAC;IAE7D,OAAO,IAAA,wCAAgB,EAAC,sBAAU,EAAE,mBAAO,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AACvE,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,aAAa;IAC9B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|
@@ -0,0 +1,74 @@
|
|
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.fetcher = exports.airdropFetcher = void 0;
|
16
|
+
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
17
|
+
const axios_1 = __importDefault(require("axios"));
|
18
|
+
const web3_js_1 = require("@solana/web3.js");
|
19
|
+
const AirdropFetcher_1 = require("../../AirdropFetcher");
|
20
|
+
const constants_1 = require("./constants");
|
21
|
+
const ParsedGpa_1 = require("../../utils/solana/beets/ParsedGpa");
|
22
|
+
const clients_1 = require("../../utils/clients");
|
23
|
+
const structs_1 = require("../magna/structs");
|
24
|
+
const constant_1 = require("../magna/constant");
|
25
|
+
const getClaimTransactions_1 = require("../../utils/solana/jupiter/getClaimTransactions");
|
26
|
+
const executor = (owner) => __awaiter(void 0, void 0, void 0, function* () {
|
27
|
+
const [
|
28
|
+
// res,
|
29
|
+
airdropProofs,] = yield Promise.all([
|
30
|
+
ParsedGpa_1.ParsedGpa.build((0, clients_1.getClientSolana)(), structs_1.airdropProofStruct, constant_1.airdropPid)
|
31
|
+
.addFilter('discriminator', [7, 25, 94, 15, 208, 170, 4, 103])
|
32
|
+
.addFilter('user', new web3_js_1.PublicKey(owner))
|
33
|
+
.debug()
|
34
|
+
.run(),
|
35
|
+
]);
|
36
|
+
const res = yield axios_1.default.post(constants_1.airdropApi, {
|
37
|
+
pubkey: owner,
|
38
|
+
}, { timeout: 4000 });
|
39
|
+
const claims = yield Promise.all([
|
40
|
+
...airdropProofs.map((proof) => (0, getClaimTransactions_1.getClaimTransactions)(owner, proof.pubkey, constants_1.cudisMint)),
|
41
|
+
]);
|
42
|
+
const amountClaimed = claims.reduce((acc, claim) => acc + claim.reduce((sum, c) => sum + c.amount, 0), 0);
|
43
|
+
if (res)
|
44
|
+
return (0, AirdropFetcher_1.getAirdropRaw)({
|
45
|
+
statics: constants_1.airdropStatics,
|
46
|
+
items: [
|
47
|
+
{
|
48
|
+
amount: Number(res.data.data.token),
|
49
|
+
isClaimed: amountClaimed === Number(res.data.data.token),
|
50
|
+
label: 'CUDIS',
|
51
|
+
address: constants_1.cudisMint,
|
52
|
+
claims: claims.flat(),
|
53
|
+
},
|
54
|
+
],
|
55
|
+
});
|
56
|
+
return (0, AirdropFetcher_1.getAirdropRaw)({
|
57
|
+
statics: constants_1.airdropStatics,
|
58
|
+
items: [
|
59
|
+
{
|
60
|
+
amount: 0,
|
61
|
+
isClaimed: false,
|
62
|
+
label: 'CUDIS',
|
63
|
+
address: constants_1.cudisMint,
|
64
|
+
},
|
65
|
+
],
|
66
|
+
});
|
67
|
+
});
|
68
|
+
exports.airdropFetcher = {
|
69
|
+
id: constants_1.airdropStatics.id,
|
70
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
71
|
+
executor,
|
72
|
+
};
|
73
|
+
exports.fetcher = (0, AirdropFetcher_1.airdropFetcherToFetcher)(exports.airdropFetcher, constants_1.platformId, constants_1.airdropStatics.id, constants_1.airdropStatics.claimEnd);
|
74
|
+
//# sourceMappingURL=airdropFetcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"airdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cudis/airdropFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+DAAuD;AACvD,kDAA0B;AAC1B,6CAA4C;AAC5C,yDAK8B;AAE9B,2CAAgF;AAChF,kEAA+D;AAC/D,iDAAsD;AACtD,8CAAoE;AACpE,gDAA+C;AAE/C,0FAAuF;AAEvF,MAAM,QAAQ,GAA2B,CAAO,KAAa,EAAE,EAAE;IAC/D,MAAM;IACJ,OAAO;IACP,aAAa,EACd,GAGG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,qBAAS,CAAC,KAAK,CAAC,IAAA,yBAAe,GAAE,EAAE,4BAAkB,EAAE,qBAAU,CAAC;aAC/D,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;aAC7D,SAAS,CAAC,MAAM,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC;aACvC,KAAK,EAAE;aACP,GAAG,EAAE;KACT,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,IAAI,CAC1B,sBAAU,EACV;QACE,MAAM,EAAE,KAAK;KACd,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/B,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,IAAA,2CAAoB,EAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,qBAAS,CAAC,CACrD;KACF,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CACjC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EACjE,CAAC,CACF,CAAC;IAEF,IAAI,GAAG;QACL,OAAO,IAAA,8BAAa,EAAC;YACnB,OAAO,EAAE,0BAAc;YACvB,KAAK,EAAE;gBACL;oBACE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACnC,SAAS,EAAE,aAAa,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACxD,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,qBAAS;oBAClB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;iBACtB;aACF;SACF,CAAC,CAAC;IAEL,OAAO,IAAA,8BAAa,EAAC;QACnB,OAAO,EAAE,0BAAc;QACvB,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,qBAAS;aACnB;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEW,QAAA,cAAc,GAAmB;IAC5C,EAAE,EAAE,0BAAc,CAAC,EAAE;IACrB,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEW,QAAA,OAAO,GAAG,IAAA,wCAAuB,EAC5C,sBAAc,EACd,sBAAU,EACV,0BAAc,CAAC,EAAE,EACjB,0BAAc,CAAC,QAAQ,CACxB,CAAC"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
/// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
|
2
|
+
/// <reference types="jito-ts/node_modules/@solana/web3.js" />
|
3
|
+
import { PublicKey } from '@solana/web3.js';
|
4
|
+
import { AirdropStatics } from '../../AirdropFetcher';
|
5
|
+
export declare const platformId = "cudis";
|
6
|
+
export declare const cudisMint = "CudisfkgWvMKnZ3TWf6iCuHm8pN2ikXhDcWytwz6f6RN";
|
7
|
+
export declare const airdropApi = "https://cudis-api.cudis.xyz/basic/userDetail";
|
8
|
+
export declare const airdropStatics: AirdropStatics;
|
9
|
+
export declare const stakingPid: PublicKey;
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.stakingPid = exports.airdropStatics = exports.airdropApi = exports.cudisMint = exports.platformId = void 0;
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
5
|
+
exports.platformId = 'cudis';
|
6
|
+
exports.cudisMint = 'CudisfkgWvMKnZ3TWf6iCuHm8pN2ikXhDcWytwz6f6RN';
|
7
|
+
exports.airdropApi = 'https://cudis-api.cudis.xyz/basic/userDetail';
|
8
|
+
exports.airdropStatics = {
|
9
|
+
claimLink: 'https://app.cudis.xyz/airdrop',
|
10
|
+
emitterLink: 'https://app.cudis.xyz/',
|
11
|
+
emitterName: 'CUDIS',
|
12
|
+
id: 'cudis-airdrop',
|
13
|
+
image: 'https://sonarwatch.github.io/portfolio/assets/images/platforms/cudis.webp',
|
14
|
+
claimStart: 1749124800000,
|
15
|
+
claimEnd: 1756641600000,
|
16
|
+
};
|
17
|
+
exports.stakingPid = new web3_js_1.PublicKey('H3tzuPeKMHd1Wee4JyuYbwKX6pHTcKGDgPw8caVNTvQu');
|
18
|
+
//# sourceMappingURL=constants.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cudis/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG/B,QAAA,UAAU,GAAG,OAAO,CAAC;AACrB,QAAA,SAAS,GAAG,8CAA8C,CAAC;AAC3D,QAAA,UAAU,GAAG,8CAA8C,CAAC;AAE5D,QAAA,cAAc,GAAmB;IAC5C,SAAS,EAAE,+BAA+B;IAC1C,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,OAAO;IACpB,EAAE,EAAE,eAAe;IACnB,KAAK,EACH,2EAA2E;IAC7E,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,aAAa;CACxB,CAAC;AAEW,QAAA,UAAU,GAAG,IAAI,mBAAS,CACrC,8CAA8C,CAC/C,CAAC"}
|
@@ -0,0 +1,15 @@
|
|
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.airdropFetchers = exports.fetchers = exports.jobs = void 0;
|
7
|
+
const airdropFetcher_1 = require("./airdropFetcher");
|
8
|
+
const stakingFetcher_1 = __importDefault(require("./stakingFetcher"));
|
9
|
+
exports.jobs = [];
|
10
|
+
exports.fetchers = [
|
11
|
+
stakingFetcher_1.default,
|
12
|
+
// fetcher
|
13
|
+
];
|
14
|
+
exports.airdropFetchers = [airdropFetcher_1.airdropFetcher];
|
15
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cudis/index.ts"],"names":[],"mappings":";;;;;;AAEA,qDAA2D;AAC3D,sEAA8C;AAEjC,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc;IACjC,wBAAc;IACd,UAAU;CACX,CAAC;AACW,QAAA,eAAe,GAAG,CAAC,+BAAc,CAAC,CAAC"}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
13
|
+
const web3_js_1 = require("@solana/web3.js");
|
14
|
+
const constants_1 = require("./constants");
|
15
|
+
const clients_1 = require("../../utils/clients");
|
16
|
+
const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
|
17
|
+
const ParsedGpa_1 = require("../../utils/solana/beets/ParsedGpa");
|
18
|
+
const structs_1 = require("./structs");
|
19
|
+
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
20
|
+
const client = (0, clients_1.getClientSolana)();
|
21
|
+
const accounts = yield ParsedGpa_1.ParsedGpa.build(client, structs_1.userStakeRecordStruct, constants_1.stakingPid)
|
22
|
+
.addFilter('user', new web3_js_1.PublicKey(owner))
|
23
|
+
.addFilter('discriminator', [2, 228, 217, 21, 212, 139, 4, 208])
|
24
|
+
.debug()
|
25
|
+
.run();
|
26
|
+
if (!accounts)
|
27
|
+
return [];
|
28
|
+
const registry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
|
29
|
+
for (const stakingAcc of accounts) {
|
30
|
+
if (stakingAcc.isUnstake)
|
31
|
+
continue;
|
32
|
+
const element = registry.addElementMultiple({
|
33
|
+
label: 'Staked',
|
34
|
+
link: 'https://app.cudis.xyz/stake',
|
35
|
+
ref: stakingAcc.pubkey,
|
36
|
+
});
|
37
|
+
element.addAsset({
|
38
|
+
address: constants_1.cudisMint,
|
39
|
+
amount: stakingAcc.amount.dividedBy(Math.pow(10, 9)),
|
40
|
+
alreadyShifted: true,
|
41
|
+
attributes: {
|
42
|
+
lockedUntil: stakingAcc.endTs.times(1000).toNumber(),
|
43
|
+
},
|
44
|
+
});
|
45
|
+
element.addAsset({
|
46
|
+
address: constants_1.cudisMint,
|
47
|
+
amount: stakingAcc.earnings.dividedBy(Math.pow(10, 9)),
|
48
|
+
alreadyShifted: true,
|
49
|
+
attributes: {
|
50
|
+
lockedUntil: stakingAcc.endTs.times(1000).toNumber(),
|
51
|
+
},
|
52
|
+
});
|
53
|
+
}
|
54
|
+
return registry.getElements(cache);
|
55
|
+
});
|
56
|
+
const fetcher = {
|
57
|
+
id: `${constants_1.platformId}-staking`,
|
58
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
59
|
+
executor,
|
60
|
+
};
|
61
|
+
exports.default = fetcher;
|
62
|
+
//# sourceMappingURL=stakingFetcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cudis/stakingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AACvD,6CAA4C;AAG5C,2CAAgE;AAChE,iDAAsD;AACtD,gFAA6E;AAC7E,kEAA+D;AAC/D,uCAAkD;AAElD,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,qBAAS,CAAC,KAAK,CACpC,MAAM,EACN,+BAAqB,EACrB,sBAAU,CACX;SACE,SAAS,CAAC,MAAM,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC;SACvC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;SAC/D,KAAK,EAAE;SACP,GAAG,EAAE,CAAC;IACT,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAEzB,MAAM,QAAQ,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAEnE,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE,CAAC;QAClC,IAAI,UAAU,CAAC,SAAS;YAAE,SAAS;QAEnC,MAAM,OAAO,GAAG,QAAQ,CAAC,kBAAkB,CAAC;YAC1C,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,6BAA6B;YACnC,GAAG,EAAE,UAAU,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,CAAC;YACf,OAAO,EAAE,qBAAS;YAClB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,CAAC,CAAA,CAAC;YAC5C,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;aACrD;SACF,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,CAAC;YACf,OAAO,EAAE,qBAAS;YAClB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,CAAC,CAAA,CAAC;YAC9C,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;aACrD;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
/// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
|
2
|
+
/// <reference types="jito-ts/node_modules/@solana/web3.js" />
|
3
|
+
import { BeetStruct } from '@metaplex-foundation/beet';
|
4
|
+
import { PublicKey } from '@solana/web3.js';
|
5
|
+
import BigNumber from 'bignumber.js';
|
6
|
+
export type UserStakeRecord = {
|
7
|
+
discriminator: number[];
|
8
|
+
recordId: number;
|
9
|
+
user: PublicKey;
|
10
|
+
amount: BigNumber;
|
11
|
+
term: number;
|
12
|
+
apy: BigNumber;
|
13
|
+
earnings: BigNumber;
|
14
|
+
startTs: BigNumber;
|
15
|
+
endTs: BigNumber;
|
16
|
+
isUnstake: boolean;
|
17
|
+
bump: number;
|
18
|
+
};
|
19
|
+
export declare const userStakeRecordStruct: BeetStruct<UserStakeRecord, Partial<UserStakeRecord>>;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.userStakeRecordStruct = 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.userStakeRecordStruct = new beet_1.BeetStruct([
|
8
|
+
['discriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
|
9
|
+
['recordId', beet_1.u8],
|
10
|
+
['user', beet_solana_1.publicKey],
|
11
|
+
['amount', solana_1.u64],
|
12
|
+
['term', beet_1.u16],
|
13
|
+
['apy', solana_1.u64],
|
14
|
+
['earnings', solana_1.u64],
|
15
|
+
['startTs', solana_1.i64],
|
16
|
+
['endTs', solana_1.i64],
|
17
|
+
['isUnstake', beet_1.u8], // bool is represented as u8 in Beet
|
18
|
+
['bump', beet_1.u8],
|
19
|
+
], (args) => args);
|
20
|
+
//# sourceMappingURL=structs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cudis/structs.ts"],"names":[],"mappings":";;;AAAA,oDAKmC;AACnC,kEAA6D;AAG7D,+CAA8C;AAgBjC,QAAA,qBAAqB,GAAG,IAAI,iBAAU,CACjD;IACE,CAAC,eAAe,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC,UAAU,EAAE,SAAE,CAAC;IAChB,CAAC,MAAM,EAAE,uBAAS,CAAC;IACnB,CAAC,QAAQ,EAAE,YAAG,CAAC;IACf,CAAC,MAAM,EAAE,UAAG,CAAC;IACb,CAAC,KAAK,EAAE,YAAG,CAAC;IACZ,CAAC,UAAU,EAAE,YAAG,CAAC;IACjB,CAAC,SAAS,EAAE,YAAG,CAAC;IAChB,CAAC,OAAO,EAAE,YAAG,CAAC;IACd,CAAC,WAAW,EAAE,SAAE,CAAC,EAAE,oCAAoC;IACvD,CAAC,MAAM,EAAE,SAAE,CAAC;CACb,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAuB,CAClC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cudis/types.ts"],"names":[],"mappings":""}
|
@@ -1,12 +1,7 @@
|
|
1
1
|
/// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
|
2
2
|
/// <reference types="jito-ts/node_modules/@solana/web3.js" />
|
3
|
-
import { PortfolioAssetCollectible, PortfolioElement } from '@sonarwatch/portfolio-core';
|
4
3
|
import BigNumber from 'bignumber.js';
|
5
4
|
import { PublicKey } from '@solana/web3.js';
|
6
|
-
import { Cache } from '../../Cache';
|
7
5
|
import { LockupKind } from './structs/realms';
|
8
|
-
export declare const nftIdentifier = "Voting Escrow Token Position";
|
9
|
-
export declare function isAnHeliumNFTVote(nft: PortfolioAssetCollectible): boolean;
|
10
6
|
export declare function getVoterPda(owner: string, registrar: string, vsr: string): PublicKey;
|
11
|
-
export declare function getHeliumElementsFromNFTs(cache: Cache, nfts: PortfolioAssetCollectible[]): Promise<PortfolioElement[]>;
|
12
7
|
export declare function getLockedUntil(startTs: BigNumber, endTs: BigNumber, lockupKind: LockupKind): number | undefined;
|
@@ -1,29 +1,8 @@
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
-
exports.getLockedUntil = exports.
|
13
|
-
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
3
|
+
exports.getLockedUntil = exports.getVoterPda = void 0;
|
14
4
|
const web3_js_1 = require("@solana/web3.js");
|
15
5
|
const realms_1 = require("./structs/realms");
|
16
|
-
const constants_1 = require("./constants");
|
17
|
-
const ParsedGpa_1 = require("../../utils/solana/beets/ParsedGpa");
|
18
|
-
const clients_1 = require("../../utils/clients");
|
19
|
-
const structs_1 = require("../helium/structs");
|
20
|
-
const constants_2 = require("../helium/constants");
|
21
|
-
const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
|
22
|
-
exports.nftIdentifier = 'Voting Escrow Token Position';
|
23
|
-
function isAnHeliumNFTVote(nft) {
|
24
|
-
return nft.name === exports.nftIdentifier;
|
25
|
-
}
|
26
|
-
exports.isAnHeliumNFTVote = isAnHeliumNFTVote;
|
27
6
|
function getVoterPda(owner, registrar, vsr) {
|
28
7
|
return web3_js_1.PublicKey.findProgramAddressSync([
|
29
8
|
new web3_js_1.PublicKey(registrar).toBuffer(),
|
@@ -32,35 +11,6 @@ function getVoterPda(owner, registrar, vsr) {
|
|
32
11
|
], new web3_js_1.PublicKey(vsr))[0];
|
33
12
|
}
|
34
13
|
exports.getVoterPda = getVoterPda;
|
35
|
-
function getHeliumElementsFromNFTs(cache, nfts) {
|
36
|
-
return __awaiter(this, void 0, void 0, function* () {
|
37
|
-
const accounts = (yield Promise.all(nfts.map((nft) => ParsedGpa_1.ParsedGpa.build((0, clients_1.getClientSolana)(), structs_1.positionDataStruct, constants_2.stakeRegistryId)
|
38
|
-
.addFilter('accountDiscriminator', [152, 131, 154, 46, 158, 42, 31, 233])
|
39
|
-
.addFilter('mint', new web3_js_1.PublicKey(nft.data.address))
|
40
|
-
.run()))).flat();
|
41
|
-
if (!accounts.length)
|
42
|
-
return [];
|
43
|
-
const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.heliumPlatformId);
|
44
|
-
accounts.forEach((account) => {
|
45
|
-
const element = elementRegistry.addElementMultiple({
|
46
|
-
label: 'Deposit',
|
47
|
-
ref: account.pubkey,
|
48
|
-
link: `https://heliumvote.com/hnt/positions/${account.pubkey}`,
|
49
|
-
sourceRefs: [{ name: 'Vault', address: account.registrar.toString() }],
|
50
|
-
});
|
51
|
-
const lockedUntil = getLockedUntil(account.lockup.startTs, account.lockup.endTs, account.lockup.kind);
|
52
|
-
element.addAsset({
|
53
|
-
address: 'hntyVP6YFm1Hg25TN9WGLqM12b8TQmcknKrdu1oxWux',
|
54
|
-
amount: account.amountDepositedNative,
|
55
|
-
attributes: {
|
56
|
-
lockedUntil,
|
57
|
-
},
|
58
|
-
});
|
59
|
-
});
|
60
|
-
return elementRegistry.getElements(cache);
|
61
|
-
});
|
62
|
-
}
|
63
|
-
exports.getHeliumElementsFromNFTs = getHeliumElementsFromNFTs;
|
64
14
|
function getLockedUntil(startTs, endTs, lockupKind) {
|
65
15
|
let lockedUntil;
|
66
16
|
if (lockupKind === realms_1.LockupKind.Constant) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/daos/helpers.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/daos/helpers.ts"],"names":[],"mappings":";;;AACA,6CAA4C;AAC5C,6CAA8C;AAE9C,SAAgB,WAAW,CACzB,KAAa,EACb,SAAiB,EACjB,GAAW;IAEX,OAAO,mBAAS,CAAC,sBAAsB,CACrC;QACE,IAAI,mBAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;QACnC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7B,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;KAChC,EACD,IAAI,mBAAS,CAAC,GAAG,CAAC,CACnB,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AAbD,kCAaC;AAED,SAAgB,cAAc,CAC5B,OAAkB,EAClB,KAAgB,EAChB,UAAsB;IAEtB,IAAI,WAAW,CAAC;IAChB,IAAI,UAAU,KAAK,mBAAU,CAAC,QAAQ,EAAE,CAAC;QACvC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7E,CAAC;SAAM,IACL,UAAU,KAAK,mBAAU,CAAC,KAAK;QAC/B,UAAU,KAAK,mBAAU,CAAC,OAAO;QACjC,UAAU,KAAK,mBAAU,CAAC,KAAK,EAC/B,CAAC;QACD,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAhBD,wCAgBC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"realmsProgramsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/daos/realmsProgramsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA6C;AAC7C,+DAAuD;AACvD,6CAA4C;AAG5C,2CAKqB;AACrB,+CAA8D;AAC9D,iDAAsD;AACtD,6CAAmD;AACnD,uCAA6C;AAG7C,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,cAAc,GAA4B,MAAM,eAAK,CAAC,GAAG,CAC7D,4BAAgB,CACjB,CAAC;IACF,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,MAAM,IAAA,iCAAwB,EAClD,MAAM,EACN,wBAAe,EACf,4BAAgB,EAChB,IAAA,0BAAgB,GAAE,CACnB,CAAC;IACF,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAChC,UAAU,CAAC,IAAI,CAAC;QACd,GAAG,EAAE,4BAAgB,CAAC,QAAQ,EAAE;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;QACjC,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,QAAQ,EAAE;KACjD,CAAC,CACH,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,+BAAmB,EAAE,CAAC;QAC1C,MAAM,gBAAgB,GAAG,MAAM,IAAA,iCAAwB,EACrD,MAAM,EACN,wBAAe,EACf,IAAI,mBAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAChC,IAAA,0BAAgB,GAAE,CACnB,CAAC;
|
1
|
+
{"version":3,"file":"realmsProgramsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/daos/realmsProgramsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA6C;AAC7C,+DAAuD;AACvD,6CAA4C;AAG5C,2CAKqB;AACrB,+CAA8D;AAC9D,iDAAsD;AACtD,6CAAmD;AACnD,uCAA6C;AAG7C,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,cAAc,GAA4B,MAAM,eAAK,CAAC,GAAG,CAC7D,4BAAgB,CACjB,CAAC;IACF,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,MAAM,IAAA,iCAAwB,EAClD,MAAM,EACN,wBAAe,EACf,4BAAgB,EAChB,IAAA,0BAAgB,GAAE,CACnB,CAAC;IACF,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAChC,UAAU,CAAC,IAAI,CAAC;QACd,GAAG,EAAE,4BAAgB,CAAC,QAAQ,EAAE;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;QACjC,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,QAAQ,EAAE;KACjD,CAAC,CACH,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,+BAAmB,EAAE,CAAC;QAC1C,MAAM,gBAAgB,GAAG,MAAM,IAAA,iCAAwB,EACrD,MAAM,EACN,wBAAe,EACf,IAAI,mBAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAChC,IAAA,0BAAgB,GAAE,CACnB,CAAC;QAEF,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CACrC,UAAU,CAAC,IAAI,CAAC;YACd,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE;YACnC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;YACjC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAc;QAC5B,WAAW,EAAE,cAAc,CAAC,IAAI;QAChC,UAAU;KACX,CAAC;IAEF,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE;QACtC,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,WAAW;IAC5B,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AAEF,kBAAe,GAAG,CAAC"}
|
@@ -86,25 +86,57 @@ function calculateDepositRate(bank) {
|
|
86
86
|
exports.calculateDepositRate = calculateDepositRate;
|
87
87
|
function calculateInterestRate(bank, delta = exports.ZERO) {
|
88
88
|
const utilization = calculateUtilization(bank, delta);
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
89
|
+
const optimalUtil = new bignumber_js_1.default(bank.optimalUtilization);
|
90
|
+
const optimalRate = new bignumber_js_1.default(bank.optimalBorrowRate);
|
91
|
+
const maxRate = new bignumber_js_1.default(bank.maxBorrowRate);
|
92
|
+
const minRate = new bignumber_js_1.default(bank.minBorrowRate).multipliedBy(exports.PERCENTAGE_PRECISION.div(200));
|
93
|
+
const weightsDivisor = new bignumber_js_1.default(1000);
|
94
|
+
const segments = [
|
95
|
+
[new bignumber_js_1.default(850000), new bignumber_js_1.default(50)],
|
96
|
+
[new bignumber_js_1.default(900000), new bignumber_js_1.default(100)],
|
97
|
+
[new bignumber_js_1.default(950000), new bignumber_js_1.default(150)],
|
98
|
+
[new bignumber_js_1.default(990000), new bignumber_js_1.default(200)],
|
99
|
+
[new bignumber_js_1.default(995000), new bignumber_js_1.default(250)],
|
100
|
+
[exports.SPOT_MARKET_UTILIZATION_PRECISION, new bignumber_js_1.default(250)],
|
101
|
+
];
|
102
|
+
let rate;
|
103
|
+
if (utilization.lte(optimalUtil)) {
|
104
|
+
// below optimal: linear ramp from 0 to optimalRate
|
105
|
+
const slope = optimalRate
|
93
106
|
.multipliedBy(exports.SPOT_MARKET_UTILIZATION_PRECISION)
|
94
|
-
.div(
|
95
|
-
|
96
|
-
.multipliedBy(
|
97
|
-
.div(exports.SPOT_MARKET_UTILIZATION_PRECISION)
|
107
|
+
.div(optimalUtil);
|
108
|
+
rate = utilization
|
109
|
+
.multipliedBy(slope)
|
110
|
+
.div(exports.SPOT_MARKET_UTILIZATION_PRECISION);
|
98
111
|
}
|
99
112
|
else {
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
.
|
113
|
+
// above optimal: piecewise segments
|
114
|
+
const totalExtraRate = maxRate.minus(optimalRate);
|
115
|
+
rate = new bignumber_js_1.default(optimalRate);
|
116
|
+
let prevUtil = (0, bignumber_js_1.default)(optimalUtil);
|
117
|
+
for (const [bp, weight] of segments) {
|
118
|
+
const segmentEnd = bp.gt(exports.SPOT_MARKET_UTILIZATION_PRECISION)
|
119
|
+
? exports.SPOT_MARKET_UTILIZATION_PRECISION
|
120
|
+
: bp;
|
121
|
+
const segmentRange = segmentEnd.minus(prevUtil);
|
122
|
+
const segmentRateTotal = totalExtraRate
|
123
|
+
.multipliedBy(weight)
|
124
|
+
.div(weightsDivisor);
|
125
|
+
if (utilization.lte(segmentEnd)) {
|
126
|
+
const partialUtil = utilization.minus(prevUtil);
|
127
|
+
const partialRate = segmentRateTotal
|
128
|
+
.multipliedBy(partialUtil)
|
129
|
+
.div(segmentRange);
|
130
|
+
rate = rate.plus(partialRate);
|
131
|
+
break;
|
132
|
+
}
|
133
|
+
else {
|
134
|
+
rate = rate.plus(segmentRateTotal);
|
135
|
+
prevUtil = segmentEnd;
|
136
|
+
}
|
137
|
+
}
|
106
138
|
}
|
107
|
-
return
|
139
|
+
return bignumber_js_1.default.max(minRate, rate);
|
108
140
|
}
|
109
141
|
exports.calculateInterestRate = calculateInterestRate;
|
110
142
|
function isSpotPositionAvailable(position) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/drift/helpers.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/drift/helpers.ts"],"names":[],"mappings":"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"}
|
@@ -221,6 +221,15 @@ export type SpotMarket = {
|
|
221
221
|
flashLoanAmount: BigNumber;
|
222
222
|
flashLoanInitialTokenAmount: BigNumber;
|
223
223
|
totalSwapFee: BigNumber;
|
224
|
+
scaleInitialAssetWeightStart: BigNumber;
|
225
|
+
minBorrowRate: number;
|
226
|
+
fuelBoostDeposits: number;
|
227
|
+
fuelBoostBorrows: number;
|
228
|
+
fuelBoostTaker: number;
|
229
|
+
fuelBoostMaker: number;
|
230
|
+
fuelBoostInsurance: number;
|
231
|
+
tokenProgram: number;
|
232
|
+
poolId: number;
|
224
233
|
padding: Buffer[];
|
225
234
|
};
|
226
235
|
export declare const spotMarketStruct: BeetStruct<SpotMarket, Partial<SpotMarket>>;
|
@@ -226,7 +226,16 @@ exports.spotMarketStruct = new beet_1.BeetStruct([
|
|
226
226
|
['flashLoanAmount', solana_1.u64],
|
227
227
|
['flashLoanInitialTokenAmount', solana_1.u64],
|
228
228
|
['totalSwapFee', solana_1.u64],
|
229
|
-
['
|
229
|
+
['scaleInitialAssetWeightStart', solana_1.u64],
|
230
|
+
['minBorrowRate', beet_1.u8],
|
231
|
+
['fuelBoostDeposits', beet_1.u8],
|
232
|
+
['fuelBoostBorrows', beet_1.u8],
|
233
|
+
['fuelBoostTaker', beet_1.u8],
|
234
|
+
['fuelBoostMaker', beet_1.u8],
|
235
|
+
['fuelBoostInsurance', beet_1.u8],
|
236
|
+
['tokenProgram', beet_1.u8],
|
237
|
+
['poolId', beet_1.u8],
|
238
|
+
['padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 40)],
|
230
239
|
], (args) => args);
|
231
240
|
exports.spotPositionStruct = new beet_1.BeetStruct([
|
232
241
|
['scaledBalance', solana_1.u64],
|