@velocity-exchange/sdk 0.0.5 → 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 +20 -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/dlob/DLOB.d.ts +1 -1
- package/lib/browser/dlob/DLOB.js +6 -6
- 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} +1042 -767
- package/lib/browser/idl/{drift.json → velocity.json} +1033 -758
- 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.js +16 -12
- 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 +9 -9
- 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 +79 -91
- 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 +53 -38
- package/lib/browser/velocityClient.js +258 -196
- 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/dlob/DLOB.d.ts +1 -1
- package/lib/node/dlob/DLOB.d.ts.map +1 -1
- package/lib/node/dlob/DLOB.js +6 -6
- 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} +1043 -768
- package/lib/node/idl/velocity.d.ts.map +1 -0
- package/lib/node/idl/{drift.json → velocity.json} +1033 -758
- 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.map +1 -1
- package/lib/node/math/auction.js +16 -12
- 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 +9 -9
- 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 +79 -91
- 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 +53 -38
- package/lib/node/velocityClient.d.ts.map +1 -1
- package/lib/node/velocityClient.js +258 -196
- 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 -67
- 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/dlob/DLOB.ts +6 -6
- 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} +1033 -758
- package/src/idl/{drift.ts → velocity.ts} +1035 -760
- 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 +16 -12
- 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 +18 -5
- 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 +3 -13
- 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 +84 -102
- 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 +339 -225
- package/src/velocityClientConfig.ts +0 -10
- package/tests/{DriftCore → VelocityCore}/decode.test.ts +1 -1
- package/tests/{DriftCore → VelocityCore}/fill_trigger.test.ts +1 -1
- package/tests/{DriftCore → VelocityCore}/instructions.test.ts +1 -1
- package/tests/{DriftCore → VelocityCore}/pdas.test.ts +4 -2
- package/tests/ci/verifyConstants.ts +24 -27
- package/tests/decode/test.ts +2 -2
- package/tests/dlob/helpers.ts +5 -9
- package/tests/events/parseLogsForCuUsage.ts +15 -15
- package/tests/user/helpers.ts +9 -9
- 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 -21
- /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
package/src/user.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* User — read-oriented abstraction over the on-chain `User` account.
|
|
3
3
|
*
|
|
4
4
|
* Responsibilities:
|
|
5
|
-
* - Margin and free-collateral calculations (mirrors `programs/
|
|
5
|
+
* - Margin and free-collateral calculations (mirrors `programs/velocity/src/math/margin.rs`).
|
|
6
6
|
* - Position accessors: perp positions, spot positions, unrealized PnL, leverage.
|
|
7
7
|
* - Open order queries and filtering.
|
|
8
8
|
* - Health factor and liquidation threshold checks.
|
|
@@ -129,10 +129,6 @@ export type MarginType = 'Cross' | 'Isolated';
|
|
|
129
129
|
|
|
130
130
|
export class User {
|
|
131
131
|
velocityClient: VelocityClient;
|
|
132
|
-
/** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
|
|
133
|
-
public get driftClient(): VelocityClient {
|
|
134
|
-
return this.velocityClient;
|
|
135
|
-
}
|
|
136
132
|
userAccountPublicKey: PublicKey;
|
|
137
133
|
accountSubscriber: UserAccountSubscriber;
|
|
138
134
|
_isSubscribed = false;
|
|
@@ -148,7 +144,7 @@ export class User {
|
|
|
148
144
|
|
|
149
145
|
public constructor(config: UserConfig) {
|
|
150
146
|
// Type-system guarantees at least one of the two is supplied.
|
|
151
|
-
const velocityClient =
|
|
147
|
+
const velocityClient = config.velocityClient!;
|
|
152
148
|
this.velocityClient = velocityClient;
|
|
153
149
|
this.userAccountPublicKey = config.userAccountPublicKey;
|
|
154
150
|
if (config.accountSubscription?.type === 'polling') {
|
|
@@ -2093,10 +2089,10 @@ export class User {
|
|
|
2093
2089
|
userPosition.marketIndex
|
|
2094
2090
|
);
|
|
2095
2091
|
if (
|
|
2096
|
-
market.
|
|
2092
|
+
market.cumulativeFundingRateLong.eq(
|
|
2097
2093
|
userPosition.lastCumulativeFundingRate
|
|
2098
2094
|
) ||
|
|
2099
|
-
market.
|
|
2095
|
+
market.cumulativeFundingRateShort.eq(
|
|
2100
2096
|
userPosition.lastCumulativeFundingRate
|
|
2101
2097
|
)
|
|
2102
2098
|
) {
|
|
@@ -2153,7 +2149,7 @@ export class User {
|
|
|
2153
2149
|
const oracle = market.oracle;
|
|
2154
2150
|
const perpMarketWithSameOracle = this.velocityClient
|
|
2155
2151
|
.getPerpMarketAccounts()
|
|
2156
|
-
.find((market) => market.
|
|
2152
|
+
.find((market) => market.oracle.equals(oracle));
|
|
2157
2153
|
const oraclePrice =
|
|
2158
2154
|
this.velocityClient.getOracleDataForSpotMarket(marketIndex).price;
|
|
2159
2155
|
if (perpMarketWithSameOracle) {
|
|
@@ -2172,7 +2168,7 @@ export class User {
|
|
|
2172
2168
|
if (freeCollateralDeltaForPerp) {
|
|
2173
2169
|
const { numerator, denominator } = getMultipleBetweenOracleSources(
|
|
2174
2170
|
market.oracleSource,
|
|
2175
|
-
perpMarketWithSameOracle.
|
|
2171
|
+
perpMarketWithSameOracle.oracleSource
|
|
2176
2172
|
);
|
|
2177
2173
|
freeCollateralDeltaForPerp = freeCollateralDeltaForPerp
|
|
2178
2174
|
.mul(numerator)
|
|
@@ -2223,8 +2219,7 @@ export class User {
|
|
|
2223
2219
|
): BN {
|
|
2224
2220
|
const market = this.velocityClient.getPerpMarketAccount(marketIndex);
|
|
2225
2221
|
|
|
2226
|
-
const oracle =
|
|
2227
|
-
this.velocityClient.getPerpMarketAccount(marketIndex).amm.oracle;
|
|
2222
|
+
const oracle = this.velocityClient.getPerpMarketAccount(marketIndex).oracle;
|
|
2228
2223
|
|
|
2229
2224
|
const oraclePrice =
|
|
2230
2225
|
this.velocityClient.getOracleDataForPerpMarket(marketIndex).price;
|
|
@@ -2292,7 +2287,7 @@ export class User {
|
|
|
2292
2287
|
|
|
2293
2288
|
positionBaseSizeChange = standardizeBaseAssetAmount(
|
|
2294
2289
|
positionBaseSizeChange,
|
|
2295
|
-
market.
|
|
2290
|
+
market.orderStepSize
|
|
2296
2291
|
);
|
|
2297
2292
|
|
|
2298
2293
|
const freeCollateralChangeFromNewPosition =
|
|
@@ -2345,7 +2340,7 @@ export class User {
|
|
|
2345
2340
|
|
|
2346
2341
|
if (spotFreeCollateralDelta) {
|
|
2347
2342
|
const { numerator, denominator } = getMultipleBetweenOracleSources(
|
|
2348
|
-
market.
|
|
2343
|
+
market.oracleSource,
|
|
2349
2344
|
spotMarketWithSameOracle.oracleSource
|
|
2350
2345
|
);
|
|
2351
2346
|
spotFreeCollateralDelta = spotFreeCollateralDelta
|
package/src/userConfig.ts
CHANGED
|
@@ -5,15 +5,13 @@ import { GrpcConfigs, UserAccountSubscriber } from './accounts/types';
|
|
|
5
5
|
import { WebSocketProgramAccountSubscriber } from './accounts/webSocketProgramAccountSubscriber';
|
|
6
6
|
import { UserAccount } from './types';
|
|
7
7
|
import { grpcMultiUserAccountSubscriber } from './accounts/grpcMultiUserAccountSubscriber';
|
|
8
|
-
import { AtLeastOne } from './util/deprecatedAlias';
|
|
9
8
|
|
|
10
9
|
type UserConfigBase = {
|
|
11
10
|
accountSubscription?: UserSubscriptionConfig;
|
|
12
11
|
userAccountPublicKey: PublicKey;
|
|
13
12
|
};
|
|
14
13
|
|
|
15
|
-
export type UserConfig = UserConfigBase &
|
|
16
|
-
AtLeastOne<'velocityClient', 'driftClient', VelocityClient>;
|
|
14
|
+
export type UserConfig = UserConfigBase & { velocityClient: VelocityClient };
|
|
17
15
|
|
|
18
16
|
export type UserSubscriptionConfig =
|
|
19
17
|
| {
|
|
@@ -29,10 +29,6 @@ export class ReferrerMap {
|
|
|
29
29
|
*/
|
|
30
30
|
private referrerReferrerInfoMap = new Map<string, ReferrerInfo>();
|
|
31
31
|
private velocityClient: VelocityClient;
|
|
32
|
-
/** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
|
|
33
|
-
private get driftClient(): VelocityClient {
|
|
34
|
-
return this.velocityClient;
|
|
35
|
-
}
|
|
36
32
|
private parallelSync: boolean;
|
|
37
33
|
|
|
38
34
|
private fetchPromise?: Promise<void>;
|
|
@@ -10,10 +10,6 @@ export class RevenueShareEscrowMap {
|
|
|
10
10
|
*/
|
|
11
11
|
private authorityEscrowMap = new Map<string, RevenueShareEscrowAccount>();
|
|
12
12
|
private velocityClient: VelocityClient;
|
|
13
|
-
/** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
|
|
14
|
-
private get driftClient(): VelocityClient {
|
|
15
|
-
return this.velocityClient;
|
|
16
|
-
}
|
|
17
13
|
private parallelSync: boolean;
|
|
18
14
|
|
|
19
15
|
private fetchPromise?: Promise<void>;
|
package/src/userMap/userMap.ts
CHANGED
|
@@ -78,10 +78,6 @@ export interface UserMapInterface {
|
|
|
78
78
|
export class UserMap implements UserMapInterface {
|
|
79
79
|
private userMap = new Map<string, DataAndSlot<User>>();
|
|
80
80
|
velocityClient: VelocityClient;
|
|
81
|
-
/** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
|
|
82
|
-
public get driftClient(): VelocityClient {
|
|
83
|
-
return this.velocityClient;
|
|
84
|
-
}
|
|
85
81
|
eventEmitter: StrictEventEmitter<EventEmitter, UserEvents>;
|
|
86
82
|
private connection: Connection;
|
|
87
83
|
private commitment: Commitment;
|
|
@@ -114,7 +110,7 @@ export class UserMap implements UserMapInterface {
|
|
|
114
110
|
*/
|
|
115
111
|
constructor(config: UserMapConfig) {
|
|
116
112
|
// Type-system guarantees at least one of the two is supplied.
|
|
117
|
-
this.velocityClient =
|
|
113
|
+
this.velocityClient = config.velocityClient!;
|
|
118
114
|
if (config.connection) {
|
|
119
115
|
this.connection = config.connection;
|
|
120
116
|
} else {
|
|
@@ -420,7 +416,7 @@ export class UserMap implements UserMapInterface {
|
|
|
420
416
|
|
|
421
417
|
/**
|
|
422
418
|
* Syncs the UserMap using the default sync method (single getProgramAccounts call with filters).
|
|
423
|
-
* This method may fail when
|
|
419
|
+
* This method may fail when velocity has too many users. (nodejs response size limits)
|
|
424
420
|
* @returns
|
|
425
421
|
*/
|
|
426
422
|
private async defaultSync() {
|
|
@@ -517,7 +513,7 @@ export class UserMap implements UserMapInterface {
|
|
|
517
513
|
|
|
518
514
|
/**
|
|
519
515
|
* Syncs the UserMap using the paginated sync method (multiple getMultipleAccounts calls with filters).
|
|
520
|
-
* This method is more reliable when
|
|
516
|
+
* This method is more reliable when velocity has many users.
|
|
521
517
|
* @returns
|
|
522
518
|
*/
|
|
523
519
|
private async paginatedSync() {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Commitment, Connection, MemcmpFilter } from '@solana/web3.js';
|
|
2
2
|
import { VelocityClient } from '../velocityClient';
|
|
3
3
|
import { GrpcConfigs } from '../accounts/types';
|
|
4
|
-
import { AtLeastOne } from '../util/deprecatedAlias';
|
|
5
4
|
|
|
6
5
|
// passed into UserMap.getUniqueAuthorities to filter users
|
|
7
6
|
export type UserAccountFilterCriteria = {
|
|
@@ -65,5 +64,6 @@ type UserMapConfigBase = {
|
|
|
65
64
|
additionalFilters?: MemcmpFilter[];
|
|
66
65
|
};
|
|
67
66
|
|
|
68
|
-
export type UserMapConfig = UserMapConfigBase &
|
|
69
|
-
|
|
67
|
+
export type UserMapConfig = UserMapConfigBase & {
|
|
68
|
+
velocityClient: VelocityClient;
|
|
69
|
+
};
|
|
@@ -27,10 +27,6 @@ export class UserStatsMap {
|
|
|
27
27
|
*/
|
|
28
28
|
private userStatsMap = new Map<string, UserStats>();
|
|
29
29
|
private velocityClient: VelocityClient;
|
|
30
|
-
/** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
|
|
31
|
-
private get driftClient(): VelocityClient {
|
|
32
|
-
return this.velocityClient;
|
|
33
|
-
}
|
|
34
30
|
private bulkAccountLoader: BulkAccountLoader;
|
|
35
31
|
private decode;
|
|
36
32
|
private syncConfig: SyncConfig;
|
package/src/userStats.ts
CHANGED
|
@@ -18,17 +18,13 @@ import { grpcUserStatsAccountSubscriber } from './accounts/grpcUserStatsAccountS
|
|
|
18
18
|
|
|
19
19
|
export class UserStats {
|
|
20
20
|
velocityClient: VelocityClient;
|
|
21
|
-
/** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
|
|
22
|
-
public get driftClient(): VelocityClient {
|
|
23
|
-
return this.velocityClient;
|
|
24
|
-
}
|
|
25
21
|
userStatsAccountPublicKey: PublicKey;
|
|
26
22
|
accountSubscriber: UserStatsAccountSubscriber;
|
|
27
23
|
isSubscribed: boolean;
|
|
28
24
|
|
|
29
25
|
public constructor(config: UserStatsConfig) {
|
|
30
26
|
// Type-system guarantees at least one of the two is supplied.
|
|
31
|
-
const velocityClient =
|
|
27
|
+
const velocityClient = config.velocityClient!;
|
|
32
28
|
this.velocityClient = velocityClient;
|
|
33
29
|
this.userStatsAccountPublicKey = config.userStatsAccountPublicKey;
|
|
34
30
|
if (config.accountSubscription?.type === 'polling') {
|
package/src/userStatsConfig.ts
CHANGED
|
@@ -2,15 +2,15 @@ import { VelocityClient } from './velocityClient';
|
|
|
2
2
|
import { Commitment, PublicKey } from '@solana/web3.js';
|
|
3
3
|
import { BulkAccountLoader } from './accounts/bulkAccountLoader';
|
|
4
4
|
import { GrpcConfigs, UserStatsAccountSubscriber } from './accounts/types';
|
|
5
|
-
import { AtLeastOne } from './util/deprecatedAlias';
|
|
6
5
|
|
|
7
6
|
type UserStatsConfigBase = {
|
|
8
7
|
accountSubscription?: UserStatsSubscriptionConfig;
|
|
9
8
|
userStatsAccountPublicKey: PublicKey;
|
|
10
9
|
};
|
|
11
10
|
|
|
12
|
-
export type UserStatsConfig = UserStatsConfigBase &
|
|
13
|
-
|
|
11
|
+
export type UserStatsConfig = UserStatsConfigBase & {
|
|
12
|
+
velocityClient: VelocityClient;
|
|
13
|
+
};
|
|
14
14
|
|
|
15
15
|
export type UserStatsSubscriptionConfig =
|
|
16
16
|
| {
|
package/src/util/ed25519Utils.ts
CHANGED
|
@@ -37,7 +37,7 @@ const ED25519_INSTRUCTION_LAYOUT = BufferLayout.struct<
|
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
39
|
* Constructs a minimal Ed25519 verification instruction that references the data
|
|
40
|
-
* inside the
|
|
40
|
+
* inside the velocity custom instruction (e.g. postPythLazerOracleUpdate, placeSignedMsgTakerOrder).
|
|
41
41
|
*
|
|
42
42
|
* @param customInstructionIndex The index of the custom instruction in the transaction (e.g. if tx contains compute budget limit, compute budget price, ed25519 verify, custom ix, this would be 3).
|
|
43
43
|
* @param messageOffset The offset within the custom instruction data where the signed message begins.
|