sign method
Implementation
@override
EthTxData sign() {
Uint8List msg = txData.getMessageToSign();
txData.message = msg.toStr();
EcdaSignature result =
EcdaSignature.signForEth(dynamicToUint8List(msg), wallet.privateKey);
txData.data.r = hexToBigInt(dynamicToHex(result.r));
txData.data.s = hexToBigInt(dynamicToHex(result.s));
txData.isSigned = true;
/// Set v value
switch (txData.txType) {
case EthTxType.eip1559:
txData.data.v = result.v - 27;
break;
case EthTxType.legacy:
txData.data.v = result.v + txData.network.chainId * 2 + 8;
break;
}
txData.signature = txData.serialize().toStr();
return txData;
}