@drift-labs/sdk 2.97.0-beta.9 → 2.98.0-beta.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/README.md +11 -4
- package/VERSION +1 -1
- package/bun.lockb +0 -0
- package/lib/{accounts → browser/accounts}/bulkAccountLoader.d.ts +1 -0
- package/lib/browser/accounts/grpcAccountSubscriber.d.ts +16 -0
- package/lib/browser/accounts/grpcAccountSubscriber.js +154 -0
- package/lib/browser/accounts/grpcDriftClientAccountSubscriber.d.ts +12 -0
- package/lib/browser/accounts/grpcDriftClientAccountSubscriber.js +97 -0
- package/lib/browser/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts +10 -0
- package/lib/browser/accounts/grpcInsuranceFundStakeAccountSubscriber.js +30 -0
- package/lib/browser/accounts/grpcProgramAccountSubscriber.d.ts +18 -0
- package/lib/browser/accounts/grpcProgramAccountSubscriber.js +171 -0
- package/lib/browser/accounts/grpcUserAccountSubscriber.d.ts +10 -0
- package/lib/browser/accounts/grpcUserAccountSubscriber.js +28 -0
- package/lib/browser/accounts/grpcUserStatsAccountSubscriber.d.ts +10 -0
- package/lib/browser/accounts/grpcUserStatsAccountSubscriber.js +28 -0
- package/lib/{accounts → browser/accounts}/types.d.ts +8 -0
- package/lib/{accounts → browser/accounts}/webSocketAccountSubscriber.d.ts +2 -1
- package/lib/{accounts → browser/accounts}/webSocketDriftClientAccountSubscriber.d.ts +3 -3
- package/lib/{accounts → browser/accounts}/webSocketProgramAccountSubscriber.d.ts +2 -1
- package/lib/{addresses → browser/addresses}/pda.d.ts +1 -0
- package/lib/{addresses → browser/addresses}/pda.js +8 -1
- package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.d.ts +15 -0
- package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.js +32 -0
- package/lib/{auctionSubscriber → browser/auctionSubscriber}/index.d.ts +1 -0
- package/lib/browser/auctionSubscriber/index.js +19 -0
- package/lib/{auctionSubscriber → browser/auctionSubscriber}/types.d.ts +2 -0
- package/lib/{bankrun → browser/bankrun}/bankrunConnection.d.ts +1 -0
- package/lib/{config.js → browser/config.js} +1 -1
- package/lib/{constants → browser/constants}/perpMarkets.js +25 -4
- package/lib/{constants → browser/constants}/spotMarkets.js +6 -6
- package/lib/{decode → browser/decode}/phoenix.d.ts +1 -0
- package/lib/{decode → browser/decode}/user.d.ts +1 -0
- package/lib/{decode → browser/decode}/user.js +10 -0
- package/lib/{dlob → browser/dlob}/DLOBOrders.d.ts +1 -0
- package/lib/{driftClient.d.ts → browser/driftClient.d.ts} +25 -7
- package/lib/{driftClient.js → browser/driftClient.js} +177 -40
- package/lib/{driftClientConfig.d.ts → browser/driftClientConfig.d.ts} +6 -1
- package/lib/{idl → browser/idl}/drift.json +281 -4
- package/lib/{idl → browser/idl}/switchboard_on_demand_30.json +195 -37
- package/lib/{index.d.ts → browser/index.d.ts} +8 -0
- package/lib/{index.js → browser/index.js} +8 -0
- package/lib/browser/isomorphic/grpc.browser.d.ts +1 -0
- package/lib/browser/isomorphic/grpc.browser.js +8 -0
- package/lib/browser/isomorphic/grpc.d.ts +1 -0
- package/lib/browser/isomorphic/grpc.js +8 -0
- package/lib/browser/isomorphic/grpc.node.d.ts +5 -0
- package/lib/{math → browser/math}/auction.js +9 -6
- package/lib/{math → browser/math}/margin.d.ts +3 -3
- package/lib/{math → browser/math}/margin.js +9 -9
- package/lib/{math → browser/math}/oracles.d.ts +1 -0
- package/lib/{math → browser/math}/position.d.ts +16 -0
- package/lib/{math → browser/math}/position.js +30 -3
- package/lib/{oracles → browser/oracles}/prelaunchOracleClient.d.ts +1 -0
- package/lib/{oracles → browser/oracles}/pythClient.d.ts +1 -1
- package/lib/{oracles → browser/oracles}/pythClient.js +1 -2
- package/lib/{oracles → browser/oracles}/pythPullClient.d.ts +1 -0
- package/lib/{oracles → browser/oracles}/quoteAssetOracleClient.d.ts +1 -0
- package/lib/{oracles → browser/oracles}/switchboardClient.d.ts +1 -0
- package/lib/{oracles → browser/oracles}/switchboardOnDemandClient.d.ts +1 -0
- package/lib/{oracles → browser/oracles}/types.d.ts +1 -0
- package/lib/{orderSubscriber → browser/orderSubscriber}/OrderSubscriber.d.ts +3 -1
- package/lib/{orderSubscriber → browser/orderSubscriber}/OrderSubscriber.js +18 -13
- package/lib/browser/orderSubscriber/grpcSubscription.d.ts +22 -0
- package/lib/browser/orderSubscriber/grpcSubscription.js +66 -0
- package/lib/{orderSubscriber → browser/orderSubscriber}/types.d.ts +9 -0
- package/lib/{token → browser/token}/index.d.ts +1 -0
- package/lib/{tx → browser/tx}/baseTxSender.d.ts +4 -1
- package/lib/{tx → browser/tx}/baseTxSender.js +9 -4
- package/lib/{tx → browser/tx}/fastSingleTxSender.d.ts +3 -1
- package/lib/{tx → browser/tx}/fastSingleTxSender.js +6 -5
- package/lib/{tx → browser/tx}/forwardOnlyTxSender.d.ts +3 -1
- package/lib/{tx → browser/tx}/forwardOnlyTxSender.js +5 -4
- package/lib/{tx → browser/tx}/retryTxSender.d.ts +3 -1
- package/lib/{tx → browser/tx}/retryTxSender.js +5 -4
- package/lib/{tx → browser/tx}/types.d.ts +1 -0
- package/lib/{tx → browser/tx}/whileValidTxSender.d.ts +3 -1
- package/lib/{tx → browser/tx}/whileValidTxSender.js +5 -4
- package/lib/{types.d.ts → browser/types.d.ts} +30 -1
- package/lib/{types.js → browser/types.js} +6 -1
- package/lib/{user.d.ts → browser/user.d.ts} +1 -1
- package/lib/{user.js → browser/user.js} +16 -9
- package/lib/{userConfig.d.ts → browser/userConfig.d.ts} +6 -1
- package/lib/{userMap → browser/userMap}/WebsocketSubscription.d.ts +1 -0
- package/lib/browser/userMap/grpcSubscription.d.ts +24 -0
- package/lib/browser/userMap/grpcSubscription.js +40 -0
- package/lib/{userMap → browser/userMap}/userMap.js +17 -1
- package/lib/{userMap → browser/userMap}/userMapConfig.d.ts +6 -0
- package/lib/{userStats.js → browser/userStats.js} +11 -4
- package/lib/{userStatsConfig.d.ts → browser/userStatsConfig.d.ts} +6 -0
- package/lib/node/accounts/basicUserAccountSubscriber.d.ts +27 -0
- package/lib/node/accounts/basicUserAccountSubscriber.js +38 -0
- package/lib/node/accounts/bulkAccountLoader.d.ts +37 -0
- package/lib/node/accounts/bulkAccountLoader.js +222 -0
- package/lib/node/accounts/bulkUserStatsSubscription.d.ts +7 -0
- package/lib/node/accounts/bulkUserStatsSubscription.js +21 -0
- package/lib/node/accounts/bulkUserSubscription.d.ts +7 -0
- package/lib/node/accounts/bulkUserSubscription.js +21 -0
- package/lib/node/accounts/fetch.d.ts +6 -0
- package/lib/node/accounts/fetch.js +30 -0
- package/lib/node/accounts/grpcAccountSubscriber.d.ts +16 -0
- package/lib/node/accounts/grpcAccountSubscriber.js +154 -0
- package/lib/node/accounts/grpcDriftClientAccountSubscriber.d.ts +12 -0
- package/lib/node/accounts/grpcDriftClientAccountSubscriber.js +97 -0
- package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts +10 -0
- package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.js +30 -0
- package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts +18 -0
- package/lib/node/accounts/grpcProgramAccountSubscriber.js +171 -0
- package/lib/node/accounts/grpcUserAccountSubscriber.d.ts +10 -0
- package/lib/node/accounts/grpcUserAccountSubscriber.js +28 -0
- package/lib/node/accounts/grpcUserStatsAccountSubscriber.d.ts +10 -0
- package/lib/node/accounts/grpcUserStatsAccountSubscriber.js +28 -0
- package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts +18 -0
- package/lib/node/accounts/oneShotUserAccountSubscriber.js +48 -0
- package/lib/node/accounts/pollingDriftClientAccountSubscriber.d.ts +69 -0
- package/lib/node/accounts/pollingDriftClientAccountSubscriber.js +415 -0
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +29 -0
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.js +110 -0
- package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts +27 -0
- package/lib/node/accounts/pollingOracleAccountSubscriber.js +78 -0
- package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts +26 -0
- package/lib/node/accounts/pollingTokenAccountSubscriber.js +78 -0
- package/lib/node/accounts/pollingUserAccountSubscriber.d.ts +29 -0
- package/lib/node/accounts/pollingUserAccountSubscriber.js +102 -0
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts +27 -0
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.js +94 -0
- package/lib/node/accounts/testBulkAccountLoader.d.ts +4 -0
- package/lib/node/accounts/testBulkAccountLoader.js +45 -0
- package/lib/node/accounts/types.d.ts +155 -0
- package/lib/node/accounts/types.js +16 -0
- package/lib/node/accounts/utils.d.ts +8 -0
- package/lib/node/accounts/utils.js +39 -0
- package/lib/node/accounts/webSocketAccountSubscriber.d.ts +29 -0
- package/lib/node/accounts/webSocketAccountSubscriber.js +149 -0
- package/lib/node/accounts/webSocketDriftClientAccountSubscriber.d.ts +66 -0
- package/lib/node/accounts/webSocketDriftClientAccountSubscriber.js +352 -0
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +23 -0
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +67 -0
- package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts +34 -0
- package/lib/node/accounts/webSocketProgramAccountSubscriber.js +127 -0
- package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts +23 -0
- package/lib/node/accounts/webSocketUserAccountSubscriber.js +61 -0
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts +22 -0
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.js +52 -0
- package/lib/node/addresses/marketAddresses.d.ts +2 -0
- package/lib/node/addresses/marketAddresses.js +15 -0
- package/lib/node/addresses/pda.d.ts +30 -0
- package/lib/node/addresses/pda.js +193 -0
- package/lib/node/adminClient.d.ts +202 -0
- package/lib/node/adminClient.js +1826 -0
- package/lib/node/assert/assert.d.ts +1 -0
- package/lib/node/assert/assert.js +9 -0
- package/lib/node/auctionSubscriber/auctionSubscriber.d.ts +14 -0
- package/lib/node/auctionSubscriber/auctionSubscriber.js +32 -0
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts +15 -0
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +32 -0
- package/lib/node/auctionSubscriber/index.d.ts +3 -0
- package/lib/node/auctionSubscriber/index.js +19 -0
- package/lib/node/auctionSubscriber/types.d.ts +14 -0
- package/lib/node/auctionSubscriber/types.js +2 -0
- package/lib/node/bankrun/bankrunConnection.d.ts +74 -0
- package/lib/node/bankrun/bankrunConnection.js +318 -0
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts +27 -0
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.js +89 -0
- package/lib/node/blockhashSubscriber/index.d.ts +1 -0
- package/lib/node/blockhashSubscriber/index.js +17 -0
- package/lib/node/blockhashSubscriber/types.d.ts +7 -0
- package/lib/node/blockhashSubscriber/types.js +2 -0
- package/lib/node/clock/clockSubscriber.d.ts +31 -0
- package/lib/node/clock/clockSubscriber.js +80 -0
- package/lib/node/config.d.ts +58 -0
- package/lib/node/config.js +126 -0
- package/lib/node/constants/numericConstants.d.ts +71 -0
- package/lib/node/constants/numericConstants.js +75 -0
- package/lib/node/constants/perpMarkets.d.ts +19 -0
- package/lib/node/constants/perpMarkets.js +868 -0
- package/lib/node/constants/spotMarkets.d.ts +23 -0
- package/lib/node/constants/spotMarkets.js +361 -0
- package/lib/node/constants/txConstants.d.ts +1 -0
- package/lib/node/constants/txConstants.js +4 -0
- package/lib/node/decode/phoenix.d.ts +7 -0
- package/lib/node/decode/phoenix.js +159 -0
- package/lib/node/decode/user.d.ts +4 -0
- package/lib/node/decode/user.js +339 -0
- package/lib/node/dlob/DLOB.d.ts +166 -0
- package/lib/node/dlob/DLOB.js +1142 -0
- package/lib/node/dlob/DLOBApiClient.d.ts +14 -0
- package/lib/node/dlob/DLOBApiClient.js +34 -0
- package/lib/node/dlob/DLOBNode.d.ts +57 -0
- package/lib/node/dlob/DLOBNode.js +86 -0
- package/lib/node/dlob/DLOBOrders.d.ts +17 -0
- package/lib/node/dlob/DLOBOrders.js +40 -0
- package/lib/node/dlob/DLOBSubscriber.d.ts +54 -0
- package/lib/node/dlob/DLOBSubscriber.js +139 -0
- package/lib/node/dlob/NodeList.d.ts +27 -0
- package/lib/node/dlob/NodeList.js +141 -0
- package/lib/node/dlob/dlobIdl.json +248 -0
- package/lib/node/dlob/orderBookLevels.d.ts +72 -0
- package/lib/node/dlob/orderBookLevels.js +438 -0
- package/lib/node/dlob/types.d.ts +18 -0
- package/lib/node/dlob/types.js +2 -0
- package/lib/node/driftClient.d.ts +829 -0
- package/lib/node/driftClient.js +4496 -0
- package/lib/node/driftClientConfig.d.ts +49 -0
- package/lib/node/driftClientConfig.js +2 -0
- package/lib/node/events/eventList.d.ts +22 -0
- package/lib/node/events/eventList.js +80 -0
- package/lib/node/events/eventSubscriber.d.ts +46 -0
- package/lib/node/events/eventSubscriber.js +223 -0
- package/lib/node/events/eventsServerLogProvider.d.ts +21 -0
- package/lib/node/events/eventsServerLogProvider.js +121 -0
- package/lib/node/events/fetchLogs.d.ts +25 -0
- package/lib/node/events/fetchLogs.js +99 -0
- package/lib/node/events/parse.d.ts +6 -0
- package/lib/node/events/parse.js +106 -0
- package/lib/node/events/pollingLogProvider.d.ts +17 -0
- package/lib/node/events/pollingLogProvider.js +58 -0
- package/lib/node/events/sort.d.ts +2 -0
- package/lib/node/events/sort.js +24 -0
- package/lib/node/events/txEventCache.d.ts +24 -0
- package/lib/node/events/txEventCache.js +71 -0
- package/lib/node/events/types.d.ts +77 -0
- package/lib/node/events/types.js +30 -0
- package/lib/node/events/webSocketLogProvider.d.ts +24 -0
- package/lib/node/events/webSocketLogProvider.js +96 -0
- package/lib/node/factory/bigNum.d.ts +122 -0
- package/lib/node/factory/bigNum.js +457 -0
- package/lib/node/factory/oracleClient.d.ts +5 -0
- package/lib/node/factory/oracleClient.js +52 -0
- package/lib/node/idl/drift.json +13656 -0
- package/lib/node/idl/openbook.json +3854 -0
- package/lib/node/idl/pyth_solana_receiver.json +628 -0
- package/lib/node/idl/switchboard.json +8354 -0
- package/lib/node/idl/switchboard_on_demand_30.json +4541 -0
- package/lib/node/idl/token_faucet.json +142 -0
- package/lib/node/index.d.ts +120 -0
- package/lib/node/index.js +142 -0
- package/lib/node/isomorphic/grpc.browser.d.ts +1 -0
- package/lib/node/isomorphic/grpc.d.ts +1 -0
- package/lib/node/isomorphic/grpc.js +17 -0
- package/lib/node/isomorphic/grpc.node.d.ts +5 -0
- package/lib/node/isomorphic/grpc.node.js +17 -0
- package/lib/node/jupiter/jupiterClient.d.ts +296 -0
- package/lib/node/jupiter/jupiterClient.js +178 -0
- package/lib/node/keypair.d.ts +2 -0
- package/lib/node/keypair.js +28 -0
- package/lib/node/marinade/index.d.ts +12 -0
- package/lib/node/marinade/index.js +36 -0
- package/lib/node/marinade/types.d.ts +1963 -0
- package/lib/node/marinade/types.js +1965 -0
- package/lib/node/math/amm.d.ts +98 -0
- package/lib/node/math/amm.js +626 -0
- package/lib/node/math/auction.d.ts +23 -0
- package/lib/node/math/auction.js +130 -0
- package/lib/node/math/bankruptcy.d.ts +2 -0
- package/lib/node/math/bankruptcy.js +31 -0
- package/lib/node/math/conversion.d.ts +2 -0
- package/lib/node/math/conversion.js +11 -0
- package/lib/node/math/exchangeStatus.d.ts +6 -0
- package/lib/node/math/exchangeStatus.js +77 -0
- package/lib/node/math/fuel.d.ts +6 -0
- package/lib/node/math/fuel.js +55 -0
- package/lib/node/math/funding.d.ts +34 -0
- package/lib/node/math/funding.js +209 -0
- package/lib/node/math/insurance.d.ts +7 -0
- package/lib/node/math/insurance.js +73 -0
- package/lib/node/math/margin.d.ts +39 -0
- package/lib/node/math/margin.js +184 -0
- package/lib/node/math/market.d.ts +39 -0
- package/lib/node/math/market.js +163 -0
- package/lib/node/math/oracles.d.ts +14 -0
- package/lib/node/math/oracles.js +134 -0
- package/lib/node/math/orders.d.ts +23 -0
- package/lib/node/math/orders.js +216 -0
- package/lib/node/math/position.d.ts +70 -0
- package/lib/node/math/position.js +225 -0
- package/lib/node/math/repeg.d.ts +22 -0
- package/lib/node/math/repeg.js +164 -0
- package/lib/node/math/spotBalance.d.ts +83 -0
- package/lib/node/math/spotBalance.js +373 -0
- package/lib/node/math/spotMarket.d.ts +11 -0
- package/lib/node/math/spotMarket.js +49 -0
- package/lib/node/math/spotPosition.d.ts +19 -0
- package/lib/node/math/spotPosition.js +78 -0
- package/lib/node/math/state.d.ts +5 -0
- package/lib/node/math/state.js +30 -0
- package/lib/node/math/superStake.d.ts +167 -0
- package/lib/node/math/superStake.js +306 -0
- package/lib/node/math/tiers.d.ts +4 -0
- package/lib/node/math/tiers.js +52 -0
- package/lib/node/math/trade.d.ts +117 -0
- package/lib/node/math/trade.js +637 -0
- package/lib/node/math/utils.d.ts +23 -0
- package/lib/node/math/utils.js +112 -0
- package/lib/node/memcmp.d.ts +7 -0
- package/lib/node/memcmp.js +63 -0
- package/lib/node/openbook/openbookV2FulfillmentConfigMap.d.ts +10 -0
- package/lib/node/openbook/openbookV2FulfillmentConfigMap.js +17 -0
- package/lib/node/openbook/openbookV2Subscriber.d.ts +36 -0
- package/lib/node/openbook/openbookV2Subscriber.js +104 -0
- package/lib/node/oracles/oracleClientCache.d.ts +9 -0
- package/lib/node/oracles/oracleClientCache.js +19 -0
- package/lib/node/oracles/prelaunchOracleClient.d.ts +12 -0
- package/lib/node/oracles/prelaunchOracleClient.js +24 -0
- package/lib/node/oracles/pythClient.d.ts +14 -0
- package/lib/node/oracles/pythClient.js +51 -0
- package/lib/node/oracles/pythPullClient.d.ts +19 -0
- package/lib/node/oracles/pythPullClient.js +60 -0
- package/lib/node/oracles/quoteAssetOracleClient.d.ts +10 -0
- package/lib/node/oracles/quoteAssetOracleClient.js +21 -0
- package/lib/node/oracles/strictOraclePrice.d.ts +9 -0
- package/lib/node/oracles/strictOraclePrice.js +17 -0
- package/lib/node/oracles/switchboardClient.d.ts +12 -0
- package/lib/node/oracles/switchboardClient.js +40 -0
- package/lib/node/oracles/switchboardOnDemandClient.d.ts +12 -0
- package/lib/node/oracles/switchboardOnDemandClient.js +32 -0
- package/lib/node/oracles/types.d.ts +23 -0
- package/lib/node/oracles/types.js +2 -0
- package/lib/node/orderParams.d.ts +29 -0
- package/lib/node/orderParams.js +44 -0
- package/lib/node/orderSubscriber/OrderSubscriber.d.ts +42 -0
- package/lib/node/orderSubscriber/OrderSubscriber.js +170 -0
- package/lib/node/orderSubscriber/PollingSubscription.d.ts +12 -0
- package/lib/node/orderSubscriber/PollingSubscription.js +23 -0
- package/lib/node/orderSubscriber/WebsocketSubscription.d.ts +23 -0
- package/lib/node/orderSubscriber/WebsocketSubscription.js +67 -0
- package/lib/node/orderSubscriber/grpcSubscription.d.ts +22 -0
- package/lib/node/orderSubscriber/grpcSubscription.js +66 -0
- package/lib/node/orderSubscriber/index.d.ts +2 -0
- package/lib/{auctionSubscriber → node/orderSubscriber}/index.js +1 -1
- package/lib/node/orderSubscriber/types.d.ts +34 -0
- package/lib/node/orderSubscriber/types.js +2 -0
- package/lib/node/phoenix/phoenixFulfillmentConfigMap.d.ts +10 -0
- package/lib/node/phoenix/phoenixFulfillmentConfigMap.js +17 -0
- package/lib/node/phoenix/phoenixSubscriber.d.ts +41 -0
- package/lib/node/phoenix/phoenixSubscriber.js +152 -0
- package/lib/node/priorityFee/averageOverSlotsStrategy.d.ts +5 -0
- package/lib/node/priorityFee/averageOverSlotsStrategy.js +16 -0
- package/lib/node/priorityFee/averageStrategy.d.ts +5 -0
- package/lib/node/priorityFee/averageStrategy.js +11 -0
- package/lib/node/priorityFee/driftPriorityFeeMethod.d.ts +13 -0
- package/lib/node/priorityFee/driftPriorityFeeMethod.js +26 -0
- package/lib/node/priorityFee/ewmaStrategy.d.ts +11 -0
- package/lib/node/priorityFee/ewmaStrategy.js +33 -0
- package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts +20 -0
- package/lib/node/priorityFee/heliusPriorityFeeMethod.js +46 -0
- package/lib/node/priorityFee/index.d.ts +11 -0
- package/lib/node/priorityFee/index.js +27 -0
- package/lib/node/priorityFee/maxOverSlotsStrategy.d.ts +5 -0
- package/lib/node/priorityFee/maxOverSlotsStrategy.js +17 -0
- package/lib/node/priorityFee/maxStrategy.d.ts +7 -0
- package/lib/node/priorityFee/maxStrategy.js +9 -0
- package/lib/node/priorityFee/priorityFeeSubscriber.d.ts +46 -0
- package/lib/node/priorityFee/priorityFeeSubscriber.js +188 -0
- package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts +48 -0
- package/lib/node/priorityFee/priorityFeeSubscriberMap.js +88 -0
- package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts +6 -0
- package/lib/node/priorityFee/solanaPriorityFeeMethod.js +21 -0
- package/lib/node/priorityFee/types.d.ts +31 -0
- package/lib/node/priorityFee/types.js +10 -0
- package/lib/node/serum/serumFulfillmentConfigMap.d.ts +10 -0
- package/lib/node/serum/serumFulfillmentConfigMap.js +17 -0
- package/lib/node/serum/serumSubscriber.d.ts +32 -0
- package/lib/node/serum/serumSubscriber.js +107 -0
- package/lib/node/serum/types.d.ts +13 -0
- package/lib/node/serum/types.js +2 -0
- package/lib/node/slot/SlotSubscriber.d.ts +27 -0
- package/lib/node/slot/SlotSubscriber.js +71 -0
- package/lib/node/testClient.d.ts +8 -0
- package/lib/node/testClient.js +23 -0
- package/lib/node/token/index.d.ts +5 -0
- package/lib/node/token/index.js +15 -0
- package/lib/node/tokenFaucet.d.ts +41 -0
- package/lib/node/tokenFaucet.js +188 -0
- package/lib/node/tx/baseTxSender.d.ts +57 -0
- package/lib/node/tx/baseTxSender.js +293 -0
- package/lib/node/tx/blockhashFetcher/baseBlockhashFetcher.d.ts +8 -0
- package/lib/node/tx/blockhashFetcher/baseBlockhashFetcher.js +13 -0
- package/lib/node/tx/blockhashFetcher/cachedBlockhashFetcher.d.ts +28 -0
- package/lib/node/tx/blockhashFetcher/cachedBlockhashFetcher.js +73 -0
- package/lib/node/tx/blockhashFetcher/types.d.ts +4 -0
- package/lib/node/tx/blockhashFetcher/types.js +2 -0
- package/lib/node/tx/fastSingleTxSender.d.ts +41 -0
- package/lib/node/tx/fastSingleTxSender.js +86 -0
- package/lib/node/tx/forwardOnlyTxSender.d.ts +37 -0
- package/lib/node/tx/forwardOnlyTxSender.js +92 -0
- package/lib/node/tx/priorityFeeCalculator.d.ts +44 -0
- package/lib/node/tx/priorityFeeCalculator.js +85 -0
- package/lib/node/tx/reportTransactionError.d.ts +20 -0
- package/lib/node/tx/reportTransactionError.js +103 -0
- package/lib/node/tx/retryTxSender.d.ts +37 -0
- package/lib/node/tx/retryTxSender.js +86 -0
- package/lib/node/tx/txHandler.d.ts +154 -0
- package/lib/node/tx/txHandler.js +453 -0
- package/lib/node/tx/txParamProcessor.d.ts +25 -0
- package/lib/node/tx/txParamProcessor.js +88 -0
- package/lib/node/tx/types.d.ts +29 -0
- package/lib/node/tx/types.js +20 -0
- package/lib/node/tx/utils.d.ts +2 -0
- package/lib/node/tx/utils.js +10 -0
- package/lib/node/tx/whileValidTxSender.d.ts +44 -0
- package/lib/node/tx/whileValidTxSender.js +166 -0
- package/lib/node/types.d.ts +1351 -0
- package/lib/node/types.js +347 -0
- package/lib/node/user.d.ts +411 -0
- package/lib/node/user.js +2161 -0
- package/lib/node/userConfig.d.ts +26 -0
- package/lib/node/userConfig.js +2 -0
- package/lib/node/userMap/PollingSubscription.d.ts +16 -0
- package/lib/node/userMap/PollingSubscription.js +30 -0
- package/lib/node/userMap/WebsocketSubscription.d.ts +25 -0
- package/lib/node/userMap/WebsocketSubscription.js +41 -0
- package/lib/node/userMap/grpcSubscription.d.ts +24 -0
- package/lib/node/userMap/grpcSubscription.js +40 -0
- package/lib/node/userMap/userMap.d.ts +88 -0
- package/lib/node/userMap/userMap.js +455 -0
- package/lib/node/userMap/userMapConfig.d.ts +37 -0
- package/lib/node/userMap/userMapConfig.js +2 -0
- package/lib/node/userMap/userStatsMap.d.ts +46 -0
- package/lib/node/userMap/userStatsMap.js +165 -0
- package/lib/node/userName.d.ts +5 -0
- package/lib/node/userName.js +21 -0
- package/lib/node/userStats.d.ts +19 -0
- package/lib/node/userStats.js +65 -0
- package/lib/node/userStatsConfig.d.ts +25 -0
- package/lib/node/userStatsConfig.js +2 -0
- package/lib/node/util/TransactionConfirmationManager.d.ts +16 -0
- package/lib/node/util/TransactionConfirmationManager.js +174 -0
- package/lib/node/util/chainClock.d.ts +17 -0
- package/lib/node/util/chainClock.js +29 -0
- package/lib/node/util/computeUnits.d.ts +8 -0
- package/lib/node/util/computeUnits.js +46 -0
- package/lib/node/util/promiseTimeout.d.ts +1 -0
- package/lib/node/util/promiseTimeout.js +14 -0
- package/lib/node/util/pythPullOracleUtils.d.ts +2 -0
- package/lib/node/util/pythPullOracleUtils.js +15 -0
- package/lib/node/util/tps.d.ts +2 -0
- package/lib/node/util/tps.js +16 -0
- package/lib/node/wallet.d.ts +11 -0
- package/lib/node/wallet.js +32 -0
- package/package.json +8 -4
- package/scripts/postbuild.js +61 -0
- package/src/accounts/grpcAccountSubscriber.ts +160 -0
- package/src/accounts/grpcDriftClientAccountSubscriber.ts +197 -0
- package/src/accounts/grpcInsuranceFundStakeAccountSubscriber.ts +56 -0
- package/src/accounts/grpcProgramAccountSubscriber.ts +190 -0
- package/src/accounts/grpcUserAccountSubscriber.ts +48 -0
- package/src/accounts/grpcUserStatsAccountSubscriber.ts +50 -0
- package/src/accounts/types.ts +8 -0
- package/src/accounts/webSocketAccountSubscriber.ts +1 -1
- package/src/accounts/webSocketDriftClientAccountSubscriber.ts +3 -3
- package/src/accounts/webSocketProgramAccountSubscriber.ts +1 -1
- package/src/addresses/pda.ts +13 -0
- package/src/auctionSubscriber/auctionSubscriberGrpc.ts +70 -0
- package/src/auctionSubscriber/index.ts +1 -0
- package/src/auctionSubscriber/types.ts +2 -0
- package/src/config.ts +1 -1
- package/src/constants/perpMarkets.ts +26 -4
- package/src/constants/spotMarkets.ts +6 -6
- package/src/decode/user.ts +11 -1
- package/src/driftClient.ts +243 -29
- package/src/driftClientConfig.ts +7 -1
- package/src/idl/drift.json +281 -4
- package/src/idl/switchboard_on_demand_30.json +195 -37
- package/src/index.ts +8 -0
- package/src/isomorphic/README.md +19 -0
- package/src/isomorphic/grpc.browser.ts +4 -0
- package/src/isomorphic/grpc.node.ts +23 -0
- package/src/isomorphic/grpc.ts +1 -0
- package/src/math/auction.ts +7 -6
- package/src/math/margin.ts +15 -11
- package/src/math/position.ts +44 -2
- package/src/oracles/pythClient.ts +1 -5
- package/src/orderSubscriber/OrderSubscriber.ts +14 -11
- package/src/orderSubscriber/grpcSubscription.ts +121 -0
- package/src/orderSubscriber/types.ts +10 -0
- package/src/tx/baseTxSender.ts +21 -13
- package/src/tx/fastSingleTxSender.ts +6 -3
- package/src/tx/forwardOnlyTxSender.ts +4 -1
- package/src/tx/retryTxSender.ts +5 -2
- package/src/tx/whileValidTxSender.ts +5 -2
- package/src/types.ts +35 -1
- package/src/user.ts +24 -7
- package/src/userConfig.ts +7 -1
- package/src/userMap/grpcSubscription.ts +78 -0
- package/src/userMap/userMap.ts +21 -2
- package/src/userMap/userMapConfig.ts +7 -0
- package/src/userStats.ts +11 -0
- package/src/userStatsConfig.ts +7 -0
- package/tsconfig.browser.json +13 -0
- package/tsconfig.json +1 -1
- /package/lib/{accounts → browser/accounts}/basicUserAccountSubscriber.d.ts +0 -0
- /package/lib/{accounts → browser/accounts}/basicUserAccountSubscriber.js +0 -0
- /package/lib/{accounts → browser/accounts}/bulkAccountLoader.js +0 -0
- /package/lib/{accounts → browser/accounts}/bulkUserStatsSubscription.d.ts +0 -0
- /package/lib/{accounts → browser/accounts}/bulkUserStatsSubscription.js +0 -0
- /package/lib/{accounts → browser/accounts}/bulkUserSubscription.d.ts +0 -0
- /package/lib/{accounts → browser/accounts}/bulkUserSubscription.js +0 -0
- /package/lib/{accounts → browser/accounts}/fetch.d.ts +0 -0
- /package/lib/{accounts → browser/accounts}/fetch.js +0 -0
- /package/lib/{accounts → browser/accounts}/oneShotUserAccountSubscriber.d.ts +0 -0
- /package/lib/{accounts → browser/accounts}/oneShotUserAccountSubscriber.js +0 -0
- /package/lib/{accounts → browser/accounts}/pollingDriftClientAccountSubscriber.d.ts +0 -0
- /package/lib/{accounts → browser/accounts}/pollingDriftClientAccountSubscriber.js +0 -0
- /package/lib/{accounts → browser/accounts}/pollingInsuranceFundStakeAccountSubscriber.d.ts +0 -0
- /package/lib/{accounts → browser/accounts}/pollingInsuranceFundStakeAccountSubscriber.js +0 -0
- /package/lib/{accounts → browser/accounts}/pollingOracleAccountSubscriber.d.ts +0 -0
- /package/lib/{accounts → browser/accounts}/pollingOracleAccountSubscriber.js +0 -0
- /package/lib/{accounts → browser/accounts}/pollingTokenAccountSubscriber.d.ts +0 -0
- /package/lib/{accounts → browser/accounts}/pollingTokenAccountSubscriber.js +0 -0
- /package/lib/{accounts → browser/accounts}/pollingUserAccountSubscriber.d.ts +0 -0
- /package/lib/{accounts → browser/accounts}/pollingUserAccountSubscriber.js +0 -0
- /package/lib/{accounts → browser/accounts}/pollingUserStatsAccountSubscriber.d.ts +0 -0
- /package/lib/{accounts → browser/accounts}/pollingUserStatsAccountSubscriber.js +0 -0
- /package/lib/{accounts → browser/accounts}/testBulkAccountLoader.d.ts +0 -0
- /package/lib/{accounts → browser/accounts}/testBulkAccountLoader.js +0 -0
- /package/lib/{accounts → browser/accounts}/types.js +0 -0
- /package/lib/{accounts → browser/accounts}/utils.d.ts +0 -0
- /package/lib/{accounts → browser/accounts}/utils.js +0 -0
- /package/lib/{accounts → browser/accounts}/webSocketAccountSubscriber.js +0 -0
- /package/lib/{accounts → browser/accounts}/webSocketDriftClientAccountSubscriber.js +0 -0
- /package/lib/{accounts → browser/accounts}/webSocketInsuranceFundStakeAccountSubscriber.d.ts +0 -0
- /package/lib/{accounts → browser/accounts}/webSocketInsuranceFundStakeAccountSubscriber.js +0 -0
- /package/lib/{accounts → browser/accounts}/webSocketProgramAccountSubscriber.js +0 -0
- /package/lib/{accounts → browser/accounts}/webSocketUserAccountSubscriber.d.ts +0 -0
- /package/lib/{accounts → browser/accounts}/webSocketUserAccountSubscriber.js +0 -0
- /package/lib/{accounts → browser/accounts}/webSocketUserStatsAccountSubsriber.d.ts +0 -0
- /package/lib/{accounts → browser/accounts}/webSocketUserStatsAccountSubsriber.js +0 -0
- /package/lib/{addresses → browser/addresses}/marketAddresses.d.ts +0 -0
- /package/lib/{addresses → browser/addresses}/marketAddresses.js +0 -0
- /package/lib/{adminClient.d.ts → browser/adminClient.d.ts} +0 -0
- /package/lib/{adminClient.js → browser/adminClient.js} +0 -0
- /package/lib/{assert → browser/assert}/assert.d.ts +0 -0
- /package/lib/{assert → browser/assert}/assert.js +0 -0
- /package/lib/{auctionSubscriber → browser/auctionSubscriber}/auctionSubscriber.d.ts +0 -0
- /package/lib/{auctionSubscriber → browser/auctionSubscriber}/auctionSubscriber.js +0 -0
- /package/lib/{auctionSubscriber → browser/auctionSubscriber}/types.js +0 -0
- /package/lib/{bankrun → browser/bankrun}/bankrunConnection.js +0 -0
- /package/lib/{blockhashSubscriber → browser/blockhashSubscriber}/BlockhashSubscriber.d.ts +0 -0
- /package/lib/{blockhashSubscriber → browser/blockhashSubscriber}/BlockhashSubscriber.js +0 -0
- /package/lib/{blockhashSubscriber → browser/blockhashSubscriber}/index.d.ts +0 -0
- /package/lib/{blockhashSubscriber → browser/blockhashSubscriber}/index.js +0 -0
- /package/lib/{blockhashSubscriber → browser/blockhashSubscriber}/types.d.ts +0 -0
- /package/lib/{blockhashSubscriber → browser/blockhashSubscriber}/types.js +0 -0
- /package/lib/{clock → browser/clock}/clockSubscriber.d.ts +0 -0
- /package/lib/{clock → browser/clock}/clockSubscriber.js +0 -0
- /package/lib/{config.d.ts → browser/config.d.ts} +0 -0
- /package/lib/{constants → browser/constants}/numericConstants.d.ts +0 -0
- /package/lib/{constants → browser/constants}/numericConstants.js +0 -0
- /package/lib/{constants → browser/constants}/perpMarkets.d.ts +0 -0
- /package/lib/{constants → browser/constants}/spotMarkets.d.ts +0 -0
- /package/lib/{constants → browser/constants}/txConstants.d.ts +0 -0
- /package/lib/{constants → browser/constants}/txConstants.js +0 -0
- /package/lib/{decode → browser/decode}/phoenix.js +0 -0
- /package/lib/{dlob → browser/dlob}/DLOB.d.ts +0 -0
- /package/lib/{dlob → browser/dlob}/DLOB.js +0 -0
- /package/lib/{dlob → browser/dlob}/DLOBApiClient.d.ts +0 -0
- /package/lib/{dlob → browser/dlob}/DLOBApiClient.js +0 -0
- /package/lib/{dlob → browser/dlob}/DLOBNode.d.ts +0 -0
- /package/lib/{dlob → browser/dlob}/DLOBNode.js +0 -0
- /package/lib/{dlob → browser/dlob}/DLOBOrders.js +0 -0
- /package/lib/{dlob → browser/dlob}/DLOBSubscriber.d.ts +0 -0
- /package/lib/{dlob → browser/dlob}/DLOBSubscriber.js +0 -0
- /package/lib/{dlob → browser/dlob}/NodeList.d.ts +0 -0
- /package/lib/{dlob → browser/dlob}/NodeList.js +0 -0
- /package/lib/{dlob → browser/dlob}/dlobIdl.json +0 -0
- /package/lib/{dlob → browser/dlob}/orderBookLevels.d.ts +0 -0
- /package/lib/{dlob → browser/dlob}/orderBookLevels.js +0 -0
- /package/lib/{dlob → browser/dlob}/types.d.ts +0 -0
- /package/lib/{dlob → browser/dlob}/types.js +0 -0
- /package/lib/{driftClientConfig.js → browser/driftClientConfig.js} +0 -0
- /package/lib/{events → browser/events}/eventList.d.ts +0 -0
- /package/lib/{events → browser/events}/eventList.js +0 -0
- /package/lib/{events → browser/events}/eventSubscriber.d.ts +0 -0
- /package/lib/{events → browser/events}/eventSubscriber.js +0 -0
- /package/lib/{events → browser/events}/eventsServerLogProvider.d.ts +0 -0
- /package/lib/{events → browser/events}/eventsServerLogProvider.js +0 -0
- /package/lib/{events → browser/events}/fetchLogs.d.ts +0 -0
- /package/lib/{events → browser/events}/fetchLogs.js +0 -0
- /package/lib/{events → browser/events}/parse.d.ts +0 -0
- /package/lib/{events → browser/events}/parse.js +0 -0
- /package/lib/{events → browser/events}/pollingLogProvider.d.ts +0 -0
- /package/lib/{events → browser/events}/pollingLogProvider.js +0 -0
- /package/lib/{events → browser/events}/sort.d.ts +0 -0
- /package/lib/{events → browser/events}/sort.js +0 -0
- /package/lib/{events → browser/events}/txEventCache.d.ts +0 -0
- /package/lib/{events → browser/events}/txEventCache.js +0 -0
- /package/lib/{events → browser/events}/types.d.ts +0 -0
- /package/lib/{events → browser/events}/types.js +0 -0
- /package/lib/{events → browser/events}/webSocketLogProvider.d.ts +0 -0
- /package/lib/{events → browser/events}/webSocketLogProvider.js +0 -0
- /package/lib/{factory → browser/factory}/bigNum.d.ts +0 -0
- /package/lib/{factory → browser/factory}/bigNum.js +0 -0
- /package/lib/{factory → browser/factory}/oracleClient.d.ts +0 -0
- /package/lib/{factory → browser/factory}/oracleClient.js +0 -0
- /package/lib/{idl → browser/idl}/openbook.json +0 -0
- /package/lib/{idl → browser/idl}/pyth_solana_receiver.json +0 -0
- /package/lib/{idl → browser/idl}/switchboard.json +0 -0
- /package/lib/{idl → browser/idl}/token_faucet.json +0 -0
- /package/lib/{jupiter → browser/jupiter}/jupiterClient.d.ts +0 -0
- /package/lib/{jupiter → browser/jupiter}/jupiterClient.js +0 -0
- /package/lib/{keypair.d.ts → browser/keypair.d.ts} +0 -0
- /package/lib/{keypair.js → browser/keypair.js} +0 -0
- /package/lib/{marinade → browser/marinade}/index.d.ts +0 -0
- /package/lib/{marinade → browser/marinade}/index.js +0 -0
- /package/lib/{marinade → browser/marinade}/types.d.ts +0 -0
- /package/lib/{marinade → browser/marinade}/types.js +0 -0
- /package/lib/{math → browser/math}/amm.d.ts +0 -0
- /package/lib/{math → browser/math}/amm.js +0 -0
- /package/lib/{math → browser/math}/auction.d.ts +0 -0
- /package/lib/{math → browser/math}/bankruptcy.d.ts +0 -0
- /package/lib/{math → browser/math}/bankruptcy.js +0 -0
- /package/lib/{math → browser/math}/conversion.d.ts +0 -0
- /package/lib/{math → browser/math}/conversion.js +0 -0
- /package/lib/{math → browser/math}/exchangeStatus.d.ts +0 -0
- /package/lib/{math → browser/math}/exchangeStatus.js +0 -0
- /package/lib/{math → browser/math}/fuel.d.ts +0 -0
- /package/lib/{math → browser/math}/fuel.js +0 -0
- /package/lib/{math → browser/math}/funding.d.ts +0 -0
- /package/lib/{math → browser/math}/funding.js +0 -0
- /package/lib/{math → browser/math}/insurance.d.ts +0 -0
- /package/lib/{math → browser/math}/insurance.js +0 -0
- /package/lib/{math → browser/math}/market.d.ts +0 -0
- /package/lib/{math → browser/math}/market.js +0 -0
- /package/lib/{math → browser/math}/oracles.js +0 -0
- /package/lib/{math → browser/math}/orders.d.ts +0 -0
- /package/lib/{math → browser/math}/orders.js +0 -0
- /package/lib/{math → browser/math}/repeg.d.ts +0 -0
- /package/lib/{math → browser/math}/repeg.js +0 -0
- /package/lib/{math → browser/math}/spotBalance.d.ts +0 -0
- /package/lib/{math → browser/math}/spotBalance.js +0 -0
- /package/lib/{math → browser/math}/spotMarket.d.ts +0 -0
- /package/lib/{math → browser/math}/spotMarket.js +0 -0
- /package/lib/{math → browser/math}/spotPosition.d.ts +0 -0
- /package/lib/{math → browser/math}/spotPosition.js +0 -0
- /package/lib/{math → browser/math}/state.d.ts +0 -0
- /package/lib/{math → browser/math}/state.js +0 -0
- /package/lib/{math → browser/math}/superStake.d.ts +0 -0
- /package/lib/{math → browser/math}/superStake.js +0 -0
- /package/lib/{math → browser/math}/tiers.d.ts +0 -0
- /package/lib/{math → browser/math}/tiers.js +0 -0
- /package/lib/{math → browser/math}/trade.d.ts +0 -0
- /package/lib/{math → browser/math}/trade.js +0 -0
- /package/lib/{math → browser/math}/utils.d.ts +0 -0
- /package/lib/{math → browser/math}/utils.js +0 -0
- /package/lib/{memcmp.d.ts → browser/memcmp.d.ts} +0 -0
- /package/lib/{memcmp.js → browser/memcmp.js} +0 -0
- /package/lib/{openbook → browser/openbook}/openbookV2FulfillmentConfigMap.d.ts +0 -0
- /package/lib/{openbook → browser/openbook}/openbookV2FulfillmentConfigMap.js +0 -0
- /package/lib/{openbook → browser/openbook}/openbookV2Subscriber.d.ts +0 -0
- /package/lib/{openbook → browser/openbook}/openbookV2Subscriber.js +0 -0
- /package/lib/{oracles → browser/oracles}/oracleClientCache.d.ts +0 -0
- /package/lib/{oracles → browser/oracles}/oracleClientCache.js +0 -0
- /package/lib/{oracles → browser/oracles}/prelaunchOracleClient.js +0 -0
- /package/lib/{oracles → browser/oracles}/pythPullClient.js +0 -0
- /package/lib/{oracles → browser/oracles}/quoteAssetOracleClient.js +0 -0
- /package/lib/{oracles → browser/oracles}/strictOraclePrice.d.ts +0 -0
- /package/lib/{oracles → browser/oracles}/strictOraclePrice.js +0 -0
- /package/lib/{oracles → browser/oracles}/switchboardClient.js +0 -0
- /package/lib/{oracles → browser/oracles}/switchboardOnDemandClient.js +0 -0
- /package/lib/{oracles → browser/oracles}/types.js +0 -0
- /package/lib/{orderParams.d.ts → browser/orderParams.d.ts} +0 -0
- /package/lib/{orderParams.js → browser/orderParams.js} +0 -0
- /package/lib/{orderSubscriber → browser/orderSubscriber}/PollingSubscription.d.ts +0 -0
- /package/lib/{orderSubscriber → browser/orderSubscriber}/PollingSubscription.js +0 -0
- /package/lib/{orderSubscriber → browser/orderSubscriber}/WebsocketSubscription.d.ts +0 -0
- /package/lib/{orderSubscriber → browser/orderSubscriber}/WebsocketSubscription.js +0 -0
- /package/lib/{orderSubscriber → browser/orderSubscriber}/index.d.ts +0 -0
- /package/lib/{orderSubscriber → browser/orderSubscriber}/index.js +0 -0
- /package/lib/{orderSubscriber → browser/orderSubscriber}/types.js +0 -0
- /package/lib/{phoenix → browser/phoenix}/phoenixFulfillmentConfigMap.d.ts +0 -0
- /package/lib/{phoenix → browser/phoenix}/phoenixFulfillmentConfigMap.js +0 -0
- /package/lib/{phoenix → browser/phoenix}/phoenixSubscriber.d.ts +0 -0
- /package/lib/{phoenix → browser/phoenix}/phoenixSubscriber.js +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/averageOverSlotsStrategy.d.ts +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/averageOverSlotsStrategy.js +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/averageStrategy.d.ts +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/averageStrategy.js +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/driftPriorityFeeMethod.d.ts +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/driftPriorityFeeMethod.js +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/ewmaStrategy.d.ts +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/ewmaStrategy.js +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/heliusPriorityFeeMethod.d.ts +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/heliusPriorityFeeMethod.js +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/index.d.ts +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/index.js +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/maxOverSlotsStrategy.d.ts +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/maxOverSlotsStrategy.js +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/maxStrategy.d.ts +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/maxStrategy.js +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/priorityFeeSubscriber.d.ts +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/priorityFeeSubscriber.js +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/priorityFeeSubscriberMap.d.ts +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/priorityFeeSubscriberMap.js +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/solanaPriorityFeeMethod.d.ts +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/solanaPriorityFeeMethod.js +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/types.d.ts +0 -0
- /package/lib/{priorityFee → browser/priorityFee}/types.js +0 -0
- /package/lib/{serum → browser/serum}/serumFulfillmentConfigMap.d.ts +0 -0
- /package/lib/{serum → browser/serum}/serumFulfillmentConfigMap.js +0 -0
- /package/lib/{serum → browser/serum}/serumSubscriber.d.ts +0 -0
- /package/lib/{serum → browser/serum}/serumSubscriber.js +0 -0
- /package/lib/{serum → browser/serum}/types.d.ts +0 -0
- /package/lib/{serum → browser/serum}/types.js +0 -0
- /package/lib/{slot → browser/slot}/SlotSubscriber.d.ts +0 -0
- /package/lib/{slot → browser/slot}/SlotSubscriber.js +0 -0
- /package/lib/{testClient.d.ts → browser/testClient.d.ts} +0 -0
- /package/lib/{testClient.js → browser/testClient.js} +0 -0
- /package/lib/{token → browser/token}/index.js +0 -0
- /package/lib/{tokenFaucet.d.ts → browser/tokenFaucet.d.ts} +0 -0
- /package/lib/{tokenFaucet.js → browser/tokenFaucet.js} +0 -0
- /package/lib/{tx → browser/tx}/blockhashFetcher/baseBlockhashFetcher.d.ts +0 -0
- /package/lib/{tx → browser/tx}/blockhashFetcher/baseBlockhashFetcher.js +0 -0
- /package/lib/{tx → browser/tx}/blockhashFetcher/cachedBlockhashFetcher.d.ts +0 -0
- /package/lib/{tx → browser/tx}/blockhashFetcher/cachedBlockhashFetcher.js +0 -0
- /package/lib/{tx → browser/tx}/blockhashFetcher/types.d.ts +0 -0
- /package/lib/{tx → browser/tx}/blockhashFetcher/types.js +0 -0
- /package/lib/{tx → browser/tx}/priorityFeeCalculator.d.ts +0 -0
- /package/lib/{tx → browser/tx}/priorityFeeCalculator.js +0 -0
- /package/lib/{tx → browser/tx}/reportTransactionError.d.ts +0 -0
- /package/lib/{tx → browser/tx}/reportTransactionError.js +0 -0
- /package/lib/{tx → browser/tx}/txHandler.d.ts +0 -0
- /package/lib/{tx → browser/tx}/txHandler.js +0 -0
- /package/lib/{tx → browser/tx}/txParamProcessor.d.ts +0 -0
- /package/lib/{tx → browser/tx}/txParamProcessor.js +0 -0
- /package/lib/{tx → browser/tx}/types.js +0 -0
- /package/lib/{tx → browser/tx}/utils.d.ts +0 -0
- /package/lib/{tx → browser/tx}/utils.js +0 -0
- /package/lib/{userConfig.js → browser/userConfig.js} +0 -0
- /package/lib/{userMap → browser/userMap}/PollingSubscription.d.ts +0 -0
- /package/lib/{userMap → browser/userMap}/PollingSubscription.js +0 -0
- /package/lib/{userMap → browser/userMap}/WebsocketSubscription.js +0 -0
- /package/lib/{userMap → browser/userMap}/userMap.d.ts +0 -0
- /package/lib/{userMap → browser/userMap}/userMapConfig.js +0 -0
- /package/lib/{userMap → browser/userMap}/userStatsMap.d.ts +0 -0
- /package/lib/{userMap → browser/userMap}/userStatsMap.js +0 -0
- /package/lib/{userName.d.ts → browser/userName.d.ts} +0 -0
- /package/lib/{userName.js → browser/userName.js} +0 -0
- /package/lib/{userStats.d.ts → browser/userStats.d.ts} +0 -0
- /package/lib/{userStatsConfig.js → browser/userStatsConfig.js} +0 -0
- /package/lib/{util → browser/util}/TransactionConfirmationManager.d.ts +0 -0
- /package/lib/{util → browser/util}/TransactionConfirmationManager.js +0 -0
- /package/lib/{util → browser/util}/chainClock.d.ts +0 -0
- /package/lib/{util → browser/util}/chainClock.js +0 -0
- /package/lib/{util → browser/util}/computeUnits.d.ts +0 -0
- /package/lib/{util → browser/util}/computeUnits.js +0 -0
- /package/lib/{util → browser/util}/promiseTimeout.d.ts +0 -0
- /package/lib/{util → browser/util}/promiseTimeout.js +0 -0
- /package/lib/{util → browser/util}/pythPullOracleUtils.d.ts +0 -0
- /package/lib/{util → browser/util}/pythPullOracleUtils.js +0 -0
- /package/lib/{util → browser/util}/tps.d.ts +0 -0
- /package/lib/{util → browser/util}/tps.js +0 -0
- /package/lib/{wallet.d.ts → browser/wallet.d.ts} +0 -0
- /package/lib/{wallet.js → browser/wallet.js} +0 -0
|
@@ -443,10 +443,14 @@
|
|
|
443
443
|
}
|
|
444
444
|
},
|
|
445
445
|
{
|
|
446
|
-
"name": "queue"
|
|
446
|
+
"name": "queue",
|
|
447
|
+
"relations": [
|
|
448
|
+
"oracle"
|
|
449
|
+
]
|
|
447
450
|
},
|
|
448
451
|
{
|
|
449
|
-
"name": "authority"
|
|
452
|
+
"name": "authority",
|
|
453
|
+
"signer": true
|
|
450
454
|
},
|
|
451
455
|
{
|
|
452
456
|
"name": "program_state",
|
|
@@ -503,6 +507,9 @@
|
|
|
503
507
|
},
|
|
504
508
|
{
|
|
505
509
|
"name": "stake_pool"
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
"name": "delegation_group"
|
|
506
513
|
}
|
|
507
514
|
],
|
|
508
515
|
"args": [
|
|
@@ -955,10 +962,7 @@
|
|
|
955
962
|
},
|
|
956
963
|
{
|
|
957
964
|
"name": "authority",
|
|
958
|
-
"signer": true
|
|
959
|
-
"relations": [
|
|
960
|
-
"queue"
|
|
961
|
-
]
|
|
965
|
+
"signer": true
|
|
962
966
|
},
|
|
963
967
|
{
|
|
964
968
|
"name": "program_authority"
|
|
@@ -1038,6 +1042,13 @@
|
|
|
1038
1042
|
{
|
|
1039
1043
|
"name": "oracle",
|
|
1040
1044
|
"writable": true
|
|
1045
|
+
},
|
|
1046
|
+
{
|
|
1047
|
+
"name": "authority",
|
|
1048
|
+
"signer": true
|
|
1049
|
+
},
|
|
1050
|
+
{
|
|
1051
|
+
"name": "state"
|
|
1041
1052
|
}
|
|
1042
1053
|
],
|
|
1043
1054
|
"args": [
|
|
@@ -1294,10 +1305,7 @@
|
|
|
1294
1305
|
},
|
|
1295
1306
|
{
|
|
1296
1307
|
"name": "authority",
|
|
1297
|
-
"signer": true
|
|
1298
|
-
"relations": [
|
|
1299
|
-
"queue"
|
|
1300
|
-
]
|
|
1308
|
+
"signer": true
|
|
1301
1309
|
},
|
|
1302
1310
|
{
|
|
1303
1311
|
"name": "program_authority"
|
|
@@ -1336,10 +1344,7 @@
|
|
|
1336
1344
|
},
|
|
1337
1345
|
{
|
|
1338
1346
|
"name": "authority",
|
|
1339
|
-
"signer": true
|
|
1340
|
-
"relations": [
|
|
1341
|
-
"queue"
|
|
1342
|
-
]
|
|
1347
|
+
"signer": true
|
|
1343
1348
|
},
|
|
1344
1349
|
{
|
|
1345
1350
|
"name": "state"
|
|
@@ -1387,6 +1392,13 @@
|
|
|
1387
1392
|
{
|
|
1388
1393
|
"name": "recent_slothashes",
|
|
1389
1394
|
"address": "SysvarS1otHashes111111111111111111111111111"
|
|
1395
|
+
},
|
|
1396
|
+
{
|
|
1397
|
+
"name": "authority",
|
|
1398
|
+
"signer": true,
|
|
1399
|
+
"relations": [
|
|
1400
|
+
"randomness"
|
|
1401
|
+
]
|
|
1390
1402
|
}
|
|
1391
1403
|
],
|
|
1392
1404
|
"args": [
|
|
@@ -1860,6 +1872,19 @@
|
|
|
1860
1872
|
}
|
|
1861
1873
|
],
|
|
1862
1874
|
"events": [
|
|
1875
|
+
{
|
|
1876
|
+
"name": "CostWhitelistEvent",
|
|
1877
|
+
"discriminator": [
|
|
1878
|
+
56,
|
|
1879
|
+
107,
|
|
1880
|
+
191,
|
|
1881
|
+
127,
|
|
1882
|
+
116,
|
|
1883
|
+
6,
|
|
1884
|
+
138,
|
|
1885
|
+
149
|
|
1886
|
+
]
|
|
1887
|
+
},
|
|
1863
1888
|
{
|
|
1864
1889
|
"name": "GarbageCollectionEvent",
|
|
1865
1890
|
"discriminator": [
|
|
@@ -2235,9 +2260,84 @@
|
|
|
2235
2260
|
{
|
|
2236
2261
|
"code": 6047,
|
|
2237
2262
|
"name": "InvalidInstruction"
|
|
2263
|
+
},
|
|
2264
|
+
{
|
|
2265
|
+
"code": 6048,
|
|
2266
|
+
"name": "OracleAlreadyVerified"
|
|
2267
|
+
},
|
|
2268
|
+
{
|
|
2269
|
+
"code": 6049,
|
|
2270
|
+
"name": "GuardianNotVerified"
|
|
2271
|
+
},
|
|
2272
|
+
{
|
|
2273
|
+
"code": 6050,
|
|
2274
|
+
"name": "InvalidConstraint"
|
|
2275
|
+
},
|
|
2276
|
+
{
|
|
2277
|
+
"code": 6051,
|
|
2278
|
+
"name": "InvalidDelegationGroup"
|
|
2279
|
+
},
|
|
2280
|
+
{
|
|
2281
|
+
"code": 6052,
|
|
2282
|
+
"name": "OracleKeyNotFound"
|
|
2283
|
+
},
|
|
2284
|
+
{
|
|
2285
|
+
"code": 6053,
|
|
2286
|
+
"name": "GuardianReregisterAttempt"
|
|
2238
2287
|
}
|
|
2239
2288
|
],
|
|
2240
2289
|
"types": [
|
|
2290
|
+
{
|
|
2291
|
+
"name": "CompactResult",
|
|
2292
|
+
"serialization": "bytemuck",
|
|
2293
|
+
"repr": {
|
|
2294
|
+
"kind": "c"
|
|
2295
|
+
},
|
|
2296
|
+
"type": {
|
|
2297
|
+
"kind": "struct",
|
|
2298
|
+
"fields": [
|
|
2299
|
+
{
|
|
2300
|
+
"name": "std_dev",
|
|
2301
|
+
"docs": [
|
|
2302
|
+
"The standard deviation of the submissions needed for quorom size"
|
|
2303
|
+
],
|
|
2304
|
+
"type": "f32"
|
|
2305
|
+
},
|
|
2306
|
+
{
|
|
2307
|
+
"name": "mean",
|
|
2308
|
+
"docs": [
|
|
2309
|
+
"The mean of the submissions needed for quorom size"
|
|
2310
|
+
],
|
|
2311
|
+
"type": "f32"
|
|
2312
|
+
},
|
|
2313
|
+
{
|
|
2314
|
+
"name": "slot",
|
|
2315
|
+
"docs": [
|
|
2316
|
+
"The slot at which this value was signed."
|
|
2317
|
+
],
|
|
2318
|
+
"type": "u64"
|
|
2319
|
+
}
|
|
2320
|
+
]
|
|
2321
|
+
}
|
|
2322
|
+
},
|
|
2323
|
+
{
|
|
2324
|
+
"name": "CostWhitelistEvent",
|
|
2325
|
+
"type": {
|
|
2326
|
+
"kind": "struct",
|
|
2327
|
+
"fields": [
|
|
2328
|
+
{
|
|
2329
|
+
"name": "feeds",
|
|
2330
|
+
"type": {
|
|
2331
|
+
"vec": "pubkey"
|
|
2332
|
+
}
|
|
2333
|
+
},
|
|
2334
|
+
{
|
|
2335
|
+
"name": "reward",
|
|
2336
|
+
"type": "u32"
|
|
2337
|
+
}
|
|
2338
|
+
]
|
|
2339
|
+
}
|
|
2340
|
+
},
|
|
2241
2341
|
{
|
|
2242
2342
|
"name": "CurrentResult",
|
|
2243
2343
|
"serialization": "bytemuck",
|
|
@@ -2384,7 +2484,7 @@
|
|
|
2384
2484
|
}
|
|
2385
2485
|
},
|
|
2386
2486
|
{
|
|
2387
|
-
"name": "
|
|
2487
|
+
"name": "_reserved1",
|
|
2388
2488
|
"type": "u32"
|
|
2389
2489
|
},
|
|
2390
2490
|
{
|
|
@@ -2437,12 +2537,7 @@
|
|
|
2437
2537
|
"name": "GuardianUnregisterParams",
|
|
2438
2538
|
"type": {
|
|
2439
2539
|
"kind": "struct",
|
|
2440
|
-
"fields": [
|
|
2441
|
-
{
|
|
2442
|
-
"name": "idx",
|
|
2443
|
-
"type": "u32"
|
|
2444
|
-
}
|
|
2445
|
-
]
|
|
2540
|
+
"fields": []
|
|
2446
2541
|
}
|
|
2447
2542
|
},
|
|
2448
2543
|
{
|
|
@@ -2948,7 +3043,7 @@
|
|
|
2948
3043
|
"kind": "struct",
|
|
2949
3044
|
"fields": [
|
|
2950
3045
|
{
|
|
2951
|
-
"name": "
|
|
3046
|
+
"name": "_reserved1",
|
|
2952
3047
|
"type": "u64"
|
|
2953
3048
|
}
|
|
2954
3049
|
]
|
|
@@ -3068,14 +3163,18 @@
|
|
|
3068
3163
|
}
|
|
3069
3164
|
},
|
|
3070
3165
|
{
|
|
3071
|
-
"name": "
|
|
3166
|
+
"name": "padding1",
|
|
3072
3167
|
"type": {
|
|
3073
3168
|
"array": [
|
|
3074
3169
|
"u8",
|
|
3075
|
-
|
|
3170
|
+
2
|
|
3076
3171
|
]
|
|
3077
3172
|
}
|
|
3078
3173
|
},
|
|
3174
|
+
{
|
|
3175
|
+
"name": "historical_result_idx",
|
|
3176
|
+
"type": "u8"
|
|
3177
|
+
},
|
|
3079
3178
|
{
|
|
3080
3179
|
"name": "min_sample_size",
|
|
3081
3180
|
"type": "u8"
|
|
@@ -3089,7 +3188,7 @@
|
|
|
3089
3188
|
"type": "u64"
|
|
3090
3189
|
},
|
|
3091
3190
|
{
|
|
3092
|
-
"name": "
|
|
3191
|
+
"name": "_reserved1",
|
|
3093
3192
|
"type": {
|
|
3094
3193
|
"array": [
|
|
3095
3194
|
"u8",
|
|
@@ -3110,38 +3209,51 @@
|
|
|
3110
3209
|
"type": "u32"
|
|
3111
3210
|
},
|
|
3112
3211
|
{
|
|
3113
|
-
"name": "
|
|
3212
|
+
"name": "padding2",
|
|
3114
3213
|
"type": {
|
|
3115
3214
|
"array": [
|
|
3116
3215
|
"u8",
|
|
3117
|
-
|
|
3216
|
+
12
|
|
3118
3217
|
]
|
|
3119
3218
|
}
|
|
3120
3219
|
},
|
|
3121
3220
|
{
|
|
3122
|
-
"name": "
|
|
3221
|
+
"name": "historical_results",
|
|
3222
|
+
"type": {
|
|
3223
|
+
"array": [
|
|
3224
|
+
{
|
|
3225
|
+
"defined": {
|
|
3226
|
+
"name": "CompactResult"
|
|
3227
|
+
}
|
|
3228
|
+
},
|
|
3229
|
+
32
|
|
3230
|
+
]
|
|
3231
|
+
}
|
|
3232
|
+
},
|
|
3233
|
+
{
|
|
3234
|
+
"name": "_ebuf4",
|
|
3123
3235
|
"type": {
|
|
3124
3236
|
"array": [
|
|
3125
3237
|
"u8",
|
|
3126
|
-
|
|
3238
|
+
8
|
|
3127
3239
|
]
|
|
3128
3240
|
}
|
|
3129
3241
|
},
|
|
3130
3242
|
{
|
|
3131
|
-
"name": "
|
|
3243
|
+
"name": "_ebuf3",
|
|
3132
3244
|
"type": {
|
|
3133
3245
|
"array": [
|
|
3134
3246
|
"u8",
|
|
3135
|
-
|
|
3247
|
+
24
|
|
3136
3248
|
]
|
|
3137
3249
|
}
|
|
3138
3250
|
},
|
|
3139
3251
|
{
|
|
3140
|
-
"name": "
|
|
3252
|
+
"name": "_ebuf2",
|
|
3141
3253
|
"type": {
|
|
3142
3254
|
"array": [
|
|
3143
3255
|
"u8",
|
|
3144
|
-
|
|
3256
|
+
256
|
|
3145
3257
|
]
|
|
3146
3258
|
}
|
|
3147
3259
|
}
|
|
@@ -4237,12 +4349,43 @@
|
|
|
4237
4349
|
"name": "lut_slot",
|
|
4238
4350
|
"type": "u64"
|
|
4239
4351
|
},
|
|
4352
|
+
{
|
|
4353
|
+
"name": "base_reward",
|
|
4354
|
+
"type": "u32"
|
|
4355
|
+
},
|
|
4356
|
+
{
|
|
4357
|
+
"name": "_ebuf6",
|
|
4358
|
+
"type": {
|
|
4359
|
+
"array": [
|
|
4360
|
+
"u8",
|
|
4361
|
+
28
|
|
4362
|
+
]
|
|
4363
|
+
}
|
|
4364
|
+
},
|
|
4365
|
+
{
|
|
4366
|
+
"name": "_ebuf5",
|
|
4367
|
+
"type": {
|
|
4368
|
+
"array": [
|
|
4369
|
+
"u8",
|
|
4370
|
+
32
|
|
4371
|
+
]
|
|
4372
|
+
}
|
|
4373
|
+
},
|
|
4374
|
+
{
|
|
4375
|
+
"name": "_ebuf4",
|
|
4376
|
+
"type": {
|
|
4377
|
+
"array": [
|
|
4378
|
+
"u8",
|
|
4379
|
+
64
|
|
4380
|
+
]
|
|
4381
|
+
}
|
|
4382
|
+
},
|
|
4240
4383
|
{
|
|
4241
4384
|
"name": "_ebuf3",
|
|
4242
4385
|
"type": {
|
|
4243
4386
|
"array": [
|
|
4244
4387
|
"u8",
|
|
4245
|
-
|
|
4388
|
+
128
|
|
4246
4389
|
]
|
|
4247
4390
|
}
|
|
4248
4391
|
},
|
|
@@ -4256,11 +4399,14 @@
|
|
|
4256
4399
|
}
|
|
4257
4400
|
},
|
|
4258
4401
|
{
|
|
4259
|
-
"name": "
|
|
4402
|
+
"name": "cost_whitelist",
|
|
4403
|
+
"docs": [
|
|
4404
|
+
"Cost whitelist by authority"
|
|
4405
|
+
],
|
|
4260
4406
|
"type": {
|
|
4261
4407
|
"array": [
|
|
4262
|
-
"
|
|
4263
|
-
|
|
4408
|
+
"pubkey",
|
|
4409
|
+
32
|
|
4264
4410
|
]
|
|
4265
4411
|
}
|
|
4266
4412
|
}
|
|
@@ -4346,6 +4492,18 @@
|
|
|
4346
4492
|
{
|
|
4347
4493
|
"name": "subsidy_amount",
|
|
4348
4494
|
"type": "u32"
|
|
4495
|
+
},
|
|
4496
|
+
{
|
|
4497
|
+
"name": "base_reward",
|
|
4498
|
+
"type": "u32"
|
|
4499
|
+
},
|
|
4500
|
+
{
|
|
4501
|
+
"name": "add_cost_wl",
|
|
4502
|
+
"type": "pubkey"
|
|
4503
|
+
},
|
|
4504
|
+
{
|
|
4505
|
+
"name": "rm_cost_wl",
|
|
4506
|
+
"type": "pubkey"
|
|
4349
4507
|
}
|
|
4350
4508
|
]
|
|
4351
4509
|
}
|
package/src/index.ts
CHANGED
|
@@ -25,12 +25,14 @@ export * from './accounts/oneShotUserAccountSubscriber';
|
|
|
25
25
|
export * from './accounts/types';
|
|
26
26
|
export * from './addresses/pda';
|
|
27
27
|
export * from './adminClient';
|
|
28
|
+
export * from './assert/assert';
|
|
28
29
|
export * from './testClient';
|
|
29
30
|
export * from './user';
|
|
30
31
|
export * from './userConfig';
|
|
31
32
|
export * from './userStats';
|
|
32
33
|
export * from './userName';
|
|
33
34
|
export * from './userStatsConfig';
|
|
35
|
+
export * from './decode/user';
|
|
34
36
|
export * from './driftClient';
|
|
35
37
|
export * from './factory/oracleClient';
|
|
36
38
|
export * from './factory/bigNum';
|
|
@@ -59,6 +61,7 @@ export * from './math/insurance';
|
|
|
59
61
|
export * from './math/superStake';
|
|
60
62
|
export * from './math/spotPosition';
|
|
61
63
|
export * from './math/state';
|
|
64
|
+
export * from './math/tiers';
|
|
62
65
|
export * from './marinade';
|
|
63
66
|
export * from './orderParams';
|
|
64
67
|
export * from './slot/SlotSubscriber';
|
|
@@ -76,6 +79,9 @@ export * from './priorityFee';
|
|
|
76
79
|
export * from './phoenix/phoenixFulfillmentConfigMap';
|
|
77
80
|
export * from './openbook/openbookV2Subscriber';
|
|
78
81
|
export * from './openbook/openbookV2FulfillmentConfigMap';
|
|
82
|
+
export * from './oracles/pythClient';
|
|
83
|
+
export * from './oracles/pythPullClient';
|
|
84
|
+
export * from './oracles/switchboardOnDemandClient';
|
|
79
85
|
export * from './tx/fastSingleTxSender';
|
|
80
86
|
export * from './tx/retryTxSender';
|
|
81
87
|
export * from './tx/whileValidTxSender';
|
|
@@ -86,6 +92,7 @@ export * from './tx/txHandler';
|
|
|
86
92
|
export * from './util/computeUnits';
|
|
87
93
|
export * from './util/tps';
|
|
88
94
|
export * from './util/promiseTimeout';
|
|
95
|
+
export * from './util/pythPullOracleUtils';
|
|
89
96
|
export * from './math/spotBalance';
|
|
90
97
|
export * from './constants/spotMarkets';
|
|
91
98
|
export * from './driftClientConfig';
|
|
@@ -99,6 +106,7 @@ export * from './dlob/types';
|
|
|
99
106
|
export * from './dlob/orderBookLevels';
|
|
100
107
|
export * from './userMap/userMap';
|
|
101
108
|
export * from './userMap/userStatsMap';
|
|
109
|
+
export * from './userMap/userMapConfig';
|
|
102
110
|
export * from './math/bankruptcy';
|
|
103
111
|
export * from './orderSubscriber';
|
|
104
112
|
export * from './orderSubscriber/types';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Isomorphic Code Explanation
|
|
2
|
+
|
|
3
|
+
Soem of the features you might want to add to the SDK may only be compatible with particular execution environments (usually a non-browser one). To get that working without breaking the SDK for people in other environments, you need to get your code working in an isomorphic way.
|
|
4
|
+
|
|
5
|
+
This README will try explain how to do this, and you should be able to follow the example of other pieces of isomorphic code in this folder.
|
|
6
|
+
|
|
7
|
+
## High Level Explanation
|
|
8
|
+
|
|
9
|
+
At a high level, we just want to make sure that we're not importing any incompatible code into the final compiled .js output files. The only real way this can "get done" is by importing types or by importing classes/methods/values out of an offending packages. The goal of our isomorphic seperation is to ensure that we have SDK-Side code which is still properly typed and easy for devs to work with, without putting anything bad into the output code. We will do this with some typescript magic and a simple but handy postbuild script.
|
|
10
|
+
|
|
11
|
+
## Step-by-step isomorphic code:
|
|
12
|
+
|
|
13
|
+
1. Create [your-package-name].d.ts, [your-package-name].browser.ts, and [your-package-name].node.ts files.
|
|
14
|
+
2. Remove any imports of an offending library which aren't going through our dedicated isomorphic files. Instead import the TYPES of these and place them in the `.d.ts` file (definition file). Note to import ONLY THE TYPES you use `import type {stuff}` instead of just `import {stuff}`.
|
|
15
|
+
3. The definition file should be exporting types only, and the files that were previously importing things directly from the library should be able to import from the definition file now instead. You might see some typescript issues when you import things from this definition file because typescript thinks it's "just a type" -- you can safely @ts-ignore these errors, but the types SHOULD at least be correct when you are using them.
|
|
16
|
+
4. For concrete classes, methods, constants, etc. that you need to make available - you will place them in the `.browser` and `.node` files. You should be able to pretty flexibly export them however you want, just make sure the definition file has a matching type for how you're doing it. See `grpc.d.ts` and `grpc.node.ts` to look at how we're doing this for `createClient`. For the "bad" isomorphic file it's probably best to throw an error so that the consumer knows they shouldn't be using this particular feature.
|
|
17
|
+
5. Note about enums :: they're weird and annoying. If you follow how the enum type `CommitmentLevel` was exported for the grpc package though you should be fine.
|
|
18
|
+
6. Add the name of your package to `postbuild.js`.
|
|
19
|
+
7. when you run `build` it will build the node version of all of these packages. You can run `build:browser` to build the browser side ones instead.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import Client from '@triton-one/yellowstone-grpc';
|
|
2
|
+
import {
|
|
3
|
+
SubscribeRequest,
|
|
4
|
+
SubscribeUpdate,
|
|
5
|
+
CommitmentLevel,
|
|
6
|
+
} from '@triton-one/yellowstone-grpc';
|
|
7
|
+
import { ClientDuplexStream, ChannelOptions } from '@grpc/grpc-js';
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
ClientDuplexStream,
|
|
11
|
+
ChannelOptions,
|
|
12
|
+
SubscribeRequest,
|
|
13
|
+
SubscribeUpdate,
|
|
14
|
+
CommitmentLevel,
|
|
15
|
+
Client,
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
// Export a function to create a new Client instance
|
|
19
|
+
export function createClient(
|
|
20
|
+
...args: ConstructorParameters<typeof Client>
|
|
21
|
+
): Client {
|
|
22
|
+
return new Client(...args);
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './grpc.node';
|
package/src/math/auction.ts
CHANGED
|
@@ -27,14 +27,15 @@ export function getAuctionPrice(
|
|
|
27
27
|
oraclePrice: BN
|
|
28
28
|
): BN {
|
|
29
29
|
if (
|
|
30
|
-
isOneOfVariant(order.orderType, [
|
|
31
|
-
'market',
|
|
32
|
-
'triggerMarket',
|
|
33
|
-
'limit',
|
|
34
|
-
'triggerLimit',
|
|
35
|
-
])
|
|
30
|
+
isOneOfVariant(order.orderType, ['market', 'triggerMarket', 'triggerLimit'])
|
|
36
31
|
) {
|
|
37
32
|
return getAuctionPriceForFixedAuction(order, slot);
|
|
33
|
+
} else if (isVariant(order.orderType, 'limit')) {
|
|
34
|
+
if (order.oraclePriceOffset !== 0) {
|
|
35
|
+
return getAuctionPriceForOracleOffsetAuction(order, slot, oraclePrice);
|
|
36
|
+
} else {
|
|
37
|
+
return getAuctionPriceForFixedAuction(order, slot);
|
|
38
|
+
}
|
|
38
39
|
} else if (isVariant(order.orderType, 'oracle')) {
|
|
39
40
|
return getAuctionPriceForOracleOffsetAuction(order, slot, oraclePrice);
|
|
40
41
|
} else {
|
package/src/math/margin.ts
CHANGED
|
@@ -187,20 +187,20 @@ export function calculateWorstCasePerpLiabilityValue(
|
|
|
187
187
|
|
|
188
188
|
export function calculatePerpLiabilityValue(
|
|
189
189
|
baseAssetAmount: BN,
|
|
190
|
-
|
|
190
|
+
price: BN,
|
|
191
191
|
isPredictionMarket: boolean
|
|
192
192
|
): BN {
|
|
193
193
|
if (isPredictionMarket) {
|
|
194
194
|
if (baseAssetAmount.gt(ZERO)) {
|
|
195
|
-
return baseAssetAmount.mul(
|
|
195
|
+
return baseAssetAmount.mul(price).div(BASE_PRECISION);
|
|
196
196
|
} else {
|
|
197
197
|
return baseAssetAmount
|
|
198
198
|
.abs()
|
|
199
|
-
.mul(MAX_PREDICTION_PRICE.sub(
|
|
199
|
+
.mul(MAX_PREDICTION_PRICE.sub(price))
|
|
200
200
|
.div(BASE_PRECISION);
|
|
201
201
|
}
|
|
202
202
|
} else {
|
|
203
|
-
return baseAssetAmount.abs().mul(
|
|
203
|
+
return baseAssetAmount.abs().mul(price).div(BASE_PRECISION);
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
206
|
|
|
@@ -215,16 +215,18 @@ export function calculateMarginUSDCRequiredForTrade(
|
|
|
215
215
|
targetMarketIndex: number,
|
|
216
216
|
baseSize: BN,
|
|
217
217
|
userMaxMarginRatio?: number,
|
|
218
|
-
userHighLeverageMode?: boolean
|
|
218
|
+
userHighLeverageMode?: boolean,
|
|
219
|
+
entryPrice?: BN
|
|
219
220
|
): BN {
|
|
220
221
|
const targetMarket = driftClient.getPerpMarketAccount(targetMarketIndex);
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
222
|
+
|
|
223
|
+
const price =
|
|
224
|
+
entryPrice ??
|
|
225
|
+
driftClient.getOracleDataForPerpMarket(targetMarket.marketIndex).price;
|
|
224
226
|
|
|
225
227
|
const perpLiabilityValue = calculatePerpLiabilityValue(
|
|
226
228
|
baseSize,
|
|
227
|
-
|
|
229
|
+
price,
|
|
228
230
|
isVariant(targetMarket.contractType, 'prediction')
|
|
229
231
|
);
|
|
230
232
|
|
|
@@ -254,14 +256,16 @@ export function calculateCollateralDepositRequiredForTrade(
|
|
|
254
256
|
baseSize: BN,
|
|
255
257
|
collateralIndex: number,
|
|
256
258
|
userMaxMarginRatio?: number,
|
|
257
|
-
userHighLeverageMode?: boolean
|
|
259
|
+
userHighLeverageMode?: boolean,
|
|
260
|
+
estEntryPrice?: BN
|
|
258
261
|
): BN {
|
|
259
262
|
const marginRequiredUsdc = calculateMarginUSDCRequiredForTrade(
|
|
260
263
|
driftClient,
|
|
261
264
|
targetMarketIndex,
|
|
262
265
|
baseSize,
|
|
263
266
|
userMaxMarginRatio,
|
|
264
|
-
userHighLeverageMode
|
|
267
|
+
userHighLeverageMode,
|
|
268
|
+
estEntryPrice
|
|
265
269
|
);
|
|
266
270
|
|
|
267
271
|
const collateralMarket = driftClient.getSpotMarketAccount(collateralIndex);
|
package/src/math/position.ts
CHANGED
|
@@ -118,7 +118,7 @@ export function calculatePositionPNL(
|
|
|
118
118
|
.add(perpPosition.quoteAssetAmount);
|
|
119
119
|
|
|
120
120
|
if (withFunding) {
|
|
121
|
-
const fundingRatePnL =
|
|
121
|
+
const fundingRatePnL = calculateUnsettledFundingPnl(market, perpPosition);
|
|
122
122
|
|
|
123
123
|
pnl = pnl.add(fundingRatePnL);
|
|
124
124
|
}
|
|
@@ -159,12 +159,44 @@ export function calculateClaimablePnl(
|
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
/**
|
|
162
|
+
* Returns total fees and funding pnl for a position
|
|
163
|
+
*
|
|
164
|
+
* @param market
|
|
165
|
+
* @param PerpPosition
|
|
166
|
+
* @param includeUnsettled include unsettled funding in return value (default: true)
|
|
167
|
+
* @returns — // QUOTE_PRECISION
|
|
168
|
+
*/
|
|
169
|
+
export function calculateFeesAndFundingPnl(
|
|
170
|
+
market: PerpMarketAccount,
|
|
171
|
+
perpPosition: PerpPosition,
|
|
172
|
+
includeUnsettled = true
|
|
173
|
+
): BN {
|
|
174
|
+
const settledFundingAndFeesPnl = perpPosition.quoteBreakEvenAmount.sub(
|
|
175
|
+
perpPosition.quoteEntryAmount
|
|
176
|
+
);
|
|
177
|
+
|
|
178
|
+
if (!includeUnsettled) {
|
|
179
|
+
return settledFundingAndFeesPnl;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
const unsettledFundingPnl = calculateUnsettledFundingPnl(
|
|
183
|
+
market,
|
|
184
|
+
perpPosition
|
|
185
|
+
);
|
|
186
|
+
|
|
187
|
+
return settledFundingAndFeesPnl.add(unsettledFundingPnl);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Returns unsettled funding pnl for the position
|
|
192
|
+
*
|
|
193
|
+
* To calculate all fees and funding pnl including settled, use calculateFeesAndFundingPnl
|
|
162
194
|
*
|
|
163
195
|
* @param market
|
|
164
196
|
* @param PerpPosition
|
|
165
197
|
* @returns // QUOTE_PRECISION
|
|
166
198
|
*/
|
|
167
|
-
export function
|
|
199
|
+
export function calculateUnsettledFundingPnl(
|
|
168
200
|
market: PerpMarketAccount,
|
|
169
201
|
perpPosition: PerpPosition
|
|
170
202
|
): BN {
|
|
@@ -189,6 +221,16 @@ export function calculatePositionFundingPNL(
|
|
|
189
221
|
return perPositionFundingRate;
|
|
190
222
|
}
|
|
191
223
|
|
|
224
|
+
/**
|
|
225
|
+
* @deprecated use calculateUnsettledFundingPnl or calculateFeesAndFundingPnl instead
|
|
226
|
+
*/
|
|
227
|
+
export function calculatePositionFundingPNL(
|
|
228
|
+
market: PerpMarketAccount,
|
|
229
|
+
perpPosition: PerpPosition
|
|
230
|
+
): BN {
|
|
231
|
+
return calculateUnsettledFundingPnl(market, perpPosition);
|
|
232
|
+
}
|
|
233
|
+
|
|
192
234
|
export function positionIsAvailable(position: PerpPosition): boolean {
|
|
193
235
|
return (
|
|
194
236
|
position.baseAssetAmount.eq(ZERO) &&
|
|
@@ -67,11 +67,7 @@ export class PythClient implements OracleClient {
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
|
|
71
|
-
price: number,
|
|
72
|
-
exponent: number,
|
|
73
|
-
multiple: BN
|
|
74
|
-
): BN {
|
|
70
|
+
function convertPythPrice(price: number, exponent: number, multiple: BN): BN {
|
|
75
71
|
exponent = Math.abs(exponent);
|
|
76
72
|
const pythPrecision = TEN.pow(new BN(exponent).abs()).div(multiple);
|
|
77
73
|
return new BN(price * Math.pow(10, exponent))
|