public static string SignAuditClose(AuditSignDto signDto, string privateKey) { var resultHash = Sha3ForAudit(signDto); var ms = new MessageSigner(); var signature = ms.Sign(resultHash.HexToByteArray(), privateKey); return(signature); }
public SignatureResponse SignCloseAuditChannel([FromBody] AuditSignDto signDto) { var signature = EthereumUtils.SignAuditClose(signDto, _config.PrivateKey); return(new SignatureResponse { SenderSignature = signature }); }
public static string Sha3ForAudit(AuditSignDto auditDto) { var sha3 = new Sha3Keccack(); var bob = new IntTypeEncoder() .Encode(StringToBigInteger(auditDto.BobAmountWei)); var alice = new IntTypeEncoder() .Encode(StringToBigInteger(auditDto.AliceAmountWei)); var epoch = new IntTypeEncoder() .Encode(auditDto.EpochId); var output = sha3.CalculateHashFromHex(bob.ToHex(), alice.ToHex(), auditDto.ChannelId, epoch.ToHex()); var resultHash = "0x" + output; return(resultHash); }