impl max leverage to endpoint (#488)
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -22,4 +22,6 @@ export type AuctionParamArgs = {
|
|||||||
additionalEndPriceBuffer?: string;
|
additionalEndPriceBuffer?: string;
|
||||||
userOrderId?: number;
|
userOrderId?: number;
|
||||||
forceUpToSlippage?: boolean;
|
forceUpToSlippage?: boolean;
|
||||||
|
maxLeverageSelected?: boolean;
|
||||||
|
maxLeverageOrderSize?: string;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user