@sonarwatch/portfolio-plugins 0.14.62 → 0.14.64
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 +1836 -1828
- package/README.md +3 -3
- package/package.json +4 -1
- package/src/plugins/01/constants.d.ts +1 -0
- package/src/plugins/01/helpers.d.ts +1 -0
- package/src/plugins/01/struct.d.ts +1 -0
- package/src/plugins/accessprotocol/constants.d.ts +1 -0
- package/src/plugins/accessprotocol/filters.d.ts +1 -0
- package/src/plugins/accessprotocol/structs.d.ts +1 -0
- package/src/plugins/adrastea/constants.d.ts +1 -0
- package/src/plugins/adrastea/structs.d.ts +1 -0
- package/src/plugins/adrena/constants.d.ts +1 -0
- package/src/plugins/adrena/filters.d.ts +1 -0
- package/src/plugins/adrena/helpers.d.ts +1 -0
- package/src/plugins/adrena/structs.d.ts +1 -0
- package/src/plugins/allbridge/constants.d.ts +1 -0
- package/src/plugins/allbridge/helpers.d.ts +1 -0
- package/src/plugins/armada-staking/constants.d.ts +1 -0
- package/src/plugins/armada-staking/filters.d.ts +1 -0
- package/src/plugins/armada-staking/structs.d.ts +1 -0
- package/src/plugins/atrix/constants.d.ts +1 -0
- package/src/plugins/atrix/structs.d.ts +1 -0
- package/src/plugins/aurory/constants.d.ts +1 -0
- package/src/plugins/aurory/helpers.d.ts +1 -0
- package/src/plugins/balancer/helpers/pools.js +21 -21
- package/src/plugins/banx/constants.d.ts +1 -0
- package/src/plugins/banx/filters.d.ts +1 -0
- package/src/plugins/banx/structs.d.ts +1 -0
- package/src/plugins/bonfida/constants.d.ts +1 -0
- package/src/plugins/bonfida/filters.d.ts +1 -0
- package/src/plugins/bonfida/structs.d.ts +1 -0
- package/src/plugins/bonkrewards/constants.d.ts +1 -0
- package/src/plugins/bonkrewards/filters.d.ts +1 -0
- package/src/plugins/bonkrewards/structs.d.ts +1 -0
- package/src/plugins/bskt/constants.d.ts +1 -0
- package/src/plugins/bskt/filters.d.ts +1 -0
- package/src/plugins/bskt/structs.d.ts +1 -0
- package/src/plugins/citrus/constants.d.ts +1 -0
- package/src/plugins/citrus/filters.d.ts +1 -0
- package/src/plugins/clone/constants.d.ts +1 -0
- package/src/plugins/clone/helpers.d.ts +1 -0
- package/src/plugins/clone/structs.d.ts +1 -0
- package/src/plugins/cropper/constants.d.ts +1 -0
- package/src/plugins/cyberfrogs/constants.d.ts +1 -0
- package/src/plugins/cyberfrogs/structs.d.ts +1 -0
- package/src/plugins/daos/constants.d.ts +1 -0
- package/src/plugins/daos/helpers.d.ts +1 -0
- package/src/plugins/daos/structs/realms.d.ts +1 -0
- package/src/plugins/daos/types.d.ts +1 -0
- package/src/plugins/debridge/constants.d.ts +1 -0
- package/src/plugins/doubleup/structs.d.ts +1 -0
- package/src/plugins/drift/constants.d.ts +1 -0
- package/src/plugins/drift/depositsFetcher.d.ts +3 -0
- package/src/plugins/drift/depositsFetcher.js +41 -95
- package/src/plugins/drift/depositsFetcher.js.map +1 -1
- package/src/plugins/drift/filters.d.ts +1 -0
- package/src/plugins/drift/helpers.d.ts +1 -0
- package/src/plugins/drift/perpHelpers/constants.d.ts +1 -0
- package/src/plugins/drift/struct.d.ts +1 -0
- package/src/plugins/drift-market-maker-vault/constants.d.ts +1 -0
- package/src/plugins/drift-market-maker-vault/depositsFetcher.js +10 -2
- package/src/plugins/drift-market-maker-vault/depositsFetcher.js.map +1 -1
- package/src/plugins/drift-market-maker-vault/filters.d.ts +1 -1
- package/src/plugins/drift-market-maker-vault/filters.js +1 -4
- package/src/plugins/drift-market-maker-vault/filters.js.map +1 -1
- package/src/plugins/drift-market-maker-vault/helpers.d.ts +1 -0
- package/src/plugins/drift-market-maker-vault/helpers.js +38 -0
- package/src/plugins/drift-market-maker-vault/helpers.js.map +1 -0
- package/src/plugins/drift-market-maker-vault/structs.d.ts +1 -0
- package/src/plugins/drift-market-maker-vault/types.d.ts +2 -3
- package/src/plugins/drift-market-maker-vault/vaultsJob.js +20 -14
- package/src/plugins/drift-market-maker-vault/vaultsJob.js.map +1 -1
- package/src/plugins/elemental/filters.d.ts +1 -0
- package/src/plugins/elemental/helpers.d.ts +1 -0
- package/src/plugins/elemental/structs.d.ts +1 -0
- package/src/plugins/famousfoxfederation/constants.d.ts +1 -0
- package/src/plugins/flash/constants.d.ts +1 -0
- package/src/plugins/flash/filters.d.ts +1 -0
- package/src/plugins/flash/helpers.d.ts +1 -0
- package/src/plugins/flash/structs.d.ts +1 -0
- package/src/plugins/fluxbeam/structs.d.ts +1 -0
- package/src/plugins/foo/structs.d.ts +1 -0
- package/src/plugins/francium/constants.d.ts +1 -0
- package/src/plugins/francium/helpers.d.ts +1 -0
- package/src/plugins/francium/structs.d.ts +1 -0
- package/src/plugins/francium/tokens.d.ts +1 -0
- package/src/plugins/francium/types.d.ts +1 -0
- package/src/plugins/futarchy/constants.d.ts +1 -0
- package/src/plugins/futarchy/structs.d.ts +1 -0
- package/src/plugins/genesysgo/constants.d.ts +1 -0
- package/src/plugins/goosefx/constants.d.ts +1 -0
- package/src/plugins/goosefx/filters.d.ts +1 -0
- package/src/plugins/goosefx/structs.d.ts +1 -0
- package/src/plugins/grass/constants.d.ts +1 -0
- package/src/plugins/grass/helpers.d.ts +1 -0
- package/src/plugins/grass/structs.d.ts +1 -0
- package/src/plugins/hawksight/helper.d.ts +1 -0
- package/src/plugins/hedgehog/constants.d.ts +1 -0
- package/src/plugins/hedgehog/structs.d.ts +1 -0
- package/src/plugins/hxro/constants.d.ts +1 -0
- package/src/plugins/hxro/structs.d.ts +1 -0
- package/src/plugins/jito/structs.d.ts +1 -0
- package/src/plugins/joule/structs.d.ts +1 -0
- package/src/plugins/jupiter/exchange/constants.d.ts +1 -0
- package/src/plugins/jupiter/exchange/filters.d.ts +1 -0
- package/src/plugins/jupiter/exchange/structs.d.ts +1 -0
- package/src/plugins/jupiter/filters.d.ts +1 -0
- package/src/plugins/jupiter/helpers.d.ts +1 -0
- package/src/plugins/jupiter/launchpad/constants.d.ts +1 -0
- package/src/plugins/jupiter/launchpad/structs.d.ts +1 -0
- package/src/plugins/kamino/constants.d.ts +1 -0
- package/src/plugins/kamino/filters.d.ts +1 -0
- package/src/plugins/kamino/helpers/pdas.d.ts +1 -0
- package/src/plugins/kamino/structs/klend.d.ts +1 -0
- package/src/plugins/kamino/structs/vaults.d.ts +1 -0
- package/src/plugins/lifinity/constants.d.ts +1 -0
- package/src/plugins/lifinity/filters.d.ts +1 -0
- package/src/plugins/lifinity/structs.d.ts +1 -0
- package/src/plugins/loopscale/constants.d.ts +1 -0
- package/src/plugins/loopscale/filters.d.ts +1 -0
- package/src/plugins/loopscale/helpers.d.ts +1 -0
- package/src/plugins/loopscale/structs.d.ts +1 -0
- package/src/plugins/loverflow/constants.d.ts +1 -0
- package/src/plugins/loverflow/helpers.d.ts +1 -0
- package/src/plugins/loverflow/structs.d.ts +1 -0
- package/src/plugins/lulo/constants.d.ts +1 -0
- package/src/plugins/lulo/struct.d.ts +1 -0
- package/src/plugins/magiceden/constants.d.ts +3 -0
- package/src/plugins/magiceden/constants.js +3 -2
- package/src/plugins/magiceden/constants.js.map +1 -1
- package/src/plugins/magiceden/helpers.d.ts +2 -0
- package/src/plugins/magiceden/helpers.js +9 -1
- package/src/plugins/magiceden/helpers.js.map +1 -1
- package/src/plugins/magiceden/index.js +2 -1
- package/src/plugins/magiceden/index.js.map +1 -1
- package/src/plugins/magiceden/stakingFetcher.d.ts +3 -0
- package/src/plugins/magiceden/stakingFetcher.js +41 -0
- package/src/plugins/magiceden/stakingFetcher.js.map +1 -0
- package/src/plugins/magiceden/structs.d.ts +17 -0
- package/src/plugins/magiceden/structs.js +18 -0
- package/src/plugins/magiceden/structs.js.map +1 -0
- package/src/plugins/mango/constants.d.ts +1 -0
- package/src/plugins/mango/filters.d.ts +1 -0
- package/src/plugins/mango/struct.d.ts +1 -0
- package/src/plugins/marginfi/constants.d.ts +1 -0
- package/src/plugins/marginfi/filters.d.ts +1 -0
- package/src/plugins/marginfi/structs/Bank.d.ts +1 -0
- package/src/plugins/marginfi/structs/MarginfiAccount.d.ts +1 -0
- package/src/plugins/marinade/constants.d.ts +1 -0
- package/src/plugins/marinade/filters.d.ts +1 -0
- package/src/plugins/marinade/helpers.d.ts +1 -0
- package/src/plugins/marinade/structs.d.ts +1 -0
- package/src/plugins/meso/structs.d.ts +1 -0
- package/src/plugins/metaplex/constants.d.ts +1 -0
- package/src/plugins/metaplex/helpers.d.ts +1 -0
- package/src/plugins/meteora/constants.d.ts +1 -0
- package/src/plugins/meteora/dlmmHelper.d.ts +1 -0
- package/src/plugins/meteora/filters.d.ts +1 -0
- package/src/plugins/meteora/helpers.d.ts +1 -0
- package/src/plugins/meteora/struct.d.ts +1 -0
- package/src/plugins/meteora/types.d.ts +1 -0
- package/src/plugins/moonwalk/constants.d.ts +1 -0
- package/src/plugins/moonwalk/gamesFetcher.js +12 -21
- package/src/plugins/moonwalk/gamesFetcher.js.map +1 -1
- package/src/plugins/moonwalk/structs.d.ts +1 -0
- package/src/plugins/moonwalk/types.d.ts +1 -0
- package/src/plugins/native-stake/activeValidatorsSuiJob.d.ts +3 -0
- package/src/plugins/native-stake/activeValidatorsSuiJob.js +46 -0
- package/src/plugins/native-stake/activeValidatorsSuiJob.js.map +1 -0
- package/src/plugins/native-stake/index.js +2 -0
- package/src/plugins/native-stake/index.js.map +1 -1
- package/src/plugins/native-stake/solana/constants.d.ts +1 -0
- package/src/plugins/native-stake/solana/filters.d.ts +1 -0
- package/src/plugins/native-stake/solana/structs.d.ts +1 -0
- package/src/plugins/native-stake/suiFetcher.js +31 -17
- package/src/plugins/native-stake/suiFetcher.js.map +1 -1
- package/src/plugins/native-stake/types.d.ts +9 -2
- package/src/plugins/nosana/constants.d.ts +1 -0
- package/src/plugins/nosana/helpers.d.ts +1 -0
- package/src/plugins/nosana/structs.d.ts +1 -0
- package/src/plugins/nxfinance/constants.d.ts +1 -0
- package/src/plugins/orca/constants.d.ts +1 -0
- package/src/plugins/orca/filters.d.ts +1 -0
- package/src/plugins/orca/getWhirlpoolPositions.d.ts +1 -0
- package/src/plugins/orca/getWhirlpoolsJob.d.ts +1 -0
- package/src/plugins/orca/structs/oldLiquidities.d.ts +1 -0
- package/src/plugins/orca/structs/whirlpool.d.ts +1 -0
- package/src/plugins/orders/clobs-solana/filters.d.ts +1 -0
- package/src/plugins/orders/clobs-solana/structs.d.ts +1 -0
- package/src/plugins/parcl/constants.d.ts +1 -0
- package/src/plugins/parcl/filters.d.ts +1 -0
- package/src/plugins/parcl/helpers.d.ts +1 -0
- package/src/plugins/parcl/structs.d.ts +1 -0
- package/src/plugins/phoenix/constants.d.ts +1 -0
- package/src/plugins/phoenix/helpers/misc.d.ts +1 -0
- package/src/plugins/phoenix/structs/marketHeader.d.ts +1 -0
- package/src/plugins/phoenix/structs/misc.d.ts +1 -0
- package/src/plugins/phoenix/structs/seat.d.ts +1 -0
- package/src/plugins/picasso/constants.d.ts +1 -0
- package/src/plugins/picasso/helpers.d.ts +1 -0
- package/src/plugins/port/constants.d.ts +1 -0
- package/src/plugins/port/filters.d.ts +1 -0
- package/src/plugins/port/structs.d.ts +1 -0
- package/src/plugins/pyth/constants.d.ts +1 -0
- package/src/plugins/pyth/structs.d.ts +1 -0
- package/src/plugins/quarry/constants.d.ts +1 -0
- package/src/plugins/quarry/filters.d.ts +1 -0
- package/src/plugins/quarry/helpers.d.ts +1 -0
- package/src/plugins/quarry/types.d.ts +1 -0
- package/src/plugins/rain/constants.d.ts +1 -0
- package/src/plugins/rain/filters.d.ts +1 -0
- package/src/plugins/rain/helpers.d.ts +1 -0
- package/src/plugins/rain/structs/loan.d.ts +1 -0
- package/src/plugins/rain/structs/pool.d.ts +1 -0
- package/src/plugins/raydium/constants.d.ts +1 -0
- package/src/plugins/raydium/farmsJob.d.ts +1 -0
- package/src/plugins/raydium/filters.d.ts +1 -0
- package/src/plugins/raydium/helpers.d.ts +3 -2
- package/src/plugins/raydium/structs/amms.d.ts +1 -0
- package/src/plugins/raydium/structs/clmms.d.ts +1 -0
- package/src/plugins/raydium/structs/cpmm.d.ts +1 -0
- package/src/plugins/raydium/structs/farms.d.ts +1 -0
- package/src/plugins/raydium/structs/openOrders.d.ts +1 -0
- package/src/plugins/raydium/structs/staking.d.ts +1 -0
- package/src/plugins/raydium/types.d.ts +1 -0
- package/src/plugins/sandglass/constants.d.ts +1 -0
- package/src/plugins/sandglass/filters.d.ts +1 -0
- package/src/plugins/sandglass/marketsJob.js +1 -0
- package/src/plugins/sandglass/marketsJob.js.map +1 -1
- package/src/plugins/sandglass/structs.d.ts +1 -0
- package/src/plugins/save/constants.d.ts +1 -0
- package/src/plugins/save/structs.d.ts +1 -0
- package/src/plugins/save/types.d.ts +1 -0
- package/src/plugins/sharky/constants.d.ts +1 -0
- package/src/plugins/sharky/filters.d.ts +1 -0
- package/src/plugins/solayer/constants.d.ts +1 -0
- package/src/plugins/solayer/structs.d.ts +1 -0
- package/src/plugins/spdr/constants.d.ts +1 -0
- package/src/plugins/spdr/structs.d.ts +1 -0
- package/src/plugins/stabble/filters.d.ts +1 -0
- package/src/plugins/staratlas/constants.d.ts +1 -0
- package/src/plugins/staratlas/helpers.d.ts +1 -0
- package/src/plugins/staratlas/structs.d.ts +1 -0
- package/src/plugins/streamflow/constants.d.ts +1 -0
- package/src/plugins/streamflow/filters.d.ts +1 -0
- package/src/plugins/streamflow/structs.d.ts +1 -0
- package/src/plugins/sushiswap/helpers.js +24 -24
- package/src/plugins/switchboard/helpers/getSwitchboardOnDemandPrice.d.ts +1 -0
- package/src/plugins/switchboard/helpers/getSwitchboardOnDemandPrices.d.ts +1 -0
- package/src/plugins/switchboard/helpers/getSwitchboardPrice.d.ts +1 -0
- package/src/plugins/switchboard/helpers/getSwitchboardPrices.d.ts +1 -0
- package/src/plugins/switchboard/structs.d.ts +1 -0
- package/src/plugins/symmetry/constants.d.ts +1 -0
- package/src/plugins/symmetry/filters.d.ts +1 -0
- package/src/plugins/symmetry/structs.d.ts +1 -0
- package/src/plugins/tensor/constants.d.ts +1 -0
- package/src/plugins/tensor/filters.d.ts +1 -0
- package/src/plugins/tensor/helpers.d.ts +1 -0
- package/src/plugins/tensor/struct.d.ts +1 -0
- package/src/plugins/texture/constants.d.ts +1 -0
- package/src/plugins/texture/structs.d.ts +1 -0
- package/src/plugins/tulip/constants.d.ts +1 -0
- package/src/plugins/tulip/structs.d.ts +1 -0
- package/src/plugins/uniswap-v2/helpers.js +22 -22
- package/src/plugins/uxd/constants.d.ts +1 -0
- package/src/plugins/uxd/structs.d.ts +1 -0
- package/src/plugins/vaultka/constants.d.ts +1 -0
- package/src/plugins/vaultka/structs.d.ts +1 -0
- package/src/plugins/whalesmarket/constants.d.ts +1 -0
- package/src/plugins/whalesmarket/depositFetcher.js +3 -1
- package/src/plugins/whalesmarket/depositFetcher.js.map +1 -1
- package/src/plugins/whalesmarket/structs.d.ts +1 -0
- package/src/plugins/wormhole/constants.d.ts +1 -0
- package/src/plugins/wormhole/helpers.d.ts +1 -0
- package/src/plugins/wormhole/structs.d.ts +1 -0
- package/src/plugins/zelo/constants.d.ts +1 -0
- package/src/plugins/zelo/structs.d.ts +1 -0
- package/src/plugins/zeta/airdropFetcher.js +14 -14
- package/src/plugins/zeta/constants.d.ts +1 -0
- package/src/plugins/zeta/helpers.d.ts +1 -0
- package/src/plugins/zeta/structs.d.ts +1 -0
- package/src/utils/clients/types.d.ts +1 -0
- package/src/utils/elementbuilder/AssetBuilder.d.ts +4 -11
- package/src/utils/elementbuilder/AssetBuilder.js +0 -34
- package/src/utils/elementbuilder/AssetBuilder.js.map +1 -1
- package/src/utils/elementbuilder/AssetGenericBuilder.d.ts +10 -0
- package/src/utils/elementbuilder/AssetGenericBuilder.js +49 -0
- package/src/utils/elementbuilder/AssetGenericBuilder.js.map +1 -0
- package/src/utils/elementbuilder/AssetTokenBuilder.d.ts +15 -0
- package/src/utils/elementbuilder/AssetTokenBuilder.js +46 -0
- package/src/utils/elementbuilder/AssetTokenBuilder.js.map +1 -0
- package/src/utils/elementbuilder/ConcentratedLiquidityParams.d.ts +1 -0
- package/src/utils/elementbuilder/ElementBorrowlendBuilder.d.ts +11 -6
- package/src/utils/elementbuilder/ElementBorrowlendBuilder.js +24 -10
- package/src/utils/elementbuilder/ElementBorrowlendBuilder.js.map +1 -1
- package/src/utils/elementbuilder/ElementMultipleBuilder.d.ts +5 -3
- package/src/utils/elementbuilder/ElementMultipleBuilder.js +7 -3
- package/src/utils/elementbuilder/ElementMultipleBuilder.js.map +1 -1
- package/src/utils/elementbuilder/LiquidityBuilder.d.ts +6 -6
- package/src/utils/elementbuilder/LiquidityBuilder.js +3 -3
- package/src/utils/elementbuilder/LiquidityBuilder.js.map +1 -1
- package/src/utils/elementbuilder/PortfolioAssetGenericParams.d.ts +12 -0
- package/src/utils/elementbuilder/PortfolioAssetGenericParams.js +3 -0
- package/src/utils/elementbuilder/PortfolioAssetGenericParams.js.map +1 -0
- package/src/utils/elementbuilder/{PortfolioAssetParams.d.ts → PortfolioAssetTokenParams.d.ts} +2 -1
- package/src/utils/elementbuilder/{PortfolioAssetParams.js → PortfolioAssetTokenParams.js} +1 -1
- package/src/utils/elementbuilder/PortfolioAssetTokenParams.js.map +1 -0
- package/src/utils/sei/constants.js +8 -8
- package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
- package/src/utils/solana/constants.d.ts +1 -0
- package/src/utils/solana/fetchTokenSupplyAndDecimals.d.ts +1 -0
- package/src/utils/solana/filters.d.ts +1 -0
- package/src/utils/solana/getAutoParsedMultipleAccountsInfo.d.ts +1 -0
- package/src/utils/solana/getAutoParsedProgramAccounts.d.ts +1 -0
- package/src/utils/solana/getDecimals.d.ts +1 -0
- package/src/utils/solana/getMultipleAccountsInfoSafe.d.ts +1 -0
- package/src/utils/solana/getMultipleDecimals.d.ts +1 -0
- package/src/utils/solana/getMultipleDecimalsAsMap.d.ts +1 -0
- package/src/utils/solana/getParsedAccountInfo.d.ts +1 -0
- package/src/utils/solana/getParsedMultipleAccountsInfo.d.ts +1 -0
- package/src/utils/solana/getParsedProgramAccounts.d.ts +1 -0
- package/src/utils/solana/getProgramAccounts.d.ts +1 -0
- package/src/utils/solana/getSupply.d.ts +1 -0
- package/src/utils/solana/jupiter/deriveClaimStatus.d.ts +1 -0
- package/src/utils/solana/jupiter/deriveClaimStatuses.d.ts +1 -0
- package/src/utils/solana/jupiter/getMerkleDistributorPda.d.ts +1 -0
- package/src/utils/solana/pyth/helpers.d.ts +1 -0
- package/src/utils/solana/pyth/structs.d.ts +1 -0
- package/src/utils/solana/pyth/structsOld.d.ts +1 -0
- package/src/utils/solana/structs.d.ts +1 -0
- package/src/utils/solana/types.d.ts +1 -0
- package/src/utils/elementbuilder/PortfolioAssetParams.js.map +0 -1
@@ -12,6 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
13
|
};
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
+
exports.spotMarketsMemo = void 0;
|
15
16
|
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
16
17
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
17
18
|
const web3_js_1 = require("@solana/web3.js");
|
@@ -20,21 +21,23 @@ const struct_1 = require("./struct");
|
|
20
21
|
const helpers_1 = require("./helpers");
|
21
22
|
const solana_1 = require("../../utils/solana");
|
22
23
|
const clients_1 = require("../../utils/clients");
|
23
|
-
const tokenPriceToAssetToken_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetToken"));
|
24
24
|
const position_1 = require("./perpHelpers/position");
|
25
25
|
const constants_2 = require("./perpHelpers/constants");
|
26
26
|
const types_1 = require("./perpHelpers/types");
|
27
27
|
const getOraclePrice_1 = require("./perpHelpers/getOraclePrice");
|
28
28
|
const getPerpMarket_1 = require("./perpHelpers/getPerpMarket");
|
29
29
|
const getMintFromOracle_1 = require("./perpHelpers/getMintFromOracle");
|
30
|
+
const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
|
31
|
+
const MemoizedCache_1 = require("../../utils/misc/MemoizedCache");
|
32
|
+
exports.spotMarketsMemo = new MemoizedCache_1.MemoizedCache(constants_1.keySpotMarkets, {
|
33
|
+
prefix: constants_1.platformId,
|
34
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
35
|
+
});
|
30
36
|
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
31
37
|
const client = (0, clients_1.getClientSolana)();
|
32
|
-
const
|
33
|
-
|
34
|
-
networkId: portfolio_core_1.NetworkId.solana,
|
35
|
-
});
|
38
|
+
const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
|
39
|
+
const spotMarketsItems = yield exports.spotMarketsMemo.getItem(cache);
|
36
40
|
const spotMarketByIndex = new Map();
|
37
|
-
const tokensMints = [];
|
38
41
|
const insuranceFundStakeAccountsAddresses = [];
|
39
42
|
const insuranceVaultsPkeys = [];
|
40
43
|
for (const spotMarketItem of spotMarketsItems || []) {
|
@@ -42,23 +45,21 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
42
45
|
(0, helpers_1.getUserInsuranceFundStakeAccountPublicKey)(constants_1.driftProgram, new web3_js_1.PublicKey(owner), spotMarketItem.marketIndex);
|
43
46
|
insuranceVaultsPkeys.push(new web3_js_1.PublicKey(spotMarketItem.insuranceFund.vault));
|
44
47
|
spotMarketByIndex.set(spotMarketItem.marketIndex, spotMarketItem);
|
45
|
-
tokensMints.push(spotMarketItem.mint.toString());
|
46
48
|
}
|
47
|
-
const [insuranceAccounts, insuranceTokenAccounts
|
49
|
+
const [insuranceAccounts, insuranceTokenAccounts] = yield Promise.all([
|
48
50
|
(0, solana_1.getParsedMultipleAccountsInfo)(client, struct_1.insuranceFundStakeStruct, insuranceFundStakeAccountsAddresses),
|
49
51
|
(0, solana_1.getParsedMultipleAccountsInfo)(client, solana_1.tokenAccountStruct, insuranceVaultsPkeys),
|
50
|
-
cache.getTokenPrices(tokensMints, portfolio_core_1.NetworkId.solana),
|
51
52
|
]);
|
52
|
-
const tokenPriceById = new Map();
|
53
|
-
tokensPrices.forEach((tP) => (tP ? tokenPriceById.set(tP.address, tP) : []));
|
54
53
|
const insuranceTokenAccountsById = new Map();
|
55
54
|
insuranceTokenAccounts.forEach((acc) => {
|
56
55
|
if (acc)
|
57
56
|
insuranceTokenAccountsById.set(acc.pubkey.toString(), acc);
|
58
57
|
});
|
59
58
|
// Insurance
|
60
|
-
const
|
61
|
-
|
59
|
+
const elementInsurance = elementRegistry.addElementMultiple({
|
60
|
+
label: 'Staked',
|
61
|
+
name: 'Insurance Fund',
|
62
|
+
});
|
62
63
|
insuranceAccounts.forEach((account, i) => {
|
63
64
|
if (!account || account.ifShares.isZero())
|
64
65
|
return;
|
@@ -69,28 +70,13 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
69
70
|
const vault = insuranceTokenAccountsById.get(insuranceFund.vault.toString());
|
70
71
|
if (!vault)
|
71
72
|
return;
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
.times(vault.amount.dividedBy(Math.pow(10, tokenPrice.decimals)))
|
78
|
-
.toNumber();
|
79
|
-
insuranceAssets.push((0, tokenPriceToAssetToken_1.default)(mint.toString(), sharesAmount, portfolio_core_1.NetworkId.solana, tokenPrice));
|
80
|
-
});
|
81
|
-
if (insuranceAssets.length > 0) {
|
82
|
-
elements.push({
|
83
|
-
networkId: portfolio_core_1.NetworkId.solana,
|
84
|
-
label: 'Staked',
|
85
|
-
name: 'Insurance Fund',
|
86
|
-
platformId: constants_1.platformId,
|
87
|
-
type: portfolio_core_1.PortfolioElementType.multiple,
|
88
|
-
value: (0, portfolio_core_1.getUsdValueSum)(insuranceAssets.map((a) => a.value)),
|
89
|
-
data: {
|
90
|
-
assets: insuranceAssets,
|
91
|
-
},
|
73
|
+
elementInsurance.addAsset({
|
74
|
+
address: mint,
|
75
|
+
amount: account.ifShares
|
76
|
+
.dividedBy(insuranceFund.totalShares)
|
77
|
+
.times(vault.amount),
|
92
78
|
});
|
93
|
-
}
|
79
|
+
});
|
94
80
|
// Perps part
|
95
81
|
let id = 0;
|
96
82
|
const userAccounts = [];
|
@@ -102,7 +88,7 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
102
88
|
id += 10;
|
103
89
|
} while (parsedAccount[parsedAccount.length]);
|
104
90
|
if (!userAccounts || userAccounts.length === 0)
|
105
|
-
return
|
91
|
+
return elementRegistry.getElements(cache);
|
106
92
|
const perpMarketIndexesArr = yield cache.getItem(constants_1.perpMarketsIndexesKey, {
|
107
93
|
prefix: constants_1.platformId,
|
108
94
|
networkId: portfolio_core_1.NetworkId.solana,
|
@@ -115,13 +101,11 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
115
101
|
for (const userAccount of userAccounts) {
|
116
102
|
if (!userAccount)
|
117
103
|
continue;
|
118
|
-
const borrowedAssets = [];
|
119
|
-
const borrowedYields = [];
|
120
|
-
const suppliedAssets = [];
|
121
|
-
const suppliedYields = [];
|
122
|
-
const rewardAssets = [];
|
123
104
|
const marketIndexRef = 0;
|
124
|
-
const
|
105
|
+
const element = elementRegistry.addElementBorrowlend({
|
106
|
+
label: 'Lending',
|
107
|
+
name: (0, solana_1.u8ArrayToString)(userAccount.name),
|
108
|
+
});
|
125
109
|
for (const perpPosition of userAccount.perpPositions) {
|
126
110
|
if (perpPosition.baseAssetAmount.isZero())
|
127
111
|
continue;
|
@@ -139,27 +123,21 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
139
123
|
? portfolio_core_1.LeverageSide.long
|
140
124
|
: portfolio_core_1.LeverageSide.short;
|
141
125
|
const mint = yield (0, getMintFromOracle_1.getMintFromOracle)(market.amm.oracle.toString(), cache);
|
142
|
-
|
143
|
-
type: portfolio_core_1.PortfolioAssetType.generic,
|
144
|
-
networkId: portfolio_core_1.NetworkId.solana,
|
126
|
+
element.addUnsettledGenericAsset({
|
145
127
|
value: pnl,
|
146
128
|
name: (0, solana_1.u8ArrayToString)(market.name),
|
147
|
-
|
148
|
-
address: mint || undefined,
|
149
|
-
},
|
129
|
+
address: mint || undefined,
|
150
130
|
attributes: {
|
151
131
|
tags: [side],
|
152
132
|
},
|
153
|
-
};
|
154
|
-
unsettledAssets.push(asset);
|
133
|
+
});
|
155
134
|
}
|
156
135
|
// Each account has up to 8 SpotPositions
|
157
136
|
for (const spotPosition of userAccount.spotPositions) {
|
158
137
|
if (spotPosition.scaledBalance.isZero())
|
159
138
|
continue;
|
160
|
-
const countForBase =
|
161
|
-
|
162
|
-
const countForQuote = marketIndexRef === undefined || marketIndexRef === 0;
|
139
|
+
const countForBase = spotPosition.marketIndex === marketIndexRef;
|
140
|
+
const countForQuote = marketIndexRef === 0;
|
163
141
|
if ((0, helpers_1.isSpotPositionAvailable)(spotPosition) ||
|
164
142
|
(!countForBase && !countForQuote)) {
|
165
143
|
continue;
|
@@ -167,9 +145,6 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
167
145
|
const spotMarket = spotMarketByIndex.get(spotPosition.marketIndex);
|
168
146
|
if (!spotMarket)
|
169
147
|
continue;
|
170
|
-
const tokenPrice = tokenPriceById.get(spotMarket.mint.toString());
|
171
|
-
if (!tokenPrice || tokenPrice === null)
|
172
|
-
continue;
|
173
148
|
let tokenAmount = new bignumber_js_1.default(0);
|
174
149
|
if (spotMarket.marketIndex !== 0 &&
|
175
150
|
spotPosition.balanceType === struct_1.SpotBalanceType.Deposit) {
|
@@ -179,8 +154,11 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
179
154
|
tokenAmount = (0, helpers_1.getSignedTokenAmount)((0, helpers_1.getTokenAmount)(spotPosition.scaledBalance, spotMarket, spotPosition.balanceType), spotPosition.balanceType);
|
180
155
|
}
|
181
156
|
if (spotPosition.balanceType === struct_1.SpotBalanceType.Deposit) {
|
182
|
-
|
183
|
-
|
157
|
+
element.addSuppliedAsset({
|
158
|
+
address: spotMarket.mint,
|
159
|
+
amount: tokenAmount,
|
160
|
+
});
|
161
|
+
element.addSuppliedYield([
|
184
162
|
{
|
185
163
|
apr: spotMarket.depositApr,
|
186
164
|
apy: (0, portfolio_core_1.aprToApy)(spotMarket.depositApr),
|
@@ -188,11 +166,11 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
188
166
|
]);
|
189
167
|
}
|
190
168
|
else if (spotPosition.balanceType === struct_1.SpotBalanceType.Borrow) {
|
191
|
-
|
192
|
-
.
|
193
|
-
.abs()
|
194
|
-
|
195
|
-
|
169
|
+
element.addBorrowedAsset({
|
170
|
+
address: spotMarket.mint,
|
171
|
+
amount: tokenAmount.abs(),
|
172
|
+
});
|
173
|
+
element.addSuppliedYield([
|
196
174
|
{
|
197
175
|
apr: -spotMarket.borrowApr,
|
198
176
|
apy: -(0, portfolio_core_1.aprToApy)(spotMarket.borrowApr),
|
@@ -200,40 +178,8 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
200
178
|
]);
|
201
179
|
}
|
202
180
|
}
|
203
|
-
if (suppliedAssets.length === 0 && borrowedAssets.length === 0)
|
204
|
-
continue;
|
205
|
-
const { borrowedValue, suppliedValue, value, healthRatio, rewardValue, unsettledValue, } = (0, portfolio_core_1.getElementLendingValues)({
|
206
|
-
suppliedAssets,
|
207
|
-
borrowedAssets,
|
208
|
-
rewardAssets,
|
209
|
-
unsettledAssets,
|
210
|
-
});
|
211
|
-
elements.push({
|
212
|
-
type: portfolio_core_1.PortfolioElementType.borrowlend,
|
213
|
-
networkId: portfolio_core_1.NetworkId.solana,
|
214
|
-
platformId: constants_1.platformId,
|
215
|
-
label: 'Lending',
|
216
|
-
value,
|
217
|
-
data: {
|
218
|
-
borrowedAssets,
|
219
|
-
borrowedValue,
|
220
|
-
borrowedYields,
|
221
|
-
suppliedAssets,
|
222
|
-
suppliedValue,
|
223
|
-
suppliedYields,
|
224
|
-
rewardAssets,
|
225
|
-
rewardValue,
|
226
|
-
healthRatio,
|
227
|
-
unsettled: {
|
228
|
-
assets: unsettledAssets,
|
229
|
-
value: unsettledValue,
|
230
|
-
},
|
231
|
-
value,
|
232
|
-
},
|
233
|
-
name: (0, solana_1.u8ArrayToString)(userAccount.name),
|
234
|
-
});
|
235
181
|
}
|
236
|
-
return
|
182
|
+
return elementRegistry.getElements(cache);
|
237
183
|
});
|
238
184
|
const fetcher = {
|
239
185
|
id: `${constants_1.platformId}-deposits`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"depositsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/drift/depositsFetcher.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"depositsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/drift/depositsFetcher.ts"],"names":[],"mappings":"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"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
/// <reference types="jito-ts/node_modules/@solana/web3.js" />
|
1
2
|
import { GetProgramAccountsFilter } from '@solana/web3.js';
|
2
3
|
export declare const accountsFilter: (owner: string) => GetProgramAccountsFilter[];
|
3
4
|
export declare const marketFilter: GetProgramAccountsFilter[];
|
@@ -8,9 +8,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
9
|
});
|
10
10
|
};
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
+
};
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
15
|
exports.sevenDays = exports.oneDay = void 0;
|
13
16
|
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
17
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
14
18
|
const constants_1 = require("../drift/constants");
|
15
19
|
const constants_2 = require("./constants");
|
16
20
|
const clients_1 = require("../../utils/clients");
|
@@ -42,7 +46,9 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
42
46
|
platformId,
|
43
47
|
name,
|
44
48
|
});
|
45
|
-
let amountLeft =
|
49
|
+
let amountLeft = new bignumber_js_1.default(vaultInfo.totalTokens)
|
50
|
+
.dividedBy(vaultInfo.totalShares)
|
51
|
+
.multipliedBy(depositAccount.vaultShares);
|
46
52
|
if (!depositAccount.lastWithdrawRequest.value.isZero()) {
|
47
53
|
amountLeft = amountLeft.minus(depositAccount.lastWithdrawRequest.value);
|
48
54
|
element.addAsset({
|
@@ -51,7 +57,9 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
51
57
|
attributes: {
|
52
58
|
lockedUntil: depositAccount.lastWithdrawRequest.ts
|
53
59
|
.times(1000)
|
54
|
-
.plus(
|
60
|
+
.plus([constants_2.neutralPlatformId, constants_2.hedgyPlatformId].includes(platformId)
|
61
|
+
? exports.oneDay
|
62
|
+
: exports.sevenDays)
|
55
63
|
.toNumber(),
|
56
64
|
},
|
57
65
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"depositsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/drift-market-maker-vault/depositsFetcher.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"depositsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/drift-market-maker-vault/depositsFetcher.ts"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
+
/// <reference types="jito-ts/node_modules/@solana/web3.js" />
|
1
2
|
import { GetProgramAccountsFilter } from '@solana/web3.js';
|
2
|
-
export declare const vaultsFilter: GetProgramAccountsFilter[];
|
3
3
|
export declare const vaultDepositorFilter: (owner: string) => GetProgramAccountsFilter[];
|
4
4
|
export declare const vaultFilter: GetProgramAccountsFilter[];
|
@@ -1,10 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.vaultFilter = exports.vaultDepositorFilter =
|
3
|
+
exports.vaultFilter = exports.vaultDepositorFilter = void 0;
|
4
4
|
const structs_1 = require("./structs");
|
5
|
-
exports.vaultsFilter = [
|
6
|
-
{ dataSize: structs_1.vaultStruct.byteSize },
|
7
|
-
];
|
8
5
|
const vaultDepositorFilter = (owner) => [
|
9
6
|
{ dataSize: structs_1.vaultDepositorStruct.byteSize },
|
10
7
|
{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/drift-market-maker-vault/filters.ts"],"names":[],"mappings":";;;AACA,uCAA8D;
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/drift-market-maker-vault/filters.ts"],"names":[],"mappings":";;;AACA,uCAA8D;AAEvD,MAAM,oBAAoB,GAAG,CAClC,KAAa,EACe,EAAE,CAAC;IAC/B,EAAE,QAAQ,EAAE,8BAAoB,CAAC,QAAQ,EAAE;IAC3C;QACE,MAAM,EAAE;YACN,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,KAAK;SACb;KACF;CACF,CAAC;AAVW,QAAA,oBAAoB,wBAU/B;AAEW,QAAA,WAAW,GAA+B;IACrD,EAAE,QAAQ,EAAE,qBAAW,CAAC,QAAQ,EAAE;CACnC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const getVaultClient: () => Promise<import("@drift-labs/vaults-sdk").VaultClient>;
|
@@ -0,0 +1,38 @@
|
|
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
|
+
exports.getVaultClient = void 0;
|
13
|
+
const web3_js_1 = require("@solana/web3.js");
|
14
|
+
const sdk_1 = require("@drift-labs/sdk");
|
15
|
+
const anchor_1 = require("@project-serum/anchor");
|
16
|
+
const vaults_sdk_1 = require("@drift-labs/vaults-sdk");
|
17
|
+
const clients_1 = require("../../utils/clients");
|
18
|
+
const getVaultClient = () => __awaiter(void 0, void 0, void 0, function* () {
|
19
|
+
const connection = (0, clients_1.getClientSolana)();
|
20
|
+
const sdkConfig = (0, sdk_1.initialize)({ env: 'mainnet-beta' });
|
21
|
+
const driftPublicKey = new web3_js_1.PublicKey(sdkConfig.DRIFT_PROGRAM_ID);
|
22
|
+
// random, we do not use it
|
23
|
+
const wallet = new anchor_1.Wallet(new web3_js_1.Keypair());
|
24
|
+
const bulkAccountLoader = new sdk_1.BulkAccountLoader(connection, 'confirmed', 1000);
|
25
|
+
const driftClient = new sdk_1.DriftClient({
|
26
|
+
connection,
|
27
|
+
wallet,
|
28
|
+
programID: driftPublicKey,
|
29
|
+
accountSubscription: {
|
30
|
+
type: 'polling',
|
31
|
+
accountLoader: bulkAccountLoader,
|
32
|
+
},
|
33
|
+
});
|
34
|
+
yield driftClient.subscribe();
|
35
|
+
return (0, vaults_sdk_1.getVaultClient)(connection, wallet, driftClient);
|
36
|
+
});
|
37
|
+
exports.getVaultClient = getVaultClient;
|
38
|
+
//# sourceMappingURL=helpers.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/drift-market-maker-vault/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAqD;AACrD,yCAA6E;AAC7E,kDAA+C;AAC/C,uDAA6E;AAC7E,iDAAsD;AAE/C,MAAM,cAAc,GAAG,GAAS,EAAE;IACvC,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IACrC,MAAM,SAAS,GAAG,IAAA,gBAAU,EAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,IAAI,mBAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACjE,2BAA2B;IAC3B,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,iBAAO,EAAE,CAAC,CAAC;IACzC,MAAM,iBAAiB,GAAG,IAAI,uBAAiB,CAC7C,UAAU,EACV,WAAW,EACX,IAAI,CACL,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,iBAAW,CAAC;QAClC,UAAU;QACV,MAAM;QACN,SAAS,EAAE,cAAc;QACzB,mBAAmB,EAAE;YACnB,IAAI,EAAE,SAAS;YACf,aAAa,EAAE,iBAAiB;SACjC;KACF,CAAC,CAAC;IACH,MAAM,WAAW,CAAC,SAAS,EAAE,CAAC;IAC9B,OAAO,IAAA,2BAAiB,EAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAC5D,CAAC,CAAA,CAAC;AAtBW,QAAA,cAAc,kBAsBzB"}
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import { PublicKey } from '@solana/web3.js';
|
2
1
|
export type VaultInfo = {
|
3
2
|
pubkey: string;
|
4
3
|
platformId: string;
|
@@ -6,6 +5,6 @@ export type VaultInfo = {
|
|
6
5
|
decimals: number;
|
7
6
|
name: string;
|
8
7
|
totalShares: string;
|
9
|
-
|
10
|
-
user:
|
8
|
+
totalTokens: string;
|
9
|
+
user: string;
|
11
10
|
};
|
@@ -15,11 +15,14 @@ const solana_1 = require("../../utils/solana");
|
|
15
15
|
const constants_1 = require("../drift/constants");
|
16
16
|
const constants_2 = require("./constants");
|
17
17
|
const filters_1 = require("./filters");
|
18
|
-
const
|
18
|
+
const helpers_1 = require("./helpers");
|
19
19
|
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
20
20
|
const client = (0, clients_1.getClientSolana)();
|
21
|
-
const [
|
22
|
-
(yield Promise.all(constants_2.vaultsPids.map((vaultsPid) =>
|
21
|
+
const [vaultIds, spotMarkets] = yield Promise.all([
|
22
|
+
(yield Promise.all(constants_2.vaultsPids.map((vaultsPid) => client.getProgramAccounts(vaultsPid, {
|
23
|
+
filters: filters_1.vaultFilter,
|
24
|
+
dataSlice: { offset: 0, length: 0 },
|
25
|
+
})))).flat(),
|
23
26
|
cache.getItem(constants_1.keySpotMarkets, {
|
24
27
|
prefix: constants_1.platformId,
|
25
28
|
networkId: portfolio_core_1.NetworkId.solana,
|
@@ -27,30 +30,32 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
30
|
]);
|
28
31
|
if (!spotMarkets)
|
29
32
|
return;
|
33
|
+
const vaultClient = yield (0, helpers_1.getVaultClient)();
|
34
|
+
const vaults = yield Promise.all(vaultIds.map((vaultId) => vaultClient.getVault(vaultId.pubkey)));
|
30
35
|
const cachedItems = [];
|
31
36
|
for (const vault of vaults) {
|
32
|
-
const name = (0, solana_1.u8ArrayToString)(vault.name);
|
33
37
|
const spotMarket = spotMarkets.find((sm) => sm.marketIndex === vault.spotMarketIndex);
|
34
38
|
if (!spotMarket)
|
35
39
|
continue;
|
36
|
-
const mint = spotMarket.mint.toString();
|
37
|
-
const { decimals } = spotMarket;
|
38
40
|
const pubkey = vault.pubkey.toString();
|
39
41
|
const vaultPlatformId = constants_2.platformIdByVaultManager.get(vault.manager.toString());
|
40
42
|
if (!vaultPlatformId)
|
41
43
|
continue;
|
42
|
-
const
|
44
|
+
const totalTokens = yield vaultClient.calculateVaultEquityInDepositAsset({
|
45
|
+
vault,
|
46
|
+
factorUnrealizedPNL: true,
|
47
|
+
});
|
43
48
|
cachedItems.push({
|
44
49
|
key: pubkey,
|
45
50
|
value: {
|
46
51
|
pubkey,
|
47
52
|
platformId: vaultPlatformId,
|
48
|
-
name,
|
49
|
-
mint,
|
50
|
-
decimals,
|
51
|
-
totalShares: totalShares.toString(),
|
52
|
-
|
53
|
-
user,
|
53
|
+
name: (0, solana_1.u8ArrayToString)(vault.name),
|
54
|
+
mint: spotMarket.mint.toString(),
|
55
|
+
decimals: spotMarket.decimals,
|
56
|
+
totalShares: vault.totalShares.toString(),
|
57
|
+
totalTokens: totalTokens.toString(),
|
58
|
+
user: vault.user.toString(),
|
54
59
|
},
|
55
60
|
});
|
56
61
|
}
|
@@ -58,11 +63,12 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
|
58
63
|
prefix: constants_2.prefixVaults,
|
59
64
|
networkId: portfolio_core_1.NetworkId.solana,
|
60
65
|
});
|
66
|
+
yield vaultClient.driftClient.unsubscribe();
|
61
67
|
});
|
62
68
|
const job = {
|
63
69
|
id: `${constants_1.platformId}-market-maker-vaults`,
|
64
70
|
executor,
|
65
|
-
label: '
|
71
|
+
label: 'realtime',
|
66
72
|
};
|
67
73
|
exports.default = job;
|
68
74
|
//# sourceMappingURL=vaultsJob.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"vaultsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/drift-market-maker-vault/vaultsJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,iDAAsD;AACtD,+
|
1
|
+
{"version":3,"file":"vaultsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/drift-market-maker-vault/vaultsJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,iDAAsD;AACtD,+CAAqD;AACrD,kDAAgE;AAChE,2CAIqB;AACrB,uCAAwC;AAExC,uCAA2C;AAG3C,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChD,CACE,MAAM,OAAO,CAAC,GAAG,CACf,sBAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC3B,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE;YACnC,OAAO,EAAE,qBAAW;YACpB,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;SACpC,CAAC,CACH,CACF,CACF,CAAC,IAAI,EAAE;QACR,KAAK,CAAC,OAAO,CAAuB,0BAAc,EAAE;YAClD,MAAM,EAAE,sBAAU;YAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;SAC5B,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW;QAAE,OAAO;IAEzB,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,GAAE,CAAC;IAE3C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAChE,CAAC;IAEF,MAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CACjC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,KAAK,CAAC,eAAe,CACjD,CAAC;QACF,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,eAAe,GAAG,oCAAwB,CAAC,GAAG,CAClD,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CACzB,CAAC;QACF,IAAI,CAAC,eAAe;YAAE,SAAS;QAE/B,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,kCAAkC,CAAC;YACvE,KAAK;YACL,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CAAC;QAEH,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,MAAM;YACX,KAAK,EAAE;gBACL,MAAM;gBACN,UAAU,EAAE,eAAe;gBAC3B,IAAI,EAAE,IAAA,wBAAe,EAAC,KAAK,CAAC,IAAI,CAAC;gBACjC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChC,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE;gBACzC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;gBACnC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;aAC5B;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,CAAC,QAAQ,CAAY,WAAW,EAAE;QAC3C,MAAM,EAAE,wBAAY;QACpB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;IAEH,MAAM,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;AAC9C,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,sBAAsB;IACvC,QAAQ;IACR,KAAK,EAAE,UAAU;CAClB,CAAC;AACF,kBAAe,GAAG,CAAC"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
/// <reference types="jito-ts/node_modules/@solana/web3.js" />
|
1
2
|
import { GetProgramAccountsFilter } from '@solana/web3.js';
|
2
3
|
export declare const perpetualsPositionsFilter: (owner: string) => GetProgramAccountsFilter[];
|
3
4
|
export declare const marketsFilter: () => GetProgramAccountsFilter[];
|