Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        IEnumerator TransactionCheckCoroutine(string hash)
        {
            var request = new EthGetTransactionByHashUnityRequest(requestNode);

            yield return(request.SendRequest(hash));

            if (request.Result.BlockNumber != null)
            {
                transactionHashes.Remove(hash);
            }
        }
Exemplo n.º 3
0
        /// <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);
        }