@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
|
@@ -20,12 +20,7 @@ type ResolveReference = {
|
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
export class WhileValidTxSender extends BaseTxSender {
|
|
23
|
-
connection: Connection;
|
|
24
|
-
wallet: IWallet;
|
|
25
|
-
opts: ConfirmOptions;
|
|
26
|
-
timeout: number;
|
|
27
23
|
retrySleep: number;
|
|
28
|
-
additionalConnections: Connection[];
|
|
29
24
|
timoutCount = 0;
|
|
30
25
|
untilValid = new Map<
|
|
31
26
|
string,
|
|
@@ -75,7 +70,7 @@ export class WhileValidTxSender extends BaseTxSender {
|
|
|
75
70
|
wallet: IWallet;
|
|
76
71
|
opts?: ConfirmOptions;
|
|
77
72
|
retrySleep?: number;
|
|
78
|
-
additionalConnections
|
|
73
|
+
additionalConnections?: Connection[];
|
|
79
74
|
additionalTxSenderCallbacks?: ((base58EncodedTx: string) => void)[];
|
|
80
75
|
confirmationStrategy?: ConfirmationStrategy;
|
|
81
76
|
txHandler?: TxHandler;
|
|
@@ -120,6 +115,12 @@ export class WhileValidTxSender extends BaseTxSender {
|
|
|
120
115
|
let latestBlockhash =
|
|
121
116
|
await this.txHandler.getLatestBlockhashForTransaction();
|
|
122
117
|
|
|
118
|
+
if (!latestBlockhash) {
|
|
119
|
+
throw new Error(
|
|
120
|
+
'WhileValidTxSender: failed to fetch latest blockhash for transaction'
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
|
|
123
124
|
// handle tx
|
|
124
125
|
let signedTx = tx;
|
|
125
126
|
if (!preSigned) {
|
|
@@ -141,9 +142,18 @@ export class WhileValidTxSender extends BaseTxSender {
|
|
|
141
142
|
}
|
|
142
143
|
|
|
143
144
|
// handle subclass-specific side effects
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
-
|
|
145
|
+
const signature = signedTx?.signature || signedTx.signatures[0]?.signature;
|
|
146
|
+
if (!signature) {
|
|
147
|
+
throw new Error(
|
|
148
|
+
'WhileValidTxSender: signed transaction is missing a signature'
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
const txSig = bs58.encode(signature);
|
|
152
|
+
if (!latestBlockhash) {
|
|
153
|
+
throw new Error(
|
|
154
|
+
'WhileValidTxSender: failed to resolve latest blockhash for transaction'
|
|
155
|
+
);
|
|
156
|
+
}
|
|
147
157
|
this.untilValid.set(txSig, latestBlockhash);
|
|
148
158
|
|
|
149
159
|
return signedTx;
|
|
@@ -158,6 +168,12 @@ export class WhileValidTxSender extends BaseTxSender {
|
|
|
158
168
|
let latestBlockhash =
|
|
159
169
|
await this.txHandler.getLatestBlockhashForTransaction();
|
|
160
170
|
|
|
171
|
+
if (!latestBlockhash) {
|
|
172
|
+
throw new Error(
|
|
173
|
+
'WhileValidTxSender: failed to fetch latest blockhash for transaction'
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
|
|
161
177
|
let signedTx;
|
|
162
178
|
if (preSigned) {
|
|
163
179
|
signedTx = tx;
|
|
@@ -184,7 +200,7 @@ export class WhileValidTxSender extends BaseTxSender {
|
|
|
184
200
|
});
|
|
185
201
|
signedTx = await this.txHandler.signVersionedTx(
|
|
186
202
|
tx,
|
|
187
|
-
additionalSigners,
|
|
203
|
+
additionalSigners ?? [],
|
|
188
204
|
latestBlockhash
|
|
189
205
|
);
|
|
190
206
|
}
|
|
@@ -193,7 +209,18 @@ export class WhileValidTxSender extends BaseTxSender {
|
|
|
193
209
|
opts = this.opts;
|
|
194
210
|
}
|
|
195
211
|
|
|
196
|
-
const
|
|
212
|
+
const signature = signedTx.signatures[0];
|
|
213
|
+
if (!signature) {
|
|
214
|
+
throw new Error(
|
|
215
|
+
'WhileValidTxSender: signed transaction is missing a signature'
|
|
216
|
+
);
|
|
217
|
+
}
|
|
218
|
+
const txSig = bs58.encode(signature);
|
|
219
|
+
if (!latestBlockhash) {
|
|
220
|
+
throw new Error(
|
|
221
|
+
'WhileValidTxSender: failed to resolve latest blockhash for transaction'
|
|
222
|
+
);
|
|
223
|
+
}
|
|
197
224
|
this.untilValid.set(txSig, latestBlockhash);
|
|
198
225
|
|
|
199
226
|
return this.sendRawTransaction(signedTx.serialize(), opts);
|
|
@@ -235,24 +262,26 @@ export class WhileValidTxSender extends BaseTxSender {
|
|
|
235
262
|
}
|
|
236
263
|
})();
|
|
237
264
|
|
|
238
|
-
let slot: number;
|
|
265
|
+
let slot: number | undefined;
|
|
239
266
|
try {
|
|
240
267
|
const result = await this.confirmTransaction(txid, opts.commitment);
|
|
241
268
|
|
|
242
269
|
this.txSigCache?.set(txid, true);
|
|
243
270
|
|
|
244
|
-
|
|
271
|
+
if (result) {
|
|
272
|
+
await this.checkConfirmationResultForError(txid, result.value);
|
|
245
273
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
274
|
+
if (result.value?.err && this.throwOnTransactionError) {
|
|
275
|
+
// Fallback error handling if there's a problem reporting the error in checkConfirmationResultForError
|
|
276
|
+
throw new SendTransactionError({
|
|
277
|
+
action: 'send',
|
|
278
|
+
signature: txid,
|
|
279
|
+
transactionMessage: `Transaction Failed`,
|
|
280
|
+
});
|
|
281
|
+
}
|
|
254
282
|
|
|
255
|
-
|
|
283
|
+
slot = result.context.slot;
|
|
284
|
+
}
|
|
256
285
|
// eslint-disable-next-line no-useless-catch
|
|
257
286
|
} catch (e) {
|
|
258
287
|
throw e;
|
package/src/types.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Shared TypeScript types for the
|
|
2
|
+
* Shared TypeScript types for the Velocity SDK.
|
|
3
3
|
*
|
|
4
4
|
* Contains TypeScript mirrors of all on-chain account structs (UserAccount, PerpMarketAccount,
|
|
5
5
|
* SpotMarketAccount, StateAccount, OracleData, etc.), instruction parameter types (OrderParams,
|
|
6
6
|
* ModifyOrderParams), enums (MarketType, OrderType, PositionDirection, OracleSource), and
|
|
7
7
|
* precision constants used throughout the SDK.
|
|
8
8
|
*
|
|
9
|
-
* The authoritative layout source is `sdk/src/idl/
|
|
9
|
+
* The authoritative layout source is `sdk/src/idl/velocity.json` (generated from the program).
|
|
10
10
|
* Do not edit struct shapes here without a corresponding on-chain change.
|
|
11
11
|
*/
|
|
12
12
|
import {
|
|
@@ -313,17 +313,17 @@ export class SettlePnlMode {
|
|
|
313
313
|
}
|
|
314
314
|
|
|
315
315
|
export function isVariant(object: unknown, type: string) {
|
|
316
|
-
return
|
|
316
|
+
return Object.prototype.hasOwnProperty.call(object, type);
|
|
317
317
|
}
|
|
318
318
|
|
|
319
319
|
export function isOneOfVariant(object: unknown, types: string[]) {
|
|
320
320
|
return types.reduce((result, type) => {
|
|
321
|
-
return result ||
|
|
321
|
+
return result || Object.prototype.hasOwnProperty.call(object, type);
|
|
322
322
|
}, false);
|
|
323
323
|
}
|
|
324
324
|
|
|
325
325
|
export function getVariant(object: unknown): string {
|
|
326
|
-
return Object.keys(object)[0];
|
|
326
|
+
return Object.keys(object as object)[0];
|
|
327
327
|
}
|
|
328
328
|
|
|
329
329
|
export enum TradeSide {
|
|
@@ -385,9 +385,8 @@ export type SpotInterestRecord = {
|
|
|
385
385
|
maxBorrowRate: number;
|
|
386
386
|
};
|
|
387
387
|
|
|
388
|
-
export type
|
|
388
|
+
export type AmmCurveChanged = {
|
|
389
389
|
ts: BN;
|
|
390
|
-
recordId: BN;
|
|
391
390
|
marketIndex: number;
|
|
392
391
|
pegMultiplierBefore: BN;
|
|
393
392
|
baseAssetReserveBefore: BN;
|
|
@@ -397,15 +396,9 @@ export type CurveRecord = {
|
|
|
397
396
|
baseAssetReserveAfter: BN;
|
|
398
397
|
quoteAssetReserveAfter: BN;
|
|
399
398
|
sqrtKAfter: BN;
|
|
400
|
-
baseAssetAmountLong: BN;
|
|
401
|
-
baseAssetAmountShort: BN;
|
|
402
|
-
baseAssetAmountWithAmm: BN;
|
|
403
|
-
totalFee: BN;
|
|
404
|
-
totalFeeMinusDistributions: BN;
|
|
405
399
|
adjustmentCost: BN;
|
|
406
|
-
|
|
400
|
+
totalFeeMinusDistributionsAfter: BN;
|
|
407
401
|
oraclePrice: BN;
|
|
408
|
-
fillRecord: BN;
|
|
409
402
|
};
|
|
410
403
|
|
|
411
404
|
export declare type InsuranceFundRecord = {
|
|
@@ -447,7 +440,6 @@ export type FundingRateRecord = {
|
|
|
447
440
|
cumulativeFundingRateShort: BN;
|
|
448
441
|
oraclePriceTwap: BN;
|
|
449
442
|
markPriceTwap: BN;
|
|
450
|
-
periodRevenue: BN;
|
|
451
443
|
baseAssetAmountWithAmm: BN;
|
|
452
444
|
};
|
|
453
445
|
|
|
@@ -655,40 +647,6 @@ export type DeleteUserRecord = {
|
|
|
655
647
|
keeper: PublicKey | null;
|
|
656
648
|
};
|
|
657
649
|
|
|
658
|
-
export type InsuranceFundSwapRecord = {
|
|
659
|
-
rebalanceConfig: PublicKey;
|
|
660
|
-
inIfTotalSharesBefore: BN;
|
|
661
|
-
outIfTotalSharesBefore: BN;
|
|
662
|
-
inIfUserSharesBefore: BN;
|
|
663
|
-
outIfUserSharesBefore: BN;
|
|
664
|
-
inIfTotalSharesAfter: BN;
|
|
665
|
-
outIfTotalSharesAfter: BN;
|
|
666
|
-
inIfUserSharesAfter: BN;
|
|
667
|
-
outIfUserSharesAfter: BN;
|
|
668
|
-
ts: BN;
|
|
669
|
-
inAmount: BN;
|
|
670
|
-
outAmount: BN;
|
|
671
|
-
outOraclePrice: BN;
|
|
672
|
-
outOraclePriceTwap: BN;
|
|
673
|
-
inVaultAmountBefore: BN;
|
|
674
|
-
outVaultAmountBefore: BN;
|
|
675
|
-
inFundVaultAmountAfter: BN;
|
|
676
|
-
outFundVaultAmountAfter: BN;
|
|
677
|
-
inMarketIndex: number;
|
|
678
|
-
outMarketIndex: number;
|
|
679
|
-
};
|
|
680
|
-
|
|
681
|
-
export type TransferProtocolIfSharesToRevenuePoolRecord = {
|
|
682
|
-
ts: BN;
|
|
683
|
-
marketIndex: number;
|
|
684
|
-
amount: BN;
|
|
685
|
-
shares: BN;
|
|
686
|
-
ifVaultAmountBefore: BN;
|
|
687
|
-
protocolSharesBefore: BN;
|
|
688
|
-
protocolSharesAfter: BN;
|
|
689
|
-
transferAmount: BN;
|
|
690
|
-
};
|
|
691
|
-
|
|
692
650
|
export type LPSwapRecord = {
|
|
693
651
|
ts: BN;
|
|
694
652
|
slot: BN;
|
|
@@ -774,13 +732,15 @@ export type StateAccount = {
|
|
|
774
732
|
hotLpCache: PublicKey;
|
|
775
733
|
hotLpSwap: PublicKey;
|
|
776
734
|
hotLpSettle: PublicKey;
|
|
777
|
-
hotIfRebalance: PublicKey;
|
|
778
735
|
hotFeatureFlag: PublicKey;
|
|
779
736
|
hotFuel: PublicKey;
|
|
780
737
|
hotUserFlag: PublicKey;
|
|
781
738
|
hotVaultDeposit: PublicKey;
|
|
782
739
|
hotMmOracleCrank: PublicKey;
|
|
783
740
|
hotAmmSpreadAdjust: PublicKey;
|
|
741
|
+
hotFeeWithdraw: PublicKey;
|
|
742
|
+
protocolFeeRecipientPerp: PublicKey;
|
|
743
|
+
protocolFeeRecipientSpot: PublicKey;
|
|
784
744
|
exchangeStatus: number;
|
|
785
745
|
whitelistMint: PublicKey;
|
|
786
746
|
discountMint: PublicKey;
|
|
@@ -816,16 +776,20 @@ export type PerpMarketAccount = {
|
|
|
816
776
|
pubkey: PublicKey;
|
|
817
777
|
name: number[];
|
|
818
778
|
amm: AMM;
|
|
779
|
+
marketStats: MarketStats;
|
|
819
780
|
numberOfUsersWithBase: number;
|
|
820
781
|
numberOfUsers: number;
|
|
821
782
|
marginRatioInitial: number;
|
|
822
783
|
marginRatioMaintenance: number;
|
|
823
784
|
nextFillRecordId: BN;
|
|
824
785
|
nextFundingRateRecordId: BN;
|
|
825
|
-
nextCurveRecordId: BN;
|
|
826
786
|
pnlPool: PoolBalance;
|
|
787
|
+
protocolFeePool: PoolBalance;
|
|
788
|
+
feeLedger: FeeLedger;
|
|
827
789
|
liquidatorFee: number;
|
|
828
790
|
ifLiquidationFee: number;
|
|
791
|
+
protocolLiquidationFee: number;
|
|
792
|
+
feePoolBufferTarget: BN;
|
|
829
793
|
imfFactor: number;
|
|
830
794
|
unrealizedPnlImfFactor: number;
|
|
831
795
|
unrealizedPnlMaxImbalance: BN;
|
|
@@ -844,12 +808,38 @@ export type PerpMarketAccount = {
|
|
|
844
808
|
|
|
845
809
|
lastFillPrice: BN;
|
|
846
810
|
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
811
|
+
hedgeConfig: {
|
|
812
|
+
poolId: number;
|
|
813
|
+
status: number;
|
|
814
|
+
pausedOperations: number;
|
|
815
|
+
exchangeFeeExclusionScalar: number;
|
|
816
|
+
feeTransferScalar: number;
|
|
817
|
+
};
|
|
852
818
|
marketConfig: number;
|
|
819
|
+
|
|
820
|
+
// Fields migrated off AMM to top-level PerpMarket
|
|
821
|
+
oracle: PublicKey;
|
|
822
|
+
oracleSource: OracleSource;
|
|
823
|
+
oracleSlotDelayOverride: number;
|
|
824
|
+
oracleLowRiskSlotDelayOverride: number;
|
|
825
|
+
baseAssetAmountLong: BN;
|
|
826
|
+
baseAssetAmountShort: BN;
|
|
827
|
+
quoteAssetAmount: BN;
|
|
828
|
+
quoteEntryAmountLong: BN;
|
|
829
|
+
quoteEntryAmountShort: BN;
|
|
830
|
+
quoteBreakEvenAmountLong: BN;
|
|
831
|
+
quoteBreakEvenAmountShort: BN;
|
|
832
|
+
totalSocialLoss: BN;
|
|
833
|
+
maxOpenInterest: BN;
|
|
834
|
+
cumulativeFundingRateLong: BN;
|
|
835
|
+
cumulativeFundingRateShort: BN;
|
|
836
|
+
lastFundingRate: BN;
|
|
837
|
+
lastFundingRateLong: BN;
|
|
838
|
+
lastFundingRateShort: BN;
|
|
839
|
+
lastFundingRateTs: BN;
|
|
840
|
+
netUnsettledFundingPnl: BN;
|
|
841
|
+
orderStepSize: BN;
|
|
842
|
+
orderTickSize: BN;
|
|
853
843
|
};
|
|
854
844
|
|
|
855
845
|
export type HistoricalOracleData = {
|
|
@@ -892,13 +882,15 @@ export type SpotMarketAccount = {
|
|
|
892
882
|
unstakingPeriod: BN;
|
|
893
883
|
lastRevenueSettleTs: BN;
|
|
894
884
|
revenueSettlePeriod: BN;
|
|
895
|
-
|
|
896
|
-
userFactor: number;
|
|
885
|
+
ifFeeFactor: number;
|
|
897
886
|
};
|
|
898
887
|
|
|
899
888
|
revenuePool: PoolBalance;
|
|
889
|
+
protocolFeePool: PoolBalance;
|
|
900
890
|
|
|
901
891
|
ifLiquidationFee: number;
|
|
892
|
+
protocolLiquidationFee: number;
|
|
893
|
+
protocolFeeFactor: number;
|
|
902
894
|
|
|
903
895
|
decimals: number;
|
|
904
896
|
optimalUtilization: number;
|
|
@@ -952,6 +944,8 @@ export type SpotMarketAccount = {
|
|
|
952
944
|
tokenProgramFlag: number;
|
|
953
945
|
|
|
954
946
|
poolId: number;
|
|
947
|
+
|
|
948
|
+
feeAdjustment: number;
|
|
955
949
|
};
|
|
956
950
|
|
|
957
951
|
export type PoolBalance = {
|
|
@@ -959,98 +953,79 @@ export type PoolBalance = {
|
|
|
959
953
|
marketIndex: number;
|
|
960
954
|
};
|
|
961
955
|
|
|
956
|
+
/// Consolidated per-market fee ledger: lifetime analytics counters plus the
|
|
957
|
+
/// pending (not-yet-materialized) protocol/IF/AMM carveouts and the AMM's
|
|
958
|
+
/// backstop-of-last-resort clawback cap.
|
|
959
|
+
export type FeeLedger = {
|
|
960
|
+
totalExchangeFee: BN;
|
|
961
|
+
totalLiquidationFee: BN;
|
|
962
|
+
pendingProtocolFee: BN;
|
|
963
|
+
pendingIfFee: BN;
|
|
964
|
+
ammProtocolFeesReceived: BN;
|
|
965
|
+
pendingAmmProvision: BN;
|
|
966
|
+
};
|
|
967
|
+
|
|
962
968
|
export type AMM = {
|
|
969
|
+
feePool: PoolBalance;
|
|
963
970
|
baseAssetReserve: BN;
|
|
964
|
-
sqrtK: BN;
|
|
965
|
-
cumulativeFundingRate: BN;
|
|
966
|
-
lastFundingRate: BN;
|
|
967
|
-
lastFundingRateTs: BN;
|
|
968
|
-
lastMarkPriceTwap: BN;
|
|
969
|
-
lastMarkPriceTwap5Min: BN;
|
|
970
|
-
lastMarkPriceTwapTs: BN;
|
|
971
|
-
lastTradeTs: BN;
|
|
972
|
-
|
|
973
|
-
oracle: PublicKey;
|
|
974
|
-
oracleSource: OracleSource;
|
|
975
|
-
historicalOracleData: HistoricalOracleData;
|
|
976
|
-
|
|
977
|
-
lastOracleReservePriceSpreadPct: BN;
|
|
978
|
-
lastOracleConfPct: BN;
|
|
979
|
-
|
|
980
|
-
fundingPeriod: BN;
|
|
981
971
|
quoteAssetReserve: BN;
|
|
972
|
+
concentrationCoef: BN;
|
|
973
|
+
minBaseAssetReserve: BN;
|
|
974
|
+
maxBaseAssetReserve: BN;
|
|
975
|
+
sqrtK: BN;
|
|
982
976
|
pegMultiplier: BN;
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
977
|
+
terminalQuoteAssetReserve: BN;
|
|
978
|
+
baseAssetAmountWithAmm: BN;
|
|
979
|
+
/// the AMM's own fee-derived income (provision + spread surplus) — the
|
|
980
|
+
/// market's gross fees are feeLedger.totalExchangeFee
|
|
981
|
+
totalFee: BN;
|
|
982
|
+
/// spread-capture component of totalFee (trading profit, not a paid fee)
|
|
983
|
+
totalMmFee: BN;
|
|
984
|
+
/// the AMM's equity ledger (retained earnings): fee income + funding/PnL
|
|
985
|
+
/// + credits − curve costs − bankruptcy clawbacks; AMM money only
|
|
990
986
|
totalFeeMinusDistributions: BN;
|
|
987
|
+
/// @deprecated frozen pre-isolation analytics counter
|
|
991
988
|
totalFeeWithdrawn: BN;
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
989
|
+
lastUpdateSlot: BN;
|
|
990
|
+
netRevenueSinceLastFunding: BN;
|
|
991
|
+
lastCumulativeFundingRateLong: BN;
|
|
992
|
+
lastCumulativeFundingRateShort: BN;
|
|
993
|
+
baseSpread: number;
|
|
994
|
+
maxSpread: number;
|
|
996
995
|
maxFillReserveFraction: number;
|
|
997
996
|
maxSlippageRatio: number;
|
|
998
|
-
baseSpread: number;
|
|
999
997
|
curveUpdateIntensity: number;
|
|
1000
|
-
baseAssetAmountWithAmm: BN;
|
|
1001
|
-
baseAssetAmountLong: BN;
|
|
1002
|
-
baseAssetAmountShort: BN;
|
|
1003
|
-
quoteAssetAmount: BN;
|
|
1004
|
-
terminalQuoteAssetReserve: BN;
|
|
1005
|
-
concentrationCoef: BN;
|
|
1006
|
-
feePool: PoolBalance;
|
|
1007
|
-
totalExchangeFee: BN;
|
|
1008
|
-
totalMmFee: BN;
|
|
1009
|
-
netRevenueSinceLastFunding: BN;
|
|
1010
|
-
lastUpdateSlot: BN;
|
|
1011
|
-
lastOracleNormalisedPrice: BN;
|
|
1012
|
-
lastOracleValid: boolean;
|
|
1013
|
-
lastBidPriceTwap: BN;
|
|
1014
|
-
lastAskPriceTwap: BN;
|
|
1015
|
-
longSpread: number;
|
|
1016
|
-
shortSpread: number;
|
|
1017
|
-
maxSpread: number;
|
|
1018
|
-
|
|
1019
998
|
ammJitIntensity: number;
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
quoteBreakEvenAmountLong: BN;
|
|
1026
|
-
quoteBreakEvenAmountShort: BN;
|
|
1027
|
-
quoteEntryAmountLong: BN;
|
|
1028
|
-
quoteEntryAmountShort: BN;
|
|
999
|
+
ammSpreadAdjustment: number;
|
|
1000
|
+
ammInventorySpreadAdjustment: number;
|
|
1001
|
+
referencePriceOffsetDeadbandPct: number;
|
|
1002
|
+
fundingBiasSensitivity: number;
|
|
1003
|
+
};
|
|
1029
1004
|
|
|
1005
|
+
export type MarketStats = {
|
|
1006
|
+
lastMarkPriceTwap: BN;
|
|
1007
|
+
lastMarkPriceTwap5Min: BN;
|
|
1008
|
+
lastMarkPriceTwapTs: BN;
|
|
1009
|
+
lastBidPriceTwap: BN;
|
|
1010
|
+
lastAskPriceTwap: BN;
|
|
1030
1011
|
markStd: BN;
|
|
1031
1012
|
oracleStd: BN;
|
|
1013
|
+
lastOracleConfPct: BN;
|
|
1014
|
+
volume24H: BN;
|
|
1032
1015
|
longIntensityVolume: BN;
|
|
1033
1016
|
shortIntensityVolume: BN;
|
|
1034
|
-
|
|
1017
|
+
lastTradeTs: BN;
|
|
1018
|
+
last24HAvgFundingRate: BN;
|
|
1019
|
+
fundingPeriod: BN;
|
|
1035
1020
|
minOrderSize: BN;
|
|
1036
1021
|
mmOraclePrice: BN;
|
|
1037
1022
|
mmOracleSlot: BN;
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
askQuoteAssetReserve: BN;
|
|
1043
|
-
|
|
1044
|
-
netUnsettledFundingPnl: BN;
|
|
1045
|
-
referencePriceOffset: number;
|
|
1046
|
-
|
|
1047
|
-
oracleLowRiskSlotDelayOverride: number;
|
|
1048
|
-
oracleSlotDelayOverride: number;
|
|
1049
|
-
ammSpreadAdjustment: number;
|
|
1050
|
-
ammInventorySpreadAdjustment: number;
|
|
1051
|
-
|
|
1023
|
+
mmOracleSequenceId: BN;
|
|
1024
|
+
lastOracleNormalisedPrice: BN;
|
|
1025
|
+
lastReferencePriceOffset: number;
|
|
1026
|
+
lastOracleValid: boolean;
|
|
1052
1027
|
lastFundingOracleTwap: BN;
|
|
1053
|
-
|
|
1028
|
+
historicalOracleData: HistoricalOracleData;
|
|
1054
1029
|
};
|
|
1055
1030
|
|
|
1056
1031
|
// # User Account Types
|
|
@@ -1086,14 +1061,12 @@ export type UserStatsAccount = {
|
|
|
1086
1061
|
totalFeeRebate: BN;
|
|
1087
1062
|
totalTokenDiscount: BN;
|
|
1088
1063
|
totalRefereeDiscount: BN;
|
|
1089
|
-
totalReferrerReward: BN;
|
|
1090
|
-
current_epoch_referrer_reward: BN;
|
|
1091
1064
|
};
|
|
1092
1065
|
referrer: PublicKey;
|
|
1093
1066
|
referrerStatus: number;
|
|
1094
1067
|
authority: PublicKey;
|
|
1095
1068
|
ifStakedQuoteAssetAmount: BN;
|
|
1096
|
-
|
|
1069
|
+
delegatePermissions: number;
|
|
1097
1070
|
};
|
|
1098
1071
|
|
|
1099
1072
|
export type UserAccount = {
|
|
@@ -1146,7 +1119,6 @@ export type Order = {
|
|
|
1146
1119
|
marketIndex: number;
|
|
1147
1120
|
price: BN;
|
|
1148
1121
|
baseAssetAmount: BN;
|
|
1149
|
-
quoteAssetAmount: BN;
|
|
1150
1122
|
baseAssetAmountFilled: BN;
|
|
1151
1123
|
quoteAssetAmountFilled: BN;
|
|
1152
1124
|
direction: PositionDirection;
|
|
@@ -1183,6 +1155,10 @@ export type OrderParams = {
|
|
|
1183
1155
|
maxTs: BN | null;
|
|
1184
1156
|
auctionStartPrice: BN | null;
|
|
1185
1157
|
auctionEndPrice: BN | null;
|
|
1158
|
+
/** index into the placing user's RevenueShareEscrow.approved_builders list (non-swift builder codes) */
|
|
1159
|
+
builderIdx?: number | null;
|
|
1160
|
+
/** builder fee on this order, in tenths of a bps, e.g. 100 = 0.01% */
|
|
1161
|
+
builderFeeTenthBps?: number | null;
|
|
1186
1162
|
};
|
|
1187
1163
|
|
|
1188
1164
|
export class PostOnlyParams {
|
|
@@ -1251,7 +1227,7 @@ export type OptionalOrderParams = {
|
|
|
1251
1227
|
|
|
1252
1228
|
export type ModifyOrderParams = {
|
|
1253
1229
|
[Property in keyof OrderParams]?: OrderParams[Property] | null;
|
|
1254
|
-
} & { policy?: ModifyOrderPolicy };
|
|
1230
|
+
} & { policy?: ModifyOrderPolicy | null };
|
|
1255
1231
|
|
|
1256
1232
|
export enum ModifyOrderPolicy {
|
|
1257
1233
|
MustModify = 1,
|
|
@@ -1276,6 +1252,8 @@ export const DefaultOrderParams: OrderParams = {
|
|
|
1276
1252
|
maxTs: null,
|
|
1277
1253
|
auctionStartPrice: null,
|
|
1278
1254
|
auctionEndPrice: null,
|
|
1255
|
+
builderIdx: null,
|
|
1256
|
+
builderFeeTenthBps: null,
|
|
1279
1257
|
};
|
|
1280
1258
|
|
|
1281
1259
|
export type SignedMsgOrderParamsMessage = {
|
|
@@ -1331,6 +1309,8 @@ export type ReferrerInfo = {
|
|
|
1331
1309
|
export enum ReferrerStatus {
|
|
1332
1310
|
IsReferrer = 1,
|
|
1333
1311
|
IsReferred = 2,
|
|
1312
|
+
/** set when the user's RevenueShareEscrow was initialized with a referrer */
|
|
1313
|
+
BuilderReferral = 4,
|
|
1334
1314
|
}
|
|
1335
1315
|
|
|
1336
1316
|
export enum PlaceAndTakeOrderSuccessCondition {
|
|
@@ -1390,7 +1370,8 @@ export type FeeStructure = {
|
|
|
1390
1370
|
feeTiers: FeeTier[];
|
|
1391
1371
|
fillerRewardStructure: OrderFillerRewardStructure;
|
|
1392
1372
|
flatFillerFee: BN;
|
|
1393
|
-
|
|
1373
|
+
ammFeeNumerator: number;
|
|
1374
|
+
ifFeeNumerator: number;
|
|
1394
1375
|
};
|
|
1395
1376
|
|
|
1396
1377
|
export type FeeTier = {
|
|
@@ -1508,9 +1489,6 @@ export interface VelocityClientMetricsEvents {
|
|
|
1508
1489
|
preTxSigned: void;
|
|
1509
1490
|
}
|
|
1510
1491
|
|
|
1511
|
-
/** @deprecated Use `VelocityClientMetricsEvents` instead. `DriftClientMetricsEvents` will be removed in a future major. */
|
|
1512
|
-
export interface DriftClientMetricsEvents extends VelocityClientMetricsEvents {}
|
|
1513
|
-
|
|
1514
1492
|
export type SignedTxData = {
|
|
1515
1493
|
txSig: string;
|
|
1516
1494
|
signedTx: Transaction | VersionedTransaction;
|
|
@@ -1518,36 +1496,8 @@ export type SignedTxData = {
|
|
|
1518
1496
|
blockHash: string;
|
|
1519
1497
|
};
|
|
1520
1498
|
|
|
1521
|
-
export type IfRebalanceConfigAccount = {
|
|
1522
|
-
pubkey: PublicKey;
|
|
1523
|
-
totalInAmount: BN;
|
|
1524
|
-
currentInAmount: BN;
|
|
1525
|
-
currentOutAmount: BN;
|
|
1526
|
-
currentOutAmountTransferred: BN;
|
|
1527
|
-
epochStartTs: BN;
|
|
1528
|
-
epochInAmount: BN;
|
|
1529
|
-
epochMaxInAmount: BN;
|
|
1530
|
-
epochDuration: BN;
|
|
1531
|
-
outMarketIndex: number;
|
|
1532
|
-
inMarketIndex: number;
|
|
1533
|
-
maxSlippageBps: number;
|
|
1534
|
-
swapMode: number;
|
|
1535
|
-
status: number;
|
|
1536
|
-
};
|
|
1537
|
-
|
|
1538
|
-
export type IfRebalanceConfigParams = {
|
|
1539
|
-
totalInAmount: BN;
|
|
1540
|
-
epochMaxInAmount: BN;
|
|
1541
|
-
epochDuration: BN;
|
|
1542
|
-
outMarketIndex: number;
|
|
1543
|
-
inMarketIndex: number;
|
|
1544
|
-
maxSlippageBps: number;
|
|
1545
|
-
swapMode: number;
|
|
1546
|
-
status: number;
|
|
1547
|
-
};
|
|
1548
|
-
|
|
1549
1499
|
/* Represents proof of a signed msg taker order
|
|
1550
|
-
* It can be provided to
|
|
1500
|
+
* It can be provided to velocity program to fill a signed msg order
|
|
1551
1501
|
*/
|
|
1552
1502
|
export interface SignedMsgOrderParams {
|
|
1553
1503
|
/**
|
|
@@ -1581,10 +1531,6 @@ export type RevenueShareAccount = {
|
|
|
1581
1531
|
export type RevenueShareEscrowAccount = {
|
|
1582
1532
|
authority: PublicKey;
|
|
1583
1533
|
referrer: PublicKey;
|
|
1584
|
-
referrerBoostExpireTs: number;
|
|
1585
|
-
referrerRewardOffset: number;
|
|
1586
|
-
refereeFeeNumeratorOffset: number;
|
|
1587
|
-
referrerBoostNumerator: number;
|
|
1588
1534
|
reservedFixed: number[];
|
|
1589
1535
|
orders: RevenueShareOrder[];
|
|
1590
1536
|
approvedBuilders: BuilderInfo[];
|