@drift-labs/sdk 2.130.0-beta.9 → 2.130.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/VERSION +1 -1
- package/lib/browser/accounts/{userAccount/basicUserAccountSubscriber.d.ts → basicUserAccountSubscriber.d.ts} +2 -2
- package/lib/browser/accounts/{bulkAccountLoader/bulkAccountLoader.d.ts → bulkAccountLoader.d.ts} +2 -2
- package/lib/browser/accounts/{bulkAccountLoader/bulkAccountLoader.js → bulkAccountLoader.js} +2 -2
- package/lib/browser/accounts/bulkUserStatsSubscription.d.ts +1 -1
- package/lib/browser/accounts/bulkUserSubscription.d.ts +1 -1
- package/lib/browser/accounts/{bulkAccountLoader/customizedCadenceBulkAccountLoader.js → customizedCadenceBulkAccountLoader.js} +1 -1
- package/lib/browser/accounts/{baseSubscribers/grpcAccountSubscriber.d.ts → grpcAccountSubscriber.d.ts} +2 -1
- package/lib/{node/accounts/baseSubscribers → browser/accounts}/grpcAccountSubscriber.js +17 -13
- package/lib/browser/accounts/{driftClientAccount/grpcDriftClientAccountSubscriber.d.ts → grpcDriftClientAccountSubscriber.d.ts} +2 -2
- package/lib/{node/accounts/driftClientAccount → browser/accounts}/grpcDriftClientAccountSubscriber.js +4 -4
- package/lib/browser/accounts/{insuranceFundStakeAccount/grpcInsuranceFundStakeAccountSubscriber.d.ts → grpcInsuranceFundStakeAccountSubscriber.d.ts} +2 -2
- package/lib/{node/accounts/insuranceFundStakeAccount → browser/accounts}/grpcInsuranceFundStakeAccountSubscriber.js +1 -1
- package/lib/browser/accounts/{programAccount/grpcProgramAccountSubscriber.d.ts → grpcProgramAccountSubscriber.d.ts} +2 -1
- package/lib/browser/accounts/{programAccount/grpcProgramAccountSubscriber.js → grpcProgramAccountSubscriber.js} +17 -13
- package/lib/browser/accounts/{userAccount/grpcUserAccountSubscriber.d.ts → grpcUserAccountSubscriber.d.ts} +2 -2
- package/lib/browser/accounts/{userAccount/grpcUserAccountSubscriber.js → grpcUserAccountSubscriber.js} +1 -1
- package/lib/browser/accounts/{userStatsAccount/grpcUserStatsAccountSubscriber.d.ts → grpcUserStatsAccountSubscriber.d.ts} +2 -2
- package/lib/{node/accounts/userStatsAccount → browser/accounts}/grpcUserStatsAccountSubscriber.js +1 -1
- package/lib/browser/accounts/{userAccount/oneShotUserAccountSubscriber.d.ts → oneShotUserAccountSubscriber.d.ts} +2 -2
- package/lib/browser/accounts/{driftClientAccount/pollingDriftClientAccountSubscriber.d.ts → pollingDriftClientAccountSubscriber.d.ts} +5 -5
- package/lib/browser/accounts/{driftClientAccount/pollingDriftClientAccountSubscriber.js → pollingDriftClientAccountSubscriber.js} +8 -8
- package/lib/browser/accounts/{highLeverageModeConfigAccount/pollingHighLeverageModeConfigAccountSubscriber.d.ts → pollingHighLeverageModeConfigAccountSubscriber.d.ts} +3 -3
- package/lib/browser/accounts/{highLeverageModeConfigAccount/pollingHighLeverageModeConfigAccountSubscriber.js → pollingHighLeverageModeConfigAccountSubscriber.js} +1 -1
- package/lib/browser/accounts/{insuranceFundStakeAccount/pollingInsuranceFundStakeAccountSubscriber.d.ts → pollingInsuranceFundStakeAccountSubscriber.d.ts} +3 -3
- package/lib/{node/accounts/insuranceFundStakeAccount → browser/accounts}/pollingInsuranceFundStakeAccountSubscriber.js +1 -1
- package/lib/browser/accounts/{oracleAccount/pollingOracleAccountSubscriber.d.ts → pollingOracleAccountSubscriber.d.ts} +3 -3
- package/lib/{node/accounts/oracleAccount → browser/accounts}/pollingOracleAccountSubscriber.js +1 -1
- package/lib/browser/accounts/{tokenAccount/pollingTokenAccountSubscriber.d.ts → pollingTokenAccountSubscriber.d.ts} +2 -2
- package/lib/browser/accounts/{tokenAccount/pollingTokenAccountSubscriber.js → pollingTokenAccountSubscriber.js} +2 -2
- package/lib/browser/accounts/{userAccount/pollingUserAccountSubscriber.d.ts → pollingUserAccountSubscriber.d.ts} +4 -4
- package/lib/browser/accounts/{userAccount/pollingUserAccountSubscriber.js → pollingUserAccountSubscriber.js} +1 -1
- package/lib/browser/accounts/{userStatsAccount/pollingUserStatsAccountSubscriber.d.ts → pollingUserStatsAccountSubscriber.d.ts} +3 -3
- package/lib/browser/accounts/{userStatsAccount/pollingUserStatsAccountSubscriber.js → pollingUserStatsAccountSubscriber.js} +1 -1
- package/lib/browser/accounts/types.d.ts +11 -0
- package/lib/browser/accounts/{baseSubscribers/webSocketAccountSubscriber.d.ts → webSocketAccountSubscriber.d.ts} +1 -1
- package/lib/{node/accounts/baseSubscribers → browser/accounts}/webSocketAccountSubscriber.js +1 -1
- package/lib/browser/accounts/{driftClientAccount/webSocketDriftClientAccountSubscriber.d.ts → webSocketDriftClientAccountSubscriber.d.ts} +4 -4
- package/lib/browser/accounts/{driftClientAccount/webSocketDriftClientAccountSubscriber.js → webSocketDriftClientAccountSubscriber.js} +9 -9
- package/lib/browser/accounts/{highLeverageModeConfigAccount/webSocketHighLeverageModeConfigAccountSubscriber.d.ts → webSocketHighLeverageModeConfigAccountSubscriber.d.ts} +2 -2
- package/lib/browser/accounts/{highLeverageModeConfigAccount/webSocketHighLeverageModeConfigAccountSubscriber.js → webSocketHighLeverageModeConfigAccountSubscriber.js} +2 -2
- package/lib/browser/accounts/{insuranceFundStakeAccount/webSocketInsuranceFundStakeAccountSubscriber.d.ts → webSocketInsuranceFundStakeAccountSubscriber.d.ts} +2 -2
- package/lib/browser/accounts/{insuranceFundStakeAccount/webSocketInsuranceFundStakeAccountSubscriber.js → webSocketInsuranceFundStakeAccountSubscriber.js} +2 -2
- package/lib/browser/accounts/{programAccount/webSocketProgramAccountSubscriber.d.ts → webSocketProgramAccountSubscriber.d.ts} +1 -1
- package/lib/browser/accounts/{userAccount/webSocketUserAccountSubscriber.d.ts → webSocketUserAccountSubscriber.d.ts} +2 -2
- package/lib/{node/accounts/userAccount → browser/accounts}/webSocketUserAccountSubscriber.js +2 -2
- package/lib/browser/accounts/{userStatsAccount/webSocketUserStatsAccountSubsriber.d.ts → webSocketUserStatsAccountSubsriber.d.ts} +2 -2
- package/lib/browser/accounts/{userStatsAccount/webSocketUserStatsAccountSubsriber.js → webSocketUserStatsAccountSubsriber.js} +2 -2
- package/lib/browser/adminClient.d.ts +2 -2
- package/lib/browser/adminClient.js +14 -14
- package/lib/browser/auctionSubscriber/auctionSubscriber.js +1 -1
- package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.js +1 -1
- package/lib/browser/{config/index.d.ts → config.d.ts} +5 -5
- package/lib/{node/config/index.js → browser/config.js} +3 -3
- package/lib/browser/constants/perpMarkets.d.ts +1 -1
- package/lib/browser/constants/spotMarkets.d.ts +1 -1
- package/lib/browser/dlob/DLOB.d.ts +3 -3
- package/lib/browser/dlob/DLOB.js +18 -13
- package/lib/browser/dlob/DLOBNode.d.ts +5 -3
- package/lib/browser/dlob/DLOBNode.js +14 -13
- package/lib/browser/dlob/DLOBSubscriber.js +1 -1
- package/lib/browser/dlob/NodeList.d.ts +4 -1
- package/lib/browser/dlob/NodeList.js +11 -8
- package/lib/browser/dlob/orderBookLevels.d.ts +6 -0
- package/lib/browser/dlob/orderBookLevels.js +5 -2
- package/lib/browser/driftClient.d.ts +1 -1
- package/lib/browser/driftClient.js +18 -5
- package/lib/browser/driftClientConfig.d.ts +2 -2
- package/lib/browser/idl/drift.json +82 -11
- package/lib/browser/index.d.ts +14 -21
- package/lib/browser/index.js +14 -21
- package/lib/browser/math/amm.d.ts +4 -0
- package/lib/browser/math/amm.js +25 -9
- package/lib/browser/math/margin.js +1 -1
- package/lib/browser/math/market.d.ts +10 -0
- package/lib/browser/math/market.js +76 -1
- package/lib/browser/math/orders.d.ts +1 -0
- package/lib/browser/math/orders.js +13 -1
- package/lib/browser/math/state.d.ts +1 -0
- package/lib/browser/math/state.js +6 -1
- package/lib/browser/openbook/openbookV2Subscriber.d.ts +1 -1
- package/lib/browser/oracles/types.d.ts +1 -0
- package/lib/browser/oracles/utils.js +1 -3
- package/lib/browser/orderSubscriber/OrderSubscriber.d.ts +1 -1
- package/lib/browser/orderSubscriber/OrderSubscriber.js +10 -3
- package/lib/browser/orderSubscriber/WebsocketSubscription.js +1 -1
- package/lib/browser/orderSubscriber/grpcSubscription.js +1 -1
- package/lib/browser/phoenix/phoenixSubscriber.d.ts +1 -1
- package/lib/browser/serum/serumSubscriber.d.ts +1 -1
- package/lib/browser/serum/types.d.ts +1 -1
- package/lib/browser/swift/grpcSignedMsgUserAccountSubscriber.d.ts +1 -1
- package/lib/browser/swift/grpcSignedMsgUserAccountSubscriber.js +1 -1
- package/lib/browser/swift/signedMsgUserAccountSubscriber.d.ts +1 -1
- package/lib/browser/swift/signedMsgUserAccountSubscriber.js +1 -1
- package/lib/browser/swift/swiftOrderSubscriber.d.ts +1 -1
- package/lib/browser/types.d.ts +7 -0
- package/lib/browser/types.js +6 -1
- package/lib/browser/user.js +3 -3
- package/lib/browser/userConfig.d.ts +1 -1
- package/lib/browser/userMap/PollingSubscription.d.ts +2 -2
- package/lib/browser/userMap/WebsocketSubscription.d.ts +2 -2
- package/lib/browser/userMap/WebsocketSubscription.js +1 -1
- package/lib/browser/userMap/grpcSubscription.d.ts +2 -2
- package/lib/browser/userMap/grpcSubscription.js +1 -1
- package/lib/browser/userMap/userMap.d.ts +18 -3
- package/lib/browser/userMap/userMap.js +1 -1
- package/lib/browser/userMap/userStatsMap.d.ts +1 -1
- package/lib/browser/userMap/userStatsMap.js +1 -1
- package/lib/browser/userStats.js +3 -3
- package/lib/browser/userStatsConfig.d.ts +1 -1
- package/lib/node/accounts/{userAccount/basicUserAccountSubscriber.d.ts → basicUserAccountSubscriber.d.ts} +2 -2
- package/lib/node/accounts/basicUserAccountSubscriber.d.ts.map +1 -0
- package/lib/node/accounts/{bulkAccountLoader/bulkAccountLoader.d.ts → bulkAccountLoader.d.ts} +2 -2
- package/lib/node/accounts/bulkAccountLoader.d.ts.map +1 -0
- package/lib/node/accounts/{bulkAccountLoader/bulkAccountLoader.js → bulkAccountLoader.js} +2 -2
- package/lib/node/accounts/bulkUserStatsSubscription.d.ts +1 -1
- package/lib/node/accounts/bulkUserStatsSubscription.d.ts.map +1 -1
- package/lib/node/accounts/bulkUserSubscription.d.ts +1 -1
- package/lib/node/accounts/bulkUserSubscription.d.ts.map +1 -1
- package/lib/node/accounts/customizedCadenceBulkAccountLoader.d.ts.map +1 -0
- package/lib/node/accounts/{bulkAccountLoader/customizedCadenceBulkAccountLoader.js → customizedCadenceBulkAccountLoader.js} +1 -1
- package/lib/node/accounts/{baseSubscribers/grpcAccountSubscriber.d.ts → grpcAccountSubscriber.d.ts} +2 -1
- package/lib/node/accounts/grpcAccountSubscriber.d.ts.map +1 -0
- package/lib/{browser/accounts/baseSubscribers → node/accounts}/grpcAccountSubscriber.js +17 -13
- package/lib/node/accounts/{driftClientAccount/grpcDriftClientAccountSubscriber.d.ts → grpcDriftClientAccountSubscriber.d.ts} +2 -2
- package/lib/node/accounts/grpcDriftClientAccountSubscriber.d.ts.map +1 -0
- package/lib/{browser/accounts/driftClientAccount → node/accounts}/grpcDriftClientAccountSubscriber.js +4 -4
- package/lib/node/accounts/{insuranceFundStakeAccount/grpcInsuranceFundStakeAccountSubscriber.d.ts → grpcInsuranceFundStakeAccountSubscriber.d.ts} +2 -2
- package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts.map +1 -0
- package/lib/{browser/accounts/insuranceFundStakeAccount → node/accounts}/grpcInsuranceFundStakeAccountSubscriber.js +1 -1
- package/lib/node/accounts/{programAccount/grpcProgramAccountSubscriber.d.ts → grpcProgramAccountSubscriber.d.ts} +2 -1
- package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts.map +1 -0
- package/lib/node/accounts/{programAccount/grpcProgramAccountSubscriber.js → grpcProgramAccountSubscriber.js} +17 -13
- package/lib/node/accounts/{userAccount/grpcUserAccountSubscriber.d.ts → grpcUserAccountSubscriber.d.ts} +2 -2
- package/lib/node/accounts/grpcUserAccountSubscriber.d.ts.map +1 -0
- package/lib/node/accounts/{userAccount/grpcUserAccountSubscriber.js → grpcUserAccountSubscriber.js} +1 -1
- package/lib/node/accounts/{userStatsAccount/grpcUserStatsAccountSubscriber.d.ts → grpcUserStatsAccountSubscriber.d.ts} +2 -2
- package/lib/node/accounts/grpcUserStatsAccountSubscriber.d.ts.map +1 -0
- package/lib/{browser/accounts/userStatsAccount → node/accounts}/grpcUserStatsAccountSubscriber.js +1 -1
- package/lib/node/accounts/{userAccount/oneShotUserAccountSubscriber.d.ts → oneShotUserAccountSubscriber.d.ts} +2 -2
- package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts.map +1 -0
- package/lib/node/accounts/{driftClientAccount/pollingDriftClientAccountSubscriber.d.ts → pollingDriftClientAccountSubscriber.d.ts} +5 -5
- package/lib/node/accounts/pollingDriftClientAccountSubscriber.d.ts.map +1 -0
- package/lib/node/accounts/{driftClientAccount/pollingDriftClientAccountSubscriber.js → pollingDriftClientAccountSubscriber.js} +8 -8
- package/lib/node/accounts/{highLeverageModeConfigAccount/pollingHighLeverageModeConfigAccountSubscriber.d.ts → pollingHighLeverageModeConfigAccountSubscriber.d.ts} +3 -3
- package/lib/node/accounts/pollingHighLeverageModeConfigAccountSubscriber.d.ts.map +1 -0
- package/lib/node/accounts/{highLeverageModeConfigAccount/pollingHighLeverageModeConfigAccountSubscriber.js → pollingHighLeverageModeConfigAccountSubscriber.js} +1 -1
- package/lib/node/accounts/{insuranceFundStakeAccount/pollingInsuranceFundStakeAccountSubscriber.d.ts → pollingInsuranceFundStakeAccountSubscriber.d.ts} +3 -3
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts.map +1 -0
- package/lib/{browser/accounts/insuranceFundStakeAccount → node/accounts}/pollingInsuranceFundStakeAccountSubscriber.js +1 -1
- package/lib/node/accounts/{oracleAccount/pollingOracleAccountSubscriber.d.ts → pollingOracleAccountSubscriber.d.ts} +3 -3
- package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts.map +1 -0
- package/lib/{browser/accounts/oracleAccount → node/accounts}/pollingOracleAccountSubscriber.js +1 -1
- package/lib/node/accounts/{tokenAccount/pollingTokenAccountSubscriber.d.ts → pollingTokenAccountSubscriber.d.ts} +2 -2
- package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts.map +1 -0
- package/lib/node/accounts/{tokenAccount/pollingTokenAccountSubscriber.js → pollingTokenAccountSubscriber.js} +2 -2
- package/lib/node/accounts/{userAccount/pollingUserAccountSubscriber.d.ts → pollingUserAccountSubscriber.d.ts} +4 -4
- package/lib/node/accounts/pollingUserAccountSubscriber.d.ts.map +1 -0
- package/lib/node/accounts/{userAccount/pollingUserAccountSubscriber.js → pollingUserAccountSubscriber.js} +1 -1
- package/lib/node/accounts/{userStatsAccount/pollingUserStatsAccountSubscriber.d.ts → pollingUserStatsAccountSubscriber.d.ts} +3 -3
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts.map +1 -0
- package/lib/node/accounts/{userStatsAccount/pollingUserStatsAccountSubscriber.js → pollingUserStatsAccountSubscriber.js} +1 -1
- package/lib/node/accounts/testBulkAccountLoader.d.ts.map +1 -0
- package/lib/node/accounts/types.d.ts +11 -0
- package/lib/node/accounts/types.d.ts.map +1 -1
- package/lib/node/accounts/{baseSubscribers/webSocketAccountSubscriber.d.ts → webSocketAccountSubscriber.d.ts} +1 -1
- package/lib/node/accounts/webSocketAccountSubscriber.d.ts.map +1 -0
- package/lib/{browser/accounts/baseSubscribers → node/accounts}/webSocketAccountSubscriber.js +1 -1
- package/lib/node/accounts/{driftClientAccount/webSocketDriftClientAccountSubscriber.d.ts → webSocketDriftClientAccountSubscriber.d.ts} +4 -4
- package/lib/node/accounts/webSocketDriftClientAccountSubscriber.d.ts.map +1 -0
- package/lib/node/accounts/{driftClientAccount/webSocketDriftClientAccountSubscriber.js → webSocketDriftClientAccountSubscriber.js} +9 -9
- package/lib/node/accounts/{highLeverageModeConfigAccount/webSocketHighLeverageModeConfigAccountSubscriber.d.ts → webSocketHighLeverageModeConfigAccountSubscriber.d.ts} +2 -2
- package/lib/node/accounts/webSocketHighLeverageModeConfigAccountSubscriber.d.ts.map +1 -0
- package/lib/node/accounts/{highLeverageModeConfigAccount/webSocketHighLeverageModeConfigAccountSubscriber.js → webSocketHighLeverageModeConfigAccountSubscriber.js} +2 -2
- package/lib/node/accounts/{insuranceFundStakeAccount/webSocketInsuranceFundStakeAccountSubscriber.d.ts → webSocketInsuranceFundStakeAccountSubscriber.d.ts} +2 -2
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts.map +1 -0
- package/lib/node/accounts/{insuranceFundStakeAccount/webSocketInsuranceFundStakeAccountSubscriber.js → webSocketInsuranceFundStakeAccountSubscriber.js} +2 -2
- package/lib/node/accounts/{programAccount/webSocketProgramAccountSubscriber.d.ts → webSocketProgramAccountSubscriber.d.ts} +1 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts.map +1 -0
- package/lib/node/accounts/{userAccount/webSocketUserAccountSubscriber.d.ts → webSocketUserAccountSubscriber.d.ts} +2 -2
- package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts.map +1 -0
- package/lib/{browser/accounts/userAccount → node/accounts}/webSocketUserAccountSubscriber.js +2 -2
- package/lib/node/accounts/{userStatsAccount/webSocketUserStatsAccountSubsriber.d.ts → webSocketUserStatsAccountSubsriber.d.ts} +2 -2
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts.map +1 -0
- package/lib/node/accounts/{userStatsAccount/webSocketUserStatsAccountSubsriber.js → webSocketUserStatsAccountSubsriber.js} +2 -2
- package/lib/node/adminClient.d.ts +2 -2
- package/lib/node/adminClient.d.ts.map +1 -1
- package/lib/node/adminClient.js +14 -14
- package/lib/node/auctionSubscriber/auctionSubscriber.js +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +1 -1
- package/lib/node/{config/index.d.ts → config.d.ts} +6 -6
- package/lib/node/config.d.ts.map +1 -0
- package/lib/{browser/config/index.js → node/config.js} +3 -3
- package/lib/node/constants/perpMarkets.d.ts +1 -1
- package/lib/node/constants/perpMarkets.d.ts.map +1 -1
- package/lib/node/constants/spotMarkets.d.ts +1 -1
- package/lib/node/constants/spotMarkets.d.ts.map +1 -1
- package/lib/node/dlob/DLOB.d.ts +3 -3
- package/lib/node/dlob/DLOB.d.ts.map +1 -1
- package/lib/node/dlob/DLOB.js +18 -13
- package/lib/node/dlob/DLOBNode.d.ts +5 -3
- package/lib/node/dlob/DLOBNode.d.ts.map +1 -1
- package/lib/node/dlob/DLOBNode.js +14 -13
- package/lib/node/dlob/DLOBSubscriber.d.ts.map +1 -1
- package/lib/node/dlob/DLOBSubscriber.js +1 -1
- package/lib/node/dlob/NodeList.d.ts +4 -1
- package/lib/node/dlob/NodeList.d.ts.map +1 -1
- package/lib/node/dlob/NodeList.js +11 -8
- package/lib/node/dlob/orderBookLevels.d.ts +6 -0
- package/lib/node/dlob/orderBookLevels.d.ts.map +1 -1
- package/lib/node/dlob/orderBookLevels.js +5 -2
- package/lib/node/driftClient.d.ts +1 -1
- package/lib/node/driftClient.d.ts.map +1 -1
- package/lib/node/driftClient.js +18 -5
- package/lib/node/driftClientConfig.d.ts +2 -2
- package/lib/node/driftClientConfig.d.ts.map +1 -1
- package/lib/node/idl/drift.json +82 -11
- package/lib/node/index.d.ts +14 -21
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +14 -21
- package/lib/node/math/amm.d.ts +4 -0
- package/lib/node/math/amm.d.ts.map +1 -1
- package/lib/node/math/amm.js +25 -9
- package/lib/node/math/margin.js +1 -1
- package/lib/node/math/market.d.ts +10 -0
- package/lib/node/math/market.d.ts.map +1 -1
- package/lib/node/math/market.js +76 -1
- package/lib/node/math/orders.d.ts +1 -0
- package/lib/node/math/orders.d.ts.map +1 -1
- package/lib/node/math/orders.js +13 -1
- package/lib/node/math/state.d.ts +1 -0
- package/lib/node/math/state.d.ts.map +1 -1
- package/lib/node/math/state.js +6 -1
- package/lib/node/openbook/openbookV2Subscriber.d.ts +1 -1
- package/lib/node/openbook/openbookV2Subscriber.d.ts.map +1 -1
- package/lib/node/oracles/types.d.ts +1 -0
- package/lib/node/oracles/types.d.ts.map +1 -1
- package/lib/node/oracles/utils.d.ts.map +1 -1
- package/lib/node/oracles/utils.js +1 -3
- package/lib/node/orderSubscriber/OrderSubscriber.d.ts +1 -1
- package/lib/node/orderSubscriber/OrderSubscriber.d.ts.map +1 -1
- package/lib/node/orderSubscriber/OrderSubscriber.js +10 -3
- package/lib/node/orderSubscriber/WebsocketSubscription.js +1 -1
- package/lib/node/orderSubscriber/grpcSubscription.js +1 -1
- package/lib/node/phoenix/phoenixSubscriber.d.ts +1 -1
- package/lib/node/phoenix/phoenixSubscriber.d.ts.map +1 -1
- package/lib/node/serum/serumSubscriber.d.ts +1 -1
- package/lib/node/serum/serumSubscriber.d.ts.map +1 -1
- package/lib/node/serum/types.d.ts +1 -1
- package/lib/node/serum/types.d.ts.map +1 -1
- package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.d.ts +1 -1
- package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.js +1 -1
- package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts +1 -1
- package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/swift/signedMsgUserAccountSubscriber.js +1 -1
- package/lib/node/swift/swiftOrderSubscriber.d.ts +1 -1
- package/lib/node/swift/swiftOrderSubscriber.d.ts.map +1 -1
- package/lib/node/types.d.ts +7 -0
- package/lib/node/types.d.ts.map +1 -1
- package/lib/node/types.js +6 -1
- package/lib/node/user.js +3 -3
- package/lib/node/userConfig.d.ts +1 -1
- package/lib/node/userConfig.d.ts.map +1 -1
- package/lib/node/userMap/PollingSubscription.d.ts +2 -2
- package/lib/node/userMap/PollingSubscription.d.ts.map +1 -1
- package/lib/node/userMap/WebsocketSubscription.d.ts +2 -2
- 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 +2 -2
- package/lib/node/userMap/grpcSubscription.d.ts.map +1 -1
- package/lib/node/userMap/grpcSubscription.js +1 -1
- package/lib/node/userMap/userMap.d.ts +18 -3
- package/lib/node/userMap/userMap.d.ts.map +1 -1
- package/lib/node/userMap/userMap.js +1 -1
- package/lib/node/userMap/userStatsMap.d.ts +1 -1
- package/lib/node/userMap/userStatsMap.d.ts.map +1 -1
- package/lib/node/userMap/userStatsMap.js +1 -1
- package/lib/node/userStats.js +3 -3
- package/lib/node/userStatsConfig.d.ts +1 -1
- package/lib/node/userStatsConfig.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/accounts/{userAccount/basicUserAccountSubscriber.ts → basicUserAccountSubscriber.ts} +2 -6
- package/src/accounts/{bulkAccountLoader/bulkAccountLoader.ts → bulkAccountLoader.ts} +4 -4
- package/src/accounts/bulkUserStatsSubscription.ts +2 -2
- package/src/accounts/bulkUserSubscription.ts +2 -2
- package/src/accounts/{bulkAccountLoader/customizedCadenceBulkAccountLoader.ts → customizedCadenceBulkAccountLoader.ts} +1 -1
- package/src/accounts/{baseSubscribers/grpcAccountSubscriber.ts → grpcAccountSubscriber.ts} +26 -13
- package/src/accounts/{driftClientAccount/grpcDriftClientAccountSubscriber.ts → grpcDriftClientAccountSubscriber.ts} +7 -11
- package/src/accounts/{insuranceFundStakeAccount/grpcInsuranceFundStakeAccountSubscriber.ts → grpcInsuranceFundStakeAccountSubscriber.ts} +3 -3
- package/src/accounts/{programAccount/grpcProgramAccountSubscriber.ts → grpcProgramAccountSubscriber.ts} +28 -13
- package/src/accounts/{userAccount/grpcUserAccountSubscriber.ts → grpcUserAccountSubscriber.ts} +3 -3
- package/src/accounts/{userStatsAccount/grpcUserStatsAccountSubscriber.ts → grpcUserStatsAccountSubscriber.ts} +3 -3
- package/src/accounts/{userAccount/oneShotUserAccountSubscriber.ts → oneShotUserAccountSubscriber.ts} +2 -2
- package/src/accounts/{driftClientAccount/pollingDriftClientAccountSubscriber.ts → pollingDriftClientAccountSubscriber.ts} +10 -10
- package/src/accounts/{highLeverageModeConfigAccount/pollingHighLeverageModeConfigAccountSubscriber.ts → pollingHighLeverageModeConfigAccountSubscriber.ts} +3 -3
- package/src/accounts/{insuranceFundStakeAccount/pollingInsuranceFundStakeAccountSubscriber.ts → pollingInsuranceFundStakeAccountSubscriber.ts} +3 -3
- package/src/accounts/{oracleAccount/pollingOracleAccountSubscriber.ts → pollingOracleAccountSubscriber.ts} +3 -3
- package/src/accounts/{tokenAccount/pollingTokenAccountSubscriber.ts → pollingTokenAccountSubscriber.ts} +3 -3
- package/src/accounts/{userAccount/pollingUserAccountSubscriber.ts → pollingUserAccountSubscriber.ts} +4 -4
- package/src/accounts/{userStatsAccount/pollingUserStatsAccountSubscriber.ts → pollingUserStatsAccountSubscriber.ts} +3 -3
- package/src/accounts/types.ts +12 -0
- package/src/accounts/{baseSubscribers/webSocketAccountSubscriber.ts → webSocketAccountSubscriber.ts} +2 -2
- package/src/accounts/{driftClientAccount/webSocketDriftClientAccountSubscriber.ts → webSocketDriftClientAccountSubscriber.ts} +11 -15
- package/src/accounts/{highLeverageModeConfigAccount/webSocketHighLeverageModeConfigAccountSubscriber.ts → webSocketHighLeverageModeConfigAccountSubscriber.ts} +3 -3
- package/src/accounts/{insuranceFundStakeAccount/webSocketInsuranceFundStakeAccountSubscriber.ts → webSocketInsuranceFundStakeAccountSubscriber.ts} +3 -3
- package/src/accounts/{programAccount/webSocketProgramAccountSubscriber.ts → webSocketProgramAccountSubscriber.ts} +1 -1
- package/src/accounts/{userAccount/webSocketUserAccountSubscriber.ts → webSocketUserAccountSubscriber.ts} +3 -3
- package/src/accounts/{userStatsAccount/webSocketUserStatsAccountSubsriber.ts → webSocketUserStatsAccountSubsriber.ts} +3 -3
- package/src/adminClient.ts +29 -27
- package/src/auctionSubscriber/auctionSubscriber.ts +1 -1
- package/src/auctionSubscriber/auctionSubscriberGrpc.ts +2 -2
- package/src/{config/index.ts → config.ts} +7 -6
- package/src/constants/perpMarkets.ts +1 -1
- package/src/constants/spotMarkets.ts +1 -1
- package/src/dlob/DLOB.ts +31 -8
- package/src/dlob/DLOBNode.ts +22 -11
- package/src/dlob/DLOBSubscriber.ts +2 -1
- package/src/dlob/NodeList.ts +12 -3
- package/src/dlob/orderBookLevels.ts +8 -2
- package/src/driftClient.ts +22 -8
- package/src/driftClientConfig.ts +2 -2
- package/src/idl/drift.json +83 -12
- package/src/index.ts +14 -26
- package/src/math/amm.ts +49 -10
- package/src/math/margin.ts +1 -1
- package/src/math/market.ts +105 -0
- package/src/math/orders.ts +18 -0
- package/src/math/state.ts +7 -1
- package/src/openbook/openbookV2Subscriber.ts +1 -1
- package/src/oracles/types.ts +1 -0
- package/src/oracles/utils.ts +1 -3
- package/src/orderSubscriber/OrderSubscriber.ts +16 -2
- package/src/orderSubscriber/WebsocketSubscription.ts +1 -1
- package/src/orderSubscriber/grpcSubscription.ts +1 -1
- package/src/phoenix/phoenixSubscriber.ts +1 -1
- package/src/serum/serumSubscriber.ts +1 -1
- package/src/serum/types.ts +1 -1
- package/src/swift/grpcSignedMsgUserAccountSubscriber.ts +1 -1
- package/src/swift/signedMsgUserAccountSubscriber.ts +1 -1
- package/src/swift/swiftOrderSubscriber.ts +1 -1
- package/src/testClient.ts +1 -1
- package/src/types.ts +9 -0
- package/src/user.ts +3 -3
- package/src/userConfig.ts +1 -1
- package/src/userMap/PollingSubscription.ts +3 -3
- package/src/userMap/WebsocketSubscription.ts +4 -4
- package/src/userMap/grpcSubscription.ts +5 -5
- package/src/userMap/userMap.ts +31 -4
- package/src/userMap/userStatsMap.ts +2 -2
- package/src/userStats.ts +3 -3
- package/src/userStatsConfig.ts +1 -1
- package/tests/accounts/customizedCadenceBulkAccountLoader.test.ts +1 -1
- package/lib/browser/config/types.d.ts +0 -1
- package/lib/browser/config/types.js +0 -2
- package/lib/browser/dlob/utils.d.ts +0 -1
- package/lib/browser/dlob/utils.js +0 -7
- package/lib/browser/userMap/events.d.ts +0 -6
- package/lib/browser/userMap/events.js +0 -2
- package/lib/browser/userMap/types.d.ts +0 -32
- package/lib/browser/userMap/types.js +0 -2
- package/lib/node/accounts/baseSubscribers/grpcAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/baseSubscribers/webSocketAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/bulkAccountLoader/bulkAccountLoader.d.ts.map +0 -1
- package/lib/node/accounts/bulkAccountLoader/customizedCadenceBulkAccountLoader.d.ts.map +0 -1
- package/lib/node/accounts/bulkAccountLoader/testBulkAccountLoader.d.ts.map +0 -1
- package/lib/node/accounts/driftClientAccount/grpcDriftClientAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/driftClientAccount/pollingDriftClientAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/driftClientAccount/webSocketDriftClientAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/highLeverageModeConfigAccount/pollingHighLeverageModeConfigAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/highLeverageModeConfigAccount/webSocketHighLeverageModeConfigAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/insuranceFundStakeAccount/grpcInsuranceFundStakeAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/insuranceFundStakeAccount/pollingInsuranceFundStakeAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/insuranceFundStakeAccount/webSocketInsuranceFundStakeAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/oracleAccount/pollingOracleAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/programAccount/grpcProgramAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/programAccount/webSocketProgramAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/tokenAccount/pollingTokenAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/userAccount/basicUserAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/userAccount/grpcUserAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/userAccount/oneShotUserAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/userAccount/pollingUserAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/userAccount/webSocketUserAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/userStatsAccount/grpcUserStatsAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/userStatsAccount/pollingUserStatsAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/userStatsAccount/webSocketUserStatsAccountSubsriber.d.ts.map +0 -1
- package/lib/node/config/index.d.ts.map +0 -1
- package/lib/node/config/types.d.ts +0 -2
- package/lib/node/config/types.d.ts.map +0 -1
- package/lib/node/config/types.js +0 -2
- package/lib/node/dlob/utils.d.ts +0 -2
- package/lib/node/dlob/utils.d.ts.map +0 -1
- package/lib/node/dlob/utils.js +0 -7
- package/lib/node/userMap/events.d.ts +0 -7
- package/lib/node/userMap/events.d.ts.map +0 -1
- package/lib/node/userMap/events.js +0 -2
- package/lib/node/userMap/types.d.ts +0 -33
- package/lib/node/userMap/types.d.ts.map +0 -1
- package/lib/node/userMap/types.js +0 -2
- package/src/config/types.ts +0 -1
- package/src/dlob/utils.ts +0 -6
- package/src/userMap/events.ts +0 -7
- package/src/userMap/types.ts +0 -47
- /package/lib/browser/accounts/{userAccount/basicUserAccountSubscriber.js → basicUserAccountSubscriber.js} +0 -0
- /package/lib/browser/accounts/{bulkAccountLoader/customizedCadenceBulkAccountLoader.d.ts → customizedCadenceBulkAccountLoader.d.ts} +0 -0
- /package/lib/browser/accounts/{userAccount/oneShotUserAccountSubscriber.js → oneShotUserAccountSubscriber.js} +0 -0
- /package/lib/browser/accounts/{bulkAccountLoader/testBulkAccountLoader.d.ts → testBulkAccountLoader.d.ts} +0 -0
- /package/lib/browser/accounts/{bulkAccountLoader/testBulkAccountLoader.js → testBulkAccountLoader.js} +0 -0
- /package/lib/browser/accounts/{programAccount/webSocketProgramAccountSubscriber.js → webSocketProgramAccountSubscriber.js} +0 -0
- /package/lib/node/accounts/{userAccount/basicUserAccountSubscriber.js → basicUserAccountSubscriber.js} +0 -0
- /package/lib/node/accounts/{bulkAccountLoader/customizedCadenceBulkAccountLoader.d.ts → customizedCadenceBulkAccountLoader.d.ts} +0 -0
- /package/lib/node/accounts/{userAccount/oneShotUserAccountSubscriber.js → oneShotUserAccountSubscriber.js} +0 -0
- /package/lib/node/accounts/{bulkAccountLoader/testBulkAccountLoader.d.ts → testBulkAccountLoader.d.ts} +0 -0
- /package/lib/node/accounts/{bulkAccountLoader/testBulkAccountLoader.js → testBulkAccountLoader.js} +0 -0
- /package/lib/node/accounts/{programAccount/webSocketProgramAccountSubscriber.js → webSocketProgramAccountSubscriber.js} +0 -0
- /package/src/accounts/{bulkAccountLoader/testBulkAccountLoader.ts → testBulkAccountLoader.ts} +0 -0
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WebSocketDriftClientAccountSubscriber = void 0;
|
|
4
|
-
const types_1 = require("
|
|
4
|
+
const types_1 = require("./types");
|
|
5
5
|
const events_1 = require("events");
|
|
6
|
-
const pda_1 = require("
|
|
7
|
-
const webSocketAccountSubscriber_1 = require("
|
|
6
|
+
const pda_1 = require("../addresses/pda");
|
|
7
|
+
const webSocketAccountSubscriber_1 = require("./webSocketAccountSubscriber");
|
|
8
8
|
const web3_js_1 = require("@solana/web3.js");
|
|
9
|
-
const oracleClientCache_1 = require("
|
|
10
|
-
const quoteAssetOracleClient_1 = require("
|
|
11
|
-
const config_1 = require("
|
|
12
|
-
const utils_1 = require("
|
|
13
|
-
const oracleId_1 = require("
|
|
14
|
-
const types_2 = require("
|
|
9
|
+
const oracleClientCache_1 = require("../oracles/oracleClientCache");
|
|
10
|
+
const quoteAssetOracleClient_1 = require("../oracles/quoteAssetOracleClient");
|
|
11
|
+
const config_1 = require("../config");
|
|
12
|
+
const utils_1 = require("./utils");
|
|
13
|
+
const oracleId_1 = require("../oracles/oracleId");
|
|
14
|
+
const types_2 = require("../types");
|
|
15
15
|
const ORACLE_DEFAULT_ID = (0, oracleId_1.getOracleId)(web3_js_1.PublicKey.default, types_2.OracleSource.QUOTE_ASSET);
|
|
16
16
|
class WebSocketDriftClientAccountSubscriber {
|
|
17
17
|
constructor(program, perpMarketIndexes, spotMarketIndexes, oracleInfos, shouldFindAllMarketsAndOracles, delistedMarketSetting, resubOpts, commitment) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { DataAndSlot, AccountSubscriber, HighLeverageModeConfigAccountEvents, HighLeverageModeConfigAccountSubscriber } from '
|
|
2
|
+
import { DataAndSlot, AccountSubscriber, HighLeverageModeConfigAccountEvents, HighLeverageModeConfigAccountSubscriber } from './types';
|
|
3
3
|
import { Program } from '@coral-xyz/anchor';
|
|
4
4
|
import StrictEventEmitter from 'strict-event-emitter-types';
|
|
5
5
|
import { EventEmitter } from 'events';
|
|
6
6
|
import { Commitment, PublicKey } from '@solana/web3.js';
|
|
7
|
-
import { HighLeverageModeConfig } from '
|
|
7
|
+
import { HighLeverageModeConfig } from '../types';
|
|
8
8
|
export declare class WebSocketHighLeverageModeConfigAccountSubscriber implements HighLeverageModeConfigAccountSubscriber {
|
|
9
9
|
isSubscribed: boolean;
|
|
10
10
|
resubTimeoutMs?: number;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WebSocketHighLeverageModeConfigAccountSubscriber = void 0;
|
|
4
|
-
const types_1 = require("
|
|
4
|
+
const types_1 = require("./types");
|
|
5
5
|
const events_1 = require("events");
|
|
6
|
-
const webSocketAccountSubscriber_1 = require("
|
|
6
|
+
const webSocketAccountSubscriber_1 = require("./webSocketAccountSubscriber");
|
|
7
7
|
class WebSocketHighLeverageModeConfigAccountSubscriber {
|
|
8
8
|
constructor(program, highLeverageModeConfigAccountPublicKey, resubTimeoutMs, commitment) {
|
|
9
9
|
this.isSubscribed = false;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { DataAndSlot, AccountSubscriber, InsuranceFundStakeAccountEvents, InsuranceFundStakeAccountSubscriber } from '
|
|
2
|
+
import { DataAndSlot, AccountSubscriber, InsuranceFundStakeAccountEvents, InsuranceFundStakeAccountSubscriber } from './types';
|
|
3
3
|
import { Program } from '@coral-xyz/anchor';
|
|
4
4
|
import StrictEventEmitter from 'strict-event-emitter-types';
|
|
5
5
|
import { EventEmitter } from 'events';
|
|
6
6
|
import { Commitment, PublicKey } from '@solana/web3.js';
|
|
7
|
-
import { InsuranceFundStake } from '
|
|
7
|
+
import { InsuranceFundStake } from '../types';
|
|
8
8
|
export declare class WebSocketInsuranceFundStakeAccountSubscriber implements InsuranceFundStakeAccountSubscriber {
|
|
9
9
|
isSubscribed: boolean;
|
|
10
10
|
resubTimeoutMs?: number;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WebSocketInsuranceFundStakeAccountSubscriber = void 0;
|
|
4
|
-
const types_1 = require("
|
|
4
|
+
const types_1 = require("./types");
|
|
5
5
|
const events_1 = require("events");
|
|
6
|
-
const webSocketAccountSubscriber_1 = require("
|
|
6
|
+
const webSocketAccountSubscriber_1 = require("./webSocketAccountSubscriber");
|
|
7
7
|
class WebSocketInsuranceFundStakeAccountSubscriber {
|
|
8
8
|
constructor(program, insuranceFundStakeAccountPublicKey, resubTimeoutMs, commitment) {
|
|
9
9
|
this.isSubscribed = false;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
|
-
import { BufferAndSlot, ProgramAccountSubscriber, ResubOpts } from '
|
|
3
|
+
import { BufferAndSlot, ProgramAccountSubscriber, ResubOpts } from './types';
|
|
4
4
|
import { Program } from '@coral-xyz/anchor';
|
|
5
5
|
import { Commitment, Context, KeyedAccountInfo, MemcmpFilter, PublicKey } from '@solana/web3.js';
|
|
6
6
|
export declare class WebSocketProgramAccountSubscriber<T> implements ProgramAccountSubscriber<T> {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { DataAndSlot, AccountSubscriber, UserAccountEvents, UserAccountSubscriber, ResubOpts } from '
|
|
2
|
+
import { DataAndSlot, AccountSubscriber, UserAccountEvents, UserAccountSubscriber, ResubOpts } from './types';
|
|
3
3
|
import { Program } from '@coral-xyz/anchor';
|
|
4
4
|
import StrictEventEmitter from 'strict-event-emitter-types';
|
|
5
5
|
import { EventEmitter } from 'events';
|
|
6
6
|
import { Commitment, PublicKey } from '@solana/web3.js';
|
|
7
|
-
import { UserAccount } from '
|
|
7
|
+
import { UserAccount } from '../types';
|
|
8
8
|
export declare class WebSocketUserAccountSubscriber implements UserAccountSubscriber {
|
|
9
9
|
isSubscribed: boolean;
|
|
10
10
|
resubOpts?: ResubOpts;
|
package/lib/{node/accounts/userAccount → browser/accounts}/webSocketUserAccountSubscriber.js
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WebSocketUserAccountSubscriber = void 0;
|
|
4
|
-
const types_1 = require("
|
|
4
|
+
const types_1 = require("./types");
|
|
5
5
|
const events_1 = require("events");
|
|
6
|
-
const webSocketAccountSubscriber_1 = require("
|
|
6
|
+
const webSocketAccountSubscriber_1 = require("./webSocketAccountSubscriber");
|
|
7
7
|
class WebSocketUserAccountSubscriber {
|
|
8
8
|
constructor(program, userAccountPublicKey, resubOpts, commitment) {
|
|
9
9
|
this.isSubscribed = false;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { DataAndSlot, AccountSubscriber, UserStatsAccountSubscriber, UserStatsAccountEvents, ResubOpts } from '
|
|
2
|
+
import { DataAndSlot, AccountSubscriber, UserStatsAccountSubscriber, UserStatsAccountEvents, ResubOpts } from './types';
|
|
3
3
|
import { Program } from '@coral-xyz/anchor';
|
|
4
4
|
import StrictEventEmitter from 'strict-event-emitter-types';
|
|
5
5
|
import { EventEmitter } from 'events';
|
|
6
6
|
import { Commitment, PublicKey } from '@solana/web3.js';
|
|
7
|
-
import { UserStatsAccount } from '
|
|
7
|
+
import { UserStatsAccount } from '../types';
|
|
8
8
|
export declare class WebSocketUserStatsAccountSubscriber implements UserStatsAccountSubscriber {
|
|
9
9
|
isSubscribed: boolean;
|
|
10
10
|
resubOpts?: ResubOpts;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WebSocketUserStatsAccountSubscriber = void 0;
|
|
4
|
-
const types_1 = require("
|
|
4
|
+
const types_1 = require("./types");
|
|
5
5
|
const events_1 = require("events");
|
|
6
|
-
const webSocketAccountSubscriber_1 = require("
|
|
6
|
+
const webSocketAccountSubscriber_1 = require("./webSocketAccountSubscriber");
|
|
7
7
|
class WebSocketUserStatsAccountSubscriber {
|
|
8
8
|
constructor(program, userStatsAccountPublicKey, resubOpts, commitment) {
|
|
9
9
|
this.isSubscribed = false;
|
|
@@ -230,8 +230,8 @@ export declare class AdminClient extends DriftClient {
|
|
|
230
230
|
getUpdateProtectedMakerModeConfigIx(maxUsers: number, reduceOnly: boolean, currentUsers: undefined): Promise<TransactionInstruction>;
|
|
231
231
|
adminDeposit(marketIndex: number, amount: BN, depositUserAccount: PublicKey, adminTokenAccount?: PublicKey): Promise<TransactionSignature>;
|
|
232
232
|
getAdminDepositIx(marketIndex: number, amount: BN, depositUserAccount: PublicKey, adminTokenAccount?: PublicKey): Promise<TransactionInstruction>;
|
|
233
|
-
updateDisableBitFlagsMMOracle(disable: boolean): Promise<TransactionSignature>;
|
|
234
|
-
getUpdateDisableBitFlagsMMOracleIx(disable: boolean): Promise<TransactionInstruction>;
|
|
235
233
|
zeroMMOracleFields(marketIndex: number): Promise<TransactionSignature>;
|
|
236
234
|
getZeroMMOracleFieldsIx(marketIndex: number): Promise<TransactionInstruction>;
|
|
235
|
+
updateFeatureBitFlagsMMOracle(enable: boolean): Promise<TransactionSignature>;
|
|
236
|
+
getUpdateFeatureBitFlagsMMOracleIx(enable: boolean): Promise<TransactionInstruction>;
|
|
237
237
|
}
|
|
@@ -2103,36 +2103,36 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
2103
2103
|
},
|
|
2104
2104
|
});
|
|
2105
2105
|
}
|
|
2106
|
-
async
|
|
2107
|
-
const
|
|
2108
|
-
const tx = await this.buildTransaction(
|
|
2106
|
+
async zeroMMOracleFields(marketIndex) {
|
|
2107
|
+
const zeroMMOracleFieldsIx = await this.getZeroMMOracleFieldsIx(marketIndex);
|
|
2108
|
+
const tx = await this.buildTransaction(zeroMMOracleFieldsIx);
|
|
2109
2109
|
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
2110
2110
|
return txSig;
|
|
2111
2111
|
}
|
|
2112
|
-
async
|
|
2113
|
-
return await this.program.instruction.
|
|
2112
|
+
async getZeroMMOracleFieldsIx(marketIndex) {
|
|
2113
|
+
return await this.program.instruction.zeroMmOracleFields({
|
|
2114
2114
|
accounts: {
|
|
2115
2115
|
admin: this.isSubscribed
|
|
2116
2116
|
? this.getStateAccount().admin
|
|
2117
2117
|
: this.wallet.publicKey,
|
|
2118
2118
|
state: await this.getStatePublicKey(),
|
|
2119
|
+
perpMarket: await (0, pda_1.getPerpMarketPublicKey)(this.program.programId, marketIndex),
|
|
2119
2120
|
},
|
|
2120
2121
|
});
|
|
2121
2122
|
}
|
|
2122
|
-
async
|
|
2123
|
-
const
|
|
2124
|
-
const tx = await this.buildTransaction(
|
|
2123
|
+
async updateFeatureBitFlagsMMOracle(enable) {
|
|
2124
|
+
const updateFeatureBitFlagsMMOracleIx = await this.getUpdateFeatureBitFlagsMMOracleIx(enable);
|
|
2125
|
+
const tx = await this.buildTransaction(updateFeatureBitFlagsMMOracleIx);
|
|
2125
2126
|
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
2126
2127
|
return txSig;
|
|
2127
2128
|
}
|
|
2128
|
-
async
|
|
2129
|
-
return await this.program.instruction.
|
|
2129
|
+
async getUpdateFeatureBitFlagsMMOracleIx(enable) {
|
|
2130
|
+
return await this.program.instruction.updateFeatureBitFlagsMmOracle(enable, {
|
|
2130
2131
|
accounts: {
|
|
2131
|
-
admin: this.
|
|
2132
|
-
? this.
|
|
2133
|
-
: this.
|
|
2132
|
+
admin: this.useHotWalletAdmin
|
|
2133
|
+
? this.wallet.publicKey
|
|
2134
|
+
: this.getStateAccount().admin,
|
|
2134
2135
|
state: await this.getStatePublicKey(),
|
|
2135
|
-
perpMarket: await (0, pda_1.getPerpMarketPublicKey)(this.program.programId, marketIndex),
|
|
2136
2136
|
},
|
|
2137
2137
|
});
|
|
2138
2138
|
}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AuctionSubscriber = void 0;
|
|
4
4
|
const memcmp_1 = require("../memcmp");
|
|
5
5
|
const events_1 = require("events");
|
|
6
|
-
const webSocketProgramAccountSubscriber_1 = require("../accounts/
|
|
6
|
+
const webSocketProgramAccountSubscriber_1 = require("../accounts/webSocketProgramAccountSubscriber");
|
|
7
7
|
class AuctionSubscriber {
|
|
8
8
|
constructor({ driftClient, opts, resubTimeoutMs, logResubMessages, }) {
|
|
9
9
|
this.driftClient = driftClient;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AuctionSubscriberGrpc = void 0;
|
|
4
4
|
const memcmp_1 = require("../memcmp");
|
|
5
5
|
const events_1 = require("events");
|
|
6
|
-
const grpcProgramAccountSubscriber_1 = require("../accounts/
|
|
6
|
+
const grpcProgramAccountSubscriber_1 = require("../accounts/grpcProgramAccountSubscriber");
|
|
7
7
|
class AuctionSubscriberGrpc {
|
|
8
8
|
constructor({ driftClient, opts, grpcConfigs, resubTimeoutMs, logResubMessages, }) {
|
|
9
9
|
this.driftClient = driftClient;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { ConfirmOptions, PublicKey } from '@solana/web3.js';
|
|
2
|
-
import { PerpMarketAccount, SpotMarketAccount } from '
|
|
3
|
-
import { PerpMarketConfig } from '
|
|
4
|
-
import { SpotMarketConfig } from '
|
|
5
|
-
import { OracleInfo } from '
|
|
2
|
+
import { PerpMarketAccount, SpotMarketAccount } from './types';
|
|
3
|
+
import { PerpMarketConfig } from './constants/perpMarkets';
|
|
4
|
+
import { SpotMarketConfig } from './constants/spotMarkets';
|
|
5
|
+
import { OracleInfo } from './oracles/types';
|
|
6
6
|
import { Program } from '@coral-xyz/anchor';
|
|
7
|
-
import { DriftEnv } from './types';
|
|
8
7
|
type DriftConfig = {
|
|
9
8
|
ENV: DriftEnv;
|
|
10
9
|
PYTH_ORACLE_MAPPING_ADDRESS: string;
|
|
@@ -25,6 +24,7 @@ type DriftConfig = {
|
|
|
25
24
|
PYTH_PULL_ORACLE_LOOKUP_TABLE?: string;
|
|
26
25
|
SB_ON_DEMAND_PID: PublicKey;
|
|
27
26
|
};
|
|
27
|
+
export type DriftEnv = 'devnet' | 'mainnet-beta';
|
|
28
28
|
export declare const DRIFT_PROGRAM_ID = "dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH";
|
|
29
29
|
export declare const DRIFT_ORACLE_RECEIVER_ID = "G6EoTTTgpkNBtVXo96EQp2m6uwwVh2Kt6YidjkmQqoha";
|
|
30
30
|
export declare const PTYH_LAZER_PROGRAM_ID = "pytd2yyk641x7ak7mkaasSJVXh6YYZnC7wTmtgAyxPt";
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.findAllMarketAndOracles = exports.getMarketsAndOraclesForSubscription = exports.initialize = exports.getConfig = exports.configs = exports.DEFAULT_CONFIRMATION_OPTS = exports.PYTH_LAZER_STORAGE_ACCOUNT_KEY = exports.PTYH_LAZER_PROGRAM_ID = exports.DRIFT_ORACLE_RECEIVER_ID = exports.DRIFT_PROGRAM_ID = void 0;
|
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
-
const perpMarkets_1 = require("
|
|
6
|
-
const spotMarkets_1 = require("
|
|
5
|
+
const perpMarkets_1 = require("./constants/perpMarkets");
|
|
6
|
+
const spotMarkets_1 = require("./constants/spotMarkets");
|
|
7
7
|
const on_demand_1 = require("@switchboard-xyz/on-demand");
|
|
8
|
-
const oracleId_1 = require("
|
|
8
|
+
const oracleId_1 = require("./oracles/oracleId");
|
|
9
9
|
exports.DRIFT_PROGRAM_ID = 'dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH';
|
|
10
10
|
exports.DRIFT_ORACLE_RECEIVER_ID = 'G6EoTTTgpkNBtVXo96EQp2m6uwwVh2Kt6YidjkmQqoha';
|
|
11
11
|
exports.PTYH_LAZER_PROGRAM_ID = 'pytd2yyk641x7ak7mkaasSJVXh6YYZnC7wTmtgAyxPt';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { PublicKey } from '@solana/web3.js';
|
|
3
3
|
import { OracleSource } from '../types';
|
|
4
4
|
import { BN } from '@coral-xyz/anchor';
|
|
5
|
-
import { DriftEnv } from '../config
|
|
5
|
+
import { DriftEnv } from '../config';
|
|
6
6
|
export type SpotMarketConfig = {
|
|
7
7
|
symbol: string;
|
|
8
8
|
marketIndex: number;
|
|
@@ -75,8 +75,8 @@ export declare class DLOB {
|
|
|
75
75
|
* @returns a promise that resolves when the DLOB is initialized
|
|
76
76
|
*/
|
|
77
77
|
initFromUserMap(userMap: UserMap, slot: number): Promise<boolean>;
|
|
78
|
-
insertOrder(order: Order, userAccount: string, slot: number, isUserProtectedMaker: boolean, onInsert?: OrderBookCallback): void;
|
|
79
|
-
insertSignedMsgOrder(order: Order, userAccount: string, isUserProtectedMaker: boolean, onInsert?: OrderBookCallback): void;
|
|
78
|
+
insertOrder(order: Order, userAccount: string, slot: number, isUserProtectedMaker: boolean, baseAssetAmount: BN, onInsert?: OrderBookCallback): void;
|
|
79
|
+
insertSignedMsgOrder(order: Order, userAccount: string, isUserProtectedMaker: boolean, baseAssetAmount?: BN, onInsert?: OrderBookCallback): void;
|
|
80
80
|
addOrderList(marketType: MarketTypeStr, marketIndex: number): void;
|
|
81
81
|
delete(order: Order, userAccount: PublicKey, slot: number, isUserProtectedMaker: boolean, onDelete?: OrderBookCallback): void;
|
|
82
82
|
getListForOnChainOrder(order: Order, slot: number, isProtectedMaker: boolean): NodeList<any> | undefined;
|
|
@@ -133,7 +133,7 @@ export declare class DLOB {
|
|
|
133
133
|
getTakeProfits(marketIndex: number, marketType: MarketType, direction: PositionDirection): Generator<DLOBNode>;
|
|
134
134
|
getTakeProfitMarkets(marketIndex: number, marketType: MarketType, direction: PositionDirection): Generator<DLOBNode>;
|
|
135
135
|
getTakeProfitLimits(marketIndex: number, marketType: MarketType, direction: PositionDirection): Generator<DLOBNode>;
|
|
136
|
-
findNodesToTrigger(marketIndex: number, slot: number,
|
|
136
|
+
findNodesToTrigger(marketIndex: number, slot: number, triggerPrice: BN, marketType: MarketType, stateAccount: StateAccount): NodeToTrigger[];
|
|
137
137
|
printTop(driftClient: DriftClient, slotSubscriber: SlotSubscriber, marketIndex: number, marketType: MarketType): void;
|
|
138
138
|
getDLOBOrders(): DLOBOrders;
|
|
139
139
|
getNodeLists(): Generator<NodeList<DLOBNodeType>>;
|
package/lib/browser/dlob/DLOB.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DLOB = void 0;
|
|
4
4
|
const NodeList_1 = require("./NodeList");
|
|
5
|
-
const utils_1 = require("./utils");
|
|
6
5
|
const anchor_1 = require("@coral-xyz/anchor");
|
|
7
6
|
const numericConstants_1 = require("../constants/numericConstants");
|
|
8
7
|
const userName_1 = require("../userName");
|
|
@@ -66,6 +65,7 @@ class DLOB {
|
|
|
66
65
|
* @returns a promise that resolves when the DLOB is initialized
|
|
67
66
|
*/
|
|
68
67
|
async initFromUserMap(userMap, slot) {
|
|
68
|
+
var _a;
|
|
69
69
|
if (this.initialized) {
|
|
70
70
|
return false;
|
|
71
71
|
}
|
|
@@ -76,13 +76,18 @@ class DLOB {
|
|
|
76
76
|
const userAccountPubkeyString = userAccountPubkey.toString();
|
|
77
77
|
const protectedMaker = (0, userStatus_1.isUserProtectedMaker)(userAccount);
|
|
78
78
|
for (const order of userAccount.orders) {
|
|
79
|
-
|
|
79
|
+
let baseAssetAmount = order.baseAssetAmount;
|
|
80
|
+
if (order.reduceOnly) {
|
|
81
|
+
const existingBaseAmount = ((_a = userAccount.perpPositions.find((pos) => pos.marketIndex === order.marketIndex && pos.openOrders > 0)) === null || _a === void 0 ? void 0 : _a.baseAssetAmount) || numericConstants_1.ZERO;
|
|
82
|
+
baseAssetAmount = (0, orders_1.calculateOrderBaseAssetAmount)(order, existingBaseAmount);
|
|
83
|
+
}
|
|
84
|
+
this.insertOrder(order, userAccountPubkeyString, slot, protectedMaker, baseAssetAmount);
|
|
80
85
|
}
|
|
81
86
|
}
|
|
82
87
|
this.initialized = true;
|
|
83
88
|
return true;
|
|
84
89
|
}
|
|
85
|
-
insertOrder(order, userAccount, slot, isUserProtectedMaker, onInsert) {
|
|
90
|
+
insertOrder(order, userAccount, slot, isUserProtectedMaker, baseAssetAmount, onInsert) {
|
|
86
91
|
var _a;
|
|
87
92
|
if (!(0, types_1.isVariant)(order.status, 'open')) {
|
|
88
93
|
return;
|
|
@@ -97,14 +102,14 @@ class DLOB {
|
|
|
97
102
|
if ((0, types_1.isVariant)(order.status, 'open')) {
|
|
98
103
|
this.openOrders
|
|
99
104
|
.get(marketType)
|
|
100
|
-
.add((0,
|
|
105
|
+
.add((0, NodeList_1.getOrderSignature)(order.orderId, userAccount));
|
|
101
106
|
}
|
|
102
|
-
(_a = this.getListForOnChainOrder(order, slot, isUserProtectedMaker)) === null || _a === void 0 ? void 0 : _a.insert(order, marketType, userAccount, isUserProtectedMaker, this.protectedMakerParamsMap[marketType].get(order.marketIndex));
|
|
107
|
+
(_a = this.getListForOnChainOrder(order, slot, isUserProtectedMaker)) === null || _a === void 0 ? void 0 : _a.insert(order, marketType, userAccount, isUserProtectedMaker, this.protectedMakerParamsMap[marketType].get(order.marketIndex), baseAssetAmount);
|
|
103
108
|
if (onInsert) {
|
|
104
109
|
onInsert();
|
|
105
110
|
}
|
|
106
111
|
}
|
|
107
|
-
insertSignedMsgOrder(order, userAccount, isUserProtectedMaker, onInsert) {
|
|
112
|
+
insertSignedMsgOrder(order, userAccount, isUserProtectedMaker, baseAssetAmount, onInsert) {
|
|
108
113
|
const marketType = (0, types_1.getVariant)(order.marketType);
|
|
109
114
|
const marketIndex = order.marketIndex;
|
|
110
115
|
const bidOrAsk = (0, types_1.isVariant)(order.direction, 'long') ? 'bid' : 'ask';
|
|
@@ -113,11 +118,11 @@ class DLOB {
|
|
|
113
118
|
}
|
|
114
119
|
this.openOrders
|
|
115
120
|
.get(marketType)
|
|
116
|
-
.add((0,
|
|
121
|
+
.add((0, NodeList_1.getOrderSignature)(order.orderId, userAccount));
|
|
117
122
|
this.orderLists
|
|
118
123
|
.get(marketType)
|
|
119
124
|
.get(marketIndex)
|
|
120
|
-
.signedMsg[bidOrAsk].insert(order, marketType, userAccount, isUserProtectedMaker, this.protectedMakerParamsMap[marketType].get(order.marketIndex));
|
|
125
|
+
.signedMsg[bidOrAsk].insert(order, marketType, userAccount, isUserProtectedMaker, this.protectedMakerParamsMap[marketType].get(order.marketIndex), baseAssetAmount);
|
|
121
126
|
if (onInsert) {
|
|
122
127
|
onInsert();
|
|
123
128
|
}
|
|
@@ -231,7 +236,7 @@ class DLOB {
|
|
|
231
236
|
}
|
|
232
237
|
}
|
|
233
238
|
getOrder(orderId, userAccount) {
|
|
234
|
-
const orderSignature = (0,
|
|
239
|
+
const orderSignature = (0, NodeList_1.getOrderSignature)(orderId, userAccount.toString());
|
|
235
240
|
for (const nodeList of this.getNodeLists()) {
|
|
236
241
|
const node = nodeList.get(orderSignature);
|
|
237
242
|
if (node) {
|
|
@@ -281,7 +286,7 @@ class DLOB {
|
|
|
281
286
|
const mergedNodesToFill = new Map();
|
|
282
287
|
const mergeNodesToFillHelper = (nodesToFillArray) => {
|
|
283
288
|
nodesToFillArray.forEach((nodeToFill) => {
|
|
284
|
-
const nodeSignature = (0,
|
|
289
|
+
const nodeSignature = (0, NodeList_1.getOrderSignature)(nodeToFill.node.order.orderId, nodeToFill.node.userAccount);
|
|
285
290
|
if (!mergedNodesToFill.has(nodeSignature)) {
|
|
286
291
|
mergedNodesToFill.set(nodeSignature, {
|
|
287
292
|
node: nodeToFill.node,
|
|
@@ -848,7 +853,7 @@ class DLOB {
|
|
|
848
853
|
}
|
|
849
854
|
}
|
|
850
855
|
}
|
|
851
|
-
findNodesToTrigger(marketIndex, slot,
|
|
856
|
+
findNodesToTrigger(marketIndex, slot, triggerPrice, marketType, stateAccount) {
|
|
852
857
|
if ((0, exchangeStatus_1.exchangePaused)(stateAccount)) {
|
|
853
858
|
return [];
|
|
854
859
|
}
|
|
@@ -860,7 +865,7 @@ class DLOB {
|
|
|
860
865
|
: undefined;
|
|
861
866
|
if (triggerAboveList) {
|
|
862
867
|
for (const node of triggerAboveList.getGenerator()) {
|
|
863
|
-
if (
|
|
868
|
+
if (triggerPrice.gt(node.order.triggerPrice)) {
|
|
864
869
|
nodesToTrigger.push({
|
|
865
870
|
node: node,
|
|
866
871
|
});
|
|
@@ -875,7 +880,7 @@ class DLOB {
|
|
|
875
880
|
: undefined;
|
|
876
881
|
if (triggerBelowList) {
|
|
877
882
|
for (const node of triggerBelowList.getGenerator()) {
|
|
878
|
-
if (
|
|
883
|
+
if (triggerPrice.lt(node.order.triggerPrice)) {
|
|
879
884
|
nodesToTrigger.push({
|
|
880
885
|
node: node,
|
|
881
886
|
});
|
|
@@ -12,6 +12,7 @@ export interface DLOBNode {
|
|
|
12
12
|
isProtectedMaker: boolean;
|
|
13
13
|
protectedMakerParams?: ProtectedMakerParams;
|
|
14
14
|
isSignedMsg: boolean | undefined;
|
|
15
|
+
baseAssetAmount: BN;
|
|
15
16
|
}
|
|
16
17
|
export declare abstract class OrderNode implements DLOBNode {
|
|
17
18
|
order: Order;
|
|
@@ -21,8 +22,9 @@ export declare abstract class OrderNode implements DLOBNode {
|
|
|
21
22
|
haveTrigger: boolean;
|
|
22
23
|
isProtectedMaker: boolean;
|
|
23
24
|
protectedMakerParams?: ProtectedMakerParams;
|
|
25
|
+
baseAssetAmount: BN;
|
|
24
26
|
isSignedMsg: boolean;
|
|
25
|
-
constructor(order: Order, userAccount: string, isProtectedMaker: boolean, protectedMakerParams?: ProtectedMakerParams, isSignedMsg?: boolean);
|
|
27
|
+
constructor(order: Order, userAccount: string, isProtectedMaker: boolean, protectedMakerParams?: ProtectedMakerParams, baseAssetAmount?: BN, isSignedMsg?: boolean);
|
|
26
28
|
abstract getSortValue(order: Order): BN;
|
|
27
29
|
getLabel(): string;
|
|
28
30
|
getPrice(oraclePriceData: OraclePriceData, slot: number): BN;
|
|
@@ -57,7 +59,7 @@ export declare class TriggerOrderNode extends OrderNode {
|
|
|
57
59
|
export declare class SignedMsgOrderNode extends OrderNode {
|
|
58
60
|
next?: SignedMsgOrderNode;
|
|
59
61
|
previous?: SignedMsgOrderNode;
|
|
60
|
-
constructor(order: Order, userAccount: string);
|
|
62
|
+
constructor(order: Order, userAccount: string, baseAssetAmount?: BN);
|
|
61
63
|
getSortValue(order: Order): BN;
|
|
62
64
|
}
|
|
63
65
|
export type DLOBNodeMap = {
|
|
@@ -70,4 +72,4 @@ export type DLOBNodeMap = {
|
|
|
70
72
|
signedMsg: SignedMsgOrderNode;
|
|
71
73
|
};
|
|
72
74
|
export type DLOBNodeType = 'signedMsg' | 'restingLimit' | 'takingLimit' | 'floatingLimit' | 'protectedFloatingLimit' | 'market' | ('trigger' & keyof DLOBNodeMap);
|
|
73
|
-
export declare function createNode<T extends DLOBNodeType>(nodeType: T, order: Order, userAccount: string, isProtectedMaker: boolean, protectedMakerParams?: ProtectedMakerParams): DLOBNodeMap[T];
|
|
75
|
+
export declare function createNode<T extends DLOBNodeType>(nodeType: T, order: Order, userAccount: string, isProtectedMaker: boolean, protectedMakerParams?: ProtectedMakerParams, baseAssetAmount?: BN): DLOBNodeMap[T];
|
|
@@ -6,9 +6,9 @@ const numericConstants_1 = require("../constants/numericConstants");
|
|
|
6
6
|
const orders_1 = require("../math/orders");
|
|
7
7
|
const types_1 = require("../types");
|
|
8
8
|
const conversion_1 = require("../math/conversion");
|
|
9
|
-
const
|
|
9
|
+
const NodeList_1 = require("./NodeList");
|
|
10
10
|
class OrderNode {
|
|
11
|
-
constructor(order, userAccount, isProtectedMaker, protectedMakerParams, isSignedMsg = false) {
|
|
11
|
+
constructor(order, userAccount, isProtectedMaker, protectedMakerParams, baseAssetAmount, isSignedMsg = false) {
|
|
12
12
|
this.haveFilled = false;
|
|
13
13
|
this.haveTrigger = false;
|
|
14
14
|
// Copy the order over to the node
|
|
@@ -17,10 +17,11 @@ class OrderNode {
|
|
|
17
17
|
this.sortValue = this.getSortValue(order);
|
|
18
18
|
this.isProtectedMaker = isProtectedMaker;
|
|
19
19
|
this.protectedMakerParams = protectedMakerParams;
|
|
20
|
+
this.baseAssetAmount = baseAssetAmount !== null && baseAssetAmount !== void 0 ? baseAssetAmount : order.baseAssetAmount;
|
|
20
21
|
this.isSignedMsg = isSignedMsg;
|
|
21
22
|
}
|
|
22
23
|
getLabel() {
|
|
23
|
-
let msg = `Order ${(0,
|
|
24
|
+
let msg = `Order ${(0, NodeList_1.getOrderSignature)(this.order.orderId, this.userAccount)}`;
|
|
24
25
|
msg += ` ${(0, types_1.isVariant)(this.order.direction, 'long') ? 'LONG' : 'SHORT'} `;
|
|
25
26
|
msg += `${(0, conversion_1.convertToNumber)(this.order.baseAssetAmount, numericConstants_1.AMM_RESERVE_PRECISION).toFixed(3)}`;
|
|
26
27
|
if (this.order.price.gt(numericConstants_1.ZERO)) {
|
|
@@ -85,30 +86,30 @@ class TriggerOrderNode extends OrderNode {
|
|
|
85
86
|
exports.TriggerOrderNode = TriggerOrderNode;
|
|
86
87
|
// We'll use the signedMsg uuid for the order id since it's not yet on-chain
|
|
87
88
|
class SignedMsgOrderNode extends OrderNode {
|
|
88
|
-
constructor(order, userAccount) {
|
|
89
|
-
super(order, userAccount, false, undefined, true);
|
|
89
|
+
constructor(order, userAccount, baseAssetAmount) {
|
|
90
|
+
super(order, userAccount, false, undefined, baseAssetAmount, true);
|
|
90
91
|
}
|
|
91
92
|
getSortValue(order) {
|
|
92
93
|
return order.slot;
|
|
93
94
|
}
|
|
94
95
|
}
|
|
95
96
|
exports.SignedMsgOrderNode = SignedMsgOrderNode;
|
|
96
|
-
function createNode(nodeType, order, userAccount, isProtectedMaker, protectedMakerParams) {
|
|
97
|
+
function createNode(nodeType, order, userAccount, isProtectedMaker, protectedMakerParams, baseAssetAmount) {
|
|
97
98
|
switch (nodeType) {
|
|
98
99
|
case 'floatingLimit':
|
|
99
|
-
return new FloatingLimitOrderNode(order, userAccount, isProtectedMaker, protectedMakerParams);
|
|
100
|
+
return new FloatingLimitOrderNode(order, userAccount, isProtectedMaker, protectedMakerParams, baseAssetAmount);
|
|
100
101
|
case 'protectedFloatingLimit':
|
|
101
|
-
return new FloatingLimitOrderNode(order, userAccount, isProtectedMaker, protectedMakerParams);
|
|
102
|
+
return new FloatingLimitOrderNode(order, userAccount, isProtectedMaker, protectedMakerParams, baseAssetAmount);
|
|
102
103
|
case 'restingLimit':
|
|
103
|
-
return new RestingLimitOrderNode(order, userAccount, isProtectedMaker, protectedMakerParams);
|
|
104
|
+
return new RestingLimitOrderNode(order, userAccount, isProtectedMaker, protectedMakerParams, baseAssetAmount);
|
|
104
105
|
case 'takingLimit':
|
|
105
|
-
return new TakingLimitOrderNode(order, userAccount, isProtectedMaker, protectedMakerParams);
|
|
106
|
+
return new TakingLimitOrderNode(order, userAccount, isProtectedMaker, protectedMakerParams, baseAssetAmount);
|
|
106
107
|
case 'market':
|
|
107
|
-
return new MarketOrderNode(order, userAccount, isProtectedMaker, undefined);
|
|
108
|
+
return new MarketOrderNode(order, userAccount, isProtectedMaker, undefined, baseAssetAmount);
|
|
108
109
|
case 'trigger':
|
|
109
|
-
return new TriggerOrderNode(order, userAccount, isProtectedMaker, undefined);
|
|
110
|
+
return new TriggerOrderNode(order, userAccount, isProtectedMaker, undefined, baseAssetAmount);
|
|
110
111
|
case 'signedMsg':
|
|
111
|
-
return new SignedMsgOrderNode(order, userAccount);
|
|
112
|
+
return new SignedMsgOrderNode(order, userAccount, baseAssetAmount);
|
|
112
113
|
default:
|
|
113
114
|
throw Error(`Unknown DLOBNode type ${nodeType}`);
|
|
114
115
|
}
|
|
@@ -83,7 +83,7 @@ class DLOBSubscriber {
|
|
|
83
83
|
fallbackL2Generators = [
|
|
84
84
|
(0, orderBookLevels_1.getVammL2Generator)({
|
|
85
85
|
marketAccount: this.driftClient.getPerpMarketAccount(marketIndex),
|
|
86
|
-
oraclePriceData,
|
|
86
|
+
oraclePriceData: this.driftClient.getMMOracleDataForPerpMarket(marketIndex),
|
|
87
87
|
numOrders: numVammOrders !== null && numVammOrders !== void 0 ? numVammOrders : depth,
|
|
88
88
|
topOfBookQuoteAmounts: marketIndex < 3
|
|
89
89
|
? orderBookLevels_1.MAJORS_TOP_OF_BOOK_QUOTE_AMOUNTS
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
/// <reference types="bn.js" />
|
|
1
2
|
import { MarketTypeStr, Order, ProtectedMakerParams } from '../types';
|
|
2
3
|
import { DLOBNode, DLOBNodeMap } from './DLOBNode';
|
|
4
|
+
import { BN } from '@coral-xyz/anchor';
|
|
3
5
|
export type SortDirection = 'asc' | 'desc';
|
|
6
|
+
export declare function getOrderSignature(orderId: number, userAccount: string): string;
|
|
4
7
|
export interface DLOBNodeGenerator {
|
|
5
8
|
getGenerator(): Generator<DLOBNode>;
|
|
6
9
|
}
|
|
@@ -12,7 +15,7 @@ export declare class NodeList<NodeType extends keyof DLOBNodeMap> implements DLO
|
|
|
12
15
|
nodeMap: Map<string, DLOBNodeMap[NodeType]>;
|
|
13
16
|
constructor(nodeType: NodeType, sortDirection: SortDirection);
|
|
14
17
|
clear(): void;
|
|
15
|
-
insert(order: Order, marketType: MarketTypeStr, userAccount: string, isProtectedMaker: boolean, protectedMakerParamsMap?: ProtectedMakerParams): void;
|
|
18
|
+
insert(order: Order, marketType: MarketTypeStr, userAccount: string, isProtectedMaker: boolean, protectedMakerParamsMap?: ProtectedMakerParams, baseAssetAmount?: BN): void;
|
|
16
19
|
prependNode(currentNode: DLOBNodeMap[NodeType], newNode: DLOBNodeMap[NodeType]): boolean;
|
|
17
20
|
update(order: Order, userAccount: string): void;
|
|
18
21
|
remove(order: Order, userAccount: string): void;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NodeList = void 0;
|
|
3
|
+
exports.NodeList = exports.getOrderSignature = void 0;
|
|
4
4
|
const types_1 = require("../types");
|
|
5
5
|
const DLOBNode_1 = require("./DLOBNode");
|
|
6
|
-
|
|
6
|
+
function getOrderSignature(orderId, userAccount) {
|
|
7
|
+
return `${userAccount.toString()}-${orderId.toString()}`;
|
|
8
|
+
}
|
|
9
|
+
exports.getOrderSignature = getOrderSignature;
|
|
7
10
|
class NodeList {
|
|
8
11
|
constructor(nodeType, sortDirection) {
|
|
9
12
|
this.nodeType = nodeType;
|
|
@@ -16,12 +19,12 @@ class NodeList {
|
|
|
16
19
|
this.length = 0;
|
|
17
20
|
this.nodeMap.clear();
|
|
18
21
|
}
|
|
19
|
-
insert(order, marketType, userAccount, isProtectedMaker, protectedMakerParamsMap) {
|
|
22
|
+
insert(order, marketType, userAccount, isProtectedMaker, protectedMakerParamsMap, baseAssetAmount) {
|
|
20
23
|
if (!(0, types_1.isVariant)(order.status, 'open')) {
|
|
21
24
|
return;
|
|
22
25
|
}
|
|
23
|
-
const newNode = (0, DLOBNode_1.createNode)(this.nodeType, order, userAccount, isProtectedMaker, protectedMakerParamsMap);
|
|
24
|
-
const orderSignature =
|
|
26
|
+
const newNode = (0, DLOBNode_1.createNode)(this.nodeType, order, userAccount, isProtectedMaker, protectedMakerParamsMap, baseAssetAmount);
|
|
27
|
+
const orderSignature = getOrderSignature(order.orderId, userAccount);
|
|
25
28
|
if (this.nodeMap.has(orderSignature)) {
|
|
26
29
|
return;
|
|
27
30
|
}
|
|
@@ -65,7 +68,7 @@ class NodeList {
|
|
|
65
68
|
}
|
|
66
69
|
}
|
|
67
70
|
update(order, userAccount) {
|
|
68
|
-
const orderId =
|
|
71
|
+
const orderId = getOrderSignature(order.orderId, userAccount);
|
|
69
72
|
if (this.nodeMap.has(orderId)) {
|
|
70
73
|
const node = this.nodeMap.get(orderId);
|
|
71
74
|
Object.assign(node.order, order);
|
|
@@ -73,7 +76,7 @@ class NodeList {
|
|
|
73
76
|
}
|
|
74
77
|
}
|
|
75
78
|
remove(order, userAccount) {
|
|
76
|
-
const orderId =
|
|
79
|
+
const orderId = getOrderSignature(order.orderId, userAccount);
|
|
77
80
|
if (this.nodeMap.has(orderId)) {
|
|
78
81
|
const node = this.nodeMap.get(orderId);
|
|
79
82
|
if (node.next) {
|
|
@@ -99,7 +102,7 @@ class NodeList {
|
|
|
99
102
|
}
|
|
100
103
|
}
|
|
101
104
|
has(order, userAccount) {
|
|
102
|
-
return this.nodeMap.has(
|
|
105
|
+
return this.nodeMap.has(getOrderSignature(order.orderId, userAccount));
|
|
103
106
|
}
|
|
104
107
|
get(orderSignature) {
|
|
105
108
|
return this.nodeMap.get(orderSignature);
|
|
@@ -34,6 +34,12 @@ export type L3OrderBook = {
|
|
|
34
34
|
};
|
|
35
35
|
export declare const DEFAULT_TOP_OF_BOOK_QUOTE_AMOUNTS: BN[];
|
|
36
36
|
export declare const MAJORS_TOP_OF_BOOK_QUOTE_AMOUNTS: BN[];
|
|
37
|
+
/**
|
|
38
|
+
* Get an {@link Generator<L2Level>} generator from a {@link Generator<DLOBNode>}
|
|
39
|
+
* @param dlobNodes e.g. {@link DLOB#getRestingLimitAsks} or {@link DLOB#getRestingLimitBids}
|
|
40
|
+
* @param oraclePriceData
|
|
41
|
+
* @param slot
|
|
42
|
+
*/
|
|
37
43
|
export declare function getL2GeneratorFromDLOBNodes(dlobNodes: Generator<DLOBNode>, oraclePriceData: OraclePriceData, slot: number): Generator<L2Level>;
|
|
38
44
|
export declare function mergeL2LevelGenerators(l2LevelGenerators: Generator<L2Level>[], compare: (a: L2Level, b: L2Level) => boolean): Generator<L2Level>;
|
|
39
45
|
export declare function createL2Levels(generator: Generator<L2Level>, depth: number): L2Level[];
|