Skip simulation
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user