@velocity-exchange/sdk 0.0.5 → 0.2.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/.prettierignore +1 -1
- package/CHANGELOG.md +35 -0
- package/README.md +30 -30
- package/bun.lock +24 -2
- package/lib/browser/accounts/basicUserAccountSubscriber.d.ts +5 -3
- package/lib/browser/accounts/basicUserAccountSubscriber.js +4 -3
- package/lib/browser/accounts/basicUserStatsAccountSubscriber.d.ts +5 -3
- package/lib/browser/accounts/basicUserStatsAccountSubscriber.js +4 -3
- package/lib/browser/accounts/bulkAccountLoader.d.ts +5 -5
- package/lib/browser/accounts/bulkAccountLoader.js +12 -1
- package/lib/browser/accounts/grpcAccountSubscriber.d.ts +2 -1
- package/lib/browser/accounts/grpcAccountSubscriber.js +8 -2
- package/lib/browser/accounts/grpcMultiAccountSubscriber.d.ts +3 -2
- package/lib/browser/accounts/grpcMultiAccountSubscriber.js +13 -5
- package/lib/browser/accounts/grpcMultiUserAccountSubscriber.d.ts +2 -1
- package/lib/browser/accounts/grpcMultiUserAccountSubscriber.js +12 -8
- package/lib/browser/accounts/grpcProgramAccountSubscriber.d.ts +2 -1
- package/lib/browser/accounts/grpcProgramAccountSubscriber.js +9 -3
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.d.ts +0 -4
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.js +19 -6
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +1 -5
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.js +44 -23
- package/lib/browser/accounts/laserProgramAccountSubscriber.js +4 -1
- package/lib/browser/accounts/oneShotUserAccountSubscriber.js +4 -3
- package/lib/browser/accounts/oneShotUserStatsAccountSubscriber.js +7 -3
- package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +4 -2
- package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.js +3 -3
- package/lib/browser/accounts/pollingOracleAccountSubscriber.d.ts +0 -2
- package/lib/browser/accounts/pollingOracleAccountSubscriber.js +16 -5
- package/lib/browser/accounts/pollingTokenAccountSubscriber.d.ts +0 -2
- package/lib/browser/accounts/pollingTokenAccountSubscriber.js +16 -5
- package/lib/browser/accounts/pollingUserAccountSubscriber.d.ts +8 -4
- package/lib/browser/accounts/pollingUserAccountSubscriber.js +17 -11
- package/lib/browser/accounts/pollingUserStatsAccountSubscriber.d.ts +4 -2
- package/lib/browser/accounts/pollingUserStatsAccountSubscriber.js +6 -6
- package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.d.ts +7 -5
- package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.js +69 -35
- package/lib/browser/accounts/types.d.ts +6 -12
- package/lib/browser/accounts/utils.d.ts +1 -0
- package/lib/browser/accounts/utils.js +10 -3
- package/lib/browser/accounts/webSocketAccountSubscriber.d.ts +4 -2
- package/lib/browser/accounts/webSocketAccountSubscriber.js +17 -5
- package/lib/browser/accounts/webSocketAccountSubscriberV2.d.ts +4 -2
- package/lib/browser/accounts/webSocketAccountSubscriberV2.js +17 -6
- package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +4 -2
- package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +9 -0
- package/lib/browser/accounts/webSocketProgramAccountSubscriber.d.ts +3 -1
- package/lib/browser/accounts/webSocketProgramAccountSubscriber.js +14 -3
- package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.d.ts +3 -1
- package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.js +15 -3
- package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.d.ts +3 -1
- package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.js +14 -4
- package/lib/browser/accounts/webSocketUserAccountSubscriber.d.ts +4 -2
- package/lib/browser/accounts/webSocketUserAccountSubscriber.js +9 -0
- package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.d.ts +4 -2
- package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.js +9 -0
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.d.ts +4 -8
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.js +52 -26
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +7 -7
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.js +49 -20
- package/lib/browser/accounts/websocketProgramUserAccountSubscriber.d.ts +1 -1
- package/lib/browser/accounts/websocketProgramUserAccountSubscriber.js +0 -3
- package/lib/browser/addresses/marketAddresses.js +3 -2
- package/lib/browser/addresses/pda.d.ts +1 -9
- package/lib/browser/addresses/pda.js +4 -23
- package/lib/browser/adminClient.d.ts +25 -29
- package/lib/browser/adminClient.js +168 -169
- package/lib/browser/auctionSubscriber/auctionSubscriber.d.ts +2 -4
- package/lib/browser/auctionSubscriber/auctionSubscriber.js +8 -10
- package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.d.ts +2 -4
- package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.js +11 -10
- package/lib/browser/auctionSubscriber/types.d.ts +3 -2
- package/lib/browser/bankrun/bankrunConnection.d.ts +6 -4
- package/lib/browser/bankrun/bankrunConnection.js +69 -31
- package/lib/browser/blockhashSubscriber/BlockhashSubscriber.d.ts +1 -1
- package/lib/browser/blockhashSubscriber/BlockhashSubscriber.js +3 -2
- package/lib/browser/clock/clockSubscriber.d.ts +6 -6
- package/lib/browser/clock/clockSubscriber.js +4 -3
- package/lib/browser/config.d.ts +11 -20
- package/lib/browser/config.js +13 -36
- package/lib/browser/constants/index.d.ts +1 -2
- package/lib/browser/constants/index.js +1 -2
- package/lib/browser/constants/numericConstants.d.ts +1 -3
- package/lib/browser/constants/numericConstants.js +3 -5
- package/lib/browser/constituentMap/constituentMap.d.ts +0 -2
- package/lib/browser/constituentMap/constituentMap.js +10 -6
- package/lib/browser/constituentMap/pollingConstituentAccountSubscriber.js +3 -2
- package/lib/browser/constituentMap/webSocketConstituentAccountSubscriber.d.ts +2 -3
- package/lib/browser/constituentMap/webSocketConstituentAccountSubscriber.js +10 -3
- package/lib/browser/core/VelocityCore.d.ts +9 -15
- package/lib/browser/core/VelocityCore.js +5 -7
- package/lib/browser/core/instructions/perpOrders.d.ts +14 -0
- package/lib/browser/core/instructions/perpOrders.js +14 -0
- package/lib/browser/core/instructions/withdraw.d.ts +1 -1
- package/lib/browser/core/instructions/withdraw.js +1 -1
- package/lib/browser/core/remainingAccounts.d.ts +2 -2
- package/lib/browser/core/remainingAccounts.js +5 -5
- package/lib/browser/decode/user.js +9 -1
- package/lib/browser/dlob/DLOB.d.ts +7 -2
- package/lib/browser/dlob/DLOB.js +205 -142
- package/lib/browser/dlob/DLOBNode.d.ts +5 -2
- package/lib/browser/dlob/DLOBNode.js +7 -0
- package/lib/browser/dlob/DLOBSubscriber.d.ts +0 -2
- package/lib/browser/dlob/DLOBSubscriber.js +39 -39
- package/lib/browser/dlob/NodeList.js +8 -7
- package/lib/browser/dlob/orderBookLevels.js +24 -17
- package/lib/browser/dlob/types.d.ts +0 -2
- package/lib/browser/events/eventList.js +4 -1
- package/lib/browser/events/eventSubscriber.d.ts +6 -3
- package/lib/browser/events/eventSubscriber.js +75 -26
- package/lib/browser/events/eventsServerLogProvider.d.ts +1 -1
- package/lib/browser/events/eventsServerLogProvider.js +17 -10
- package/lib/browser/events/fetchLogs.d.ts +1 -1
- package/lib/browser/events/fetchLogs.js +4 -2
- package/lib/browser/events/parse.js +14 -14
- package/lib/browser/events/pollingLogProvider.d.ts +1 -1
- package/lib/browser/events/pollingLogProvider.js +1 -0
- package/lib/browser/events/txEventCache.js +6 -2
- package/lib/browser/events/types.d.ts +3 -7
- package/lib/browser/events/types.js +1 -3
- package/lib/browser/events/webSocketLogProvider.d.ts +1 -1
- package/lib/browser/events/webSocketLogProvider.js +5 -2
- package/lib/browser/factory/bigNum.js +1 -1
- package/lib/{node/idl/drift.d.ts → browser/idl/velocity.d.ts} +2412 -2481
- package/lib/browser/idl/{drift.json → velocity.json} +2265 -2333
- package/lib/browser/index.d.ts +1 -3
- package/lib/browser/index.js +1 -4
- package/lib/browser/jupiter/jupiterClient.d.ts +1 -1
- package/lib/browser/jupiter/jupiterClient.js +18 -8
- package/lib/browser/marginCalculation.js +1 -0
- package/lib/browser/math/amm.d.ts +31 -13
- package/lib/browser/math/amm.js +87 -31
- package/lib/browser/math/auction.js +16 -12
- package/lib/browser/math/bankruptcy.js +1 -1
- package/lib/browser/math/builder.d.ts +18 -1
- package/lib/browser/math/builder.js +32 -1
- package/lib/browser/math/funding.js +30 -30
- package/lib/browser/math/insurance.d.ts +1 -1
- package/lib/browser/math/insurance.js +4 -5
- package/lib/browser/math/margin.d.ts +3 -11
- package/lib/browser/math/margin.js +10 -69
- package/lib/browser/math/market.d.ts +4 -12
- package/lib/browser/math/market.js +12 -46
- package/lib/browser/math/oracles.d.ts +4 -7
- package/lib/browser/math/oracles.js +24 -37
- package/lib/browser/math/orders.d.ts +2 -7
- package/lib/browser/math/orders.js +9 -81
- package/lib/browser/math/position.d.ts +0 -4
- package/lib/browser/math/position.js +6 -11
- package/lib/browser/math/repeg.d.ts +0 -1
- package/lib/browser/math/repeg.js +1 -23
- package/lib/browser/math/spotBalance.d.ts +4 -4
- package/lib/browser/math/spotBalance.js +6 -6
- package/lib/browser/math/spotMarket.d.ts +0 -6
- package/lib/browser/math/spotMarket.js +1 -16
- package/lib/browser/math/spotPosition.d.ts +4 -4
- package/lib/browser/math/state.d.ts +0 -2
- package/lib/browser/math/state.js +1 -9
- package/lib/browser/math/superStake.d.ts +11 -63
- package/lib/browser/math/superStake.js +29 -28
- package/lib/browser/math/trade.js +7 -7
- package/lib/browser/math/utils.d.ts +1 -1
- package/lib/browser/math/utils.js +1 -1
- package/lib/browser/memcmp.d.ts +0 -1
- package/lib/browser/memcmp.js +1 -10
- package/lib/browser/oracles/prelaunchOracleClient.js +3 -2
- package/lib/browser/oracles/pythClient.js +9 -3
- package/lib/browser/oracles/pythLazerClient.js +5 -4
- package/lib/browser/oracles/utils.d.ts +4 -0
- package/lib/browser/oracles/utils.js +9 -1
- package/lib/browser/orderSubscriber/OrderSubscriber.d.ts +1 -3
- package/lib/browser/orderSubscriber/OrderSubscriber.js +16 -14
- package/lib/browser/orderSubscriber/WebsocketSubscription.js +1 -1
- package/lib/browser/orderSubscriber/grpcSubscription.js +2 -2
- package/lib/browser/orderSubscriber/types.d.ts +0 -2
- package/lib/browser/priorityFee/heliusPriorityFeeMethod.d.ts +1 -1
- package/lib/browser/priorityFee/priorityFeeSubscriber.d.ts +2 -6
- package/lib/browser/priorityFee/priorityFeeSubscriber.js +34 -18
- package/lib/browser/priorityFee/priorityFeeSubscriberMap.d.ts +0 -4
- package/lib/browser/priorityFee/priorityFeeSubscriberMap.js +3 -11
- package/lib/browser/priorityFee/solanaPriorityFeeMethod.d.ts +1 -1
- package/lib/browser/priorityFee/types.d.ts +3 -8
- package/lib/browser/priorityFee/velocityPriorityFeeMethod.d.ts +0 -8
- package/lib/browser/priorityFee/velocityPriorityFeeMethod.js +1 -3
- package/lib/browser/pyth/pythLazerSubscriber.d.ts +1 -1
- package/lib/browser/pyth/pythLazerSubscriber.js +1 -1
- package/lib/browser/pyth/types.d.ts +0 -1
- package/lib/browser/slot/SlotSubscriber.d.ts +1 -1
- package/lib/browser/slot/SlotSubscriber.js +2 -1
- package/lib/browser/slot/SlothashSubscriber.d.ts +3 -2
- package/lib/browser/slot/SlothashSubscriber.js +11 -4
- package/lib/browser/swap/UnifiedSwapClient.js +1 -1
- package/lib/browser/swift/grpcSignedMsgUserAccountSubscriber.d.ts +0 -3
- package/lib/browser/swift/grpcSignedMsgUserAccountSubscriber.js +5 -5
- package/lib/browser/swift/signedMsgUserAccountSubscriber.d.ts +7 -7
- package/lib/browser/swift/signedMsgUserAccountSubscriber.js +14 -10
- package/lib/browser/swift/swiftOrderSubscriber.d.ts +7 -6
- package/lib/browser/swift/swiftOrderSubscriber.js +15 -16
- package/lib/browser/testClient.js +3 -2
- package/lib/browser/tokenFaucet.js +16 -2
- package/lib/browser/tx/baseTxSender.d.ts +4 -4
- package/lib/browser/tx/baseTxSender.js +5 -4
- package/lib/browser/tx/fastSingleTxSender.d.ts +3 -3
- package/lib/browser/tx/fastSingleTxSender.js +9 -5
- package/lib/browser/tx/reportTransactionError.d.ts +2 -2
- package/lib/browser/tx/reportTransactionError.js +5 -1
- package/lib/browser/tx/retryTxSender.d.ts +1 -1
- package/lib/browser/tx/retryTxSender.js +4 -2
- package/lib/browser/tx/txHandler.d.ts +7 -1
- package/lib/browser/tx/txHandler.js +54 -40
- package/lib/browser/tx/txParamProcessor.d.ts +4 -1
- package/lib/browser/tx/txParamProcessor.js +6 -0
- package/lib/browser/tx/types.d.ts +1 -1
- package/lib/browser/tx/whileValidTxSender.d.ts +1 -6
- package/lib/browser/tx/whileValidTxSender.js +35 -13
- package/lib/browser/types.d.ts +102 -157
- package/lib/browser/types.js +6 -2
- package/lib/browser/user.d.ts +22 -10
- package/lib/browser/user.js +174 -154
- package/lib/browser/userConfig.d.ts +3 -2
- package/lib/browser/userMap/WebsocketSubscription.d.ts +1 -1
- package/lib/browser/userMap/WebsocketSubscription.js +1 -1
- package/lib/browser/userMap/grpcSubscription.d.ts +1 -1
- package/lib/browser/userMap/grpcSubscription.js +1 -1
- package/lib/browser/userMap/referrerMap.d.ts +0 -2
- package/lib/browser/userMap/referrerMap.js +10 -7
- package/lib/browser/userMap/revenueShareEscrowMap.d.ts +0 -2
- package/lib/browser/userMap/revenueShareEscrowMap.js +4 -4
- package/lib/browser/userMap/userMap.d.ts +3 -5
- package/lib/browser/userMap/userMap.js +39 -30
- package/lib/browser/userMap/userMapConfig.d.ts +3 -2
- package/lib/browser/userMap/userStatsMap.d.ts +1 -3
- package/lib/browser/userMap/userStatsMap.js +18 -17
- package/lib/browser/userStats.d.ts +7 -4
- package/lib/browser/userStats.js +28 -18
- package/lib/browser/userStatsConfig.d.ts +3 -2
- package/lib/browser/util/TransactionConfirmationManager.js +4 -2
- package/lib/browser/util/chainClock.d.ts +1 -1
- package/lib/browser/util/computeUnits.d.ts +1 -1
- package/lib/browser/util/computeUnits.js +6 -1
- package/lib/browser/util/ed25519Utils.d.ts +1 -1
- package/lib/browser/util/ed25519Utils.js +1 -1
- package/lib/browser/velocityClient.d.ts +144 -71
- package/lib/browser/velocityClient.js +653 -457
- package/lib/browser/velocityClientConfig.d.ts +0 -8
- package/lib/node/accounts/basicUserAccountSubscriber.d.ts +5 -3
- package/lib/node/accounts/basicUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/basicUserAccountSubscriber.js +4 -3
- package/lib/node/accounts/basicUserStatsAccountSubscriber.d.ts +5 -3
- package/lib/node/accounts/basicUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/basicUserStatsAccountSubscriber.js +4 -3
- package/lib/node/accounts/bulkAccountLoader.d.ts +5 -5
- package/lib/node/accounts/bulkAccountLoader.d.ts.map +1 -1
- package/lib/node/accounts/bulkAccountLoader.js +12 -1
- package/lib/node/accounts/grpcAccountSubscriber.d.ts +2 -1
- package/lib/node/accounts/grpcAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcAccountSubscriber.js +8 -2
- package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts +3 -2
- package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcMultiAccountSubscriber.js +13 -5
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts +2 -1
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.js +12 -8
- package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts +2 -1
- package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcProgramAccountSubscriber.js +9 -3
- package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts +0 -4
- package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcVelocityClientAccountSubscriber.js +19 -6
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +1 -5
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.js +44 -23
- package/lib/node/accounts/laserProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/laserProgramAccountSubscriber.js +4 -1
- package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/oneShotUserAccountSubscriber.js +4 -3
- package/lib/node/accounts/oneShotUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/oneShotUserStatsAccountSubscriber.js +7 -3
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +4 -2
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.js +3 -3
- package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts +0 -2
- package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingOracleAccountSubscriber.js +16 -5
- package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts +0 -2
- package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingTokenAccountSubscriber.js +16 -5
- package/lib/node/accounts/pollingUserAccountSubscriber.d.ts +8 -4
- package/lib/node/accounts/pollingUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingUserAccountSubscriber.js +17 -11
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts +4 -2
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.js +6 -6
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts +7 -5
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.js +69 -35
- package/lib/node/accounts/types.d.ts +6 -12
- package/lib/node/accounts/types.d.ts.map +1 -1
- package/lib/node/accounts/utils.d.ts +1 -0
- package/lib/node/accounts/utils.d.ts.map +1 -1
- package/lib/node/accounts/utils.js +10 -3
- package/lib/node/accounts/webSocketAccountSubscriber.d.ts +4 -2
- package/lib/node/accounts/webSocketAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketAccountSubscriber.js +17 -5
- package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts +4 -2
- package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketAccountSubscriberV2.js +17 -6
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +4 -2
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +9 -0
- package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts +3 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriber.js +14 -3
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts +3 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.js +15 -3
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts +3 -1
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.js +14 -4
- package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts +4 -2
- package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketUserAccountSubscriber.js +9 -0
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts +4 -2
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.js +9 -0
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts +4 -8
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.js +52 -26
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +7 -7
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.js +49 -20
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts +1 -1
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.js +0 -3
- package/lib/node/addresses/marketAddresses.d.ts.map +1 -1
- package/lib/node/addresses/marketAddresses.js +3 -2
- package/lib/node/addresses/pda.d.ts +1 -9
- package/lib/node/addresses/pda.d.ts.map +1 -1
- package/lib/node/addresses/pda.js +4 -23
- package/lib/node/adminClient.d.ts +25 -29
- package/lib/node/adminClient.d.ts.map +1 -1
- package/lib/node/adminClient.js +168 -169
- package/lib/node/auctionSubscriber/auctionSubscriber.d.ts +2 -4
- package/lib/node/auctionSubscriber/auctionSubscriber.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriber.js +8 -10
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts +2 -4
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +11 -10
- package/lib/node/auctionSubscriber/types.d.ts +3 -2
- package/lib/node/auctionSubscriber/types.d.ts.map +1 -1
- package/lib/node/bankrun/bankrunConnection.d.ts +6 -4
- package/lib/node/bankrun/bankrunConnection.d.ts.map +1 -1
- package/lib/node/bankrun/bankrunConnection.js +69 -31
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts +1 -1
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts.map +1 -1
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.js +3 -2
- package/lib/node/clock/clockSubscriber.d.ts +6 -6
- package/lib/node/clock/clockSubscriber.d.ts.map +1 -1
- package/lib/node/clock/clockSubscriber.js +4 -3
- package/lib/node/config.d.ts +11 -20
- package/lib/node/config.d.ts.map +1 -1
- package/lib/node/config.js +13 -36
- package/lib/node/constants/index.d.ts +1 -2
- package/lib/node/constants/index.d.ts.map +1 -1
- package/lib/node/constants/index.js +1 -2
- package/lib/node/constants/numericConstants.d.ts +1 -3
- package/lib/node/constants/numericConstants.d.ts.map +1 -1
- package/lib/node/constants/numericConstants.js +3 -5
- package/lib/node/constituentMap/constituentMap.d.ts +0 -2
- package/lib/node/constituentMap/constituentMap.d.ts.map +1 -1
- package/lib/node/constituentMap/constituentMap.js +10 -6
- package/lib/node/constituentMap/pollingConstituentAccountSubscriber.d.ts.map +1 -1
- package/lib/node/constituentMap/pollingConstituentAccountSubscriber.js +3 -2
- package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.d.ts +2 -3
- package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.d.ts.map +1 -1
- package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.js +10 -3
- package/lib/node/core/VelocityCore.d.ts +9 -15
- package/lib/node/core/VelocityCore.d.ts.map +1 -1
- package/lib/node/core/VelocityCore.js +5 -7
- package/lib/node/core/instructions/perpOrders.d.ts +14 -0
- package/lib/node/core/instructions/perpOrders.d.ts.map +1 -1
- package/lib/node/core/instructions/perpOrders.js +14 -0
- package/lib/node/core/instructions/withdraw.d.ts +1 -1
- package/lib/node/core/instructions/withdraw.d.ts.map +1 -1
- package/lib/node/core/instructions/withdraw.js +1 -1
- package/lib/node/core/remainingAccounts.d.ts +2 -2
- package/lib/node/core/remainingAccounts.d.ts.map +1 -1
- package/lib/node/core/remainingAccounts.js +5 -5
- package/lib/node/decode/user.d.ts.map +1 -1
- package/lib/node/decode/user.js +9 -1
- package/lib/node/dlob/DLOB.d.ts +7 -2
- package/lib/node/dlob/DLOB.d.ts.map +1 -1
- package/lib/node/dlob/DLOB.js +205 -142
- package/lib/node/dlob/DLOBNode.d.ts +5 -2
- package/lib/node/dlob/DLOBNode.d.ts.map +1 -1
- package/lib/node/dlob/DLOBNode.js +7 -0
- package/lib/node/dlob/DLOBSubscriber.d.ts +0 -2
- package/lib/node/dlob/DLOBSubscriber.d.ts.map +1 -1
- package/lib/node/dlob/DLOBSubscriber.js +39 -39
- package/lib/node/dlob/NodeList.d.ts.map +1 -1
- package/lib/node/dlob/NodeList.js +8 -7
- package/lib/node/dlob/orderBookLevels.d.ts.map +1 -1
- package/lib/node/dlob/orderBookLevels.js +24 -17
- package/lib/node/dlob/types.d.ts +0 -2
- package/lib/node/dlob/types.d.ts.map +1 -1
- package/lib/node/events/eventList.d.ts +3 -3
- package/lib/node/events/eventList.d.ts.map +1 -1
- package/lib/node/events/eventList.js +4 -1
- package/lib/node/events/eventSubscriber.d.ts +6 -3
- package/lib/node/events/eventSubscriber.d.ts.map +1 -1
- package/lib/node/events/eventSubscriber.js +75 -26
- package/lib/node/events/eventsServerLogProvider.d.ts +2 -2
- package/lib/node/events/eventsServerLogProvider.d.ts.map +1 -1
- package/lib/node/events/eventsServerLogProvider.js +17 -10
- package/lib/node/events/fetchLogs.d.ts +1 -1
- package/lib/node/events/fetchLogs.d.ts.map +1 -1
- package/lib/node/events/fetchLogs.js +4 -2
- package/lib/node/events/parse.d.ts.map +1 -1
- package/lib/node/events/parse.js +14 -14
- package/lib/node/events/pollingLogProvider.d.ts +2 -2
- package/lib/node/events/pollingLogProvider.d.ts.map +1 -1
- package/lib/node/events/pollingLogProvider.js +1 -0
- package/lib/node/events/txEventCache.d.ts +3 -3
- package/lib/node/events/txEventCache.d.ts.map +1 -1
- package/lib/node/events/txEventCache.js +6 -2
- package/lib/node/events/types.d.ts +3 -7
- package/lib/node/events/types.d.ts.map +1 -1
- package/lib/node/events/types.js +1 -3
- package/lib/node/events/webSocketLogProvider.d.ts +2 -2
- package/lib/node/events/webSocketLogProvider.d.ts.map +1 -1
- package/lib/node/events/webSocketLogProvider.js +5 -2
- package/lib/node/factory/bigNum.js +1 -1
- package/lib/{browser/idl/drift.d.ts → node/idl/velocity.d.ts} +2413 -2480
- package/lib/node/idl/velocity.d.ts.map +1 -0
- package/lib/node/idl/{drift.json → velocity.json} +2265 -2333
- package/lib/node/index.d.ts +1 -3
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +1 -4
- package/lib/node/jupiter/jupiterClient.d.ts +1 -1
- package/lib/node/jupiter/jupiterClient.d.ts.map +1 -1
- package/lib/node/jupiter/jupiterClient.js +18 -8
- package/lib/node/marginCalculation.d.ts.map +1 -1
- package/lib/node/marginCalculation.js +1 -0
- package/lib/node/math/amm.d.ts +31 -13
- package/lib/node/math/amm.d.ts.map +1 -1
- package/lib/node/math/amm.js +87 -31
- package/lib/node/math/auction.d.ts.map +1 -1
- package/lib/node/math/auction.js +16 -12
- package/lib/node/math/bankruptcy.js +1 -1
- package/lib/node/math/builder.d.ts +18 -1
- package/lib/node/math/builder.d.ts.map +1 -1
- package/lib/node/math/builder.js +32 -1
- package/lib/node/math/funding.d.ts.map +1 -1
- package/lib/node/math/funding.js +30 -30
- package/lib/node/math/insurance.d.ts +1 -1
- package/lib/node/math/insurance.d.ts.map +1 -1
- package/lib/node/math/insurance.js +4 -5
- package/lib/node/math/margin.d.ts +3 -11
- package/lib/node/math/margin.d.ts.map +1 -1
- package/lib/node/math/margin.js +10 -69
- package/lib/node/math/market.d.ts +4 -12
- package/lib/node/math/market.d.ts.map +1 -1
- package/lib/node/math/market.js +12 -46
- package/lib/node/math/oracles.d.ts +4 -7
- package/lib/node/math/oracles.d.ts.map +1 -1
- package/lib/node/math/oracles.js +24 -37
- package/lib/node/math/orders.d.ts +2 -7
- package/lib/node/math/orders.d.ts.map +1 -1
- package/lib/node/math/orders.js +9 -81
- package/lib/node/math/position.d.ts +1 -5
- package/lib/node/math/position.d.ts.map +1 -1
- package/lib/node/math/position.js +6 -11
- package/lib/node/math/repeg.d.ts +0 -1
- package/lib/node/math/repeg.d.ts.map +1 -1
- package/lib/node/math/repeg.js +1 -23
- package/lib/node/math/spotBalance.d.ts +4 -4
- package/lib/node/math/spotBalance.d.ts.map +1 -1
- package/lib/node/math/spotBalance.js +6 -6
- package/lib/node/math/spotMarket.d.ts +0 -6
- package/lib/node/math/spotMarket.d.ts.map +1 -1
- package/lib/node/math/spotMarket.js +1 -16
- package/lib/node/math/spotPosition.d.ts +4 -4
- package/lib/node/math/spotPosition.d.ts.map +1 -1
- package/lib/node/math/state.d.ts +0 -2
- package/lib/node/math/state.d.ts.map +1 -1
- package/lib/node/math/state.js +1 -9
- package/lib/node/math/superStake.d.ts +11 -63
- package/lib/node/math/superStake.d.ts.map +1 -1
- package/lib/node/math/superStake.js +29 -28
- package/lib/node/math/trade.d.ts +2 -2
- package/lib/node/math/trade.d.ts.map +1 -1
- package/lib/node/math/trade.js +7 -7
- package/lib/node/math/utils.d.ts +1 -1
- package/lib/node/math/utils.js +1 -1
- package/lib/node/memcmp.d.ts +0 -1
- package/lib/node/memcmp.d.ts.map +1 -1
- package/lib/node/memcmp.js +1 -10
- package/lib/node/oracles/oracleClientCache.d.ts +1 -1
- package/lib/node/oracles/prelaunchOracleClient.d.ts.map +1 -1
- package/lib/node/oracles/prelaunchOracleClient.js +3 -2
- package/lib/node/oracles/pythClient.d.ts.map +1 -1
- package/lib/node/oracles/pythClient.js +9 -3
- package/lib/node/oracles/pythLazerClient.d.ts.map +1 -1
- package/lib/node/oracles/pythLazerClient.js +5 -4
- package/lib/node/oracles/utils.d.ts +4 -0
- package/lib/node/oracles/utils.d.ts.map +1 -1
- package/lib/node/oracles/utils.js +9 -1
- package/lib/node/orderSubscriber/OrderSubscriber.d.ts +1 -3
- package/lib/node/orderSubscriber/OrderSubscriber.d.ts.map +1 -1
- package/lib/node/orderSubscriber/OrderSubscriber.js +16 -14
- package/lib/node/orderSubscriber/WebsocketSubscription.js +1 -1
- package/lib/node/orderSubscriber/grpcSubscription.js +2 -2
- package/lib/node/orderSubscriber/types.d.ts +0 -2
- package/lib/node/orderSubscriber/types.d.ts.map +1 -1
- package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts +1 -1
- package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts.map +1 -1
- package/lib/node/priorityFee/priorityFeeSubscriber.d.ts +2 -6
- package/lib/node/priorityFee/priorityFeeSubscriber.d.ts.map +1 -1
- package/lib/node/priorityFee/priorityFeeSubscriber.js +34 -18
- package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts +0 -4
- package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts.map +1 -1
- package/lib/node/priorityFee/priorityFeeSubscriberMap.js +3 -11
- package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts +1 -1
- package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts.map +1 -1
- package/lib/node/priorityFee/types.d.ts +3 -8
- package/lib/node/priorityFee/types.d.ts.map +1 -1
- package/lib/node/priorityFee/velocityPriorityFeeMethod.d.ts +0 -8
- package/lib/node/priorityFee/velocityPriorityFeeMethod.d.ts.map +1 -1
- package/lib/node/priorityFee/velocityPriorityFeeMethod.js +1 -3
- package/lib/node/pyth/pythLazerSubscriber.d.ts +1 -1
- package/lib/node/pyth/pythLazerSubscriber.js +1 -1
- package/lib/node/pyth/types.d.ts +0 -1
- package/lib/node/pyth/types.d.ts.map +1 -1
- package/lib/node/slot/SlotSubscriber.d.ts +1 -1
- package/lib/node/slot/SlotSubscriber.d.ts.map +1 -1
- package/lib/node/slot/SlotSubscriber.js +2 -1
- package/lib/node/slot/SlothashSubscriber.d.ts +3 -2
- package/lib/node/slot/SlothashSubscriber.d.ts.map +1 -1
- package/lib/node/slot/SlothashSubscriber.js +11 -4
- package/lib/node/swap/UnifiedSwapClient.js +1 -1
- package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.d.ts +0 -3
- package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.js +5 -5
- package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts +7 -7
- package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/swift/signedMsgUserAccountSubscriber.js +14 -10
- package/lib/node/swift/swiftOrderSubscriber.d.ts +7 -6
- package/lib/node/swift/swiftOrderSubscriber.d.ts.map +1 -1
- package/lib/node/swift/swiftOrderSubscriber.js +15 -16
- package/lib/node/testClient.js +3 -2
- package/lib/node/tokenFaucet.d.ts.map +1 -1
- package/lib/node/tokenFaucet.js +16 -2
- package/lib/node/tx/baseTxSender.d.ts +4 -4
- package/lib/node/tx/baseTxSender.d.ts.map +1 -1
- package/lib/node/tx/baseTxSender.js +5 -4
- package/lib/node/tx/fastSingleTxSender.d.ts +3 -3
- package/lib/node/tx/fastSingleTxSender.d.ts.map +1 -1
- package/lib/node/tx/fastSingleTxSender.js +9 -5
- package/lib/node/tx/reportTransactionError.d.ts +2 -2
- package/lib/node/tx/reportTransactionError.d.ts.map +1 -1
- package/lib/node/tx/reportTransactionError.js +5 -1
- package/lib/node/tx/retryTxSender.d.ts +1 -1
- package/lib/node/tx/retryTxSender.d.ts.map +1 -1
- package/lib/node/tx/retryTxSender.js +4 -2
- package/lib/node/tx/txHandler.d.ts +9 -3
- package/lib/node/tx/txHandler.d.ts.map +1 -1
- package/lib/node/tx/txHandler.js +54 -40
- package/lib/node/tx/txParamProcessor.d.ts +4 -1
- package/lib/node/tx/txParamProcessor.d.ts.map +1 -1
- package/lib/node/tx/txParamProcessor.js +6 -0
- package/lib/node/tx/types.d.ts +1 -1
- package/lib/node/tx/types.d.ts.map +1 -1
- package/lib/node/tx/whileValidTxSender.d.ts +1 -6
- package/lib/node/tx/whileValidTxSender.d.ts.map +1 -1
- package/lib/node/tx/whileValidTxSender.js +35 -13
- package/lib/node/types.d.ts +100 -155
- package/lib/node/types.d.ts.map +1 -1
- package/lib/node/types.js +6 -2
- package/lib/node/user.d.ts +22 -10
- package/lib/node/user.d.ts.map +1 -1
- package/lib/node/user.js +174 -154
- package/lib/node/userConfig.d.ts +3 -2
- package/lib/node/userConfig.d.ts.map +1 -1
- package/lib/node/userMap/WebsocketSubscription.d.ts +1 -1
- package/lib/node/userMap/WebsocketSubscription.d.ts.map +1 -1
- package/lib/node/userMap/WebsocketSubscription.js +1 -1
- package/lib/node/userMap/grpcSubscription.d.ts +1 -1
- package/lib/node/userMap/grpcSubscription.d.ts.map +1 -1
- package/lib/node/userMap/grpcSubscription.js +1 -1
- package/lib/node/userMap/referrerMap.d.ts +0 -2
- package/lib/node/userMap/referrerMap.d.ts.map +1 -1
- package/lib/node/userMap/referrerMap.js +10 -7
- package/lib/node/userMap/revenueShareEscrowMap.d.ts +0 -2
- package/lib/node/userMap/revenueShareEscrowMap.d.ts.map +1 -1
- package/lib/node/userMap/revenueShareEscrowMap.js +4 -4
- package/lib/node/userMap/userMap.d.ts +3 -5
- package/lib/node/userMap/userMap.d.ts.map +1 -1
- package/lib/node/userMap/userMap.js +39 -30
- package/lib/node/userMap/userMapConfig.d.ts +3 -2
- package/lib/node/userMap/userMapConfig.d.ts.map +1 -1
- package/lib/node/userMap/userStatsMap.d.ts +1 -3
- package/lib/node/userMap/userStatsMap.d.ts.map +1 -1
- package/lib/node/userMap/userStatsMap.js +18 -17
- package/lib/node/userStats.d.ts +7 -4
- package/lib/node/userStats.d.ts.map +1 -1
- package/lib/node/userStats.js +28 -18
- package/lib/node/userStatsConfig.d.ts +3 -2
- package/lib/node/userStatsConfig.d.ts.map +1 -1
- package/lib/node/util/TransactionConfirmationManager.d.ts.map +1 -1
- package/lib/node/util/TransactionConfirmationManager.js +4 -2
- package/lib/node/util/chainClock.d.ts +1 -1
- package/lib/node/util/chainClock.d.ts.map +1 -1
- package/lib/node/util/computeUnits.d.ts +1 -1
- package/lib/node/util/computeUnits.d.ts.map +1 -1
- package/lib/node/util/computeUnits.js +6 -1
- package/lib/node/util/ed25519Utils.d.ts +1 -1
- package/lib/node/util/ed25519Utils.js +1 -1
- package/lib/node/velocityClient.d.ts +145 -72
- package/lib/node/velocityClient.d.ts.map +1 -1
- package/lib/node/velocityClient.js +653 -457
- package/lib/node/velocityClientConfig.d.ts +0 -8
- package/lib/node/velocityClientConfig.d.ts.map +1 -1
- package/package.json +10 -9
- package/scripts/deposit-isolated-positions.ts +2 -2
- package/scripts/find-flagged-users.ts +1 -1
- package/scripts/grpc-client-test-comparison.ts +4 -4
- package/scripts/grpc-multiuser-client-test-comparison.ts +2 -2
- package/scripts/single-grpc-client-test.ts +3 -3
- package/scripts/updateVersion.js +4 -4
- package/scripts/withdraw-isolated-positions.ts +2 -2
- package/src/accounts/basicUserAccountSubscriber.ts +7 -5
- package/src/accounts/basicUserStatsAccountSubscriber.ts +9 -5
- package/src/accounts/bulkAccountLoader.ts +20 -7
- package/src/accounts/grpcAccountSubscriber.ts +11 -3
- package/src/accounts/grpcMultiAccountSubscriber.ts +24 -9
- package/src/accounts/grpcMultiUserAccountSubscriber.ts +16 -12
- package/src/accounts/grpcProgramAccountSubscriber.ts +12 -4
- package/src/accounts/grpcVelocityClientAccountSubscriber.ts +17 -14
- package/src/accounts/grpcVelocityClientAccountSubscriberV2.ts +69 -49
- package/src/accounts/laserProgramAccountSubscriber.ts +4 -1
- package/src/accounts/oneShotUserAccountSubscriber.ts +5 -3
- package/src/accounts/oneShotUserStatsAccountSubscriber.ts +8 -3
- package/src/accounts/pollingInsuranceFundStakeAccountSubscriber.ts +11 -5
- package/src/accounts/pollingOracleAccountSubscriber.ts +17 -10
- package/src/accounts/pollingTokenAccountSubscriber.ts +17 -10
- package/src/accounts/pollingUserAccountSubscriber.ts +26 -20
- package/src/accounts/pollingUserStatsAccountSubscriber.ts +12 -10
- package/src/accounts/pollingVelocityClientAccountSubscriber.ts +80 -41
- package/src/accounts/types.ts +8 -13
- package/src/accounts/utils.ts +12 -2
- package/src/accounts/webSocketAccountSubscriber.ts +23 -10
- package/src/accounts/webSocketAccountSubscriberV2.ts +23 -8
- package/src/accounts/webSocketInsuranceFundStakeAccountSubscriber.ts +17 -2
- package/src/accounts/webSocketProgramAccountSubscriber.ts +29 -4
- package/src/accounts/webSocketProgramAccountSubscriberV2.ts +30 -4
- package/src/accounts/webSocketProgramAccountsSubscriberV2.ts +29 -4
- package/src/accounts/webSocketUserAccountSubscriber.ts +11 -2
- package/src/accounts/webSocketUserStatsAccountSubsriber.ts +15 -2
- package/src/accounts/webSocketVelocityClientAccountSubscriber.ts +79 -58
- package/src/accounts/webSocketVelocityClientAccountSubscriberV2.ts +77 -45
- package/src/accounts/websocketProgramUserAccountSubscriber.ts +1 -6
- package/src/addresses/marketAddresses.ts +3 -2
- package/src/addresses/pda.ts +3 -38
- package/src/adminClient.ts +285 -315
- package/src/auctionSubscriber/auctionSubscriber.ts +8 -11
- package/src/auctionSubscriber/auctionSubscriberGrpc.ts +13 -11
- package/src/auctionSubscriber/types.ts +3 -3
- package/src/bankrun/bankrunConnection.ts +83 -39
- package/src/blockhashSubscriber/BlockhashSubscriber.ts +5 -4
- package/src/clock/clockSubscriber.ts +10 -9
- package/src/config.ts +16 -70
- package/src/constants/index.ts +1 -2
- package/src/constants/numericConstants.ts +3 -3
- package/src/constituentMap/constituentMap.ts +10 -7
- package/src/constituentMap/pollingConstituentAccountSubscriber.ts +4 -2
- package/src/constituentMap/webSocketConstituentAccountSubscriber.ts +13 -4
- package/src/core/VelocityCore.ts +11 -20
- package/src/core/instructions/perpOrders.ts +14 -0
- package/src/core/instructions/withdraw.ts +2 -2
- package/src/core/remainingAccounts.ts +7 -7
- package/src/decode/user.ts +8 -1
- package/src/dlob/DLOB.ts +300 -176
- package/src/dlob/DLOBNode.ts +23 -3
- package/src/dlob/DLOBSubscriber.ts +53 -42
- package/src/dlob/NodeList.ts +8 -7
- package/src/dlob/orderBookLevels.ts +51 -25
- package/src/dlob/types.ts +0 -2
- package/src/events/eventList.ts +4 -1
- package/src/events/eventSubscriber.ts +108 -50
- package/src/events/eventsServerLogProvider.ts +24 -15
- package/src/events/fetchLogs.ts +3 -3
- package/src/events/parse.ts +14 -14
- package/src/events/pollingLogProvider.ts +2 -2
- package/src/events/txEventCache.ts +8 -2
- package/src/events/types.ts +4 -15
- package/src/events/webSocketLogProvider.ts +5 -3
- package/src/factory/bigNum.ts +2 -2
- package/src/idl/{drift.json → velocity.json} +2265 -2333
- package/src/idl/{drift.ts → velocity.ts} +2267 -2335
- package/src/index.ts +1 -6
- package/src/jupiter/jupiterClient.ts +30 -10
- package/src/margin/README.md +2 -2
- package/src/marginCalculation.ts +1 -0
- package/src/math/amm.ts +217 -40
- package/src/math/auction.ts +16 -12
- package/src/math/bankruptcy.ts +1 -1
- package/src/math/builder.ts +45 -1
- package/src/math/funding.ts +51 -47
- package/src/math/insurance.ts +6 -8
- package/src/math/margin.ts +12 -119
- package/src/math/market.ts +16 -98
- package/src/math/oracles.ts +29 -43
- package/src/math/orders.ts +13 -109
- package/src/math/position.ts +6 -12
- package/src/math/repeg.ts +0 -29
- package/src/math/spotBalance.ts +14 -10
- package/src/math/spotMarket.ts +2 -28
- package/src/math/spotPosition.ts +4 -4
- package/src/math/state.ts +0 -8
- package/src/math/superStake.ts +36 -85
- package/src/math/trade.ts +7 -3
- package/src/math/utils.ts +1 -1
- package/src/memcmp.ts +0 -9
- package/src/oracles/prelaunchOracleClient.ts +7 -2
- package/src/oracles/pythClient.ts +12 -3
- package/src/oracles/pythLazerClient.ts +10 -5
- package/src/oracles/utils.ts +15 -0
- package/src/orderSubscriber/OrderSubscriber.ts +12 -12
- package/src/orderSubscriber/WebsocketSubscription.ts +1 -1
- package/src/orderSubscriber/grpcSubscription.ts +2 -2
- package/src/orderSubscriber/types.ts +0 -2
- package/src/priorityFee/heliusPriorityFeeMethod.ts +1 -1
- package/src/priorityFee/priorityFeeSubscriber.ts +50 -21
- package/src/priorityFee/priorityFeeSubscriberMap.ts +2 -10
- package/src/priorityFee/solanaPriorityFeeMethod.ts +1 -1
- package/src/priorityFee/types.ts +3 -13
- package/src/priorityFee/velocityPriorityFeeMethod.ts +0 -12
- package/src/pyth/pythLazerSubscriber.ts +1 -1
- package/src/pyth/types.ts +0 -2
- package/src/slot/SlotSubscriber.ts +3 -3
- package/src/slot/SlothashSubscriber.ts +17 -6
- package/src/swap/UnifiedSwapClient.ts +1 -1
- package/src/swift/grpcSignedMsgUserAccountSubscriber.ts +5 -6
- package/src/swift/signedMsgUserAccountSubscriber.ts +18 -16
- package/src/swift/swiftOrderSubscriber.ts +17 -21
- package/src/testClient.ts +2 -2
- package/src/tokenFaucet.ts +22 -3
- package/src/tx/baseTxSender.ts +10 -10
- package/src/tx/fastSingleTxSender.ts +12 -8
- package/src/tx/reportTransactionError.ts +12 -7
- package/src/tx/retryTxSender.ts +6 -4
- package/src/tx/txHandler.ts +88 -43
- package/src/tx/txParamProcessor.ts +18 -3
- package/src/tx/types.ts +1 -1
- package/src/tx/whileValidTxSender.ts +51 -22
- package/src/types.ts +119 -173
- package/src/user.ts +208 -165
- package/src/userConfig.ts +1 -3
- package/src/userMap/WebsocketSubscription.ts +2 -2
- package/src/userMap/grpcSubscription.ts +2 -2
- package/src/userMap/referrerMap.ts +13 -13
- package/src/userMap/revenueShareEscrowMap.ts +6 -5
- package/src/userMap/userMap.ts +46 -32
- package/src/userMap/userMapConfig.ts +3 -3
- package/src/userMap/userStatsMap.ts +32 -23
- package/src/userStats.ts +22 -13
- package/src/userStatsConfig.ts +3 -3
- package/src/util/TransactionConfirmationManager.ts +10 -2
- package/src/util/chainClock.ts +1 -1
- package/src/util/computeUnits.ts +7 -3
- package/src/util/ed25519Utils.ts +1 -1
- package/src/velocityClient.ts +867 -600
- package/src/velocityClientConfig.ts +0 -10
- package/tests/{DriftCore → VelocityCore}/decode.test.ts +1 -1
- package/tests/{DriftCore → VelocityCore}/fill_trigger.test.ts +1 -1
- package/tests/{DriftCore → VelocityCore}/instructions.test.ts +1 -1
- package/tests/{DriftCore → VelocityCore}/pdas.test.ts +4 -2
- package/tests/amm/test.ts +138 -0
- package/tests/ci/verifyConstants.ts +24 -27
- package/tests/decode/test.ts +2 -2
- package/tests/dlob/helpers.ts +11 -10
- package/tests/events/parseLogsForCuUsage.ts +15 -15
- package/tests/user/helpers.ts +9 -9
- package/tests/user/test.ts +13 -10
- package/tsconfig.json +1 -0
- package/lib/browser/constants/insuranceFund.d.ts +0 -5
- package/lib/browser/constants/insuranceFund.js +0 -9
- package/lib/browser/tx/forwardOnlyTxSender.d.ts +0 -37
- package/lib/browser/tx/forwardOnlyTxSender.js +0 -92
- package/lib/browser/util/deprecatedAlias.d.ts +0 -26
- package/lib/browser/util/deprecatedAlias.js +0 -10
- package/lib/browser/util/tps.d.ts +0 -2
- package/lib/browser/util/tps.js +0 -16
- package/lib/node/constants/insuranceFund.d.ts +0 -6
- package/lib/node/constants/insuranceFund.d.ts.map +0 -1
- package/lib/node/constants/insuranceFund.js +0 -9
- package/lib/node/idl/drift.d.ts.map +0 -1
- package/lib/node/tx/forwardOnlyTxSender.d.ts +0 -38
- package/lib/node/tx/forwardOnlyTxSender.d.ts.map +0 -1
- package/lib/node/tx/forwardOnlyTxSender.js +0 -92
- package/lib/node/util/deprecatedAlias.d.ts +0 -27
- package/lib/node/util/deprecatedAlias.d.ts.map +0 -1
- package/lib/node/util/deprecatedAlias.js +0 -10
- package/lib/node/util/tps.d.ts +0 -3
- package/lib/node/util/tps.d.ts.map +0 -1
- package/lib/node/util/tps.js +0 -16
- package/src/constants/insuranceFund.ts +0 -8
- package/src/tx/forwardOnlyTxSender.ts +0 -145
- package/src/util/deprecatedAlias.ts +0 -21
- package/src/util/tps.ts +0 -27
- /package/lib/browser/idl/{drift.js → velocity.js} +0 -0
- /package/lib/node/idl/{drift.js → velocity.js} +0 -0
- /package/tests/{DriftCore → VelocityCore}/perp_orders.test.ts +0 -0
- /package/tests/{DriftCore → VelocityCore}/remainingAccounts.test.ts +0 -0
- /package/tests/{DriftCore → VelocityCore}/settlement_liquidation.test.ts +0 -0
|
@@ -17,7 +17,9 @@ class PollingUserAccountSubscriber {
|
|
|
17
17
|
return true;
|
|
18
18
|
}
|
|
19
19
|
if (userAccount) {
|
|
20
|
-
|
|
20
|
+
// `slot: 0` keeps {data, slot} atomic: a seeded account always carries a
|
|
21
|
+
// slot (0 = oldest-possible sentinel, overwritten by the first real fetch).
|
|
22
|
+
this.user = { data: userAccount, slot: 0 };
|
|
21
23
|
}
|
|
22
24
|
await this.addToAccountLoader();
|
|
23
25
|
await this.fetchIfUnloaded();
|
|
@@ -48,7 +50,7 @@ class PollingUserAccountSubscriber {
|
|
|
48
50
|
});
|
|
49
51
|
}
|
|
50
52
|
async fetchIfUnloaded() {
|
|
51
|
-
if (this.
|
|
53
|
+
if (!this.doesAccountExist()) {
|
|
52
54
|
await this.fetch();
|
|
53
55
|
}
|
|
54
56
|
}
|
|
@@ -56,7 +58,8 @@ class PollingUserAccountSubscriber {
|
|
|
56
58
|
var _a, _b;
|
|
57
59
|
try {
|
|
58
60
|
const dataAndContext = await this.connection.getAccountInfoAndContext(this.userAccountPublicKey, this.accountLoader.commitment);
|
|
59
|
-
if (dataAndContext.
|
|
61
|
+
if (dataAndContext.value !== null &&
|
|
62
|
+
dataAndContext.context.slot > ((_b = (_a = this.user) === null || _a === void 0 ? void 0 : _a.slot) !== null && _b !== void 0 ? _b : 0)) {
|
|
60
63
|
this.user = {
|
|
61
64
|
data: this.decode('user', dataAndContext.value.data),
|
|
62
65
|
slot: dataAndContext.context.slot,
|
|
@@ -64,7 +67,8 @@ class PollingUserAccountSubscriber {
|
|
|
64
67
|
}
|
|
65
68
|
}
|
|
66
69
|
catch (e) {
|
|
67
|
-
|
|
70
|
+
const err = e instanceof Error ? e : new Error(String(e));
|
|
71
|
+
console.log(`PollingUserAccountSubscriber.fetch() UserAccount does not exist: ${err.message}-${err.stack}`);
|
|
68
72
|
}
|
|
69
73
|
}
|
|
70
74
|
doesAccountExist() {
|
|
@@ -74,10 +78,14 @@ class PollingUserAccountSubscriber {
|
|
|
74
78
|
if (!this.isSubscribed) {
|
|
75
79
|
return;
|
|
76
80
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
if (this.callbackId) {
|
|
82
|
+
this.accountLoader.removeAccount(this.userAccountPublicKey, this.callbackId);
|
|
83
|
+
this.callbackId = undefined;
|
|
84
|
+
}
|
|
85
|
+
if (this.errorCallbackId) {
|
|
86
|
+
this.accountLoader.removeErrorCallbacks(this.errorCallbackId);
|
|
87
|
+
this.errorCallbackId = undefined;
|
|
88
|
+
}
|
|
81
89
|
this.isSubscribed = false;
|
|
82
90
|
}
|
|
83
91
|
assertIsSubscribed() {
|
|
@@ -86,9 +94,7 @@ class PollingUserAccountSubscriber {
|
|
|
86
94
|
}
|
|
87
95
|
}
|
|
88
96
|
getUserAccountAndSlot() {
|
|
89
|
-
|
|
90
|
-
throw new types_1.NotSubscribedError('You must call `subscribe` or `fetch` before using this function');
|
|
91
|
-
}
|
|
97
|
+
this.assertIsSubscribed();
|
|
92
98
|
return this.user;
|
|
93
99
|
}
|
|
94
100
|
updateData(userAccount, slot) {
|
|
@@ -20,8 +20,10 @@ export declare class PollingUserStatsAccountSubscriber implements UserStatsAccou
|
|
|
20
20
|
addToAccountLoader(): Promise<void>;
|
|
21
21
|
fetchIfUnloaded(): Promise<void>;
|
|
22
22
|
fetch(): Promise<void>;
|
|
23
|
-
doesAccountExist():
|
|
23
|
+
doesAccountExist(): this is {
|
|
24
|
+
userStats: DataAndSlot<UserStatsAccount>;
|
|
25
|
+
};
|
|
24
26
|
unsubscribe(): Promise<void>;
|
|
25
27
|
assertIsSubscribed(): void;
|
|
26
|
-
getUserStatsAccountAndSlot(): DataAndSlot<UserStatsAccount
|
|
28
|
+
getUserStatsAccountAndSlot(): DataAndSlot<UserStatsAccount> | undefined;
|
|
27
29
|
}
|
|
@@ -16,7 +16,9 @@ class PollingUserStatsAccountSubscriber {
|
|
|
16
16
|
return true;
|
|
17
17
|
}
|
|
18
18
|
if (userStatsAccount) {
|
|
19
|
-
|
|
19
|
+
// `slot: 0` keeps {data, slot} atomic: a seeded account always carries a
|
|
20
|
+
// slot (0 = oldest-possible sentinel, overwritten by the first real fetch).
|
|
21
|
+
this.userStats = { data: userStatsAccount, slot: 0 };
|
|
20
22
|
}
|
|
21
23
|
await this.addToAccountLoader();
|
|
22
24
|
await this.fetchIfUnloaded();
|
|
@@ -47,7 +49,7 @@ class PollingUserStatsAccountSubscriber {
|
|
|
47
49
|
});
|
|
48
50
|
}
|
|
49
51
|
async fetchIfUnloaded() {
|
|
50
|
-
if (this.
|
|
52
|
+
if (!this.doesAccountExist()) {
|
|
51
53
|
await this.fetch();
|
|
52
54
|
}
|
|
53
55
|
}
|
|
@@ -63,7 +65,7 @@ class PollingUserStatsAccountSubscriber {
|
|
|
63
65
|
}
|
|
64
66
|
}
|
|
65
67
|
catch (e) {
|
|
66
|
-
console.log(`PollingUserStatsAccountSubscriber.fetch() UserStatsAccount does not exist: ${e.message}`);
|
|
68
|
+
console.log(`PollingUserStatsAccountSubscriber.fetch() UserStatsAccount does not exist: ${e instanceof Error ? e.message : String(e)}`);
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
71
|
doesAccountExist() {
|
|
@@ -85,9 +87,7 @@ class PollingUserStatsAccountSubscriber {
|
|
|
85
87
|
}
|
|
86
88
|
}
|
|
87
89
|
getUserStatsAccountAndSlot() {
|
|
88
|
-
|
|
89
|
-
throw new types_1.NotSubscribedError('You must call `subscribe` or `fetch` before using this function');
|
|
90
|
-
}
|
|
90
|
+
this.assertIsSubscribed();
|
|
91
91
|
return this.userStats;
|
|
92
92
|
}
|
|
93
93
|
}
|
|
@@ -32,8 +32,8 @@ export declare class PollingVelocityClientAccountSubscriber implements VelocityC
|
|
|
32
32
|
user?: DataAndSlot<UserAccount>;
|
|
33
33
|
delistedMarketSetting: DelistedMarketSetting;
|
|
34
34
|
private isSubscribing;
|
|
35
|
-
private subscriptionPromise;
|
|
36
35
|
private subscriptionPromiseResolver;
|
|
36
|
+
private subscriptionPromise;
|
|
37
37
|
constructor(program: VelocityProgram, accountLoader: BulkAccountLoader, perpMarketIndexes: number[], spotMarketIndexes: number[], oracleInfos: OracleInfo[], shouldFindAllMarketsAndOracles: boolean, delistedMarketSetting: DelistedMarketSetting);
|
|
38
38
|
subscribe(): Promise<boolean>;
|
|
39
39
|
updateAccountsToPoll(): Promise<void>;
|
|
@@ -44,6 +44,12 @@ export declare class PollingVelocityClientAccountSubscriber implements VelocityC
|
|
|
44
44
|
updateOraclesToPoll(): boolean;
|
|
45
45
|
addOracleToPoll(oracleInfo: OracleInfo): boolean;
|
|
46
46
|
addToAccountLoader(): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Routes a freshly-decoded account into the correct container based on
|
|
49
|
+
* its poll key. Replaces dynamic `this[key]` indexing with explicit,
|
|
50
|
+
* type-checked dispatch.
|
|
51
|
+
*/
|
|
52
|
+
private storeDecodedAccount;
|
|
47
53
|
addAccountToAccountLoader(accountToPoll: AccountToPoll): Promise<void>;
|
|
48
54
|
addOracleToAccountLoader(oracleToPoll: OraclesToPoll): Promise<void>;
|
|
49
55
|
fetch(): Promise<void>;
|
|
@@ -67,7 +73,3 @@ export declare class PollingVelocityClientAccountSubscriber implements VelocityC
|
|
|
67
73
|
getOraclePriceDataAndSlotForSpotMarket(marketIndex: number): DataAndSlot<OraclePriceData> | undefined;
|
|
68
74
|
updateAccountLoaderPollingFrequency(pollingFrequency: number): void;
|
|
69
75
|
}
|
|
70
|
-
/** @deprecated Use `PollingVelocityClientAccountSubscriber` instead. `PollingDriftClientAccountSubscriber` will be removed in a future major. */
|
|
71
|
-
export declare const PollingDriftClientAccountSubscriber: typeof PollingVelocityClientAccountSubscriber;
|
|
72
|
-
/** @deprecated Use `PollingVelocityClientAccountSubscriber` instead. `PollingDriftClientAccountSubscriber` will be removed in a future major. */
|
|
73
|
-
export type PollingDriftClientAccountSubscriber = PollingVelocityClientAccountSubscriber;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.PollingVelocityClientAccountSubscriber = void 0;
|
|
4
4
|
const types_1 = require("./types");
|
|
5
5
|
const events_1 = require("events");
|
|
6
6
|
const types_2 = require("../types");
|
|
@@ -25,6 +25,10 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
25
25
|
this.spotOracleStringMap = new Map();
|
|
26
26
|
this.oracles = new Map();
|
|
27
27
|
this.isSubscribing = false;
|
|
28
|
+
this.subscriptionPromiseResolver = () => { };
|
|
29
|
+
this.subscriptionPromise = new Promise((res) => {
|
|
30
|
+
this.subscriptionPromiseResolver = res;
|
|
31
|
+
});
|
|
28
32
|
this.isSubscribed = false;
|
|
29
33
|
this.program = program;
|
|
30
34
|
this.eventEmitter = new events_1.EventEmitter();
|
|
@@ -148,21 +152,39 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
148
152
|
this.eventEmitter.emit('error', error);
|
|
149
153
|
});
|
|
150
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Routes a freshly-decoded account into the correct container based on
|
|
157
|
+
* its poll key. Replaces dynamic `this[key]` indexing with explicit,
|
|
158
|
+
* type-checked dispatch.
|
|
159
|
+
*/
|
|
160
|
+
storeDecodedAccount(accountToPoll, account, slot) {
|
|
161
|
+
const dataAndSlot = { data: account, slot };
|
|
162
|
+
switch (accountToPoll.key) {
|
|
163
|
+
case 'perpMarket':
|
|
164
|
+
if (accountToPoll.mapKey !== undefined) {
|
|
165
|
+
this.perpMarket.set(accountToPoll.mapKey, dataAndSlot);
|
|
166
|
+
}
|
|
167
|
+
break;
|
|
168
|
+
case 'spotMarket':
|
|
169
|
+
if (accountToPoll.mapKey !== undefined) {
|
|
170
|
+
this.spotMarket.set(accountToPoll.mapKey, dataAndSlot);
|
|
171
|
+
}
|
|
172
|
+
break;
|
|
173
|
+
case 'state':
|
|
174
|
+
this.state = dataAndSlot;
|
|
175
|
+
break;
|
|
176
|
+
default: {
|
|
177
|
+
const _exhaustive = accountToPoll.key;
|
|
178
|
+
throw new Error(`Unhandled account poll key: ${String(_exhaustive)}`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
151
182
|
async addAccountToAccountLoader(accountToPoll) {
|
|
152
183
|
accountToPoll.callbackId = await this.accountLoader.addAccount(accountToPoll.publicKey, (buffer, slot) => {
|
|
153
184
|
if (!buffer)
|
|
154
185
|
return;
|
|
155
186
|
const account = this.program.coder.accounts.decodeUnchecked(accountToPoll.key, buffer);
|
|
156
|
-
|
|
157
|
-
data: account,
|
|
158
|
-
slot,
|
|
159
|
-
};
|
|
160
|
-
if (accountToPoll.mapKey != undefined) {
|
|
161
|
-
this[accountToPoll.key].set(accountToPoll.mapKey, dataAndSlot);
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
this[accountToPoll.key] = dataAndSlot;
|
|
165
|
-
}
|
|
187
|
+
this.storeDecodedAccount(accountToPoll, account, slot);
|
|
166
188
|
// @ts-ignore
|
|
167
189
|
this.eventEmitter.emit(accountToPoll.eventType, account);
|
|
168
190
|
this.eventEmitter.emit('update');
|
|
@@ -177,6 +199,8 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
177
199
|
oracleToPoll.callbackId = await this.accountLoader.addAccount(oracleToPoll.publicKey, (buffer, slot) => {
|
|
178
200
|
if (!buffer)
|
|
179
201
|
return;
|
|
202
|
+
if (!oracleClient)
|
|
203
|
+
return;
|
|
180
204
|
const oraclePriceData = oracleClient.getOraclePriceDataFromBuffer(buffer);
|
|
181
205
|
const dataAndSlot = {
|
|
182
206
|
data: oraclePriceData,
|
|
@@ -197,18 +221,7 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
197
221
|
const { buffer, slot } = bufferAndSlot;
|
|
198
222
|
if (buffer) {
|
|
199
223
|
const account = this.program.coder.accounts.decodeUnchecked(accountToPoll.key, buffer);
|
|
200
|
-
|
|
201
|
-
this[accountToPoll.key].set(accountToPoll.mapKey, {
|
|
202
|
-
data: account,
|
|
203
|
-
slot,
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
this[accountToPoll.key] = {
|
|
208
|
-
data: account,
|
|
209
|
-
slot,
|
|
210
|
-
};
|
|
211
|
-
}
|
|
224
|
+
this.storeDecodedAccount(accountToPoll, account, slot);
|
|
212
225
|
}
|
|
213
226
|
}
|
|
214
227
|
for (const [_, oracleToPoll] of this.oraclesToPoll) {
|
|
@@ -219,6 +232,9 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
219
232
|
const { buffer, slot } = bufferAndSlot;
|
|
220
233
|
if (buffer) {
|
|
221
234
|
const oracleClient = this.oracleClientCache.get(oracleToPoll.source, this.program.provider.connection, this.program);
|
|
235
|
+
if (!oracleClient) {
|
|
236
|
+
continue;
|
|
237
|
+
}
|
|
222
238
|
const oraclePriceData = oracleClient.getOraclePriceDataFromBuffer(buffer);
|
|
223
239
|
this.oracles.set((0, oracleId_1.getOracleId)(oracleToPoll.publicKey, oracleToPoll.source), {
|
|
224
240
|
data: oraclePriceData,
|
|
@@ -252,6 +268,9 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
252
268
|
}
|
|
253
269
|
await this.addSpotMarketAccountToPoll(marketIndex);
|
|
254
270
|
const accountToPoll = this.accountsToPoll.get(marketPublicKey.toString());
|
|
271
|
+
if (!accountToPoll) {
|
|
272
|
+
return false;
|
|
273
|
+
}
|
|
255
274
|
await this.addAccountToAccountLoader(accountToPoll);
|
|
256
275
|
this.setSpotOracleMap();
|
|
257
276
|
return true;
|
|
@@ -263,6 +282,9 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
263
282
|
}
|
|
264
283
|
await this.addPerpMarketAccountToPoll(marketIndex);
|
|
265
284
|
const accountToPoll = this.accountsToPoll.get(marketPublicKey.toString());
|
|
285
|
+
if (!accountToPoll) {
|
|
286
|
+
return false;
|
|
287
|
+
}
|
|
266
288
|
await this.addAccountToAccountLoader(accountToPoll);
|
|
267
289
|
await this.setPerpOracleMap();
|
|
268
290
|
return true;
|
|
@@ -278,7 +300,9 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
278
300
|
if (!this.oraclesToPoll.has(oracleId)) {
|
|
279
301
|
this.addOracleToPoll(oracleInfo);
|
|
280
302
|
const oracleToPoll = this.oraclesToPoll.get(oracleId);
|
|
281
|
-
|
|
303
|
+
if (oracleToPoll) {
|
|
304
|
+
await this.addOracleToAccountLoader(oracleToPoll);
|
|
305
|
+
}
|
|
282
306
|
}
|
|
283
307
|
await this.pauseForOracleToBeAdded(3, oracleInfo.publicKey.toBase58());
|
|
284
308
|
return true;
|
|
@@ -300,12 +324,12 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
300
324
|
for (const perpMarket of perpMarkets) {
|
|
301
325
|
const perpMarketAccount = perpMarket.data;
|
|
302
326
|
const perpMarketIndex = perpMarketAccount.marketIndex;
|
|
303
|
-
const oracle = perpMarketAccount.
|
|
304
|
-
const oracleId = (0, oracleId_1.getOracleId)(oracle, perpMarketAccount.
|
|
327
|
+
const oracle = perpMarketAccount.oracle;
|
|
328
|
+
const oracleId = (0, oracleId_1.getOracleId)(oracle, perpMarketAccount.oracleSource);
|
|
305
329
|
if (!this.oracles.has(oracleId)) {
|
|
306
330
|
oraclePromises.push(this.addOracle({
|
|
307
331
|
publicKey: oracle,
|
|
308
|
-
source: perpMarketAccount.
|
|
332
|
+
source: perpMarketAccount.oracleSource,
|
|
309
333
|
}));
|
|
310
334
|
}
|
|
311
335
|
this.perpOracleMap.set(perpMarketIndex, oracle);
|
|
@@ -338,8 +362,16 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
338
362
|
}
|
|
339
363
|
const { perpMarketIndexes, oracles } = (0, utils_1.findDelistedPerpMarketsAndOracles)(this.getMarketAccountsAndSlots(), this.getSpotMarketAccountsAndSlots());
|
|
340
364
|
for (const perpMarketIndex of perpMarketIndexes) {
|
|
341
|
-
const
|
|
342
|
-
|
|
365
|
+
const perpMarketData = this.perpMarket.get(perpMarketIndex);
|
|
366
|
+
if (!perpMarketData) {
|
|
367
|
+
throw new Error(`PollingVelocityClientAccountSubscriber: delisted perp market ${perpMarketIndex} not found in perpMarket map`);
|
|
368
|
+
}
|
|
369
|
+
const perpMarketPubkey = perpMarketData.data.pubkey;
|
|
370
|
+
const accountToPoll = this.accountsToPoll.get(perpMarketPubkey.toBase58());
|
|
371
|
+
if (!accountToPoll) {
|
|
372
|
+
throw new Error(`PollingVelocityClientAccountSubscriber: delisted perp market ${perpMarketIndex} not found in accountsToPoll map`);
|
|
373
|
+
}
|
|
374
|
+
const callbackId = accountToPoll.callbackId;
|
|
343
375
|
this.accountLoader.removeAccount(perpMarketPubkey, callbackId);
|
|
344
376
|
if (this.delistedMarketSetting === types_1.DelistedMarketSetting.Discard) {
|
|
345
377
|
this.perpMarket.delete(perpMarketIndex);
|
|
@@ -347,7 +379,11 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
347
379
|
}
|
|
348
380
|
for (const oracle of oracles) {
|
|
349
381
|
const oracleId = (0, oracleId_1.getOracleId)(oracle.publicKey, oracle.source);
|
|
350
|
-
const
|
|
382
|
+
const oracleToPoll = this.oraclesToPoll.get(oracleId);
|
|
383
|
+
if (!oracleToPoll) {
|
|
384
|
+
throw new Error(`PollingVelocityClientAccountSubscriber: delisted oracle ${oracleId} not found in oraclesToPoll map`);
|
|
385
|
+
}
|
|
386
|
+
const callbackId = oracleToPoll.callbackId;
|
|
351
387
|
this.accountLoader.removeAccount(oracle.publicKey, callbackId);
|
|
352
388
|
if (this.delistedMarketSetting === types_1.DelistedMarketSetting.Discard) {
|
|
353
389
|
this.oracles.delete(oracleId);
|
|
@@ -389,10 +425,10 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
389
425
|
const perpMarketAccount = this.getMarketAccountAndSlot(marketIndex);
|
|
390
426
|
const oracle = this.perpOracleMap.get(marketIndex);
|
|
391
427
|
const oracleId = this.perpOracleStringMap.get(marketIndex);
|
|
392
|
-
if (!perpMarketAccount || !oracle) {
|
|
428
|
+
if (!perpMarketAccount || !oracle || !oracleId) {
|
|
393
429
|
return undefined;
|
|
394
430
|
}
|
|
395
|
-
if (!perpMarketAccount.data.
|
|
431
|
+
if (!perpMarketAccount.data.oracle.equals(oracle)) {
|
|
396
432
|
// If the oracle has changed, we need to update the oracle map in background
|
|
397
433
|
this.setPerpOracleMap();
|
|
398
434
|
}
|
|
@@ -402,7 +438,7 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
402
438
|
const spotMarketAccount = this.getSpotMarketAccountAndSlot(marketIndex);
|
|
403
439
|
const oracle = this.spotOracleMap.get(marketIndex);
|
|
404
440
|
const oracleId = this.spotOracleStringMap.get(marketIndex);
|
|
405
|
-
if (!spotMarketAccount || !oracle) {
|
|
441
|
+
if (!spotMarketAccount || !oracle || !oracleId) {
|
|
406
442
|
return undefined;
|
|
407
443
|
}
|
|
408
444
|
if (!spotMarketAccount.data.oracle.equals(oracle)) {
|
|
@@ -416,5 +452,3 @@ class PollingVelocityClientAccountSubscriber {
|
|
|
416
452
|
}
|
|
417
453
|
}
|
|
418
454
|
exports.PollingVelocityClientAccountSubscriber = PollingVelocityClientAccountSubscriber;
|
|
419
|
-
/** @deprecated Use `PollingVelocityClientAccountSubscriber` instead. `PollingDriftClientAccountSubscriber` will be removed in a future major. */
|
|
420
|
-
exports.PollingDriftClientAccountSubscriber = PollingVelocityClientAccountSubscriber;
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* market, oracle, and state accounts cached in memory. `User` uses a `UserAccountSubscriber`
|
|
9
9
|
* for the individual User account. All subscribers implement the interfaces defined here.
|
|
10
10
|
*
|
|
11
|
-
* Implementations: `
|
|
12
|
-
* `
|
|
11
|
+
* Implementations: `webSocketVelocityClientAccountSubscriber.ts` (default),
|
|
12
|
+
* `pollingVelocityClientAccountSubscriber.ts`, `bulkAccountLoader.ts` (batched RPC).
|
|
13
13
|
*/
|
|
14
14
|
import { SpotMarketAccount, PerpMarketAccount, OracleSource, StateAccount, UserAccount, UserStatsAccount, InsuranceFundStake, ConstituentAccount } from '../types';
|
|
15
15
|
import StrictEventEmitter from 'strict-event-emitter-types';
|
|
@@ -42,9 +42,6 @@ export interface VelocityClientAccountEvents {
|
|
|
42
42
|
update: void;
|
|
43
43
|
error: (e: Error) => void;
|
|
44
44
|
}
|
|
45
|
-
/** @deprecated Use `VelocityClientAccountEvents` instead. `DriftClientAccountEvents` will be removed in a future major. */
|
|
46
|
-
export interface DriftClientAccountEvents extends VelocityClientAccountEvents {
|
|
47
|
-
}
|
|
48
45
|
export interface VelocityClientAccountSubscriber {
|
|
49
46
|
eventEmitter: StrictEventEmitter<EventEmitter, VelocityClientAccountEvents>;
|
|
50
47
|
isSubscribed: boolean;
|
|
@@ -66,9 +63,6 @@ export interface VelocityClientAccountSubscriber {
|
|
|
66
63
|
getOraclePriceDataAndSlotForSpotMarket(marketIndex: number): DataAndSlot<OraclePriceData> | undefined;
|
|
67
64
|
updateAccountLoaderPollingFrequency?: (pollingFrequency: number) => void;
|
|
68
65
|
}
|
|
69
|
-
/** @deprecated Use `VelocityClientAccountSubscriber` instead. `DriftClientAccountSubscriber` will be removed in a future major. */
|
|
70
|
-
export interface DriftClientAccountSubscriber extends VelocityClientAccountSubscriber {
|
|
71
|
-
}
|
|
72
66
|
export declare enum DelistedMarketSetting {
|
|
73
67
|
Unsubscribe = 0,
|
|
74
68
|
Subscribe = 1,
|
|
@@ -91,7 +85,7 @@ export interface UserAccountSubscriber {
|
|
|
91
85
|
fetch(): Promise<void>;
|
|
92
86
|
updateData(userAccount: UserAccount, slot: number): void;
|
|
93
87
|
unsubscribe(): Promise<void>;
|
|
94
|
-
getUserAccountAndSlot(): DataAndSlot<UserAccount
|
|
88
|
+
getUserAccountAndSlot(): DataAndSlot<UserAccount> | undefined;
|
|
95
89
|
}
|
|
96
90
|
export interface TokenAccountEvents {
|
|
97
91
|
tokenAccountUpdate: (payload: Account) => void;
|
|
@@ -112,7 +106,7 @@ export interface InsuranceFundStakeAccountSubscriber {
|
|
|
112
106
|
subscribe(): Promise<boolean>;
|
|
113
107
|
fetch(): Promise<void>;
|
|
114
108
|
unsubscribe(): Promise<void>;
|
|
115
|
-
getInsuranceFundStakeAccountAndSlot(): DataAndSlot<InsuranceFundStake
|
|
109
|
+
getInsuranceFundStakeAccountAndSlot(): DataAndSlot<InsuranceFundStake> | undefined;
|
|
116
110
|
}
|
|
117
111
|
export interface InsuranceFundStakeAccountEvents {
|
|
118
112
|
insuranceFundStakeAccountUpdate: (payload: InsuranceFundStake) => void;
|
|
@@ -133,7 +127,7 @@ export interface OracleAccountSubscriber {
|
|
|
133
127
|
getOraclePriceData(): DataAndSlot<OraclePriceData>;
|
|
134
128
|
}
|
|
135
129
|
export type AccountToPoll = {
|
|
136
|
-
key:
|
|
130
|
+
key: 'state' | 'perpMarket' | 'spotMarket';
|
|
137
131
|
publicKey: PublicKey;
|
|
138
132
|
eventType: string;
|
|
139
133
|
callbackId?: string;
|
|
@@ -169,7 +163,7 @@ export interface UserStatsAccountSubscriber {
|
|
|
169
163
|
subscribe(userStatsAccount?: UserStatsAccount): Promise<boolean>;
|
|
170
164
|
fetch(): Promise<void>;
|
|
171
165
|
unsubscribe(): Promise<void>;
|
|
172
|
-
getUserStatsAccountAndSlot(): DataAndSlot<UserStatsAccount
|
|
166
|
+
getUserStatsAccountAndSlot(): DataAndSlot<UserStatsAccount> | undefined;
|
|
173
167
|
}
|
|
174
168
|
type BaseGrpcConfigs = {
|
|
175
169
|
endpoint: string;
|
|
@@ -2,6 +2,7 @@ import { DataAndSlot } from './types';
|
|
|
2
2
|
import { PerpMarketAccount, SpotMarketAccount } from '../types';
|
|
3
3
|
import { OracleInfo } from '../oracles/types';
|
|
4
4
|
export declare function capitalize(value: string): string;
|
|
5
|
+
export declare function assertDataAndSlot<T>(dataAndSlot: DataAndSlot<T> | undefined, message: string): DataAndSlot<T>;
|
|
5
6
|
export declare function findDelistedPerpMarketsAndOracles(perpMarkets: DataAndSlot<PerpMarketAccount>[], spotMarkets: DataAndSlot<SpotMarketAccount>[]): {
|
|
6
7
|
perpMarketIndexes: number[];
|
|
7
8
|
oracles: OracleInfo[];
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.findDelistedPerpMarketsAndOracles = exports.capitalize = void 0;
|
|
3
|
+
exports.findDelistedPerpMarketsAndOracles = exports.assertDataAndSlot = exports.capitalize = void 0;
|
|
4
4
|
const types_1 = require("../types");
|
|
5
5
|
const oracleId_1 = require("../oracles/oracleId");
|
|
6
6
|
function capitalize(value) {
|
|
7
7
|
return value[0].toUpperCase() + value.slice(1);
|
|
8
8
|
}
|
|
9
9
|
exports.capitalize = capitalize;
|
|
10
|
+
function assertDataAndSlot(dataAndSlot, message) {
|
|
11
|
+
if (!dataAndSlot) {
|
|
12
|
+
throw new Error(message);
|
|
13
|
+
}
|
|
14
|
+
return dataAndSlot;
|
|
15
|
+
}
|
|
16
|
+
exports.assertDataAndSlot = assertDataAndSlot;
|
|
10
17
|
function findDelistedPerpMarketsAndOracles(perpMarkets, spotMarkets) {
|
|
11
18
|
const delistedPerpMarketIndexes = [];
|
|
12
19
|
const delistedOracles = [];
|
|
@@ -17,8 +24,8 @@ function findDelistedPerpMarketsAndOracles(perpMarkets, spotMarkets) {
|
|
|
17
24
|
if ((0, types_1.isVariant)(perpMarket.data.status, 'delisted')) {
|
|
18
25
|
delistedPerpMarketIndexes.push(perpMarket.data.marketIndex);
|
|
19
26
|
delistedOracles.push({
|
|
20
|
-
publicKey: perpMarket.data.
|
|
21
|
-
source: perpMarket.data.
|
|
27
|
+
publicKey: perpMarket.data.oracle,
|
|
28
|
+
source: perpMarket.data.oracleSource,
|
|
22
29
|
});
|
|
23
30
|
}
|
|
24
31
|
}
|
|
@@ -10,8 +10,10 @@ export declare class WebSocketAccountSubscriber<T> implements AccountSubscriber<
|
|
|
10
10
|
logAccountName: string;
|
|
11
11
|
program: VelocityProgram;
|
|
12
12
|
accountPublicKey: PublicKey;
|
|
13
|
-
decodeBufferFn
|
|
14
|
-
|
|
13
|
+
decodeBufferFn?: (buffer: Buffer) => T;
|
|
14
|
+
private _onChange?;
|
|
15
|
+
get onChange(): (data: T) => void;
|
|
16
|
+
set onChange(onChange: (data: T) => void);
|
|
15
17
|
listenerId?: number;
|
|
16
18
|
resubOpts?: ResubOpts;
|
|
17
19
|
commitment?: Commitment;
|
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WebSocketAccountSubscriber = void 0;
|
|
4
4
|
class WebSocketAccountSubscriber {
|
|
5
|
+
get onChange() {
|
|
6
|
+
if (!this._onChange) {
|
|
7
|
+
throw new Error('onChange callback function must be set');
|
|
8
|
+
}
|
|
9
|
+
return this._onChange;
|
|
10
|
+
}
|
|
11
|
+
set onChange(onChange) {
|
|
12
|
+
this._onChange = onChange;
|
|
13
|
+
}
|
|
5
14
|
constructor(accountName, program, accountPublicKey, decodeBuffer, resubOpts, commitment) {
|
|
6
15
|
var _a;
|
|
7
16
|
this.isUnsubscribing = false;
|
|
@@ -11,7 +20,8 @@ class WebSocketAccountSubscriber {
|
|
|
11
20
|
this.accountPublicKey = accountPublicKey;
|
|
12
21
|
this.decodeBufferFn = decodeBuffer;
|
|
13
22
|
this.resubOpts = resubOpts;
|
|
14
|
-
if (((_a = this.resubOpts) === null || _a === void 0 ? void 0 : _a.resubTimeoutMs)
|
|
23
|
+
if (((_a = this.resubOpts) === null || _a === void 0 ? void 0 : _a.resubTimeoutMs) != null &&
|
|
24
|
+
this.resubOpts.resubTimeoutMs < 1000) {
|
|
15
25
|
console.log(`resubTimeoutMs should be at least 1000ms to avoid spamming resub ${this.logAccountName}`);
|
|
16
26
|
}
|
|
17
27
|
this.receivingData = false;
|
|
@@ -54,12 +64,12 @@ class WebSocketAccountSubscriber {
|
|
|
54
64
|
}
|
|
55
65
|
this.dataAndSlot = {
|
|
56
66
|
data,
|
|
57
|
-
slot,
|
|
67
|
+
slot: newSlot,
|
|
58
68
|
};
|
|
59
69
|
}
|
|
60
70
|
setTimeout() {
|
|
61
71
|
var _a;
|
|
62
|
-
if (!this.
|
|
72
|
+
if (!this._onChange) {
|
|
63
73
|
throw new Error('onChange callback function must be set');
|
|
64
74
|
}
|
|
65
75
|
this.timeoutId = setTimeout(async () => {
|
|
@@ -90,8 +100,9 @@ class WebSocketAccountSubscriber {
|
|
|
90
100
|
}, (_a = this.resubOpts) === null || _a === void 0 ? void 0 : _a.resubTimeoutMs);
|
|
91
101
|
}
|
|
92
102
|
async fetch() {
|
|
103
|
+
var _a;
|
|
93
104
|
const rpcResponse = await this.program.provider.connection.getAccountInfoAndContext(this.accountPublicKey, this.program.provider.opts.commitment);
|
|
94
|
-
this.handleRpcResponse(rpcResponse.context, rpcResponse === null || rpcResponse === void 0 ? void 0 : rpcResponse.value);
|
|
105
|
+
this.handleRpcResponse(rpcResponse.context, (_a = rpcResponse === null || rpcResponse === void 0 ? void 0 : rpcResponse.value) !== null && _a !== void 0 ? _a : undefined);
|
|
95
106
|
}
|
|
96
107
|
handleRpcResponse(context, accountInfo) {
|
|
97
108
|
const newSlot = context.slot;
|
|
@@ -136,7 +147,7 @@ class WebSocketAccountSubscriber {
|
|
|
136
147
|
return this.decodeBufferFn(buffer);
|
|
137
148
|
}
|
|
138
149
|
else {
|
|
139
|
-
return this.program.
|
|
150
|
+
return this.program.coder.accounts.decode(this.accountName, buffer);
|
|
140
151
|
}
|
|
141
152
|
}
|
|
142
153
|
unsubscribe(onResub = false) {
|
|
@@ -164,6 +175,7 @@ class WebSocketAccountSubscriber {
|
|
|
164
175
|
}
|
|
165
176
|
else {
|
|
166
177
|
this.isUnsubscribing = false;
|
|
178
|
+
return Promise.resolve();
|
|
167
179
|
}
|
|
168
180
|
}
|
|
169
181
|
}
|
|
@@ -59,8 +59,10 @@ export declare class WebSocketAccountSubscriberV2<T> implements AccountSubscribe
|
|
|
59
59
|
logAccountName: string;
|
|
60
60
|
program: VelocityProgram;
|
|
61
61
|
accountPublicKey: PublicKey;
|
|
62
|
-
decodeBufferFn
|
|
63
|
-
|
|
62
|
+
decodeBufferFn?: (buffer: Buffer) => T;
|
|
63
|
+
private _onChange?;
|
|
64
|
+
get onChange(): (data: T) => void;
|
|
65
|
+
set onChange(onChange: (data: T) => void);
|
|
64
66
|
listenerId?: number;
|
|
65
67
|
resubOpts: ResubOpts;
|
|
66
68
|
commitment?: Commitment;
|
|
@@ -56,6 +56,15 @@ const bs58_1 = __importDefault(require("bs58"));
|
|
|
56
56
|
* program provider’s RPC endpoint. Handles base58/base64 encoded data.
|
|
57
57
|
*/
|
|
58
58
|
class WebSocketAccountSubscriberV2 {
|
|
59
|
+
get onChange() {
|
|
60
|
+
if (!this._onChange) {
|
|
61
|
+
throw new Error('onChange callback function must be set');
|
|
62
|
+
}
|
|
63
|
+
return this._onChange;
|
|
64
|
+
}
|
|
65
|
+
set onChange(onChange) {
|
|
66
|
+
this._onChange = onChange;
|
|
67
|
+
}
|
|
59
68
|
/**
|
|
60
69
|
* Create a single-account WebSocket subscriber with optional polling fallback.
|
|
61
70
|
*
|
|
@@ -70,6 +79,7 @@ class WebSocketAccountSubscriberV2 {
|
|
|
70
79
|
* @param rpc Optional override/injection for testing.
|
|
71
80
|
*/
|
|
72
81
|
constructor(accountName, program, accountPublicKey, decodeBuffer, resubOpts, commitment, rpcSubscriptions, rpc) {
|
|
82
|
+
var _a;
|
|
73
83
|
this.isUnsubscribing = false;
|
|
74
84
|
this.accountName = accountName;
|
|
75
85
|
this.logAccountName = `${accountName}-${accountPublicKey.toBase58()}-ws-acct-subscriber-v2`;
|
|
@@ -81,11 +91,12 @@ class WebSocketAccountSubscriberV2 {
|
|
|
81
91
|
usePollingInsteadOfResub: true,
|
|
82
92
|
logResubMessages: false,
|
|
83
93
|
};
|
|
84
|
-
if (this.resubOpts.resubTimeoutMs
|
|
94
|
+
if (this.resubOpts.resubTimeoutMs != null &&
|
|
95
|
+
this.resubOpts.resubTimeoutMs < 1000) {
|
|
85
96
|
console.log(`resubTimeoutMs should be at least 1000ms to avoid spamming resub ${this.logAccountName}`);
|
|
86
97
|
}
|
|
87
98
|
this.receivingData = false;
|
|
88
|
-
if (['recent', 'single', 'singleGossip', 'root', 'max'].includes(this.program.provider.opts.commitment)) {
|
|
99
|
+
if (['recent', 'single', 'singleGossip', 'root', 'max'].includes((_a = this.program.provider.opts.commitment) !== null && _a !== void 0 ? _a : '')) {
|
|
89
100
|
console.warn(`using commitment ${this.program.provider.opts.commitment} that is not supported by gill, this may cause issues`);
|
|
90
101
|
}
|
|
91
102
|
this.commitment =
|
|
@@ -185,7 +196,7 @@ class WebSocketAccountSubscriberV2 {
|
|
|
185
196
|
}
|
|
186
197
|
this.dataAndSlot = {
|
|
187
198
|
data,
|
|
188
|
-
slot,
|
|
199
|
+
slot: newSlot,
|
|
189
200
|
};
|
|
190
201
|
}
|
|
191
202
|
setTimeout() {
|
|
@@ -194,7 +205,7 @@ class WebSocketAccountSubscriberV2 {
|
|
|
194
205
|
* `resubOpts.resubTimeoutMs` and `receivingData` is true, trigger either
|
|
195
206
|
* a polling loop or a resubscribe depending on options.
|
|
196
207
|
*/
|
|
197
|
-
if (!this.
|
|
208
|
+
if (!this._onChange) {
|
|
198
209
|
throw new Error('onChange callback function must be set');
|
|
199
210
|
}
|
|
200
211
|
this.timeoutId = setTimeout(async () => {
|
|
@@ -305,7 +316,7 @@ class WebSocketAccountSubscriberV2 {
|
|
|
305
316
|
slot: Number(rpcResponse.context.slot),
|
|
306
317
|
};
|
|
307
318
|
const accountInfo = rpcResponse.value;
|
|
308
|
-
this.handleRpcResponse({ slot: BigInt(context.slot) }, accountInfo);
|
|
319
|
+
this.handleRpcResponse({ slot: BigInt(context.slot) }, accountInfo !== null && accountInfo !== void 0 ? accountInfo : undefined);
|
|
309
320
|
}
|
|
310
321
|
handleRpcResponse(context, accountInfo) {
|
|
311
322
|
const newSlot = context.slot;
|
|
@@ -365,7 +376,7 @@ class WebSocketAccountSubscriberV2 {
|
|
|
365
376
|
return this.decodeBufferFn(buffer);
|
|
366
377
|
}
|
|
367
378
|
else {
|
|
368
|
-
return this.program.
|
|
379
|
+
return this.program.coder.accounts.decode((0, utils_1.capitalize)(this.accountName), buffer);
|
|
369
380
|
}
|
|
370
381
|
}
|
|
371
382
|
unsubscribe(onResub = false) {
|
|
@@ -12,12 +12,14 @@ export declare class WebSocketInsuranceFundStakeAccountSubscriber implements Ins
|
|
|
12
12
|
program: VelocityProgram;
|
|
13
13
|
eventEmitter: StrictEventEmitter<EventEmitter, InsuranceFundStakeAccountEvents>;
|
|
14
14
|
insuranceFundStakeAccountPublicKey: PublicKey;
|
|
15
|
-
|
|
15
|
+
private _insuranceFundStakeDataAccountSubscriber?;
|
|
16
|
+
get insuranceFundStakeDataAccountSubscriber(): AccountSubscriber<InsuranceFundStake>;
|
|
17
|
+
set insuranceFundStakeDataAccountSubscriber(subscriber: AccountSubscriber<InsuranceFundStake>);
|
|
16
18
|
constructor(program: VelocityProgram, insuranceFundStakeAccountPublicKey: PublicKey, resubTimeoutMs?: number, commitment?: Commitment);
|
|
17
19
|
subscribe(insuranceFundStakeAccount?: InsuranceFundStake): Promise<boolean>;
|
|
18
20
|
fetch(): Promise<void>;
|
|
19
21
|
unsubscribe(): Promise<void>;
|
|
20
22
|
assertIsSubscribed(): void;
|
|
21
|
-
getInsuranceFundStakeAccountAndSlot(): DataAndSlot<InsuranceFundStake
|
|
23
|
+
getInsuranceFundStakeAccountAndSlot(): DataAndSlot<InsuranceFundStake> | undefined;
|
|
22
24
|
updateData(insuranceFundStake: InsuranceFundStake, slot: number): void;
|
|
23
25
|
}
|