@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
|
@@ -13,7 +13,6 @@ export declare const NINE: BN;
|
|
|
13
13
|
export declare const TEN: BN;
|
|
14
14
|
export declare const TEN_THOUSAND: BN;
|
|
15
15
|
export declare const BN_MAX: BN;
|
|
16
|
-
export declare const TEN_MILLION: BN;
|
|
17
16
|
export declare const MAX_LEVERAGE: BN;
|
|
18
17
|
export declare const MAX_LEVERAGE_ORDER_SIZE: BN;
|
|
19
18
|
export declare const PERCENTAGE_PRECISION_EXP: BN;
|
|
@@ -53,13 +52,13 @@ export declare const MARGIN_PRECISION: BN;
|
|
|
53
52
|
export declare const BID_ASK_SPREAD_PRECISION: BN;
|
|
54
53
|
export declare const LIQUIDATION_PCT_PRECISION: BN;
|
|
55
54
|
export declare const FUNDING_RATE_OFFSET_DENOMINATOR: BN;
|
|
55
|
+
export declare const FUNDING_RATE_OFFSET_PERCENTAGE: BN;
|
|
56
56
|
export declare const FUNDING_RATE_CLAMP_DENOMINATOR: BN;
|
|
57
57
|
export declare const PRICE_TIMES_AMM_TO_QUOTE_PRECISION_RATIO: BN;
|
|
58
58
|
export declare const FIVE_MINUTE: BN;
|
|
59
59
|
export declare const ONE_HOUR: BN;
|
|
60
60
|
export declare const ONE_YEAR: BN;
|
|
61
61
|
export declare const QUOTE_SPOT_MARKET_INDEX = 0;
|
|
62
|
-
export declare const GOV_SPOT_MARKET_INDEX = 15;
|
|
63
62
|
export declare const LAMPORTS_PRECISION: BN;
|
|
64
63
|
export declare const LAMPORTS_EXP: BN;
|
|
65
64
|
export declare const OPEN_ORDER_MARGIN_REQUIREMENT: BN;
|
|
@@ -69,5 +68,4 @@ export declare const IDLE_TIME_SLOTS = 9000;
|
|
|
69
68
|
export declare const SLOT_TIME_ESTIMATE_MS = 400;
|
|
70
69
|
export declare const DUST_POSITION_SIZE: BN;
|
|
71
70
|
export declare const GET_MULTIPLE_ACCOUNTS_CHUNK_SIZE = 99;
|
|
72
|
-
export declare const MAX_I64: BN;
|
|
73
71
|
export declare const MIN_I64: BN;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MARGIN_PRECISION = exports.AMM_TIMES_PEG_TO_QUOTE_PRECISION_RATIO = exports.PRICE_TO_QUOTE_PRECISION = exports.PRICE_DIV_PEG = exports.AMM_TO_QUOTE_PRECISION_RATIO = exports.BASE_PRECISION_EXP = exports.BASE_PRECISION = exports.AMM_RESERVE_PRECISION = exports.PEG_PRECISION = exports.FUNDING_RATE_BUFFER_PRECISION = exports.FUNDING_RATE_PRECISION = exports.PRICE_PRECISION = exports.QUOTE_PRECISION = exports.LIQUIDATION_FEE_PRECISION = exports.SPOT_MARKET_IMF_PRECISION = exports.SPOT_MARKET_IMF_PRECISION_EXP = exports.SPOT_MARKET_BALANCE_PRECISION = exports.SPOT_MARKET_BALANCE_PRECISION_EXP = exports.SPOT_MARKET_WEIGHT_PRECISION = exports.SPOT_MARKET_UTILIZATION_PRECISION = exports.SPOT_MARKET_UTILIZATION_PRECISION_EXP = exports.SPOT_MARKET_CUMULATIVE_INTEREST_PRECISION = exports.SPOT_MARKET_CUMULATIVE_INTEREST_PRECISION_EXP = exports.SPOT_MARKET_RATE_PRECISION = exports.SPOT_MARKET_RATE_PRECISION_EXP = exports.AMM_RESERVE_PRECISION_EXP = exports.PEG_PRECISION_EXP = exports.FUNDING_RATE_PRECISION_EXP = exports.PRICE_PRECISION_EXP = exports.FUNDING_RATE_BUFFER_PRECISION_EXP = exports.QUOTE_PRECISION_EXP = exports.CONCENTRATION_PRECISION = exports.PERCENTAGE_PRECISION = exports.PERCENTAGE_PRECISION_EXP = exports.MAX_LEVERAGE_ORDER_SIZE = exports.MAX_LEVERAGE = exports.
|
|
4
|
-
exports.MIN_I64 = exports.
|
|
3
|
+
exports.BID_ASK_SPREAD_PRECISION = exports.MARGIN_PRECISION = exports.AMM_TIMES_PEG_TO_QUOTE_PRECISION_RATIO = exports.PRICE_TO_QUOTE_PRECISION = exports.PRICE_DIV_PEG = exports.AMM_TO_QUOTE_PRECISION_RATIO = exports.BASE_PRECISION_EXP = exports.BASE_PRECISION = exports.AMM_RESERVE_PRECISION = exports.PEG_PRECISION = exports.FUNDING_RATE_BUFFER_PRECISION = exports.FUNDING_RATE_PRECISION = exports.PRICE_PRECISION = exports.QUOTE_PRECISION = exports.LIQUIDATION_FEE_PRECISION = exports.SPOT_MARKET_IMF_PRECISION = exports.SPOT_MARKET_IMF_PRECISION_EXP = exports.SPOT_MARKET_BALANCE_PRECISION = exports.SPOT_MARKET_BALANCE_PRECISION_EXP = exports.SPOT_MARKET_WEIGHT_PRECISION = exports.SPOT_MARKET_UTILIZATION_PRECISION = exports.SPOT_MARKET_UTILIZATION_PRECISION_EXP = exports.SPOT_MARKET_CUMULATIVE_INTEREST_PRECISION = exports.SPOT_MARKET_CUMULATIVE_INTEREST_PRECISION_EXP = exports.SPOT_MARKET_RATE_PRECISION = exports.SPOT_MARKET_RATE_PRECISION_EXP = exports.AMM_RESERVE_PRECISION_EXP = exports.PEG_PRECISION_EXP = exports.FUNDING_RATE_PRECISION_EXP = exports.PRICE_PRECISION_EXP = exports.FUNDING_RATE_BUFFER_PRECISION_EXP = exports.QUOTE_PRECISION_EXP = exports.CONCENTRATION_PRECISION = exports.PERCENTAGE_PRECISION = exports.PERCENTAGE_PRECISION_EXP = exports.MAX_LEVERAGE_ORDER_SIZE = exports.MAX_LEVERAGE = exports.BN_MAX = exports.TEN_THOUSAND = exports.TEN = exports.NINE = exports.EIGHT = exports.SEVEN = exports.SIX = exports.FIVE = exports.FOUR = exports.THREE = exports.TWO = exports.ONE = exports.ZERO = void 0;
|
|
4
|
+
exports.MIN_I64 = exports.GET_MULTIPLE_ACCOUNTS_CHUNK_SIZE = exports.DUST_POSITION_SIZE = exports.SLOT_TIME_ESTIMATE_MS = exports.IDLE_TIME_SLOTS = exports.ACCOUNT_AGE_DELETION_CUTOFF_SECONDS = exports.DEFAULT_REVENUE_SINCE_LAST_FUNDING_SPREAD_RETREAT = exports.OPEN_ORDER_MARGIN_REQUIREMENT = exports.LAMPORTS_EXP = exports.LAMPORTS_PRECISION = exports.QUOTE_SPOT_MARKET_INDEX = exports.ONE_YEAR = exports.ONE_HOUR = exports.FIVE_MINUTE = exports.PRICE_TIMES_AMM_TO_QUOTE_PRECISION_RATIO = exports.FUNDING_RATE_CLAMP_DENOMINATOR = exports.FUNDING_RATE_OFFSET_PERCENTAGE = exports.FUNDING_RATE_OFFSET_DENOMINATOR = exports.LIQUIDATION_PCT_PRECISION = void 0;
|
|
5
5
|
const web3_js_1 = require("@solana/web3.js");
|
|
6
6
|
const anchor_1 = require("../isomorphic/anchor");
|
|
7
7
|
const bigNum_1 = require("../factory/bigNum");
|
|
@@ -18,7 +18,6 @@ exports.NINE = new anchor_1.BN(9);
|
|
|
18
18
|
exports.TEN = new anchor_1.BN(10);
|
|
19
19
|
exports.TEN_THOUSAND = new anchor_1.BN(10000);
|
|
20
20
|
exports.BN_MAX = new anchor_1.BN(Number.MAX_SAFE_INTEGER);
|
|
21
|
-
exports.TEN_MILLION = exports.TEN_THOUSAND.mul(exports.TEN_THOUSAND);
|
|
22
21
|
exports.MAX_LEVERAGE = new anchor_1.BN(5);
|
|
23
22
|
exports.MAX_LEVERAGE_ORDER_SIZE = new anchor_1.BN('18446744073709551615');
|
|
24
23
|
exports.PERCENTAGE_PRECISION_EXP = new anchor_1.BN(6);
|
|
@@ -58,13 +57,13 @@ exports.MARGIN_PRECISION = exports.TEN_THOUSAND;
|
|
|
58
57
|
exports.BID_ASK_SPREAD_PRECISION = new anchor_1.BN(1000000); // 10^6
|
|
59
58
|
exports.LIQUIDATION_PCT_PRECISION = exports.TEN_THOUSAND;
|
|
60
59
|
exports.FUNDING_RATE_OFFSET_DENOMINATOR = new anchor_1.BN(3333);
|
|
60
|
+
exports.FUNDING_RATE_OFFSET_PERCENTAGE = exports.FUNDING_RATE_PRECISION.div(exports.FUNDING_RATE_OFFSET_DENOMINATOR);
|
|
61
61
|
exports.FUNDING_RATE_CLAMP_DENOMINATOR = new anchor_1.BN(2000);
|
|
62
62
|
exports.PRICE_TIMES_AMM_TO_QUOTE_PRECISION_RATIO = exports.PRICE_PRECISION.mul(exports.AMM_TO_QUOTE_PRECISION_RATIO);
|
|
63
63
|
exports.FIVE_MINUTE = new anchor_1.BN(60 * 5);
|
|
64
64
|
exports.ONE_HOUR = new anchor_1.BN(60 * 60);
|
|
65
65
|
exports.ONE_YEAR = new anchor_1.BN(31536000);
|
|
66
66
|
exports.QUOTE_SPOT_MARKET_INDEX = 0;
|
|
67
|
-
exports.GOV_SPOT_MARKET_INDEX = 15;
|
|
68
67
|
exports.LAMPORTS_PRECISION = new anchor_1.BN(web3_js_1.LAMPORTS_PER_SOL);
|
|
69
68
|
exports.LAMPORTS_EXP = new anchor_1.BN(Math.log10(web3_js_1.LAMPORTS_PER_SOL));
|
|
70
69
|
exports.OPEN_ORDER_MARGIN_REQUIREMENT = exports.QUOTE_PRECISION.div(new anchor_1.BN(100));
|
|
@@ -75,5 +74,4 @@ exports.SLOT_TIME_ESTIMATE_MS = 400;
|
|
|
75
74
|
exports.DUST_POSITION_SIZE = exports.QUOTE_PRECISION.divn(100); // Dust position is any position smaller than 1c
|
|
76
75
|
exports.GET_MULTIPLE_ACCOUNTS_CHUNK_SIZE = 99;
|
|
77
76
|
// integer constants
|
|
78
|
-
exports.MAX_I64 = bigNum_1.BigNum.fromPrint('9223372036854775807').val;
|
|
79
77
|
exports.MIN_I64 = bigNum_1.BigNum.fromPrint('-9223372036854775808').val;
|
|
@@ -4,8 +4,6 @@ import { ConstituentAccount } from '../types';
|
|
|
4
4
|
import { VelocityClient } from '../velocityClient';
|
|
5
5
|
export type ConstituentMapConfig = {
|
|
6
6
|
velocityClient?: VelocityClient;
|
|
7
|
-
/** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
|
|
8
|
-
driftClient?: VelocityClient;
|
|
9
7
|
connection?: Connection;
|
|
10
8
|
subscriptionConfig: {
|
|
11
9
|
type: 'polling';
|
|
@@ -9,20 +9,20 @@ const pda_1 = require("../addresses/pda");
|
|
|
9
9
|
const MAX_CONSTITUENT_SIZE_BYTES = 480; // TODO: update this when account is finalized
|
|
10
10
|
class ConstituentMap {
|
|
11
11
|
constructor(config) {
|
|
12
|
-
var _a, _b
|
|
12
|
+
var _a, _b;
|
|
13
13
|
this.constituentMap = new Map();
|
|
14
14
|
this.constituentIndexToKeyMap = new Map();
|
|
15
15
|
this.spotMarketIndexToKeyMap = new Map();
|
|
16
|
-
const velocityClient =
|
|
16
|
+
const velocityClient = config.velocityClient;
|
|
17
17
|
if (!velocityClient) {
|
|
18
|
-
throw new Error('ConstituentMap: velocityClient
|
|
18
|
+
throw new Error('ConstituentMap: velocityClient must be provided');
|
|
19
19
|
}
|
|
20
20
|
this.velocityClient = velocityClient;
|
|
21
21
|
this.additionalFilters = config.additionalFilters;
|
|
22
22
|
this.commitment = config.subscriptionConfig.commitment;
|
|
23
23
|
this.connection = config.connection || this.velocityClient.connection;
|
|
24
|
-
this.lpPoolId = (
|
|
25
|
-
this.decoder = (
|
|
24
|
+
this.lpPoolId = (_a = config.lpPoolId) !== null && _a !== void 0 ? _a : 0;
|
|
25
|
+
this.decoder = (_b = config.decoder) !== null && _b !== void 0 ? _b : 'base64+zstd';
|
|
26
26
|
if (config.subscriptionConfig.type === 'polling') {
|
|
27
27
|
this.constituentAccountSubscriber =
|
|
28
28
|
new pollingConstituentAccountSubscriber_1.PollingConstituentAccountSubscriber(this, this.velocityClient.program, config.subscriptionConfig.frequency, config.subscriptionConfig.commitment, this.getFilters());
|
|
@@ -31,6 +31,9 @@ class ConstituentMap {
|
|
|
31
31
|
this.constituentAccountSubscriber =
|
|
32
32
|
new webSocketConstituentAccountSubscriber_1.WebSocketConstituentAccountSubscriber(this, this.velocityClient.program, config.subscriptionConfig.resubTimeoutMs, config.subscriptionConfig.commitment, this.getFilters());
|
|
33
33
|
}
|
|
34
|
+
else {
|
|
35
|
+
throw new Error(`ConstituentMap: unsupported subscriptionConfig type: ${config.subscriptionConfig.type}`);
|
|
36
|
+
}
|
|
34
37
|
// Listen for account updates from the subscriber
|
|
35
38
|
this.constituentAccountSubscriber.eventEmitter.on('onAccountUpdate', (account, pubkey, slot) => {
|
|
36
39
|
this.updateConstituentAccount(pubkey.toString(), account, slot);
|
|
@@ -91,7 +94,8 @@ class ConstituentMap {
|
|
|
91
94
|
await Promise.all(promises);
|
|
92
95
|
}
|
|
93
96
|
catch (error) {
|
|
94
|
-
|
|
97
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
98
|
+
console.log(`ConstituentMap.sync() error: ${message}`);
|
|
95
99
|
}
|
|
96
100
|
}
|
|
97
101
|
async subscribe() {
|
|
@@ -34,8 +34,9 @@ class PollingConstituentAccountSubscriber {
|
|
|
34
34
|
this.eventEmitter.emit('update');
|
|
35
35
|
}
|
|
36
36
|
catch (error) {
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
const normalizedError = error instanceof Error ? error : new Error(String(error));
|
|
38
|
+
console.log(`PollingConstituentAccountSubscriber.sync() error: ${normalizedError.message}`);
|
|
39
|
+
this.eventEmitter.emit('error', normalizedError);
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
async unsubscribe() {
|
|
@@ -4,8 +4,6 @@ import { VelocityProgram } from '../config';
|
|
|
4
4
|
import StrictEventEmitter from 'strict-event-emitter-types';
|
|
5
5
|
import { EventEmitter } from 'events';
|
|
6
6
|
import { Commitment, MemcmpFilter } from '@solana/web3.js';
|
|
7
|
-
import { ConstituentAccount } from '../types';
|
|
8
|
-
import { WebSocketProgramAccountSubscriber } from '../accounts/webSocketProgramAccountSubscriber';
|
|
9
7
|
import { ConstituentMap } from './constituentMap';
|
|
10
8
|
export declare class WebSocketConstituentAccountSubscriber implements ConstituentAccountSubscriber {
|
|
11
9
|
isSubscribed: boolean;
|
|
@@ -13,7 +11,8 @@ export declare class WebSocketConstituentAccountSubscriber implements Constituen
|
|
|
13
11
|
commitment?: Commitment;
|
|
14
12
|
program: VelocityProgram;
|
|
15
13
|
eventEmitter: StrictEventEmitter<EventEmitter, ConstituentAccountEvents>;
|
|
16
|
-
|
|
14
|
+
private _constituentDataAccountSubscriber?;
|
|
15
|
+
private get constituentDataAccountSubscriber();
|
|
17
16
|
constituentMap: ConstituentMap;
|
|
18
17
|
private additionalFilters?;
|
|
19
18
|
constructor(constituentMap: ConstituentMap, program: VelocityProgram, resubTimeoutMs?: number, commitment?: Commitment, additionalFilters?: MemcmpFilter[]);
|
|
@@ -6,6 +6,12 @@ const events_1 = require("events");
|
|
|
6
6
|
const webSocketProgramAccountSubscriber_1 = require("../accounts/webSocketProgramAccountSubscriber");
|
|
7
7
|
const memcmp_1 = require("../memcmp");
|
|
8
8
|
class WebSocketConstituentAccountSubscriber {
|
|
9
|
+
get constituentDataAccountSubscriber() {
|
|
10
|
+
if (!this._constituentDataAccountSubscriber) {
|
|
11
|
+
throw new Error('WebSocketConstituentAccountSubscriber: constituentDataAccountSubscriber accessed before subscribe()');
|
|
12
|
+
}
|
|
13
|
+
return this._constituentDataAccountSubscriber;
|
|
14
|
+
}
|
|
9
15
|
constructor(constituentMap, program, resubTimeoutMs, commitment, additionalFilters) {
|
|
10
16
|
this.constituentMap = constituentMap;
|
|
11
17
|
this.isSubscribed = false;
|
|
@@ -19,7 +25,7 @@ class WebSocketConstituentAccountSubscriber {
|
|
|
19
25
|
if (this.isSubscribed) {
|
|
20
26
|
return true;
|
|
21
27
|
}
|
|
22
|
-
this.
|
|
28
|
+
this._constituentDataAccountSubscriber =
|
|
23
29
|
new webSocketProgramAccountSubscriber_1.WebSocketProgramAccountSubscriber('LpPoolConstituent', 'constituent', this.program, this.program.account.constituent.coder.accounts.decode.bind(this.program.account.constituent.coder.accounts), {
|
|
24
30
|
filters: [(0, memcmp_1.getConstituentFilter)(), ...(this.additionalFilters || [])],
|
|
25
31
|
commitment: this.commitment,
|
|
@@ -38,8 +44,9 @@ class WebSocketConstituentAccountSubscriber {
|
|
|
38
44
|
this.eventEmitter.emit('update');
|
|
39
45
|
}
|
|
40
46
|
catch (error) {
|
|
41
|
-
|
|
42
|
-
|
|
47
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
48
|
+
console.log(`WebSocketConstituentAccountSubscriber.sync() error: ${err.message}`);
|
|
49
|
+
this.eventEmitter.emit('error', err);
|
|
43
50
|
}
|
|
44
51
|
}
|
|
45
52
|
async unsubscribe() {
|
|
@@ -5,20 +5,18 @@ import type { AccountMeta, Connection, PublicKey, TransactionInstruction } from
|
|
|
5
5
|
import * as pdas from '../addresses/pda';
|
|
6
6
|
import * as constants from '../constants';
|
|
7
7
|
import { CustomBorshCoder } from '../decode/customCoder';
|
|
8
|
-
import type {
|
|
8
|
+
import type { Velocity } from '../idl/velocity';
|
|
9
9
|
import type { UserAccount } from '../types';
|
|
10
10
|
import type { VelocityProgram } from '../config';
|
|
11
11
|
import type { BN } from '@coral-xyz/anchor';
|
|
12
12
|
import * as remainingAccounts from './remainingAccounts';
|
|
13
13
|
import * as signedMsg from './signedMsg';
|
|
14
14
|
export type VelocityCoreContext = {
|
|
15
|
-
/**
|
|
15
|
+
/** Velocity program id. */
|
|
16
16
|
programId: PublicKey;
|
|
17
|
-
/** Anchor IDL json for
|
|
18
|
-
idl?:
|
|
17
|
+
/** Anchor IDL json for Velocity (defaults to bundled `idl/velocity.json`). */
|
|
18
|
+
idl?: Velocity;
|
|
19
19
|
};
|
|
20
|
-
/** @deprecated Use `VelocityCoreContext` instead. `DriftCoreContext` will be removed in a future major. */
|
|
21
|
-
export type DriftCoreContext = VelocityCoreContext;
|
|
22
20
|
/**
|
|
23
21
|
* VelocityCore is the minimal, core SDK surface:
|
|
24
22
|
* - No subscriptions / polling / websockets.
|
|
@@ -34,11 +32,11 @@ export declare class VelocityCore {
|
|
|
34
32
|
/** Re-export remaining-accounts logic (pure). */
|
|
35
33
|
static readonly remainingAccounts: typeof remainingAccounts;
|
|
36
34
|
static readonly signedMsg: typeof signedMsg;
|
|
37
|
-
static defaultIdl():
|
|
38
|
-
static coder(idl?:
|
|
39
|
-
/** Decode a
|
|
35
|
+
static defaultIdl(): Velocity;
|
|
36
|
+
static coder(idl?: Velocity): CustomBorshCoder;
|
|
37
|
+
/** Decode a Velocity `User` account buffer without creating a Program. */
|
|
40
38
|
static decodeUserAccount(buffer: Buffer): UserAccount;
|
|
41
|
-
/** Fetch and decode a
|
|
39
|
+
/** Fetch and decode a Velocity `User` account. */
|
|
42
40
|
static fetchUserAccount(connection: Connection, userAccountPublicKey: PublicKey): Promise<UserAccount | null>;
|
|
43
41
|
static buildDepositInstruction(args: {
|
|
44
42
|
program: VelocityProgram;
|
|
@@ -63,7 +61,7 @@ export declare class VelocityCore {
|
|
|
63
61
|
state: PublicKey;
|
|
64
62
|
spotMarket: PublicKey;
|
|
65
63
|
spotMarketVault: PublicKey;
|
|
66
|
-
|
|
64
|
+
velocitySigner: PublicKey;
|
|
67
65
|
user: PublicKey;
|
|
68
66
|
userStats: PublicKey;
|
|
69
67
|
userTokenAccount: PublicKey;
|
|
@@ -224,7 +222,3 @@ export declare class VelocityCore {
|
|
|
224
222
|
*/
|
|
225
223
|
static buildInstructions(_ctx: VelocityCoreContext): TransactionInstruction[];
|
|
226
224
|
}
|
|
227
|
-
/** @deprecated Use `VelocityCore` instead. `DriftCore` will be removed in a future major. */
|
|
228
|
-
export declare const DriftCore: typeof VelocityCore;
|
|
229
|
-
/** @deprecated Use `VelocityCore` instead. `DriftCore` will be removed in a future major. */
|
|
230
|
-
export type DriftCore = VelocityCore;
|
|
@@ -26,12 +26,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.
|
|
29
|
+
exports.VelocityCore = void 0;
|
|
30
30
|
const pdas = __importStar(require("../addresses/pda"));
|
|
31
31
|
const constants = __importStar(require("../constants"));
|
|
32
32
|
const user_1 = require("../decode/user");
|
|
33
33
|
const customCoder_1 = require("../decode/customCoder");
|
|
34
|
-
const
|
|
34
|
+
const velocity_json_1 = __importDefault(require("../idl/velocity.json"));
|
|
35
35
|
const fetch_1 = require("../accounts/fetch");
|
|
36
36
|
const deposit_1 = require("./instructions/deposit");
|
|
37
37
|
const withdraw_1 = require("./instructions/withdraw");
|
|
@@ -53,16 +53,16 @@ const signedMsg = __importStar(require("./signedMsg"));
|
|
|
53
53
|
*/
|
|
54
54
|
class VelocityCore {
|
|
55
55
|
static defaultIdl() {
|
|
56
|
-
return
|
|
56
|
+
return velocity_json_1.default;
|
|
57
57
|
}
|
|
58
58
|
static coder(idl = VelocityCore.defaultIdl()) {
|
|
59
59
|
return new customCoder_1.CustomBorshCoder(idl);
|
|
60
60
|
}
|
|
61
|
-
/** Decode a
|
|
61
|
+
/** Decode a Velocity `User` account buffer without creating a Program. */
|
|
62
62
|
static decodeUserAccount(buffer) {
|
|
63
63
|
return (0, user_1.decodeUser)(buffer);
|
|
64
64
|
}
|
|
65
|
-
/** Fetch and decode a
|
|
65
|
+
/** Fetch and decode a Velocity `User` account. */
|
|
66
66
|
static async fetchUserAccount(connection, userAccountPublicKey) {
|
|
67
67
|
const data = await (0, fetch_1.fetchAccount)(connection, userAccountPublicKey);
|
|
68
68
|
return data ? VelocityCore.decodeUserAccount(data) : null;
|
|
@@ -136,5 +136,3 @@ VelocityCore.constants = constants;
|
|
|
136
136
|
/** Re-export remaining-accounts logic (pure). */
|
|
137
137
|
VelocityCore.remainingAccounts = remainingAccounts;
|
|
138
138
|
VelocityCore.signedMsg = signedMsg;
|
|
139
|
-
/** @deprecated Use `VelocityCore` instead. `DriftCore` will be removed in a future major. */
|
|
140
|
-
exports.DriftCore = VelocityCore;
|
|
@@ -31,6 +31,20 @@ export declare function buildPlaceAndMakePerpOrderInstruction(args: {
|
|
|
31
31
|
authority: PublicKey;
|
|
32
32
|
remainingAccounts: AccountMeta[];
|
|
33
33
|
}): Promise<TransactionInstruction>;
|
|
34
|
+
/**
|
|
35
|
+
* Build a raw `cancelOrder` instruction.
|
|
36
|
+
*
|
|
37
|
+
* Pass `orderId: null` to cancel the user's most recently placed order. The program
|
|
38
|
+
* resolves a `null` ID on-chain via `get_last_order_id`, which makes this safe to use
|
|
39
|
+
* in a multi-instruction transaction where a place instruction precedes the cancel and
|
|
40
|
+
* the program-assigned order ID is not yet known at build time — e.g.:
|
|
41
|
+
*
|
|
42
|
+
* [placePerpOrder] → [cancelOrder(orderId: null)]
|
|
43
|
+
*
|
|
44
|
+
* The on-chain `order_id` counter is a monotonically incrementing u32 on the user
|
|
45
|
+
* account, so `get_last_order_id` reliably points to the order placed in the preceding
|
|
46
|
+
* instruction of the same transaction.
|
|
47
|
+
*/
|
|
34
48
|
export declare function buildCancelOrderInstruction(args: {
|
|
35
49
|
program: VelocityProgram;
|
|
36
50
|
orderId: number | null;
|
|
@@ -39,6 +39,20 @@ async function buildPlaceAndMakePerpOrderInstruction(args) {
|
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
exports.buildPlaceAndMakePerpOrderInstruction = buildPlaceAndMakePerpOrderInstruction;
|
|
42
|
+
/**
|
|
43
|
+
* Build a raw `cancelOrder` instruction.
|
|
44
|
+
*
|
|
45
|
+
* Pass `orderId: null` to cancel the user's most recently placed order. The program
|
|
46
|
+
* resolves a `null` ID on-chain via `get_last_order_id`, which makes this safe to use
|
|
47
|
+
* in a multi-instruction transaction where a place instruction precedes the cancel and
|
|
48
|
+
* the program-assigned order ID is not yet known at build time — e.g.:
|
|
49
|
+
*
|
|
50
|
+
* [placePerpOrder] → [cancelOrder(orderId: null)]
|
|
51
|
+
*
|
|
52
|
+
* The on-chain `order_id` counter is a monotonically incrementing u32 on the user
|
|
53
|
+
* account, so `get_last_order_id` reliably points to the order placed in the preceding
|
|
54
|
+
* instruction of the same transaction.
|
|
55
|
+
*/
|
|
42
56
|
async function buildCancelOrderInstruction(args) {
|
|
43
57
|
return await args.program.instruction.cancelOrder(args.orderId, {
|
|
44
58
|
accounts: {
|
|
@@ -10,7 +10,7 @@ export declare function buildWithdrawInstruction(args: {
|
|
|
10
10
|
state: PublicKey;
|
|
11
11
|
spotMarket: PublicKey;
|
|
12
12
|
spotMarketVault: PublicKey;
|
|
13
|
-
|
|
13
|
+
velocitySigner: PublicKey;
|
|
14
14
|
user: PublicKey;
|
|
15
15
|
userStats: PublicKey;
|
|
16
16
|
userTokenAccount: PublicKey;
|
|
@@ -7,7 +7,7 @@ async function buildWithdrawInstruction(args) {
|
|
|
7
7
|
state: args.state,
|
|
8
8
|
spotMarket: args.spotMarket,
|
|
9
9
|
spotMarketVault: args.spotMarketVault,
|
|
10
|
-
|
|
10
|
+
velocitySigner: args.velocitySigner,
|
|
11
11
|
user: args.user,
|
|
12
12
|
userStats: args.userStats,
|
|
13
13
|
userTokenAccount: args.userTokenAccount,
|
|
@@ -13,10 +13,10 @@ export type RemainingAccountsContext = {
|
|
|
13
13
|
getPerpMarketAccount: (marketIndex: number) => PerpMarketAccount;
|
|
14
14
|
getSpotMarketAccount: (marketIndex: number) => SpotMarketAccount;
|
|
15
15
|
/** Used to resolve user's last slot for cache invalidation. */
|
|
16
|
-
getUserAccountAndSlot: (subAccountId: number, authority: PublicKey) => {
|
|
16
|
+
getUserAccountAndSlot: (subAccountId: number | undefined, authority: PublicKey) => {
|
|
17
17
|
slot: number;
|
|
18
18
|
} | undefined;
|
|
19
|
-
activeSubAccountId: number;
|
|
19
|
+
activeSubAccountId: number | undefined;
|
|
20
20
|
authority: PublicKey;
|
|
21
21
|
/** Mutable caches + forced-market sets (owned by caller). */
|
|
22
22
|
perpMarketLastSlotCache: Map<number, number>;
|
|
@@ -16,7 +16,7 @@ function getRemainingAccounts(ctx, params) {
|
|
|
16
16
|
? params.userAccounts[0].authority
|
|
17
17
|
: ctx.authority)) === null || _a === void 0 ? void 0 : _a.slot;
|
|
18
18
|
for (const [marketIndex, slot] of ctx.perpMarketLastSlotCache.entries()) {
|
|
19
|
-
if (slot > lastUserSlot) {
|
|
19
|
+
if (lastUserSlot !== undefined && slot > lastUserSlot) {
|
|
20
20
|
addPerpMarketToRemainingAccountMaps(ctx, marketIndex, false, oracleAccountMap, spotMarketAccountMap, perpMarketAccountMap);
|
|
21
21
|
}
|
|
22
22
|
else {
|
|
@@ -24,7 +24,7 @@ function getRemainingAccounts(ctx, params) {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
for (const [marketIndex, slot] of ctx.spotMarketLastSlotCache.entries()) {
|
|
27
|
-
if (slot > lastUserSlot) {
|
|
27
|
+
if (lastUserSlot !== undefined && slot > lastUserSlot) {
|
|
28
28
|
addSpotMarketToRemainingAccountMaps(ctx, marketIndex, false, oracleAccountMap, spotMarketAccountMap);
|
|
29
29
|
}
|
|
30
30
|
else {
|
|
@@ -75,9 +75,9 @@ function addPerpMarketToRemainingAccountMaps(ctx, marketIndex, writable, oracleA
|
|
|
75
75
|
isSigner: false,
|
|
76
76
|
isWritable: writable,
|
|
77
77
|
});
|
|
78
|
-
const oracleWritable = writable && (0, types_1.isVariant)(perpMarketAccount.
|
|
79
|
-
oracleAccountMap.set(perpMarketAccount.
|
|
80
|
-
pubkey: perpMarketAccount.
|
|
78
|
+
const oracleWritable = writable && (0, types_1.isVariant)(perpMarketAccount.oracleSource, 'prelaunch');
|
|
79
|
+
oracleAccountMap.set(perpMarketAccount.oracle.toString(), {
|
|
80
|
+
pubkey: perpMarketAccount.oracle,
|
|
81
81
|
isSigner: false,
|
|
82
82
|
isWritable: oracleWritable,
|
|
83
83
|
});
|
|
@@ -156,6 +156,9 @@ function decodeUser(buffer) {
|
|
|
156
156
|
else if (orderStatusNum === 1) {
|
|
157
157
|
status = types_1.OrderStatus.OPEN;
|
|
158
158
|
}
|
|
159
|
+
else {
|
|
160
|
+
throw new Error(`decodeUser: unknown order status ${orderStatusNum}`);
|
|
161
|
+
}
|
|
159
162
|
offset += 1;
|
|
160
163
|
const orderTypeNum = buffer.readUInt8(offset);
|
|
161
164
|
let orderType;
|
|
@@ -174,6 +177,9 @@ function decodeUser(buffer) {
|
|
|
174
177
|
else if (orderTypeNum === 4) {
|
|
175
178
|
orderType = types_1.OrderType.ORACLE;
|
|
176
179
|
}
|
|
180
|
+
else {
|
|
181
|
+
throw new Error(`decodeUser: unknown order type ${orderTypeNum}`);
|
|
182
|
+
}
|
|
177
183
|
offset += 1;
|
|
178
184
|
const marketTypeNum = buffer.readUInt8(offset);
|
|
179
185
|
let marketType;
|
|
@@ -224,6 +230,9 @@ function decodeUser(buffer) {
|
|
|
224
230
|
else if (triggerConditionNum === 3) {
|
|
225
231
|
triggerCondition = types_1.OrderTriggerCondition.TRIGGERED_BELOW;
|
|
226
232
|
}
|
|
233
|
+
else {
|
|
234
|
+
throw new Error(`decodeUser: unknown trigger condition ${triggerConditionNum}`);
|
|
235
|
+
}
|
|
227
236
|
offset += 1;
|
|
228
237
|
const auctionDuration = buffer.readUInt8(offset);
|
|
229
238
|
offset += 1;
|
|
@@ -236,7 +245,6 @@ function decodeUser(buffer) {
|
|
|
236
245
|
slot,
|
|
237
246
|
price,
|
|
238
247
|
baseAssetAmount,
|
|
239
|
-
quoteAssetAmount: undefined,
|
|
240
248
|
baseAssetAmountFilled,
|
|
241
249
|
quoteAssetAmountFilled,
|
|
242
250
|
triggerPrice,
|
|
@@ -74,6 +74,10 @@ export declare class DLOB {
|
|
|
74
74
|
initialized: boolean;
|
|
75
75
|
constructor();
|
|
76
76
|
private init;
|
|
77
|
+
private getOpenOrdersForMarketType;
|
|
78
|
+
private getOrderListsForMarketType;
|
|
79
|
+
private tryGetMarketNodeLists;
|
|
80
|
+
private getMarketNodeLists;
|
|
77
81
|
clear(): void;
|
|
78
82
|
/**
|
|
79
83
|
* initializes a new DLOB instance
|
|
@@ -86,6 +90,7 @@ export declare class DLOB {
|
|
|
86
90
|
addOrderList(marketType: MarketTypeStr, marketIndex: number): void;
|
|
87
91
|
delete(order: Order, userAccount: PublicKey, slot: number, onDelete?: OrderBookCallback): void;
|
|
88
92
|
getListForOnChainOrder(order: Order, slot: number): NodeList<any> | undefined;
|
|
93
|
+
private getListForOnChainOrderOrThrow;
|
|
89
94
|
updateRestingLimitOrders(slot: number): void;
|
|
90
95
|
updateRestingLimitOrdersForMarketType(slot: number, marketTypeStr: MarketTypeStr): void;
|
|
91
96
|
getOrder(orderId: number, userAccount: PublicKey): Order | undefined;
|
|
@@ -111,7 +116,7 @@ export declare class DLOB {
|
|
|
111
116
|
} ? SpotMarketAccount : PerpMarketAccount, fallbackAsk: BN | undefined, fallbackBid?: BN | undefined): NodeToFill[];
|
|
112
117
|
findTakingNodesCrossingMakerNodes<T extends MarketType>(marketIndex: number, slot: number, marketType: T, oraclePriceData: T extends {
|
|
113
118
|
spot: unknown;
|
|
114
|
-
} ? OraclePriceData : MMOraclePriceData, takerNodeGenerator: Generator<DLOBNode>, makerNodeGeneratorFn: (marketIndex: number, slot: number, marketType:
|
|
119
|
+
} ? OraclePriceData : MMOraclePriceData, takerNodeGenerator: Generator<DLOBNode>, makerNodeGeneratorFn: (marketIndex: number, slot: number, marketType: T, oraclePriceData: T extends {
|
|
115
120
|
spot: unknown;
|
|
116
121
|
} ? OraclePriceData : MMOraclePriceData) => Generator<DLOBNode>, doesCross: (takerPrice: BN | undefined, makerPrice: BN) => boolean): NodeToFill[];
|
|
117
122
|
findNodesCrossingFallbackLiquidity<T extends MarketType>(marketType: T, slot: number, oraclePriceData: T extends {
|
|
@@ -179,7 +184,7 @@ export declare class DLOB {
|
|
|
179
184
|
getTakeProfitMarkets(marketIndex: number, marketType: MarketType, direction: PositionDirection): Generator<DLOBNode>;
|
|
180
185
|
getTakeProfitLimits(marketIndex: number, marketType: MarketType, direction: PositionDirection): Generator<DLOBNode>;
|
|
181
186
|
findNodesToTrigger(marketIndex: number, slot: number, triggerPrice: BN, marketType: MarketType, stateAccount: StateAccount): NodeToTrigger[];
|
|
182
|
-
printTop(
|
|
187
|
+
printTop(velocityClient: VelocityClient, slotSubscriber: SlotSubscriber, marketIndex: number, marketType: MarketType): void;
|
|
183
188
|
getDLOBOrders(): DLOBOrders;
|
|
184
189
|
getNodeLists(): Generator<NodeList<DLOBNodeType>>;
|
|
185
190
|
/**
|