/// <summary>
        /// Polls for the transaction receipt of a transaction until a result is found.
        /// </summary>
        /// <param name="txHash"> The transaction hash to poll for a receipt. </param>
        /// <param name="networkUrl"> The network url of the transaction hash. </param>
        private IEnumerator PollForTransactionReceipt(string txHash, string networkUrl)
        {
            if (!AddressUtils.IsValidTransactionHash(txHash))
            {
                InternalInvokeError("Invalid transaction hash");
                yield return(null);
            }

            var request = new EthGetTransactionReceiptUnityRequest(networkUrl);

            do
            {
                yield return(Waiter);

                yield return(request.SendRequest(txHash));
            }while (request.Exception != null || request.Result == null);

            if (request.Result?.Status?.Value == 1)
            {
                InternalInvokeSuccess("Transaction successful!");
            }
            else
            {
                InternalInvokeError(request.Exception.Message);
            }
        }