public virtual async Task ProcessTransactionAsync( Transaction transaction, TransactionReceipt transactionReceipt, HexBigInteger blockTimestamp) { if (!transaction.IsForContractCreation(transactionReceipt)) { return; } var contractAddress = transactionReceipt.ContractAddress; var code = await _getCodeProxy.GetCode(contractAddress).ConfigureAwait(false); var failedCreatingContract = HasFailedToCreateContract(code); if (!failedCreatingContract) { await _contractHandler.HandleAsync(new ContractTransaction(contractAddress, code, transaction)) .ConfigureAwait(false); } await _transactionHandler .HandleContractCreationTransactionAsync( new ContractCreationTransaction( contractAddress, code, transaction, transactionReceipt, failedCreatingContract, blockTimestamp)) .ConfigureAwait(false); }