@velocity-exchange/sdk 0.2.5 → 0.4.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 +93 -0
- package/README.md +3 -3
- package/lib/browser/accounts/basicUserAccountSubscriber.d.ts +18 -0
- package/lib/browser/accounts/basicUserAccountSubscriber.js +18 -0
- package/lib/browser/accounts/basicUserStatsAccountSubscriber.d.ts +18 -0
- package/lib/browser/accounts/basicUserStatsAccountSubscriber.js +18 -0
- package/lib/browser/accounts/bulkAccountLoader.d.ts +52 -0
- package/lib/browser/accounts/bulkAccountLoader.js +51 -0
- package/lib/browser/accounts/bulkUserStatsSubscription.d.ts +9 -2
- package/lib/browser/accounts/bulkUserStatsSubscription.js +9 -2
- package/lib/browser/accounts/bulkUserSubscription.d.ts +8 -2
- package/lib/browser/accounts/bulkUserSubscription.js +8 -2
- package/lib/browser/accounts/customizedCadenceBulkAccountLoader.d.ts +37 -0
- package/lib/browser/accounts/customizedCadenceBulkAccountLoader.js +37 -0
- package/lib/browser/accounts/fetch.d.ts +59 -2
- package/lib/browser/accounts/fetch.js +57 -2
- package/lib/browser/accounts/grpcAccountSubscriber.d.ts +30 -0
- package/lib/browser/accounts/grpcAccountSubscriber.js +30 -0
- package/lib/browser/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts +16 -0
- package/lib/browser/accounts/grpcInsuranceFundStakeAccountSubscriber.js +16 -0
- package/lib/browser/accounts/grpcMultiAccountSubscriber.d.ts +60 -1
- package/lib/browser/accounts/grpcMultiAccountSubscriber.js +118 -37
- package/lib/browser/accounts/grpcMultiUserAccountSubscriber.d.ts +32 -0
- package/lib/browser/accounts/grpcMultiUserAccountSubscriber.js +40 -12
- package/lib/browser/accounts/grpcProgramAccountSubscriber.d.ts +33 -0
- package/lib/browser/accounts/grpcProgramAccountSubscriber.js +33 -0
- package/lib/browser/accounts/grpcUserAccountSubscriber.d.ts +15 -0
- package/lib/browser/accounts/grpcUserAccountSubscriber.js +15 -0
- package/lib/browser/accounts/grpcUserStatsAccountSubscriber.d.ts +15 -0
- package/lib/browser/accounts/grpcUserStatsAccountSubscriber.js +15 -0
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.d.ts +41 -0
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.js +41 -0
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +116 -0
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.js +152 -1
- package/lib/browser/accounts/laserProgramAccountSubscriber.d.ts +34 -0
- package/lib/browser/accounts/laserProgramAccountSubscriber.js +34 -0
- package/lib/browser/accounts/oneShotUserAccountSubscriber.d.ts +19 -0
- package/lib/browser/accounts/oneShotUserAccountSubscriber.js +19 -0
- package/lib/browser/accounts/oneShotUserStatsAccountSubscriber.d.ts +19 -0
- package/lib/browser/accounts/oneShotUserStatsAccountSubscriber.js +19 -0
- package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +31 -0
- package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.js +31 -0
- package/lib/browser/accounts/pollingOracleAccountSubscriber.d.ts +19 -0
- package/lib/browser/accounts/pollingOracleAccountSubscriber.js +21 -2
- package/lib/browser/accounts/pollingTokenAccountSubscriber.d.ts +22 -0
- package/lib/browser/accounts/pollingTokenAccountSubscriber.js +22 -0
- package/lib/browser/accounts/pollingUserAccountSubscriber.d.ts +32 -0
- package/lib/browser/accounts/pollingUserAccountSubscriber.js +32 -0
- package/lib/browser/accounts/pollingUserStatsAccountSubscriber.d.ts +22 -0
- package/lib/browser/accounts/pollingUserStatsAccountSubscriber.js +22 -0
- package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.d.ts +83 -0
- package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.js +84 -1
- package/lib/browser/accounts/testBulkAccountLoader.d.ts +8 -0
- package/lib/browser/accounts/testBulkAccountLoader.js +8 -0
- package/lib/browser/accounts/types.d.ts +149 -0
- package/lib/browser/accounts/types.js +13 -0
- package/lib/browser/accounts/utils.d.ts +18 -0
- package/lib/browser/accounts/utils.js +32 -16
- package/lib/browser/accounts/webSocketAccountSubscriber.d.ts +41 -0
- package/lib/browser/accounts/webSocketAccountSubscriber.js +41 -0
- package/lib/browser/accounts/webSocketAccountSubscriberV2.d.ts +31 -0
- package/lib/browser/accounts/webSocketAccountSubscriberV2.js +31 -23
- package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +27 -0
- package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +27 -0
- package/lib/browser/accounts/webSocketProgramAccountSubscriber.d.ts +36 -0
- package/lib/browser/accounts/webSocketProgramAccountSubscriber.js +36 -0
- package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.d.ts +21 -0
- package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.js +25 -0
- package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.d.ts +21 -0
- package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.js +21 -0
- package/lib/browser/accounts/webSocketUserAccountSubscriber.d.ts +26 -0
- package/lib/browser/accounts/webSocketUserAccountSubscriber.js +26 -0
- package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.d.ts +20 -0
- package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.js +20 -0
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.d.ts +121 -0
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.js +123 -2
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +96 -0
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.js +108 -0
- package/lib/browser/accounts/websocketProgramUserAccountSubscriber.d.ts +28 -0
- package/lib/browser/accounts/websocketProgramUserAccountSubscriber.js +33 -0
- package/lib/browser/addresses/marketAddresses.d.ts +10 -0
- package/lib/browser/addresses/marketAddresses.js +10 -0
- package/lib/browser/addresses/pda.d.ts +214 -2
- package/lib/browser/addresses/pda.js +217 -5
- package/lib/browser/adminClient.d.ts +2139 -5
- package/lib/browser/adminClient.js +2173 -11
- package/lib/browser/auctionSubscriber/auctionSubscriber.d.ts +15 -0
- package/lib/browser/auctionSubscriber/auctionSubscriber.js +15 -0
- package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.d.ts +19 -0
- package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.js +19 -0
- package/lib/browser/auctionSubscriber/index.d.ts +6 -0
- package/lib/browser/auctionSubscriber/index.js +6 -0
- package/lib/browser/auctionSubscriber/types.d.ts +7 -0
- package/lib/browser/blockhashSubscriber/BlockhashSubscriber.d.ts +33 -0
- package/lib/browser/blockhashSubscriber/BlockhashSubscriber.js +33 -0
- package/lib/browser/blockhashSubscriber/index.d.ts +5 -0
- package/lib/browser/blockhashSubscriber/index.js +5 -0
- package/lib/browser/blockhashSubscriber/types.d.ts +5 -0
- package/lib/browser/clock/clockSubscriber.d.ts +24 -0
- package/lib/browser/clock/clockSubscriber.js +22 -0
- package/lib/browser/config.d.ts +58 -4
- package/lib/browser/config.js +88 -21
- package/lib/browser/constants/numericConstants.d.ts +67 -0
- package/lib/browser/constants/numericConstants.js +68 -1
- package/lib/browser/constants/perpMarkets.d.ts +10 -0
- package/lib/browser/constants/perpMarkets.js +40 -908
- package/lib/browser/constants/spotMarkets.d.ts +13 -0
- package/lib/browser/constants/spotMarkets.js +16 -742
- package/lib/browser/constants/txConstants.d.ts +1 -0
- package/lib/browser/constants/txConstants.js +1 -0
- package/lib/browser/core/VelocityCore.d.ts +285 -8
- package/lib/browser/core/VelocityCore.js +281 -8
- package/lib/browser/core/instructions/deposit.d.ts +22 -0
- package/lib/browser/core/instructions/deposit.js +22 -0
- package/lib/browser/core/instructions/fill.d.ts +17 -0
- package/lib/browser/core/instructions/fill.js +17 -0
- package/lib/browser/core/instructions/funding.d.ts +12 -0
- package/lib/browser/core/instructions/funding.js +12 -0
- package/lib/browser/core/instructions/liquidation.d.ts +18 -0
- package/lib/browser/core/instructions/liquidation.js +18 -0
- package/lib/browser/core/instructions/orders.d.ts +28 -0
- package/lib/browser/core/instructions/orders.js +28 -0
- package/lib/browser/core/instructions/perpOrders.d.ts +106 -0
- package/lib/browser/core/instructions/perpOrders.js +106 -0
- package/lib/browser/core/instructions/settlement.d.ts +14 -0
- package/lib/browser/core/instructions/settlement.js +14 -0
- package/lib/browser/core/instructions/trigger.d.ts +15 -0
- package/lib/browser/core/instructions/trigger.js +15 -0
- package/lib/browser/core/instructions/withdraw.d.ts +21 -0
- package/lib/browser/core/instructions/withdraw.js +21 -0
- package/lib/browser/core/remainingAccounts.d.ts +47 -3
- package/lib/browser/core/remainingAccounts.js +20 -0
- package/lib/browser/core/signedMsg.d.ts +38 -0
- package/lib/browser/core/signedMsg.js +33 -0
- package/lib/browser/decode/customCoder.d.ts +39 -3
- package/lib/browser/decode/customCoder.js +45 -3
- package/lib/browser/decode/user.d.ts +22 -0
- package/lib/browser/decode/user.js +22 -0
- package/lib/browser/dlob/DLOB.d.ts +502 -53
- package/lib/browser/dlob/DLOB.js +540 -98
- package/lib/browser/dlob/DLOBNode.d.ts +86 -4
- package/lib/browser/dlob/DLOBNode.js +37 -4
- package/lib/browser/dlob/DLOBSubscriber.d.ts +39 -12
- package/lib/browser/dlob/DLOBSubscriber.js +42 -12
- package/lib/browser/dlob/NodeList.d.ts +69 -0
- package/lib/browser/dlob/NodeList.js +66 -0
- package/lib/browser/dlob/orderBookLevels.d.ts +106 -13
- package/lib/browser/dlob/orderBookLevels.js +84 -14
- package/lib/browser/dlob/types.d.ts +15 -0
- package/lib/browser/events/eventList.d.ts +14 -0
- package/lib/browser/events/eventList.js +14 -0
- package/lib/browser/events/eventSubscriber.d.ts +87 -10
- package/lib/browser/events/eventSubscriber.js +93 -8
- package/lib/browser/events/eventsServerLogProvider.d.ts +22 -0
- package/lib/browser/events/eventsServerLogProvider.js +27 -0
- package/lib/browser/events/fetchLogs.d.ts +31 -0
- package/lib/browser/events/fetchLogs.js +46 -1
- package/lib/browser/events/parse.d.ts +23 -0
- package/lib/browser/events/parse.js +23 -0
- package/lib/browser/events/pollingLogProvider.d.ts +24 -0
- package/lib/browser/events/pollingLogProvider.js +24 -0
- package/lib/browser/events/sort.d.ts +11 -0
- package/lib/browser/events/sort.js +12 -0
- package/lib/browser/events/txEventCache.d.ts +13 -3
- package/lib/browser/events/txEventCache.js +19 -7
- package/lib/browser/events/types.d.ts +118 -2
- package/lib/browser/events/types.js +11 -0
- package/lib/browser/events/webSocketLogProvider.d.ts +23 -0
- package/lib/browser/events/webSocketLogProvider.js +28 -0
- package/lib/browser/factory/oracleClient.js +2 -2
- package/lib/browser/idl/velocity.d.ts +50 -1
- package/lib/browser/idl/velocity.json +50 -1
- package/lib/browser/keypair.d.ts +8 -0
- package/lib/browser/keypair.js +8 -0
- package/lib/browser/marginCalculation.d.ts +134 -2
- package/lib/browser/marginCalculation.js +121 -0
- package/lib/browser/math/amm.d.ts +348 -29
- package/lib/browser/math/amm.js +310 -32
- package/lib/browser/math/auction.d.ts +95 -19
- package/lib/browser/math/auction.js +118 -28
- package/lib/browser/math/bankruptcy.d.ts +46 -0
- package/lib/browser/math/bankruptcy.js +89 -1
- package/lib/browser/math/builder.d.ts +64 -8
- package/lib/browser/math/builder.js +71 -9
- package/lib/browser/math/conversion.d.ts +21 -0
- package/lib/browser/math/conversion.js +21 -0
- package/lib/browser/math/exchangeStatus.d.ts +92 -0
- package/lib/browser/math/exchangeStatus.js +111 -1
- package/lib/browser/math/funding.d.ts +57 -20
- package/lib/browser/math/funding.js +63 -23
- package/lib/browser/math/insurance.d.ts +62 -0
- package/lib/browser/math/insurance.js +62 -0
- package/lib/browser/math/liquidation.d.ts +127 -11
- package/lib/browser/math/liquidation.js +182 -19
- package/lib/browser/math/margin.d.ts +79 -13
- package/lib/browser/math/margin.js +80 -14
- package/lib/browser/math/market.d.ts +135 -15
- package/lib/browser/math/market.js +145 -17
- package/lib/browser/math/oracles.d.ts +113 -0
- package/lib/browser/math/oracles.js +118 -1
- package/lib/browser/math/orders.d.ts +115 -7
- package/lib/browser/math/orders.js +133 -18
- package/lib/browser/math/position.d.ts +80 -33
- package/lib/browser/math/position.js +80 -33
- package/lib/browser/math/repeg.d.ts +48 -10
- package/lib/browser/math/repeg.js +48 -10
- package/lib/browser/math/spotBalance.d.ts +200 -5
- package/lib/browser/math/spotBalance.js +239 -10
- package/lib/browser/math/spotMarket.d.ts +36 -3
- package/lib/browser/math/spotMarket.js +36 -3
- package/lib/browser/math/spotPosition.d.ts +72 -0
- package/lib/browser/math/spotPosition.js +62 -0
- package/lib/browser/math/state.d.ts +31 -0
- package/lib/browser/math/state.js +32 -1
- package/lib/browser/math/superStake.d.ts +126 -2
- package/lib/browser/math/superStake.js +123 -3
- package/lib/browser/math/tiers.d.ts +29 -0
- package/lib/browser/math/tiers.js +29 -0
- package/lib/browser/math/trade.d.ts +102 -51
- package/lib/browser/math/trade.js +101 -55
- package/lib/browser/math/utils.d.ts +71 -9
- package/lib/browser/math/utils.js +71 -9
- package/lib/browser/memcmp.d.ts +94 -0
- package/lib/browser/memcmp.js +129 -7
- package/lib/browser/oracles/oracleClientCache.d.ts +16 -0
- package/lib/browser/oracles/oracleClientCache.js +16 -0
- package/lib/browser/oracles/oracleId.d.ts +31 -0
- package/lib/browser/oracles/oracleId.js +39 -8
- package/lib/browser/oracles/prelaunchOracleClient.d.ts +20 -0
- package/lib/browser/oracles/prelaunchOracleClient.js +20 -0
- package/lib/browser/oracles/pythClient.d.ts +31 -0
- package/lib/browser/oracles/pythClient.js +32 -1
- package/lib/browser/oracles/pythLazerClient.d.ts +34 -0
- package/lib/browser/oracles/pythLazerClient.js +35 -1
- package/lib/browser/oracles/quoteAssetOracleClient.d.ts +18 -0
- package/lib/browser/oracles/quoteAssetOracleClient.js +18 -0
- package/lib/browser/oracles/strictOraclePrice.d.ts +21 -0
- package/lib/browser/oracles/strictOraclePrice.js +21 -0
- package/lib/browser/oracles/types.d.ts +45 -0
- package/lib/browser/oracles/utils.d.ts +20 -0
- package/lib/browser/oracles/utils.js +20 -0
- package/lib/browser/orderParams.d.ts +42 -4
- package/lib/browser/orderParams.js +42 -4
- package/lib/browser/orderSubscriber/OrderSubscriber.d.ts +56 -0
- package/lib/browser/orderSubscriber/OrderSubscriber.js +67 -2
- package/lib/browser/orderSubscriber/PollingSubscription.d.ts +11 -0
- package/lib/browser/orderSubscriber/PollingSubscription.js +11 -0
- package/lib/browser/orderSubscriber/WebsocketSubscription.d.ts +18 -0
- package/lib/browser/orderSubscriber/WebsocketSubscription.js +18 -0
- package/lib/browser/orderSubscriber/grpcSubscription.d.ts +16 -0
- package/lib/browser/orderSubscriber/grpcSubscription.js +16 -0
- package/lib/browser/orderSubscriber/types.d.ts +9 -0
- package/lib/browser/priorityFee/averageOverSlotsStrategy.d.ts +1 -0
- package/lib/browser/priorityFee/averageOverSlotsStrategy.js +1 -0
- package/lib/browser/priorityFee/averageStrategy.d.ts +1 -0
- package/lib/browser/priorityFee/averageStrategy.js +1 -0
- package/lib/browser/priorityFee/ewmaStrategy.d.ts +10 -0
- package/lib/browser/priorityFee/ewmaStrategy.js +10 -0
- package/lib/browser/priorityFee/heliusPriorityFeeMethod.d.ts +13 -0
- package/lib/browser/priorityFee/heliusPriorityFeeMethod.js +9 -2
- package/lib/browser/priorityFee/maxOverSlotsStrategy.d.ts +1 -0
- package/lib/browser/priorityFee/maxOverSlotsStrategy.js +1 -0
- package/lib/browser/priorityFee/maxStrategy.d.ts +1 -0
- package/lib/browser/priorityFee/maxStrategy.js +1 -0
- package/lib/browser/priorityFee/priorityFeeSubscriber.d.ts +39 -0
- package/lib/browser/priorityFee/priorityFeeSubscriber.js +39 -0
- package/lib/browser/priorityFee/priorityFeeSubscriberMap.d.ts +20 -1
- package/lib/browser/priorityFee/priorityFeeSubscriberMap.js +21 -2
- package/lib/browser/priorityFee/solanaPriorityFeeMethod.d.ts +12 -0
- package/lib/browser/priorityFee/solanaPriorityFeeMethod.js +10 -0
- package/lib/browser/priorityFee/types.d.ts +32 -0
- package/lib/browser/priorityFee/types.js +5 -0
- package/lib/browser/priorityFee/velocityPriorityFeeMethod.d.ts +11 -0
- package/lib/browser/priorityFee/velocityPriorityFeeMethod.js +8 -0
- package/lib/browser/slot/SlotSubscriber.d.ts +18 -0
- package/lib/browser/slot/SlotSubscriber.js +16 -0
- package/lib/browser/slot/SlothashSubscriber.d.ts +26 -0
- package/lib/browser/slot/SlothashSubscriber.js +25 -1
- package/lib/browser/swift/swiftOrderSubscriber.js +2 -2
- package/lib/browser/tokenFaucet.d.ts +2 -2
- package/lib/browser/tokenFaucet.js +11 -4
- package/lib/browser/tx/baseTxSender.d.ts +163 -0
- package/lib/browser/tx/baseTxSender.js +174 -6
- package/lib/browser/tx/blockhashFetcher/baseBlockhashFetcher.d.ts +12 -0
- package/lib/browser/tx/blockhashFetcher/baseBlockhashFetcher.js +12 -0
- package/lib/browser/tx/blockhashFetcher/cachedBlockhashFetcher.d.ts +15 -0
- package/lib/browser/tx/blockhashFetcher/cachedBlockhashFetcher.js +15 -0
- package/lib/browser/tx/blockhashFetcher/types.d.ts +4 -0
- package/lib/browser/tx/fastSingleTxSender.d.ts +47 -0
- package/lib/browser/tx/fastSingleTxSender.js +48 -1
- package/lib/browser/tx/forwardOnlyTxSender.d.ts +48 -0
- package/lib/browser/tx/forwardOnlyTxSender.js +48 -0
- package/lib/browser/tx/reportTransactionError.d.ts +18 -6
- package/lib/browser/tx/reportTransactionError.js +18 -6
- package/lib/browser/tx/retryTxSender.d.ts +40 -0
- package/lib/browser/tx/retryTxSender.js +39 -0
- package/lib/browser/tx/txHandler.d.ts +146 -35
- package/lib/browser/tx/txHandler.js +132 -32
- package/lib/browser/tx/txParamProcessor.d.ts +47 -0
- package/lib/browser/tx/txParamProcessor.js +47 -0
- package/lib/browser/tx/types.d.ts +46 -0
- package/lib/browser/tx/types.js +5 -0
- package/lib/browser/tx/utils.d.ts +26 -0
- package/lib/browser/tx/utils.js +26 -0
- package/lib/browser/tx/whileValidTxSender.d.ts +82 -0
- package/lib/browser/tx/whileValidTxSender.js +81 -0
- package/lib/browser/types.d.ts +786 -13
- package/lib/browser/types.js +133 -9
- package/lib/browser/user.d.ts +645 -84
- package/lib/browser/user.js +779 -96
- package/lib/browser/userMap/PollingSubscription.d.ts +10 -0
- package/lib/browser/userMap/PollingSubscription.js +14 -2
- package/lib/browser/userMap/WebsocketSubscription.d.ts +9 -0
- package/lib/browser/userMap/WebsocketSubscription.js +9 -0
- package/lib/browser/userMap/grpcSubscription.d.ts +8 -0
- package/lib/browser/userMap/grpcSubscription.js +8 -0
- package/lib/browser/userMap/referrerMap.d.ts +72 -2
- package/lib/browser/userMap/referrerMap.js +84 -2
- package/lib/browser/userMap/revenueShareEscrowMap.d.ts +37 -10
- package/lib/browser/userMap/revenueShareEscrowMap.js +38 -11
- package/lib/browser/userMap/userMap.d.ts +81 -3
- package/lib/browser/userMap/userMap.js +81 -4
- package/lib/browser/userMap/userMapConfig.d.ts +23 -0
- package/lib/browser/userMap/userStatsMap.d.ts +22 -0
- package/lib/browser/userMap/userStatsMap.js +22 -0
- package/lib/browser/userName.d.ts +16 -0
- package/lib/browser/userName.js +16 -0
- package/lib/browser/userStats.d.ts +28 -1
- package/lib/browser/userStats.js +28 -1
- package/lib/browser/util/TransactionConfirmationManager.d.ts +33 -0
- package/lib/browser/util/TransactionConfirmationManager.js +33 -0
- package/lib/browser/util/chainClock.d.ts +24 -0
- package/lib/browser/util/chainClock.js +20 -0
- package/lib/browser/util/computeUnits.d.ts +32 -0
- package/lib/browser/util/computeUnits.js +32 -0
- package/lib/browser/util/digest.d.ts +17 -0
- package/lib/browser/util/digest.js +17 -0
- package/lib/browser/util/ed25519Utils.d.ts +12 -2
- package/lib/browser/util/ed25519Utils.js +12 -2
- package/lib/browser/util/promiseTimeout.d.ts +9 -0
- package/lib/browser/util/promiseTimeout.js +9 -0
- package/lib/browser/velocityClient.d.ts +3323 -216
- package/lib/browser/velocityClient.js +3428 -249
- package/lib/browser/wallet.d.ts +37 -0
- package/lib/browser/wallet.js +37 -0
- package/lib/node/accounts/basicUserAccountSubscriber.d.ts +18 -0
- package/lib/node/accounts/basicUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/basicUserAccountSubscriber.js +18 -0
- package/lib/node/accounts/basicUserStatsAccountSubscriber.d.ts +18 -0
- package/lib/node/accounts/basicUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/basicUserStatsAccountSubscriber.js +18 -0
- package/lib/node/accounts/bulkAccountLoader.d.ts +52 -0
- package/lib/node/accounts/bulkAccountLoader.d.ts.map +1 -1
- package/lib/node/accounts/bulkAccountLoader.js +51 -0
- package/lib/node/accounts/bulkUserStatsSubscription.d.ts +9 -2
- package/lib/node/accounts/bulkUserStatsSubscription.d.ts.map +1 -1
- package/lib/node/accounts/bulkUserStatsSubscription.js +9 -2
- package/lib/node/accounts/bulkUserSubscription.d.ts +8 -2
- package/lib/node/accounts/bulkUserSubscription.d.ts.map +1 -1
- package/lib/node/accounts/bulkUserSubscription.js +8 -2
- package/lib/node/accounts/customizedCadenceBulkAccountLoader.d.ts +37 -0
- package/lib/node/accounts/customizedCadenceBulkAccountLoader.d.ts.map +1 -1
- package/lib/node/accounts/customizedCadenceBulkAccountLoader.js +37 -0
- package/lib/node/accounts/fetch.d.ts +59 -2
- package/lib/node/accounts/fetch.d.ts.map +1 -1
- package/lib/node/accounts/fetch.js +57 -2
- package/lib/node/accounts/grpcAccountSubscriber.d.ts +30 -0
- package/lib/node/accounts/grpcAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcAccountSubscriber.js +30 -0
- package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts +16 -0
- package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.js +16 -0
- package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts +60 -1
- package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcMultiAccountSubscriber.js +118 -37
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts +32 -0
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.js +40 -12
- package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts +33 -0
- package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcProgramAccountSubscriber.js +33 -0
- package/lib/node/accounts/grpcUserAccountSubscriber.d.ts +15 -0
- package/lib/node/accounts/grpcUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcUserAccountSubscriber.js +15 -0
- package/lib/node/accounts/grpcUserStatsAccountSubscriber.d.ts +15 -0
- package/lib/node/accounts/grpcUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcUserStatsAccountSubscriber.js +15 -0
- package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts +41 -0
- package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcVelocityClientAccountSubscriber.js +41 -0
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +116 -0
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.js +152 -1
- package/lib/node/accounts/laserProgramAccountSubscriber.d.ts +34 -0
- package/lib/node/accounts/laserProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/laserProgramAccountSubscriber.js +34 -0
- package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts +19 -0
- package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/oneShotUserAccountSubscriber.js +19 -0
- package/lib/node/accounts/oneShotUserStatsAccountSubscriber.d.ts +19 -0
- package/lib/node/accounts/oneShotUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/oneShotUserStatsAccountSubscriber.js +19 -0
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +31 -0
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.js +31 -0
- package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts +19 -0
- package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingOracleAccountSubscriber.js +21 -2
- package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts +22 -0
- package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingTokenAccountSubscriber.js +22 -0
- package/lib/node/accounts/pollingUserAccountSubscriber.d.ts +32 -0
- package/lib/node/accounts/pollingUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingUserAccountSubscriber.js +32 -0
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts +22 -0
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.js +22 -0
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts +83 -0
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.js +84 -1
- package/lib/node/accounts/testBulkAccountLoader.d.ts +8 -0
- package/lib/node/accounts/testBulkAccountLoader.d.ts.map +1 -1
- package/lib/node/accounts/testBulkAccountLoader.js +8 -0
- package/lib/node/accounts/types.d.ts +149 -0
- package/lib/node/accounts/types.d.ts.map +1 -1
- package/lib/node/accounts/types.js +13 -0
- package/lib/node/accounts/utils.d.ts +18 -0
- package/lib/node/accounts/utils.d.ts.map +1 -1
- package/lib/node/accounts/utils.js +32 -16
- package/lib/node/accounts/webSocketAccountSubscriber.d.ts +41 -0
- package/lib/node/accounts/webSocketAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketAccountSubscriber.js +41 -0
- package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts +31 -0
- package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketAccountSubscriberV2.js +31 -23
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +27 -0
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +27 -0
- package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts +36 -0
- package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriber.js +36 -0
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts +21 -0
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.js +25 -0
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts +21 -0
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.js +21 -0
- package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts +26 -0
- package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketUserAccountSubscriber.js +26 -0
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts +20 -0
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.js +20 -0
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts +121 -0
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.js +123 -2
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +96 -0
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.js +108 -0
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts +28 -0
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.js +33 -0
- package/lib/node/addresses/marketAddresses.d.ts +10 -0
- package/lib/node/addresses/marketAddresses.d.ts.map +1 -1
- package/lib/node/addresses/marketAddresses.js +10 -0
- package/lib/node/addresses/pda.d.ts +214 -2
- package/lib/node/addresses/pda.d.ts.map +1 -1
- package/lib/node/addresses/pda.js +217 -5
- package/lib/node/adminClient.d.ts +2139 -5
- package/lib/node/adminClient.d.ts.map +1 -1
- package/lib/node/adminClient.js +2173 -11
- package/lib/node/auctionSubscriber/auctionSubscriber.d.ts +15 -0
- package/lib/node/auctionSubscriber/auctionSubscriber.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriber.js +15 -0
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts +19 -0
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +19 -0
- package/lib/node/auctionSubscriber/index.d.ts +6 -0
- package/lib/node/auctionSubscriber/index.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/index.js +6 -0
- package/lib/node/auctionSubscriber/types.d.ts +7 -0
- package/lib/node/auctionSubscriber/types.d.ts.map +1 -1
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts +33 -0
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts.map +1 -1
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.js +33 -0
- package/lib/node/blockhashSubscriber/index.d.ts +5 -0
- package/lib/node/blockhashSubscriber/index.d.ts.map +1 -1
- package/lib/node/blockhashSubscriber/index.js +5 -0
- package/lib/node/blockhashSubscriber/types.d.ts +5 -0
- package/lib/node/blockhashSubscriber/types.d.ts.map +1 -1
- package/lib/node/clock/clockSubscriber.d.ts +24 -0
- package/lib/node/clock/clockSubscriber.d.ts.map +1 -1
- package/lib/node/clock/clockSubscriber.js +22 -0
- package/lib/node/config.d.ts +58 -4
- package/lib/node/config.d.ts.map +1 -1
- package/lib/node/config.js +88 -21
- package/lib/node/constants/numericConstants.d.ts +67 -0
- package/lib/node/constants/numericConstants.d.ts.map +1 -1
- package/lib/node/constants/numericConstants.js +68 -1
- package/lib/node/constants/perpMarkets.d.ts +10 -0
- package/lib/node/constants/perpMarkets.d.ts.map +1 -1
- package/lib/node/constants/perpMarkets.js +40 -908
- package/lib/node/constants/spotMarkets.d.ts +13 -0
- package/lib/node/constants/spotMarkets.d.ts.map +1 -1
- package/lib/node/constants/spotMarkets.js +16 -742
- package/lib/node/constants/txConstants.d.ts +1 -0
- package/lib/node/constants/txConstants.d.ts.map +1 -1
- package/lib/node/constants/txConstants.js +1 -0
- package/lib/node/core/VelocityCore.d.ts +285 -8
- package/lib/node/core/VelocityCore.d.ts.map +1 -1
- package/lib/node/core/VelocityCore.js +281 -8
- package/lib/node/core/instructions/deposit.d.ts +22 -0
- package/lib/node/core/instructions/deposit.d.ts.map +1 -1
- package/lib/node/core/instructions/deposit.js +22 -0
- package/lib/node/core/instructions/fill.d.ts +17 -0
- package/lib/node/core/instructions/fill.d.ts.map +1 -1
- package/lib/node/core/instructions/fill.js +17 -0
- package/lib/node/core/instructions/funding.d.ts +12 -0
- package/lib/node/core/instructions/funding.d.ts.map +1 -1
- package/lib/node/core/instructions/funding.js +12 -0
- package/lib/node/core/instructions/liquidation.d.ts +18 -0
- package/lib/node/core/instructions/liquidation.d.ts.map +1 -1
- package/lib/node/core/instructions/liquidation.js +18 -0
- package/lib/node/core/instructions/orders.d.ts +28 -0
- package/lib/node/core/instructions/orders.d.ts.map +1 -1
- package/lib/node/core/instructions/orders.js +28 -0
- package/lib/node/core/instructions/perpOrders.d.ts +106 -0
- package/lib/node/core/instructions/perpOrders.d.ts.map +1 -1
- package/lib/node/core/instructions/perpOrders.js +106 -0
- package/lib/node/core/instructions/settlement.d.ts +14 -0
- package/lib/node/core/instructions/settlement.d.ts.map +1 -1
- package/lib/node/core/instructions/settlement.js +14 -0
- package/lib/node/core/instructions/trigger.d.ts +15 -0
- package/lib/node/core/instructions/trigger.d.ts.map +1 -1
- package/lib/node/core/instructions/trigger.js +15 -0
- package/lib/node/core/instructions/withdraw.d.ts +21 -0
- package/lib/node/core/instructions/withdraw.d.ts.map +1 -1
- package/lib/node/core/instructions/withdraw.js +21 -0
- package/lib/node/core/remainingAccounts.d.ts +47 -3
- package/lib/node/core/remainingAccounts.d.ts.map +1 -1
- package/lib/node/core/remainingAccounts.js +20 -0
- package/lib/node/core/signedMsg.d.ts +38 -0
- package/lib/node/core/signedMsg.d.ts.map +1 -1
- package/lib/node/core/signedMsg.js +33 -0
- package/lib/node/decode/customCoder.d.ts +39 -3
- package/lib/node/decode/customCoder.d.ts.map +1 -1
- package/lib/node/decode/customCoder.js +45 -3
- package/lib/node/decode/user.d.ts +22 -0
- package/lib/node/decode/user.d.ts.map +1 -1
- package/lib/node/decode/user.js +22 -0
- package/lib/node/dlob/DLOB.d.ts +502 -53
- package/lib/node/dlob/DLOB.d.ts.map +1 -1
- package/lib/node/dlob/DLOB.js +540 -98
- package/lib/node/dlob/DLOBNode.d.ts +86 -4
- package/lib/node/dlob/DLOBNode.d.ts.map +1 -1
- package/lib/node/dlob/DLOBNode.js +37 -4
- package/lib/node/dlob/DLOBSubscriber.d.ts +39 -12
- package/lib/node/dlob/DLOBSubscriber.d.ts.map +1 -1
- package/lib/node/dlob/DLOBSubscriber.js +42 -12
- package/lib/node/dlob/NodeList.d.ts +69 -0
- package/lib/node/dlob/NodeList.d.ts.map +1 -1
- package/lib/node/dlob/NodeList.js +66 -0
- package/lib/node/dlob/orderBookLevels.d.ts +106 -13
- package/lib/node/dlob/orderBookLevels.d.ts.map +1 -1
- package/lib/node/dlob/orderBookLevels.js +84 -14
- package/lib/node/dlob/types.d.ts +15 -0
- package/lib/node/dlob/types.d.ts.map +1 -1
- package/lib/node/events/eventList.d.ts +14 -0
- package/lib/node/events/eventList.d.ts.map +1 -1
- package/lib/node/events/eventList.js +14 -0
- package/lib/node/events/eventSubscriber.d.ts +87 -10
- package/lib/node/events/eventSubscriber.d.ts.map +1 -1
- package/lib/node/events/eventSubscriber.js +93 -8
- package/lib/node/events/eventsServerLogProvider.d.ts +22 -0
- package/lib/node/events/eventsServerLogProvider.d.ts.map +1 -1
- package/lib/node/events/eventsServerLogProvider.js +27 -0
- package/lib/node/events/fetchLogs.d.ts +31 -0
- package/lib/node/events/fetchLogs.d.ts.map +1 -1
- package/lib/node/events/fetchLogs.js +46 -1
- package/lib/node/events/parse.d.ts +23 -0
- package/lib/node/events/parse.d.ts.map +1 -1
- package/lib/node/events/parse.js +23 -0
- package/lib/node/events/pollingLogProvider.d.ts +24 -0
- package/lib/node/events/pollingLogProvider.d.ts.map +1 -1
- package/lib/node/events/pollingLogProvider.js +24 -0
- package/lib/node/events/sort.d.ts +11 -0
- package/lib/node/events/sort.d.ts.map +1 -1
- package/lib/node/events/sort.js +12 -0
- package/lib/node/events/txEventCache.d.ts +13 -3
- package/lib/node/events/txEventCache.d.ts.map +1 -1
- package/lib/node/events/txEventCache.js +19 -7
- package/lib/node/events/types.d.ts +118 -2
- package/lib/node/events/types.d.ts.map +1 -1
- package/lib/node/events/types.js +11 -0
- package/lib/node/events/webSocketLogProvider.d.ts +23 -0
- package/lib/node/events/webSocketLogProvider.d.ts.map +1 -1
- package/lib/node/events/webSocketLogProvider.js +28 -0
- package/lib/node/factory/oracleClient.js +2 -2
- package/lib/node/idl/velocity.d.ts +50 -1
- package/lib/node/idl/velocity.d.ts.map +1 -1
- package/lib/node/idl/velocity.json +50 -1
- package/lib/node/keypair.d.ts +8 -0
- package/lib/node/keypair.d.ts.map +1 -1
- package/lib/node/keypair.js +8 -0
- package/lib/node/marginCalculation.d.ts +134 -2
- package/lib/node/marginCalculation.d.ts.map +1 -1
- package/lib/node/marginCalculation.js +121 -0
- package/lib/node/math/amm.d.ts +348 -29
- package/lib/node/math/amm.d.ts.map +1 -1
- package/lib/node/math/amm.js +310 -32
- package/lib/node/math/auction.d.ts +95 -19
- package/lib/node/math/auction.d.ts.map +1 -1
- package/lib/node/math/auction.js +118 -28
- package/lib/node/math/bankruptcy.d.ts +46 -0
- package/lib/node/math/bankruptcy.d.ts.map +1 -1
- package/lib/node/math/bankruptcy.js +89 -1
- package/lib/node/math/builder.d.ts +64 -8
- package/lib/node/math/builder.d.ts.map +1 -1
- package/lib/node/math/builder.js +71 -9
- package/lib/node/math/conversion.d.ts +21 -0
- package/lib/node/math/conversion.d.ts.map +1 -1
- package/lib/node/math/conversion.js +21 -0
- package/lib/node/math/exchangeStatus.d.ts +92 -0
- package/lib/node/math/exchangeStatus.d.ts.map +1 -1
- package/lib/node/math/exchangeStatus.js +111 -1
- package/lib/node/math/funding.d.ts +57 -20
- package/lib/node/math/funding.d.ts.map +1 -1
- package/lib/node/math/funding.js +63 -23
- package/lib/node/math/insurance.d.ts +62 -0
- package/lib/node/math/insurance.d.ts.map +1 -1
- package/lib/node/math/insurance.js +62 -0
- package/lib/node/math/liquidation.d.ts +127 -11
- package/lib/node/math/liquidation.d.ts.map +1 -1
- package/lib/node/math/liquidation.js +182 -19
- package/lib/node/math/margin.d.ts +79 -13
- package/lib/node/math/margin.d.ts.map +1 -1
- package/lib/node/math/margin.js +80 -14
- package/lib/node/math/market.d.ts +135 -15
- package/lib/node/math/market.d.ts.map +1 -1
- package/lib/node/math/market.js +145 -17
- package/lib/node/math/oracles.d.ts +113 -0
- package/lib/node/math/oracles.d.ts.map +1 -1
- package/lib/node/math/oracles.js +118 -1
- package/lib/node/math/orders.d.ts +115 -7
- package/lib/node/math/orders.d.ts.map +1 -1
- package/lib/node/math/orders.js +133 -18
- package/lib/node/math/position.d.ts +80 -33
- package/lib/node/math/position.d.ts.map +1 -1
- package/lib/node/math/position.js +80 -33
- package/lib/node/math/repeg.d.ts +48 -10
- package/lib/node/math/repeg.d.ts.map +1 -1
- package/lib/node/math/repeg.js +48 -10
- package/lib/node/math/spotBalance.d.ts +200 -5
- package/lib/node/math/spotBalance.d.ts.map +1 -1
- package/lib/node/math/spotBalance.js +239 -10
- package/lib/node/math/spotMarket.d.ts +36 -3
- package/lib/node/math/spotMarket.d.ts.map +1 -1
- package/lib/node/math/spotMarket.js +36 -3
- package/lib/node/math/spotPosition.d.ts +72 -0
- package/lib/node/math/spotPosition.d.ts.map +1 -1
- package/lib/node/math/spotPosition.js +62 -0
- package/lib/node/math/state.d.ts +31 -0
- package/lib/node/math/state.d.ts.map +1 -1
- package/lib/node/math/state.js +32 -1
- package/lib/node/math/superStake.d.ts +126 -2
- package/lib/node/math/superStake.d.ts.map +1 -1
- package/lib/node/math/superStake.js +123 -3
- package/lib/node/math/tiers.d.ts +29 -0
- package/lib/node/math/tiers.d.ts.map +1 -1
- package/lib/node/math/tiers.js +29 -0
- package/lib/node/math/trade.d.ts +102 -51
- package/lib/node/math/trade.d.ts.map +1 -1
- package/lib/node/math/trade.js +101 -55
- package/lib/node/math/utils.d.ts +71 -9
- package/lib/node/math/utils.d.ts.map +1 -1
- package/lib/node/math/utils.js +71 -9
- package/lib/node/memcmp.d.ts +94 -0
- package/lib/node/memcmp.d.ts.map +1 -1
- package/lib/node/memcmp.js +129 -7
- package/lib/node/oracles/oracleClientCache.d.ts +16 -0
- package/lib/node/oracles/oracleClientCache.d.ts.map +1 -1
- package/lib/node/oracles/oracleClientCache.js +16 -0
- package/lib/node/oracles/oracleId.d.ts +31 -0
- package/lib/node/oracles/oracleId.d.ts.map +1 -1
- package/lib/node/oracles/oracleId.js +39 -8
- package/lib/node/oracles/prelaunchOracleClient.d.ts +20 -0
- package/lib/node/oracles/prelaunchOracleClient.d.ts.map +1 -1
- package/lib/node/oracles/prelaunchOracleClient.js +20 -0
- package/lib/node/oracles/pythClient.d.ts +31 -0
- package/lib/node/oracles/pythClient.d.ts.map +1 -1
- package/lib/node/oracles/pythClient.js +32 -1
- package/lib/node/oracles/pythLazerClient.d.ts +34 -0
- package/lib/node/oracles/pythLazerClient.d.ts.map +1 -1
- package/lib/node/oracles/pythLazerClient.js +35 -1
- package/lib/node/oracles/quoteAssetOracleClient.d.ts +18 -0
- package/lib/node/oracles/quoteAssetOracleClient.d.ts.map +1 -1
- package/lib/node/oracles/quoteAssetOracleClient.js +18 -0
- package/lib/node/oracles/strictOraclePrice.d.ts +21 -0
- package/lib/node/oracles/strictOraclePrice.d.ts.map +1 -1
- package/lib/node/oracles/strictOraclePrice.js +21 -0
- package/lib/node/oracles/types.d.ts +45 -0
- package/lib/node/oracles/types.d.ts.map +1 -1
- package/lib/node/oracles/utils.d.ts +20 -0
- package/lib/node/oracles/utils.d.ts.map +1 -1
- package/lib/node/oracles/utils.js +20 -0
- package/lib/node/orderParams.d.ts +42 -4
- package/lib/node/orderParams.d.ts.map +1 -1
- package/lib/node/orderParams.js +42 -4
- package/lib/node/orderSubscriber/OrderSubscriber.d.ts +56 -0
- package/lib/node/orderSubscriber/OrderSubscriber.d.ts.map +1 -1
- package/lib/node/orderSubscriber/OrderSubscriber.js +67 -2
- package/lib/node/orderSubscriber/PollingSubscription.d.ts +11 -0
- package/lib/node/orderSubscriber/PollingSubscription.d.ts.map +1 -1
- package/lib/node/orderSubscriber/PollingSubscription.js +11 -0
- package/lib/node/orderSubscriber/WebsocketSubscription.d.ts +18 -0
- package/lib/node/orderSubscriber/WebsocketSubscription.d.ts.map +1 -1
- package/lib/node/orderSubscriber/WebsocketSubscription.js +18 -0
- package/lib/node/orderSubscriber/grpcSubscription.d.ts +16 -0
- package/lib/node/orderSubscriber/grpcSubscription.d.ts.map +1 -1
- package/lib/node/orderSubscriber/grpcSubscription.js +16 -0
- package/lib/node/orderSubscriber/types.d.ts +9 -0
- package/lib/node/orderSubscriber/types.d.ts.map +1 -1
- package/lib/node/priorityFee/averageOverSlotsStrategy.d.ts +1 -0
- package/lib/node/priorityFee/averageOverSlotsStrategy.d.ts.map +1 -1
- package/lib/node/priorityFee/averageOverSlotsStrategy.js +1 -0
- package/lib/node/priorityFee/averageStrategy.d.ts +1 -0
- package/lib/node/priorityFee/averageStrategy.d.ts.map +1 -1
- package/lib/node/priorityFee/averageStrategy.js +1 -0
- package/lib/node/priorityFee/ewmaStrategy.d.ts +10 -0
- package/lib/node/priorityFee/ewmaStrategy.d.ts.map +1 -1
- package/lib/node/priorityFee/ewmaStrategy.js +10 -0
- package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts +13 -0
- package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts.map +1 -1
- package/lib/node/priorityFee/heliusPriorityFeeMethod.js +9 -2
- package/lib/node/priorityFee/maxOverSlotsStrategy.d.ts +1 -0
- package/lib/node/priorityFee/maxOverSlotsStrategy.d.ts.map +1 -1
- package/lib/node/priorityFee/maxOverSlotsStrategy.js +1 -0
- package/lib/node/priorityFee/maxStrategy.d.ts +1 -0
- package/lib/node/priorityFee/maxStrategy.d.ts.map +1 -1
- package/lib/node/priorityFee/maxStrategy.js +1 -0
- package/lib/node/priorityFee/priorityFeeSubscriber.d.ts +39 -0
- package/lib/node/priorityFee/priorityFeeSubscriber.d.ts.map +1 -1
- package/lib/node/priorityFee/priorityFeeSubscriber.js +39 -0
- package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts +20 -1
- package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts.map +1 -1
- package/lib/node/priorityFee/priorityFeeSubscriberMap.js +21 -2
- package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts +12 -0
- package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts.map +1 -1
- package/lib/node/priorityFee/solanaPriorityFeeMethod.js +10 -0
- package/lib/node/priorityFee/types.d.ts +32 -0
- package/lib/node/priorityFee/types.d.ts.map +1 -1
- package/lib/node/priorityFee/types.js +5 -0
- package/lib/node/priorityFee/velocityPriorityFeeMethod.d.ts +11 -0
- package/lib/node/priorityFee/velocityPriorityFeeMethod.d.ts.map +1 -1
- package/lib/node/priorityFee/velocityPriorityFeeMethod.js +8 -0
- package/lib/node/slot/SlotSubscriber.d.ts +18 -0
- package/lib/node/slot/SlotSubscriber.d.ts.map +1 -1
- package/lib/node/slot/SlotSubscriber.js +16 -0
- package/lib/node/slot/SlothashSubscriber.d.ts +26 -0
- package/lib/node/slot/SlothashSubscriber.d.ts.map +1 -1
- package/lib/node/slot/SlothashSubscriber.js +25 -1
- package/lib/node/swift/swiftOrderSubscriber.js +2 -2
- package/lib/node/tokenFaucet.d.ts +2 -2
- package/lib/node/tokenFaucet.d.ts.map +1 -1
- package/lib/node/tokenFaucet.js +11 -4
- package/lib/node/tx/baseTxSender.d.ts +163 -0
- package/lib/node/tx/baseTxSender.d.ts.map +1 -1
- package/lib/node/tx/baseTxSender.js +174 -6
- package/lib/node/tx/blockhashFetcher/baseBlockhashFetcher.d.ts +12 -0
- package/lib/node/tx/blockhashFetcher/baseBlockhashFetcher.d.ts.map +1 -1
- package/lib/node/tx/blockhashFetcher/baseBlockhashFetcher.js +12 -0
- package/lib/node/tx/blockhashFetcher/cachedBlockhashFetcher.d.ts +15 -0
- package/lib/node/tx/blockhashFetcher/cachedBlockhashFetcher.d.ts.map +1 -1
- package/lib/node/tx/blockhashFetcher/cachedBlockhashFetcher.js +15 -0
- package/lib/node/tx/blockhashFetcher/types.d.ts +4 -0
- package/lib/node/tx/blockhashFetcher/types.d.ts.map +1 -1
- package/lib/node/tx/fastSingleTxSender.d.ts +47 -0
- package/lib/node/tx/fastSingleTxSender.d.ts.map +1 -1
- package/lib/node/tx/fastSingleTxSender.js +48 -1
- package/lib/node/tx/forwardOnlyTxSender.d.ts +48 -0
- package/lib/node/tx/forwardOnlyTxSender.d.ts.map +1 -1
- package/lib/node/tx/forwardOnlyTxSender.js +48 -0
- package/lib/node/tx/reportTransactionError.d.ts +18 -6
- package/lib/node/tx/reportTransactionError.d.ts.map +1 -1
- package/lib/node/tx/reportTransactionError.js +18 -6
- package/lib/node/tx/retryTxSender.d.ts +40 -0
- package/lib/node/tx/retryTxSender.d.ts.map +1 -1
- package/lib/node/tx/retryTxSender.js +39 -0
- package/lib/node/tx/txHandler.d.ts +146 -35
- package/lib/node/tx/txHandler.d.ts.map +1 -1
- package/lib/node/tx/txHandler.js +132 -32
- package/lib/node/tx/txParamProcessor.d.ts +47 -0
- package/lib/node/tx/txParamProcessor.d.ts.map +1 -1
- package/lib/node/tx/txParamProcessor.js +47 -0
- package/lib/node/tx/types.d.ts +46 -0
- package/lib/node/tx/types.d.ts.map +1 -1
- package/lib/node/tx/types.js +5 -0
- package/lib/node/tx/utils.d.ts +26 -0
- package/lib/node/tx/utils.d.ts.map +1 -1
- package/lib/node/tx/utils.js +26 -0
- package/lib/node/tx/whileValidTxSender.d.ts +82 -0
- package/lib/node/tx/whileValidTxSender.d.ts.map +1 -1
- package/lib/node/tx/whileValidTxSender.js +81 -0
- package/lib/node/types.d.ts +786 -13
- package/lib/node/types.d.ts.map +1 -1
- package/lib/node/types.js +133 -9
- package/lib/node/user.d.ts +645 -84
- package/lib/node/user.d.ts.map +1 -1
- package/lib/node/user.js +779 -96
- package/lib/node/userMap/PollingSubscription.d.ts +10 -0
- package/lib/node/userMap/PollingSubscription.d.ts.map +1 -1
- package/lib/node/userMap/PollingSubscription.js +14 -2
- package/lib/node/userMap/WebsocketSubscription.d.ts +9 -0
- package/lib/node/userMap/WebsocketSubscription.d.ts.map +1 -1
- package/lib/node/userMap/WebsocketSubscription.js +9 -0
- package/lib/node/userMap/grpcSubscription.d.ts +8 -0
- package/lib/node/userMap/grpcSubscription.d.ts.map +1 -1
- package/lib/node/userMap/grpcSubscription.js +8 -0
- package/lib/node/userMap/referrerMap.d.ts +72 -2
- package/lib/node/userMap/referrerMap.d.ts.map +1 -1
- package/lib/node/userMap/referrerMap.js +84 -2
- package/lib/node/userMap/revenueShareEscrowMap.d.ts +37 -10
- package/lib/node/userMap/revenueShareEscrowMap.d.ts.map +1 -1
- package/lib/node/userMap/revenueShareEscrowMap.js +38 -11
- package/lib/node/userMap/userMap.d.ts +81 -3
- package/lib/node/userMap/userMap.d.ts.map +1 -1
- package/lib/node/userMap/userMap.js +81 -4
- package/lib/node/userMap/userMapConfig.d.ts +23 -0
- package/lib/node/userMap/userMapConfig.d.ts.map +1 -1
- package/lib/node/userMap/userStatsMap.d.ts +22 -0
- package/lib/node/userMap/userStatsMap.d.ts.map +1 -1
- package/lib/node/userMap/userStatsMap.js +22 -0
- package/lib/node/userName.d.ts +16 -0
- package/lib/node/userName.d.ts.map +1 -1
- package/lib/node/userName.js +16 -0
- package/lib/node/userStats.d.ts +28 -1
- package/lib/node/userStats.d.ts.map +1 -1
- package/lib/node/userStats.js +28 -1
- package/lib/node/util/TransactionConfirmationManager.d.ts +33 -0
- package/lib/node/util/TransactionConfirmationManager.d.ts.map +1 -1
- package/lib/node/util/TransactionConfirmationManager.js +33 -0
- package/lib/node/util/chainClock.d.ts +24 -0
- package/lib/node/util/chainClock.d.ts.map +1 -1
- package/lib/node/util/chainClock.js +20 -0
- package/lib/node/util/computeUnits.d.ts +32 -0
- package/lib/node/util/computeUnits.d.ts.map +1 -1
- package/lib/node/util/computeUnits.js +32 -0
- package/lib/node/util/digest.d.ts +17 -0
- package/lib/node/util/digest.d.ts.map +1 -1
- package/lib/node/util/digest.js +17 -0
- package/lib/node/util/ed25519Utils.d.ts +12 -2
- package/lib/node/util/ed25519Utils.d.ts.map +1 -1
- package/lib/node/util/ed25519Utils.js +12 -2
- package/lib/node/util/promiseTimeout.d.ts +9 -0
- package/lib/node/util/promiseTimeout.d.ts.map +1 -1
- package/lib/node/util/promiseTimeout.js +9 -0
- package/lib/node/velocityClient.d.ts +3323 -216
- package/lib/node/velocityClient.d.ts.map +1 -1
- package/lib/node/velocityClient.js +3428 -249
- package/lib/node/wallet.d.ts +37 -0
- package/lib/node/wallet.d.ts.map +1 -1
- package/lib/node/wallet.js +37 -0
- package/package.json +2 -1
- package/src/accounts/basicUserAccountSubscriber.ts +18 -0
- package/src/accounts/basicUserStatsAccountSubscriber.ts +18 -0
- package/src/accounts/bulkAccountLoader.ts +52 -0
- package/src/accounts/bulkUserStatsSubscription.ts +9 -2
- package/src/accounts/bulkUserSubscription.ts +8 -2
- package/src/accounts/customizedCadenceBulkAccountLoader.ts +37 -0
- package/src/accounts/fetch.ts +59 -2
- package/src/accounts/grpcAccountSubscriber.ts +30 -0
- package/src/accounts/grpcInsuranceFundStakeAccountSubscriber.ts +16 -0
- package/src/accounts/grpcMultiAccountSubscriber.ts +121 -38
- package/src/accounts/grpcMultiUserAccountSubscriber.ts +49 -11
- package/src/accounts/grpcProgramAccountSubscriber.ts +33 -0
- package/src/accounts/grpcUserAccountSubscriber.ts +15 -0
- package/src/accounts/grpcUserStatsAccountSubscriber.ts +15 -0
- package/src/accounts/grpcVelocityClientAccountSubscriber.ts +41 -0
- package/src/accounts/grpcVelocityClientAccountSubscriberV2.ts +160 -1
- package/src/accounts/laserProgramAccountSubscriber.ts +34 -0
- package/src/accounts/oneShotUserAccountSubscriber.ts +19 -0
- package/src/accounts/oneShotUserStatsAccountSubscriber.ts +19 -0
- package/src/accounts/pollingInsuranceFundStakeAccountSubscriber.ts +31 -0
- package/src/accounts/pollingOracleAccountSubscriber.ts +21 -2
- package/src/accounts/pollingTokenAccountSubscriber.ts +22 -0
- package/src/accounts/pollingUserAccountSubscriber.ts +32 -0
- package/src/accounts/pollingUserStatsAccountSubscriber.ts +22 -0
- package/src/accounts/pollingVelocityClientAccountSubscriber.ts +84 -1
- package/src/accounts/testBulkAccountLoader.ts +8 -0
- package/src/accounts/types.ts +149 -0
- package/src/accounts/utils.ts +42 -24
- package/src/accounts/webSocketAccountSubscriber.ts +41 -0
- package/src/accounts/webSocketAccountSubscriberV2.ts +31 -23
- package/src/accounts/webSocketInsuranceFundStakeAccountSubscriber.ts +27 -0
- package/src/accounts/webSocketProgramAccountSubscriber.ts +36 -0
- package/src/accounts/webSocketProgramAccountSubscriberV2.ts +26 -0
- package/src/accounts/webSocketProgramAccountsSubscriberV2.ts +21 -0
- package/src/accounts/webSocketUserAccountSubscriber.ts +26 -0
- package/src/accounts/webSocketUserStatsAccountSubsriber.ts +20 -0
- package/src/accounts/webSocketVelocityClientAccountSubscriber.ts +127 -2
- package/src/accounts/webSocketVelocityClientAccountSubscriberV2.ts +110 -0
- package/src/accounts/websocketProgramUserAccountSubscriber.ts +33 -0
- package/src/addresses/marketAddresses.ts +10 -0
- package/src/addresses/pda.ts +228 -12
- package/src/adminClient.ts +2184 -4
- package/src/auctionSubscriber/auctionSubscriber.ts +15 -0
- package/src/auctionSubscriber/auctionSubscriberGrpc.ts +19 -0
- package/src/auctionSubscriber/index.ts +6 -0
- package/src/auctionSubscriber/types.ts +7 -0
- package/src/blockhashSubscriber/BlockhashSubscriber.ts +33 -0
- package/src/blockhashSubscriber/index.ts +5 -0
- package/src/blockhashSubscriber/types.ts +5 -4
- package/src/clock/clockSubscriber.ts +24 -0
- package/src/config.ts +109 -22
- package/src/constants/numericConstants.ts +70 -0
- package/src/constants/perpMarkets.ts +45 -960
- package/src/constants/spotMarkets.ts +23 -793
- package/src/constants/txConstants.ts +1 -0
- package/src/core/VelocityCore.ts +286 -8
- package/src/core/instructions/deposit.ts +22 -0
- package/src/core/instructions/fill.ts +17 -0
- package/src/core/instructions/funding.ts +12 -0
- package/src/core/instructions/liquidation.ts +18 -0
- package/src/core/instructions/orders.ts +28 -0
- package/src/core/instructions/perpOrders.ts +106 -0
- package/src/core/instructions/settlement.ts +14 -0
- package/src/core/instructions/trigger.ts +15 -0
- package/src/core/instructions/withdraw.ts +21 -0
- package/src/core/remainingAccounts.ts +47 -3
- package/src/core/signedMsg.ts +38 -0
- package/src/decode/customCoder.ts +46 -3
- package/src/decode/user.ts +22 -0
- package/src/dlob/DLOB.ts +668 -97
- package/src/dlob/DLOBNode.ts +98 -6
- package/src/dlob/DLOBSubscriber.ts +49 -12
- package/src/dlob/NodeList.ts +69 -0
- package/src/dlob/orderBookLevels.ts +108 -14
- package/src/dlob/types.ts +15 -0
- package/src/events/eventList.ts +14 -0
- package/src/events/eventSubscriber.ts +100 -19
- package/src/events/eventsServerLogProvider.ts +28 -0
- package/src/events/fetchLogs.ts +52 -2
- package/src/events/parse.ts +23 -0
- package/src/events/pollingLogProvider.ts +24 -0
- package/src/events/sort.ts +12 -0
- package/src/events/txEventCache.ts +19 -7
- package/src/events/types.ts +131 -11
- package/src/events/webSocketLogProvider.ts +29 -0
- package/src/factory/oracleClient.ts +2 -2
- package/src/idl/velocity.json +50 -1
- package/src/idl/velocity.ts +50 -1
- package/src/keypair.ts +8 -0
- package/src/marginCalculation.ts +153 -2
- package/src/math/amm.ts +371 -36
- package/src/math/auction.ts +139 -30
- package/src/math/bankruptcy.ts +104 -1
- package/src/math/builder.ts +74 -8
- package/src/math/conversion.ts +21 -0
- package/src/math/exchangeStatus.ts +125 -0
- package/src/math/funding.ts +63 -23
- package/src/math/insurance.ts +62 -0
- package/src/math/liquidation.ts +227 -17
- package/src/math/margin.ts +80 -14
- package/src/math/market.ts +148 -17
- package/src/math/oracles.ts +124 -0
- package/src/math/orders.ts +144 -18
- package/src/math/position.ts +80 -33
- package/src/math/repeg.ts +48 -10
- package/src/math/spotBalance.ts +252 -12
- package/src/math/spotMarket.ts +36 -3
- package/src/math/spotPosition.ts +72 -0
- package/src/math/state.ts +32 -1
- package/src/math/superStake.ts +126 -3
- package/src/math/tiers.ts +29 -0
- package/src/math/trade.ts +125 -55
- package/src/math/utils.ts +71 -9
- package/src/memcmp.ts +131 -7
- package/src/oracles/oracleClientCache.ts +16 -0
- package/src/oracles/oracleId.ts +39 -6
- package/src/oracles/prelaunchOracleClient.ts +20 -0
- package/src/oracles/pythClient.ts +32 -1
- package/src/oracles/pythLazerClient.ts +35 -1
- package/src/oracles/quoteAssetOracleClient.ts +18 -0
- package/src/oracles/strictOraclePrice.ts +21 -0
- package/src/oracles/types.ts +45 -0
- package/src/oracles/utils.ts +20 -0
- package/src/orderParams.ts +42 -4
- package/src/orderSubscriber/OrderSubscriber.ts +74 -2
- package/src/orderSubscriber/PollingSubscription.ts +11 -0
- package/src/orderSubscriber/WebsocketSubscription.ts +18 -0
- package/src/orderSubscriber/grpcSubscription.ts +16 -0
- package/src/orderSubscriber/types.ts +9 -0
- package/src/priorityFee/averageOverSlotsStrategy.ts +1 -0
- package/src/priorityFee/averageStrategy.ts +1 -0
- package/src/priorityFee/ewmaStrategy.ts +10 -0
- package/src/priorityFee/heliusPriorityFeeMethod.ts +13 -2
- package/src/priorityFee/maxOverSlotsStrategy.ts +1 -0
- package/src/priorityFee/maxStrategy.ts +1 -0
- package/src/priorityFee/priorityFeeSubscriber.ts +39 -0
- package/src/priorityFee/priorityFeeSubscriberMap.ts +21 -2
- package/src/priorityFee/solanaPriorityFeeMethod.ts +12 -0
- package/src/priorityFee/types.ts +33 -15
- package/src/priorityFee/velocityPriorityFeeMethod.ts +11 -0
- package/src/slot/SlotSubscriber.ts +18 -0
- package/src/slot/SlothashSubscriber.ts +27 -1
- package/src/swift/swiftOrderSubscriber.ts +2 -2
- package/src/tokenFaucet.ts +10 -7
- package/src/tx/baseTxSender.ts +185 -5
- package/src/tx/blockhashFetcher/baseBlockhashFetcher.ts +12 -0
- package/src/tx/blockhashFetcher/cachedBlockhashFetcher.ts +15 -0
- package/src/tx/blockhashFetcher/types.ts +4 -0
- package/src/tx/fastSingleTxSender.ts +58 -4
- package/src/tx/forwardOnlyTxSender.ts +48 -0
- package/src/tx/reportTransactionError.ts +18 -6
- package/src/tx/retryTxSender.ts +40 -0
- package/src/tx/txHandler.ts +146 -35
- package/src/tx/txParamProcessor.ts +47 -0
- package/src/tx/types.ts +46 -0
- package/src/tx/utils.ts +26 -0
- package/src/tx/whileValidTxSender.ts +82 -0
- package/src/types.ts +783 -22
- package/src/user.ts +869 -110
- package/src/userMap/PollingSubscription.ts +16 -2
- package/src/userMap/WebsocketSubscription.ts +9 -0
- package/src/userMap/grpcSubscription.ts +8 -0
- package/src/userMap/referrerMap.ts +92 -3
- package/src/userMap/revenueShareEscrowMap.ts +38 -11
- package/src/userMap/userMap.ts +82 -4
- package/src/userMap/userMapConfig.ts +23 -10
- package/src/userMap/userStatsMap.ts +22 -0
- package/src/userName.ts +16 -0
- package/src/userStats.ts +28 -1
- package/src/util/TransactionConfirmationManager.ts +33 -0
- package/src/util/chainClock.ts +24 -0
- package/src/util/computeUnits.ts +32 -0
- package/src/util/digest.ts +17 -0
- package/src/util/ed25519Utils.ts +12 -2
- package/src/util/promiseTimeout.ts +9 -0
- package/src/velocityClient.ts +3456 -254
- package/src/wallet.ts +37 -0
- package/tests/VelocityCore/builder_escrow.test.ts +121 -0
- package/tests/amm/test.ts +102 -0
- package/tests/builder/builderFee.test.ts +42 -0
- package/tests/dlob/helpers.ts +1 -0
- package/tests/dlob/tickSizeStandardization.ts +545 -0
- package/tests/exchangeStatus/test.ts +45 -0
- package/tests/liquidation/test.ts +125 -0
- package/tests/oracles/mmOracleGate.test.ts +379 -0
- package/tests/oracles/pythPegSnap.test.ts +76 -0
- package/tests/sdkParity/enumParity.test.ts +84 -0
- package/tests/sdkParity/marginCategoryFill.test.ts +143 -0
- package/tests/sdkParity/memcmpOffsets.test.ts +139 -0
- package/tests/spot/test.ts +55 -0
- package/tests/user/bankruptcy.ts +165 -0
- package/tests/user/feeAndWithdrawLimits.ts +284 -0
- package/tests/user/getMarginCalculation.ts +226 -1
- package/tests/user/test.ts +8 -4
|
@@ -11,6 +11,13 @@ import { Context, PublicKey } from '@solana/web3.js';
|
|
|
11
11
|
import { WebSocketProgramAccountSubscriber } from './webSocketProgramAccountSubscriber';
|
|
12
12
|
import { UserAccount } from '../types';
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* `UserAccountSubscriber` that filters a *shared* `WebSocketProgramAccountSubscriber` (subscribed
|
|
16
|
+
* once, program-wide, by the caller) down to a single `UserAccount` by pubkey, instead of opening
|
|
17
|
+
* its own dedicated subscription. Overwrites the shared subscriber's `onChange` callback in
|
|
18
|
+
* `subscribe()` — only one `WebSocketProgramUserAccountSubscriber` can usefully attach to a given
|
|
19
|
+
* `programSubscriber` at a time, since each `subscribe()` call replaces the previous `onChange`.
|
|
20
|
+
*/
|
|
14
21
|
export class WebSocketProgramUserAccountSubscriber
|
|
15
22
|
implements UserAccountSubscriber
|
|
16
23
|
{
|
|
@@ -22,6 +29,11 @@ export class WebSocketProgramUserAccountSubscriber
|
|
|
22
29
|
private programSubscriber: WebSocketProgramAccountSubscriber<UserAccount>;
|
|
23
30
|
private userAccountAndSlot?: DataAndSlot<UserAccount>;
|
|
24
31
|
|
|
32
|
+
/**
|
|
33
|
+
* @param program Anchor program used for the one-off `fetch()` fallback.
|
|
34
|
+
* @param userAccountPublicKey Address of the `UserAccount` to filter for.
|
|
35
|
+
* @param programSubscriber Shared, already-created program-account subscriber (not subscribed by this constructor — see `subscribe()`).
|
|
36
|
+
*/
|
|
25
37
|
public constructor(
|
|
26
38
|
program: VelocityProgram,
|
|
27
39
|
userAccountPublicKey: PublicKey,
|
|
@@ -34,6 +46,13 @@ export class WebSocketProgramUserAccountSubscriber
|
|
|
34
46
|
this.programSubscriber = programSubscriber;
|
|
35
47
|
}
|
|
36
48
|
|
|
49
|
+
/**
|
|
50
|
+
* Installs (overwriting) an `onChange` handler on the shared `programSubscriber` that filters
|
|
51
|
+
* updates down to this instance's `userAccountPublicKey`. Does not itself call
|
|
52
|
+
* `programSubscriber.subscribe()` — the caller is responsible for starting the shared program
|
|
53
|
+
* subscription separately.
|
|
54
|
+
* @param userAccount Optional pre-fetched account data to seed with immediately (at slot 0).
|
|
55
|
+
*/
|
|
37
56
|
async subscribe(userAccount?: UserAccount): Promise<boolean> {
|
|
38
57
|
if (this.isSubscribed) {
|
|
39
58
|
return true;
|
|
@@ -48,6 +67,11 @@ export class WebSocketProgramUserAccountSubscriber
|
|
|
48
67
|
data: UserAccount,
|
|
49
68
|
context: Context
|
|
50
69
|
) => {
|
|
70
|
+
// the shared programSubscriber callback isn't detached on unsubscribe(), so
|
|
71
|
+
// guard here to stop delivering updates once this facade is unsubscribed
|
|
72
|
+
if (!this.isSubscribed) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
51
75
|
if (accountId.equals(this.userAccountPublicKey)) {
|
|
52
76
|
this.updateData(data, context.slot);
|
|
53
77
|
this.eventEmitter.emit('userAccountUpdate', data);
|
|
@@ -59,6 +83,7 @@ export class WebSocketProgramUserAccountSubscriber
|
|
|
59
83
|
return true;
|
|
60
84
|
}
|
|
61
85
|
|
|
86
|
+
/** Fetches the account once directly via `program.account.user.fetch` (independent of the shared program subscription), storing the result at slot 0 (not the fetch's actual slot). Throws `NotSubscribedError` if not subscribed. */
|
|
62
87
|
async fetch(): Promise<void> {
|
|
63
88
|
if (!this.isSubscribed) {
|
|
64
89
|
throw new NotSubscribedError(
|
|
@@ -72,6 +97,12 @@ export class WebSocketProgramUserAccountSubscriber
|
|
|
72
97
|
this.updateData(account as UserAccount, 0);
|
|
73
98
|
}
|
|
74
99
|
|
|
100
|
+
/**
|
|
101
|
+
* Overwrites the cached data unconditionally — unlike most other `updateData` implementations
|
|
102
|
+
* in this directory, there is no slot-ordering guard here, so a caller must not pass stale data.
|
|
103
|
+
* @param userAccount Decoded account data to store.
|
|
104
|
+
* @param slot Slot the data was observed at.
|
|
105
|
+
*/
|
|
75
106
|
updateData(userAccount: UserAccount, slot: number): void {
|
|
76
107
|
this.userAccountAndSlot = {
|
|
77
108
|
data: userAccount,
|
|
@@ -79,10 +110,12 @@ export class WebSocketProgramUserAccountSubscriber
|
|
|
79
110
|
};
|
|
80
111
|
}
|
|
81
112
|
|
|
113
|
+
/** Marks this facade unsubscribed. Does not touch the shared `programSubscriber`'s `onChange` handler or its subscription state. */
|
|
82
114
|
async unsubscribe(): Promise<void> {
|
|
83
115
|
this.isSubscribed = false;
|
|
84
116
|
}
|
|
85
117
|
|
|
118
|
+
/** Throws `NotSubscribedError` if not subscribed. Returns undefined only if subscribed but no data has loaded yet. */
|
|
86
119
|
getUserAccountAndSlot(): DataAndSlot<UserAccount> | undefined {
|
|
87
120
|
if (!this.isSubscribed) {
|
|
88
121
|
throw new NotSubscribedError(
|
|
@@ -2,6 +2,16 @@ import { PublicKey } from '@solana/web3.js';
|
|
|
2
2
|
import { getPerpMarketPublicKey } from './pda';
|
|
3
3
|
|
|
4
4
|
const CACHE = new Map<string, PublicKey>();
|
|
5
|
+
/**
|
|
6
|
+
* Derives (and memoizes) a `PerpMarket` account's PDA. Thin wrapper over
|
|
7
|
+
* `getPerpMarketPublicKey` that caches results in a module-level `Map` keyed by
|
|
8
|
+
* `${programId}-${marketIndex}` so repeated calls for the same market avoid redoing the
|
|
9
|
+
* `findProgramAddress` computation. The cache is process-lifetime and never invalidated/evicted —
|
|
10
|
+
* safe because a market's PDA for a given `programId`/`marketIndex` never changes.
|
|
11
|
+
* @param programId - Deployed velocity program id.
|
|
12
|
+
* @param marketIndex - Perp market index.
|
|
13
|
+
* @returns The `PerpMarket` account's public key.
|
|
14
|
+
*/
|
|
5
15
|
export async function getMarketAddress(
|
|
6
16
|
programId: PublicKey,
|
|
7
17
|
marketIndex: number
|
package/src/addresses/pda.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PDA derivation helpers for all Velocity protocol accounts.
|
|
3
|
-
* Covers: User, UserStats, PerpMarket, SpotMarket, InsuranceFundStake,
|
|
4
|
-
*
|
|
3
|
+
* Covers: User, UserStats, PerpMarket, SpotMarket, InsuranceFundStake, State,
|
|
4
|
+
* LP pool (and its constituents/caches), revenue share, and vault PDAs.
|
|
5
5
|
* All functions are pure (no RPC calls).
|
|
6
6
|
*/
|
|
7
7
|
import { PublicKey } from '@solana/web3.js';
|
|
@@ -13,36 +13,66 @@ import {
|
|
|
13
13
|
} from '@solana/spl-token';
|
|
14
14
|
import { SpotMarketAccount, TokenProgramFlag } from '../types';
|
|
15
15
|
|
|
16
|
+
/**
|
|
17
|
+
* Derives the singleton `State` account PDA (seed `"velocity_state"`), plus its bump nonce. There
|
|
18
|
+
* is exactly one `State` account per program deployment.
|
|
19
|
+
* @param programId - Deployed velocity program id.
|
|
20
|
+
* @returns Tuple of `[stateAccountPublicKey, bumpNonce]`.
|
|
21
|
+
*/
|
|
16
22
|
export async function getVelocityStateAccountPublicKeyAndNonce(
|
|
17
23
|
programId: PublicKey
|
|
18
24
|
): Promise<[PublicKey, number]> {
|
|
19
|
-
return
|
|
20
|
-
|
|
21
|
-
|
|
25
|
+
return Promise.resolve(
|
|
26
|
+
PublicKey.findProgramAddressSync(
|
|
27
|
+
[Buffer.from(anchor.utils.bytes.utf8.encode('velocity_state'))],
|
|
28
|
+
programId
|
|
29
|
+
)
|
|
22
30
|
);
|
|
23
31
|
}
|
|
24
32
|
|
|
33
|
+
/**
|
|
34
|
+
* Derives the singleton `State` account PDA (seed `"velocity_state"`).
|
|
35
|
+
* @param programId - Deployed velocity program id.
|
|
36
|
+
* @returns The `State` account's public key.
|
|
37
|
+
*/
|
|
25
38
|
export async function getVelocityStateAccountPublicKey(
|
|
26
39
|
programId: PublicKey
|
|
27
40
|
): Promise<PublicKey> {
|
|
28
41
|
return (await getVelocityStateAccountPublicKeyAndNonce(programId))[0];
|
|
29
42
|
}
|
|
30
43
|
|
|
44
|
+
/**
|
|
45
|
+
* Derives a `User` (sub-account) PDA, plus its bump nonce, from seeds `["user", authority,
|
|
46
|
+
* subAccountId as u16 LE]`.
|
|
47
|
+
* @param programId - Deployed velocity program id.
|
|
48
|
+
* @param authority - Wallet pubkey that owns the sub-account.
|
|
49
|
+
* @param subAccountId - Sub-account index (u16); defaults to 0, the wallet's first/main sub-account.
|
|
50
|
+
* @returns Tuple of `[userAccountPublicKey, bumpNonce]`.
|
|
51
|
+
*/
|
|
31
52
|
export async function getUserAccountPublicKeyAndNonce(
|
|
32
53
|
programId: PublicKey,
|
|
33
54
|
authority: PublicKey,
|
|
34
55
|
subAccountId = 0
|
|
35
56
|
): Promise<[PublicKey, number]> {
|
|
36
|
-
return
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
57
|
+
return Promise.resolve(
|
|
58
|
+
PublicKey.findProgramAddressSync(
|
|
59
|
+
[
|
|
60
|
+
Buffer.from(anchor.utils.bytes.utf8.encode('user')),
|
|
61
|
+
authority.toBuffer(),
|
|
62
|
+
new anchor.BN(subAccountId).toArrayLike(Buffer, 'le', 2),
|
|
63
|
+
],
|
|
64
|
+
programId
|
|
65
|
+
)
|
|
43
66
|
);
|
|
44
67
|
}
|
|
45
68
|
|
|
69
|
+
/**
|
|
70
|
+
* Derives a `User` (sub-account) PDA from seeds `["user", authority, subAccountId as u16 LE]`.
|
|
71
|
+
* @param programId - Deployed velocity program id.
|
|
72
|
+
* @param authority - Wallet pubkey that owns the sub-account.
|
|
73
|
+
* @param subAccountId - Sub-account index (u16); defaults to 0, the wallet's first/main sub-account.
|
|
74
|
+
* @returns The `User` account's public key.
|
|
75
|
+
*/
|
|
46
76
|
export async function getUserAccountPublicKey(
|
|
47
77
|
programId: PublicKey,
|
|
48
78
|
authority: PublicKey,
|
|
@@ -53,6 +83,13 @@ export async function getUserAccountPublicKey(
|
|
|
53
83
|
)[0];
|
|
54
84
|
}
|
|
55
85
|
|
|
86
|
+
/**
|
|
87
|
+
* Synchronous variant of `getUserAccountPublicKey` (no RPC/async round-trip; pure PDA math).
|
|
88
|
+
* @param programId - Deployed velocity program id.
|
|
89
|
+
* @param authority - Wallet pubkey that owns the sub-account.
|
|
90
|
+
* @param subAccountId - Sub-account index (u16); defaults to 0.
|
|
91
|
+
* @returns The `User` account's public key.
|
|
92
|
+
*/
|
|
56
93
|
export function getUserAccountPublicKeySync(
|
|
57
94
|
programId: PublicKey,
|
|
58
95
|
authority: PublicKey,
|
|
@@ -68,6 +105,13 @@ export function getUserAccountPublicKeySync(
|
|
|
68
105
|
)[0];
|
|
69
106
|
}
|
|
70
107
|
|
|
108
|
+
/**
|
|
109
|
+
* Derives the `UserStats` PDA (one per authority, shared across all of that authority's
|
|
110
|
+
* sub-accounts) from seeds `["user_stats", authority]`.
|
|
111
|
+
* @param programId - Deployed velocity program id.
|
|
112
|
+
* @param authority - Wallet pubkey the stats account tracks.
|
|
113
|
+
* @returns The `UserStats` account's public key.
|
|
114
|
+
*/
|
|
71
115
|
export function getUserStatsAccountPublicKey(
|
|
72
116
|
programId: PublicKey,
|
|
73
117
|
authority: PublicKey
|
|
@@ -81,6 +125,13 @@ export function getUserStatsAccountPublicKey(
|
|
|
81
125
|
)[0];
|
|
82
126
|
}
|
|
83
127
|
|
|
128
|
+
/**
|
|
129
|
+
* Derives the `SignedMsgUserOrders` PDA (holds a user's pending swift/signed-message orders) from
|
|
130
|
+
* seeds `["SIGNED_MSG", authority]`.
|
|
131
|
+
* @param programId - Deployed velocity program id.
|
|
132
|
+
* @param authority - Wallet pubkey (the user's main authority, not the sub-account) that owns the account.
|
|
133
|
+
* @returns The `SignedMsgUserOrders` account's public key.
|
|
134
|
+
*/
|
|
84
135
|
export function getSignedMsgUserAccountPublicKey(
|
|
85
136
|
programId: PublicKey,
|
|
86
137
|
authority: PublicKey
|
|
@@ -94,6 +145,13 @@ export function getSignedMsgUserAccountPublicKey(
|
|
|
94
145
|
)[0];
|
|
95
146
|
}
|
|
96
147
|
|
|
148
|
+
/**
|
|
149
|
+
* Derives the PDA that stores a user's approved signed-message (swift) websocket delegate keys,
|
|
150
|
+
* from seeds `["SIGNED_MSG_WS", authority]`.
|
|
151
|
+
* @param programId - Deployed velocity program id.
|
|
152
|
+
* @param authority - Wallet pubkey (the user's main authority) that owns the delegates account.
|
|
153
|
+
* @returns The delegates account's public key.
|
|
154
|
+
*/
|
|
97
155
|
export function getSignedMsgWsDelegatesAccountPublicKey(
|
|
98
156
|
programId: PublicKey,
|
|
99
157
|
authority: PublicKey
|
|
@@ -107,6 +165,12 @@ export function getSignedMsgWsDelegatesAccountPublicKey(
|
|
|
107
165
|
)[0];
|
|
108
166
|
}
|
|
109
167
|
|
|
168
|
+
/**
|
|
169
|
+
* Derives a `PerpMarket` PDA from seeds `["perp_market", marketIndex as u16 LE]`.
|
|
170
|
+
* @param programId - Deployed velocity program id.
|
|
171
|
+
* @param marketIndex - Perp market index.
|
|
172
|
+
* @returns The `PerpMarket` account's public key.
|
|
173
|
+
*/
|
|
110
174
|
export async function getPerpMarketPublicKey(
|
|
111
175
|
programId: PublicKey,
|
|
112
176
|
marketIndex: number
|
|
@@ -122,6 +186,12 @@ export async function getPerpMarketPublicKey(
|
|
|
122
186
|
)[0];
|
|
123
187
|
}
|
|
124
188
|
|
|
189
|
+
/**
|
|
190
|
+
* Synchronous variant of `getPerpMarketPublicKey`.
|
|
191
|
+
* @param programId - Deployed velocity program id.
|
|
192
|
+
* @param marketIndex - Perp market index.
|
|
193
|
+
* @returns The `PerpMarket` account's public key.
|
|
194
|
+
*/
|
|
125
195
|
export function getPerpMarketPublicKeySync(
|
|
126
196
|
programId: PublicKey,
|
|
127
197
|
marketIndex: number
|
|
@@ -135,6 +205,12 @@ export function getPerpMarketPublicKeySync(
|
|
|
135
205
|
)[0];
|
|
136
206
|
}
|
|
137
207
|
|
|
208
|
+
/**
|
|
209
|
+
* Derives a `SpotMarket` PDA from seeds `["spot_market", marketIndex as u16 LE]`.
|
|
210
|
+
* @param programId - Deployed velocity program id.
|
|
211
|
+
* @param marketIndex - Spot market index.
|
|
212
|
+
* @returns The `SpotMarket` account's public key.
|
|
213
|
+
*/
|
|
138
214
|
export async function getSpotMarketPublicKey(
|
|
139
215
|
programId: PublicKey,
|
|
140
216
|
marketIndex: number
|
|
@@ -150,6 +226,12 @@ export async function getSpotMarketPublicKey(
|
|
|
150
226
|
)[0];
|
|
151
227
|
}
|
|
152
228
|
|
|
229
|
+
/**
|
|
230
|
+
* Synchronous variant of `getSpotMarketPublicKey`.
|
|
231
|
+
* @param programId - Deployed velocity program id.
|
|
232
|
+
* @param marketIndex - Spot market index.
|
|
233
|
+
* @returns The `SpotMarket` account's public key.
|
|
234
|
+
*/
|
|
153
235
|
export function getSpotMarketPublicKeySync(
|
|
154
236
|
programId: PublicKey,
|
|
155
237
|
marketIndex: number
|
|
@@ -163,6 +245,13 @@ export function getSpotMarketPublicKeySync(
|
|
|
163
245
|
)[0];
|
|
164
246
|
}
|
|
165
247
|
|
|
248
|
+
/**
|
|
249
|
+
* Derives the token vault PDA (an SPL/Token-2022 token account owned by the `velocity_signer` PDA)
|
|
250
|
+
* that custodies a spot market's deposits, from seeds `["spot_market_vault", marketIndex as u16 LE]`.
|
|
251
|
+
* @param programId - Deployed velocity program id.
|
|
252
|
+
* @param marketIndex - Spot market index.
|
|
253
|
+
* @returns The spot market vault token account's public key.
|
|
254
|
+
*/
|
|
166
255
|
export async function getSpotMarketVaultPublicKey(
|
|
167
256
|
programId: PublicKey,
|
|
168
257
|
marketIndex: number
|
|
@@ -178,6 +267,13 @@ export async function getSpotMarketVaultPublicKey(
|
|
|
178
267
|
)[0];
|
|
179
268
|
}
|
|
180
269
|
|
|
270
|
+
/**
|
|
271
|
+
* Derives the insurance fund's token vault PDA for a market, from seeds `["insurance_fund_vault",
|
|
272
|
+
* marketIndex as u16 LE]`.
|
|
273
|
+
* @param programId - Deployed velocity program id.
|
|
274
|
+
* @param marketIndex - Spot market index whose insurance fund this vault backs.
|
|
275
|
+
* @returns The insurance fund vault token account's public key.
|
|
276
|
+
*/
|
|
181
277
|
export async function getInsuranceFundVaultPublicKey(
|
|
182
278
|
programId: PublicKey,
|
|
183
279
|
marketIndex: number
|
|
@@ -193,6 +289,14 @@ export async function getInsuranceFundVaultPublicKey(
|
|
|
193
289
|
)[0];
|
|
194
290
|
}
|
|
195
291
|
|
|
292
|
+
/**
|
|
293
|
+
* Derives an `InsuranceFundStake` PDA (an authority's staked share of one market's insurance fund)
|
|
294
|
+
* from seeds `["insurance_fund_stake", authority, marketIndex as u16 LE]`.
|
|
295
|
+
* @param programId - Deployed velocity program id.
|
|
296
|
+
* @param authority - Wallet pubkey staking into the insurance fund.
|
|
297
|
+
* @param marketIndex - Spot market index whose insurance fund is being staked into.
|
|
298
|
+
* @returns The `InsuranceFundStake` account's public key.
|
|
299
|
+
*/
|
|
196
300
|
export function getInsuranceFundStakeAccountPublicKey(
|
|
197
301
|
programId: PublicKey,
|
|
198
302
|
authority: PublicKey,
|
|
@@ -208,6 +312,12 @@ export function getInsuranceFundStakeAccountPublicKey(
|
|
|
208
312
|
)[0];
|
|
209
313
|
}
|
|
210
314
|
|
|
315
|
+
/**
|
|
316
|
+
* Derives the singleton `velocity_signer` PDA — the program-derived authority that owns/signs for
|
|
317
|
+
* all program-controlled token vaults (spot market vaults, insurance fund vaults, etc.) via CPI.
|
|
318
|
+
* @param programId - Deployed velocity program id.
|
|
319
|
+
* @returns The velocity signer PDA's public key.
|
|
320
|
+
*/
|
|
211
321
|
export function getVelocitySignerPublicKey(programId: PublicKey): PublicKey {
|
|
212
322
|
return PublicKey.findProgramAddressSync(
|
|
213
323
|
[Buffer.from(anchor.utils.bytes.utf8.encode('velocity_signer'))],
|
|
@@ -215,6 +325,13 @@ export function getVelocitySignerPublicKey(programId: PublicKey): PublicKey {
|
|
|
215
325
|
)[0];
|
|
216
326
|
}
|
|
217
327
|
|
|
328
|
+
/**
|
|
329
|
+
* Derives the PDA that reserves a unique referrer name, from seeds `["referrer_name", nameBuffer]`.
|
|
330
|
+
* Used to enforce name uniqueness for referrers on-chain.
|
|
331
|
+
* @param programId - Deployed velocity program id.
|
|
332
|
+
* @param nameBuffer - The 32-byte encoded name (see `encodeName`) to reserve.
|
|
333
|
+
* @returns The referrer-name PDA's public key.
|
|
334
|
+
*/
|
|
218
335
|
export function getReferrerNamePublicKeySync(
|
|
219
336
|
programId: PublicKey,
|
|
220
337
|
nameBuffer: number[]
|
|
@@ -228,6 +345,13 @@ export function getReferrerNamePublicKeySync(
|
|
|
228
345
|
)[0];
|
|
229
346
|
}
|
|
230
347
|
|
|
348
|
+
/**
|
|
349
|
+
* Derives the `PrelaunchOracle` PDA used as a placeholder/synthetic oracle for a not-yet-listed
|
|
350
|
+
* perp market, from seeds `["prelaunch_oracle", marketIndex as u16 LE]`.
|
|
351
|
+
* @param programId - Deployed velocity program id.
|
|
352
|
+
* @param marketIndex - Perp market index the prelaunch oracle backs.
|
|
353
|
+
* @returns The `PrelaunchOracle` account's public key.
|
|
354
|
+
*/
|
|
231
355
|
export function getPrelaunchOraclePublicKey(
|
|
232
356
|
programId: PublicKey,
|
|
233
357
|
marketIndex: number
|
|
@@ -241,6 +365,13 @@ export function getPrelaunchOraclePublicKey(
|
|
|
241
365
|
)[0];
|
|
242
366
|
}
|
|
243
367
|
|
|
368
|
+
/**
|
|
369
|
+
* Derives a Pyth Lazer oracle account PDA from seeds `["pyth_lazer", feedId as u32 LE]`. One
|
|
370
|
+
* account exists per Lazer feed id and is shared across all markets using that feed.
|
|
371
|
+
* @param progarmId - Deployed velocity program id (note: parameter name is misspelled but stable API).
|
|
372
|
+
* @param feedId - Pyth Lazer feed id (u32).
|
|
373
|
+
* @returns The Pyth Lazer oracle account's public key.
|
|
374
|
+
*/
|
|
244
375
|
export function getPythLazerOraclePublicKey(
|
|
245
376
|
progarmId: PublicKey,
|
|
246
377
|
feedId: number
|
|
@@ -258,6 +389,13 @@ export function getPythLazerOraclePublicKey(
|
|
|
258
389
|
)[0];
|
|
259
390
|
}
|
|
260
391
|
|
|
392
|
+
/**
|
|
393
|
+
* Picks the correct SPL token program for a spot market's mint, based on its `tokenProgramFlag`.
|
|
394
|
+
* Needed because Velocity supports both classic SPL tokens and Token-2022 mints; passing the wrong
|
|
395
|
+
* token program id to an instruction's accounts will fail owner checks.
|
|
396
|
+
* @param spotMarketAccount - The spot market to inspect.
|
|
397
|
+
* @returns `TOKEN_2022_PROGRAM_ID` if `TokenProgramFlag.Token2022` is set, otherwise `TOKEN_PROGRAM_ID`.
|
|
398
|
+
*/
|
|
261
399
|
export function getTokenProgramForSpotMarket(
|
|
262
400
|
spotMarketAccount: SpotMarketAccount
|
|
263
401
|
): PublicKey {
|
|
@@ -267,6 +405,13 @@ export function getTokenProgramForSpotMarket(
|
|
|
267
405
|
return TOKEN_PROGRAM_ID;
|
|
268
406
|
}
|
|
269
407
|
|
|
408
|
+
/**
|
|
409
|
+
* Derives a builder/referrer's `RevenueShare` PDA from seeds `["REV_SHARE", authority]`. Tracks
|
|
410
|
+
* fees a builder/referrer has accrued from orders that credited them.
|
|
411
|
+
* @param programId - Deployed velocity program id.
|
|
412
|
+
* @param authority - Wallet pubkey of the builder/referrer.
|
|
413
|
+
* @returns The `RevenueShare` account's public key.
|
|
414
|
+
*/
|
|
270
415
|
export function getRevenueShareAccountPublicKey(
|
|
271
416
|
programId: PublicKey,
|
|
272
417
|
authority: PublicKey
|
|
@@ -280,6 +425,14 @@ export function getRevenueShareAccountPublicKey(
|
|
|
280
425
|
)[0];
|
|
281
426
|
}
|
|
282
427
|
|
|
428
|
+
/**
|
|
429
|
+
* Derives a user's `RevenueShareEscrow` PDA from seeds `["REV_ESCROW", authority]`. Holds the
|
|
430
|
+
* user's referrer link and approved builder-fee list; required as a remaining account whenever a
|
|
431
|
+
* placed order references a `builderIdx`/builder fee, or when a taker was referred.
|
|
432
|
+
* @param programId - Deployed velocity program id.
|
|
433
|
+
* @param authority - Wallet pubkey of the user (order placer), not the builder/referrer.
|
|
434
|
+
* @returns The `RevenueShareEscrow` account's public key.
|
|
435
|
+
*/
|
|
283
436
|
export function getRevenueShareEscrowAccountPublicKey(
|
|
284
437
|
programId: PublicKey,
|
|
285
438
|
authority: PublicKey
|
|
@@ -293,6 +446,12 @@ export function getRevenueShareEscrowAccountPublicKey(
|
|
|
293
446
|
)[0];
|
|
294
447
|
}
|
|
295
448
|
|
|
449
|
+
/**
|
|
450
|
+
* Derives an `LpPool` PDA from seeds `["lp_pool", lpPoolId as u8 LE]`.
|
|
451
|
+
* @param programId - Deployed velocity program id.
|
|
452
|
+
* @param lpPoolId - Single-byte LP pool id.
|
|
453
|
+
* @returns The `LpPool` account's public key.
|
|
454
|
+
*/
|
|
296
455
|
export function getLpPoolPublicKey(
|
|
297
456
|
programId: PublicKey,
|
|
298
457
|
lpPoolId: number
|
|
@@ -306,6 +465,13 @@ export function getLpPoolPublicKey(
|
|
|
306
465
|
)[0];
|
|
307
466
|
}
|
|
308
467
|
|
|
468
|
+
/**
|
|
469
|
+
* Derives the token vault PDA holding an `LpPool`'s minted LP token supply's backing, from seeds
|
|
470
|
+
* `["LP_POOL_TOKEN_VAULT", lpPool]`.
|
|
471
|
+
* @param programId - Deployed velocity program id.
|
|
472
|
+
* @param lpPool - The `LpPool` account's public key.
|
|
473
|
+
* @returns The LP pool token vault's public key.
|
|
474
|
+
*/
|
|
309
475
|
export function getLpPoolTokenVaultPublicKey(
|
|
310
476
|
programId: PublicKey,
|
|
311
477
|
lpPool: PublicKey
|
|
@@ -318,6 +484,13 @@ export function getLpPoolTokenVaultPublicKey(
|
|
|
318
484
|
programId
|
|
319
485
|
)[0];
|
|
320
486
|
}
|
|
487
|
+
/**
|
|
488
|
+
* Derives the `AmmConstituentMapping` PDA (maps LP-pool constituents to the perp AMMs they hedge)
|
|
489
|
+
* from seeds `["AMM_MAP", lpPoolPublicKey]`.
|
|
490
|
+
* @param programId - Deployed velocity program id.
|
|
491
|
+
* @param lpPoolPublicKey - The `LpPool` account's public key.
|
|
492
|
+
* @returns The `AmmConstituentMapping` account's public key.
|
|
493
|
+
*/
|
|
321
494
|
export function getAmmConstituentMappingPublicKey(
|
|
322
495
|
programId: PublicKey,
|
|
323
496
|
lpPoolPublicKey: PublicKey
|
|
@@ -331,6 +504,13 @@ export function getAmmConstituentMappingPublicKey(
|
|
|
331
504
|
)[0];
|
|
332
505
|
}
|
|
333
506
|
|
|
507
|
+
/**
|
|
508
|
+
* Derives the `ConstituentTargetBase` PDA (target base-asset weights for an LP pool's
|
|
509
|
+
* constituents) from seeds `["constituent_target_base_seed", lpPoolPublicKey]`.
|
|
510
|
+
* @param programId - Deployed velocity program id.
|
|
511
|
+
* @param lpPoolPublicKey - The `LpPool` account's public key.
|
|
512
|
+
* @returns The `ConstituentTargetBase` account's public key.
|
|
513
|
+
*/
|
|
334
514
|
export function getConstituentTargetBasePublicKey(
|
|
335
515
|
programId: PublicKey,
|
|
336
516
|
lpPoolPublicKey: PublicKey
|
|
@@ -346,6 +526,14 @@ export function getConstituentTargetBasePublicKey(
|
|
|
346
526
|
)[0];
|
|
347
527
|
}
|
|
348
528
|
|
|
529
|
+
/**
|
|
530
|
+
* Derives a `Constituent` PDA (one per spot market backing an LP pool) from seeds `["CONSTITUENT",
|
|
531
|
+
* lpPoolPublicKey, spotMarketIndex as u16 LE]`.
|
|
532
|
+
* @param programId - Deployed velocity program id.
|
|
533
|
+
* @param lpPoolPublicKey - The `LpPool` account's public key.
|
|
534
|
+
* @param spotMarketIndex - Spot market index of this constituent.
|
|
535
|
+
* @returns The `Constituent` account's public key.
|
|
536
|
+
*/
|
|
349
537
|
export function getConstituentPublicKey(
|
|
350
538
|
programId: PublicKey,
|
|
351
539
|
lpPoolPublicKey: PublicKey,
|
|
@@ -361,6 +549,14 @@ export function getConstituentPublicKey(
|
|
|
361
549
|
)[0];
|
|
362
550
|
}
|
|
363
551
|
|
|
552
|
+
/**
|
|
553
|
+
* Derives the token vault PDA that custodies a `Constituent`'s deposits, from seeds
|
|
554
|
+
* `["CONSTITUENT_VAULT", lpPoolPublicKey, spotMarketIndex as u16 LE]`.
|
|
555
|
+
* @param programId - Deployed velocity program id.
|
|
556
|
+
* @param lpPoolPublicKey - The `LpPool` account's public key.
|
|
557
|
+
* @param spotMarketIndex - Spot market index of the constituent this vault backs.
|
|
558
|
+
* @returns The constituent vault token account's public key.
|
|
559
|
+
*/
|
|
364
560
|
export function getConstituentVaultPublicKey(
|
|
365
561
|
programId: PublicKey,
|
|
366
562
|
lpPoolPublicKey: PublicKey,
|
|
@@ -376,6 +572,12 @@ export function getConstituentVaultPublicKey(
|
|
|
376
572
|
)[0];
|
|
377
573
|
}
|
|
378
574
|
|
|
575
|
+
/**
|
|
576
|
+
* Derives the singleton `AmmCache` PDA (caches per-AMM data used by LP-pool hedging/settlement)
|
|
577
|
+
* from seed `"amm_cache_seed"`. One per program deployment.
|
|
578
|
+
* @param programId - Deployed velocity program id.
|
|
579
|
+
* @returns The `AmmCache` account's public key.
|
|
580
|
+
*/
|
|
379
581
|
export function getAmmCachePublicKey(programId: PublicKey): PublicKey {
|
|
380
582
|
return PublicKey.findProgramAddressSync(
|
|
381
583
|
[Buffer.from(anchor.utils.bytes.utf8.encode('amm_cache_seed'))],
|
|
@@ -383,6 +585,13 @@ export function getAmmCachePublicKey(programId: PublicKey): PublicKey {
|
|
|
383
585
|
)[0];
|
|
384
586
|
}
|
|
385
587
|
|
|
588
|
+
/**
|
|
589
|
+
* Derives the `ConstituentCorrelations` PDA (pairwise correlation data between an LP pool's
|
|
590
|
+
* constituents) from seeds `["constituent_correlations", lpPoolPublicKey]`.
|
|
591
|
+
* @param programId - Deployed velocity program id.
|
|
592
|
+
* @param lpPoolPublicKey - The `LpPool` account's public key.
|
|
593
|
+
* @returns The `ConstituentCorrelations` account's public key.
|
|
594
|
+
*/
|
|
386
595
|
export function getConstituentCorrelationsPublicKey(
|
|
387
596
|
programId: PublicKey,
|
|
388
597
|
lpPoolPublicKey: PublicKey
|
|
@@ -396,6 +605,13 @@ export function getConstituentCorrelationsPublicKey(
|
|
|
396
605
|
)[0];
|
|
397
606
|
}
|
|
398
607
|
|
|
608
|
+
/**
|
|
609
|
+
* Derives the associated token account for an LP pool's mint under a given owner (not a
|
|
610
|
+
* program-derived PDA — a standard SPL associated token account).
|
|
611
|
+
* @param lpPoolTokenMint - The LP pool's token mint.
|
|
612
|
+
* @param authority - Owner of the associated token account.
|
|
613
|
+
* @returns The associated token account's public key.
|
|
614
|
+
*/
|
|
399
615
|
export async function getLpPoolTokenTokenAccountPublicKey(
|
|
400
616
|
lpPoolTokenMint: PublicKey,
|
|
401
617
|
authority: PublicKey
|