From c0c5165fc46f3ec1a51cb43c2d2085676ff8f3da Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Mon, 18 Oct 2021 11:45:16 +0300 Subject: [PATCH] Merge pull request #4777 from blockscout/np-add-decoding-errors Add decoding revert reason --- CHANGELOG.md | 1 + .../transaction/_decoded_input_body.html.eex | 12 +- .../templates/transaction/overview.html.eex | 20 +- .../block_scout_web/views/transaction_view.ex | 8 +- apps/block_scout_web/priv/gettext/default.pot | 180 +++++++++--------- .../priv/gettext/en/LC_MESSAGES/default.po | 180 +++++++++--------- .../lib/explorer/chain/transaction.ex | 21 ++ mix.lock | 4 +- 8 files changed, 243 insertions(+), 183 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 971858c28621..1fa60e3c3444 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ## Current ### Features +- [#4777](https://github.com/blockscout/blockscout/pull/4777) - Added decoding revert reason - [#4776](https://github.com/blockscout/blockscout/pull/4776) - Added view for unsuccessfully fetched values from read functions - [#4761](https://github.com/blockscout/blockscout/pull/4761) - ERC-1155 support - [#4739](https://github.com/blockscout/blockscout/pull/4739) - Improve logs and inputs decoding diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex index aad3bb75601d..c0c84d459fc5 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex @@ -1,11 +1,13 @@
" class="table thead-light table-bordered"> + <%= if !assigns[:error] do %> + + + + + <% end %> - - - - - +
<%= gettext "Method Id" %>0x<%= @method_id %>
<%= gettext "Method Id" %>0x<%= @method_id %>
Call<%= if assigns[:error], do: gettext("Error"), else: gettext("Call") %> <%= @text %>
diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex index 114a9a80e08f..08ec87fb6ca6 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex @@ -128,7 +128,25 @@ text: gettext("The revert reason of the transaction.") %> <%= gettext "Revert reason" %>
- <%= BlockScoutWeb.TransactionView.transaction_revert_reason(@transaction) %> + <%= case BlockScoutWeb.TransactionView.transaction_revert_reason(@transaction) do %> + <% {:error, :contract_not_verified, []} -> %> +
+
+
<%= BlockScoutWeb.TransactionView.get_pure_transaction_revert_reason(@transaction) %>
+
+
+ <% {:error, :contract_not_verified, candidates} -> %> + <% {:ok, method_id, text, mapping} = Enum.at(candidates, 0) %> + <%= render(BlockScoutWeb.TransactionView, "_decoded_input_body.html", method_id: method_id, text: text, mapping: mapping, error: true) %> + <% {:ok, method_id, text, mapping} -> %> + <%= render(BlockScoutWeb.TransactionView, "_decoded_input_body.html", method_id: method_id, text: text, mapping: mapping, error: true) %> + <% _ -> %> +
+
+
<%= BlockScoutWeb.TransactionView.get_pure_transaction_revert_reason(@transaction) %>
+
+
+ <% end %>
<% end %> diff --git a/apps/block_scout_web/lib/block_scout_web/views/transaction_view.ex b/apps/block_scout_web/lib/block_scout_web/views/transaction_view.ex index afe6fe67dc16..8c70176be3e5 100644 --- a/apps/block_scout_web/lib/block_scout_web/views/transaction_view.ex +++ b/apps/block_scout_web/lib/block_scout_web/views/transaction_view.ex @@ -328,9 +328,11 @@ defmodule BlockScoutWeb.TransactionView do end def transaction_revert_reason(transaction) do - Chain.transaction_to_revert_reason(transaction) + transaction |> Chain.transaction_to_revert_reason() |> decoded_revert_reason(transaction) end + def get_pure_transaction_revert_reason(transaction), do: Chain.transaction_to_revert_reason(transaction) + def empty_exchange_rate?(exchange_rate) do Token.null?(exchange_rate) end @@ -371,6 +373,10 @@ defmodule BlockScoutWeb.TransactionView do Transaction.decoded_input_data(transaction) end + def decoded_revert_reason(revert_reason, transaction) do + Transaction.decoded_revert_reason(transaction, revert_reason) + end + @doc """ Converts a transaction's gas price to a displayable value. """ diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 30abf46484d9..ec17114e3edf 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -81,7 +81,7 @@ msgid "%{subnetwork} Staking DApp - BlockScout" msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:348 +#: lib/block_scout_web/views/transaction_view.ex:350 msgid "(Awaiting internal transactions for status)" msgstr "" @@ -175,7 +175,7 @@ msgid "Action" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:413 +#: lib/block_scout_web/templates/transaction/overview.html.eex:431 msgid "Actual gas amount used by the transaction." msgstr "" @@ -186,12 +186,12 @@ msgid "Address" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:201 +#: lib/block_scout_web/templates/transaction/overview.html.eex:219 msgid "Address (external or contract) receiving the transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:181 +#: lib/block_scout_web/templates/transaction/overview.html.eex:199 msgid "Address (external or contract) sending the transaction." msgstr "" @@ -246,7 +246,7 @@ msgid "Amount" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:399 +#: lib/block_scout_web/templates/transaction/overview.html.eex:417 msgid "Amount of" msgstr "" @@ -336,13 +336,13 @@ msgid "Become a Candidate" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:434 +#: lib/block_scout_web/templates/transaction/overview.html.eex:452 msgid "Binary data included with the transaction. See input / logs below for additional info." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/_coin_balances.html.eex:8 -#: lib/block_scout_web/templates/block/overview.html.eex:26 lib/block_scout_web/templates/transaction/overview.html.eex:140 +#: lib/block_scout_web/templates/block/overview.html.eex:26 lib/block_scout_web/templates/transaction/overview.html.eex:158 msgid "Block" msgstr "" @@ -393,7 +393,7 @@ msgid "Block number" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:139 +#: lib/block_scout_web/templates/transaction/overview.html.eex:157 msgid "Block number containing the transaction." msgstr "" @@ -462,6 +462,7 @@ msgid "CSV" msgstr "" #, elixir-format +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:10 #: lib/block_scout_web/views/internal_transaction_view.ex:21 msgid "Call" msgstr "" @@ -564,7 +565,7 @@ msgid "Coin Balance History" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:53 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:55 msgid "Collapse" msgstr "" @@ -580,7 +581,7 @@ msgid "Compiler version" msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:341 +#: lib/block_scout_web/views/transaction_view.ex:343 msgid "Confirmed" msgstr "" @@ -590,7 +591,7 @@ msgid "Confirmed by " msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:172 +#: lib/block_scout_web/templates/transaction/overview.html.eex:190 msgid "Confirmed within" msgstr "" @@ -630,7 +631,7 @@ msgid "Constructor Arguments" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:211 +#: lib/block_scout_web/templates/transaction/overview.html.eex:229 msgid "Contract" msgstr "" @@ -654,12 +655,12 @@ msgid "Contract Address Pending" msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:452 +#: lib/block_scout_web/views/transaction_view.ex:458 msgid "Contract Call" msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:449 +#: lib/block_scout_web/views/transaction_view.ex:455 msgid "Contract Creation" msgstr "" @@ -739,8 +740,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_total_transfers_from_to.html.eex:14 -#: lib/block_scout_web/templates/transaction/_total_transfers_from_to.html.eex:15 lib/block_scout_web/templates/transaction/overview.html.eex:191 -#: lib/block_scout_web/templates/transaction/overview.html.eex:192 +#: lib/block_scout_web/templates/transaction/_total_transfers_from_to.html.eex:15 lib/block_scout_web/templates/transaction/overview.html.eex:209 +#: lib/block_scout_web/templates/transaction/overview.html.eex:210 msgid "Copy From Address" msgstr "" @@ -774,9 +775,9 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_total_transfers_from_to.html.eex:31 -#: lib/block_scout_web/templates/transaction/_total_transfers_from_to.html.eex:32 lib/block_scout_web/templates/transaction/overview.html.eex:220 -#: lib/block_scout_web/templates/transaction/overview.html.eex:221 lib/block_scout_web/templates/transaction/overview.html.eex:230 -#: lib/block_scout_web/templates/transaction/overview.html.eex:231 +#: lib/block_scout_web/templates/transaction/_total_transfers_from_to.html.eex:32 lib/block_scout_web/templates/transaction/overview.html.eex:238 +#: lib/block_scout_web/templates/transaction/overview.html.eex:239 lib/block_scout_web/templates/transaction/overview.html.eex:248 +#: lib/block_scout_web/templates/transaction/overview.html.eex:249 msgid "Copy To Address" msgstr "" @@ -797,19 +798,19 @@ msgid "Copy Txn Hash" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:460 +#: lib/block_scout_web/templates/transaction/overview.html.eex:478 msgid "Copy Txn Hex Input" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:466 +#: lib/block_scout_web/templates/transaction/overview.html.eex:484 msgid "Copy Txn UTF-8 Input" msgstr "" #, elixir-format #: lib/block_scout_web/templates/log/_data_decoded_view.html.eex:20 -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:39 lib/block_scout_web/templates/transaction/overview.html.eex:459 -#: lib/block_scout_web/templates/transaction/overview.html.eex:465 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:41 lib/block_scout_web/templates/transaction/overview.html.eex:477 +#: lib/block_scout_web/templates/transaction/overview.html.eex:483 msgid "Copy Value" msgstr "" @@ -867,7 +868,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/_logs.html.eex:101 -#: lib/block_scout_web/templates/log/_data_decoded_view.html.eex:7 lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:21 +#: lib/block_scout_web/templates/log/_data_decoded_view.html.eex:7 lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:23 #: lib/block_scout_web/templates/transaction_log/_logs.html.eex:120 msgid "Data" msgstr "" @@ -878,7 +879,7 @@ msgid "Date & time at which block was produced." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:158 +#: lib/block_scout_web/templates/transaction/overview.html.eex:176 msgid "Date & time of transaction inclusion, including length of time for confirmation." msgstr "" @@ -1050,7 +1051,7 @@ msgid "Epochs range(s) or enum, e.g.: 5-9,23-27,47,50" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:31 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:33 msgid "Error rendering value" msgstr "" @@ -1061,12 +1062,12 @@ msgid "Error trying to fetch balances." msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:352 +#: lib/block_scout_web/views/transaction_view.ex:354 msgid "Error: %{reason}" msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:350 +#: lib/block_scout_web/views/transaction_view.ex:352 msgid "Error: (Awaiting internal transactions for reason)" msgstr "" @@ -1086,7 +1087,7 @@ msgstr "" #: lib/block_scout_web/templates/block/overview.html.eex:209 lib/block_scout_web/templates/internal_transaction/_tile.html.eex:20 #: lib/block_scout_web/templates/layout/_topnav.html.eex:87 lib/block_scout_web/templates/layout/_topnav.html.eex:108 #: lib/block_scout_web/templates/layout/app.html.eex:45 lib/block_scout_web/templates/transaction/_pending_tile.html.eex:20 -#: lib/block_scout_web/templates/transaction/_tile.html.eex:37 lib/block_scout_web/templates/transaction/overview.html.eex:399 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:37 lib/block_scout_web/templates/transaction/overview.html.eex:417 #: lib/block_scout_web/views/wei_helpers.ex:78 msgid "Ether" msgstr "" @@ -1104,7 +1105,7 @@ msgid "Execute" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:53 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:55 msgid "Expand" msgstr "" @@ -1153,7 +1154,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:42 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:40 lib/block_scout_web/templates/address_transaction/index.html.eex:38 -#: lib/block_scout_web/templates/transaction/overview.html.eex:182 lib/block_scout_web/views/address_internal_transaction_view.ex:10 +#: lib/block_scout_web/templates/transaction/overview.html.eex:200 lib/block_scout_web/views/address_internal_transaction_view.ex:10 #: lib/block_scout_web/views/address_token_transfer_view.ex:10 lib/block_scout_web/views/address_transaction_view.ex:10 msgid "From" msgstr "" @@ -1165,12 +1166,12 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:67 -#: lib/block_scout_web/templates/block/overview.html.eex:181 lib/block_scout_web/templates/transaction/overview.html.eex:361 +#: lib/block_scout_web/templates/block/overview.html.eex:181 lib/block_scout_web/templates/transaction/overview.html.eex:379 msgid "Gas Limit" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:341 +#: lib/block_scout_web/templates/transaction/overview.html.eex:359 msgid "Gas Price" msgstr "" @@ -1181,7 +1182,7 @@ msgid "Gas Used" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:414 +#: lib/block_scout_web/templates/transaction/overview.html.eex:432 msgid "Gas Used by Transaction" msgstr "" @@ -1218,8 +1219,8 @@ msgid "Hash" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:442 -#: lib/block_scout_web/templates/transaction/overview.html.eex:446 +#: lib/block_scout_web/templates/transaction/overview.html.eex:460 +#: lib/block_scout_web/templates/transaction/overview.html.eex:464 msgid "Hex (Default)" msgstr "" @@ -1275,7 +1276,7 @@ msgid "Inactive Pool Addresses. Current validator pools are specified by a check msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:426 +#: lib/block_scout_web/templates/transaction/overview.html.eex:444 msgid "Index position of Transaction in the block." msgstr "" @@ -1300,7 +1301,7 @@ msgid "Input" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:203 +#: lib/block_scout_web/templates/transaction/overview.html.eex:221 msgid "Interacted With (To)" msgstr "" @@ -1313,7 +1314,7 @@ msgstr "" #: lib/block_scout_web/templates/address/_tabs.html.eex:28 #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:21 lib/block_scout_web/templates/transaction/_tabs.html.eex:11 #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 lib/block_scout_web/views/address_view.ex:346 -#: lib/block_scout_web/views/transaction_view.ex:507 +#: lib/block_scout_web/views/transaction_view.ex:513 msgid "Internal Transactions" msgstr "" @@ -1387,22 +1388,22 @@ msgid "Likelihood of Becoming a Validator on the Next Epoch" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:293 +#: lib/block_scout_web/templates/transaction/overview.html.eex:311 msgid "List of ERC-1155 tokens created in the transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:277 +#: lib/block_scout_web/templates/transaction/overview.html.eex:295 msgid "List of token burnt in the transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:260 +#: lib/block_scout_web/templates/transaction/overview.html.eex:278 msgid "List of token minted in the transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:244 +#: lib/block_scout_web/templates/transaction/overview.html.eex:262 msgid "List of token transferred in the transaction." msgstr "" @@ -1440,7 +1441,7 @@ msgstr "" #: lib/block_scout_web/templates/address/_tabs.html.eex:41 #: lib/block_scout_web/templates/address_logs/index.html.eex:10 lib/block_scout_web/templates/transaction/_tabs.html.eex:17 #: lib/block_scout_web/templates/transaction_log/index.html.eex:8 lib/block_scout_web/views/address_view.ex:357 -#: lib/block_scout_web/views/transaction_view.ex:508 +#: lib/block_scout_web/views/transaction_view.ex:514 msgid "Logs" msgstr "" @@ -1471,12 +1472,12 @@ msgid "Max Amount to Move:" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:370 +#: lib/block_scout_web/templates/transaction/overview.html.eex:388 msgid "Max Fee per Gas" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:380 +#: lib/block_scout_web/templates/transaction/overview.html.eex:398 msgid "Max Priority Fee per Gas" msgstr "" @@ -1486,12 +1487,12 @@ msgid "Max of" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:360 +#: lib/block_scout_web/templates/transaction/overview.html.eex:378 msgid "Maximum gas amount approved for the transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:369 +#: lib/block_scout_web/templates/transaction/overview.html.eex:387 msgid "Maximum total amount per unit of gas a user is willing to pay for a transaction, including base fee and priority fee." msgstr "" @@ -1502,7 +1503,7 @@ msgid "Metadata" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:4 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:5 msgid "Method Id" msgstr "" @@ -1586,7 +1587,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:52 #: lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex:59 lib/block_scout_web/templates/log/_data_decoded_view.html.eex:4 -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:19 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:21 msgid "Name" msgstr "" @@ -1636,7 +1637,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:190 -#: lib/block_scout_web/templates/transaction/overview.html.eex:424 +#: lib/block_scout_web/templates/transaction/overview.html.eex:442 msgid "Nonce" msgstr "" @@ -1712,8 +1713,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:53 -#: lib/block_scout_web/templates/stakes/_stakes_modal_delegators_list.html.eex:184 lib/block_scout_web/views/transaction_view.ex:347 -#: lib/block_scout_web/views/transaction_view.ex:381 +#: lib/block_scout_web/templates/stakes/_stakes_modal_delegators_list.html.eex:184 lib/block_scout_web/views/transaction_view.ex:349 +#: lib/block_scout_web/views/transaction_view.ex:387 msgid "Pending" msgstr "" @@ -1760,7 +1761,7 @@ msgid "Pools searching is already in progress for this address" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:426 +#: lib/block_scout_web/templates/transaction/overview.html.eex:444 msgid "Position" msgstr "" @@ -1793,13 +1794,13 @@ msgid "Price" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:340 +#: lib/block_scout_web/templates/transaction/overview.html.eex:358 msgid "Price per unit of gas specified by the sender. Higher gas prices can prioritize transaction inclusion during times of high usage." msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:219 -#: lib/block_scout_web/templates/transaction/overview.html.eex:390 +#: lib/block_scout_web/templates/transaction/overview.html.eex:408 msgid "Priority Fee / Tip" msgstr "" @@ -1825,13 +1826,13 @@ msgid "RPC" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:435 +#: lib/block_scout_web/templates/transaction/overview.html.eex:453 msgid "Raw Input" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_tabs.html.eex:24 -#: lib/block_scout_web/templates/transaction_raw_trace/index.html.eex:7 lib/block_scout_web/views/transaction_view.ex:509 +#: lib/block_scout_web/templates/transaction_raw_trace/index.html.eex:7 lib/block_scout_web/views/transaction_view.ex:515 msgid "Raw Trace" msgstr "" @@ -2144,7 +2145,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:8 -#: lib/block_scout_web/views/transaction_view.ex:349 +#: lib/block_scout_web/views/transaction_view.ex:351 msgid "Success" msgstr "" @@ -2443,14 +2444,14 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:65 -#: lib/block_scout_web/templates/transaction/overview.html.eex:159 +#: lib/block_scout_web/templates/transaction/overview.html.eex:177 msgid "Timestamp" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:36 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:34 lib/block_scout_web/templates/address_transaction/index.html.eex:32 -#: lib/block_scout_web/templates/transaction/overview.html.eex:205 lib/block_scout_web/views/address_internal_transaction_view.ex:9 +#: lib/block_scout_web/templates/transaction/overview.html.eex:223 lib/block_scout_web/views/address_internal_transaction_view.ex:9 #: lib/block_scout_web/views/address_token_transfer_view.ex:9 lib/block_scout_web/views/address_transaction_view.ex:9 msgid "To" msgstr "" @@ -2477,12 +2478,12 @@ msgid "Token" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:3 lib/block_scout_web/views/transaction_view.ex:443 +#: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:3 lib/block_scout_web/views/transaction_view.ex:449 msgid "Token Burning" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:7 lib/block_scout_web/views/transaction_view.ex:444 +#: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:7 lib/block_scout_web/views/transaction_view.ex:450 msgid "Token Creation" msgstr "" @@ -2506,13 +2507,13 @@ msgid "Token ID" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:5 lib/block_scout_web/views/transaction_view.ex:442 +#: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:5 lib/block_scout_web/views/transaction_view.ex:448 msgid "Token Minting" msgstr "" #, elixir-format #: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:9 -#: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:11 lib/block_scout_web/views/transaction_view.ex:445 +#: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:11 lib/block_scout_web/views/transaction_view.ex:451 msgid "Token Transfer" msgstr "" @@ -2523,7 +2524,7 @@ msgstr "" #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:14 lib/block_scout_web/templates/transaction/_tabs.html.eex:4 #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 lib/block_scout_web/views/address_view.ex:348 #: lib/block_scout_web/views/tokens/instance/overview_view.ex:178 lib/block_scout_web/views/tokens/overview_view.ex:41 -#: lib/block_scout_web/views/transaction_view.ex:506 +#: lib/block_scout_web/views/transaction_view.ex:512 msgid "Token Transfers" msgstr "" @@ -2542,22 +2543,22 @@ msgid "Tokens" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:278 +#: lib/block_scout_web/templates/transaction/overview.html.eex:296 msgid "Tokens Burnt" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:294 +#: lib/block_scout_web/templates/transaction/overview.html.eex:312 msgid "Tokens Created" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:261 +#: lib/block_scout_web/templates/transaction/overview.html.eex:279 msgid "Tokens Minted" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:245 +#: lib/block_scout_web/templates/transaction/overview.html.eex:263 msgid "Tokens Transferred" msgstr "" @@ -2603,7 +2604,7 @@ msgid "Total gas limit provided by all transactions in the block." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:325 +#: lib/block_scout_web/templates/transaction/overview.html.eex:343 msgid "Total transaction fee." msgstr "" @@ -2619,7 +2620,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/_logs.html.eex:19 -#: lib/block_scout_web/views/transaction_view.ex:455 +#: lib/block_scout_web/views/transaction_view.ex:461 msgid "Transaction" msgstr "" @@ -2634,7 +2635,7 @@ msgid "Transaction %{transaction}, %{subnetwork} %{transaction}" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:400 +#: lib/block_scout_web/templates/transaction/overview.html.eex:418 msgid "Transaction Burnt Fee" msgstr "" @@ -2644,7 +2645,7 @@ msgid "Transaction Details" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:326 +#: lib/block_scout_web/templates/transaction/overview.html.eex:344 msgid "Transaction Fee" msgstr "" @@ -2655,22 +2656,22 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:2 -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:17 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:19 msgid "Transaction Inputs" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:350 +#: lib/block_scout_web/templates/transaction/overview.html.eex:368 msgid "Transaction Type" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:423 +#: lib/block_scout_web/templates/transaction/overview.html.eex:441 msgid "Transaction number from the sending address. Each transaction sent from an address increments the nonce by 1." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:349 +#: lib/block_scout_web/templates/transaction/overview.html.eex:367 msgid "Transaction type, introduced in EIP-2718." msgstr "" @@ -2723,12 +2724,12 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/log/_data_decoded_view.html.eex:5 -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:20 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:22 msgid "Type" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:449 +#: lib/block_scout_web/templates/transaction/overview.html.eex:467 msgid "UTF-8" msgstr "" @@ -2749,7 +2750,7 @@ msgid "Uncles" msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:340 +#: lib/block_scout_web/views/transaction_view.ex:342 msgid "Unconfirmed" msgstr "" @@ -2786,12 +2787,12 @@ msgid "Use the search box to find a hosted network, or select from the list of a msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:379 +#: lib/block_scout_web/templates/transaction/overview.html.eex:397 msgid "User defined maximum fee (tip) per unit of gas paid to validator for transaction prioritization." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:389 +#: lib/block_scout_web/templates/transaction/overview.html.eex:407 msgid "User-defined tip sent to validator for transaction priority/inclusion." msgstr "" @@ -2841,12 +2842,12 @@ msgid "Validator pools can be banned for misbehavior (such as not revealing secr msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:311 +#: lib/block_scout_web/templates/transaction/overview.html.eex:329 msgid "Value" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:310 +#: lib/block_scout_web/templates/transaction/overview.html.eex:328 msgid "Value sent in the native token (and USD) if applicable." msgstr "" @@ -3088,7 +3089,7 @@ msgid "balance of the address" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:399 +#: lib/block_scout_web/templates/transaction/overview.html.eex:417 msgid "burned for this transaction. Equals Block Base Fee per Gas * Gas Used." msgstr "" @@ -3108,7 +3109,7 @@ msgid "candidate" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:216 +#: lib/block_scout_web/templates/transaction/overview.html.eex:234 msgid "created" msgstr "" @@ -3200,3 +3201,8 @@ msgstr "" #: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:11 msgid "Not unique Token" msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:10 +msgid "Error" +msgstr "" diff --git a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po index 30abf46484d9..ec17114e3edf 100644 --- a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po +++ b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po @@ -81,7 +81,7 @@ msgid "%{subnetwork} Staking DApp - BlockScout" msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:348 +#: lib/block_scout_web/views/transaction_view.ex:350 msgid "(Awaiting internal transactions for status)" msgstr "" @@ -175,7 +175,7 @@ msgid "Action" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:413 +#: lib/block_scout_web/templates/transaction/overview.html.eex:431 msgid "Actual gas amount used by the transaction." msgstr "" @@ -186,12 +186,12 @@ msgid "Address" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:201 +#: lib/block_scout_web/templates/transaction/overview.html.eex:219 msgid "Address (external or contract) receiving the transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:181 +#: lib/block_scout_web/templates/transaction/overview.html.eex:199 msgid "Address (external or contract) sending the transaction." msgstr "" @@ -246,7 +246,7 @@ msgid "Amount" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:399 +#: lib/block_scout_web/templates/transaction/overview.html.eex:417 msgid "Amount of" msgstr "" @@ -336,13 +336,13 @@ msgid "Become a Candidate" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:434 +#: lib/block_scout_web/templates/transaction/overview.html.eex:452 msgid "Binary data included with the transaction. See input / logs below for additional info." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/_coin_balances.html.eex:8 -#: lib/block_scout_web/templates/block/overview.html.eex:26 lib/block_scout_web/templates/transaction/overview.html.eex:140 +#: lib/block_scout_web/templates/block/overview.html.eex:26 lib/block_scout_web/templates/transaction/overview.html.eex:158 msgid "Block" msgstr "" @@ -393,7 +393,7 @@ msgid "Block number" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:139 +#: lib/block_scout_web/templates/transaction/overview.html.eex:157 msgid "Block number containing the transaction." msgstr "" @@ -462,6 +462,7 @@ msgid "CSV" msgstr "" #, elixir-format +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:10 #: lib/block_scout_web/views/internal_transaction_view.ex:21 msgid "Call" msgstr "" @@ -564,7 +565,7 @@ msgid "Coin Balance History" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:53 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:55 msgid "Collapse" msgstr "" @@ -580,7 +581,7 @@ msgid "Compiler version" msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:341 +#: lib/block_scout_web/views/transaction_view.ex:343 msgid "Confirmed" msgstr "" @@ -590,7 +591,7 @@ msgid "Confirmed by " msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:172 +#: lib/block_scout_web/templates/transaction/overview.html.eex:190 msgid "Confirmed within" msgstr "" @@ -630,7 +631,7 @@ msgid "Constructor Arguments" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:211 +#: lib/block_scout_web/templates/transaction/overview.html.eex:229 msgid "Contract" msgstr "" @@ -654,12 +655,12 @@ msgid "Contract Address Pending" msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:452 +#: lib/block_scout_web/views/transaction_view.ex:458 msgid "Contract Call" msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:449 +#: lib/block_scout_web/views/transaction_view.ex:455 msgid "Contract Creation" msgstr "" @@ -739,8 +740,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_total_transfers_from_to.html.eex:14 -#: lib/block_scout_web/templates/transaction/_total_transfers_from_to.html.eex:15 lib/block_scout_web/templates/transaction/overview.html.eex:191 -#: lib/block_scout_web/templates/transaction/overview.html.eex:192 +#: lib/block_scout_web/templates/transaction/_total_transfers_from_to.html.eex:15 lib/block_scout_web/templates/transaction/overview.html.eex:209 +#: lib/block_scout_web/templates/transaction/overview.html.eex:210 msgid "Copy From Address" msgstr "" @@ -774,9 +775,9 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_total_transfers_from_to.html.eex:31 -#: lib/block_scout_web/templates/transaction/_total_transfers_from_to.html.eex:32 lib/block_scout_web/templates/transaction/overview.html.eex:220 -#: lib/block_scout_web/templates/transaction/overview.html.eex:221 lib/block_scout_web/templates/transaction/overview.html.eex:230 -#: lib/block_scout_web/templates/transaction/overview.html.eex:231 +#: lib/block_scout_web/templates/transaction/_total_transfers_from_to.html.eex:32 lib/block_scout_web/templates/transaction/overview.html.eex:238 +#: lib/block_scout_web/templates/transaction/overview.html.eex:239 lib/block_scout_web/templates/transaction/overview.html.eex:248 +#: lib/block_scout_web/templates/transaction/overview.html.eex:249 msgid "Copy To Address" msgstr "" @@ -797,19 +798,19 @@ msgid "Copy Txn Hash" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:460 +#: lib/block_scout_web/templates/transaction/overview.html.eex:478 msgid "Copy Txn Hex Input" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:466 +#: lib/block_scout_web/templates/transaction/overview.html.eex:484 msgid "Copy Txn UTF-8 Input" msgstr "" #, elixir-format #: lib/block_scout_web/templates/log/_data_decoded_view.html.eex:20 -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:39 lib/block_scout_web/templates/transaction/overview.html.eex:459 -#: lib/block_scout_web/templates/transaction/overview.html.eex:465 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:41 lib/block_scout_web/templates/transaction/overview.html.eex:477 +#: lib/block_scout_web/templates/transaction/overview.html.eex:483 msgid "Copy Value" msgstr "" @@ -867,7 +868,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/_logs.html.eex:101 -#: lib/block_scout_web/templates/log/_data_decoded_view.html.eex:7 lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:21 +#: lib/block_scout_web/templates/log/_data_decoded_view.html.eex:7 lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:23 #: lib/block_scout_web/templates/transaction_log/_logs.html.eex:120 msgid "Data" msgstr "" @@ -878,7 +879,7 @@ msgid "Date & time at which block was produced." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:158 +#: lib/block_scout_web/templates/transaction/overview.html.eex:176 msgid "Date & time of transaction inclusion, including length of time for confirmation." msgstr "" @@ -1050,7 +1051,7 @@ msgid "Epochs range(s) or enum, e.g.: 5-9,23-27,47,50" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:31 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:33 msgid "Error rendering value" msgstr "" @@ -1061,12 +1062,12 @@ msgid "Error trying to fetch balances." msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:352 +#: lib/block_scout_web/views/transaction_view.ex:354 msgid "Error: %{reason}" msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:350 +#: lib/block_scout_web/views/transaction_view.ex:352 msgid "Error: (Awaiting internal transactions for reason)" msgstr "" @@ -1086,7 +1087,7 @@ msgstr "" #: lib/block_scout_web/templates/block/overview.html.eex:209 lib/block_scout_web/templates/internal_transaction/_tile.html.eex:20 #: lib/block_scout_web/templates/layout/_topnav.html.eex:87 lib/block_scout_web/templates/layout/_topnav.html.eex:108 #: lib/block_scout_web/templates/layout/app.html.eex:45 lib/block_scout_web/templates/transaction/_pending_tile.html.eex:20 -#: lib/block_scout_web/templates/transaction/_tile.html.eex:37 lib/block_scout_web/templates/transaction/overview.html.eex:399 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:37 lib/block_scout_web/templates/transaction/overview.html.eex:417 #: lib/block_scout_web/views/wei_helpers.ex:78 msgid "Ether" msgstr "" @@ -1104,7 +1105,7 @@ msgid "Execute" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:53 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:55 msgid "Expand" msgstr "" @@ -1153,7 +1154,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:42 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:40 lib/block_scout_web/templates/address_transaction/index.html.eex:38 -#: lib/block_scout_web/templates/transaction/overview.html.eex:182 lib/block_scout_web/views/address_internal_transaction_view.ex:10 +#: lib/block_scout_web/templates/transaction/overview.html.eex:200 lib/block_scout_web/views/address_internal_transaction_view.ex:10 #: lib/block_scout_web/views/address_token_transfer_view.ex:10 lib/block_scout_web/views/address_transaction_view.ex:10 msgid "From" msgstr "" @@ -1165,12 +1166,12 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:67 -#: lib/block_scout_web/templates/block/overview.html.eex:181 lib/block_scout_web/templates/transaction/overview.html.eex:361 +#: lib/block_scout_web/templates/block/overview.html.eex:181 lib/block_scout_web/templates/transaction/overview.html.eex:379 msgid "Gas Limit" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:341 +#: lib/block_scout_web/templates/transaction/overview.html.eex:359 msgid "Gas Price" msgstr "" @@ -1181,7 +1182,7 @@ msgid "Gas Used" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:414 +#: lib/block_scout_web/templates/transaction/overview.html.eex:432 msgid "Gas Used by Transaction" msgstr "" @@ -1218,8 +1219,8 @@ msgid "Hash" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:442 -#: lib/block_scout_web/templates/transaction/overview.html.eex:446 +#: lib/block_scout_web/templates/transaction/overview.html.eex:460 +#: lib/block_scout_web/templates/transaction/overview.html.eex:464 msgid "Hex (Default)" msgstr "" @@ -1275,7 +1276,7 @@ msgid "Inactive Pool Addresses. Current validator pools are specified by a check msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:426 +#: lib/block_scout_web/templates/transaction/overview.html.eex:444 msgid "Index position of Transaction in the block." msgstr "" @@ -1300,7 +1301,7 @@ msgid "Input" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:203 +#: lib/block_scout_web/templates/transaction/overview.html.eex:221 msgid "Interacted With (To)" msgstr "" @@ -1313,7 +1314,7 @@ msgstr "" #: lib/block_scout_web/templates/address/_tabs.html.eex:28 #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:21 lib/block_scout_web/templates/transaction/_tabs.html.eex:11 #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 lib/block_scout_web/views/address_view.ex:346 -#: lib/block_scout_web/views/transaction_view.ex:507 +#: lib/block_scout_web/views/transaction_view.ex:513 msgid "Internal Transactions" msgstr "" @@ -1387,22 +1388,22 @@ msgid "Likelihood of Becoming a Validator on the Next Epoch" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:293 +#: lib/block_scout_web/templates/transaction/overview.html.eex:311 msgid "List of ERC-1155 tokens created in the transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:277 +#: lib/block_scout_web/templates/transaction/overview.html.eex:295 msgid "List of token burnt in the transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:260 +#: lib/block_scout_web/templates/transaction/overview.html.eex:278 msgid "List of token minted in the transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:244 +#: lib/block_scout_web/templates/transaction/overview.html.eex:262 msgid "List of token transferred in the transaction." msgstr "" @@ -1440,7 +1441,7 @@ msgstr "" #: lib/block_scout_web/templates/address/_tabs.html.eex:41 #: lib/block_scout_web/templates/address_logs/index.html.eex:10 lib/block_scout_web/templates/transaction/_tabs.html.eex:17 #: lib/block_scout_web/templates/transaction_log/index.html.eex:8 lib/block_scout_web/views/address_view.ex:357 -#: lib/block_scout_web/views/transaction_view.ex:508 +#: lib/block_scout_web/views/transaction_view.ex:514 msgid "Logs" msgstr "" @@ -1471,12 +1472,12 @@ msgid "Max Amount to Move:" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:370 +#: lib/block_scout_web/templates/transaction/overview.html.eex:388 msgid "Max Fee per Gas" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:380 +#: lib/block_scout_web/templates/transaction/overview.html.eex:398 msgid "Max Priority Fee per Gas" msgstr "" @@ -1486,12 +1487,12 @@ msgid "Max of" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:360 +#: lib/block_scout_web/templates/transaction/overview.html.eex:378 msgid "Maximum gas amount approved for the transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:369 +#: lib/block_scout_web/templates/transaction/overview.html.eex:387 msgid "Maximum total amount per unit of gas a user is willing to pay for a transaction, including base fee and priority fee." msgstr "" @@ -1502,7 +1503,7 @@ msgid "Metadata" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:4 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:5 msgid "Method Id" msgstr "" @@ -1586,7 +1587,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:52 #: lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex:59 lib/block_scout_web/templates/log/_data_decoded_view.html.eex:4 -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:19 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:21 msgid "Name" msgstr "" @@ -1636,7 +1637,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:190 -#: lib/block_scout_web/templates/transaction/overview.html.eex:424 +#: lib/block_scout_web/templates/transaction/overview.html.eex:442 msgid "Nonce" msgstr "" @@ -1712,8 +1713,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:53 -#: lib/block_scout_web/templates/stakes/_stakes_modal_delegators_list.html.eex:184 lib/block_scout_web/views/transaction_view.ex:347 -#: lib/block_scout_web/views/transaction_view.ex:381 +#: lib/block_scout_web/templates/stakes/_stakes_modal_delegators_list.html.eex:184 lib/block_scout_web/views/transaction_view.ex:349 +#: lib/block_scout_web/views/transaction_view.ex:387 msgid "Pending" msgstr "" @@ -1760,7 +1761,7 @@ msgid "Pools searching is already in progress for this address" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:426 +#: lib/block_scout_web/templates/transaction/overview.html.eex:444 msgid "Position" msgstr "" @@ -1793,13 +1794,13 @@ msgid "Price" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:340 +#: lib/block_scout_web/templates/transaction/overview.html.eex:358 msgid "Price per unit of gas specified by the sender. Higher gas prices can prioritize transaction inclusion during times of high usage." msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:219 -#: lib/block_scout_web/templates/transaction/overview.html.eex:390 +#: lib/block_scout_web/templates/transaction/overview.html.eex:408 msgid "Priority Fee / Tip" msgstr "" @@ -1825,13 +1826,13 @@ msgid "RPC" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:435 +#: lib/block_scout_web/templates/transaction/overview.html.eex:453 msgid "Raw Input" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_tabs.html.eex:24 -#: lib/block_scout_web/templates/transaction_raw_trace/index.html.eex:7 lib/block_scout_web/views/transaction_view.ex:509 +#: lib/block_scout_web/templates/transaction_raw_trace/index.html.eex:7 lib/block_scout_web/views/transaction_view.ex:515 msgid "Raw Trace" msgstr "" @@ -2144,7 +2145,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:8 -#: lib/block_scout_web/views/transaction_view.ex:349 +#: lib/block_scout_web/views/transaction_view.ex:351 msgid "Success" msgstr "" @@ -2443,14 +2444,14 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:65 -#: lib/block_scout_web/templates/transaction/overview.html.eex:159 +#: lib/block_scout_web/templates/transaction/overview.html.eex:177 msgid "Timestamp" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:36 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:34 lib/block_scout_web/templates/address_transaction/index.html.eex:32 -#: lib/block_scout_web/templates/transaction/overview.html.eex:205 lib/block_scout_web/views/address_internal_transaction_view.ex:9 +#: lib/block_scout_web/templates/transaction/overview.html.eex:223 lib/block_scout_web/views/address_internal_transaction_view.ex:9 #: lib/block_scout_web/views/address_token_transfer_view.ex:9 lib/block_scout_web/views/address_transaction_view.ex:9 msgid "To" msgstr "" @@ -2477,12 +2478,12 @@ msgid "Token" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:3 lib/block_scout_web/views/transaction_view.ex:443 +#: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:3 lib/block_scout_web/views/transaction_view.ex:449 msgid "Token Burning" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:7 lib/block_scout_web/views/transaction_view.ex:444 +#: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:7 lib/block_scout_web/views/transaction_view.ex:450 msgid "Token Creation" msgstr "" @@ -2506,13 +2507,13 @@ msgid "Token ID" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:5 lib/block_scout_web/views/transaction_view.ex:442 +#: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:5 lib/block_scout_web/views/transaction_view.ex:448 msgid "Token Minting" msgstr "" #, elixir-format #: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:9 -#: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:11 lib/block_scout_web/views/transaction_view.ex:445 +#: lib/block_scout_web/templates/common_components/_token_transfer_type_display_name.html.eex:11 lib/block_scout_web/views/transaction_view.ex:451 msgid "Token Transfer" msgstr "" @@ -2523,7 +2524,7 @@ msgstr "" #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:14 lib/block_scout_web/templates/transaction/_tabs.html.eex:4 #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 lib/block_scout_web/views/address_view.ex:348 #: lib/block_scout_web/views/tokens/instance/overview_view.ex:178 lib/block_scout_web/views/tokens/overview_view.ex:41 -#: lib/block_scout_web/views/transaction_view.ex:506 +#: lib/block_scout_web/views/transaction_view.ex:512 msgid "Token Transfers" msgstr "" @@ -2542,22 +2543,22 @@ msgid "Tokens" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:278 +#: lib/block_scout_web/templates/transaction/overview.html.eex:296 msgid "Tokens Burnt" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:294 +#: lib/block_scout_web/templates/transaction/overview.html.eex:312 msgid "Tokens Created" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:261 +#: lib/block_scout_web/templates/transaction/overview.html.eex:279 msgid "Tokens Minted" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:245 +#: lib/block_scout_web/templates/transaction/overview.html.eex:263 msgid "Tokens Transferred" msgstr "" @@ -2603,7 +2604,7 @@ msgid "Total gas limit provided by all transactions in the block." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:325 +#: lib/block_scout_web/templates/transaction/overview.html.eex:343 msgid "Total transaction fee." msgstr "" @@ -2619,7 +2620,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/_logs.html.eex:19 -#: lib/block_scout_web/views/transaction_view.ex:455 +#: lib/block_scout_web/views/transaction_view.ex:461 msgid "Transaction" msgstr "" @@ -2634,7 +2635,7 @@ msgid "Transaction %{transaction}, %{subnetwork} %{transaction}" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:400 +#: lib/block_scout_web/templates/transaction/overview.html.eex:418 msgid "Transaction Burnt Fee" msgstr "" @@ -2644,7 +2645,7 @@ msgid "Transaction Details" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:326 +#: lib/block_scout_web/templates/transaction/overview.html.eex:344 msgid "Transaction Fee" msgstr "" @@ -2655,22 +2656,22 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:2 -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:17 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:19 msgid "Transaction Inputs" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:350 +#: lib/block_scout_web/templates/transaction/overview.html.eex:368 msgid "Transaction Type" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:423 +#: lib/block_scout_web/templates/transaction/overview.html.eex:441 msgid "Transaction number from the sending address. Each transaction sent from an address increments the nonce by 1." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:349 +#: lib/block_scout_web/templates/transaction/overview.html.eex:367 msgid "Transaction type, introduced in EIP-2718." msgstr "" @@ -2723,12 +2724,12 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/log/_data_decoded_view.html.eex:5 -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:20 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:22 msgid "Type" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:449 +#: lib/block_scout_web/templates/transaction/overview.html.eex:467 msgid "UTF-8" msgstr "" @@ -2749,7 +2750,7 @@ msgid "Uncles" msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:340 +#: lib/block_scout_web/views/transaction_view.ex:342 msgid "Unconfirmed" msgstr "" @@ -2786,12 +2787,12 @@ msgid "Use the search box to find a hosted network, or select from the list of a msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:379 +#: lib/block_scout_web/templates/transaction/overview.html.eex:397 msgid "User defined maximum fee (tip) per unit of gas paid to validator for transaction prioritization." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:389 +#: lib/block_scout_web/templates/transaction/overview.html.eex:407 msgid "User-defined tip sent to validator for transaction priority/inclusion." msgstr "" @@ -2841,12 +2842,12 @@ msgid "Validator pools can be banned for misbehavior (such as not revealing secr msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:311 +#: lib/block_scout_web/templates/transaction/overview.html.eex:329 msgid "Value" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:310 +#: lib/block_scout_web/templates/transaction/overview.html.eex:328 msgid "Value sent in the native token (and USD) if applicable." msgstr "" @@ -3088,7 +3089,7 @@ msgid "balance of the address" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:399 +#: lib/block_scout_web/templates/transaction/overview.html.eex:417 msgid "burned for this transaction. Equals Block Base Fee per Gas * Gas Used." msgstr "" @@ -3108,7 +3109,7 @@ msgid "candidate" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:216 +#: lib/block_scout_web/templates/transaction/overview.html.eex:234 msgid "created" msgstr "" @@ -3200,3 +3201,8 @@ msgstr "" #: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:11 msgid "Not unique Token" msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:10 +msgid "Error" +msgstr "" diff --git a/apps/explorer/lib/explorer/chain/transaction.ex b/apps/explorer/lib/explorer/chain/transaction.ex index 880edb9a23ac..91905fd04eae 100644 --- a/apps/explorer/lib/explorer/chain/transaction.ex +++ b/apps/explorer/lib/explorer/chain/transaction.ex @@ -444,6 +444,27 @@ defmodule Explorer.Chain.Transaction do preload(query, [tt], token_transfers: ^token_transfers_query) end + def decoded_revert_reason(transaction, revert_reason) do + case revert_reason do + "0x" <> hex_part -> + proccess_hex_revert_reason(hex_part, transaction) + + hex_part -> + proccess_hex_revert_reason(hex_part, transaction) + end + end + + defp proccess_hex_revert_reason(hex_revert_reason, %__MODULE__{to_address: smart_contract, hash: hash}) do + case Integer.parse(hex_revert_reason, 16) do + {number, ""} -> + binary_revert_reason = :binary.encode_unsigned(number) + decoded_input_data(%Transaction{to_address: smart_contract, hash: hash, input: %{bytes: binary_revert_reason}}) + + _ -> + hex_revert_reason + end + end + # Because there is no contract association, we know the contract was not verified def decoded_input_data(%__MODULE__{to_address: nil}), do: {:error, :no_to_address} def decoded_input_data(%__MODULE__{input: %{bytes: bytes}}) when bytes in [nil, <<>>], do: {:error, :no_input_data} diff --git a/mix.lock b/mix.lock index 0f9a6e19552f..f339afc6ad39 100644 --- a/mix.lock +++ b/mix.lock @@ -35,7 +35,7 @@ "ecto_sql": {:hex, :ecto_sql, "3.7.0", "2fcaad4ab0c8d76a5afbef078162806adbe709c04160aca58400d5cbbe8eeac6", [:mix], [{:db_connection, "~> 2.2", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.7.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.4.0 or ~> 0.5.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.15.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "a26135dfa1d99bf87a928c464cfa25bba6535a4fe761eefa56077a4febc60f70"}, "elixir_make": {:hex, :elixir_make, "0.6.2", "7dffacd77dec4c37b39af867cedaabb0b59f6a871f89722c25b28fcd4bd70530", [:mix], [], "hexpm", "03e49eadda22526a7e5279d53321d1cced6552f344ba4e03e619063de75348d9"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex_abi": {:hex, :ex_abi, "0.5.5", "678d69f8a74406cd8eaee1890cd35333c3fbcdbcb0ad50565fd0a4a82fd4ffa3", [:mix], [{:ex_keccak, "~> 0.2.0", [hex: :ex_keccak, repo: "hexpm", optional: false]}], "hexpm", "9a90d2b8c80f38dfcda110120d27fd2673ed79a8bb1c823019ecb8aa970884e3"}, + "ex_abi": {:hex, :ex_abi, "0.5.7", "bb9695c1776a84ee4760794207f3c67c0412c28ba7c556790a6e887569d0667c", [:mix], [{:ex_keccak, "~> 0.2.2", [hex: :ex_keccak, repo: "hexpm", optional: false]}, {:jason, "~> 1.2", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "64be72bcbab2e8d2c2d40df19c38d2bf4c29a3b2813e61dbf3d73e3f39004beb"}, "ex_cldr": {:hex, :ex_cldr, "2.19.1", "6bd81c826202d08420ebf7174306d277a8c4093c3c32c188ac9a636927f27c7e", [:mix], [{:castore, "~> 0.1", [hex: :castore, repo: "hexpm", optional: true]}, {:certifi, "~> 2.5", [hex: :certifi, repo: "hexpm", optional: true]}, {:cldr_utils, "~> 2.12", [hex: :cldr_utils, repo: "hexpm", optional: false]}, {:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:gettext, "~> 0.13", [hex: :gettext, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "5541261dd2915b7c9fb1408b1cfe9075657515e4b348ccb921e45e149dea6b11"}, "ex_cldr_currencies": {:hex, :ex_cldr_currencies, "2.8.0", "b2ecc94e9fa4b8ec07614830f4d6e811e5df5e7679c6d2be92f4fe4f31184913", [:mix], [{:ex_cldr, "~> 2.18", [hex: :ex_cldr, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "a39780667b73bfd3d2bd08e61981bca23a97912b86f3236042850ecb062f48eb"}, "ex_cldr_lists": {:hex, :ex_cldr_lists, "2.7.0", "86264f509ada404afc9d469faf58ad78a9cbba4b728776eb218ee1bf9a9396a2", [:mix], [{:ex_cldr_numbers, "~> 2.16", [hex: :ex_cldr_numbers, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "ec9f55af45aa628930900e84d09bab50ee61841ad974aeb8fd51f627a9685353"}, @@ -43,7 +43,7 @@ "ex_cldr_units": {:hex, :ex_cldr_units, "2.8.1", "f3fc6da7ff9795f70df16a9c8616df801dbc91831e2c4b994973d7199139b721", [:mix], [{:cldr_utils, "~> 2.6", [hex: :cldr_utils, repo: "hexpm", optional: false]}, {:ex_cldr, "~> 2.13", [hex: :ex_cldr, repo: "hexpm", optional: false]}, {:ex_cldr_lists, "~> 2.2", [hex: :ex_cldr_lists, repo: "hexpm", optional: false]}, {:ex_cldr_numbers, "~> 2.12", [hex: :ex_cldr_numbers, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "e2e0f5cebdd94dc75142a8cc2fcaec3ad6de5c1501adfe55369caeb4115e7b75"}, "ex_doc": {:hex, :ex_doc, "0.25.3", "3edf6a0d70a39d2eafde030b8895501b1c93692effcbd21347296c18e47618ce", [:mix], [{:earmark_parser, "~> 1.4.0", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "9ebebc2169ec732a38e9e779fd0418c9189b3ca93f4a676c961be6c1527913f5"}, "ex_json_schema": {:hex, :ex_json_schema, "0.6.2", "de23d80478215987469c81688208fe0ff440ee0e0e6ae2268fcadbb2ff35df9d", [:mix], [], "hexpm", "2f25c57e919ffc5d6b02f2f130548284342dd6c3e99555ee0beeb9f2d2366a96"}, - "ex_keccak": {:hex, :ex_keccak, "0.2.0", "ca31d7fdae818380aa07952e6941c5de6b689cb8a68189fcce1e25d7bb0c4574", [:mix], [{:rustler, "~> 0.22.0", [hex: :rustler, repo: "hexpm", optional: false]}], "hexpm", "4bef13ce4dda45b15e2958e0ce5ff77502279778fb7e32cfa887dccb036f3bb2"}, + "ex_keccak": {:hex, :ex_keccak, "0.2.2", "2ec7e8839de0938837b74fcbd5d7ef8ad97fa560d185de7ea2521d15ba47f1c3", [:mix], [{:rustler, "~> 0.22.0", [hex: :rustler, repo: "hexpm", optional: false]}], "hexpm", "c2f877d22cec98616a91b35ea198c3a45d0eefcd41d093e2485dc2b76ba3f6d3"}, "ex_machina": {:hex, :ex_machina, "2.7.0", "b792cc3127fd0680fecdb6299235b4727a4944a09ff0fa904cc639272cd92dc7", [:mix], [{:ecto, "~> 2.2 or ~> 3.0", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_sql, "~> 3.0", [hex: :ecto_sql, repo: "hexpm", optional: true]}], "hexpm", "419aa7a39bde11894c87a615c4ecaa52d8f107bbdd81d810465186f783245bf8"}, "ex_rlp": {:hex, :ex_rlp, "0.5.3", "9055bddade545ee3e734aaad62c4b4d08211834da3beb43ae269b75785909e5e", [:mix], [], "hexpm", "a755a5f8f9f66079f3ecbe021536b949077fac0df963d9e59a20321bab28722d"}, "ex_utils": {:hex, :ex_utils, "0.1.7", "2c133e0bcdc49a858cf8dacf893308ebc05bc5fba501dc3d2935e65365ec0bf3", [:mix], [], "hexpm", "66d4fe75285948f2d1e69c2a5ddd651c398c813574f8d36a9eef11dc20356ef6"},