/// <summary> /// Check the validity of an Offchain Payment payload signed by a Relayer /// </summary> /// <param name="signedOffchainTransaction"></param> /// <returns></returns> public async Task <bool> checkOffchainRelayerSignature(SignedOffchainTransaction signedOffchainTransaction) { var function = _paymentChannelsContract.GetFunction("checkOffchainRelayerSignature"); string signer = await function.CallAsync <string>(signedOffchainTransaction.h, signedOffchainTransaction.rh, signedOffchainTransaction.rv, signedOffchainTransaction.rr, signedOffchainTransaction.rs, signedOffchainTransaction.txUntilBlock); var addressEqualityComparer = new AddressEqualityComparer(); return(addressEqualityComparer.Equals(signer, signedOffchainTransaction.relayerId)); }
/// <summary> /// Check the validity of an Offchain Payment payload signed by a Peer /// </summary> /// <param name="signedOffchainTransaction"></param> /// <returns></returns> public async Task <bool> checkOffchainSignature(SignedOffchainTransaction signedOffchainTransaction) { var function = _paymentChannelsContract.GetFunction("checkOffchainSignature"); string signer = await function.CallAsync <string>(signedOffchainTransaction.h, signedOffchainTransaction.v, signedOffchainTransaction.r, signedOffchainTransaction.s, signedOffchainTransaction.nonce, signedOffchainTransaction.fee, signedOffchainTransaction.beneficiary, signedOffchainTransaction.amount); var addressEqualityComparer = new AddressEqualityComparer(); return(addressEqualityComparer.Equals(signer, signedOffchainTransaction.signer)); //return AddressUtil.Current.ConvertToChecksumAddress(signer) == AddressUtil.Current.ConvertToChecksumAddress(signedOffchainTransaction.signer); }
/// <summary> /// Compare 2 addresses /// </summary> /// <param name="address1">1st address</param> /// <param name="address2">2nd address</param> /// <returns>true/false</returns> public bool addressEquals(string address1, string address2) { var addressEqualityComparer = new AddressEqualityComparer(); return(addressEqualityComparer.Equals(address1, address2)); }