diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000000..dd02ff334f
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,47 @@
+## Current
+
+### Features
+
+### Fixes
+
+
+## 1.3.5-beta
+
+### Features
+
+ - [#1560](https://github.com/poanetwork/blockscout/pull/1560) - Allow executing smart contract functions in arbitrarily sized batches
+ - [#1543](https://github.com/poanetwork/blockscout/pull/1543) - Use trace_replayBlockTransactions API for faster tracing
+ - [#1558](https://github.com/poanetwork/blockscout/pull/1558) - Allow searching by token symbol
+ - [#1551](https://github.com/poanetwork/blockscout/pull/1551) Exact date and time for Transaction details page
+ - [#1547](https://github.com/poanetwork/blockscout/pull/1547) - Verify smart contracts with evm versions
+ - [#1540](https://github.com/poanetwork/blockscout/pull/1540) - Fetch ERC721 token balances if sender is '0x0..0'
+ - [#1539](https://github.com/poanetwork/blockscout/pull/1539) - Add the link to release in the footer
+ - [#1519](https://github.com/poanetwork/blockscout/pull/1519) - Create contract methods
+ - [#1496](https://github.com/poanetwork/blockscout/pull/1496) - Remove dropped/replaced transactions in pending transactions list
+ - [#1492](https://github.com/poanetwork/blockscout/pull/1492) - Disable usd value for an empty exchange rate
+ - [#1466](https://github.com/poanetwork/blockscout/pull/1466) - Decoding candidates for unverified contracts
+
+### Fixes
+ - [#1545](https://github.com/poanetwork/blockscout/pull/1545) - Fix scheduling of latest block polling in Realtime Fetcher
+ - [#1554](https://github.com/poanetwork/blockscout/pull/1554) - Encode integer parameters when calling smart contract functions
+ - [#1537](https://github.com/poanetwork/blockscout/pull/1537) - Fix test that depended on date
+ - [#1534](https://github.com/poanetwork/blockscout/pull/1534) - Render a nicer error when creator cannot be determined
+ - [#1527](https://github.com/poanetwork/blockscout/pull/1527) - Add index to value_fetched_at
+ - [#1518](https://github.com/poanetwork/blockscout/pull/1518) - Select only distinct failed transactions
+ - [#1516](https://github.com/poanetwork/blockscout/pull/1516) - Fix coin balance params reducer for pending transaction
+ - [#1511](https://github.com/poanetwork/blockscout/pull/1511) - Set correct log level for production
+ - [#1510](https://github.com/poanetwork/blockscout/pull/1510) - Fix test that fails every 1st day of the month
+ - [#1509](https://github.com/poanetwork/blockscout/pull/1509) - Add index to blocks' consensus
+ - [#1508](https://github.com/poanetwork/blockscout/pull/1508) - Remove duplicated indexes
+ - [#1505](https://github.com/poanetwork/blockscout/pull/1505) - Use https instead of ssh for absinthe libs
+ - [#1501](https://github.com/poanetwork/blockscout/pull/1501) - Constructor_arguments must be type `text`
+ - [#1498](https://github.com/poanetwork/blockscout/pull/1498) - Add index for created_contract_address_hash in transactions
+ - [#1493](https://github.com/poanetwork/blockscout/pull/1493) - Do not do work in process initialization
+ - [#1487](https://github.com/poanetwork/blockscout/pull/1487) - Limit geth sync to 128 blocks
+ - [#1484](https://github.com/poanetwork/blockscout/pull/1484) - Allow decoding input as utf-8
+ - [#1479](https://github.com/poanetwork/blockscout/pull/1479) - Remove smoothing from coin balance chart
+
+### Chore
+ - [https://github.com/poanetwork/blockscout/pull/1532](https://github.com/poanetwork/blockscout/pull/1532) - Upgrade elixir to 1.8.1
+ - [https://github.com/poanetwork/blockscout/pull/1553](https://github.com/poanetwork/blockscout/pull/1553) - Dockerfile: remove 1.7.1 version pin FROM bitwalker/alpine-elixir-phoenix
+ - [https://github.com/poanetwork/blockscout/pull/1465](https://github.com/poanetwork/blockscout/pull/1465) - Resolve lodash security alert
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7d91bacfed..c76045b35a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -6,6 +6,7 @@
4. Commit your changes (`git commit -am 'Add some feature'`)
5. Push to the branch (`git push origin my-new-feature`)
6. Create a new Pull Request
+7. Update CHANGELOG.md with the link to PR and description of the changes
### General
diff --git a/apps/block_scout_web/assets/js/lib/from_now.js b/apps/block_scout_web/assets/js/lib/from_now.js
index f4bad344cb..8a00fefd80 100644
--- a/apps/block_scout_web/assets/js/lib/from_now.js
+++ b/apps/block_scout_web/assets/js/lib/from_now.js
@@ -21,7 +21,8 @@ function tryUpdateAge (el) {
function updateAge (el, timestamp) {
let fromNow = timestamp.fromNow()
// show the exact time only for transaction details page. Otherwise, short entry
- if (window.location.pathname.startsWith('/tx/')) {
+ const elInTile = el.hasAttribute('in-tile')
+ if (window.location.pathname.includes('/tx/') && !elInTile) {
const offset = moment().utcOffset() / 60
const sign = offset && Math.sign(offset) ? '+' : '-'
const formatDate = `MMMM-DD-YYYY hh:mm:ss A ${sign}${offset} UTC`
diff --git a/apps/block_scout_web/lib/block_scout_web/templates/internal_transaction/_tile.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/internal_transaction/_tile.html.eex
index 9a0630e97d..2265a397be 100644
--- a/apps/block_scout_web/lib/block_scout_web/templates/internal_transaction/_tile.html.eex
+++ b/apps/block_scout_web/lib/block_scout_web/templates/internal_transaction/_tile.html.eex
@@ -23,7 +23,7 @@
to: block_path(BlockScoutWeb.Endpoint, :show, @internal_transaction.block_number)
) %>
-
+
<%= if assigns[:current_address] do %>
<%= if assigns[:current_address].hash == @internal_transaction.from_address_hash do %>
diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction/_tile.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction/_tile.html.eex
index a254d02c04..da3884b417 100644
--- a/apps/block_scout_web/lib/block_scout_web/templates/transaction/_tile.html.eex
+++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction/_tile.html.eex
@@ -35,7 +35,7 @@
<%= @transaction |> block_number() |> BlockScoutWeb.RenderHelpers.render_partial() %>
-
+
<%= if from_or_to_address?(@transaction, assigns[:current_address]) do %>
<%= if @transaction.from_address_hash == assigns[:current_address].hash do %>
diff --git a/apps/indexer/config/config.exs b/apps/indexer/config/config.exs
index a0f9662ef7..10dfd691a0 100644
--- a/apps/indexer/config/config.exs
+++ b/apps/indexer/config/config.exs
@@ -36,6 +36,7 @@ config :indexer,
memory_limit: 1 <<< 30
# config :indexer, Indexer.ReplacedTransaction.Supervisor, disabled?: true
+# config :indexer, Indexer.Block.Reward.Supervisor, disabled?: true
config :indexer, Indexer.Tracer,
service: :indexer,
diff --git a/apps/indexer/lib/indexer/block/reward/fetcher.ex b/apps/indexer/lib/indexer/block/reward/fetcher.ex
index f480021545..88a9f9391d 100644
--- a/apps/indexer/lib/indexer/block/reward/fetcher.ex
+++ b/apps/indexer/lib/indexer/block/reward/fetcher.ex
@@ -18,6 +18,7 @@ defmodule Indexer.Block.Reward.Fetcher do
alias Explorer.Chain.{Block, Wei}
alias Indexer.Address.CoinBalances
alias Indexer.{AddressExtraction, BufferedTask, CoinBalance, Tracer}
+ alias Indexer.Block.Reward.Supervisor, as: BlockRewardSupervisor
@behaviour BufferedTask
@@ -34,7 +35,11 @@ defmodule Indexer.Block.Reward.Fetcher do
"""
@spec async_fetch([Block.block_number()]) :: :ok
def async_fetch(block_numbers) when is_list(block_numbers) do
- BufferedTask.buffer(__MODULE__, block_numbers)
+ if BlockRewardSupervisor.disabled?() do
+ :ok
+ else
+ BufferedTask.buffer(__MODULE__, block_numbers)
+ end
end
@doc false
diff --git a/apps/indexer/lib/indexer/block/reward/supervisor.ex b/apps/indexer/lib/indexer/block/reward/supervisor.ex
index de222dd328..9dab2269a2 100644
--- a/apps/indexer/lib/indexer/block/reward/supervisor.ex
+++ b/apps/indexer/lib/indexer/block/reward/supervisor.ex
@@ -22,7 +22,15 @@ defmodule Indexer.Block.Reward.Supervisor do
end
def start_link(arguments, gen_server_options \\ []) do
- Supervisor.start_link(__MODULE__, arguments, Keyword.put_new(gen_server_options, :name, __MODULE__))
+ if disabled?() do
+ :ignore
+ else
+ Supervisor.start_link(__MODULE__, arguments, Keyword.put_new(gen_server_options, :name, __MODULE__))
+ end
+ end
+
+ def disabled?() do
+ Application.get_env(:indexer, __MODULE__, [])[:disabled?] == true
end
@impl Supervisor