Merge branch 'master' into vb-fix-checksu-in-address-counters-request

pull/3033/head
Victor Baranov 5 years ago committed by GitHub
commit fb8531e759
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      CHANGELOG.md
  2. 31
      apps/explorer/lib/explorer/chain.ex

@ -28,6 +28,7 @@
- [#2883](https://github.com/poanetwork/blockscout/pull/2883) - Fix long contracts names - [#2883](https://github.com/poanetwork/blockscout/pull/2883) - Fix long contracts names
### Chore ### Chore
- [#3032](https://github.com/poanetwork/blockscout/pull/3032) - Remove indexing status alert for Ganache variant
- [#3030](https://github.com/poanetwork/blockscout/pull/3030) - Remove default websockets URL from config - [#3030](https://github.com/poanetwork/blockscout/pull/3030) - Remove default websockets URL from config
- [#2995](https://github.com/poanetwork/blockscout/pull/2995) - Support API_PATH env var in Docker file - [#2995](https://github.com/poanetwork/blockscout/pull/2995) - Support API_PATH env var in Docker file

@ -846,20 +846,27 @@ defmodule Explorer.Chain do
""" """
@spec finished_indexing?() :: boolean() @spec finished_indexing?() :: boolean()
def finished_indexing? do def finished_indexing? do
with {:transactions_exist, true} <- {:transactions_exist, Repo.exists?(Transaction)}, json_rpc_named_arguments = Application.fetch_env!(:indexer, :json_rpc_named_arguments)
min_block_number when not is_nil(min_block_number) <- Repo.aggregate(Transaction, :min, :block_number) do variant = Keyword.fetch!(json_rpc_named_arguments, :variant)
query =
from(
b in Block,
join: pending_ops in assoc(b, :pending_operations),
where: pending_ops.fetch_internal_transactions,
where: b.consensus and b.number == ^min_block_number
)
!Repo.exists?(query) if variant == EthereumJSONRPC.Ganache do
true
else else
{:transactions_exist, false} -> true with {:transactions_exist, true} <- {:transactions_exist, Repo.exists?(Transaction)},
nil -> false min_block_number when not is_nil(min_block_number) <- Repo.aggregate(Transaction, :min, :block_number) do
query =
from(
b in Block,
join: pending_ops in assoc(b, :pending_operations),
where: pending_ops.fetch_internal_transactions,
where: b.consensus and b.number == ^min_block_number
)
!Repo.exists?(query)
else
{:transactions_exist, false} -> true
nil -> false
end
end end
end end

Loading…
Cancel
Save