# This file is responsible for configuring your application # and its dependencies with the aid of the Config module. # # This configuration file is loaded before any dependency and # is restricted to this project. import Config [__DIR__ | ~w(.. .. .. config config_helper.exs)] |> Path.join() |> Code.eval_file() # General application configuration config :explorer, ecto_repos: ConfigHelper.repos(), token_functions_reader_max_retries: 3, # for not fully indexed blockchains decode_not_a_contract_calls: ConfigHelper.parse_bool_env_var("DECODE_NOT_A_CONTRACT_CALLS") config :explorer, Explorer.ChainSpec.GenesisData, enabled: true config :explorer, Explorer.Chain.Cache.BlockNumber, enabled: true config :explorer, Explorer.Chain.Cache.AddressSum, enabled: true, ttl_check_interval: :timer.seconds(1) config :explorer, Explorer.Chain.Cache.AddressSumMinusBurnt, enabled: true, ttl_check_interval: :timer.seconds(1) update_interval_in_milliseconds = ConfigHelper.parse_time_env_var("CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL", "30m") config :explorer, Explorer.Counters.AddressesWithBalanceCounter, enabled: false, enable_consolidation: true, update_interval_in_milliseconds: update_interval_in_milliseconds config :explorer, Explorer.Counters.AddressesCounter, enabled: true, enable_consolidation: true, update_interval_in_milliseconds: update_interval_in_milliseconds config :explorer, Explorer.Counters.AddressTransactionsGasUsageCounter, enabled: true, enable_consolidation: true config :explorer, Explorer.Counters.AddressTokenUsdSum, enabled: true, enable_consolidation: true update_interval_in_milliseconds_default = 30 * 60 * 1000 config :explorer, Explorer.Chain.Cache.ContractsCounter, enabled: true, enable_consolidation: true, update_interval_in_milliseconds: update_interval_in_milliseconds_default config :explorer, Explorer.Chain.Cache.NewContractsCounter, enabled: true, enable_consolidation: true, update_interval_in_milliseconds: update_interval_in_milliseconds_default config :explorer, Explorer.Chain.Cache.VerifiedContractsCounter, enabled: true, enable_consolidation: true, update_interval_in_milliseconds: update_interval_in_milliseconds_default config :explorer, Explorer.Chain.Cache.NewVerifiedContractsCounter, enabled: true, enable_consolidation: true, update_interval_in_milliseconds: update_interval_in_milliseconds_default config :explorer, Explorer.Chain.Cache.WithdrawalsSum, enabled: true, enable_consolidation: true, update_interval_in_milliseconds: update_interval_in_milliseconds_default config :explorer, Explorer.Chain.Cache.TransactionActionTokensData, enabled: true config :explorer, Explorer.Chain.Cache.TransactionActionUniswapPools, enabled: true config :explorer, Explorer.ExchangeRates, cache_period: ConfigHelper.parse_time_env_var("CACHE_EXCHANGE_RATES_PERIOD", "10m") config :explorer, Explorer.ExchangeRates.TokenExchangeRates, enabled: true config :explorer, Explorer.Counters.TokenHoldersCounter, enabled: true, enable_consolidation: true config :explorer, Explorer.Counters.TokenTransfersCounter, enabled: true, enable_consolidation: true config :explorer, Explorer.Counters.AddressTransactionsCounter, enabled: true, enable_consolidation: true config :explorer, Explorer.Counters.AddressTokenTransfersCounter, enabled: true, enable_consolidation: true config :explorer, Explorer.Counters.BlockBurnedFeeCounter, enabled: true, enable_consolidation: true config :explorer, Explorer.Counters.BlockPriorityFeeCounter, enabled: true, enable_consolidation: true config :explorer, Explorer.TokenTransferTokenIdMigration.Supervisor, enabled: true config :explorer, Explorer.TokenInstanceOwnerAddressMigration.Supervisor, enabled: true config :explorer, Explorer.Chain.Fetcher.CheckBytecodeMatchingOnDemand, enabled: true config :explorer, Explorer.Chain.Fetcher.FetchValidatorInfoOnDemand, enabled: true config :explorer, Explorer.Chain.Cache.GasUsage, enabled: ConfigHelper.parse_bool_env_var("CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED") config :explorer, Explorer.Integrations.EctoLogger, query_time_ms_threshold: :timer.seconds(2) config :explorer, Explorer.Tags.AddressTag.Cataloger, enabled: true config :explorer, Explorer.Repo, migration_timestamps: [type: :utc_datetime_usec] config :explorer, Explorer.Tracer, service: :explorer, adapter: SpandexDatadog.Adapter, trace_key: :blockscout config :explorer, solc_bin_api_url: "https://solc-bin.ethereum.org" config :explorer, :http_adapter, HTTPoison config :logger, :explorer, # keep synced with `config/config.exs` format: "$dateT$time $metadata[$level] $message\n", metadata: ~w(application fetcher request_id first_block_number last_block_number missing_block_range_count missing_block_count block_number step count error_count shrunk import_id transaction_id)a, metadata_filter: [application: :explorer] config :spandex_ecto, SpandexEcto.EctoLogger, service: :ecto, tracer: Explorer.Tracer, otp_app: :explorer # Import environment specific config. This must remain at the bottom # of this file so it overrides the configuration defined above. import_config "#{config_env()}.exs"