@sonarwatch/portfolio-plugins 0.15.47 → 0.15.50
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 +2962 -2930
- package/README.md +3 -3
- package/package.json +1 -1
- package/src/Job.d.ts +1 -1
- package/src/index.js +2 -0
- package/src/index.js.map +1 -1
- package/src/plugins/balancer/helpers/pools.js +21 -21
- package/src/plugins/drift/airdropFetcher.js +1 -1
- package/src/plugins/drift/airdropFetcher.js.map +1 -1
- package/src/plugins/drift/airdrops3Fetcher.d.ts +2 -0
- package/src/plugins/drift/airdrops3Fetcher.js +76 -0
- package/src/plugins/drift/airdrops3Fetcher.js.map +1 -0
- package/src/plugins/drift/constants.d.ts +4 -1
- package/src/plugins/drift/constants.js +14 -2
- package/src/plugins/drift/constants.js.map +1 -1
- package/src/plugins/drift/helpersAirdrop.d.ts +2 -0
- package/src/plugins/drift/helpersAirdrop.js +5 -5
- package/src/plugins/drift/helpersAirdrop.js.map +1 -1
- package/src/plugins/drift/types.d.ts +16 -0
- package/src/plugins/fragmetric/pricingJob.js +2 -0
- package/src/plugins/fragmetric/pricingJob.js.map +1 -1
- package/src/plugins/jupiter/getJupiterPrices.d.ts +2 -0
- package/src/plugins/jupiter/getJupiterPrices.js +26 -1
- package/src/plugins/jupiter/getJupiterPrices.js.map +1 -1
- package/src/plugins/jupiter/governance/constants.d.ts +2 -0
- package/src/plugins/jupiter/governance/constants.js +17 -1
- package/src/plugins/jupiter/governance/constants.js.map +1 -1
- package/src/plugins/jupiter/governance/index.d.ts +2 -0
- package/src/plugins/jupiter/governance/index.js +7 -1
- package/src/plugins/jupiter/governance/index.js.map +1 -1
- package/src/plugins/jupiter/index.js +2 -1
- package/src/plugins/jupiter/index.js.map +1 -1
- package/src/plugins/jupiter/pricingJob.js +2 -30
- package/src/plugins/jupiter/pricingJob.js.map +1 -1
- package/src/plugins/meteora/constants.d.ts +1 -0
- package/src/plugins/meteora/constants.js +2 -1
- package/src/plugins/meteora/constants.js.map +1 -1
- package/src/plugins/meteora/dbc/dbcJob.d.ts +3 -0
- package/src/plugins/meteora/dbc/dbcJob.js +35 -0
- package/src/plugins/meteora/dbc/dbcJob.js.map +1 -0
- package/src/plugins/meteora/dbc/structs.d.ts +23 -0
- package/src/plugins/meteora/dbc/structs.js +23 -0
- package/src/plugins/meteora/dbc/structs.js.map +1 -0
- package/src/plugins/meteora/index.js +2 -0
- package/src/plugins/meteora/index.js.map +1 -1
- package/src/plugins/sushiswap/helpers.js +24 -24
- package/src/plugins/tokens/fetchers/solana-simple.js +1 -1
- package/src/plugins/tokens/fetchers/solana-simple.js.map +1 -1
- package/src/plugins/tokens/fetchers/solana.js +56 -34
- package/src/plugins/tokens/fetchers/solana.js.map +1 -1
- package/src/plugins/triad/marketsFetcher.js +2 -0
- package/src/plugins/triad/marketsFetcher.js.map +1 -1
- package/src/plugins/uniswap-v2/helpers.js +22 -22
- package/src/plugins/voltr/constants.d.ts +0 -1
- package/src/plugins/voltr/constants.js +2 -3
- package/src/plugins/voltr/constants.js.map +1 -1
- package/src/plugins/voltr/index.js +5 -1
- package/src/plugins/voltr/index.js.map +1 -1
- package/src/plugins/voltr/structs.d.ts +81 -0
- package/src/plugins/voltr/structs.js +74 -0
- package/src/plugins/voltr/structs.js.map +1 -0
- package/src/plugins/voltr/vaultsJob.d.ts +3 -0
- package/src/plugins/voltr/vaultsJob.js +73 -0
- package/src/plugins/voltr/vaultsJob.js.map +1 -0
- package/src/plugins/zeta/airdropFetcher.js +14 -14
- package/src/utils/elementbuilder/AssetPricedTokenBuilder.d.ts +19 -0
- package/src/utils/elementbuilder/AssetPricedTokenBuilder.js +37 -0
- package/src/utils/elementbuilder/AssetPricedTokenBuilder.js.map +1 -0
- package/src/utils/elementbuilder/ElementMultipleBuilder.d.ts +2 -1
- package/src/utils/elementbuilder/ElementMultipleBuilder.js +4 -0
- package/src/utils/elementbuilder/ElementMultipleBuilder.js.map +1 -1
- package/src/utils/elementbuilder/Params.d.ts +7 -0
- package/src/utils/sei/constants.js +8 -8
- package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
- package/src/utils/solana/getTokenAccountsByOwner.d.ts +1 -1
- package/src/utils/solana/getTokenAccountsByOwner.js +3 -1
- package/src/utils/solana/getTokenAccountsByOwner.js.map +1 -1
@@ -12,8 +12,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
13
13
|
const web3_js_1 = require("@solana/web3.js");
|
14
14
|
const constants_1 = require("./exchange/constants");
|
15
|
-
const getMultipleDecimalsAsMap_1 = require("../../utils/solana/getMultipleDecimalsAsMap");
|
16
|
-
const clients_1 = require("../../utils/clients");
|
17
15
|
const constants_2 = require("./constants");
|
18
16
|
const constants_3 = require("../sanctum/constants");
|
19
17
|
const getJupiterPrices_1 = require("./getJupiterPrices");
|
@@ -29,7 +27,6 @@ const mints = [
|
|
29
27
|
constants_4.lfntyMint,
|
30
28
|
];
|
31
29
|
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
32
|
-
const connection = (0, clients_1.getClientSolana)();
|
33
30
|
const [verifiedTokens, sanctumMints] = yield Promise.all([
|
34
31
|
cache.getItem(constants_2.verifiedTokensCacheKey, {
|
35
32
|
prefix: constants_1.platformId,
|
@@ -47,34 +44,9 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
|
47
44
|
const mintsPk = new Set([
|
48
45
|
...mints.map((m) => new web3_js_1.PublicKey(m)),
|
49
46
|
...(sanctumMints || []).map((a) => new web3_js_1.PublicKey(a)),
|
47
|
+
...(verifiedTokens || []).map((token) => new web3_js_1.PublicKey(token.address)),
|
50
48
|
]);
|
51
|
-
|
52
|
-
(verifiedTokens || []).forEach((token) => {
|
53
|
-
mintsPk.add(new web3_js_1.PublicKey(token.address));
|
54
|
-
decimalsMap.set(token.address, Number(token.decimals));
|
55
|
-
});
|
56
|
-
const assets = yield (0, getJupiterPrices_1.getJupiterPrices)([...mintsPk]);
|
57
|
-
const sources = [];
|
58
|
-
assets.forEach((asset, mint) => {
|
59
|
-
const decimals = decimalsMap.get(mint);
|
60
|
-
if (!decimals)
|
61
|
-
return;
|
62
|
-
const source = {
|
63
|
-
address: mint,
|
64
|
-
decimals,
|
65
|
-
id: portfolio_core_1.jupiterSourceId,
|
66
|
-
networkId: portfolio_core_1.NetworkId.solana,
|
67
|
-
timestamp: Date.now(),
|
68
|
-
price: asset.usdPrice,
|
69
|
-
priceChange24h: asset.priceChange24h
|
70
|
-
? asset.priceChange24h / 100
|
71
|
-
: undefined,
|
72
|
-
platformId: portfolio_core_1.walletTokensPlatformId,
|
73
|
-
weight: 1,
|
74
|
-
};
|
75
|
-
sources.push(source);
|
76
|
-
});
|
77
|
-
yield cache.setTokenPriceSources(sources);
|
49
|
+
yield (0, getJupiterPrices_1.setJupiterPrices)([...mintsPk], cache);
|
78
50
|
});
|
79
51
|
const job = {
|
80
52
|
id: `${constants_1.platformId}-pricing`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pricingJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/pricingJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+
|
1
|
+
{"version":3,"file":"pricingJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/pricingJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AACvD,6CAA4C;AAG5C,oDAAkD;AAElD,2CAAqD;AACrD,oDAAgF;AAChF,yDAAsD;AACtD,qDAA8D;AAE9D,MAAM,KAAK,GAAG;IACZ,8CAA8C,EAAE,0CAA0C;IAC1F,8CAA8C,EAAE,iCAAiC;IACjF,6CAA6C,EAAE,iCAAiC;IAChF,8CAA8C,EAAE,yCAAyC;IACzF,8CAA8C,EAAE,oCAAoC;IACpF,8CAA8C,EAAE,iCAAiC;IACjF,sBAAU;IACV,qBAAS;CACV,CAAC;AAEF,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,KAAK,CAAC,OAAO,CAAkB,kCAAsB,EAAE;YACrD,MAAM,EAAE,sBAAU;YAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;SAC5B,CAAC;QACF,KAAK,CAAC,OAAO,CAAW,mBAAO,EAAE;YAC/B,MAAM,EAAE,sBAAiB;YACzB,SAAS,EAAE,0BAAS,CAAC,MAAM;SAC5B,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,CAAC,cAAc;QAAE,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAC1E,IAAI,CAAC,YAAY;QAAE,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAmB,IAAI,GAAG,CAAC;QACtC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,mBAAS,CAAC,CAAC,CAAC,CAAC;QACrC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,mBAAS,CAAC,CAAC,CAAC,CAAC;QACpD,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,mBAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACvE,CAAC,CAAC;IAEH,MAAM,IAAA,mCAAgB,EAAC,CAAC,GAAG,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAA,CAAC;AACF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,QAAQ;IACR,MAAM,EAAE,CAAC,UAAU,CAAC;CACrB,CAAC;AACF,kBAAe,GAAG,CAAC"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.cpammProgramId = exports.stakeForFeeProgramId = exports.dlmmVaultProgramId = exports.dlmmProgramId = exports.farmProgramId = exports.poolsProgramId = exports.vaultsProgramId = exports.feeVaultsKey = exports.dlmmVaultsKey = exports.farmsKey = exports.prefixVaults = exports.platformId = void 0;
|
3
|
+
exports.dbcProgramId = exports.cpammProgramId = exports.stakeForFeeProgramId = exports.dlmmVaultProgramId = exports.dlmmProgramId = exports.farmProgramId = exports.poolsProgramId = exports.vaultsProgramId = exports.feeVaultsKey = exports.dlmmVaultsKey = exports.farmsKey = exports.prefixVaults = exports.platformId = void 0;
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
5
5
|
exports.platformId = 'meteora';
|
6
6
|
exports.prefixVaults = `${exports.platformId}-vaults`;
|
@@ -14,4 +14,5 @@ exports.dlmmProgramId = new web3_js_1.PublicKey('LBUZKhRxPF3XUpBCjp4YzTKgLccjZhT
|
|
14
14
|
exports.dlmmVaultProgramId = new web3_js_1.PublicKey('vaU6kP7iNEGkbmPkLmZfGwiGxd4Mob24QQCie5R9kd2');
|
15
15
|
exports.stakeForFeeProgramId = new web3_js_1.PublicKey('FEESngU3neckdwib9X3KWqdL7Mjmqk9XNp3uh5JbP4KP');
|
16
16
|
exports.cpammProgramId = new web3_js_1.PublicKey('cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG');
|
17
|
+
exports.dbcProgramId = new web3_js_1.PublicKey('dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN');
|
17
18
|
//# sourceMappingURL=constants.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,SAAS,CAAC;AAEvB,QAAA,YAAY,GAAG,GAAG,kBAAU,SAAS,CAAC;AACtC,QAAA,QAAQ,GAAG,OAAO,CAAC;AACnB,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,YAAY,GAAG,YAAY,CAAC;AAE5B,QAAA,eAAe,GAAG,IAAI,mBAAS,CAC1C,8CAA8C,CAC/C,CAAC;AAEW,QAAA,cAAc,GAAG,IAAI,mBAAS,CACzC,8CAA8C,CAC/C,CAAC;AAEW,QAAA,aAAa,GAAG,IAAI,mBAAS,CACxC,8CAA8C,CAC/C,CAAC;AAEW,QAAA,aAAa,GAAG,IAAI,mBAAS,CACxC,6CAA6C,CAC9C,CAAC;AAEW,QAAA,kBAAkB,GAAG,IAAI,mBAAS,CAC7C,6CAA6C,CAC9C,CAAC;AAEW,QAAA,oBAAoB,GAAG,IAAI,mBAAS,CAC/C,8CAA8C,CAC/C,CAAC;AAEW,QAAA,cAAc,GAAG,IAAI,mBAAS,CACzC,6CAA6C,CAC9C,CAAC"}
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,SAAS,CAAC;AAEvB,QAAA,YAAY,GAAG,GAAG,kBAAU,SAAS,CAAC;AACtC,QAAA,QAAQ,GAAG,OAAO,CAAC;AACnB,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,YAAY,GAAG,YAAY,CAAC;AAE5B,QAAA,eAAe,GAAG,IAAI,mBAAS,CAC1C,8CAA8C,CAC/C,CAAC;AAEW,QAAA,cAAc,GAAG,IAAI,mBAAS,CACzC,8CAA8C,CAC/C,CAAC;AAEW,QAAA,aAAa,GAAG,IAAI,mBAAS,CACxC,8CAA8C,CAC/C,CAAC;AAEW,QAAA,aAAa,GAAG,IAAI,mBAAS,CACxC,6CAA6C,CAC9C,CAAC;AAEW,QAAA,kBAAkB,GAAG,IAAI,mBAAS,CAC7C,6CAA6C,CAC9C,CAAC;AAEW,QAAA,oBAAoB,GAAG,IAAI,mBAAS,CAC/C,8CAA8C,CAC/C,CAAC;AAEW,QAAA,cAAc,GAAG,IAAI,mBAAS,CACzC,6CAA6C,CAC9C,CAAC;AAEW,QAAA,YAAY,GAAG,IAAI,mBAAS,CACvC,6CAA6C,CAC9C,CAAC"}
|
@@ -0,0 +1,35 @@
|
|
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 constants_1 = require("../constants");
|
15
|
+
const structs_1 = require("./structs");
|
16
|
+
const getJupiterPrices_1 = require("../../jupiter/getJupiterPrices");
|
17
|
+
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
18
|
+
const client = (0, clients_1.getClientSolana)();
|
19
|
+
const accounts = yield client.getProgramAccounts(constants_1.dbcProgramId, {
|
20
|
+
filters: [{ memcmp: { offset: 0, bytes: 'cmrfVvtHrjd' } }],
|
21
|
+
dataSlice: { offset: 0, length: 168 },
|
22
|
+
});
|
23
|
+
const mintsPk = accounts.map((account) => {
|
24
|
+
const virtualPool = structs_1.virtualPoolStruct.deserialize(account.account.data)[0];
|
25
|
+
return virtualPool.base_mint;
|
26
|
+
});
|
27
|
+
yield (0, getJupiterPrices_1.setJupiterPrices)(mintsPk, cache);
|
28
|
+
});
|
29
|
+
const job = {
|
30
|
+
id: `${constants_1.platformId}-dbc`,
|
31
|
+
executor,
|
32
|
+
labels: [portfolio_core_1.NetworkId.solana, 'dbc'],
|
33
|
+
};
|
34
|
+
exports.default = job;
|
35
|
+
//# sourceMappingURL=dbcJob.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"dbcJob.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/meteora/dbc/dbcJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,oDAAyD;AACzD,4CAAwD;AACxD,uCAA8C;AAC9C,qEAAkE;AAElE,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,wBAAY,EAAE;QAC7D,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC;QAC1D,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE;KACtC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACvC,MAAM,WAAW,GAAG,2BAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO,WAAW,CAAC,SAAS,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,MAAM,IAAA,mCAAgB,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,MAAM;IACvB,QAAQ;IACR,MAAM,EAAE,CAAC,0BAAS,CAAC,MAAM,EAAE,KAAK,CAAC;CAClC,CAAC;AACF,kBAAe,GAAG,CAAC"}
|
@@ -0,0 +1,23 @@
|
|
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 BigNumber from 'bignumber.js';
|
5
|
+
import { FixableBeetStruct } from '@metaplex-foundation/beet';
|
6
|
+
export type VolatilityTracker = {
|
7
|
+
last_update_timestamp: BigNumber;
|
8
|
+
padding: number[];
|
9
|
+
sqrt_price_reference: BigNumber;
|
10
|
+
volatility_accumulator: BigNumber;
|
11
|
+
volatility_reference: BigNumber;
|
12
|
+
};
|
13
|
+
export declare const volatilityTrackerStruct: FixableBeetStruct<VolatilityTracker, Partial<VolatilityTracker>>;
|
14
|
+
export type VirtualPool = {
|
15
|
+
accountDiscriminator: number[];
|
16
|
+
volatility_tracker: VolatilityTracker;
|
17
|
+
config: PublicKey;
|
18
|
+
creator: PublicKey;
|
19
|
+
base_mint: PublicKey;
|
20
|
+
base_vault: PublicKey;
|
21
|
+
quote_vault: PublicKey;
|
22
|
+
};
|
23
|
+
export declare const virtualPoolStruct: FixableBeetStruct<VirtualPool, Partial<VirtualPool>>;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.virtualPoolStruct = exports.volatilityTrackerStruct = 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.volatilityTrackerStruct = new beet_1.FixableBeetStruct([
|
8
|
+
['last_update_timestamp', solana_1.u64],
|
9
|
+
['padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
|
10
|
+
['sqrt_price_reference', solana_1.u128],
|
11
|
+
['volatility_accumulator', solana_1.u128],
|
12
|
+
['volatility_reference', solana_1.u128],
|
13
|
+
], (args) => args);
|
14
|
+
exports.virtualPoolStruct = new beet_1.FixableBeetStruct([
|
15
|
+
['accountDiscriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
|
16
|
+
['volatility_tracker', exports.volatilityTrackerStruct],
|
17
|
+
['config', beet_solana_1.publicKey],
|
18
|
+
['creator', beet_solana_1.publicKey],
|
19
|
+
['base_mint', beet_solana_1.publicKey],
|
20
|
+
['base_vault', beet_solana_1.publicKey],
|
21
|
+
['quote_vault', beet_solana_1.publicKey],
|
22
|
+
], (args) => args);
|
23
|
+
//# sourceMappingURL=structs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/meteora/dbc/structs.ts"],"names":[],"mappings":";;;AAEA,oDAImC;AACnC,kEAA6D;AAC7D,kDAAkD;AAUrC,QAAA,uBAAuB,GAAG,IAAI,wBAAiB,CAC1D;IACE,CAAC,uBAAuB,EAAE,YAAG,CAAC;IAC9B,CAAC,SAAS,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC,sBAAsB,EAAE,aAAI,CAAC;IAC9B,CAAC,wBAAwB,EAAE,aAAI,CAAC;IAChC,CAAC,sBAAsB,EAAE,aAAI,CAAC;CAC/B,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAyB,CACpC,CAAC;AAYW,QAAA,iBAAiB,GAAG,IAAI,wBAAiB,CACpD;IACE,CAAC,sBAAsB,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,oBAAoB,EAAE,+BAAuB,CAAC;IAC/C,CAAC,QAAQ,EAAE,uBAAS,CAAC;IACrB,CAAC,SAAS,EAAE,uBAAS,CAAC;IACtB,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,YAAY,EAAE,uBAAS,CAAC;IACzB,CAAC,aAAa,EAAE,uBAAS,CAAC;CAC3B,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAmB,CAC9B,CAAC"}
|
@@ -16,6 +16,7 @@ const stakeForFeeFetcher_1 = __importDefault(require("./stake2earn/stakeForFeeFe
|
|
16
16
|
const stakeForFeeVaultsJob_1 = __importDefault(require("./stake2earn/stakeForFeeVaultsJob"));
|
17
17
|
const cpammV2Job_1 = __importDefault(require("./cpamm/cpammV2Job"));
|
18
18
|
const dlmmJob_1 = __importDefault(require("./dlmm/dlmmJob"));
|
19
|
+
const dbcJob_1 = __importDefault(require("./dbc/dbcJob"));
|
19
20
|
exports.jobs = [
|
20
21
|
vaultsJob_1.default,
|
21
22
|
poolsJob_1.default,
|
@@ -25,6 +26,7 @@ exports.jobs = [
|
|
25
26
|
dlmmVaultsJob_1.default,
|
26
27
|
stakeForFeeVaultsJob_1.default,
|
27
28
|
cpammV2Job_1.default,
|
29
|
+
dbcJob_1.default,
|
28
30
|
];
|
29
31
|
exports.fetchers = [
|
30
32
|
farmsFetcher_1.default,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/index.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAoC;AACpC,gEAAwC;AACxC,8FAAsE;AACtE,gEAAwC;AACxC,yEAAiD;AAGjD,wEAAgD;AAChD,uFAA8D;AAC9D,iFAAyD;AACzD,yFAAiE;AACjE,6FAAqE;AACrE,oEAA2C;AAC3C,6DAAqC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/index.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAoC;AACpC,gEAAwC;AACxC,8FAAsE;AACtE,gEAAwC;AACxC,yEAAiD;AAGjD,wEAAgD;AAChD,uFAA8D;AAC9D,iFAAyD;AACzD,yFAAiE;AACjE,6FAAqE;AACrE,oEAA2C;AAC3C,6DAAqC;AACrC,0DAAkC;AAErB,QAAA,IAAI,GAAU;IACzB,mBAAS;IACT,kBAAQ;IACR,kBAAQ;IACR,4BAAkB;IAClB,iBAAO;IACP,uBAAa;IACb,8BAAoB;IACpB,oBAAS;IACT,gBAAM;CACP,CAAC;AACW,QAAA,QAAQ,GAAc;IACjC,sBAAY;IACZ,8BAAmB;IACnB,2BAAiB;IACjB,4BAAkB;CACnB,CAAC"}
|
@@ -54,30 +54,30 @@ function sushiV3PairToUniV2(pair) {
|
|
54
54
|
}
|
55
55
|
function getV3PairsAddresses(url, length = 300) {
|
56
56
|
return __awaiter(this, void 0, void 0, function* () {
|
57
|
-
const query = (0, graphql_request_1.gql) `
|
58
|
-
{
|
59
|
-
pools(
|
60
|
-
orderBy: totalValueLockedUSD
|
61
|
-
first: ${length}
|
62
|
-
orderDirection: desc
|
63
|
-
where: { volumeUSD_not: "0", liquidity_not: "0" }
|
64
|
-
) {
|
65
|
-
id
|
66
|
-
token0Price
|
67
|
-
token1Price
|
68
|
-
liquidity
|
69
|
-
token0 {
|
70
|
-
id
|
71
|
-
totalSupply
|
72
|
-
decimals
|
73
|
-
}
|
74
|
-
token1 {
|
75
|
-
id
|
76
|
-
totalSupply
|
77
|
-
decimals
|
78
|
-
}
|
79
|
-
}
|
80
|
-
}
|
57
|
+
const query = (0, graphql_request_1.gql) `
|
58
|
+
{
|
59
|
+
pools(
|
60
|
+
orderBy: totalValueLockedUSD
|
61
|
+
first: ${length}
|
62
|
+
orderDirection: desc
|
63
|
+
where: { volumeUSD_not: "0", liquidity_not: "0" }
|
64
|
+
) {
|
65
|
+
id
|
66
|
+
token0Price
|
67
|
+
token1Price
|
68
|
+
liquidity
|
69
|
+
token0 {
|
70
|
+
id
|
71
|
+
totalSupply
|
72
|
+
decimals
|
73
|
+
}
|
74
|
+
token1 {
|
75
|
+
id
|
76
|
+
totalSupply
|
77
|
+
decimals
|
78
|
+
}
|
79
|
+
}
|
80
|
+
}
|
81
81
|
`;
|
82
82
|
const res = yield (0, graphql_request_1.default)(url, query);
|
83
83
|
const pools = res.pools;
|
@@ -14,7 +14,7 @@ const getTokenAccountsByOwner_1 = require("../../../utils/solana/getTokenAccount
|
|
14
14
|
const solana_1 = require("./solana");
|
15
15
|
const clients_1 = require("../../../utils/clients");
|
16
16
|
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
17
|
-
const tokenAccounts = yield (0, getTokenAccountsByOwner_1.getTokenAccountsByOwner)((0, clients_1.getClientSolana)(), owner);
|
17
|
+
const tokenAccounts = yield (0, getTokenAccountsByOwner_1.getTokenAccountsByOwner)((0, clients_1.getClientSolana)(), owner, false);
|
18
18
|
return (0, solana_1.getSolanaTokens)(true)(tokenAccounts, cache);
|
19
19
|
});
|
20
20
|
const fetcher = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solana-simple.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/tokens/fetchers/solana-simple.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAA+E;AAI/E,2FAAwF;AACxF,qCAA2C;AAC3C,oDAAyD;AAEzD,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,aAAa,GAAG,MAAM,IAAA,iDAAuB,
|
1
|
+
{"version":3,"file":"solana-simple.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/tokens/fetchers/solana-simple.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAA+E;AAI/E,2FAAwF;AACxF,qCAA2C;AAC3C,oDAAyD;AAEzD,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,aAAa,GAAG,MAAM,IAAA,iDAAuB,EACjD,IAAA,yBAAe,GAAE,EACjB,KAAK,EACL,KAAK,CACN,CAAC;IAEF,OAAO,IAAA,wBAAe,EAAC,IAAI,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,uCAAsB,gBAAgB;IAC7C,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|
@@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
12
|
exports.getSolanaTokens = void 0;
|
13
13
|
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
14
|
+
const web3_js_1 = require("@solana/web3.js");
|
14
15
|
const helpers_1 = require("../helpers");
|
15
16
|
const getTokenAccountsByOwner_1 = require("../../../utils/solana/getTokenAccountsByOwner");
|
16
17
|
const ElementRegistry_1 = require("../../../utils/elementbuilder/ElementRegistry");
|
@@ -24,9 +25,19 @@ const clmmFetcher_1 = require("../../raydium/clmmFetcher");
|
|
24
25
|
const resizableNftFetcher_1 = require("../../metaplex/resizableNftFetcher");
|
25
26
|
const clients_1 = require("../../../utils/clients");
|
26
27
|
const constants_3 = require("../../byreal/constants");
|
28
|
+
const getJupiterPrices_1 = require("../../jupiter/getJupiterPrices");
|
27
29
|
const getSolanaTokens = (simple) => (tokenAccounts, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
28
30
|
const fungibleAddresses = tokenAccounts.map((ta) => ta.mint.toString());
|
29
31
|
const tokenPrices = yield cache.getTokenPricesAsMap(fungibleAddresses, portfolio_core_1.NetworkId.solana);
|
32
|
+
const missingMints = tokenAccounts.flatMap((tokenAccount) => {
|
33
|
+
const address = tokenAccount.mint.toString();
|
34
|
+
const tokenPrice = tokenPrices.get(address);
|
35
|
+
if (!tokenPrice) {
|
36
|
+
return [new web3_js_1.PublicKey(address)];
|
37
|
+
}
|
38
|
+
return [];
|
39
|
+
});
|
40
|
+
const missingPrices = yield (0, getJupiterPrices_1.getJupiterPrices)(missingMints);
|
30
41
|
const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, portfolio_core_1.walletTokensPlatformId);
|
31
42
|
const elementTokens = elementRegistry.addElementMultiple({
|
32
43
|
label: 'Wallet',
|
@@ -36,43 +47,54 @@ const getSolanaTokens = (simple) => (tokenAccounts, cache) => __awaiter(void 0,
|
|
36
47
|
var _a;
|
37
48
|
const address = tokenAccount.mint.toString();
|
38
49
|
const tokenPrice = tokenPrices.get(address);
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
50
|
+
const missingPrice = missingPrices.get(address);
|
51
|
+
if (tokenPrice) {
|
52
|
+
const amount = tokenAccount.amount.shiftedBy(-tokenPrice.decimals);
|
53
|
+
if (tokenPrice.platformId === portfolio_core_1.walletTokensPlatformId) {
|
54
|
+
// it's a regular token
|
55
|
+
elementTokens.addAsset({
|
56
|
+
address,
|
57
|
+
amount,
|
58
|
+
alreadyShifted: true,
|
59
|
+
ref: tokenAccount.pubkey,
|
60
|
+
link: tokenPrice.link,
|
61
|
+
sourceRefs: tokenPrice.sourceRefs,
|
62
|
+
});
|
63
|
+
}
|
64
|
+
else if (!simple) {
|
65
|
+
// it's an LP Token
|
66
|
+
const tag = (0, helpers_1.getLpTag)(tokenPrice.platformId, tokenPrice.elementName, tokenPrice.label);
|
67
|
+
let elementLiquidity = elementsLiquidity.get(tag);
|
68
|
+
if (!elementLiquidity) {
|
69
|
+
elementLiquidity = elementRegistry.addElementLiquidity({
|
70
|
+
name: tokenPrice.elementName,
|
71
|
+
label: (_a = tokenPrice.label) !== null && _a !== void 0 ? _a : 'LiquidityPool',
|
72
|
+
platformId: tokenPrice.platformId,
|
73
|
+
});
|
74
|
+
}
|
75
|
+
const liquidity = elementLiquidity.addLiquidity({
|
76
|
+
name: tokenPrice.liquidityName,
|
77
|
+
link: tokenPrice.link,
|
78
|
+
ref: tokenAccount.pubkey,
|
79
|
+
sourceRefs: tokenPrice.sourceRefs,
|
80
|
+
});
|
81
|
+
liquidity.addAsset({
|
82
|
+
address,
|
83
|
+
amount,
|
84
|
+
alreadyShifted: true,
|
85
|
+
});
|
86
|
+
elementsLiquidity.set(tag, elementLiquidity);
|
87
|
+
}
|
52
88
|
}
|
53
|
-
else if (
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
label: (_a = tokenPrice.label) !== null && _a !== void 0 ? _a : 'LiquidityPool',
|
61
|
-
platformId: tokenPrice.platformId,
|
89
|
+
else if (missingPrice) {
|
90
|
+
if (missingPrice.usdPrice) {
|
91
|
+
elementTokens.addPricedAsset({
|
92
|
+
address,
|
93
|
+
amount: tokenAccount.amount.shiftedBy(-missingPrice.decimals),
|
94
|
+
price: missingPrice.usdPrice,
|
95
|
+
ref: tokenAccount.pubkey,
|
62
96
|
});
|
63
97
|
}
|
64
|
-
const liquidity = elementLiquidity.addLiquidity({
|
65
|
-
name: tokenPrice.liquidityName,
|
66
|
-
link: tokenPrice.link,
|
67
|
-
ref: tokenAccount.pubkey,
|
68
|
-
sourceRefs: tokenPrice.sourceRefs,
|
69
|
-
});
|
70
|
-
liquidity.addAsset({
|
71
|
-
address,
|
72
|
-
amount,
|
73
|
-
alreadyShifted: true,
|
74
|
-
});
|
75
|
-
elementsLiquidity.set(tag, elementLiquidity);
|
76
98
|
}
|
77
99
|
});
|
78
100
|
return elementRegistry.getElements(cache);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/tokens/fetchers/solana.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAIoC;
|
1
|
+
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/tokens/fetchers/solana.ts"],"names":[],"mappings":"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"}
|
@@ -50,6 +50,8 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
50
50
|
acc.orders.forEach((order) => {
|
51
51
|
if (order.status === structs_1.OrderStatus.Init)
|
52
52
|
return;
|
53
|
+
if (order.status === structs_1.OrderStatus.Closed)
|
54
|
+
return;
|
53
55
|
const market = markets.find((m) => m && m.market_id.toString() === order.market_id.toString());
|
54
56
|
if (!market)
|
55
57
|
return;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"marketsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/triad/marketsFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAEvD,2CAAqE;AAErE,iDAAsD;AACtD,+CAI4B;AAC5B,uCAMmB;AACnB,gFAA6E;AAC7E,kEAA+D;AAC/D,uCAAyC;AAEzC,MAAM,WAAW,GAAG,IAAI,6BAAa,CACnC,2BAAe,EACf;IACE,MAAM,EAAE,sBAAU;IAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;CAC5B,CACF,CAAC;AAEF,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IAErC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,UAAU,EACV,2BAAiB,EACjB,qBAAS,EACT;QACE;YACE,MAAM,EAAE;gBACN,KAAK,EAAE,aAAa;gBACpB,MAAM,EAAE,CAAC;aACV;SACF;QACD;YACE,MAAM,EAAE;gBACN,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,CAAC;aACV;SACF;QACD;YACE,QAAQ,EAAE,IAAI;SACf;KACF,CACF,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAEpD,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAE1E,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,qBAAW,CAAC,IAAI;gBAAE,OAAO;
|
1
|
+
{"version":3,"file":"marketsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/triad/marketsFetcher.ts"],"names":[],"mappings":"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"}
|
@@ -40,28 +40,28 @@ function getPairKey(version) {
|
|
40
40
|
exports.getPairKey = getPairKey;
|
41
41
|
function getPairsV2FromTheGraph(url, length = 300) {
|
42
42
|
return __awaiter(this, void 0, void 0, function* () {
|
43
|
-
const query = (0, graphql_request_1.gql) `
|
44
|
-
{
|
45
|
-
pairs(
|
46
|
-
orderBy: reserveUSD
|
47
|
-
first: ${length}
|
48
|
-
orderDirection: desc
|
49
|
-
where: { trackedReserveETH_not: "0" }
|
50
|
-
) {
|
51
|
-
id
|
52
|
-
reserve0
|
53
|
-
reserve1
|
54
|
-
totalSupply
|
55
|
-
token0 {
|
56
|
-
id
|
57
|
-
decimals
|
58
|
-
}
|
59
|
-
token1 {
|
60
|
-
id
|
61
|
-
decimals
|
62
|
-
}
|
63
|
-
}
|
64
|
-
}
|
43
|
+
const query = (0, graphql_request_1.gql) `
|
44
|
+
{
|
45
|
+
pairs(
|
46
|
+
orderBy: reserveUSD
|
47
|
+
first: ${length}
|
48
|
+
orderDirection: desc
|
49
|
+
where: { trackedReserveETH_not: "0" }
|
50
|
+
) {
|
51
|
+
id
|
52
|
+
reserve0
|
53
|
+
reserve1
|
54
|
+
totalSupply
|
55
|
+
token0 {
|
56
|
+
id
|
57
|
+
decimals
|
58
|
+
}
|
59
|
+
token1 {
|
60
|
+
id
|
61
|
+
decimals
|
62
|
+
}
|
63
|
+
}
|
64
|
+
}
|
65
65
|
`;
|
66
66
|
const res = yield (0, graphql_request_1.default)(url, query);
|
67
67
|
const pairs = res.pairs;
|
@@ -1,8 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.vaultPid = exports.platformId = void 0;
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
5
5
|
exports.platformId = 'voltr';
|
6
|
-
exports.vaultPid = new web3_js_1.PublicKey('
|
7
|
-
exports.adaptorPid = new web3_js_1.PublicKey('3BufioDyECNwuFJLRGCXNbZFrsnJnCsALMfDKjQEnk8x');
|
6
|
+
exports.vaultPid = new web3_js_1.PublicKey('vVoLTRjQmtFpiYoegx285Ze4gsLJ8ZxgFKVcuvmG1a8');
|
8
7
|
//# sourceMappingURL=constants.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/voltr/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,OAAO,CAAC;AAErB,QAAA,QAAQ,GAAG,IAAI,mBAAS,CACnC,
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/voltr/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,OAAO,CAAC;AAErB,QAAA,QAAQ,GAAG,IAAI,mBAAS,CACnC,6CAA6C,CAC9C,CAAC"}
|
@@ -1,6 +1,10 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
6
|
exports.fetchers = exports.jobs = void 0;
|
4
|
-
|
7
|
+
const vaultsJob_1 = __importDefault(require("./vaultsJob"));
|
8
|
+
exports.jobs = [vaultsJob_1.default];
|
5
9
|
exports.fetchers = [];
|
6
10
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/voltr/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/voltr/index.ts"],"names":[],"mappings":";;;;;;AAEA,4DAAoC;AAEvB,QAAA,IAAI,GAAU,CAAC,mBAAS,CAAC,CAAC;AAC1B,QAAA,QAAQ,GAAc,EAAE,CAAC"}
|
@@ -0,0 +1,81 @@
|
|
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 VaultAsset = {
|
7
|
+
mint: PublicKey;
|
8
|
+
idleAta: PublicKey;
|
9
|
+
totalValue: BigNumber;
|
10
|
+
idleAtaAuthBump: number;
|
11
|
+
reserved: number[];
|
12
|
+
};
|
13
|
+
export declare const vaultAssetStruct: BeetStruct<VaultAsset, Partial<VaultAsset>>;
|
14
|
+
export type VaultLp = {
|
15
|
+
mint: PublicKey;
|
16
|
+
mintBump: number;
|
17
|
+
mintAuthBump: number;
|
18
|
+
reserved: number[];
|
19
|
+
};
|
20
|
+
export declare const vaultLpStruct: BeetStruct<VaultLp, Partial<VaultLp>>;
|
21
|
+
export type VaultConfiguration = {
|
22
|
+
maxCap: BigNumber;
|
23
|
+
startAtTs: BigNumber;
|
24
|
+
lockedProfitDegradationDuration: BigNumber;
|
25
|
+
withdrawalWaitingPeriod: BigNumber;
|
26
|
+
reserved: number[];
|
27
|
+
};
|
28
|
+
export declare const vaultConfigurationStruct: BeetStruct<VaultConfiguration, Partial<VaultConfiguration>>;
|
29
|
+
export type FeeConfiguration = {
|
30
|
+
managerPerformanceFee: number;
|
31
|
+
adminPerformanceFee: number;
|
32
|
+
managerManagementFee: number;
|
33
|
+
adminManagementFee: number;
|
34
|
+
redemptionFee: number;
|
35
|
+
issuanceFee: number;
|
36
|
+
reserved: number[];
|
37
|
+
};
|
38
|
+
export declare const feeConfigurationStruct: BeetStruct<FeeConfiguration, Partial<FeeConfiguration>>;
|
39
|
+
export type FeeUpdate = {
|
40
|
+
lastPerformanceFeeUpdateTs: BigNumber;
|
41
|
+
lastManagementFeeUpdateTs: BigNumber;
|
42
|
+
};
|
43
|
+
export declare const feeUpdateStruct: BeetStruct<FeeUpdate, Partial<FeeUpdate>>;
|
44
|
+
export type FeeState = {
|
45
|
+
accumulatedLpManagerFees: BigNumber;
|
46
|
+
accumulatedLpAdminFees: BigNumber;
|
47
|
+
accumulatedLpProtocolFees: BigNumber;
|
48
|
+
reserved: number[];
|
49
|
+
};
|
50
|
+
export declare const feeStateStruct: BeetStruct<FeeState, Partial<FeeState>>;
|
51
|
+
export type HighWaterMark = {
|
52
|
+
highestAssetPerLpDecimalBits: BigNumber;
|
53
|
+
lastUpdatedTs: BigNumber;
|
54
|
+
reserved: number[];
|
55
|
+
};
|
56
|
+
export declare const highWaterMarkStruct: BeetStruct<HighWaterMark, Partial<HighWaterMark>>;
|
57
|
+
export type LockedProfitState = {
|
58
|
+
lastUpdatedLockedProfit: BigNumber;
|
59
|
+
lastReport: BigNumber;
|
60
|
+
};
|
61
|
+
export declare const lockedProfitStateStruct: BeetStruct<LockedProfitState, Partial<LockedProfitState>>;
|
62
|
+
export type Vault = {
|
63
|
+
discriminator: number[];
|
64
|
+
name: number[];
|
65
|
+
description: number[];
|
66
|
+
asset: VaultAsset;
|
67
|
+
lp: VaultLp;
|
68
|
+
manager: PublicKey;
|
69
|
+
admin: PublicKey;
|
70
|
+
vaultConfiguration: VaultConfiguration;
|
71
|
+
feeConfiguration: FeeConfiguration;
|
72
|
+
feeUpdate: FeeUpdate;
|
73
|
+
feeState: FeeState;
|
74
|
+
highWaterMark: HighWaterMark;
|
75
|
+
lastUpdatedTs: BigNumber;
|
76
|
+
version: number;
|
77
|
+
padding0: number[];
|
78
|
+
lockedProfitState: LockedProfitState;
|
79
|
+
reserved: number[];
|
80
|
+
};
|
81
|
+
export declare const vaultStruct: BeetStruct<Vault, Partial<Vault>>;
|