Beispiel #1
0
        /// <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));
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
        /// <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));
        }