@drift-labs/sdk-browser 2.162.0-beta.2 → 2.163.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.prettierignore +1 -0
- package/.yarn/install-state.gz +0 -0
- package/README.md +2 -2
- package/VERSION +1 -1
- package/bun.lock +47 -79
- package/lib/browser/accounts/fetch.d.ts +6 -6
- package/lib/browser/accounts/fetch.js +4 -4
- package/lib/browser/accounts/grpcAccountSubscriber.d.ts +2 -2
- package/lib/browser/accounts/grpcDriftClientAccountSubscriber.d.ts +2 -2
- package/lib/browser/accounts/grpcDriftClientAccountSubscriberV2.d.ts +3 -3
- package/lib/browser/accounts/grpcDriftClientAccountSubscriberV2.js +2 -2
- package/lib/browser/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts +2 -2
- package/lib/browser/accounts/grpcMultiAccountSubscriber.d.ts +2 -2
- package/lib/browser/accounts/grpcMultiUserAccountSubscriber.d.ts +2 -2
- package/lib/browser/accounts/grpcProgramAccountSubscriber.d.ts +2 -2
- package/lib/browser/accounts/grpcUserAccountSubscriber.d.ts +2 -2
- package/lib/browser/accounts/grpcUserStatsAccountSubscriber.d.ts +2 -2
- package/lib/browser/accounts/laserProgramAccountSubscriber.d.ts +2 -2
- package/lib/browser/accounts/oneShotUserAccountSubscriber.d.ts +3 -3
- package/lib/browser/accounts/oneShotUserStatsAccountSubscriber.d.ts +3 -3
- package/lib/browser/accounts/pollingDriftClientAccountSubscriber.d.ts +3 -3
- package/lib/browser/accounts/pollingDriftClientAccountSubscriber.js +2 -2
- package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +3 -3
- package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.js +1 -1
- package/lib/browser/accounts/pollingOracleAccountSubscriber.d.ts +2 -2
- package/lib/browser/accounts/pollingTokenAccountSubscriber.d.ts +2 -2
- package/lib/browser/accounts/pollingUserAccountSubscriber.js +2 -2
- package/lib/browser/accounts/pollingUserStatsAccountSubscriber.d.ts +3 -3
- package/lib/browser/accounts/pollingUserStatsAccountSubscriber.js +1 -1
- package/lib/browser/accounts/testBulkAccountLoader.js +3 -5
- package/lib/browser/accounts/types.d.ts +11 -14
- package/lib/browser/accounts/webSocketAccountSubscriber.d.ts +3 -3
- package/lib/browser/accounts/webSocketAccountSubscriber.js +1 -2
- package/lib/browser/accounts/webSocketAccountSubscriberV2.d.ts +3 -3
- package/lib/browser/accounts/webSocketDriftClientAccountSubscriber.d.ts +5 -5
- package/lib/browser/accounts/webSocketDriftClientAccountSubscriber.js +2 -2
- package/lib/browser/accounts/webSocketDriftClientAccountSubscriberV2.d.ts +3 -3
- package/lib/browser/accounts/webSocketDriftClientAccountSubscriberV2.js +2 -2
- package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +3 -3
- package/lib/browser/accounts/webSocketProgramAccountSubscriber.d.ts +3 -3
- package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.d.ts +3 -3
- package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.d.ts +3 -3
- package/lib/browser/accounts/webSocketUserAccountSubscriber.d.ts +3 -3
- package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.d.ts +3 -3
- package/lib/browser/accounts/websocketProgramUserAccountSubscriber.d.ts +2 -2
- package/lib/browser/addresses/pda.d.ts +6 -2
- package/lib/browser/addresses/pda.js +7 -12
- package/lib/browser/adminClient.d.ts +11 -9
- package/lib/browser/adminClient.js +30 -72
- package/lib/browser/auctionSubscriber/auctionSubscriber.js +1 -1
- package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.js +1 -1
- package/lib/browser/config.d.ts +7 -3
- package/lib/browser/config.js +9 -7
- package/lib/browser/constants/index.d.ts +5 -0
- package/lib/browser/constants/index.js +5 -0
- package/lib/browser/constants/numericConstants.d.ts +1 -1
- package/lib/browser/constants/numericConstants.js +3 -3
- package/lib/browser/constants/perpMarkets.js +3 -412
- package/lib/browser/constants/spotMarkets.js +7 -91
- package/lib/browser/constituentMap/constituentMap.js +2 -2
- package/lib/browser/constituentMap/pollingConstituentAccountSubscriber.d.ts +3 -3
- package/lib/browser/constituentMap/webSocketConstituentAccountSubscriber.d.ts +3 -3
- package/lib/browser/constituentMap/webSocketConstituentAccountSubscriber.js +1 -1
- package/lib/browser/decode/customCoder.d.ts +7 -9
- package/lib/browser/decode/customCoder.js +17 -28
- package/lib/browser/decode/user.js +7 -25
- package/lib/browser/dlob/DLOB.d.ts +12 -0
- package/lib/browser/dlob/DLOB.js +12 -0
- package/lib/browser/dlob/orderBookLevels.js +1 -1
- package/lib/browser/driftClient.d.ts +32 -59
- package/lib/browser/driftClient.js +85 -562
- package/lib/browser/driftClientConfig.d.ts +7 -0
- package/lib/browser/events/eventSubscriber.d.ts +8 -0
- package/lib/browser/events/eventSubscriber.js +5 -2
- package/lib/browser/events/parse.d.ts +1 -1
- package/lib/browser/factory/oracleClient.d.ts +2 -2
- package/lib/browser/factory/oracleClient.js +9 -21
- package/lib/browser/idl/drift.d.ts +21406 -0
- package/lib/browser/idl/drift.js +2 -0
- package/lib/browser/idl/drift.json +20850 -15287
- package/lib/browser/idl/pyth.d.ts +97 -0
- package/lib/browser/idl/pyth.js +2 -0
- package/lib/browser/idl/token_faucet.d.ts +197 -0
- package/lib/browser/idl/token_faucet.js +2 -0
- package/lib/browser/idl/token_faucet.json +148 -61
- package/lib/browser/index.d.ts +13 -6
- package/lib/browser/index.js +12 -5
- package/lib/browser/marinade/index.d.ts +1 -1
- package/lib/browser/marinade/index.js +2 -2
- package/lib/browser/math/amm.d.ts +4 -5
- package/lib/browser/math/amm.js +8 -35
- package/lib/browser/math/funding.js +6 -1
- package/lib/browser/math/margin.d.ts +3 -4
- package/lib/browser/math/margin.js +16 -47
- package/lib/browser/math/market.d.ts +2 -2
- package/lib/browser/math/market.js +10 -42
- package/lib/browser/math/oracles.js +14 -19
- package/lib/browser/math/position.js +1 -1
- package/lib/browser/math/trade.js +4 -4
- package/lib/browser/memcmp.js +8 -8
- package/lib/browser/openbook/openbookV2Subscriber.d.ts +1 -1
- package/lib/browser/openbook/openbookV2Subscriber.js +3 -3
- package/lib/browser/oracles/oracleClientCache.d.ts +2 -2
- package/lib/browser/oracles/prelaunchOracleClient.d.ts +2 -2
- package/lib/browser/oracles/prelaunchOracleClient.js +1 -1
- package/lib/browser/oracles/pythLazerClient.js +3 -5
- package/lib/browser/oracles/types.d.ts +6 -0
- package/lib/browser/orderParams.d.ts +0 -1
- package/lib/browser/orderParams.js +1 -5
- package/lib/browser/orderSubscriber/OrderSubscriber.js +3 -4
- package/lib/browser/orderSubscriber/WebsocketSubscription.js +1 -1
- package/lib/browser/orderSubscriber/grpcSubscription.js +2 -2
- package/lib/browser/orderSubscriber/index.d.ts +5 -0
- package/lib/browser/orderSubscriber/index.js +5 -0
- package/lib/browser/priorityFee/index.d.ts +5 -0
- package/lib/browser/priorityFee/index.js +5 -0
- package/lib/browser/pyth/index.d.ts +2 -2
- package/lib/browser/pyth/types.d.ts +1 -1
- package/lib/browser/swift/grpcSignedMsgUserAccountSubscriber.js +1 -1
- package/lib/browser/swift/index.d.ts +7 -0
- package/lib/browser/swift/index.js +7 -0
- package/lib/browser/swift/signedMsgUserAccountSubscriber.js +4 -3
- package/lib/browser/tokenFaucet.d.ts +2 -2
- package/lib/browser/tokenFaucet.js +4 -4
- package/lib/browser/tx/txHandler.d.ts +12 -0
- package/lib/browser/tx/txHandler.js +12 -0
- package/lib/browser/types.d.ts +19 -31
- package/lib/browser/types.js +6 -11
- package/lib/browser/user.d.ts +27 -18
- package/lib/browser/user.js +64 -100
- package/lib/browser/userMap/WebsocketSubscription.js +1 -1
- package/lib/browser/userMap/grpcSubscription.js +1 -1
- package/lib/browser/userMap/revenueShareEscrowMap.js +4 -4
- package/lib/browser/userMap/userMap.js +4 -5
- package/lib/browser/userMap/userStatsMap.js +2 -3
- package/lib/browser/userStats.d.ts +5 -0
- package/lib/node/accounts/fetch.d.ts +6 -6
- package/lib/node/accounts/fetch.d.ts.map +1 -1
- package/lib/node/accounts/fetch.js +4 -4
- package/lib/node/accounts/grpcAccountSubscriber.d.ts +2 -2
- package/lib/node/accounts/grpcAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcDriftClientAccountSubscriber.d.ts +2 -2
- package/lib/node/accounts/grpcDriftClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcDriftClientAccountSubscriberV2.d.ts +3 -3
- package/lib/node/accounts/grpcDriftClientAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/grpcDriftClientAccountSubscriberV2.js +2 -2
- package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts +2 -2
- package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts +2 -2
- package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts +2 -2
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts +2 -2
- package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcUserAccountSubscriber.d.ts +2 -2
- package/lib/node/accounts/grpcUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcUserStatsAccountSubscriber.d.ts +2 -2
- package/lib/node/accounts/grpcUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/laserProgramAccountSubscriber.d.ts +2 -2
- package/lib/node/accounts/laserProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts +3 -3
- package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/oneShotUserStatsAccountSubscriber.d.ts +3 -3
- package/lib/node/accounts/oneShotUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingDriftClientAccountSubscriber.d.ts +3 -3
- package/lib/node/accounts/pollingDriftClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingDriftClientAccountSubscriber.js +2 -2
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +3 -3
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.js +1 -1
- package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts +2 -2
- package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts +2 -2
- package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingUserAccountSubscriber.js +2 -2
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts +3 -3
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.js +1 -1
- package/lib/node/accounts/testBulkAccountLoader.d.ts.map +1 -1
- package/lib/node/accounts/testBulkAccountLoader.js +3 -5
- package/lib/node/accounts/types.d.ts +11 -14
- package/lib/node/accounts/types.d.ts.map +1 -1
- package/lib/node/accounts/webSocketAccountSubscriber.d.ts +3 -3
- package/lib/node/accounts/webSocketAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketAccountSubscriber.js +1 -2
- package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts +3 -3
- package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketDriftClientAccountSubscriber.d.ts +5 -5
- package/lib/node/accounts/webSocketDriftClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketDriftClientAccountSubscriber.js +2 -2
- package/lib/node/accounts/webSocketDriftClientAccountSubscriberV2.d.ts +3 -3
- package/lib/node/accounts/webSocketDriftClientAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketDriftClientAccountSubscriberV2.js +2 -2
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +3 -3
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts +3 -3
- package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts +3 -3
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts +3 -3
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts +3 -3
- package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts +3 -3
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts.map +1 -1
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts +2 -2
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/addresses/pda.d.ts +6 -2
- package/lib/node/addresses/pda.d.ts.map +1 -1
- package/lib/node/addresses/pda.js +7 -12
- package/lib/node/adminClient.d.ts +11 -9
- package/lib/node/adminClient.d.ts.map +1 -1
- package/lib/node/adminClient.js +30 -72
- package/lib/node/auctionSubscriber/auctionSubscriber.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriber.js +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +1 -1
- package/lib/node/config.d.ts +7 -3
- package/lib/node/config.d.ts.map +1 -1
- package/lib/node/config.js +9 -7
- package/lib/node/constants/index.d.ts +5 -0
- package/lib/node/constants/index.d.ts.map +1 -1
- package/lib/node/constants/index.js +5 -0
- package/lib/node/constants/numericConstants.d.ts +1 -1
- package/lib/node/constants/numericConstants.d.ts.map +1 -1
- package/lib/node/constants/numericConstants.js +3 -3
- package/lib/node/constants/perpMarkets.d.ts.map +1 -1
- package/lib/node/constants/perpMarkets.js +3 -412
- package/lib/node/constants/spotMarkets.d.ts.map +1 -1
- package/lib/node/constants/spotMarkets.js +7 -91
- package/lib/node/constituentMap/constituentMap.d.ts.map +1 -1
- package/lib/node/constituentMap/constituentMap.js +2 -2
- package/lib/node/constituentMap/pollingConstituentAccountSubscriber.d.ts +3 -3
- package/lib/node/constituentMap/pollingConstituentAccountSubscriber.d.ts.map +1 -1
- package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.d.ts +3 -3
- package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.d.ts.map +1 -1
- package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.js +1 -1
- package/lib/node/decode/customCoder.d.ts +7 -9
- package/lib/node/decode/customCoder.d.ts.map +1 -1
- package/lib/node/decode/customCoder.js +17 -28
- package/lib/node/decode/user.d.ts.map +1 -1
- package/lib/node/decode/user.js +7 -25
- package/lib/node/dlob/DLOB.d.ts +12 -0
- package/lib/node/dlob/DLOB.d.ts.map +1 -1
- package/lib/node/dlob/DLOB.js +12 -0
- package/lib/node/dlob/orderBookLevels.d.ts.map +1 -1
- package/lib/node/dlob/orderBookLevels.js +1 -1
- package/lib/node/driftClient.d.ts +32 -59
- package/lib/node/driftClient.d.ts.map +1 -1
- package/lib/node/driftClient.js +85 -562
- package/lib/node/driftClientConfig.d.ts +7 -0
- package/lib/node/driftClientConfig.d.ts.map +1 -1
- package/lib/node/events/eventSubscriber.d.ts +8 -0
- package/lib/node/events/eventSubscriber.d.ts.map +1 -1
- package/lib/node/events/eventSubscriber.js +5 -2
- package/lib/node/events/parse.d.ts +1 -1
- package/lib/node/events/parse.d.ts.map +1 -1
- package/lib/node/factory/oracleClient.d.ts +2 -2
- package/lib/node/factory/oracleClient.d.ts.map +1 -1
- package/lib/node/factory/oracleClient.js +9 -21
- package/lib/node/idl/drift.d.ts +21407 -0
- package/lib/node/idl/drift.d.ts.map +1 -0
- package/lib/node/idl/drift.js +2 -0
- package/lib/node/idl/drift.json +20850 -15287
- package/lib/node/idl/pyth.d.ts +98 -0
- package/lib/node/idl/pyth.d.ts.map +1 -0
- package/lib/node/idl/pyth.js +2 -0
- package/lib/node/idl/token_faucet.d.ts +198 -0
- package/lib/node/idl/token_faucet.d.ts.map +1 -0
- package/lib/node/idl/token_faucet.js +2 -0
- package/lib/node/idl/token_faucet.json +148 -61
- package/lib/node/index.d.ts +13 -6
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +12 -5
- package/lib/node/marinade/index.d.ts +1 -1
- package/lib/node/marinade/index.d.ts.map +1 -1
- package/lib/node/marinade/index.js +2 -2
- package/lib/node/math/amm.d.ts +4 -5
- package/lib/node/math/amm.d.ts.map +1 -1
- package/lib/node/math/amm.js +8 -35
- package/lib/node/math/funding.d.ts.map +1 -1
- package/lib/node/math/funding.js +6 -1
- package/lib/node/math/margin.d.ts +3 -4
- package/lib/node/math/margin.d.ts.map +1 -1
- package/lib/node/math/margin.js +16 -47
- package/lib/node/math/market.d.ts +2 -2
- package/lib/node/math/market.d.ts.map +1 -1
- package/lib/node/math/market.js +10 -42
- package/lib/node/math/oracles.d.ts.map +1 -1
- package/lib/node/math/oracles.js +14 -19
- package/lib/node/math/position.d.ts.map +1 -1
- package/lib/node/math/position.js +1 -1
- package/lib/node/math/trade.d.ts.map +1 -1
- package/lib/node/math/trade.js +4 -4
- package/lib/node/memcmp.js +8 -8
- package/lib/node/openbook/openbookV2Subscriber.d.ts +1 -1
- package/lib/node/openbook/openbookV2Subscriber.d.ts.map +1 -1
- package/lib/node/openbook/openbookV2Subscriber.js +3 -3
- package/lib/node/oracles/oracleClientCache.d.ts +2 -2
- package/lib/node/oracles/oracleClientCache.d.ts.map +1 -1
- package/lib/node/oracles/prelaunchOracleClient.d.ts +2 -2
- package/lib/node/oracles/prelaunchOracleClient.d.ts.map +1 -1
- package/lib/node/oracles/prelaunchOracleClient.js +1 -1
- package/lib/node/oracles/pythLazerClient.d.ts.map +1 -1
- package/lib/node/oracles/pythLazerClient.js +3 -5
- package/lib/node/oracles/types.d.ts +6 -0
- package/lib/node/oracles/types.d.ts.map +1 -1
- package/lib/node/orderParams.d.ts +0 -1
- package/lib/node/orderParams.d.ts.map +1 -1
- package/lib/node/orderParams.js +1 -5
- package/lib/node/orderSubscriber/OrderSubscriber.d.ts.map +1 -1
- package/lib/node/orderSubscriber/OrderSubscriber.js +3 -4
- package/lib/node/orderSubscriber/WebsocketSubscription.js +1 -1
- package/lib/node/orderSubscriber/grpcSubscription.js +2 -2
- package/lib/node/orderSubscriber/index.d.ts +5 -0
- package/lib/node/orderSubscriber/index.d.ts.map +1 -1
- package/lib/node/orderSubscriber/index.js +5 -0
- package/lib/node/priorityFee/index.d.ts +5 -0
- package/lib/node/priorityFee/index.d.ts.map +1 -1
- package/lib/node/priorityFee/index.js +5 -0
- package/lib/node/pyth/index.d.ts +2 -2
- package/lib/node/pyth/index.d.ts.map +1 -1
- package/lib/node/pyth/types.d.ts +1 -1
- package/lib/node/pyth/types.d.ts.map +1 -1
- package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.js +1 -1
- package/lib/node/swift/index.d.ts +7 -0
- package/lib/node/swift/index.d.ts.map +1 -1
- package/lib/node/swift/index.js +7 -0
- package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/swift/signedMsgUserAccountSubscriber.js +4 -3
- package/lib/node/tokenFaucet.d.ts +2 -2
- package/lib/node/tokenFaucet.d.ts.map +1 -1
- package/lib/node/tokenFaucet.js +4 -4
- package/lib/node/tx/txHandler.d.ts +12 -0
- package/lib/node/tx/txHandler.d.ts.map +1 -1
- package/lib/node/tx/txHandler.js +12 -0
- package/lib/node/types.d.ts +19 -31
- package/lib/node/types.d.ts.map +1 -1
- package/lib/node/types.js +6 -11
- package/lib/node/user.d.ts +27 -18
- package/lib/node/user.d.ts.map +1 -1
- package/lib/node/user.js +64 -100
- package/lib/node/userMap/WebsocketSubscription.js +1 -1
- package/lib/node/userMap/grpcSubscription.js +1 -1
- package/lib/node/userMap/revenueShareEscrowMap.d.ts.map +1 -1
- package/lib/node/userMap/revenueShareEscrowMap.js +4 -4
- package/lib/node/userMap/userMap.d.ts.map +1 -1
- package/lib/node/userMap/userMap.js +4 -5
- package/lib/node/userMap/userStatsMap.d.ts.map +1 -1
- package/lib/node/userMap/userStatsMap.js +2 -3
- package/lib/node/userStats.d.ts +5 -0
- package/lib/node/userStats.d.ts.map +1 -1
- package/package.json +5 -7
- package/src/accounts/fetch.ts +18 -17
- package/src/accounts/grpcAccountSubscriber.ts +3 -3
- package/src/accounts/grpcDriftClientAccountSubscriber.ts +2 -3
- package/src/accounts/grpcDriftClientAccountSubscriberV2.ts +5 -6
- package/src/accounts/grpcInsuranceFundStakeAccountSubscriber.ts +2 -2
- package/src/accounts/grpcMultiAccountSubscriber.ts +4 -4
- package/src/accounts/grpcMultiUserAccountSubscriber.ts +4 -4
- package/src/accounts/grpcProgramAccountSubscriber.ts +3 -3
- package/src/accounts/grpcUserAccountSubscriber.ts +2 -2
- package/src/accounts/grpcUserStatsAccountSubscriber.ts +2 -2
- package/src/accounts/laserProgramAccountSubscriber.ts +3 -3
- package/src/accounts/oneShotUserAccountSubscriber.ts +6 -7
- package/src/accounts/oneShotUserStatsAccountSubscriber.ts +10 -9
- package/src/accounts/pollingDriftClientAccountSubscriber.ts +12 -11
- package/src/accounts/pollingInsuranceFundStakeAccountSubscriber.ts +11 -10
- package/src/accounts/pollingOracleAccountSubscriber.ts +2 -2
- package/src/accounts/pollingTokenAccountSubscriber.ts +2 -2
- package/src/accounts/pollingUserAccountSubscriber.ts +2 -2
- package/src/accounts/pollingUserStatsAccountSubscriber.ts +14 -14
- package/src/accounts/testBulkAccountLoader.ts +3 -5
- package/src/accounts/types.ts +10 -25
- package/src/accounts/webSocketAccountSubscriber.ts +5 -5
- package/src/accounts/webSocketAccountSubscriberV2.ts +4 -3
- package/src/accounts/webSocketDriftClientAccountSubscriber.ts +9 -10
- package/src/accounts/webSocketDriftClientAccountSubscriberV2.ts +13 -10
- package/src/accounts/webSocketInsuranceFundStakeAccountSubscriber.ts +3 -3
- package/src/accounts/webSocketProgramAccountSubscriber.ts +4 -3
- package/src/accounts/webSocketProgramAccountSubscriberV2.ts +4 -3
- package/src/accounts/webSocketProgramAccountsSubscriberV2.ts +4 -3
- package/src/accounts/webSocketUserAccountSubscriber.ts +3 -3
- package/src/accounts/webSocketUserStatsAccountSubsriber.ts +3 -3
- package/src/accounts/websocketProgramUserAccountSubscriber.ts +4 -4
- package/src/addresses/pda.ts +6 -22
- package/src/adminClient.ts +154 -239
- package/src/auctionSubscriber/auctionSubscriber.ts +5 -3
- package/src/auctionSubscriber/auctionSubscriberGrpc.ts +5 -3
- package/src/config.ts +24 -16
- package/src/constants/index.ts +5 -0
- package/src/constants/numericConstants.ts +2 -3
- package/src/constants/perpMarkets.ts +3 -445
- package/src/constants/spotMarkets.ts +7 -102
- package/src/constituentMap/constituentMap.ts +5 -6
- package/src/constituentMap/pollingConstituentAccountSubscriber.ts +3 -3
- package/src/constituentMap/webSocketConstituentAccountSubscriber.ts +6 -6
- package/src/decode/customCoder.ts +26 -35
- package/src/decode/user.ts +7 -25
- package/src/dlob/DLOB.ts +12 -0
- package/src/dlob/orderBookLevels.ts +0 -1
- package/src/driftClient.ts +245 -1091
- package/src/driftClientConfig.ts +7 -0
- package/src/events/eventSubscriber.ts +14 -2
- package/src/events/parse.ts +2 -2
- package/src/factory/oracleClient.ts +17 -28
- package/src/idl/drift.json +20850 -15287
- package/src/idl/drift.ts +21406 -0
- package/src/idl/pyth.ts +97 -0
- package/src/idl/token_faucet.json +148 -61
- package/src/idl/token_faucet.ts +197 -0
- package/src/index.ts +13 -12
- package/src/margin/README.md +0 -1
- package/src/marinade/index.ts +2 -2
- package/src/math/amm.ts +2 -48
- package/src/math/funding.ts +8 -3
- package/src/math/margin.ts +12 -67
- package/src/math/market.ts +15 -69
- package/src/math/oracles.ts +14 -30
- package/src/math/position.ts +0 -1
- package/src/math/trade.ts +0 -4
- package/src/memcmp.ts +1 -1
- package/src/openbook/openbookV2Subscriber.ts +1 -1
- package/src/oracles/oracleClientCache.ts +2 -2
- package/src/oracles/prelaunchOracleClient.ts +9 -8
- package/src/oracles/pythLazerClient.ts +10 -12
- package/src/oracles/types.ts +6 -0
- package/src/orderParams.ts +0 -5
- package/src/orderSubscriber/OrderSubscriber.ts +7 -6
- package/src/orderSubscriber/WebsocketSubscription.ts +1 -1
- package/src/orderSubscriber/grpcSubscription.ts +2 -2
- package/src/orderSubscriber/index.ts +5 -0
- package/src/priorityFee/index.ts +5 -0
- package/src/pyth/index.ts +4 -4
- package/src/pyth/types.ts +1 -1
- package/src/swift/grpcSignedMsgUserAccountSubscriber.ts +1 -1
- package/src/swift/index.ts +7 -0
- package/src/swift/signedMsgUserAccountSubscriber.ts +7 -4
- package/src/tokenFaucet.ts +8 -4
- package/src/tx/txHandler.ts +12 -0
- package/src/types.ts +16 -20
- package/src/user.ts +66 -144
- package/src/userMap/WebsocketSubscription.ts +1 -1
- package/src/userMap/grpcSubscription.ts +1 -1
- package/src/userMap/revenueShareEscrowMap.ts +24 -20
- package/src/userMap/userMap.ts +8 -7
- package/src/userMap/userStatsMap.ts +6 -5
- package/src/userStats.ts +5 -0
- package/tests/accounts/customizedCadenceBulkAccountLoader.test.ts +5 -4
- package/tests/amm/test.ts +45 -64
- package/tests/ci/verifyConstants.ts +23 -26
- package/tests/decode/test.ts +2 -4
- package/tests/dlob/helpers.ts +8 -15
- package/tests/user/helpers.ts +0 -2
- package/tests/user/marginCalculations.test.ts +2 -3
- package/tests/user/test.ts +18 -15
- package/lib/browser/accounts/pollingHighLeverageModeConfigAccountSubscriber.d.ts +0 -29
- package/lib/browser/accounts/pollingHighLeverageModeConfigAccountSubscriber.js +0 -111
- package/lib/browser/accounts/webSocketHighLeverageModeConfigAccountSubscriber.d.ts +0 -23
- package/lib/browser/accounts/webSocketHighLeverageModeConfigAccountSubscriber.js +0 -69
- package/lib/browser/idl/pyth_solana_receiver.json +0 -628
- package/lib/browser/idl/switchboard.json +0 -8354
- package/lib/browser/idl/switchboard_on_demand_30.json +0 -5849
- package/lib/browser/oracles/pythPullClient.d.ts +0 -19
- package/lib/browser/oracles/pythPullClient.js +0 -65
- package/lib/browser/oracles/switchboardClient.d.ts +0 -12
- package/lib/browser/oracles/switchboardClient.js +0 -40
- package/lib/browser/oracles/switchboardOnDemandClient.d.ts +0 -12
- package/lib/browser/oracles/switchboardOnDemandClient.js +0 -33
- package/lib/browser/util/pythOracleUtils.d.ts +0 -2
- package/lib/browser/util/pythOracleUtils.js +0 -15
- package/lib/node/accounts/pollingHighLeverageModeConfigAccountSubscriber.d.ts +0 -30
- package/lib/node/accounts/pollingHighLeverageModeConfigAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/pollingHighLeverageModeConfigAccountSubscriber.js +0 -111
- package/lib/node/accounts/webSocketHighLeverageModeConfigAccountSubscriber.d.ts +0 -24
- package/lib/node/accounts/webSocketHighLeverageModeConfigAccountSubscriber.d.ts.map +0 -1
- package/lib/node/accounts/webSocketHighLeverageModeConfigAccountSubscriber.js +0 -69
- package/lib/node/idl/pyth_solana_receiver.json +0 -628
- package/lib/node/idl/switchboard.json +0 -8354
- package/lib/node/idl/switchboard_on_demand_30.json +0 -5849
- package/lib/node/oracles/pythPullClient.d.ts +0 -20
- package/lib/node/oracles/pythPullClient.d.ts.map +0 -1
- package/lib/node/oracles/pythPullClient.js +0 -65
- package/lib/node/oracles/switchboardClient.d.ts +0 -13
- package/lib/node/oracles/switchboardClient.d.ts.map +0 -1
- package/lib/node/oracles/switchboardClient.js +0 -40
- package/lib/node/oracles/switchboardOnDemandClient.d.ts +0 -13
- package/lib/node/oracles/switchboardOnDemandClient.d.ts.map +0 -1
- package/lib/node/oracles/switchboardOnDemandClient.js +0 -33
- package/lib/node/util/pythOracleUtils.d.ts +0 -3
- package/lib/node/util/pythOracleUtils.d.ts.map +0 -1
- package/lib/node/util/pythOracleUtils.js +0 -15
- package/src/accounts/pollingHighLeverageModeConfigAccountSubscriber.ts +0 -189
- package/src/accounts/webSocketHighLeverageModeConfigAccountSubscriber.ts +0 -131
- package/src/idl/switchboard.json +0 -8354
- package/src/idl/switchboard_on_demand_30.json +0 -5849
- package/src/oracles/pythPullClient.ts +0 -112
- package/src/oracles/switchboardClient.ts +0 -77
- package/src/oracles/switchboardOnDemandClient.ts +0 -64
- package/src/util/pythOracleUtils.ts +0 -11
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { DataAndSlot, AccountSubscriber, UserAccountEvents, UserAccountSubscriber, ResubOpts } from './types';
|
|
3
|
-
import {
|
|
3
|
+
import { DriftProgram } from '../config';
|
|
4
4
|
import StrictEventEmitter from 'strict-event-emitter-types';
|
|
5
5
|
import { EventEmitter } from 'events';
|
|
6
6
|
import { Commitment, PublicKey } from '@solana/web3.js';
|
|
@@ -9,11 +9,11 @@ export declare class WebSocketUserAccountSubscriber implements UserAccountSubscr
|
|
|
9
9
|
isSubscribed: boolean;
|
|
10
10
|
resubOpts?: ResubOpts;
|
|
11
11
|
commitment?: Commitment;
|
|
12
|
-
program:
|
|
12
|
+
program: DriftProgram;
|
|
13
13
|
eventEmitter: StrictEventEmitter<EventEmitter, UserAccountEvents>;
|
|
14
14
|
userAccountPublicKey: PublicKey;
|
|
15
15
|
userDataAccountSubscriber: AccountSubscriber<UserAccount>;
|
|
16
|
-
constructor(program:
|
|
16
|
+
constructor(program: DriftProgram, userAccountPublicKey: PublicKey, resubOpts?: ResubOpts, commitment?: Commitment);
|
|
17
17
|
subscribe(userAccount?: UserAccount): Promise<boolean>;
|
|
18
18
|
fetch(): Promise<void>;
|
|
19
19
|
unsubscribe(): Promise<void>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { DataAndSlot, AccountSubscriber, UserStatsAccountSubscriber, UserStatsAccountEvents, ResubOpts } from './types';
|
|
3
|
-
import {
|
|
3
|
+
import { DriftProgram } from '../config';
|
|
4
4
|
import StrictEventEmitter from 'strict-event-emitter-types';
|
|
5
5
|
import { EventEmitter } from 'events';
|
|
6
6
|
import { Commitment, PublicKey } from '@solana/web3.js';
|
|
@@ -9,11 +9,11 @@ export declare class WebSocketUserStatsAccountSubscriber implements UserStatsAcc
|
|
|
9
9
|
isSubscribed: boolean;
|
|
10
10
|
resubOpts?: ResubOpts;
|
|
11
11
|
commitment?: Commitment;
|
|
12
|
-
program:
|
|
12
|
+
program: DriftProgram;
|
|
13
13
|
eventEmitter: StrictEventEmitter<EventEmitter, UserStatsAccountEvents>;
|
|
14
14
|
userStatsAccountPublicKey: PublicKey;
|
|
15
15
|
userStatsAccountSubscriber: AccountSubscriber<UserStatsAccount>;
|
|
16
|
-
constructor(program:
|
|
16
|
+
constructor(program: DriftProgram, userStatsAccountPublicKey: PublicKey, resubOpts?: ResubOpts, commitment?: Commitment);
|
|
17
17
|
subscribe(userStatsAccount?: UserStatsAccount): Promise<boolean>;
|
|
18
18
|
fetch(): Promise<void>;
|
|
19
19
|
unsubscribe(): Promise<void>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { DataAndSlot, UserAccountEvents, UserAccountSubscriber } from './types';
|
|
3
|
-
import {
|
|
3
|
+
import { DriftProgram } from '../config';
|
|
4
4
|
import StrictEventEmitter from 'strict-event-emitter-types';
|
|
5
5
|
import { EventEmitter } from 'events';
|
|
6
6
|
import { PublicKey } from '@solana/web3.js';
|
|
@@ -13,7 +13,7 @@ export declare class WebSocketProgramUserAccountSubscriber implements UserAccoun
|
|
|
13
13
|
private program;
|
|
14
14
|
private programSubscriber;
|
|
15
15
|
private userAccountAndSlot?;
|
|
16
|
-
constructor(program:
|
|
16
|
+
constructor(program: DriftProgram, userAccountPublicKey: PublicKey, programSubscriber: WebSocketProgramAccountSubscriber<UserAccount>);
|
|
17
17
|
subscribe(userAccount?: UserAccount): Promise<boolean>;
|
|
18
18
|
fetch(): Promise<void>;
|
|
19
19
|
updateData(userAccount: UserAccount, slot: number): void;
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
/// <reference types="bn.js" />
|
|
2
|
+
/**
|
|
3
|
+
* PDA derivation helpers for all Drift protocol accounts.
|
|
4
|
+
* Covers: User, UserStats, PerpMarket, SpotMarket, InsuranceFundStake,
|
|
5
|
+
* ProtectedMakerModeConfig, HighLeverageModeConfig, State, and vault PDAs.
|
|
6
|
+
* All functions are pure (no RPC calls).
|
|
7
|
+
*/
|
|
2
8
|
import { PublicKey } from '@solana/web3.js';
|
|
3
9
|
import { BN } from '@coral-xyz/anchor';
|
|
4
10
|
import { SpotMarketAccount } from '../types';
|
|
@@ -27,10 +33,8 @@ export declare function getOpenbookV2FulfillmentConfigPublicKey(programId: Publi
|
|
|
27
33
|
export declare function getReferrerNamePublicKeySync(programId: PublicKey, nameBuffer: number[]): PublicKey;
|
|
28
34
|
export declare function getProtocolIfSharesTransferConfigPublicKey(programId: PublicKey): PublicKey;
|
|
29
35
|
export declare function getPrelaunchOraclePublicKey(programId: PublicKey, marketIndex: number): PublicKey;
|
|
30
|
-
export declare function getPythPullOraclePublicKey(progarmId: PublicKey, feedId: Uint8Array): PublicKey;
|
|
31
36
|
export declare function getPythLazerOraclePublicKey(progarmId: PublicKey, feedId: number): PublicKey;
|
|
32
37
|
export declare function getTokenProgramForSpotMarket(spotMarketAccount: SpotMarketAccount): PublicKey;
|
|
33
|
-
export declare function getHighLeverageModeConfigPublicKey(programId: PublicKey): PublicKey;
|
|
34
38
|
export declare function getProtectedMakerModeConfigPublicKey(programId: PublicKey): PublicKey;
|
|
35
39
|
export declare function getIfRebalanceConfigPublicKey(programId: PublicKey, inMarketIndex: number, outMarketIndex: number): PublicKey;
|
|
36
40
|
export declare function getRevenueShareAccountPublicKey(programId: PublicKey, authority: PublicKey): PublicKey;
|
|
@@ -23,7 +23,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.getLpPoolTokenTokenAccountPublicKey = exports.getConstituentCorrelationsPublicKey = exports.getAmmCachePublicKey = exports.getConstituentVaultPublicKey = exports.getConstituentPublicKey = exports.getConstituentTargetBasePublicKey = exports.getAmmConstituentMappingPublicKey = exports.getLpPoolTokenVaultPublicKey = exports.getLpPoolPublicKey = exports.getRevenueShareEscrowAccountPublicKey = exports.getRevenueShareAccountPublicKey = exports.getIfRebalanceConfigPublicKey = exports.getProtectedMakerModeConfigPublicKey = exports.
|
|
26
|
+
exports.getLpPoolTokenTokenAccountPublicKey = exports.getConstituentCorrelationsPublicKey = exports.getAmmCachePublicKey = exports.getConstituentVaultPublicKey = exports.getConstituentPublicKey = exports.getConstituentTargetBasePublicKey = exports.getAmmConstituentMappingPublicKey = exports.getLpPoolTokenVaultPublicKey = exports.getLpPoolPublicKey = exports.getRevenueShareEscrowAccountPublicKey = exports.getRevenueShareAccountPublicKey = exports.getIfRebalanceConfigPublicKey = exports.getProtectedMakerModeConfigPublicKey = exports.getTokenProgramForSpotMarket = exports.getPythLazerOraclePublicKey = exports.getPrelaunchOraclePublicKey = exports.getProtocolIfSharesTransferConfigPublicKey = exports.getReferrerNamePublicKeySync = exports.getOpenbookV2FulfillmentConfigPublicKey = exports.getPhoenixFulfillmentConfigPublicKey = exports.getSerumFulfillmentConfigPublicKey = exports.getSerumSignerPublicKey = exports.getSerumOpenOrdersPublicKey = exports.getDriftSignerPublicKey = exports.getInsuranceFundStakeAccountPublicKey = exports.getInsuranceFundVaultPublicKey = exports.getSpotMarketVaultPublicKey = exports.getSpotMarketPublicKeySync = exports.getSpotMarketPublicKey = exports.getPerpMarketPublicKeySync = exports.getPerpMarketPublicKey = exports.getSignedMsgWsDelegatesAccountPublicKey = exports.getSignedMsgUserAccountPublicKey = exports.getFuelOverflowAccountPublicKey = exports.getUserStatsAccountPublicKey = exports.getUserAccountPublicKeySync = exports.getUserAccountPublicKey = exports.getUserAccountPublicKeyAndNonce = exports.getDriftStateAccountPublicKey = exports.getDriftStateAccountPublicKeyAndNonce = void 0;
|
|
27
|
+
/**
|
|
28
|
+
* PDA derivation helpers for all Drift protocol accounts.
|
|
29
|
+
* Covers: User, UserStats, PerpMarket, SpotMarket, InsuranceFundStake,
|
|
30
|
+
* ProtectedMakerModeConfig, HighLeverageModeConfig, State, and vault PDAs.
|
|
31
|
+
* All functions are pure (no RPC calls).
|
|
32
|
+
*/
|
|
27
33
|
const web3_js_1 = require("@solana/web3.js");
|
|
28
34
|
const anchor = __importStar(require("@coral-xyz/anchor"));
|
|
29
35
|
const anchor_1 = require("@coral-xyz/anchor");
|
|
@@ -189,13 +195,6 @@ function getPrelaunchOraclePublicKey(programId, marketIndex) {
|
|
|
189
195
|
], programId)[0];
|
|
190
196
|
}
|
|
191
197
|
exports.getPrelaunchOraclePublicKey = getPrelaunchOraclePublicKey;
|
|
192
|
-
function getPythPullOraclePublicKey(progarmId, feedId) {
|
|
193
|
-
return web3_js_1.PublicKey.findProgramAddressSync([
|
|
194
|
-
Buffer.from(anchor.utils.bytes.utf8.encode('pyth_pull')),
|
|
195
|
-
Buffer.from(feedId),
|
|
196
|
-
], progarmId)[0];
|
|
197
|
-
}
|
|
198
|
-
exports.getPythPullOraclePublicKey = getPythPullOraclePublicKey;
|
|
199
198
|
function getPythLazerOraclePublicKey(progarmId, feedId) {
|
|
200
199
|
const buffer = new ArrayBuffer(4);
|
|
201
200
|
const view = new DataView(buffer);
|
|
@@ -214,10 +213,6 @@ function getTokenProgramForSpotMarket(spotMarketAccount) {
|
|
|
214
213
|
return spl_token_1.TOKEN_PROGRAM_ID;
|
|
215
214
|
}
|
|
216
215
|
exports.getTokenProgramForSpotMarket = getTokenProgramForSpotMarket;
|
|
217
|
-
function getHighLeverageModeConfigPublicKey(programId) {
|
|
218
|
-
return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from(anchor.utils.bytes.utf8.encode('high_leverage_mode_config'))], programId)[0];
|
|
219
|
-
}
|
|
220
|
-
exports.getHighLeverageModeConfigPublicKey = getHighLeverageModeConfigPublicKey;
|
|
221
216
|
function getProtectedMakerModeConfigPublicKey(programId) {
|
|
222
217
|
return web3_js_1.PublicKey.findProgramAddressSync([
|
|
223
218
|
Buffer.from(anchor.utils.bytes.utf8.encode('protected_maker_mode_config')),
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
/// <reference types="bn.js" />
|
|
2
|
+
/**
|
|
3
|
+
* AdminClient — governance and protocol administration instruction builders.
|
|
4
|
+
* Extends {@link DriftClient}; all trading/keeper methods are also available.
|
|
5
|
+
*
|
|
6
|
+
* Covers: perp/spot market initialization and updates, oracle guard rail config,
|
|
7
|
+
* fee structure updates, insurance fund operations, vault management, IF rebalancing,
|
|
8
|
+
* pause/unpause exchange, and all ~126 admin instruction handlers in `instructions/admin.rs`.
|
|
9
|
+
*/
|
|
2
10
|
import { AddressLookupTableAccount, Keypair, PublicKey, TransactionInstruction, TransactionSignature } from '@solana/web3.js';
|
|
3
|
-
import { FeeStructure, OracleGuardRails, OracleSource, ExchangeStatus, MarketStatus, ContractTier, AssetTier, SpotFulfillmentConfigStatus, IfRebalanceConfigParams, TxParams, AddAmmConstituentMappingDatum, SwapReduceOnly, InitializeConstituentParams, ConstituentStatus, LPPoolAccount } from './types';
|
|
11
|
+
import { FeeStructure, OracleGuardRails, OracleSource, ExchangeStatus, MarketStatus, ContractTier, AssetTier, SpotFulfillmentConfigStatus, IfRebalanceConfigParams, TxParams, AddAmmConstituentMappingDatum, SwapReduceOnly, InitializeConstituentParams, ConstituentStatus, LPPoolAccount, TransferFeeAndPnlPoolDirection } from './types';
|
|
4
12
|
import { BN } from '@coral-xyz/anchor';
|
|
5
13
|
import { DriftClient } from './driftClient';
|
|
6
14
|
import { JupiterClient, QuoteResponse } from './jupiter/jupiterClient';
|
|
@@ -53,8 +61,6 @@ export declare class AdminClient extends DriftClient {
|
|
|
53
61
|
}): Promise<TransactionInstruction>;
|
|
54
62
|
resetAmmCache(txParams?: TxParams): Promise<TransactionSignature>;
|
|
55
63
|
getResetAmmCacheIx(): Promise<TransactionInstruction>;
|
|
56
|
-
initializePredictionMarket(perpMarketIndex: number): Promise<TransactionSignature>;
|
|
57
|
-
getInitializePredictionMarketIx(perpMarketIndex: number): Promise<TransactionInstruction>;
|
|
58
64
|
deleteInitializedPerpMarket(marketIndex: number): Promise<TransactionSignature>;
|
|
59
65
|
getDeleteInitializedPerpMarketIx(marketIndex: number): Promise<TransactionInstruction>;
|
|
60
66
|
moveAmmPrice(perpMarketIndex: number, baseAssetReserve: BN, quoteAssetReserve: BN, sqrtK?: BN): Promise<TransactionSignature>;
|
|
@@ -97,8 +103,6 @@ export declare class AdminClient extends DriftClient {
|
|
|
97
103
|
getUpdatePerpMarketTargetBaseAssetAmountPerLpIx(perpMarketIndex: number, targetBaseAssetAmountPerLP: number): Promise<TransactionInstruction>;
|
|
98
104
|
updatePerpMarketMarginRatio(perpMarketIndex: number, marginRatioInitial: number, marginRatioMaintenance: number): Promise<TransactionSignature>;
|
|
99
105
|
getUpdatePerpMarketMarginRatioIx(perpMarketIndex: number, marginRatioInitial: number, marginRatioMaintenance: number): Promise<TransactionInstruction>;
|
|
100
|
-
updatePerpMarketHighLeverageMarginRatio(perpMarketIndex: number, marginRatioInitial: number, marginRatioMaintenance: number): Promise<TransactionSignature>;
|
|
101
|
-
getUpdatePerpMarketHighLeverageMarginRatioIx(perpMarketIndex: number, marginRatioInitial: number, marginRatioMaintenance: number): Promise<TransactionInstruction>;
|
|
102
106
|
updatePerpMarketImfFactor(perpMarketIndex: number, imfFactor: number, unrealizedPnlImfFactor: number): Promise<TransactionSignature>;
|
|
103
107
|
getUpdatePerpMarketImfFactorIx(perpMarketIndex: number, imfFactor: number, unrealizedPnlImfFactor: number): Promise<TransactionInstruction>;
|
|
104
108
|
updatePerpMarketBaseSpread(perpMarketIndex: number, baseSpread: number): Promise<TransactionSignature>;
|
|
@@ -260,10 +264,6 @@ export declare class AdminClient extends DriftClient {
|
|
|
260
264
|
getResetFuelSeasonIx(fuelSweepExists: boolean, authority?: PublicKey): Promise<TransactionInstruction>;
|
|
261
265
|
initializePythLazerOracle(feedId: number): Promise<TransactionSignature>;
|
|
262
266
|
getInitializePythLazerOracleIx(feedId: number): Promise<TransactionInstruction>;
|
|
263
|
-
initializeHighLeverageModeConfig(maxUsers: number): Promise<TransactionSignature>;
|
|
264
|
-
getInitializeHighLeverageModeConfigIx(maxUsers: number): Promise<TransactionInstruction>;
|
|
265
|
-
updateUpdateHighLeverageModeConfig(maxUsers: number, reduceOnly: boolean, currentUsers?: number): Promise<TransactionSignature>;
|
|
266
|
-
getUpdateHighLeverageModeConfigIx(maxUsers: number, reduceOnly: boolean, currentUsers?: number): Promise<TransactionInstruction>;
|
|
267
267
|
initializeProtectedMakerModeConfig(maxUsers: number, stateAdmin?: boolean): Promise<TransactionSignature>;
|
|
268
268
|
getInitializeProtectedMakerModeConfigIx(maxUsers: number, stateAdmin?: boolean): Promise<TransactionInstruction>;
|
|
269
269
|
updateProtectedMakerModeConfig(maxUsers: number, reduceOnly: boolean, currentUsers: undefined): Promise<TransactionSignature>;
|
|
@@ -412,4 +412,6 @@ export declare class AdminClient extends DriftClient {
|
|
|
412
412
|
getMintLpWhitelistTokenIx(lpPool: LPPoolAccount, authority: PublicKey): Promise<TransactionInstruction[]>;
|
|
413
413
|
updatePerpMarketConfig(marketIndex: number, marketConfig: number): Promise<string>;
|
|
414
414
|
getUpdatePerpMarketConfigIx(marketIndex: number, marketConfig: number): Promise<TransactionInstruction>;
|
|
415
|
+
transferFeeAndPnlPool(perpMarketIndexWithFeePool: number, perpMarketIndexWithPnlPool: number, amount: BN, direction: TransferFeeAndPnlPoolDirection): Promise<TransactionSignature>;
|
|
416
|
+
getTransferFeeAndPnlPoolIx(perpMarketIndexWithFeePool: number, perpMarketIndexWithPnlPool: number, amount: BN, direction: TransferFeeAndPnlPoolDirection): Promise<TransactionInstruction>;
|
|
415
417
|
}
|
|
@@ -24,6 +24,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.AdminClient = void 0;
|
|
27
|
+
/**
|
|
28
|
+
* AdminClient — governance and protocol administration instruction builders.
|
|
29
|
+
* Extends {@link DriftClient}; all trading/keeper methods are also available.
|
|
30
|
+
*
|
|
31
|
+
* Covers: perp/spot market initialization and updates, oracle guard rail config,
|
|
32
|
+
* fee structure updates, insurance fund operations, vault management, IF rebalancing,
|
|
33
|
+
* pause/unpause exchange, and all ~126 admin instruction handlers in `instructions/admin.rs`.
|
|
34
|
+
*/
|
|
27
35
|
const web3_js_1 = require("@solana/web3.js");
|
|
28
36
|
const types_1 = require("./types");
|
|
29
37
|
const userName_1 = require("./userName");
|
|
@@ -241,7 +249,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
241
249
|
},
|
|
242
250
|
});
|
|
243
251
|
}
|
|
244
|
-
async initializePerpMarket(marketIndex, priceOracle, baseAssetReserve, quoteAssetReserve, periodicity, pegMultiplier = numericConstants_1.PEG_PRECISION, oracleSource = types_1.OracleSource.
|
|
252
|
+
async initializePerpMarket(marketIndex, priceOracle, baseAssetReserve, quoteAssetReserve, periodicity, pegMultiplier = numericConstants_1.PEG_PRECISION, oracleSource = types_1.OracleSource.PYTH_LAZER, contractTier = types_1.ContractTier.SPECULATIVE, marginRatioInitial = 2000, marginRatioMaintenance = 500, liquidatorFee = 0, ifLiquidatorFee = 10000, imfFactor = 0, activeStatus = true, baseSpread = 0, maxSpread = 142500, maxOpenInterest = numericConstants_1.ZERO, maxRevenueWithdrawPerPeriod = numericConstants_1.ZERO, quoteMaxInsurance = numericConstants_1.ZERO, orderStepSize = numericConstants_1.BASE_PRECISION.divn(10000), orderTickSize = numericConstants_1.PRICE_PRECISION.divn(100000), minOrderSize = numericConstants_1.BASE_PRECISION.divn(10000), concentrationCoefScale = numericConstants_1.ONE, curveUpdateIntensity = 0, ammJitIntensity = 0, name = userName_1.DEFAULT_MARKET_NAME, lpPoolId = 0) {
|
|
245
253
|
const currentPerpMarketIndex = this.getStateAccount().numberOfMarkets;
|
|
246
254
|
const initializeMarketIxs = await this.getInitializePerpMarketIx(marketIndex, priceOracle, baseAssetReserve, quoteAssetReserve, periodicity, pegMultiplier, oracleSource, contractTier, marginRatioInitial, marginRatioMaintenance, liquidatorFee, ifLiquidatorFee, imfFactor, activeStatus, baseSpread, maxSpread, maxOpenInterest, maxRevenueWithdrawPerPeriod, quoteMaxInsurance, orderStepSize, orderTickSize, minOrderSize, concentrationCoefScale, curveUpdateIntensity, ammJitIntensity, name, lpPoolId);
|
|
247
255
|
const tx = await this.buildTransaction(initializeMarketIxs);
|
|
@@ -257,7 +265,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
257
265
|
await this.accountSubscriber.setPerpOracleMap();
|
|
258
266
|
return txSig;
|
|
259
267
|
}
|
|
260
|
-
async getInitializePerpMarketIx(marketIndex, priceOracle, baseAssetReserve, quoteAssetReserve, periodicity, pegMultiplier = numericConstants_1.PEG_PRECISION, oracleSource = types_1.OracleSource.
|
|
268
|
+
async getInitializePerpMarketIx(marketIndex, priceOracle, baseAssetReserve, quoteAssetReserve, periodicity, pegMultiplier = numericConstants_1.PEG_PRECISION, oracleSource = types_1.OracleSource.PYTH_LAZER, contractTier = types_1.ContractTier.SPECULATIVE, marginRatioInitial = 2000, marginRatioMaintenance = 500, liquidatorFee = 0, ifLiquidatorFee = 10000, imfFactor = 0, activeStatus = true, baseSpread = 0, maxSpread = 142500, maxOpenInterest = numericConstants_1.ZERO, maxRevenueWithdrawPerPeriod = numericConstants_1.ZERO, quoteMaxInsurance = numericConstants_1.ZERO, orderStepSize = numericConstants_1.BASE_PRECISION.divn(10000), orderTickSize = numericConstants_1.PRICE_PRECISION.divn(100000), minOrderSize = numericConstants_1.BASE_PRECISION.divn(10000), concentrationCoefScale = numericConstants_1.ONE, curveUpdateIntensity = 0, ammJitIntensity = 0, name = userName_1.DEFAULT_MARKET_NAME, lpPoolId = 0) {
|
|
261
269
|
const perpMarketPublicKey = await (0, pda_1.getPerpMarketPublicKey)(this.program.programId, marketIndex);
|
|
262
270
|
const ixs = [];
|
|
263
271
|
const nameBuffer = (0, userName_1.encodeName)(name);
|
|
@@ -399,23 +407,6 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
399
407
|
},
|
|
400
408
|
});
|
|
401
409
|
}
|
|
402
|
-
async initializePredictionMarket(perpMarketIndex) {
|
|
403
|
-
const updatePerpMarketConcentrationCoefIx = await this.getInitializePredictionMarketIx(perpMarketIndex);
|
|
404
|
-
const tx = await this.buildTransaction(updatePerpMarketConcentrationCoefIx);
|
|
405
|
-
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
406
|
-
return txSig;
|
|
407
|
-
}
|
|
408
|
-
async getInitializePredictionMarketIx(perpMarketIndex) {
|
|
409
|
-
return await this.program.instruction.initializePredictionMarket({
|
|
410
|
-
accounts: {
|
|
411
|
-
state: await this.getStatePublicKey(),
|
|
412
|
-
admin: this.isSubscribed
|
|
413
|
-
? this.getStateAccount().admin
|
|
414
|
-
: this.wallet.publicKey,
|
|
415
|
-
perpMarket: await (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
|
|
416
|
-
},
|
|
417
|
-
});
|
|
418
|
-
}
|
|
419
410
|
async deleteInitializedPerpMarket(marketIndex) {
|
|
420
411
|
const deleteInitializeMarketIx = await this.getDeleteInitializedPerpMarketIx(marketIndex);
|
|
421
412
|
const tx = await this.buildTransaction(deleteInitializeMarketIx);
|
|
@@ -830,23 +821,6 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
830
821
|
},
|
|
831
822
|
});
|
|
832
823
|
}
|
|
833
|
-
async updatePerpMarketHighLeverageMarginRatio(perpMarketIndex, marginRatioInitial, marginRatioMaintenance) {
|
|
834
|
-
const updatePerpMarketHighLeverageMarginRatioIx = await this.getUpdatePerpMarketHighLeverageMarginRatioIx(perpMarketIndex, marginRatioInitial, marginRatioMaintenance);
|
|
835
|
-
const tx = await this.buildTransaction(updatePerpMarketHighLeverageMarginRatioIx);
|
|
836
|
-
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
837
|
-
return txSig;
|
|
838
|
-
}
|
|
839
|
-
async getUpdatePerpMarketHighLeverageMarginRatioIx(perpMarketIndex, marginRatioInitial, marginRatioMaintenance) {
|
|
840
|
-
return await this.program.instruction.updatePerpMarketHighLeverageMarginRatio(marginRatioInitial, marginRatioMaintenance, {
|
|
841
|
-
accounts: {
|
|
842
|
-
admin: this.isSubscribed
|
|
843
|
-
? this.getStateAccount().admin
|
|
844
|
-
: this.wallet.publicKey,
|
|
845
|
-
state: await this.getStatePublicKey(),
|
|
846
|
-
perpMarket: await (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
|
|
847
|
-
},
|
|
848
|
-
});
|
|
849
|
-
}
|
|
850
824
|
async updatePerpMarketImfFactor(perpMarketIndex, imfFactor, unrealizedPnlImfFactor) {
|
|
851
825
|
const updatePerpMarketImfFactorIx = await this.getUpdatePerpMarketImfFactorIx(perpMarketIndex, imfFactor, unrealizedPnlImfFactor);
|
|
852
826
|
const tx = await this.buildTransaction(updatePerpMarketImfFactorIx);
|
|
@@ -2254,42 +2228,6 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
2254
2228
|
},
|
|
2255
2229
|
});
|
|
2256
2230
|
}
|
|
2257
|
-
async initializeHighLeverageModeConfig(maxUsers) {
|
|
2258
|
-
const initializeHighLeverageModeConfigIx = await this.getInitializeHighLeverageModeConfigIx(maxUsers);
|
|
2259
|
-
const tx = await this.buildTransaction(initializeHighLeverageModeConfigIx);
|
|
2260
|
-
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
2261
|
-
return txSig;
|
|
2262
|
-
}
|
|
2263
|
-
async getInitializeHighLeverageModeConfigIx(maxUsers) {
|
|
2264
|
-
return await this.program.instruction.initializeHighLeverageModeConfig(maxUsers, {
|
|
2265
|
-
accounts: {
|
|
2266
|
-
admin: this.isSubscribed
|
|
2267
|
-
? this.getStateAccount().admin
|
|
2268
|
-
: this.wallet.publicKey,
|
|
2269
|
-
state: await this.getStatePublicKey(),
|
|
2270
|
-
rent: web3_js_1.SYSVAR_RENT_PUBKEY,
|
|
2271
|
-
systemProgram: anchor.web3.SystemProgram.programId,
|
|
2272
|
-
highLeverageModeConfig: (0, pda_1.getHighLeverageModeConfigPublicKey)(this.program.programId),
|
|
2273
|
-
},
|
|
2274
|
-
});
|
|
2275
|
-
}
|
|
2276
|
-
async updateUpdateHighLeverageModeConfig(maxUsers, reduceOnly, currentUsers) {
|
|
2277
|
-
const updateHighLeverageModeConfigIx = await this.getUpdateHighLeverageModeConfigIx(maxUsers, reduceOnly, currentUsers);
|
|
2278
|
-
const tx = await this.buildTransaction(updateHighLeverageModeConfigIx);
|
|
2279
|
-
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
2280
|
-
return txSig;
|
|
2281
|
-
}
|
|
2282
|
-
async getUpdateHighLeverageModeConfigIx(maxUsers, reduceOnly, currentUsers) {
|
|
2283
|
-
return await this.program.instruction.updateHighLeverageModeConfig(maxUsers, reduceOnly, currentUsers, {
|
|
2284
|
-
accounts: {
|
|
2285
|
-
admin: this.isSubscribed
|
|
2286
|
-
? this.getStateAccount().admin
|
|
2287
|
-
: this.wallet.publicKey,
|
|
2288
|
-
state: await this.getStatePublicKey(),
|
|
2289
|
-
highLeverageModeConfig: (0, pda_1.getHighLeverageModeConfigPublicKey)(this.program.programId),
|
|
2290
|
-
},
|
|
2291
|
-
});
|
|
2292
|
-
}
|
|
2293
2231
|
async initializeProtectedMakerModeConfig(maxUsers, stateAdmin) {
|
|
2294
2232
|
const initializeProtectedMakerModeConfigIx = await this.getInitializeProtectedMakerModeConfigIx(maxUsers, stateAdmin);
|
|
2295
2233
|
const tx = await this.buildTransaction(initializeProtectedMakerModeConfigIx);
|
|
@@ -3112,5 +3050,25 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
3112
3050
|
},
|
|
3113
3051
|
});
|
|
3114
3052
|
}
|
|
3053
|
+
async transferFeeAndPnlPool(perpMarketIndexWithFeePool, perpMarketIndexWithPnlPool, amount, direction) {
|
|
3054
|
+
const transferFeeAndPnlPoolIx = await this.getTransferFeeAndPnlPoolIx(perpMarketIndexWithFeePool, perpMarketIndexWithPnlPool, amount, direction);
|
|
3055
|
+
const tx = await this.buildTransaction(transferFeeAndPnlPoolIx);
|
|
3056
|
+
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
3057
|
+
return txSig;
|
|
3058
|
+
}
|
|
3059
|
+
async getTransferFeeAndPnlPoolIx(perpMarketIndexWithFeePool, perpMarketIndexWithPnlPool, amount, direction) {
|
|
3060
|
+
return await this.program.instruction.transferFeeAndPnlPool(amount, direction, {
|
|
3061
|
+
accounts: {
|
|
3062
|
+
admin: this.isSubscribed
|
|
3063
|
+
? this.getStateAccount().admin
|
|
3064
|
+
: this.wallet.publicKey,
|
|
3065
|
+
state: await this.getStatePublicKey(),
|
|
3066
|
+
perpMarketWithFeePool: await (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndexWithFeePool),
|
|
3067
|
+
perpMarketWithPnlPool: await (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndexWithPnlPool),
|
|
3068
|
+
spotMarket: this.getQuoteSpotMarketAccount().pubkey,
|
|
3069
|
+
spotMarketVault: this.getQuoteSpotMarketAccount().vault,
|
|
3070
|
+
},
|
|
3071
|
+
});
|
|
3072
|
+
}
|
|
3115
3073
|
}
|
|
3116
3074
|
exports.AdminClient = AdminClient;
|
|
@@ -13,7 +13,7 @@ class AuctionSubscriber {
|
|
|
13
13
|
}
|
|
14
14
|
async subscribe() {
|
|
15
15
|
if (!this.subscriber) {
|
|
16
|
-
this.subscriber = new webSocketProgramAccountSubscriber_1.WebSocketProgramAccountSubscriber('AuctionSubscriber', '
|
|
16
|
+
this.subscriber = new webSocketProgramAccountSubscriber_1.WebSocketProgramAccountSubscriber('AuctionSubscriber', 'user', this.driftClient.program, this.driftClient.program.account.user.coder.accounts.decode.bind(this.driftClient.program.account.user.coder.accounts), {
|
|
17
17
|
filters: [(0, memcmp_1.getUserFilter)(), (0, memcmp_1.getUserWithAuctionFilter)()],
|
|
18
18
|
commitment: this.opts.commitment,
|
|
19
19
|
}, this.resubOpts);
|
|
@@ -14,7 +14,7 @@ class AuctionSubscriberGrpc {
|
|
|
14
14
|
}
|
|
15
15
|
async subscribe() {
|
|
16
16
|
if (!this.subscriber) {
|
|
17
|
-
this.subscriber = await grpcProgramAccountSubscriber_1.grpcProgramAccountSubscriber.create(this.grpcConfigs, 'AuctionSubscriber', '
|
|
17
|
+
this.subscriber = await grpcProgramAccountSubscriber_1.grpcProgramAccountSubscriber.create(this.grpcConfigs, 'AuctionSubscriber', 'user', this.driftClient.program, this.driftClient.program.account.user.coder.accounts.decode.bind(this.driftClient.program.account.user.coder.accounts), {
|
|
18
18
|
filters: [(0, memcmp_1.getUserFilter)(), (0, memcmp_1.getUserWithAuctionFilter)()],
|
|
19
19
|
}, this.resubOpts);
|
|
20
20
|
}
|
package/lib/browser/config.d.ts
CHANGED
|
@@ -4,13 +4,15 @@ import { PerpMarketConfig } from './constants/perpMarkets';
|
|
|
4
4
|
import { SpotMarketConfig } from './constants/spotMarkets';
|
|
5
5
|
import { OracleInfo } from './oracles/types';
|
|
6
6
|
import { Program } from '@coral-xyz/anchor';
|
|
7
|
+
import { Drift } from './idl/drift';
|
|
8
|
+
export type DriftProgram = Program<Drift>;
|
|
7
9
|
type DriftConfig = {
|
|
8
10
|
ENV: DriftEnv;
|
|
9
11
|
PYTH_ORACLE_MAPPING_ADDRESS: string;
|
|
10
12
|
DRIFT_PROGRAM_ID: string;
|
|
11
13
|
JIT_PROXY_PROGRAM_ID?: string;
|
|
12
14
|
DRIFT_ORACLE_RECEIVER_ID: string;
|
|
13
|
-
|
|
15
|
+
QUOTE_MINT_ADDRESS: string;
|
|
14
16
|
SERUM_V3: string;
|
|
15
17
|
PHOENIX: string;
|
|
16
18
|
OPENBOOK: string;
|
|
@@ -21,13 +23,15 @@ type DriftConfig = {
|
|
|
21
23
|
MARKET_LOOKUP_TABLE: string;
|
|
22
24
|
MARKET_LOOKUP_TABLES: string[];
|
|
23
25
|
SERUM_LOOKUP_TABLE?: string;
|
|
24
|
-
PYTH_PULL_ORACLE_LOOKUP_TABLE?: string;
|
|
25
26
|
SB_ON_DEMAND_PID: PublicKey;
|
|
26
27
|
};
|
|
27
28
|
export type DriftEnv = 'devnet' | 'mainnet-beta';
|
|
28
29
|
export declare const DRIFT_PROGRAM_ID = "dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH";
|
|
30
|
+
export declare const DRIFT_DEVNET_PROGRAM_ID = "vELoC1audYbSYVRXn1vPaV8Axoa9oU6BYmNGZZBDZ1P";
|
|
29
31
|
export declare const DRIFT_ORACLE_RECEIVER_ID = "G6EoTTTgpkNBtVXo96EQp2m6uwwVh2Kt6YidjkmQqoha";
|
|
30
32
|
export declare const PTYH_LAZER_PROGRAM_ID = "pytd2yyk641x7ak7mkaasSJVXh6YYZnC7wTmtgAyxPt";
|
|
33
|
+
export declare const SB_ON_DEMAND_DEVNET_PID: PublicKey;
|
|
34
|
+
export declare const SB_ON_DEMAND_MAINNET_PID: PublicKey;
|
|
31
35
|
export declare const PYTH_LAZER_STORAGE_ACCOUNT_KEY: PublicKey;
|
|
32
36
|
export declare const DEFAULT_CONFIRMATION_OPTS: ConfirmOptions;
|
|
33
37
|
export declare const configs: {
|
|
@@ -50,7 +54,7 @@ export declare function getMarketsAndOraclesForSubscription(env: DriftEnv, perpM
|
|
|
50
54
|
spotMarketIndexes: number[];
|
|
51
55
|
oracleInfos: OracleInfo[];
|
|
52
56
|
};
|
|
53
|
-
export declare function findAllMarketAndOracles(program:
|
|
57
|
+
export declare function findAllMarketAndOracles(program: DriftProgram): Promise<{
|
|
54
58
|
perpMarketIndexes: number[];
|
|
55
59
|
perpMarketAccounts: PerpMarketAccount[];
|
|
56
60
|
spotMarketIndexes: number[];
|
package/lib/browser/config.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.findAllMarketAndOracles = exports.getMarketsAndOraclesForSubscription = exports.initialize = exports.getConfig = exports.configs = exports.DEFAULT_CONFIRMATION_OPTS = exports.PYTH_LAZER_STORAGE_ACCOUNT_KEY = exports.PTYH_LAZER_PROGRAM_ID = exports.DRIFT_ORACLE_RECEIVER_ID = exports.DRIFT_PROGRAM_ID = void 0;
|
|
3
|
+
exports.findAllMarketAndOracles = exports.getMarketsAndOraclesForSubscription = exports.initialize = exports.getConfig = exports.configs = exports.DEFAULT_CONFIRMATION_OPTS = exports.PYTH_LAZER_STORAGE_ACCOUNT_KEY = exports.SB_ON_DEMAND_MAINNET_PID = exports.SB_ON_DEMAND_DEVNET_PID = exports.PTYH_LAZER_PROGRAM_ID = exports.DRIFT_ORACLE_RECEIVER_ID = exports.DRIFT_DEVNET_PROGRAM_ID = exports.DRIFT_PROGRAM_ID = void 0;
|
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
|
5
5
|
const perpMarkets_1 = require("./constants/perpMarkets");
|
|
6
6
|
const spotMarkets_1 = require("./constants/spotMarkets");
|
|
7
|
-
const on_demand_1 = require("@switchboard-xyz/on-demand");
|
|
8
7
|
const oracleId_1 = require("./oracles/oracleId");
|
|
9
8
|
exports.DRIFT_PROGRAM_ID = 'dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH';
|
|
9
|
+
exports.DRIFT_DEVNET_PROGRAM_ID = 'vELoC1audYbSYVRXn1vPaV8Axoa9oU6BYmNGZZBDZ1P';
|
|
10
10
|
exports.DRIFT_ORACLE_RECEIVER_ID = 'G6EoTTTgpkNBtVXo96EQp2m6uwwVh2Kt6YidjkmQqoha';
|
|
11
11
|
exports.PTYH_LAZER_PROGRAM_ID = 'pytd2yyk641x7ak7mkaasSJVXh6YYZnC7wTmtgAyxPt';
|
|
12
|
+
exports.SB_ON_DEMAND_DEVNET_PID = new web3_js_1.PublicKey('Aio4gaXjXzJNVLtzwtNVmSqGKpANtXhybbkhtAC94ji2');
|
|
13
|
+
exports.SB_ON_DEMAND_MAINNET_PID = new web3_js_1.PublicKey('SBondMDrcV3K4kxZR1HNVT7osZxAHVHgYXL5Ze1oMUv');
|
|
12
14
|
exports.PYTH_LAZER_STORAGE_ACCOUNT_KEY = new web3_js_1.PublicKey('3rdJbqfnagQ4yx9HXJViD4zc4xpiSqmFsKpPuSCQVyQL');
|
|
13
15
|
exports.DEFAULT_CONFIRMATION_OPTS = {
|
|
14
16
|
preflightCommitment: 'confirmed',
|
|
@@ -18,9 +20,9 @@ exports.configs = {
|
|
|
18
20
|
devnet: {
|
|
19
21
|
ENV: 'devnet',
|
|
20
22
|
PYTH_ORACLE_MAPPING_ADDRESS: 'BmA9Z6FjioHJPpjT39QazZyhDRUdZy2ezwx4GiDdE2u2',
|
|
21
|
-
DRIFT_PROGRAM_ID: exports.
|
|
23
|
+
DRIFT_PROGRAM_ID: exports.DRIFT_DEVNET_PROGRAM_ID,
|
|
22
24
|
JIT_PROXY_PROGRAM_ID: 'J1TnP8zvVxbtF5KFp5xRmWuvG9McnhzmBd9XGfCyuxFP',
|
|
23
|
-
|
|
25
|
+
QUOTE_MINT_ADDRESS: '8FfvSRKMZRDHrCBy142XMUXrKEkXnxDQ4YmJv7xbAw8Q',
|
|
24
26
|
SERUM_V3: 'DESVgJVGajEgKGXhb6XmqDHGz3VjdgP7rEVESBgxmroY',
|
|
25
27
|
PHOENIX: 'PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY',
|
|
26
28
|
OPENBOOK: 'opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb',
|
|
@@ -31,14 +33,14 @@ exports.configs = {
|
|
|
31
33
|
MARKET_LOOKUP_TABLE: 'FaMS3U4uBojvGn5FSDEPimddcXsCfwkKsFgMVVnDdxGb',
|
|
32
34
|
MARKET_LOOKUP_TABLES: ['FaMS3U4uBojvGn5FSDEPimddcXsCfwkKsFgMVVnDdxGb'],
|
|
33
35
|
DRIFT_ORACLE_RECEIVER_ID: exports.DRIFT_ORACLE_RECEIVER_ID,
|
|
34
|
-
SB_ON_DEMAND_PID:
|
|
36
|
+
SB_ON_DEMAND_PID: exports.SB_ON_DEMAND_DEVNET_PID,
|
|
35
37
|
},
|
|
36
38
|
'mainnet-beta': {
|
|
37
39
|
ENV: 'mainnet-beta',
|
|
38
40
|
PYTH_ORACLE_MAPPING_ADDRESS: 'AHtgzX45WTKfkPG53L6WYhGEXwQkN1BVknET3sVsLL8J',
|
|
39
41
|
DRIFT_PROGRAM_ID: exports.DRIFT_PROGRAM_ID,
|
|
40
42
|
JIT_PROXY_PROGRAM_ID: 'J1TnP8zvVxbtF5KFp5xRmWuvG9McnhzmBd9XGfCyuxFP',
|
|
41
|
-
|
|
43
|
+
QUOTE_MINT_ADDRESS: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
|
|
42
44
|
SERUM_V3: 'srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX',
|
|
43
45
|
PHOENIX: 'PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY',
|
|
44
46
|
OPENBOOK: 'opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb',
|
|
@@ -53,7 +55,7 @@ exports.configs = {
|
|
|
53
55
|
],
|
|
54
56
|
SERUM_LOOKUP_TABLE: 'GPZkp76cJtNL2mphCvT6FXkJCVPpouidnacckR6rzKDN',
|
|
55
57
|
DRIFT_ORACLE_RECEIVER_ID: exports.DRIFT_ORACLE_RECEIVER_ID,
|
|
56
|
-
SB_ON_DEMAND_PID:
|
|
58
|
+
SB_ON_DEMAND_PID: exports.SB_ON_DEMAND_MAINNET_PID,
|
|
57
59
|
},
|
|
58
60
|
};
|
|
59
61
|
let currentConfig = exports.configs.devnet;
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Protocol constants: numeric precision bases, market indices, transaction size limits,
|
|
3
|
+
* insurance fund parameters, and perp/spot market config arrays.
|
|
4
|
+
* Import specific submodules to avoid pulling in unused market lists.
|
|
5
|
+
*/
|
|
1
6
|
export * from './insuranceFund';
|
|
2
7
|
export * from './numericConstants';
|
|
3
8
|
export * from './perpMarkets';
|
|
@@ -14,6 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
/**
|
|
18
|
+
* Protocol constants: numeric precision bases, market indices, transaction size limits,
|
|
19
|
+
* insurance fund parameters, and perp/spot market config arrays.
|
|
20
|
+
* Import specific submodules to avoid pulling in unused market lists.
|
|
21
|
+
*/
|
|
17
22
|
__exportStar(require("./insuranceFund"), exports);
|
|
18
23
|
__exportStar(require("./numericConstants"), exports);
|
|
19
24
|
__exportStar(require("./perpMarkets"), exports);
|
|
@@ -53,6 +53,7 @@ export declare const MARGIN_PRECISION: BN;
|
|
|
53
53
|
export declare const BID_ASK_SPREAD_PRECISION: BN;
|
|
54
54
|
export declare const LIQUIDATION_PCT_PRECISION: BN;
|
|
55
55
|
export declare const FUNDING_RATE_OFFSET_DENOMINATOR: BN;
|
|
56
|
+
export declare const FUNDING_RATE_CLAMP_DENOMINATOR: BN;
|
|
56
57
|
export declare const PRICE_TIMES_AMM_TO_QUOTE_PRECISION_RATIO: BN;
|
|
57
58
|
export declare const FIVE_MINUTE: BN;
|
|
58
59
|
export declare const ONE_HOUR: BN;
|
|
@@ -69,7 +70,6 @@ export declare const SLOT_TIME_ESTIMATE_MS = 400;
|
|
|
69
70
|
export declare const DUST_POSITION_SIZE: BN;
|
|
70
71
|
export declare const FUEL_WINDOW: BN;
|
|
71
72
|
export declare const FUEL_START_TS: BN;
|
|
72
|
-
export declare const MAX_PREDICTION_PRICE: BN;
|
|
73
73
|
export declare const GET_MULTIPLE_ACCOUNTS_CHUNK_SIZE = 99;
|
|
74
74
|
export declare const MAX_I64: BN;
|
|
75
75
|
export declare const MIN_I64: BN;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MARGIN_PRECISION = exports.AMM_TIMES_PEG_TO_QUOTE_PRECISION_RATIO = exports.PRICE_TO_QUOTE_PRECISION = exports.PRICE_DIV_PEG = exports.AMM_TO_QUOTE_PRECISION_RATIO = exports.BASE_PRECISION_EXP = exports.BASE_PRECISION = exports.AMM_RESERVE_PRECISION = exports.PEG_PRECISION = exports.FUNDING_RATE_BUFFER_PRECISION = exports.FUNDING_RATE_PRECISION = exports.PRICE_PRECISION = exports.QUOTE_PRECISION = exports.LIQUIDATION_FEE_PRECISION = exports.SPOT_MARKET_IMF_PRECISION = exports.SPOT_MARKET_IMF_PRECISION_EXP = exports.SPOT_MARKET_BALANCE_PRECISION = exports.SPOT_MARKET_BALANCE_PRECISION_EXP = exports.SPOT_MARKET_WEIGHT_PRECISION = exports.SPOT_MARKET_UTILIZATION_PRECISION = exports.SPOT_MARKET_UTILIZATION_PRECISION_EXP = exports.SPOT_MARKET_CUMULATIVE_INTEREST_PRECISION = exports.SPOT_MARKET_CUMULATIVE_INTEREST_PRECISION_EXP = exports.SPOT_MARKET_RATE_PRECISION = exports.SPOT_MARKET_RATE_PRECISION_EXP = exports.AMM_RESERVE_PRECISION_EXP = exports.PEG_PRECISION_EXP = exports.FUNDING_RATE_PRECISION_EXP = exports.PRICE_PRECISION_EXP = exports.FUNDING_RATE_BUFFER_PRECISION_EXP = exports.QUOTE_PRECISION_EXP = exports.CONCENTRATION_PRECISION = exports.PERCENTAGE_PRECISION = exports.PERCENTAGE_PRECISION_EXP = exports.MAX_LEVERAGE_ORDER_SIZE = exports.MAX_LEVERAGE = exports.TEN_MILLION = exports.BN_MAX = exports.TEN_THOUSAND = exports.TEN = exports.NINE = exports.EIGHT = exports.SEVEN = exports.SIX = exports.FIVE = exports.FOUR = exports.THREE = exports.TWO = exports.ONE = exports.ZERO = void 0;
|
|
4
|
-
exports.MIN_I64 = exports.MAX_I64 = exports.GET_MULTIPLE_ACCOUNTS_CHUNK_SIZE = exports.
|
|
4
|
+
exports.MIN_I64 = exports.MAX_I64 = exports.GET_MULTIPLE_ACCOUNTS_CHUNK_SIZE = exports.FUEL_START_TS = exports.FUEL_WINDOW = exports.DUST_POSITION_SIZE = exports.SLOT_TIME_ESTIMATE_MS = exports.IDLE_TIME_SLOTS = exports.ACCOUNT_AGE_DELETION_CUTOFF_SECONDS = exports.DEFAULT_REVENUE_SINCE_LAST_FUNDING_SPREAD_RETREAT = exports.OPEN_ORDER_MARGIN_REQUIREMENT = exports.LAMPORTS_EXP = exports.LAMPORTS_PRECISION = exports.GOV_SPOT_MARKET_INDEX = exports.QUOTE_SPOT_MARKET_INDEX = exports.ONE_YEAR = exports.ONE_HOUR = exports.FIVE_MINUTE = exports.PRICE_TIMES_AMM_TO_QUOTE_PRECISION_RATIO = exports.FUNDING_RATE_CLAMP_DENOMINATOR = exports.FUNDING_RATE_OFFSET_DENOMINATOR = exports.LIQUIDATION_PCT_PRECISION = exports.BID_ASK_SPREAD_PRECISION = void 0;
|
|
5
5
|
const web3_js_1 = require("@solana/web3.js");
|
|
6
6
|
const anchor_1 = require("@coral-xyz/anchor");
|
|
7
7
|
const bigNum_1 = require("../factory/bigNum");
|
|
@@ -57,7 +57,8 @@ exports.AMM_TIMES_PEG_TO_QUOTE_PRECISION_RATIO = exports.AMM_RESERVE_PRECISION.m
|
|
|
57
57
|
exports.MARGIN_PRECISION = exports.TEN_THOUSAND;
|
|
58
58
|
exports.BID_ASK_SPREAD_PRECISION = new anchor_1.BN(1000000); // 10^6
|
|
59
59
|
exports.LIQUIDATION_PCT_PRECISION = exports.TEN_THOUSAND;
|
|
60
|
-
exports.FUNDING_RATE_OFFSET_DENOMINATOR = new anchor_1.BN(
|
|
60
|
+
exports.FUNDING_RATE_OFFSET_DENOMINATOR = new anchor_1.BN(3333);
|
|
61
|
+
exports.FUNDING_RATE_CLAMP_DENOMINATOR = new anchor_1.BN(2000);
|
|
61
62
|
exports.PRICE_TIMES_AMM_TO_QUOTE_PRECISION_RATIO = exports.PRICE_PRECISION.mul(exports.AMM_TO_QUOTE_PRECISION_RATIO);
|
|
62
63
|
exports.FIVE_MINUTE = new anchor_1.BN(60 * 5);
|
|
63
64
|
exports.ONE_HOUR = new anchor_1.BN(60 * 60);
|
|
@@ -74,7 +75,6 @@ exports.SLOT_TIME_ESTIMATE_MS = 400;
|
|
|
74
75
|
exports.DUST_POSITION_SIZE = exports.QUOTE_PRECISION.divn(100); // Dust position is any position smaller than 1c
|
|
75
76
|
exports.FUEL_WINDOW = new anchor_1.BN(60 * 60 * 24 * 28); // 28 days
|
|
76
77
|
exports.FUEL_START_TS = new anchor_1.BN(1723147200); // unix timestamp
|
|
77
|
-
exports.MAX_PREDICTION_PRICE = exports.PRICE_PRECISION;
|
|
78
78
|
exports.GET_MULTIPLE_ACCOUNTS_CHUNK_SIZE = 99;
|
|
79
79
|
// integer constants
|
|
80
80
|
exports.MAX_I64 = bigNum_1.BigNum.fromPrint('9223372036854775807').val;
|