sign method

Transaction sign(
  1. String privateKey
)

Implementation

Transaction sign(String privateKey) {
  var k = SHA3(256, KECCAK_PADDING, 256);
  k.update(this._createProtoTxData().writeToBuffer());
  Uint8List messageHash = Uint8List.fromList(k.digest());

  crypto.MsgSignature msgSignature =
      crypto.sign(messageHash, crypto.hexToBytes(privateKey));

  final header = msgSignature.v & 0xFF;
  var recId = header - 27;
  Uint8List signature = AppHelpers.concat([
    AppHelpers.bigIntToBytes(msgSignature.r),
    AppHelpers.bigIntToBytes(msgSignature.s),
    Uint8List.fromList([recId])
  ]);

  this.signature = signature;
  return this;
}