signTypedData method

  1. @override
Future<Uint8List> signTypedData(
  1. Map<String, dynamic> typedData
)
override

EIP-712 typed data signing. Returns 65-byte signature (r + s + v).

Implementation

@override
Future<Uint8List> signTypedData(Map<String, dynamic> typedData) async {
  final payload = TypedPayload(
    domain: typedData['domain'] as Map<String, dynamic>,
    primaryType: typedData['primaryType'] as String,
    types: (typedData['types'] as Map<String, dynamic>).map(
      (k, v) => MapEntry(
        k,
        (v as List)
            .map((e) => Map<String, String>.from(e as Map))
            .toList(),
      ),
    ),
    message: typedData['message'] as Map<String, dynamic>,
  );
  return payload.sign(_key);
}