public static string SignCooperativeClose(CooperativeSignDto cooperativeDto, string privateKey) { var resultHash = Sha3ForCooperative(cooperativeDto); var ms = new MessageSigner(); var signature = ms.Sign(resultHash.HexToByteArray(), privateKey); return(signature); }
public SignatureResponse SignCloseCooperativeChannel([FromBody] CooperativeSignDto signDto) { var signature = EthereumUtils.SignCooperativeClose(signDto, _config.PrivateKey); return(new SignatureResponse { SenderSignature = signature }); }
public static string Sha3ForCooperative(CooperativeSignDto cooperativeDto) { var sha3 = new Sha3Keccack(); var bob = new IntTypeEncoder() .Encode(StringToBigInteger(cooperativeDto.BobAmountWei)); var alice = new IntTypeEncoder() .Encode(StringToBigInteger(cooperativeDto.AliceAmountWei)); var output = sha3.CalculateHashFromHex(bob.ToHex(), alice.ToHex(), cooperativeDto.ChannelId); var resultHash = "0x" + output; return(resultHash); }