import { BigDecimalish } from '@nadohq/utils'; import { Address } from 'viem'; import { Subaccount } from '../common/types/subaccountTypes.js'; import '../common/types/bytes.js'; interface SignedTx { tx: TBaseTx; signature: string; } interface SignedEIP712OrderParams { order: EIP712OrderParams; signature: string; } interface EIP712WithdrawCollateralParams extends Subaccount { productId: number; amount: BigDecimalish; nonce: string; } interface EIP712LiquidateSubaccountParams extends Subaccount { liquidateeOwner: string; liquidateeName: string; mode: number; healthGroup: BigDecimalish; amount: BigDecimalish; nonce: string; } interface EIP712OrderParams extends Subaccount { expiration: BigDecimalish; price: BigDecimalish; amount: BigDecimalish; nonce: string; } interface EIP712IsolatedOrderParams extends EIP712OrderParams { margin: BigDecimalish; } interface EIP712ListTriggerOrdersParams extends Subaccount { recvTime: BigDecimalish; } interface EIP712CancelOrdersParams extends Subaccount { productIds: number[]; digests: string[]; nonce: string; } interface EIP712CancelProductOrdersParams extends Subaccount { productIds: number[]; nonce: string; } interface EIP712LinkSignerParams extends Subaccount { signer: Address; nonce: string; } interface EIP712TransferQuoteParams extends Subaccount { recipientSubaccountName: string; amount: BigDecimalish; nonce: string; } interface EIP712LeaderboardAuthenticationParams extends Subaccount { expiration: BigDecimalish; } interface EIP712MintNlpParams extends Subaccount { quoteAmount: BigDecimalish; nonce: string; } interface EIP712BurnNlpParams extends Subaccount { nlpAmount: BigDecimalish; nonce: string; } export type { EIP712BurnNlpParams, EIP712CancelOrdersParams, EIP712CancelProductOrdersParams, EIP712IsolatedOrderParams, EIP712LeaderboardAuthenticationParams, EIP712LinkSignerParams, EIP712LiquidateSubaccountParams, EIP712ListTriggerOrdersParams, EIP712MintNlpParams, EIP712OrderParams, EIP712TransferQuoteParams, EIP712WithdrawCollateralParams, SignedEIP712OrderParams, SignedTx };