@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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"address": "vELoC1audYbSYVRXn1vPaV8Axoa9oU6BYmNGZZBDZ1P",
|
|
3
3
|
"metadata": {
|
|
4
4
|
"name": "velocity",
|
|
5
|
-
"version": "2.
|
|
5
|
+
"version": "2.163.0",
|
|
6
6
|
"spec": "0.1.0",
|
|
7
7
|
"description": "Created with Anchor"
|
|
8
8
|
},
|
|
@@ -6376,6 +6376,33 @@
|
|
|
6376
6376
|
}
|
|
6377
6377
|
]
|
|
6378
6378
|
},
|
|
6379
|
+
{
|
|
6380
|
+
"name": "reset_equity_floor_breaker",
|
|
6381
|
+
"discriminator": [
|
|
6382
|
+
230,
|
|
6383
|
+
181,
|
|
6384
|
+
202,
|
|
6385
|
+
36,
|
|
6386
|
+
127,
|
|
6387
|
+
56,
|
|
6388
|
+
56,
|
|
6389
|
+
27
|
|
6390
|
+
],
|
|
6391
|
+
"accounts": [
|
|
6392
|
+
{
|
|
6393
|
+
"name": "admin",
|
|
6394
|
+
"signer": true
|
|
6395
|
+
},
|
|
6396
|
+
{
|
|
6397
|
+
"name": "state"
|
|
6398
|
+
},
|
|
6399
|
+
{
|
|
6400
|
+
"name": "user_stats",
|
|
6401
|
+
"writable": true
|
|
6402
|
+
}
|
|
6403
|
+
],
|
|
6404
|
+
"args": []
|
|
6405
|
+
},
|
|
6379
6406
|
{
|
|
6380
6407
|
"name": "reset_perp_market_amm_oracle_twap",
|
|
6381
6408
|
"discriminator": [
|
|
@@ -7734,6 +7761,10 @@
|
|
|
7734
7761
|
{
|
|
7735
7762
|
"name": "amount",
|
|
7736
7763
|
"type": "u64"
|
|
7764
|
+
},
|
|
7765
|
+
{
|
|
7766
|
+
"name": "equity_floor_delta",
|
|
7767
|
+
"type": "u64"
|
|
7737
7768
|
}
|
|
7738
7769
|
]
|
|
7739
7770
|
},
|
|
@@ -8216,6 +8247,39 @@
|
|
|
8216
8247
|
}
|
|
8217
8248
|
]
|
|
8218
8249
|
},
|
|
8250
|
+
{
|
|
8251
|
+
"name": "trip_equity_floor_breaker",
|
|
8252
|
+
"discriminator": [
|
|
8253
|
+
133,
|
|
8254
|
+
184,
|
|
8255
|
+
25,
|
|
8256
|
+
80,
|
|
8257
|
+
193,
|
|
8258
|
+
52,
|
|
8259
|
+
162,
|
|
8260
|
+
249
|
|
8261
|
+
],
|
|
8262
|
+
"accounts": [
|
|
8263
|
+
{
|
|
8264
|
+
"name": "state"
|
|
8265
|
+
},
|
|
8266
|
+
{
|
|
8267
|
+
"name": "keeper",
|
|
8268
|
+
"docs": [
|
|
8269
|
+
"Any signer may trip the breaker; the proof is the margin calculation."
|
|
8270
|
+
],
|
|
8271
|
+
"signer": true
|
|
8272
|
+
},
|
|
8273
|
+
{
|
|
8274
|
+
"name": "user"
|
|
8275
|
+
},
|
|
8276
|
+
{
|
|
8277
|
+
"name": "user_stats",
|
|
8278
|
+
"writable": true
|
|
8279
|
+
}
|
|
8280
|
+
],
|
|
8281
|
+
"args": []
|
|
8282
|
+
},
|
|
8219
8283
|
{
|
|
8220
8284
|
"name": "update_admin",
|
|
8221
8285
|
"discriminator": [
|
|
@@ -9431,7 +9495,10 @@
|
|
|
9431
9495
|
},
|
|
9432
9496
|
{
|
|
9433
9497
|
"name": "authority",
|
|
9434
|
-
"signer": true
|
|
9498
|
+
"signer": true,
|
|
9499
|
+
"relations": [
|
|
9500
|
+
"keeper_stats"
|
|
9501
|
+
]
|
|
9435
9502
|
}
|
|
9436
9503
|
],
|
|
9437
9504
|
"args": []
|
|
@@ -11081,13 +11148,13 @@
|
|
|
11081
11148
|
133
|
|
11082
11149
|
],
|
|
11083
11150
|
"accounts": [
|
|
11084
|
-
{
|
|
11085
|
-
"name": "admin",
|
|
11086
|
-
"signer": true
|
|
11087
|
-
},
|
|
11088
11151
|
{
|
|
11089
11152
|
"name": "state",
|
|
11090
11153
|
"writable": true
|
|
11154
|
+
},
|
|
11155
|
+
{
|
|
11156
|
+
"name": "admin",
|
|
11157
|
+
"signer": true
|
|
11091
11158
|
}
|
|
11092
11159
|
],
|
|
11093
11160
|
"args": [
|
|
@@ -12221,6 +12288,38 @@
|
|
|
12221
12288
|
}
|
|
12222
12289
|
]
|
|
12223
12290
|
},
|
|
12291
|
+
{
|
|
12292
|
+
"name": "update_user_equity_floor",
|
|
12293
|
+
"discriminator": [
|
|
12294
|
+
49,
|
|
12295
|
+
87,
|
|
12296
|
+
139,
|
|
12297
|
+
119,
|
|
12298
|
+
136,
|
|
12299
|
+
239,
|
|
12300
|
+
186,
|
|
12301
|
+
104
|
|
12302
|
+
],
|
|
12303
|
+
"accounts": [
|
|
12304
|
+
{
|
|
12305
|
+
"name": "admin",
|
|
12306
|
+
"signer": true
|
|
12307
|
+
},
|
|
12308
|
+
{
|
|
12309
|
+
"name": "state"
|
|
12310
|
+
},
|
|
12311
|
+
{
|
|
12312
|
+
"name": "user",
|
|
12313
|
+
"writable": true
|
|
12314
|
+
}
|
|
12315
|
+
],
|
|
12316
|
+
"args": [
|
|
12317
|
+
{
|
|
12318
|
+
"name": "equity_floor",
|
|
12319
|
+
"type": "u64"
|
|
12320
|
+
}
|
|
12321
|
+
]
|
|
12322
|
+
},
|
|
12224
12323
|
{
|
|
12225
12324
|
"name": "update_user_idle",
|
|
12226
12325
|
"discriminator": [
|
|
@@ -16011,6 +16110,21 @@
|
|
|
16011
16110
|
"code": 6356,
|
|
16012
16111
|
"name": "InvalidNativePerpMarketAccount",
|
|
16013
16112
|
"msg": "Native dispatch: supplied market account is not a Velocity perp market"
|
|
16113
|
+
},
|
|
16114
|
+
{
|
|
16115
|
+
"code": 6357,
|
|
16116
|
+
"name": "IsolatedPositionDisabled",
|
|
16117
|
+
"msg": "Isolated positions are not enabled in this build"
|
|
16118
|
+
},
|
|
16119
|
+
{
|
|
16120
|
+
"code": 6358,
|
|
16121
|
+
"name": "EquityBelowFloor",
|
|
16122
|
+
"msg": "Account equity is below the user-set equity floor"
|
|
16123
|
+
},
|
|
16124
|
+
{
|
|
16125
|
+
"code": 6359,
|
|
16126
|
+
"name": "InvalidEquityFloorTransfer",
|
|
16127
|
+
"msg": "Invalid equity floor transfer between subaccounts"
|
|
16014
16128
|
}
|
|
16015
16129
|
],
|
|
16016
16130
|
"types": [
|
|
@@ -23715,7 +23829,26 @@
|
|
|
23715
23829
|
"type": {
|
|
23716
23830
|
"array": [
|
|
23717
23831
|
"u8",
|
|
23718
|
-
|
|
23832
|
+
3
|
|
23833
|
+
]
|
|
23834
|
+
}
|
|
23835
|
+
},
|
|
23836
|
+
{
|
|
23837
|
+
"name": "equity_floor",
|
|
23838
|
+
"docs": [
|
|
23839
|
+
"Minimum account equity (cross-margin total collateral) required for",
|
|
23840
|
+
"risk-increasing orders, fills, withdrawals and deposit transfers.",
|
|
23841
|
+
"Settable only by the warm/cold admin; 0 disables the check.",
|
|
23842
|
+
"precision: QUOTE_PRECISION"
|
|
23843
|
+
],
|
|
23844
|
+
"type": "u64"
|
|
23845
|
+
},
|
|
23846
|
+
{
|
|
23847
|
+
"name": "padding2",
|
|
23848
|
+
"type": {
|
|
23849
|
+
"array": [
|
|
23850
|
+
"u8",
|
|
23851
|
+
8
|
|
23719
23852
|
]
|
|
23720
23853
|
}
|
|
23721
23854
|
}
|
|
@@ -23904,12 +24037,22 @@
|
|
|
23904
24037
|
],
|
|
23905
24038
|
"type": "u8"
|
|
23906
24039
|
},
|
|
24040
|
+
{
|
|
24041
|
+
"name": "equity_breaker_tripped",
|
|
24042
|
+
"docs": [
|
|
24043
|
+
"Set by the permissionless `trip_equity_floor_breaker` instruction when",
|
|
24044
|
+
"any of the authority's subaccounts falls below its equity floor.",
|
|
24045
|
+
"While set, every subaccount of the authority rejects risk-increasing",
|
|
24046
|
+
"fills, withdrawals and transfers out. Cleared only by the warm admin."
|
|
24047
|
+
],
|
|
24048
|
+
"type": "u8"
|
|
24049
|
+
},
|
|
23907
24050
|
{
|
|
23908
24051
|
"name": "padding",
|
|
23909
24052
|
"type": {
|
|
23910
24053
|
"array": [
|
|
23911
24054
|
"u8",
|
|
23912
|
-
|
|
24055
|
+
62
|
|
23913
24056
|
]
|
|
23914
24057
|
}
|
|
23915
24058
|
}
|
package/lib/node/keypair.d.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
import { Keypair } from '@solana/web3.js';
|
|
2
|
+
/**
|
|
3
|
+
* Loads a Solana `Keypair` from a private key given in any of the common CLI/env formats.
|
|
4
|
+
* @param privateKey - One of: a filesystem path to a JSON keypair file (checked first via
|
|
5
|
+
* `fs.existsSync`); a JSON array string (e.g. `"[1,2,3,...]"`); a comma-separated list of byte
|
|
6
|
+
* values (e.g. `"1,2,3,..."`); or a base58-encoded secret key string (whitespace is stripped).
|
|
7
|
+
* @returns The decoded `Keypair`.
|
|
8
|
+
* @throws Error (from `Keypair.fromSecretKey`) if the decoded bytes are not a valid 64-byte secret key.
|
|
9
|
+
*/
|
|
2
10
|
export declare function loadKeypair(privateKey: string): Keypair;
|
|
3
11
|
//# sourceMappingURL=keypair.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/keypair.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAmBvD"}
|
|
1
|
+
{"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/keypair.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAmBvD"}
|
package/lib/node/keypair.js
CHANGED
|
@@ -7,6 +7,14 @@ exports.loadKeypair = void 0;
|
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const bs58_1 = __importDefault(require("bs58"));
|
|
9
9
|
const web3_js_1 = require("@solana/web3.js");
|
|
10
|
+
/**
|
|
11
|
+
* Loads a Solana `Keypair` from a private key given in any of the common CLI/env formats.
|
|
12
|
+
* @param privateKey - One of: a filesystem path to a JSON keypair file (checked first via
|
|
13
|
+
* `fs.existsSync`); a JSON array string (e.g. `"[1,2,3,...]"`); a comma-separated list of byte
|
|
14
|
+
* values (e.g. `"1,2,3,..."`); or a base58-encoded secret key string (whitespace is stripped).
|
|
15
|
+
* @returns The decoded `Keypair`.
|
|
16
|
+
* @throws Error (from `Keypair.fromSecretKey`) if the decoded bytes are not a valid 64-byte secret key.
|
|
17
|
+
*/
|
|
10
18
|
function loadKeypair(privateKey) {
|
|
11
19
|
// try to load privateKey as a filepath
|
|
12
20
|
let loadedKey;
|
|
@@ -1,19 +1,38 @@
|
|
|
1
1
|
import { BN } from './isomorphic/anchor';
|
|
2
|
-
import { MarketType } from './types';
|
|
3
|
-
|
|
2
|
+
import { MarginCategory, MarketType } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Which margin threshold a `MarginCalculation` is computing against: `Initial` (opening/increasing
|
|
5
|
+
* risk), `Maintenance` (liquidation eligibility), or `Fill` (order-fill-time check, the
|
|
6
|
+
* integer-averaged midpoint of Initial and Maintenance). Re-exported from `./types` so the SDK has
|
|
7
|
+
* a single `MarginCategory` definition.
|
|
8
|
+
*/
|
|
9
|
+
export type { MarginCategory };
|
|
10
|
+
/** Selects the margin-buffer behavior of a `MarginContext`: `Standard` for ordinary health checks (no buffer), or `Liquidation` to apply the cross/isolated margin buffers used to avoid liquidating a user who is only marginally underwater. */
|
|
4
11
|
export type MarginCalculationMode = {
|
|
5
12
|
type: 'Standard';
|
|
6
13
|
} | {
|
|
7
14
|
type: 'Liquidation';
|
|
8
15
|
};
|
|
16
|
+
/** Identifies a market by type (spot or perp) and index, used as a key into per-market margin state (e.g. isolated margin buffers). Construct via `MarketIdentifier.spot` / `MarketIdentifier.perp`. */
|
|
9
17
|
export declare class MarketIdentifier {
|
|
10
18
|
marketType: MarketType;
|
|
11
19
|
marketIndex: number;
|
|
12
20
|
private constructor();
|
|
21
|
+
/** Builds a `MarketIdentifier` for a spot market index. */
|
|
13
22
|
static spot(marketIndex: number): MarketIdentifier;
|
|
23
|
+
/** Builds a `MarketIdentifier` for a perp market index. */
|
|
14
24
|
static perp(marketIndex: number): MarketIdentifier;
|
|
25
|
+
/** True if `other` refers to the same market type and index. */
|
|
15
26
|
equals(other: MarketIdentifier | undefined): boolean;
|
|
16
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Configuration driving a `MarginCalculation` pass: which margin category to compute,
|
|
30
|
+
* whether it's a plain health check or a liquidation-margin-freed calculation, and the
|
|
31
|
+
* per-market buffers (in `MARGIN_PRECISION`, 1e4, fractional-of-liability-value units)
|
|
32
|
+
* applied to cross-margin and isolated-margin requirements/collateral so a user isn't
|
|
33
|
+
* flagged liquidatable from a hair's-width shortfall. Mirrors `MarginContext` in
|
|
34
|
+
* `programs/velocity/src/state/margin_calculation.rs`.
|
|
35
|
+
*/
|
|
17
36
|
export declare class MarginContext {
|
|
18
37
|
marginType: MarginCategory;
|
|
19
38
|
mode: MarginCalculationMode;
|
|
@@ -22,46 +41,159 @@ export declare class MarginContext {
|
|
|
22
41
|
isolatedMarginBuffers: Map<number, BN>;
|
|
23
42
|
crossMarginBuffer: BN;
|
|
24
43
|
private constructor();
|
|
44
|
+
/** Builds a plain `Standard`-mode context (no liquidation buffers) for the given margin category — the usual choice for health/leverage/order-placement checks. */
|
|
25
45
|
static standard(marginType: MarginCategory): MarginContext;
|
|
46
|
+
/**
|
|
47
|
+
* Builds a `Maintenance`-category, `Liquidation`-mode context with the given buffers.
|
|
48
|
+
* Used by liquidation eligibility / margin-freed calculations so a position is only
|
|
49
|
+
* eligible once it's underwater by more than the buffer, avoiding flip-flopping right
|
|
50
|
+
* at the maintenance threshold.
|
|
51
|
+
* @param crossMarginBuffer Extra maintenance-margin cushion applied to the cross-margin
|
|
52
|
+
* book, `MARGIN_PRECISION` (1e4) fraction of liability value.
|
|
53
|
+
* @param isolatedMarginBuffers Same buffer, per isolated-position market index.
|
|
54
|
+
*/
|
|
26
55
|
static liquidation(crossMarginBuffer: BN, isolatedMarginBuffers: Map<number, BN>): MarginContext;
|
|
56
|
+
/** Sets whether strict oracle pricing (worse of last/twap price) is used for collateral/liability valuation. Returns `this` for chaining. */
|
|
27
57
|
strictMode(strict: boolean): this;
|
|
58
|
+
/** Sets whether spot deposits with an invalid oracle are ignored (valued at zero) rather than failing the calculation. Returns `this` for chaining. */
|
|
28
59
|
ignoreInvalidDeposits(ignore: boolean): this;
|
|
60
|
+
/** Sets the cross-margin maintenance buffer (`MARGIN_PRECISION`, 1e4, fraction of liability value). Returns `this` for chaining. */
|
|
29
61
|
setCrossMarginBuffer(crossMarginBuffer: BN): this;
|
|
62
|
+
/** Replaces the whole per-market isolated-margin buffer map. Returns `this` for chaining. */
|
|
30
63
|
setIsolatedMarginBuffers(isolatedMarginBuffers: Map<number, BN>): this;
|
|
64
|
+
/** Sets the isolated-margin buffer (`MARGIN_PRECISION`, 1e4, fraction of liability value) for a single perp market index. Returns `this` for chaining. */
|
|
31
65
|
setIsolatedMarginBuffer(marketIndex: number, isolatedMarginBuffer: BN): this;
|
|
32
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Accumulated margin requirement and collateral for a single isolated perp position,
|
|
69
|
+
* built up during a `MarginCalculation` pass via `MarginCalculation.addIsolatedMarginCalculation`.
|
|
70
|
+
* All BN fields are QUOTE_PRECISION (1e6). Isolated positions have their own dedicated
|
|
71
|
+
* collateral pool, so their margin health is tracked independently of the user's
|
|
72
|
+
* cross-margin book.
|
|
73
|
+
*/
|
|
33
74
|
export declare class IsolatedMarginCalculation {
|
|
75
|
+
/** Margin required to maintain/open the isolated position, QUOTE_PRECISION (1e6). */
|
|
34
76
|
marginRequirement: BN;
|
|
77
|
+
/** Isolated collateral: position's deposit value plus unrealized/settled pnl, QUOTE_PRECISION (1e6). */
|
|
35
78
|
totalCollateral: BN;
|
|
79
|
+
/** Signed adjustment to `totalCollateral` from the context's isolated margin buffer (liquidation mode only), QUOTE_PRECISION (1e6). */
|
|
36
80
|
totalCollateralBuffer: BN;
|
|
81
|
+
/** `marginRequirement` plus the buffered liability-value addition (liquidation mode only), QUOTE_PRECISION (1e6). */
|
|
37
82
|
marginRequirementPlusBuffer: BN;
|
|
38
83
|
constructor();
|
|
84
|
+
/** `totalCollateral + totalCollateralBuffer`, QUOTE_PRECISION (1e6). */
|
|
39
85
|
getTotalCollateralPlusBuffer(): BN;
|
|
86
|
+
/** True if the isolated position's collateral covers its margin requirement (no buffer applied). */
|
|
40
87
|
meetsMarginRequirement(): boolean;
|
|
88
|
+
/** True if the buffered collateral covers the buffered margin requirement — the check used for liquidation eligibility. */
|
|
41
89
|
meetsMarginRequirementWithBuffer(): boolean;
|
|
90
|
+
/** Buffered margin shortfall (`marginRequirementPlusBuffer - totalCollateralPlusBuffer`, floored at zero), QUOTE_PRECISION (1e6). */
|
|
42
91
|
marginShortage(): BN;
|
|
43
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Accumulator built up by walking a user's spot and perp positions, mirroring
|
|
95
|
+
* `MarginCalculation` in `programs/velocity/src/state/margin_calculation.rs`. Tracks the
|
|
96
|
+
* cross-margin book's total collateral/margin requirement plus a separate
|
|
97
|
+
* `IsolatedMarginCalculation` per isolated perp market, so cross and isolated health are
|
|
98
|
+
* evaluated independently — `meetsMarginRequirement`/`meetsMarginRequirementWithBuffer`
|
|
99
|
+
* require both the cross book and every isolated position to pass.
|
|
100
|
+
*
|
|
101
|
+
* `numSpotLiabilities`/`numPerpLiabilities`/`withPerpIsolatedLiability`/
|
|
102
|
+
* `withSpotIsolatedLiability` track the on-chain "isolated contract tier" risk-isolation
|
|
103
|
+
* rule (`validate_any_isolated_tier_requirements`): a user holding a liability in a market
|
|
104
|
+
* whose `ContractTier` is `Isolated` may not simultaneously hold other liabilities (perp or
|
|
105
|
+
* non-quote spot) unless in reduce-only mode. Note this `ContractTier::Isolated` market
|
|
106
|
+
* classification is unrelated to per-position isolated margin
|
|
107
|
+
* (`isolatedPositionScaledBalance`) — a market can be isolated-tier without any position on
|
|
108
|
+
* it using isolated margin.
|
|
109
|
+
*/
|
|
44
110
|
export declare class MarginCalculation {
|
|
45
111
|
context: MarginContext;
|
|
112
|
+
/** Cross-margin collateral (deposits + perp pnl), QUOTE_PRECISION (1e6). */
|
|
46
113
|
totalCollateral: BN;
|
|
114
|
+
/** Signed liquidation-buffer adjustment to `totalCollateral`, QUOTE_PRECISION (1e6). Zero outside `Liquidation` mode. */
|
|
47
115
|
totalCollateralBuffer: BN;
|
|
116
|
+
/** Cross-margin requirement accumulated so far, QUOTE_PRECISION (1e6). */
|
|
48
117
|
marginRequirement: BN;
|
|
118
|
+
/** `marginRequirement` plus the buffered liability-value addition (liquidation mode only), QUOTE_PRECISION (1e6). */
|
|
49
119
|
marginRequirementPlusBuffer: BN;
|
|
120
|
+
/** Per-isolated-perp-market margin state, keyed by perp market index. */
|
|
50
121
|
isolatedMarginCalculations: Map<number, IsolatedMarginCalculation>;
|
|
122
|
+
/** Sum of worst-case perp liability value across all (cross + isolated) perp positions seen so far, QUOTE_PRECISION (1e6). */
|
|
51
123
|
totalPerpLiabilityValue: BN;
|
|
124
|
+
/** Count of spot positions counted as liabilities (borrows) so far. */
|
|
125
|
+
numSpotLiabilities: number;
|
|
126
|
+
/** Count of perp positions counted as liabilities (non-flat base, negative quote, or open orders) so far. */
|
|
127
|
+
numPerpLiabilities: number;
|
|
128
|
+
/** True once any perp liability seen belongs to a `ContractTier::Isolated` market. */
|
|
129
|
+
withPerpIsolatedLiability: boolean;
|
|
130
|
+
/** True once any spot liability seen is a borrow (or has open orders) in an `AssetTier::Isolated` spot market (isolated-tier borrows are restricted to the quote asset). */
|
|
131
|
+
withSpotIsolatedLiability: boolean;
|
|
52
132
|
constructor(context: MarginContext);
|
|
133
|
+
/**
|
|
134
|
+
* Adds a signed collateral delta (deposit value or perp pnl, QUOTE_PRECISION 1e6) to
|
|
135
|
+
* the cross-margin book. When in `Liquidation` mode with a nonzero `crossMarginBuffer`
|
|
136
|
+
* and the delta is negative, also extends `totalCollateralBuffer` by
|
|
137
|
+
* `delta * crossMarginBuffer / MARGIN_PRECISION` so a negative-pnl position looks worse
|
|
138
|
+
* under the buffered (liquidation-eligibility) check than under the plain one.
|
|
139
|
+
* @param delta Signed collateral value to add, QUOTE_PRECISION (1e6).
|
|
140
|
+
*/
|
|
53
141
|
addCrossMarginTotalCollateral(delta: BN): void;
|
|
142
|
+
/**
|
|
143
|
+
* Adds a position's margin requirement to the cross-margin book. When a nonzero
|
|
144
|
+
* `crossMarginBuffer` is configured, also accrues `marginRequirementPlusBuffer` with an
|
|
145
|
+
* extra `liabilityValue * crossMarginBuffer / MARGIN_PRECISION` on top, inflating the
|
|
146
|
+
* buffered requirement used for liquidation eligibility.
|
|
147
|
+
* @param marginRequirement Margin required for this position, QUOTE_PRECISION (1e6).
|
|
148
|
+
* @param liabilityValue Position's (worst-case) liability value the buffer is scaled from, QUOTE_PRECISION (1e6).
|
|
149
|
+
*/
|
|
54
150
|
addCrossMarginRequirement(marginRequirement: BN, liabilityValue: BN): void;
|
|
151
|
+
/**
|
|
152
|
+
* Records (or overwrites) the margin state for one isolated perp position, applying that
|
|
153
|
+
* market's isolated margin buffer (from `context.isolatedMarginBuffers`) to the
|
|
154
|
+
* buffered requirement, and to the buffered collateral only when `pnl` is negative —
|
|
155
|
+
* mirroring `addCrossMarginRequirement`/`addCrossMarginTotalCollateral` but scoped to a
|
|
156
|
+
* single isolated market instead of the shared cross-margin book.
|
|
157
|
+
* @param marketIndex Perp market index of the isolated position.
|
|
158
|
+
* @param depositValue Isolated collateral deposited into the position, QUOTE_PRECISION (1e6).
|
|
159
|
+
* @param pnl Position's unrealized/settled pnl, QUOTE_PRECISION (1e6, signed).
|
|
160
|
+
* @param liabilityValue Position's (worst-case) liability value the buffer is scaled from, QUOTE_PRECISION (1e6).
|
|
161
|
+
* @param marginRequirement Margin required to maintain/open the isolated position, QUOTE_PRECISION (1e6).
|
|
162
|
+
*/
|
|
55
163
|
addIsolatedMarginCalculation(marketIndex: number, depositValue: BN, pnl: BN, liabilityValue: BN, marginRequirement: BN): void;
|
|
164
|
+
/** Adds to the running total of worst-case perp liability value across all perp positions seen. @param perpLiabilityValue QUOTE_PRECISION (1e6). */
|
|
56
165
|
addPerpLiabilityValue(perpLiabilityValue: BN): void;
|
|
166
|
+
/** Increments the count of spot positions counted as liabilities (borrows, or zero-balance positions with open orders). Call once per qualifying spot position. */
|
|
167
|
+
addSpotLiability(): void;
|
|
168
|
+
/** Increments the count of perp positions counted as liabilities (non-flat base, negative quote, or open orders). Call once per qualifying perp position. */
|
|
169
|
+
addPerpLiability(): void;
|
|
170
|
+
/** Latches `withSpotIsolatedLiability` to `true` if `isolated` is true (sticky OR — never reset to false once set). Pass whether the spot liability just added belongs to an `AssetTier::Isolated` market. */
|
|
171
|
+
updateWithSpotIsolatedLiability(isolated: boolean): void;
|
|
172
|
+
/** Latches `withPerpIsolatedLiability` to `true` if `isolated` is true (sticky OR — never reset to false once set). Pass whether the perp liability just added belongs to a `ContractTier::Isolated` market. */
|
|
173
|
+
updateWithPerpIsolatedLiability(isolated: boolean): void;
|
|
174
|
+
/** Total number of liability positions (spot borrows + perp liabilities) counted so far. */
|
|
175
|
+
getNumOfLiabilities(): number;
|
|
176
|
+
/** `totalCollateral + totalCollateralBuffer` for the cross-margin book, QUOTE_PRECISION (1e6). */
|
|
57
177
|
getCrossTotalCollateralPlusBuffer(): BN;
|
|
178
|
+
/** True if the cross-margin book's collateral covers its margin requirement (no buffer applied). */
|
|
58
179
|
meetsCrossMarginRequirement(): boolean;
|
|
180
|
+
/** True if the cross-margin book's buffered collateral covers its buffered margin requirement — the check used for cross-margin liquidation eligibility. */
|
|
59
181
|
meetsCrossMarginRequirementWithBuffer(): boolean;
|
|
182
|
+
/** True only if the cross-margin book AND every tracked isolated position independently meet their (unbuffered) margin requirement. */
|
|
60
183
|
meetsMarginRequirement(): boolean;
|
|
184
|
+
/** True only if the cross-margin book AND every tracked isolated position independently meet their buffered margin requirement — the overall liquidation-eligibility check. */
|
|
61
185
|
meetsMarginRequirementWithBuffer(): boolean;
|
|
186
|
+
/** Cross-margin collateral in excess of its margin requirement, floored at zero, QUOTE_PRECISION (1e6). */
|
|
62
187
|
getCrossFreeCollateral(): BN;
|
|
188
|
+
/**
|
|
189
|
+
* Free (unbuffered) collateral for one isolated perp position, floored at zero, QUOTE_PRECISION (1e6).
|
|
190
|
+
* @param marketIndex Perp market index of the isolated position.
|
|
191
|
+
* @throws if no isolated margin calculation was recorded for `marketIndex` (call `addIsolatedMarginCalculation` first).
|
|
192
|
+
*/
|
|
63
193
|
getIsolatedFreeCollateral(marketIndex: number): BN;
|
|
194
|
+
/** Returns the recorded `IsolatedMarginCalculation` for `marketIndex`, or `undefined` if none was recorded (the user has no isolated position in that market). */
|
|
64
195
|
getIsolatedMarginCalculation(marketIndex: number): IsolatedMarginCalculation | undefined;
|
|
196
|
+
/** True if an isolated margin calculation has been recorded for `marketIndex`. */
|
|
65
197
|
hasIsolatedMarginCalculation(marketIndex: number): boolean;
|
|
66
198
|
}
|
|
67
199
|
//# sourceMappingURL=marginCalculation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marginCalculation.d.ts","sourceRoot":"","sources":["../../src/marginCalculation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAEzC,OAAO,EAAyB,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"marginCalculation.d.ts","sourceRoot":"","sources":["../../src/marginCalculation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAEzC,OAAO,EAAyB,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE5E;;;;;GAKG;AACH,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,kPAAkP;AAClP,MAAM,MAAM,qBAAqB,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAE3B,wMAAwM;AACxM,qBAAa,gBAAgB;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO;IAKP,2DAA2D;IAC3D,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB;IAIlD,2DAA2D;IAC3D,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB;IAIlD,gEAAgE;IAChE,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,GAAG,OAAO;CAOpD;AAED;;;;;;;GAOG;AACH,qBAAa,aAAa;IACzB,UAAU,EAAE,cAAc,CAAC;IAC3B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,2BAA2B,EAAE,OAAO,CAAC;IACrC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvC,iBAAiB,EAAE,EAAE,CAAC;IAEtB,OAAO;IASP,mKAAmK;IACnK,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,GAAG,aAAa;IAI1D;;;;;;;;OAQG;IACH,MAAM,CAAC,WAAW,CACjB,iBAAiB,EAAE,EAAE,EACrB,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,GACpC,aAAa;IAQhB,6IAA6I;IAC7I,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAKjC,uJAAuJ;IACvJ,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAK5C,oIAAoI;IACpI,oBAAoB,CAAC,iBAAiB,EAAE,EAAE,GAAG,IAAI;IAIjD,6FAA6F;IAC7F,wBAAwB,CAAC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,IAAI;IAItE,0JAA0J;IAC1J,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,oBAAoB,EAAE,EAAE,GAAG,IAAI;CAI5E;AAED;;;;;;GAMG;AACH,qBAAa,yBAAyB;IACrC,qFAAqF;IACrF,iBAAiB,EAAE,EAAE,CAAC;IACtB,wGAAwG;IACxG,eAAe,EAAE,EAAE,CAAC;IACpB,uIAAuI;IACvI,qBAAqB,EAAE,EAAE,CAAC;IAC1B,qHAAqH;IACrH,2BAA2B,EAAE,EAAE,CAAC;;IAShC,wEAAwE;IACxE,4BAA4B,IAAI,EAAE;IAIlC,oGAAoG;IACpG,sBAAsB,IAAI,OAAO;IAIjC,2HAA2H;IAC3H,gCAAgC,IAAI,OAAO;IAM3C,qIAAqI;IACrI,cAAc,IAAI,EAAE;CAMpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,iBAAiB;IAC7B,OAAO,EAAE,aAAa,CAAC;IACvB,4EAA4E;IAC5E,eAAe,EAAE,EAAE,CAAC;IACpB,yHAAyH;IACzH,qBAAqB,EAAE,EAAE,CAAC;IAC1B,0EAA0E;IAC1E,iBAAiB,EAAE,EAAE,CAAC;IACtB,qHAAqH;IACrH,2BAA2B,EAAE,EAAE,CAAC;IAChC,yEAAyE;IACzE,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACnE,8HAA8H;IAC9H,uBAAuB,EAAE,EAAE,CAAC;IAC5B,uEAAuE;IACvE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6GAA6G;IAC7G,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sFAAsF;IACtF,yBAAyB,EAAE,OAAO,CAAC;IACnC,4KAA4K;IAC5K,yBAAyB,EAAE,OAAO,CAAC;gBAEvB,OAAO,EAAE,aAAa;IAclC;;;;;;;OAOG;IACH,6BAA6B,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI;IAU9C;;;;;;;OAOG;IACH,yBAAyB,CAAC,iBAAiB,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,GAAG,IAAI;IAY1E;;;;;;;;;;;OAWG;IACH,4BAA4B,CAC3B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,EAAE,EAChB,GAAG,EAAE,EAAE,EACP,cAAc,EAAE,EAAE,EAClB,iBAAiB,EAAE,EAAE,GACnB,IAAI;IAwBP,oJAAoJ;IACpJ,qBAAqB,CAAC,kBAAkB,EAAE,EAAE,GAAG,IAAI;IAKnD,mKAAmK;IACnK,gBAAgB,IAAI,IAAI;IAIxB,6JAA6J;IAC7J,gBAAgB,IAAI,IAAI;IAIxB,8MAA8M;IAC9M,+BAA+B,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAIxD,gNAAgN;IAChN,+BAA+B,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAIxD,4FAA4F;IAC5F,mBAAmB,IAAI,MAAM;IAI7B,kGAAkG;IAClG,iCAAiC,IAAI,EAAE;IAIvC,oGAAoG;IACpG,2BAA2B,IAAI,OAAO;IAItC,4JAA4J;IAC5J,qCAAqC,IAAI,OAAO;IAMhD,uIAAuI;IACvI,sBAAsB,IAAI,OAAO;IAQjC,+KAA+K;IAC/K,gCAAgC,IAAI,OAAO;IAQ3C,2GAA2G;IAC3G,sBAAsB,IAAI,EAAE;IAK5B;;;;OAIG;IACH,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,EAAE;IAQlD,kKAAkK;IAClK,4BAA4B,CAC3B,WAAW,EAAE,MAAM,GACjB,yBAAyB,GAAG,SAAS;IAIxC,kFAAkF;IAClF,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;CAG1D"}
|