Skip simulation

This commit is contained in:
2025-09-06 08:00:37 +07:00
parent db502ede34
commit 5199f533b3
3 changed files with 7 additions and 1 deletions

View File

@@ -25,6 +25,7 @@ interface BaseOptionalParams {
marketsInfoData?: MarketsInfoData;
tokensData?: TokensData;
uiFeeFactor?: bigint;
skipSimulation?: boolean;
}
export type PositionIncreaseParams = (
@@ -532,6 +533,7 @@ export async function swap(sdk: GmxSdk, params: SwapParams) {
allowedSlippage: params.allowedSlippageBps ?? 100,
referralCodeForTxn: params.referralCodeForTxn,
triggerPrice: params.triggerPrice,
skipSimulation: params.skipSimulation,
};
return sdk.orders.createSwapOrder(createSwapOrderParams);

View File

@@ -375,6 +375,7 @@ export class Orders extends Module {
referralCodeForTxn,
tokensData,
triggerPrice,
skipSimulation,
}: {
isLimit: boolean;
allowedSlippage: number;
@@ -384,6 +385,7 @@ export class Orders extends Module {
toToken: TokenData;
tokensData: TokensData;
triggerPrice?: bigint;
skipSimulation?: boolean;
}) {
const orderType = isLimit ? OrderType.LimitSwap : OrderType.MarketSwap;
@@ -407,6 +409,7 @@ export class Orders extends Module {
allowedSlippage,
tokensData,
triggerPrice: isLimit && triggerPrice !== undefined ? triggerPrice : undefined,
skipSimulation: skipSimulation,
});
}

View File

@@ -25,13 +25,14 @@ export type SwapOrderParams = {
executionFee: bigint;
allowedSlippage: number;
triggerPrice?: bigint;
skipSimulation?: boolean;
};
export async function createSwapOrderTxn(sdk: GmxSdk, p: SwapOrderParams) {
const { encodedPayload, totalWntAmount } = await getParams(sdk, p);
const { encodedPayload: simulationEncodedPayload, totalWntAmount: sumaltionTotalWntAmount } = await getParams(sdk, p);
if (p.orderType !== OrderType.LimitSwap) {
if (p.orderType !== OrderType.LimitSwap && !p.skipSimulation) {
await simulateExecuteOrder(sdk, {
primaryPriceOverrides: {},
createMulticallPayload: simulationEncodedPayload,