public Task <TransactionReceipt> RelayMessageRequestAndWaitForReceiptAsync(string target, string sender, byte[] message, BigInteger messageNonce, L2MessageInclusionProof proof, CancellationTokenSource cancellationToken = null)
        {
            var relayMessageFunction = new RelayMessageFunction();

            relayMessageFunction.Target       = target;
            relayMessageFunction.Sender       = sender;
            relayMessageFunction.Message      = message;
            relayMessageFunction.MessageNonce = messageNonce;
            relayMessageFunction.Proof        = proof;

            return(ContractHandler.SendRequestAndWaitForReceiptAsync(relayMessageFunction, cancellationToken));
        }
        public Task <string> RelayMessageRequestAsync(string target, string sender, byte[] message, BigInteger messageNonce, L2MessageInclusionProof proof)
        {
            var relayMessageFunction = new RelayMessageFunction();

            relayMessageFunction.Target       = target;
            relayMessageFunction.Sender       = sender;
            relayMessageFunction.Message      = message;
            relayMessageFunction.MessageNonce = messageNonce;
            relayMessageFunction.Proof        = proof;

            return(ContractHandler.SendRequestAsync(relayMessageFunction));
        }