@velocity-exchange/sdk 0.3.0 → 0.4.0
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 +51 -0
- package/lib/browser/accounts/basicUserAccountSubscriber.d.ts +18 -0
- package/lib/browser/accounts/basicUserAccountSubscriber.js +18 -0
- package/lib/browser/accounts/basicUserStatsAccountSubscriber.d.ts +18 -0
- package/lib/browser/accounts/basicUserStatsAccountSubscriber.js +18 -0
- package/lib/browser/accounts/bulkAccountLoader.d.ts +52 -0
- package/lib/browser/accounts/bulkAccountLoader.js +51 -0
- package/lib/browser/accounts/bulkUserStatsSubscription.d.ts +9 -2
- package/lib/browser/accounts/bulkUserStatsSubscription.js +9 -2
- package/lib/browser/accounts/bulkUserSubscription.d.ts +8 -2
- package/lib/browser/accounts/bulkUserSubscription.js +8 -2
- package/lib/browser/accounts/customizedCadenceBulkAccountLoader.d.ts +37 -0
- package/lib/browser/accounts/customizedCadenceBulkAccountLoader.js +37 -0
- package/lib/browser/accounts/fetch.d.ts +59 -2
- package/lib/browser/accounts/fetch.js +57 -2
- package/lib/browser/accounts/grpcAccountSubscriber.d.ts +30 -0
- package/lib/browser/accounts/grpcAccountSubscriber.js +30 -0
- package/lib/browser/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts +16 -0
- package/lib/browser/accounts/grpcInsuranceFundStakeAccountSubscriber.js +16 -0
- package/lib/browser/accounts/grpcMultiAccountSubscriber.d.ts +60 -1
- package/lib/browser/accounts/grpcMultiAccountSubscriber.js +118 -37
- package/lib/browser/accounts/grpcMultiUserAccountSubscriber.d.ts +32 -0
- package/lib/browser/accounts/grpcMultiUserAccountSubscriber.js +40 -12
- package/lib/browser/accounts/grpcProgramAccountSubscriber.d.ts +33 -0
- package/lib/browser/accounts/grpcProgramAccountSubscriber.js +33 -0
- package/lib/browser/accounts/grpcUserAccountSubscriber.d.ts +15 -0
- package/lib/browser/accounts/grpcUserAccountSubscriber.js +15 -0
- package/lib/browser/accounts/grpcUserStatsAccountSubscriber.d.ts +15 -0
- package/lib/browser/accounts/grpcUserStatsAccountSubscriber.js +15 -0
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.d.ts +41 -0
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.js +41 -0
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +116 -0
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.js +152 -1
- package/lib/browser/accounts/laserProgramAccountSubscriber.d.ts +34 -0
- package/lib/browser/accounts/laserProgramAccountSubscriber.js +34 -0
- package/lib/browser/accounts/oneShotUserAccountSubscriber.d.ts +19 -0
- package/lib/browser/accounts/oneShotUserAccountSubscriber.js +19 -0
- package/lib/browser/accounts/oneShotUserStatsAccountSubscriber.d.ts +19 -0
- package/lib/browser/accounts/oneShotUserStatsAccountSubscriber.js +19 -0
- package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +31 -0
- package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.js +31 -0
- package/lib/browser/accounts/pollingOracleAccountSubscriber.d.ts +19 -0
- package/lib/browser/accounts/pollingOracleAccountSubscriber.js +21 -2
- package/lib/browser/accounts/pollingTokenAccountSubscriber.d.ts +22 -0
- package/lib/browser/accounts/pollingTokenAccountSubscriber.js +22 -0
- package/lib/browser/accounts/pollingUserAccountSubscriber.d.ts +32 -0
- package/lib/browser/accounts/pollingUserAccountSubscriber.js +32 -0
- package/lib/browser/accounts/pollingUserStatsAccountSubscriber.d.ts +22 -0
- package/lib/browser/accounts/pollingUserStatsAccountSubscriber.js +22 -0
- package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.d.ts +83 -0
- package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.js +84 -1
- package/lib/browser/accounts/testBulkAccountLoader.d.ts +8 -0
- package/lib/browser/accounts/testBulkAccountLoader.js +8 -0
- package/lib/browser/accounts/types.d.ts +149 -0
- package/lib/browser/accounts/types.js +13 -0
- package/lib/browser/accounts/utils.d.ts +18 -0
- package/lib/browser/accounts/utils.js +32 -16
- package/lib/browser/accounts/webSocketAccountSubscriber.d.ts +41 -0
- package/lib/browser/accounts/webSocketAccountSubscriber.js +41 -0
- package/lib/browser/accounts/webSocketAccountSubscriberV2.d.ts +31 -0
- package/lib/browser/accounts/webSocketAccountSubscriberV2.js +31 -23
- package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +27 -0
- package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +27 -0
- package/lib/browser/accounts/webSocketProgramAccountSubscriber.d.ts +36 -0
- package/lib/browser/accounts/webSocketProgramAccountSubscriber.js +36 -0
- package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.d.ts +21 -0
- package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.js +25 -0
- package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.d.ts +21 -0
- package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.js +21 -0
- package/lib/browser/accounts/webSocketUserAccountSubscriber.d.ts +26 -0
- package/lib/browser/accounts/webSocketUserAccountSubscriber.js +26 -0
- package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.d.ts +20 -0
- package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.js +20 -0
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.d.ts +121 -0
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.js +123 -2
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +96 -0
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.js +108 -0
- package/lib/browser/accounts/websocketProgramUserAccountSubscriber.d.ts +28 -0
- package/lib/browser/accounts/websocketProgramUserAccountSubscriber.js +33 -0
- package/lib/browser/addresses/marketAddresses.d.ts +10 -0
- package/lib/browser/addresses/marketAddresses.js +10 -0
- package/lib/browser/addresses/pda.d.ts +214 -2
- package/lib/browser/addresses/pda.js +217 -5
- package/lib/browser/adminClient.d.ts +2136 -4
- package/lib/browser/adminClient.js +2150 -4
- package/lib/browser/auctionSubscriber/auctionSubscriber.d.ts +15 -0
- package/lib/browser/auctionSubscriber/auctionSubscriber.js +15 -0
- package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.d.ts +19 -0
- package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.js +19 -0
- package/lib/browser/auctionSubscriber/index.d.ts +6 -0
- package/lib/browser/auctionSubscriber/index.js +6 -0
- package/lib/browser/auctionSubscriber/types.d.ts +7 -0
- package/lib/browser/blockhashSubscriber/BlockhashSubscriber.d.ts +33 -0
- package/lib/browser/blockhashSubscriber/BlockhashSubscriber.js +33 -0
- package/lib/browser/blockhashSubscriber/index.d.ts +5 -0
- package/lib/browser/blockhashSubscriber/index.js +5 -0
- package/lib/browser/blockhashSubscriber/types.d.ts +5 -0
- package/lib/browser/clock/clockSubscriber.d.ts +24 -0
- package/lib/browser/clock/clockSubscriber.js +22 -0
- package/lib/browser/config.d.ts +58 -4
- package/lib/browser/config.js +88 -21
- package/lib/browser/constants/numericConstants.d.ts +67 -0
- package/lib/browser/constants/numericConstants.js +68 -1
- package/lib/browser/constants/perpMarkets.d.ts +10 -0
- package/lib/browser/constants/perpMarkets.js +40 -908
- package/lib/browser/constants/spotMarkets.d.ts +13 -0
- package/lib/browser/constants/spotMarkets.js +16 -742
- package/lib/browser/constants/txConstants.d.ts +1 -0
- package/lib/browser/constants/txConstants.js +1 -0
- package/lib/browser/core/VelocityCore.d.ts +285 -8
- package/lib/browser/core/VelocityCore.js +281 -8
- package/lib/browser/core/instructions/deposit.d.ts +22 -0
- package/lib/browser/core/instructions/deposit.js +22 -0
- package/lib/browser/core/instructions/fill.d.ts +17 -0
- package/lib/browser/core/instructions/fill.js +17 -0
- package/lib/browser/core/instructions/funding.d.ts +12 -0
- package/lib/browser/core/instructions/funding.js +12 -0
- package/lib/browser/core/instructions/liquidation.d.ts +18 -0
- package/lib/browser/core/instructions/liquidation.js +18 -0
- package/lib/browser/core/instructions/orders.d.ts +28 -0
- package/lib/browser/core/instructions/orders.js +28 -0
- package/lib/browser/core/instructions/perpOrders.d.ts +106 -0
- package/lib/browser/core/instructions/perpOrders.js +106 -0
- package/lib/browser/core/instructions/settlement.d.ts +14 -0
- package/lib/browser/core/instructions/settlement.js +14 -0
- package/lib/browser/core/instructions/trigger.d.ts +15 -0
- package/lib/browser/core/instructions/trigger.js +15 -0
- package/lib/browser/core/instructions/withdraw.d.ts +21 -0
- package/lib/browser/core/instructions/withdraw.js +21 -0
- package/lib/browser/core/remainingAccounts.d.ts +47 -3
- package/lib/browser/core/remainingAccounts.js +20 -0
- package/lib/browser/core/signedMsg.d.ts +38 -0
- package/lib/browser/core/signedMsg.js +33 -0
- package/lib/browser/decode/customCoder.d.ts +39 -3
- package/lib/browser/decode/customCoder.js +45 -3
- package/lib/browser/decode/user.d.ts +22 -0
- package/lib/browser/decode/user.js +22 -0
- package/lib/browser/dlob/DLOB.d.ts +502 -53
- package/lib/browser/dlob/DLOB.js +540 -98
- package/lib/browser/dlob/DLOBNode.d.ts +86 -4
- package/lib/browser/dlob/DLOBNode.js +37 -4
- package/lib/browser/dlob/DLOBSubscriber.d.ts +39 -12
- package/lib/browser/dlob/DLOBSubscriber.js +42 -12
- package/lib/browser/dlob/NodeList.d.ts +69 -0
- package/lib/browser/dlob/NodeList.js +66 -0
- package/lib/browser/dlob/orderBookLevels.d.ts +106 -13
- package/lib/browser/dlob/orderBookLevels.js +84 -14
- package/lib/browser/dlob/types.d.ts +15 -0
- package/lib/browser/events/eventList.d.ts +14 -0
- package/lib/browser/events/eventList.js +14 -0
- package/lib/browser/events/eventSubscriber.d.ts +87 -10
- package/lib/browser/events/eventSubscriber.js +93 -8
- package/lib/browser/events/eventsServerLogProvider.d.ts +22 -0
- package/lib/browser/events/eventsServerLogProvider.js +27 -0
- package/lib/browser/events/fetchLogs.d.ts +31 -0
- package/lib/browser/events/fetchLogs.js +46 -1
- package/lib/browser/events/parse.d.ts +23 -0
- package/lib/browser/events/parse.js +23 -0
- package/lib/browser/events/pollingLogProvider.d.ts +24 -0
- package/lib/browser/events/pollingLogProvider.js +24 -0
- package/lib/browser/events/sort.d.ts +11 -0
- package/lib/browser/events/sort.js +12 -0
- package/lib/browser/events/txEventCache.d.ts +13 -3
- package/lib/browser/events/txEventCache.js +19 -7
- package/lib/browser/events/types.d.ts +118 -2
- package/lib/browser/events/types.js +11 -0
- package/lib/browser/events/webSocketLogProvider.d.ts +23 -0
- package/lib/browser/events/webSocketLogProvider.js +28 -0
- package/lib/browser/factory/oracleClient.js +2 -2
- package/lib/browser/idl/velocity.d.ts +4 -4
- package/lib/browser/idl/velocity.json +4 -4
- package/lib/browser/keypair.d.ts +8 -0
- package/lib/browser/keypair.js +8 -0
- package/lib/browser/marginCalculation.d.ts +134 -2
- package/lib/browser/marginCalculation.js +121 -0
- package/lib/browser/math/amm.d.ts +348 -29
- package/lib/browser/math/amm.js +310 -32
- package/lib/browser/math/auction.d.ts +95 -19
- package/lib/browser/math/auction.js +118 -28
- package/lib/browser/math/bankruptcy.d.ts +46 -0
- package/lib/browser/math/bankruptcy.js +89 -1
- package/lib/browser/math/builder.d.ts +64 -8
- package/lib/browser/math/builder.js +71 -9
- package/lib/browser/math/conversion.d.ts +21 -0
- package/lib/browser/math/conversion.js +21 -0
- package/lib/browser/math/exchangeStatus.d.ts +91 -0
- package/lib/browser/math/exchangeStatus.js +106 -3
- package/lib/browser/math/funding.d.ts +57 -20
- package/lib/browser/math/funding.js +63 -23
- package/lib/browser/math/insurance.d.ts +62 -0
- package/lib/browser/math/insurance.js +62 -0
- package/lib/browser/math/liquidation.d.ts +127 -11
- package/lib/browser/math/liquidation.js +182 -19
- package/lib/browser/math/margin.d.ts +79 -13
- package/lib/browser/math/margin.js +80 -14
- package/lib/browser/math/market.d.ts +135 -15
- package/lib/browser/math/market.js +145 -17
- package/lib/browser/math/oracles.d.ts +113 -0
- package/lib/browser/math/oracles.js +118 -1
- package/lib/browser/math/orders.d.ts +115 -10
- package/lib/browser/math/orders.js +130 -19
- package/lib/browser/math/position.d.ts +80 -33
- package/lib/browser/math/position.js +80 -33
- package/lib/browser/math/repeg.d.ts +48 -10
- package/lib/browser/math/repeg.js +48 -10
- package/lib/browser/math/spotBalance.d.ts +200 -5
- package/lib/browser/math/spotBalance.js +239 -10
- package/lib/browser/math/spotMarket.d.ts +36 -3
- package/lib/browser/math/spotMarket.js +36 -3
- package/lib/browser/math/spotPosition.d.ts +72 -0
- package/lib/browser/math/spotPosition.js +62 -0
- package/lib/browser/math/state.d.ts +31 -0
- package/lib/browser/math/state.js +31 -0
- package/lib/browser/math/superStake.d.ts +126 -2
- package/lib/browser/math/superStake.js +123 -3
- package/lib/browser/math/tiers.d.ts +29 -0
- package/lib/browser/math/tiers.js +29 -0
- package/lib/browser/math/trade.d.ts +102 -51
- package/lib/browser/math/trade.js +101 -55
- package/lib/browser/math/utils.d.ts +71 -9
- package/lib/browser/math/utils.js +71 -9
- package/lib/browser/memcmp.d.ts +94 -0
- package/lib/browser/memcmp.js +103 -2
- package/lib/browser/oracles/oracleClientCache.d.ts +16 -0
- package/lib/browser/oracles/oracleClientCache.js +16 -0
- package/lib/browser/oracles/oracleId.d.ts +31 -0
- package/lib/browser/oracles/oracleId.js +39 -8
- package/lib/browser/oracles/prelaunchOracleClient.d.ts +20 -0
- package/lib/browser/oracles/prelaunchOracleClient.js +20 -0
- package/lib/browser/oracles/pythClient.d.ts +31 -0
- package/lib/browser/oracles/pythClient.js +32 -1
- package/lib/browser/oracles/pythLazerClient.d.ts +34 -0
- package/lib/browser/oracles/pythLazerClient.js +35 -1
- package/lib/browser/oracles/quoteAssetOracleClient.d.ts +18 -0
- package/lib/browser/oracles/quoteAssetOracleClient.js +18 -0
- package/lib/browser/oracles/strictOraclePrice.d.ts +21 -0
- package/lib/browser/oracles/strictOraclePrice.js +21 -0
- package/lib/browser/oracles/types.d.ts +45 -0
- package/lib/browser/oracles/utils.d.ts +20 -0
- package/lib/browser/oracles/utils.js +20 -0
- package/lib/browser/orderParams.d.ts +42 -4
- package/lib/browser/orderParams.js +42 -4
- package/lib/browser/orderSubscriber/OrderSubscriber.d.ts +56 -0
- package/lib/browser/orderSubscriber/OrderSubscriber.js +56 -0
- package/lib/browser/orderSubscriber/PollingSubscription.d.ts +11 -0
- package/lib/browser/orderSubscriber/PollingSubscription.js +11 -0
- package/lib/browser/orderSubscriber/WebsocketSubscription.d.ts +18 -0
- package/lib/browser/orderSubscriber/WebsocketSubscription.js +18 -0
- package/lib/browser/orderSubscriber/grpcSubscription.d.ts +16 -0
- package/lib/browser/orderSubscriber/grpcSubscription.js +16 -0
- package/lib/browser/orderSubscriber/types.d.ts +9 -0
- package/lib/browser/priorityFee/averageOverSlotsStrategy.d.ts +1 -0
- package/lib/browser/priorityFee/averageOverSlotsStrategy.js +1 -0
- package/lib/browser/priorityFee/averageStrategy.d.ts +1 -0
- package/lib/browser/priorityFee/averageStrategy.js +1 -0
- package/lib/browser/priorityFee/ewmaStrategy.d.ts +10 -0
- package/lib/browser/priorityFee/ewmaStrategy.js +10 -0
- package/lib/browser/priorityFee/heliusPriorityFeeMethod.d.ts +13 -0
- package/lib/browser/priorityFee/heliusPriorityFeeMethod.js +9 -2
- package/lib/browser/priorityFee/maxOverSlotsStrategy.d.ts +1 -0
- package/lib/browser/priorityFee/maxOverSlotsStrategy.js +1 -0
- package/lib/browser/priorityFee/maxStrategy.d.ts +1 -0
- package/lib/browser/priorityFee/maxStrategy.js +1 -0
- package/lib/browser/priorityFee/priorityFeeSubscriber.d.ts +39 -0
- package/lib/browser/priorityFee/priorityFeeSubscriber.js +39 -0
- package/lib/browser/priorityFee/priorityFeeSubscriberMap.d.ts +20 -1
- package/lib/browser/priorityFee/priorityFeeSubscriberMap.js +21 -2
- package/lib/browser/priorityFee/solanaPriorityFeeMethod.d.ts +12 -0
- package/lib/browser/priorityFee/solanaPriorityFeeMethod.js +10 -0
- package/lib/browser/priorityFee/types.d.ts +32 -0
- package/lib/browser/priorityFee/types.js +5 -0
- package/lib/browser/priorityFee/velocityPriorityFeeMethod.d.ts +11 -0
- package/lib/browser/priorityFee/velocityPriorityFeeMethod.js +8 -0
- package/lib/browser/slot/SlotSubscriber.d.ts +18 -0
- package/lib/browser/slot/SlotSubscriber.js +16 -0
- package/lib/browser/slot/SlothashSubscriber.d.ts +26 -0
- package/lib/browser/slot/SlothashSubscriber.js +25 -1
- package/lib/browser/tx/baseTxSender.d.ts +163 -0
- package/lib/browser/tx/baseTxSender.js +174 -6
- package/lib/browser/tx/blockhashFetcher/baseBlockhashFetcher.d.ts +12 -0
- package/lib/browser/tx/blockhashFetcher/baseBlockhashFetcher.js +12 -0
- package/lib/browser/tx/blockhashFetcher/cachedBlockhashFetcher.d.ts +15 -0
- package/lib/browser/tx/blockhashFetcher/cachedBlockhashFetcher.js +15 -0
- package/lib/browser/tx/blockhashFetcher/types.d.ts +4 -0
- package/lib/browser/tx/fastSingleTxSender.d.ts +47 -0
- package/lib/browser/tx/fastSingleTxSender.js +48 -1
- package/lib/browser/tx/forwardOnlyTxSender.d.ts +48 -0
- package/lib/browser/tx/forwardOnlyTxSender.js +48 -0
- package/lib/browser/tx/reportTransactionError.d.ts +18 -6
- package/lib/browser/tx/reportTransactionError.js +18 -6
- package/lib/browser/tx/retryTxSender.d.ts +40 -0
- package/lib/browser/tx/retryTxSender.js +39 -0
- package/lib/browser/tx/txHandler.d.ts +146 -35
- package/lib/browser/tx/txHandler.js +132 -32
- package/lib/browser/tx/txParamProcessor.d.ts +47 -0
- package/lib/browser/tx/txParamProcessor.js +47 -0
- package/lib/browser/tx/types.d.ts +46 -0
- package/lib/browser/tx/types.js +5 -0
- package/lib/browser/tx/utils.d.ts +26 -0
- package/lib/browser/tx/utils.js +26 -0
- package/lib/browser/tx/whileValidTxSender.d.ts +82 -0
- package/lib/browser/tx/whileValidTxSender.js +81 -0
- package/lib/browser/types.d.ts +781 -13
- package/lib/browser/types.js +126 -9
- package/lib/browser/user.d.ts +645 -84
- package/lib/browser/user.js +779 -96
- package/lib/browser/userMap/PollingSubscription.d.ts +10 -0
- package/lib/browser/userMap/PollingSubscription.js +14 -2
- package/lib/browser/userMap/WebsocketSubscription.d.ts +9 -0
- package/lib/browser/userMap/WebsocketSubscription.js +9 -0
- package/lib/browser/userMap/grpcSubscription.d.ts +8 -0
- package/lib/browser/userMap/grpcSubscription.js +8 -0
- package/lib/browser/userMap/referrerMap.d.ts +72 -2
- package/lib/browser/userMap/referrerMap.js +84 -2
- package/lib/browser/userMap/revenueShareEscrowMap.d.ts +37 -10
- package/lib/browser/userMap/revenueShareEscrowMap.js +38 -11
- package/lib/browser/userMap/userMap.d.ts +81 -3
- package/lib/browser/userMap/userMap.js +81 -4
- package/lib/browser/userMap/userMapConfig.d.ts +23 -0
- package/lib/browser/userMap/userStatsMap.d.ts +22 -0
- package/lib/browser/userMap/userStatsMap.js +22 -0
- package/lib/browser/userName.d.ts +16 -0
- package/lib/browser/userName.js +16 -0
- package/lib/browser/userStats.d.ts +28 -1
- package/lib/browser/userStats.js +28 -1
- package/lib/browser/util/TransactionConfirmationManager.d.ts +33 -0
- package/lib/browser/util/TransactionConfirmationManager.js +33 -0
- package/lib/browser/util/chainClock.d.ts +24 -0
- package/lib/browser/util/chainClock.js +20 -0
- package/lib/browser/util/computeUnits.d.ts +32 -0
- package/lib/browser/util/computeUnits.js +32 -0
- package/lib/browser/util/digest.d.ts +17 -0
- package/lib/browser/util/digest.js +17 -0
- package/lib/browser/util/ed25519Utils.d.ts +12 -2
- package/lib/browser/util/ed25519Utils.js +12 -2
- package/lib/browser/util/promiseTimeout.d.ts +9 -0
- package/lib/browser/util/promiseTimeout.js +9 -0
- package/lib/browser/velocityClient.d.ts +3322 -215
- package/lib/browser/velocityClient.js +3412 -245
- package/lib/browser/wallet.d.ts +37 -0
- package/lib/browser/wallet.js +37 -0
- package/lib/node/accounts/basicUserAccountSubscriber.d.ts +18 -0
- package/lib/node/accounts/basicUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/basicUserAccountSubscriber.js +18 -0
- package/lib/node/accounts/basicUserStatsAccountSubscriber.d.ts +18 -0
- package/lib/node/accounts/basicUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/basicUserStatsAccountSubscriber.js +18 -0
- package/lib/node/accounts/bulkAccountLoader.d.ts +52 -0
- package/lib/node/accounts/bulkAccountLoader.d.ts.map +1 -1
- package/lib/node/accounts/bulkAccountLoader.js +51 -0
- package/lib/node/accounts/bulkUserStatsSubscription.d.ts +9 -2
- package/lib/node/accounts/bulkUserStatsSubscription.d.ts.map +1 -1
- package/lib/node/accounts/bulkUserStatsSubscription.js +9 -2
- package/lib/node/accounts/bulkUserSubscription.d.ts +8 -2
- package/lib/node/accounts/bulkUserSubscription.d.ts.map +1 -1
- package/lib/node/accounts/bulkUserSubscription.js +8 -2
- package/lib/node/accounts/customizedCadenceBulkAccountLoader.d.ts +37 -0
- package/lib/node/accounts/customizedCadenceBulkAccountLoader.d.ts.map +1 -1
- package/lib/node/accounts/customizedCadenceBulkAccountLoader.js +37 -0
- package/lib/node/accounts/fetch.d.ts +59 -2
- package/lib/node/accounts/fetch.d.ts.map +1 -1
- package/lib/node/accounts/fetch.js +57 -2
- package/lib/node/accounts/grpcAccountSubscriber.d.ts +30 -0
- package/lib/node/accounts/grpcAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcAccountSubscriber.js +30 -0
- package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts +16 -0
- package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.js +16 -0
- package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts +60 -1
- package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcMultiAccountSubscriber.js +118 -37
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts +32 -0
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.js +40 -12
- package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts +33 -0
- package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcProgramAccountSubscriber.js +33 -0
- package/lib/node/accounts/grpcUserAccountSubscriber.d.ts +15 -0
- package/lib/node/accounts/grpcUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcUserAccountSubscriber.js +15 -0
- package/lib/node/accounts/grpcUserStatsAccountSubscriber.d.ts +15 -0
- package/lib/node/accounts/grpcUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcUserStatsAccountSubscriber.js +15 -0
- package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts +41 -0
- package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcVelocityClientAccountSubscriber.js +41 -0
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +116 -0
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.js +152 -1
- package/lib/node/accounts/laserProgramAccountSubscriber.d.ts +34 -0
- package/lib/node/accounts/laserProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/laserProgramAccountSubscriber.js +34 -0
- package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts +19 -0
- package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/oneShotUserAccountSubscriber.js +19 -0
- package/lib/node/accounts/oneShotUserStatsAccountSubscriber.d.ts +19 -0
- package/lib/node/accounts/oneShotUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/oneShotUserStatsAccountSubscriber.js +19 -0
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +31 -0
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.js +31 -0
- package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts +19 -0
- package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingOracleAccountSubscriber.js +21 -2
- package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts +22 -0
- package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingTokenAccountSubscriber.js +22 -0
- package/lib/node/accounts/pollingUserAccountSubscriber.d.ts +32 -0
- package/lib/node/accounts/pollingUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingUserAccountSubscriber.js +32 -0
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts +22 -0
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.js +22 -0
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts +83 -0
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.js +84 -1
- package/lib/node/accounts/testBulkAccountLoader.d.ts +8 -0
- package/lib/node/accounts/testBulkAccountLoader.d.ts.map +1 -1
- package/lib/node/accounts/testBulkAccountLoader.js +8 -0
- package/lib/node/accounts/types.d.ts +149 -0
- package/lib/node/accounts/types.d.ts.map +1 -1
- package/lib/node/accounts/types.js +13 -0
- package/lib/node/accounts/utils.d.ts +18 -0
- package/lib/node/accounts/utils.d.ts.map +1 -1
- package/lib/node/accounts/utils.js +32 -16
- package/lib/node/accounts/webSocketAccountSubscriber.d.ts +41 -0
- package/lib/node/accounts/webSocketAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketAccountSubscriber.js +41 -0
- package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts +31 -0
- package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketAccountSubscriberV2.js +31 -23
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +27 -0
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +27 -0
- package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts +36 -0
- package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriber.js +36 -0
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts +21 -0
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.js +25 -0
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts +21 -0
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.js +21 -0
- package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts +26 -0
- package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketUserAccountSubscriber.js +26 -0
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts +20 -0
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.js +20 -0
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts +121 -0
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.js +123 -2
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +96 -0
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.js +108 -0
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts +28 -0
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.js +33 -0
- package/lib/node/addresses/marketAddresses.d.ts +10 -0
- package/lib/node/addresses/marketAddresses.d.ts.map +1 -1
- package/lib/node/addresses/marketAddresses.js +10 -0
- package/lib/node/addresses/pda.d.ts +214 -2
- package/lib/node/addresses/pda.d.ts.map +1 -1
- package/lib/node/addresses/pda.js +217 -5
- package/lib/node/adminClient.d.ts +2136 -4
- package/lib/node/adminClient.d.ts.map +1 -1
- package/lib/node/adminClient.js +2150 -4
- package/lib/node/auctionSubscriber/auctionSubscriber.d.ts +15 -0
- package/lib/node/auctionSubscriber/auctionSubscriber.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriber.js +15 -0
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts +19 -0
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +19 -0
- package/lib/node/auctionSubscriber/index.d.ts +6 -0
- package/lib/node/auctionSubscriber/index.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/index.js +6 -0
- package/lib/node/auctionSubscriber/types.d.ts +7 -0
- package/lib/node/auctionSubscriber/types.d.ts.map +1 -1
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts +33 -0
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts.map +1 -1
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.js +33 -0
- package/lib/node/blockhashSubscriber/index.d.ts +5 -0
- package/lib/node/blockhashSubscriber/index.d.ts.map +1 -1
- package/lib/node/blockhashSubscriber/index.js +5 -0
- package/lib/node/blockhashSubscriber/types.d.ts +5 -0
- package/lib/node/blockhashSubscriber/types.d.ts.map +1 -1
- package/lib/node/clock/clockSubscriber.d.ts +24 -0
- package/lib/node/clock/clockSubscriber.d.ts.map +1 -1
- package/lib/node/clock/clockSubscriber.js +22 -0
- package/lib/node/config.d.ts +58 -4
- package/lib/node/config.d.ts.map +1 -1
- package/lib/node/config.js +88 -21
- package/lib/node/constants/numericConstants.d.ts +67 -0
- package/lib/node/constants/numericConstants.d.ts.map +1 -1
- package/lib/node/constants/numericConstants.js +68 -1
- package/lib/node/constants/perpMarkets.d.ts +10 -0
- package/lib/node/constants/perpMarkets.d.ts.map +1 -1
- package/lib/node/constants/perpMarkets.js +40 -908
- package/lib/node/constants/spotMarkets.d.ts +13 -0
- package/lib/node/constants/spotMarkets.d.ts.map +1 -1
- package/lib/node/constants/spotMarkets.js +16 -742
- package/lib/node/constants/txConstants.d.ts +1 -0
- package/lib/node/constants/txConstants.d.ts.map +1 -1
- package/lib/node/constants/txConstants.js +1 -0
- package/lib/node/core/VelocityCore.d.ts +285 -8
- package/lib/node/core/VelocityCore.d.ts.map +1 -1
- package/lib/node/core/VelocityCore.js +281 -8
- package/lib/node/core/instructions/deposit.d.ts +22 -0
- package/lib/node/core/instructions/deposit.d.ts.map +1 -1
- package/lib/node/core/instructions/deposit.js +22 -0
- package/lib/node/core/instructions/fill.d.ts +17 -0
- package/lib/node/core/instructions/fill.d.ts.map +1 -1
- package/lib/node/core/instructions/fill.js +17 -0
- package/lib/node/core/instructions/funding.d.ts +12 -0
- package/lib/node/core/instructions/funding.d.ts.map +1 -1
- package/lib/node/core/instructions/funding.js +12 -0
- package/lib/node/core/instructions/liquidation.d.ts +18 -0
- package/lib/node/core/instructions/liquidation.d.ts.map +1 -1
- package/lib/node/core/instructions/liquidation.js +18 -0
- package/lib/node/core/instructions/orders.d.ts +28 -0
- package/lib/node/core/instructions/orders.d.ts.map +1 -1
- package/lib/node/core/instructions/orders.js +28 -0
- package/lib/node/core/instructions/perpOrders.d.ts +106 -0
- package/lib/node/core/instructions/perpOrders.d.ts.map +1 -1
- package/lib/node/core/instructions/perpOrders.js +106 -0
- package/lib/node/core/instructions/settlement.d.ts +14 -0
- package/lib/node/core/instructions/settlement.d.ts.map +1 -1
- package/lib/node/core/instructions/settlement.js +14 -0
- package/lib/node/core/instructions/trigger.d.ts +15 -0
- package/lib/node/core/instructions/trigger.d.ts.map +1 -1
- package/lib/node/core/instructions/trigger.js +15 -0
- package/lib/node/core/instructions/withdraw.d.ts +21 -0
- package/lib/node/core/instructions/withdraw.d.ts.map +1 -1
- package/lib/node/core/instructions/withdraw.js +21 -0
- package/lib/node/core/remainingAccounts.d.ts +47 -3
- package/lib/node/core/remainingAccounts.d.ts.map +1 -1
- package/lib/node/core/remainingAccounts.js +20 -0
- package/lib/node/core/signedMsg.d.ts +38 -0
- package/lib/node/core/signedMsg.d.ts.map +1 -1
- package/lib/node/core/signedMsg.js +33 -0
- package/lib/node/decode/customCoder.d.ts +39 -3
- package/lib/node/decode/customCoder.d.ts.map +1 -1
- package/lib/node/decode/customCoder.js +45 -3
- package/lib/node/decode/user.d.ts +22 -0
- package/lib/node/decode/user.d.ts.map +1 -1
- package/lib/node/decode/user.js +22 -0
- package/lib/node/dlob/DLOB.d.ts +502 -53
- package/lib/node/dlob/DLOB.d.ts.map +1 -1
- package/lib/node/dlob/DLOB.js +540 -98
- package/lib/node/dlob/DLOBNode.d.ts +86 -4
- package/lib/node/dlob/DLOBNode.d.ts.map +1 -1
- package/lib/node/dlob/DLOBNode.js +37 -4
- package/lib/node/dlob/DLOBSubscriber.d.ts +39 -12
- package/lib/node/dlob/DLOBSubscriber.d.ts.map +1 -1
- package/lib/node/dlob/DLOBSubscriber.js +42 -12
- package/lib/node/dlob/NodeList.d.ts +69 -0
- package/lib/node/dlob/NodeList.d.ts.map +1 -1
- package/lib/node/dlob/NodeList.js +66 -0
- package/lib/node/dlob/orderBookLevels.d.ts +106 -13
- package/lib/node/dlob/orderBookLevels.d.ts.map +1 -1
- package/lib/node/dlob/orderBookLevels.js +84 -14
- package/lib/node/dlob/types.d.ts +15 -0
- package/lib/node/dlob/types.d.ts.map +1 -1
- package/lib/node/events/eventList.d.ts +14 -0
- package/lib/node/events/eventList.d.ts.map +1 -1
- package/lib/node/events/eventList.js +14 -0
- package/lib/node/events/eventSubscriber.d.ts +87 -10
- package/lib/node/events/eventSubscriber.d.ts.map +1 -1
- package/lib/node/events/eventSubscriber.js +93 -8
- package/lib/node/events/eventsServerLogProvider.d.ts +22 -0
- package/lib/node/events/eventsServerLogProvider.d.ts.map +1 -1
- package/lib/node/events/eventsServerLogProvider.js +27 -0
- package/lib/node/events/fetchLogs.d.ts +31 -0
- package/lib/node/events/fetchLogs.d.ts.map +1 -1
- package/lib/node/events/fetchLogs.js +46 -1
- package/lib/node/events/parse.d.ts +23 -0
- package/lib/node/events/parse.d.ts.map +1 -1
- package/lib/node/events/parse.js +23 -0
- package/lib/node/events/pollingLogProvider.d.ts +24 -0
- package/lib/node/events/pollingLogProvider.d.ts.map +1 -1
- package/lib/node/events/pollingLogProvider.js +24 -0
- package/lib/node/events/sort.d.ts +11 -0
- package/lib/node/events/sort.d.ts.map +1 -1
- package/lib/node/events/sort.js +12 -0
- package/lib/node/events/txEventCache.d.ts +13 -3
- package/lib/node/events/txEventCache.d.ts.map +1 -1
- package/lib/node/events/txEventCache.js +19 -7
- package/lib/node/events/types.d.ts +118 -2
- package/lib/node/events/types.d.ts.map +1 -1
- package/lib/node/events/types.js +11 -0
- package/lib/node/events/webSocketLogProvider.d.ts +23 -0
- package/lib/node/events/webSocketLogProvider.d.ts.map +1 -1
- package/lib/node/events/webSocketLogProvider.js +28 -0
- package/lib/node/factory/oracleClient.js +2 -2
- package/lib/node/idl/velocity.d.ts +4 -4
- package/lib/node/idl/velocity.d.ts.map +1 -1
- package/lib/node/idl/velocity.json +4 -4
- package/lib/node/keypair.d.ts +8 -0
- package/lib/node/keypair.d.ts.map +1 -1
- package/lib/node/keypair.js +8 -0
- package/lib/node/marginCalculation.d.ts +134 -2
- package/lib/node/marginCalculation.d.ts.map +1 -1
- package/lib/node/marginCalculation.js +121 -0
- package/lib/node/math/amm.d.ts +348 -29
- package/lib/node/math/amm.d.ts.map +1 -1
- package/lib/node/math/amm.js +310 -32
- package/lib/node/math/auction.d.ts +95 -19
- package/lib/node/math/auction.d.ts.map +1 -1
- package/lib/node/math/auction.js +118 -28
- package/lib/node/math/bankruptcy.d.ts +46 -0
- package/lib/node/math/bankruptcy.d.ts.map +1 -1
- package/lib/node/math/bankruptcy.js +89 -1
- package/lib/node/math/builder.d.ts +64 -8
- package/lib/node/math/builder.d.ts.map +1 -1
- package/lib/node/math/builder.js +71 -9
- package/lib/node/math/conversion.d.ts +21 -0
- package/lib/node/math/conversion.d.ts.map +1 -1
- package/lib/node/math/conversion.js +21 -0
- package/lib/node/math/exchangeStatus.d.ts +91 -0
- package/lib/node/math/exchangeStatus.d.ts.map +1 -1
- package/lib/node/math/exchangeStatus.js +106 -3
- package/lib/node/math/funding.d.ts +57 -20
- package/lib/node/math/funding.d.ts.map +1 -1
- package/lib/node/math/funding.js +63 -23
- package/lib/node/math/insurance.d.ts +62 -0
- package/lib/node/math/insurance.d.ts.map +1 -1
- package/lib/node/math/insurance.js +62 -0
- package/lib/node/math/liquidation.d.ts +127 -11
- package/lib/node/math/liquidation.d.ts.map +1 -1
- package/lib/node/math/liquidation.js +182 -19
- package/lib/node/math/margin.d.ts +79 -13
- package/lib/node/math/margin.d.ts.map +1 -1
- package/lib/node/math/margin.js +80 -14
- package/lib/node/math/market.d.ts +135 -15
- package/lib/node/math/market.d.ts.map +1 -1
- package/lib/node/math/market.js +145 -17
- package/lib/node/math/oracles.d.ts +113 -0
- package/lib/node/math/oracles.d.ts.map +1 -1
- package/lib/node/math/oracles.js +118 -1
- package/lib/node/math/orders.d.ts +115 -10
- package/lib/node/math/orders.d.ts.map +1 -1
- package/lib/node/math/orders.js +130 -19
- package/lib/node/math/position.d.ts +80 -33
- package/lib/node/math/position.d.ts.map +1 -1
- package/lib/node/math/position.js +80 -33
- package/lib/node/math/repeg.d.ts +48 -10
- package/lib/node/math/repeg.d.ts.map +1 -1
- package/lib/node/math/repeg.js +48 -10
- package/lib/node/math/spotBalance.d.ts +200 -5
- package/lib/node/math/spotBalance.d.ts.map +1 -1
- package/lib/node/math/spotBalance.js +239 -10
- package/lib/node/math/spotMarket.d.ts +36 -3
- package/lib/node/math/spotMarket.d.ts.map +1 -1
- package/lib/node/math/spotMarket.js +36 -3
- package/lib/node/math/spotPosition.d.ts +72 -0
- package/lib/node/math/spotPosition.d.ts.map +1 -1
- package/lib/node/math/spotPosition.js +62 -0
- package/lib/node/math/state.d.ts +31 -0
- package/lib/node/math/state.d.ts.map +1 -1
- package/lib/node/math/state.js +31 -0
- package/lib/node/math/superStake.d.ts +126 -2
- package/lib/node/math/superStake.d.ts.map +1 -1
- package/lib/node/math/superStake.js +123 -3
- package/lib/node/math/tiers.d.ts +29 -0
- package/lib/node/math/tiers.d.ts.map +1 -1
- package/lib/node/math/tiers.js +29 -0
- package/lib/node/math/trade.d.ts +102 -51
- package/lib/node/math/trade.d.ts.map +1 -1
- package/lib/node/math/trade.js +101 -55
- package/lib/node/math/utils.d.ts +71 -9
- package/lib/node/math/utils.d.ts.map +1 -1
- package/lib/node/math/utils.js +71 -9
- package/lib/node/memcmp.d.ts +94 -0
- package/lib/node/memcmp.d.ts.map +1 -1
- package/lib/node/memcmp.js +103 -2
- package/lib/node/oracles/oracleClientCache.d.ts +16 -0
- package/lib/node/oracles/oracleClientCache.d.ts.map +1 -1
- package/lib/node/oracles/oracleClientCache.js +16 -0
- package/lib/node/oracles/oracleId.d.ts +31 -0
- package/lib/node/oracles/oracleId.d.ts.map +1 -1
- package/lib/node/oracles/oracleId.js +39 -8
- package/lib/node/oracles/prelaunchOracleClient.d.ts +20 -0
- package/lib/node/oracles/prelaunchOracleClient.d.ts.map +1 -1
- package/lib/node/oracles/prelaunchOracleClient.js +20 -0
- package/lib/node/oracles/pythClient.d.ts +31 -0
- package/lib/node/oracles/pythClient.d.ts.map +1 -1
- package/lib/node/oracles/pythClient.js +32 -1
- package/lib/node/oracles/pythLazerClient.d.ts +34 -0
- package/lib/node/oracles/pythLazerClient.d.ts.map +1 -1
- package/lib/node/oracles/pythLazerClient.js +35 -1
- package/lib/node/oracles/quoteAssetOracleClient.d.ts +18 -0
- package/lib/node/oracles/quoteAssetOracleClient.d.ts.map +1 -1
- package/lib/node/oracles/quoteAssetOracleClient.js +18 -0
- package/lib/node/oracles/strictOraclePrice.d.ts +21 -0
- package/lib/node/oracles/strictOraclePrice.d.ts.map +1 -1
- package/lib/node/oracles/strictOraclePrice.js +21 -0
- package/lib/node/oracles/types.d.ts +45 -0
- package/lib/node/oracles/types.d.ts.map +1 -1
- package/lib/node/oracles/utils.d.ts +20 -0
- package/lib/node/oracles/utils.d.ts.map +1 -1
- package/lib/node/oracles/utils.js +20 -0
- package/lib/node/orderParams.d.ts +42 -4
- package/lib/node/orderParams.d.ts.map +1 -1
- package/lib/node/orderParams.js +42 -4
- package/lib/node/orderSubscriber/OrderSubscriber.d.ts +56 -0
- package/lib/node/orderSubscriber/OrderSubscriber.d.ts.map +1 -1
- package/lib/node/orderSubscriber/OrderSubscriber.js +56 -0
- package/lib/node/orderSubscriber/PollingSubscription.d.ts +11 -0
- package/lib/node/orderSubscriber/PollingSubscription.d.ts.map +1 -1
- package/lib/node/orderSubscriber/PollingSubscription.js +11 -0
- package/lib/node/orderSubscriber/WebsocketSubscription.d.ts +18 -0
- package/lib/node/orderSubscriber/WebsocketSubscription.d.ts.map +1 -1
- package/lib/node/orderSubscriber/WebsocketSubscription.js +18 -0
- package/lib/node/orderSubscriber/grpcSubscription.d.ts +16 -0
- package/lib/node/orderSubscriber/grpcSubscription.d.ts.map +1 -1
- package/lib/node/orderSubscriber/grpcSubscription.js +16 -0
- package/lib/node/orderSubscriber/types.d.ts +9 -0
- package/lib/node/orderSubscriber/types.d.ts.map +1 -1
- package/lib/node/priorityFee/averageOverSlotsStrategy.d.ts +1 -0
- package/lib/node/priorityFee/averageOverSlotsStrategy.d.ts.map +1 -1
- package/lib/node/priorityFee/averageOverSlotsStrategy.js +1 -0
- package/lib/node/priorityFee/averageStrategy.d.ts +1 -0
- package/lib/node/priorityFee/averageStrategy.d.ts.map +1 -1
- package/lib/node/priorityFee/averageStrategy.js +1 -0
- package/lib/node/priorityFee/ewmaStrategy.d.ts +10 -0
- package/lib/node/priorityFee/ewmaStrategy.d.ts.map +1 -1
- package/lib/node/priorityFee/ewmaStrategy.js +10 -0
- package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts +13 -0
- package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts.map +1 -1
- package/lib/node/priorityFee/heliusPriorityFeeMethod.js +9 -2
- package/lib/node/priorityFee/maxOverSlotsStrategy.d.ts +1 -0
- package/lib/node/priorityFee/maxOverSlotsStrategy.d.ts.map +1 -1
- package/lib/node/priorityFee/maxOverSlotsStrategy.js +1 -0
- package/lib/node/priorityFee/maxStrategy.d.ts +1 -0
- package/lib/node/priorityFee/maxStrategy.d.ts.map +1 -1
- package/lib/node/priorityFee/maxStrategy.js +1 -0
- package/lib/node/priorityFee/priorityFeeSubscriber.d.ts +39 -0
- package/lib/node/priorityFee/priorityFeeSubscriber.d.ts.map +1 -1
- package/lib/node/priorityFee/priorityFeeSubscriber.js +39 -0
- package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts +20 -1
- package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts.map +1 -1
- package/lib/node/priorityFee/priorityFeeSubscriberMap.js +21 -2
- package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts +12 -0
- package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts.map +1 -1
- package/lib/node/priorityFee/solanaPriorityFeeMethod.js +10 -0
- package/lib/node/priorityFee/types.d.ts +32 -0
- package/lib/node/priorityFee/types.d.ts.map +1 -1
- package/lib/node/priorityFee/types.js +5 -0
- package/lib/node/priorityFee/velocityPriorityFeeMethod.d.ts +11 -0
- package/lib/node/priorityFee/velocityPriorityFeeMethod.d.ts.map +1 -1
- package/lib/node/priorityFee/velocityPriorityFeeMethod.js +8 -0
- package/lib/node/slot/SlotSubscriber.d.ts +18 -0
- package/lib/node/slot/SlotSubscriber.d.ts.map +1 -1
- package/lib/node/slot/SlotSubscriber.js +16 -0
- package/lib/node/slot/SlothashSubscriber.d.ts +26 -0
- package/lib/node/slot/SlothashSubscriber.d.ts.map +1 -1
- package/lib/node/slot/SlothashSubscriber.js +25 -1
- package/lib/node/tx/baseTxSender.d.ts +163 -0
- package/lib/node/tx/baseTxSender.d.ts.map +1 -1
- package/lib/node/tx/baseTxSender.js +174 -6
- package/lib/node/tx/blockhashFetcher/baseBlockhashFetcher.d.ts +12 -0
- package/lib/node/tx/blockhashFetcher/baseBlockhashFetcher.d.ts.map +1 -1
- package/lib/node/tx/blockhashFetcher/baseBlockhashFetcher.js +12 -0
- package/lib/node/tx/blockhashFetcher/cachedBlockhashFetcher.d.ts +15 -0
- package/lib/node/tx/blockhashFetcher/cachedBlockhashFetcher.d.ts.map +1 -1
- package/lib/node/tx/blockhashFetcher/cachedBlockhashFetcher.js +15 -0
- package/lib/node/tx/blockhashFetcher/types.d.ts +4 -0
- package/lib/node/tx/blockhashFetcher/types.d.ts.map +1 -1
- package/lib/node/tx/fastSingleTxSender.d.ts +47 -0
- package/lib/node/tx/fastSingleTxSender.d.ts.map +1 -1
- package/lib/node/tx/fastSingleTxSender.js +48 -1
- package/lib/node/tx/forwardOnlyTxSender.d.ts +48 -0
- package/lib/node/tx/forwardOnlyTxSender.d.ts.map +1 -1
- package/lib/node/tx/forwardOnlyTxSender.js +48 -0
- package/lib/node/tx/reportTransactionError.d.ts +18 -6
- package/lib/node/tx/reportTransactionError.d.ts.map +1 -1
- package/lib/node/tx/reportTransactionError.js +18 -6
- package/lib/node/tx/retryTxSender.d.ts +40 -0
- package/lib/node/tx/retryTxSender.d.ts.map +1 -1
- package/lib/node/tx/retryTxSender.js +39 -0
- package/lib/node/tx/txHandler.d.ts +146 -35
- package/lib/node/tx/txHandler.d.ts.map +1 -1
- package/lib/node/tx/txHandler.js +132 -32
- package/lib/node/tx/txParamProcessor.d.ts +47 -0
- package/lib/node/tx/txParamProcessor.d.ts.map +1 -1
- package/lib/node/tx/txParamProcessor.js +47 -0
- package/lib/node/tx/types.d.ts +46 -0
- package/lib/node/tx/types.d.ts.map +1 -1
- package/lib/node/tx/types.js +5 -0
- package/lib/node/tx/utils.d.ts +26 -0
- package/lib/node/tx/utils.d.ts.map +1 -1
- package/lib/node/tx/utils.js +26 -0
- package/lib/node/tx/whileValidTxSender.d.ts +82 -0
- package/lib/node/tx/whileValidTxSender.d.ts.map +1 -1
- package/lib/node/tx/whileValidTxSender.js +81 -0
- package/lib/node/types.d.ts +781 -13
- package/lib/node/types.d.ts.map +1 -1
- package/lib/node/types.js +126 -9
- package/lib/node/user.d.ts +645 -84
- package/lib/node/user.d.ts.map +1 -1
- package/lib/node/user.js +779 -96
- package/lib/node/userMap/PollingSubscription.d.ts +10 -0
- package/lib/node/userMap/PollingSubscription.d.ts.map +1 -1
- package/lib/node/userMap/PollingSubscription.js +14 -2
- package/lib/node/userMap/WebsocketSubscription.d.ts +9 -0
- package/lib/node/userMap/WebsocketSubscription.d.ts.map +1 -1
- package/lib/node/userMap/WebsocketSubscription.js +9 -0
- package/lib/node/userMap/grpcSubscription.d.ts +8 -0
- package/lib/node/userMap/grpcSubscription.d.ts.map +1 -1
- package/lib/node/userMap/grpcSubscription.js +8 -0
- package/lib/node/userMap/referrerMap.d.ts +72 -2
- package/lib/node/userMap/referrerMap.d.ts.map +1 -1
- package/lib/node/userMap/referrerMap.js +84 -2
- package/lib/node/userMap/revenueShareEscrowMap.d.ts +37 -10
- package/lib/node/userMap/revenueShareEscrowMap.d.ts.map +1 -1
- package/lib/node/userMap/revenueShareEscrowMap.js +38 -11
- package/lib/node/userMap/userMap.d.ts +81 -3
- package/lib/node/userMap/userMap.d.ts.map +1 -1
- package/lib/node/userMap/userMap.js +81 -4
- package/lib/node/userMap/userMapConfig.d.ts +23 -0
- package/lib/node/userMap/userMapConfig.d.ts.map +1 -1
- package/lib/node/userMap/userStatsMap.d.ts +22 -0
- package/lib/node/userMap/userStatsMap.d.ts.map +1 -1
- package/lib/node/userMap/userStatsMap.js +22 -0
- package/lib/node/userName.d.ts +16 -0
- package/lib/node/userName.d.ts.map +1 -1
- package/lib/node/userName.js +16 -0
- package/lib/node/userStats.d.ts +28 -1
- package/lib/node/userStats.d.ts.map +1 -1
- package/lib/node/userStats.js +28 -1
- package/lib/node/util/TransactionConfirmationManager.d.ts +33 -0
- package/lib/node/util/TransactionConfirmationManager.d.ts.map +1 -1
- package/lib/node/util/TransactionConfirmationManager.js +33 -0
- package/lib/node/util/chainClock.d.ts +24 -0
- package/lib/node/util/chainClock.d.ts.map +1 -1
- package/lib/node/util/chainClock.js +20 -0
- package/lib/node/util/computeUnits.d.ts +32 -0
- package/lib/node/util/computeUnits.d.ts.map +1 -1
- package/lib/node/util/computeUnits.js +32 -0
- package/lib/node/util/digest.d.ts +17 -0
- package/lib/node/util/digest.d.ts.map +1 -1
- package/lib/node/util/digest.js +17 -0
- package/lib/node/util/ed25519Utils.d.ts +12 -2
- package/lib/node/util/ed25519Utils.d.ts.map +1 -1
- package/lib/node/util/ed25519Utils.js +12 -2
- package/lib/node/util/promiseTimeout.d.ts +9 -0
- package/lib/node/util/promiseTimeout.d.ts.map +1 -1
- package/lib/node/util/promiseTimeout.js +9 -0
- package/lib/node/velocityClient.d.ts +3322 -215
- package/lib/node/velocityClient.d.ts.map +1 -1
- package/lib/node/velocityClient.js +3412 -245
- package/lib/node/wallet.d.ts +37 -0
- package/lib/node/wallet.d.ts.map +1 -1
- package/lib/node/wallet.js +37 -0
- package/package.json +2 -1
- package/src/accounts/basicUserAccountSubscriber.ts +18 -0
- package/src/accounts/basicUserStatsAccountSubscriber.ts +18 -0
- package/src/accounts/bulkAccountLoader.ts +52 -0
- package/src/accounts/bulkUserStatsSubscription.ts +9 -2
- package/src/accounts/bulkUserSubscription.ts +8 -2
- package/src/accounts/customizedCadenceBulkAccountLoader.ts +37 -0
- package/src/accounts/fetch.ts +59 -2
- package/src/accounts/grpcAccountSubscriber.ts +30 -0
- package/src/accounts/grpcInsuranceFundStakeAccountSubscriber.ts +16 -0
- package/src/accounts/grpcMultiAccountSubscriber.ts +121 -38
- package/src/accounts/grpcMultiUserAccountSubscriber.ts +49 -11
- package/src/accounts/grpcProgramAccountSubscriber.ts +33 -0
- package/src/accounts/grpcUserAccountSubscriber.ts +15 -0
- package/src/accounts/grpcUserStatsAccountSubscriber.ts +15 -0
- package/src/accounts/grpcVelocityClientAccountSubscriber.ts +41 -0
- package/src/accounts/grpcVelocityClientAccountSubscriberV2.ts +160 -1
- package/src/accounts/laserProgramAccountSubscriber.ts +34 -0
- package/src/accounts/oneShotUserAccountSubscriber.ts +19 -0
- package/src/accounts/oneShotUserStatsAccountSubscriber.ts +19 -0
- package/src/accounts/pollingInsuranceFundStakeAccountSubscriber.ts +31 -0
- package/src/accounts/pollingOracleAccountSubscriber.ts +21 -2
- package/src/accounts/pollingTokenAccountSubscriber.ts +22 -0
- package/src/accounts/pollingUserAccountSubscriber.ts +32 -0
- package/src/accounts/pollingUserStatsAccountSubscriber.ts +22 -0
- package/src/accounts/pollingVelocityClientAccountSubscriber.ts +84 -1
- package/src/accounts/testBulkAccountLoader.ts +8 -0
- package/src/accounts/types.ts +149 -0
- package/src/accounts/utils.ts +42 -24
- package/src/accounts/webSocketAccountSubscriber.ts +41 -0
- package/src/accounts/webSocketAccountSubscriberV2.ts +31 -23
- package/src/accounts/webSocketInsuranceFundStakeAccountSubscriber.ts +27 -0
- package/src/accounts/webSocketProgramAccountSubscriber.ts +36 -0
- package/src/accounts/webSocketProgramAccountSubscriberV2.ts +26 -0
- package/src/accounts/webSocketProgramAccountsSubscriberV2.ts +21 -0
- package/src/accounts/webSocketUserAccountSubscriber.ts +26 -0
- package/src/accounts/webSocketUserStatsAccountSubsriber.ts +20 -0
- package/src/accounts/webSocketVelocityClientAccountSubscriber.ts +127 -2
- package/src/accounts/webSocketVelocityClientAccountSubscriberV2.ts +110 -0
- package/src/accounts/websocketProgramUserAccountSubscriber.ts +33 -0
- package/src/addresses/marketAddresses.ts +10 -0
- package/src/addresses/pda.ts +228 -12
- package/src/adminClient.ts +2156 -4
- package/src/auctionSubscriber/auctionSubscriber.ts +15 -0
- package/src/auctionSubscriber/auctionSubscriberGrpc.ts +19 -0
- package/src/auctionSubscriber/index.ts +6 -0
- package/src/auctionSubscriber/types.ts +7 -0
- package/src/blockhashSubscriber/BlockhashSubscriber.ts +33 -0
- package/src/blockhashSubscriber/index.ts +5 -0
- package/src/blockhashSubscriber/types.ts +5 -4
- package/src/clock/clockSubscriber.ts +24 -0
- package/src/config.ts +109 -22
- package/src/constants/numericConstants.ts +70 -0
- package/src/constants/perpMarkets.ts +45 -960
- package/src/constants/spotMarkets.ts +23 -793
- package/src/constants/txConstants.ts +1 -0
- package/src/core/VelocityCore.ts +286 -8
- package/src/core/instructions/deposit.ts +22 -0
- package/src/core/instructions/fill.ts +17 -0
- package/src/core/instructions/funding.ts +12 -0
- package/src/core/instructions/liquidation.ts +18 -0
- package/src/core/instructions/orders.ts +28 -0
- package/src/core/instructions/perpOrders.ts +106 -0
- package/src/core/instructions/settlement.ts +14 -0
- package/src/core/instructions/trigger.ts +15 -0
- package/src/core/instructions/withdraw.ts +21 -0
- package/src/core/remainingAccounts.ts +47 -3
- package/src/core/signedMsg.ts +38 -0
- package/src/decode/customCoder.ts +46 -3
- package/src/decode/user.ts +22 -0
- package/src/dlob/DLOB.ts +668 -97
- package/src/dlob/DLOBNode.ts +98 -6
- package/src/dlob/DLOBSubscriber.ts +49 -12
- package/src/dlob/NodeList.ts +69 -0
- package/src/dlob/orderBookLevels.ts +108 -14
- package/src/dlob/types.ts +15 -0
- package/src/events/eventList.ts +14 -0
- package/src/events/eventSubscriber.ts +100 -19
- package/src/events/eventsServerLogProvider.ts +28 -0
- package/src/events/fetchLogs.ts +52 -2
- package/src/events/parse.ts +23 -0
- package/src/events/pollingLogProvider.ts +24 -0
- package/src/events/sort.ts +12 -0
- package/src/events/txEventCache.ts +19 -7
- package/src/events/types.ts +131 -11
- package/src/events/webSocketLogProvider.ts +29 -0
- package/src/factory/oracleClient.ts +2 -2
- package/src/idl/velocity.json +4 -4
- package/src/idl/velocity.ts +4 -4
- package/src/keypair.ts +8 -0
- package/src/marginCalculation.ts +153 -2
- package/src/math/amm.ts +371 -36
- package/src/math/auction.ts +139 -30
- package/src/math/bankruptcy.ts +104 -1
- package/src/math/builder.ts +74 -8
- package/src/math/conversion.ts +21 -0
- package/src/math/exchangeStatus.ts +117 -2
- package/src/math/funding.ts +63 -23
- package/src/math/insurance.ts +62 -0
- package/src/math/liquidation.ts +227 -17
- package/src/math/margin.ts +80 -14
- package/src/math/market.ts +148 -17
- package/src/math/oracles.ts +124 -0
- package/src/math/orders.ts +141 -19
- package/src/math/position.ts +80 -33
- package/src/math/repeg.ts +48 -10
- package/src/math/spotBalance.ts +252 -12
- package/src/math/spotMarket.ts +36 -3
- package/src/math/spotPosition.ts +72 -0
- package/src/math/state.ts +31 -0
- package/src/math/superStake.ts +126 -3
- package/src/math/tiers.ts +29 -0
- package/src/math/trade.ts +125 -55
- package/src/math/utils.ts +71 -9
- package/src/memcmp.ts +104 -2
- package/src/oracles/oracleClientCache.ts +16 -0
- package/src/oracles/oracleId.ts +39 -6
- package/src/oracles/prelaunchOracleClient.ts +20 -0
- package/src/oracles/pythClient.ts +32 -1
- package/src/oracles/pythLazerClient.ts +35 -1
- package/src/oracles/quoteAssetOracleClient.ts +18 -0
- package/src/oracles/strictOraclePrice.ts +21 -0
- package/src/oracles/types.ts +45 -0
- package/src/oracles/utils.ts +20 -0
- package/src/orderParams.ts +42 -4
- package/src/orderSubscriber/OrderSubscriber.ts +56 -0
- package/src/orderSubscriber/PollingSubscription.ts +11 -0
- package/src/orderSubscriber/WebsocketSubscription.ts +18 -0
- package/src/orderSubscriber/grpcSubscription.ts +16 -0
- package/src/orderSubscriber/types.ts +9 -0
- package/src/priorityFee/averageOverSlotsStrategy.ts +1 -0
- package/src/priorityFee/averageStrategy.ts +1 -0
- package/src/priorityFee/ewmaStrategy.ts +10 -0
- package/src/priorityFee/heliusPriorityFeeMethod.ts +13 -2
- package/src/priorityFee/maxOverSlotsStrategy.ts +1 -0
- package/src/priorityFee/maxStrategy.ts +1 -0
- package/src/priorityFee/priorityFeeSubscriber.ts +39 -0
- package/src/priorityFee/priorityFeeSubscriberMap.ts +21 -2
- package/src/priorityFee/solanaPriorityFeeMethod.ts +12 -0
- package/src/priorityFee/types.ts +33 -15
- package/src/priorityFee/velocityPriorityFeeMethod.ts +11 -0
- package/src/slot/SlotSubscriber.ts +18 -0
- package/src/slot/SlothashSubscriber.ts +27 -1
- package/src/tx/baseTxSender.ts +185 -5
- package/src/tx/blockhashFetcher/baseBlockhashFetcher.ts +12 -0
- package/src/tx/blockhashFetcher/cachedBlockhashFetcher.ts +15 -0
- package/src/tx/blockhashFetcher/types.ts +4 -0
- package/src/tx/fastSingleTxSender.ts +58 -4
- package/src/tx/forwardOnlyTxSender.ts +48 -0
- package/src/tx/reportTransactionError.ts +18 -6
- package/src/tx/retryTxSender.ts +40 -0
- package/src/tx/txHandler.ts +146 -35
- package/src/tx/txParamProcessor.ts +47 -0
- package/src/tx/types.ts +46 -0
- package/src/tx/utils.ts +26 -0
- package/src/tx/whileValidTxSender.ts +82 -0
- package/src/types.ts +777 -24
- package/src/user.ts +869 -110
- package/src/userMap/PollingSubscription.ts +16 -2
- package/src/userMap/WebsocketSubscription.ts +9 -0
- package/src/userMap/grpcSubscription.ts +8 -0
- package/src/userMap/referrerMap.ts +92 -3
- package/src/userMap/revenueShareEscrowMap.ts +38 -11
- package/src/userMap/userMap.ts +82 -4
- package/src/userMap/userMapConfig.ts +23 -10
- package/src/userMap/userStatsMap.ts +22 -0
- package/src/userName.ts +16 -0
- package/src/userStats.ts +28 -1
- package/src/util/TransactionConfirmationManager.ts +33 -0
- package/src/util/chainClock.ts +24 -0
- package/src/util/computeUnits.ts +32 -0
- package/src/util/digest.ts +17 -0
- package/src/util/ed25519Utils.ts +12 -2
- package/src/util/promiseTimeout.ts +9 -0
- package/src/velocityClient.ts +3439 -249
- package/src/wallet.ts +37 -0
- package/tests/VelocityCore/builder_escrow.test.ts +121 -0
- package/tests/amm/test.ts +102 -0
- package/tests/builder/builderFee.test.ts +42 -0
- package/tests/dlob/tickSizeStandardization.ts +545 -0
- package/tests/exchangeStatus/test.ts +45 -0
- package/tests/liquidation/test.ts +125 -0
- package/tests/oracles/mmOracleGate.test.ts +379 -0
- package/tests/oracles/pythPegSnap.test.ts +76 -0
- package/tests/sdkParity/enumParity.test.ts +84 -0
- package/tests/sdkParity/marginCategoryFill.test.ts +143 -0
- package/tests/sdkParity/memcmpOffsets.test.ts +139 -0
- package/tests/spot/test.ts +55 -0
- package/tests/user/bankruptcy.ts +165 -0
- package/tests/user/feeAndWithdrawLimits.ts +284 -0
- package/tests/user/getMarginCalculation.ts +226 -1
- package/tests/user/test.ts +8 -4
|
@@ -12,7 +12,25 @@ const quoteAssetOracleClient_1 = require("../oracles/quoteAssetOracleClient");
|
|
|
12
12
|
const config_1 = require("../config");
|
|
13
13
|
const oracleId_1 = require("../oracles/oracleId");
|
|
14
14
|
const ORACLE_DEFAULT_ID = (0, oracleId_1.getOracleId)(web3_js_1.PublicKey.default, types_2.OracleSource.QUOTE_ASSET);
|
|
15
|
+
/**
|
|
16
|
+
* `VelocityClientAccountSubscriber` that batches the `State`, every tracked `PerpMarket`/
|
|
17
|
+
* `SpotMarket`, and every tracked oracle behind a single `BulkAccountLoader` instead of one
|
|
18
|
+
* WebSocket subscription per account. Cheaper on connection count at the cost of update latency
|
|
19
|
+
* bounded by the loader's poll interval. `subscribe()` retries the initial load up to 5 times
|
|
20
|
+
* before giving up (returning `false`) if the `State` account never appears — `didSubscriptionSucceed`
|
|
21
|
+
* checks only for `state`, since market/oracle data can be added incrementally afterward via
|
|
22
|
+
* `addPerpMarket`/`addSpotMarket`/`addOracle`.
|
|
23
|
+
*/
|
|
15
24
|
class PollingVelocityClientAccountSubscriber {
|
|
25
|
+
/**
|
|
26
|
+
* @param program Anchor program used to derive PDAs, decode accounts, and resolve oracle clients.
|
|
27
|
+
* @param accountLoader Shared `BulkAccountLoader` all state/market/oracle accounts are registered with.
|
|
28
|
+
* @param perpMarketIndexes Perp market indexes to track, if `shouldFindAllMarketsAndOracles` is false.
|
|
29
|
+
* @param spotMarketIndexes Spot market indexes to track, if `shouldFindAllMarketsAndOracles` is false.
|
|
30
|
+
* @param oracleInfos Oracles to track up front, if `shouldFindAllMarketsAndOracles` is false.
|
|
31
|
+
* @param shouldFindAllMarketsAndOracles If true, `subscribe()` first discovers every market/oracle from on-chain state, ignoring the index/info args above.
|
|
32
|
+
* @param delistedMarketSetting Behavior applied to delisted perp markets/oracles after subscribing; see `DelistedMarketSetting`.
|
|
33
|
+
*/
|
|
16
34
|
constructor(program, accountLoader, perpMarketIndexes, spotMarketIndexes, oracleInfos, shouldFindAllMarketsAndOracles, delistedMarketSetting) {
|
|
17
35
|
this.oracleClientCache = new oracleClientCache_1.OracleClientCache();
|
|
18
36
|
this.accountsToPoll = new Map();
|
|
@@ -39,6 +57,13 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
39
57
|
this.shouldFindAllMarketsAndOracles = shouldFindAllMarketsAndOracles;
|
|
40
58
|
this.delistedMarketSetting = delistedMarketSetting;
|
|
41
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Registers state/market/oracle accounts with the `BulkAccountLoader` and retries the initial
|
|
62
|
+
* load up to 5 times until the `State` account has appeared. Idempotent: a no-op if already
|
|
63
|
+
* subscribed, and concurrent calls while a subscribe is in flight share the same result via
|
|
64
|
+
* `subscriptionPromise` rather than issuing duplicate loads.
|
|
65
|
+
* @returns `true` if `State` account data loaded within the retry budget, `false` otherwise.
|
|
66
|
+
*/
|
|
42
67
|
async subscribe() {
|
|
43
68
|
if (this.isSubscribed) {
|
|
44
69
|
return true;
|
|
@@ -211,6 +236,7 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
211
236
|
this.eventEmitter.emit('update');
|
|
212
237
|
});
|
|
213
238
|
}
|
|
239
|
+
/** Forces the shared `BulkAccountLoader` to load, then re-decodes every tracked state/market/oracle account from the loader's cached buffers into this subscriber's maps. */
|
|
214
240
|
async fetch() {
|
|
215
241
|
await this.accountLoader.load();
|
|
216
242
|
for (const [_, accountToPoll] of this.accountsToPoll) {
|
|
@@ -243,11 +269,13 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
243
269
|
}
|
|
244
270
|
}
|
|
245
271
|
}
|
|
272
|
+
/** True once the `State` account has loaded, independent of `isSubscribed`. Market/oracle data is not required. */
|
|
246
273
|
didSubscriptionSucceed() {
|
|
247
274
|
if (this.state)
|
|
248
275
|
return true;
|
|
249
276
|
return false;
|
|
250
277
|
}
|
|
278
|
+
/** Removes every tracked state/market/oracle account and the error callback from the `BulkAccountLoader`, then clears internal maps. */
|
|
251
279
|
async unsubscribe() {
|
|
252
280
|
for (const [_, accountToPoll] of this.accountsToPoll) {
|
|
253
281
|
this.accountLoader.removeAccount(accountToPoll.publicKey, accountToPoll.callbackId);
|
|
@@ -261,6 +289,11 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
261
289
|
this.oraclesToPoll.clear();
|
|
262
290
|
this.isSubscribed = false;
|
|
263
291
|
}
|
|
292
|
+
/**
|
|
293
|
+
* Adds a spot market (and its oracle, via `setSpotOracleMap`) to be tracked, registering it
|
|
294
|
+
* with the `BulkAccountLoader`. Idempotent: returns `true` immediately if already tracked.
|
|
295
|
+
* @param marketIndex Spot market index to start tracking.
|
|
296
|
+
*/
|
|
264
297
|
async addSpotMarket(marketIndex) {
|
|
265
298
|
const marketPublicKey = await (0, pda_1.getSpotMarketPublicKey)(this.program.programId, marketIndex);
|
|
266
299
|
if (this.accountsToPoll.has(marketPublicKey.toString())) {
|
|
@@ -272,9 +305,14 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
272
305
|
return false;
|
|
273
306
|
}
|
|
274
307
|
await this.addAccountToAccountLoader(accountToPoll);
|
|
275
|
-
this.setSpotOracleMap();
|
|
308
|
+
await this.setSpotOracleMap();
|
|
276
309
|
return true;
|
|
277
310
|
}
|
|
311
|
+
/**
|
|
312
|
+
* Adds a perp market (and its oracle, via `setPerpOracleMap`) to be tracked, registering it
|
|
313
|
+
* with the `BulkAccountLoader`. Idempotent: returns `true` immediately if already tracked.
|
|
314
|
+
* @param marketIndex Perp market index to start tracking.
|
|
315
|
+
*/
|
|
278
316
|
async addPerpMarket(marketIndex) {
|
|
279
317
|
const marketPublicKey = await (0, pda_1.getPerpMarketPublicKey)(this.program.programId, marketIndex);
|
|
280
318
|
if (this.accountsToPoll.has(marketPublicKey.toString())) {
|
|
@@ -289,6 +327,13 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
289
327
|
await this.setPerpOracleMap();
|
|
290
328
|
return true;
|
|
291
329
|
}
|
|
330
|
+
/**
|
|
331
|
+
* Adds an oracle to be tracked, registering it with the `BulkAccountLoader` and waiting
|
|
332
|
+
* (polling up to 3 times at `accountLoader.pollingFrequency` intervals) for it to appear in
|
|
333
|
+
* the loader's buffer map before resolving. A no-op that resolves `true` immediately for the
|
|
334
|
+
* `PublicKey.default` sentinel (quote-asset "no oracle") or an oracle already tracked.
|
|
335
|
+
* @param oracleInfo Oracle pubkey and source to start tracking.
|
|
336
|
+
*/
|
|
292
337
|
async addOracle(oracleInfo) {
|
|
293
338
|
const oracleId = (0, oracleId_1.getOracleId)(oracleInfo.publicKey, oracleInfo.source);
|
|
294
339
|
if (oracleInfo.publicKey.equals(web3_js_1.PublicKey.default) ||
|
|
@@ -318,6 +363,7 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
318
363
|
}
|
|
319
364
|
console.log(`Pausing to find oracle ${oracle} failed`);
|
|
320
365
|
}
|
|
366
|
+
/** Rebuilds `perpOracleMap`/`perpOracleStringMap` from currently cached perp markets, calling `addOracle` for any oracle not yet tracked. */
|
|
321
367
|
async setPerpOracleMap() {
|
|
322
368
|
const perpMarkets = this.getMarketAccountsAndSlots();
|
|
323
369
|
const oraclePromises = [];
|
|
@@ -337,6 +383,7 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
337
383
|
}
|
|
338
384
|
await Promise.all(oraclePromises);
|
|
339
385
|
}
|
|
386
|
+
/** Rebuilds `spotOracleMap`/`spotOracleStringMap` from currently cached spot markets, calling `addOracle` for any oracle not yet tracked. */
|
|
340
387
|
async setSpotOracleMap() {
|
|
341
388
|
const spotMarkets = this.getSpotMarketAccountsAndSlots();
|
|
342
389
|
const oraclePromises = [];
|
|
@@ -356,6 +403,14 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
356
403
|
}
|
|
357
404
|
await Promise.all(oraclePromises);
|
|
358
405
|
}
|
|
406
|
+
/**
|
|
407
|
+
* Applies `delistedMarketSetting` to any perp market currently `status: delisted` (and its
|
|
408
|
+
* oracle, if not shared with a live spot market): removes the `BulkAccountLoader` registration,
|
|
409
|
+
* and additionally drops the market/oracle from internal maps if the setting is `Discard`. A
|
|
410
|
+
* no-op if the setting is `Subscribe`. Throws if internal bookkeeping is inconsistent (e.g. a
|
|
411
|
+
* delisted market missing from `accountsToPoll`), which would indicate a bug rather than an
|
|
412
|
+
* expected runtime condition.
|
|
413
|
+
*/
|
|
359
414
|
handleDelistedMarkets() {
|
|
360
415
|
if (this.delistedMarketSetting === types_1.DelistedMarketSetting.Subscribe) {
|
|
361
416
|
return;
|
|
@@ -390,27 +445,40 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
390
445
|
}
|
|
391
446
|
}
|
|
392
447
|
}
|
|
448
|
+
/** Throws `NotSubscribedError` if `subscribe()` has not been called. */
|
|
393
449
|
assertIsSubscribed() {
|
|
394
450
|
if (!this.isSubscribed) {
|
|
395
451
|
throw new types_1.NotSubscribedError('You must call `subscribe` before using this function');
|
|
396
452
|
}
|
|
397
453
|
}
|
|
454
|
+
/** Throws `NotSubscribedError` if not subscribed. */
|
|
398
455
|
getStateAccountAndSlot() {
|
|
399
456
|
this.assertIsSubscribed();
|
|
400
457
|
return this.state;
|
|
401
458
|
}
|
|
459
|
+
/** Returns the cached perp market, or undefined if `marketIndex` isn't tracked (or hasn't loaded yet). Does not throw `NotSubscribedError`. */
|
|
402
460
|
getMarketAccountAndSlot(marketIndex) {
|
|
403
461
|
return this.perpMarket.get(marketIndex);
|
|
404
462
|
}
|
|
463
|
+
/** Returns every currently cached perp market. Does not throw `NotSubscribedError`. */
|
|
405
464
|
getMarketAccountsAndSlots() {
|
|
406
465
|
return Array.from(this.perpMarket.values());
|
|
407
466
|
}
|
|
467
|
+
/** Returns the cached spot market, or undefined if `marketIndex` isn't tracked (or hasn't loaded yet). Does not throw `NotSubscribedError`. */
|
|
408
468
|
getSpotMarketAccountAndSlot(marketIndex) {
|
|
409
469
|
return this.spotMarket.get(marketIndex);
|
|
410
470
|
}
|
|
471
|
+
/** Returns every currently cached spot market. Does not throw `NotSubscribedError`. */
|
|
411
472
|
getSpotMarketAccountsAndSlots() {
|
|
412
473
|
return Array.from(this.spotMarket.values());
|
|
413
474
|
}
|
|
475
|
+
/**
|
|
476
|
+
* Looks up cached oracle price data by oracle id (see `getOracleId`). Special-cases the
|
|
477
|
+
* quote-asset default oracle id, returning the constant `QUOTE_ORACLE_PRICE_DATA` at slot 0
|
|
478
|
+
* rather than a map lookup, since that oracle is never actually subscribed to.
|
|
479
|
+
* @param oracleId Oracle id string from `getOracleId(publicKey, source)`.
|
|
480
|
+
* @returns Cached price data/slot, or undefined if not tracked. Throws `NotSubscribedError` if not subscribed.
|
|
481
|
+
*/
|
|
414
482
|
getOraclePriceDataAndSlot(oracleId) {
|
|
415
483
|
this.assertIsSubscribed();
|
|
416
484
|
if (oracleId === ORACLE_DEFAULT_ID) {
|
|
@@ -421,6 +489,13 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
421
489
|
}
|
|
422
490
|
return this.oracles.get(oracleId);
|
|
423
491
|
}
|
|
492
|
+
/**
|
|
493
|
+
* Convenience lookup: resolves the oracle price data currently mapped to a perp market's
|
|
494
|
+
* oracle. If the cached market's oracle pubkey has drifted from `perpOracleMap` (e.g. an admin
|
|
495
|
+
* changed it on-chain), triggers a background `setPerpOracleMap()` refresh and still returns
|
|
496
|
+
* the (possibly stale) mapping for this call.
|
|
497
|
+
* @param marketIndex Perp market index whose oracle price to look up.
|
|
498
|
+
*/
|
|
424
499
|
getOraclePriceDataAndSlotForPerpMarket(marketIndex) {
|
|
425
500
|
const perpMarketAccount = this.getMarketAccountAndSlot(marketIndex);
|
|
426
501
|
const oracle = this.perpOracleMap.get(marketIndex);
|
|
@@ -434,6 +509,13 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
434
509
|
}
|
|
435
510
|
return this.getOraclePriceDataAndSlot(oracleId);
|
|
436
511
|
}
|
|
512
|
+
/**
|
|
513
|
+
* Convenience lookup: resolves the oracle price data currently mapped to a spot market's
|
|
514
|
+
* oracle. If the cached market's oracle pubkey has drifted from `spotOracleMap`, triggers a
|
|
515
|
+
* background `setSpotOracleMap()` refresh and still returns the (possibly stale) mapping for
|
|
516
|
+
* this call.
|
|
517
|
+
* @param marketIndex Spot market index whose oracle price to look up.
|
|
518
|
+
*/
|
|
437
519
|
getOraclePriceDataAndSlotForSpotMarket(marketIndex) {
|
|
438
520
|
const spotMarketAccount = this.getSpotMarketAccountAndSlot(marketIndex);
|
|
439
521
|
const oracle = this.spotOracleMap.get(marketIndex);
|
|
@@ -447,6 +529,7 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
447
529
|
}
|
|
448
530
|
return this.getOraclePriceDataAndSlot(oracleId);
|
|
449
531
|
}
|
|
532
|
+
/** Retunes the shared `BulkAccountLoader`'s poll interval (ms) for every account it batches (affects other subscribers sharing the same loader too). */
|
|
450
533
|
updateAccountLoaderPollingFrequency(pollingFrequency) {
|
|
451
534
|
this.accountLoader.updatePollingFrequency(pollingFrequency);
|
|
452
535
|
}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { AccountToLoad, BulkAccountLoader } from './bulkAccountLoader';
|
|
2
|
+
/**
|
|
3
|
+
* Test-only `BulkAccountLoader` that overrides `loadChunk` to fetch each account individually via
|
|
4
|
+
* `connection.getAccountInfoAndContext` instead of batching through `getMultipleAccounts`. Used
|
|
5
|
+
* against test validators/bankrun connections that don't implement the `_rpcBatchRequest` path
|
|
6
|
+
* the base class relies on. Preserves the same per-account slot/buffer dedup semantics as the
|
|
7
|
+
* base class (an update is only dispatched if the new slot is not older and the buffer changed).
|
|
8
|
+
*/
|
|
2
9
|
export declare class TestBulkAccountLoader extends BulkAccountLoader {
|
|
10
|
+
/** Sequentially fetches every account in every chunk via individual RPC calls, dispatching callbacks for any that changed at a non-decreasing slot. Slower than the base class's batched `getMultipleAccounts` approach by design — intended for test environments only. */
|
|
3
11
|
loadChunk(accountsToLoadChunks: AccountToLoad[][]): Promise<void>;
|
|
4
12
|
}
|
|
5
13
|
//# sourceMappingURL=testBulkAccountLoader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testBulkAccountLoader.d.ts","sourceRoot":"","sources":["../../../src/accounts/testBulkAccountLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEvE,qBAAa,qBAAsB,SAAQ,iBAAiB;
|
|
1
|
+
{"version":3,"file":"testBulkAccountLoader.d.ts","sourceRoot":"","sources":["../../../src/accounts/testBulkAccountLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEvE;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC3D,4QAA4Q;IACtQ,SAAS,CAAC,oBAAoB,EAAE,aAAa,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CA+CvE"}
|
|
@@ -2,7 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TestBulkAccountLoader = void 0;
|
|
4
4
|
const bulkAccountLoader_1 = require("./bulkAccountLoader");
|
|
5
|
+
/**
|
|
6
|
+
* Test-only `BulkAccountLoader` that overrides `loadChunk` to fetch each account individually via
|
|
7
|
+
* `connection.getAccountInfoAndContext` instead of batching through `getMultipleAccounts`. Used
|
|
8
|
+
* against test validators/bankrun connections that don't implement the `_rpcBatchRequest` path
|
|
9
|
+
* the base class relies on. Preserves the same per-account slot/buffer dedup semantics as the
|
|
10
|
+
* base class (an update is only dispatched if the new slot is not older and the buffer changed).
|
|
11
|
+
*/
|
|
5
12
|
class TestBulkAccountLoader extends bulkAccountLoader_1.BulkAccountLoader {
|
|
13
|
+
/** Sequentially fetches every account in every chunk via individual RPC calls, dispatching callbacks for any that changed at a non-decreasing slot. Slower than the base class's batched `getMultipleAccounts` approach by design — intended for test environments only. */
|
|
6
14
|
async loadChunk(accountsToLoadChunks) {
|
|
7
15
|
if (accountsToLoadChunks.length === 0) {
|
|
8
16
|
return;
|
|
@@ -19,20 +19,69 @@ import { Account } from '@solana/spl-token';
|
|
|
19
19
|
import { OracleInfo, OraclePriceData } from '../oracles/types';
|
|
20
20
|
import { User } from '../user';
|
|
21
21
|
import { Client, CommitmentLevel, LaserstreamConfig } from '../isomorphic/grpc';
|
|
22
|
+
/**
|
|
23
|
+
* Common contract for a subscriber that tracks a single on-chain account of type `T`.
|
|
24
|
+
* Implemented by the `WebSocketAccountSubscriber`/`WebSocketAccountSubscriberV2`,
|
|
25
|
+
* `grpcAccountSubscriber`, and polling-loader-backed subscribers. `dataAndSlot` is
|
|
26
|
+
* undefined until the first fetch/notification lands; once set, `data` and `slot`
|
|
27
|
+
* are always updated together (see `DataAndSlot`) so a caller never sees data from
|
|
28
|
+
* one slot paired with another.
|
|
29
|
+
*/
|
|
22
30
|
export interface AccountSubscriber<T> {
|
|
31
|
+
/** Latest decoded account data and the slot it was observed at, or undefined before the first load. */
|
|
23
32
|
dataAndSlot?: DataAndSlot<T>;
|
|
33
|
+
/**
|
|
34
|
+
* Begins tracking the account, seeding `dataAndSlot` with an initial `fetch()` if not already
|
|
35
|
+
* set, then attaching a live update source (WebSocket/gRPC notification or accountLoader
|
|
36
|
+
* callback). Idempotent: calling again while already subscribed is a no-op.
|
|
37
|
+
* @param onChange Invoked with the newly decoded account data whenever a strictly newer slot's
|
|
38
|
+
* update is observed.
|
|
39
|
+
*/
|
|
24
40
|
subscribe(onChange: (data: T) => void): Promise<void>;
|
|
41
|
+
/** Fetches the account once via RPC and updates `dataAndSlot` if the response's slot is newer than what's cached. */
|
|
25
42
|
fetch(): Promise<void>;
|
|
43
|
+
/** Tears down the live update source. Safe to call when not subscribed. */
|
|
26
44
|
unsubscribe(): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Seeds or overwrites `dataAndSlot` without an RPC round trip. Used to inject data the caller
|
|
47
|
+
* already has (e.g. from a prior fetch elsewhere) before `subscribe()` runs its own fetch.
|
|
48
|
+
* @param userAccount Decoded account data to store.
|
|
49
|
+
* @param slot Slot the data was observed at; defaults to 0 (the oldest-possible sentinel) if omitted, so a later real update always wins.
|
|
50
|
+
*/
|
|
27
51
|
setData(userAccount: T, slot?: number): void;
|
|
28
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Contract for a subscriber that tracks every account matching a program-account filter
|
|
55
|
+
* (e.g. all `User` accounts owned by the program), rather than one specific pubkey.
|
|
56
|
+
* Implemented by `WebSocketProgramAccountSubscriber`, `WebSocketProgramAccountsSubscriberV2`,
|
|
57
|
+
* `grpcProgramAccountSubscriber`, and `LaserstreamProgramAccountSubscriber`.
|
|
58
|
+
*/
|
|
29
59
|
export interface ProgramAccountSubscriber<T> {
|
|
60
|
+
/**
|
|
61
|
+
* Subscribes to program-account change notifications matching the filters supplied at
|
|
62
|
+
* construction.
|
|
63
|
+
* @param onChange Invoked once per changed account with its pubkey, decoded data, the
|
|
64
|
+
* notification's `Context` (including `slot`), and the raw account buffer.
|
|
65
|
+
*/
|
|
30
66
|
subscribe(onChange: (accountId: PublicKey, data: T, context: Context, buffer: Buffer) => void): Promise<void>;
|
|
67
|
+
/** Tears down the underlying subscription. Safe to call when not subscribed. */
|
|
31
68
|
unsubscribe(): Promise<void>;
|
|
32
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Thrown by every subscriber's `assertIsSubscribed()`-guarded getter (e.g.
|
|
72
|
+
* `getUserAccountAndSlot`, `getStateAccountAndSlot`) when called before `subscribe()` has
|
|
73
|
+
* completed. This is the uniform contract across all subscriber implementations in this
|
|
74
|
+
* directory: never read cached account data without having subscribed first.
|
|
75
|
+
*/
|
|
33
76
|
export declare class NotSubscribedError extends Error {
|
|
34
77
|
name: string;
|
|
35
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Events emitted by a `VelocityClientAccountSubscriber` on its `eventEmitter`. `update` fires
|
|
81
|
+
* after every individual account-specific event (state/market/oracle) as a generic "something
|
|
82
|
+
* changed" signal; `error` surfaces underlying transport errors (e.g. RPC batch failures)
|
|
83
|
+
* without unsubscribing.
|
|
84
|
+
*/
|
|
36
85
|
export interface VelocityClientAccountEvents {
|
|
37
86
|
stateAccountUpdate: (payload: StateAccount) => void;
|
|
38
87
|
perpMarketAccountUpdate: (payload: PerpMarketAccount) => void;
|
|
@@ -42,6 +91,18 @@ export interface VelocityClientAccountEvents {
|
|
|
42
91
|
update: void;
|
|
43
92
|
error: (e: Error) => void;
|
|
44
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Contract for the subscriber `VelocityClient` uses to keep `State`, `PerpMarket`,
|
|
96
|
+
* `SpotMarket`, and oracle accounts cached in memory. See `webSocketVelocityClientAccountSubscriber.ts`
|
|
97
|
+
* (default, one WebSocket subscription per account), `pollingVelocityClientAccountSubscriber.ts`
|
|
98
|
+
* (single `BulkAccountLoader` batches all accounts via periodic `getMultipleAccounts`), and
|
|
99
|
+
* `grpcVelocityClientAccountSubscriber.ts`/`grpcVelocityClientAccountSubscriberV2.ts` (gRPC
|
|
100
|
+
* Geyser stream). Accessor contracts differ by shape: the guarded singleton getters
|
|
101
|
+
* (`getStateAccountAndSlot`) throw `NotSubscribedError` until `subscribe()` has completed; the
|
|
102
|
+
* per-market/oracle accessors return `undefined` when that entry isn't cached yet; and the
|
|
103
|
+
* collection getters (`getMarketAccountsAndSlots`, etc.) are cache reads that return a
|
|
104
|
+
* possibly-empty array.
|
|
105
|
+
*/
|
|
45
106
|
export interface VelocityClientAccountSubscriber {
|
|
46
107
|
eventEmitter: StrictEventEmitter<EventEmitter, VelocityClientAccountEvents>;
|
|
47
108
|
isSubscribed: boolean;
|
|
@@ -61,108 +122,190 @@ export interface VelocityClientAccountSubscriber {
|
|
|
61
122
|
getOraclePriceDataAndSlot(oracleId: string): DataAndSlot<OraclePriceData> | undefined;
|
|
62
123
|
getOraclePriceDataAndSlotForPerpMarket(marketIndex: number): DataAndSlot<OraclePriceData> | undefined;
|
|
63
124
|
getOraclePriceDataAndSlotForSpotMarket(marketIndex: number): DataAndSlot<OraclePriceData> | undefined;
|
|
125
|
+
/** Present only on polling-backed implementations; retunes the shared `BulkAccountLoader`'s poll interval (ms) for all accounts it batches. */
|
|
64
126
|
updateAccountLoaderPollingFrequency?: (pollingFrequency: number) => void;
|
|
65
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Controls what a `VelocityClientAccountSubscriber` does with a perp market (and its oracle, if
|
|
130
|
+
* unused elsewhere) once the on-chain market status becomes `delisted`.
|
|
131
|
+
*/
|
|
66
132
|
export declare enum DelistedMarketSetting {
|
|
133
|
+
/** Drop the live subscription for the delisted market/oracle but keep the last-known data cached. */
|
|
67
134
|
Unsubscribe = 0,
|
|
135
|
+
/** Keep subscribing to the delisted market/oracle as normal (no special handling). */
|
|
68
136
|
Subscribe = 1,
|
|
137
|
+
/** Drop the subscription and remove the market/oracle from the subscriber's internal maps entirely. */
|
|
69
138
|
Discard = 2
|
|
70
139
|
}
|
|
140
|
+
/** Events emitted by a `UserAccountSubscriber` on its `eventEmitter`. `update` fires alongside every `userAccountUpdate`. */
|
|
71
141
|
export interface UserAccountEvents {
|
|
72
142
|
userAccountUpdate: (payload: UserAccount) => void;
|
|
73
143
|
update: void;
|
|
74
144
|
error: (e: Error) => void;
|
|
75
145
|
}
|
|
146
|
+
/** Events emitted at the `User` (SDK wrapper) level, distinct from the lower-level `UserAccountEvents`. */
|
|
76
147
|
export interface UserEvents {
|
|
77
148
|
userUpdate: (payload: User) => void;
|
|
78
149
|
update: void;
|
|
79
150
|
error: (e: Error) => void;
|
|
80
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Contract for the subscriber `User` uses to track a single `UserAccount`. Implementations:
|
|
154
|
+
* `WebSocketUserAccountSubscriber` (default), `PollingUserAccountSubscriber` (via
|
|
155
|
+
* `BulkAccountLoader`), `grpcUserAccountSubscriber`, `OneShotUserAccountSubscriber` (fetch-only,
|
|
156
|
+
* ~1 RPC call), `BasicUserAccountSubscriber` (no network I/O, data supplied by the caller), and
|
|
157
|
+
* `WebSocketProgramUserAccountSubscriber` (filters a shared program-account stream).
|
|
158
|
+
*/
|
|
81
159
|
export interface UserAccountSubscriber {
|
|
82
160
|
eventEmitter: StrictEventEmitter<EventEmitter, UserAccountEvents>;
|
|
83
161
|
isSubscribed: boolean;
|
|
162
|
+
/**
|
|
163
|
+
* @param userAccount Optional pre-fetched account data to seed the subscriber with, skipping
|
|
164
|
+
* the initial RPC fetch.
|
|
165
|
+
*/
|
|
84
166
|
subscribe(userAccount?: UserAccount): Promise<boolean>;
|
|
85
167
|
fetch(): Promise<void>;
|
|
168
|
+
/**
|
|
169
|
+
* Applies an externally-obtained account update (e.g. relayed from a parent subscriber) if its
|
|
170
|
+
* slot is not older than the currently cached one, emitting `userAccountUpdate`/`update` on
|
|
171
|
+
* acceptance.
|
|
172
|
+
* @param userAccount Decoded account data to apply.
|
|
173
|
+
* @param slot Slot the data was observed at.
|
|
174
|
+
*/
|
|
86
175
|
updateData(userAccount: UserAccount, slot: number): void;
|
|
87
176
|
unsubscribe(): Promise<void>;
|
|
177
|
+
/** Throws `NotSubscribedError` if not subscribed. Returns undefined only if subscribed but no data has loaded yet. */
|
|
88
178
|
getUserAccountAndSlot(): DataAndSlot<UserAccount> | undefined;
|
|
89
179
|
}
|
|
180
|
+
/** Events emitted by a `TokenAccountSubscriber` on its `eventEmitter`. */
|
|
90
181
|
export interface TokenAccountEvents {
|
|
91
182
|
tokenAccountUpdate: (payload: Account) => void;
|
|
92
183
|
update: void;
|
|
93
184
|
error: (e: Error) => void;
|
|
94
185
|
}
|
|
186
|
+
/** Contract for tracking an SPL token account balance (e.g. a spot market vault or a user's token wallet). Implemented by `PollingTokenAccountSubscriber`. */
|
|
95
187
|
export interface TokenAccountSubscriber {
|
|
96
188
|
eventEmitter: StrictEventEmitter<EventEmitter, TokenAccountEvents>;
|
|
97
189
|
isSubscribed: boolean;
|
|
98
190
|
subscribe(): Promise<boolean>;
|
|
99
191
|
fetch(): Promise<void>;
|
|
100
192
|
unsubscribe(): Promise<void>;
|
|
193
|
+
/** Throws `NotSubscribedError` if not subscribed. */
|
|
101
194
|
getTokenAccountAndSlot(): DataAndSlot<Account>;
|
|
102
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Contract for tracking an `InsuranceFundStake` account. Implementations:
|
|
198
|
+
* `WebSocketInsuranceFundStakeAccountSubscriber` (default), `PollingInsuranceFundStakeAccountSubscriber`,
|
|
199
|
+
* and `grpcInsuranceFundStakeAccountSubscriber`.
|
|
200
|
+
*/
|
|
103
201
|
export interface InsuranceFundStakeAccountSubscriber {
|
|
104
202
|
eventEmitter: StrictEventEmitter<EventEmitter, InsuranceFundStakeAccountEvents>;
|
|
105
203
|
isSubscribed: boolean;
|
|
106
204
|
subscribe(): Promise<boolean>;
|
|
107
205
|
fetch(): Promise<void>;
|
|
108
206
|
unsubscribe(): Promise<void>;
|
|
207
|
+
/** Throws `NotSubscribedError` if not subscribed. */
|
|
109
208
|
getInsuranceFundStakeAccountAndSlot(): DataAndSlot<InsuranceFundStake> | undefined;
|
|
110
209
|
}
|
|
210
|
+
/** Events emitted by an `InsuranceFundStakeAccountSubscriber` on its `eventEmitter`. */
|
|
111
211
|
export interface InsuranceFundStakeAccountEvents {
|
|
112
212
|
insuranceFundStakeAccountUpdate: (payload: InsuranceFundStake) => void;
|
|
113
213
|
update: void;
|
|
114
214
|
error: (e: Error) => void;
|
|
115
215
|
}
|
|
216
|
+
/** Events emitted by an `OracleAccountSubscriber` on its `eventEmitter`. */
|
|
116
217
|
export interface OracleEvents {
|
|
117
218
|
oracleUpdate: (payload: OraclePriceData) => void;
|
|
118
219
|
update: void;
|
|
119
220
|
error: (e: Error) => void;
|
|
120
221
|
}
|
|
222
|
+
/** Contract for tracking a single oracle account's decoded price data. Implemented by `PollingOracleAccountSubscriber` (via `BulkAccountLoader`). */
|
|
121
223
|
export interface OracleAccountSubscriber {
|
|
122
224
|
eventEmitter: StrictEventEmitter<EventEmitter, OracleEvents>;
|
|
123
225
|
isSubscribed: boolean;
|
|
124
226
|
subscribe(): Promise<boolean>;
|
|
125
227
|
fetch(): Promise<void>;
|
|
126
228
|
unsubscribe(): Promise<void>;
|
|
229
|
+
/** Throws `NotSubscribedError` if not subscribed. */
|
|
127
230
|
getOraclePriceData(): DataAndSlot<OraclePriceData>;
|
|
128
231
|
}
|
|
232
|
+
/** A `state`/`perpMarket`/`spotMarket` account registered with a `PollingVelocityClientAccountSubscriber`'s `BulkAccountLoader`. */
|
|
129
233
|
export type AccountToPoll = {
|
|
234
|
+
/** Anchor account discriminator name, also used to route the decoded data and pick the emitted event. */
|
|
130
235
|
key: 'state' | 'perpMarket' | 'spotMarket';
|
|
131
236
|
publicKey: PublicKey;
|
|
237
|
+
/** `VelocityClientAccountEvents` key emitted when this account changes. */
|
|
132
238
|
eventType: string;
|
|
239
|
+
/** `BulkAccountLoader` callback id, set once registered; used to remove the account later. */
|
|
133
240
|
callbackId?: string;
|
|
241
|
+
/** For `perpMarket`/`spotMarket`, the market index this account decodes to. */
|
|
134
242
|
mapKey?: number;
|
|
135
243
|
};
|
|
244
|
+
/** An oracle account registered with a `PollingVelocityClientAccountSubscriber`'s `BulkAccountLoader`. */
|
|
136
245
|
export type OraclesToPoll = {
|
|
137
246
|
publicKey: PublicKey;
|
|
138
247
|
source: OracleSource;
|
|
248
|
+
/** `BulkAccountLoader` callback id, set once registered; used to remove the oracle later. */
|
|
139
249
|
callbackId?: string;
|
|
140
250
|
};
|
|
251
|
+
/** Raw account buffer paired with the slot it was fetched/observed at; the buffer is undefined if the account does not exist on-chain. */
|
|
141
252
|
export type BufferAndSlot = {
|
|
142
253
|
slot: number;
|
|
143
254
|
buffer: Buffer | undefined;
|
|
144
255
|
};
|
|
256
|
+
/**
|
|
257
|
+
* A decoded account payload paired atomically with the slot it was observed at. Every
|
|
258
|
+
* `AccountSubscriber`/getter in this directory updates `data` and `slot` together in a single
|
|
259
|
+
* assignment, so a caller reading `dataAndSlot` never sees data from one slot mixed with a slot
|
|
260
|
+
* number from another. `slot === 0` is the seeded sentinel used when data is injected via
|
|
261
|
+
* `setData`/a constructor without a real fetch (e.g. `BasicUserAccountSubscriber`) — it is
|
|
262
|
+
* always superseded once a real fetch or notification lands, since updates only apply when the
|
|
263
|
+
* new slot is `>=` the cached one.
|
|
264
|
+
*/
|
|
145
265
|
export type DataAndSlot<T> = {
|
|
146
266
|
data: T;
|
|
147
267
|
slot: number;
|
|
148
268
|
};
|
|
269
|
+
/** Resubscription/polling-fallback tuning for WebSocket- and gRPC-backed subscribers. */
|
|
149
270
|
export type ResubOpts = {
|
|
271
|
+
/**
|
|
272
|
+
* Milliseconds of inactivity (no notification) before the subscriber treats the stream as
|
|
273
|
+
* stalled and resubscribes (or starts polling, see `usePollingInsteadOfResub`). Should be at
|
|
274
|
+
* least 1000ms; smaller values log a warning. Leave undefined to disable the inactivity
|
|
275
|
+
* watchdog entirely.
|
|
276
|
+
*/
|
|
150
277
|
resubTimeoutMs?: number;
|
|
278
|
+
/** Emits verbose `console.log`/`console.debug` diagnostics for resub/polling transitions. Defaults to false. */
|
|
151
279
|
logResubMessages?: boolean;
|
|
280
|
+
/**
|
|
281
|
+
* On inactivity timeout, poll via RPC to check for a missed update instead of immediately
|
|
282
|
+
* tearing down and recreating the WebSocket subscription. Defaults to false on the v1
|
|
283
|
+
* `WebSocketAccountSubscriber`; the V2 subscribers default this to `true`.
|
|
284
|
+
*/
|
|
152
285
|
usePollingInsteadOfResub?: boolean;
|
|
286
|
+
/** Polling cadence in ms when `usePollingInsteadOfResub` is active. Defaults to 30000 (30s). */
|
|
153
287
|
pollingIntervalMs?: number;
|
|
154
288
|
};
|
|
289
|
+
/** Events emitted by a `UserStatsAccountSubscriber` on its `eventEmitter`. */
|
|
155
290
|
export interface UserStatsAccountEvents {
|
|
156
291
|
userStatsAccountUpdate: (payload: UserStatsAccount) => void;
|
|
157
292
|
update: void;
|
|
158
293
|
error: (e: Error) => void;
|
|
159
294
|
}
|
|
295
|
+
/**
|
|
296
|
+
* Contract for the subscriber `UserStats` uses to track a single `UserStatsAccount`.
|
|
297
|
+
* Implementations mirror `UserAccountSubscriber`: `WebSocketUserStatsAccountSubscriber` (default),
|
|
298
|
+
* `PollingUserStatsAccountSubscriber`, `grpcUserStatsAccountSubscriber`,
|
|
299
|
+
* `OneShotUserStatsAccountSubscriber`, and `BasicUserStatsAccountSubscriber`.
|
|
300
|
+
*/
|
|
160
301
|
export interface UserStatsAccountSubscriber {
|
|
161
302
|
eventEmitter: StrictEventEmitter<EventEmitter, UserStatsAccountEvents>;
|
|
162
303
|
isSubscribed: boolean;
|
|
304
|
+
/** @param userStatsAccount Optional pre-fetched account data to seed the subscriber with, skipping the initial RPC fetch. */
|
|
163
305
|
subscribe(userStatsAccount?: UserStatsAccount): Promise<boolean>;
|
|
164
306
|
fetch(): Promise<void>;
|
|
165
307
|
unsubscribe(): Promise<void>;
|
|
308
|
+
/** Throws `NotSubscribedError` if not subscribed. Returns undefined only if subscribed but no data has loaded yet. */
|
|
166
309
|
getUserStatsAccountAndSlot(): DataAndSlot<UserStatsAccount> | undefined;
|
|
167
310
|
}
|
|
168
311
|
type BaseGrpcConfigs = {
|
|
@@ -175,22 +318,28 @@ type BaseGrpcConfigs = {
|
|
|
175
318
|
*/
|
|
176
319
|
enableReconnect?: boolean;
|
|
177
320
|
};
|
|
321
|
+
/** gRPC Geyser config for the default Yellowstone (Triton/Dragon's Mouth-compatible) client. */
|
|
178
322
|
export type YellowstoneGrpcConfigs = BaseGrpcConfigs & {
|
|
179
323
|
client?: 'yellowstone';
|
|
180
324
|
channelOptions?: ConstructorParameters<typeof Client>[2];
|
|
181
325
|
};
|
|
326
|
+
/** gRPC Geyser config for the Helius LaserStream client (`LaserstreamProgramAccountSubscriber`). Requires the optional `helius-laserstream` peer dependency. */
|
|
182
327
|
export type LaserGrpcConfigs = BaseGrpcConfigs & {
|
|
183
328
|
client: 'laser';
|
|
184
329
|
channelOptions?: LaserstreamConfig['channelOptions'];
|
|
185
330
|
};
|
|
331
|
+
/** Union of supported gRPC Geyser client configs; the `client` discriminant selects Yellowstone vs. LaserStream. */
|
|
186
332
|
export type GrpcConfigs = YellowstoneGrpcConfigs | LaserGrpcConfigs;
|
|
333
|
+
/** Contract for tracking an LP-pool `ConstituentAccount`. `sync()` is the fetch/reconcile entry point (analogous to `fetch()` on other subscribers). */
|
|
187
334
|
export interface ConstituentAccountSubscriber {
|
|
188
335
|
eventEmitter: StrictEventEmitter<EventEmitter, ConstituentAccountEvents>;
|
|
189
336
|
isSubscribed: boolean;
|
|
337
|
+
/** @param constituentAccount Optional pre-fetched account data to seed the subscriber with. */
|
|
190
338
|
subscribe(constituentAccount?: ConstituentAccount): Promise<boolean>;
|
|
191
339
|
sync(): Promise<void>;
|
|
192
340
|
unsubscribe(): Promise<void>;
|
|
193
341
|
}
|
|
342
|
+
/** Events emitted by a `ConstituentAccountSubscriber` on its `eventEmitter`. */
|
|
194
343
|
export interface ConstituentAccountEvents {
|
|
195
344
|
onAccountUpdate: (account: ConstituentAccount, pubkey: PublicKey, slot: number) => void;
|
|
196
345
|
update: void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/accounts/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/accounts/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DelistedMarketSetting = exports.NotSubscribedError = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Thrown by every subscriber's `assertIsSubscribed()`-guarded getter (e.g.
|
|
6
|
+
* `getUserAccountAndSlot`, `getStateAccountAndSlot`) when called before `subscribe()` has
|
|
7
|
+
* completed. This is the uniform contract across all subscriber implementations in this
|
|
8
|
+
* directory: never read cached account data without having subscribed first.
|
|
9
|
+
*/
|
|
4
10
|
class NotSubscribedError extends Error {
|
|
5
11
|
constructor() {
|
|
6
12
|
super(...arguments);
|
|
@@ -8,9 +14,16 @@ class NotSubscribedError extends Error {
|
|
|
8
14
|
}
|
|
9
15
|
}
|
|
10
16
|
exports.NotSubscribedError = NotSubscribedError;
|
|
17
|
+
/**
|
|
18
|
+
* Controls what a `VelocityClientAccountSubscriber` does with a perp market (and its oracle, if
|
|
19
|
+
* unused elsewhere) once the on-chain market status becomes `delisted`.
|
|
20
|
+
*/
|
|
11
21
|
var DelistedMarketSetting;
|
|
12
22
|
(function (DelistedMarketSetting) {
|
|
23
|
+
/** Drop the live subscription for the delisted market/oracle but keep the last-known data cached. */
|
|
13
24
|
DelistedMarketSetting[DelistedMarketSetting["Unsubscribe"] = 0] = "Unsubscribe";
|
|
25
|
+
/** Keep subscribing to the delisted market/oracle as normal (no special handling). */
|
|
14
26
|
DelistedMarketSetting[DelistedMarketSetting["Subscribe"] = 1] = "Subscribe";
|
|
27
|
+
/** Drop the subscription and remove the market/oracle from the subscriber's internal maps entirely. */
|
|
15
28
|
DelistedMarketSetting[DelistedMarketSetting["Discard"] = 2] = "Discard";
|
|
16
29
|
})(DelistedMarketSetting || (exports.DelistedMarketSetting = DelistedMarketSetting = {}));
|
|
@@ -1,8 +1,26 @@
|
|
|
1
1
|
import { DataAndSlot } from './types';
|
|
2
2
|
import { PerpMarketAccount, SpotMarketAccount } from '../types';
|
|
3
3
|
import { OracleInfo } from '../oracles/types';
|
|
4
|
+
/** Capitalizes the first character of `value` (e.g. for building Anchor event/method names from account names). */
|
|
4
5
|
export declare function capitalize(value: string): string;
|
|
6
|
+
/**
|
|
7
|
+
* Unwraps a possibly-undefined `DataAndSlot<T>`, throwing if it hasn't loaded. Use this instead
|
|
8
|
+
* of a bare non-null assertion when a subscriber's cached data must be present by this point.
|
|
9
|
+
* @param dataAndSlot The cached data/slot pair to check, typically from `AccountSubscriber.dataAndSlot`.
|
|
10
|
+
* @param message Error message to throw if `dataAndSlot` is undefined.
|
|
11
|
+
* @returns The same `dataAndSlot`, narrowed to non-undefined.
|
|
12
|
+
*/
|
|
5
13
|
export declare function assertDataAndSlot<T>(dataAndSlot: DataAndSlot<T> | undefined, message: string): DataAndSlot<T>;
|
|
14
|
+
/**
|
|
15
|
+
* Scans cached perp/spot market data for perp markets with `status: delisted` and identifies
|
|
16
|
+
* both the delisted market indexes and their oracles, excluding any oracle still in use by a
|
|
17
|
+
* spot market or a non-delisted perp market (so a shared oracle isn't dropped out from under a
|
|
18
|
+
* still-live market). Used by `VelocityClientAccountSubscriber` implementations to drive
|
|
19
|
+
* `DelistedMarketSetting` (unsubscribe/discard) handling.
|
|
20
|
+
* @param perpMarkets Currently cached perp market data/slots (entries with missing `data` are skipped).
|
|
21
|
+
* @param spotMarkets Currently cached spot market data/slots, checked to avoid dropping oracles they still reference.
|
|
22
|
+
* @returns `perpMarketIndexes` of delisted perp markets and `oracles` safe to stop tracking.
|
|
23
|
+
*/
|
|
6
24
|
export declare function findDelistedPerpMarketsAndOracles(perpMarkets: DataAndSlot<PerpMarketAccount>[], spotMarkets: DataAndSlot<SpotMarketAccount>[]): {
|
|
7
25
|
perpMarketIndexes: number[];
|
|
8
26
|
oracles: OracleInfo[];
|