signTransaction method

  1. @override
Future<Uint8List> signTransaction(
  1. TransactionRequest transaction
)
override

Signs a transaction and returns the signed transaction bytes.

Implementation

@override
Future<Uint8List> signTransaction(TransactionRequest transaction) async {
  final tx = transaction.copyWith(chainId: transaction.chainId ?? chainId);

  switch (tx.type) {
    case TransactionType.legacy:
      return _signLegacyTransaction(tx);
    case TransactionType.eip2930:
      return _signEip2930Transaction(tx);
    case TransactionType.eip1559:
      return _signEip1559Transaction(tx);
    case TransactionType.eip4844:
      return _signEip4844Transaction(tx);
    case TransactionType.eip7702:
      return _signEip7702Transaction(tx);
  }
}