swapTokens method

Future<ISendUserOperationResponse> swapTokens(
  1. TradeRequest tradeRequest, [
  2. TxOptions? options
])

Swaps tokens based on the provided TradeRequest.

This method facilitates token swaps by interacting with the trade module. TradeRequest contains details about the token swap, such as the input and output tokens. options provides additional transaction options.

Implementation

Future<ISendUserOperationResponse> swapTokens(
  TradeRequest tradeRequest, [
  TxOptions? options,
]) async {
  var DC(:data, :error, :hasError) = await _tradeModule.quote(
    tradeRequest,
  );

  if (hasError) {
    throw error!;
  }

  final spender = EthereumAddress.fromHex(data!.to);

  final callData = hexToBytes(data.data);

  return _processOperation(
    tokenAddress: EthereumAddress.fromHex(data.sellTokenAddress),
    spender: spender,
    callData: callData,
    amount: tradeRequest.inputAmount,
    options: options,
  );
}