impl max leverage to endpoint (#488)

This commit is contained in:
lowkeynicc
2025-08-06 15:58:48 -04:00
committed by GitHub
parent 97de82b4d4
commit 7f679d826d
3 changed files with 15 additions and 4 deletions

View File

@@ -939,6 +939,8 @@ const main = async (): Promise<void> => {
additionalEndPriceBuffer,
userOrderId,
forceUpToSlippage,
maxLeverageSelected,
maxLeverageOrderSize,
} = req.query;
// Validate required parameters
@@ -1004,6 +1006,8 @@ const main = async (): Promise<void> => {
additionalEndPriceBuffer: additionalEndPriceBuffer as string,
userOrderId: parseNumber(userOrderId as string),
forceUpToSlippage: parseBoolean(forceUpToSlippage as string),
maxLeverageSelected: parseBoolean(maxLeverageSelected as string),
maxLeverageOrderSize: maxLeverageOrderSize as string,
};
// Only add non-undefined values

View File

@@ -22,4 +22,6 @@ export type AuctionParamArgs = {
additionalEndPriceBuffer?: string;
userOrderId?: number;
forceUpToSlippage?: boolean;
maxLeverageSelected?: boolean;
maxLeverageOrderSize?: string;
};

View File

@@ -1001,9 +1001,12 @@ export const mapToMarketOrderParams = async (
};
}
// Calculate baseAmount based on assetType
// Calculate baseAmount based on maxLeverageSelected or assetType
let baseAmount: BN;
if (params.assetType === 'base') {
if (params.maxLeverageSelected && params.maxLeverageOrderSize) {
// If maxLeverageSelected is true, use maxLeverageOrderSize directly without any conversion
baseAmount = stringToBN(params.maxLeverageOrderSize);
} else if (params.assetType === 'base') {
// If assetType is base, use the amount directly
baseAmount = amount;
} else {
@@ -1019,8 +1022,10 @@ export const mapToMarketOrderParams = async (
marketType,
marketIndex: params.marketIndex,
direction,
maxLeverageSelected: false,
maxLeverageOrderSize: ZERO,
maxLeverageSelected: params.maxLeverageSelected ?? false,
maxLeverageOrderSize: params.maxLeverageOrderSize
? stringToBN(params.maxLeverageOrderSize)
: ZERO,
baseAmount,
reduceOnly: params.reduceOnly ?? false,
allowInfSlippage: params.allowInfSlippage ?? false,