import { prepareAndSignEjectionTransaction, EjectionTransactionParams, EjectionTransactionResponse, TransactionRequest, } from './transactionHelpers'; import { JsonRpcError, RpcErrorCode } from './JsonRpcError'; type EthSendTransactionEjectionParams = EjectionTransactionParams & { params: Array; }; export const signEjectionTransaction = async ({ params, ethSigner, zkEvmAddress, }: EthSendTransactionEjectionParams): Promise => { if (!params || params.length !== 1) { throw new JsonRpcError( RpcErrorCode.INVALID_PARAMS, 'im_signEjectionTransaction requires a singular param (hash)', ); } const transactionRequest = params[0] as TransactionRequest; return await prepareAndSignEjectionTransaction({ transactionRequest, ethSigner, zkEvmAddress, }); };