import { EIP712BurnLpParams, EIP712BurnVlpParams, EIP712CancelOrdersParams, EIP712OrderParams, EIP712CancelProductOrdersParams, EIP712LinkSignerParams, EIP712LiquidateSubaccountParams, EIP712MintLpParams, EIP712MintVlpParams, EIP712IsolatedOrderParams, EIP712TransferQuoteParams, EIP712WithdrawCollateralParams } from '@vertex-protocol/contracts'; import { EngineServerExecuteSuccessResult } from './serverExecuteTypes.js'; import './serverQueryTypes.js'; import './serverQueryModelTypes.js'; /** * Either verifying address or signature must be provided; * If signature is not provided, the verifying address with the engine signer will be used to sign. */ type SignatureParams = { verifyingAddr: string; chainId: number; } | { signature: string; }; type WithoutNonce = Omit; type WithSpotLeverage = T & { spotLeverage?: boolean; }; type WithSignature = T & { signature: string; }; type WithBaseEngineExecuteParams = SignatureParams & Omit & { nonce?: string; }; type EngineOrderParams = WithoutNonce; type EnginePlaceOrderParams = WithBaseEngineExecuteParams<{ id?: number; productId: number; order: EngineOrderParams; spotLeverage?: boolean; }>; type EngineIsolatedOrderParams = WithoutNonce; type EnginePlaceIsolatedOrderParams = WithBaseEngineExecuteParams<{ id?: number; productId: number; order: EngineIsolatedOrderParams; borrowMargin?: boolean; }>; type EngineLiquidateSubaccountParams = WithBaseEngineExecuteParams; type EngineMintLpParams = WithBaseEngineExecuteParams>; type EngineBurnLpParams = WithBaseEngineExecuteParams; type EngineWithdrawCollateralParams = WithBaseEngineExecuteParams>; type EngineCancelOrdersParams = WithBaseEngineExecuteParams; type EngineCancelAndPlaceParams = { cancelOrders: EngineCancelOrdersParams; placeOrder: EnginePlaceOrderParams; }; type EngineCancelProductOrdersParams = WithBaseEngineExecuteParams; type EngineLinkSignerParams = WithBaseEngineExecuteParams; type EngineTransferQuoteParams = WithBaseEngineExecuteParams; type EngineMintVlpParams = WithBaseEngineExecuteParams>; type EngineBurnVlpParams = WithBaseEngineExecuteParams; interface EngineExecuteRequestParamsByType { burn_lp: EngineBurnLpParams; burn_vlp: EngineBurnVlpParams; cancel_and_place: EngineCancelAndPlaceParams; cancel_orders: EngineCancelOrdersParams; cancel_product_orders: EngineCancelProductOrdersParams; link_signer: EngineLinkSignerParams; liquidate_subaccount: EngineLiquidateSubaccountParams; mint_lp: EngineMintLpParams; mint_vlp: EngineMintVlpParams; place_isolated_order: EnginePlaceIsolatedOrderParams; place_order: EnginePlaceOrderParams; transfer_quote: EngineTransferQuoteParams; withdraw_collateral: EngineWithdrawCollateralParams; } type EnginePlaceOrderResult = EngineServerExecuteSuccessResult<'place_order'> & { orderParams: EIP712OrderParams; }; type EnginePlaceIsolatedOrderResult = EngineServerExecuteSuccessResult<'place_isolated_order'> & { orderParams: EIP712IsolatedOrderParams; }; export type { EngineBurnLpParams, EngineBurnVlpParams, EngineCancelAndPlaceParams, EngineCancelOrdersParams, EngineCancelProductOrdersParams, EngineExecuteRequestParamsByType, EngineIsolatedOrderParams, EngineLinkSignerParams, EngineLiquidateSubaccountParams, EngineMintLpParams, EngineMintVlpParams, EngineOrderParams, EnginePlaceIsolatedOrderParams, EnginePlaceIsolatedOrderResult, EnginePlaceOrderParams, EnginePlaceOrderResult, EngineTransferQuoteParams, EngineWithdrawCollateralParams, SignatureParams, WithBaseEngineExecuteParams, WithSignature };