@velocity-exchange/sdk 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/bun.lock +23 -1
- package/lib/browser/accounts/basicUserAccountSubscriber.d.ts +5 -3
- package/lib/browser/accounts/basicUserAccountSubscriber.js +4 -3
- package/lib/browser/accounts/basicUserStatsAccountSubscriber.d.ts +5 -3
- package/lib/browser/accounts/basicUserStatsAccountSubscriber.js +4 -3
- package/lib/browser/accounts/bulkAccountLoader.d.ts +5 -5
- package/lib/browser/accounts/bulkAccountLoader.js +12 -1
- package/lib/browser/accounts/grpcAccountSubscriber.d.ts +2 -1
- package/lib/browser/accounts/grpcAccountSubscriber.js +8 -2
- package/lib/browser/accounts/grpcMultiAccountSubscriber.d.ts +3 -2
- package/lib/browser/accounts/grpcMultiAccountSubscriber.js +13 -5
- package/lib/browser/accounts/grpcMultiUserAccountSubscriber.d.ts +2 -1
- package/lib/browser/accounts/grpcMultiUserAccountSubscriber.js +12 -8
- package/lib/browser/accounts/grpcProgramAccountSubscriber.d.ts +2 -1
- package/lib/browser/accounts/grpcProgramAccountSubscriber.js +8 -2
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.js +18 -3
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +1 -1
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.js +40 -17
- package/lib/browser/accounts/laserProgramAccountSubscriber.js +3 -0
- package/lib/browser/accounts/oneShotUserAccountSubscriber.js +4 -3
- package/lib/browser/accounts/oneShotUserStatsAccountSubscriber.js +7 -3
- package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +4 -2
- package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.js +3 -3
- package/lib/browser/accounts/pollingOracleAccountSubscriber.d.ts +0 -2
- package/lib/browser/accounts/pollingOracleAccountSubscriber.js +16 -5
- package/lib/browser/accounts/pollingTokenAccountSubscriber.d.ts +0 -2
- package/lib/browser/accounts/pollingTokenAccountSubscriber.js +16 -5
- package/lib/browser/accounts/pollingUserAccountSubscriber.d.ts +8 -4
- package/lib/browser/accounts/pollingUserAccountSubscriber.js +17 -11
- package/lib/browser/accounts/pollingUserStatsAccountSubscriber.d.ts +4 -2
- package/lib/browser/accounts/pollingUserStatsAccountSubscriber.js +6 -6
- package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.d.ts +7 -1
- package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.js +64 -28
- package/lib/browser/accounts/types.d.ts +4 -4
- package/lib/browser/accounts/utils.d.ts +1 -0
- package/lib/browser/accounts/utils.js +8 -1
- package/lib/browser/accounts/webSocketAccountSubscriber.d.ts +4 -2
- package/lib/browser/accounts/webSocketAccountSubscriber.js +17 -5
- package/lib/browser/accounts/webSocketAccountSubscriberV2.d.ts +4 -2
- package/lib/browser/accounts/webSocketAccountSubscriberV2.js +17 -6
- package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +4 -2
- package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +9 -0
- package/lib/browser/accounts/webSocketProgramAccountSubscriber.d.ts +3 -1
- package/lib/browser/accounts/webSocketProgramAccountSubscriber.js +14 -3
- package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.d.ts +3 -1
- package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.js +15 -3
- package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.d.ts +3 -1
- package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.js +14 -4
- package/lib/browser/accounts/webSocketUserAccountSubscriber.d.ts +4 -2
- package/lib/browser/accounts/webSocketUserAccountSubscriber.js +9 -0
- package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.d.ts +4 -2
- package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.js +9 -0
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.d.ts +4 -4
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.js +48 -20
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +7 -3
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.js +45 -14
- package/lib/browser/accounts/websocketProgramUserAccountSubscriber.d.ts +1 -1
- package/lib/browser/accounts/websocketProgramUserAccountSubscriber.js +0 -3
- package/lib/browser/addresses/marketAddresses.js +3 -2
- package/lib/browser/addresses/pda.d.ts +0 -2
- package/lib/browser/addresses/pda.js +1 -14
- package/lib/browser/adminClient.d.ts +24 -28
- package/lib/browser/adminClient.js +156 -157
- package/lib/browser/auctionSubscriber/auctionSubscriber.d.ts +1 -1
- package/lib/browser/auctionSubscriber/auctionSubscriber.js +6 -4
- package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.d.ts +1 -1
- package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.js +9 -4
- package/lib/browser/bankrun/bankrunConnection.d.ts +6 -4
- package/lib/browser/bankrun/bankrunConnection.js +69 -31
- package/lib/browser/blockhashSubscriber/BlockhashSubscriber.d.ts +1 -1
- package/lib/browser/blockhashSubscriber/BlockhashSubscriber.js +3 -2
- package/lib/browser/clock/clockSubscriber.d.ts +6 -6
- package/lib/browser/clock/clockSubscriber.js +4 -3
- package/lib/browser/config.d.ts +1 -1
- package/lib/browser/config.js +8 -4
- package/lib/browser/constants/index.d.ts +1 -2
- package/lib/browser/constants/index.js +1 -2
- package/lib/browser/constants/numericConstants.d.ts +1 -3
- package/lib/browser/constants/numericConstants.js +3 -5
- package/lib/browser/constituentMap/constituentMap.js +5 -1
- package/lib/browser/constituentMap/pollingConstituentAccountSubscriber.js +3 -2
- package/lib/browser/constituentMap/webSocketConstituentAccountSubscriber.d.ts +2 -3
- package/lib/browser/constituentMap/webSocketConstituentAccountSubscriber.js +10 -3
- package/lib/browser/core/instructions/perpOrders.d.ts +14 -0
- package/lib/browser/core/instructions/perpOrders.js +14 -0
- package/lib/browser/core/remainingAccounts.d.ts +2 -2
- package/lib/browser/core/remainingAccounts.js +2 -2
- package/lib/browser/decode/user.js +9 -1
- package/lib/browser/dlob/DLOB.d.ts +6 -1
- package/lib/browser/dlob/DLOB.js +201 -138
- package/lib/browser/dlob/DLOBNode.d.ts +5 -2
- package/lib/browser/dlob/DLOBNode.js +7 -0
- package/lib/browser/dlob/DLOBSubscriber.js +37 -32
- package/lib/browser/dlob/NodeList.js +8 -7
- package/lib/browser/dlob/orderBookLevels.js +19 -12
- package/lib/browser/events/eventList.js +4 -1
- package/lib/browser/events/eventSubscriber.d.ts +5 -2
- package/lib/browser/events/eventSubscriber.js +75 -26
- package/lib/browser/events/eventsServerLogProvider.d.ts +1 -1
- package/lib/browser/events/eventsServerLogProvider.js +15 -8
- package/lib/browser/events/fetchLogs.d.ts +1 -1
- package/lib/browser/events/fetchLogs.js +4 -2
- package/lib/browser/events/pollingLogProvider.d.ts +1 -1
- package/lib/browser/events/pollingLogProvider.js +1 -0
- package/lib/browser/events/txEventCache.js +6 -2
- package/lib/browser/events/types.d.ts +2 -4
- package/lib/browser/events/types.js +0 -2
- package/lib/browser/events/webSocketLogProvider.d.ts +1 -1
- package/lib/browser/events/webSocketLogProvider.js +5 -2
- package/lib/browser/factory/bigNum.js +1 -1
- package/lib/browser/idl/velocity.d.ts +1243 -1586
- package/lib/browser/idl/velocity.json +1234 -1577
- package/lib/browser/index.d.ts +0 -2
- package/lib/browser/index.js +0 -2
- package/lib/browser/jupiter/jupiterClient.d.ts +1 -1
- package/lib/browser/jupiter/jupiterClient.js +18 -8
- package/lib/browser/marginCalculation.js +1 -0
- package/lib/browser/math/amm.d.ts +31 -13
- package/lib/browser/math/amm.js +77 -22
- package/lib/browser/math/bankruptcy.js +1 -1
- package/lib/browser/math/funding.js +6 -6
- package/lib/browser/math/insurance.d.ts +1 -1
- package/lib/browser/math/insurance.js +4 -5
- package/lib/browser/math/margin.d.ts +1 -9
- package/lib/browser/math/margin.js +3 -62
- package/lib/browser/math/market.d.ts +4 -12
- package/lib/browser/math/market.js +6 -40
- package/lib/browser/math/oracles.d.ts +0 -3
- package/lib/browser/math/oracles.js +1 -14
- package/lib/browser/math/orders.d.ts +0 -5
- package/lib/browser/math/orders.js +2 -74
- package/lib/browser/math/position.d.ts +0 -4
- package/lib/browser/math/position.js +5 -10
- package/lib/browser/math/repeg.d.ts +0 -1
- package/lib/browser/math/repeg.js +1 -23
- package/lib/browser/math/spotBalance.d.ts +4 -4
- package/lib/browser/math/spotBalance.js +6 -6
- package/lib/browser/math/spotMarket.d.ts +0 -6
- package/lib/browser/math/spotMarket.js +1 -16
- package/lib/browser/math/spotPosition.d.ts +4 -4
- package/lib/browser/math/state.d.ts +0 -2
- package/lib/browser/math/state.js +1 -9
- package/lib/browser/math/superStake.d.ts +3 -53
- package/lib/browser/math/superStake.js +16 -13
- package/lib/browser/math/trade.js +6 -6
- package/lib/browser/memcmp.d.ts +0 -1
- package/lib/browser/memcmp.js +1 -10
- package/lib/browser/oracles/prelaunchOracleClient.js +3 -2
- package/lib/browser/oracles/pythClient.js +9 -3
- package/lib/browser/oracles/pythLazerClient.js +3 -2
- package/lib/browser/oracles/utils.d.ts +4 -0
- package/lib/browser/oracles/utils.js +9 -1
- package/lib/browser/orderSubscriber/OrderSubscriber.d.ts +1 -1
- package/lib/browser/orderSubscriber/OrderSubscriber.js +8 -2
- package/lib/browser/priorityFee/heliusPriorityFeeMethod.d.ts +1 -1
- package/lib/browser/priorityFee/priorityFeeSubscriber.d.ts +1 -1
- package/lib/browser/priorityFee/priorityFeeSubscriber.js +32 -8
- package/lib/browser/priorityFee/solanaPriorityFeeMethod.d.ts +1 -1
- package/lib/browser/pyth/types.d.ts +0 -1
- package/lib/browser/slot/SlotSubscriber.d.ts +1 -1
- package/lib/browser/slot/SlotSubscriber.js +2 -1
- package/lib/browser/slot/SlothashSubscriber.d.ts +3 -2
- package/lib/browser/slot/SlothashSubscriber.js +11 -4
- package/lib/browser/swift/grpcSignedMsgUserAccountSubscriber.d.ts +0 -3
- package/lib/browser/swift/grpcSignedMsgUserAccountSubscriber.js +5 -5
- package/lib/browser/swift/signedMsgUserAccountSubscriber.d.ts +3 -2
- package/lib/browser/swift/signedMsgUserAccountSubscriber.js +13 -5
- package/lib/browser/swift/swiftOrderSubscriber.d.ts +1 -1
- package/lib/browser/swift/swiftOrderSubscriber.js +10 -5
- package/lib/browser/testClient.js +3 -2
- package/lib/browser/tokenFaucet.js +16 -2
- package/lib/browser/tx/baseTxSender.d.ts +4 -4
- package/lib/browser/tx/baseTxSender.js +5 -4
- package/lib/browser/tx/fastSingleTxSender.d.ts +3 -3
- package/lib/browser/tx/fastSingleTxSender.js +9 -5
- package/lib/browser/tx/reportTransactionError.d.ts +2 -2
- package/lib/browser/tx/reportTransactionError.js +5 -1
- package/lib/browser/tx/retryTxSender.d.ts +1 -1
- package/lib/browser/tx/retryTxSender.js +4 -2
- package/lib/browser/tx/txHandler.d.ts +7 -1
- package/lib/browser/tx/txHandler.js +54 -40
- package/lib/browser/tx/txParamProcessor.d.ts +4 -1
- package/lib/browser/tx/txParamProcessor.js +6 -0
- package/lib/browser/tx/types.d.ts +1 -1
- package/lib/browser/tx/whileValidTxSender.d.ts +1 -6
- package/lib/browser/tx/whileValidTxSender.js +35 -13
- package/lib/browser/types.d.ts +27 -70
- package/lib/browser/types.js +2 -2
- package/lib/browser/user.d.ts +21 -7
- package/lib/browser/user.js +156 -132
- package/lib/browser/userMap/WebsocketSubscription.d.ts +1 -1
- package/lib/browser/userMap/grpcSubscription.d.ts +1 -1
- package/lib/browser/userMap/referrerMap.js +10 -3
- package/lib/browser/userMap/revenueShareEscrowMap.js +4 -0
- package/lib/browser/userMap/userMap.d.ts +1 -1
- package/lib/browser/userMap/userMap.js +36 -23
- package/lib/browser/userMap/userStatsMap.d.ts +1 -1
- package/lib/browser/userMap/userStatsMap.js +18 -13
- package/lib/browser/userStats.d.ts +7 -2
- package/lib/browser/userStats.js +18 -4
- package/lib/browser/util/TransactionConfirmationManager.js +4 -2
- package/lib/browser/util/chainClock.d.ts +1 -1
- package/lib/browser/util/computeUnits.d.ts +1 -1
- package/lib/browser/util/computeUnits.js +6 -1
- package/lib/browser/velocityClient.d.ts +92 -34
- package/lib/browser/velocityClient.js +414 -280
- package/lib/node/accounts/basicUserAccountSubscriber.d.ts +5 -3
- package/lib/node/accounts/basicUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/basicUserAccountSubscriber.js +4 -3
- package/lib/node/accounts/basicUserStatsAccountSubscriber.d.ts +5 -3
- package/lib/node/accounts/basicUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/basicUserStatsAccountSubscriber.js +4 -3
- package/lib/node/accounts/bulkAccountLoader.d.ts +5 -5
- package/lib/node/accounts/bulkAccountLoader.d.ts.map +1 -1
- package/lib/node/accounts/bulkAccountLoader.js +12 -1
- package/lib/node/accounts/grpcAccountSubscriber.d.ts +2 -1
- package/lib/node/accounts/grpcAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcAccountSubscriber.js +8 -2
- package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts +3 -2
- package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcMultiAccountSubscriber.js +13 -5
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts +2 -1
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.js +12 -8
- package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts +2 -1
- package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcProgramAccountSubscriber.js +8 -2
- package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcVelocityClientAccountSubscriber.js +18 -3
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +1 -1
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.js +40 -17
- package/lib/node/accounts/laserProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/laserProgramAccountSubscriber.js +3 -0
- package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/oneShotUserAccountSubscriber.js +4 -3
- package/lib/node/accounts/oneShotUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/oneShotUserStatsAccountSubscriber.js +7 -3
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +4 -2
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.js +3 -3
- package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts +0 -2
- package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingOracleAccountSubscriber.js +16 -5
- package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts +0 -2
- package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingTokenAccountSubscriber.js +16 -5
- package/lib/node/accounts/pollingUserAccountSubscriber.d.ts +8 -4
- package/lib/node/accounts/pollingUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingUserAccountSubscriber.js +17 -11
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts +4 -2
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.js +6 -6
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts +7 -1
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.js +64 -28
- package/lib/node/accounts/types.d.ts +4 -4
- package/lib/node/accounts/types.d.ts.map +1 -1
- package/lib/node/accounts/utils.d.ts +1 -0
- package/lib/node/accounts/utils.d.ts.map +1 -1
- package/lib/node/accounts/utils.js +8 -1
- package/lib/node/accounts/webSocketAccountSubscriber.d.ts +4 -2
- package/lib/node/accounts/webSocketAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketAccountSubscriber.js +17 -5
- package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts +4 -2
- package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketAccountSubscriberV2.js +17 -6
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +4 -2
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +9 -0
- package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts +3 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriber.js +14 -3
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts +3 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.js +15 -3
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts +3 -1
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.js +14 -4
- package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts +4 -2
- package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketUserAccountSubscriber.js +9 -0
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts +4 -2
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.js +9 -0
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts +4 -4
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.js +48 -20
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +7 -3
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.js +45 -14
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts +1 -1
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.js +0 -3
- package/lib/node/addresses/marketAddresses.d.ts.map +1 -1
- package/lib/node/addresses/marketAddresses.js +3 -2
- package/lib/node/addresses/pda.d.ts +0 -2
- package/lib/node/addresses/pda.d.ts.map +1 -1
- package/lib/node/addresses/pda.js +1 -14
- package/lib/node/adminClient.d.ts +24 -28
- package/lib/node/adminClient.d.ts.map +1 -1
- package/lib/node/adminClient.js +156 -157
- package/lib/node/auctionSubscriber/auctionSubscriber.d.ts +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriber.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriber.js +6 -4
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +9 -4
- package/lib/node/bankrun/bankrunConnection.d.ts +6 -4
- package/lib/node/bankrun/bankrunConnection.d.ts.map +1 -1
- package/lib/node/bankrun/bankrunConnection.js +69 -31
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts +1 -1
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts.map +1 -1
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.js +3 -2
- package/lib/node/clock/clockSubscriber.d.ts +6 -6
- package/lib/node/clock/clockSubscriber.d.ts.map +1 -1
- package/lib/node/clock/clockSubscriber.js +4 -3
- package/lib/node/config.d.ts +1 -1
- package/lib/node/config.d.ts.map +1 -1
- package/lib/node/config.js +8 -4
- package/lib/node/constants/index.d.ts +1 -2
- package/lib/node/constants/index.d.ts.map +1 -1
- package/lib/node/constants/index.js +1 -2
- package/lib/node/constants/numericConstants.d.ts +1 -3
- package/lib/node/constants/numericConstants.d.ts.map +1 -1
- package/lib/node/constants/numericConstants.js +3 -5
- package/lib/node/constituentMap/constituentMap.d.ts.map +1 -1
- package/lib/node/constituentMap/constituentMap.js +5 -1
- package/lib/node/constituentMap/pollingConstituentAccountSubscriber.d.ts.map +1 -1
- package/lib/node/constituentMap/pollingConstituentAccountSubscriber.js +3 -2
- package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.d.ts +2 -3
- package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.d.ts.map +1 -1
- package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.js +10 -3
- package/lib/node/core/instructions/perpOrders.d.ts +14 -0
- package/lib/node/core/instructions/perpOrders.d.ts.map +1 -1
- package/lib/node/core/instructions/perpOrders.js +14 -0
- package/lib/node/core/remainingAccounts.d.ts +2 -2
- package/lib/node/core/remainingAccounts.d.ts.map +1 -1
- package/lib/node/core/remainingAccounts.js +2 -2
- package/lib/node/decode/user.d.ts.map +1 -1
- package/lib/node/decode/user.js +9 -1
- package/lib/node/dlob/DLOB.d.ts +6 -1
- package/lib/node/dlob/DLOB.d.ts.map +1 -1
- package/lib/node/dlob/DLOB.js +201 -138
- package/lib/node/dlob/DLOBNode.d.ts +5 -2
- package/lib/node/dlob/DLOBNode.d.ts.map +1 -1
- package/lib/node/dlob/DLOBNode.js +7 -0
- package/lib/node/dlob/DLOBSubscriber.d.ts.map +1 -1
- package/lib/node/dlob/DLOBSubscriber.js +37 -32
- package/lib/node/dlob/NodeList.d.ts.map +1 -1
- package/lib/node/dlob/NodeList.js +8 -7
- package/lib/node/dlob/orderBookLevels.d.ts.map +1 -1
- package/lib/node/dlob/orderBookLevels.js +19 -12
- package/lib/node/events/eventList.d.ts +3 -3
- package/lib/node/events/eventList.d.ts.map +1 -1
- package/lib/node/events/eventList.js +4 -1
- package/lib/node/events/eventSubscriber.d.ts +5 -2
- package/lib/node/events/eventSubscriber.d.ts.map +1 -1
- package/lib/node/events/eventSubscriber.js +75 -26
- package/lib/node/events/eventsServerLogProvider.d.ts +2 -2
- package/lib/node/events/eventsServerLogProvider.d.ts.map +1 -1
- package/lib/node/events/eventsServerLogProvider.js +15 -8
- package/lib/node/events/fetchLogs.d.ts +1 -1
- package/lib/node/events/fetchLogs.d.ts.map +1 -1
- package/lib/node/events/fetchLogs.js +4 -2
- package/lib/node/events/pollingLogProvider.d.ts +2 -2
- package/lib/node/events/pollingLogProvider.d.ts.map +1 -1
- package/lib/node/events/pollingLogProvider.js +1 -0
- package/lib/node/events/txEventCache.d.ts +3 -3
- package/lib/node/events/txEventCache.d.ts.map +1 -1
- package/lib/node/events/txEventCache.js +6 -2
- package/lib/node/events/types.d.ts +2 -4
- package/lib/node/events/types.d.ts.map +1 -1
- package/lib/node/events/types.js +0 -2
- package/lib/node/events/webSocketLogProvider.d.ts +2 -2
- package/lib/node/events/webSocketLogProvider.d.ts.map +1 -1
- package/lib/node/events/webSocketLogProvider.js +5 -2
- package/lib/node/factory/bigNum.js +1 -1
- package/lib/node/idl/velocity.d.ts +1243 -1586
- package/lib/node/idl/velocity.d.ts.map +1 -1
- package/lib/node/idl/velocity.json +1234 -1577
- package/lib/node/index.d.ts +0 -2
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +0 -2
- package/lib/node/jupiter/jupiterClient.d.ts +1 -1
- package/lib/node/jupiter/jupiterClient.d.ts.map +1 -1
- package/lib/node/jupiter/jupiterClient.js +18 -8
- package/lib/node/marginCalculation.d.ts.map +1 -1
- package/lib/node/marginCalculation.js +1 -0
- package/lib/node/math/amm.d.ts +31 -13
- package/lib/node/math/amm.d.ts.map +1 -1
- package/lib/node/math/amm.js +77 -22
- package/lib/node/math/bankruptcy.js +1 -1
- package/lib/node/math/funding.d.ts.map +1 -1
- package/lib/node/math/funding.js +6 -6
- package/lib/node/math/insurance.d.ts +1 -1
- package/lib/node/math/insurance.d.ts.map +1 -1
- package/lib/node/math/insurance.js +4 -5
- package/lib/node/math/margin.d.ts +1 -9
- package/lib/node/math/margin.d.ts.map +1 -1
- package/lib/node/math/margin.js +3 -62
- package/lib/node/math/market.d.ts +4 -12
- package/lib/node/math/market.d.ts.map +1 -1
- package/lib/node/math/market.js +6 -40
- package/lib/node/math/oracles.d.ts +0 -3
- package/lib/node/math/oracles.d.ts.map +1 -1
- package/lib/node/math/oracles.js +1 -14
- package/lib/node/math/orders.d.ts +0 -5
- package/lib/node/math/orders.d.ts.map +1 -1
- package/lib/node/math/orders.js +2 -74
- package/lib/node/math/position.d.ts +1 -5
- package/lib/node/math/position.d.ts.map +1 -1
- package/lib/node/math/position.js +5 -10
- package/lib/node/math/repeg.d.ts +0 -1
- package/lib/node/math/repeg.d.ts.map +1 -1
- package/lib/node/math/repeg.js +1 -23
- package/lib/node/math/spotBalance.d.ts +4 -4
- package/lib/node/math/spotBalance.d.ts.map +1 -1
- package/lib/node/math/spotBalance.js +6 -6
- package/lib/node/math/spotMarket.d.ts +0 -6
- package/lib/node/math/spotMarket.d.ts.map +1 -1
- package/lib/node/math/spotMarket.js +1 -16
- package/lib/node/math/spotPosition.d.ts +4 -4
- package/lib/node/math/spotPosition.d.ts.map +1 -1
- package/lib/node/math/state.d.ts +0 -2
- package/lib/node/math/state.d.ts.map +1 -1
- package/lib/node/math/state.js +1 -9
- package/lib/node/math/superStake.d.ts +3 -53
- package/lib/node/math/superStake.d.ts.map +1 -1
- package/lib/node/math/superStake.js +16 -13
- package/lib/node/math/trade.d.ts +2 -2
- package/lib/node/math/trade.d.ts.map +1 -1
- package/lib/node/math/trade.js +6 -6
- package/lib/node/memcmp.d.ts +0 -1
- package/lib/node/memcmp.d.ts.map +1 -1
- package/lib/node/memcmp.js +1 -10
- package/lib/node/oracles/oracleClientCache.d.ts +1 -1
- package/lib/node/oracles/prelaunchOracleClient.d.ts.map +1 -1
- package/lib/node/oracles/prelaunchOracleClient.js +3 -2
- package/lib/node/oracles/pythClient.d.ts.map +1 -1
- package/lib/node/oracles/pythClient.js +9 -3
- package/lib/node/oracles/pythLazerClient.d.ts.map +1 -1
- package/lib/node/oracles/pythLazerClient.js +3 -2
- package/lib/node/oracles/utils.d.ts +4 -0
- package/lib/node/oracles/utils.d.ts.map +1 -1
- package/lib/node/oracles/utils.js +9 -1
- package/lib/node/orderSubscriber/OrderSubscriber.d.ts +1 -1
- package/lib/node/orderSubscriber/OrderSubscriber.d.ts.map +1 -1
- package/lib/node/orderSubscriber/OrderSubscriber.js +8 -2
- package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts +1 -1
- package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts.map +1 -1
- package/lib/node/priorityFee/priorityFeeSubscriber.d.ts +1 -1
- package/lib/node/priorityFee/priorityFeeSubscriber.d.ts.map +1 -1
- package/lib/node/priorityFee/priorityFeeSubscriber.js +32 -8
- package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts +1 -1
- package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts.map +1 -1
- package/lib/node/pyth/types.d.ts +0 -1
- package/lib/node/pyth/types.d.ts.map +1 -1
- package/lib/node/slot/SlotSubscriber.d.ts +1 -1
- package/lib/node/slot/SlotSubscriber.d.ts.map +1 -1
- package/lib/node/slot/SlotSubscriber.js +2 -1
- package/lib/node/slot/SlothashSubscriber.d.ts +3 -2
- package/lib/node/slot/SlothashSubscriber.d.ts.map +1 -1
- package/lib/node/slot/SlothashSubscriber.js +11 -4
- package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.d.ts +0 -3
- package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.js +5 -5
- package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts +3 -2
- package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/swift/signedMsgUserAccountSubscriber.js +13 -5
- package/lib/node/swift/swiftOrderSubscriber.d.ts +1 -1
- package/lib/node/swift/swiftOrderSubscriber.d.ts.map +1 -1
- package/lib/node/swift/swiftOrderSubscriber.js +10 -5
- package/lib/node/testClient.js +3 -2
- package/lib/node/tokenFaucet.d.ts.map +1 -1
- package/lib/node/tokenFaucet.js +16 -2
- package/lib/node/tx/baseTxSender.d.ts +4 -4
- package/lib/node/tx/baseTxSender.d.ts.map +1 -1
- package/lib/node/tx/baseTxSender.js +5 -4
- package/lib/node/tx/fastSingleTxSender.d.ts +3 -3
- package/lib/node/tx/fastSingleTxSender.d.ts.map +1 -1
- package/lib/node/tx/fastSingleTxSender.js +9 -5
- package/lib/node/tx/reportTransactionError.d.ts +2 -2
- package/lib/node/tx/reportTransactionError.d.ts.map +1 -1
- package/lib/node/tx/reportTransactionError.js +5 -1
- package/lib/node/tx/retryTxSender.d.ts +1 -1
- package/lib/node/tx/retryTxSender.d.ts.map +1 -1
- package/lib/node/tx/retryTxSender.js +4 -2
- package/lib/node/tx/txHandler.d.ts +9 -3
- package/lib/node/tx/txHandler.d.ts.map +1 -1
- package/lib/node/tx/txHandler.js +54 -40
- package/lib/node/tx/txParamProcessor.d.ts +4 -1
- package/lib/node/tx/txParamProcessor.d.ts.map +1 -1
- package/lib/node/tx/txParamProcessor.js +6 -0
- package/lib/node/tx/types.d.ts +1 -1
- package/lib/node/tx/types.d.ts.map +1 -1
- package/lib/node/tx/whileValidTxSender.d.ts +1 -6
- package/lib/node/tx/whileValidTxSender.d.ts.map +1 -1
- package/lib/node/tx/whileValidTxSender.js +35 -13
- package/lib/node/types.d.ts +25 -68
- package/lib/node/types.d.ts.map +1 -1
- package/lib/node/types.js +2 -2
- package/lib/node/user.d.ts +21 -7
- package/lib/node/user.d.ts.map +1 -1
- package/lib/node/user.js +156 -132
- package/lib/node/userMap/WebsocketSubscription.d.ts +1 -1
- package/lib/node/userMap/WebsocketSubscription.d.ts.map +1 -1
- package/lib/node/userMap/grpcSubscription.d.ts +1 -1
- package/lib/node/userMap/grpcSubscription.d.ts.map +1 -1
- package/lib/node/userMap/referrerMap.d.ts.map +1 -1
- package/lib/node/userMap/referrerMap.js +10 -3
- package/lib/node/userMap/revenueShareEscrowMap.d.ts.map +1 -1
- package/lib/node/userMap/revenueShareEscrowMap.js +4 -0
- package/lib/node/userMap/userMap.d.ts +1 -1
- package/lib/node/userMap/userMap.d.ts.map +1 -1
- package/lib/node/userMap/userMap.js +36 -23
- 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 +18 -13
- package/lib/node/userStats.d.ts +7 -2
- package/lib/node/userStats.d.ts.map +1 -1
- package/lib/node/userStats.js +18 -4
- package/lib/node/util/TransactionConfirmationManager.d.ts.map +1 -1
- package/lib/node/util/TransactionConfirmationManager.js +4 -2
- package/lib/node/util/chainClock.d.ts +1 -1
- package/lib/node/util/chainClock.d.ts.map +1 -1
- package/lib/node/util/computeUnits.d.ts +1 -1
- package/lib/node/util/computeUnits.d.ts.map +1 -1
- package/lib/node/util/computeUnits.js +6 -1
- package/lib/node/velocityClient.d.ts +93 -35
- package/lib/node/velocityClient.d.ts.map +1 -1
- package/lib/node/velocityClient.js +414 -280
- package/package.json +5 -3
- package/src/accounts/basicUserAccountSubscriber.ts +7 -5
- package/src/accounts/basicUserStatsAccountSubscriber.ts +9 -5
- package/src/accounts/bulkAccountLoader.ts +20 -7
- package/src/accounts/grpcAccountSubscriber.ts +11 -3
- package/src/accounts/grpcMultiAccountSubscriber.ts +24 -9
- package/src/accounts/grpcMultiUserAccountSubscriber.ts +16 -12
- package/src/accounts/grpcProgramAccountSubscriber.ts +11 -3
- package/src/accounts/grpcVelocityClientAccountSubscriber.ts +17 -7
- package/src/accounts/grpcVelocityClientAccountSubscriberV2.ts +66 -39
- package/src/accounts/laserProgramAccountSubscriber.ts +3 -0
- package/src/accounts/oneShotUserAccountSubscriber.ts +5 -3
- package/src/accounts/oneShotUserStatsAccountSubscriber.ts +8 -3
- package/src/accounts/pollingInsuranceFundStakeAccountSubscriber.ts +11 -5
- package/src/accounts/pollingOracleAccountSubscriber.ts +17 -10
- package/src/accounts/pollingTokenAccountSubscriber.ts +17 -10
- package/src/accounts/pollingUserAccountSubscriber.ts +26 -20
- package/src/accounts/pollingUserStatsAccountSubscriber.ts +12 -10
- package/src/accounts/pollingVelocityClientAccountSubscriber.ts +76 -30
- package/src/accounts/types.ts +6 -4
- package/src/accounts/utils.ts +10 -0
- package/src/accounts/webSocketAccountSubscriber.ts +23 -10
- package/src/accounts/webSocketAccountSubscriberV2.ts +23 -8
- package/src/accounts/webSocketInsuranceFundStakeAccountSubscriber.ts +17 -2
- package/src/accounts/webSocketProgramAccountSubscriber.ts +29 -4
- package/src/accounts/webSocketProgramAccountSubscriberV2.ts +30 -4
- package/src/accounts/webSocketProgramAccountsSubscriberV2.ts +29 -4
- package/src/accounts/webSocketUserAccountSubscriber.ts +11 -2
- package/src/accounts/webSocketUserStatsAccountSubsriber.ts +15 -2
- package/src/accounts/webSocketVelocityClientAccountSubscriber.ts +76 -48
- package/src/accounts/webSocketVelocityClientAccountSubscriberV2.ts +74 -35
- package/src/accounts/websocketProgramUserAccountSubscriber.ts +1 -6
- package/src/addresses/marketAddresses.ts +3 -2
- package/src/addresses/pda.ts +0 -25
- package/src/adminClient.ts +273 -303
- package/src/auctionSubscriber/auctionSubscriber.ts +7 -5
- package/src/auctionSubscriber/auctionSubscriberGrpc.ts +12 -5
- package/src/bankrun/bankrunConnection.ts +83 -39
- package/src/blockhashSubscriber/BlockhashSubscriber.ts +5 -4
- package/src/clock/clockSubscriber.ts +10 -9
- package/src/config.ts +8 -3
- package/src/constants/index.ts +1 -2
- package/src/constants/numericConstants.ts +3 -3
- package/src/constituentMap/constituentMap.ts +8 -1
- package/src/constituentMap/pollingConstituentAccountSubscriber.ts +4 -2
- package/src/constituentMap/webSocketConstituentAccountSubscriber.ts +13 -4
- package/src/core/instructions/perpOrders.ts +14 -0
- package/src/core/remainingAccounts.ts +4 -4
- package/src/decode/user.ts +8 -1
- package/src/dlob/DLOB.ts +296 -172
- package/src/dlob/DLOBNode.ts +23 -3
- package/src/dlob/DLOBSubscriber.ts +51 -34
- package/src/dlob/NodeList.ts +8 -7
- package/src/dlob/orderBookLevels.ts +45 -25
- package/src/events/eventList.ts +4 -1
- package/src/events/eventSubscriber.ts +107 -49
- package/src/events/eventsServerLogProvider.ts +22 -13
- package/src/events/fetchLogs.ts +3 -3
- package/src/events/pollingLogProvider.ts +2 -2
- package/src/events/txEventCache.ts +8 -2
- package/src/events/types.ts +0 -8
- package/src/events/webSocketLogProvider.ts +5 -3
- package/src/factory/bigNum.ts +2 -2
- package/src/idl/velocity.json +1234 -1577
- package/src/idl/velocity.ts +1234 -1577
- package/src/index.ts +0 -2
- package/src/jupiter/jupiterClient.ts +30 -10
- package/src/marginCalculation.ts +1 -0
- package/src/math/amm.ts +188 -33
- package/src/math/bankruptcy.ts +1 -1
- package/src/math/funding.ts +7 -6
- package/src/math/insurance.ts +6 -8
- package/src/math/margin.ts +5 -112
- package/src/math/market.ts +6 -96
- package/src/math/oracles.ts +0 -17
- package/src/math/orders.ts +1 -110
- package/src/math/position.ts +4 -16
- package/src/math/repeg.ts +0 -29
- package/src/math/spotBalance.ts +14 -10
- package/src/math/spotMarket.ts +2 -28
- package/src/math/spotPosition.ts +4 -4
- package/src/math/state.ts +0 -8
- package/src/math/superStake.ts +19 -65
- package/src/math/trade.ts +2 -6
- package/src/memcmp.ts +0 -9
- package/src/oracles/prelaunchOracleClient.ts +7 -2
- package/src/oracles/pythClient.ts +12 -3
- package/src/oracles/pythLazerClient.ts +7 -2
- package/src/oracles/utils.ts +15 -0
- package/src/orderSubscriber/OrderSubscriber.ts +10 -4
- package/src/priorityFee/heliusPriorityFeeMethod.ts +1 -1
- package/src/priorityFee/priorityFeeSubscriber.ts +45 -9
- package/src/priorityFee/solanaPriorityFeeMethod.ts +1 -1
- package/src/pyth/types.ts +0 -2
- package/src/slot/SlotSubscriber.ts +3 -3
- package/src/slot/SlothashSubscriber.ts +17 -6
- package/src/swift/grpcSignedMsgUserAccountSubscriber.ts +5 -6
- package/src/swift/signedMsgUserAccountSubscriber.ts +16 -8
- package/src/swift/swiftOrderSubscriber.ts +10 -9
- package/src/testClient.ts +2 -2
- package/src/tokenFaucet.ts +22 -3
- package/src/tx/baseTxSender.ts +10 -10
- package/src/tx/fastSingleTxSender.ts +12 -8
- package/src/tx/reportTransactionError.ts +12 -7
- package/src/tx/retryTxSender.ts +6 -4
- package/src/tx/txHandler.ts +88 -43
- package/src/tx/txParamProcessor.ts +18 -3
- package/src/tx/types.ts +1 -1
- package/src/tx/whileValidTxSender.ts +51 -22
- package/src/types.ts +39 -75
- package/src/user.ts +200 -152
- package/src/userMap/WebsocketSubscription.ts +1 -1
- package/src/userMap/grpcSubscription.ts +1 -1
- package/src/userMap/referrerMap.ts +13 -9
- package/src/userMap/revenueShareEscrowMap.ts +6 -1
- package/src/userMap/userMap.ts +43 -25
- package/src/userMap/userStatsMap.ts +32 -19
- package/src/userStats.ts +21 -8
- package/src/util/TransactionConfirmationManager.ts +10 -2
- package/src/util/chainClock.ts +1 -1
- package/src/util/computeUnits.ts +7 -3
- package/src/velocityClient.ts +536 -383
- package/tests/amm/test.ts +138 -0
- package/tests/dlob/helpers.ts +6 -1
- package/tsconfig.json +1 -0
- package/lib/browser/constants/insuranceFund.d.ts +0 -5
- package/lib/browser/constants/insuranceFund.js +0 -9
- package/lib/browser/tx/forwardOnlyTxSender.d.ts +0 -37
- package/lib/browser/tx/forwardOnlyTxSender.js +0 -92
- package/lib/browser/util/tps.d.ts +0 -2
- package/lib/browser/util/tps.js +0 -16
- package/lib/node/constants/insuranceFund.d.ts +0 -6
- package/lib/node/constants/insuranceFund.d.ts.map +0 -1
- package/lib/node/constants/insuranceFund.js +0 -9
- package/lib/node/tx/forwardOnlyTxSender.d.ts +0 -38
- package/lib/node/tx/forwardOnlyTxSender.d.ts.map +0 -1
- package/lib/node/tx/forwardOnlyTxSender.js +0 -92
- package/lib/node/util/tps.d.ts +0 -3
- package/lib/node/util/tps.d.ts.map +0 -1
- package/lib/node/util/tps.js +0 -16
- package/src/constants/insuranceFund.ts +0 -8
- package/src/tx/forwardOnlyTxSender.ts +0 -145
- package/src/util/tps.ts +0 -27
|
@@ -60,6 +60,9 @@ class WhileValidTxSender extends baseTxSender_1.BaseTxSender {
|
|
|
60
60
|
async prepareTx(tx, additionalSigners, opts, preSigned) {
|
|
61
61
|
var _a;
|
|
62
62
|
let latestBlockhash = await this.txHandler.getLatestBlockhashForTransaction();
|
|
63
|
+
if (!latestBlockhash) {
|
|
64
|
+
throw new Error('WhileValidTxSender: failed to fetch latest blockhash for transaction');
|
|
65
|
+
}
|
|
63
66
|
// handle tx
|
|
64
67
|
let signedTx = tx;
|
|
65
68
|
if (!preSigned) {
|
|
@@ -72,12 +75,22 @@ class WhileValidTxSender extends baseTxSender_1.BaseTxSender {
|
|
|
72
75
|
latestBlockhash = tx.SIGNATURE_BLOCK_AND_EXPIRY;
|
|
73
76
|
}
|
|
74
77
|
// handle subclass-specific side effects
|
|
75
|
-
const
|
|
78
|
+
const signature = (signedTx === null || signedTx === void 0 ? void 0 : signedTx.signature) || ((_a = signedTx.signatures[0]) === null || _a === void 0 ? void 0 : _a.signature);
|
|
79
|
+
if (!signature) {
|
|
80
|
+
throw new Error('WhileValidTxSender: signed transaction is missing a signature');
|
|
81
|
+
}
|
|
82
|
+
const txSig = bs58_1.default.encode(signature);
|
|
83
|
+
if (!latestBlockhash) {
|
|
84
|
+
throw new Error('WhileValidTxSender: failed to resolve latest blockhash for transaction');
|
|
85
|
+
}
|
|
76
86
|
this.untilValid.set(txSig, latestBlockhash);
|
|
77
87
|
return signedTx;
|
|
78
88
|
}
|
|
79
89
|
async sendVersionedTransaction(tx, additionalSigners, opts, preSigned) {
|
|
80
90
|
let latestBlockhash = await this.txHandler.getLatestBlockhashForTransaction();
|
|
91
|
+
if (!latestBlockhash) {
|
|
92
|
+
throw new Error('WhileValidTxSender: failed to fetch latest blockhash for transaction');
|
|
93
|
+
}
|
|
81
94
|
let signedTx;
|
|
82
95
|
if (preSigned) {
|
|
83
96
|
signedTx = tx;
|
|
@@ -100,17 +113,24 @@ class WhileValidTxSender extends baseTxSender_1.BaseTxSender {
|
|
|
100
113
|
additionalSigners === null || additionalSigners === void 0 ? void 0 : additionalSigners.filter((s) => s !== undefined).forEach((kp) => {
|
|
101
114
|
tx.sign([kp]);
|
|
102
115
|
});
|
|
103
|
-
signedTx = await this.txHandler.signVersionedTx(tx, additionalSigners, latestBlockhash);
|
|
116
|
+
signedTx = await this.txHandler.signVersionedTx(tx, additionalSigners !== null && additionalSigners !== void 0 ? additionalSigners : [], latestBlockhash);
|
|
104
117
|
}
|
|
105
118
|
if (opts === undefined) {
|
|
106
119
|
opts = this.opts;
|
|
107
120
|
}
|
|
108
|
-
const
|
|
121
|
+
const signature = signedTx.signatures[0];
|
|
122
|
+
if (!signature) {
|
|
123
|
+
throw new Error('WhileValidTxSender: signed transaction is missing a signature');
|
|
124
|
+
}
|
|
125
|
+
const txSig = bs58_1.default.encode(signature);
|
|
126
|
+
if (!latestBlockhash) {
|
|
127
|
+
throw new Error('WhileValidTxSender: failed to resolve latest blockhash for transaction');
|
|
128
|
+
}
|
|
109
129
|
this.untilValid.set(txSig, latestBlockhash);
|
|
110
130
|
return this.sendRawTransaction(signedTx.serialize(), opts);
|
|
111
131
|
}
|
|
112
132
|
async sendRawTransaction(rawTransaction, opts) {
|
|
113
|
-
var _a, _b, _c
|
|
133
|
+
var _a, _b, _c;
|
|
114
134
|
const startTime = this.getTimestamp();
|
|
115
135
|
const txid = await this.connection.sendRawTransaction(rawTransaction, opts);
|
|
116
136
|
(_a = this.txSigCache) === null || _a === void 0 ? void 0 : _a.set(txid, false);
|
|
@@ -143,16 +163,18 @@ class WhileValidTxSender extends baseTxSender_1.BaseTxSender {
|
|
|
143
163
|
try {
|
|
144
164
|
const result = await this.confirmTransaction(txid, opts.commitment);
|
|
145
165
|
(_b = this.txSigCache) === null || _b === void 0 ? void 0 : _b.set(txid, true);
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
166
|
+
if (result) {
|
|
167
|
+
await this.checkConfirmationResultForError(txid, result.value);
|
|
168
|
+
if (((_c = result.value) === null || _c === void 0 ? void 0 : _c.err) && this.throwOnTransactionError) {
|
|
169
|
+
// Fallback error handling if there's a problem reporting the error in checkConfirmationResultForError
|
|
170
|
+
throw new web3_js_1.SendTransactionError({
|
|
171
|
+
action: 'send',
|
|
172
|
+
signature: txid,
|
|
173
|
+
transactionMessage: `Transaction Failed`,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
slot = result.context.slot;
|
|
154
177
|
}
|
|
155
|
-
slot = (_d = result === null || result === void 0 ? void 0 : result.context) === null || _d === void 0 ? void 0 : _d.slot;
|
|
156
178
|
// eslint-disable-next-line no-useless-catch
|
|
157
179
|
}
|
|
158
180
|
catch (e) {
|
package/lib/browser/types.d.ts
CHANGED
|
@@ -428,8 +428,8 @@ export declare class SettlePnlMode {
|
|
|
428
428
|
mustSettle: {};
|
|
429
429
|
};
|
|
430
430
|
}
|
|
431
|
-
export declare function isVariant(object: unknown, type: string):
|
|
432
|
-
export declare function isOneOfVariant(object: unknown, types: string[]):
|
|
431
|
+
export declare function isVariant(object: unknown, type: string): any;
|
|
432
|
+
export declare function isOneOfVariant(object: unknown, types: string[]): any;
|
|
433
433
|
export declare function getVariant(object: unknown): string;
|
|
434
434
|
export declare enum TradeSide {
|
|
435
435
|
None = 0,
|
|
@@ -720,38 +720,6 @@ export type DeleteUserRecord = {
|
|
|
720
720
|
subAccountId: number;
|
|
721
721
|
keeper: PublicKey | null;
|
|
722
722
|
};
|
|
723
|
-
export type InsuranceFundSwapRecord = {
|
|
724
|
-
rebalanceConfig: PublicKey;
|
|
725
|
-
inIfTotalSharesBefore: BN;
|
|
726
|
-
outIfTotalSharesBefore: BN;
|
|
727
|
-
inIfUserSharesBefore: BN;
|
|
728
|
-
outIfUserSharesBefore: BN;
|
|
729
|
-
inIfTotalSharesAfter: BN;
|
|
730
|
-
outIfTotalSharesAfter: BN;
|
|
731
|
-
inIfUserSharesAfter: BN;
|
|
732
|
-
outIfUserSharesAfter: BN;
|
|
733
|
-
ts: BN;
|
|
734
|
-
inAmount: BN;
|
|
735
|
-
outAmount: BN;
|
|
736
|
-
outOraclePrice: BN;
|
|
737
|
-
outOraclePriceTwap: BN;
|
|
738
|
-
inVaultAmountBefore: BN;
|
|
739
|
-
outVaultAmountBefore: BN;
|
|
740
|
-
inFundVaultAmountAfter: BN;
|
|
741
|
-
outFundVaultAmountAfter: BN;
|
|
742
|
-
inMarketIndex: number;
|
|
743
|
-
outMarketIndex: number;
|
|
744
|
-
};
|
|
745
|
-
export type TransferProtocolIfSharesToRevenuePoolRecord = {
|
|
746
|
-
ts: BN;
|
|
747
|
-
marketIndex: number;
|
|
748
|
-
amount: BN;
|
|
749
|
-
shares: BN;
|
|
750
|
-
ifVaultAmountBefore: BN;
|
|
751
|
-
protocolSharesBefore: BN;
|
|
752
|
-
protocolSharesAfter: BN;
|
|
753
|
-
transferAmount: BN;
|
|
754
|
-
};
|
|
755
723
|
export type LPSwapRecord = {
|
|
756
724
|
ts: BN;
|
|
757
725
|
slot: BN;
|
|
@@ -833,13 +801,15 @@ export type StateAccount = {
|
|
|
833
801
|
hotLpCache: PublicKey;
|
|
834
802
|
hotLpSwap: PublicKey;
|
|
835
803
|
hotLpSettle: PublicKey;
|
|
836
|
-
hotIfRebalance: PublicKey;
|
|
837
804
|
hotFeatureFlag: PublicKey;
|
|
838
805
|
hotFuel: PublicKey;
|
|
839
806
|
hotUserFlag: PublicKey;
|
|
840
807
|
hotVaultDeposit: PublicKey;
|
|
841
808
|
hotMmOracleCrank: PublicKey;
|
|
842
809
|
hotAmmSpreadAdjust: PublicKey;
|
|
810
|
+
hotFeeWithdraw: PublicKey;
|
|
811
|
+
protocolFeeRecipientPerp: PublicKey;
|
|
812
|
+
protocolFeeRecipientSpot: PublicKey;
|
|
843
813
|
exchangeStatus: number;
|
|
844
814
|
whitelistMint: PublicKey;
|
|
845
815
|
discountMint: PublicKey;
|
|
@@ -882,8 +852,12 @@ export type PerpMarketAccount = {
|
|
|
882
852
|
nextFillRecordId: BN;
|
|
883
853
|
nextFundingRateRecordId: BN;
|
|
884
854
|
pnlPool: PoolBalance;
|
|
855
|
+
protocolFeePool: PoolBalance;
|
|
856
|
+
feeLedger: FeeLedger;
|
|
885
857
|
liquidatorFee: number;
|
|
886
858
|
ifLiquidationFee: number;
|
|
859
|
+
protocolLiquidationFee: number;
|
|
860
|
+
feePoolBufferTarget: BN;
|
|
887
861
|
imfFactor: number;
|
|
888
862
|
unrealizedPnlImfFactor: number;
|
|
889
863
|
unrealizedPnlMaxImbalance: BN;
|
|
@@ -921,8 +895,6 @@ export type PerpMarketAccount = {
|
|
|
921
895
|
quoteBreakEvenAmountShort: BN;
|
|
922
896
|
totalSocialLoss: BN;
|
|
923
897
|
maxOpenInterest: BN;
|
|
924
|
-
totalExchangeFee: BN;
|
|
925
|
-
totalLiquidationFee: BN;
|
|
926
898
|
cumulativeFundingRateLong: BN;
|
|
927
899
|
cumulativeFundingRateShort: BN;
|
|
928
900
|
lastFundingRate: BN;
|
|
@@ -930,7 +902,6 @@ export type PerpMarketAccount = {
|
|
|
930
902
|
lastFundingRateShort: BN;
|
|
931
903
|
lastFundingRateTs: BN;
|
|
932
904
|
netUnsettledFundingPnl: BN;
|
|
933
|
-
lastFundingOracleTwap: BN;
|
|
934
905
|
orderStepSize: BN;
|
|
935
906
|
orderTickSize: BN;
|
|
936
907
|
};
|
|
@@ -969,11 +940,13 @@ export type SpotMarketAccount = {
|
|
|
969
940
|
unstakingPeriod: BN;
|
|
970
941
|
lastRevenueSettleTs: BN;
|
|
971
942
|
revenueSettlePeriod: BN;
|
|
972
|
-
|
|
973
|
-
userFactor: number;
|
|
943
|
+
ifFeeFactor: number;
|
|
974
944
|
};
|
|
975
945
|
revenuePool: PoolBalance;
|
|
946
|
+
protocolFeePool: PoolBalance;
|
|
976
947
|
ifLiquidationFee: number;
|
|
948
|
+
protocolLiquidationFee: number;
|
|
949
|
+
protocolFeeFactor: number;
|
|
977
950
|
decimals: number;
|
|
978
951
|
optimalUtilization: number;
|
|
979
952
|
optimalBorrowRate: number;
|
|
@@ -1016,11 +989,20 @@ export type SpotMarketAccount = {
|
|
|
1016
989
|
minBorrowRate: number;
|
|
1017
990
|
tokenProgramFlag: number;
|
|
1018
991
|
poolId: number;
|
|
992
|
+
feeAdjustment: number;
|
|
1019
993
|
};
|
|
1020
994
|
export type PoolBalance = {
|
|
1021
995
|
scaledBalance: BN;
|
|
1022
996
|
marketIndex: number;
|
|
1023
997
|
};
|
|
998
|
+
export type FeeLedger = {
|
|
999
|
+
totalExchangeFee: BN;
|
|
1000
|
+
totalLiquidationFee: BN;
|
|
1001
|
+
pendingProtocolFee: BN;
|
|
1002
|
+
pendingIfFee: BN;
|
|
1003
|
+
ammProtocolFeesReceived: BN;
|
|
1004
|
+
pendingAmmProvision: BN;
|
|
1005
|
+
};
|
|
1024
1006
|
export type AMM = {
|
|
1025
1007
|
feePool: PoolBalance;
|
|
1026
1008
|
baseAssetReserve: BN;
|
|
@@ -1049,6 +1031,7 @@ export type AMM = {
|
|
|
1049
1031
|
ammSpreadAdjustment: number;
|
|
1050
1032
|
ammInventorySpreadAdjustment: number;
|
|
1051
1033
|
referencePriceOffsetDeadbandPct: number;
|
|
1034
|
+
fundingBiasSensitivity: number;
|
|
1052
1035
|
};
|
|
1053
1036
|
export type MarketStats = {
|
|
1054
1037
|
lastMarkPriceTwap: BN;
|
|
@@ -1072,6 +1055,7 @@ export type MarketStats = {
|
|
|
1072
1055
|
lastOracleNormalisedPrice: BN;
|
|
1073
1056
|
lastReferencePriceOffset: number;
|
|
1074
1057
|
lastOracleValid: boolean;
|
|
1058
|
+
lastFundingOracleTwap: BN;
|
|
1075
1059
|
historicalOracleData: HistoricalOracleData;
|
|
1076
1060
|
};
|
|
1077
1061
|
export type PerpPosition = {
|
|
@@ -1110,7 +1094,6 @@ export type UserStatsAccount = {
|
|
|
1110
1094
|
referrerStatus: number;
|
|
1111
1095
|
authority: PublicKey;
|
|
1112
1096
|
ifStakedQuoteAssetAmount: BN;
|
|
1113
|
-
ifStakedGovTokenAmount: BN;
|
|
1114
1097
|
delegatePermissions: number;
|
|
1115
1098
|
};
|
|
1116
1099
|
export type UserAccount = {
|
|
@@ -1161,7 +1144,6 @@ export type Order = {
|
|
|
1161
1144
|
marketIndex: number;
|
|
1162
1145
|
price: BN;
|
|
1163
1146
|
baseAssetAmount: BN;
|
|
1164
|
-
quoteAssetAmount: BN;
|
|
1165
1147
|
baseAssetAmountFilled: BN;
|
|
1166
1148
|
quoteAssetAmountFilled: BN;
|
|
1167
1149
|
direction: PositionDirection;
|
|
@@ -1276,7 +1258,7 @@ export type OptionalOrderParams = {
|
|
|
1276
1258
|
export type ModifyOrderParams = {
|
|
1277
1259
|
[Property in keyof OrderParams]?: OrderParams[Property] | null;
|
|
1278
1260
|
} & {
|
|
1279
|
-
policy?: ModifyOrderPolicy;
|
|
1261
|
+
policy?: ModifyOrderPolicy | null;
|
|
1280
1262
|
};
|
|
1281
1263
|
export declare enum ModifyOrderPolicy {
|
|
1282
1264
|
MustModify = 1,
|
|
@@ -1378,7 +1360,8 @@ export type FeeStructure = {
|
|
|
1378
1360
|
feeTiers: FeeTier[];
|
|
1379
1361
|
fillerRewardStructure: OrderFillerRewardStructure;
|
|
1380
1362
|
flatFillerFee: BN;
|
|
1381
|
-
|
|
1363
|
+
ammFeeNumerator: number;
|
|
1364
|
+
ifFeeNumerator: number;
|
|
1382
1365
|
};
|
|
1383
1366
|
export type FeeTier = {
|
|
1384
1367
|
feeNumerator: number;
|
|
@@ -1486,32 +1469,6 @@ export type SignedTxData = {
|
|
|
1486
1469
|
lastValidBlockHeight?: number;
|
|
1487
1470
|
blockHash: string;
|
|
1488
1471
|
};
|
|
1489
|
-
export type IfRebalanceConfigAccount = {
|
|
1490
|
-
pubkey: PublicKey;
|
|
1491
|
-
totalInAmount: BN;
|
|
1492
|
-
currentInAmount: BN;
|
|
1493
|
-
currentOutAmount: BN;
|
|
1494
|
-
currentOutAmountTransferred: BN;
|
|
1495
|
-
epochStartTs: BN;
|
|
1496
|
-
epochInAmount: BN;
|
|
1497
|
-
epochMaxInAmount: BN;
|
|
1498
|
-
epochDuration: BN;
|
|
1499
|
-
outMarketIndex: number;
|
|
1500
|
-
inMarketIndex: number;
|
|
1501
|
-
maxSlippageBps: number;
|
|
1502
|
-
swapMode: number;
|
|
1503
|
-
status: number;
|
|
1504
|
-
};
|
|
1505
|
-
export type IfRebalanceConfigParams = {
|
|
1506
|
-
totalInAmount: BN;
|
|
1507
|
-
epochMaxInAmount: BN;
|
|
1508
|
-
epochDuration: BN;
|
|
1509
|
-
outMarketIndex: number;
|
|
1510
|
-
inMarketIndex: number;
|
|
1511
|
-
maxSlippageBps: number;
|
|
1512
|
-
swapMode: number;
|
|
1513
|
-
status: number;
|
|
1514
|
-
};
|
|
1515
1472
|
export interface SignedMsgOrderParams {
|
|
1516
1473
|
/**
|
|
1517
1474
|
* The encoded order params that were signed (borsh encoded then hexified).
|
package/lib/browser/types.js
CHANGED
|
@@ -290,12 +290,12 @@ exports.SettlePnlMode = SettlePnlMode;
|
|
|
290
290
|
SettlePnlMode.TRY_SETTLE = { trySettle: {} };
|
|
291
291
|
SettlePnlMode.MUST_SETTLE = { mustSettle: {} };
|
|
292
292
|
function isVariant(object, type) {
|
|
293
|
-
return
|
|
293
|
+
return Object.prototype.hasOwnProperty.call(object, type);
|
|
294
294
|
}
|
|
295
295
|
exports.isVariant = isVariant;
|
|
296
296
|
function isOneOfVariant(object, types) {
|
|
297
297
|
return types.reduce((result, type) => {
|
|
298
|
-
return result ||
|
|
298
|
+
return result || Object.prototype.hasOwnProperty.call(object, type);
|
|
299
299
|
}, false);
|
|
300
300
|
}
|
|
301
301
|
exports.isOneOfVariant = isOneOfVariant;
|
package/lib/browser/user.d.ts
CHANGED
|
@@ -45,9 +45,21 @@ export declare class User {
|
|
|
45
45
|
*/
|
|
46
46
|
fetchAccounts(): Promise<void>;
|
|
47
47
|
unsubscribe(): Promise<void>;
|
|
48
|
-
getUserAccount(): UserAccount;
|
|
49
|
-
|
|
48
|
+
getUserAccount(): UserAccount | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Like {@link getUserAccount} but throws a named error instead of returning
|
|
51
|
+
* `undefined` when the account has not been loaded yet. Use at call sites
|
|
52
|
+
* that structurally require a loaded account.
|
|
53
|
+
*/
|
|
54
|
+
getUserAccountOrThrow(): UserAccount;
|
|
55
|
+
forceGetUserAccount(): Promise<UserAccount | undefined>;
|
|
50
56
|
getUserAccountAndSlot(): DataAndSlot<UserAccount> | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* Like {@link getUserAccountAndSlot} but throws a named error instead of
|
|
59
|
+
* returning `undefined` when the account has not been loaded yet. Use at
|
|
60
|
+
* call sites that structurally require a loaded account.
|
|
61
|
+
*/
|
|
62
|
+
getUserAccountAndSlotOrThrow(): DataAndSlot<UserAccount>;
|
|
51
63
|
getPerpPositionForUserAccount(userAccount: UserAccount, marketIndex: number): PerpPosition | undefined;
|
|
52
64
|
/**
|
|
53
65
|
* Gets the user's current position for a given perp market. If the user has no position returns undefined
|
|
@@ -56,6 +68,7 @@ export declare class User {
|
|
|
56
68
|
*/
|
|
57
69
|
getPerpPosition(marketIndex: number): PerpPosition | undefined;
|
|
58
70
|
getPerpPositionOrEmpty(marketIndex: number): PerpPosition;
|
|
71
|
+
getPerpPositionOrThrow(marketIndex: number): PerpPosition;
|
|
59
72
|
getPerpPositionAndSlot(marketIndex: number): DataAndSlot<PerpPosition | undefined>;
|
|
60
73
|
getSpotPositionForUserAccount(userAccount: UserAccount, marketIndex: number): SpotPosition | undefined;
|
|
61
74
|
/**
|
|
@@ -95,7 +108,7 @@ export declare class User {
|
|
|
95
108
|
*/
|
|
96
109
|
getOrderByUserOrderId(userOrderId: number): Order | undefined;
|
|
97
110
|
getOrderByUserOrderIdAndSlot(userOrderId: number): DataAndSlot<Order | undefined>;
|
|
98
|
-
getOpenOrdersForUserAccount(userAccount?: UserAccount): Order[];
|
|
111
|
+
getOpenOrdersForUserAccount(userAccount?: UserAccount): Order[] | undefined;
|
|
99
112
|
getOpenOrders(): Order[];
|
|
100
113
|
getOpenOrdersAndSlot(): DataAndSlot<Order[]>;
|
|
101
114
|
getUserAccountPublicKey(): PublicKey;
|
|
@@ -110,8 +123,9 @@ export declare class User {
|
|
|
110
123
|
* calculates Buying Power = free collateral / initial margin ratio
|
|
111
124
|
* @returns : Precision QUOTE_PRECISION
|
|
112
125
|
*/
|
|
113
|
-
getPerpBuyingPower(marketIndex: number, collateralBuffer?: BN, maxMarginRatio?:
|
|
114
|
-
|
|
126
|
+
getPerpBuyingPower(marketIndex: number, collateralBuffer?: BN, maxMarginRatio?: number | undefined, positionType?: 'isolated' | 'cross'): BN;
|
|
127
|
+
private resolveMaxMarginRatio;
|
|
128
|
+
getPerpBuyingPowerFromFreeCollateralAndBaseAssetAmount(marketIndex: number, freeCollateral: BN, baseAssetAmount: BN, perpMarketMaxMarginRatio?: number | undefined): BN;
|
|
115
129
|
/**
|
|
116
130
|
* calculates Free Collateral = Total collateral - margin requirement
|
|
117
131
|
* @returns : Precision QUOTE_PRECISION
|
|
@@ -216,7 +230,7 @@ export declare class User {
|
|
|
216
230
|
spotAssetValue: BN;
|
|
217
231
|
spotLiabilityValue: BN;
|
|
218
232
|
}): BN;
|
|
219
|
-
getLeverageComponents(includeOpenOrders?: boolean, marginCategory?: MarginCategory, perpMarketIndex?: number): {
|
|
233
|
+
getLeverageComponents(includeOpenOrders?: boolean, marginCategory?: MarginCategory | undefined, perpMarketIndex?: number): {
|
|
220
234
|
perpLiabilityValue: BN;
|
|
221
235
|
perpPnl: BN;
|
|
222
236
|
spotAssetValue: BN;
|
|
@@ -315,7 +329,7 @@ export declare class User {
|
|
|
315
329
|
* @param tradeSide
|
|
316
330
|
* @returns { tradeSize: BN, oppositeSideTradeSize: BN} : Precision QUOTE_PRECISION
|
|
317
331
|
*/
|
|
318
|
-
getMaxTradeSizeUSDCForPerp(targetMarketIndex: number, tradeSide: PositionDirection, maxMarginRatio?:
|
|
332
|
+
getMaxTradeSizeUSDCForPerp(targetMarketIndex: number, tradeSide: PositionDirection, maxMarginRatio?: number | undefined, positionType?: 'isolated' | 'cross'): {
|
|
319
333
|
tradeSize: BN;
|
|
320
334
|
oppositeSideTradeSize: BN;
|
|
321
335
|
};
|