@velocity-exchange/sdk 0.3.0 → 0.6.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 +3 -3
- package/lib/browser/accounts/basicUserAccountSubscriber.d.ts +18 -0
- package/lib/browser/accounts/basicUserAccountSubscriber.js +18 -0
- package/lib/browser/accounts/basicUserStatsAccountSubscriber.d.ts +18 -0
- package/lib/browser/accounts/basicUserStatsAccountSubscriber.js +18 -0
- package/lib/browser/accounts/bulkAccountLoader.d.ts +52 -0
- package/lib/browser/accounts/bulkAccountLoader.js +51 -0
- package/lib/browser/accounts/bulkUserStatsSubscription.d.ts +9 -2
- package/lib/browser/accounts/bulkUserStatsSubscription.js +9 -2
- package/lib/browser/accounts/bulkUserSubscription.d.ts +8 -2
- package/lib/browser/accounts/bulkUserSubscription.js +8 -2
- package/lib/browser/accounts/customizedCadenceBulkAccountLoader.d.ts +37 -0
- package/lib/browser/accounts/customizedCadenceBulkAccountLoader.js +37 -0
- package/lib/browser/accounts/fetch.d.ts +59 -2
- package/lib/browser/accounts/fetch.js +57 -2
- package/lib/browser/accounts/grpcAccountSubscriber.d.ts +30 -0
- package/lib/browser/accounts/grpcAccountSubscriber.js +30 -0
- package/lib/browser/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts +16 -0
- package/lib/browser/accounts/grpcInsuranceFundStakeAccountSubscriber.js +16 -0
- package/lib/browser/accounts/grpcMultiAccountSubscriber.d.ts +60 -1
- package/lib/browser/accounts/grpcMultiAccountSubscriber.js +118 -37
- package/lib/browser/accounts/grpcMultiUserAccountSubscriber.d.ts +32 -0
- package/lib/browser/accounts/grpcMultiUserAccountSubscriber.js +40 -12
- package/lib/browser/accounts/grpcProgramAccountSubscriber.d.ts +33 -0
- package/lib/browser/accounts/grpcProgramAccountSubscriber.js +33 -0
- package/lib/browser/accounts/grpcUserAccountSubscriber.d.ts +15 -0
- package/lib/browser/accounts/grpcUserAccountSubscriber.js +15 -0
- package/lib/browser/accounts/grpcUserStatsAccountSubscriber.d.ts +15 -0
- package/lib/browser/accounts/grpcUserStatsAccountSubscriber.js +15 -0
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.d.ts +41 -0
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.js +41 -0
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +116 -0
- package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.js +152 -1
- package/lib/browser/accounts/laserProgramAccountSubscriber.d.ts +34 -0
- package/lib/browser/accounts/laserProgramAccountSubscriber.js +34 -0
- package/lib/browser/accounts/oneShotUserAccountSubscriber.d.ts +19 -0
- package/lib/browser/accounts/oneShotUserAccountSubscriber.js +19 -0
- package/lib/browser/accounts/oneShotUserStatsAccountSubscriber.d.ts +19 -0
- package/lib/browser/accounts/oneShotUserStatsAccountSubscriber.js +19 -0
- package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +31 -0
- package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.js +31 -0
- package/lib/browser/accounts/pollingOracleAccountSubscriber.d.ts +19 -0
- package/lib/browser/accounts/pollingOracleAccountSubscriber.js +21 -2
- package/lib/browser/accounts/pollingTokenAccountSubscriber.d.ts +22 -0
- package/lib/browser/accounts/pollingTokenAccountSubscriber.js +22 -0
- package/lib/browser/accounts/pollingUserAccountSubscriber.d.ts +32 -0
- package/lib/browser/accounts/pollingUserAccountSubscriber.js +32 -0
- package/lib/browser/accounts/pollingUserStatsAccountSubscriber.d.ts +22 -0
- package/lib/browser/accounts/pollingUserStatsAccountSubscriber.js +22 -0
- package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.d.ts +83 -0
- package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.js +84 -1
- package/lib/browser/accounts/testBulkAccountLoader.d.ts +8 -0
- package/lib/browser/accounts/testBulkAccountLoader.js +8 -0
- package/lib/browser/accounts/types.d.ts +149 -0
- package/lib/browser/accounts/types.js +13 -0
- package/lib/browser/accounts/utils.d.ts +18 -0
- package/lib/browser/accounts/utils.js +32 -16
- package/lib/browser/accounts/webSocketAccountSubscriber.d.ts +41 -0
- package/lib/browser/accounts/webSocketAccountSubscriber.js +41 -0
- package/lib/browser/accounts/webSocketAccountSubscriberV2.d.ts +31 -0
- package/lib/browser/accounts/webSocketAccountSubscriberV2.js +31 -23
- package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +27 -0
- package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +27 -0
- package/lib/browser/accounts/webSocketProgramAccountSubscriber.d.ts +36 -0
- package/lib/browser/accounts/webSocketProgramAccountSubscriber.js +36 -0
- package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.d.ts +21 -0
- package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.js +25 -0
- package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.d.ts +21 -0
- package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.js +21 -0
- package/lib/browser/accounts/webSocketUserAccountSubscriber.d.ts +26 -0
- package/lib/browser/accounts/webSocketUserAccountSubscriber.js +26 -0
- package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.d.ts +20 -0
- package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.js +20 -0
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.d.ts +121 -0
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.js +123 -2
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +96 -0
- package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.js +108 -0
- package/lib/browser/accounts/websocketProgramUserAccountSubscriber.d.ts +28 -0
- package/lib/browser/accounts/websocketProgramUserAccountSubscriber.js +33 -0
- package/lib/browser/addresses/marketAddresses.d.ts +10 -0
- package/lib/browser/addresses/marketAddresses.js +10 -0
- package/lib/browser/addresses/pda.d.ts +214 -2
- package/lib/browser/addresses/pda.js +217 -5
- package/lib/browser/adminClient.d.ts +2171 -4
- package/lib/browser/adminClient.js +2215 -4
- package/lib/browser/auctionSubscriber/auctionSubscriber.d.ts +15 -0
- package/lib/browser/auctionSubscriber/auctionSubscriber.js +15 -0
- package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.d.ts +19 -0
- package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.js +19 -0
- package/lib/browser/auctionSubscriber/index.d.ts +6 -0
- package/lib/browser/auctionSubscriber/index.js +6 -0
- package/lib/browser/auctionSubscriber/types.d.ts +7 -0
- package/lib/browser/blockhashSubscriber/BlockhashSubscriber.d.ts +33 -0
- package/lib/browser/blockhashSubscriber/BlockhashSubscriber.js +33 -0
- package/lib/browser/blockhashSubscriber/index.d.ts +5 -0
- package/lib/browser/blockhashSubscriber/index.js +5 -0
- package/lib/browser/blockhashSubscriber/types.d.ts +5 -0
- package/lib/browser/clock/clockSubscriber.d.ts +24 -0
- package/lib/browser/clock/clockSubscriber.js +22 -0
- package/lib/browser/config.d.ts +58 -4
- package/lib/browser/config.js +94 -28
- package/lib/browser/constants/numericConstants.d.ts +67 -0
- package/lib/browser/constants/numericConstants.js +68 -1
- package/lib/browser/constants/perpMarkets.d.ts +10 -0
- package/lib/browser/constants/perpMarkets.js +40 -908
- package/lib/browser/constants/spotMarkets.d.ts +13 -0
- package/lib/browser/constants/spotMarkets.js +16 -742
- package/lib/browser/constants/txConstants.d.ts +1 -0
- package/lib/browser/constants/txConstants.js +1 -0
- package/lib/browser/core/VelocityCore.d.ts +285 -8
- package/lib/browser/core/VelocityCore.js +281 -8
- package/lib/browser/core/instructions/deposit.d.ts +22 -0
- package/lib/browser/core/instructions/deposit.js +22 -0
- package/lib/browser/core/instructions/fill.d.ts +17 -0
- package/lib/browser/core/instructions/fill.js +17 -0
- package/lib/browser/core/instructions/funding.d.ts +12 -0
- package/lib/browser/core/instructions/funding.js +12 -0
- package/lib/browser/core/instructions/liquidation.d.ts +18 -0
- package/lib/browser/core/instructions/liquidation.js +18 -0
- package/lib/browser/core/instructions/orders.d.ts +28 -0
- package/lib/browser/core/instructions/orders.js +28 -0
- package/lib/browser/core/instructions/perpOrders.d.ts +106 -0
- package/lib/browser/core/instructions/perpOrders.js +106 -0
- package/lib/browser/core/instructions/settlement.d.ts +14 -0
- package/lib/browser/core/instructions/settlement.js +14 -0
- package/lib/browser/core/instructions/trigger.d.ts +15 -0
- package/lib/browser/core/instructions/trigger.js +15 -0
- package/lib/browser/core/instructions/withdraw.d.ts +21 -0
- package/lib/browser/core/instructions/withdraw.js +21 -0
- package/lib/browser/core/remainingAccounts.d.ts +47 -3
- package/lib/browser/core/remainingAccounts.js +20 -0
- package/lib/browser/core/signedMsg.d.ts +38 -0
- package/lib/browser/core/signedMsg.js +33 -0
- package/lib/browser/decode/customCoder.d.ts +39 -3
- package/lib/browser/decode/customCoder.js +45 -3
- package/lib/browser/decode/user.d.ts +22 -0
- package/lib/browser/decode/user.js +27 -1
- package/lib/browser/dlob/DLOB.d.ts +502 -53
- package/lib/browser/dlob/DLOB.js +540 -98
- package/lib/browser/dlob/DLOBNode.d.ts +86 -4
- package/lib/browser/dlob/DLOBNode.js +37 -4
- package/lib/browser/dlob/DLOBSubscriber.d.ts +39 -12
- package/lib/browser/dlob/DLOBSubscriber.js +42 -12
- package/lib/browser/dlob/NodeList.d.ts +69 -0
- package/lib/browser/dlob/NodeList.js +66 -0
- package/lib/browser/dlob/orderBookLevels.d.ts +106 -13
- package/lib/browser/dlob/orderBookLevels.js +84 -14
- package/lib/browser/dlob/types.d.ts +15 -0
- package/lib/browser/events/eventList.d.ts +14 -0
- package/lib/browser/events/eventList.js +14 -0
- package/lib/browser/events/eventSubscriber.d.ts +87 -10
- package/lib/browser/events/eventSubscriber.js +93 -8
- package/lib/browser/events/eventsServerLogProvider.d.ts +22 -0
- package/lib/browser/events/eventsServerLogProvider.js +27 -0
- package/lib/browser/events/fetchLogs.d.ts +31 -0
- package/lib/browser/events/fetchLogs.js +46 -1
- package/lib/browser/events/parse.d.ts +23 -0
- package/lib/browser/events/parse.js +23 -0
- package/lib/browser/events/pollingLogProvider.d.ts +24 -0
- package/lib/browser/events/pollingLogProvider.js +24 -0
- package/lib/browser/events/sort.d.ts +11 -0
- package/lib/browser/events/sort.js +12 -0
- package/lib/browser/events/txEventCache.d.ts +13 -3
- package/lib/browser/events/txEventCache.js +19 -7
- package/lib/browser/events/types.d.ts +118 -2
- package/lib/browser/events/types.js +11 -0
- package/lib/browser/events/webSocketLogProvider.d.ts +23 -0
- package/lib/browser/events/webSocketLogProvider.js +28 -0
- package/lib/browser/factory/oracleClient.js +2 -2
- package/lib/browser/idl/velocity.d.ts +150 -7
- package/lib/browser/idl/velocity.json +151 -8
- package/lib/browser/keypair.d.ts +8 -0
- package/lib/browser/keypair.js +8 -0
- package/lib/browser/marginCalculation.d.ts +134 -2
- package/lib/browser/marginCalculation.js +121 -0
- package/lib/browser/math/amm.d.ts +348 -29
- package/lib/browser/math/amm.js +310 -32
- package/lib/browser/math/auction.d.ts +95 -19
- package/lib/browser/math/auction.js +118 -28
- package/lib/browser/math/bankruptcy.d.ts +46 -0
- package/lib/browser/math/bankruptcy.js +89 -1
- package/lib/browser/math/builder.d.ts +64 -8
- package/lib/browser/math/builder.js +71 -9
- package/lib/browser/math/conversion.d.ts +21 -0
- package/lib/browser/math/conversion.js +21 -0
- package/lib/browser/math/exchangeStatus.d.ts +91 -0
- package/lib/browser/math/exchangeStatus.js +106 -3
- package/lib/browser/math/funding.d.ts +57 -20
- package/lib/browser/math/funding.js +63 -23
- package/lib/browser/math/insurance.d.ts +62 -0
- package/lib/browser/math/insurance.js +62 -0
- package/lib/browser/math/liquidation.d.ts +127 -11
- package/lib/browser/math/liquidation.js +182 -19
- package/lib/browser/math/margin.d.ts +79 -13
- package/lib/browser/math/margin.js +80 -14
- package/lib/browser/math/market.d.ts +135 -15
- package/lib/browser/math/market.js +145 -17
- package/lib/browser/math/oracles.d.ts +113 -0
- package/lib/browser/math/oracles.js +118 -1
- package/lib/browser/math/orders.d.ts +115 -10
- package/lib/browser/math/orders.js +130 -19
- package/lib/browser/math/position.d.ts +80 -33
- package/lib/browser/math/position.js +80 -33
- package/lib/browser/math/repeg.d.ts +48 -10
- package/lib/browser/math/repeg.js +48 -10
- package/lib/browser/math/spotBalance.d.ts +200 -5
- package/lib/browser/math/spotBalance.js +239 -10
- package/lib/browser/math/spotMarket.d.ts +36 -3
- package/lib/browser/math/spotMarket.js +36 -3
- package/lib/browser/math/spotPosition.d.ts +72 -0
- package/lib/browser/math/spotPosition.js +62 -0
- package/lib/browser/math/state.d.ts +31 -0
- package/lib/browser/math/state.js +31 -0
- package/lib/browser/math/superStake.d.ts +126 -2
- package/lib/browser/math/superStake.js +123 -3
- package/lib/browser/math/tiers.d.ts +29 -0
- package/lib/browser/math/tiers.js +29 -0
- package/lib/browser/math/trade.d.ts +102 -51
- package/lib/browser/math/trade.js +101 -55
- package/lib/browser/math/utils.d.ts +71 -9
- package/lib/browser/math/utils.js +71 -9
- package/lib/browser/memcmp.d.ts +94 -0
- package/lib/browser/memcmp.js +103 -2
- package/lib/browser/oracles/oracleClientCache.d.ts +16 -0
- package/lib/browser/oracles/oracleClientCache.js +16 -0
- package/lib/browser/oracles/oracleId.d.ts +31 -0
- package/lib/browser/oracles/oracleId.js +39 -8
- package/lib/browser/oracles/prelaunchOracleClient.d.ts +20 -0
- package/lib/browser/oracles/prelaunchOracleClient.js +20 -0
- package/lib/browser/oracles/pythClient.d.ts +31 -0
- package/lib/browser/oracles/pythClient.js +32 -1
- package/lib/browser/oracles/pythLazerClient.d.ts +34 -0
- package/lib/browser/oracles/pythLazerClient.js +35 -1
- package/lib/browser/oracles/quoteAssetOracleClient.d.ts +18 -0
- package/lib/browser/oracles/quoteAssetOracleClient.js +18 -0
- package/lib/browser/oracles/strictOraclePrice.d.ts +21 -0
- package/lib/browser/oracles/strictOraclePrice.js +21 -0
- package/lib/browser/oracles/types.d.ts +45 -0
- package/lib/browser/oracles/utils.d.ts +20 -0
- package/lib/browser/oracles/utils.js +20 -0
- package/lib/browser/orderParams.d.ts +42 -4
- package/lib/browser/orderParams.js +42 -4
- package/lib/browser/orderSubscriber/OrderSubscriber.d.ts +56 -0
- package/lib/browser/orderSubscriber/OrderSubscriber.js +59 -0
- package/lib/browser/orderSubscriber/PollingSubscription.d.ts +11 -0
- package/lib/browser/orderSubscriber/PollingSubscription.js +11 -0
- package/lib/browser/orderSubscriber/WebsocketSubscription.d.ts +18 -0
- package/lib/browser/orderSubscriber/WebsocketSubscription.js +18 -0
- package/lib/browser/orderSubscriber/grpcSubscription.d.ts +16 -0
- package/lib/browser/orderSubscriber/grpcSubscription.js +16 -0
- package/lib/browser/orderSubscriber/types.d.ts +9 -0
- package/lib/browser/priorityFee/averageOverSlotsStrategy.d.ts +1 -0
- package/lib/browser/priorityFee/averageOverSlotsStrategy.js +1 -0
- package/lib/browser/priorityFee/averageStrategy.d.ts +1 -0
- package/lib/browser/priorityFee/averageStrategy.js +1 -0
- package/lib/browser/priorityFee/ewmaStrategy.d.ts +10 -0
- package/lib/browser/priorityFee/ewmaStrategy.js +10 -0
- package/lib/browser/priorityFee/heliusPriorityFeeMethod.d.ts +13 -0
- package/lib/browser/priorityFee/heliusPriorityFeeMethod.js +9 -2
- package/lib/browser/priorityFee/maxOverSlotsStrategy.d.ts +1 -0
- package/lib/browser/priorityFee/maxOverSlotsStrategy.js +1 -0
- package/lib/browser/priorityFee/maxStrategy.d.ts +1 -0
- package/lib/browser/priorityFee/maxStrategy.js +1 -0
- package/lib/browser/priorityFee/priorityFeeSubscriber.d.ts +39 -0
- package/lib/browser/priorityFee/priorityFeeSubscriber.js +39 -0
- package/lib/browser/priorityFee/priorityFeeSubscriberMap.d.ts +20 -1
- package/lib/browser/priorityFee/priorityFeeSubscriberMap.js +21 -2
- package/lib/browser/priorityFee/solanaPriorityFeeMethod.d.ts +12 -0
- package/lib/browser/priorityFee/solanaPriorityFeeMethod.js +10 -0
- package/lib/browser/priorityFee/types.d.ts +32 -0
- package/lib/browser/priorityFee/types.js +5 -0
- package/lib/browser/priorityFee/velocityPriorityFeeMethod.d.ts +11 -0
- package/lib/browser/priorityFee/velocityPriorityFeeMethod.js +8 -0
- package/lib/browser/pyth/pythLazerSubscriber.js +37 -27
- package/lib/browser/slot/SlotSubscriber.d.ts +18 -0
- package/lib/browser/slot/SlotSubscriber.js +16 -0
- package/lib/browser/slot/SlothashSubscriber.d.ts +26 -0
- package/lib/browser/slot/SlothashSubscriber.js +25 -1
- package/lib/browser/tx/baseTxSender.d.ts +163 -0
- package/lib/browser/tx/baseTxSender.js +174 -6
- package/lib/browser/tx/blockhashFetcher/baseBlockhashFetcher.d.ts +12 -0
- package/lib/browser/tx/blockhashFetcher/baseBlockhashFetcher.js +12 -0
- package/lib/browser/tx/blockhashFetcher/cachedBlockhashFetcher.d.ts +15 -0
- package/lib/browser/tx/blockhashFetcher/cachedBlockhashFetcher.js +15 -0
- package/lib/browser/tx/blockhashFetcher/types.d.ts +4 -0
- package/lib/browser/tx/fastSingleTxSender.d.ts +47 -0
- package/lib/browser/tx/fastSingleTxSender.js +48 -1
- package/lib/browser/tx/forwardOnlyTxSender.d.ts +48 -0
- package/lib/browser/tx/forwardOnlyTxSender.js +48 -0
- package/lib/browser/tx/reportTransactionError.d.ts +18 -6
- package/lib/browser/tx/reportTransactionError.js +18 -6
- package/lib/browser/tx/retryTxSender.d.ts +40 -0
- package/lib/browser/tx/retryTxSender.js +39 -0
- package/lib/browser/tx/txHandler.d.ts +146 -35
- package/lib/browser/tx/txHandler.js +132 -32
- package/lib/browser/tx/txParamProcessor.d.ts +47 -0
- package/lib/browser/tx/txParamProcessor.js +47 -0
- package/lib/browser/tx/types.d.ts +46 -0
- package/lib/browser/tx/types.js +5 -0
- package/lib/browser/tx/utils.d.ts +26 -0
- package/lib/browser/tx/utils.js +26 -0
- package/lib/browser/tx/whileValidTxSender.d.ts +82 -0
- package/lib/browser/tx/whileValidTxSender.js +81 -0
- package/lib/browser/types.d.ts +785 -13
- package/lib/browser/types.js +126 -9
- package/lib/browser/user.d.ts +660 -84
- package/lib/browser/user.js +816 -97
- package/lib/browser/userMap/PollingSubscription.d.ts +10 -0
- package/lib/browser/userMap/PollingSubscription.js +14 -2
- package/lib/browser/userMap/WebsocketSubscription.d.ts +9 -0
- package/lib/browser/userMap/WebsocketSubscription.js +9 -0
- package/lib/browser/userMap/grpcSubscription.d.ts +8 -0
- package/lib/browser/userMap/grpcSubscription.js +8 -0
- package/lib/browser/userMap/referrerMap.d.ts +72 -2
- package/lib/browser/userMap/referrerMap.js +84 -2
- package/lib/browser/userMap/revenueShareEscrowMap.d.ts +37 -10
- package/lib/browser/userMap/revenueShareEscrowMap.js +38 -11
- package/lib/browser/userMap/userMap.d.ts +81 -3
- package/lib/browser/userMap/userMap.js +81 -4
- package/lib/browser/userMap/userMapConfig.d.ts +23 -0
- package/lib/browser/userMap/userStatsMap.d.ts +22 -0
- package/lib/browser/userMap/userStatsMap.js +22 -0
- package/lib/browser/userName.d.ts +16 -0
- package/lib/browser/userName.js +16 -0
- package/lib/browser/userStats.d.ts +28 -1
- package/lib/browser/userStats.js +28 -1
- package/lib/browser/util/TransactionConfirmationManager.d.ts +33 -0
- package/lib/browser/util/TransactionConfirmationManager.js +33 -0
- package/lib/browser/util/chainClock.d.ts +24 -0
- package/lib/browser/util/chainClock.js +20 -0
- package/lib/browser/util/computeUnits.d.ts +32 -0
- package/lib/browser/util/computeUnits.js +32 -0
- package/lib/browser/util/digest.d.ts +17 -0
- package/lib/browser/util/digest.js +17 -0
- package/lib/browser/util/ed25519Utils.d.ts +12 -2
- package/lib/browser/util/ed25519Utils.js +12 -2
- package/lib/browser/util/promiseTimeout.d.ts +9 -0
- package/lib/browser/util/promiseTimeout.js +9 -0
- package/lib/browser/velocityClient.d.ts +3363 -220
- package/lib/browser/velocityClient.js +3514 -275
- package/lib/browser/wallet.d.ts +37 -0
- package/lib/browser/wallet.js +37 -0
- package/lib/node/accounts/basicUserAccountSubscriber.d.ts +18 -0
- package/lib/node/accounts/basicUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/basicUserAccountSubscriber.js +18 -0
- package/lib/node/accounts/basicUserStatsAccountSubscriber.d.ts +18 -0
- package/lib/node/accounts/basicUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/basicUserStatsAccountSubscriber.js +18 -0
- package/lib/node/accounts/bulkAccountLoader.d.ts +52 -0
- package/lib/node/accounts/bulkAccountLoader.d.ts.map +1 -1
- package/lib/node/accounts/bulkAccountLoader.js +51 -0
- package/lib/node/accounts/bulkUserStatsSubscription.d.ts +9 -2
- package/lib/node/accounts/bulkUserStatsSubscription.d.ts.map +1 -1
- package/lib/node/accounts/bulkUserStatsSubscription.js +9 -2
- package/lib/node/accounts/bulkUserSubscription.d.ts +8 -2
- package/lib/node/accounts/bulkUserSubscription.d.ts.map +1 -1
- package/lib/node/accounts/bulkUserSubscription.js +8 -2
- package/lib/node/accounts/customizedCadenceBulkAccountLoader.d.ts +37 -0
- package/lib/node/accounts/customizedCadenceBulkAccountLoader.d.ts.map +1 -1
- package/lib/node/accounts/customizedCadenceBulkAccountLoader.js +37 -0
- package/lib/node/accounts/fetch.d.ts +59 -2
- package/lib/node/accounts/fetch.d.ts.map +1 -1
- package/lib/node/accounts/fetch.js +57 -2
- package/lib/node/accounts/grpcAccountSubscriber.d.ts +30 -0
- package/lib/node/accounts/grpcAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcAccountSubscriber.js +30 -0
- package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts +16 -0
- package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.js +16 -0
- package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts +60 -1
- package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcMultiAccountSubscriber.js +118 -37
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts +32 -0
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.js +40 -12
- package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts +33 -0
- package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcProgramAccountSubscriber.js +33 -0
- package/lib/node/accounts/grpcUserAccountSubscriber.d.ts +15 -0
- package/lib/node/accounts/grpcUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcUserAccountSubscriber.js +15 -0
- package/lib/node/accounts/grpcUserStatsAccountSubscriber.d.ts +15 -0
- package/lib/node/accounts/grpcUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcUserStatsAccountSubscriber.js +15 -0
- package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts +41 -0
- package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcVelocityClientAccountSubscriber.js +41 -0
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +116 -0
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.js +152 -1
- package/lib/node/accounts/laserProgramAccountSubscriber.d.ts +34 -0
- package/lib/node/accounts/laserProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/laserProgramAccountSubscriber.js +34 -0
- package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts +19 -0
- package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/oneShotUserAccountSubscriber.js +19 -0
- package/lib/node/accounts/oneShotUserStatsAccountSubscriber.d.ts +19 -0
- package/lib/node/accounts/oneShotUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/oneShotUserStatsAccountSubscriber.js +19 -0
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +31 -0
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.js +31 -0
- package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts +19 -0
- package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingOracleAccountSubscriber.js +21 -2
- package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts +22 -0
- package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingTokenAccountSubscriber.js +22 -0
- package/lib/node/accounts/pollingUserAccountSubscriber.d.ts +32 -0
- package/lib/node/accounts/pollingUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingUserAccountSubscriber.js +32 -0
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts +22 -0
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingUserStatsAccountSubscriber.js +22 -0
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts +83 -0
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/pollingVelocityClientAccountSubscriber.js +84 -1
- package/lib/node/accounts/testBulkAccountLoader.d.ts +8 -0
- package/lib/node/accounts/testBulkAccountLoader.d.ts.map +1 -1
- package/lib/node/accounts/testBulkAccountLoader.js +8 -0
- package/lib/node/accounts/types.d.ts +149 -0
- package/lib/node/accounts/types.d.ts.map +1 -1
- package/lib/node/accounts/types.js +13 -0
- package/lib/node/accounts/utils.d.ts +18 -0
- package/lib/node/accounts/utils.d.ts.map +1 -1
- package/lib/node/accounts/utils.js +32 -16
- package/lib/node/accounts/webSocketAccountSubscriber.d.ts +41 -0
- package/lib/node/accounts/webSocketAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketAccountSubscriber.js +41 -0
- package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts +31 -0
- package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketAccountSubscriberV2.js +31 -23
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +27 -0
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +27 -0
- package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts +36 -0
- package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriber.js +36 -0
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts +21 -0
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.js +25 -0
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts +21 -0
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.js +21 -0
- package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts +26 -0
- package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketUserAccountSubscriber.js +26 -0
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts +20 -0
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketUserStatsAccountSubsriber.js +20 -0
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts +121 -0
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.js +123 -2
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +96 -0
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.js +108 -0
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts +28 -0
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/websocketProgramUserAccountSubscriber.js +33 -0
- package/lib/node/addresses/marketAddresses.d.ts +10 -0
- package/lib/node/addresses/marketAddresses.d.ts.map +1 -1
- package/lib/node/addresses/marketAddresses.js +10 -0
- package/lib/node/addresses/pda.d.ts +214 -2
- package/lib/node/addresses/pda.d.ts.map +1 -1
- package/lib/node/addresses/pda.js +217 -5
- package/lib/node/adminClient.d.ts +2171 -4
- package/lib/node/adminClient.d.ts.map +1 -1
- package/lib/node/adminClient.js +2215 -4
- package/lib/node/auctionSubscriber/auctionSubscriber.d.ts +15 -0
- package/lib/node/auctionSubscriber/auctionSubscriber.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriber.js +15 -0
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts +19 -0
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +19 -0
- package/lib/node/auctionSubscriber/index.d.ts +6 -0
- package/lib/node/auctionSubscriber/index.d.ts.map +1 -1
- package/lib/node/auctionSubscriber/index.js +6 -0
- package/lib/node/auctionSubscriber/types.d.ts +7 -0
- package/lib/node/auctionSubscriber/types.d.ts.map +1 -1
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts +33 -0
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts.map +1 -1
- package/lib/node/blockhashSubscriber/BlockhashSubscriber.js +33 -0
- package/lib/node/blockhashSubscriber/index.d.ts +5 -0
- package/lib/node/blockhashSubscriber/index.d.ts.map +1 -1
- package/lib/node/blockhashSubscriber/index.js +5 -0
- package/lib/node/blockhashSubscriber/types.d.ts +5 -0
- package/lib/node/blockhashSubscriber/types.d.ts.map +1 -1
- package/lib/node/clock/clockSubscriber.d.ts +24 -0
- package/lib/node/clock/clockSubscriber.d.ts.map +1 -1
- package/lib/node/clock/clockSubscriber.js +22 -0
- package/lib/node/config.d.ts +58 -4
- package/lib/node/config.d.ts.map +1 -1
- package/lib/node/config.js +94 -28
- package/lib/node/constants/numericConstants.d.ts +67 -0
- package/lib/node/constants/numericConstants.d.ts.map +1 -1
- package/lib/node/constants/numericConstants.js +68 -1
- package/lib/node/constants/perpMarkets.d.ts +10 -0
- package/lib/node/constants/perpMarkets.d.ts.map +1 -1
- package/lib/node/constants/perpMarkets.js +40 -908
- package/lib/node/constants/spotMarkets.d.ts +13 -0
- package/lib/node/constants/spotMarkets.d.ts.map +1 -1
- package/lib/node/constants/spotMarkets.js +16 -742
- package/lib/node/constants/txConstants.d.ts +1 -0
- package/lib/node/constants/txConstants.d.ts.map +1 -1
- package/lib/node/constants/txConstants.js +1 -0
- package/lib/node/core/VelocityCore.d.ts +285 -8
- package/lib/node/core/VelocityCore.d.ts.map +1 -1
- package/lib/node/core/VelocityCore.js +281 -8
- package/lib/node/core/instructions/deposit.d.ts +22 -0
- package/lib/node/core/instructions/deposit.d.ts.map +1 -1
- package/lib/node/core/instructions/deposit.js +22 -0
- package/lib/node/core/instructions/fill.d.ts +17 -0
- package/lib/node/core/instructions/fill.d.ts.map +1 -1
- package/lib/node/core/instructions/fill.js +17 -0
- package/lib/node/core/instructions/funding.d.ts +12 -0
- package/lib/node/core/instructions/funding.d.ts.map +1 -1
- package/lib/node/core/instructions/funding.js +12 -0
- package/lib/node/core/instructions/liquidation.d.ts +18 -0
- package/lib/node/core/instructions/liquidation.d.ts.map +1 -1
- package/lib/node/core/instructions/liquidation.js +18 -0
- package/lib/node/core/instructions/orders.d.ts +28 -0
- package/lib/node/core/instructions/orders.d.ts.map +1 -1
- package/lib/node/core/instructions/orders.js +28 -0
- package/lib/node/core/instructions/perpOrders.d.ts +106 -0
- package/lib/node/core/instructions/perpOrders.d.ts.map +1 -1
- package/lib/node/core/instructions/perpOrders.js +106 -0
- package/lib/node/core/instructions/settlement.d.ts +14 -0
- package/lib/node/core/instructions/settlement.d.ts.map +1 -1
- package/lib/node/core/instructions/settlement.js +14 -0
- package/lib/node/core/instructions/trigger.d.ts +15 -0
- package/lib/node/core/instructions/trigger.d.ts.map +1 -1
- package/lib/node/core/instructions/trigger.js +15 -0
- package/lib/node/core/instructions/withdraw.d.ts +21 -0
- package/lib/node/core/instructions/withdraw.d.ts.map +1 -1
- package/lib/node/core/instructions/withdraw.js +21 -0
- package/lib/node/core/remainingAccounts.d.ts +47 -3
- package/lib/node/core/remainingAccounts.d.ts.map +1 -1
- package/lib/node/core/remainingAccounts.js +20 -0
- package/lib/node/core/signedMsg.d.ts +38 -0
- package/lib/node/core/signedMsg.d.ts.map +1 -1
- package/lib/node/core/signedMsg.js +33 -0
- package/lib/node/decode/customCoder.d.ts +39 -3
- package/lib/node/decode/customCoder.d.ts.map +1 -1
- package/lib/node/decode/customCoder.js +45 -3
- package/lib/node/decode/user.d.ts +22 -0
- package/lib/node/decode/user.d.ts.map +1 -1
- package/lib/node/decode/user.js +27 -1
- package/lib/node/dlob/DLOB.d.ts +502 -53
- package/lib/node/dlob/DLOB.d.ts.map +1 -1
- package/lib/node/dlob/DLOB.js +540 -98
- package/lib/node/dlob/DLOBNode.d.ts +86 -4
- package/lib/node/dlob/DLOBNode.d.ts.map +1 -1
- package/lib/node/dlob/DLOBNode.js +37 -4
- package/lib/node/dlob/DLOBSubscriber.d.ts +39 -12
- package/lib/node/dlob/DLOBSubscriber.d.ts.map +1 -1
- package/lib/node/dlob/DLOBSubscriber.js +42 -12
- package/lib/node/dlob/NodeList.d.ts +69 -0
- package/lib/node/dlob/NodeList.d.ts.map +1 -1
- package/lib/node/dlob/NodeList.js +66 -0
- package/lib/node/dlob/orderBookLevels.d.ts +106 -13
- package/lib/node/dlob/orderBookLevels.d.ts.map +1 -1
- package/lib/node/dlob/orderBookLevels.js +84 -14
- package/lib/node/dlob/types.d.ts +15 -0
- package/lib/node/dlob/types.d.ts.map +1 -1
- package/lib/node/events/eventList.d.ts +14 -0
- package/lib/node/events/eventList.d.ts.map +1 -1
- package/lib/node/events/eventList.js +14 -0
- package/lib/node/events/eventSubscriber.d.ts +87 -10
- package/lib/node/events/eventSubscriber.d.ts.map +1 -1
- package/lib/node/events/eventSubscriber.js +93 -8
- package/lib/node/events/eventsServerLogProvider.d.ts +22 -0
- package/lib/node/events/eventsServerLogProvider.d.ts.map +1 -1
- package/lib/node/events/eventsServerLogProvider.js +27 -0
- package/lib/node/events/fetchLogs.d.ts +31 -0
- package/lib/node/events/fetchLogs.d.ts.map +1 -1
- package/lib/node/events/fetchLogs.js +46 -1
- package/lib/node/events/parse.d.ts +23 -0
- package/lib/node/events/parse.d.ts.map +1 -1
- package/lib/node/events/parse.js +23 -0
- package/lib/node/events/pollingLogProvider.d.ts +24 -0
- package/lib/node/events/pollingLogProvider.d.ts.map +1 -1
- package/lib/node/events/pollingLogProvider.js +24 -0
- package/lib/node/events/sort.d.ts +11 -0
- package/lib/node/events/sort.d.ts.map +1 -1
- package/lib/node/events/sort.js +12 -0
- package/lib/node/events/txEventCache.d.ts +13 -3
- package/lib/node/events/txEventCache.d.ts.map +1 -1
- package/lib/node/events/txEventCache.js +19 -7
- package/lib/node/events/types.d.ts +118 -2
- package/lib/node/events/types.d.ts.map +1 -1
- package/lib/node/events/types.js +11 -0
- package/lib/node/events/webSocketLogProvider.d.ts +23 -0
- package/lib/node/events/webSocketLogProvider.d.ts.map +1 -1
- package/lib/node/events/webSocketLogProvider.js +28 -0
- package/lib/node/factory/oracleClient.js +2 -2
- package/lib/node/idl/velocity.d.ts +150 -7
- package/lib/node/idl/velocity.d.ts.map +1 -1
- package/lib/node/idl/velocity.json +151 -8
- package/lib/node/keypair.d.ts +8 -0
- package/lib/node/keypair.d.ts.map +1 -1
- package/lib/node/keypair.js +8 -0
- package/lib/node/marginCalculation.d.ts +134 -2
- package/lib/node/marginCalculation.d.ts.map +1 -1
- package/lib/node/marginCalculation.js +121 -0
- package/lib/node/math/amm.d.ts +348 -29
- package/lib/node/math/amm.d.ts.map +1 -1
- package/lib/node/math/amm.js +310 -32
- package/lib/node/math/auction.d.ts +95 -19
- package/lib/node/math/auction.d.ts.map +1 -1
- package/lib/node/math/auction.js +118 -28
- package/lib/node/math/bankruptcy.d.ts +46 -0
- package/lib/node/math/bankruptcy.d.ts.map +1 -1
- package/lib/node/math/bankruptcy.js +89 -1
- package/lib/node/math/builder.d.ts +64 -8
- package/lib/node/math/builder.d.ts.map +1 -1
- package/lib/node/math/builder.js +71 -9
- package/lib/node/math/conversion.d.ts +21 -0
- package/lib/node/math/conversion.d.ts.map +1 -1
- package/lib/node/math/conversion.js +21 -0
- package/lib/node/math/exchangeStatus.d.ts +91 -0
- package/lib/node/math/exchangeStatus.d.ts.map +1 -1
- package/lib/node/math/exchangeStatus.js +106 -3
- package/lib/node/math/funding.d.ts +57 -20
- package/lib/node/math/funding.d.ts.map +1 -1
- package/lib/node/math/funding.js +63 -23
- package/lib/node/math/insurance.d.ts +62 -0
- package/lib/node/math/insurance.d.ts.map +1 -1
- package/lib/node/math/insurance.js +62 -0
- package/lib/node/math/liquidation.d.ts +127 -11
- package/lib/node/math/liquidation.d.ts.map +1 -1
- package/lib/node/math/liquidation.js +182 -19
- package/lib/node/math/margin.d.ts +79 -13
- package/lib/node/math/margin.d.ts.map +1 -1
- package/lib/node/math/margin.js +80 -14
- package/lib/node/math/market.d.ts +135 -15
- package/lib/node/math/market.d.ts.map +1 -1
- package/lib/node/math/market.js +145 -17
- package/lib/node/math/oracles.d.ts +113 -0
- package/lib/node/math/oracles.d.ts.map +1 -1
- package/lib/node/math/oracles.js +118 -1
- package/lib/node/math/orders.d.ts +115 -10
- package/lib/node/math/orders.d.ts.map +1 -1
- package/lib/node/math/orders.js +130 -19
- package/lib/node/math/position.d.ts +80 -33
- package/lib/node/math/position.d.ts.map +1 -1
- package/lib/node/math/position.js +80 -33
- package/lib/node/math/repeg.d.ts +48 -10
- package/lib/node/math/repeg.d.ts.map +1 -1
- package/lib/node/math/repeg.js +48 -10
- package/lib/node/math/spotBalance.d.ts +200 -5
- package/lib/node/math/spotBalance.d.ts.map +1 -1
- package/lib/node/math/spotBalance.js +239 -10
- package/lib/node/math/spotMarket.d.ts +36 -3
- package/lib/node/math/spotMarket.d.ts.map +1 -1
- package/lib/node/math/spotMarket.js +36 -3
- package/lib/node/math/spotPosition.d.ts +72 -0
- package/lib/node/math/spotPosition.d.ts.map +1 -1
- package/lib/node/math/spotPosition.js +62 -0
- package/lib/node/math/state.d.ts +31 -0
- package/lib/node/math/state.d.ts.map +1 -1
- package/lib/node/math/state.js +31 -0
- package/lib/node/math/superStake.d.ts +126 -2
- package/lib/node/math/superStake.d.ts.map +1 -1
- package/lib/node/math/superStake.js +123 -3
- package/lib/node/math/tiers.d.ts +29 -0
- package/lib/node/math/tiers.d.ts.map +1 -1
- package/lib/node/math/tiers.js +29 -0
- package/lib/node/math/trade.d.ts +102 -51
- package/lib/node/math/trade.d.ts.map +1 -1
- package/lib/node/math/trade.js +101 -55
- package/lib/node/math/utils.d.ts +71 -9
- package/lib/node/math/utils.d.ts.map +1 -1
- package/lib/node/math/utils.js +71 -9
- package/lib/node/memcmp.d.ts +94 -0
- package/lib/node/memcmp.d.ts.map +1 -1
- package/lib/node/memcmp.js +103 -2
- package/lib/node/oracles/oracleClientCache.d.ts +16 -0
- package/lib/node/oracles/oracleClientCache.d.ts.map +1 -1
- package/lib/node/oracles/oracleClientCache.js +16 -0
- package/lib/node/oracles/oracleId.d.ts +31 -0
- package/lib/node/oracles/oracleId.d.ts.map +1 -1
- package/lib/node/oracles/oracleId.js +39 -8
- package/lib/node/oracles/prelaunchOracleClient.d.ts +20 -0
- package/lib/node/oracles/prelaunchOracleClient.d.ts.map +1 -1
- package/lib/node/oracles/prelaunchOracleClient.js +20 -0
- package/lib/node/oracles/pythClient.d.ts +31 -0
- package/lib/node/oracles/pythClient.d.ts.map +1 -1
- package/lib/node/oracles/pythClient.js +32 -1
- package/lib/node/oracles/pythLazerClient.d.ts +34 -0
- package/lib/node/oracles/pythLazerClient.d.ts.map +1 -1
- package/lib/node/oracles/pythLazerClient.js +35 -1
- package/lib/node/oracles/quoteAssetOracleClient.d.ts +18 -0
- package/lib/node/oracles/quoteAssetOracleClient.d.ts.map +1 -1
- package/lib/node/oracles/quoteAssetOracleClient.js +18 -0
- package/lib/node/oracles/strictOraclePrice.d.ts +21 -0
- package/lib/node/oracles/strictOraclePrice.d.ts.map +1 -1
- package/lib/node/oracles/strictOraclePrice.js +21 -0
- package/lib/node/oracles/types.d.ts +45 -0
- package/lib/node/oracles/types.d.ts.map +1 -1
- package/lib/node/oracles/utils.d.ts +20 -0
- package/lib/node/oracles/utils.d.ts.map +1 -1
- package/lib/node/oracles/utils.js +20 -0
- package/lib/node/orderParams.d.ts +42 -4
- package/lib/node/orderParams.d.ts.map +1 -1
- package/lib/node/orderParams.js +42 -4
- package/lib/node/orderSubscriber/OrderSubscriber.d.ts +56 -0
- package/lib/node/orderSubscriber/OrderSubscriber.d.ts.map +1 -1
- package/lib/node/orderSubscriber/OrderSubscriber.js +59 -0
- package/lib/node/orderSubscriber/PollingSubscription.d.ts +11 -0
- package/lib/node/orderSubscriber/PollingSubscription.d.ts.map +1 -1
- package/lib/node/orderSubscriber/PollingSubscription.js +11 -0
- package/lib/node/orderSubscriber/WebsocketSubscription.d.ts +18 -0
- package/lib/node/orderSubscriber/WebsocketSubscription.d.ts.map +1 -1
- package/lib/node/orderSubscriber/WebsocketSubscription.js +18 -0
- package/lib/node/orderSubscriber/grpcSubscription.d.ts +16 -0
- package/lib/node/orderSubscriber/grpcSubscription.d.ts.map +1 -1
- package/lib/node/orderSubscriber/grpcSubscription.js +16 -0
- package/lib/node/orderSubscriber/types.d.ts +9 -0
- package/lib/node/orderSubscriber/types.d.ts.map +1 -1
- package/lib/node/priorityFee/averageOverSlotsStrategy.d.ts +1 -0
- package/lib/node/priorityFee/averageOverSlotsStrategy.d.ts.map +1 -1
- package/lib/node/priorityFee/averageOverSlotsStrategy.js +1 -0
- package/lib/node/priorityFee/averageStrategy.d.ts +1 -0
- package/lib/node/priorityFee/averageStrategy.d.ts.map +1 -1
- package/lib/node/priorityFee/averageStrategy.js +1 -0
- package/lib/node/priorityFee/ewmaStrategy.d.ts +10 -0
- package/lib/node/priorityFee/ewmaStrategy.d.ts.map +1 -1
- package/lib/node/priorityFee/ewmaStrategy.js +10 -0
- package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts +13 -0
- package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts.map +1 -1
- package/lib/node/priorityFee/heliusPriorityFeeMethod.js +9 -2
- package/lib/node/priorityFee/maxOverSlotsStrategy.d.ts +1 -0
- package/lib/node/priorityFee/maxOverSlotsStrategy.d.ts.map +1 -1
- package/lib/node/priorityFee/maxOverSlotsStrategy.js +1 -0
- package/lib/node/priorityFee/maxStrategy.d.ts +1 -0
- package/lib/node/priorityFee/maxStrategy.d.ts.map +1 -1
- package/lib/node/priorityFee/maxStrategy.js +1 -0
- package/lib/node/priorityFee/priorityFeeSubscriber.d.ts +39 -0
- package/lib/node/priorityFee/priorityFeeSubscriber.d.ts.map +1 -1
- package/lib/node/priorityFee/priorityFeeSubscriber.js +39 -0
- package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts +20 -1
- package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts.map +1 -1
- package/lib/node/priorityFee/priorityFeeSubscriberMap.js +21 -2
- package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts +12 -0
- package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts.map +1 -1
- package/lib/node/priorityFee/solanaPriorityFeeMethod.js +10 -0
- package/lib/node/priorityFee/types.d.ts +32 -0
- package/lib/node/priorityFee/types.d.ts.map +1 -1
- package/lib/node/priorityFee/types.js +5 -0
- package/lib/node/priorityFee/velocityPriorityFeeMethod.d.ts +11 -0
- package/lib/node/priorityFee/velocityPriorityFeeMethod.d.ts.map +1 -1
- package/lib/node/priorityFee/velocityPriorityFeeMethod.js +8 -0
- package/lib/node/pyth/pythLazerSubscriber.d.ts.map +1 -1
- package/lib/node/pyth/pythLazerSubscriber.js +37 -27
- package/lib/node/slot/SlotSubscriber.d.ts +18 -0
- package/lib/node/slot/SlotSubscriber.d.ts.map +1 -1
- package/lib/node/slot/SlotSubscriber.js +16 -0
- package/lib/node/slot/SlothashSubscriber.d.ts +26 -0
- package/lib/node/slot/SlothashSubscriber.d.ts.map +1 -1
- package/lib/node/slot/SlothashSubscriber.js +25 -1
- package/lib/node/tx/baseTxSender.d.ts +163 -0
- package/lib/node/tx/baseTxSender.d.ts.map +1 -1
- package/lib/node/tx/baseTxSender.js +174 -6
- package/lib/node/tx/blockhashFetcher/baseBlockhashFetcher.d.ts +12 -0
- package/lib/node/tx/blockhashFetcher/baseBlockhashFetcher.d.ts.map +1 -1
- package/lib/node/tx/blockhashFetcher/baseBlockhashFetcher.js +12 -0
- package/lib/node/tx/blockhashFetcher/cachedBlockhashFetcher.d.ts +15 -0
- package/lib/node/tx/blockhashFetcher/cachedBlockhashFetcher.d.ts.map +1 -1
- package/lib/node/tx/blockhashFetcher/cachedBlockhashFetcher.js +15 -0
- package/lib/node/tx/blockhashFetcher/types.d.ts +4 -0
- package/lib/node/tx/blockhashFetcher/types.d.ts.map +1 -1
- package/lib/node/tx/fastSingleTxSender.d.ts +47 -0
- package/lib/node/tx/fastSingleTxSender.d.ts.map +1 -1
- package/lib/node/tx/fastSingleTxSender.js +48 -1
- package/lib/node/tx/forwardOnlyTxSender.d.ts +48 -0
- package/lib/node/tx/forwardOnlyTxSender.d.ts.map +1 -1
- package/lib/node/tx/forwardOnlyTxSender.js +48 -0
- package/lib/node/tx/reportTransactionError.d.ts +18 -6
- package/lib/node/tx/reportTransactionError.d.ts.map +1 -1
- package/lib/node/tx/reportTransactionError.js +18 -6
- package/lib/node/tx/retryTxSender.d.ts +40 -0
- package/lib/node/tx/retryTxSender.d.ts.map +1 -1
- package/lib/node/tx/retryTxSender.js +39 -0
- package/lib/node/tx/txHandler.d.ts +146 -35
- package/lib/node/tx/txHandler.d.ts.map +1 -1
- package/lib/node/tx/txHandler.js +132 -32
- package/lib/node/tx/txParamProcessor.d.ts +47 -0
- package/lib/node/tx/txParamProcessor.d.ts.map +1 -1
- package/lib/node/tx/txParamProcessor.js +47 -0
- package/lib/node/tx/types.d.ts +46 -0
- package/lib/node/tx/types.d.ts.map +1 -1
- package/lib/node/tx/types.js +5 -0
- package/lib/node/tx/utils.d.ts +26 -0
- package/lib/node/tx/utils.d.ts.map +1 -1
- package/lib/node/tx/utils.js +26 -0
- package/lib/node/tx/whileValidTxSender.d.ts +82 -0
- package/lib/node/tx/whileValidTxSender.d.ts.map +1 -1
- package/lib/node/tx/whileValidTxSender.js +81 -0
- package/lib/node/types.d.ts +785 -13
- package/lib/node/types.d.ts.map +1 -1
- package/lib/node/types.js +126 -9
- package/lib/node/user.d.ts +660 -84
- package/lib/node/user.d.ts.map +1 -1
- package/lib/node/user.js +816 -97
- package/lib/node/userMap/PollingSubscription.d.ts +10 -0
- package/lib/node/userMap/PollingSubscription.d.ts.map +1 -1
- package/lib/node/userMap/PollingSubscription.js +14 -2
- package/lib/node/userMap/WebsocketSubscription.d.ts +9 -0
- package/lib/node/userMap/WebsocketSubscription.d.ts.map +1 -1
- package/lib/node/userMap/WebsocketSubscription.js +9 -0
- package/lib/node/userMap/grpcSubscription.d.ts +8 -0
- package/lib/node/userMap/grpcSubscription.d.ts.map +1 -1
- package/lib/node/userMap/grpcSubscription.js +8 -0
- package/lib/node/userMap/referrerMap.d.ts +72 -2
- package/lib/node/userMap/referrerMap.d.ts.map +1 -1
- package/lib/node/userMap/referrerMap.js +84 -2
- package/lib/node/userMap/revenueShareEscrowMap.d.ts +37 -10
- package/lib/node/userMap/revenueShareEscrowMap.d.ts.map +1 -1
- package/lib/node/userMap/revenueShareEscrowMap.js +38 -11
- package/lib/node/userMap/userMap.d.ts +81 -3
- package/lib/node/userMap/userMap.d.ts.map +1 -1
- package/lib/node/userMap/userMap.js +81 -4
- package/lib/node/userMap/userMapConfig.d.ts +23 -0
- package/lib/node/userMap/userMapConfig.d.ts.map +1 -1
- package/lib/node/userMap/userStatsMap.d.ts +22 -0
- package/lib/node/userMap/userStatsMap.d.ts.map +1 -1
- package/lib/node/userMap/userStatsMap.js +22 -0
- package/lib/node/userName.d.ts +16 -0
- package/lib/node/userName.d.ts.map +1 -1
- package/lib/node/userName.js +16 -0
- package/lib/node/userStats.d.ts +28 -1
- package/lib/node/userStats.d.ts.map +1 -1
- package/lib/node/userStats.js +28 -1
- package/lib/node/util/TransactionConfirmationManager.d.ts +33 -0
- package/lib/node/util/TransactionConfirmationManager.d.ts.map +1 -1
- package/lib/node/util/TransactionConfirmationManager.js +33 -0
- package/lib/node/util/chainClock.d.ts +24 -0
- package/lib/node/util/chainClock.d.ts.map +1 -1
- package/lib/node/util/chainClock.js +20 -0
- package/lib/node/util/computeUnits.d.ts +32 -0
- package/lib/node/util/computeUnits.d.ts.map +1 -1
- package/lib/node/util/computeUnits.js +32 -0
- package/lib/node/util/digest.d.ts +17 -0
- package/lib/node/util/digest.d.ts.map +1 -1
- package/lib/node/util/digest.js +17 -0
- package/lib/node/util/ed25519Utils.d.ts +12 -2
- package/lib/node/util/ed25519Utils.d.ts.map +1 -1
- package/lib/node/util/ed25519Utils.js +12 -2
- package/lib/node/util/promiseTimeout.d.ts +9 -0
- package/lib/node/util/promiseTimeout.d.ts.map +1 -1
- package/lib/node/util/promiseTimeout.js +9 -0
- package/lib/node/velocityClient.d.ts +3363 -220
- package/lib/node/velocityClient.d.ts.map +1 -1
- package/lib/node/velocityClient.js +3514 -275
- package/lib/node/wallet.d.ts +37 -0
- package/lib/node/wallet.d.ts.map +1 -1
- package/lib/node/wallet.js +37 -0
- package/package.json +8 -3
- package/.prettierignore +0 -1
- package/CHANGELOG.md +0 -81
- package/build-browser.js +0 -58
- package/bunfig.toml +0 -3
- package/esbuild-shims.js +0 -12
- package/scripts/deposit-isolated-positions.ts +0 -110
- package/scripts/find-flagged-users.ts +0 -213
- package/scripts/grpc-client-test-comparison.ts +0 -372
- package/scripts/grpc-multiuser-client-test-comparison.ts +0 -158
- package/scripts/postbuild.js +0 -95
- package/scripts/single-grpc-client-test.ts +0 -284
- package/scripts/withdraw-isolated-positions.ts +0 -174
- package/src/accounts/README_WebSocketAccountSubscriberV2.md +0 -95
- package/src/accounts/README_WebSocketProgramAccountSubscriberV2.md +0 -135
- package/src/accounts/basicUserAccountSubscriber.ts +0 -61
- package/src/accounts/basicUserStatsAccountSubscriber.ts +0 -69
- package/src/accounts/bulkAccountLoader.ts +0 -306
- package/src/accounts/bulkUserStatsSubscription.ts +0 -33
- package/src/accounts/bulkUserSubscription.ts +0 -33
- package/src/accounts/customizedCadenceBulkAccountLoader.ts +0 -213
- package/src/accounts/fetch.ts +0 -143
- package/src/accounts/grpcAccountSubscriber.ts +0 -195
- package/src/accounts/grpcInsuranceFundStakeAccountSubscriber.ts +0 -57
- package/src/accounts/grpcMultiAccountSubscriber.ts +0 -483
- package/src/accounts/grpcMultiUserAccountSubscriber.ts +0 -290
- package/src/accounts/grpcProgramAccountSubscriber.ts +0 -231
- package/src/accounts/grpcUserAccountSubscriber.ts +0 -48
- package/src/accounts/grpcUserStatsAccountSubscriber.ts +0 -50
- package/src/accounts/grpcVelocityClientAccountSubscriber.ts +0 -216
- package/src/accounts/grpcVelocityClientAccountSubscriberV2.ts +0 -782
- package/src/accounts/laserProgramAccountSubscriber.ts +0 -232
- package/src/accounts/oneShotUserAccountSubscriber.ts +0 -69
- package/src/accounts/oneShotUserStatsAccountSubscriber.ts +0 -75
- package/src/accounts/pollingInsuranceFundStakeAccountSubscriber.ts +0 -192
- package/src/accounts/pollingOracleAccountSubscriber.ts +0 -132
- package/src/accounts/pollingTokenAccountSubscriber.ts +0 -125
- package/src/accounts/pollingUserAccountSubscriber.ts +0 -166
- package/src/accounts/pollingUserStatsAccountSubscriber.ts +0 -158
- package/src/accounts/pollingVelocityClientAccountSubscriber.ts +0 -691
- package/src/accounts/testBulkAccountLoader.ts +0 -51
- package/src/accounts/types.ts +0 -279
- package/src/accounts/utils.ts +0 -72
- package/src/accounts/webSocketAccountSubscriber.ts +0 -263
- package/src/accounts/webSocketAccountSubscriberV2.ts +0 -528
- package/src/accounts/webSocketInsuranceFundStakeAccountSubscriber.ts +0 -144
- package/src/accounts/webSocketProgramAccountSubscriber.ts +0 -208
- package/src/accounts/webSocketProgramAccountSubscriberV2.ts +0 -1022
- package/src/accounts/webSocketProgramAccountsSubscriberV2.ts +0 -1021
- package/src/accounts/webSocketUserAccountSubscriber.ts +0 -113
- package/src/accounts/webSocketUserStatsAccountSubsriber.ts +0 -111
- package/src/accounts/webSocketVelocityClientAccountSubscriber.ts +0 -740
- package/src/accounts/webSocketVelocityClientAccountSubscriberV2.ts +0 -787
- package/src/accounts/websocketProgramUserAccountSubscriber.ts +0 -94
- package/src/addresses/marketAddresses.ts +0 -18
- package/src/addresses/pda.ts +0 -404
- package/src/adminClient.ts +0 -5984
- package/src/assert/assert.ts +0 -5
- package/src/auctionSubscriber/auctionSubscriber.ts +0 -71
- package/src/auctionSubscriber/auctionSubscriberGrpc.ts +0 -80
- package/src/auctionSubscriber/index.ts +0 -3
- package/src/auctionSubscriber/types.ts +0 -23
- package/src/bankrun/bankrunConnection.ts +0 -630
- package/src/blockhashSubscriber/BlockhashSubscriber.ts +0 -127
- package/src/blockhashSubscriber/index.ts +0 -1
- package/src/blockhashSubscriber/types.ts +0 -12
- package/src/clock/clockSubscriber.ts +0 -122
- package/src/config.ts +0 -225
- package/src/constants/index.ts +0 -9
- package/src/constants/numericConstants.ts +0 -124
- package/src/constants/perpMarkets.ts +0 -1042
- package/src/constants/spotMarkets.ts +0 -874
- package/src/constants/txConstants.ts +0 -1
- package/src/constituentMap/constituentMap.ts +0 -305
- package/src/constituentMap/pollingConstituentAccountSubscriber.ts +0 -99
- package/src/constituentMap/webSocketConstituentAccountSubscriber.ts +0 -121
- package/src/core/VelocityCore.ts +0 -328
- package/src/core/index.ts +0 -12
- package/src/core/instructions/deposit.ts +0 -42
- package/src/core/instructions/fill.ts +0 -34
- package/src/core/instructions/funding.ts +0 -21
- package/src/core/instructions/liquidation.ts +0 -37
- package/src/core/instructions/orders.ts +0 -56
- package/src/core/instructions/perpOrders.ts +0 -206
- package/src/core/instructions/settlement.ts +0 -26
- package/src/core/instructions/trigger.ts +0 -26
- package/src/core/instructions/withdraw.ts +0 -44
- package/src/core/remainingAccounts.ts +0 -276
- package/src/core/signedMsg.ts +0 -71
- package/src/decode/customCoder.ts +0 -105
- package/src/decode/user.ts +0 -379
- package/src/dlob/DLOB.ts +0 -2222
- package/src/dlob/DLOBNode.ts +0 -213
- package/src/dlob/DLOBSubscriber.ts +0 -232
- package/src/dlob/NodeList.ts +0 -175
- package/src/dlob/orderBookLevels.ts +0 -601
- package/src/dlob/types.ts +0 -22
- package/src/events/eventList.ts +0 -100
- package/src/events/eventSubscriber.ts +0 -440
- package/src/events/eventsServerLogProvider.ts +0 -161
- package/src/events/fetchLogs.ts +0 -169
- package/src/events/parse.ts +0 -248
- package/src/events/pollingLogProvider.ts +0 -89
- package/src/events/sort.ts +0 -39
- package/src/events/txEventCache.ts +0 -80
- package/src/events/types.ts +0 -217
- package/src/events/webSocketLogProvider.ts +0 -123
- package/src/factory/bigNum.ts +0 -709
- package/src/factory/oracleClient.ts +0 -73
- package/src/idl/pyth.json +0 -142
- package/src/idl/pyth.ts +0 -97
- package/src/idl/pyth_solana_receiver.json +0 -628
- package/src/idl/token_faucet.json +0 -229
- package/src/idl/token_faucet.ts +0 -197
- package/src/idl/velocity.json +0 -23974
- package/src/idl/velocity.ts +0 -23980
- package/src/index.ts +0 -150
- package/src/indicative-quotes/indicativeQuotesSender.ts +0 -233
- package/src/isomorphic/README.md +0 -19
- package/src/isomorphic/anchor.browser.ts +0 -44
- package/src/isomorphic/anchor.node.ts +0 -1
- package/src/isomorphic/anchor.ts +0 -1
- package/src/isomorphic/anchor29.browser.ts +0 -24
- package/src/isomorphic/anchor29.node.ts +0 -1
- package/src/isomorphic/anchor29.ts +0 -1
- package/src/isomorphic/grpc.browser.ts +0 -4
- package/src/isomorphic/grpc.node.ts +0 -130
- package/src/isomorphic/grpc.ts +0 -1
- package/src/jupiter/jupiterClient.ts +0 -502
- package/src/keypair.ts +0 -24
- package/src/margin/README.md +0 -138
- package/src/marginCalculation.ts +0 -256
- package/src/marinade/idl/idl.json +0 -1962
- package/src/marinade/index.ts +0 -73
- package/src/marinade/types.ts +0 -3925
- package/src/math/amm.ts +0 -1423
- package/src/math/auction.ts +0 -371
- package/src/math/bankruptcy.ts +0 -35
- package/src/math/builder.ts +0 -64
- package/src/math/conversion.ts +0 -24
- package/src/math/exchangeStatus.ts +0 -146
- package/src/math/funding.ts +0 -458
- package/src/math/insurance.ts +0 -109
- package/src/math/liquidation.ts +0 -223
- package/src/math/margin.ts +0 -261
- package/src/math/market.ts +0 -356
- package/src/math/oracles.ts +0 -353
- package/src/math/orders.ts +0 -378
- package/src/math/position.ts +0 -334
- package/src/math/repeg.ts +0 -185
- package/src/math/spotBalance.ts +0 -756
- package/src/math/spotMarket.ts +0 -82
- package/src/math/spotPosition.ts +0 -191
- package/src/math/state.ts +0 -40
- package/src/math/superStake.ts +0 -479
- package/src/math/tiers.ts +0 -44
- package/src/math/trade.ts +0 -809
- package/src/math/utils.ts +0 -121
- package/src/memcmp.ts +0 -177
- package/src/oracles/oracleClientCache.ts +0 -25
- package/src/oracles/oracleId.ts +0 -66
- package/src/oracles/prelaunchOracleClient.ts +0 -43
- package/src/oracles/pythClient.ts +0 -94
- package/src/oracles/pythLazerClient.ts +0 -107
- package/src/oracles/quoteAssetOracleClient.ts +0 -25
- package/src/oracles/strictOraclePrice.ts +0 -19
- package/src/oracles/types.ts +0 -37
- package/src/oracles/utils.ts +0 -25
- package/src/orderParams.ts +0 -79
- package/src/orderSubscriber/OrderSubscriber.ts +0 -322
- package/src/orderSubscriber/PollingSubscription.ts +0 -39
- package/src/orderSubscriber/WebsocketSubscription.ts +0 -119
- package/src/orderSubscriber/grpcSubscription.ts +0 -139
- package/src/orderSubscriber/index.ts +0 -7
- package/src/orderSubscriber/types.ts +0 -55
- package/src/priorityFee/averageOverSlotsStrategy.ts +0 -16
- package/src/priorityFee/averageStrategy.ts +0 -12
- package/src/priorityFee/ewmaStrategy.ts +0 -41
- package/src/priorityFee/heliusPriorityFeeMethod.ts +0 -57
- package/src/priorityFee/index.ts +0 -16
- package/src/priorityFee/maxOverSlotsStrategy.ts +0 -17
- package/src/priorityFee/maxStrategy.ts +0 -7
- package/src/priorityFee/priorityFeeSubscriber.ts +0 -289
- package/src/priorityFee/priorityFeeSubscriberMap.ts +0 -115
- package/src/priorityFee/solanaPriorityFeeMethod.ts +0 -34
- package/src/priorityFee/types.ts +0 -64
- package/src/priorityFee/velocityPriorityFeeMethod.ts +0 -42
- package/src/pyth/constants.ts +0 -9
- package/src/pyth/index.ts +0 -15
- package/src/pyth/pythLazerSubscriber.ts +0 -365
- package/src/pyth/types.ts +0 -4451
- package/src/pyth/utils.ts +0 -13
- package/src/slot/SlotSubscriber.ts +0 -108
- package/src/slot/SlothashSubscriber.ts +0 -137
- package/src/swap/UnifiedSwapClient.ts +0 -315
- package/src/swift/grpcSignedMsgUserAccountSubscriber.ts +0 -81
- package/src/swift/index.ts +0 -10
- package/src/swift/signedMsgUserAccountSubscriber.ts +0 -251
- package/src/swift/swiftOrderSubscriber.ts +0 -351
- package/src/testClient.ts +0 -42
- package/src/titan/titanClient.ts +0 -438
- package/src/token/index.ts +0 -13
- package/src/tokenFaucet.ts +0 -296
- package/src/tx/baseTxSender.ts +0 -471
- package/src/tx/blockhashFetcher/baseBlockhashFetcher.ts +0 -19
- package/src/tx/blockhashFetcher/cachedBlockhashFetcher.ts +0 -90
- package/src/tx/blockhashFetcher/types.ts +0 -5
- package/src/tx/fastSingleTxSender.ts +0 -146
- package/src/tx/forwardOnlyTxSender.ts +0 -145
- package/src/tx/priorityFeeCalculator.ts +0 -117
- package/src/tx/reportTransactionError.ts +0 -164
- package/src/tx/retryTxSender.ts +0 -137
- package/src/tx/txHandler.ts +0 -898
- package/src/tx/txParamProcessor.ts +0 -178
- package/src/tx/types.ts +0 -71
- package/src/tx/utils.ts +0 -107
- package/src/tx/whileValidTxSender.ts +0 -295
- package/src/types.ts +0 -1822
- package/src/user.ts +0 -4557
- package/src/userConfig.ts +0 -38
- package/src/userMap/PollingSubscription.ts +0 -47
- package/src/userMap/WebsocketSubscription.ts +0 -84
- package/src/userMap/grpcSubscription.ts +0 -85
- package/src/userMap/referrerMap.ts +0 -271
- package/src/userMap/revenueShareEscrowMap.ts +0 -315
- package/src/userMap/userMap.ts +0 -706
- package/src/userMap/userMapConfig.ts +0 -69
- package/src/userMap/userStatsMap.ts +0 -371
- package/src/userName.ts +0 -21
- package/src/userStats.ts +0 -132
- package/src/userStatsConfig.ts +0 -35
- package/src/util/TransactionConfirmationManager.ts +0 -300
- package/src/util/chainClock.ts +0 -41
- package/src/util/computeUnits.ts +0 -69
- package/src/util/digest.ts +0 -16
- package/src/util/ed25519Utils.ts +0 -85
- package/src/util/promiseTimeout.ts +0 -14
- package/src/velocityClient.ts +0 -11612
- package/src/velocityClientConfig.ts +0 -119
- package/src/wallet.ts +0 -54
- package/tests/VelocityCore/decode.test.ts +0 -16
- package/tests/VelocityCore/fill_trigger.test.ts +0 -73
- package/tests/VelocityCore/instructions.test.ts +0 -46
- package/tests/VelocityCore/pdas.test.ts +0 -30
- package/tests/VelocityCore/perp_orders.test.ts +0 -205
- package/tests/VelocityCore/remainingAccounts.test.ts +0 -72
- package/tests/VelocityCore/settlement_liquidation.test.ts +0 -69
- package/tests/accounts/customizedCadenceBulkAccountLoader.test.ts +0 -211
- package/tests/amm/test.ts +0 -2300
- package/tests/auctions/test.ts +0 -81
- package/tests/bn/test.ts +0 -355
- package/tests/ci/verifyConstants.ts +0 -393
- package/tests/decode/test.ts +0 -262
- package/tests/decode/userAccountBufferStrings.ts +0 -102
- package/tests/dlob/helpers.ts +0 -748
- package/tests/dlob/test.ts +0 -6969
- package/tests/events/parseLogsForCuUsage.ts +0 -139
- package/tests/insurance/test.ts +0 -40
- package/tests/spot/test.ts +0 -226
- package/tests/tx/TransactionConfirmationManager.test.ts +0 -312
- package/tests/tx/cachedBlockhashFetcher.test.ts +0 -96
- package/tests/tx/priorityFeeCalculator.ts +0 -77
- package/tests/tx/priorityFeeStrategy.ts +0 -95
- package/tests/user/getMarginCalculation.ts +0 -361
- package/tests/user/helpers.ts +0 -184
- package/tests/user/liquidations.ts +0 -129
- package/tests/user/marginCalculations.test.ts +0 -321
- package/tests/user/test.ts +0 -829
- package/tsconfig.browser.json +0 -18
- package/tsconfig.json +0 -36
|
@@ -1,29 +1,59 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isBuilderOrderAvailable = exports.isBuilderOrderReferral = exports.isBuilderOrderCompleted = exports.isBuilderOrderOpen = exports.hasBuilderParams = exports.escrowHasReferrer = exports.isBuilderReferral = void 0;
|
|
3
|
+
exports.isBuilderOrderAvailable = exports.isBuilderOrderReferral = exports.isBuilderOrderCompleted = exports.isBuilderOrderOpen = exports.hasBuilderParams = exports.escrowHasReferrer = exports.isBuilderReferral = exports.calculateBuilderFee = void 0;
|
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const anchor_1 = require("../isomorphic/anchor");
|
|
5
6
|
const types_1 = require("../types");
|
|
7
|
+
const BUILDER_FEE_TENTH_BPS_DENOMINATOR = new anchor_1.BN(100000);
|
|
6
8
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
9
|
+
* Calculates the builder fee charged on top of the tiered taker/maker fee, mirroring the
|
|
10
|
+
* program's builder-fee calc. `builderFeeTenthBps` is denominated in tenth-basis-points, i.e.
|
|
11
|
+
* `10 * builderFeeTenthBps == 1 bp == 0.01%` — the fee fraction is `builderFeeTenthBps / 100_000`.
|
|
12
|
+
*
|
|
13
|
+
* @param {BN} quoteAssetAmount - The fill's quote asset amount the fee is charged against,
|
|
14
|
+
* QUOTE_PRECISION (1e6)
|
|
15
|
+
* @param {number} builderFeeTenthBps - The builder fee rate, in tenth-bps (`OrderParams.builderFeeTenthBps`)
|
|
16
|
+
* @return {BN} The builder fee, QUOTE_PRECISION (1e6)
|
|
17
|
+
*/
|
|
18
|
+
function calculateBuilderFee(quoteAssetAmount, builderFeeTenthBps) {
|
|
19
|
+
return quoteAssetAmount
|
|
20
|
+
.mul(new anchor_1.BN(builderFeeTenthBps))
|
|
21
|
+
.div(BUILDER_FEE_TENTH_BPS_DENOMINATOR);
|
|
22
|
+
}
|
|
23
|
+
exports.calculateBuilderFee = calculateBuilderFee;
|
|
24
|
+
/**
|
|
25
|
+
* True when the user's `RevenueShareEscrow` was initialized with a referrer.
|
|
26
|
+
*
|
|
27
|
+
* @param {Pick<UserStatsAccount, 'referrerStatus'>} userStats - The user's stats account (or a
|
|
28
|
+
* pick containing just `referrerStatus`)
|
|
29
|
+
* @return {boolean} Whether `ReferrerStatus.BuilderReferral` is set in `referrerStatus`. When
|
|
30
|
+
* true, fills for this user must include the escrow account as a remaining account or the
|
|
31
|
+
* program rejects them with `UnableToLoadRevenueShareAccount`
|
|
10
32
|
*/
|
|
11
33
|
function isBuilderReferral(userStats) {
|
|
12
34
|
return (userStats.referrerStatus & types_1.ReferrerStatus.BuilderReferral) !== 0;
|
|
13
35
|
}
|
|
14
36
|
exports.isBuilderReferral = isBuilderReferral;
|
|
15
37
|
/**
|
|
16
|
-
* True when the escrow was initialized with a referrer
|
|
17
|
-
*
|
|
18
|
-
*
|
|
38
|
+
* True when the escrow was initialized with a referrer (its `referrer` field is not the default
|
|
39
|
+
* pubkey).
|
|
40
|
+
*
|
|
41
|
+
* @param {Pick<RevenueShareEscrowAccount, 'referrer'>} escrow - The revenue share escrow account
|
|
42
|
+
* (or a pick containing just `referrer`)
|
|
43
|
+
* @return {boolean} Whether `escrow.referrer` is set. Referral rewards accrue into such escrows on
|
|
44
|
+
* fills, so fills of the escrow owner's orders must include the escrow account (see `isBuilderReferral`)
|
|
19
45
|
*/
|
|
20
46
|
function escrowHasReferrer(escrow) {
|
|
21
47
|
return !escrow.referrer.equals(web3_js_1.PublicKey.default);
|
|
22
48
|
}
|
|
23
49
|
exports.escrowHasReferrer = escrowHasReferrer;
|
|
24
50
|
/**
|
|
25
|
-
* True when the order params carry a builder code (`builderIdx`
|
|
26
|
-
* `
|
|
51
|
+
* True when the order params carry a builder code (both `builderIdx` and `builderFeeTenthBps`
|
|
52
|
+
* are set, i.e. neither `null` nor `undefined`).
|
|
53
|
+
*
|
|
54
|
+
* @param {Pick<OrderParams, 'builderIdx' | 'builderFeeTenthBps'>} orderParams - The order params
|
|
55
|
+
* (or a pick containing just the builder fields)
|
|
56
|
+
* @return {boolean} Whether both builder fields are present
|
|
27
57
|
*/
|
|
28
58
|
function hasBuilderParams(orderParams) {
|
|
29
59
|
return (orderParams.builderIdx !== null &&
|
|
@@ -33,20 +63,52 @@ function hasBuilderParams(orderParams) {
|
|
|
33
63
|
}
|
|
34
64
|
exports.hasBuilderParams = hasBuilderParams;
|
|
35
65
|
const FLAG_IS_OPEN = 0x01;
|
|
66
|
+
/**
|
|
67
|
+
* True if this `RevenueShareOrder` slot is occupied by an active order, mirroring
|
|
68
|
+
* `RevenueShareOrder::is_open` (`RevenueShareOrderBitFlag::Open`). While open, `orderId` and
|
|
69
|
+
* `subAccountId` identify the live order this slot is tracking.
|
|
70
|
+
*
|
|
71
|
+
* @param {RevenueShareOrder} order - The revenue share order slot
|
|
72
|
+
* @return {boolean} Whether the `Open` bit is set in `order.bitFlags`
|
|
73
|
+
*/
|
|
36
74
|
function isBuilderOrderOpen(order) {
|
|
37
75
|
return (order.bitFlags & FLAG_IS_OPEN) !== 0;
|
|
38
76
|
}
|
|
39
77
|
exports.isBuilderOrderOpen = isBuilderOrderOpen;
|
|
40
78
|
const FLAG_IS_COMPLETED = 0x02;
|
|
79
|
+
/**
|
|
80
|
+
* True if this `RevenueShareOrder` has been filled or canceled and is awaiting settlement into
|
|
81
|
+
* the builder's account, mirroring `RevenueShareOrder::is_completed`
|
|
82
|
+
* (`RevenueShareOrderBitFlag::Completed`). Once completed, `orderId`/`subAccountId` are no
|
|
83
|
+
* longer meaningful and the slot's accrued fees may be merged with other completed orders.
|
|
84
|
+
*
|
|
85
|
+
* @param {RevenueShareOrder} order - The revenue share order slot
|
|
86
|
+
* @return {boolean} Whether the `Completed` bit is set in `order.bitFlags`
|
|
87
|
+
*/
|
|
41
88
|
function isBuilderOrderCompleted(order) {
|
|
42
89
|
return (order.bitFlags & FLAG_IS_COMPLETED) !== 0;
|
|
43
90
|
}
|
|
44
91
|
exports.isBuilderOrderCompleted = isBuilderOrderCompleted;
|
|
45
92
|
const FLAG_IS_REFERRAL = 0x04;
|
|
93
|
+
/**
|
|
94
|
+
* True if this `RevenueShareOrder` slot instead holds referral rewards pending settlement for a
|
|
95
|
+
* market (`RevenueShareOrderBitFlag::Referral`), rather than tracking a builder-fee order. When
|
|
96
|
+
* set, no other bit flag should be set and `builderIdx` is ignored.
|
|
97
|
+
*
|
|
98
|
+
* @param {RevenueShareOrder} order - The revenue share order slot
|
|
99
|
+
* @return {boolean} Whether the `Referral` bit is set in `order.bitFlags`
|
|
100
|
+
*/
|
|
46
101
|
function isBuilderOrderReferral(order) {
|
|
47
102
|
return (order.bitFlags & FLAG_IS_REFERRAL) !== 0;
|
|
48
103
|
}
|
|
49
104
|
exports.isBuilderOrderReferral = isBuilderOrderReferral;
|
|
105
|
+
/**
|
|
106
|
+
* True if this `RevenueShareOrder` slot is free to be (re)written — neither open nor completed —
|
|
107
|
+
* mirroring `RevenueShareOrder::is_available`.
|
|
108
|
+
*
|
|
109
|
+
* @param {RevenueShareOrder} order - The revenue share order slot
|
|
110
|
+
* @return {boolean} Whether the slot can be claimed for a new order
|
|
111
|
+
*/
|
|
50
112
|
function isBuilderOrderAvailable(order) {
|
|
51
113
|
return !isBuilderOrderOpen(order) && !isBuilderOrderCompleted(order);
|
|
52
114
|
}
|
|
@@ -1,3 +1,24 @@
|
|
|
1
1
|
import { BN } from '../isomorphic/anchor';
|
|
2
|
+
/**
|
|
3
|
+
* Converts a fixed-point `BN` into a human-readable JS `number` by dividing out `precision`.
|
|
4
|
+
* Correctly handles negative `bigNumber` values: `bn.js`'s `.div()`/`.mod()` truncate toward
|
|
5
|
+
* zero (matching JS `%` semantics), so the whole and fractional parts recombine with consistent
|
|
6
|
+
* sign without needing separate negative-number handling. Precision beyond what a JS `number`
|
|
7
|
+
* (IEEE-754 double) can represent exactly may be lost — this is a display/estimation helper, not
|
|
8
|
+
* for further on-chain-precision math.
|
|
9
|
+
*
|
|
10
|
+
* @param {BN} bigNumber - The value to convert; `null`/`undefined` return 0 (a `BN` instance for
|
|
11
|
+
* zero is still an object and thus truthy, so it falls through to the normal division below)
|
|
12
|
+
* @param {BN} [precision] - The fixed-point precision to divide out; defaults to `PRICE_PRECISION` (1e6)
|
|
13
|
+
* @return {number} The value as a JS number, in the same units `precision` represents one whole unit of
|
|
14
|
+
*/
|
|
2
15
|
export declare const convertToNumber: (bigNumber: BN, precision?: BN) => number;
|
|
16
|
+
/**
|
|
17
|
+
* Converts a human-readable JS `number` into a fixed-point `BN` scaled by `precision`. The
|
|
18
|
+
* fractional part is rounded (`Math.round`) to the nearest unit of `precision`, not truncated.
|
|
19
|
+
*
|
|
20
|
+
* @param {number} value - The human-readable value to convert
|
|
21
|
+
* @param {BN} precision - The fixed-point precision to scale by (e.g. `QUOTE_PRECISION`, `BASE_PRECISION`)
|
|
22
|
+
* @return {BN} `value` scaled by `precision`
|
|
23
|
+
*/
|
|
3
24
|
export declare function convertToBN(value: number, precision: BN): BN;
|
|
@@ -3,6 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.convertToBN = exports.convertToNumber = void 0;
|
|
4
4
|
const anchor_1 = require("../isomorphic/anchor");
|
|
5
5
|
const numericConstants_1 = require("../constants/numericConstants");
|
|
6
|
+
/**
|
|
7
|
+
* Converts a fixed-point `BN` into a human-readable JS `number` by dividing out `precision`.
|
|
8
|
+
* Correctly handles negative `bigNumber` values: `bn.js`'s `.div()`/`.mod()` truncate toward
|
|
9
|
+
* zero (matching JS `%` semantics), so the whole and fractional parts recombine with consistent
|
|
10
|
+
* sign without needing separate negative-number handling. Precision beyond what a JS `number`
|
|
11
|
+
* (IEEE-754 double) can represent exactly may be lost — this is a display/estimation helper, not
|
|
12
|
+
* for further on-chain-precision math.
|
|
13
|
+
*
|
|
14
|
+
* @param {BN} bigNumber - The value to convert; `null`/`undefined` return 0 (a `BN` instance for
|
|
15
|
+
* zero is still an object and thus truthy, so it falls through to the normal division below)
|
|
16
|
+
* @param {BN} [precision] - The fixed-point precision to divide out; defaults to `PRICE_PRECISION` (1e6)
|
|
17
|
+
* @return {number} The value as a JS number, in the same units `precision` represents one whole unit of
|
|
18
|
+
*/
|
|
6
19
|
const convertToNumber = (bigNumber, precision = numericConstants_1.PRICE_PRECISION) => {
|
|
7
20
|
if (!bigNumber)
|
|
8
21
|
return 0;
|
|
@@ -10,6 +23,14 @@ const convertToNumber = (bigNumber, precision = numericConstants_1.PRICE_PRECISI
|
|
|
10
23
|
bigNumber.mod(precision).toNumber() / precision.toNumber());
|
|
11
24
|
};
|
|
12
25
|
exports.convertToNumber = convertToNumber;
|
|
26
|
+
/**
|
|
27
|
+
* Converts a human-readable JS `number` into a fixed-point `BN` scaled by `precision`. The
|
|
28
|
+
* fractional part is rounded (`Math.round`) to the nearest unit of `precision`, not truncated.
|
|
29
|
+
*
|
|
30
|
+
* @param {number} value - The human-readable value to convert
|
|
31
|
+
* @param {BN} precision - The fixed-point precision to scale by (e.g. `QUOTE_PRECISION`, `BASE_PRECISION`)
|
|
32
|
+
* @return {BN} `value` scaled by `precision`
|
|
33
|
+
*/
|
|
13
34
|
function convertToBN(value, precision) {
|
|
14
35
|
// Get the whole part using Math.floor
|
|
15
36
|
const wholePart = Math.floor(value);
|
|
@@ -1,9 +1,100 @@
|
|
|
1
1
|
import { PerpMarketAccount, PerpOperation, SpotMarketAccount, SpotOperation, StateAccount, InsuranceFundOperation, MarketConfigFlag } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* True if the exchange-wide status is anything other than fully active, i.e. any bit in
|
|
4
|
+
* `ExchangeStatus` is set (deposits, withdraws, AMM, fills, liquidations, funding, settle-pnl,
|
|
5
|
+
* or AMM-immediate-fill paused).
|
|
6
|
+
*
|
|
7
|
+
* @param {StateAccount} state - The global state account
|
|
8
|
+
* @return {boolean} Whether any exchange-wide pause flag is set
|
|
9
|
+
*/
|
|
2
10
|
export declare function exchangePaused(state: StateAccount): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Mirror of the program's `State::solvency_repair_paused`. Gates the resolve-bankruptcy /
|
|
13
|
+
* pnl-deficit instructions independently of `ExchangeStatus.WITHDRAW_PAUSED` — an admin can pause
|
|
14
|
+
* solvency repair without also blocking ordinary user withdrawals, or vice versa.
|
|
15
|
+
*
|
|
16
|
+
* @param {StateAccount} state - The global state account
|
|
17
|
+
* @return {boolean} Whether the `SOLVENCY_REPAIR_PAUSED` bit is set in `state.solvencyStatus`
|
|
18
|
+
*/
|
|
3
19
|
export declare function solvencyRepairPaused(state: StateAccount): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* True if deposits are blocked for `market`, either because the exchange-wide
|
|
22
|
+
* `ExchangeStatus.DEPOSIT_PAUSED` flag is set, or because the market's own
|
|
23
|
+
* `pausedOperations` bitmask has `SpotOperation.DEPOSIT` set.
|
|
24
|
+
*
|
|
25
|
+
* @param {StateAccount} state - The global state account
|
|
26
|
+
* @param {SpotMarketAccount} market - The spot market account
|
|
27
|
+
* @return {boolean} Whether deposits are paused for this market
|
|
28
|
+
*/
|
|
29
|
+
export declare function depositPaused(state: StateAccount, market: SpotMarketAccount): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* True if withdrawals are blocked for `market`, either because the exchange-wide
|
|
32
|
+
* `ExchangeStatus.WITHDRAW_PAUSED` flag is set, or because the market's own
|
|
33
|
+
* `pausedOperations` bitmask has `SpotOperation.WITHDRAW` set. Independent of
|
|
34
|
+
* `solvencyRepairPaused`.
|
|
35
|
+
*
|
|
36
|
+
* @param {StateAccount} state - The global state account
|
|
37
|
+
* @param {SpotMarketAccount} market - The spot market account
|
|
38
|
+
* @return {boolean} Whether withdrawals are paused for this market
|
|
39
|
+
*/
|
|
40
|
+
export declare function withdrawPaused(state: StateAccount, market: SpotMarketAccount): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* True if fills are blocked for `market`, either because the exchange-wide
|
|
43
|
+
* `ExchangeStatus.FILL_PAUSED` flag is set, or because the market's own `pausedOperations`
|
|
44
|
+
* bitmask has the market-type-appropriate fill flag set (`PerpOperation.FILL` for perp markets,
|
|
45
|
+
* detected via the presence of an `amm` field; `SpotOperation.FILL` otherwise).
|
|
46
|
+
*
|
|
47
|
+
* @param {StateAccount} state - The global state account
|
|
48
|
+
* @param {PerpMarketAccount | SpotMarketAccount} market - The perp or spot market account
|
|
49
|
+
* @return {boolean} Whether fills are paused for this market
|
|
50
|
+
*/
|
|
4
51
|
export declare function fillPaused(state: StateAccount, market: PerpMarketAccount | SpotMarketAccount): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* True if AMM fills are blocked for `market`: the exchange-wide `ExchangeStatus.AMM_PAUSED` flag
|
|
54
|
+
* is set, the market's `pausedOperations` has `PerpOperation.AMM_FILL` set (perp markets only),
|
|
55
|
+
* or (perp markets only) the AMM has breached its per-funding-period drawdown limit
|
|
56
|
+
* (`isAmmDrawdownPause`). Always `false` for spot markets beyond the exchange-wide flag, since
|
|
57
|
+
* spot markets have no AMM.
|
|
58
|
+
*
|
|
59
|
+
* @param {StateAccount} state - The global state account
|
|
60
|
+
* @param {PerpMarketAccount | SpotMarketAccount} market - The perp or spot market account
|
|
61
|
+
* @return {boolean} Whether AMM fills are paused for this market
|
|
62
|
+
*/
|
|
5
63
|
export declare function ammPaused(state: StateAccount, market: PerpMarketAccount | SpotMarketAccount): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Bitmask test for whether `operation` is set in a `pausedOperations` field.
|
|
66
|
+
*
|
|
67
|
+
* @param {number} pausedOperations - A market or insurance-fund `pausedOperations` bitmask
|
|
68
|
+
* @param {PerpOperation | SpotOperation | InsuranceFundOperation} operation - The operation flag to test
|
|
69
|
+
* @return {boolean} Whether `operation`'s bit is set
|
|
70
|
+
*/
|
|
6
71
|
export declare function isOperationPaused(pausedOperations: number, operation: PerpOperation | SpotOperation | InsuranceFundOperation): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* True if a perp market's AMM has accumulated too much drawdown since its last funding update to
|
|
74
|
+
* keep accepting AMM fills, mirroring `AMM::has_too_much_drawdown`. Uses a two-stage gate: an
|
|
75
|
+
* absolute quote-denominated drawdown floor (contract tier A/B: -$10,000; others: -$5,000, i.e.
|
|
76
|
+
* `DEFAULT_REVENUE_SINCE_LAST_FUNDING_SPREAD_RETREAT` ($25) times 400 or 200) must first be
|
|
77
|
+
* breached, then a tier-specific percentage-of-total-fees drawdown limit (A: 2%, B: ~3%, C: 4%,
|
|
78
|
+
* others: 5%) must also be breached.
|
|
79
|
+
*
|
|
80
|
+
* @param {PerpMarketAccount} market - The perp market account
|
|
81
|
+
* @return {boolean} Whether the AMM should stop accepting fills due to drawdown this funding period
|
|
82
|
+
*/
|
|
7
83
|
export declare function isAmmDrawdownPause(market: PerpMarketAccount): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Bitmask test for whether `flag` is set in a perp market's `marketConfig` field.
|
|
86
|
+
*
|
|
87
|
+
* @param {number} marketConfig - A `PerpMarketAccount.marketConfig` bitmask
|
|
88
|
+
* @param {MarketConfigFlag} flag - The config flag to test
|
|
89
|
+
* @return {boolean} Whether `flag`'s bit is set
|
|
90
|
+
*/
|
|
8
91
|
export declare function isMarketConfigFlagSet(marketConfig: number, flag: MarketConfigFlag): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* True if formulaic (automatic) `k` (AMM depth) updates are disabled for this market, meaning
|
|
94
|
+
* `k` only changes via explicit admin instructions rather than the keeper-driven repeg/curve
|
|
95
|
+
* update logic.
|
|
96
|
+
*
|
|
97
|
+
* @param {PerpMarketAccount} market - The perp market account
|
|
98
|
+
* @return {boolean} Whether `DISABLE_FORMULAIC_K_UPDATE` is set in `market.marketConfig`
|
|
99
|
+
*/
|
|
9
100
|
export declare function isFormulaicKUpdateDisabled(market: PerpMarketAccount): boolean;
|
|
@@ -1,20 +1,79 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isFormulaicKUpdateDisabled = exports.isMarketConfigFlagSet = exports.isAmmDrawdownPause = exports.isOperationPaused = exports.ammPaused = exports.fillPaused = exports.solvencyRepairPaused = exports.exchangePaused = void 0;
|
|
3
|
+
exports.isFormulaicKUpdateDisabled = exports.isMarketConfigFlagSet = exports.isAmmDrawdownPause = exports.isOperationPaused = exports.ammPaused = exports.fillPaused = exports.withdrawPaused = exports.depositPaused = exports.solvencyRepairPaused = exports.exchangePaused = void 0;
|
|
4
4
|
const numericConstants_1 = require("../constants/numericConstants");
|
|
5
5
|
const types_1 = require("../types");
|
|
6
6
|
const anchor_1 = require("../isomorphic/anchor");
|
|
7
|
+
/**
|
|
8
|
+
* True if the exchange-wide status is anything other than fully active, i.e. any bit in
|
|
9
|
+
* `ExchangeStatus` is set (deposits, withdraws, AMM, fills, liquidations, funding, settle-pnl,
|
|
10
|
+
* or AMM-immediate-fill paused).
|
|
11
|
+
*
|
|
12
|
+
* @param {StateAccount} state - The global state account
|
|
13
|
+
* @return {boolean} Whether any exchange-wide pause flag is set
|
|
14
|
+
*/
|
|
7
15
|
function exchangePaused(state) {
|
|
8
16
|
return state.exchangeStatus !== types_1.ExchangeStatus.ACTIVE;
|
|
9
17
|
}
|
|
10
18
|
exports.exchangePaused = exchangePaused;
|
|
11
|
-
|
|
12
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Mirror of the program's `State::solvency_repair_paused`. Gates the resolve-bankruptcy /
|
|
21
|
+
* pnl-deficit instructions independently of `ExchangeStatus.WITHDRAW_PAUSED` — an admin can pause
|
|
22
|
+
* solvency repair without also blocking ordinary user withdrawals, or vice versa.
|
|
23
|
+
*
|
|
24
|
+
* @param {StateAccount} state - The global state account
|
|
25
|
+
* @return {boolean} Whether the `SOLVENCY_REPAIR_PAUSED` bit is set in `state.solvencyStatus`
|
|
26
|
+
*/
|
|
13
27
|
function solvencyRepairPaused(state) {
|
|
14
28
|
return ((state.solvencyStatus & types_1.SolvencyStatus.SOLVENCY_REPAIR_PAUSED) ===
|
|
15
29
|
types_1.SolvencyStatus.SOLVENCY_REPAIR_PAUSED);
|
|
16
30
|
}
|
|
17
31
|
exports.solvencyRepairPaused = solvencyRepairPaused;
|
|
32
|
+
/**
|
|
33
|
+
* True if deposits are blocked for `market`, either because the exchange-wide
|
|
34
|
+
* `ExchangeStatus.DEPOSIT_PAUSED` flag is set, or because the market's own
|
|
35
|
+
* `pausedOperations` bitmask has `SpotOperation.DEPOSIT` set.
|
|
36
|
+
*
|
|
37
|
+
* @param {StateAccount} state - The global state account
|
|
38
|
+
* @param {SpotMarketAccount} market - The spot market account
|
|
39
|
+
* @return {boolean} Whether deposits are paused for this market
|
|
40
|
+
*/
|
|
41
|
+
function depositPaused(state, market) {
|
|
42
|
+
if ((state.exchangeStatus & types_1.ExchangeStatus.DEPOSIT_PAUSED) ===
|
|
43
|
+
types_1.ExchangeStatus.DEPOSIT_PAUSED) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
return isOperationPaused(market.pausedOperations, types_1.SpotOperation.DEPOSIT);
|
|
47
|
+
}
|
|
48
|
+
exports.depositPaused = depositPaused;
|
|
49
|
+
/**
|
|
50
|
+
* True if withdrawals are blocked for `market`, either because the exchange-wide
|
|
51
|
+
* `ExchangeStatus.WITHDRAW_PAUSED` flag is set, or because the market's own
|
|
52
|
+
* `pausedOperations` bitmask has `SpotOperation.WITHDRAW` set. Independent of
|
|
53
|
+
* `solvencyRepairPaused`.
|
|
54
|
+
*
|
|
55
|
+
* @param {StateAccount} state - The global state account
|
|
56
|
+
* @param {SpotMarketAccount} market - The spot market account
|
|
57
|
+
* @return {boolean} Whether withdrawals are paused for this market
|
|
58
|
+
*/
|
|
59
|
+
function withdrawPaused(state, market) {
|
|
60
|
+
if ((state.exchangeStatus & types_1.ExchangeStatus.WITHDRAW_PAUSED) ===
|
|
61
|
+
types_1.ExchangeStatus.WITHDRAW_PAUSED) {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
return isOperationPaused(market.pausedOperations, types_1.SpotOperation.WITHDRAW);
|
|
65
|
+
}
|
|
66
|
+
exports.withdrawPaused = withdrawPaused;
|
|
67
|
+
/**
|
|
68
|
+
* True if fills are blocked for `market`, either because the exchange-wide
|
|
69
|
+
* `ExchangeStatus.FILL_PAUSED` flag is set, or because the market's own `pausedOperations`
|
|
70
|
+
* bitmask has the market-type-appropriate fill flag set (`PerpOperation.FILL` for perp markets,
|
|
71
|
+
* detected via the presence of an `amm` field; `SpotOperation.FILL` otherwise).
|
|
72
|
+
*
|
|
73
|
+
* @param {StateAccount} state - The global state account
|
|
74
|
+
* @param {PerpMarketAccount | SpotMarketAccount} market - The perp or spot market account
|
|
75
|
+
* @return {boolean} Whether fills are paused for this market
|
|
76
|
+
*/
|
|
18
77
|
function fillPaused(state, market) {
|
|
19
78
|
if ((state.exchangeStatus & types_1.ExchangeStatus.FILL_PAUSED) ===
|
|
20
79
|
types_1.ExchangeStatus.FILL_PAUSED) {
|
|
@@ -28,6 +87,17 @@ function fillPaused(state, market) {
|
|
|
28
87
|
}
|
|
29
88
|
}
|
|
30
89
|
exports.fillPaused = fillPaused;
|
|
90
|
+
/**
|
|
91
|
+
* True if AMM fills are blocked for `market`: the exchange-wide `ExchangeStatus.AMM_PAUSED` flag
|
|
92
|
+
* is set, the market's `pausedOperations` has `PerpOperation.AMM_FILL` set (perp markets only),
|
|
93
|
+
* or (perp markets only) the AMM has breached its per-funding-period drawdown limit
|
|
94
|
+
* (`isAmmDrawdownPause`). Always `false` for spot markets beyond the exchange-wide flag, since
|
|
95
|
+
* spot markets have no AMM.
|
|
96
|
+
*
|
|
97
|
+
* @param {StateAccount} state - The global state account
|
|
98
|
+
* @param {PerpMarketAccount | SpotMarketAccount} market - The perp or spot market account
|
|
99
|
+
* @return {boolean} Whether AMM fills are paused for this market
|
|
100
|
+
*/
|
|
31
101
|
function ammPaused(state, market) {
|
|
32
102
|
if ((state.exchangeStatus & types_1.ExchangeStatus.AMM_PAUSED) ===
|
|
33
103
|
types_1.ExchangeStatus.AMM_PAUSED) {
|
|
@@ -45,10 +115,28 @@ function ammPaused(state, market) {
|
|
|
45
115
|
return false;
|
|
46
116
|
}
|
|
47
117
|
exports.ammPaused = ammPaused;
|
|
118
|
+
/**
|
|
119
|
+
* Bitmask test for whether `operation` is set in a `pausedOperations` field.
|
|
120
|
+
*
|
|
121
|
+
* @param {number} pausedOperations - A market or insurance-fund `pausedOperations` bitmask
|
|
122
|
+
* @param {PerpOperation | SpotOperation | InsuranceFundOperation} operation - The operation flag to test
|
|
123
|
+
* @return {boolean} Whether `operation`'s bit is set
|
|
124
|
+
*/
|
|
48
125
|
function isOperationPaused(pausedOperations, operation) {
|
|
49
126
|
return (pausedOperations & operation) > 0;
|
|
50
127
|
}
|
|
51
128
|
exports.isOperationPaused = isOperationPaused;
|
|
129
|
+
/**
|
|
130
|
+
* True if a perp market's AMM has accumulated too much drawdown since its last funding update to
|
|
131
|
+
* keep accepting AMM fills, mirroring `AMM::has_too_much_drawdown`. Uses a two-stage gate: an
|
|
132
|
+
* absolute quote-denominated drawdown floor (contract tier A/B: -$10,000; others: -$5,000, i.e.
|
|
133
|
+
* `DEFAULT_REVENUE_SINCE_LAST_FUNDING_SPREAD_RETREAT` ($25) times 400 or 200) must first be
|
|
134
|
+
* breached, then a tier-specific percentage-of-total-fees drawdown limit (A: 2%, B: ~3%, C: 4%,
|
|
135
|
+
* others: 5%) must also be breached.
|
|
136
|
+
*
|
|
137
|
+
* @param {PerpMarketAccount} market - The perp market account
|
|
138
|
+
* @return {boolean} Whether the AMM should stop accepting fills due to drawdown this funding period
|
|
139
|
+
*/
|
|
52
140
|
function isAmmDrawdownPause(market) {
|
|
53
141
|
let quoteDrawdownLimitBreached;
|
|
54
142
|
if ((0, types_1.isVariant)(market.contractTier, 'a') ||
|
|
@@ -82,10 +170,25 @@ function isAmmDrawdownPause(market) {
|
|
|
82
170
|
return false;
|
|
83
171
|
}
|
|
84
172
|
exports.isAmmDrawdownPause = isAmmDrawdownPause;
|
|
173
|
+
/**
|
|
174
|
+
* Bitmask test for whether `flag` is set in a perp market's `marketConfig` field.
|
|
175
|
+
*
|
|
176
|
+
* @param {number} marketConfig - A `PerpMarketAccount.marketConfig` bitmask
|
|
177
|
+
* @param {MarketConfigFlag} flag - The config flag to test
|
|
178
|
+
* @return {boolean} Whether `flag`'s bit is set
|
|
179
|
+
*/
|
|
85
180
|
function isMarketConfigFlagSet(marketConfig, flag) {
|
|
86
181
|
return (marketConfig & flag) > 0;
|
|
87
182
|
}
|
|
88
183
|
exports.isMarketConfigFlagSet = isMarketConfigFlagSet;
|
|
184
|
+
/**
|
|
185
|
+
* True if formulaic (automatic) `k` (AMM depth) updates are disabled for this market, meaning
|
|
186
|
+
* `k` only changes via explicit admin instructions rather than the keeper-driven repeg/curve
|
|
187
|
+
* update logic.
|
|
188
|
+
*
|
|
189
|
+
* @param {PerpMarketAccount} market - The perp market account
|
|
190
|
+
* @return {boolean} Whether `DISABLE_FORMULAIC_K_UPDATE` is set in `market.marketConfig`
|
|
191
|
+
*/
|
|
89
192
|
function isFormulaicKUpdateDisabled(market) {
|
|
90
193
|
return isMarketConfigFlagSet(market.marketConfig, types_1.MarketConfigFlag.DISABLE_FORMULAIC_K_UPDATE);
|
|
91
194
|
}
|
|
@@ -2,16 +2,41 @@ import { BN } from '../isomorphic/anchor';
|
|
|
2
2
|
import { PerpMarketAccount } from '../types';
|
|
3
3
|
import { MMOraclePriceData, OraclePriceData } from '../oracles/types';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* Client-side projection of the market's next funding rate, mirroring the pure-math portion
|
|
6
|
+
* of `update_funding_rate` in `programs/velocity/src/controller/funding.rs` (live mark/oracle
|
|
7
|
+
* TWAPs, the per-market dead-zone/ramp-slope premium, the baseline
|
|
8
|
+
* `FUNDING_RATE_OFFSET_DENOMINATOR` offset, and the contract-tier divergence cap) without
|
|
9
|
+
* requiring an on-chain funding update to have actually run. This is an estimate for display
|
|
10
|
+
* or pre-trade planning — it does not settle anything and can differ slightly from what the
|
|
11
|
+
* next on-chain `update_funding_rate` call computes if `now`/`oraclePriceData` have moved
|
|
12
|
+
* since.
|
|
13
|
+
* @param market Perp market to estimate funding for; must not be `uninitialized`.
|
|
14
|
+
* @param mmOraclePriceData Current MM oracle price data, used to compute the live mark TWAP if `markPrice` isn't supplied.
|
|
15
|
+
* @param oraclePriceData Current oracle price data — required unless the market is uninitialized.
|
|
16
|
+
* @param markPrice Optional mark price override; if omitted, derived from the current bid/ask midpoint.
|
|
17
|
+
* @param now Current unix timestamp (seconds); defaults to wall-clock time.
|
|
18
|
+
* @returns `[markTwap, oracleTwap, lowerboundEst, cappedAltEst, interpEst]`:
|
|
19
|
+
* - `markTwap` / `oracleTwap`: live-projected TWAPs, PRICE_PRECISION (1e6).
|
|
20
|
+
* - `lowerboundEst`, `cappedAltEst`, `interpEst`: funding-rate-per-period estimates
|
|
21
|
+
* expressed as `(price spread / oracle price) * 1e8` — feed these into
|
|
22
|
+
* `getFundingRatePct`/`calculateFormattedLiveFundingRate` (which multiply by
|
|
23
|
+
* `FUNDING_RATE_BUFFER_PRECISION` and read the result at `FUNDING_RATE_PRECISION_EXP`,
|
|
24
|
+
* 1e9) to get a plain percentage. `cappedAltEst` is the smaller-open-interest side,
|
|
25
|
+
* capped by how much the fee pool can top it up; `interpEst` is the uncapped
|
|
26
|
+
* straight-line interpolation; `lowerboundEst` further scales the spread down by the
|
|
27
|
+
* fraction of the current funding period that has elapsed since the last update.
|
|
10
28
|
*/
|
|
11
29
|
export declare function calculateAllEstimatedFundingRate(market: PerpMarketAccount, mmOraclePriceData?: MMOraclePriceData, oraclePriceData?: OraclePriceData, markPrice?: BN, now?: BN): [BN, BN, BN, BN, BN];
|
|
12
30
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
31
|
+
* Calculates estimated funding rates in human-readable form (plain JS `number` percentages,
|
|
32
|
+
* not BN), including a plain-English summary sentence. Values pass through floating-point
|
|
33
|
+
* math and lose precision vs the underlying BN estimate — use `calculateAllEstimatedFundingRate`
|
|
34
|
+
* or `calculateLongShortFundingRate` directly for anything that needs exact precision.
|
|
35
|
+
* @param market Perp market to estimate funding for.
|
|
36
|
+
* @param mmOraclePriceData Current MM oracle price data.
|
|
37
|
+
* @param oraclePriceData Current oracle price data.
|
|
38
|
+
* @param period `'hour'` for the hourly payment as a percentage, `'year'` for the payment annualized (assuming 24 funding payments/day) as an estimated APR.
|
|
39
|
+
* @returns `longRate`/`shortRate`: signed percentage numbers from that side's own perspective — negative means that side pays funding, positive means that side receives it; `fundingRateUnit`: `'%'` or `'% APR'`; `formattedFundingRateSummary`: a human-readable sentence describing who pays whom.
|
|
15
40
|
*/
|
|
16
41
|
export declare function calculateFormattedLiveFundingRate(market: PerpMarketAccount, mmOraclePriceData: MMOraclePriceData, oraclePriceData: OraclePriceData, period: 'hour' | 'year'): {
|
|
17
42
|
longRate: number;
|
|
@@ -20,24 +45,36 @@ export declare function calculateFormattedLiveFundingRate(market: PerpMarketAcco
|
|
|
20
45
|
formattedFundingRateSummary: string;
|
|
21
46
|
};
|
|
22
47
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* @
|
|
48
|
+
* Convenience wrapper around `calculateAllEstimatedFundingRate` that assigns its capped
|
|
49
|
+
* (`cappedAltEst`) vs. uncapped (`interpEst`) estimate to the long/short side by comparing
|
|
50
|
+
* `market.baseAssetAmountLong` against `market.baseAssetAmountShort`. When both sides are
|
|
51
|
+
* equal, both get `interpEst`.
|
|
52
|
+
* @param market Perp market to estimate funding for.
|
|
53
|
+
* @param mmOraclePriceData Current MM oracle price data.
|
|
54
|
+
* @param oraclePriceData Current oracle price data.
|
|
55
|
+
* @param markPrice Optional mark price override.
|
|
56
|
+
* @param now Current unix timestamp (seconds); defaults to wall-clock time.
|
|
57
|
+
* @returns `[longFundingRateEst, shortFundingRateEst]`, same scale as `calculateAllEstimatedFundingRate`'s rate outputs.
|
|
28
58
|
*/
|
|
29
59
|
export declare function calculateLongShortFundingRate(market: PerpMarketAccount, mmOraclePriceData?: MMOraclePriceData, oraclePriceData?: OraclePriceData, markPrice?: BN, now?: BN): [BN, BN];
|
|
30
60
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* @param
|
|
35
|
-
* @
|
|
61
|
+
* Same estimate assignment as `calculateLongShortFundingRate` (using
|
|
62
|
+
* `market.baseAssetAmountLong` vs `market.baseAssetAmountShort.abs()` this time) but also
|
|
63
|
+
* returns the live-projected mark/oracle TWAPs alongside the rate estimates.
|
|
64
|
+
* @param market Perp market to estimate funding for.
|
|
65
|
+
* @param mmOraclePriceData Current MM oracle price data.
|
|
66
|
+
* @param oraclePriceData Current oracle price data.
|
|
67
|
+
* @param markPrice Optional mark price override.
|
|
68
|
+
* @param now Current unix timestamp (seconds); defaults to wall-clock time.
|
|
69
|
+
* @returns `[markTwapLive, oracleTwapLive, longFundingRateEst, shortFundingRateEst]` — TWAPs in PRICE_PRECISION (1e6), rate estimates in the same scale as `calculateAllEstimatedFundingRate`.
|
|
36
70
|
*/
|
|
37
71
|
export declare function calculateLongShortFundingRateAndLiveTwaps(market: PerpMarketAccount, mmOraclePriceData?: MMOraclePriceData, oraclePriceData?: OraclePriceData, markPrice?: BN, now?: BN): [BN, BN, BN, BN];
|
|
38
72
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
73
|
+
* Estimated quote pool available to top up the smaller side's funding payment shortfall:
|
|
74
|
+
* one-third of the AMM's own retained equity (`totalFeeMinusDistributions`), floored at
|
|
75
|
+
* zero. Post-isolation there is no separate protocol floor to reserve — the AMM's own
|
|
76
|
+
* equity is the only buffer.
|
|
77
|
+
* @param market Perp market to evaluate.
|
|
78
|
+
* @returns Estimated fee pool size, QUOTE_PRECISION (1e6).
|
|
42
79
|
*/
|
|
43
80
|
export declare function calculateFundingPool(market: PerpMarketAccount): BN;
|