/// <summary> /// Starts the coroutine for getting the details of a transaction. /// </summary> /// <param name="txHash"> The transaction hash. </param> /// <param name="onTxReceived"> Action to call once the transaction details have been received. </param> /// <returns> The transaction request to await. </returns> private static IEnumerator _GetTransactionDetailsCoroutine(string txHash, Action <Transaction> onTxReceived) { var request = new EthGetTransactionByHashUnityRequest(NetworkProvider.GetNetworkChainUrl()); yield return(request.SendRequest(txHash)); onTxReceived?.Invoke(request.Result); }
IEnumerator TransactionCheckCoroutine(string hash) { var request = new EthGetTransactionByHashUnityRequest(requestNode); yield return(request.SendRequest(hash)); if (request.Result.BlockNumber != null) { transactionHashes.Remove(hash); } }
/// <summary> /// The coroutine for getting the details of a transaction. /// </summary> /// <param name="txHash"> The transaction hash. </param> /// <param name="promise"> Promise returning the transaction. </param> /// <returns> The transaction request to await. </returns> private static IEnumerator _GetTransactionDetailsCoroutine(string txHash, EthCallPromise <Transaction> promise) { if (!AddressUtils.IsValidTransactionHash(txHash)) { throw new ArgumentException("Expected valid Ethereum transaction hash."); } var request = new EthGetTransactionByHashUnityRequest(EthereumNetworkManager.CurrentNetwork.NetworkUrl); yield return(request.SendRequest(txHash)); promise.Build(request, () => request.Result); }