signMessage method
Implementation
Future<String> signMessage(
String method, String from, dynamic message, String password) async {
try {
// Validate signer
await _validateSigner(from);
switch (JsonRpcMethod.fromString(method)) {
case JsonRpcMethod.PERSONAL_SIGN:
return await _personalSign(message);
case JsonRpcMethod.ETH_SIGN:
return await _ethSign(message);
case JsonRpcMethod.ETH_SIGN_TYPED_DATA:
return await _signTypedData(message[0]);
case JsonRpcMethod.ETH_SIGN_TYPED_DATA_V1:
return await _signTypedDataV1(message);
case JsonRpcMethod.ETH_SIGN_TYPED_DATA_V3:
return await _signTypedDataV3(jsonDecode(message));
case JsonRpcMethod.ETH_SIGN_TYPED_DATA_V4:
return await _signTypedDataV4(jsonDecode(message));
default:
throw WalletException('Unsupported signing method: $method');
}
} catch (e) {
throw WalletException('Signing failed: $e');
}
}