@velocity-exchange/sdk 0.0.3 → 0.1.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 +1 -1
- package/lib/browser/accounts/grpcProgramAccountSubscriber.js +1 -1
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.d.ts +0 -4
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.js +1 -3
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +0 -4
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.js +5 -7
- package/lib/browser/accounts/laserProgramAccountSubscriber.js +1 -1
- package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.d.ts +0 -4
- package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.js +5 -7
- package/lib/browser/accounts/types.d.ts +2 -8
- package/lib/browser/accounts/utils.js +2 -2
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.d.ts +0 -4
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.js +5 -7
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +0 -4
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.js +5 -7
- package/lib/browser/addresses/pda.d.ts +1 -7
- package/lib/browser/addresses/pda.js +4 -10
- package/lib/browser/adminClient.d.ts +1 -1
- package/lib/browser/adminClient.js +21 -21
- package/lib/browser/auctionSubscriber/auctionSubscriber.d.ts +1 -3
- package/lib/browser/auctionSubscriber/auctionSubscriber.js +2 -6
- package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.d.ts +1 -3
- package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.js +2 -6
- package/lib/browser/auctionSubscriber/types.d.ts +3 -2
- package/lib/browser/config.d.ts +10 -19
- package/lib/browser/config.js +6 -33
- package/lib/browser/constants/insuranceFund.d.ts +1 -1
- package/lib/browser/constants/insuranceFund.js +1 -1
- package/lib/browser/constituentMap/constituentMap.d.ts +0 -2
- package/lib/browser/constituentMap/constituentMap.js +5 -5
- package/lib/browser/core/VelocityCore.d.ts +9 -15
- package/lib/browser/core/VelocityCore.js +5 -7
- package/lib/browser/core/instructions/withdraw.d.ts +1 -1
- package/lib/browser/core/instructions/withdraw.js +1 -1
- package/lib/browser/core/remainingAccounts.js +3 -3
- package/lib/browser/decode/user.js +5 -5
- package/lib/browser/dlob/DLOB.d.ts +1 -1
- package/lib/browser/dlob/DLOB.js +7 -7
- package/lib/browser/dlob/DLOBNode.js +1 -2
- package/lib/browser/dlob/DLOBSubscriber.d.ts +0 -2
- package/lib/browser/dlob/DLOBSubscriber.js +2 -7
- package/lib/browser/dlob/orderBookLevels.js +7 -7
- package/lib/browser/dlob/types.d.ts +0 -2
- package/lib/browser/events/eventSubscriber.d.ts +1 -1
- package/lib/browser/events/eventsServerLogProvider.js +2 -2
- package/lib/browser/events/parse.js +14 -14
- package/lib/browser/events/types.d.ts +3 -5
- package/lib/browser/events/types.js +1 -1
- package/lib/browser/idl/{drift.d.ts → velocity.d.ts} +1043 -768
- package/lib/browser/idl/{drift.json → velocity.json} +1034 -759
- package/lib/browser/index.d.ts +1 -1
- package/lib/browser/index.js +1 -2
- package/lib/browser/math/amm.d.ts +10 -10
- package/lib/browser/math/amm.js +29 -28
- package/lib/browser/math/auction.d.ts +1 -1
- package/lib/browser/math/auction.js +18 -21
- package/lib/browser/math/builder.d.ts +18 -1
- package/lib/browser/math/builder.js +32 -1
- package/lib/browser/math/funding.js +26 -26
- package/lib/browser/math/margin.d.ts +4 -4
- package/lib/browser/math/margin.js +15 -15
- package/lib/browser/math/market.js +13 -13
- package/lib/browser/math/oracles.d.ts +4 -4
- package/lib/browser/math/oracles.js +23 -23
- package/lib/browser/math/orders.d.ts +2 -2
- package/lib/browser/math/orders.js +12 -12
- package/lib/browser/math/position.js +4 -4
- package/lib/browser/math/superStake.d.ts +8 -10
- package/lib/browser/math/superStake.js +18 -20
- package/lib/browser/math/trade.js +5 -5
- package/lib/browser/math/utils.d.ts +1 -1
- package/lib/browser/math/utils.js +1 -1
- package/lib/browser/oracles/pythLazerClient.js +2 -2
- package/lib/browser/orderSubscriber/OrderSubscriber.d.ts +0 -2
- package/lib/browser/orderSubscriber/OrderSubscriber.js +8 -12
- 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/priorityFeeSubscriber.d.ts +1 -5
- package/lib/browser/priorityFee/priorityFeeSubscriber.js +7 -15
- package/lib/browser/priorityFee/priorityFeeSubscriberMap.d.ts +0 -4
- package/lib/browser/priorityFee/priorityFeeSubscriberMap.js +3 -11
- 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/swap/UnifiedSwapClient.js +1 -1
- package/lib/browser/swift/signedMsgUserAccountSubscriber.d.ts +4 -5
- package/lib/browser/swift/signedMsgUserAccountSubscriber.js +2 -6
- package/lib/browser/swift/swiftOrderSubscriber.d.ts +6 -5
- package/lib/browser/swift/swiftOrderSubscriber.js +5 -11
- package/lib/browser/types.d.ts +81 -93
- package/lib/browser/types.js +4 -0
- package/lib/browser/user.d.ts +1 -3
- package/lib/browser/user.js +19 -23
- package/lib/browser/userConfig.d.ts +3 -2
- package/lib/browser/userMap/WebsocketSubscription.js +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 +0 -4
- package/lib/browser/userMap/revenueShareEscrowMap.d.ts +0 -2
- package/lib/browser/userMap/revenueShareEscrowMap.js +0 -4
- package/lib/browser/userMap/userMap.d.ts +2 -4
- package/lib/browser/userMap/userMap.js +10 -14
- package/lib/browser/userMap/userMapConfig.d.ts +3 -2
- package/lib/browser/userMap/userStatsMap.d.ts +0 -2
- package/lib/browser/userMap/userStatsMap.js +0 -4
- package/lib/browser/userStats.d.ts +0 -2
- package/lib/browser/userStats.js +10 -14
- package/lib/browser/userStatsConfig.d.ts +3 -2
- package/lib/browser/util/ed25519Utils.d.ts +1 -1
- package/lib/browser/util/ed25519Utils.js +1 -1
- package/lib/browser/velocityClient.d.ts +59 -44
- package/lib/browser/velocityClient.js +259 -197
- package/lib/browser/velocityClientConfig.d.ts +0 -8
- package/lib/node/accounts/grpcProgramAccountSubscriber.js +1 -1
- 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 +1 -3
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +0 -4
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.js +5 -7
- package/lib/node/accounts/laserProgramAccountSubscriber.js +1 -1
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts +0 -4
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.js +5 -7
- package/lib/node/accounts/types.d.ts +2 -8
- package/lib/node/accounts/types.d.ts.map +1 -1
- package/lib/node/accounts/utils.js +2 -2
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts +0 -4
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.js +5 -7
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +0 -4
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.js +5 -7
- package/lib/node/addresses/pda.d.ts +1 -7
- package/lib/node/addresses/pda.d.ts.map +1 -1
- package/lib/node/addresses/pda.js +4 -10
- package/lib/node/adminClient.d.ts +1 -1
- package/lib/node/adminClient.js +21 -21
- package/lib/node/auctionSubscriber/auctionSubscriber.d.ts +1 -3
- package/lib/node/auctionSubscriber/auctionSubscriber.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriber.js +2 -6
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts +1 -3
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +2 -6
- package/lib/node/auctionSubscriber/types.d.ts +3 -2
- package/lib/node/auctionSubscriber/types.d.ts.map +1 -1
- package/lib/node/config.d.ts +10 -19
- package/lib/node/config.d.ts.map +1 -1
- package/lib/node/config.js +6 -33
- package/lib/node/constants/insuranceFund.d.ts +1 -1
- package/lib/node/constants/insuranceFund.js +1 -1
- 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 +5 -5
- 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/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.js +3 -3
- package/lib/node/decode/user.js +5 -5
- package/lib/node/dlob/DLOB.d.ts +1 -1
- package/lib/node/dlob/DLOB.d.ts.map +1 -1
- package/lib/node/dlob/DLOB.js +7 -7
- package/lib/node/dlob/DLOBNode.js +1 -2
- 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 +2 -7
- package/lib/node/dlob/orderBookLevels.d.ts.map +1 -1
- package/lib/node/dlob/orderBookLevels.js +7 -7
- package/lib/node/dlob/types.d.ts +0 -2
- package/lib/node/dlob/types.d.ts.map +1 -1
- package/lib/node/events/eventSubscriber.d.ts +1 -1
- package/lib/node/events/eventsServerLogProvider.js +2 -2
- package/lib/node/events/parse.d.ts.map +1 -1
- package/lib/node/events/parse.js +14 -14
- package/lib/node/events/types.d.ts +3 -5
- package/lib/node/events/types.d.ts.map +1 -1
- package/lib/node/events/types.js +1 -1
- package/lib/node/idl/{drift.d.ts → velocity.d.ts} +1044 -769
- package/lib/node/idl/velocity.d.ts.map +1 -0
- package/lib/node/idl/{drift.json → velocity.json} +1034 -759
- package/lib/node/index.d.ts +1 -1
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +1 -2
- package/lib/node/math/amm.d.ts +10 -10
- package/lib/node/math/amm.d.ts.map +1 -1
- package/lib/node/math/amm.js +29 -28
- package/lib/node/math/auction.d.ts +1 -1
- package/lib/node/math/auction.d.ts.map +1 -1
- package/lib/node/math/auction.js +18 -21
- 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 +26 -26
- package/lib/node/math/margin.d.ts +4 -4
- package/lib/node/math/margin.d.ts.map +1 -1
- package/lib/node/math/margin.js +15 -15
- package/lib/node/math/market.d.ts.map +1 -1
- package/lib/node/math/market.js +13 -13
- package/lib/node/math/oracles.d.ts +4 -4
- package/lib/node/math/oracles.d.ts.map +1 -1
- package/lib/node/math/oracles.js +23 -23
- package/lib/node/math/orders.d.ts +2 -2
- package/lib/node/math/orders.d.ts.map +1 -1
- package/lib/node/math/orders.js +12 -12
- package/lib/node/math/position.d.ts.map +1 -1
- package/lib/node/math/position.js +4 -4
- package/lib/node/math/superStake.d.ts +8 -10
- package/lib/node/math/superStake.d.ts.map +1 -1
- package/lib/node/math/superStake.js +18 -20
- package/lib/node/math/trade.d.ts.map +1 -1
- package/lib/node/math/trade.js +5 -5
- package/lib/node/math/utils.d.ts +1 -1
- package/lib/node/math/utils.js +1 -1
- package/lib/node/oracles/pythLazerClient.js +2 -2
- package/lib/node/orderSubscriber/OrderSubscriber.d.ts +0 -2
- package/lib/node/orderSubscriber/OrderSubscriber.d.ts.map +1 -1
- package/lib/node/orderSubscriber/OrderSubscriber.js +8 -12
- 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/priorityFeeSubscriber.d.ts +1 -5
- package/lib/node/priorityFee/priorityFeeSubscriber.d.ts.map +1 -1
- package/lib/node/priorityFee/priorityFeeSubscriber.js +7 -15
- 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/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/swap/UnifiedSwapClient.js +1 -1
- package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts +4 -5
- package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/swift/signedMsgUserAccountSubscriber.js +2 -6
- package/lib/node/swift/swiftOrderSubscriber.d.ts +6 -5
- package/lib/node/swift/swiftOrderSubscriber.d.ts.map +1 -1
- package/lib/node/swift/swiftOrderSubscriber.js +5 -11
- package/lib/node/types.d.ts +81 -93
- package/lib/node/types.d.ts.map +1 -1
- package/lib/node/types.js +4 -0
- package/lib/node/user.d.ts +1 -3
- package/lib/node/user.d.ts.map +1 -1
- package/lib/node/user.js +19 -23
- package/lib/node/userConfig.d.ts +3 -2
- package/lib/node/userConfig.d.ts.map +1 -1
- package/lib/node/userMap/WebsocketSubscription.js +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 +0 -4
- 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 +0 -4
- package/lib/node/userMap/userMap.d.ts +2 -4
- package/lib/node/userMap/userMap.d.ts.map +1 -1
- package/lib/node/userMap/userMap.js +10 -14
- 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 +0 -2
- package/lib/node/userMap/userStatsMap.d.ts.map +1 -1
- package/lib/node/userMap/userStatsMap.js +0 -4
- package/lib/node/userStats.d.ts +0 -2
- package/lib/node/userStats.d.ts.map +1 -1
- package/lib/node/userStats.js +10 -14
- package/lib/node/userStatsConfig.d.ts +3 -2
- package/lib/node/userStatsConfig.d.ts.map +1 -1
- package/lib/node/util/ed25519Utils.d.ts +1 -1
- package/lib/node/util/ed25519Utils.js +1 -1
- package/lib/node/velocityClient.d.ts +59 -44
- package/lib/node/velocityClient.d.ts.map +1 -1
- package/lib/node/velocityClient.js +259 -197
- package/lib/node/velocityClientConfig.d.ts +0 -8
- package/lib/node/velocityClientConfig.d.ts.map +1 -1
- package/package.json +6 -7
- 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/grpcProgramAccountSubscriber.ts +1 -1
- package/src/accounts/grpcVelocityClientAccountSubscriber.ts +0 -7
- package/src/accounts/grpcVelocityClientAccountSubscriberV2.ts +4 -11
- package/src/accounts/laserProgramAccountSubscriber.ts +1 -1
- package/src/accounts/pollingVelocityClientAccountSubscriber.ts +4 -11
- package/src/accounts/types.ts +2 -9
- package/src/accounts/utils.ts +2 -2
- package/src/accounts/webSocketVelocityClientAccountSubscriber.ts +4 -11
- package/src/accounts/webSocketVelocityClientAccountSubscriberV2.ts +4 -11
- package/src/addresses/pda.ts +3 -13
- package/src/adminClient.ts +21 -21
- package/src/auctionSubscriber/auctionSubscriber.ts +1 -6
- package/src/auctionSubscriber/auctionSubscriberGrpc.ts +1 -6
- package/src/auctionSubscriber/types.ts +3 -3
- package/src/config.ts +8 -64
- package/src/constants/insuranceFund.ts +1 -1
- package/src/constituentMap/constituentMap.ts +2 -6
- package/src/core/VelocityCore.ts +11 -20
- package/src/core/instructions/withdraw.ts +2 -2
- package/src/core/remainingAccounts.ts +3 -3
- package/src/decode/user.ts +5 -5
- package/src/dlob/DLOB.ts +7 -7
- package/src/dlob/DLOBNode.ts +1 -1
- package/src/dlob/DLOBSubscriber.ts +2 -8
- package/src/dlob/orderBookLevels.ts +12 -6
- package/src/dlob/types.ts +0 -2
- package/src/events/eventSubscriber.ts +1 -1
- package/src/events/eventsServerLogProvider.ts +2 -2
- package/src/events/parse.ts +14 -14
- package/src/events/types.ts +4 -7
- package/src/idl/{drift.json → velocity.json} +1034 -759
- package/src/idl/{drift.ts → velocity.ts} +1036 -761
- package/src/index.ts +1 -4
- package/src/margin/README.md +2 -2
- package/src/math/amm.ts +43 -21
- package/src/math/auction.ts +19 -22
- package/src/math/builder.ts +45 -1
- package/src/math/funding.ts +46 -43
- package/src/math/margin.ts +15 -15
- package/src/math/market.ts +21 -13
- package/src/math/oracles.ts +29 -26
- package/src/math/orders.ts +21 -11
- package/src/math/position.ts +9 -3
- package/src/math/superStake.ts +21 -24
- package/src/math/trade.ts +9 -1
- package/src/math/utils.ts +1 -1
- package/src/oracles/pythLazerClient.ts +3 -3
- package/src/orderSubscriber/OrderSubscriber.ts +2 -8
- package/src/orderSubscriber/WebsocketSubscription.ts +1 -1
- package/src/orderSubscriber/grpcSubscription.ts +2 -2
- package/src/orderSubscriber/types.ts +0 -2
- package/src/priorityFee/priorityFeeSubscriber.ts +5 -12
- package/src/priorityFee/priorityFeeSubscriberMap.ts +2 -10
- package/src/priorityFee/types.ts +4 -9
- package/src/priorityFee/velocityPriorityFeeMethod.ts +0 -12
- package/src/pyth/pythLazerSubscriber.ts +1 -1
- package/src/swap/UnifiedSwapClient.ts +1 -1
- package/src/swift/signedMsgUserAccountSubscriber.ts +2 -8
- package/src/swift/swiftOrderSubscriber.ts +7 -12
- package/src/types.ts +86 -104
- package/src/user.ts +9 -14
- package/src/userConfig.ts +1 -3
- package/src/userMap/WebsocketSubscription.ts +1 -1
- package/src/userMap/grpcSubscription.ts +1 -1
- package/src/userMap/referrerMap.ts +0 -4
- package/src/userMap/revenueShareEscrowMap.ts +0 -4
- package/src/userMap/userMap.ts +3 -7
- package/src/userMap/userMapConfig.ts +3 -3
- package/src/userMap/userStatsMap.ts +0 -4
- package/src/userStats.ts +1 -5
- package/src/userStatsConfig.ts +3 -3
- package/src/util/ed25519Utils.ts +1 -1
- package/src/velocityClient.ts +345 -231
- package/src/velocityClientConfig.ts +3 -11
- 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/auctions/test.ts +4 -4
- package/tests/ci/verifyConstants.ts +24 -27
- package/tests/decode/test.ts +3 -3
- package/tests/dlob/helpers.ts +5 -9
- package/tests/dlob/test.ts +5 -5
- package/tests/events/parseLogsForCuUsage.ts +15 -15
- package/tests/user/helpers.ts +10 -10
- package/tests/user/test.ts +13 -10
- package/lib/browser/util/deprecatedAlias.d.ts +0 -26
- package/lib/browser/util/deprecatedAlias.js +0 -10
- package/lib/node/idl/drift.d.ts.map +0 -1
- 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/src/util/deprecatedAlias.ts +0 -25
- /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
|
@@ -54,8 +54,6 @@ export type VelocityClientConfig = {
|
|
|
54
54
|
useHotWalletAdmin?: boolean;
|
|
55
55
|
coder?: Coder;
|
|
56
56
|
};
|
|
57
|
-
/** @deprecated Use `VelocityClientConfig` instead. `DriftClientConfig` will be removed in a future major. */
|
|
58
|
-
export type DriftClientConfig = VelocityClientConfig;
|
|
59
57
|
type GrpcVelocityClientAccountSubscriberCtor = new (grpcConfigs: GrpcConfigs, program: Program, perpMarketIndexes: number[], spotMarketIndexes: number[], oracleInfos: OracleInfo[], shouldFindAllMarketsAndOracles: boolean, delistedMarketSetting: DelistedMarketSetting) => grpcVelocityClientAccountSubscriberV2 | grpcVelocityClientAccountSubscriber;
|
|
60
58
|
type WsVelocityClientAccountSubscriberCtor = new (program: Program, perpMarketIndexes: number[], spotMarketIndexes: number[], oracleInfos: OracleInfo[], shouldFindAllMarketsAndOracles: boolean, delistedMarketSetting: DelistedMarketSetting) => WebSocketVelocityClientAccountSubscriber | WebSocketVelocityClientAccountSubscriberV2;
|
|
61
59
|
export type VelocityClientSubscriptionConfig = {
|
|
@@ -64,8 +62,6 @@ export type VelocityClientSubscriptionConfig = {
|
|
|
64
62
|
resubTimeoutMs?: number;
|
|
65
63
|
logResubMessages?: boolean;
|
|
66
64
|
velocityClientAccountSubscriber?: GrpcVelocityClientAccountSubscriberCtor;
|
|
67
|
-
/** @deprecated Use `velocityClientAccountSubscriber` instead. `driftClientAccountSubscriber` will be removed in a future major. */
|
|
68
|
-
driftClientAccountSubscriber?: GrpcVelocityClientAccountSubscriberCtor;
|
|
69
65
|
grpcMultiUserAccountSubscriber?: grpcMultiUserAccountSubscriber;
|
|
70
66
|
} | {
|
|
71
67
|
type: 'websocket';
|
|
@@ -76,13 +72,9 @@ export type VelocityClientSubscriptionConfig = {
|
|
|
76
72
|
perpMarketAccountSubscriber?: new (accountName: string, program: Program, accountPublicKey: PublicKey, decodeBuffer?: (buffer: Buffer) => any, resubOpts?: ResubOpts, commitment?: Commitment) => WebSocketAccountSubscriberV2<any> | WebSocketAccountSubscriber<any>;
|
|
77
73
|
/** If you use V2 here, whatever you pass for perpMarketAccountSubscriber will be ignored and it will use v2 under the hood regardless */
|
|
78
74
|
velocityClientAccountSubscriber?: WsVelocityClientAccountSubscriberCtor;
|
|
79
|
-
/** @deprecated Use `velocityClientAccountSubscriber` instead. `driftClientAccountSubscriber` will be removed in a future major. */
|
|
80
|
-
driftClientAccountSubscriber?: WsVelocityClientAccountSubscriberCtor;
|
|
81
75
|
} | {
|
|
82
76
|
type: 'polling';
|
|
83
77
|
accountLoader: BulkAccountLoader;
|
|
84
78
|
};
|
|
85
|
-
/** @deprecated Use `VelocityClientSubscriptionConfig` instead. `DriftClientSubscriptionConfig` will be removed in a future major. */
|
|
86
|
-
export type DriftClientSubscriptionConfig = VelocityClientSubscriptionConfig;
|
|
87
79
|
export {};
|
|
88
80
|
//# sourceMappingURL=velocityClientConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"velocityClientConfig.d.ts","sourceRoot":"","sources":["../../src/velocityClientConfig.ts"],"names":[],"mappings":";;AAAA;;;;;;GAMG;AACH,OAAO,EACN,UAAU,EACV,cAAc,EACd,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACN,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAE,qCAAqC,EAAE,MAAM,kDAAkD,CAAC;AACzG,OAAO,EAAE,mCAAmC,EAAE,MAAM,gDAAgD,CAAC;AACrG,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,iCAAiC,EAAE,MAAM,8CAA8C,CAAC;AACjG,OAAO,EAAE,wCAAwC,EAAE,MAAM,qDAAqD,CAAC;AAC/G,OAAO,EAAE,0CAA0C,EAAE,MAAM,uDAAuD,CAAC;AAEnH,MAAM,MAAM,oBAAoB,GAAG;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,mBAAmB,CAAC,EAAE,gCAAgC,CAAC;IACvD,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"velocityClientConfig.d.ts","sourceRoot":"","sources":["../../src/velocityClientConfig.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@velocity-exchange/sdk",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"main": "lib/node/index.js",
|
|
5
5
|
"types": "lib/node/index.d.ts",
|
|
6
6
|
"module": "./lib/browser/index.js",
|
|
7
|
-
"homepage": "https://www.drift.trade/",
|
|
8
7
|
"repository": {
|
|
9
8
|
"type": "git",
|
|
10
|
-
"url": "git@github.com:drift-labs/protocol-v2.git"
|
|
9
|
+
"url": "git@github.com:drift-labs/protocol-v2-shadow.git"
|
|
11
10
|
},
|
|
12
11
|
"scripts": {
|
|
13
12
|
"lint": "eslint './**/*.{ts,tsx}' --quiet --format unix",
|
|
@@ -22,7 +21,7 @@
|
|
|
22
21
|
"test:ci": "mocha -r ts-node/register tests/ci/**/*.ts",
|
|
23
22
|
"test:dlob": "mocha -r ts-node/register tests/dlob/**/*.ts",
|
|
24
23
|
"test:events": "mocha -r ts-node/register tests/events/**/*.ts",
|
|
25
|
-
"test:
|
|
24
|
+
"test:velocitycore": "bun test tests/VelocityCore",
|
|
26
25
|
"patch-and-pub": "npm version patch --force && npm publish",
|
|
27
26
|
"prettify": "prettier --check './src/***/*.ts'",
|
|
28
27
|
"prettify:fix": "prettier --write './{src,tests}/***/*.ts'",
|
|
@@ -30,8 +29,8 @@
|
|
|
30
29
|
"circular-deps": "bunx madge --circular --circular --extensions ts src"
|
|
31
30
|
},
|
|
32
31
|
"keywords": [
|
|
33
|
-
"
|
|
34
|
-
"
|
|
32
|
+
"velocity-exchange",
|
|
33
|
+
"velocity",
|
|
35
34
|
"perps",
|
|
36
35
|
"velocity",
|
|
37
36
|
"velocity-exchange"
|
|
@@ -100,7 +99,7 @@
|
|
|
100
99
|
"typescript": "5.4.5",
|
|
101
100
|
"vm-browserify": "1.1.2"
|
|
102
101
|
},
|
|
103
|
-
"description": "SDK for
|
|
102
|
+
"description": "SDK for Velocity Protocol",
|
|
104
103
|
"engines": {
|
|
105
104
|
"node": "^24.0.0"
|
|
106
105
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Connection, Keypair, PublicKey } from '@solana/web3.js';
|
|
2
2
|
import dotenv from 'dotenv';
|
|
3
3
|
import { AnchorProvider, Idl, Program, ProgramAccount, BN } from '@coral-xyz/anchor';
|
|
4
|
-
import
|
|
4
|
+
import velocityIDL from '../src/idl/velocity.json';
|
|
5
5
|
import {
|
|
6
6
|
VELOCITY_PROGRAM_ID,
|
|
7
7
|
PerpMarketAccount,
|
|
@@ -35,7 +35,7 @@ async function main() {
|
|
|
35
35
|
commitment: 'processed',
|
|
36
36
|
});
|
|
37
37
|
const programId = new PublicKey(VELOCITY_PROGRAM_ID);
|
|
38
|
-
const program = new Program(
|
|
38
|
+
const program = new Program(velocityIDL as Idl, programId, provider);
|
|
39
39
|
|
|
40
40
|
const allPerpMarketProgramAccounts =
|
|
41
41
|
(await program.account.perpMarket.all()) as ProgramAccount<PerpMarketAccount>[];
|
|
@@ -18,14 +18,14 @@ import {
|
|
|
18
18
|
Program,
|
|
19
19
|
ProgramAccount,
|
|
20
20
|
} from '@coral-xyz/anchor';
|
|
21
|
-
import
|
|
21
|
+
import velocityIDL from '../src/idl/velocity.json';
|
|
22
22
|
import assert from 'assert';
|
|
23
23
|
|
|
24
24
|
const GRPC_ENDPOINT = process.env.GRPC_ENDPOINT;
|
|
25
25
|
const TOKEN = process.env.TOKEN;
|
|
26
26
|
const RPC_ENDPOINT = process.env.RPC_ENDPOINT;
|
|
27
27
|
|
|
28
|
-
async function
|
|
28
|
+
async function initializeGrpcVelocityClientV2VersusV1() {
|
|
29
29
|
const connection = new Connection(RPC_ENDPOINT);
|
|
30
30
|
const wallet = new Wallet(new Keypair());
|
|
31
31
|
dotenv.config({ path: '../' });
|
|
@@ -40,7 +40,7 @@ async function initializeGrpcDriftClientV2VersusV1() {
|
|
|
40
40
|
}
|
|
41
41
|
);
|
|
42
42
|
|
|
43
|
-
const program = new Program(
|
|
43
|
+
const program = new Program(velocityIDL as Idl, programId, provider);
|
|
44
44
|
|
|
45
45
|
const allPerpMarketProgramAccounts =
|
|
46
46
|
(await program.account.perpMarket.all()) as ProgramAccount<PerpMarketAccount>[];
|
|
@@ -369,4 +369,4 @@ async function initializeGrpcDriftClientV2VersusV1() {
|
|
|
369
369
|
process.on('SIGTERM', cleanup);
|
|
370
370
|
}
|
|
371
371
|
|
|
372
|
-
|
|
372
|
+
initializeGrpcVelocityClientV2VersusV1().catch(console.error);
|
|
@@ -4,7 +4,7 @@ import { Connection, Keypair, PublicKey } from '@solana/web3.js';
|
|
|
4
4
|
import { VELOCITY_PROGRAM_ID } from '../src';
|
|
5
5
|
import { CommitmentLevel } from '@triton-one/yellowstone-grpc';
|
|
6
6
|
import { AnchorProvider, Idl, Program } from '@coral-xyz/anchor';
|
|
7
|
-
import
|
|
7
|
+
import velocityIDL from '../src/idl/velocity.json';
|
|
8
8
|
import assert from 'assert';
|
|
9
9
|
import { Wallet } from '../src';
|
|
10
10
|
|
|
@@ -40,7 +40,7 @@ async function testGrpcUserAccountSubscriberV1VsV2() {
|
|
|
40
40
|
}
|
|
41
41
|
);
|
|
42
42
|
|
|
43
|
-
const program = new Program(
|
|
43
|
+
const program = new Program(velocityIDL as Idl, programId, provider);
|
|
44
44
|
|
|
45
45
|
const grpcConfigs = {
|
|
46
46
|
endpoint: GRPC_ENDPOINT,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
Program,
|
|
19
19
|
ProgramAccount,
|
|
20
20
|
} from '@coral-xyz/anchor';
|
|
21
|
-
import
|
|
21
|
+
import velocityIDL from '../src/idl/velocity.json';
|
|
22
22
|
import { grpcMultiUserAccountSubscriber } from '../src/accounts/grpcMultiUserAccountSubscriber';
|
|
23
23
|
|
|
24
24
|
const GRPC_ENDPOINT = process.env.GRPC_ENDPOINT;
|
|
@@ -26,7 +26,7 @@ const TOKEN = process.env.TOKEN;
|
|
|
26
26
|
const RPC_ENDPOINT = process.env.RPC_ENDPOINT;
|
|
27
27
|
|
|
28
28
|
async function initializeSingleGrpcClient() {
|
|
29
|
-
console.log('🚀 Initializing single gRPC
|
|
29
|
+
console.log('🚀 Initializing single gRPC Velocity Client...');
|
|
30
30
|
|
|
31
31
|
const connection = new Connection(RPC_ENDPOINT);
|
|
32
32
|
const wallet = new Wallet(new Keypair());
|
|
@@ -42,7 +42,7 @@ async function initializeSingleGrpcClient() {
|
|
|
42
42
|
}
|
|
43
43
|
);
|
|
44
44
|
|
|
45
|
-
const program = new Program(
|
|
45
|
+
const program = new Program(velocityIDL as Idl, programId, provider);
|
|
46
46
|
|
|
47
47
|
// Get perp market accounts
|
|
48
48
|
const allPerpMarketProgramAccounts =
|
package/scripts/updateVersion.js
CHANGED
|
@@ -8,10 +8,10 @@ let version = fs.readFileSync(versionFilePath, 'utf8');
|
|
|
8
8
|
version = version.replace(/\n/g, '');
|
|
9
9
|
|
|
10
10
|
const filesToReplace = [
|
|
11
|
-
// sdk/src/idl/
|
|
12
|
-
path.join(__dirname, '..', 'src', 'idl', '
|
|
13
|
-
// programs/
|
|
14
|
-
path.join(__dirname, '..', '..', 'programs', '
|
|
11
|
+
// sdk/src/idl/velocity.json
|
|
12
|
+
path.join(__dirname, '..', 'src', 'idl', 'velocity.json'),
|
|
13
|
+
// programs/velocity/Cargo.toml
|
|
14
|
+
path.join(__dirname, '..', '..', 'programs', 'velocity', 'Cargo.toml'),
|
|
15
15
|
// Cargo.lock
|
|
16
16
|
path.join(__dirname, '..', '..', 'Cargo.lock'),
|
|
17
17
|
]
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
Program,
|
|
7
7
|
ProgramAccount,
|
|
8
8
|
} from '@coral-xyz/anchor';
|
|
9
|
-
import
|
|
9
|
+
import velocityIDL from '../src/idl/velocity.json';
|
|
10
10
|
import {
|
|
11
11
|
VELOCITY_PROGRAM_ID,
|
|
12
12
|
PerpMarketAccount,
|
|
@@ -53,7 +53,7 @@ async function main() {
|
|
|
53
53
|
commitment: 'processed',
|
|
54
54
|
});
|
|
55
55
|
const programId = new PublicKey(VELOCITY_PROGRAM_ID);
|
|
56
|
-
const program = new Program(
|
|
56
|
+
const program = new Program(velocityIDL as Idl, programId, provider);
|
|
57
57
|
|
|
58
58
|
// Discover markets and oracles (like the example test script)
|
|
59
59
|
const allPerpMarketProgramAccounts =
|
|
@@ -204,10 +204,3 @@ export class grpcVelocityClientAccountSubscriber extends WebSocketVelocityClient
|
|
|
204
204
|
return true;
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
|
-
|
|
208
|
-
/** @deprecated Use `grpcVelocityClientAccountSubscriber` instead. `grpcDriftClientAccountSubscriber` will be removed in a future major. */
|
|
209
|
-
export const grpcDriftClientAccountSubscriber =
|
|
210
|
-
grpcVelocityClientAccountSubscriber;
|
|
211
|
-
/** @deprecated Use `grpcVelocityClientAccountSubscriber` instead. `grpcDriftClientAccountSubscriber` will be removed in a future major. */
|
|
212
|
-
export type grpcDriftClientAccountSubscriber =
|
|
213
|
-
grpcVelocityClientAccountSubscriber;
|
|
@@ -382,7 +382,7 @@ export class grpcVelocityClientAccountSubscriberV2
|
|
|
382
382
|
return undefined;
|
|
383
383
|
}
|
|
384
384
|
|
|
385
|
-
if (!perpMarketAccount.data.
|
|
385
|
+
if (!perpMarketAccount.data.oracle.equals(oracle)) {
|
|
386
386
|
// If the oracle has changed, we need to update the oracle map in background
|
|
387
387
|
this.setPerpOracleMap();
|
|
388
388
|
}
|
|
@@ -418,13 +418,13 @@ export class grpcVelocityClientAccountSubscriberV2
|
|
|
418
418
|
}
|
|
419
419
|
const perpMarketAccount = perpMarket.data;
|
|
420
420
|
const perpMarketIndex = perpMarketAccount.marketIndex;
|
|
421
|
-
const oracle = perpMarketAccount.
|
|
422
|
-
const oracleId = getOracleId(oracle, perpMarket.data.
|
|
421
|
+
const oracle = perpMarketAccount.oracle;
|
|
422
|
+
const oracleId = getOracleId(oracle, perpMarket.data.oracleSource);
|
|
423
423
|
if (!this.oracleMultiSubscriber?.getAccountDataMap().has(oracleId)) {
|
|
424
424
|
addOraclePromises.push(
|
|
425
425
|
this.addOracle({
|
|
426
426
|
publicKey: oracle,
|
|
427
|
-
source: perpMarket.data.
|
|
427
|
+
source: perpMarket.data.oracleSource,
|
|
428
428
|
})
|
|
429
429
|
);
|
|
430
430
|
}
|
|
@@ -753,10 +753,3 @@ export class grpcVelocityClientAccountSubscriberV2
|
|
|
753
753
|
this.spotOracleStringMap.clear();
|
|
754
754
|
}
|
|
755
755
|
}
|
|
756
|
-
|
|
757
|
-
/** @deprecated Use `grpcVelocityClientAccountSubscriberV2` instead. `grpcDriftClientAccountSubscriberV2` will be removed in a future major. */
|
|
758
|
-
export const grpcDriftClientAccountSubscriberV2 =
|
|
759
|
-
grpcVelocityClientAccountSubscriberV2;
|
|
760
|
-
/** @deprecated Use `grpcVelocityClientAccountSubscriberV2` instead. `grpcDriftClientAccountSubscriberV2` will be removed in a future major. */
|
|
761
|
-
export type grpcDriftClientAccountSubscriberV2 =
|
|
762
|
-
grpcVelocityClientAccountSubscriberV2;
|
|
@@ -486,13 +486,13 @@ export class PollingVelocityClientAccountSubscriber
|
|
|
486
486
|
for (const perpMarket of perpMarkets) {
|
|
487
487
|
const perpMarketAccount = perpMarket.data;
|
|
488
488
|
const perpMarketIndex = perpMarketAccount.marketIndex;
|
|
489
|
-
const oracle = perpMarketAccount.
|
|
490
|
-
const oracleId = getOracleId(oracle, perpMarketAccount.
|
|
489
|
+
const oracle = perpMarketAccount.oracle;
|
|
490
|
+
const oracleId = getOracleId(oracle, perpMarketAccount.oracleSource);
|
|
491
491
|
if (!this.oracles.has(oracleId)) {
|
|
492
492
|
oraclePromises.push(
|
|
493
493
|
this.addOracle({
|
|
494
494
|
publicKey: oracle,
|
|
495
|
-
source: perpMarketAccount.
|
|
495
|
+
source: perpMarketAccount.oracleSource,
|
|
496
496
|
})
|
|
497
497
|
);
|
|
498
498
|
}
|
|
@@ -613,7 +613,7 @@ export class PollingVelocityClientAccountSubscriber
|
|
|
613
613
|
return undefined;
|
|
614
614
|
}
|
|
615
615
|
|
|
616
|
-
if (!perpMarketAccount.data.
|
|
616
|
+
if (!perpMarketAccount.data.oracle.equals(oracle)) {
|
|
617
617
|
// If the oracle has changed, we need to update the oracle map in background
|
|
618
618
|
this.setPerpOracleMap();
|
|
619
619
|
}
|
|
@@ -643,10 +643,3 @@ export class PollingVelocityClientAccountSubscriber
|
|
|
643
643
|
this.accountLoader.updatePollingFrequency(pollingFrequency);
|
|
644
644
|
}
|
|
645
645
|
}
|
|
646
|
-
|
|
647
|
-
/** @deprecated Use `PollingVelocityClientAccountSubscriber` instead. `PollingDriftClientAccountSubscriber` will be removed in a future major. */
|
|
648
|
-
export const PollingDriftClientAccountSubscriber =
|
|
649
|
-
PollingVelocityClientAccountSubscriber;
|
|
650
|
-
/** @deprecated Use `PollingVelocityClientAccountSubscriber` instead. `PollingDriftClientAccountSubscriber` will be removed in a future major. */
|
|
651
|
-
export type PollingDriftClientAccountSubscriber =
|
|
652
|
-
PollingVelocityClientAccountSubscriber;
|
package/src/accounts/types.ts
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* market, oracle, and state accounts cached in memory. `User` uses a `UserAccountSubscriber`
|
|
6
6
|
* for the individual User account. All subscribers implement the interfaces defined here.
|
|
7
7
|
*
|
|
8
|
-
* Implementations: `
|
|
9
|
-
* `
|
|
8
|
+
* Implementations: `webSocketVelocityClientAccountSubscriber.ts` (default),
|
|
9
|
+
* `pollingVelocityClientAccountSubscriber.ts`, `bulkAccountLoader.ts` (batched RPC).
|
|
10
10
|
*/
|
|
11
11
|
import {
|
|
12
12
|
SpotMarketAccount,
|
|
@@ -65,9 +65,6 @@ export interface VelocityClientAccountEvents {
|
|
|
65
65
|
error: (e: Error) => void;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
/** @deprecated Use `VelocityClientAccountEvents` instead. `DriftClientAccountEvents` will be removed in a future major. */
|
|
69
|
-
export interface DriftClientAccountEvents extends VelocityClientAccountEvents {}
|
|
70
|
-
|
|
71
68
|
export interface VelocityClientAccountSubscriber {
|
|
72
69
|
eventEmitter: StrictEventEmitter<EventEmitter, VelocityClientAccountEvents>;
|
|
73
70
|
isSubscribed: boolean;
|
|
@@ -104,10 +101,6 @@ export interface VelocityClientAccountSubscriber {
|
|
|
104
101
|
updateAccountLoaderPollingFrequency?: (pollingFrequency: number) => void;
|
|
105
102
|
}
|
|
106
103
|
|
|
107
|
-
/** @deprecated Use `VelocityClientAccountSubscriber` instead. `DriftClientAccountSubscriber` will be removed in a future major. */
|
|
108
|
-
export interface DriftClientAccountSubscriber
|
|
109
|
-
extends VelocityClientAccountSubscriber {}
|
|
110
|
-
|
|
111
104
|
export enum DelistedMarketSetting {
|
|
112
105
|
Unsubscribe,
|
|
113
106
|
Subscribe,
|
package/src/accounts/utils.ts
CHANGED
|
@@ -21,8 +21,8 @@ export function findDelistedPerpMarketsAndOracles(
|
|
|
21
21
|
if (isVariant(perpMarket.data.status, 'delisted')) {
|
|
22
22
|
delistedPerpMarketIndexes.push(perpMarket.data.marketIndex);
|
|
23
23
|
delistedOracles.push({
|
|
24
|
-
publicKey: perpMarket.data.
|
|
25
|
-
source: perpMarket.data.
|
|
24
|
+
publicKey: perpMarket.data.oracle,
|
|
25
|
+
source: perpMarket.data.oracleSource,
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -553,13 +553,13 @@ export class WebSocketVelocityClientAccountSubscriber
|
|
|
553
553
|
}
|
|
554
554
|
const perpMarketAccount = perpMarket.data;
|
|
555
555
|
const perpMarketIndex = perpMarketAccount.marketIndex;
|
|
556
|
-
const oracle = perpMarketAccount.
|
|
557
|
-
const oracleId = getOracleId(oracle, perpMarket.data.
|
|
556
|
+
const oracle = perpMarketAccount.oracle;
|
|
557
|
+
const oracleId = getOracleId(oracle, perpMarket.data.oracleSource);
|
|
558
558
|
if (!this.oracleSubscribers.has(oracleId)) {
|
|
559
559
|
addOraclePromises.push(
|
|
560
560
|
this.addOracle({
|
|
561
561
|
publicKey: oracle,
|
|
562
|
-
source: perpMarket.data.
|
|
562
|
+
source: perpMarket.data.oracleSource,
|
|
563
563
|
})
|
|
564
564
|
);
|
|
565
565
|
}
|
|
@@ -684,7 +684,7 @@ export class WebSocketVelocityClientAccountSubscriber
|
|
|
684
684
|
return undefined;
|
|
685
685
|
}
|
|
686
686
|
|
|
687
|
-
if (!perpMarketAccount.data.
|
|
687
|
+
if (!perpMarketAccount.data.oracle.equals(oracle)) {
|
|
688
688
|
// If the oracle has changed, we need to update the oracle map in background
|
|
689
689
|
this.setPerpOracleMap();
|
|
690
690
|
}
|
|
@@ -710,10 +710,3 @@ export class WebSocketVelocityClientAccountSubscriber
|
|
|
710
710
|
return this.getOraclePriceDataAndSlot(oracleId);
|
|
711
711
|
}
|
|
712
712
|
}
|
|
713
|
-
|
|
714
|
-
/** @deprecated Use `WebSocketVelocityClientAccountSubscriber` instead. `WebSocketDriftClientAccountSubscriber` will be removed in a future major. */
|
|
715
|
-
export const WebSocketDriftClientAccountSubscriber =
|
|
716
|
-
WebSocketVelocityClientAccountSubscriber;
|
|
717
|
-
/** @deprecated Use `WebSocketVelocityClientAccountSubscriber` instead. `WebSocketDriftClientAccountSubscriber` will be removed in a future major. */
|
|
718
|
-
export type WebSocketDriftClientAccountSubscriber =
|
|
719
|
-
WebSocketVelocityClientAccountSubscriber;
|
|
@@ -600,13 +600,13 @@ export class WebSocketVelocityClientAccountSubscriberV2
|
|
|
600
600
|
}
|
|
601
601
|
const perpMarketAccount = perpMarket.data;
|
|
602
602
|
const perpMarketIndex = perpMarketAccount.marketIndex;
|
|
603
|
-
const oracle = perpMarketAccount.
|
|
604
|
-
const oracleId = getOracleId(oracle, perpMarket.data.
|
|
603
|
+
const oracle = perpMarketAccount.oracle;
|
|
604
|
+
const oracleId = getOracleId(oracle, perpMarket.data.oracleSource);
|
|
605
605
|
if (!this.oracleSubscribers.has(oracleId)) {
|
|
606
606
|
addOraclePromises.push(
|
|
607
607
|
this.addOracle({
|
|
608
608
|
publicKey: oracle,
|
|
609
|
-
source: perpMarket.data.
|
|
609
|
+
source: perpMarket.data.oracleSource,
|
|
610
610
|
})
|
|
611
611
|
);
|
|
612
612
|
}
|
|
@@ -720,7 +720,7 @@ export class WebSocketVelocityClientAccountSubscriberV2
|
|
|
720
720
|
return undefined;
|
|
721
721
|
}
|
|
722
722
|
|
|
723
|
-
if (!perpMarketAccount.data.
|
|
723
|
+
if (!perpMarketAccount.data.oracle.equals(oracle)) {
|
|
724
724
|
// If the oracle has changed, we need to update the oracle map in background
|
|
725
725
|
this.setPerpOracleMap();
|
|
726
726
|
}
|
|
@@ -746,10 +746,3 @@ export class WebSocketVelocityClientAccountSubscriberV2
|
|
|
746
746
|
return this.getOraclePriceDataAndSlot(oracleId);
|
|
747
747
|
}
|
|
748
748
|
}
|
|
749
|
-
|
|
750
|
-
/** @deprecated Use `WebSocketVelocityClientAccountSubscriberV2` instead. `WebSocketDriftClientAccountSubscriberV2` will be removed in a future major. */
|
|
751
|
-
export const WebSocketDriftClientAccountSubscriberV2 =
|
|
752
|
-
WebSocketVelocityClientAccountSubscriberV2;
|
|
753
|
-
/** @deprecated Use `WebSocketVelocityClientAccountSubscriberV2` instead. `WebSocketDriftClientAccountSubscriberV2` will be removed in a future major. */
|
|
754
|
-
export type WebSocketDriftClientAccountSubscriberV2 =
|
|
755
|
-
WebSocketVelocityClientAccountSubscriberV2;
|
package/src/addresses/pda.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* PDA derivation helpers for all
|
|
2
|
+
* PDA derivation helpers for all Velocity protocol accounts.
|
|
3
3
|
* Covers: User, UserStats, PerpMarket, SpotMarket, InsuranceFundStake,
|
|
4
4
|
* HighLeverageModeConfig, State, and vault PDAs.
|
|
5
5
|
* All functions are pure (no RPC calls).
|
|
@@ -18,24 +18,17 @@ export async function getVelocityStateAccountPublicKeyAndNonce(
|
|
|
18
18
|
programId: PublicKey
|
|
19
19
|
): Promise<[PublicKey, number]> {
|
|
20
20
|
return PublicKey.findProgramAddress(
|
|
21
|
-
[Buffer.from(anchor.utils.bytes.utf8.encode('
|
|
21
|
+
[Buffer.from(anchor.utils.bytes.utf8.encode('velocity_state'))],
|
|
22
22
|
programId
|
|
23
23
|
);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
/** @deprecated Use `getVelocityStateAccountPublicKeyAndNonce` instead. `getDriftStateAccountPublicKeyAndNonce` will be removed in a future major. */
|
|
27
|
-
export const getDriftStateAccountPublicKeyAndNonce =
|
|
28
|
-
getVelocityStateAccountPublicKeyAndNonce;
|
|
29
|
-
|
|
30
26
|
export async function getVelocityStateAccountPublicKey(
|
|
31
27
|
programId: PublicKey
|
|
32
28
|
): Promise<PublicKey> {
|
|
33
29
|
return (await getVelocityStateAccountPublicKeyAndNonce(programId))[0];
|
|
34
30
|
}
|
|
35
31
|
|
|
36
|
-
/** @deprecated Use `getVelocityStateAccountPublicKey` instead. `getDriftStateAccountPublicKey` will be removed in a future major. */
|
|
37
|
-
export const getDriftStateAccountPublicKey = getVelocityStateAccountPublicKey;
|
|
38
|
-
|
|
39
32
|
export async function getUserAccountPublicKeyAndNonce(
|
|
40
33
|
programId: PublicKey,
|
|
41
34
|
authority: PublicKey,
|
|
@@ -218,14 +211,11 @@ export function getInsuranceFundStakeAccountPublicKey(
|
|
|
218
211
|
|
|
219
212
|
export function getVelocitySignerPublicKey(programId: PublicKey): PublicKey {
|
|
220
213
|
return PublicKey.findProgramAddressSync(
|
|
221
|
-
[Buffer.from(anchor.utils.bytes.utf8.encode('
|
|
214
|
+
[Buffer.from(anchor.utils.bytes.utf8.encode('velocity_signer'))],
|
|
222
215
|
programId
|
|
223
216
|
)[0];
|
|
224
217
|
}
|
|
225
218
|
|
|
226
|
-
/** @deprecated Use `getVelocitySignerPublicKey` instead. `getDriftSignerPublicKey` will be removed in a future major. */
|
|
227
|
-
export const getDriftSignerPublicKey = getVelocitySignerPublicKey;
|
|
228
|
-
|
|
229
219
|
export function getReferrerNamePublicKeySync(
|
|
230
220
|
programId: PublicKey,
|
|
231
221
|
nameBuffer: number[]
|