aftermath-ts-sdk 1.3.28 → 2.0.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/dist/index.d.ts +16828 -5
- package/dist/index.js +22695 -19
- package/dist/index.js.map +1 -0
- package/package.json +69 -60
- package/dist/general/apiHelpers/dynamicFieldsApiHelpers.d.ts +0 -41
- package/dist/general/apiHelpers/dynamicFieldsApiHelpers.d.ts.map +0 -1
- package/dist/general/apiHelpers/dynamicFieldsApiHelpers.js +0 -110
- package/dist/general/apiHelpers/eventsApiHelpers.d.ts +0 -43
- package/dist/general/apiHelpers/eventsApiHelpers.d.ts.map +0 -1
- package/dist/general/apiHelpers/eventsApiHelpers.js +0 -170
- package/dist/general/apiHelpers/inspectionsApiHelpers.d.ts +0 -28
- package/dist/general/apiHelpers/inspectionsApiHelpers.d.ts.map +0 -1
- package/dist/general/apiHelpers/inspectionsApiHelpers.js +0 -58
- package/dist/general/apiHelpers/objectsApiHelpers.d.ts +0 -77
- package/dist/general/apiHelpers/objectsApiHelpers.d.ts.map +0 -1
- package/dist/general/apiHelpers/objectsApiHelpers.js +0 -197
- package/dist/general/apiHelpers/transactionsApiHelpers.d.ts +0 -50
- package/dist/general/apiHelpers/transactionsApiHelpers.d.ts.map +0 -1
- package/dist/general/apiHelpers/transactionsApiHelpers.js +0 -256
- package/dist/general/dynamicGas/dynamicGas.d.ts +0 -48
- package/dist/general/dynamicGas/dynamicGas.d.ts.map +0 -1
- package/dist/general/dynamicGas/dynamicGas.js +0 -69
- package/dist/general/dynamicGas/dynamicGasTypes.d.ts +0 -37
- package/dist/general/dynamicGas/dynamicGasTypes.d.ts.map +0 -1
- package/dist/general/dynamicGas/dynamicGasTypes.js +0 -2
- package/dist/general/nfts/nftsApi.d.ts +0 -35
- package/dist/general/nfts/nftsApi.d.ts.map +0 -1
- package/dist/general/nfts/nftsApi.js +0 -124
- package/dist/general/nfts/nftsApiCasting.d.ts +0 -11
- package/dist/general/nfts/nftsApiCasting.d.ts.map +0 -1
- package/dist/general/nfts/nftsApiCasting.js +0 -115
- package/dist/general/nfts/nftsTypes.d.ts +0 -31
- package/dist/general/nfts/nftsTypes.d.ts.map +0 -1
- package/dist/general/nfts/nftsTypes.js +0 -2
- package/dist/general/priceFeeds/priceFeeds.d.ts +0 -3
- package/dist/general/priceFeeds/priceFeeds.d.ts.map +0 -1
- package/dist/general/priceFeeds/priceFeeds.js +0 -26
- package/dist/general/priceFeeds/priceFeedsApi.d.ts +0 -3
- package/dist/general/priceFeeds/priceFeedsApi.d.ts.map +0 -1
- package/dist/general/priceFeeds/priceFeedsApi.js +0 -33
- package/dist/general/priceFeeds/priceFeedsTypes.d.ts +0 -3
- package/dist/general/priceFeeds/priceFeedsTypes.d.ts.map +0 -1
- package/dist/general/priceFeeds/priceFeedsTypes.js +0 -7
- package/dist/general/prices/coinGeckoTypes.d.ts +0 -16
- package/dist/general/prices/coinGeckoTypes.d.ts.map +0 -1
- package/dist/general/prices/coinGeckoTypes.js +0 -2
- package/dist/general/prices/prices.d.ts +0 -92
- package/dist/general/prices/prices.d.ts.map +0 -1
- package/dist/general/prices/prices.js +0 -124
- package/dist/general/providers/aftermath.d.ts +0 -200
- package/dist/general/providers/aftermath.d.ts.map +0 -1
- package/dist/general/providers/aftermath.js +0 -258
- package/dist/general/providers/aftermathApi.d.ts +0 -197
- package/dist/general/providers/aftermathApi.d.ts.map +0 -1
- package/dist/general/providers/aftermathApi.js +0 -255
- package/dist/general/providers/index.d.ts +0 -3
- package/dist/general/providers/index.d.ts.map +0 -1
- package/dist/general/providers/index.js +0 -18
- package/dist/general/types/castingTypes.d.ts +0 -51
- package/dist/general/types/castingTypes.d.ts.map +0 -1
- package/dist/general/types/castingTypes.js +0 -8
- package/dist/general/types/configTypes.d.ts +0 -187
- package/dist/general/types/configTypes.d.ts.map +0 -1
- package/dist/general/types/configTypes.js +0 -2
- package/dist/general/types/generalTypes.d.ts +0 -349
- package/dist/general/types/generalTypes.d.ts.map +0 -1
- package/dist/general/types/generalTypes.js +0 -2
- package/dist/general/types/index.d.ts +0 -7
- package/dist/general/types/index.d.ts.map +0 -1
- package/dist/general/types/index.js +0 -22
- package/dist/general/types/moveErrorsInterface.d.ts +0 -6
- package/dist/general/types/moveErrorsInterface.d.ts.map +0 -1
- package/dist/general/types/moveErrorsInterface.js +0 -2
- package/dist/general/types/suiTypes.d.ts +0 -2
- package/dist/general/types/suiTypes.d.ts.map +0 -1
- package/dist/general/types/suiTypes.js +0 -5
- package/dist/general/utils/caller.d.ts +0 -58
- package/dist/general/utils/caller.d.ts.map +0 -1
- package/dist/general/utils/caller.js +0 -231
- package/dist/general/utils/casting.d.ts +0 -212
- package/dist/general/utils/casting.d.ts.map +0 -1
- package/dist/general/utils/casting.js +0 -273
- package/dist/general/utils/fixedUtils.d.ts +0 -109
- package/dist/general/utils/fixedUtils.d.ts.map +0 -1
- package/dist/general/utils/fixedUtils.js +0 -100
- package/dist/general/utils/helpers.d.ts +0 -408
- package/dist/general/utils/helpers.d.ts.map +0 -1
- package/dist/general/utils/helpers.js +0 -725
- package/dist/general/utils/iFixedUtils.d.ts +0 -78
- package/dist/general/utils/iFixedUtils.d.ts.map +0 -1
- package/dist/general/utils/iFixedUtils.js +0 -109
- package/dist/general/utils/index.d.ts +0 -3
- package/dist/general/utils/index.d.ts.map +0 -1
- package/dist/general/utils/index.js +0 -18
- package/dist/general/wallet/wallet.d.ts +0 -89
- package/dist/general/wallet/wallet.d.ts.map +0 -1
- package/dist/general/wallet/wallet.js +0 -120
- package/dist/general/wallet/walletApi.d.ts +0 -20
- package/dist/general/wallet/walletApi.d.ts.map +0 -1
- package/dist/general/wallet/walletApi.js +0 -66
- package/dist/index.d.ts.map +0 -1
- package/dist/packages/auth/auth.d.ts +0 -135
- package/dist/packages/auth/auth.d.ts.map +0 -1
- package/dist/packages/auth/auth.js +0 -289
- package/dist/packages/auth/authTypes.d.ts +0 -102
- package/dist/packages/auth/authTypes.d.ts.map +0 -1
- package/dist/packages/auth/authTypes.js +0 -2
- package/dist/packages/auth/index.d.ts +0 -2
- package/dist/packages/auth/index.d.ts.map +0 -1
- package/dist/packages/auth/index.js +0 -17
- package/dist/packages/coin/api/coinApi.d.ts +0 -33
- package/dist/packages/coin/api/coinApi.d.ts.map +0 -1
- package/dist/packages/coin/api/coinApi.js +0 -167
- package/dist/packages/coin/coin.d.ts +0 -320
- package/dist/packages/coin/coin.d.ts.map +0 -1
- package/dist/packages/coin/coin.js +0 -467
- package/dist/packages/coin/coinTypes.d.ts +0 -139
- package/dist/packages/coin/coinTypes.d.ts.map +0 -1
- package/dist/packages/coin/coinTypes.js +0 -2
- package/dist/packages/coin/index.d.ts +0 -2
- package/dist/packages/coin/index.d.ts.map +0 -1
- package/dist/packages/coin/index.js +0 -17
- package/dist/packages/dca/api/dcaApi.d.ts +0 -26
- package/dist/packages/dca/api/dcaApi.d.ts.map +0 -1
- package/dist/packages/dca/api/dcaApi.js +0 -60
- package/dist/packages/dca/dca.d.ts +0 -174
- package/dist/packages/dca/dca.d.ts.map +0 -1
- package/dist/packages/dca/dca.js +0 -230
- package/dist/packages/dca/dcaTypes.d.ts +0 -319
- package/dist/packages/dca/dcaTypes.d.ts.map +0 -1
- package/dist/packages/dca/dcaTypes.js +0 -2
- package/dist/packages/dca/index.d.ts +0 -2
- package/dist/packages/dca/index.d.ts.map +0 -1
- package/dist/packages/dca/index.js +0 -17
- package/dist/packages/farms/api/farmsApi.d.ts +0 -996
- package/dist/packages/farms/api/farmsApi.d.ts.map +0 -1
- package/dist/packages/farms/api/farmsApi.js +0 -1826
- package/dist/packages/farms/api/farmsApiCasting.d.ts +0 -39
- package/dist/packages/farms/api/farmsApiCasting.d.ts.map +0 -1
- package/dist/packages/farms/api/farmsApiCasting.js +0 -427
- package/dist/packages/farms/api/farmsApiCastingTypes.d.ts +0 -235
- package/dist/packages/farms/api/farmsApiCastingTypes.d.ts.map +0 -1
- package/dist/packages/farms/api/farmsApiCastingTypes.js +0 -2
- package/dist/packages/farms/farms.d.ts +0 -221
- package/dist/packages/farms/farms.d.ts.map +0 -1
- package/dist/packages/farms/farms.js +0 -302
- package/dist/packages/farms/farmsStakedPosition.d.ts +0 -229
- package/dist/packages/farms/farmsStakedPosition.d.ts.map +0 -1
- package/dist/packages/farms/farmsStakedPosition.js +0 -473
- package/dist/packages/farms/farmsStakingPool.d.ts +0 -285
- package/dist/packages/farms/farmsStakingPool.d.ts.map +0 -1
- package/dist/packages/farms/farmsStakingPool.js +0 -488
- package/dist/packages/farms/farmsTypes.d.ts +0 -571
- package/dist/packages/farms/farmsTypes.d.ts.map +0 -1
- package/dist/packages/farms/farmsTypes.js +0 -49
- package/dist/packages/farms/index.d.ts +0 -4
- package/dist/packages/farms/index.d.ts.map +0 -1
- package/dist/packages/farms/index.js +0 -19
- package/dist/packages/faucet/api/faucetApi.d.ts +0 -37
- package/dist/packages/faucet/api/faucetApi.d.ts.map +0 -1
- package/dist/packages/faucet/api/faucetApi.js +0 -145
- package/dist/packages/faucet/api/faucetApiCasting.d.ts +0 -7
- package/dist/packages/faucet/api/faucetApiCasting.d.ts.map +0 -1
- package/dist/packages/faucet/api/faucetApiCasting.js +0 -33
- package/dist/packages/faucet/api/faucetApiCastingTypes.d.ts +0 -10
- package/dist/packages/faucet/api/faucetApiCastingTypes.d.ts.map +0 -1
- package/dist/packages/faucet/api/faucetApiCastingTypes.js +0 -2
- package/dist/packages/faucet/faucet.d.ts +0 -16
- package/dist/packages/faucet/faucet.d.ts.map +0 -1
- package/dist/packages/faucet/faucet.js +0 -64
- package/dist/packages/faucet/faucetTypes.d.ts +0 -20
- package/dist/packages/faucet/faucetTypes.d.ts.map +0 -1
- package/dist/packages/faucet/faucetTypes.js +0 -2
- package/dist/packages/faucet/index.d.ts +0 -2
- package/dist/packages/faucet/index.d.ts.map +0 -1
- package/dist/packages/faucet/index.js +0 -17
- package/dist/packages/index.d.ts +0 -14
- package/dist/packages/index.d.ts.map +0 -1
- package/dist/packages/index.js +0 -29
- package/dist/packages/leveragedStaking/api/leveragedStakingApi.d.ts +0 -202
- package/dist/packages/leveragedStaking/api/leveragedStakingApi.d.ts.map +0 -1
- package/dist/packages/leveragedStaking/api/leveragedStakingApi.js +0 -1104
- package/dist/packages/leveragedStaking/api/leveragedStakingApiCasting.d.ts +0 -12
- package/dist/packages/leveragedStaking/api/leveragedStakingApiCasting.d.ts.map +0 -1
- package/dist/packages/leveragedStaking/api/leveragedStakingApiCasting.js +0 -69
- package/dist/packages/leveragedStaking/api/leveragedStakingApiCastingTypes.d.ts +0 -39
- package/dist/packages/leveragedStaking/api/leveragedStakingApiCastingTypes.d.ts.map +0 -1
- package/dist/packages/leveragedStaking/api/leveragedStakingApiCastingTypes.js +0 -2
- package/dist/packages/leveragedStaking/index.d.ts +0 -2
- package/dist/packages/leveragedStaking/index.d.ts.map +0 -1
- package/dist/packages/leveragedStaking/index.js +0 -17
- package/dist/packages/leveragedStaking/leveragedStaking.d.ts +0 -68
- package/dist/packages/leveragedStaking/leveragedStaking.d.ts.map +0 -1
- package/dist/packages/leveragedStaking/leveragedStaking.js +0 -154
- package/dist/packages/leveragedStaking/leveragedStakingTypes.d.ts +0 -48
- package/dist/packages/leveragedStaking/leveragedStakingTypes.d.ts.map +0 -1
- package/dist/packages/leveragedStaking/leveragedStakingTypes.js +0 -16
- package/dist/packages/limitOrders/api/limitOrdersApi.d.ts +0 -12
- package/dist/packages/limitOrders/api/limitOrdersApi.d.ts.map +0 -1
- package/dist/packages/limitOrders/api/limitOrdersApi.js +0 -25
- package/dist/packages/limitOrders/index.d.ts +0 -2
- package/dist/packages/limitOrders/index.d.ts.map +0 -1
- package/dist/packages/limitOrders/index.js +0 -17
- package/dist/packages/limitOrders/limitOrders.d.ts +0 -143
- package/dist/packages/limitOrders/limitOrders.d.ts.map +0 -1
- package/dist/packages/limitOrders/limitOrders.js +0 -190
- package/dist/packages/limitOrders/limitOrdersTypes.d.ts +0 -211
- package/dist/packages/limitOrders/limitOrdersTypes.d.ts.map +0 -1
- package/dist/packages/limitOrders/limitOrdersTypes.js +0 -2
- package/dist/packages/multisig/api/multisigApi.d.ts +0 -10
- package/dist/packages/multisig/api/multisigApi.d.ts.map +0 -1
- package/dist/packages/multisig/api/multisigApi.js +0 -39
- package/dist/packages/multisig/index.d.ts +0 -2
- package/dist/packages/multisig/index.d.ts.map +0 -1
- package/dist/packages/multisig/index.js +0 -17
- package/dist/packages/multisig/multisig.d.ts +0 -46
- package/dist/packages/multisig/multisig.d.ts.map +0 -1
- package/dist/packages/multisig/multisig.js +0 -65
- package/dist/packages/multisig/multisigTypes.d.ts +0 -26
- package/dist/packages/multisig/multisigTypes.d.ts.map +0 -1
- package/dist/packages/multisig/multisigTypes.js +0 -2
- package/dist/packages/nftAmm/api/nftAmmApi.d.ts +0 -93
- package/dist/packages/nftAmm/api/nftAmmApi.d.ts.map +0 -1
- package/dist/packages/nftAmm/api/nftAmmApi.js +0 -250
- package/dist/packages/nftAmm/api/nftAmmApiCasting.d.ts +0 -6
- package/dist/packages/nftAmm/api/nftAmmApiCasting.d.ts.map +0 -1
- package/dist/packages/nftAmm/api/nftAmmApiCasting.js +0 -43
- package/dist/packages/nftAmm/api/nftAmmApiCastingTypes.d.ts +0 -10
- package/dist/packages/nftAmm/api/nftAmmApiCastingTypes.d.ts.map +0 -1
- package/dist/packages/nftAmm/api/nftAmmApiCastingTypes.js +0 -2
- package/dist/packages/nftAmm/index.d.ts +0 -2
- package/dist/packages/nftAmm/index.d.ts.map +0 -1
- package/dist/packages/nftAmm/index.js +0 -17
- package/dist/packages/nftAmm/nftAmm.d.ts +0 -18
- package/dist/packages/nftAmm/nftAmm.d.ts.map +0 -1
- package/dist/packages/nftAmm/nftAmm.js +0 -73
- package/dist/packages/nftAmm/nftAmmMarket.d.ts +0 -54
- package/dist/packages/nftAmm/nftAmmMarket.d.ts.map +0 -1
- package/dist/packages/nftAmm/nftAmmMarket.js +0 -154
- package/dist/packages/nftAmm/nftAmmTypes.d.ts +0 -51
- package/dist/packages/nftAmm/nftAmmTypes.d.ts.map +0 -1
- package/dist/packages/nftAmm/nftAmmTypes.js +0 -2
- package/dist/packages/perpetuals/api/perpetualsApi.d.ts +0 -44
- package/dist/packages/perpetuals/api/perpetualsApi.d.ts.map +0 -1
- package/dist/packages/perpetuals/api/perpetualsApi.js +0 -1420
- package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts +0 -27
- package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts.map +0 -1
- package/dist/packages/perpetuals/api/perpetualsApiCasting.js +0 -463
- package/dist/packages/perpetuals/index.d.ts +0 -5
- package/dist/packages/perpetuals/index.d.ts.map +0 -1
- package/dist/packages/perpetuals/index.js +0 -20
- package/dist/packages/perpetuals/perpetuals.d.ts +0 -860
- package/dist/packages/perpetuals/perpetuals.d.ts.map +0 -1
- package/dist/packages/perpetuals/perpetuals.js +0 -1102
- package/dist/packages/perpetuals/perpetualsAccount.d.ts +0 -780
- package/dist/packages/perpetuals/perpetualsAccount.d.ts.map +0 -1
- package/dist/packages/perpetuals/perpetualsAccount.js +0 -1406
- package/dist/packages/perpetuals/perpetualsCastingTypes.d.ts +0 -170
- package/dist/packages/perpetuals/perpetualsCastingTypes.d.ts.map +0 -1
- package/dist/packages/perpetuals/perpetualsCastingTypes.js +0 -2
- package/dist/packages/perpetuals/perpetualsMarket.d.ts +0 -360
- package/dist/packages/perpetuals/perpetualsMarket.d.ts.map +0 -1
- package/dist/packages/perpetuals/perpetualsMarket.js +0 -475
- package/dist/packages/perpetuals/perpetualsTypes.d.ts +0 -2968
- package/dist/packages/perpetuals/perpetualsTypes.d.ts.map +0 -1
- package/dist/packages/perpetuals/perpetualsTypes.js +0 -165
- package/dist/packages/perpetuals/perpetualsVault.d.ts +0 -438
- package/dist/packages/perpetuals/perpetualsVault.d.ts.map +0 -1
- package/dist/packages/perpetuals/perpetualsVault.js +0 -601
- package/dist/packages/perpetuals/utils/index.d.ts +0 -2
- package/dist/packages/perpetuals/utils/index.d.ts.map +0 -1
- package/dist/packages/perpetuals/utils/index.js +0 -17
- package/dist/packages/perpetuals/utils/perpetualsOrderUtils.d.ts +0 -12
- package/dist/packages/perpetuals/utils/perpetualsOrderUtils.d.ts.map +0 -1
- package/dist/packages/perpetuals/utils/perpetualsOrderUtils.js +0 -60
- package/dist/packages/pools/api/poolsApi.d.ts +0 -342
- package/dist/packages/pools/api/poolsApi.d.ts.map +0 -1
- package/dist/packages/pools/api/poolsApi.js +0 -857
- package/dist/packages/pools/api/poolsApiCasting.d.ts +0 -13
- package/dist/packages/pools/api/poolsApiCasting.d.ts.map +0 -1
- package/dist/packages/pools/api/poolsApiCasting.js +0 -91
- package/dist/packages/pools/api/poolsApiCastingTypes.d.ts +0 -64
- package/dist/packages/pools/api/poolsApiCastingTypes.d.ts.map +0 -1
- package/dist/packages/pools/api/poolsApiCastingTypes.js +0 -2
- package/dist/packages/pools/index.d.ts +0 -3
- package/dist/packages/pools/index.d.ts.map +0 -1
- package/dist/packages/pools/index.js +0 -18
- package/dist/packages/pools/pool.d.ts +0 -459
- package/dist/packages/pools/pool.d.ts.map +0 -1
- package/dist/packages/pools/pool.js +0 -647
- package/dist/packages/pools/pools.d.ts +0 -405
- package/dist/packages/pools/pools.d.ts.map +0 -1
- package/dist/packages/pools/pools.js +0 -533
- package/dist/packages/pools/poolsTypes.d.ts +0 -469
- package/dist/packages/pools/poolsTypes.d.ts.map +0 -1
- package/dist/packages/pools/poolsTypes.js +0 -2
- package/dist/packages/pools/utils/cmmmCalculations.d.ts +0 -42
- package/dist/packages/pools/utils/cmmmCalculations.d.ts.map +0 -1
- package/dist/packages/pools/utils/cmmmCalculations.js +0 -1380
- package/dist/packages/referralVault/api/referralVaultApi.d.ts +0 -39
- package/dist/packages/referralVault/api/referralVaultApi.d.ts.map +0 -1
- package/dist/packages/referralVault/api/referralVaultApi.js +0 -125
- package/dist/packages/referralVault/index.d.ts +0 -2
- package/dist/packages/referralVault/index.d.ts.map +0 -1
- package/dist/packages/referralVault/index.js +0 -17
- package/dist/packages/referralVault/referralVault.d.ts +0 -47
- package/dist/packages/referralVault/referralVault.d.ts.map +0 -1
- package/dist/packages/referralVault/referralVault.js +0 -71
- package/dist/packages/referralVault/referralVaultTypes.d.ts +0 -2
- package/dist/packages/referralVault/referralVaultTypes.d.ts.map +0 -1
- package/dist/packages/referralVault/referralVaultTypes.js +0 -2
- package/dist/packages/referrals/index.d.ts +0 -2
- package/dist/packages/referrals/index.d.ts.map +0 -1
- package/dist/packages/referrals/index.js +0 -17
- package/dist/packages/referrals/referrals.d.ts +0 -27
- package/dist/packages/referrals/referrals.d.ts.map +0 -1
- package/dist/packages/referrals/referrals.js +0 -95
- package/dist/packages/referrals/referralsTypes.d.ts +0 -166
- package/dist/packages/referrals/referralsTypes.d.ts.map +0 -1
- package/dist/packages/referrals/referralsTypes.js +0 -2
- package/dist/packages/rewards/index.d.ts +0 -2
- package/dist/packages/rewards/index.d.ts.map +0 -1
- package/dist/packages/rewards/index.js +0 -17
- package/dist/packages/rewards/rewards.d.ts +0 -21
- package/dist/packages/rewards/rewards.d.ts.map +0 -1
- package/dist/packages/rewards/rewards.js +0 -65
- package/dist/packages/rewards/rewardsTypes.d.ts +0 -169
- package/dist/packages/rewards/rewardsTypes.d.ts.map +0 -1
- package/dist/packages/rewards/rewardsTypes.js +0 -2
- package/dist/packages/router/api/routerApi.d.ts +0 -35
- package/dist/packages/router/api/routerApi.d.ts.map +0 -1
- package/dist/packages/router/api/routerApi.js +0 -88
- package/dist/packages/router/api/routerApiCasting.d.ts +0 -6
- package/dist/packages/router/api/routerApiCasting.d.ts.map +0 -1
- package/dist/packages/router/api/routerApiCasting.js +0 -22
- package/dist/packages/router/api/routerApiCastingTypes.d.ts +0 -12
- package/dist/packages/router/api/routerApiCastingTypes.d.ts.map +0 -1
- package/dist/packages/router/api/routerApiCastingTypes.js +0 -2
- package/dist/packages/router/index.d.ts +0 -2
- package/dist/packages/router/index.d.ts.map +0 -1
- package/dist/packages/router/index.js +0 -17
- package/dist/packages/router/router.d.ts +0 -224
- package/dist/packages/router/router.d.ts.map +0 -1
- package/dist/packages/router/router.js +0 -283
- package/dist/packages/router/routerTypes.d.ts +0 -300
- package/dist/packages/router/routerTypes.d.ts.map +0 -1
- package/dist/packages/router/routerTypes.js +0 -2
- package/dist/packages/staking/api/stakingApi.d.ts +0 -129
- package/dist/packages/staking/api/stakingApi.d.ts.map +0 -1
- package/dist/packages/staking/api/stakingApi.js +0 -487
- package/dist/packages/staking/api/stakingApiCasting.d.ts +0 -11
- package/dist/packages/staking/api/stakingApiCasting.d.ts.map +0 -1
- package/dist/packages/staking/api/stakingApiCasting.js +0 -87
- package/dist/packages/staking/api/stakingApiCastingTypes.d.ts +0 -97
- package/dist/packages/staking/api/stakingApiCastingTypes.d.ts.map +0 -1
- package/dist/packages/staking/api/stakingApiCastingTypes.js +0 -2
- package/dist/packages/staking/index.d.ts +0 -2
- package/dist/packages/staking/index.d.ts.map +0 -1
- package/dist/packages/staking/index.js +0 -17
- package/dist/packages/staking/staking.d.ts +0 -385
- package/dist/packages/staking/staking.d.ts.map +0 -1
- package/dist/packages/staking/staking.js +0 -501
- package/dist/packages/staking/stakingTypes.d.ts +0 -575
- package/dist/packages/staking/stakingTypes.d.ts.map +0 -1
- package/dist/packages/staking/stakingTypes.js +0 -45
- package/dist/packages/sui/api/suiApi.d.ts +0 -21
- package/dist/packages/sui/api/suiApi.d.ts.map +0 -1
- package/dist/packages/sui/api/suiApi.js +0 -46
- package/dist/packages/sui/index.d.ts +0 -2
- package/dist/packages/sui/index.d.ts.map +0 -1
- package/dist/packages/sui/index.js +0 -17
- package/dist/packages/sui/sui.d.ts +0 -53
- package/dist/packages/sui/sui.d.ts.map +0 -1
- package/dist/packages/sui/sui.js +0 -77
- package/dist/packages/suiFrens/api/suiFrensApi.d.ts +0 -204
- package/dist/packages/suiFrens/api/suiFrensApi.d.ts.map +0 -1
- package/dist/packages/suiFrens/api/suiFrensApi.js +0 -756
- package/dist/packages/suiFrens/api/suiFrensApiCasting.d.ts +0 -21
- package/dist/packages/suiFrens/api/suiFrensApiCasting.d.ts.map +0 -1
- package/dist/packages/suiFrens/api/suiFrensApiCasting.js +0 -181
- package/dist/packages/suiFrens/api/suiFrensApiCastingTypes.d.ts +0 -77
- package/dist/packages/suiFrens/api/suiFrensApiCastingTypes.d.ts.map +0 -1
- package/dist/packages/suiFrens/api/suiFrensApiCastingTypes.js +0 -2
- package/dist/packages/suiFrens/index.d.ts +0 -4
- package/dist/packages/suiFrens/index.d.ts.map +0 -1
- package/dist/packages/suiFrens/index.js +0 -19
- package/dist/packages/suiFrens/stakedSuiFren.d.ts +0 -31
- package/dist/packages/suiFrens/stakedSuiFren.d.ts.map +0 -1
- package/dist/packages/suiFrens/stakedSuiFren.js +0 -90
- package/dist/packages/suiFrens/suiFren.d.ts +0 -32
- package/dist/packages/suiFrens/suiFren.d.ts.map +0 -1
- package/dist/packages/suiFrens/suiFren.js +0 -150
- package/dist/packages/suiFrens/suiFrens.d.ts +0 -56
- package/dist/packages/suiFrens/suiFrens.d.ts.map +0 -1
- package/dist/packages/suiFrens/suiFrens.js +0 -218
- package/dist/packages/suiFrens/suiFrensTypes.d.ts +0 -148
- package/dist/packages/suiFrens/suiFrensTypes.d.ts.map +0 -1
- package/dist/packages/suiFrens/suiFrensTypes.js +0 -8
- package/dist/packages/userData/index.d.ts +0 -2
- package/dist/packages/userData/index.d.ts.map +0 -1
- package/dist/packages/userData/index.js +0 -17
- package/dist/packages/userData/userData.d.ts +0 -89
- package/dist/packages/userData/userData.d.ts.map +0 -1
- package/dist/packages/userData/userData.js +0 -119
- package/dist/packages/userData/userDataTypes.d.ts +0 -29
- package/dist/packages/userData/userDataTypes.d.ts.map +0 -1
- package/dist/packages/userData/userDataTypes.js +0 -2
- package/dist/types.d.ts +0 -15
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -31
|
@@ -1,2968 +0,0 @@
|
|
|
1
|
-
import { AnyObjectType, Balance, Byte, Event, ObjectDigest, ObjectId, ObjectVersion, PackageId, Percentage, SerializedTransaction, Slippage, SuiAddress, Timestamp, TransactionDigest } from "../../general/types/generalTypes";
|
|
2
|
-
import { CoinDecimal, CoinSymbol, CoinType } from "../coin/coinTypes";
|
|
3
|
-
import { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
|
|
4
|
-
/**
|
|
5
|
-
* Unique identifier for a perpetuals market, represented as a Sui object ID
|
|
6
|
-
* (i.e. the `ClearingHouse` object on-chain).
|
|
7
|
-
*/
|
|
8
|
-
export type PerpetualsMarketId = ObjectId;
|
|
9
|
-
/**
|
|
10
|
-
* Unique numeric identifier for a perpetuals account.
|
|
11
|
-
*
|
|
12
|
-
* This is a bigint, as it is derived directly from the on-chain representation.
|
|
13
|
-
*/
|
|
14
|
-
export type PerpetualsAccountId = bigint;
|
|
15
|
-
/**
|
|
16
|
-
* Unique numeric identifier for a perpetuals order.
|
|
17
|
-
*
|
|
18
|
-
* This ID is stable across events and API responses.
|
|
19
|
-
*/
|
|
20
|
-
export type PerpetualsOrderId = bigint;
|
|
21
|
-
/**
|
|
22
|
-
* String representation of a {@link PerpetualsOrderId}.
|
|
23
|
-
*
|
|
24
|
-
* Some APIs serialize order IDs as strings instead of `bigint`.
|
|
25
|
-
*/
|
|
26
|
-
export type PerpetualsOrderIdAsString = string;
|
|
27
|
-
/**
|
|
28
|
-
* Price type for orders, represented as a fixed-point `bigint` in the
|
|
29
|
-
* on-chain format (e.g., scaled by `1e9`).
|
|
30
|
-
*/
|
|
31
|
-
export type PerpetualsOrderPrice = bigint;
|
|
32
|
-
/**
|
|
33
|
-
* Side of a perpetuals order.
|
|
34
|
-
*
|
|
35
|
-
* - `Bid` (0): Long-side orders / buyers.
|
|
36
|
-
* - `Ask` (1): Short-side orders / sellers.
|
|
37
|
-
*/
|
|
38
|
-
export declare enum PerpetualsOrderSide {
|
|
39
|
-
Ask = 1,// true
|
|
40
|
-
Bid = 0
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Order execution and posting behavior.
|
|
44
|
-
*
|
|
45
|
-
* - `Standard`: No special constraints.
|
|
46
|
-
* - `FillOrKill`: Either fully fills immediately or cancels.
|
|
47
|
-
* - `PostOnly`: Only posts to the book; will not take liquidity.
|
|
48
|
-
* - `ImmediateOrCancel`: Fills as much as possible immediately; remainder is canceled.
|
|
49
|
-
*/
|
|
50
|
-
export declare enum PerpetualsOrderType {
|
|
51
|
-
Standard = 0,
|
|
52
|
-
FillOrKill = 1,
|
|
53
|
-
PostOnly = 2,
|
|
54
|
-
ImmediateOrCancel = 3
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Stop order mode.
|
|
58
|
-
*
|
|
59
|
-
* - `SlTp`: Stop Loss / Take Profit order, intended to close a position
|
|
60
|
-
* (fully or partially).
|
|
61
|
-
* - `Standalone`: Independent stop order that can both reduce or increase
|
|
62
|
-
* the position, potentially requiring additional allocated collateral.
|
|
63
|
-
*/
|
|
64
|
-
export declare enum PerpetualsStopOrderType {
|
|
65
|
-
/**
|
|
66
|
-
* Stop Loss / Take Profit stop order. Can to be placed to close (fully or partially)
|
|
67
|
-
* the position.
|
|
68
|
-
*/
|
|
69
|
-
SlTp = 0,
|
|
70
|
-
/**
|
|
71
|
-
* Stop order that can be both reduce or increase the position's size. May require
|
|
72
|
-
* some collateral to be allocated to be able to be placed.
|
|
73
|
-
*/
|
|
74
|
-
Standalone = 1
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Aggregate market configuration and state for a single perpetuals market.
|
|
78
|
-
*/
|
|
79
|
-
export interface PerpetualsMarketData {
|
|
80
|
-
/** Package ID of the deployed perpetuals contract. */
|
|
81
|
-
packageId: PackageId;
|
|
82
|
-
/** Object ID for the market (clearing house) on-chain. */
|
|
83
|
-
objectId: ObjectId;
|
|
84
|
-
/** Collateral coin type used for margin in this market. */
|
|
85
|
-
collateralCoinType: CoinType;
|
|
86
|
-
/** Static configuration parameters for this market. */
|
|
87
|
-
marketParams: PerpetualsMarketParams;
|
|
88
|
-
/** Dynamic runtime state (funding, open interest, etc.). */
|
|
89
|
-
marketState: PerpetualsMarketState;
|
|
90
|
-
/** Current price of collateral in USD or the platform's base unit. */
|
|
91
|
-
collateralPrice: number;
|
|
92
|
-
/** Oracle/index price of the base asset for this market. */
|
|
93
|
-
indexPrice: number;
|
|
94
|
-
/** Estimated funding rate for the next funding interval. */
|
|
95
|
-
estimatedFundingRate: Percentage;
|
|
96
|
-
/** Timestamp (ms) for the next funding event, as a bigint. */
|
|
97
|
-
nextFundingTimestampMs: bigint;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* On-chain capability object that grants control over a perpetuals account.
|
|
101
|
-
*
|
|
102
|
-
* This represents an "owned" account capability, used to sign and authorize
|
|
103
|
-
* account-level actions.
|
|
104
|
-
*/
|
|
105
|
-
export interface PerpetualsAccountCap {
|
|
106
|
-
/** Object ID of the account capability on-chain. */
|
|
107
|
-
objectId: ObjectId;
|
|
108
|
-
/** Wallet address that owns this account capability. */
|
|
109
|
-
walletAddress: SuiAddress;
|
|
110
|
-
/** Logical ID of the associated perpetuals account. */
|
|
111
|
-
accountId: PerpetualsAccountId;
|
|
112
|
-
/** Object ID of the associated `PerpetualsAccountObject`. */
|
|
113
|
-
accountObjectId: ObjectId;
|
|
114
|
-
/** Collateral coin type backing this account. */
|
|
115
|
-
collateralCoinType: CoinType;
|
|
116
|
-
/** Total collateral (native units) associated with this account. */
|
|
117
|
-
collateral: number;
|
|
118
|
-
/** On-chain object version. */
|
|
119
|
-
objectVersion: ObjectVersion;
|
|
120
|
-
/** On-chain object digest. */
|
|
121
|
-
objectDigest: ObjectDigest;
|
|
122
|
-
/** True if this account cap was allocated to an agent wallet from the admin account cap owner. */
|
|
123
|
-
isAgent: boolean;
|
|
124
|
-
/** Initial shared version of the underlying perpetuals `Account` object. Required when constructing transactions that reference the shared account object. */
|
|
125
|
-
accountObjectInitialSharedVersion: ObjectVersion;
|
|
126
|
-
/** Sui object IDs of agent account caps that have been whitelisted to operate on behalf of this account. */
|
|
127
|
-
whitelistedAgentCapIds: ObjectId[];
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Base vault-capability object, as represented on-chain.
|
|
131
|
-
*/
|
|
132
|
-
export interface PerpetualsVaultCap {
|
|
133
|
-
/** Vault object ID that this cap grants permissions for. */
|
|
134
|
-
vaultId: ObjectId;
|
|
135
|
-
/** Capability object ID. */
|
|
136
|
-
objectId: ObjectId;
|
|
137
|
-
/** Owner of the vault-capability. */
|
|
138
|
-
ownerAddress: SuiAddress;
|
|
139
|
-
/** Collateral coin type used by the vault account. */
|
|
140
|
-
collateralCoinType: CoinType;
|
|
141
|
-
/** Perpetuals account ID controlled by the vault. */
|
|
142
|
-
accountId: PerpetualsAccountId;
|
|
143
|
-
/** Object ID of the account object owned by the vault. */
|
|
144
|
-
accountObjectId: ObjectId;
|
|
145
|
-
}
|
|
146
|
-
export type PerpetualsPartialVaultCap = Omit<PerpetualsVaultCap, "objectId">;
|
|
147
|
-
/**
|
|
148
|
-
* Representation of an LP (share) coin position for a specific vault.
|
|
149
|
-
*
|
|
150
|
-
* This is typically returned by API endpoints that enumerate a wallet's vault
|
|
151
|
-
* positions. `lpAmount` is the raw on-chain balance for the vault's LP coin type.
|
|
152
|
-
*
|
|
153
|
-
* Notes:
|
|
154
|
-
* - `lpAmountUsd` is a convenience valuation derived from current vault TVL and LP supply.
|
|
155
|
-
* - The LP coin itself is an on-chain `Coin<T>` object, but here we expose the derived,
|
|
156
|
-
* aggregated view needed by UIs.
|
|
157
|
-
*/
|
|
158
|
-
export interface PerpetualsVaultLpCoin {
|
|
159
|
-
/** Vault identifier that minted the LP coin. */
|
|
160
|
-
vaultId: ObjectId;
|
|
161
|
-
/** Object ID of the specific LP coin object held by the user. */
|
|
162
|
-
objectId: ObjectId;
|
|
163
|
-
/** Raw LP token amount (native units; not human-decimal adjusted). */
|
|
164
|
-
lpAmount: Balance;
|
|
165
|
-
/** Estimated USD value of `lpAmount` at query time. */
|
|
166
|
-
lpAmountUsd: number;
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Aggregate position data for a single perpetuals market and account.
|
|
170
|
-
*
|
|
171
|
-
* Values are generally denoted in:
|
|
172
|
-
* - Base asset units (e.g. BTC)
|
|
173
|
-
* - Quote units (e.g. USD)
|
|
174
|
-
* - Collateral units (per `collateralCoinType`)
|
|
175
|
-
*/
|
|
176
|
-
export interface PerpetualsPosition {
|
|
177
|
-
/** Allocated collateral (in collateral coins). */
|
|
178
|
-
collateral: number;
|
|
179
|
-
/** Net base asset amount (positive = long, negative = short). */
|
|
180
|
-
baseAssetAmount: number;
|
|
181
|
-
/** Notional exposure of the position in quote units. */
|
|
182
|
-
quoteAssetNotionalAmount: number;
|
|
183
|
-
/** Cumulative funding rate accrued on the long side. */
|
|
184
|
-
cumFundingRateLong: number;
|
|
185
|
-
/** Cumulative funding rate accrued on the short side. */
|
|
186
|
-
cumFundingRateShort: number;
|
|
187
|
-
/** Aggregate size of resting asks in this market for the account. */
|
|
188
|
-
asksQuantity: number;
|
|
189
|
-
/** Aggregate size of resting bids in this market for the account. */
|
|
190
|
-
bidsQuantity: number;
|
|
191
|
-
/** Market identifier for this position. */
|
|
192
|
-
marketId: PerpetualsMarketId;
|
|
193
|
-
/** All pending (open) orders associated with this position. */
|
|
194
|
-
pendingOrders: {
|
|
195
|
-
/** Unique ID of the order. */
|
|
196
|
-
orderId: PerpetualsOrderId;
|
|
197
|
-
/** Side of the order (Bid/Ask). */
|
|
198
|
-
side: PerpetualsOrderSide;
|
|
199
|
-
/** Current size remaining of the order in base units (scaled as bigint). */
|
|
200
|
-
currentSize: bigint;
|
|
201
|
-
/** Initial size of the order in base units (scaled as bigint). */
|
|
202
|
-
initialSize: bigint;
|
|
203
|
-
}[];
|
|
204
|
-
/** Maker fee rate applied to this position (as a fraction). */
|
|
205
|
-
makerFee: Percentage;
|
|
206
|
-
/** Taker fee rate applied to this position (as a fraction). */
|
|
207
|
-
takerFee: Percentage;
|
|
208
|
-
/** Effective leverage applied to the position. */
|
|
209
|
-
leverage: number;
|
|
210
|
-
/** Collateral value in USD. */
|
|
211
|
-
collateralUsd: number;
|
|
212
|
-
/** Current margin ratio (collateral / exposure). */
|
|
213
|
-
marginRatio: number;
|
|
214
|
-
/** Free margin available in USD. */
|
|
215
|
-
freeMarginUsd: number;
|
|
216
|
-
/** Free (unlocked) collateral in collateral units. */
|
|
217
|
-
freeCollateral: number;
|
|
218
|
-
/** Unrealized funding PnL in USD. */
|
|
219
|
-
unrealizedFundingsUsd: number;
|
|
220
|
-
/** Unrealized position PnL in USD. */
|
|
221
|
-
unrealizedPnlUsd: number;
|
|
222
|
-
/** Average entry price of the position. */
|
|
223
|
-
entryPrice: number;
|
|
224
|
-
/** Approximate liquidation price for the position. */
|
|
225
|
-
liquidationPrice: number;
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Static configuration parameters describing a perpetuals market.
|
|
229
|
-
*
|
|
230
|
-
* These values are typically immutable or rarely changed, and are used
|
|
231
|
-
* to drive risk limits, pricing, and fee schedules.
|
|
232
|
-
*/
|
|
233
|
-
export interface PerpetualsMarketParams {
|
|
234
|
-
/** Initial margin requirement for new positions (fraction). */
|
|
235
|
-
marginRatioInitial: number;
|
|
236
|
-
/** Maintenance margin requirement for open positions (fraction). */
|
|
237
|
-
marginRatioMaintenance: number;
|
|
238
|
-
/** Symbol of the underlying asset. */
|
|
239
|
-
baseAssetSymbol: CoinSymbol;
|
|
240
|
-
/** On-chain ID of the oracle providing the base asset price. */
|
|
241
|
-
basePriceFeedId: ObjectId;
|
|
242
|
-
/** On-chain ID of the oracle providing the collateral asset price. */
|
|
243
|
-
collateralPriceFeedId: ObjectId;
|
|
244
|
-
/** Funding interval duration in milliseconds. */
|
|
245
|
-
fundingFrequencyMs: bigint;
|
|
246
|
-
/** Funding period used for calculations in milliseconds. */
|
|
247
|
-
fundingPeriodMs: bigint;
|
|
248
|
-
/** TWAP frequency for the premium in milliseconds. */
|
|
249
|
-
premiumTwapFrequencyMs: bigint;
|
|
250
|
-
/** TWAP period for the premium in milliseconds. */
|
|
251
|
-
premiumTwapPeriodMs: bigint;
|
|
252
|
-
/** TWAP frequency for the spread in milliseconds. */
|
|
253
|
-
spreadTwapFrequencyMs: bigint;
|
|
254
|
-
/** TWAP period for the spread in milliseconds. */
|
|
255
|
-
spreadTwapPeriodMs: bigint;
|
|
256
|
-
/** TWAP period for gas price in milliseconds. */
|
|
257
|
-
gasPriceTwapPeriodMs: bigint;
|
|
258
|
-
/** Maker fee rate (fraction) charged for providing liquidity. */
|
|
259
|
-
makerFee: Percentage;
|
|
260
|
-
/** Taker fee rate (fraction) charged for taking liquidity. */
|
|
261
|
-
takerFee: Percentage;
|
|
262
|
-
/** Liquidation fee rate (fraction) charged on liquidations. */
|
|
263
|
-
liquidationFee: Percentage;
|
|
264
|
-
/** Fee rate (fraction) for forced cancellation. */
|
|
265
|
-
forceCancelFee: Percentage;
|
|
266
|
-
/** Fraction of fees directed to the insurance fund. */
|
|
267
|
-
insuranceFundFee: Percentage;
|
|
268
|
-
/** Minimum notional order value in USD. */
|
|
269
|
-
minOrderUsdValue: number;
|
|
270
|
-
/** Minimum base size increment for orders (lot size, scaled bigint). */
|
|
271
|
-
lotSize: bigint;
|
|
272
|
-
/** Minimum price increment (tick size, scaled bigint). */
|
|
273
|
-
tickSize: bigint;
|
|
274
|
-
/** Scaling factor used in internal fixed-point conversions. */
|
|
275
|
-
scalingFactor: number;
|
|
276
|
-
/** Additional taker fee that depends on gas cost. */
|
|
277
|
-
gasPriceTakerFee: Percentage;
|
|
278
|
-
/** Z-score threshold used for outlier detection in pricing. */
|
|
279
|
-
zScoreThreshold: number;
|
|
280
|
-
/** Maximum open interest (notional or base) allowed in the market. */
|
|
281
|
-
maxPendingOrders: bigint;
|
|
282
|
-
/** Oracle tolerance for the base asset price (scaled bigint). */
|
|
283
|
-
baseOracleTolerance: bigint;
|
|
284
|
-
/** Oracle tolerance for the collateral price (scaled bigint). */
|
|
285
|
-
collateralOracleTolerance: bigint;
|
|
286
|
-
/** Maximum open interest (absolute). */
|
|
287
|
-
maxOpenInterest: number;
|
|
288
|
-
/** Threshold above which open interest is considered elevated. */
|
|
289
|
-
maxOpenInterestThreshold: number;
|
|
290
|
-
/** Maximum fraction of open interest a single position can hold. */
|
|
291
|
-
maxOpenInterestPositionPercent: number;
|
|
292
|
-
}
|
|
293
|
-
/**
|
|
294
|
-
* Dynamic runtime state of a perpetuals market.
|
|
295
|
-
*
|
|
296
|
-
* These values are updated frequently and used to compute funding
|
|
297
|
-
* and other time-variant metrics.
|
|
298
|
-
*/
|
|
299
|
-
export interface PerpetualsMarketState {
|
|
300
|
-
/** Cumulative funding rate for long positions. */
|
|
301
|
-
cumFundingRateLong: number;
|
|
302
|
-
/** Cumulative funding rate for short positions. */
|
|
303
|
-
cumFundingRateShort: number;
|
|
304
|
-
/** Last timestamp when funding was updated. */
|
|
305
|
-
fundingLastUpdateTimestamp: Timestamp;
|
|
306
|
-
/** Premium TWAP value (book vs index). */
|
|
307
|
-
premiumTwap: number;
|
|
308
|
-
/** Timestamp of last premium TWAP update. */
|
|
309
|
-
premiumTwapLastUpdateTimestamp: Timestamp;
|
|
310
|
-
/** Spread TWAP value. */
|
|
311
|
-
spreadTwap: number;
|
|
312
|
-
/** Timestamp of last spread TWAP update. */
|
|
313
|
-
spreadTwapLastUpdateTimestamp: Timestamp;
|
|
314
|
-
/** Current open interest in the market. */
|
|
315
|
-
openInterest: number;
|
|
316
|
-
/** Total fees accrued by the market. */
|
|
317
|
-
feesAccrued: number;
|
|
318
|
-
}
|
|
319
|
-
/**
|
|
320
|
-
* Single OHLCV data point for a market candle.
|
|
321
|
-
*
|
|
322
|
-
* Typically used in charts and historical data views.
|
|
323
|
-
*/
|
|
324
|
-
export interface PerpetualsMarketCandleDataPoint {
|
|
325
|
-
/** Start timestamp of this candle. */
|
|
326
|
-
timestamp: Timestamp;
|
|
327
|
-
/** High price within this interval. */
|
|
328
|
-
high: number;
|
|
329
|
-
/** Low price within this interval. */
|
|
330
|
-
low: number;
|
|
331
|
-
/** Open price at the beginning of the interval. */
|
|
332
|
-
open: number;
|
|
333
|
-
/** Close price at the end of the interval. */
|
|
334
|
-
close: number;
|
|
335
|
-
/** Traded volume (base units) during the interval. */
|
|
336
|
-
volume: number;
|
|
337
|
-
}
|
|
338
|
-
/**
|
|
339
|
-
* A single entry (price level) in an orderbook side.
|
|
340
|
-
*/
|
|
341
|
-
export interface PerpetualsOrderbookItem {
|
|
342
|
-
/** Total size resting at this price level (base units). */
|
|
343
|
-
size: number;
|
|
344
|
-
/** Price level for the aggregated orders. */
|
|
345
|
-
price: number;
|
|
346
|
-
}
|
|
347
|
-
/**
|
|
348
|
-
* Aggregated orderbook snapshot for a perpetuals market.
|
|
349
|
-
*/
|
|
350
|
-
export interface PerpetualsOrderbook {
|
|
351
|
-
/** Bid-side price levels (sorted descending by price). */
|
|
352
|
-
bids: PerpetualsOrderbookItem[];
|
|
353
|
-
/** Ask-side price levels (sorted ascending by price). */
|
|
354
|
-
asks: PerpetualsOrderbookItem[];
|
|
355
|
-
/** Sum of bid-side size across all levels. */
|
|
356
|
-
asksTotalSize: number;
|
|
357
|
-
/** Sum of ask-side size across all levels. */
|
|
358
|
-
bidsTotalSize: number;
|
|
359
|
-
/** Best bid price (highest bid), or undefined if no bids. */
|
|
360
|
-
bestBidPrice: number | undefined;
|
|
361
|
-
/** Best ask price (lowest ask), or undefined if no asks. */
|
|
362
|
-
bestAskPrice: number | undefined;
|
|
363
|
-
/** Mid price between best bid and best ask, if both exist. */
|
|
364
|
-
midPrice: number | undefined;
|
|
365
|
-
/** Incremental nonce associated with this snapshot. */
|
|
366
|
-
nonce: bigint;
|
|
367
|
-
}
|
|
368
|
-
/**
|
|
369
|
-
* Incremental deltas to an orderbook snapshot.
|
|
370
|
-
*
|
|
371
|
-
* These are typically used over websockets for streaming updates.
|
|
372
|
-
*/
|
|
373
|
-
export interface PerpetualsOrderbookDeltas {
|
|
374
|
-
/** Updated bid-side price levels. */
|
|
375
|
-
bidsDeltas: PerpetualsOrderbookItem[];
|
|
376
|
-
/** Updated ask-side price levels. */
|
|
377
|
-
asksDeltas: PerpetualsOrderbookItem[];
|
|
378
|
-
/** Delta of total ask-side size. */
|
|
379
|
-
asksTotalSizeDelta: number;
|
|
380
|
-
/** Delta of total bid-side size. */
|
|
381
|
-
bidsTotalSizeDelta: number;
|
|
382
|
-
/** Nonce for ordering deltas. */
|
|
383
|
-
nonce: bigint;
|
|
384
|
-
}
|
|
385
|
-
/**
|
|
386
|
-
* Core order metadata for perpetuals orders.
|
|
387
|
-
*
|
|
388
|
-
* This is shared across multiple internal and external APIs.
|
|
389
|
-
*/
|
|
390
|
-
export interface PerpetualsOrderData {
|
|
391
|
-
/** Unique ID of the order. */
|
|
392
|
-
orderId: PerpetualsOrderId;
|
|
393
|
-
/** Initial order size in scaled base units. */
|
|
394
|
-
initialSize: bigint;
|
|
395
|
-
/** Current size remaining in scaled base units. */
|
|
396
|
-
currentSize: bigint;
|
|
397
|
-
/** Order side (Bid or Ask). */
|
|
398
|
-
side: PerpetualsOrderSide;
|
|
399
|
-
/** Market this order belongs to. */
|
|
400
|
-
marketId: PerpetualsMarketId;
|
|
401
|
-
}
|
|
402
|
-
/**
|
|
403
|
-
* Optional integrator fee configuration for an order.
|
|
404
|
-
*
|
|
405
|
-
* When provided, this allows an approved integrator to collect a fee on the taker
|
|
406
|
-
* volume generated by this order. The integrator must have been previously approved
|
|
407
|
-
* by the user via the create-integration endpoint, and the taker fee must not exceed
|
|
408
|
-
* the maximum fee approved by the user.
|
|
409
|
-
*/
|
|
410
|
-
export interface PerpetualsBuilderCodeParamaters {
|
|
411
|
-
/**
|
|
412
|
-
* Sui address of the integrator who will receive the fee.
|
|
413
|
-
*
|
|
414
|
-
* This integrator must have been previously approved by the account owner,
|
|
415
|
-
* and must have a vault created for the market where the order is being placed.
|
|
416
|
-
*/
|
|
417
|
-
integratorAddress: SuiAddress;
|
|
418
|
-
/**
|
|
419
|
-
* Taker fee (as a decimal) to be charged on this order's taker volume.
|
|
420
|
-
*
|
|
421
|
-
* For example, 0.0005 represents a 0.05% fee. This value must not exceed
|
|
422
|
-
* the maximum taker fee that the user approved for this integrator.
|
|
423
|
-
* The fee is only applied to taker volume (not maker volume).
|
|
424
|
-
*/
|
|
425
|
-
takerFee: Percentage;
|
|
426
|
-
}
|
|
427
|
-
/**
|
|
428
|
-
* Full stop-order representation on-chain.
|
|
429
|
-
*
|
|
430
|
-
* Can represent:
|
|
431
|
-
* - SL/TP orders (`slTp`)
|
|
432
|
-
* - Standalone stops (`nonSlTp`)
|
|
433
|
-
*/
|
|
434
|
-
export interface PerpetualsStopOrderData {
|
|
435
|
-
/** ID of the stop order object on-chain. */
|
|
436
|
-
objectId: ObjectId;
|
|
437
|
-
/** Market the stop order is tied to. */
|
|
438
|
-
marketId: PerpetualsMarketId;
|
|
439
|
-
/** Size to execute when triggered (scaled base units). */
|
|
440
|
-
size: bigint;
|
|
441
|
-
/** Direction of the stop order. */
|
|
442
|
-
side: PerpetualsOrderSide;
|
|
443
|
-
/** Optional expiration time (ms or seconds, depending on protocol). */
|
|
444
|
-
expiryTimestamp?: bigint;
|
|
445
|
-
/** Optional limit order parameters when the stop triggers. */
|
|
446
|
-
limitOrder?: {
|
|
447
|
-
/** Limit price to post or execute at, scaled bigint. */
|
|
448
|
-
price: bigint;
|
|
449
|
-
/** Order type semantics. */
|
|
450
|
-
orderType: PerpetualsOrderType;
|
|
451
|
-
};
|
|
452
|
-
/** Stop loss / take profit configuration. */
|
|
453
|
-
slTp?: {
|
|
454
|
-
/** Index price at which to trigger a stop loss. */
|
|
455
|
-
stopLossIndexPrice?: number;
|
|
456
|
-
/** Index price at which to take profit. */
|
|
457
|
-
takeProfitIndexPrice?: number;
|
|
458
|
-
/** Unique order identifier for limit order sl/tp is tied to. */
|
|
459
|
-
limitOrderId?: PerpetualsOrderId;
|
|
460
|
-
};
|
|
461
|
-
/** Non-SL/TP standalone stop configuration. */
|
|
462
|
-
nonSlTp?: {
|
|
463
|
-
/** Index price threshold used for triggering. */
|
|
464
|
-
stopIndexPrice: number;
|
|
465
|
-
/** If true, triggers when index >= threshold, otherwise index <= threshold. */
|
|
466
|
-
triggerIfGeStopIndexPrice: boolean;
|
|
467
|
-
/** Whether the stop can only reduce an existing position. */
|
|
468
|
-
reduceOnly: boolean;
|
|
469
|
-
};
|
|
470
|
-
}
|
|
471
|
-
/**
|
|
472
|
-
* Filled order data used in execution price previews and trade details.
|
|
473
|
-
*/
|
|
474
|
-
export interface PerpetualsFilledOrderData {
|
|
475
|
-
/** Filled size in base units (non-scaled). */
|
|
476
|
-
size: number;
|
|
477
|
-
/** Execution price for the fill. */
|
|
478
|
-
price: number;
|
|
479
|
-
}
|
|
480
|
-
/**
|
|
481
|
-
* High-level order info with price and size only.
|
|
482
|
-
*/
|
|
483
|
-
export interface PerpetualsOrderInfo {
|
|
484
|
-
/** Order price. */
|
|
485
|
-
price: number;
|
|
486
|
-
/** Order size (scaled base units). */
|
|
487
|
-
size: bigint;
|
|
488
|
-
}
|
|
489
|
-
/**
|
|
490
|
-
* Pairing of a perpetuals account capability and its current account state.
|
|
491
|
-
*/
|
|
492
|
-
export interface PerpetualsAccountData {
|
|
493
|
-
/** Account capability object. */
|
|
494
|
-
accountCap: PerpetualsAccountCap;
|
|
495
|
-
/** Account state object. */
|
|
496
|
-
account: PerpetualsAccountObject;
|
|
497
|
-
}
|
|
498
|
-
/**
|
|
499
|
-
* Aggregate account-level metrics for perpetuals.
|
|
500
|
-
*/
|
|
501
|
-
export interface PerpetualsAccountObject {
|
|
502
|
-
/** Numeric ID of the account. */
|
|
503
|
-
accountId: PerpetualsAccountId;
|
|
504
|
-
/** Total equity in USD. */
|
|
505
|
-
totalEquityUsd: number;
|
|
506
|
-
/** Available collateral in collateral units. */
|
|
507
|
-
availableCollateral: number;
|
|
508
|
-
/** Available collateral in USD. */
|
|
509
|
-
availableCollateralUsd: number;
|
|
510
|
-
/** Sum of unrealized funding PnL across markets. */
|
|
511
|
-
totalUnrealizedFundingsUsd: number;
|
|
512
|
-
/** Sum of unrealized position PnL across markets. */
|
|
513
|
-
totalUnrealizedPnlUsd: number;
|
|
514
|
-
/** Per-market positions for this account. */
|
|
515
|
-
positions: PerpetualsPosition[];
|
|
516
|
-
}
|
|
517
|
-
/**
|
|
518
|
-
* Human-facing metadata for vault discovery / browsing.
|
|
519
|
-
*
|
|
520
|
-
* This is intended for UI display and is not used for any on-chain risk or
|
|
521
|
-
* accounting logic.
|
|
522
|
-
*
|
|
523
|
-
* Note: The type name contains a historical misspelling ("Metatada") and is
|
|
524
|
-
* preserved for backward compatibility.
|
|
525
|
-
*/
|
|
526
|
-
export interface PerpetualsVaultMetatada {
|
|
527
|
-
/**
|
|
528
|
-
* A human-readable name for the `Vault`.
|
|
529
|
-
*/
|
|
530
|
-
name: string;
|
|
531
|
-
/**
|
|
532
|
-
* A verbose description of the `Vault`.
|
|
533
|
-
*/
|
|
534
|
-
description: string;
|
|
535
|
-
/**
|
|
536
|
-
* The `Vault` curator's name.
|
|
537
|
-
*/
|
|
538
|
-
curatorName: string | undefined;
|
|
539
|
-
/**
|
|
540
|
-
* A url for the `Vault`'s curator. Ideally their website.
|
|
541
|
-
*/
|
|
542
|
-
curatorUrl: string | undefined;
|
|
543
|
-
/**
|
|
544
|
-
* An image url for the `Vault`'s curator. Ideally their logo.
|
|
545
|
-
*/
|
|
546
|
-
curatorLogoUrl: string | undefined;
|
|
547
|
-
/**
|
|
548
|
-
* Extra / optional fields for future extensibility. Recommended keys include: twitter_url.
|
|
549
|
-
*/
|
|
550
|
-
extraFields: Record<string, string>;
|
|
551
|
-
}
|
|
552
|
-
/**
|
|
553
|
-
* On-chain representation of a vault that manages user collateral and
|
|
554
|
-
* interacts with clearing houses on their behalf.
|
|
555
|
-
*/
|
|
556
|
-
export interface PerpetualsVaultObject {
|
|
557
|
-
/**
|
|
558
|
-
* Unique identifier for distinct network identification.
|
|
559
|
-
*/
|
|
560
|
-
objectId: ObjectId;
|
|
561
|
-
/**
|
|
562
|
-
* Contract version number for controlled upgrades.
|
|
563
|
-
*/
|
|
564
|
-
version: bigint;
|
|
565
|
-
/**
|
|
566
|
-
* Curator-provided metadata used for vault discovery and display.
|
|
567
|
-
*
|
|
568
|
-
* This data is expected to be relatively stable and is typically set at
|
|
569
|
-
* creation time (though it may be updatable depending on protocol rules).
|
|
570
|
-
*/
|
|
571
|
-
metadata: PerpetualsVaultMetatada;
|
|
572
|
-
/**
|
|
573
|
-
* Supply of LP coins from a `TreasuryCap` for liquidity integrity.
|
|
574
|
-
*
|
|
575
|
-
* This is the total minted supply of the vault's LP token. Together with
|
|
576
|
-
* `tvlUsd` and `totalCollateral`, this is used to derive LP share price.
|
|
577
|
-
*/
|
|
578
|
-
lpSupply: Balance;
|
|
579
|
-
/**
|
|
580
|
-
* Total balance of underlying Coin (`C`), deposited by users.
|
|
581
|
-
*
|
|
582
|
-
* "Idle" collateral is not currently allocated to any clearing house
|
|
583
|
-
* position. It remains held by the vault and can be used for new allocations
|
|
584
|
-
* or withdrawals (subject to lock/queue rules).
|
|
585
|
-
*/
|
|
586
|
-
idleCollateral: Balance;
|
|
587
|
-
/**
|
|
588
|
-
* USD valuation of `idleCollateral` at query time.
|
|
589
|
-
*
|
|
590
|
-
* This is derived using the vault's collateral oracle price and is provided
|
|
591
|
-
* for UI convenience.
|
|
592
|
-
*/
|
|
593
|
-
idleCollateralUsd: number;
|
|
594
|
-
/**
|
|
595
|
-
* Total collateral owned by the vault in native units.
|
|
596
|
-
*
|
|
597
|
-
* This is the sum of:
|
|
598
|
-
* - idle collateral held directly by the vault, and
|
|
599
|
-
* - collateral currently allocated across clearing houses/positions.
|
|
600
|
-
*/
|
|
601
|
-
totalCollateral: Balance;
|
|
602
|
-
/**
|
|
603
|
-
* USD valuation of `totalCollateral` at query time.
|
|
604
|
-
*
|
|
605
|
-
* This is typically derived from `totalCollateral` and the collateral oracle
|
|
606
|
-
* price used by the vault.
|
|
607
|
-
*/
|
|
608
|
-
totalCollateralUsd: number;
|
|
609
|
-
/**
|
|
610
|
-
* Total value locked in USD for this vault.
|
|
611
|
-
*
|
|
612
|
-
* Depending on protocol accounting, this may match `totalCollateralUsd`, or
|
|
613
|
-
* may incorporate additional adjustments. It is the primary headline number
|
|
614
|
-
* used for ranking and display.
|
|
615
|
-
*/
|
|
616
|
-
tvlUsd: number;
|
|
617
|
-
/**
|
|
618
|
-
* IDs of `ClearingHouse` where `Vault` has positions.
|
|
619
|
-
*/
|
|
620
|
-
marketIds: PerpetualsMarketId[];
|
|
621
|
-
/**
|
|
622
|
-
* Vault parameters
|
|
623
|
-
*/
|
|
624
|
-
parameters: {
|
|
625
|
-
/**
|
|
626
|
-
* Lock-in duration for engaged assets in milliseconds.
|
|
627
|
-
*/
|
|
628
|
-
lockPeriodMs: bigint;
|
|
629
|
-
/**
|
|
630
|
-
* Fee rate for vault's owner, collected from user's profits when they withdraw
|
|
631
|
-
*/
|
|
632
|
-
performanceFeePercentage: number;
|
|
633
|
-
/**
|
|
634
|
-
* Delay period to wait for eventual force withdrawing
|
|
635
|
-
*
|
|
636
|
-
* Force-withdrawal is an emergency/escape hatch path; this delay gives the
|
|
637
|
-
* vault time to unwind positions before executing the withdrawal.
|
|
638
|
-
*/
|
|
639
|
-
forceWithdrawDelayMs: bigint;
|
|
640
|
-
/**
|
|
641
|
-
* Price feed storage id idetifying the oracle price for `C`
|
|
642
|
-
*/
|
|
643
|
-
collateralPriceFeedStorageId: ObjectId;
|
|
644
|
-
/**
|
|
645
|
-
* Source object ID for the collateral price feed storage.
|
|
646
|
-
*
|
|
647
|
-
* Some oracle integrations separate the "storage object" from the "source"
|
|
648
|
-
* (e.g., an aggregator or publisher object). This field identifies the
|
|
649
|
-
* upstream source used to populate `collateralPriceFeedStorageId`.
|
|
650
|
-
*/
|
|
651
|
-
collateralPriceFeedStorageSourceId: ObjectId;
|
|
652
|
-
/**
|
|
653
|
-
* Maximum tolerated deviation for the collateral oracle price.
|
|
654
|
-
*
|
|
655
|
-
* Used as a safety bound when valuing deposits/withdrawals and computing
|
|
656
|
-
* USD conversions. This is typically a fixed-point or scaled bigint value,
|
|
657
|
-
* consistent with the on-chain oracle representation.
|
|
658
|
-
*/
|
|
659
|
-
collateralPriceFeedStorageTolerance: bigint;
|
|
660
|
-
/**
|
|
661
|
-
* Maximum margin ratio tolerance for force-withdraw processing.
|
|
662
|
-
*
|
|
663
|
-
* Force-withdraw generally requires closing positions. This tolerance
|
|
664
|
-
* controls how much worse (or better) the resulting margin ratio is allowed
|
|
665
|
-
* to be, compared to a target/expected value, before rejecting the action.
|
|
666
|
-
*/
|
|
667
|
-
maxForceWithdrawMarginRatioTolerance: number;
|
|
668
|
-
/**
|
|
669
|
-
* Scaling factor to apply to `C` to convert a balance to ifixed.
|
|
670
|
-
*/
|
|
671
|
-
/**
|
|
672
|
-
* Used to calculate user's minimum deposit value in usd
|
|
673
|
-
*/
|
|
674
|
-
scalingFactor: number;
|
|
675
|
-
/**
|
|
676
|
-
* The maximum number of distinct `ClearingHouse`.
|
|
677
|
-
*/
|
|
678
|
-
maxMarketsInVault: bigint;
|
|
679
|
-
/**
|
|
680
|
-
* The maximum number of pending orders allowed for a single position in the `Vault`.
|
|
681
|
-
*/
|
|
682
|
-
maxPendingOrdersPerPosition: bigint;
|
|
683
|
-
/**
|
|
684
|
-
* Maximum total collateral (native units) that can be deposited into the vault.
|
|
685
|
-
*
|
|
686
|
-
* This is a capacity/risk control parameter. Deposits that would cause the
|
|
687
|
-
* vault to exceed this limit should be rejected by the protocol/backend.
|
|
688
|
-
*/
|
|
689
|
-
maxTotalDepositedCollateral: Balance;
|
|
690
|
-
/** Minimum position margin (USD) to trigger full close during force withdraw. */
|
|
691
|
-
minForceWithdrawValueUsd: number;
|
|
692
|
-
};
|
|
693
|
-
/** Owner address of the vault. */
|
|
694
|
-
ownerAddress: SuiAddress;
|
|
695
|
-
/** Creation timestamp of the vault. */
|
|
696
|
-
creationTimestamp: Timestamp | undefined;
|
|
697
|
-
/** Underlying perpetuals account ID that the vault uses. */
|
|
698
|
-
accountId: PerpetualsAccountId;
|
|
699
|
-
/** Account object ID used by the vault. */
|
|
700
|
-
accountObjectId: ObjectId;
|
|
701
|
-
/** Collateral coin type accepted by this vault. */
|
|
702
|
-
collateralCoinType: CoinType;
|
|
703
|
-
/**
|
|
704
|
-
* LP coin type minted by this vault.
|
|
705
|
-
*
|
|
706
|
-
* This is the `Coin<T>` type used to represent shares in the vault. Users
|
|
707
|
-
* receive LP coins on deposit and burn/return them on withdrawal.
|
|
708
|
-
*/
|
|
709
|
-
lpCoinType: CoinType;
|
|
710
|
-
/** Decimals for the LP token minted by this vault. */
|
|
711
|
-
lpCoinDecimals: CoinDecimal;
|
|
712
|
-
/**
|
|
713
|
-
* Estimated monthly APR for this vault, expressed as a percentage.
|
|
714
|
-
*
|
|
715
|
-
* This is typically computed off-chain from historical performance and/or
|
|
716
|
-
* accounting state. It is a display metric and should not be treated as a
|
|
717
|
-
* guaranteed rate.
|
|
718
|
-
*/
|
|
719
|
-
monthlyAprPercentage: Percentage;
|
|
720
|
-
/** The annualized percentage return from incentives (added yields) */
|
|
721
|
-
monthlyBoostedAprPercentage: Percentage;
|
|
722
|
-
/** Indicates the vault is temporarily paused until the timestamp (if present). */
|
|
723
|
-
pausedUntilTimestamp: bigint | undefined;
|
|
724
|
-
/** Timestamp at which `pause_vault_for_force_withdraw` was last called. */
|
|
725
|
-
lastPausedTimestamp: Timestamp;
|
|
726
|
-
}
|
|
727
|
-
/**
|
|
728
|
-
* Represents a single pending vault withdrawal request.
|
|
729
|
-
*/
|
|
730
|
-
export interface PerpetualsVaultWithdrawRequest {
|
|
731
|
-
/**
|
|
732
|
-
* The address of the user that created the withdraw request
|
|
733
|
-
*/
|
|
734
|
-
userAddress: SuiAddress;
|
|
735
|
-
/**
|
|
736
|
-
* Object id of the vault associated with the withdraw request
|
|
737
|
-
*/
|
|
738
|
-
vaultId: SuiAddress;
|
|
739
|
-
/**
|
|
740
|
-
* The amount of the shares requested for withdrawal.
|
|
741
|
-
*/
|
|
742
|
-
lpAmountIn: Balance;
|
|
743
|
-
/**
|
|
744
|
-
* USD valuation of `lpAmountIn` at request time (or at query time, depending on backend).
|
|
745
|
-
*
|
|
746
|
-
* This field is provided for UI convenience and may be computed using the
|
|
747
|
-
* vault's LP share price.
|
|
748
|
-
*/
|
|
749
|
-
lpAmountInUsd: number;
|
|
750
|
-
/**
|
|
751
|
-
* Timestamp of request's creation
|
|
752
|
-
*/
|
|
753
|
-
requestTimestamp: Timestamp;
|
|
754
|
-
/**
|
|
755
|
-
* The minimum amount of the collateral balance expected as output for this withdrawal
|
|
756
|
-
*
|
|
757
|
-
* This acts as a slippage/price-protection bound for the user.
|
|
758
|
-
*/
|
|
759
|
-
minCollateralAmountOut: Balance;
|
|
760
|
-
/**
|
|
761
|
-
* USD valuation of `minCollateralAmountOut`, using the vault's collateral oracle.
|
|
762
|
-
*
|
|
763
|
-
* Provided for display; the on-chain constraint is enforced by
|
|
764
|
-
* `minCollateralAmountOut` (native units).
|
|
765
|
-
*/
|
|
766
|
-
minCollateralAmountOutUsd: number;
|
|
767
|
-
}
|
|
768
|
-
/**
|
|
769
|
-
* Event emitted when a clearing house (market) is upgraded to a new version.
|
|
770
|
-
*/
|
|
771
|
-
export interface UpdatedMarketVersionEvent extends Event {
|
|
772
|
-
/** Market identifier for which the version changed. */
|
|
773
|
-
marketId: PerpetualsMarketId;
|
|
774
|
-
/** New version value. */
|
|
775
|
-
version: bigint;
|
|
776
|
-
}
|
|
777
|
-
/**
|
|
778
|
-
* Type guard for {@link UpdatedMarketVersionEvent}.
|
|
779
|
-
*
|
|
780
|
-
* @param event - Generic event.
|
|
781
|
-
* @returns `true` if this is an `UpdatedMarketVersionEvent`.
|
|
782
|
-
*/
|
|
783
|
-
export declare const isUpdatedMarketVersion: (event: Event) => event is UpdatedMarketVersionEvent;
|
|
784
|
-
/**
|
|
785
|
-
* Cursor-based response wrapping a list of collateral changes for an account.
|
|
786
|
-
*/
|
|
787
|
-
export type ApiPerpetualsAccountCollateralHistoryResponse = ApiPerpetualsHistoricalDataWithCursorResponse & {
|
|
788
|
-
/** Collateral changes in chronological order. */
|
|
789
|
-
collateralChanges: PerpetualsAccountCollateralChange[];
|
|
790
|
-
};
|
|
791
|
-
/**
|
|
792
|
-
* Single collateral change record for an account.
|
|
793
|
-
*
|
|
794
|
-
* This may represent:
|
|
795
|
-
* - Deposits / withdrawals
|
|
796
|
-
* - Liquidations
|
|
797
|
-
* - Funding settlements
|
|
798
|
-
* - Trading fees
|
|
799
|
-
*/
|
|
800
|
-
export type PerpetualsAccountCollateralChange = {
|
|
801
|
-
/** When the change occurred. */
|
|
802
|
-
timestamp: Timestamp;
|
|
803
|
-
/** Sui transaction digest that produced this change. */
|
|
804
|
-
txDigest: TransactionDigest;
|
|
805
|
-
/** Market ID, if applicable (can be undefined for global changes). */
|
|
806
|
-
marketId: PerpetualsMarketId | undefined;
|
|
807
|
-
/** Concrete event type fully qualified (Sui struct type). */
|
|
808
|
-
eventType: AnyObjectType;
|
|
809
|
-
/** Net change in collateral units. */
|
|
810
|
-
collateralChange: number;
|
|
811
|
-
/** Net change in USD value. */
|
|
812
|
-
collateralChangeUsd: number;
|
|
813
|
-
/** Optional breakdown of fees, with variant shapes based on event. */
|
|
814
|
-
fees?: {
|
|
815
|
-
netFeesUsd: number;
|
|
816
|
-
liquidationFeesUsd: number;
|
|
817
|
-
forceCancelFeesUsd: number;
|
|
818
|
-
insuranceFundFeesUsd: number;
|
|
819
|
-
} | {
|
|
820
|
-
netFeesUsd: number;
|
|
821
|
-
liqorFeesUsd: number;
|
|
822
|
-
} | {
|
|
823
|
-
netFeesUsd: number;
|
|
824
|
-
};
|
|
825
|
-
};
|
|
826
|
-
/**
|
|
827
|
-
* Cursor-based response wrapping a list of orders for an account.
|
|
828
|
-
*/
|
|
829
|
-
export type ApiPerpetualsAccountOrderHistoryResponse = ApiPerpetualsHistoricalDataWithCursorResponse & {
|
|
830
|
-
/** Orders in chronological order. */
|
|
831
|
-
orders: PerpetualsAccountOrderHistoryData[];
|
|
832
|
-
};
|
|
833
|
-
/**
|
|
834
|
-
* Historical margin data point for an account, used in margin history views.
|
|
835
|
-
*/
|
|
836
|
-
export interface PerpetualsAccountMarginHistoryData {
|
|
837
|
-
/** Timestamp of this snapshot. */
|
|
838
|
-
timestamp: Timestamp;
|
|
839
|
-
/** Available collateral in USD. */
|
|
840
|
-
availableCollateralUsd: number;
|
|
841
|
-
/** Total equity in USD. */
|
|
842
|
-
totalEquityUsd: number;
|
|
843
|
-
/** Unrealized funding PnL in USD at that time. */
|
|
844
|
-
unrealizedFundingsUsd: number;
|
|
845
|
-
/** Unrealized position PnL in USD at that time. */
|
|
846
|
-
unrealizedPnlUsd: number;
|
|
847
|
-
}
|
|
848
|
-
/**
|
|
849
|
-
* Individual order affecting an account.
|
|
850
|
-
*/
|
|
851
|
-
export type PerpetualsAccountOrderHistoryData = {
|
|
852
|
-
/** Timestamp of the order. */
|
|
853
|
-
timestamp: Timestamp;
|
|
854
|
-
/** Sui transaction digest. */
|
|
855
|
-
txDigest: TransactionDigest;
|
|
856
|
-
/** Market in which this order occurred. */
|
|
857
|
-
marketId: PerpetualsMarketId;
|
|
858
|
-
/** Concrete event type. */
|
|
859
|
-
eventType: AnyObjectType;
|
|
860
|
-
/** Side of the order relative to the account (Bid/Ask). */
|
|
861
|
-
side: PerpetualsOrderSide;
|
|
862
|
-
/** Price for this order. */
|
|
863
|
-
price: number;
|
|
864
|
-
/** Size in base units. */
|
|
865
|
-
size: number;
|
|
866
|
-
/** Optional stop-loss / take-profit data. */
|
|
867
|
-
slTp?: {
|
|
868
|
-
/** Optional stop-loss trigger price based on the index price. */
|
|
869
|
-
stopLossIndexPrice?: number;
|
|
870
|
-
/** Optional take-profit trigger price based on the index price. */
|
|
871
|
-
takeProfitIndexPrice?: number;
|
|
872
|
-
/** Unique order identifier for limit order sl/tp is tied to. */
|
|
873
|
-
limitOrderId?: PerpetualsOrderId;
|
|
874
|
-
};
|
|
875
|
-
/** Stop order data that is not a stop-loss / take-profit order
|
|
876
|
-
* (e.g. generic trigger orders).
|
|
877
|
-
*/
|
|
878
|
-
stopOrder?: {
|
|
879
|
-
/** Index price at which the stop order should trigger. */
|
|
880
|
-
stopIndexPrice: number;
|
|
881
|
-
};
|
|
882
|
-
};
|
|
883
|
-
/**
|
|
884
|
-
* Event emitted when collateral is deposited into an account.
|
|
885
|
-
*/
|
|
886
|
-
export interface DepositedCollateralEvent extends Event {
|
|
887
|
-
accountId: PerpetualsAccountId;
|
|
888
|
-
collateralDelta: Balance;
|
|
889
|
-
}
|
|
890
|
-
/**
|
|
891
|
-
* Event emitted when collateral is allocated from general account collateral
|
|
892
|
-
* into a specific market position.
|
|
893
|
-
*/
|
|
894
|
-
export interface AllocatedCollateralEvent extends Event {
|
|
895
|
-
marketId: PerpetualsMarketId;
|
|
896
|
-
accountId: PerpetualsAccountId;
|
|
897
|
-
collateralDelta: Balance;
|
|
898
|
-
}
|
|
899
|
-
/**
|
|
900
|
-
* Event emitted when collateral is deallocated from a market back to
|
|
901
|
-
* the account's general collateral.
|
|
902
|
-
*/
|
|
903
|
-
export interface DeallocatedCollateralEvent extends Event {
|
|
904
|
-
marketId: PerpetualsMarketId;
|
|
905
|
-
accountId: PerpetualsAccountId;
|
|
906
|
-
collateralDelta: Balance;
|
|
907
|
-
}
|
|
908
|
-
/**
|
|
909
|
-
* Event emitted when collateral is withdrawn from the account.
|
|
910
|
-
*/
|
|
911
|
-
export interface WithdrewCollateralEvent extends Event {
|
|
912
|
-
accountId: PerpetualsAccountId;
|
|
913
|
-
collateralDelta: Balance;
|
|
914
|
-
}
|
|
915
|
-
/**
|
|
916
|
-
* Event emitted when funding is settled for an account and market.
|
|
917
|
-
*/
|
|
918
|
-
export interface SettledFundingEvent extends Event {
|
|
919
|
-
accountId: PerpetualsAccountId;
|
|
920
|
-
collateralDeltaUsd: number;
|
|
921
|
-
marketId: PerpetualsMarketId;
|
|
922
|
-
marketFundingRateLong: number;
|
|
923
|
-
marketFundingRateShort: number;
|
|
924
|
-
}
|
|
925
|
-
/**
|
|
926
|
-
* Union of all event types that impact account collateral.
|
|
927
|
-
*/
|
|
928
|
-
export type CollateralEvent = WithdrewCollateralEvent | DepositedCollateralEvent | SettledFundingEvent | LiquidatedEvent | FilledTakerOrderEvent | FilledMakerOrdersEvent | AllocatedCollateralEvent | DeallocatedCollateralEvent;
|
|
929
|
-
/**
|
|
930
|
-
* Type guard for {@link WithdrewCollateralEvent}.
|
|
931
|
-
*/
|
|
932
|
-
export declare const isWithdrewCollateralEvent: (event: Event) => event is WithdrewCollateralEvent;
|
|
933
|
-
/**
|
|
934
|
-
* Type guard for {@link DepositedCollateralEvent}.
|
|
935
|
-
*/
|
|
936
|
-
export declare const isDepositedCollateralEvent: (event: Event) => event is DepositedCollateralEvent;
|
|
937
|
-
/**
|
|
938
|
-
* Type guard for {@link DeallocatedCollateralEvent}.
|
|
939
|
-
*/
|
|
940
|
-
export declare const isDeallocatedCollateralEvent: (event: Event) => event is DeallocatedCollateralEvent;
|
|
941
|
-
/**
|
|
942
|
-
* Type guard for {@link AllocatedCollateralEvent}.
|
|
943
|
-
*/
|
|
944
|
-
export declare const isAllocatedCollateralEvent: (event: Event) => event is AllocatedCollateralEvent;
|
|
945
|
-
/**
|
|
946
|
-
* Type guard for {@link SettledFundingEvent}.
|
|
947
|
-
*/
|
|
948
|
-
export declare const isSettledFundingEvent: (event: Event) => event is SettledFundingEvent;
|
|
949
|
-
/**
|
|
950
|
-
* Event emitted when an account is liquidated in a given market.
|
|
951
|
-
*/
|
|
952
|
-
export interface LiquidatedEvent extends Event {
|
|
953
|
-
accountId: PerpetualsAccountId;
|
|
954
|
-
collateralDeltaUsd: number;
|
|
955
|
-
/** Liquidator's account ID. */
|
|
956
|
-
liqorAccountId: PerpetualsAccountId;
|
|
957
|
-
marketId: PerpetualsMarketId;
|
|
958
|
-
side: PerpetualsOrderSide;
|
|
959
|
-
/** Amount of base asset liquidated. */
|
|
960
|
-
baseLiquidated: number;
|
|
961
|
-
/** Amount of quote asset liquidated. */
|
|
962
|
-
quoteLiquidated: number;
|
|
963
|
-
/** Liquidated account's PnL in USD for this event. */
|
|
964
|
-
liqeePnlUsd: number;
|
|
965
|
-
/** Liquidation fee paid in USD. */
|
|
966
|
-
liquidationFeesUsd: number;
|
|
967
|
-
/** Force-cancel fees collected in USD. */
|
|
968
|
-
forceCancelFeesUsd: number;
|
|
969
|
-
/** Fees directed to the insurance fund in USD. */
|
|
970
|
-
insuranceFundFeesUsd: number;
|
|
971
|
-
}
|
|
972
|
-
/**
|
|
973
|
-
* Type guard for {@link LiquidatedEvent}.
|
|
974
|
-
*/
|
|
975
|
-
export declare const isLiquidatedEvent: (event: Event) => event is LiquidatedEvent;
|
|
976
|
-
/**
|
|
977
|
-
* Event emitted when a new perpetuals account is created for a user.
|
|
978
|
-
*/
|
|
979
|
-
export interface CreatedAccountEvent extends Event {
|
|
980
|
-
user: SuiAddress;
|
|
981
|
-
accountId: PerpetualsAccountId;
|
|
982
|
-
}
|
|
983
|
-
/**
|
|
984
|
-
* Event emitted when an account's initial margin ratio for a position
|
|
985
|
-
* is explicitly set or adjusted.
|
|
986
|
-
*/
|
|
987
|
-
export interface SetPositionInitialMarginRatioEvent extends Event {
|
|
988
|
-
marketId: PerpetualsMarketId;
|
|
989
|
-
accountId: PerpetualsAccountId;
|
|
990
|
-
initialMarginRatio: number;
|
|
991
|
-
}
|
|
992
|
-
/**
|
|
993
|
-
* Trade data used for market-level trade history.
|
|
994
|
-
*/
|
|
995
|
-
export interface PerpetualsMarketOrderHistoryData {
|
|
996
|
-
/** Timestamp of the trade. */
|
|
997
|
-
timestamp: Timestamp;
|
|
998
|
-
/** Transaction digest. */
|
|
999
|
-
txDigest: TransactionDigest;
|
|
1000
|
-
/** Side of the trade. */
|
|
1001
|
-
side: PerpetualsOrderSide;
|
|
1002
|
-
/** Filled size in base units. */
|
|
1003
|
-
sizeFilled: number;
|
|
1004
|
-
/** Order price (limit price) used for the trade. */
|
|
1005
|
-
orderPrice: number;
|
|
1006
|
-
}
|
|
1007
|
-
/**
|
|
1008
|
-
* Cursor-based wrapper for market-level order history.
|
|
1009
|
-
*/
|
|
1010
|
-
export type ApiPerpetualsMarketOrderHistoryResponse = ApiPerpetualsHistoricalDataWithCursorResponse & {
|
|
1011
|
-
/** Orders in this page. */
|
|
1012
|
-
orders: PerpetualsMarketOrderHistoryData[];
|
|
1013
|
-
};
|
|
1014
|
-
/**
|
|
1015
|
-
* Event emitted when an order is filled or dropped by the orderbook
|
|
1016
|
-
* (book-keeping receipt).
|
|
1017
|
-
*/
|
|
1018
|
-
export interface OrderbookFillReceiptEvent extends Event {
|
|
1019
|
-
accountId: PerpetualsAccountId;
|
|
1020
|
-
orderId: PerpetualsOrderId;
|
|
1021
|
-
size: bigint;
|
|
1022
|
-
/** Whether the order was dropped instead of filled. */
|
|
1023
|
-
dropped: boolean;
|
|
1024
|
-
}
|
|
1025
|
-
/**
|
|
1026
|
-
* Event emitted when an order is canceled.
|
|
1027
|
-
*/
|
|
1028
|
-
export interface CanceledOrderEvent extends Event {
|
|
1029
|
-
accountId: PerpetualsAccountId;
|
|
1030
|
-
marketId: PerpetualsMarketId;
|
|
1031
|
-
side: PerpetualsOrderSide;
|
|
1032
|
-
size: bigint;
|
|
1033
|
-
orderId: PerpetualsOrderId;
|
|
1034
|
-
}
|
|
1035
|
-
/**
|
|
1036
|
-
* Event emitted when a new order is posted to the orderbook.
|
|
1037
|
-
*/
|
|
1038
|
-
export interface PostedOrderEvent extends Event {
|
|
1039
|
-
accountId: PerpetualsAccountId;
|
|
1040
|
-
marketId: PerpetualsMarketId;
|
|
1041
|
-
orderId: PerpetualsOrderId;
|
|
1042
|
-
size: bigint;
|
|
1043
|
-
reduceOnly: boolean;
|
|
1044
|
-
expiryTimestamp?: bigint;
|
|
1045
|
-
}
|
|
1046
|
-
/**
|
|
1047
|
-
* Event emitted when one or more maker orders are filled against a taker.
|
|
1048
|
-
*/
|
|
1049
|
-
export interface FilledMakerOrdersEvent extends Event {
|
|
1050
|
-
/** List of per-maker fills for this aggregate event. */
|
|
1051
|
-
events: FilledMakerOrderEventFields[];
|
|
1052
|
-
}
|
|
1053
|
-
/**
|
|
1054
|
-
* Details for a single maker order fill inside a {@link FilledMakerOrdersEvent}.
|
|
1055
|
-
*/
|
|
1056
|
-
export interface FilledMakerOrderEventFields {
|
|
1057
|
-
accountId: PerpetualsAccountId;
|
|
1058
|
-
takerAccountId: PerpetualsAccountId;
|
|
1059
|
-
collateralDeltaUsd: number;
|
|
1060
|
-
marketId: PerpetualsMarketId;
|
|
1061
|
-
side: PerpetualsOrderSide;
|
|
1062
|
-
size: bigint;
|
|
1063
|
-
sizeRemaining: bigint;
|
|
1064
|
-
orderId: PerpetualsOrderId;
|
|
1065
|
-
dropped: boolean;
|
|
1066
|
-
pnlUsd: number;
|
|
1067
|
-
feesUsd: number;
|
|
1068
|
-
canceledSize: bigint;
|
|
1069
|
-
}
|
|
1070
|
-
/**
|
|
1071
|
-
* Event emitted when a taker order is executed.
|
|
1072
|
-
*/
|
|
1073
|
-
export interface FilledTakerOrderEvent extends Event {
|
|
1074
|
-
accountId: PerpetualsAccountId;
|
|
1075
|
-
collateralDeltaUsd: number;
|
|
1076
|
-
marketId: PerpetualsMarketId;
|
|
1077
|
-
side: PerpetualsOrderSide;
|
|
1078
|
-
baseAssetDelta: number;
|
|
1079
|
-
quoteAssetDelta: number;
|
|
1080
|
-
takerPnlUsd: number;
|
|
1081
|
-
takerFeesUsd: number;
|
|
1082
|
-
}
|
|
1083
|
-
/**
|
|
1084
|
-
* Union of all order-related events in the protocol.
|
|
1085
|
-
*/
|
|
1086
|
-
export type PerpetualsOrderEvent = CanceledOrderEvent | PostedOrderEvent | PostedOrderEvent | FilledMakerOrdersEvent | FilledTakerOrderEvent | LiquidatedEvent | ReducedOrderEvent;
|
|
1087
|
-
/**
|
|
1088
|
-
* Event emitted when an order is posted.
|
|
1089
|
-
*
|
|
1090
|
-
* NOTE: This is a second definition of `PostedOrderEvent` used in a
|
|
1091
|
-
* simplified context (without `reduceOnly` / `expiryTimestamp`).
|
|
1092
|
-
*/
|
|
1093
|
-
export interface PostedOrderEvent extends Event {
|
|
1094
|
-
accountId: PerpetualsAccountId;
|
|
1095
|
-
marketId: PerpetualsMarketId;
|
|
1096
|
-
orderId: PerpetualsOrderId;
|
|
1097
|
-
size: bigint;
|
|
1098
|
-
side: PerpetualsOrderSide;
|
|
1099
|
-
}
|
|
1100
|
-
/**
|
|
1101
|
-
* Event emitted when an existing order is reduced (partial cancellation or
|
|
1102
|
-
* adjustment of size).
|
|
1103
|
-
*/
|
|
1104
|
-
export interface ReducedOrderEvent extends Event {
|
|
1105
|
-
marketId: PerpetualsMarketId;
|
|
1106
|
-
accountId: PerpetualsAccountId;
|
|
1107
|
-
sizeChange: bigint;
|
|
1108
|
-
orderId: PerpetualsOrderId;
|
|
1109
|
-
}
|
|
1110
|
-
/**
|
|
1111
|
-
* Type guard for {@link CanceledOrderEvent}.
|
|
1112
|
-
*/
|
|
1113
|
-
export declare const isCanceledOrderEvent: (event: Event) => event is CanceledOrderEvent;
|
|
1114
|
-
/**
|
|
1115
|
-
* Type guard for {@link PostedOrderEvent}.
|
|
1116
|
-
*/
|
|
1117
|
-
export declare const isPostedOrderEvent: (event: Event) => event is PostedOrderEvent;
|
|
1118
|
-
/**
|
|
1119
|
-
* Type guard for {@link FilledMakerOrdersEvent}.
|
|
1120
|
-
*/
|
|
1121
|
-
export declare const isFilledMakerOrdersEvent: (event: Event) => event is FilledMakerOrdersEvent;
|
|
1122
|
-
/**
|
|
1123
|
-
* Type guard for {@link FilledTakerOrderEvent}.
|
|
1124
|
-
*/
|
|
1125
|
-
export declare const isFilledTakerOrderEvent: (event: Event) => event is FilledTakerOrderEvent;
|
|
1126
|
-
/**
|
|
1127
|
-
* Type guard for {@link ReducedOrderEvent}.
|
|
1128
|
-
*/
|
|
1129
|
-
export declare const isReducedOrderEvent: (event: Event) => event is ReducedOrderEvent;
|
|
1130
|
-
/**
|
|
1131
|
-
* Event emitted when a stop order ticket is created.
|
|
1132
|
-
*
|
|
1133
|
-
* Stop order tickets represent off-chain-executable stop orders that
|
|
1134
|
-
* executors can trigger.
|
|
1135
|
-
*/
|
|
1136
|
-
export interface CreatedStopOrderTicketEvent extends Event {
|
|
1137
|
-
ticketId: ObjectId;
|
|
1138
|
-
accountId: PerpetualsAccountId;
|
|
1139
|
-
subAccountId?: ObjectId;
|
|
1140
|
-
executors: SuiAddress[];
|
|
1141
|
-
gas: Balance;
|
|
1142
|
-
stopOrderType: PerpetualsStopOrderType;
|
|
1143
|
-
/** Encrypted stop-order details (payload). */
|
|
1144
|
-
encryptedDetails: Byte[];
|
|
1145
|
-
}
|
|
1146
|
-
/**
|
|
1147
|
-
* Event emitted when a stop order ticket is executed.
|
|
1148
|
-
*/
|
|
1149
|
-
export interface ExecutedStopOrderTicketEvent extends Event {
|
|
1150
|
-
ticketId: ObjectId;
|
|
1151
|
-
accountId: PerpetualsAccountId;
|
|
1152
|
-
executor: SuiAddress;
|
|
1153
|
-
}
|
|
1154
|
-
/**
|
|
1155
|
-
* Event emitted when a stop order ticket is deleted or canceled.
|
|
1156
|
-
*/
|
|
1157
|
-
export interface DeletedStopOrderTicketEvent extends Event {
|
|
1158
|
-
ticketId: ObjectId;
|
|
1159
|
-
accountId: PerpetualsAccountId;
|
|
1160
|
-
subAccountId?: ObjectId;
|
|
1161
|
-
executor: SuiAddress;
|
|
1162
|
-
}
|
|
1163
|
-
/**
|
|
1164
|
-
* Event emitted when the details (payload) of a stop order ticket are edited.
|
|
1165
|
-
*/
|
|
1166
|
-
export interface EditedStopOrderTicketDetailsEvent extends Event {
|
|
1167
|
-
ticketId: ObjectId;
|
|
1168
|
-
accountId: PerpetualsAccountId;
|
|
1169
|
-
subAccountId?: ObjectId;
|
|
1170
|
-
encryptedDetails: Byte[];
|
|
1171
|
-
stopOrderType: PerpetualsStopOrderType;
|
|
1172
|
-
}
|
|
1173
|
-
/**
|
|
1174
|
-
* Event emitted when the set of executors for a stop order ticket is edited.
|
|
1175
|
-
*/
|
|
1176
|
-
export interface EditedStopOrderTicketExecutorEvent extends Event {
|
|
1177
|
-
ticketId: ObjectId;
|
|
1178
|
-
accountId: PerpetualsAccountId;
|
|
1179
|
-
subAccountId?: ObjectId;
|
|
1180
|
-
executors: SuiAddress[];
|
|
1181
|
-
}
|
|
1182
|
-
/**
|
|
1183
|
-
* Event emitted when deallocated collateral is transferred from a clearing
|
|
1184
|
-
* house to an account or subaccount.
|
|
1185
|
-
*/
|
|
1186
|
-
export interface TransferredDeallocatedCollateralEvent extends Event {
|
|
1187
|
-
chId: ObjectId;
|
|
1188
|
-
/** Account or SubAccount object id. */
|
|
1189
|
-
objectId: ObjectId;
|
|
1190
|
-
accountId: PerpetualsAccountId;
|
|
1191
|
-
collateral: Balance;
|
|
1192
|
-
}
|
|
1193
|
-
/**
|
|
1194
|
-
* Event emitted when an account or subaccount receives collateral.
|
|
1195
|
-
*/
|
|
1196
|
-
export interface ReceivedCollateralEvent extends Event {
|
|
1197
|
-
/** Account or SubAccount object id. */
|
|
1198
|
-
objectId: ObjectId;
|
|
1199
|
-
accountId: PerpetualsAccountId;
|
|
1200
|
-
collateral: Balance;
|
|
1201
|
-
}
|
|
1202
|
-
/**
|
|
1203
|
-
* Event emitted when premium TWAP is updated for a market.
|
|
1204
|
-
*/
|
|
1205
|
-
export interface UpdatedPremiumTwapEvent extends Event {
|
|
1206
|
-
marketId: PerpetualsMarketId;
|
|
1207
|
-
bookPrice: number;
|
|
1208
|
-
indexPrice: number;
|
|
1209
|
-
premiumTwap: number;
|
|
1210
|
-
premiumTwapLastUpdateMs: number;
|
|
1211
|
-
}
|
|
1212
|
-
/**
|
|
1213
|
-
* Event emitted when spread TWAP is updated for a market.
|
|
1214
|
-
*/
|
|
1215
|
-
export interface UpdatedSpreadTwapEvent extends Event {
|
|
1216
|
-
marketId: PerpetualsMarketId;
|
|
1217
|
-
bookPrice: number;
|
|
1218
|
-
indexPrice: number;
|
|
1219
|
-
spreadTwap: number;
|
|
1220
|
-
spreadTwapLastUpdateMs: number;
|
|
1221
|
-
}
|
|
1222
|
-
/**
|
|
1223
|
-
* Union of all TWAP-related events.
|
|
1224
|
-
*/
|
|
1225
|
-
export type PerpetualsTwapEvent = UpdatedPremiumTwapEvent | UpdatedSpreadTwapEvent;
|
|
1226
|
-
/**
|
|
1227
|
-
* Type guard for {@link UpdatedPremiumTwapEvent}.
|
|
1228
|
-
*/
|
|
1229
|
-
export declare const isUpdatedPremiumTwapEvent: (event: Event) => event is UpdatedPremiumTwapEvent;
|
|
1230
|
-
/**
|
|
1231
|
-
* Type guard for {@link UpdatedSpreadTwapEvent}.
|
|
1232
|
-
*/
|
|
1233
|
-
export declare const isUpdatedSpreadTwapEvent: (event: Event) => event is UpdatedSpreadTwapEvent;
|
|
1234
|
-
/**
|
|
1235
|
-
* Event emitted when market funding values are updated.
|
|
1236
|
-
*/
|
|
1237
|
-
export interface UpdatedFundingEvent extends Event {
|
|
1238
|
-
marketId: PerpetualsMarketId;
|
|
1239
|
-
cumFundingRateLong: number;
|
|
1240
|
-
cumFundingRateShort: number;
|
|
1241
|
-
fundingLastUpdateMs: Timestamp;
|
|
1242
|
-
}
|
|
1243
|
-
/**
|
|
1244
|
-
* Type guard for {@link UpdatedFundingEvent}.
|
|
1245
|
-
*/
|
|
1246
|
-
export declare const isUpdatedFundingEvent: (event: Event) => event is UpdatedFundingEvent;
|
|
1247
|
-
/**
|
|
1248
|
-
* Request body for fetching all account caps owned by a given wallet.
|
|
1249
|
-
*/
|
|
1250
|
-
export interface ApiPerpetualsOwnedAccountCapsBody {
|
|
1251
|
-
walletAddress: SuiAddress;
|
|
1252
|
-
collateralCoinTypes?: CoinType[];
|
|
1253
|
-
}
|
|
1254
|
-
/**
|
|
1255
|
-
* Request body for fetching specific admin account caps by their account IDs.
|
|
1256
|
-
*/
|
|
1257
|
-
export interface ApiPerpetualsAdminAccountCapsBody {
|
|
1258
|
-
accountIds: PerpetualsAccountId[];
|
|
1259
|
-
}
|
|
1260
|
-
/**
|
|
1261
|
-
* Response payload for fetching positions for one or more accounts.
|
|
1262
|
-
*
|
|
1263
|
-
* The backend returns a list of {@link PerpetualsAccountObject} snapshots.
|
|
1264
|
-
* Each snapshot includes per-market {@link PerpetualsPosition} data.
|
|
1265
|
-
*/
|
|
1266
|
-
export interface ApiPerpetualsAccountPositionsResponse {
|
|
1267
|
-
accounts: PerpetualsAccountObject[];
|
|
1268
|
-
}
|
|
1269
|
-
/**
|
|
1270
|
-
* Request body for fetching positions for a set of accounts.
|
|
1271
|
-
*
|
|
1272
|
-
* `marketIds` can be supplied as an optimization hint to limit the markets
|
|
1273
|
-
* included in each account's returned `positions` array.
|
|
1274
|
-
*/
|
|
1275
|
-
export interface ApiPerpetualsAccountPositionsBody {
|
|
1276
|
-
accountIds: PerpetualsAccountId[];
|
|
1277
|
-
marketIds?: PerpetualsMarketId[];
|
|
1278
|
-
}
|
|
1279
|
-
/**
|
|
1280
|
-
* Response payload for fetching admin account caps by explicit account IDs.
|
|
1281
|
-
*/
|
|
1282
|
-
export interface ApiPerpetualsAdminAccountCapsResponse {
|
|
1283
|
-
accountCaps: PerpetualsAccountCap[];
|
|
1284
|
-
}
|
|
1285
|
-
/**
|
|
1286
|
-
* Response payload for fetching all account caps owned by a wallet.
|
|
1287
|
-
*
|
|
1288
|
-
* This is typically used during onboarding / wallet connect to discover
|
|
1289
|
-
* existing accounts.
|
|
1290
|
-
*/
|
|
1291
|
-
export interface ApiPerpetualsOwnedAccountCapsResponse {
|
|
1292
|
-
accountCaps: PerpetualsAccountCap[];
|
|
1293
|
-
}
|
|
1294
|
-
/**
|
|
1295
|
-
* Generic shape for Perpetuals API historical data requests that include
|
|
1296
|
-
* `beforeTimestampCursor` and `limit` pagination parameters.
|
|
1297
|
-
*/
|
|
1298
|
-
export interface ApiPerpetualsHistoricalDataWithCursorBody {
|
|
1299
|
-
/**
|
|
1300
|
-
* Cursor for pagination.
|
|
1301
|
-
*/
|
|
1302
|
-
beforeTimestampCursor?: Timestamp;
|
|
1303
|
-
/**
|
|
1304
|
-
* Limit for pagination.
|
|
1305
|
-
*/
|
|
1306
|
-
limit?: number;
|
|
1307
|
-
}
|
|
1308
|
-
/**
|
|
1309
|
-
* Generic shape for Perpetuals API historical data responses that include
|
|
1310
|
-
* `nextBeforeTimestampCursor` pagination parameter.
|
|
1311
|
-
*/
|
|
1312
|
-
export interface ApiPerpetualsHistoricalDataWithCursorResponse {
|
|
1313
|
-
/**
|
|
1314
|
-
* The next cursor position. If undefined, no more data is available.
|
|
1315
|
-
*/
|
|
1316
|
-
nextBeforeTimestampCursor: Timestamp | undefined;
|
|
1317
|
-
}
|
|
1318
|
-
/**
|
|
1319
|
-
* Enumerates the timeframes available for retrieving historical account margin data,
|
|
1320
|
-
* such as `"1D"`, `"1W"`, `"1M"`, etc.
|
|
1321
|
-
*/
|
|
1322
|
-
export type PerpetualsAccountMarginHistoryTimeframeKey = "1D" | "1W" | "1M" | "ALL";
|
|
1323
|
-
/**
|
|
1324
|
-
* Request payload for fetching historical margin metrics for an account.
|
|
1325
|
-
*/
|
|
1326
|
-
export interface ApiPerpetualsAccountMarginHistoryBody {
|
|
1327
|
-
/**
|
|
1328
|
-
* Account ID.
|
|
1329
|
-
*/
|
|
1330
|
-
accountId: PerpetualsAccountId;
|
|
1331
|
-
/**
|
|
1332
|
-
* Timeframe from which to obtain historical data from.
|
|
1333
|
-
*/
|
|
1334
|
-
timeframe: PerpetualsAccountMarginHistoryTimeframeKey;
|
|
1335
|
-
}
|
|
1336
|
-
/**
|
|
1337
|
-
* Response payload for historical margin metrics.
|
|
1338
|
-
*
|
|
1339
|
-
* The returned array is ordered chronologically by `timestamp` (oldest -> newest)
|
|
1340
|
-
* unless the backend specifies otherwise.
|
|
1341
|
-
*/
|
|
1342
|
-
export interface ApiPerpetualsAccountMarginHistoryResponse {
|
|
1343
|
-
marginHistoryDatas: PerpetualsAccountMarginHistoryData[];
|
|
1344
|
-
}
|
|
1345
|
-
/**
|
|
1346
|
-
* Request body for fetching account-level order history with a cursor.
|
|
1347
|
-
*/
|
|
1348
|
-
export type ApiPerpetualsMarketOrderHistoryBody = ApiPerpetualsHistoricalDataWithCursorBody & {
|
|
1349
|
-
marketId: PerpetualsMarketId;
|
|
1350
|
-
};
|
|
1351
|
-
/**
|
|
1352
|
-
* Request body for fetching account-level order history with a cursor.
|
|
1353
|
-
*/
|
|
1354
|
-
export type ApiPerpetualsAccountOrderHistoryBody = ApiPerpetualsHistoricalDataWithCursorBody & {
|
|
1355
|
-
accountId: PerpetualsAccountId;
|
|
1356
|
-
authentication?: {
|
|
1357
|
-
walletAddress: SuiAddress;
|
|
1358
|
-
bytes: string;
|
|
1359
|
-
signature: string;
|
|
1360
|
-
};
|
|
1361
|
-
};
|
|
1362
|
-
/**
|
|
1363
|
-
* Request body for fetching account collateral history with a cursor.
|
|
1364
|
-
*/
|
|
1365
|
-
export type ApiPerpetualsAccountCollateralHistoryBody = ApiPerpetualsHistoricalDataWithCursorBody & {
|
|
1366
|
-
accountId: PerpetualsAccountId;
|
|
1367
|
-
authentication?: {
|
|
1368
|
-
walletAddress: SuiAddress;
|
|
1369
|
-
bytes: string;
|
|
1370
|
-
signature: string;
|
|
1371
|
-
};
|
|
1372
|
-
};
|
|
1373
|
-
/**
|
|
1374
|
-
* Request body for previewing a market order placement (before sending a tx).
|
|
1375
|
-
*
|
|
1376
|
-
* This version is used by the API and includes account or vault context.
|
|
1377
|
-
*/
|
|
1378
|
-
export type ApiPerpetualsPreviewPlaceMarketOrderBody = Omit<ApiPerpetualsMarketOrderBody, "collateralChange" | "walletAddress" | "hasPosition" | "cancelSlTp" | "txKind" | "accountId" | "slTp" | "slippage"> & {
|
|
1379
|
-
/** Optional leverage override for the preview. */
|
|
1380
|
-
leverage?: number;
|
|
1381
|
-
} & ({
|
|
1382
|
-
accountId: PerpetualsAccountId | undefined;
|
|
1383
|
-
} | {
|
|
1384
|
-
vaultId: ObjectId | undefined;
|
|
1385
|
-
});
|
|
1386
|
-
/**
|
|
1387
|
-
* Request body for previewing a limit order placement (before sending a tx).
|
|
1388
|
-
*
|
|
1389
|
-
* This version is used by the API and includes account or vault context.
|
|
1390
|
-
*/
|
|
1391
|
-
export type ApiPerpetualsPreviewPlaceLimitOrderBody = Omit<ApiPerpetualsLimitOrderBody, "collateralChange" | "walletAddress" | "hasPosition" | "cancelSlTp" | "txKind" | "accountId" | "slTp"> & {
|
|
1392
|
-
/** Optional leverage override for the preview. */
|
|
1393
|
-
leverage?: number;
|
|
1394
|
-
} & ({
|
|
1395
|
-
accountId: PerpetualsAccountId | undefined;
|
|
1396
|
-
} | {
|
|
1397
|
-
vaultId: ObjectId | undefined;
|
|
1398
|
-
});
|
|
1399
|
-
/**
|
|
1400
|
-
* Request body for previewing cancel-order operations.
|
|
1401
|
-
*/
|
|
1402
|
-
export type ApiPerpetualsPreviewCancelOrdersBody = {
|
|
1403
|
-
/** Per-market mapping of order IDs to cancel. */
|
|
1404
|
-
marketIdsToData: Record<PerpetualsMarketId, {
|
|
1405
|
-
orderIds: PerpetualsOrderId[];
|
|
1406
|
-
}>;
|
|
1407
|
-
} & ({
|
|
1408
|
-
accountId: PerpetualsAccountId;
|
|
1409
|
-
accountCapId?: ObjectId;
|
|
1410
|
-
} | {
|
|
1411
|
-
vaultId: ObjectId;
|
|
1412
|
-
});
|
|
1413
|
-
/**
|
|
1414
|
-
* Request body for previewing a leverage change for a given position.
|
|
1415
|
-
*/
|
|
1416
|
-
export type ApiPerpetualsPreviewSetLeverageBody = {
|
|
1417
|
-
marketId: PerpetualsMarketId;
|
|
1418
|
-
leverage: number;
|
|
1419
|
-
} & ({
|
|
1420
|
-
accountId: PerpetualsAccountId;
|
|
1421
|
-
accountCapId?: ObjectId;
|
|
1422
|
-
} | {
|
|
1423
|
-
vaultId: ObjectId;
|
|
1424
|
-
});
|
|
1425
|
-
/**
|
|
1426
|
-
* Request body for previewing a collateral allocation/deallocation for a given position.
|
|
1427
|
-
*/
|
|
1428
|
-
export type ApiPerpetualsPreviewEditCollateralBody = {
|
|
1429
|
-
marketId: PerpetualsMarketId;
|
|
1430
|
-
collateralChange: Balance;
|
|
1431
|
-
} & ({
|
|
1432
|
-
accountId: PerpetualsAccountId;
|
|
1433
|
-
accountCapId?: ObjectId;
|
|
1434
|
-
} | {
|
|
1435
|
-
vaultId: ObjectId;
|
|
1436
|
-
});
|
|
1437
|
-
/**
|
|
1438
|
-
* Response type for a leverage preview request.
|
|
1439
|
-
*
|
|
1440
|
-
* Either returns an error, or the position and collateral after the change.
|
|
1441
|
-
*/
|
|
1442
|
-
export type ApiPerpetualsPreviewSetLeverageResponse = {
|
|
1443
|
-
error: string;
|
|
1444
|
-
} | {
|
|
1445
|
-
updatedPosition: PerpetualsPosition;
|
|
1446
|
-
collateralChange: number;
|
|
1447
|
-
};
|
|
1448
|
-
/**
|
|
1449
|
-
* Response type for a allocate/deallocate collateral preview request.
|
|
1450
|
-
*
|
|
1451
|
-
* Either returns an error, or the position and collateral after the change.
|
|
1452
|
-
*/
|
|
1453
|
-
export type ApiPerpetualsPreviewEditCollateralResponse = {
|
|
1454
|
-
error: string;
|
|
1455
|
-
} | {
|
|
1456
|
-
updatedPosition: PerpetualsPosition;
|
|
1457
|
-
collateralChange: number;
|
|
1458
|
-
};
|
|
1459
|
-
/**
|
|
1460
|
-
* Generic response type for a place-order preview (market or limit).
|
|
1461
|
-
*/
|
|
1462
|
-
export type ApiPerpetualsPreviewPlaceOrderResponse = {
|
|
1463
|
-
error: string;
|
|
1464
|
-
} | {
|
|
1465
|
-
/** Simulated position after the market order. */
|
|
1466
|
-
updatedPosition: PerpetualsPosition;
|
|
1467
|
-
/** Absolute price slippage between reference price and execution price. */
|
|
1468
|
-
priceSlippage: number;
|
|
1469
|
-
/** Relative price slippage expressed as a fraction
|
|
1470
|
-
* (e.g. `0.01` == 1% slippage). */
|
|
1471
|
-
percentSlippage: number;
|
|
1472
|
-
/** Size that is expected to be filled immediately (in base units). */
|
|
1473
|
-
filledSize: number;
|
|
1474
|
-
/** Notional value in USD of the `filledSize`. */
|
|
1475
|
-
filledSizeUsd: number;
|
|
1476
|
-
/** Any size that remains posted as liquidity (for market orders this is
|
|
1477
|
-
* usually zero unless partially resting is supported). */
|
|
1478
|
-
postedSize: number;
|
|
1479
|
-
/** Notional value in USD of the `postedSize`. For pure market orders this
|
|
1480
|
-
* is typically `0`. */
|
|
1481
|
-
postedSizeUsd: number;
|
|
1482
|
-
/** Net collateral change in USD (e.g. fees, margin changes). */
|
|
1483
|
-
collateralChange: number;
|
|
1484
|
-
/** Effective execution price for the filled portion of the order. */
|
|
1485
|
-
executionPrice: number;
|
|
1486
|
-
/** Whether there is an existing position in this market. */
|
|
1487
|
-
hasPosition: boolean;
|
|
1488
|
-
/** True is position is closed. */
|
|
1489
|
-
cancelSlTp: boolean;
|
|
1490
|
-
};
|
|
1491
|
-
/**
|
|
1492
|
-
* Response type for cancel-order preview.
|
|
1493
|
-
*/
|
|
1494
|
-
export type ApiPerpetualsPreviewCancelOrdersResponse = {
|
|
1495
|
-
error: string;
|
|
1496
|
-
} | {
|
|
1497
|
-
marketIdsToData: Record<PerpetualsMarketId, {
|
|
1498
|
-
updatedPosition: PerpetualsPosition;
|
|
1499
|
-
collateralChange: number;
|
|
1500
|
-
}>;
|
|
1501
|
-
};
|
|
1502
|
-
/**
|
|
1503
|
-
* Request body for computing an execution price for a hypothetical trade
|
|
1504
|
-
* using the current orderbook state and oracle prices.
|
|
1505
|
-
*/
|
|
1506
|
-
export interface ApiPerpetualsExecutionPriceBody {
|
|
1507
|
-
side: PerpetualsOrderSide;
|
|
1508
|
-
size: bigint;
|
|
1509
|
-
/** Lot size used to discretize the order size. */
|
|
1510
|
-
lotSize: number;
|
|
1511
|
-
/** Available collateral. */
|
|
1512
|
-
collateral: Balance;
|
|
1513
|
-
/** Oracle ID for the base price. */
|
|
1514
|
-
basePriceFeedId: ObjectId;
|
|
1515
|
-
/** Oracle ID for the collateral price. */
|
|
1516
|
-
collateralPriceFeedId: ObjectId;
|
|
1517
|
-
/** Optional user-specified price constraint. */
|
|
1518
|
-
price?: number;
|
|
1519
|
-
}
|
|
1520
|
-
/**
|
|
1521
|
-
* Response body for execution price previews.
|
|
1522
|
-
*/
|
|
1523
|
-
export interface ApiPerpetualsExecutionPriceResponse {
|
|
1524
|
-
executionPrice: number;
|
|
1525
|
-
sizeFilled: number;
|
|
1526
|
-
sizePosted: number;
|
|
1527
|
-
fills: PerpetualsFilledOrderData[];
|
|
1528
|
-
}
|
|
1529
|
-
/**
|
|
1530
|
-
* Request payload for fetching historical candle (OHLCV) data for a given
|
|
1531
|
-
* perpetuals market.
|
|
1532
|
-
*/
|
|
1533
|
-
export interface ApiPerpetualsMarketCandleHistoryBody {
|
|
1534
|
-
/**
|
|
1535
|
-
* Identifier of the perpetuals market whose candles you want to fetch.
|
|
1536
|
-
*
|
|
1537
|
-
* Must be a valid on-chain market ID.
|
|
1538
|
-
*/
|
|
1539
|
-
marketId: PerpetualsMarketId;
|
|
1540
|
-
/**
|
|
1541
|
-
* Start of the time range to query, as a Unix timestamp in **milliseconds**.
|
|
1542
|
-
*/
|
|
1543
|
-
fromTimestamp: Timestamp;
|
|
1544
|
-
/**
|
|
1545
|
-
* End of the time range to query, as a Unix timestamp in **milliseconds**.
|
|
1546
|
-
*/
|
|
1547
|
-
toTimestamp: Timestamp;
|
|
1548
|
-
/**
|
|
1549
|
-
* Candle interval / resolution in **milliseconds** (e.g. 60_000 for 1m,
|
|
1550
|
-
* 300_000 for 5m).
|
|
1551
|
-
*/
|
|
1552
|
-
intervalMs: number;
|
|
1553
|
-
}
|
|
1554
|
-
/**
|
|
1555
|
-
* Response type for historical market candle data.
|
|
1556
|
-
*/
|
|
1557
|
-
export interface ApiPerpetualsMarketCandleHistoryResponse {
|
|
1558
|
-
candles: PerpetualsMarketCandleDataPoint[];
|
|
1559
|
-
}
|
|
1560
|
-
/**
|
|
1561
|
-
* Request body for computing the maximum order size for an account in a
|
|
1562
|
-
* given market.
|
|
1563
|
-
*/
|
|
1564
|
-
export interface ApiPerpetualsMaxOrderSizeBody {
|
|
1565
|
-
marketId: PerpetualsMarketId;
|
|
1566
|
-
accountId: PerpetualsAccountId;
|
|
1567
|
-
side: PerpetualsOrderSide;
|
|
1568
|
-
leverage?: number;
|
|
1569
|
-
price?: number;
|
|
1570
|
-
/**
|
|
1571
|
-
* Optional integrator fee configuration for an order.
|
|
1572
|
-
*
|
|
1573
|
-
* If provided, the integrator specified in the configuration will receive a fee
|
|
1574
|
-
* on the taker volume generated by this order. The integrator must have been
|
|
1575
|
-
* previously approved by the account owner, and the fee must not exceed the
|
|
1576
|
-
* maximum fee the user approved for that integrator.
|
|
1577
|
-
*/
|
|
1578
|
-
builderCode?: PerpetualsBuilderCodeParamaters;
|
|
1579
|
-
}
|
|
1580
|
-
/**
|
|
1581
|
-
* Request body for fetching stop-order data associated with an account or vault,
|
|
1582
|
-
* validated using a wallet signature.
|
|
1583
|
-
*/
|
|
1584
|
-
export type ApiPerpetualsStopOrderDatasBody = {
|
|
1585
|
-
walletAddress: SuiAddress;
|
|
1586
|
-
bytes: string;
|
|
1587
|
-
signature: string;
|
|
1588
|
-
marketIds?: PerpetualsMarketId[];
|
|
1589
|
-
} & ({
|
|
1590
|
-
accountId: PerpetualsAccountId;
|
|
1591
|
-
accountCapId?: ObjectId;
|
|
1592
|
-
} | {
|
|
1593
|
-
vaultId: ObjectId;
|
|
1594
|
-
});
|
|
1595
|
-
/**
|
|
1596
|
-
* Response payload for stop-order queries.
|
|
1597
|
-
*
|
|
1598
|
-
* Stop orders are returned in their normalized on-chain shape
|
|
1599
|
-
* ({@link PerpetualsStopOrderData}). Clients should interpret `slTp` vs `nonSlTp`
|
|
1600
|
-
* to determine the stop semantics.
|
|
1601
|
-
*/
|
|
1602
|
-
export interface ApiPerpetualsStopOrderDatasResponse {
|
|
1603
|
-
stopOrderDatas: PerpetualsStopOrderData[];
|
|
1604
|
-
}
|
|
1605
|
-
/**
|
|
1606
|
-
* Request body for creating a vault capability (vault cap) for a given wallet.
|
|
1607
|
-
*/
|
|
1608
|
-
export interface ApiPerpetualsCreateVaultCapBody {
|
|
1609
|
-
walletAddress: SuiAddress;
|
|
1610
|
-
lpCoinMetadata: {
|
|
1611
|
-
/** Name for the token */
|
|
1612
|
-
name: string;
|
|
1613
|
-
/** Symbol for the token */
|
|
1614
|
-
symbol: string;
|
|
1615
|
-
/** Description of the token */
|
|
1616
|
-
description: string;
|
|
1617
|
-
/** URL for the token logo */
|
|
1618
|
-
iconUrl?: string;
|
|
1619
|
-
};
|
|
1620
|
-
}
|
|
1621
|
-
/**
|
|
1622
|
-
* Request body for creating a new vault with initial deposit.
|
|
1623
|
-
*
|
|
1624
|
-
* The deposit can be specified either:
|
|
1625
|
-
* - As a numeric `initialDepositAmount`, or
|
|
1626
|
-
* - As an existing `depositCoinArg` (coin object).
|
|
1627
|
-
*/
|
|
1628
|
-
export type ApiPerpetualsCreateVaultBody = {
|
|
1629
|
-
walletAddress: SuiAddress;
|
|
1630
|
-
metadata: {
|
|
1631
|
-
/**
|
|
1632
|
-
* A human-readable name for the `Vault`.
|
|
1633
|
-
*/
|
|
1634
|
-
name: string;
|
|
1635
|
-
/**
|
|
1636
|
-
* A verbose description of the `Vault`.
|
|
1637
|
-
*/
|
|
1638
|
-
description: string;
|
|
1639
|
-
/**
|
|
1640
|
-
* The `Vault` curator's name.
|
|
1641
|
-
*/
|
|
1642
|
-
curatorName?: string;
|
|
1643
|
-
/**
|
|
1644
|
-
* A url for the `Vault`'s curator. Ideally their website.
|
|
1645
|
-
*/
|
|
1646
|
-
curatorUrl?: string;
|
|
1647
|
-
/**
|
|
1648
|
-
* An image url for the `Vault`'s curator. Ideally their logo.
|
|
1649
|
-
*/
|
|
1650
|
-
curatorLogoUrl?: string;
|
|
1651
|
-
/**
|
|
1652
|
-
* Extra / optional fields for future extensibility. Recommended keys include: twitter_url.
|
|
1653
|
-
*/
|
|
1654
|
-
extraFields?: Record<string, string>;
|
|
1655
|
-
};
|
|
1656
|
-
coinMetadataId: ObjectId;
|
|
1657
|
-
treasuryCapId: ObjectId;
|
|
1658
|
-
collateralCoinType: CoinType;
|
|
1659
|
-
lockPeriodMs: bigint;
|
|
1660
|
-
performanceFeePercentage: Percentage;
|
|
1661
|
-
forceWithdrawDelayMs: bigint;
|
|
1662
|
-
txKind?: SerializedTransaction;
|
|
1663
|
-
isSponsoredTx?: boolean;
|
|
1664
|
-
} & ({
|
|
1665
|
-
initialDepositAmount: Balance;
|
|
1666
|
-
} | {
|
|
1667
|
-
initialDepositCoinArg: TransactionObjectArgument;
|
|
1668
|
-
});
|
|
1669
|
-
/**
|
|
1670
|
-
* Request payload for creating an integrator configuration approval transaction.
|
|
1671
|
-
*
|
|
1672
|
-
* This transaction allows a user to approve an integrator to receive fees on orders
|
|
1673
|
-
* placed on their behalf. The user sets a maximum taker fee that the integrator
|
|
1674
|
-
* can charge per order.
|
|
1675
|
-
*/
|
|
1676
|
-
export interface ApiPerpetualsBuilderCodesCreateIntegratorConfigTxBody {
|
|
1677
|
-
/**
|
|
1678
|
-
* Account ID encoded as a bigint.
|
|
1679
|
-
*
|
|
1680
|
-
* This is the perpetuals account that is granting permission to the integrator.
|
|
1681
|
-
*/
|
|
1682
|
-
accountId: PerpetualsAccountId;
|
|
1683
|
-
/**
|
|
1684
|
-
* Sui address of the integrator being approved.
|
|
1685
|
-
*
|
|
1686
|
-
* Must be a valid Sui object ID.
|
|
1687
|
-
*/
|
|
1688
|
-
integratorAddress: SuiAddress;
|
|
1689
|
-
/**
|
|
1690
|
-
* Maximum taker fee (as a decimal) that the integrator can charge per order.
|
|
1691
|
-
*
|
|
1692
|
-
* For example, 0.001 represents a 0.1% maximum fee. The integrator can set
|
|
1693
|
-
* any fee up to this maximum when placing orders on behalf of the user.
|
|
1694
|
-
*/
|
|
1695
|
-
maxTakerFee: Percentage;
|
|
1696
|
-
/**
|
|
1697
|
-
* Optional existing transaction kind (base64-encoded) to extend.
|
|
1698
|
-
*
|
|
1699
|
-
* If provided, the new integrator approval will be added to this transaction.
|
|
1700
|
-
*/
|
|
1701
|
-
txKind?: SerializedTransaction;
|
|
1702
|
-
}
|
|
1703
|
-
/**
|
|
1704
|
-
* Request payload for creating a transaction to revoke an integrator's permissions.
|
|
1705
|
-
*
|
|
1706
|
-
* This transaction removes an integrator's approval to collect fees on orders
|
|
1707
|
-
* placed on behalf of the user. After revocation, the integrator will no longer
|
|
1708
|
-
* be able to submit orders with fees for this account.
|
|
1709
|
-
*/
|
|
1710
|
-
export interface ApiPerpetualsBuilderCodesRemoveIntegratorConfigTxBody {
|
|
1711
|
-
/**
|
|
1712
|
-
* Account ID encoded as a bigint.
|
|
1713
|
-
*
|
|
1714
|
-
* This is the perpetuals account that is revoking the integrator's permission.
|
|
1715
|
-
*/
|
|
1716
|
-
accountId: PerpetualsAccountId;
|
|
1717
|
-
/**
|
|
1718
|
-
* Sui address of the integrator whose permissions are being revoked.
|
|
1719
|
-
*
|
|
1720
|
-
* Must be a valid Sui object ID.
|
|
1721
|
-
*/
|
|
1722
|
-
integratorAddress: SuiAddress;
|
|
1723
|
-
/**
|
|
1724
|
-
* Optional existing transaction kind (base64-encoded) to extend.
|
|
1725
|
-
*
|
|
1726
|
-
* If provided, the integrator removal will be added to this transaction.
|
|
1727
|
-
*/
|
|
1728
|
-
txKind?: SerializedTransaction;
|
|
1729
|
-
}
|
|
1730
|
-
/**
|
|
1731
|
-
* Request payload for creating a transaction to initialize an integrator fee vault.
|
|
1732
|
-
*
|
|
1733
|
-
* Before an integrator can claim fees from a specific market, they must first create
|
|
1734
|
-
* a vault for that market. This is a one-time setup per integrator per market.
|
|
1735
|
-
*/
|
|
1736
|
-
export interface ApiPerpetualsBuilderCodesCreateIntegratorVaultTxBody {
|
|
1737
|
-
/**
|
|
1738
|
-
* Market (clearing house) ID where the integrator vault will be created.
|
|
1739
|
-
*
|
|
1740
|
-
* Must be a valid Sui object ID.
|
|
1741
|
-
*/
|
|
1742
|
-
marketId: PerpetualsMarketId;
|
|
1743
|
-
/**
|
|
1744
|
-
* Sui address of the integrator creating the vault.
|
|
1745
|
-
*
|
|
1746
|
-
* Must be a valid Sui object ID.
|
|
1747
|
-
* This integrator will be able to claim fees from this vault.
|
|
1748
|
-
*/
|
|
1749
|
-
integratorAddress: SuiAddress;
|
|
1750
|
-
/**
|
|
1751
|
-
* Optional existing transaction kind (base64-encoded) to extend.
|
|
1752
|
-
*
|
|
1753
|
-
* If provided, the vault creation will be added to this transaction.
|
|
1754
|
-
*/
|
|
1755
|
-
txKind?: SerializedTransaction;
|
|
1756
|
-
}
|
|
1757
|
-
/**
|
|
1758
|
-
* Request payload for creating a transaction to claim accumulated integrator fees from a vault.
|
|
1759
|
-
*
|
|
1760
|
-
* Integrators earn fees on taker volume generated by orders they submit on behalf of users.
|
|
1761
|
-
* These fees accumulate in a vault per market (clearing house), and can be claimed at any time
|
|
1762
|
-
* by the integrator.
|
|
1763
|
-
*/
|
|
1764
|
-
export interface ApiPerpetualsBuilderCodesClaimIntegratorVaultFeesTxBody {
|
|
1765
|
-
/**
|
|
1766
|
-
* Market (clearing house) ID where the integrator fees were earned.
|
|
1767
|
-
*
|
|
1768
|
-
* Must be a valid Sui object ID.
|
|
1769
|
-
*/
|
|
1770
|
-
marketId: PerpetualsMarketId;
|
|
1771
|
-
/**
|
|
1772
|
-
* Sui address of the integrator claiming their fees.
|
|
1773
|
-
*
|
|
1774
|
-
* Must be a valid Sui object ID.
|
|
1775
|
-
* Only the integrator who earned the fees can claim them.
|
|
1776
|
-
*/
|
|
1777
|
-
integratorAddress: SuiAddress;
|
|
1778
|
-
/**
|
|
1779
|
-
* Optional recipient address for the claimed fees.
|
|
1780
|
-
*
|
|
1781
|
-
* When provided, the transaction will include an on-chain transfer of the
|
|
1782
|
-
* claimed coin to this address. When omitted, the claimed coin is exposed
|
|
1783
|
-
* as a transaction argument that can be used in subsequent commands.
|
|
1784
|
-
*/
|
|
1785
|
-
recipientAddress?: SuiAddress;
|
|
1786
|
-
/**
|
|
1787
|
-
* Optional existing transaction kind (base64-encoded) to extend.
|
|
1788
|
-
*
|
|
1789
|
-
* If provided, the fee claim will be added to this transaction.
|
|
1790
|
-
*/
|
|
1791
|
-
txKind?: SerializedTransaction;
|
|
1792
|
-
}
|
|
1793
|
-
/**
|
|
1794
|
-
* Response payload for claim integrator vault fees transaction.
|
|
1795
|
-
*
|
|
1796
|
-
* Contains the transaction kind and optionally a coin output argument when
|
|
1797
|
-
* no recipient address was provided.
|
|
1798
|
-
*/
|
|
1799
|
-
export interface ApiPerpetualsBuilderCodesClaimIntegratorVaultFeesTxResponse {
|
|
1800
|
-
/**
|
|
1801
|
-
* Base64-encoded Sui `TransactionKind` representing the claim (and
|
|
1802
|
-
* optional transfer) transaction.
|
|
1803
|
-
*/
|
|
1804
|
-
txKind: SerializedTransaction;
|
|
1805
|
-
/**
|
|
1806
|
-
* When `recipientAddress` is omitted, this contains a readable argument
|
|
1807
|
-
* pointing to the claimed coin output, so callers can wire it into
|
|
1808
|
-
* subsequent steps.
|
|
1809
|
-
*/
|
|
1810
|
-
coinOutArg?: TransactionObjectArgument;
|
|
1811
|
-
}
|
|
1812
|
-
/**
|
|
1813
|
-
* Request payload for fetching integrator configuration for a specific account and integrator.
|
|
1814
|
-
*
|
|
1815
|
-
* This endpoint checks whether an integrator has been approved by an account to collect fees,
|
|
1816
|
-
* and if so, returns the maximum taker fee the integrator is authorized to charge.
|
|
1817
|
-
*/
|
|
1818
|
-
export interface ApiPerpetualsBuilderCodesIntegratorConfigBody {
|
|
1819
|
-
/**
|
|
1820
|
-
* Account ID encoded as a bigint.
|
|
1821
|
-
*
|
|
1822
|
-
* This is the perpetuals account whose integrator approval is being queried.
|
|
1823
|
-
*/
|
|
1824
|
-
accountId: PerpetualsAccountId;
|
|
1825
|
-
/**
|
|
1826
|
-
* Sui address of the integrator whose configuration is being queried.
|
|
1827
|
-
*
|
|
1828
|
-
* Must be a valid Sui object ID.
|
|
1829
|
-
*/
|
|
1830
|
-
integratorAddress: SuiAddress;
|
|
1831
|
-
}
|
|
1832
|
-
/**
|
|
1833
|
-
* Response payload containing integrator configuration details.
|
|
1834
|
-
*
|
|
1835
|
-
* Returns whether an integrator configuration exists and the maximum taker fee
|
|
1836
|
-
* if the integrator has been approved.
|
|
1837
|
-
*/
|
|
1838
|
-
export interface ApiPerpetualsBuilderCodesIntegratorConfigResponse {
|
|
1839
|
-
/**
|
|
1840
|
-
* Maximum taker fee (as a decimal) that the integrator is authorized to charge.
|
|
1841
|
-
*
|
|
1842
|
-
* For example, 0.001 represents a 0.1% maximum fee. This value is only meaningful
|
|
1843
|
-
* if `exists` is true.
|
|
1844
|
-
*/
|
|
1845
|
-
maxTakerFee: Percentage | undefined;
|
|
1846
|
-
/**
|
|
1847
|
-
* Whether an integrator configuration exists for this account-integrator pair.
|
|
1848
|
-
*
|
|
1849
|
-
* If false, the integrator has not been approved by the account and cannot
|
|
1850
|
-
* collect fees on orders placed on behalf of the account.
|
|
1851
|
-
*/
|
|
1852
|
-
exists: boolean;
|
|
1853
|
-
}
|
|
1854
|
-
/**
|
|
1855
|
-
* Individual integrator vault data for a specific market.
|
|
1856
|
-
*
|
|
1857
|
-
* Contains the market ID and the accumulated fees available to claim from that market's vault.
|
|
1858
|
-
*/
|
|
1859
|
-
export interface PerpetualsIntegratorVaultData {
|
|
1860
|
-
/**
|
|
1861
|
-
* Market (clearing house) object ID.
|
|
1862
|
-
*/
|
|
1863
|
-
marketId: PerpetualsMarketId;
|
|
1864
|
-
/**
|
|
1865
|
-
* Total accumulated fees in the market's collateral currency that are available to claim.
|
|
1866
|
-
*
|
|
1867
|
-
* Fees are denominated in the collateral coin type used by the market.
|
|
1868
|
-
*/
|
|
1869
|
-
fees: number;
|
|
1870
|
-
}
|
|
1871
|
-
/**
|
|
1872
|
-
* Request payload for fetching integrator vault fees across multiple markets.
|
|
1873
|
-
*
|
|
1874
|
-
* This endpoint returns the accumulated fees an integrator has earned in their vaults
|
|
1875
|
-
* across one or more markets (clearing houses). These fees are generated from taker
|
|
1876
|
-
* volume on orders the integrator submitted on behalf of users.
|
|
1877
|
-
*/
|
|
1878
|
-
export interface ApiPerpetualsBuilderCodesIntegratorVaultsBody {
|
|
1879
|
-
/**
|
|
1880
|
-
* List of market (clearing house) IDs to query for integrator vault fees.
|
|
1881
|
-
*
|
|
1882
|
-
* Each market ID must be a valid Sui object ID.
|
|
1883
|
-
*/
|
|
1884
|
-
marketIds: PerpetualsMarketId[];
|
|
1885
|
-
/**
|
|
1886
|
-
* Sui address of the integrator whose vault fees are being queried.
|
|
1887
|
-
*
|
|
1888
|
-
* Must be a valid Sui object ID.
|
|
1889
|
-
*/
|
|
1890
|
-
integratorAddress: SuiAddress;
|
|
1891
|
-
}
|
|
1892
|
-
/**
|
|
1893
|
-
* Response payload containing accumulated fees per market for an integrator.
|
|
1894
|
-
*
|
|
1895
|
-
* Returns a vector of integrator vault data, one entry per market queried.
|
|
1896
|
-
* Markets where the integrator has no vault may be omitted or have zero fees.
|
|
1897
|
-
*/
|
|
1898
|
-
export interface ApiPerpetualsBuilderCodesIntegratorVaultsResponse {
|
|
1899
|
-
/**
|
|
1900
|
-
* Vector of integrator vault data containing market IDs and their accumulated fees.
|
|
1901
|
-
*
|
|
1902
|
-
* Each entry represents a market where the integrator has a vault and potentially
|
|
1903
|
-
* claimable fees. The order matches the order of market IDs in the request.
|
|
1904
|
-
*/
|
|
1905
|
-
integratorVaults: PerpetualsIntegratorVaultData[];
|
|
1906
|
-
}
|
|
1907
|
-
/**
|
|
1908
|
-
* Request body for creating a new perpetuals account for a given wallet
|
|
1909
|
-
* and collateral coin type.
|
|
1910
|
-
*/
|
|
1911
|
-
export interface ApiPerpetualsCreateAccountBody {
|
|
1912
|
-
walletAddress: SuiAddress;
|
|
1913
|
-
collateralCoinType: CoinType;
|
|
1914
|
-
txKind?: SerializedTransaction;
|
|
1915
|
-
}
|
|
1916
|
-
/**
|
|
1917
|
-
* Request body for depositing collateral into a perpetuals account.
|
|
1918
|
-
*
|
|
1919
|
-
* The deposit can be provided by:
|
|
1920
|
-
* - `depositAmount` (numeric amount), or
|
|
1921
|
-
* - `depositCoinArg` (Sui coin object).
|
|
1922
|
-
*/
|
|
1923
|
-
export type ApiPerpetualsDepositCollateralBody = {
|
|
1924
|
-
walletAddress: SuiAddress;
|
|
1925
|
-
accountId: PerpetualsAccountId;
|
|
1926
|
-
accountCapId?: ObjectId;
|
|
1927
|
-
collateralCoinType: CoinType;
|
|
1928
|
-
txKind?: SerializedTransaction;
|
|
1929
|
-
isSponsoredTx?: boolean;
|
|
1930
|
-
} & ({
|
|
1931
|
-
depositAmount: Balance;
|
|
1932
|
-
} | {
|
|
1933
|
-
depositCoinArg: TransactionObjectArgument;
|
|
1934
|
-
});
|
|
1935
|
-
/**
|
|
1936
|
-
* Request body for withdrawing collateral from an account.
|
|
1937
|
-
*/
|
|
1938
|
-
export type ApiPerpetualsWithdrawCollateralBody = {
|
|
1939
|
-
accountId: PerpetualsAccountId;
|
|
1940
|
-
withdrawAmount: Balance;
|
|
1941
|
-
recipientAddress?: SuiAddress;
|
|
1942
|
-
txKind?: SerializedTransaction;
|
|
1943
|
-
};
|
|
1944
|
-
/**
|
|
1945
|
-
* Response body for withdraw-collateral transactions.
|
|
1946
|
-
*
|
|
1947
|
-
* The SDK typically uses `txKind` to reconstruct a transaction locally.
|
|
1948
|
-
*/
|
|
1949
|
-
export interface ApiPerpetualsWithdrawCollateralResponse {
|
|
1950
|
-
txKind: SerializedTransaction;
|
|
1951
|
-
coinOutArg: TransactionObjectArgument | undefined;
|
|
1952
|
-
}
|
|
1953
|
-
/**
|
|
1954
|
-
* Request body for transferring collateral between two perpetuals accounts.
|
|
1955
|
-
*/
|
|
1956
|
-
export interface ApiPerpetualsTransferCollateralBody {
|
|
1957
|
-
walletAddress: SuiAddress;
|
|
1958
|
-
fromAccountId: PerpetualsAccountId;
|
|
1959
|
-
fromAccountCapId?: ObjectId;
|
|
1960
|
-
toAccountId: PerpetualsAccountId;
|
|
1961
|
-
toAccountCapId?: ObjectId;
|
|
1962
|
-
transferAmount: Balance;
|
|
1963
|
-
txKind?: SerializedTransaction;
|
|
1964
|
-
}
|
|
1965
|
-
/**
|
|
1966
|
-
* Request body for allocating collateral to a given market (account/vault).
|
|
1967
|
-
*/
|
|
1968
|
-
export type ApiPerpetualsAllocateCollateralBody = {
|
|
1969
|
-
marketId: PerpetualsMarketId;
|
|
1970
|
-
allocateAmount: Balance;
|
|
1971
|
-
txKind?: SerializedTransaction;
|
|
1972
|
-
} & ({
|
|
1973
|
-
accountId: PerpetualsAccountId;
|
|
1974
|
-
accountCapId?: ObjectId;
|
|
1975
|
-
} | {
|
|
1976
|
-
vaultId: ObjectId;
|
|
1977
|
-
});
|
|
1978
|
-
/**
|
|
1979
|
-
* Request body for deallocating collateral from a given market (account/vault).
|
|
1980
|
-
*/
|
|
1981
|
-
export type ApiPerpetualsDeallocateCollateralBody = {
|
|
1982
|
-
marketId: PerpetualsMarketId;
|
|
1983
|
-
deallocateAmount: Balance;
|
|
1984
|
-
txKind?: SerializedTransaction;
|
|
1985
|
-
} & ({
|
|
1986
|
-
accountId: PerpetualsAccountId;
|
|
1987
|
-
accountCapId?: ObjectId;
|
|
1988
|
-
} | {
|
|
1989
|
-
vaultId: ObjectId;
|
|
1990
|
-
});
|
|
1991
|
-
/**
|
|
1992
|
-
* SDK-level inputs for placing one or more stop orders.
|
|
1993
|
-
*
|
|
1994
|
-
* This is a client-facing type that wraps the on-chain format.
|
|
1995
|
-
*/
|
|
1996
|
-
export interface SdkPerpetualsPlaceStopOrdersInputs {
|
|
1997
|
-
/** Stop orders to place (without objectId, which is created on-chain). */
|
|
1998
|
-
stopOrders: Omit<PerpetualsStopOrderData, "objectId">[];
|
|
1999
|
-
/** Optional transaction to embed the call in. */
|
|
2000
|
-
tx?: Transaction;
|
|
2001
|
-
/** Optional gas coin for sponsored or custom gas usage. */
|
|
2002
|
-
gasCoinArg?: TransactionObjectArgument;
|
|
2003
|
-
/** Whether the transaction is expected to be sponsored by the API. */
|
|
2004
|
-
isSponsoredTx?: boolean;
|
|
2005
|
-
}
|
|
2006
|
-
/**
|
|
2007
|
-
* Request body for placing stop orders via the API.
|
|
2008
|
-
*/
|
|
2009
|
-
export type ApiPerpetualsPlaceStopOrdersBody = {
|
|
2010
|
-
walletAddress: SuiAddress;
|
|
2011
|
-
stopOrders: Omit<PerpetualsStopOrderData, "objectId">[];
|
|
2012
|
-
gasCoinArg?: TransactionObjectArgument;
|
|
2013
|
-
isSponsoredTx?: boolean;
|
|
2014
|
-
txKind?: SerializedTransaction;
|
|
2015
|
-
} & ({
|
|
2016
|
-
accountId: PerpetualsAccountId;
|
|
2017
|
-
accountCapId?: ObjectId;
|
|
2018
|
-
} | {
|
|
2019
|
-
vaultId: ObjectId;
|
|
2020
|
-
});
|
|
2021
|
-
/**
|
|
2022
|
-
* SDK-level inputs for placing stop-loss / take-profit orders bound to a
|
|
2023
|
-
* specific market and position side.
|
|
2024
|
-
*/
|
|
2025
|
-
export type SdkPerpetualsPlaceSlTpOrdersInputs = {
|
|
2026
|
-
marketId: PerpetualsMarketId;
|
|
2027
|
-
/** Optional target size for SL/TP orders (scaled base units). */
|
|
2028
|
-
size?: bigint;
|
|
2029
|
-
/** Index price at which to trigger stop loss. */
|
|
2030
|
-
stopLossIndexPrice?: number;
|
|
2031
|
-
/** Index price at which to trigger take profit. */
|
|
2032
|
-
takeProfitIndexPrice?: number;
|
|
2033
|
-
/** Unique order identifier for limit order sl/tp is tied to. */
|
|
2034
|
-
limitOrderId?: PerpetualsOrderId;
|
|
2035
|
-
/** Optional transaction to embed in. */
|
|
2036
|
-
tx?: Transaction;
|
|
2037
|
-
/** Optional gas coin argument. */
|
|
2038
|
-
gasCoinArg?: TransactionObjectArgument;
|
|
2039
|
-
/** Whether to treat the transaction as sponsored. */
|
|
2040
|
-
isSponsoredTx?: boolean;
|
|
2041
|
-
};
|
|
2042
|
-
/**
|
|
2043
|
-
* API request body for placing SL/TP orders bound to a position.
|
|
2044
|
-
*/
|
|
2045
|
-
export type ApiPerpetualsPlaceSlTpOrdersBody = {
|
|
2046
|
-
marketId: PerpetualsMarketId;
|
|
2047
|
-
walletAddress: SuiAddress;
|
|
2048
|
-
positionSide: PerpetualsOrderSide;
|
|
2049
|
-
size?: bigint;
|
|
2050
|
-
stopLossIndexPrice?: number;
|
|
2051
|
-
takeProfitIndexPrice?: number;
|
|
2052
|
-
limitOrderId?: PerpetualsOrderId;
|
|
2053
|
-
gasCoinArg?: TransactionObjectArgument;
|
|
2054
|
-
isSponsoredTx?: boolean;
|
|
2055
|
-
leverage?: number;
|
|
2056
|
-
txKind?: SerializedTransaction;
|
|
2057
|
-
} & ({
|
|
2058
|
-
accountId: PerpetualsAccountId;
|
|
2059
|
-
accountCapId?: ObjectId;
|
|
2060
|
-
} | {
|
|
2061
|
-
vaultId: ObjectId;
|
|
2062
|
-
});
|
|
2063
|
-
/**
|
|
2064
|
-
* API request body for editing existing stop orders for an
|
|
2065
|
-
* account or vault.
|
|
2066
|
-
*/
|
|
2067
|
-
export type ApiPerpetualsEditStopOrdersBody = {
|
|
2068
|
-
stopOrders: PerpetualsStopOrderData[];
|
|
2069
|
-
txKind?: SerializedTransaction;
|
|
2070
|
-
} & ({
|
|
2071
|
-
accountId: PerpetualsAccountId;
|
|
2072
|
-
accountCapId?: ObjectId;
|
|
2073
|
-
} | {
|
|
2074
|
-
vaultId: ObjectId;
|
|
2075
|
-
});
|
|
2076
|
-
/**
|
|
2077
|
-
* API request body for placing a market order in a given market.
|
|
2078
|
-
*
|
|
2079
|
-
* This form is used by the backend and includes contextual information
|
|
2080
|
-
* like `accountId` or `vaultId`.
|
|
2081
|
-
*/
|
|
2082
|
-
export type ApiPerpetualsMarketOrderBody = {
|
|
2083
|
-
walletAddress: SuiAddress;
|
|
2084
|
-
marketId: PerpetualsMarketId;
|
|
2085
|
-
side: PerpetualsOrderSide;
|
|
2086
|
-
/** Order size in scaled base units. */
|
|
2087
|
-
size: bigint;
|
|
2088
|
-
/** Change in collateral allocated to this position (collateral units). */
|
|
2089
|
-
collateralChange: number;
|
|
2090
|
-
/** Whether the account already has a position in this market. */
|
|
2091
|
-
hasPosition: boolean;
|
|
2092
|
-
/** True is position is closed. */
|
|
2093
|
-
cancelSlTp: boolean;
|
|
2094
|
-
/** If true, order can only reduce an existing position. */
|
|
2095
|
-
reduceOnly: boolean;
|
|
2096
|
-
/** Allowable max slippage for trade execution. */
|
|
2097
|
-
slippage: Slippage;
|
|
2098
|
-
/** Optional leverage override. */
|
|
2099
|
-
leverage?: number;
|
|
2100
|
-
/** Optional SL/TP instructions to be placed along with the market order. */
|
|
2101
|
-
slTp?: {
|
|
2102
|
-
gasCoinArg?: TransactionObjectArgument;
|
|
2103
|
-
isSponsoredTx?: boolean;
|
|
2104
|
-
size?: bigint;
|
|
2105
|
-
stopLossIndexPrice?: number;
|
|
2106
|
-
takeProfitIndexPrice?: number;
|
|
2107
|
-
};
|
|
2108
|
-
/**
|
|
2109
|
-
* Optional integrator fee configuration for this order.
|
|
2110
|
-
*
|
|
2111
|
-
* If provided, the integrator specified in the configuration will receive a fee
|
|
2112
|
-
* on the taker volume generated by this order. The integrator must have been
|
|
2113
|
-
* previously approved by the account owner, and the fee must not exceed the
|
|
2114
|
-
* maximum fee the user approved for that integrator.
|
|
2115
|
-
*/
|
|
2116
|
-
builderCode?: PerpetualsBuilderCodeParamaters;
|
|
2117
|
-
/** Optional serialized transaction kind if assembled by the API. */
|
|
2118
|
-
txKind?: SerializedTransaction;
|
|
2119
|
-
} & ({
|
|
2120
|
-
accountId: PerpetualsAccountId;
|
|
2121
|
-
accountCapId?: ObjectId;
|
|
2122
|
-
} | {
|
|
2123
|
-
vaultId: ObjectId;
|
|
2124
|
-
});
|
|
2125
|
-
/**
|
|
2126
|
-
* API request body for placing a limit order in a given market.
|
|
2127
|
-
*/
|
|
2128
|
-
export type ApiPerpetualsLimitOrderBody = {
|
|
2129
|
-
marketId: PerpetualsMarketId;
|
|
2130
|
-
walletAddress: SuiAddress;
|
|
2131
|
-
side: PerpetualsOrderSide;
|
|
2132
|
-
/** Order size in scaled base units. */
|
|
2133
|
-
size: bigint;
|
|
2134
|
-
/** Limit price in scaled fixed-point representation. */
|
|
2135
|
-
price: bigint;
|
|
2136
|
-
/** How the order behaves on the orderbook. */
|
|
2137
|
-
orderType: PerpetualsOrderType;
|
|
2138
|
-
/** Change in collateral allocated to this position. */
|
|
2139
|
-
collateralChange: number;
|
|
2140
|
-
/** Whether the account already has a position in this market. */
|
|
2141
|
-
hasPosition: boolean;
|
|
2142
|
-
/** True is position is closed. */
|
|
2143
|
-
cancelSlTp: boolean;
|
|
2144
|
-
/** If true, order can only reduce an existing position. */
|
|
2145
|
-
reduceOnly: boolean;
|
|
2146
|
-
/** Optional expiration for the order. */
|
|
2147
|
-
expiryTimestamp?: bigint;
|
|
2148
|
-
/** Optional leverage override. */
|
|
2149
|
-
leverage?: number;
|
|
2150
|
-
/** Optional SL/TP instructions to be placed along with the limit order. */
|
|
2151
|
-
slTp?: {
|
|
2152
|
-
gasCoinArg?: TransactionObjectArgument;
|
|
2153
|
-
isSponsoredTx?: boolean;
|
|
2154
|
-
size?: bigint;
|
|
2155
|
-
stopLossIndexPrice?: number;
|
|
2156
|
-
takeProfitIndexPrice?: number;
|
|
2157
|
-
};
|
|
2158
|
-
/**
|
|
2159
|
-
* Optional integrator fee configuration for this order.
|
|
2160
|
-
*
|
|
2161
|
-
* If provided, the integrator specified in the configuration will receive a fee
|
|
2162
|
-
* on the taker volume generated by this order. The integrator must have been
|
|
2163
|
-
* previously approved by the account owner, and the fee must not exceed the
|
|
2164
|
-
* maximum fee the user approved for that integrator.
|
|
2165
|
-
*/
|
|
2166
|
-
builderCode?: PerpetualsBuilderCodeParamaters;
|
|
2167
|
-
/** Optionally pre-built transaction payload. */
|
|
2168
|
-
txKind?: SerializedTransaction;
|
|
2169
|
-
} & ({
|
|
2170
|
-
accountId: PerpetualsAccountId;
|
|
2171
|
-
accountCapId?: ObjectId;
|
|
2172
|
-
} | {
|
|
2173
|
-
vaultId: ObjectId;
|
|
2174
|
-
});
|
|
2175
|
-
/**
|
|
2176
|
-
* API request body for canceling one or more orders for an
|
|
2177
|
-
* account or vault, per market.
|
|
2178
|
-
*/
|
|
2179
|
-
export type ApiPerpetualsCancelOrdersBody = {
|
|
2180
|
-
walletAddress: SuiAddress;
|
|
2181
|
-
marketIdsToData: Record<PerpetualsMarketId, {
|
|
2182
|
-
orderIds: PerpetualsOrderId[];
|
|
2183
|
-
/** Collateral change associated with canceling these orders. */
|
|
2184
|
-
collateralChange: number;
|
|
2185
|
-
}>;
|
|
2186
|
-
txKind?: SerializedTransaction;
|
|
2187
|
-
} & ({
|
|
2188
|
-
accountId: PerpetualsAccountId;
|
|
2189
|
-
accountCapId?: ObjectId;
|
|
2190
|
-
} | {
|
|
2191
|
-
vaultId: ObjectId;
|
|
2192
|
-
});
|
|
2193
|
-
/**
|
|
2194
|
-
* API request body for canceling stop orders identified by object IDs.
|
|
2195
|
-
*/
|
|
2196
|
-
export type ApiPerpetualsCancelStopOrdersBody = {
|
|
2197
|
-
stopOrderIds: ObjectId[];
|
|
2198
|
-
txKind?: SerializedTransaction;
|
|
2199
|
-
} & ({
|
|
2200
|
-
accountId: PerpetualsAccountId;
|
|
2201
|
-
accountCapId?: ObjectId;
|
|
2202
|
-
} | {
|
|
2203
|
-
vaultId: ObjectId;
|
|
2204
|
-
});
|
|
2205
|
-
/**
|
|
2206
|
-
* API body for setting leverage on an existing position.
|
|
2207
|
-
*/
|
|
2208
|
-
export type ApiPerpetualsSetLeverageTxBody = {
|
|
2209
|
-
marketId: PerpetualsMarketId;
|
|
2210
|
-
collateralChange: number;
|
|
2211
|
-
leverage: number;
|
|
2212
|
-
txKind?: SerializedTransaction;
|
|
2213
|
-
} & ({
|
|
2214
|
-
accountId: PerpetualsAccountId;
|
|
2215
|
-
accountCapId?: ObjectId;
|
|
2216
|
-
} | {
|
|
2217
|
-
vaultId: ObjectId;
|
|
2218
|
-
});
|
|
2219
|
-
/**
|
|
2220
|
-
* 24-hour volume and price change statistics for a single market.
|
|
2221
|
-
*/
|
|
2222
|
-
export interface PerpetualsMarket24hrStats {
|
|
2223
|
-
/** The total 24h volume in USD. */
|
|
2224
|
-
volumeUsd: number;
|
|
2225
|
-
/** The total 24h volume measured in the base asset. */
|
|
2226
|
-
volumeBaseAssetAmount: number;
|
|
2227
|
-
/**
|
|
2228
|
-
* Absolute price change over the last 24h, denominated in the
|
|
2229
|
-
* base asset's quote units.
|
|
2230
|
-
*/
|
|
2231
|
-
priceChange: number;
|
|
2232
|
-
/** Relative price change over the last 24h (e.g. +5% => `0.05`). */
|
|
2233
|
-
priceChangePercentage: number;
|
|
2234
|
-
/** Latest base asset price for this market. */
|
|
2235
|
-
basePrice: number;
|
|
2236
|
-
/** Latest collateral asset price used in this market. */
|
|
2237
|
-
collateralPrice: number;
|
|
2238
|
-
/**
|
|
2239
|
-
* Mid price derived from the current order book.
|
|
2240
|
-
*
|
|
2241
|
-
* Calculated as the average of the best bid and best ask.
|
|
2242
|
-
* `undefined` if either side of the book is empty.
|
|
2243
|
-
*/
|
|
2244
|
-
midPrice: number | undefined;
|
|
2245
|
-
/**
|
|
2246
|
-
* Mark price used for liquidations and risk calculations.
|
|
2247
|
-
*
|
|
2248
|
-
* Computed as the median of the index TWAP, the current
|
|
2249
|
-
* book-derived price, and the index price adjusted for
|
|
2250
|
-
* funding contributions.
|
|
2251
|
-
*/
|
|
2252
|
-
markPrice: number;
|
|
2253
|
-
}
|
|
2254
|
-
/**
|
|
2255
|
-
* Response type for requesting 24h stats for multiple markets.
|
|
2256
|
-
*/
|
|
2257
|
-
export interface ApiPerpetualsMarkets24hrStatsResponse {
|
|
2258
|
-
marketsStats: PerpetualsMarket24hrStats[];
|
|
2259
|
-
}
|
|
2260
|
-
/**
|
|
2261
|
-
* Request body for fetching all markets for a given collateral type.
|
|
2262
|
-
*
|
|
2263
|
-
* This endpoint is commonly used to populate a "Markets" list filtered by
|
|
2264
|
-
* the user's selected collateral (e.g., USDC-margined markets).
|
|
2265
|
-
*/
|
|
2266
|
-
export interface ApiPerpetualsAllMarketsBody {
|
|
2267
|
-
collateralCoinType: CoinType;
|
|
2268
|
-
}
|
|
2269
|
-
/**
|
|
2270
|
-
* Response payload for {@link ApiPerpetualsAllMarketsBody}.
|
|
2271
|
-
*
|
|
2272
|
-
* Returns enriched market data including parameters, state, and current prices.
|
|
2273
|
-
*/
|
|
2274
|
-
export interface ApiPerpetualsAllMarketsResponse {
|
|
2275
|
-
markets: PerpetualsMarketData[];
|
|
2276
|
-
}
|
|
2277
|
-
/**
|
|
2278
|
-
* Request body for fetching a specific set of markets by ID.
|
|
2279
|
-
*/
|
|
2280
|
-
export interface ApiPerpetualsMarketsBody {
|
|
2281
|
-
marketIds: PerpetualsMarketId[];
|
|
2282
|
-
}
|
|
2283
|
-
/**
|
|
2284
|
-
* Response payload for {@link ApiPerpetualsMarketsBody}.
|
|
2285
|
-
*
|
|
2286
|
-
* Each item includes the market data.
|
|
2287
|
-
*/
|
|
2288
|
-
export interface ApiPerpetualsMarketsResponse {
|
|
2289
|
-
marketDatas: {
|
|
2290
|
-
market: PerpetualsMarketData;
|
|
2291
|
-
}[];
|
|
2292
|
-
}
|
|
2293
|
-
/**
|
|
2294
|
-
* Request body for fetching a specific set of orderbooks by market ID.
|
|
2295
|
-
*/
|
|
2296
|
-
export interface ApiPerpetualsOrderbooksBody {
|
|
2297
|
-
marketIds: PerpetualsMarketId[];
|
|
2298
|
-
}
|
|
2299
|
-
/**
|
|
2300
|
-
* Response payload for {@link ApiPerpetualsOrderbooksBody}.
|
|
2301
|
-
*
|
|
2302
|
-
* Each item includes the current orderbook snapshot.
|
|
2303
|
-
*/
|
|
2304
|
-
export interface ApiPerpetualsOrderbooksResponse {
|
|
2305
|
-
orderbooks: {
|
|
2306
|
-
orderbook: PerpetualsOrderbook;
|
|
2307
|
-
}[];
|
|
2308
|
-
}
|
|
2309
|
-
/**
|
|
2310
|
-
* Request body for fetching vault objects.
|
|
2311
|
-
*
|
|
2312
|
-
* If `vaultIds` is omitted, the API may return all vaults (potentially paginated
|
|
2313
|
-
* at the transport layer).
|
|
2314
|
-
*/
|
|
2315
|
-
export interface ApiPerpetualsVaultsBody {
|
|
2316
|
-
vaultIds?: ObjectId[];
|
|
2317
|
-
}
|
|
2318
|
-
/**
|
|
2319
|
-
* Response payload for vault queries.
|
|
2320
|
-
*/
|
|
2321
|
-
export interface ApiPerpetualsVaultsResponse {
|
|
2322
|
-
vaults: PerpetualsVaultObject[];
|
|
2323
|
-
}
|
|
2324
|
-
/**
|
|
2325
|
-
* Request body for fetching current prices for a list of markets.
|
|
2326
|
-
*
|
|
2327
|
-
* This is a lightweight alternative to fetching full {@link PerpetualsMarketData}
|
|
2328
|
-
* when only prices are needed.
|
|
2329
|
-
*/
|
|
2330
|
-
export interface ApiPerpetualsMarketsPricesBody {
|
|
2331
|
-
marketIds: PerpetualsMarketId[];
|
|
2332
|
-
}
|
|
2333
|
-
/**
|
|
2334
|
-
* Response payload for {@link ApiPerpetualsMarketsPricesBody}.
|
|
2335
|
-
*
|
|
2336
|
-
* Returns base (index/oracle) and collateral prices, the order book mid price,
|
|
2337
|
-
* and the mark price used for liquidations and risk calculations.
|
|
2338
|
-
*/
|
|
2339
|
-
export interface ApiPerpetualsMarketsPricesResponse {
|
|
2340
|
-
marketsPrices: {
|
|
2341
|
-
/** Identifier of the market. */
|
|
2342
|
-
marketId: PerpetualsMarketId;
|
|
2343
|
-
/** Latest base asset price for this market. */
|
|
2344
|
-
basePrice: number;
|
|
2345
|
-
/** Latest collateral asset price used in this market. */
|
|
2346
|
-
collateralPrice: number;
|
|
2347
|
-
/**
|
|
2348
|
-
* Mid price derived from the current order book.
|
|
2349
|
-
*
|
|
2350
|
-
* Calculated as the average of the best bid and best ask.
|
|
2351
|
-
* `undefined` if either side of the book is empty.
|
|
2352
|
-
*/
|
|
2353
|
-
midPrice: number | undefined;
|
|
2354
|
-
/**
|
|
2355
|
-
* Mark price used for liquidations and risk calculations.
|
|
2356
|
-
*
|
|
2357
|
-
* Computed as the median of the index TWAP, the current
|
|
2358
|
-
* book-derived price, and the index price adjusted for
|
|
2359
|
-
* funding contributions.
|
|
2360
|
-
*/
|
|
2361
|
-
markPrice: number;
|
|
2362
|
-
}[];
|
|
2363
|
-
}
|
|
2364
|
-
/**
|
|
2365
|
-
* Request body for granting an Agent Wallet on a perpetuals account.
|
|
2366
|
-
*
|
|
2367
|
-
* This corresponds to `POST /api/perpetuals/account/transactions/grant-agent-wallet`.
|
|
2368
|
-
*
|
|
2369
|
-
* The resulting on-chain transaction must be signed by the **account admin** wallet.
|
|
2370
|
-
* After execution, `recipientAddress` receives assistant-level permissions for `accountId`
|
|
2371
|
-
* (trading actions are allowed, but **withdrawing collateral** and managing other agent wallets are not).
|
|
2372
|
-
*/
|
|
2373
|
-
export type ApiPerpetualsGrantAgentWalletTxBody = {
|
|
2374
|
-
recipientAddress: SuiAddress;
|
|
2375
|
-
accountId: PerpetualsAccountId;
|
|
2376
|
-
txKind?: SerializedTransaction;
|
|
2377
|
-
};
|
|
2378
|
-
/**
|
|
2379
|
-
* Request body for revoking an Agent Wallet from a perpetuals account.
|
|
2380
|
-
*
|
|
2381
|
-
* This corresponds to `POST /api/perpetuals/account/transactions/revoke-agent-wallet`.
|
|
2382
|
-
*
|
|
2383
|
-
* The resulting on-chain transaction must be signed by the **account admin** wallet.
|
|
2384
|
-
* `accountCapId` is the object ID of the assistant capability to revoke.
|
|
2385
|
-
*/
|
|
2386
|
-
export type ApiPerpetualsRevokeAgentWalletTxBody = {
|
|
2387
|
-
accountId: PerpetualsAccountId;
|
|
2388
|
-
accountCapId: ObjectId;
|
|
2389
|
-
txKind?: SerializedTransaction;
|
|
2390
|
-
};
|
|
2391
|
-
export type ApiPerpetualsTransferCapTxBody = {
|
|
2392
|
-
/**
|
|
2393
|
-
* Recipient wallet address that should receive the capability object.
|
|
2394
|
-
*
|
|
2395
|
-
* Must be a valid Sui address string.
|
|
2396
|
-
*/
|
|
2397
|
-
recipientAddress: SuiAddress;
|
|
2398
|
-
/**
|
|
2399
|
-
* Object ID of the capability to transfer.
|
|
2400
|
-
*
|
|
2401
|
-
* This should be the object ID of the cap being transferred (e.g., an account cap or vault cap).
|
|
2402
|
-
*/
|
|
2403
|
-
capObjectId: ObjectId;
|
|
2404
|
-
/**
|
|
2405
|
-
* Optional serialized (base64) Sui `TransactionKind` to extend.
|
|
2406
|
-
*
|
|
2407
|
-
* When provided, the transfer operation is appended to the existing transaction.
|
|
2408
|
-
*/
|
|
2409
|
-
txKind?: SerializedTransaction;
|
|
2410
|
-
};
|
|
2411
|
-
/**
|
|
2412
|
-
* Request body for fetching LP coin prices for a set of vaults.
|
|
2413
|
-
*
|
|
2414
|
-
* LP coin price is typically expressed in USD per 1 LP token (native units adjusted
|
|
2415
|
-
* using `lpCoinDecimals` on the vault object).
|
|
2416
|
-
*/
|
|
2417
|
-
export interface ApiPerpetualsVaultLpCoinPricesBody {
|
|
2418
|
-
vaultIds: ObjectId[];
|
|
2419
|
-
}
|
|
2420
|
-
/**
|
|
2421
|
-
* Response payload for {@link ApiPerpetualsVaultLpCoinPricesBody}.
|
|
2422
|
-
*
|
|
2423
|
-
* The response is index-aligned with the request `vaultIds` array.
|
|
2424
|
-
*/
|
|
2425
|
-
export interface ApiPerpetualsVaultLpCoinPricesResponse {
|
|
2426
|
-
lpCoinPrices: number[];
|
|
2427
|
-
}
|
|
2428
|
-
/**
|
|
2429
|
-
* Request body for fetching a wallet's owned LP coin objects across vaults.
|
|
2430
|
-
*/
|
|
2431
|
-
export interface ApiPerpetualsVaultOwnedLpCoinsBody {
|
|
2432
|
-
walletAddress: SuiAddress;
|
|
2433
|
-
}
|
|
2434
|
-
/**
|
|
2435
|
-
* Response payload listing owned LP coin objects (per vault).
|
|
2436
|
-
*/
|
|
2437
|
-
export interface ApiPerpetualsVaultOwnedLpCoinsResponse {
|
|
2438
|
-
ownedLpCoins: PerpetualsVaultLpCoin[];
|
|
2439
|
-
}
|
|
2440
|
-
/**
|
|
2441
|
-
* Request body for fetching vault capability objects owned by a wallet.
|
|
2442
|
-
*
|
|
2443
|
-
* Vault caps are typically owned by the vault creator/owner and are required
|
|
2444
|
-
* for privileged vault actions (processing withdrawals, updating parameters, etc.).
|
|
2445
|
-
*/
|
|
2446
|
-
export interface ApiPerpetualsOwnedVaultCapsBody {
|
|
2447
|
-
walletAddress: SuiAddress;
|
|
2448
|
-
}
|
|
2449
|
-
/**
|
|
2450
|
-
* Response payload listing all vault caps owned by the wallet.
|
|
2451
|
-
*/
|
|
2452
|
-
export interface ApiPerpetualsOwnedVaultCapsResponse {
|
|
2453
|
-
ownedVaultCaps: PerpetualsVaultCap[];
|
|
2454
|
-
}
|
|
2455
|
-
/**
|
|
2456
|
-
* API body to process forced withdrawals in a vault.
|
|
2457
|
-
*/
|
|
2458
|
-
export interface ApiPerpetualsVaultProcessForceWithdrawRequestTxBody {
|
|
2459
|
-
walletAddress: SuiAddress;
|
|
2460
|
-
vaultId: ObjectId;
|
|
2461
|
-
/** Per-market sizes to close as part of force withdraw. */
|
|
2462
|
-
sizesToClose: Record<PerpetualsMarketId, Balance>;
|
|
2463
|
-
recipientAddress?: SuiAddress;
|
|
2464
|
-
txKind?: SerializedTransaction;
|
|
2465
|
-
}
|
|
2466
|
-
/**
|
|
2467
|
-
* Response body for force-withdraw processing transactions.
|
|
2468
|
-
*
|
|
2469
|
-
* - `txKind` is a serialized transaction kind the client can sign/submit.
|
|
2470
|
-
* - `coinOutArg` (if present) is the transaction argument referencing the
|
|
2471
|
-
* withdrawn collateral coin output.
|
|
2472
|
-
*/
|
|
2473
|
-
export interface ApiPerpetualsVaultProcessForceWithdrawRequestTxResponse {
|
|
2474
|
-
txKind: SerializedTransaction;
|
|
2475
|
-
coinOutArg: TransactionObjectArgument | undefined;
|
|
2476
|
-
}
|
|
2477
|
-
export interface ApiPerpetualsVaultPauseVaultForForceWithdrawRequestTxBody {
|
|
2478
|
-
vaultId: ObjectId;
|
|
2479
|
-
txKind?: SerializedTransaction;
|
|
2480
|
-
}
|
|
2481
|
-
/**
|
|
2482
|
-
* API body to process regular withdraw requests for a vault.
|
|
2483
|
-
*/
|
|
2484
|
-
export interface ApiPerpetualsVaultOwnerProcessWithdrawRequestsTxBody {
|
|
2485
|
-
vaultId: ObjectId;
|
|
2486
|
-
userAddresses: SuiAddress[];
|
|
2487
|
-
txKind?: SerializedTransaction;
|
|
2488
|
-
}
|
|
2489
|
-
/**
|
|
2490
|
-
* API body to update slippage parameter for pending vault withdraw
|
|
2491
|
-
* request for a specific vault.
|
|
2492
|
-
*/
|
|
2493
|
-
export interface ApiPerpetualsVaultUpdateWithdrawRequestSlippageTxBody {
|
|
2494
|
-
vaultId: ObjectId;
|
|
2495
|
-
minCollateralAmountOut: Balance;
|
|
2496
|
-
txKind?: SerializedTransaction;
|
|
2497
|
-
}
|
|
2498
|
-
/**
|
|
2499
|
-
* API body to update the force-withdrawal delay in a vault.
|
|
2500
|
-
*/
|
|
2501
|
-
export interface ApiPerpetualsVaultOwnerUpdateForceWithdrawDelayTxBody {
|
|
2502
|
-
vaultId: ObjectId;
|
|
2503
|
-
forceWithdrawDelayMs: bigint;
|
|
2504
|
-
txKind?: SerializedTransaction;
|
|
2505
|
-
}
|
|
2506
|
-
/**
|
|
2507
|
-
* API body to update the lock period on a vault.
|
|
2508
|
-
*/
|
|
2509
|
-
export interface ApiPerpetualsVaultOwnerUpdateLockPeriodTxBody {
|
|
2510
|
-
vaultId: ObjectId;
|
|
2511
|
-
lockPeriodMs: bigint;
|
|
2512
|
-
txKind?: SerializedTransaction;
|
|
2513
|
-
}
|
|
2514
|
-
/**
|
|
2515
|
-
* API body to update the owner's fee percentage on a vault.
|
|
2516
|
-
*/
|
|
2517
|
-
export interface ApiPerpetualsVaultOwnerUpdatePerformanceFeeTxBody {
|
|
2518
|
-
vaultId: ObjectId;
|
|
2519
|
-
performanceFeePercentage: number;
|
|
2520
|
-
txKind?: SerializedTransaction;
|
|
2521
|
-
}
|
|
2522
|
-
/**
|
|
2523
|
-
* API body for the vault owner withdrawing collected fees.
|
|
2524
|
-
*/
|
|
2525
|
-
export interface ApiPerpetualsVaultOwnerWithdrawPerformanceFeesTxBody {
|
|
2526
|
-
vaultId: ObjectId;
|
|
2527
|
-
withdrawAmount: Balance;
|
|
2528
|
-
recipientAddress?: SuiAddress;
|
|
2529
|
-
txKind?: SerializedTransaction;
|
|
2530
|
-
}
|
|
2531
|
-
/**
|
|
2532
|
-
* Response for owner-fee withdrawal transactions.
|
|
2533
|
-
*/
|
|
2534
|
-
export interface ApiPerpetualsVaultOwnerWithdrawPerformanceFeesTxResponse {
|
|
2535
|
-
txKind: SerializedTransaction;
|
|
2536
|
-
coinOutArg: TransactionObjectArgument | undefined;
|
|
2537
|
-
}
|
|
2538
|
-
/**
|
|
2539
|
-
* Request body for fetching all withdrawal requests for specific vaults.
|
|
2540
|
-
*/
|
|
2541
|
-
export interface ApiPerpetualsVaultsWithdrawRequestsBody {
|
|
2542
|
-
vaultIds: ObjectId[];
|
|
2543
|
-
}
|
|
2544
|
-
/**
|
|
2545
|
-
* Response payload listing withdrawal requests for the requested vaults.
|
|
2546
|
-
*
|
|
2547
|
-
* Depending on backend behavior, this may include all queued requests across
|
|
2548
|
-
* all specified vaults.
|
|
2549
|
-
*/
|
|
2550
|
-
export interface ApiPerpetualsVaultsWithdrawRequestsResponse {
|
|
2551
|
-
withdrawRequests: PerpetualsVaultWithdrawRequest[];
|
|
2552
|
-
}
|
|
2553
|
-
/**
|
|
2554
|
-
* Request body for fetching withdrawal requests for a given wallet across
|
|
2555
|
-
* its vault positions.
|
|
2556
|
-
*/
|
|
2557
|
-
export interface ApiPerpetualsVaultOwnedWithdrawRequestsBody {
|
|
2558
|
-
walletAddress: SuiAddress;
|
|
2559
|
-
}
|
|
2560
|
-
/**
|
|
2561
|
-
* Response payload listing withdrawal requests created by `walletAddress`.
|
|
2562
|
-
*/
|
|
2563
|
-
export interface ApiPerpetualsVaultOwnedWithdrawRequestsResponse {
|
|
2564
|
-
ownedWithdrawRequests: PerpetualsVaultWithdrawRequest[];
|
|
2565
|
-
}
|
|
2566
|
-
/**
|
|
2567
|
-
* API body for creating a single withdraw request from a vault.
|
|
2568
|
-
*/
|
|
2569
|
-
export interface ApiPerpetualsVaultCreateWithdrawRequestTxBody {
|
|
2570
|
-
vaultId: ObjectId;
|
|
2571
|
-
walletAddress: SuiAddress;
|
|
2572
|
-
lpWithdrawAmount: Balance;
|
|
2573
|
-
minCollateralAmountOut: Balance;
|
|
2574
|
-
txKind?: SerializedTransaction;
|
|
2575
|
-
}
|
|
2576
|
-
/**
|
|
2577
|
-
* API body for withdrawing collateral from a vault as owner.
|
|
2578
|
-
*/
|
|
2579
|
-
export interface ApiPerpetualsVaultOwnerWithdrawCollateralTxBody {
|
|
2580
|
-
vaultId: ObjectId;
|
|
2581
|
-
lpWithdrawAmount: Balance;
|
|
2582
|
-
minCollateralAmountOut: Balance;
|
|
2583
|
-
recipientAddress?: SuiAddress;
|
|
2584
|
-
txKind?: SerializedTransaction;
|
|
2585
|
-
}
|
|
2586
|
-
/**
|
|
2587
|
-
* Response body for vault owner withdraw-collateral transactions.
|
|
2588
|
-
*
|
|
2589
|
-
* The SDK typically uses `txKind` to reconstruct a transaction locally.
|
|
2590
|
-
*/
|
|
2591
|
-
export interface ApiPerpetualsVaultOwnerWithdrawCollateralTxResponse {
|
|
2592
|
-
txKind: SerializedTransaction;
|
|
2593
|
-
coinOutArg: TransactionObjectArgument | undefined;
|
|
2594
|
-
}
|
|
2595
|
-
/**
|
|
2596
|
-
* API body for canceling withdrawal requests across vaults for a wallet.
|
|
2597
|
-
*/
|
|
2598
|
-
export interface ApiPerpetualsVaultCancelWithdrawRequestTxBody {
|
|
2599
|
-
vaultId: ObjectId;
|
|
2600
|
-
walletAddress: SuiAddress;
|
|
2601
|
-
txKind?: SerializedTransaction;
|
|
2602
|
-
}
|
|
2603
|
-
/**
|
|
2604
|
-
* Request body for depositing into a vault.
|
|
2605
|
-
*
|
|
2606
|
-
* Deposit can be specified as a numeric amount or as an existing coin object.
|
|
2607
|
-
*/
|
|
2608
|
-
export type ApiPerpetualsVaultDepositTxBody = {
|
|
2609
|
-
vaultId: ObjectId;
|
|
2610
|
-
walletAddress: SuiAddress;
|
|
2611
|
-
minLpAmountOut: Balance;
|
|
2612
|
-
txKind?: SerializedTransaction;
|
|
2613
|
-
isSponsoredTx?: boolean;
|
|
2614
|
-
} & ({
|
|
2615
|
-
depositAmount: Balance;
|
|
2616
|
-
collateralCoinType: CoinType;
|
|
2617
|
-
} | {
|
|
2618
|
-
depositCoinArg: TransactionObjectArgument;
|
|
2619
|
-
});
|
|
2620
|
-
/**
|
|
2621
|
-
* Request body for previewing a vault withdrawal request.
|
|
2622
|
-
*/
|
|
2623
|
-
export interface ApiPerpetualsVaultPreviewCreateWithdrawRequestBody {
|
|
2624
|
-
vaultId: ObjectId;
|
|
2625
|
-
walletAddress: SuiAddress;
|
|
2626
|
-
lpWithdrawAmount: Balance;
|
|
2627
|
-
}
|
|
2628
|
-
/**
|
|
2629
|
-
* Response body for vault withdrawal preview.
|
|
2630
|
-
*/
|
|
2631
|
-
export type ApiPerpetualsVaultPreviewCreateWithdrawRequestResponse = {
|
|
2632
|
-
error: string;
|
|
2633
|
-
} | {
|
|
2634
|
-
collateralAmountOut: Balance;
|
|
2635
|
-
collateralPrice: number;
|
|
2636
|
-
};
|
|
2637
|
-
/**
|
|
2638
|
-
* Request body for previewing a vault owner collateral withdrawal.
|
|
2639
|
-
*/
|
|
2640
|
-
export interface ApiPerpetualsVaultPreviewOwnerWithdrawCollateralBody {
|
|
2641
|
-
vaultId: ObjectId;
|
|
2642
|
-
lpWithdrawAmount: Balance;
|
|
2643
|
-
}
|
|
2644
|
-
/**
|
|
2645
|
-
* Response body for vault owner collateral withdrawal preview.
|
|
2646
|
-
*/
|
|
2647
|
-
export type ApiPerpetualsVaultPreviewOwnerWithdrawCollateralResponse = {
|
|
2648
|
-
error: string;
|
|
2649
|
-
} | {
|
|
2650
|
-
collateralAmountOut: Balance;
|
|
2651
|
-
collateralPrice: number;
|
|
2652
|
-
};
|
|
2653
|
-
/**
|
|
2654
|
-
* Request body for previewing a vault deposit.
|
|
2655
|
-
*/
|
|
2656
|
-
export interface ApiPerpetualsVaultPreviewDepositBody {
|
|
2657
|
-
vaultId: ObjectId;
|
|
2658
|
-
depositAmount: Balance;
|
|
2659
|
-
}
|
|
2660
|
-
/**
|
|
2661
|
-
* Response body for vault deposit preview.
|
|
2662
|
-
*/
|
|
2663
|
-
export type ApiPerpetualsVaultPreviewDepositResponse = {
|
|
2664
|
-
error: string;
|
|
2665
|
-
} | {
|
|
2666
|
-
lpAmountOut: Balance;
|
|
2667
|
-
collateralPrice: number;
|
|
2668
|
-
depositedAmountUsd: number;
|
|
2669
|
-
};
|
|
2670
|
-
/**
|
|
2671
|
-
* Request body for previewing forced withdraw processing for a vault.
|
|
2672
|
-
*/
|
|
2673
|
-
export interface ApiPerpetualsVaultPreviewProcessForceWithdrawRequestBody {
|
|
2674
|
-
vaultId: ObjectId;
|
|
2675
|
-
walletAddress: SuiAddress;
|
|
2676
|
-
}
|
|
2677
|
-
/**
|
|
2678
|
-
* Response body for forced withdraw processing preview.
|
|
2679
|
-
*/
|
|
2680
|
-
export type ApiPerpetualsVaultPreviewProcessForceWithdrawRequestResponse = {
|
|
2681
|
-
error: string;
|
|
2682
|
-
} | {
|
|
2683
|
-
collateralAmountOut: Balance;
|
|
2684
|
-
collateralPrice: number;
|
|
2685
|
-
sizesToClose: Record<PerpetualsMarketId, bigint>;
|
|
2686
|
-
priceImpact: Percentage;
|
|
2687
|
-
performanceFeesChargedUsd: number;
|
|
2688
|
-
isWithinWithdrawRequestSlippage: boolean;
|
|
2689
|
-
minCollateralAmountOut: Balance;
|
|
2690
|
-
};
|
|
2691
|
-
export interface ApiPerpetualsVaultPreviewPauseVaultForForceWithdrawRequestBody {
|
|
2692
|
-
vaultId: ObjectId;
|
|
2693
|
-
walletAddress: SuiAddress;
|
|
2694
|
-
}
|
|
2695
|
-
export type ApiPerpetualsVaultPreviewPauseVaultForForceWithdrawRequestResponse = {
|
|
2696
|
-
error: string;
|
|
2697
|
-
} | {
|
|
2698
|
-
isPausable: boolean;
|
|
2699
|
-
minNextPauseTimestamp: bigint;
|
|
2700
|
-
};
|
|
2701
|
-
/**
|
|
2702
|
-
* Request body for previewing normal withdraw requests processing for a vault.
|
|
2703
|
-
*/
|
|
2704
|
-
export interface ApiPerpetualsVaultPreviewOwnerProcessWithdrawRequestsBody {
|
|
2705
|
-
vaultId: ObjectId;
|
|
2706
|
-
userAddresses: SuiAddress[];
|
|
2707
|
-
}
|
|
2708
|
-
/**
|
|
2709
|
-
* Response body for previewing normal withdraw requests processing.
|
|
2710
|
-
*/
|
|
2711
|
-
export type ApiPerpetualsVaultPreviewOwnerProcessWithdrawRequestsResponse = {
|
|
2712
|
-
error: string;
|
|
2713
|
-
} | {
|
|
2714
|
-
userPreviews: {
|
|
2715
|
-
userAddress: SuiAddress;
|
|
2716
|
-
collateralAmountOut: Balance;
|
|
2717
|
-
}[];
|
|
2718
|
-
collateralPrice: number;
|
|
2719
|
-
};
|
|
2720
|
-
/**
|
|
2721
|
-
* Request body for previewing maximum performance fees withdrawable from a vault.
|
|
2722
|
-
*/
|
|
2723
|
-
export interface ApiPerpetualsVaultPreviewOwnerWithdrawPerformanceFeesBody {
|
|
2724
|
-
vaultId: ObjectId;
|
|
2725
|
-
}
|
|
2726
|
-
/**
|
|
2727
|
-
* Response body for previewing vault performance fee withdrawal.
|
|
2728
|
-
*/
|
|
2729
|
-
export type ApiPerpetualsVaultPreviewOwnerWithdrawPerformanceFeesResponse = {
|
|
2730
|
-
error: string;
|
|
2731
|
-
} | {
|
|
2732
|
-
maxFeesToWithdraw: Balance;
|
|
2733
|
-
feeCoinType: CoinType;
|
|
2734
|
-
};
|
|
2735
|
-
/**
|
|
2736
|
-
* SDK-level inputs for placing a market order from a client.
|
|
2737
|
-
*
|
|
2738
|
-
* This omits server-managed fields like `accountId`, `hasPosition`,
|
|
2739
|
-
* and serialized `txKind`, and exposes a client-friendly `slTp` wrapper.
|
|
2740
|
-
*/
|
|
2741
|
-
export type SdkPerpetualsPlaceMarketOrderInputs = Omit<ApiPerpetualsMarketOrderBody, "accountId" | "txKind" | "slTp" | "walletAddress"> & {
|
|
2742
|
-
tx?: Transaction;
|
|
2743
|
-
slTp?: {
|
|
2744
|
-
gasCoinArg?: TransactionObjectArgument;
|
|
2745
|
-
isSponsoredTx?: boolean;
|
|
2746
|
-
size?: bigint;
|
|
2747
|
-
stopLossIndexPrice?: number;
|
|
2748
|
-
takeProfitIndexPrice?: number;
|
|
2749
|
-
};
|
|
2750
|
-
};
|
|
2751
|
-
/**
|
|
2752
|
-
* SDK-level inputs for placing a limit order from a client.
|
|
2753
|
-
*/
|
|
2754
|
-
export type SdkPerpetualsPlaceLimitOrderInputs = Omit<ApiPerpetualsLimitOrderBody, "accountId" | "txKind" | "slTp" | "walletAddress"> & {
|
|
2755
|
-
tx?: Transaction;
|
|
2756
|
-
slTp?: {
|
|
2757
|
-
gasCoinArg?: TransactionObjectArgument;
|
|
2758
|
-
isSponsoredTx?: boolean;
|
|
2759
|
-
size?: bigint;
|
|
2760
|
-
stopLossIndexPrice?: number;
|
|
2761
|
-
takeProfitIndexPrice?: number;
|
|
2762
|
-
};
|
|
2763
|
-
};
|
|
2764
|
-
/**
|
|
2765
|
-
* SDK-level inputs for previewing a market order.
|
|
2766
|
-
*/
|
|
2767
|
-
export type SdkPerpetualsPlaceMarketOrderPreviewInputs = Omit<ApiPerpetualsPreviewPlaceMarketOrderBody, "collateralCoinType" | "accountId">;
|
|
2768
|
-
/**
|
|
2769
|
-
* SDK-level inputs for previewing a limit order.
|
|
2770
|
-
*/
|
|
2771
|
-
export type SdkPerpetualsPlaceLimitOrderPreviewInputs = Omit<ApiPerpetualsPreviewPlaceLimitOrderBody, "collateralCoinType" | "accountId">;
|
|
2772
|
-
/**
|
|
2773
|
-
* SDK-level inputs for previewing order cancellations.
|
|
2774
|
-
*/
|
|
2775
|
-
export type SdkPerpetualsCancelOrdersPreviewInputs = Omit<ApiPerpetualsPreviewCancelOrdersBody, "collateralCoinType" | "accountId">;
|
|
2776
|
-
/**
|
|
2777
|
-
* Action for websocket subscription messages.
|
|
2778
|
-
*/
|
|
2779
|
-
export type PerpetualsWsUpdatesSubscriptionAction = "subscribe" | "unsubscribe";
|
|
2780
|
-
/**
|
|
2781
|
-
* Websocket subscription payload for subscribing to a specific market's
|
|
2782
|
-
* updates (orderbook, prices, etc.).
|
|
2783
|
-
*/
|
|
2784
|
-
export interface PerpetualsWsUpdatesMarketSubscriptionType {
|
|
2785
|
-
market: {
|
|
2786
|
-
marketId: PerpetualsMarketId;
|
|
2787
|
-
};
|
|
2788
|
-
}
|
|
2789
|
-
/**
|
|
2790
|
-
* Websocket subscription payload for subscribing to user/account updates,
|
|
2791
|
-
* optionally including stop-order data (via signature).
|
|
2792
|
-
*/
|
|
2793
|
-
export interface PerpetualsWsUpdatesUserSubscriptionType {
|
|
2794
|
-
user: {
|
|
2795
|
-
accountId: PerpetualsAccountId;
|
|
2796
|
-
withStopOrders: {
|
|
2797
|
-
walletAddress: SuiAddress;
|
|
2798
|
-
bytes: string;
|
|
2799
|
-
signature: string;
|
|
2800
|
-
} | undefined;
|
|
2801
|
-
};
|
|
2802
|
-
}
|
|
2803
|
-
/**
|
|
2804
|
-
* Websocket subscription payload for market oracle price updates.
|
|
2805
|
-
*/
|
|
2806
|
-
export interface PerpetualsWsUpdatesOracleSubscriptionType {
|
|
2807
|
-
oracle: {
|
|
2808
|
-
marketId: PerpetualsMarketId;
|
|
2809
|
-
};
|
|
2810
|
-
}
|
|
2811
|
-
/**
|
|
2812
|
-
* Websocket subscription payload for orderbook updates.
|
|
2813
|
-
*/
|
|
2814
|
-
export interface PerpetualsWsUpdatesOrderbookSubscriptionType {
|
|
2815
|
-
orderbook: {
|
|
2816
|
-
marketId: PerpetualsMarketId;
|
|
2817
|
-
};
|
|
2818
|
-
}
|
|
2819
|
-
/**
|
|
2820
|
-
* Websocket subscription payload for market orders stream.
|
|
2821
|
-
*/
|
|
2822
|
-
export interface PerpetualsWsUpdatesMarketOrdersSubscriptionType {
|
|
2823
|
-
marketOrders: {
|
|
2824
|
-
marketId: PerpetualsMarketId;
|
|
2825
|
-
};
|
|
2826
|
-
}
|
|
2827
|
-
/**
|
|
2828
|
-
* Websocket subscription payload for user-specific order updates.
|
|
2829
|
-
*/
|
|
2830
|
-
export interface PerpetualsWsUpdatesUserOrdersSubscriptionType {
|
|
2831
|
-
userOrders: {
|
|
2832
|
-
accountId: PerpetualsAccountId;
|
|
2833
|
-
};
|
|
2834
|
-
}
|
|
2835
|
-
/**
|
|
2836
|
-
* Websocket subscription payload for user-specific collateral changes.
|
|
2837
|
-
*/
|
|
2838
|
-
export interface PerpetualsWsUpdatesUserCollateralChangesSubscriptionType {
|
|
2839
|
-
userCollateralChanges: {
|
|
2840
|
-
accountId: PerpetualsAccountId;
|
|
2841
|
-
};
|
|
2842
|
-
}
|
|
2843
|
-
/**
|
|
2844
|
-
* Websocket subscription payload for bucketed orderbook snapshots
|
|
2845
|
-
* (top of orderbook) for a specific market.
|
|
2846
|
-
*/
|
|
2847
|
-
export interface PerpetualsWsUpdatesTopOfOrderbookSubscriptionType {
|
|
2848
|
-
topOfOrderbook: {
|
|
2849
|
-
marketId: PerpetualsMarketId;
|
|
2850
|
-
priceBucketSize: number;
|
|
2851
|
-
bucketsNumber: number;
|
|
2852
|
-
};
|
|
2853
|
-
}
|
|
2854
|
-
/**
|
|
2855
|
-
* Union of all websocket subscription types for perpetuals updates.
|
|
2856
|
-
*/
|
|
2857
|
-
export type PerpetualsWsUpdatesSubscriptionType = PerpetualsWsUpdatesMarketSubscriptionType | PerpetualsWsUpdatesUserSubscriptionType | PerpetualsWsUpdatesOracleSubscriptionType | PerpetualsWsUpdatesOrderbookSubscriptionType | PerpetualsWsUpdatesMarketOrdersSubscriptionType | PerpetualsWsUpdatesUserOrdersSubscriptionType | PerpetualsWsUpdatesUserCollateralChangesSubscriptionType | PerpetualsWsUpdatesTopOfOrderbookSubscriptionType;
|
|
2858
|
-
/**
|
|
2859
|
-
* Websocket payload for oracle price updates.
|
|
2860
|
-
*/
|
|
2861
|
-
export interface PerpetualsWsUpdatesOraclePayload {
|
|
2862
|
-
marketId: PerpetualsMarketId;
|
|
2863
|
-
basePrice: number;
|
|
2864
|
-
collateralPrice: number;
|
|
2865
|
-
}
|
|
2866
|
-
/**
|
|
2867
|
-
* Websocket payload for market orders stream.
|
|
2868
|
-
*/
|
|
2869
|
-
export interface PerpetualsWsUpdatesMarketOrdersPayload {
|
|
2870
|
-
marketId: PerpetualsMarketId;
|
|
2871
|
-
orders: PerpetualsMarketOrderHistoryData[];
|
|
2872
|
-
}
|
|
2873
|
-
/**
|
|
2874
|
-
* Websocket payload for user-specific orders stream.
|
|
2875
|
-
*/
|
|
2876
|
-
export interface PerpetualsWsUpdatesUserOrdersPayload {
|
|
2877
|
-
accountId: PerpetualsAccountId;
|
|
2878
|
-
orders: PerpetualsAccountOrderHistoryData[];
|
|
2879
|
-
}
|
|
2880
|
-
/**
|
|
2881
|
-
* Websocket payload for user-specific collateral changes.
|
|
2882
|
-
*/
|
|
2883
|
-
export interface PerpetualsWsUpdatesUserCollateralChangesPayload {
|
|
2884
|
-
accountId: PerpetualsAccountId;
|
|
2885
|
-
collateralChanges: PerpetualsAccountCollateralChange[];
|
|
2886
|
-
}
|
|
2887
|
-
/**
|
|
2888
|
-
* Websocket payload for incremental orderbook updates.
|
|
2889
|
-
*/
|
|
2890
|
-
export interface PerpetualsWsUpdatesOrderbookPayload {
|
|
2891
|
-
marketId: PerpetualsMarketId;
|
|
2892
|
-
orderbookDeltas: PerpetualsOrderbookDeltas;
|
|
2893
|
-
}
|
|
2894
|
-
/**
|
|
2895
|
-
* A single data point in the bucketed (top of) orderbook.
|
|
2896
|
-
*/
|
|
2897
|
-
export interface PerpetualsTopOfOrderbookDataPoint {
|
|
2898
|
-
price: number;
|
|
2899
|
-
size: number;
|
|
2900
|
-
totalSize: number;
|
|
2901
|
-
sizeUsd: number;
|
|
2902
|
-
totalSizeUsd: number;
|
|
2903
|
-
}
|
|
2904
|
-
/**
|
|
2905
|
-
* Bucketed orderbook state for top-of-orderbook updates.
|
|
2906
|
-
*/
|
|
2907
|
-
export interface PerpetualsTopOfOrderbook {
|
|
2908
|
-
bids: PerpetualsTopOfOrderbookDataPoint[];
|
|
2909
|
-
asks: PerpetualsTopOfOrderbookDataPoint[];
|
|
2910
|
-
minAskPrice: number | undefined;
|
|
2911
|
-
maxBidPrice: number | undefined;
|
|
2912
|
-
}
|
|
2913
|
-
/**
|
|
2914
|
-
* Websocket payload for bucketed orderbook (top of orderbook) updates.
|
|
2915
|
-
*/
|
|
2916
|
-
export interface PerpetualsWsUpdatesTopOfOrderbookPayload {
|
|
2917
|
-
marketId: PerpetualsMarketId;
|
|
2918
|
-
bids: PerpetualsTopOfOrderbookDataPoint[];
|
|
2919
|
-
asks: PerpetualsTopOfOrderbookDataPoint[];
|
|
2920
|
-
minAskPrice: number | undefined;
|
|
2921
|
-
maxBidPrice: number | undefined;
|
|
2922
|
-
}
|
|
2923
|
-
/**
|
|
2924
|
-
* Websocket payload for user account and stop-order updates.
|
|
2925
|
-
*/
|
|
2926
|
-
export interface PerpetualsWsUpdatesUserPayload {
|
|
2927
|
-
account: PerpetualsAccountObject;
|
|
2928
|
-
stopOrders: PerpetualsStopOrderData[] | undefined;
|
|
2929
|
-
}
|
|
2930
|
-
/**
|
|
2931
|
-
* Websocket subscription message format sent by clients to manage
|
|
2932
|
-
* their subscriptions.
|
|
2933
|
-
*/
|
|
2934
|
-
export interface PerpetualsWsUpdatesSubscriptionMessage {
|
|
2935
|
-
action: PerpetualsWsUpdatesSubscriptionAction;
|
|
2936
|
-
subscriptionType: PerpetualsWsUpdatesSubscriptionType;
|
|
2937
|
-
}
|
|
2938
|
-
/**
|
|
2939
|
-
* Websocket response message for `/perpetuals/ws/updates`.
|
|
2940
|
-
*
|
|
2941
|
-
* Each response includes exactly one of the following discriminated unions.
|
|
2942
|
-
*/
|
|
2943
|
-
export type PerpetualsWsUpdatesResponseMessage = {
|
|
2944
|
-
market: PerpetualsMarketData;
|
|
2945
|
-
} | {
|
|
2946
|
-
user: PerpetualsWsUpdatesUserPayload;
|
|
2947
|
-
} | {
|
|
2948
|
-
oracle: PerpetualsWsUpdatesOraclePayload;
|
|
2949
|
-
} | {
|
|
2950
|
-
orderbook: PerpetualsWsUpdatesOrderbookPayload;
|
|
2951
|
-
} | {
|
|
2952
|
-
marketOrders: PerpetualsWsUpdatesMarketOrdersPayload;
|
|
2953
|
-
} | {
|
|
2954
|
-
userOrders: PerpetualsWsUpdatesUserOrdersPayload;
|
|
2955
|
-
} | {
|
|
2956
|
-
userCollateralChanges: PerpetualsWsUpdatesUserCollateralChangesPayload;
|
|
2957
|
-
} | {
|
|
2958
|
-
topOfOrderbook: PerpetualsWsUpdatesTopOfOrderbookPayload;
|
|
2959
|
-
};
|
|
2960
|
-
/**
|
|
2961
|
-
* Websocket response message carrying the last candle for a given market
|
|
2962
|
-
* and interval.
|
|
2963
|
-
*/
|
|
2964
|
-
export interface PerpetualsWsCandleResponseMessage {
|
|
2965
|
-
marketId: PerpetualsMarketId;
|
|
2966
|
-
lastCandle: PerpetualsMarketCandleDataPoint | undefined;
|
|
2967
|
-
}
|
|
2968
|
-
//# sourceMappingURL=perpetualsTypes.d.ts.map
|