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

View File

@@ -22,4 +22,6 @@ export type AuctionParamArgs = {
additionalEndPriceBuffer?: string; additionalEndPriceBuffer?: string;
userOrderId?: number; userOrderId?: number;
forceUpToSlippage?: boolean; 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; 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 // If assetType is base, use the amount directly
baseAmount = amount; baseAmount = amount;
} else { } else {
@@ -1019,8 +1022,10 @@ export const mapToMarketOrderParams = async (
marketType, marketType,
marketIndex: params.marketIndex, marketIndex: params.marketIndex,
direction, direction,
maxLeverageSelected: false, maxLeverageSelected: params.maxLeverageSelected ?? false,
maxLeverageOrderSize: ZERO, maxLeverageOrderSize: params.maxLeverageOrderSize
? stringToBN(params.maxLeverageOrderSize)
: ZERO,
baseAmount, baseAmount,
reduceOnly: params.reduceOnly ?? false, reduceOnly: params.reduceOnly ?? false,
allowInfSlippage: params.allowInfSlippage ?? false, allowInfSlippage: params.allowInfSlippage ?? false,